summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorxiota2023-07-09 11:09:56 -0700
committerxiota2023-07-09 14:24:01 -0700
commit7e73c72e1ba2867ca6d35c3e80ae2e05f509ad3d (patch)
tree7acfa611fa1f88efad72348bd5e140751e80b360
parent10fb2c410dd07b1f496d966ba88da3f7334fc9b4 (diff)
downloadaur-7e73c72e1ba2867ca6d35c3e80ae2e05f509ad3d.tar.gz
4.11.4.r25
-rw-r--r--.SRCINFO183
-rw-r--r--.gitignore12
-rw-r--r--PKGBUILD246
-rw-r--r--gtk-update-icon-cache.hook (renamed from gtk4-update-icon-cache.hook)0
-rw-r--r--gtk-update-icon-cache.script (renamed from gtk4-update-icon-cache.script)2
-rw-r--r--gtk4-querymodules.hook2
-rw-r--r--gtk4-querymodules.script7
-rw-r--r--settings.ini4
8 files changed, 265 insertions, 191 deletions
diff --git a/.SRCINFO b/.SRCINFO
index c96ed0a45c0b..a4e10bfc80ec 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,138 +1,121 @@
pkgbase = gtk4-git
- pkgdesc = GObject-based multi-platform GUI toolkit (GIT Version)
- pkgver = 4.7.1.r138.gaf6432aa67
+ pkgdesc = GObject-based multi-platform GUI toolkit
+ pkgver = 4.11.4.r25.g1f3db35271
pkgrel = 1
- url = https://www.gtk.org/
+ url = https://gitlab.gnome.org/GNOME/gtk
arch = x86_64
license = LGPL
- makedepends = gobject-introspection
- makedepends = cmake
- makedepends = git
- makedepends = meson
- 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
+ checkdepends = weston
makedepends = docbook-xsl
makedepends = gi-docgen
+ makedepends = git
+ makedepends = gobject-introspection
+ makedepends = meson
makedepends = python-docutils
- depends = at-spi2-atk
+ makedepends = python-gobject
+ makedepends = sassc
+ makedepends = shaderc
+ makedepends = wayland-protocols
+ depends = adwaita-icon-theme
depends = cairo
- depends = atk
+ depends = cantarell-fonts
depends = dconf
+ depends = desktop-file-utils
+ depends = fontconfig
+ depends = fribidi
+ depends = gdk-pixbuf2
depends = glib2
+ depends = graphene
+ depends = gst-plugins-bad-libs
+ depends = harfbuzz
+ depends = iso-codes
+ depends = libcloudproviders
+ depends = libcolord
+ depends = libcups
+ depends = libegl
depends = libepoxy
- depends = fribidi
- depends = libxcomposite
+ depends = libgl
+ depends = libjpeg
+ depends = libpng
+ depends = librsvg
+ depends = libtiff
+ depends = libx11
depends = libxcursor
+ depends = libxdamage
+ depends = libxext
+ depends = libxfixes
+ depends = libxi
depends = libxinerama
depends = libxkbcommon
depends = libxrandr
- depends = mesa
+ depends = libxrender
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
- source = git+https://gitlab.gnome.org/GNOME/gtk.git
+ depends = wayland
+ source = gtk::git+https://gitlab.gnome.org/GNOME/gtk.git
+ source = gtk-update-icon-cache.hook
+ source = gtk-update-icon-cache.script
source = gtk4-querymodules.hook
- source = gtk4-update-icon-cache.hook
- source = gtk4-update-icon-cache.script
- source = settings.ini
- sha512sums = SKIP
- sha512sums = 4adbad5b238d8326edb066de9f27bf07894137b4cb9b8a38325b80a89f928fce89c268b2270cf8bc6ca4cf311f0674bf1a756e0e28f59771e694559e1a551a6a
- sha512sums = 6b7d8ecf0e98dcb35fac0c5dc96feb4d66c060c4a19801eac385827a601ae430223b3731d0de0845b0cae50e8169a95b1c13357281ca5a7c2c1ca1930163cad9
- sha512sums = 05929a7816b0fb45918850d172a375a2e6915a75db879fcc2fbe3b58864e76cc50a7767645a545f48b0d15417f30d1b205a77cfd6396a66df49b28f846bf5bbb
- sha512sums = 1642d77622d61234e316e8fcbc803a6a5556c606e37e56aa5981ef2f2df85bfa959c31b5d1bff248b340760e1178281cb0d7abdf540c5f7d4b62cb383a67c685
+ source = gtk4-querymodules.script
+ sha256sums = SKIP
+ sha256sums = 2d435e3bec8b79b533f00f6d04decb1d7c299c6e89b5b175f20be0459f003fe8
+ sha256sums = f1d3a0dbfd82f7339301abecdbe5f024337919b48bd0e09296bb0e79863b2541
+ sha256sums = a5074ffc057a3041a4f851b4b4674cfc21f3cb9cc90c5414c3e91816a5d205e9
+ sha256sums = 92d08db5aa30bda276bc3d718e7ff9dd01dc40dcab45b359182dcc290054e24e
pkgname = gtk4-git
- depends = at-spi2-atk
+ depends = adwaita-icon-theme
depends = cairo
- depends = atk
+ depends = cantarell-fonts
depends = dconf
+ depends = desktop-file-utils
+ depends = fontconfig
+ depends = fribidi
+ depends = gdk-pixbuf2
depends = glib2
+ depends = graphene
+ depends = gst-plugins-bad-libs
+ depends = harfbuzz
+ depends = iso-codes
+ depends = libcloudproviders
+ depends = libcolord
+ depends = libcups
+ depends = libegl
depends = libepoxy
- depends = fribidi
- depends = libxcomposite
+ depends = libgl
+ depends = libjpeg
+ depends = libpng
+ depends = librsvg
+ depends = libtiff
+ depends = libx11
depends = libxcursor
+ depends = libxdamage
+ depends = libxext
+ depends = libxfixes
+ depends = libxi
depends = libxinerama
depends = libxkbcommon
depends = libxrandr
- depends = mesa
+ depends = libxrender
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 = gtk4
- provides = pango
- provives = gtk4-demos
- conflicts = gtk4
- conflicts = pango
- conflicts = gtk4-demos
+ depends = wayland
+ depends = gtk-update-icon-cache
+ optdepends = evince: Default print preview command
+ provides = libgtk-4.so
+
+pkgname = gtk4-demos-git
+ pkgdesc = GObject-based multi-platform GUI toolkit (demo applications)
+ depends = gtk4
+
+pkgname = gtk4-docs-git
+ pkgdesc = GObject-based multi-platform GUI toolkit (documentation)
+ depends =
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/.gitignore b/.gitignore
index 8499506bf37f..018a3de08144 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,8 +1,4 @@
-gtk/
-pkg/
-src/
-logs/
-*.zst
-*.tar
-*.log
-*.xz
+*
+!PKGBUILD
+!.SRCINFO
+!.gitignore
diff --git a/PKGBUILD b/PKGBUILD
index e07c077f9ab5..9592b8e992e8 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,100 +1,192 @@
-# Maintainer: Syboxez Blank <@Syboxez:matrix.org>
-pkgbase=gtk4-git
-pkgname=(gtk4-git gtk-update-icon-cache-git)
-pkgver=4.7.1.r138.gaf6432aa67
+# Maintainer:
+# Contributor: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
+# Contributor: Syboxez Blank <@Syboxez:matrix.org>
+
+_gitname="gtk"
+_pkgbase="gtk4"
+_pkgname=(
+ gtk4
+ gtk4-demos
+ gtk4-docs
+ gtk-update-icon-cache
+)
+
+pkgbase="$_pkgbase-git"
+for i in ${_pkgname[@]} ; do
+ pkgname+=("$i-git")
+done
+
+pkgver=4.11.4.r25.g1f3db35271
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' '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-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'
- 'gi-docgen' 'python-docutils')
-source=('git+https://gitlab.gnome.org/GNOME/gtk.git'
- 'gtk4-querymodules.hook'
- 'gtk4-update-icon-cache.hook'
- 'gtk4-update-icon-cache.script'
- 'settings.ini')
-sha512sums=('SKIP'
- '4adbad5b238d8326edb066de9f27bf07894137b4cb9b8a38325b80a89f928fce89c268b2270cf8bc6ca4cf311f0674bf1a756e0e28f59771e694559e1a551a6a'
- '6b7d8ecf0e98dcb35fac0c5dc96feb4d66c060c4a19801eac385827a601ae430223b3731d0de0845b0cae50e8169a95b1c13357281ca5a7c2c1ca1930163cad9'
- '05929a7816b0fb45918850d172a375a2e6915a75db879fcc2fbe3b58864e76cc50a7767645a545f48b0d15417f30d1b205a77cfd6396a66df49b28f846bf5bbb'
- '1642d77622d61234e316e8fcbc803a6a5556c606e37e56aa5981ef2f2df85bfa959c31b5d1bff248b340760e1178281cb0d7abdf540c5f7d4b62cb383a67c685')
-pkgver() {
- cd gtk
+pkgdesc="GObject-based multi-platform GUI toolkit"
+url="https://gitlab.gnome.org/GNOME/gtk"
+arch=(x86_64)
+license=(LGPL)
+depends=(
+ adwaita-icon-theme
+ cairo
+ cantarell-fonts
+ dconf
+ desktop-file-utils
+ fontconfig
+ fribidi
+ gdk-pixbuf2
+ glib2
+ graphene
+ gst-plugins-bad-libs
+ harfbuzz
+ iso-codes
+ libcloudproviders
+ libcolord
+ libcups
+ libegl
+ libepoxy
+ libgl
+ libjpeg
+ libpng
+ librsvg
+ libtiff
+ libx11
+ libxcursor
+ libxdamage
+ libxext
+ libxfixes
+ libxi
+ libxinerama
+ libxkbcommon
+ libxrandr
+ libxrender
+ pango
+ shared-mime-info
+ tracker3
+ wayland
+)
+makedepends=(
+ docbook-xsl
+ gi-docgen
+ git
+ gobject-introspection
+ meson
+ python-docutils
+ python-gobject
+ sassc
+ shaderc
+ wayland-protocols
+)
+checkdepends=(weston)
- printf "%s.r%s.g%s" "$(grep -m1 'version' meson.build | sed -r 's/([^0-9]*([0-9.]+)).*/\2/')" \
- "$(git describe --tags --long | cut -d '-' -f 2)" \
- "$(git rev-parse --short HEAD)"
-}
+source=(
+ "$_gitname"::"git+https://gitlab.gnome.org/GNOME/gtk.git"
+ gtk-update-icon-cache.{hook,script}
+ gtk4-querymodules.{hook,script}
+)
+sha256sums=(
+ 'SKIP'
+ '2d435e3bec8b79b533f00f6d04decb1d7c299c6e89b5b175f20be0459f003fe8'
+ 'f1d3a0dbfd82f7339301abecdbe5f024337919b48bd0e09296bb0e79863b2541'
+ 'a5074ffc057a3041a4f851b4b4674cfc21f3cb9cc90c5414c3e91816a5d205e9'
+ '92d08db5aa30bda276bc3d718e7ff9dd01dc40dcab45b359182dcc290054e24e'
+)
-prepare() {
- cd gtk
+pkgver() {
+ cd "$srcdir/$_gitname"
+ git describe --long --tags | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
}
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 \
- gtk build
+ local meson_options=(
+ -D broadway-backend=true
+ -D cloudproviders=enabled
+ -D colord=enabled
+ -D gtk_doc=true
+ -D man-pages=true
+ -D tracker=enabled
+ )
+ CFLAGS+=" -DG_DISABLE_CAST_CHECKS"
+ arch-meson "$_gitname" build "${meson_options[@]}"
meson compile -C build
- ninja -C build
+}
+
+check() (
+ export XDG_RUNTIME_DIR="$PWD/runtime-dir" WAYLAND_DISPLAY=wayland-5
+
+ mkdir -p -m 700 "$XDG_RUNTIME_DIR"
+ weston --backend=headless-backend.so --socket=$WAYLAND_DISPLAY --idle-time=0 &
+ _w=$!
+
+ trap "kill $_w; wait" EXIT
+
+ meson test -C build --print-errorlogs || true
+)
+
+_pick() {
+ local p="$1" f d; shift
+ for f; do
+ d="$srcdir/$p/${f#$pkgdir/}"
+ mkdir -p "$(dirname "$d")"
+ mv "$f" "$d"
+ rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")"
+ done
}
package_gtk4-git() {
- depends+=('gtk-update-icon-cache-git')
- provides+=('gtk4' 'pango' 'gtk4-demos')
- conflicts=('gtk4' 'pango' 'gtk4-demos')
+ depends+=(gtk-update-icon-cache)
+ optdepends=('evince: Default print preview command')
+ provides=(libgtk-4.so)
- DESTDIR="$pkgdir" meson install -C build
+ meson install -C build --destdir "$pkgdir"
+
+ install -Dm644 /dev/stdin "$pkgdir/usr/share/gtk-4.0/settings.ini" <<END
+[Settings]
+gtk-icon-theme-name = Adwaita
+gtk-theme-name = Adwaita
+gtk-font-name = Cantarell 11
+END
+
+ install -Dt "$pkgdir/usr/share/libalpm/hooks" -m644 gtk4-querymodules.hook
+ install -D gtk4-querymodules.script "$pkgdir/usr/share/libalpm/scripts/gtk4-querymodules"
+
+ cd "$pkgdir"
+
+ _pick demo usr/bin/gtk4-{demo,demo-application,icon-browser,node-editor,print-editor,widget-factory}
+ _pick demo usr/share/applications/org.gtk.{Demo4,IconBrowser4,PrintEditor4,WidgetFactory4,gtk4.NodeEditor}.desktop
+ _pick demo usr/share/glib-2.0/schemas/org.gtk.Demo4.gschema.xml
+ _pick demo usr/share/icons/hicolor/*/apps/org.gtk.{Demo4,IconBrowser4,PrintEditor4,WidgetFactory4,gtk4.NodeEditor}[-.]*
+ _pick demo usr/share/man/man1/gtk4-{demo,demo-application,icon-browser,node-editor,widget-factory}.1
+ _pick demo usr/share/metainfo/org.gtk.{Demo4,IconBrowser4,PrintEditor4,WidgetFactory4,gtk4.NodeEditor}.appdata.xml
+
+ _pick docs usr/share/doc
+
+ # Built by GTK 4, shared with GTK 3
+ _pick guic usr/bin/gtk4-update-icon-cache
+ _pick guic usr/share/man/man1/gtk4-update-icon-cache.1
- 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
+}
+
+package_gtk4-demos-git() {
+ pkgdesc+=" (demo applications)"
+ depends=(gtk4)
+ mv demo/* "$pkgdir"
+}
+
+package_gtk4-docs-git() {
+ pkgdesc+=" (documentation)"
+ depends=()
+ mv docs/* "$pkgdir"
}
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')
+ depends=(gdk-pixbuf2 librsvg hicolor-icon-theme)
- mv -t "$pkgdir" guic/*
+ mv guic/* "$pkgdir"
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
+ install -Dt "$pkgdir/usr/share/libalpm/hooks" -m644 gtk-update-icon-cache.hook
+ install -D gtk-update-icon-cache.script "$pkgdir/usr/share/libalpm/scripts/gtk-update-icon-cache"
}
+
+# vim:set sw=2 sts=-1 et:
diff --git a/gtk4-update-icon-cache.hook b/gtk-update-icon-cache.hook
index 758a62187a9b..758a62187a9b 100644
--- a/gtk4-update-icon-cache.hook
+++ b/gtk-update-icon-cache.hook
diff --git a/gtk4-update-icon-cache.script b/gtk-update-icon-cache.script
index 608b1ea38db5..ee0f1d12d0b7 100644
--- a/gtk4-update-icon-cache.script
+++ b/gtk-update-icon-cache.script
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/bin/bash
while read -r f; do
if [[ -e ${f}index.theme ]]; then
diff --git a/gtk4-querymodules.hook b/gtk4-querymodules.hook
index 2821d7472534..88aef3ed6d70 100644
--- a/gtk4-querymodules.hook
+++ b/gtk4-querymodules.hook
@@ -8,5 +8,5 @@ Target = usr/lib/gtk-4.0/4.0.0/*/
[Action]
Description = Updating GTK4 module cache...
When = PostTransaction
-Exec = /usr/share/libalpm/scripts/gio-querymodules
+Exec = /usr/share/libalpm/scripts/gtk4-querymodules
NeedsTargets
diff --git a/gtk4-querymodules.script b/gtk4-querymodules.script
new file mode 100644
index 000000000000..5c218775790a
--- /dev/null
+++ b/gtk4-querymodules.script
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+while read -r d; do
+ [[ -d $d ]] || continue
+ gio-querymodules "$d"
+ rmdir --ignore-fail-on-non-empty "$d"
+done
diff --git a/settings.ini b/settings.ini
deleted file mode 100644
index 6a0643bfa67e..000000000000
--- a/settings.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[Settings]
-gtk-icon-theme-name = gnome
-gtk-theme-name = Adwaita
-gtk-font-name = Cantarell 11