diff options
-rw-r--r-- | .SRCINFO | 36 | ||||
-rw-r--r-- | PKGBUILD | 114 | ||||
-rw-r--r-- | gtk2-dfb.install | 7 | ||||
-rw-r--r-- | gtkrc | 3 | ||||
-rw-r--r-- | xid-collision-debug.patch | 15 |
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); + } + |