summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO44
-rw-r--r--0001-gdkscreen-x11-Fix-screen-and-monitor-size-calculatio.patch83
-rw-r--r--PKGBUILD40
3 files changed, 132 insertions, 35 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 10eead7413d5..c855689fa3f9 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = gtk3-ubuntu
pkgdesc = GObject-based multi-platform toolkit
- pkgver = 3.20.8
+ pkgver = 3.22.2
pkgrel = 1
url = http://www.gtk.org/
install = gtk3.install
@@ -8,43 +8,45 @@ pkgbase = gtk3-ubuntu
arch = x86_64
license = LGPL
makedepends = gobject-introspection
- makedepends = libcanberra
makedepends = gtk-doc
+ makedepends = libcanberra
+ depends = adwaita-icon-theme
+ depends = at-spi2-atk
depends = atk
depends = cairo
+ depends = colord
+ depends = desktop-file-utils
+ depends = gdk-pixbuf2
+ depends = gtk-update-icon-cache
+ depends = json-glib
depends = libcups
- depends = libxcursor
- depends = libxinerama
- depends = libxrandr
- depends = libxi
depends = libepoxy
- depends = gdk-pixbuf2
+ depends = librsvg
depends = libxcomposite
+ depends = libxcursor
depends = libxdamage
+ depends = libxi
+ depends = libxinerama
+ depends = libxkbcommon
+ depends = libxrandr
depends = pango
+ depends = rest
depends = shared-mime-info
- depends = colord
- depends = at-spi2-atk
depends = wayland
- depends = libxkbcommon
- depends = adwaita-icon-theme
- depends = json-glib
- depends = rest
- depends = librsvg
depends = wayland-protocols
- depends = desktop-file-utils
- depends = gtk-update-icon-cache
optdepends = libcanberra: gtk3-widget-factory demo
- provides = gtk3=3.20.8
+ provides = gtk3=3.22.2
conflicts = gtk3
- source = https://download.gnome.org/sources/gtk+/3.20/gtk+-3.20.8.tar.xz
+ source = https://download.gnome.org/sources/gtk+/3.22/gtk+-3.22.2.tar.xz
+ source = 0001-gdkscreen-x11-Fix-screen-and-monitor-size-calculatio.patch
source = settings.ini
source = gtk-query-immodules-3.0.hook
- source = http://ppa.launchpad.net/gnome3-team/gnome3-staging/ubuntu/pool/main/g/gtk+3.0/gtk+3.0_3.20.8-1ubuntu0~ppa1.debian.tar.xz
- sha512sums = 9f5d29dc0ec06ce28f8b45da2e39e1d4e50cdd6b98bd0355b62c62a76aa868b596e113d68d99875b3ac18dc07d08d3fa4d6f8d3b69b61fdb3de0b244f5bb0cb5
+ source = http://ppa.launchpad.net/gnome3-team/gnome3-staging/ubuntu/pool/main/g/gtk+3.0/gtk+3.0_3.22.2-0ubuntu1~ubuntu16.10.1.debian.tar.xz
+ sha512sums = edf8c3fa858d87605df1d244d5103a2d4cabbbe3aa4213220342ad84fd595df94fa5526db5b51a3d89bba1e3548d47d9c15dbb68a8ae3bcd99ebfa333797a2ee
+ sha512sums = 6c41ac66f8e3df4ed630f31733b5dd67fe85db79fe713f3b645a8c16e80bf04eaadb0cb05e18d03d26d72eff39db2d534bb247b5c95190381f22f2f3f673f756
sha512sums = ad2c0b0388f4169592b9574f0b3db673a969b7c4721548c4ac7c438eddbcdc378fcaac04e2b6c858a1562cc23ddf4804e5f7be08068340b7c9365e2b11ddcfb8
sha512sums = f0ffd95544863f2e10fda81488b4727aa9a8a35a7d39fb96872db6664d03442db2b58af788b5990825c7b3a83681f7220ca481409cca5421dfb39b9a3bbac9ac
- sha512sums = 4034bce60e78a59d9982e315b4ec89b3c703f792d38c7c2020ae5096b60156798d872ad2db80f0c5055648e4ed600a85bd9bc1b6f7bec757635e61d991b608d4
+ sha512sums = 165c881c7195eefabde0d0d99e7ff4553725a4dd12299ff42e96d5eeacc29a0d589ff8cbeec5cbe01599f04dbf94b4082e6da4e7d1fc2cc911c293dc9b6ad31c
pkgname = gtk3-ubuntu
diff --git a/0001-gdkscreen-x11-Fix-screen-and-monitor-size-calculatio.patch b/0001-gdkscreen-x11-Fix-screen-and-monitor-size-calculatio.patch
new file mode 100644
index 000000000000..5d6210e54529
--- /dev/null
+++ b/0001-gdkscreen-x11-Fix-screen-and-monitor-size-calculatio.patch
@@ -0,0 +1,83 @@
+From 0d945f06faee49788191e3e28f797f72959b3583 Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
+Date: Mon, 10 Oct 2016 16:34:28 +0200
+Subject: [PATCH] gdkscreen-x11: Fix screen and monitor size calculation
+
+The monitors are already in scaled pixels, so scaling again when retrieving
+the screen size is wrong.
+
+With GDK_SCALE unset, the initial monitor sizes are unscaled, and when the
+xsettings client sets a scale > 1, the monitor sizes should be updated.
+
+The end result is that the monitor sizes start out wrong, and get
+corrected on the first xrandr event, while the screen size starts out
+right and becomes wrong after the event.
+
+This patch fixes Firefox misplacing menus and popovers when the xrandr
+configuration changes while it is running.
+
+Fix for the X11 side of
+
+https://bugzilla.gnome.org/show_bug.cgi?id=772202
+---
+ gdk/x11/gdkscreen-x11.c | 16 ++++------------
+ 1 file changed, 4 insertions(+), 12 deletions(-)
+
+diff --git a/gdk/x11/gdkscreen-x11.c b/gdk/x11/gdkscreen-x11.c
+index 7738a47adfed1484..28a43a69bedbe955 100644
+--- a/gdk/x11/gdkscreen-x11.c
++++ b/gdk/x11/gdkscreen-x11.c
+@@ -49,6 +49,7 @@
+ static void gdk_x11_screen_dispose (GObject *object);
+ static void gdk_x11_screen_finalize (GObject *object);
+ static void init_randr_support (GdkScreen *screen);
++static void process_monitors_change (GdkScreen *screen);
+
+ enum
+ {
+@@ -82,13 +83,13 @@ gdk_x11_screen_get_display (GdkScreen *screen)
+ gint
+ gdk_x11_screen_get_width (GdkScreen *screen)
+ {
+- return GDK_X11_SCREEN (screen)->width / GDK_X11_SCREEN (screen)->window_scale;
++ return GDK_X11_SCREEN (screen)->width;
+ }
+
+ gint
+ gdk_x11_screen_get_height (GdkScreen *screen)
+ {
+- return GDK_X11_SCREEN (screen)->height / GDK_X11_SCREEN (screen)->window_scale;
++ return GDK_X11_SCREEN (screen)->height;
+ }
+
+ static gint
+@@ -906,10 +907,8 @@ void
+ _gdk_x11_screen_set_window_scale (GdkX11Screen *x11_screen,
+ gint scale)
+ {
+- GdkX11Display *x11_display = GDK_X11_DISPLAY (x11_screen->display);
+ GList *toplevels, *l;
+ GdkWindow *root;
+- int i;
+
+ if (x11_screen->window_scale == scale)
+ return;
+@@ -928,14 +927,7 @@ _gdk_x11_screen_set_window_scale (GdkX11Screen *x11_screen,
+ _gdk_x11_window_set_window_scale (window, scale);
+ }
+
+- for (i = 0; i < x11_display->monitors->len; i++)
+- {
+- GdkMonitor *monitor = GDK_MONITOR (x11_display->monitors->pdata[i]);
+-
+- gdk_monitor_set_scale_factor (monitor, scale);
+- }
+-
+- g_signal_emit_by_name (GDK_SCREEN (x11_screen), "monitors-changed");
++ process_monitors_change (GDK_SCREEN (x11_screen));
+ }
+
+ /*
+--
+2.10.1
+
diff --git a/PKGBUILD b/PKGBUILD
index a37fdc762306..1dee295a9ca9 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,32 +2,30 @@
# Contributor: Christopher Reimer <github@creimer.net>
# vercheck-pkgbuild: auto
-# vercheck-ubuntu: name=gtk+3.0, repo=xenial
+# vercheck-ubuntu: name=gtk+3.0, repo=zesty
# vercheck-archlinux: name=gtk3, repo=extra, arch=x86_64
-# vercheck-gnome: name=gtk+, majorver=3.20
+# vercheck-gnome: name=gtk+, majorver=3.22
# vercheck-ppa: name=gtk+3.0, url=ppa:gnome3-team/gnome3-staging
_use_ppa=true
pkgname=gtk3-ubuntu
-_ubuntu_rel=1ubuntu0~ppa1
-pkgver=3.20.8
+_ubuntu_rel=0ubuntu1~ubuntu16.10.1
+pkgver=3.22.2
pkgrel=1
pkgdesc="GObject-based multi-platform toolkit"
arch=(i686 x86_64)
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 wayland-protocols desktop-file-utils gtk-update-icon-cache)
-makedepends=(gobject-introspection libcanberra gtk-doc)
+depends=(adwaita-icon-theme at-spi2-atk atk cairo colord desktop-file-utils gdk-pixbuf2 gtk-update-icon-cache json-glib libcups libepoxy librsvg libxcomposite libxcursor libxdamage libxi libxinerama libxkbcommon libxrandr pango rest shared-mime-info wayland wayland-protocols)
+makedepends=(gobject-introspection gtk-doc libcanberra)
optdepends=('libcanberra: gtk3-widget-factory demo')
provides=("gtk3=${pkgver}")
conflicts=(gtk3)
license=(LGPL)
source=("https://download.gnome.org/sources/gtk+/${pkgver%.*}/gtk+-${pkgver}.tar.xz"
- settings.ini
+ 0001-gdkscreen-x11-Fix-screen-and-monitor-size-calculatio.patch
+ settings.ini
gtk-query-immodules-3.0.hook)
if [[ "${_use_ppa}" != "true" ]]; then
@@ -36,30 +34,35 @@ else
source+=("http://ppa.launchpad.net/gnome3-team/gnome3-staging/ubuntu/pool/main/g/gtk+3.0/gtk+3.0_${_ubuntu_ver:-${pkgver}}-${_ubuntu_rel}.debian.tar.xz")
fi
-sha512sums=('9f5d29dc0ec06ce28f8b45da2e39e1d4e50cdd6b98bd0355b62c62a76aa868b596e113d68d99875b3ac18dc07d08d3fa4d6f8d3b69b61fdb3de0b244f5bb0cb5'
+sha512sums=('edf8c3fa858d87605df1d244d5103a2d4cabbbe3aa4213220342ad84fd595df94fa5526db5b51a3d89bba1e3548d47d9c15dbb68a8ae3bcd99ebfa333797a2ee'
+ '6c41ac66f8e3df4ed630f31733b5dd67fe85db79fe713f3b645a8c16e80bf04eaadb0cb05e18d03d26d72eff39db2d534bb247b5c95190381f22f2f3f673f756'
'ad2c0b0388f4169592b9574f0b3db673a969b7c4721548c4ac7c438eddbcdc378fcaac04e2b6c858a1562cc23ddf4804e5f7be08068340b7c9365e2b11ddcfb8'
'f0ffd95544863f2e10fda81488b4727aa9a8a35a7d39fb96872db6664d03442db2b58af788b5990825c7b3a83681f7220ca481409cca5421dfb39b9a3bbac9ac'
- '4034bce60e78a59d9982e315b4ec89b3c703f792d38c7c2020ae5096b60156798d872ad2db80f0c5055648e4ed600a85bd9bc1b6f7bec757635e61d991b608d4')
+ '165c881c7195eefabde0d0d99e7ff4553725a4dd12299ff42e96d5eeacc29a0d589ff8cbeec5cbe01599f04dbf94b4082e6da4e7d1fc2cc911c293dc9b6ad31c')
prepare() {
cd "gtk+-${pkgver}"
+ patch -p1 -i ../0001-gdkscreen-x11-Fix-screen-and-monitor-size-calculatio.patch
+
local patches=(
016_no_offscreen_widgets_grabbing.patch
017_no_offscreen_device_grabbing.patch
060_ignore-random-icons.patch
073_treeview_almost_fixed.patch
074_eventbox_scroll_mask.patch
+ no-accessibility-dump.patch
bzg_gtkcellrenderer_grabbing_modifier.patch
ubuntu_gtk_custom_menu_items.patch
print-dialog-show-options-of-remote-dnssd-printers.patch
uimanager-guard-against-nested-node-updates.patch
x-canonical-accel.patch
message-dialog-restore-traditional-look-on-unity.patch
- restore_filechooser_typeaheadfind
0001-calendar-always-emit-day-selected-once.patch
0001-gtkwindow-set-transparent-background-color.patch
ubuntu_fileselector_behaviour.patch
+ unity-border-radius.patch
+ unity-headerbar-maximized-mode.patch
)
for i in "${patches[@]}"; do
@@ -80,7 +83,8 @@ build() {
--disable-schemas-compile \
--enable-x11-backend \
--enable-broadway-backend \
- --enable-wayland-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
@@ -98,4 +102,12 @@ package() {
"${pkgdir}"/usr/share/libalpm/hooks/gtk-query-immodules-3.0.hook
rm "${pkgdir}"/usr/bin/gtk-update-icon-cache
+
+ cd "$pkgdir"
+ for _f in usr/lib/*/*/printbackends/*; do
+ case $_f in
+ *-file.so|*-lpr.so) continue ;;
+ *) rm "${_f}" ;;
+ esac
+ done
}