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