summaryrefslogtreecommitdiffstats
path: root/meta/recipes-gnome
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2019-07-05 17:20:17 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-07-11 09:32:50 +0100
commitc9f400d639f9ed48f69b9b99883825fd8cc3b82c (patch)
treec8980fd5c6d10d313a50c6a1274e9b69007343ad /meta/recipes-gnome
parent696cf580a57de6a0602b51d4a191d54bac901bdd (diff)
downloadpoky-c9f400d639f9ed48f69b9b99883825fd8cc3b82c.tar.gz
gtk+: remove GTK+ 2
GTK+ 2 is ancient, and shouldn't be used. It will be moved to meta-oe for people who do need it, but it shouldn't in oe-core. [ YOCTO #12673 ] (From OE-Core rev: 3c692e0d77e68908ab0ec421356bd4738c5327db) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-gnome')
-rw-r--r--meta/recipes-gnome/gtk+/gtk+.inc107
-rw-r--r--meta/recipes-gnome/gtk+/gtk+/0001-Do-not-look-into-HOME-when-looking-for-gtk-modules.patch29
-rw-r--r--meta/recipes-gnome/gtk+/gtk+/doc-fixes.patch22
-rw-r--r--meta/recipes-gnome/gtk+/gtk+/hardcoded_libtool.patch36
-rw-r--r--meta/recipes-gnome/gtk+/gtk+/strict-prototypes.patch24
-rw-r--r--meta/recipes-gnome/gtk+/gtk+/toggle-font.diff102
-rw-r--r--meta/recipes-gnome/gtk+/gtk+/xsettings.patch20
-rw-r--r--meta/recipes-gnome/gtk+/gtk+_2.24.32.bb35
8 files changed, 0 insertions, 375 deletions
diff --git a/meta/recipes-gnome/gtk+/gtk+.inc b/meta/recipes-gnome/gtk+/gtk+.inc
deleted file mode 100644
index d6d14a79d5..0000000000
--- a/meta/recipes-gnome/gtk+/gtk+.inc
+++ /dev/null
@@ -1,107 +0,0 @@
1SUMMARY = "Multi-platform toolkit for creating GUIs"
2DESCRIPTION = "GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete \
3set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites."
4HOMEPAGE = "http://www.gtk.org"
5BUGTRACKER = "https://bugzilla.gnome.org/"
6
7LICENSE = "LGPLv2 & LGPLv2+ & LGPLv2.1+"
8
9LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"
10
11SECTION = "libs"
12
13inherit distro_features_check
14ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
15
16# This picks stable releases in the 2.x series (but not 2.90 onwards,
17# which were GNOME 3 betas).
18UPSTREAM_CHECK_REGEX = "(?P<pver>2\.([0-8]*[02468])+(\.\d+)+)"
19
20X11DEPENDS = "virtual/libx11 libxext libxcursor libxrandr libxdamage libxrender libxcomposite"
21DEPENDS = "glib-2.0 pango atk jpeg libpng gdk-pixbuf-native \
22 cairo gdk-pixbuf"
23
24PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'directfb x11', d)}"
25
26PACKAGECONFIG[x11] = "--with-x=yes --with-gdktarget=x11,--with-x=no,${X11DEPENDS}"
27# without --with-gdktarget=directfb it will check for cairo-xlib which isn't available without X11 DISTRO_FEATURE
28PACKAGECONFIG[directfb] = "--with-gdktarget=directfb,,directfb"
29PACKAGECONFIG[manpages] = "--enable-man --with-xml-catalog=${STAGING_ETCDIR_NATIVE}/xml/catalog, --disable-man, libxslt-native xmlto-native"
30
31inherit autotools gtk-doc pkgconfig update-alternatives gtk-immodules-cache gobject-introspection manpages
32
33PACKAGES += "libgail gtk-demo"
34
35FILES_${PN} += "${bindir}/gtk-update-icon-cache-2.0 \
36 ${bindir}/gtk-query-immodules-2.0 \
37 ${datadir}/themes ${sysconfdir} \
38 ${libdir}/gtk-2.0/${LIBV}/engines/libpixmap.so"
39
40FILES_${PN}-dev += " \
41 ${datadir}/gtk-2.0/include \
42 ${libdir}/gtk-2.0/include \
43 ${libdir}/gtk-2.0/modules/*.la \
44 ${libdir}/gtk-2.0/${LIBV}/loaders/*.la \
45 ${libdir}/gtk-2.0/${LIBV}/immodules/*.la \
46 ${libdir}/gtk-2.0/${LIBV}/printbackends/*.la \
47 ${libdir}/gtk-2.0/${LIBV}/engines/*.la \
48 ${bindir}/gtk-builder-convert"
49
50FILES_gtk-demo = " \
51 ${datadir}/gtk-2.0/demo/* \
52 ${bindir}/gtk-demo \
53 "
54
55FILES_libgail = " \
56 ${libdir}/gtk-2.0/modules/libgail.so \
57 ${libdir}/gtk-2.0/modules/libferret.so \
58 "
59
60GTKBASE_RRECOMMENDS ?= "liberation-fonts \
61 gdk-pixbuf-loader-png \
62 gdk-pixbuf-loader-jpeg \
63 gdk-pixbuf-loader-gif \
64 gdk-pixbuf-loader-xpm \
65 shared-mime-info \
66 gnome-theme-adwaita \
67 "
68GTKGLIBC_RRECOMMENDS ?= "${GTKBASE_RRECOMMENDS} glibc-gconv-iso8859-1"
69
70RRECOMMENDS_${PN} = "${GTKBASE_RRECOMMENDS}"
71RRECOMMENDS_${PN}_libc-glibc = "${GTKGLIBC_RRECOMMENDS}"
72
73ALTERNATIVE_${PN} = "gtk-update-icon-cache"
74ALTERNATIVE_TARGET[gtk-update-icon-cache] = "${bindir}/gtk-update-icon-cache-2.0"
75
76do_compile_prepend() {
77 export GIR_EXTRA_LIBS_PATH="${B}/gdk/.libs"
78}
79
80do_install () {
81 autotools_do_install
82
83 install -d ${D}${sysconfdir}/gtk-2.0
84
85 mkdir -p ${D}${libdir}/gtk-2.0/include
86 install -m 0644 gdk/gdkconfig.h ${D}${libdir}/gtk-2.0/include/gdkconfig.h
87
88 install -m 0644 ${S}/gtk/gtkfilechooserprivate.h ${D}${includedir}/gtk-2.0/gtk/
89 install -m 0644 ${S}/gtk/gtkfilechooserutils.h ${D}${includedir}/gtk-2.0/gtk/
90 install -m 0644 ${S}/gtk/gtkfilesystemmodel.h ${D}${includedir}/gtk-2.0/gtk/
91
92 mv ${D}${bindir}/gtk-update-icon-cache ${D}${bindir}/gtk-update-icon-cache-2.0
93
94 # duplicate gtk-query-immodules for post install script update_gtk_immodules_cache
95 mkdir -p ${D}${libexecdir}
96 ln ${D}${bindir}/gtk-query-immodules-2.0 ${D}${libexecdir}/${MLPREFIX}gtk-query-immodules-2.0
97}
98
99SYSROOT_PREPROCESS_FUNCS += "gtk_sysroot_preprocess"
100
101gtk_sysroot_preprocess () {
102 if [ -e ${D}${bindir}/gtk-builder-convert ]; then
103 install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/
104 install -m 755 ${D}${bindir}/gtk-builder-convert ${SYSROOT_DESTDIR}${bindir_crossscripts}/
105 fi
106}
107
diff --git a/meta/recipes-gnome/gtk+/gtk+/0001-Do-not-look-into-HOME-when-looking-for-gtk-modules.patch b/meta/recipes-gnome/gtk+/gtk+/0001-Do-not-look-into-HOME-when-looking-for-gtk-modules.patch
deleted file mode 100644
index 83be39c3bf..0000000000
--- a/meta/recipes-gnome/gtk+/gtk+/0001-Do-not-look-into-HOME-when-looking-for-gtk-modules.patch
+++ /dev/null
@@ -1,29 +0,0 @@
1From 34ce93e1c50bfb88f92a687d4f82de55584f3f6a Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Wed, 11 Apr 2018 14:20:39 +0300
4Subject: [PATCH] Do not look into $HOME when looking for gtk modules
5
6On the host it causes host contamination, on the target it's a
7potential security issue. Gtk+3 has already removed this.
8
9Upstream-Status: Inappropriate [gtk2 is in maintenance mode]
10Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
11---
12 gtk/gtkmodules.c | 4 ----
13 1 file changed, 4 deletions(-)
14
15diff --git a/gtk/gtkmodules.c b/gtk/gtkmodules.c
16index 50729b6..e09b583 100644
17--- a/gtk/gtkmodules.c
18+++ b/gtk/gtkmodules.c
19@@ -65,10 +65,6 @@ get_module_path (void)
20 if (result)
21 return result;
22
23- home_dir = g_get_home_dir();
24- if (home_dir)
25- home_gtk_dir = g_build_filename (home_dir, ".gtk-2.0", NULL);
26-
27 module_path_env = g_getenv ("GTK_PATH");
28 exe_prefix = g_getenv ("GTK_EXE_PREFIX");
29
diff --git a/meta/recipes-gnome/gtk+/gtk+/doc-fixes.patch b/meta/recipes-gnome/gtk+/gtk+/doc-fixes.patch
deleted file mode 100644
index 74e479fd1b..0000000000
--- a/meta/recipes-gnome/gtk+/gtk+/doc-fixes.patch
+++ /dev/null
@@ -1,22 +0,0 @@
1There are issues building the gtk+ tutorial and faq documentation.
2Since they were removed in gtk+ upstream and are superfluous in
3embedded applications, just don't build them.
4
5Thanks to Joshua Lock for suggesting this approach.
6
7Signed-off-by: Scott Garman <scott.a.garman@intel.com>
8
9Upstream-Status: Inappropriate [embedded specific]
10
11diff -urN gtk+-2.22.1.orig/docs/Makefile.am gtk+-2.22.1/docs/Makefile.am
12--- gtk+-2.22.1.orig/docs/Makefile.am 2010-11-15 04:13:09.000000000 -0800
13+++ gtk+-2.22.1/docs/Makefile.am 2011-02-23 19:25:16.914815097 -0800
14@@ -1,7 +1,7 @@
15 ## Process this file with automake to produce Makefile.in
16 include $(top_srcdir)/Makefile.decl
17
18-SUBDIRS = tutorial faq reference tools
19+SUBDIRS = reference tools
20
21 EXTRA_DIST += \
22 defsformat.txt \
diff --git a/meta/recipes-gnome/gtk+/gtk+/hardcoded_libtool.patch b/meta/recipes-gnome/gtk+/gtk+/hardcoded_libtool.patch
deleted file mode 100644
index 9eb7f6bf5c..0000000000
--- a/meta/recipes-gnome/gtk+/gtk+/hardcoded_libtool.patch
+++ /dev/null
@@ -1,36 +0,0 @@
1Upstream-Status: Inappropriate [embedded specific]
2
3Updated to apply to gtk+-2.24.15
4
5Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
6Index: gtk+-2.24.31/configure.ac
7===================================================================
8--- gtk+-2.24.31.orig/configure.ac
9+++ gtk+-2.24.31/configure.ac
10@@ -415,7 +415,7 @@ AC_MSG_CHECKING([Whether to write depend
11 case $enable_explicit_deps in
12 auto)
13 export SED
14- deplibs_check_method=`(./libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh`
15+ deplibs_check_method=`(./$host_alias-libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh`
16 if test "x$deplibs_check_method" '!=' xpass_all || test "x$enable_static" = xyes ; then
17 enable_explicit_deps=yes
18 else
19@@ -772,7 +772,7 @@ else
20 dnl Now we check to see if our libtool supports shared lib deps
21 dnl (in a rather ugly way even)
22 if $dynworks; then
23- module_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config"
24+ module_libtool_config="${CONFIG_SHELL-/bin/sh} $host_alias-libtool --config"
25 module_deplibs_check=`$module_libtool_config | \
26 grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
27 sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
28@@ -1579,7 +1579,7 @@ fi
29 # We are using gmodule-no-export now, but I'm leaving the stripping
30 # code in place for now, since pango and atk still require gmodule.
31 export SED
32-export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
33+export_dynamic=`($host_alias-libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
34 if test -n "$export_dynamic"; then
35 GDK_DEP_LIBS=`echo $GDK_DEP_LIBS | sed -e "s/$export_dynamic//"`
36 GTK_DEP_LIBS=`echo $GTK_DEP_LIBS | sed -e "s/$export_dynamic//"`
diff --git a/meta/recipes-gnome/gtk+/gtk+/strict-prototypes.patch b/meta/recipes-gnome/gtk+/gtk+/strict-prototypes.patch
deleted file mode 100644
index 96e1f5feac..0000000000
--- a/meta/recipes-gnome/gtk+/gtk+/strict-prototypes.patch
+++ /dev/null
@@ -1,24 +0,0 @@
1Fixes
2
3include/gtk-2.0/gtk/gtkitemfactory.h:47:1: warning: function declaration isn't a prototype [-Wstrict-prototypes]
4 typedef void (*GtkItemFactoryCallback) ();
5
6gcc5 has -Wstrict-prototypes on by default for -Werror so this becomes a build failure for consumers
7of this header e.g. matchbox-panel-2
8
9Upstream-Status: Pending
10
11Signed-off-by: Khem Raj <raj.khem@gmail.com>
12Index: gtk+-2.24.27/gtk/gtkitemfactory.h
13===================================================================
14--- gtk+-2.24.27.orig/gtk/gtkitemfactory.h
15+++ gtk+-2.24.27/gtk/gtkitemfactory.h
16@@ -44,7 +44,7 @@ typedef void (*GtkPrintFunc) (gpoint
17 * (Note that if we are included from a C++ program () will mean
18 * (void) so an explicit cast will be needed.)
19 */
20-typedef void (*GtkItemFactoryCallback) ();
21+typedef void (*GtkItemFactoryCallback) (void);
22 typedef void (*GtkItemFactoryCallback1) (gpointer callback_data,
23 guint callback_action,
24 GtkWidget *widget);
diff --git a/meta/recipes-gnome/gtk+/gtk+/toggle-font.diff b/meta/recipes-gnome/gtk+/gtk+/toggle-font.diff
deleted file mode 100644
index 340d12008b..0000000000
--- a/meta/recipes-gnome/gtk+/gtk+/toggle-font.diff
+++ /dev/null
@@ -1,102 +0,0 @@
1Upstream-Status: Pending
2
3Index: gtk/gtkcellrenderertoggle.c
4===================================================================
5--- gtk/gtkcellrenderertoggle.c.orig 2010-06-22 18:11:33.000000000 +0800
6+++ gtk/gtkcellrenderertoggle.c 2010-06-22 18:11:43.000000000 +0800
7@@ -71,6 +71,8 @@
8 PROP_INDICATOR_SIZE
9 };
10
11+/* This is a hard-coded default which promptly gets overridden by a size
12+ calculated from the font size. */
13 #define TOGGLE_WIDTH 13
14
15 static guint toggle_cell_signals[LAST_SIGNAL] = { 0 };
16@@ -80,8 +82,9 @@
17 typedef struct _GtkCellRendererTogglePrivate GtkCellRendererTogglePrivate;
18 struct _GtkCellRendererTogglePrivate
19 {
20- gint indicator_size;
21-
22+ gint indicator_size; /* This is the real size */
23+ gint override_size; /* This is the size set from the indicator-size property */
24+ GtkWidget *cached_widget;
25 guint inconsistent : 1;
26 };
27
28@@ -104,6 +107,7 @@
29 GTK_CELL_RENDERER (celltoggle)->ypad = 2;
30
31 priv->indicator_size = TOGGLE_WIDTH;
32+ priv->override_size = 0;
33 priv->inconsistent = FALSE;
34 }
35
36@@ -210,7 +214,7 @@
37 g_value_set_boolean (value, celltoggle->radio);
38 break;
39 case PROP_INDICATOR_SIZE:
40- g_value_set_int (value, priv->indicator_size);
41+ g_value_set_int (value, priv->override_size ? priv->override_size : priv->indicator_size);
42 break;
43 default:
44 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
45@@ -245,7 +249,7 @@
46 celltoggle->radio = g_value_get_boolean (value);
47 break;
48 case PROP_INDICATOR_SIZE:
49- priv->indicator_size = g_value_get_int (value);
50+ priv->override_size = g_value_get_int (value);
51 break;
52 default:
53 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
54@@ -273,6 +277,27 @@
55 }
56
57 static void
58+on_widget_style_set (GtkWidget *widget, GtkStyle *previous, gpointer user_data)
59+{
60+ GtkCellRendererTogglePrivate *priv = user_data;
61+ PangoContext *context;
62+ PangoFontMetrics *metrics;
63+ int height;
64+
65+ context = gtk_widget_get_pango_context (widget);
66+ metrics = pango_context_get_metrics (context,
67+ widget->style->font_desc,
68+ pango_context_get_language (context));
69+
70+ height = pango_font_metrics_get_ascent (metrics) +
71+ pango_font_metrics_get_descent (metrics);
72+
73+ pango_font_metrics_unref (metrics);
74+
75+ priv->indicator_size = PANGO_PIXELS (height * 0.85);
76+}
77+
78+static void
79 gtk_cell_renderer_toggle_get_size (GtkCellRenderer *cell,
80 GtkWidget *widget,
81 GdkRectangle *cell_area,
82@@ -287,6 +312,20 @@
83
84 priv = GTK_CELL_RENDERER_TOGGLE_GET_PRIVATE (cell);
85
86+ if (priv->override_size) {
87+ priv->indicator_size = priv->override_size;
88+ } else if (priv->cached_widget != widget) {
89+ if (priv->cached_widget) {
90+ g_object_remove_weak_pointer (widget, &priv->cached_widget);
91+ g_signal_handlers_disconnect_by_func (priv->cached_widget, on_widget_style_set, priv);
92+ }
93+ priv->cached_widget = widget;
94+ g_object_add_weak_pointer (widget, &priv->cached_widget);
95+ g_signal_connect (widget, "style-set", on_widget_style_set, priv);
96+
97+ on_widget_style_set (widget, NULL, priv);
98+ }
99+
100 calc_width = (gint) cell->xpad * 2 + priv->indicator_size;
101 calc_height = (gint) cell->ypad * 2 + priv->indicator_size;
102
diff --git a/meta/recipes-gnome/gtk+/gtk+/xsettings.patch b/meta/recipes-gnome/gtk+/gtk+/xsettings.patch
deleted file mode 100644
index d0a970ad4d..0000000000
--- a/meta/recipes-gnome/gtk+/gtk+/xsettings.patch
+++ /dev/null
@@ -1,20 +0,0 @@
1Upstream-Status: Pending
2
3Index: gtk+-2.21.2/gdk/x11/gdkevents-x11.c
4===================================================================
5--- gtk+-2.21.2.orig/gdk/x11/gdkevents-x11.c 2010-06-22 17:28:04.000000000 +0800
6+++ gtk+-2.21.2/gdk/x11/gdkevents-x11.c 2010-06-22 17:28:06.000000000 +0800
7@@ -3062,10 +3062,9 @@
8 {
9 GdkScreenX11 *screen = data;
10
11- if (xsettings_client_process_event (screen->xsettings_client, (XEvent *)xevent))
12- return GDK_FILTER_REMOVE;
13- else
14- return GDK_FILTER_CONTINUE;
15+ xsettings_client_process_event (screen->xsettings_client, (XEvent *)xevent);
16+
17+ return GDK_FILTER_CONTINUE;
18 }
19
20 static Bool
diff --git a/meta/recipes-gnome/gtk+/gtk+_2.24.32.bb b/meta/recipes-gnome/gtk+/gtk+_2.24.32.bb
deleted file mode 100644
index 682d31e49e..0000000000
--- a/meta/recipes-gnome/gtk+/gtk+_2.24.32.bb
+++ /dev/null
@@ -1,35 +0,0 @@
1require gtk+.inc
2
3LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
4 file://gtk/gtk.h;endline=27;md5=c59e0b4490dd135a5726ebf851f9b17f \
5 file://gdk/gdk.h;endline=27;md5=07db285ec208fb3e0bf7d861b0614202 \
6 file://tests/testgtk.c;endline=27;md5=262db5db5f776f9863e56df31423e24c"
7SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/2.24/gtk+-${PV}.tar.xz \
8 file://xsettings.patch \
9 file://hardcoded_libtool.patch \
10 file://toggle-font.diff;striplevel=0 \
11 file://doc-fixes.patch \
12 file://strict-prototypes.patch \
13 file://0001-Do-not-look-into-HOME-when-looking-for-gtk-modules.patch \
14 "
15
16SRC_URI[md5sum] = "d5742aa42275203a499b59b4c382a784"
17SRC_URI[sha256sum] = "b6c8a93ddda5eabe3bfee1eb39636c9a03d2a56c7b62828b359bf197943c582e"
18
19EXTRA_OECONF = "--enable-xkb --disable-glibtest --disable-cups --disable-xinerama"
20
21LIBV = "2.10.0"
22
23PACKAGES_DYNAMIC += "^gtk-immodule-.* ^gtk-printbackend-.*"
24
25python populate_packages_prepend () {
26 gtk_libdir = d.expand('${libdir}/gtk-2.0/${LIBV}')
27 immodules_root = os.path.join(gtk_libdir, 'immodules')
28 printmodules_root = os.path.join(gtk_libdir, 'printbackends');
29
30 d.setVar('GTKIMMODULES_PACKAGES', ' '.join(do_split_packages(d, immodules_root, r'^im-(.*)\.so$', 'gtk-immodule-%s', 'GTK input module for %s')))
31 do_split_packages(d, printmodules_root, r'^libprintbackend-(.*)\.so$', 'gtk-printbackend-%s', 'GTK printbackend module for %s')
32
33 if (d.getVar('DEBIAN_NAMES')):
34 d.setVar(d.expand('PKG_${PN}'), '${MLPREFIX}libgtk-2.0')
35}