# Forked from Alpine to apply Purism's patches for mobile usage pkgname=gtk+3.0 pkgver=9999_git20230719 pkgrel=1 # pureos/latest branch _commit="084b40f29656945e4c12428a8e9a4d5310c0e56d" pkgdesc="The GTK+ Toolkit (v3)" url="https://www.gtk.org/" install="$pkgname.post-install $pkgname.post-upgrade $pkgname.post-deinstall" arch="all" license="LGPL-2.1-or-later" options="!check" # Most glade tests fail :c subpackages="$pkgname-demo $pkgname-dev $pkgname-lang $pkgname-dbg" depends="shared-mime-info gtk-update-icon-cache" replaces="gtk+" depends_dev=" at-spi2-core-dev gdk-pixbuf-dev glib-dev libepoxy-dev libxext-dev libxi-dev libxinerama-dev wayland-protocols wayland-libs-client wayland-libs-cursor libxkbcommon-dev " makedepends=" $depends_dev cups-dev expat-dev gettext-dev gnutls-dev gobject-introspection-dev libice-dev tiff-dev zlib-dev cairo-dev fontconfig-dev pango-dev wayland-dev libx11-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxfixes-dev libxrandr-dev meson gtk-doc iso-codes-dev " checkdepends=" xvfb-run ibus librsvg gdk-pixbuf " source="https://source.puri.sm/Librem5/gtk/-/archive/$_commit/gtk-$_commit.tar.gz gdk-wayland-Track-last-touch-serial-on-seat.patch " builddir="$srcdir/gtk-$_commit" prepare() { default_prepare # Purism patches grep "\.patch$" debian/patches/series \ | xargs -I {} -t -r -n1 patch -p1 -i debian/patches/{} # Prevent unexpected downgrade: 3.90.99 is higher than Alpine's version # (pma#694), but still passes the libportal check (pma#841) sed -i "s/ version: '3.*',/ version: '3.90.99',/g" meson.build sed -i "s/^gtk_interface_age = .*/gtk_interface_age = 90/g" meson.build } build() { # postmarketOS specific: disable stuff that takes forever to (cross)compile: # man=false, gtk_doc=false, tests=false meson \ --prefix=/usr \ --sysconfdir=/etc \ --mandir=/usr/share/man \ --localstatedir=/var \ --buildtype=plain \ -Dman=false \ -Dgtk_doc=false \ -Dtests=false \ -Dbroadway_backend=true \ output ninja -C output } check() { xvfb-run ninja -C output test } package() { DESTDIR="$pkgdir" ninja -C output install # use gtk-update-icon-cache from gtk+2.0 for now rm -f "$pkgdir"/usr/bin/gtk-update-icon-cache rm -f "$pkgdir"/usr/share/man/man1/gtk-update-icon-cache.1 } demo() { pkgdesc="$pkgdesc (demonstration application)" install -Dm755 "$pkgdir"/usr/bin/gtk3-demo \ "$pkgdir"/usr/bin/gtk3-widget-factory \ "$pkgdir"/usr/bin/gtk3-demo-application \ -t "$subpkgdir"/usr/bin install -Dm644 "$pkgdir"/usr/share/gtk-3.0/gtkbuilder.rng \ -t "$subpkgdir"/usr/share/gtk-3.0 install -Dm644 "$pkgdir"/usr/share/glib-2.0/schemas/org.gtk.Demo.gschema.xml \ -t "$subpkgdir"/usr/share/glib-2.0/schemas install -Dm644 "$pkgdir"/usr/share/applications/gtk3-widget-factory.desktop \ "$pkgdir"/usr/share/applications/gtk3-demo.desktop \ -t "$subpkgdir"/usr/share/applications mkdir -p "$subpkgdir"/usr/share mv "$pkgdir"/usr/share/icons "$subpkgdir"/usr/share } dev() { replaces="gtk+-dev" default_dev } doc() { replaces="gtk+-doc" default_doc } sha512sums=" 8b9d14b4038a5e58b772bd2996adc6501fd025e5cf7973ef9fb8df2e1fea0bf7f9d4d71e3daa93418faf7759e35a390fe5d2a78a0a4c5829891955a615f41ea2 gtk-084b40f29656945e4c12428a8e9a4d5310c0e56d.tar.gz 4b8ecb3f1adb833fe4006d690c31d0d930687abc28f6033e6304c235227b6e86f6abaa2c7d015677d3fdecc628fa7d7d3927b48cfceec9ad144827274a176762 gdk-wayland-Track-last-touch-serial-on-seat.patch "