new blfs: x11-libs/gtk+-3.24.51
This commit is contained in:
81
x11-libs/gtk+-3.24.51.PKGBUILD
Normal file
81
x11-libs/gtk+-3.24.51.PKGBUILD
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
pkgname=gtk+
|
||||||
|
_name=gtk
|
||||||
|
pkgver=3.24.51
|
||||||
|
pkgdesc="GObject-based multi-platform GUI toolkit"
|
||||||
|
url="https://www.gtk.org/"
|
||||||
|
arch=(x86_64)
|
||||||
|
license=(LGPL-2.1-or-later)
|
||||||
|
_patches=("0001-gdk-add-a-poison-macro-to-hide-GDK_WINDOWING_.patch"
|
||||||
|
"gtk+-3.24.36-update-icon-cache.patch"
|
||||||
|
)
|
||||||
|
_patch_sums=("218c22980df3dc76af6bae2930c2d9b9da64f0e902dc05ff392527250e8377ec61170c2b31119e2a9672bcb1f2d6c88355b09f56f5b5b5c4bfd2f2e9bcc2e773"
|
||||||
|
"b8049f77063ac994a0f2222d9e776dd1038636a0920624b027e891f72dd393b825304190118dafc97c733f56554a41e9ceed4f1069980b2913b7b3f4ace23d83"
|
||||||
|
)
|
||||||
|
_hook="gtk-query-immodules-3.0.HOOK"
|
||||||
|
_hook_sum="2720080a422ffaaffb583ea36f87551cc9f71038fad6448bc83f56712e867579dd236f5926a44e9fdba01686a262cd995d7cb0f7ffe1a7cf4373ebe1dafb2620"
|
||||||
|
sources=("${_name}-${pkgver}.tar.xz"
|
||||||
|
${_patches[@]}
|
||||||
|
"${_hook}"
|
||||||
|
)
|
||||||
|
urls=("https://download.gnome.org/sources/${_name}/${pkgver%.*}/${sources[0]}"
|
||||||
|
${_patches[@]}
|
||||||
|
${_hook}
|
||||||
|
)
|
||||||
|
sha512sums=("f96ee1c586284af315709ec38e841bd1b2558d09e2162834a132ffc4bbcddca272a92a828550a3accaa3e4da1964ad32b3b48291e929a108a913bd18c61cd73b"
|
||||||
|
${_patch_sums[@]}
|
||||||
|
"${_hook_sum}"
|
||||||
|
)
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
tar -xf ${distdir}/${sources[0]} --strip-components=1
|
||||||
|
for _patch in ${_patches[@]}; do
|
||||||
|
patch -p1 -i ${filedir}/${_patch}
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
src_build() {
|
||||||
|
local meson_args=(
|
||||||
|
--prefix=/usr
|
||||||
|
--buildtype=release
|
||||||
|
--wrap-mode=nodownload
|
||||||
|
-D python.bytecompile=1
|
||||||
|
-D quartz_backend=false
|
||||||
|
-D broadway_backend=false
|
||||||
|
-D cloudproviders=false
|
||||||
|
-D demos=false
|
||||||
|
-D examples=false
|
||||||
|
-D gtk_doc=false
|
||||||
|
-D introspection=true
|
||||||
|
-D profiler=false
|
||||||
|
-D wayland_backend=true
|
||||||
|
-D x11_backend=false
|
||||||
|
-D colord=no
|
||||||
|
-D print_backends=file,lpr
|
||||||
|
-D xinerama=no
|
||||||
|
-D builtin_immodules=backend
|
||||||
|
-D man=true
|
||||||
|
-D tests=false
|
||||||
|
-D tracker3=false
|
||||||
|
)
|
||||||
|
meson setup build "${meson_args[@]}"
|
||||||
|
meson compile -C build
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
meson install -C build --destdir "$pkgdir"
|
||||||
|
|
||||||
|
install -Dm644 /dev/stdin "$pkgdir/etc/gtk-3.0/settings.ini" <<END
|
||||||
|
[Settings]
|
||||||
|
gtk-icon-theme-name = Meow-catppuccin
|
||||||
|
gtk-theme-name = Adwaita
|
||||||
|
gtk-font-name = Noto Sans 11
|
||||||
|
END
|
||||||
|
|
||||||
|
leaf_install_hook "${filedir}/${_hook}"
|
||||||
|
}
|
||||||
|
|
||||||
|
src_preremove() {
|
||||||
|
rm -f /usr/lib/gtk-3.0/3.0.0/immodules.cache
|
||||||
|
}
|
||||||
|
|
||||||
|
# vim:ft=sh syn=sh et sw=2:
|
||||||
@@ -0,0 +1,90 @@
|
|||||||
|
From 25bdad805bb9e16032baf4480e9c1e432ddef49b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Eli Schwartz <eschwartz93@gmail.com>
|
||||||
|
Date: Wed, 19 Jun 2024 21:28:31 -0400
|
||||||
|
Subject: [PATCH] gdk: add a "poison" macro to hide GDK_WINDOWING_*
|
||||||
|
|
||||||
|
Many packages perform automagic dependencies on gdk's backend
|
||||||
|
implementations by checking if the macro is defined and then using the
|
||||||
|
code it unlocks, rather than having a buildsystem option such as
|
||||||
|
-Dwayland=true.
|
||||||
|
|
||||||
|
It's unfeasible to patch every such package's source code to add
|
||||||
|
configure options and respect them. Instead add a truly filthy hack and
|
||||||
|
permit gtk itself to selectively show or hide the windowing system in
|
||||||
|
use.
|
||||||
|
|
||||||
|
By default, we assume this macro is never defined. It should only ever
|
||||||
|
be defined inside an ebuild, as such:
|
||||||
|
|
||||||
|
```
|
||||||
|
use wayland || append-cflags -DGENTOO_GTK_HIDE_WAYLAND
|
||||||
|
use X || append-cflags -DGENTOO_GTK_HIDE_X11
|
||||||
|
```
|
||||||
|
|
||||||
|
When seen, this will prevent code using "#ifdef GDK_WINDOWING_*" from
|
||||||
|
seeing the define, so the automagic dependency won't be picked up. It
|
||||||
|
will also cause any attempt to #include the backend-specific headers to
|
||||||
|
bug out.
|
||||||
|
|
||||||
|
Bug: https://bugs.gentoo.org/624960
|
||||||
|
Signed-off-by: Eli Schwartz <eschwartz93@gmail.com>
|
||||||
|
---
|
||||||
|
gdk/gdkconfig.h.meson | 7 +++++++
|
||||||
|
gdk/wayland/gdkwayland.h | 4 ++++
|
||||||
|
gdk/x11/gdkx.h | 4 ++++
|
||||||
|
3 files changed, 15 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/gdk/gdkconfig.h.meson b/gdk/gdkconfig.h.meson
|
||||||
|
index 7db19e0470..6bee207e94 100644
|
||||||
|
--- a/gdk/gdkconfig.h.meson
|
||||||
|
+++ b/gdk/gdkconfig.h.meson
|
||||||
|
@@ -10,9 +10,16 @@
|
||||||
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
|
|
||||||
|
+#ifndef GENTOO_GTK_HIDE_X11
|
||||||
|
#mesondefine GDK_WINDOWING_X11
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#mesondefine GDK_WINDOWING_BROADWAY
|
||||||
|
+
|
||||||
|
+#ifndef GENTOO_GTK_HIDE_WAYLAND
|
||||||
|
#mesondefine GDK_WINDOWING_WAYLAND
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#mesondefine GDK_WINDOWING_WIN32
|
||||||
|
#mesondefine GDK_WINDOWING_QUARTZ
|
||||||
|
|
||||||
|
diff --git a/gdk/wayland/gdkwayland.h b/gdk/wayland/gdkwayland.h
|
||||||
|
index 2b79295add..5f0e9cfa81 100644
|
||||||
|
--- a/gdk/wayland/gdkwayland.h
|
||||||
|
+++ b/gdk/wayland/gdkwayland.h
|
||||||
|
@@ -25,6 +25,10 @@
|
||||||
|
#ifndef __GDK_WAYLAND_H__
|
||||||
|
#define __GDK_WAYLAND_H__
|
||||||
|
|
||||||
|
+#ifdef GENTOO_GTK_HIDE_WAYLAND
|
||||||
|
+ #error "A Gentoo ebuild has hidden wayland and it cannot be used in this compilation unit. Please file a bug if you see this error."
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#include <gdk/gdk.h>
|
||||||
|
|
||||||
|
#define __GDKWAYLAND_H_INSIDE__
|
||||||
|
diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx.h
|
||||||
|
index 1f64bccb6d..256c83015e 100644
|
||||||
|
--- a/gdk/x11/gdkx.h
|
||||||
|
+++ b/gdk/x11/gdkx.h
|
||||||
|
@@ -25,6 +25,10 @@
|
||||||
|
#ifndef __GDK_X_H__
|
||||||
|
#define __GDK_X_H__
|
||||||
|
|
||||||
|
+#ifdef GENTOO_GTK_HIDE_X11
|
||||||
|
+ #error "A Gentoo ebuild has hidden x11 and it cannot be used in this compilation unit. Please file a bug if you see this error."
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#include <gdk/gdk.h>
|
||||||
|
|
||||||
|
#include <X11/Xlib.h>
|
||||||
|
--
|
||||||
|
2.44.2
|
||||||
|
|
||||||
29
x11-libs/gtk+-3.24.51/gtk+-3.24.36-update-icon-cache.patch
Normal file
29
x11-libs/gtk+-3.24.51/gtk+-3.24.36-update-icon-cache.patch
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
--- a/docs/reference/gtk/meson.build
|
||||||
|
+++ b/docs/reference/gtk/meson.build
|
||||||
|
@@ -500,7 +500,6 @@
|
||||||
|
|
||||||
|
man_files = [
|
||||||
|
[ 'gtk-query-immodules-3.0', '1', ],
|
||||||
|
- [ 'gtk-update-icon-cache', '1', ],
|
||||||
|
[ 'gtk-encode-symbolic-svg', '1', ],
|
||||||
|
[ 'gtk-launch', '1', ],
|
||||||
|
[ 'gtk-builder-tool', '1', ],
|
||||||
|
--- a/gtk/meson.build
|
||||||
|
+++ b/gtk/meson.build
|
||||||
|
@@ -1109,16 +1109,6 @@
|
||||||
|
extra_update_icon_cache_objs = import('windows').compile_resources(uac_rc)
|
||||||
|
endif
|
||||||
|
|
||||||
|
-gtk_update_icon_cache = executable(
|
||||||
|
- 'gtk-update-icon-cache',
|
||||||
|
- 'updateiconcache.c',
|
||||||
|
- extra_update_icon_cache_objs,
|
||||||
|
- c_args: gtk_cargs,
|
||||||
|
- dependencies: libgtk_dep,
|
||||||
|
- install: true
|
||||||
|
-)
|
||||||
|
-gtk_tools += gtk_update_icon_cache
|
||||||
|
-
|
||||||
|
gtk_query_immodules = executable(
|
||||||
|
'gtk-query-immodules-3.0',
|
||||||
|
'queryimmodules.c',
|
||||||
5
x11-libs/gtk+-3.24.51/gtk-query-immodules-3.0.HOOK
Normal file
5
x11-libs/gtk+-3.24.51/gtk-query-immodules-3.0.HOOK
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
target=(/usr/lib/gtk-3.0/3.0.0/immodules/*.so)
|
||||||
|
triggers=("install" "remove")
|
||||||
|
operation() {
|
||||||
|
/usr/bin/gtk-query-immodules-3.0 --update-cache
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user