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
This commit is contained in:
Gilles Dartiguelongue
2016-11-11 13:45:22 +01:00
parent 3b6ee0dade
commit 6ac127187e
2 changed files with 59 additions and 19 deletions

View File

@@ -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>

View File

@@ -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
}