diff options
author | Jeija | 2016-05-12 18:41:13 +0200 |
---|---|---|
committer | Jeija | 2016-05-12 18:47:45 +0200 |
commit | 42a951684ea3572ef63902ca0d2d0cdd2da8bd70 (patch) | |
tree | 28278cda0dfebea90200a3286b24db38335fb5ec | |
parent | 9cd5e7748b16a1575fabece36aa7a8aba2521601 (diff) | |
download | aur-42a951684ea3572ef63902ca0d2d0cdd2da8bd70.tar.gz |
Update to GTK+ 3.20.4
Includes patch imported from upstream gtk3 package
-rw-r--r-- | .SRCINFO | 15 | ||||
-rw-r--r-- | PKGBUILD | 19 | ||||
-rw-r--r-- | gtk-query-immodules-3.0.hook | 11 | ||||
-rw-r--r-- | gtk3.install | 15 | ||||
-rw-r--r-- | trap_possible_X_error.diff | 30 |
5 files changed, 66 insertions, 24 deletions
@@ -1,8 +1,8 @@ # Generated by mksrcinfo v8 -# Wed Apr 13 18:55:00 UTC 2016 +# Thu May 12 16:40:13 UTC 2016 pkgbase = gtk3-typeahead pkgdesc = GTK+ 3 with typeahead feature enabled for the file chooser widget - pkgver = 3.20.3 + pkgver = 3.20.4 pkgrel = 1 url = http://www.gtk.org/ install = gtk3.install @@ -35,14 +35,19 @@ pkgbase = gtk3-typeahead depends = librsvg depends = gtk-update-icon-cache depends = wayland-protocols + depends = desktop-file-utils optdepends = libcanberra: gtk3-widget-factory demo - provides = gtk3=3.20.3 + provides = gtk3=3.20.4 conflicts = gtk3 - source = https://download.gnome.org/sources/gtk+/3.20/gtk+-3.20.3.tar.xz + source = https://download.gnome.org/sources/gtk+/3.20/gtk+-3.20.4.tar.xz source = settings.ini + source = gtk-query-immodules-3.0.hook + source = trap_possible_X_error.diff source = typeahead.patch - sha256sums = 3834f3bf23b260b3e5ebfea41102e2026a8af29e36c3620edf4a5cf05e82f694 + sha256sums = e7e3aaf54a54dd1c1ca0588939254abe31329e0bcd280a12290d5306b41ea03f sha256sums = 01fc1d81dc82c4a052ac6e25bf9a04e7647267cc3017bc91f9ce3e63e5eb9202 + sha256sums = de46e5514ff39a7a65e01e485e874775ab1c0ad20b8e94ada43f4a6af1370845 + sha256sums = 1204b67e45938304ce8500c4b9de52af5d2d90bcb4a2e28bc665f5b29803f28d sha256sums = 5b3b9ba35378515359a25714e7c185783d15ec97c137e3564fcb1dbe658c941f pkgname = gtk3-typeahead @@ -1,7 +1,7 @@ # Maintainer: twilinx <twilinx@mesecons.net> pkgname=gtk3-typeahead -pkgver=3.20.3 +pkgver=3.20.4 pkgrel=1 conflicts=(gtk3) provides=("gtk3=$pkgver") @@ -11,14 +11,19 @@ url="http://www.gtk.org/" install=gtk3.install depends=(atk cairo libcups libxcursor libxinerama libxrandr libxi libepoxy gdk-pixbuf2 libxcomposite libxdamage pango shared-mime-info colord at-spi2-atk wayland libxkbcommon - adwaita-icon-theme json-glib rest librsvg gtk-update-icon-cache wayland-protocols) + adwaita-icon-theme json-glib rest librsvg gtk-update-icon-cache wayland-protocols desktop-file-utils) optdepends=('libcanberra: gtk3-widget-factory demo') makedepends=(gobject-introspection libcanberra gtk-doc) license=(LGPL) source=(https://download.gnome.org/sources/gtk+/${pkgver:0:4}/gtk+-$pkgver.tar.xz - settings.ini typeahead.patch) -sha256sums=('3834f3bf23b260b3e5ebfea41102e2026a8af29e36c3620edf4a5cf05e82f694' + settings.ini + gtk-query-immodules-3.0.hook + trap_possible_X_error.diff + typeahead.patch) +sha256sums=('e7e3aaf54a54dd1c1ca0588939254abe31329e0bcd280a12290d5306b41ea03f' '01fc1d81dc82c4a052ac6e25bf9a04e7647267cc3017bc91f9ce3e63e5eb9202' + 'de46e5514ff39a7a65e01e485e874775ab1c0ad20b8e94ada43f4a6af1370845' + '1204b67e45938304ce8500c4b9de52af5d2d90bcb4a2e28bc665f5b29803f28d' '5b3b9ba35378515359a25714e7c185783d15ec97c137e3564fcb1dbe658c941f') prepare() { @@ -28,6 +33,11 @@ prepare() { patch gtk/gtkfilechooserwidget.c -i $srcdir/typeahead.patch NOCONFIGURE=1 ./autogen.sh + + # upstream fix for crashes with X servers not supporting XI2 + # https://bugzilla.gnome.org/show_bug.cgi?id=766233 + # https://github.com/GNOME/gtk/commit/7e7d7991cc8e7c7a2b50ce6530a8ebafd673516b + patch -Np1 -i ${srcdir}/trap_possible_X_error.diff } build() { @@ -54,4 +64,5 @@ package() { make DESTDIR="$pkgdir" install rm $pkgdir/usr/bin/gtk-update-icon-cache install -Dm644 ../settings.ini "$pkgdir/usr/share/gtk-3.0/settings.ini" + install -Dm644 ../gtk-query-immodules-3.0.hook "$pkgdir/usr/share/libalpm/hooks/gtk-query-immodules-3.0.hook" } diff --git a/gtk-query-immodules-3.0.hook b/gtk-query-immodules-3.0.hook new file mode 100644 index 000000000000..c7703cf432c1 --- /dev/null +++ b/gtk-query-immodules-3.0.hook @@ -0,0 +1,11 @@ +[Trigger] +Type = File +Operation = Install +Operation = Upgrade +Operation = Remove +Target = usr/lib/gtk-3.0/3.0.0/immodules/*.so + +[Action] +Description = Probing GTK3 input method modules... +When = PostTransaction +Exec = /usr/bin/gtk-query-immodules-3.0 --update-cache diff --git a/gtk3.install b/gtk3.install index f57b1bffaa96..c0c44539de6f 100644 --- a/gtk3.install +++ b/gtk3.install @@ -1,18 +1,3 @@ -post_install() { - /usr/bin/gtk-query-immodules-3.0 --update-cache - /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas - /usr/bin/gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor -} - -post_upgrade() { - post_install -} - pre_remove() { rm -f /usr/lib/gtk-3.0/3.0.0/immodules.cache } - -post_remove() { - /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas - /usr/bin/gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor -} diff --git a/trap_possible_X_error.diff b/trap_possible_X_error.diff new file mode 100644 index 000000000000..373d80a43492 --- /dev/null +++ b/trap_possible_X_error.diff @@ -0,0 +1,30 @@ +diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c +index f7c79c4..ad65e29 100644 +--- a/gdk/x11/gdkdisplay-x11.c ++++ b/gdk/x11/gdkdisplay-x11.c +@@ -2881,10 +2881,14 @@ gdk_x11_display_get_default_seat (GdkDisplay *display) + { + GList *seats, *l; + int device_id; ++ gboolean result = FALSE; + + seats = gdk_display_list_seats (display); +- XIGetClientPointer (GDK_DISPLAY_XDISPLAY (display), +- None, &device_id); ++ ++ gdk_x11_display_error_trap_push (display); ++ result = XIGetClientPointer (GDK_DISPLAY_XDISPLAY (display), ++ None, &device_id); ++ gdk_x11_display_error_trap_pop_ignored (display); + + for (l = seats; l; l = l->next) + { +@@ -2892,7 +2896,7 @@ gdk_x11_display_get_default_seat (GdkDisplay *display) + + pointer = gdk_seat_get_pointer (l->data); + +- if (gdk_x11_device_get_id (pointer) == device_id) ++ if (gdk_x11_device_get_id (pointer) == device_id || !result) + { + GdkSeat *seat = l->data; + g_list_free (seats); |