pmaports/temp/gtk+3.0/APKBUILD
Oliver Smith 1d67df18b2
temp/gtk+3.0: upgrade to 9999_git20210108 (MR 1903)
Fix about dialogs not being adaptive and all other changes by Purism,
which are the reason why we use the fork in the first place. The patches
didn't get applied in the previous version we had packaged in
postmarketOS, because the patches are in debian/patches now.

Remove check-version.py, it's in the source tree now.
2021-01-27 09:24:55 +01:00

138 lines
3.4 KiB
Text

# Forked from Alpine to apply Purism's patches for responsivness
pkgname=gtk+3.0
pkgver=9999_git20210108
pkgrel=0
_commit="261616199e6229d51762007f3cf35575efe56856"
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="
atk-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
at-spi2-atk-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
"
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)
for _ver in gtk_minor_version gtk_micro_version gtk_interface_age; do
sed -i "s/m4_define(\[$_ver\], \[.*\])/m4_define([$_ver], [90])/g" configure.ac
done
sed -i "s/ version: '.*',/ 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="8e1be00e12ba294e6f654d180db7dececd852490a9b50d82995cd7e855a407f371ece61b82c0cb79dc0e892dbed2a74898e7cea8f466e096c9276eeb98778801 gtk-261616199e6229d51762007f3cf35575efe56856.tar.gz"