diff options
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 105 |
1 files changed, 66 insertions, 39 deletions
@@ -1,35 +1,32 @@ -# Maintainer: Andrew Crerar <andrew (at) crerar (dot) io> - -pkgname=(gtk4-git) -pkgver=3.99.4.r42.g53cd499621 +# Maintainer: Andrew Crerar <crerar@archlinux.org> +pkgbase=gtk4-git +pkgname=(gtk4-git gtk-update-icon-cache-git) +pkgver=4.1.2.r80.g48f87c1eea pkgrel=1 pkgdesc="GObject-based multi-platform GUI toolkit (GIT Version)" arch=('x86_64') url="https://www.gtk.org/" license=('LGPL') -depends=('at-spi2-atk' 'cairo' 'atk' 'dconf' 'glib2' 'libepoxy' +depends=('at-spi2-atk' 'cairo' 'atk' 'dconf' 'glib2' 'libepoxy' 'fribidi' 'libxcomposite' 'libxcursor' 'libxinerama' 'libxkbcommon' 'libxrandr' 'mesa' 'pango' 'graphene' 'json-glib' 'shared-mime-info' 'gdk-pixbuf2' 'colord' - 'libcups' 'rest' 'vulkan-icd-loader' 'gst-plugins-bad') -makedepends=('gobject-introspection' 'gtk-doc' 'git' 'meson' 'ninja' 'vulkan-headers' - 'wayland' 'wayland-protocols') -optdepends=('gnome-icon-theme: Default icon theme' - 'gnome-themes-standard: Default widget theme' - 'hicolor-icon-theme: Freedesktop.org Hicolor icon theme' - 'gdk-pixbuf2: An image loading library' - 'wayland: A computer display server protocol' - 'wayland-protocols: Specifications of extended Wayland protocols') + 'libcups' 'rest' 'vulkan-icd-loader' 'gst-plugins-bad-libs' 'wayland' + 'vulkan-headers' 'libcloudproviders' 'libglvnd' 'iso-codes' 'harfbuzz' + 'tracker3' 'libx11' 'libxrender' 'libxi' 'libxext' 'libxdamage' 'libxfixes' + 'fontconfig' 'ffmpeg' 'librsvg' 'desktop-file-utils' 'adwaita-icon-theme' + 'cantarell-fonts') +makedepends=('gobject-introspection' 'cmake' 'git' 'meson' 'wayland-protocols' + 'sysprof' 'python' 'shaderc' 'sassc' 'glib2-docs' 'pandoc' 'python-toml' + 'python-jinja' 'python-typogrify' 'python-pygments' 'libxslt' 'docbook-xsl') source=('git+https://gitlab.gnome.org/GNOME/gtk.git' - 'gtk4.install' - 'gtk4-query-immodules.hook' + 'gtk4-querymodules.hook' 'gtk4-update-icon-cache.hook' 'gtk4-update-icon-cache.script' 'settings.ini') sha512sums=('SKIP' - '5dcb698a15e7d5f4611c9357782d475052944cc71e73351238ffb5dfbe18d1bd1b62289da7f8066cde256c4339de5efa982088f47781876f5d8317f92b87f79f' - '1dbcce0a3e17ee05b579613adba25feff692f6626155e91fa6859e5f176753201b5ceffa8c9c7c897cf945aeeb32fbd28affa24050dfc0d65237733964bf28de' - '9d3bb80afb3a00dc50402d32476719daaeab017e1a066425bb602316b534d0a9899d48734a84f70af1066ed104df0491264383a34969dfad2ea9828fb41b9b6b' - '805cf12606c738d0442d8af415223d3faada93c933b563b7c4c1d5e0c16d2d21435406add1fcc69300fb2fe534f2d0ddbf50b2c0463fc7462109d0f7802ccef1' + '4adbad5b238d8326edb066de9f27bf07894137b4cb9b8a38325b80a89f928fce89c268b2270cf8bc6ca4cf311f0674bf1a756e0e28f59771e694559e1a551a6a' + '6b7d8ecf0e98dcb35fac0c5dc96feb4d66c060c4a19801eac385827a601ae430223b3731d0de0845b0cae50e8169a95b1c13357281ca5a7c2c1ca1930163cad9' + '05929a7816b0fb45918850d172a375a2e6915a75db879fcc2fbe3b58864e76cc50a7767645a545f48b0d15417f30d1b205a77cfd6396a66df49b28f846bf5bbb' '1642d77622d61234e316e8fcbc803a6a5556c606e37e56aa5981ef2f2df85bfa959c31b5d1bff248b340760e1178281cb0d7abdf540c5f7d4b62cb383a67c685') pkgver() { cd gtk @@ -39,34 +36,64 @@ pkgver() { "$(git rev-parse --short HEAD)" } -build() { - cd gtk +prepare() { + cd gtk +} - meson --prefix=/usr \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --libdir=lib \ +build() { + CFLAGS+=" -DG_ENABLE_DEBUG -DG_DISABLE_CAST_CHECKS" + # NOTE: We cannot use arch-meson _yet_ due to building with the gtk_doc flag + # as gi-docgen's official upstream guidance is to include the dep. as + # a subproject (which arch-meson disallows). See: + # https://gitlab.gnome.org/ebassi/gi-docgen/-/issues/60#note_1060533 + meson setup --prefix /usr \ + --libexecdir lib \ + --sbindir bin \ + --buildtype plain \ + --auto-features enabled \ + -Db_lto=true \ + -Db_pie=true \ -Dbroadway-backend=true \ + -Dcloudproviders=enabled \ + -Dsysprof=enabled \ + -Dtracker=enabled \ + -Dcolord=enabled \ + -Dgtk_doc=true \ + -Dman-pages=true \ -Dvulkan=enabled \ -Dwayland-backend=true \ - _build . + gtk build - cd _build - - ninja + meson compile -C build + ninja -C build } -package() { - install="gtk4.install" +package_gtk4-git() { + depends+=('gtk-update-icon-cache-git') + provides+=('libgtk-4.so') + conflicts=('gtk4') + + DESTDIR="$pkgdir" meson install -C build - cd gtk/_build + install -Dm 644 "settings.ini" "$pkgdir"/usr/share/gtk-4.0/settings.ini + install -Dm 644 "gtk4-querymodules.hook" "$pkgdir"/usr/share/libalpm/hooks/gtk4-querymodules.hook + + # gtk-update-icon-cache us also used by other toolkits + mkdir -p guic/usr/{bin,share/man/man1} + mv {"$pkgdir",guic}/usr/bin/gtk4-update-icon-cache + mv {"$pkgdir",guic}/usr/share/man/man1/gtk4-update-icon-cache.1 +} - DESTDIR="$pkgdir" ninja install +package_gtk-update-icon-cache-git() { + pkgdesc="GTK icon cache updater" + depends=('gdk-pixbuf2' 'librsvg' 'hicolor-icon-theme') + conflicts=('gtk-update-icon-cache') + provides=('gtk-update-icon-cache') - install -Dm 644 "../../settings.ini" "$pkgdir"/usr/share/gtk-4.0/settings.ini - install -Dm 644 "../../gtk4-query-immodules.hook" "$pkgdir"/usr/share/libalpm/hooks/gtk4-query-immodules.hook - install -D "gtk/tools/gtk4-update-icon-cache" "$pkgdir"/usr/bin/gtk4-update-icon-cache - install -Dm 644 "../../gtk4-update-icon-cache.hook" "$pkgdir"/usr/share/libalpm/hooks/gtk4-update-icon-cache.hook - install -Dm 755 "../../gtk4-update-icon-cache.script" "$pkgdir"/usr/share/libalpm/scripts/gtk4-update-icon-cache + mv -t "$pkgdir" guic/* + ln -s gtk4-update-icon-cache "$pkgdir/usr/bin/gtk-update-icon-cache" + ln -s gtk4-update-icon-cache.1 "$pkgdir/usr/share/man/man1/gtk-update-icon-cache.1" + install -Dm 644 "gtk4-update-icon-cache.hook" "$pkgdir"/usr/share/libalpm/hooks/gtk-update-icon-cache.hook + install -Dm 755 "gtk4-update-icon-cache.script" "$pkgdir"/usr/share/libalpm/scripts/gtk-update-icon-cache } |