From 2acece294a431590ad7ea15f8cda5681ffaa98a1 Mon Sep 17 00:00:00 2001 From: Oliver Smith Date: Fri, 28 Oct 2022 08:30:33 +0200 Subject: [PATCH] temp/gtk+2.0: fork from Alpine for aarch64 Fork it as the package is currently gone in Alpine edge for aarch64 and the builder seems to be stuck. --- temp/gtk+2.0/APKBUILD | 106 +++++++++++++++++++++++++ temp/gtk+2.0/gtk+2.0.post-deinstall | 7 ++ temp/gtk+2.0/gtk+2.0.post-install | 4 + temp/gtk+2.0/gtk+2.0.post-upgrade | 1 + temp/gtk+2.0/gtk2-fixdso.patch | 15 ++++ temp/gtk+2.0/xid-collision-debug.patch | 15 ++++ 6 files changed, 148 insertions(+) create mode 100644 temp/gtk+2.0/APKBUILD create mode 100644 temp/gtk+2.0/gtk+2.0.post-deinstall create mode 100644 temp/gtk+2.0/gtk+2.0.post-install create mode 120000 temp/gtk+2.0/gtk+2.0.post-upgrade create mode 100644 temp/gtk+2.0/gtk2-fixdso.patch create mode 100644 temp/gtk+2.0/xid-collision-debug.patch diff --git a/temp/gtk+2.0/APKBUILD b/temp/gtk+2.0/APKBUILD new file mode 100644 index 000000000..ad5b578fa --- /dev/null +++ b/temp/gtk+2.0/APKBUILD @@ -0,0 +1,106 @@ +# Forked from Alpine: has been moved from main to community in Alpine. The +# package has been removed from main but not yet built again in community for +# aarch64. This breaks pmbootstrap install (pma#1769). The build-edge-aarch64 +# builder seems to be stuck, so fork it temporarily to pmOS until the package +# is back in Alpine edge. +pkgname=gtk+2.0 +pkgver=2.24.33 +pkgrel=7 +pkgdesc="The GTK+ Toolkit (v2)" +url="https://www.gtk.org/" +install="$pkgname.post-install $pkgname.post-upgrade $pkgname.post-deinstall" +arch="aarch64" +options="!check" # Requires xvfb, resulting in eventual circular dependency +license="LGPL-2.0-or-later" +subpackages=" + $pkgname-dbg + $pkgname-dev + $pkgname-doc + $pkgname-lang + " +depends="shared-mime-info gtk-update-icon-cache" +depends_dev=" + at-spi2-core-dev + cairo-dev + intltool + 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 + gettext-dev + glib-dev + gobject-introspection-dev + gtk-doc + hicolor-icon-theme + libice-dev + libx11-dev + libxcomposite-dev + libxcursor-dev + libxext-dev + libxfixes-dev + libxi-dev + libxrandr-dev + zlib-dev + " +source="https://download.gnome.org/sources/gtk+/${pkgver%.*}/gtk+-$pkgver.tar.xz + xid-collision-debug.patch + gtk2-fixdso.patch + " + +builddir="$srcdir"/gtk+-$pkgver + +prepare() { + default_prepare + libtoolize --force \ + && aclocal -I m4 \ + && autoconf \ + && automake --add-missing +} + +build() { + CFLAGS="$CFLAGS -flto=auto" \ + ./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() { + make DESTDIR="$pkgdir" install + + # use gtk-update-icon-cache from gtk+3.0 + rm -f "$pkgdir"/usr/bin/gtk-update-icon-cache + rm -f "$pkgdir"/usr/share/man/man1/gtk-update-icon-cache.1 +} + +dev() { + amove usr/share/gtk-2.0 + default_dev + amove \ + usr/bin/gtk-builder-convert \ + usr/bin/gtk-demo +} + +sha512sums=" +71b588797c81f727dfac8dcb1be193f7436f717d30ecf18eae2d3aeb0f445b3be4743400acac16435490db8f564f01032065d3f42d27871317f80c98aef929d5 gtk+-2.24.33.tar.xz +89e3223c86731a76b12d39245f1ec4cf8b4860ab1d11d74a10e5deb0db302f20b4bb5d9034da1d8aeb96369dbdeddcdd2f28943270dc501476c694562b960159 xid-collision-debug.patch +95f28633a5164a2a9fec45ee1aa80bd1c07e0c5a7ac8d770b9c74af0909b7286b823eb634aa384cad609dc8799d2e6c9e8392c2732b9093076fdf94b4f6878b7 gtk2-fixdso.patch +" diff --git a/temp/gtk+2.0/gtk+2.0.post-deinstall b/temp/gtk+2.0/gtk+2.0.post-deinstall new file mode 100644 index 000000000..ea39aa8bf --- /dev/null +++ b/temp/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/temp/gtk+2.0/gtk+2.0.post-install b/temp/gtk+2.0/gtk+2.0.post-install new file mode 100644 index 000000000..ea573183a --- /dev/null +++ b/temp/gtk+2.0/gtk+2.0.post-install @@ -0,0 +1,4 @@ +#!/bin/sh + +usr/bin/gtk-query-immodules-2.0 --update-cache +usr/bin/gdk-pixbuf-query-loaders --update-cache diff --git a/temp/gtk+2.0/gtk+2.0.post-upgrade b/temp/gtk+2.0/gtk+2.0.post-upgrade new file mode 120000 index 000000000..5bd77f90d --- /dev/null +++ b/temp/gtk+2.0/gtk+2.0.post-upgrade @@ -0,0 +1 @@ +gtk+2.0.post-install \ No newline at end of file diff --git a/temp/gtk+2.0/gtk2-fixdso.patch b/temp/gtk+2.0/gtk2-fixdso.patch new file mode 100644 index 000000000..3ea784699 --- /dev/null +++ b/temp/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/temp/gtk+2.0/xid-collision-debug.patch b/temp/gtk+2.0/xid-collision-debug.patch new file mode 100644 index 000000000..d61238c3b --- /dev/null +++ b/temp/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); + } +