summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO36
-rw-r--r--PKGBUILD114
-rw-r--r--gtk2-dfb.install7
-rw-r--r--gtkrc3
-rw-r--r--xid-collision-debug.patch15
5 files changed, 175 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..d1a6af971d17
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,36 @@
+# Generated by makepkg 4.2.1
+# Sun Mar 15 11:53:28 UTC 2015
+pkgbase = gtk2-dfb
+ pkgver = 2.24.27
+ pkgrel = 1
+ url = http://www.gtk.org/
+ arch = i686
+ arch = x86_64
+ license = LGPL
+ makedepends = atk
+ makedepends = pango
+ makedepends = libxcursor
+ makedepends = libxinerama
+ makedepends = libxrandr
+ makedepends = libxi
+ makedepends = libxcomposite
+ makedepends = libxdamage
+ makedepends = shared-mime-info
+ makedepends = cairo-dfb
+ makedepends = libcups
+ makedepends = gdk-pixbuf2
+ makedepends = gobject-introspection
+ source = http://ftp.gnome.org/pub/gnome/sources/gtk+/2.24/gtk+-2.24.27.tar.xz
+ source = gtkrc
+ source = xid-collision-debug.patch
+ sha256sums = 20cb10cae43999732a9af2e9aac4d1adebf2a9c2e1ba147050976abca5cd24f4
+ sha256sums = b77a427df55a14182c10ad7e683b4d662df2846fcd38df2aa8918159d6be3ae2
+ sha256sums = d758bb93e59df15a4ea7732cf984d1c3c19dff67c94b957575efea132b8fe558
+
+pkgname = gtk2-dfb
+ pkgdesc = directfb backend for GTK+
+ install = gtk2-dfb.install
+ depends = gtk2>=2.24.27
+ depends = cairo-dfb
+ depends = directfb
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..cd6b74f1f8d4
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,114 @@
+# Maintainer: lks <lukas dot graetz at web dot de>
+# based on extra/gtk2: Jan de Groot <jgc@archlinux.org>
+
+pkgbase=gtk2-dfb
+pkgname=('gtk2-dfb')
+# uncomment this for multi-build
+# multi_build = 'yes'
+if [ $multi_build ]
+ then pkgname=('gtk2-dfb' 'gtk2' 'gtk-update-icon-cache')
+fi
+pkgver=2.24.27
+pkgrel=1
+arch=('i686' 'x86_64')
+url="http://www.gtk.org/"
+makedepends=('atk' 'pango' 'libxcursor' 'libxinerama' 'libxrandr' 'libxi' 'libxcomposite' 'libxdamage'
+ 'shared-mime-info' 'cairo-dfb' 'libcups' 'gdk-pixbuf2' 'gobject-introspection')
+license=('LGPL')
+source=(http://ftp.gnome.org/pub/gnome/sources/gtk+/2.24/gtk+-$pkgver.tar.xz
+ gtkrc xid-collision-debug.patch)
+sha256sums=('20cb10cae43999732a9af2e9aac4d1adebf2a9c2e1ba147050976abca5cd24f4'
+ 'b77a427df55a14182c10ad7e683b4d662df2846fcd38df2aa8918159d6be3ae2'
+ 'd758bb93e59df15a4ea7732cf984d1c3c19dff67c94b957575efea132b8fe558')
+
+prepare() {
+ cd gtk+-$pkgver
+ patch -Np1 -i ../xid-collision-debug.patch
+
+ cd ..
+ rm -rf gtk2-dfb-build gtk2-build
+ mkdir gtk2-dfb-build
+ mkdir gtk2-build
+}
+
+build_gtk2-dfb() {
+ cd gtk2-dfb-build
+
+ # build with --with-gdktarget=directfb
+ CXX=/bin/false ../gtk+-$pkgver/configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --with-xinput=yes \
+ --disable-gtk-doc \
+ --with-gdktarget=directfb
+
+ # https://bugzilla.gnome.org/show_bug.cgi?id=655517
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+
+ make
+}
+
+build_gtk2() {
+ cd gtk2-build
+
+ CXX=/bin/false ../gtk+-$pkgver/configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --with-xinput=yes
+
+ # https://bugzilla.gnome.org/show_bug.cgi?id=655517
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+
+ make
+}
+
+build() {
+ build_gtk2-dfb
+ if [ $multi_build ]
+ then build_gtk2
+ fi
+}
+
+package_gtk2-dfb() {
+ pkgdesc="directfb backend for GTK+"
+ install=gtk2-dfb.install
+ depends=("gtk2>=${pkgver}" 'cairo-dfb' 'directfb')
+ cd gtk2-dfb-build
+
+ mkdir $srcdir/gtk2-dfb-testinstall
+ make DESTDIR=$srcdir/gtk2-dfb-testinstall install
+ cd $srcdir/gtk2-dfb-testinstall
+ mkdir -p $pkgdir/usr/{lib,lib/pkgconfig,include/gtk-2.0/gdk}
+ for name in $(find . | grep directfb | grep -v gtk-doc)
+ do mv $name $pkgdir/$name
+ done
+ rm -r $srcdir/gtk2-dfb-testinstall
+}
+
+package_gtk2() {
+ pkgdesc="GTK+ is a multi-platform toolkit (v2)"
+ install=gtk2.install
+ depends=('atk' 'pango' 'libxcursor' 'libxinerama' 'libxrandr' 'libxi' 'libxcomposite' 'libxdamage'
+ 'shared-mime-info' 'cairo' 'libcups' 'gtk-update-icon-cache')
+ optdepends=('gnome-themes-standard: Default widget theme'
+ 'gnome-icon-theme: Default icon theme')
+ replaces=('gtk2-docs')
+
+ cd gtk2-build
+ make DESTDIR="$pkgdir" install
+
+ sed -i "s#env python#env python2#" $pkgdir/usr/bin/gtk-builder-convert
+
+ install -Dm644 "$srcdir/gtkrc" "$pkgdir/usr/share/gtk-2.0/gtkrc"
+
+ #split this out to use with gtk3 too
+ rm $pkgdir/usr/bin/gtk-update-icon-cache
+}
+package_gtk-update-icon-cache() {
+ pkgdesc="The GTK+ update icon cache tool"
+ depends=('gdk-pixbuf2>=2.24.1-3' 'hicolor-icon-theme')
+ install=gtk-update-icon-cache.install
+
+ cd gtk2-build/gtk
+ install -D -m755 gtk-update-icon-cache "$pkgdir/usr/bin/gtk-update-icon-cache"
+}
diff --git a/gtk2-dfb.install b/gtk2-dfb.install
new file mode 100644
index 000000000000..c8a5d5588ee5
--- /dev/null
+++ b/gtk2-dfb.install
@@ -0,0 +1,7 @@
+post_install() {
+ /usr/bin/gtk-query-immodules-2.0 --update-cache
+}
+
+post_update() {
+ post_install
+}
diff --git a/gtkrc b/gtkrc
new file mode 100644
index 000000000000..d2282ac36e5f
--- /dev/null
+++ b/gtkrc
@@ -0,0 +1,3 @@
+gtk-icon-theme-name = "gnome"
+gtk-theme-name = "Adwaita"
+gtk-font-name = "Cantarell 11"
diff --git a/xid-collision-debug.patch b/xid-collision-debug.patch
new file mode 100644
index 000000000000..d61238c3b274
--- /dev/null
+++ b/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);
+ }
+