new blfs: x11-libs/gtk+-3.24.51
This commit is contained in:
@@ -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