From 6ac127187ed93a75ac01ae60b9f2fb2d9f97cd09 Mon Sep 17 00:00:00 2001 From: Gilles Dartiguelongue Date: Fri, 11 Nov 2016 13:45:22 +0100 Subject: 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 --- x11-wm/mutter/metadata.xml | 1 + x11-wm/mutter/mutter-3.22.1.ebuild | 77 ++++++++++++++++++++++++++++---------- 2 files changed, 59 insertions(+), 19 deletions(-) (limited to 'x11-wm') 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 @@ Gentoo GNOME Desktop + Enable OpenGL ES 2.0 support Enable KMS support. 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 +} -- cgit v1.2.3-65-gdbad