summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGilles Dartiguelongue <eva@gentoo.org>2016-11-11 13:45:22 +0100
committerGilles Dartiguelongue <eva@gentoo.org>2016-11-11 13:47:31 +0100
commit6ac127187ed93a75ac01ae60b9f2fb2d9f97cd09 (patch)
treef75f02bf0228fd2ab7672263b1b618a65b3ddac6
parentgnome-base/gnome-session: cleanup old revisions (diff)
downloadgentoo-6ac127187ed93a75ac01ae60b9f2fb2d9f97cd09.tar.gz
gentoo-6ac127187ed93a75ac01ae60b9f2fb2d9f97cd09.tar.bz2
gentoo-6ac127187ed93a75ac01ae60b9f2fb2d9f97cd09.zip
x11-wm/mutter: fix dependencies and option combinations
Checked with upstream, native backend without wayland is not useful and the opposite would have limited use. See upstream reports for not enabling these possibilities anyway: https://bugzilla.gnome.org/show_bug.cgi?id=771638 https://bugzilla.gnome.org/show_bug.cgi?id=772681 Gentoo-bug: 598846 Package-Manager: portage-2.3.2
-rw-r--r--x11-wm/mutter/metadata.xml1
-rw-r--r--x11-wm/mutter/mutter-3.22.1.ebuild77
2 files changed, 59 insertions, 19 deletions
diff --git a/x11-wm/mutter/metadata.xml b/x11-wm/mutter/metadata.xml
index 59b7f540c437..3e52e1b5c352 100644
--- a/x11-wm/mutter/metadata.xml
+++ b/x11-wm/mutter/metadata.xml
@@ -6,6 +6,7 @@
<name>Gentoo GNOME Desktop</name>
</maintainer>
<use>
+ <flag name="gles2">Enable OpenGL ES 2.0 support</flag>
<flag name="kms">Enable KMS support.</flag>
</use>
</pkgmetadata>
diff --git a/x11-wm/mutter/mutter-3.22.1.ebuild b/x11-wm/mutter/mutter-3.22.1.ebuild
index d3d13a06790b..73b94947783e 100644
--- a/x11-wm/mutter/mutter-3.22.1.ebuild
+++ b/x11-wm/mutter/mutter-3.22.1.ebuild
@@ -3,7 +3,7 @@
# $Id$
EAPI=6
-inherit gnome2
+inherit gnome2 virtualx
DESCRIPTION="GNOME 3 compositing window manager based on Clutter"
HOMEPAGE="https://git.gnome.org/browse/mutter/"
@@ -11,10 +11,7 @@ HOMEPAGE="https://git.gnome.org/browse/mutter/"
LICENSE="GPL-2+"
SLOT="0"
-IUSE="input_devices_wacom +introspection +kms test udev wayland"
-REQUIRED_USE="
- wayland? ( kms )
-"
+IUSE="debug gles2 input_devices_wacom +introspection test udev wayland"
KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86"
@@ -22,12 +19,12 @@ KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86"
# https://bugzilla.gnome.org/show_bug.cgi?id=738944
COMMON_DEPEND="
>=dev-libs/atk-2.5.3
+ >=x11-libs/gdk-pixbuf-2:2
>=dev-libs/json-glib-0.12.0
- >=x11-libs/pango-1.2[X,introspection?]
- >=x11-libs/cairo-1.10[X]
+ >=x11-libs/pango-1.30[X,introspection?]
+ >=x11-libs/cairo-1.14[X]
>=x11-libs/gtk+-3.19.8:3[X,introspection?]
>=dev-libs/glib-2.49.0:2[dbus]
- >=media-libs/cogl-1.21.2:1.0=[introspection?]
>=media-libs/libcanberra-0.26[gtk3]
>=x11-libs/startup-notification-0.7
>=x11-libs/libXcomposite-0.2
@@ -38,11 +35,11 @@ COMMON_DEPEND="
x11-libs/libICE
x11-libs/libSM
x11-libs/libX11
- >=x11-libs/libXcomposite-0.2
+ >=x11-libs/libXcomposite-0.4
x11-libs/libXcursor
x11-libs/libXdamage
x11-libs/libXext
- x11-libs/libXfixes
+ >=x11-libs/libXfixes-3
>=x11-libs/libXi-1.7.4
x11-libs/libXinerama
>=x11-libs/libXrandr-1.5
@@ -53,21 +50,23 @@ COMMON_DEPEND="
x11-misc/xkeyboard-config
gnome-extra/zenity
+ media-libs/mesa[egl]
+ gles2? ( media-libs/mesa[gles2] )
input_devices_wacom? ( >=dev-libs/libwacom-0.13 )
introspection? ( >=dev-libs/gobject-introspection-1.42:= )
- kms? (
- >=dev-libs/libinput-1.4
- media-libs/cogl:1.0=[kms]
- >=media-libs/mesa-10.3[gbm]
- sys-apps/systemd
- virtual/libgudev
- x11-libs/libdrm:= )
udev? ( virtual/libgudev:= )
wayland? (
+ >=dev-libs/libinput-1.4
>=dev-libs/wayland-1.6.90
>=dev-libs/wayland-protocols-1.7
- x11-base/xorg-server[wayland] )
+ >=media-libs/mesa-10.3[egl,gbm,wayland]
+ sys-apps/systemd
+ virtual/libgudev:=
+ >=virtual/libudev-136:=
+ x11-base/xorg-server[wayland]
+ x11-libs/libdrm:=
+ )
"
DEPEND="${COMMON_DEPEND}
>=sys-devel/gettext-0.19.6
@@ -81,16 +80,56 @@ RDEPEND="${COMMON_DEPEND}
!x11-misc/expocity
"
+src_prepare() {
+ # Disable building of noinst_PROGRAM for tests
+ if ! use test; then
+ sed -e '/^noinst_PROGRAMS/d' \
+ -i cogl/tests/conform/Makefile.{am,in} || die
+ sed -e '/noinst_PROGRAMS += testboxes/d' \
+ -i src/Makefile-tests.am || die
+ sed -e '/noinst_PROGRAMS/ s/testboxes$(EXEEXT)//' \
+ -i src/Makefile.in || die
+ fi
+
+ gnome2_src_prepare
+
+ # Leave the damn CFLAGS alone
+ sed -e 's/$CFLAGS -g/$CFLAGS /' \
+ -i clutter/configure || die
+ sed -e 's/$CFLAGS -g -O0/$CFLAGS /' \
+ -i cogl/configure || die
+ sed -e 's/$CFLAGS -g -O/$CFLAGS /' \
+ -i configure || die
+}
+
src_configure() {
+ # Prefer gl driver by default
+ # GLX is forced by mutter but optional in clutter
+ # xlib-egl-platform required by mutter x11 backend
+ # native backend without wayland is useless
gnome2_src_configure \
--disable-static \
+ --enable-compile-warnings=minimum \
+ --enable-gl \
+ --enable-glx \
--enable-sm \
--enable-startup-notification \
--enable-verbose-mode \
+ --enable-xlib-egl-platform \
+ --with-default-driver=gl \
--with-libcanberra \
+ $(usex debug --enable-debug=yes "") \
+ $(use_enable gles2) \
+ $(use_enable gles2 cogl-gles2) \
$(use_enable introspection) \
- $(use_enable kms native-backend) \
$(use_enable wayland) \
+ $(use_enable wayland kms-egl-platform) \
+ $(use_enable wayland native-backend) \
+ $(use_enable wayland wayland-egl-server) \
$(use_with input_devices_wacom libwacom) \
$(use_with udev gudev)
}
+
+src_test() {
+ virtx emake check
+}