diff options
-rw-r--r-- | user/gtk+2.0/APKBUILD | 108 | ||||
-rw-r--r-- | user/gtk+2.0/automake.patch | 19 | ||||
-rw-r--r-- | user/gtk+2.0/gtk+2.0.post-deinstall | 7 | ||||
-rw-r--r-- | user/gtk+2.0/gtk+2.0.post-install | 5 | ||||
-rw-r--r-- | user/gtk+2.0/gtk+2.0.post-upgrade | 5 | ||||
-rw-r--r-- | user/gtk+2.0/gtk-update-icon-cache.trigger | 9 | ||||
-rw-r--r-- | user/gtk+2.0/gtk2-fixdso.patch | 15 | ||||
-rw-r--r-- | user/gtk+2.0/xid-collision-debug.patch | 15 |
8 files changed, 183 insertions, 0 deletions
diff --git a/user/gtk+2.0/APKBUILD b/user/gtk+2.0/APKBUILD new file mode 100644 index 000000000..30346191a --- /dev/null +++ b/user/gtk+2.0/APKBUILD @@ -0,0 +1,108 @@ +# Maintainer: +pkgname=gtk+2.0 +pkgver=2.24.32 +pkgrel=0 +subpkg=gtk-update-icon-cache +pkgdesc="The GTK+ Toolkit (v2)" +url="https://www.gtk.org/" +arch="all" +options="!check" # Requires xvfb, resulting in eventual circular dependency +license="LGPL-2.0+" +depends="shared-mime-info gtk-update-icon-cache" + +replaces="gtk+" +replaces_dev="gtk+-dev" +replaces_doc="gtk+-doc" + +depends_dev=" + atk-dev + cairo-dev + libxdamage-dev + pango-dev + " +# we add hicolor-icon-theme because the subpackage gtk-update-icon-cache +# needs it. We need to force hicolor-icon-cache to be built before gtk+.2.0 +makedepends=" + autoconf automake libtool + $depends_dev + cups-dev + expat-dev + gdk-pixbuf-dev + glib-dev + gnutls-dev + gobject-introspection-dev + gtk-doc + hicolor-icon-theme + libice-dev + libx11-dev + libxcomposite-dev + libxcursor-dev + libxext-dev + libxfixes-dev + libxrandr-dev + libxi-dev + zlib-dev" +source="https://download.gnome.org/sources/gtk+/${pkgver%.*}/gtk+-$pkgver.tar.xz + xid-collision-debug.patch + gtk2-fixdso.patch + " + +install="$pkgname.post-install $pkgname.post-upgrade $pkgname.post-deinstall" +triggers="$subpkg.trigger=/usr/share/icons/*" +subpackages="$pkgname-dev $pkgname-doc $pkgname-lang $subpkg:icon_cache" +langdir="/usr/lib/locale" +builddir="$srcdir"/gtk+-$pkgver + +prepare() { + cd "$builddir" + default_prepare + libtoolize --force \ + && aclocal -I m4 \ + && autoconf \ + && automake --add-missing +} + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --with-xinput=yes \ + --without-libjasper \ + --with-included-loaders=png \ + --with-gdktarget=x11 \ + --enable-cups \ + --enable-man + # https://bugzilla.gnome.org/show_bug.cgi?id=655517 + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install +} + +dev() { + mkdir -p "$subpkgdir"/usr/bin "$subpkgdir"/usr/share/ + mv "$pkgdir"/usr/share/gtk-2.0 "$subpkgdir"/usr/share/ + default_dev + replaces="gtk+2.0" + mv "$pkgdir"/usr/bin/gtk-builder-convert \ + "$pkgdir"/usr/bin/gtk-demo \ + "$subpkgdir"/usr/bin +} + +icon_cache() { + depends="hicolor-icon-theme" + + mkdir -p "$subpkgdir"/usr/bin + mv "$pkgdir"/usr/bin/"$subpkg" "$subpkgdir"/usr/bin +} + +sha512sums="8e8fd9ae32f1d6fb544da260f00599f0f05090d910d767b06ef086ab4f1f8373a29bb0da9767761c9b5f4cfd51b5c45d0fa5d39b0428c839ddf0a579df806696 gtk+-2.24.32.tar.xz +89e3223c86731a76b12d39245f1ec4cf8b4860ab1d11d74a10e5deb0db302f20b4bb5d9034da1d8aeb96369dbdeddcdd2f28943270dc501476c694562b960159 xid-collision-debug.patch +95f28633a5164a2a9fec45ee1aa80bd1c07e0c5a7ac8d770b9c74af0909b7286b823eb634aa384cad609dc8799d2e6c9e8392c2732b9093076fdf94b4f6878b7 gtk2-fixdso.patch" diff --git a/user/gtk+2.0/automake.patch b/user/gtk+2.0/automake.patch new file mode 100644 index 000000000..106597974 --- /dev/null +++ b/user/gtk+2.0/automake.patch @@ -0,0 +1,19 @@ +--- ./configure.in.orig 2012-12-31 14:40:30.297439517 +0000 ++++ ./configure.in 2012-12-31 14:40:51.587629835 +0000 +@@ -51,7 +51,7 @@ + cflags_set=${CFLAGS+set} + + AM_INIT_AUTOMAKE([no-define -Wno-portability dist-bzip2]) +-AM_CONFIG_HEADER(config.h) ++AC_CONFIG_HEADER(config.h) + + # Support silent build rules, requires at least automake-1.11. Enable + # by either passing --enable-silent-rules to configure or passing V=0 +@@ -300,7 +300,6 @@ + + # Checks for programs. + AC_ISC_POSIX +-AM_PROG_CC_STDC + AM_PROG_CC_C_O + AC_PROG_INSTALL + AC_PROG_MAKE_SET diff --git a/user/gtk+2.0/gtk+2.0.post-deinstall b/user/gtk+2.0/gtk+2.0.post-deinstall new file mode 100644 index 000000000..ea39aa8bf --- /dev/null +++ b/user/gtk+2.0/gtk+2.0.post-deinstall @@ -0,0 +1,7 @@ +#!/bin/sh + +# since we depend on coreutils and busybox trigger has not yet run, we +# use busybox directly as workaround +/bin/busybox rm -f etc/gtk-2.0/gtk.immodules +/bin/busybox rm -f etc/gtk-2.0/gdk-pixbuf.loaders + diff --git a/user/gtk+2.0/gtk+2.0.post-install b/user/gtk+2.0/gtk+2.0.post-install new file mode 100644 index 000000000..80444cfb9 --- /dev/null +++ b/user/gtk+2.0/gtk+2.0.post-install @@ -0,0 +1,5 @@ +#!/bin/sh + +usr/bin/gtk-query-immodules-2.0 > etc/gtk-2.0/gtk.immodules +usr/bin/gdk-pixbuf-query-loaders > etc/gtk-2.0/gdk-pixbuf.loaders + diff --git a/user/gtk+2.0/gtk+2.0.post-upgrade b/user/gtk+2.0/gtk+2.0.post-upgrade new file mode 100644 index 000000000..80444cfb9 --- /dev/null +++ b/user/gtk+2.0/gtk+2.0.post-upgrade @@ -0,0 +1,5 @@ +#!/bin/sh + +usr/bin/gtk-query-immodules-2.0 > etc/gtk-2.0/gtk.immodules +usr/bin/gdk-pixbuf-query-loaders > etc/gtk-2.0/gdk-pixbuf.loaders + diff --git a/user/gtk+2.0/gtk-update-icon-cache.trigger b/user/gtk+2.0/gtk-update-icon-cache.trigger new file mode 100644 index 000000000..f24733593 --- /dev/null +++ b/user/gtk+2.0/gtk-update-icon-cache.trigger @@ -0,0 +1,9 @@ +#!/bin/sh + +for i in "$@"; do + if ! [ -e "$i" ]; then + continue + fi + gtk-update-icon-cache -q -t -f $i +done + diff --git a/user/gtk+2.0/gtk2-fixdso.patch b/user/gtk+2.0/gtk2-fixdso.patch new file mode 100644 index 000000000..3ea784699 --- /dev/null +++ b/user/gtk+2.0/gtk2-fixdso.patch @@ -0,0 +1,15 @@ +--- gtk+-2.24.8/gtk/Makefile.am.orig 2012-02-01 11:14:25.468115547 +0000 ++++ gtk+-2.24.8/gtk/Makefile.am 2012-02-01 11:14:57.920116650 +0000 +@@ -904,10 +904,10 @@ + libgtk_quartz_2_0_la_SOURCES = $(gtk_c_sources) + libgtk_directfb_2_0_la_SOURCES = $(gtk_c_sources) + +-libgtk_x11_2_0_la_LDFLAGS = $(libtool_opts) ++libgtk_x11_2_0_la_LDFLAGS = $(libtool_opts) -lgmodule-2.0 + libgtk_win32_2_0_la_LDFLAGS = $(libtool_opts) -Wl,-luuid + libgtk_quartz_2_0_la_LDFLAGS = $(libtool_opts) +-libgtk_directfb_2_0_la_LDFLAGS = $(libtool_opts) ++libgtk_directfb_2_0_la_LDFLAGS = $(libtool_opts) -lgmodule-2.0 + + libgtk_x11_2_0_la_LIBADD = $(libadd) + libgtk_win32_2_0_la_LIBADD = $(libadd) -lole32 -lgdi32 -lcomdlg32 -lwinspool -lcomctl32 diff --git a/user/gtk+2.0/xid-collision-debug.patch b/user/gtk+2.0/xid-collision-debug.patch new file mode 100644 index 000000000..d61238c3b --- /dev/null +++ b/user/gtk+2.0/xid-collision-debug.patch @@ -0,0 +1,15 @@ +--- gtk+-2.18.3/gdk/x11/gdkxid.c 2009-06-19 04:59:18.000000000 +0200 ++++ gtk+-2.18.3/gdk/x11/gdkxid.c.new 2009-07-22 11:30:12.000000000 +0200 +@@ -56,10 +56,10 @@ + if (!display_x11->xid_ht) + display_x11->xid_ht = g_hash_table_new ((GHashFunc) gdk_xid_hash, + (GEqualFunc) gdk_xid_equal); +- ++/* + if (g_hash_table_lookup (display_x11->xid_ht, xid)) + g_warning ("XID collision, trouble ahead"); +- ++*/ + g_hash_table_insert (display_x11->xid_ht, xid, data); + } + |