pmaports/temp/gtk+3.0/APKBUILD
Alistair Francis b567653505
temp/gtk+3.0: Fix Phosh boot splash (MR 4332)
For the splash screen to correctly dismiss itself without
hitting the timeout, we need a Gtk patch.

This is described in the Phosh release notes:
https://gitlab.gnome.org/World/Phosh/phosh/-/releases/v0.30.0#required-patches-that-arent-merged-upstream-yet

The patch isn't in upstream yet, but there is an open PR:
https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/5628

Mobian also carries the patch:
https://salsa.debian.org/Mobian-team/packages/gtk3/-/blob/mobian/debian/patches/purism/gdk-wayland-Track-last-touch-serial-on-seat.patch

So let's add the patch to pmOS as well. This fixes the Phosh splash
screens so they now disapear when the application is ready.

Signed-off-by: Alistair Francis <alistair@alistair23.me>
[ci:skip-build]: already built successfully in CI
2023-08-18 10:12:22 +02:00

139 lines
3.5 KiB
Text

# 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
"