diff options
Diffstat (limited to 'multilib-testing/lib32-gtk2')
-rw-r--r-- | multilib-testing/lib32-gtk2/PKGBUILD | 53 | ||||
-rw-r--r-- | multilib-testing/lib32-gtk2/gtk-modules-32.patch | 12 | ||||
-rw-r--r-- | multilib-testing/lib32-gtk2/gtk2.install | 16 | ||||
-rw-r--r-- | multilib-testing/lib32-gtk2/xid-collision-debug.patch | 15 |
4 files changed, 96 insertions, 0 deletions
diff --git a/multilib-testing/lib32-gtk2/PKGBUILD b/multilib-testing/lib32-gtk2/PKGBUILD new file mode 100644 index 000000000..ae67618c0 --- /dev/null +++ b/multilib-testing/lib32-gtk2/PKGBUILD @@ -0,0 +1,53 @@ +# $Id: PKGBUILD 45659 2011-04-26 16:47:39Z svenstaro $ +# Maintainer: Ionut Biru <ibiru@archlinux.org +# Contributor: Pierre Schmitz <pierre@archlinux.de> +# Contributor: Mikko Seppälä <t-r-a-y@mbnet.fi> + +_pkgbasename=gtk2 +pkgname=lib32-$_pkgbasename +pkgver=2.24.4 +pkgrel=1 +pkgdesc="The GTK+ Toolkit (v2) (32-bit)" +arch=('x86_64') +url="http://www.gtk.org/" +install=gtk2.install +depends=(lib32-{'atk>=1.30.0','pango>=1.28.0','cairo>=1.10.0','heimdal>=1.3.2','gnutls>=2.8.6','gdk-pixbuf2>=2.22.1'} + lib32-lib{'cups>=1.4.4',xcursor,'xrandr>=1.3','xi>=1.3',xinerama,xcomposite,xdamage} + $_pkgbasename) +makedepends=('pkgconfig' 'gcc-multilib') +options=('!libtool' '!docs') +license=('LGPL') +source=(http://ftp.gnome.org/pub/gnome/sources/gtk+/2.24/gtk+-${pkgver}.tar.bz2 + xid-collision-debug.patch + gtk-modules-32.patch) +sha256sums=('7d3033ad83647079977466d3e8f1a7533f47abd5cc693f01b8797ff43dd407a5' + 'd758bb93e59df15a4ea7732cf984d1c3c19dff67c94b957575efea132b8fe558' + '2effb13404442ae266d4c663347e88cd1ca19e9a83b452da1743bac16af9c7b0') + +build() { + export CC="gcc -m32" + export CXX="g++ -m32" + export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" + + cd "${srcdir}/gtk+-${pkgver}" + patch -Np1 -i "${srcdir}/xid-collision-debug.patch" + patch -p1 -i ${srcdir}/gtk-modules-32.patch + + CXX=/bin/false ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --libdir=/usr/lib32 \ + --with-xinput=yes + make +} + +package() { + cd "${srcdir}/gtk+-${pkgver}" + make DESTDIR="${pkgdir}" install + rm -rf "${pkgdir}"/etc + rm -rf "${pkgdir}"/usr/{include,share} + + cd "${pkgdir}"/usr/bin + mv gtk-query-immodules-2.0 gtk-query-immodules-2.0-32 + rm -f gtk-builder-convert gtk-demo gtk-update-icon-cache +} diff --git a/multilib-testing/lib32-gtk2/gtk-modules-32.patch b/multilib-testing/lib32-gtk2/gtk-modules-32.patch new file mode 100644 index 000000000..a2530c3bf --- /dev/null +++ b/multilib-testing/lib32-gtk2/gtk-modules-32.patch @@ -0,0 +1,12 @@ +diff -ur gtk+-2.20.1/gtk/gtkrc.c gtk+-2.20.1-32/gtk/gtkrc.c +--- gtk+-2.20.1/gtk/gtkrc.c 2010-05-03 01:28:21.000000000 +0200 ++++ gtk+-2.20.1-32/gtk/gtkrc.c 2010-08-26 07:22:42.316920033 +0200 +@@ -450,7 +450,7 @@ + if (im_module_file) + result = g_strdup (im_module_file); + else +- result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", "gtk.immodules", NULL); ++ result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", "gtk.immodules-32", NULL); + } + + return result; diff --git a/multilib-testing/lib32-gtk2/gtk2.install b/multilib-testing/lib32-gtk2/gtk2.install new file mode 100644 index 000000000..49f86f550 --- /dev/null +++ b/multilib-testing/lib32-gtk2/gtk2.install @@ -0,0 +1,16 @@ +post_install() { + GTK_PATH=/usr/lib32/gtk-2.0 usr/bin/gtk-query-immodules-2.0-32 > etc/gtk-2.0/gtk.immodules-32 +} + +pre_upgrade() { + pre_remove +} + +post_upgrade() { + post_install +} + +pre_remove() { + rm -f etc/gtk-2.0/gtk.immodules-32 &>/dev/null + rm -f etc/gtk-2.0/gdk-pixbuf.loaders-32 &>/dev/null +} diff --git a/multilib-testing/lib32-gtk2/xid-collision-debug.patch b/multilib-testing/lib32-gtk2/xid-collision-debug.patch new file mode 100644 index 000000000..d61238c3b --- /dev/null +++ b/multilib-testing/lib32-gtk2/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); + } + |