summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorEarnestly2015-08-16 12:42:18 +0100
committerEarnestly2015-08-16 12:42:18 +0100
commit8c99e473f4705ca1df3416f0b0b612e56e0e90af (patch)
treec31db63f7cc60213e2412b7a195dcb82230dfa98
downloadaur-8c99e473f4705ca1df3416f0b0b612e56e0e90af.tar.gz
Add gtk3-optional-csd.
-rw-r--r--.SRCINFO39
-rw-r--r--PKGBUILD51
-rw-r--r--gtk3-make-csd-optional.patch35
-rw-r--r--gtk3.install19
-rw-r--r--settings.ini4
5 files changed, 148 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..148264959826
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,39 @@
+pkgbase = gtk3-optional-csd
+ pkgdesc = GObject-based multi-platform GUI toolkit with optionally enabled CSD.
+ pkgver = 3.16.6
+ pkgrel = 2
+ url = http://www.gtk.org/
+ install = gtk3.install
+ arch = i686
+ arch = x86_64
+ license = LGPL
+ makedepends = gobject-introspection
+ depends = atk
+ depends = cairo
+ depends = gtk-update-icon-cache
+ depends = libcups
+ depends = libxcursor
+ depends = libxinerama
+ depends = libxrandr
+ depends = libxi
+ depends = libepoxy
+ depends = libxcomposite
+ depends = libxdamage
+ depends = pango
+ depends = shared-mime-info
+ depends = colord
+ depends = at-spi2-atk
+ depends = wayland
+ depends = libxkbcommon
+ depends = adwaita-icon-theme
+ depends = json-glib
+ depends = rest
+ provides = gtk3
+ conflicts = gtk3
+ source = https://download.gnome.org/sources/gtk+/3.16/gtk+-3.16.6.tar.xz
+ source = gtk3-make-csd-optional.patch
+ sha256sums = 4d12726d0856a968b41802ae5c5971d7e9bac532717e309d3f81b9989da5ffbe
+ sha256sums = 8ab096e996071cf5859956a54791c24cff628502482073f99adf5b226767ecea
+
+pkgname = gtk3-optional-csd
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..84429a9a13e4
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,51 @@
+pkgname=gtk3-optional-csd
+pkgver=3.16.6
+pkgrel=2
+
+pkgdesc='GObject-based multi-platform GUI toolkit with optionally enabled CSD.'
+url='http://www.gtk.org/'
+arch=('i686' 'x86_64')
+license=('LGPL')
+
+depends=('atk' 'cairo' 'gtk-update-icon-cache' 'libcups' 'libxcursor' 'libxinerama'
+ 'libxrandr' 'libxi' 'libepoxy' 'libxcomposite' 'libxdamage' 'pango'
+ 'shared-mime-info' 'colord' 'at-spi2-atk' 'wayland' 'libxkbcommon'
+ 'adwaita-icon-theme' 'json-glib' 'rest')
+makedepends=('gobject-introspection')
+
+provides=('gtk3')
+conflicts=('gtk3')
+
+source=("https://download.gnome.org/sources/gtk+/${pkgver:0:4}/gtk+-$pkgver.tar.xz"
+ 'gtk3-make-csd-optional.patch')
+
+sha256sums=('4d12726d0856a968b41802ae5c5971d7e9bac532717e309d3f81b9989da5ffbe'
+ '8ab096e996071cf5859956a54791c24cff628502482073f99adf5b226767ecea')
+
+install='gtk3.install'
+
+prepare() {
+ cd gtk+-"$pkgver"
+ patch -Np1 -i "$srcdir"/gtk3-make-csd-optional.patch
+}
+
+build() {
+ cd gtk+-"$pkgver"
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --enable-x11-backend \
+ --enable-wayland-backend \
+ --enable-broadway-backend \
+ --disable-schemas-compile \
+
+ # https://bugzilla.gnome.org/show_bug.cgi?id=655517
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+ make
+}
+
+package() {
+ cd gtk+-"$pkgver"
+ make DESTDIR="$pkgdir" install
+ rm -f "$pkgdir"/usr/bin/gtk-update-icon-cache
+}
diff --git a/gtk3-make-csd-optional.patch b/gtk3-make-csd-optional.patch
new file mode 100644
index 000000000000..a5694580bad4
--- /dev/null
+++ b/gtk3-make-csd-optional.patch
@@ -0,0 +1,35 @@
+diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
+index 53f74e8..37d7aa8 100644
+--- a/gtk/gtkwindow.c
++++ b/gtk/gtkwindow.c
+@@ -5771,30 +5771,12 @@ gtk_window_should_use_csd (GtkWindow *window)
+ GtkWindowPrivate *priv = window->priv;
+ const gchar *csd_env;
+
+- if (priv->csd_requested)
+- return TRUE;
+-
+ if (!priv->decorated)
+ return FALSE;
+
+ if (priv->type == GTK_WINDOW_POPUP)
+ return FALSE;
+
+-#ifdef GDK_WINDOWING_BROADWAY
+- if (GDK_IS_BROADWAY_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
+- return TRUE;
+-#endif
+-
+-#ifdef GDK_WINDOWING_WAYLAND
+- if (GDK_IS_WAYLAND_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
+- return TRUE;
+-#endif
+-
+-#ifdef GDK_WINDOWING_MIR
+- if (GDK_IS_MIR_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
+- return TRUE;
+-#endif
+-
+ csd_env = g_getenv ("GTK_CSD");
+
+ return (g_strcmp0 (csd_env, "1") == 0);
diff --git a/gtk3.install b/gtk3.install
new file mode 100644
index 000000000000..d2e16cb8814e
--- /dev/null
+++ b/gtk3.install
@@ -0,0 +1,19 @@
+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
+ printf 'Use GTK_CSD=1 to enable the CSD where the CSD can be used.\n'
+}
+
+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/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