summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorandrewSC2016-11-18 15:01:43 -0500
committerandrewSC2016-11-18 15:01:43 -0500
commitd676254c1d706610146bb2cdf078cf3c5af634ef (patch)
tree921518168eb036142645cee86937efa2f83f63ec
downloadaur-d676254c1d706610146bb2cdf078cf3c5af634ef.tar.gz
Initial commit for gtk4
-rw-r--r--.SRCINFO99
-rw-r--r--PKGBUILD107
-rw-r--r--gtk4-query-immodules.hook11
-rw-r--r--gtk4-update-icon-cache.hook13
-rw-r--r--gtk4-update-icon-cache.script10
-rw-r--r--gtk4.install3
-rw-r--r--settings.ini4
7 files changed, 247 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..ff5d01f42736
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,99 @@
+pkgbase = gtk4-git
+ pkgdesc = GObject-based multi-platform GUI toolkit (GIT Version)
+ pkgver = 3.89.0.r990.g0a75bb4
+ pkgrel = 1
+ url = http://www.gtk.org/
+ arch = i686
+ arch = x86_64
+ license = LGPL
+ makedepends = gobject-introspection-git
+ makedepends = gtk-doc
+ makedepends = git
+ makedepends = colord
+ makedepends = rest
+ makedepends = libcups
+ makedepends = autoconf-archive
+ depends = adwaita-icon-theme
+ depends = at-spi2-atk
+ depends = atk-git
+ depends = cairo
+ depends = dconf
+ depends = desktop-file-utils
+ depends = glib2-git>=2.45.8
+ depends = gdk-pixbuf2
+ depends = json-glib
+ depends = libcups
+ depends = libepoxy
+ depends = librsvg
+ depends = libxcomposite
+ depends = libxcursor
+ depends = libxdamage
+ depends = libxi
+ depends = libxinerama
+ depends = libxkbcommon
+ depends = libxrandr
+ depends = mesa
+ depends = pango-git
+ depends = shared-mime-info
+ depends = wayland-git>=1.9.91
+ depends = wayland-protocols-git>=1.7
+ depends = graphene>=1.2
+ optdepends = gnome-icon-theme: Default icon theme
+ optdepends = gnome-themes-standard: Default widget theme
+ conflicts = gtk3 gtk3-git
+ backup = usr/share/gtk-4.0/settings.ini
+ source = git://git.gnome.org/gtk+
+ source = gtk4.install
+ source = gtk4-query-immodules.hook
+ source = gtk4-update-icon-cache.hook
+ source = gtk4-update-icon-cache.script
+ source = settings.ini
+ sha512sums = SKIP
+ sha512sums = 5dcb698a15e7d5f4611c9357782d475052944cc71e73351238ffb5dfbe18d1bd1b62289da7f8066cde256c4339de5efa982088f47781876f5d8317f92b87f79f
+ sha512sums = 1dbcce0a3e17ee05b579613adba25feff692f6626155e91fa6859e5f176753201b5ceffa8c9c7c897cf945aeeb32fbd28affa24050dfc0d65237733964bf28de
+ sha512sums = abfd73de4faa6f53784182800395aa3c39bb98e15a0eb300fb4142073ff7ce565a0836a2363393b2f132060b5293dbc0c30c380a023f38d5bd39c62cb58389c2
+ sha512sums = 5cd50d93bb6bc203438a2a0764bd717409658e124058b18a1da26a21f10ef7564a16f32fc0633a68b45b2e303fa63a5efefeadd6b0bf1d7f474556df8cdb6c58
+ sha512sums = 1642d77622d61234e316e8fcbc803a6a5556c606e37e56aa5981ef2f2df85bfa959c31b5d1bff248b340760e1178281cb0d7abdf540c5f7d4b62cb383a67c685
+
+pkgname = gtk4-update-icon-cache
+ pkgdesc = GTK+ icon cache updater
+ depends = gdk-pixbuf2
+ depends = hicolor-icon-theme
+
+pkgname = gtk4
+ install = gtk4.install
+ depends = adwaita-icon-theme
+ depends = at-spi2-atk
+ depends = atk-git
+ depends = cairo
+ depends = dconf
+ depends = desktop-file-utils
+ depends = glib2-git>=2.45.8
+ depends = gdk-pixbuf2
+ depends = json-glib
+ depends = libcups
+ depends = libepoxy
+ depends = librsvg
+ depends = libxcomposite
+ depends = libxcursor
+ depends = libxdamage
+ depends = libxi
+ depends = libxinerama
+ depends = libxkbcommon
+ depends = libxrandr
+ depends = mesa
+ depends = pango-git
+ depends = shared-mime-info
+ depends = wayland-git>=1.9.91
+ depends = wayland-protocols-git>=1.7
+ depends = graphene>=1.2
+ depends = gtk-update-icon-cache
+
+pkgname = gtk4-print-backends
+ pkgdesc = Print backends for GTK4
+ groups = gnome
+ depends = gtk4
+ depends = rest
+ depends = colord
+ depends = libcups
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..81fb35a55aae
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,107 @@
+# Maintainer: Andrew Crerar <andrew (at) crerar (dot) io>
+
+pkgbase=gtk4-git
+pkgname=(gtk4-update-icon-cache gtk4 gtk4-print-backends)
+pkgver=3.89.0.r990.g0a75bb4
+pkgrel=1
+pkgdesc="GObject-based multi-platform GUI toolkit (GIT Version)"
+arch=('i686' 'x86_64')
+url="http://www.gtk.org/"
+license=('LGPL')
+depends=('adwaita-icon-theme' 'at-spi2-atk' 'atk-git' 'cairo' 'dconf'
+ 'desktop-file-utils' 'glib2-git>=2.45.8' 'gdk-pixbuf2' 'json-glib'
+ 'libcups' 'libepoxy' 'librsvg' 'libxcomposite' 'libxcursor'
+ 'libxdamage' 'libxi' 'libxinerama' 'libxkbcommon' 'libxrandr' 'mesa'
+ 'pango-git' 'shared-mime-info' 'wayland-git>=1.9.91' 'wayland-protocols-git>=1.7'
+ 'graphene>=1.2')
+makedepends=('gobject-introspection-git' 'gtk-doc' 'git' 'colord' 'rest'
+ 'libcups' 'autoconf-archive')
+optdepends=('gnome-icon-theme: Default icon theme'
+ 'gnome-themes-standard: Default widget theme')
+conflicts=('gtk3 gtk3-git')
+backup=('usr/share/gtk-4.0/settings.ini')
+source=('git://git.gnome.org/gtk+'
+ 'gtk4.install'
+ 'gtk4-query-immodules.hook'
+ 'gtk4-update-icon-cache.hook'
+ 'gtk4-update-icon-cache.script'
+ 'settings.ini')
+sha512sums=('SKIP'
+ '5dcb698a15e7d5f4611c9357782d475052944cc71e73351238ffb5dfbe18d1bd1b62289da7f8066cde256c4339de5efa982088f47781876f5d8317f92b87f79f'
+ '1dbcce0a3e17ee05b579613adba25feff692f6626155e91fa6859e5f176753201b5ceffa8c9c7c897cf945aeeb32fbd28affa24050dfc0d65237733964bf28de'
+ 'abfd73de4faa6f53784182800395aa3c39bb98e15a0eb300fb4142073ff7ce565a0836a2363393b2f132060b5293dbc0c30c380a023f38d5bd39c62cb58389c2'
+ '5cd50d93bb6bc203438a2a0764bd717409658e124058b18a1da26a21f10ef7564a16f32fc0633a68b45b2e303fa63a5efefeadd6b0bf1d7f474556df8cdb6c58'
+ '1642d77622d61234e316e8fcbc803a6a5556c606e37e56aa5981ef2f2df85bfa959c31b5d1bff248b340760e1178281cb0d7abdf540c5f7d4b62cb383a67c685')
+
+pkgver() {
+ cd gtk+
+
+ printf "%s.r%s.g%s" "$(grep -m1 'gtk_major_version' configure.ac | sed -r 's/([^0-9]*([0-9]*)){2}.*/\2/').$(grep -m1 'gtk_minor_version' configure.ac | sed -r 's/([^0-9]*([0-9]*)){2}.*/\2/').$(grep -m1 'gtk_micro_version' configure.ac | sed -r 's/([^0-9]*([0-9]*)){2}.*/\2/')" \
+ "$(git describe --tags --long | cut -d '-' -f 2)" \
+ "$(git rev-parse --short HEAD)"
+}
+
+prepare() {
+ cd gtk+
+ NOCONFIGURE=1 ./autogen.sh
+}
+
+build() {
+ cd gtk+
+
+ CXX=/bin/false ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --disable-schemas-compile \
+ --enable-x11-backend \
+ --enable-broadway-backend \
+ --enable-wayland-backend \
+ --enable-gtk-doc
+
+ # https://bugzilla.gnome.org/show_bug.cgi?id=655517
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+
+ make
+}
+
+package_gtk4() {
+ depends+=(gtk-update-icon-cache)
+ install="gtk4.install"
+
+ cd gtk+
+
+ make DESTDIR="$pkgdir" install
+
+ install -Dm644 "../settings.ini" "$pkgdir/usr/share/gtk-4.0/settings.ini"
+ install -Dm644 ../gtk4-query-immodules.hook "$pkgdir/usr/share/libalpm/hooks/gtk4-query-immodules.hook"
+
+ rm "$pkgdir/usr/bin/gtk4-update-icon-cache"
+
+ cd "$pkgdir"
+ for _f in usr/lib/*/*/printbackends/*; do
+ case $_f in
+ *-file.so|*-lpr.so) continue;;
+ esac
+
+ mkdir -p "$srcdir/print-backends/${_f%/*}"
+ mv "$_f" "$srcdir/print-backends/$_f"
+ done
+}
+
+package_gtk4-update-icon-cache() {
+ pkgdesc="GTK+ icon cache updater"
+ depends=(gdk-pixbuf2 hicolor-icon-theme)
+
+ cd gtk+
+ install -D gtk/gtk4-update-icon-cache "$pkgdir/usr/bin/gtk4-update-icon-cache"
+ install -Dm644 ../gtk4-update-icon-cache.hook "$pkgdir/usr/share/libalpm/hooks/gtk4-update-icon-cache.hook"
+ install -D ../gtk4-update-icon-cache.script "$pkgdir/usr/share/libalpm/scripts/gtk4-update-icon-cache"
+}
+
+package_gtk4-print-backends() {
+ pkgdesc="Print backends for GTK4"
+ depends=(gtk4 rest colord libcups)
+ groups=(gnome)
+
+ mv print-backends/* "$pkgdir"
+}
diff --git a/gtk4-query-immodules.hook b/gtk4-query-immodules.hook
new file mode 100644
index 000000000000..c81e3f9a8603
--- /dev/null
+++ b/gtk4-query-immodules.hook
@@ -0,0 +1,11 @@
+[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-update-icon-cache.hook b/gtk4-update-icon-cache.hook
new file mode 100644
index 000000000000..fca3fdc47dbb
--- /dev/null
+++ b/gtk4-update-icon-cache.hook
@@ -0,0 +1,13 @@
+[Trigger]
+Type = File
+Operation = Install
+Operation = Upgrade
+Operation = Remove
+Target = usr/share/icons/*/
+Target = !usr/share/icons/*/?*
+
+[Action]
+Description = Updating icon theme caches...
+When = PostTransaction
+Exec = /usr/share/libalpm/scripts/gtk-update-icon-cache
+NeedsTargets
diff --git a/gtk4-update-icon-cache.script b/gtk4-update-icon-cache.script
new file mode 100644
index 000000000000..ee0f1d12d0b7
--- /dev/null
+++ b/gtk4-update-icon-cache.script
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+while read -r f; do
+ if [[ -e ${f}index.theme ]]; then
+ gtk-update-icon-cache -q "$f"
+ elif [[ -d $f ]]; then
+ rm -f "${f}icon-theme.cache"
+ rmdir --ignore-fail-on-non-empty "$f"
+ fi
+done
diff --git a/gtk4.install b/gtk4.install
new file mode 100644
index 000000000000..451d4f33120b
--- /dev/null
+++ b/gtk4.install
@@ -0,0 +1,3 @@
+pre_remove() {
+ rm -f /usr/lib/gtk-4.0/4.0.0/immodules.cache
+}
diff --git a/settings.ini b/settings.ini
new file mode 100644
index 000000000000..6a0643bfa67e
--- /dev/null
+++ b/settings.ini
@@ -0,0 +1,4 @@
+[Settings]
+gtk-icon-theme-name = gnome
+gtk-theme-name = Adwaita
+gtk-font-name = Cantarell 11