2
0
mirror of https://codeberg.org/kiss-community/repo synced 2024-12-22 07:10:16 -07:00

gtk+3: remove dbus dependency without needing fake library.

This commit is contained in:
Dylan Araps 2019-08-28 20:32:50 +00:00
parent 3b2ed8b530
commit c34c6dc87f
6 changed files with 70 additions and 23 deletions

View File

@ -1,23 +1,9 @@
#!/bin/sh -e
# Patch out 'dbus' (taken from Sabotage Linux).
cat << EOF > gtk/gtkmountoperation.c
#define GMountOperation void
#define GtkMountOperation void
#define GtkWindow void
#define GdkScreen void
#define gboolean int
#define GType unsigned long /* size_t */
#define P __attribute__ ((visibility ("default")))
extern GType g_mount_operation_get_type();
P GType gtk_mount_operation_get_type() { return g_mount_operation_get_type(); }
P GMountOperation *gtk_mount_operation_new (GtkWindow *parent) { return 0; }
P gboolean gtk_mount_operation_is_showing (GtkMountOperation *op) { return 0; }
P void gtk_mount_operation_set_parent (GtkMountOperation *op, GtkWindow *parent) {}
P GtkWindow *gtk_mount_operation_get_parent (GtkMountOperation *op) { return 0; }
P void gtk_mount_operation_set_screen (GtkMountOperation *op, GdkScreen *screen){}
P GdkScreen *gtk_mount_operation_get_screen (GtkMountOperation *op){ return 0; }
EOF
# Remove 'atk-bridge' dependency which removes the 'dbus' dependency.
sed -i'' 's/ATK_PACKAGES="atk atk-bridge-2.0"/ATK_PACKAGES="atk"/' configure
sed -i'' '/<atk-bridge.h>/d' gtk/a11y/gtkaccessibility.c
sed -i'' '/atk_bridge_adaptor_init/d' gtk/a11y/gtkaccessibility.c
./configure \
--prefix=/usr \
@ -43,8 +29,6 @@ EOF
make
make DESTDIR="$1" install
# Remove a boat load of HTML documentation.
# Remove unneeded files.
rm -rf "$1/usr/share/gtk-doc"
# Remove gettext files.
rm -rf "$1/usr/share/gettext"

View File

@ -1 +1,2 @@
35a8f107e2b90fda217f014c0c15cb20a6a66678f6fd7e36556d469372c01b03 gtk+-3.24.10.tar.xz
a41cfb465a4aacc8a3afd850a6090dbce3365817fae269ff191fb3726545820c gtk3-no-dbus.patch

View File

@ -1,5 +1,4 @@
atk
atk-bridge-fake
fribidi
gdk-pixbuf
libXcomposite

View File

@ -0,0 +1,62 @@
$NetBSD: patch-configure.ac,v 1.2 2014/09/08 12:06:48 wiz Exp $
Make gtk3-atk-bridge an option to avoid unwanted dbus dependency.
--- 1/configure.ac
+++ 2/configure.ac
@@ -1393,8 +1393,13 @@ AC_SUBST(GDK_DEP_CFLAGS)
# Check for Accessibility Toolkit flags
########################################
-if test x$enable_x11_backend = xyes; then
+AC_ARG_WITH(atk-bridge,
+ AS_HELP_STRING([--without-atk-bridge], [Do not use atk-bridge-2.0]),
+ :, with_atk_bridge=yes)
+
+if test x$enable_x11_backend = xyes -a x$with_atk_bridge = xyes; then
ATK_PACKAGES="atk atk-bridge-2.0"
+ AC_DEFINE([HAVE_ATK_BRIDGE], [1], [Define if we're using atk-bridge-2.0])
else
ATK_PACKAGES="atk"
fi
$NetBSD: patch-config.h.in,v 1.2 2014/09/08 12:06:48 wiz Exp $
Make gtk3-atk-bridge an option to avoid unwanted dbus dependency.
--- 1/config.h.in
+++ 1/config.h.in
@@ -10,6 +10,9 @@
/* Disable deprecation warnings from glib */
#undef GLIB_DISABLE_DEPRECATION_WARNINGS
+/* Define if we're using atk-bridge-2.0 */
+#undef HAVE_ATK_BRIDGE
+
/* Define to 1 if you have the `bind_textdomain_codeset' function. */
#undef HAVE_BIND_TEXTDOMAIN_CODESET
Make gtk3-atk-bridge an option to avoid unwanted dbus dependency.
--- 1/gtk/a11y/gtkaccessibility.c
+++ 1/gtk/a11y/gtkaccessibility.c
@@ -38,8 +38,10 @@
#include <gtk/gtkaccessible.h>
#ifdef GDK_WINDOWING_X11
+#ifdef HAVE_ATK_BRIDGE
#include <atk-bridge.h>
#endif
+#endif
static gboolean gail_focus_watcher (GSignalInvocationHint *ihint,
guint n_param_values,
@@ -989,8 +991,10 @@ _gtk_accessibility_init (void)
do_window_event_initialization ();
#ifdef GDK_WINDOWING_X11
+#ifdef HAVE_ATK_BRIDGE
atk_bridge_adaptor_init (NULL, NULL);
#endif
+#endif
atk_misc_instance = g_object_new (GTK_TYPE_MISC_IMPL, NULL);
}

View File

@ -1 +1,2 @@
https://download.gnome.org/sources/gtk+/3.24/gtk+-3.24.10.tar.xz
patches/gtk3-no-dbus.patch

View File

@ -1 +1 @@
3.24.10 2
3.24.10 3