summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Rostovtsev <tetromino@gentoo.org>2012-03-21 13:34:31 -0400
committerAlexandre Rostovtsev <tetromino@gentoo.org>2012-03-21 13:37:46 -0400
commitcb3b7e2d6bec96233f79d88fde59e3434b1e159d (patch)
tree0d20d22f379ddd370257778516335255503f5b63
parentdev-libs/gjs: 1.31.20 → 1.31.22 (diff)
downloadgnome-cb3b7e2d6bec96233f79d88fde59e3434b1e159d.tar.gz
gnome-cb3b7e2d6bec96233f79d88fde59e3434b1e159d.tar.bz2
gnome-cb3b7e2d6bec96233f79d88fde59e3434b1e159d.zip
x11-libs/gtk+: 3.3.18 → 3.3.20 + wayland support
Add wayland support by dolphinling (bug #408131). Warning: not tested at all since I don't have wayland and use nvidia-drivers. Mask the wayland USE flag because libxkbcommon from the x11 overlay is required.
-rw-r--r--status/portage-configs/package.use.mask.gnome32
-rw-r--r--x11-libs/gtk+/Manifest7
-rw-r--r--x11-libs/gtk+/files/gtk+-3.3.20-wayland-xkbcommon-headers.patch39
-rw-r--r--x11-libs/gtk+/gtk+-3.3.20.ebuild (renamed from x11-libs/gtk+/gtk+-3.3.18-r1.ebuild)64
-rw-r--r--x11-libs/gtk+/gtk+-9999.ebuild67
5 files changed, 124 insertions, 55 deletions
diff --git a/status/portage-configs/package.use.mask.gnome3 b/status/portage-configs/package.use.mask.gnome3
index b9817206..9327bb36 100644
--- a/status/portage-configs/package.use.mask.gnome3
+++ b/status/portage-configs/package.use.mask.gnome3
@@ -3,3 +3,5 @@ dev-libs/libgee -introspection
gnome-extra/gnome-games -clutter
media-libs/clutter-gtk -introspection
sys-apps/gnome-disk-utility -nautilus
+# Requires x11-libs/libxkbcommon from the x11 overlay
+x11-libs/gtk+ wayland
diff --git a/x11-libs/gtk+/Manifest b/x11-libs/gtk+/Manifest
index 6559b561..fe81db9a 100644
--- a/x11-libs/gtk+/Manifest
+++ b/x11-libs/gtk+/Manifest
@@ -1,7 +1,8 @@
AUX gtk+-3.3.18-fallback-theme.patch 2841 RMD160 01f69c2800ae57c1e21e22ba5be562061cae20b0 SHA1 0800ab93bd2b1b311ead6bd2a423fec984fb78f1 SHA256 a552218132b903835a480881803e29be678a311d3a653b8111eba1fd0ea04922
+AUX gtk+-3.3.20-wayland-xkbcommon-headers.patch 1347 RMD160 b21bfb4fdca683e385b08f181ce10922bc1d3b58 SHA1 d74d0fe0ca3058044f22520fdc288e5c0758311d SHA256 9876be3bf2ef19413248e5de51e285aa1545b3d94751e840692b811c7b4bd9a9
AUX settings.ini 96 RMD160 ff8d7e28f097820b15ea1d2168d9405db1a5707b SHA1 92c3120655ba14f163846a22d5c94fa50b0eb437 SHA256 a42c86c26b5bfa0da806961e28cdff21da6e2f7c35febf67c67d7f2667658163
DIST gtk+-3.3.16.tar.xz 12867600 RMD160 0a7a0d62c4abd05ff1b7f28611ddb45538fe1567 SHA1 da733b4d27e5803cb0393e9fda656ea4b7e11853 SHA256 57ccae54ad41b8ff5c7be98ca010a5497a86ce7de71050e837d2cf9bc4124256
-DIST gtk+-3.3.18.tar.xz 12955912 RMD160 e6d124c94044a1870371753c61896d7a1aa92319 SHA1 f3bd5b6da6bd73e58e82cad6cfbceb1fda1601d4 SHA256 c63cc7ff19c28f73c1060f4b6168ef0f6cb359803abb990baa5c5f5a48f31f90
+DIST gtk+-3.3.20.tar.xz 12857324 RMD160 c44dd293db131857d9601c56e8e722732e0eb9c2 SHA1 4d106cc1c733289b284a93bfc60a0fa33f4e9c69 SHA256 2327df9b2eca97d4817a6adbf127bf77141c4bafb2f79b6a91c9495b272d8501
EBUILD gtk+-3.3.16.ebuild 6580 RMD160 658cc71ab2efd1712fd3a340eea19092f4bab432 SHA1 15f307ce1373af13ac6bfb40b92b1dd6a8548d8f SHA256 bf37120e57b80880e1b6fa02ef24fa75e012539fe4ad25cfa951450b1d1e512d
-EBUILD gtk+-3.3.18-r1.ebuild 6714 RMD160 d91a75fb2844e33d1d792711616091f76b4cb1cb SHA1 975fd6a3ebadb0f621024d4ac3c16fc4a81a29bd SHA256 5ab4f347f93da68af1e7b86d7bbd39d79bd0db5f849a8aa0049150fa4d6bbe77
-EBUILD gtk+-9999.ebuild 6605 RMD160 a8c1af172df2db31146a96e6a253d064475259bf SHA1 06b538834e2fedf93c68fe121391640f46af74e1 SHA256 a1caadf4b31b306e4f6fcf3a5844f4a27d66e19b4fbbe0e5ce6645c15d288ad5
+EBUILD gtk+-3.3.20.ebuild 7060 RMD160 90216de047892c0e15bed47e2ec724598731feeb SHA1 f560b04246d9b323b052badf77c7c4efef8f9eb1 SHA256 f5028071aab63ab1b49a768c0d3b0a4bcadabcce2345708db5ee06630d4cd60a
+EBUILD gtk+-9999.ebuild 7060 RMD160 90216de047892c0e15bed47e2ec724598731feeb SHA1 f560b04246d9b323b052badf77c7c4efef8f9eb1 SHA256 f5028071aab63ab1b49a768c0d3b0a4bcadabcce2345708db5ee06630d4cd60a
diff --git a/x11-libs/gtk+/files/gtk+-3.3.20-wayland-xkbcommon-headers.patch b/x11-libs/gtk+/files/gtk+-3.3.20-wayland-xkbcommon-headers.patch
new file mode 100644
index 00000000..2e052d9a
--- /dev/null
+++ b/x11-libs/gtk+/files/gtk+-3.3.20-wayland-xkbcommon-headers.patch
@@ -0,0 +1,39 @@
+diff --git a/gdk/wayland/gdkdevice-wayland.c b/gdk/wayland/gdkdevice-wayland.c
+index 9e8e6b1..237a5b8 100644
+--- a/gdk/wayland/gdkdevice-wayland.c
++++ b/gdk/wayland/gdkdevice-wayland.c
+@@ -32,7 +32,7 @@
+ #include "gdkdevicemanagerprivate.h"
+ #include "gdkprivate-wayland.h"
+
+-#include <X11/extensions/XKBcommon.h>
++#include <xkbcommon/xkbcommon.h>
+ #include <X11/keysym.h>
+
+ #include <sys/time.h>
+diff --git a/gdk/wayland/gdkdisplaymanager-wayland.c b/gdk/wayland/gdkdisplaymanager-wayland.c
+index eca6f92..d59563a 100644
+--- a/gdk/wayland/gdkdisplaymanager-wayland.c
++++ b/gdk/wayland/gdkdisplaymanager-wayland.c
+@@ -27,7 +27,7 @@
+
+ #include "gdkinternals.h"
+
+-#include <X11/extensions/XKBcommon.h>
++#include <xkbcommon/xkbcommon.h>
+
+ typedef struct _GdkWaylandDisplayManager GdkWaylandDisplayManager;
+ typedef struct _GdkWaylandDisplayManagerClass GdkWaylandDisplayManagerClass;
+diff --git a/gdk/wayland/gdkkeys-wayland.c b/gdk/wayland/gdkkeys-wayland.c
+index f3e9d3c..bc26a43 100644
+--- a/gdk/wayland/gdkkeys-wayland.c
++++ b/gdk/wayland/gdkkeys-wayland.c
+@@ -39,7 +39,7 @@
+ #include "gdkdisplay-wayland.h"
+ #include "gdkkeysprivate.h"
+
+-#include <X11/extensions/XKBcommon.h>
++#include <xkbcommon/xkbcommon.h>
+
+ typedef struct _GdkWaylandKeymap GdkWaylandKeymap;
+ typedef struct _GdkWaylandKeymapClass GdkWaylandKeymapClass;
diff --git a/x11-libs/gtk+/gtk+-3.3.18-r1.ebuild b/x11-libs/gtk+/gtk+-3.3.20.ebuild
index 592807e2..62541da9 100644
--- a/x11-libs/gtk+/gtk+-3.3.18-r1.ebuild
+++ b/x11-libs/gtk+/gtk+-3.3.20.ebuild
@@ -19,7 +19,11 @@ SLOT="3"
# * http://mail.gnome.org/archives/gtk-devel-list/2010-November/msg00099.html
# I tried this and got it all compiling, but the end result is unusable as it
# horribly mixes up the backends -- grobian
-IUSE="aqua colord cups debug doc examples +introspection packagekit test vim-syntax xinerama"
+IUSE="aqua colord cups debug doc examples +introspection packagekit test vim-syntax wayland X xinerama"
+REQUIRED_USE="
+ || ( aqua wayland X )
+ xinerama? ( X )"
+
if [[ ${PV} = 9999 ]]; then
KEYWORDS=""
else
@@ -28,12 +32,11 @@ fi
# FIXME: introspection data is built against system installation of gtk+:3
# NOTE: cairo[svg] dep is due to bug 291283 (not patched to avoid eautoreconf)
-# Use gtk+:2 for gtk-update-icon-cache and gtk-builder-convert
-# >=x11-libs/gtk+-2.24:2 is needed for bug 359555
-COMMON_DEPEND="!aqua? (
+# Use gtk+:2 for gtk-update-icon-cache
+COMMON_DEPEND="X? (
x11-libs/libXrender
x11-libs/libX11
- x11-libs/libXi
+ >=x11-libs/libXi-1.3
x11-libs/libXt
x11-libs/libXext
>=x11-libs/libXrandr-1.3
@@ -41,32 +44,34 @@ COMMON_DEPEND="!aqua? (
x11-libs/libXfixes
x11-libs/libXcomposite
x11-libs/libXdamage
- >=x11-libs/cairo-1.10.0[X,glib,svg]
- >=x11-libs/gdk-pixbuf-2.25.2:2[X,introspection?]
+ xinerama? ( x11-libs/libXinerama )
)
- aqua? (
- >=x11-libs/cairo-1.10.0[aqua,glib,svg]
- >=x11-libs/gdk-pixbuf-2.25.2:2[introspection?]
+ wayland? (
+ dev-libs/wayland
+ media-libs/mesa[egl,wayland]
+ x11-libs/cairo[opengl]
+ x11-libs/libxkbcommon
)
- xinerama? ( x11-libs/libXinerama )
>=dev-libs/glib-2.31.20
>=x11-libs/pango-1.29.0[introspection?]
>=dev-libs/atk-2.1.5[introspection?]
+ >=x11-libs/cairo-1.10.0[aqua?,glib,svg,X?]
+ >=x11-libs/gdk-pixbuf-2.25.2:2[introspection?,X?]
>=x11-libs/gtk+-2.24:2
media-libs/fontconfig
x11-misc/shared-mime-info
colord? ( >=x11-misc/colord-0.1.9 )
- cups? ( net-print/cups )
+ cups? ( >=net-print/cups-1.2 )
introspection? ( >=dev-libs/gobject-introspection-0.10.1 )"
DEPEND="${COMMON_DEPEND}
>=dev-util/pkgconfig-0.9
- !aqua? (
+ X? (
x11-proto/xextproto
x11-proto/xproto
x11-proto/inputproto
x11-proto/damageproto
+ xinerama? ( x11-proto/xineramaproto )
)
- xinerama? ( x11-proto/xineramaproto )
>=dev-util/gtk-doc-am-1.11
doc? (
>=dev-util/gtk-doc-1.11
@@ -76,10 +81,13 @@ DEPEND="${COMMON_DEPEND}
media-fonts/font-cursor-misc )"
# gtk+-3.2.2 breaks Alt key handling in <=x11-libs/vte-0.30.1:2.90
# gtk+-3.3.18 breaks scrolling in <=x11-libs/vte-0.31.0:2.90
+# >=xorg-server-1.11.4 needed for
+# http://mail.gnome.org/archives/desktop-devel-list/2012-March/msg00024.html
RDEPEND="${COMMON_DEPEND}
!<gnome-base/gail-1000
!<x11-libs/vte-0.31.0:2.90
- packagekit? ( app-admin/packagekit-base )"
+ packagekit? ( app-admin/packagekit-base )
+ X? ( !<x11-base/xorg-server-1.11.4 )"
PDEPEND="vim-syntax? ( app-vim/gtk-syntax )"
strip_builddir() {
@@ -99,6 +107,9 @@ src_prepare() {
# https://bugzilla.gnome.org/show_bug.cgi?id=65410
epatch "${FILESDIR}/${PN}-3.3.18-fallback-theme.patch"
+ # Apparently needed for new libxkbcommon headers; bug #408131
+ epatch "${FILESDIR}/${PN}-3.3.20-wayland-xkbcommon-headers.patch"
+
# Non-working test in gentoo's env
sed 's:\(g_test_add_func ("/ui-tests/keys-events.*\):/*\1*/:g' \
-i gtk/tests/testing.c || die "sed 1 failed"
@@ -129,22 +140,23 @@ src_prepare() {
}
src_configure() {
- local myconf="$(use_enable doc gtk-doc)
- $(use_enable xinerama)
- $(use_enable packagekit)
- $(use_enable cups cups auto)
+ local myconf="$(use_enable aqua quartz-backend)
$(use_enable colord)
+ $(use_enable cups cups auto)
+ $(use_enable doc gtk-doc)
$(use_enable introspection)
+ $(use_enable packagekit)
+ $(use_enable wayland wayland-backend)
+ $(use_enable X x11-backend)
+ $(use_enable X xcomposite)
+ $(use_enable X xdamage)
+ $(use_enable X xfixes)
+ $(use_enable X xkb)
+ $(use_enable X xrandr)
+ $(use_enable xinerama)
--disable-papi
--enable-gtk2-dependency"
- # XXX: Maybe with multi-backend we should enable x11 all the time?
- if use aqua; then
- myconf="${myconf} --enable-quartz-backend"
- else
- myconf="${myconf} --enable-x11-backend"
- fi
-
# Passing --disable-debug is not recommended for production use
use debug && myconf="${myconf} --enable-debug=yes"
diff --git a/x11-libs/gtk+/gtk+-9999.ebuild b/x11-libs/gtk+/gtk+-9999.ebuild
index 4d353a94..62541da9 100644
--- a/x11-libs/gtk+/gtk+-9999.ebuild
+++ b/x11-libs/gtk+/gtk+-9999.ebuild
@@ -19,7 +19,11 @@ SLOT="3"
# * http://mail.gnome.org/archives/gtk-devel-list/2010-November/msg00099.html
# I tried this and got it all compiling, but the end result is unusable as it
# horribly mixes up the backends -- grobian
-IUSE="aqua colord cups debug doc examples +introspection packagekit test vim-syntax xinerama"
+IUSE="aqua colord cups debug doc examples +introspection packagekit test vim-syntax wayland X xinerama"
+REQUIRED_USE="
+ || ( aqua wayland X )
+ xinerama? ( X )"
+
if [[ ${PV} = 9999 ]]; then
KEYWORDS=""
else
@@ -28,12 +32,11 @@ fi
# FIXME: introspection data is built against system installation of gtk+:3
# NOTE: cairo[svg] dep is due to bug 291283 (not patched to avoid eautoreconf)
-# Use gtk+:2 for gtk-update-icon-cache and gtk-builder-convert
-# >=x11-libs/gtk+-2.24:2 is needed for bug 359555
-COMMON_DEPEND="!aqua? (
+# Use gtk+:2 for gtk-update-icon-cache
+COMMON_DEPEND="X? (
x11-libs/libXrender
x11-libs/libX11
- x11-libs/libXi
+ >=x11-libs/libXi-1.3
x11-libs/libXt
x11-libs/libXext
>=x11-libs/libXrandr-1.3
@@ -41,32 +44,34 @@ COMMON_DEPEND="!aqua? (
x11-libs/libXfixes
x11-libs/libXcomposite
x11-libs/libXdamage
- >=x11-libs/cairo-1.10.0[X,glib,svg]
- >=x11-libs/gdk-pixbuf-2.25.2:2[X,introspection?]
+ xinerama? ( x11-libs/libXinerama )
)
- aqua? (
- >=x11-libs/cairo-1.10.0[aqua,glib,svg]
- >=x11-libs/gdk-pixbuf-2.25.2:2[introspection?]
+ wayland? (
+ dev-libs/wayland
+ media-libs/mesa[egl,wayland]
+ x11-libs/cairo[opengl]
+ x11-libs/libxkbcommon
)
- xinerama? ( x11-libs/libXinerama )
>=dev-libs/glib-2.31.20
>=x11-libs/pango-1.29.0[introspection?]
>=dev-libs/atk-2.1.5[introspection?]
+ >=x11-libs/cairo-1.10.0[aqua?,glib,svg,X?]
+ >=x11-libs/gdk-pixbuf-2.25.2:2[introspection?,X?]
>=x11-libs/gtk+-2.24:2
media-libs/fontconfig
x11-misc/shared-mime-info
colord? ( >=x11-misc/colord-0.1.9 )
- cups? ( net-print/cups )
+ cups? ( >=net-print/cups-1.2 )
introspection? ( >=dev-libs/gobject-introspection-0.10.1 )"
DEPEND="${COMMON_DEPEND}
>=dev-util/pkgconfig-0.9
- !aqua? (
+ X? (
x11-proto/xextproto
x11-proto/xproto
x11-proto/inputproto
x11-proto/damageproto
+ xinerama? ( x11-proto/xineramaproto )
)
- xinerama? ( x11-proto/xineramaproto )
>=dev-util/gtk-doc-am-1.11
doc? (
>=dev-util/gtk-doc-1.11
@@ -76,10 +81,13 @@ DEPEND="${COMMON_DEPEND}
media-fonts/font-cursor-misc )"
# gtk+-3.2.2 breaks Alt key handling in <=x11-libs/vte-0.30.1:2.90
# gtk+-3.3.18 breaks scrolling in <=x11-libs/vte-0.31.0:2.90
+# >=xorg-server-1.11.4 needed for
+# http://mail.gnome.org/archives/desktop-devel-list/2012-March/msg00024.html
RDEPEND="${COMMON_DEPEND}
!<gnome-base/gail-1000
!<x11-libs/vte-0.31.0:2.90
- packagekit? ( app-admin/packagekit-base )"
+ packagekit? ( app-admin/packagekit-base )
+ X? ( !<x11-base/xorg-server-1.11.4 )"
PDEPEND="vim-syntax? ( app-vim/gtk-syntax )"
strip_builddir() {
@@ -96,6 +104,12 @@ src_prepare() {
replace-flags -O3 -O2
strip-flags
+ # https://bugzilla.gnome.org/show_bug.cgi?id=65410
+ epatch "${FILESDIR}/${PN}-3.3.18-fallback-theme.patch"
+
+ # Apparently needed for new libxkbcommon headers; bug #408131
+ epatch "${FILESDIR}/${PN}-3.3.20-wayland-xkbcommon-headers.patch"
+
# Non-working test in gentoo's env
sed 's:\(g_test_add_func ("/ui-tests/keys-events.*\):/*\1*/:g' \
-i gtk/tests/testing.c || die "sed 1 failed"
@@ -126,22 +140,23 @@ src_prepare() {
}
src_configure() {
- local myconf="$(use_enable doc gtk-doc)
- $(use_enable xinerama)
- $(use_enable packagekit)
- $(use_enable cups cups auto)
+ local myconf="$(use_enable aqua quartz-backend)
$(use_enable colord)
+ $(use_enable cups cups auto)
+ $(use_enable doc gtk-doc)
$(use_enable introspection)
+ $(use_enable packagekit)
+ $(use_enable wayland wayland-backend)
+ $(use_enable X x11-backend)
+ $(use_enable X xcomposite)
+ $(use_enable X xdamage)
+ $(use_enable X xfixes)
+ $(use_enable X xkb)
+ $(use_enable X xrandr)
+ $(use_enable xinerama)
--disable-papi
--enable-gtk2-dependency"
- # XXX: Maybe with multi-backend we should enable x11 all the time?
- if use aqua; then
- myconf="${myconf} --enable-quartz-backend"
- else
- myconf="${myconf} --enable-x11-backend"
- fi
-
# Passing --disable-debug is not recommended for production use
use debug && myconf="${myconf} --enable-debug=yes"