summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorandrewSC2021-03-21 22:11:00 -0400
committerandrewSC2021-03-21 22:11:00 -0400
commite138815ec0a0c1c37c7a4f1e45020ea56f861bdf (patch)
tree2444f01512d0bea52b1773a1ace69cc516272ea0
parent042f1417bbb74859b13ee9ccb361881bb816e03a (diff)
downloadaur-e138815ec0a0c1c37c7a4f1e45020ea56f861bdf.tar.gz
updating dependencies, splitting package to better interop. with extra/gtk4, replaced gtk-doc with gi-docgen
-rw-r--r--.SRCINFO111
-rw-r--r--PKGBUILD105
-rw-r--r--gtk4-query-immodules.hook11
-rw-r--r--gtk4-querymodules.hook12
-rw-r--r--gtk4-update-icon-cache.hook4
-rw-r--r--gtk4-update-icon-cache.script4
-rw-r--r--gtk4.install3
7 files changed, 174 insertions, 76 deletions
diff --git a/.SRCINFO b/.SRCINFO
index b61992263dc5..782be2897a15 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,24 +1,34 @@
pkgbase = gtk4-git
pkgdesc = GObject-based multi-platform GUI toolkit (GIT Version)
- pkgver = 3.99.4.r42.g53cd499621
+ pkgver = 4.1.2.r80.g48f87c1eea
pkgrel = 1
url = https://www.gtk.org/
arch = x86_64
license = LGPL
makedepends = gobject-introspection
- makedepends = gtk-doc
+ makedepends = cmake
makedepends = git
makedepends = meson
- makedepends = ninja
- makedepends = vulkan-headers
- makedepends = wayland
makedepends = wayland-protocols
+ makedepends = sysprof
+ makedepends = python
+ makedepends = shaderc
+ makedepends = sassc
+ makedepends = glib2-docs
+ makedepends = pandoc
+ makedepends = python-toml
+ makedepends = python-jinja
+ makedepends = python-typogrify
+ makedepends = python-pygments
+ makedepends = libxslt
+ makedepends = docbook-xsl
depends = at-spi2-atk
depends = cairo
depends = atk
depends = dconf
depends = glib2
depends = libepoxy
+ depends = fribidi
depends = libxcomposite
depends = libxcursor
depends = libxinerama
@@ -34,26 +44,89 @@ pkgbase = gtk4-git
depends = libcups
depends = rest
depends = vulkan-icd-loader
- depends = gst-plugins-bad
- optdepends = gnome-icon-theme: Default icon theme
- optdepends = gnome-themes-standard: Default widget theme
- optdepends = hicolor-icon-theme: Freedesktop.org Hicolor icon theme
- optdepends = gdk-pixbuf2: An image loading library
- optdepends = wayland: A computer display server protocol
- optdepends = wayland-protocols: Specifications of extended Wayland protocols
+ depends = gst-plugins-bad-libs
+ depends = wayland
+ depends = vulkan-headers
+ depends = libcloudproviders
+ depends = libglvnd
+ depends = iso-codes
+ depends = harfbuzz
+ depends = tracker3
+ depends = libx11
+ depends = libxrender
+ depends = libxi
+ depends = libxext
+ depends = libxdamage
+ depends = libxfixes
+ depends = fontconfig
+ depends = ffmpeg
+ depends = librsvg
+ depends = desktop-file-utils
+ depends = adwaita-icon-theme
+ depends = cantarell-fonts
source = git+https://gitlab.gnome.org/GNOME/gtk.git
- source = gtk4.install
- source = gtk4-query-immodules.hook
+ source = gtk4-querymodules.hook
source = gtk4-update-icon-cache.hook
source = gtk4-update-icon-cache.script
source = settings.ini
sha512sums = SKIP
- sha512sums = 5dcb698a15e7d5f4611c9357782d475052944cc71e73351238ffb5dfbe18d1bd1b62289da7f8066cde256c4339de5efa982088f47781876f5d8317f92b87f79f
- sha512sums = 1dbcce0a3e17ee05b579613adba25feff692f6626155e91fa6859e5f176753201b5ceffa8c9c7c897cf945aeeb32fbd28affa24050dfc0d65237733964bf28de
- sha512sums = 9d3bb80afb3a00dc50402d32476719daaeab017e1a066425bb602316b534d0a9899d48734a84f70af1066ed104df0491264383a34969dfad2ea9828fb41b9b6b
- sha512sums = 805cf12606c738d0442d8af415223d3faada93c933b563b7c4c1d5e0c16d2d21435406add1fcc69300fb2fe534f2d0ddbf50b2c0463fc7462109d0f7802ccef1
+ sha512sums = 4adbad5b238d8326edb066de9f27bf07894137b4cb9b8a38325b80a89f928fce89c268b2270cf8bc6ca4cf311f0674bf1a756e0e28f59771e694559e1a551a6a
+ sha512sums = 6b7d8ecf0e98dcb35fac0c5dc96feb4d66c060c4a19801eac385827a601ae430223b3731d0de0845b0cae50e8169a95b1c13357281ca5a7c2c1ca1930163cad9
+ sha512sums = 05929a7816b0fb45918850d172a375a2e6915a75db879fcc2fbe3b58864e76cc50a7767645a545f48b0d15417f30d1b205a77cfd6396a66df49b28f846bf5bbb
sha512sums = 1642d77622d61234e316e8fcbc803a6a5556c606e37e56aa5981ef2f2df85bfa959c31b5d1bff248b340760e1178281cb0d7abdf540c5f7d4b62cb383a67c685
pkgname = gtk4-git
- install = gtk4.install
+ depends = at-spi2-atk
+ depends = cairo
+ depends = atk
+ depends = dconf
+ depends = glib2
+ depends = libepoxy
+ depends = fribidi
+ depends = libxcomposite
+ depends = libxcursor
+ depends = libxinerama
+ depends = libxkbcommon
+ depends = libxrandr
+ depends = mesa
+ depends = pango
+ depends = graphene
+ depends = json-glib
+ depends = shared-mime-info
+ depends = gdk-pixbuf2
+ depends = colord
+ depends = libcups
+ depends = rest
+ depends = vulkan-icd-loader
+ depends = gst-plugins-bad-libs
+ depends = wayland
+ depends = vulkan-headers
+ depends = libcloudproviders
+ depends = libglvnd
+ depends = iso-codes
+ depends = harfbuzz
+ depends = tracker3
+ depends = libx11
+ depends = libxrender
+ depends = libxi
+ depends = libxext
+ depends = libxdamage
+ depends = libxfixes
+ depends = fontconfig
+ depends = ffmpeg
+ depends = librsvg
+ depends = desktop-file-utils
+ depends = adwaita-icon-theme
+ depends = cantarell-fonts
+ depends = gtk-update-icon-cache-git
+ provides = libgtk-4.so
+ conflicts = gtk4
+
+pkgname = gtk-update-icon-cache-git
+ pkgdesc = GTK icon cache updater
+ depends = gdk-pixbuf2
+ depends = librsvg
+ depends = hicolor-icon-theme
+ provides = gtk-update-icon-cache
+ conflicts = gtk-update-icon-cache
diff --git a/PKGBUILD b/PKGBUILD
index 7ea24cc3d50e..6a762cd653ec 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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
}
diff --git a/gtk4-query-immodules.hook b/gtk4-query-immodules.hook
deleted file mode 100644
index c81e3f9a8603..000000000000
--- a/gtk4-query-immodules.hook
+++ /dev/null
@@ -1,11 +0,0 @@
-[Trigger]
-Type = File
-Operation = Install
-Operation = Upgrade
-Operation = Remove
-Target = usr/lib/gtk-4.0/4.0.0/immodules/*.so
-
-[Action]
-Description = Probing GTK4 input method modules...
-When = PostTransaction
-Exec = /usr/bin/gtk4-query-immodules --update-cache
diff --git a/gtk4-querymodules.hook b/gtk4-querymodules.hook
new file mode 100644
index 000000000000..2821d7472534
--- /dev/null
+++ b/gtk4-querymodules.hook
@@ -0,0 +1,12 @@
+[Trigger]
+Type = Path
+Operation = Install
+Operation = Upgrade
+Operation = Remove
+Target = usr/lib/gtk-4.0/4.0.0/*/
+
+[Action]
+Description = Updating GTK4 module cache...
+When = PostTransaction
+Exec = /usr/share/libalpm/scripts/gio-querymodules
+NeedsTargets
diff --git a/gtk4-update-icon-cache.hook b/gtk4-update-icon-cache.hook
index c77393cca33e..758a62187a9b 100644
--- a/gtk4-update-icon-cache.hook
+++ b/gtk4-update-icon-cache.hook
@@ -1,5 +1,5 @@
[Trigger]
-Type = File
+Type = Path
Operation = Install
Operation = Upgrade
Operation = Remove
@@ -9,5 +9,5 @@ Target = !usr/share/icons/*/?*
[Action]
Description = Updating icon theme caches...
When = PostTransaction
-Exec = /usr/share/libalpm/scripts/gtk4-update-icon-cache
+Exec = /usr/share/libalpm/scripts/gtk-update-icon-cache
NeedsTargets
diff --git a/gtk4-update-icon-cache.script b/gtk4-update-icon-cache.script
index b7183d06c4cd..608b1ea38db5 100644
--- a/gtk4-update-icon-cache.script
+++ b/gtk4-update-icon-cache.script
@@ -1,8 +1,8 @@
-#!/bin/bash
+#!/usr/bin/env bash
while read -r f; do
if [[ -e ${f}index.theme ]]; then
- gtk4-update-icon-cache -q "$f"
+ gtk-update-icon-cache -q "$f"
elif [[ -d $f ]]; then
rm -f "${f}icon-theme.cache"
rmdir --ignore-fail-on-non-empty "$f"
diff --git a/gtk4.install b/gtk4.install
deleted file mode 100644
index 451d4f33120b..000000000000
--- a/gtk4.install
+++ /dev/null
@@ -1,3 +0,0 @@
-pre_remove() {
- rm -f /usr/lib/gtk-4.0/4.0.0/immodules.cache
-}