diff options
author | Mart Raudsepp <leio@gentoo.org> | 2019-09-07 00:01:22 +0300 |
---|---|---|
committer | Mart Raudsepp <leio@gentoo.org> | 2019-09-07 00:44:35 +0300 |
commit | 0c4e5ce467e59b8903b8e53047b751346040aaa4 (patch) | |
tree | ca2aaee072fa470886d213943db769fa50c2b204 /x11-wm/mutter | |
parent | sys-kernel/genkernel: bump xfsprogs to v5.2.1 (diff) | |
download | gentoo-0c4e5ce467e59b8903b8e53047b751346040aaa4.tar.gz gentoo-0c4e5ce467e59b8903b8e53047b751346040aaa4.tar.bz2 gentoo-0c4e5ce467e59b8903b8e53047b751346040aaa4.zip |
x11-wm/mutter: bump to 3.32.2
Closes: https://bugs.gentoo.org/685724
Package-Manager: Portage-2.3.69, Repoman-2.3.12
Signed-off-by: Mart Raudsepp <leio@gentoo.org>
Diffstat (limited to 'x11-wm/mutter')
-rw-r--r-- | x11-wm/mutter/Manifest | 2 | ||||
-rw-r--r-- | x11-wm/mutter/files/3.32.2-no-cogl-gles2.patch | 81 | ||||
-rw-r--r-- | x11-wm/mutter/mutter-3.32.2.ebuild | 146 |
3 files changed, 229 insertions, 0 deletions
diff --git a/x11-wm/mutter/Manifest b/x11-wm/mutter/Manifest index cf1fc2fed321..1c6c961ffdfb 100644 --- a/x11-wm/mutter/Manifest +++ b/x11-wm/mutter/Manifest @@ -4,3 +4,5 @@ DIST mutter-3.30.2-r1-patchset.tar.xz 14096 BLAKE2B 83f2e975a4404b878e832a70fe7a DIST mutter-3.30.2-r3-patchset.tar.xz 30208 BLAKE2B 502e9c1d005cf268548e2732d4574b0eb7491940531c77c357e73e2da23b60acfbb183f9e818edd86cf0d6abca4e43c2e687db27544bb4fe7e9a33a162df01da SHA512 22b66395ffae07b208efa3a1305c71ea2282470a08300a5c3de23a2a45f03afef7804d5943934028286406adedbb9851dc562f4e57fdff77df22591893f0908b DIST mutter-3.30.2-r4-patchset.tar.xz 44820 BLAKE2B 2448dcd6bca338dbe2b87a93ca4374fd5b4cc5d8834dd40739e74a65280b7f00b99d61361082673f5f41e44fb40e36f0889d5ee00fbc034efe87294540fba48e SHA512 a7024b95bc56ab25cfdb27003b4b1fc39925117795c05f78b2d473fdbcf3bb6ce870ee5bc030ec4ce5e10b42d94fa0007bf5870bd2a4e94de3885c9434a39835 DIST mutter-3.30.2.tar.xz 3725692 BLAKE2B 280b7a6319e5d4705baee965936df6f31ba8ca96ce3812cf640578c6817aaa82b6ff8fde7b2740ecd8edb6c4746f4608f997772a24d67f12fcb0c5c77fc9b29a SHA512 3890270b7eb4b8753274d30ad26693b829a69b31f36501845c59b000deb174be58b5167f6754767dba02ebc44688697fbe7344a327879a073955047b69333a2e +DIST mutter-3.32.2-patchset.tar.xz 26872 BLAKE2B 026c87cc3859624bcfd273694a8a34661d97cc77776e3df5f6f5de16b8758fc435773b1c96172b867fe0d9bea421c56986db2e7263c6ec3482171cc2adf06295 SHA512 e318fcfa4ee7850814cdfb5fbcc118a92fa3df524a78b24a440346be6a6c7cb975f90218a2d4feeacd222f2daf56c4cff4195c83e3ed74726dc1da63d38a93c5 +DIST mutter-3.32.2.tar.xz 2797664 BLAKE2B 8b69436778d9c3e10b0373c83e1f306cb2718e49ad1f351f2e3a1ef92caeb1eb7a391be07c60578cfb2601eea5dc3949b1d8305e9f079b2b00d43ff305409f00 SHA512 e4494d028ae71441fbdc584bd8acd9c2559d52ac72402bad9a7cb43f4f519487d11df6453172fd27a9df7f2cade020d6317931613bd0be343c66170e6cda0269 diff --git a/x11-wm/mutter/files/3.32.2-no-cogl-gles2.patch b/x11-wm/mutter/files/3.32.2-no-cogl-gles2.patch new file mode 100644 index 000000000000..41c3e94d8602 --- /dev/null +++ b/x11-wm/mutter/files/3.32.2-no-cogl-gles2.patch @@ -0,0 +1,81 @@ +From a00bd286724b3186c17d70f1b2fe98da2d90bf60 Mon Sep 17 00:00:00 2001 +From: Mart Raudsepp <leio@gentoo.org> +Date: Sun, 1 Sep 2019 14:42:04 +0300 +Subject: [PATCH] build: Allow building native backend without cogl-gles2 + +Native backend already requires gles2, but was controlled by gles2 +meson option, even though it's hard required with native_backend +already, and errored out if gles2 wasn't enabled too. +Instead allow native_backend to be built without cogl-gles2 by simply +checking for the gles2 hard requirement in case of have_native_backend +too and not erroring out without -Dgles2=true, which is now used only +for controlling cogl-gles2 build. +--- + meson.build | 10 +++------- + src/meson.build | 4 ++-- + 2 files changed, 5 insertions(+), 9 deletions(-) + +diff --git a/meson.build b/meson.build +index 6160a4bb3..c85284ba2 100644 +--- a/meson.build ++++ b/meson.build +@@ -150,12 +150,13 @@ endif + have_egl_xlib = have_egl and have_x11 + + have_gles2 = get_option('gles2') +-if have_gles2 ++have_native_backend = get_option('native_backend') ++if have_gles2 or have_native_backend + gles2_dep = dependency('glesv2') + gles2_libname = get_option('gles2_libname') + + if not have_egl +- error('GLESv2 support requires EGL to be enabled') ++ error('GLESv2 and native backend support requires EGL to be enabled') + endif + endif + +@@ -177,7 +178,6 @@ if have_libgudev + gudev_dep = dependency('gudev-1.0', version: gudev_req) + endif + +-have_native_backend = get_option('native_backend') + if have_native_backend + libdrm_dep = dependency('libdrm') + libgbm_dep = dependency('gbm', version: gbm_req) +@@ -194,10 +194,6 @@ if have_native_backend + error('The native backend requires EGL to be enabled') + endif + +- if not have_gles2 +- error('The native backend requires GLESv2 to be enabled') +- endif +- + if not have_libgudev + error('The native backend requires udev to be enabled') + endif +diff --git a/src/meson.build b/src/meson.build +index 182f7f5f5..af9776480 100644 +--- a/src/meson.build ++++ b/src/meson.build +@@ -36,7 +36,7 @@ if have_gl + ] + endif + +-if have_gles2 ++if have_native_backend + mutter_pkg_private_deps += [ + gles2_dep, + ] +@@ -436,7 +436,7 @@ if have_egl + ] + endif + +-if have_gles2 ++if have_native_backend + mutter_sources += [ + 'backends/meta-gles3.c', + 'backends/meta-gles3.h', +-- +2.20.1 + diff --git a/x11-wm/mutter/mutter-3.32.2.ebuild b/x11-wm/mutter/mutter-3.32.2.ebuild new file mode 100644 index 000000000000..ef0a01e2b375 --- /dev/null +++ b/x11-wm/mutter/mutter-3.32.2.ebuild @@ -0,0 +1,146 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit gnome.org gnome2-utils meson virtualx xdg + +DESCRIPTION="GNOME 3 compositing window manager based on Clutter" +HOMEPAGE="https://gitlab.gnome.org/GNOME/mutter/" +SRC_URI+=" https://dev.gentoo.org/~leio/distfiles/${PF}-patchset.tar.xz" + +LICENSE="GPL-2+" +SLOT="0/4" # 0/libmutter_api_version - ONLY gnome-shell (or anything using mutter-clutter-<api_version>.pc) should use the subslot + +IUSE="elogind gles2 input_devices_wacom +introspection screencast systemd test udev wayland" +# native backend requires gles3 for hybrid graphics blitting support, udev and a logind provider +REQUIRED_USE=" + wayland? ( ^^ ( elogind systemd ) udev ) + test? ( wayland )" +RESTRICT="!test? ( test )" + +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86" + +# libXi-1.7.4 or newer needed per: +# https://bugzilla.gnome.org/show_bug.cgi?id=738944 - https://gitlab.gnome.org/GNOME/mutter/merge_requests/766 + +# gnome-settings-daemon is build checked, but used at runtime only for org.gnome.settings-daemon.peripherals.keyboard gschema +# xorg-server is needed at build and runtime with USE=wayland for Xwayland +# v3.32.2 has many excessive or unused *_req variables declared, thus currently the dep order ignores those and goes via dependency() call order +DEPEND=" + x11-libs/libX11 + >=x11-libs/gtk+-3.19.8:3[X,introspection?] + x11-libs/gdk-pixbuf:2 + >=x11-libs/pango-1.30[introspection?] + >=x11-libs/cairo-1.14[X] + >=gnome-base/gsettings-desktop-schemas-3.31.0[introspection?] + >=dev-libs/glib-2.53.2:2 + gnome-base/gnome-settings-daemon + >=dev-libs/json-glib-0.12.0[introspection?] + gnome-base/gnome-desktop:3= + >=x11-libs/libXcomposite-0.4 + x11-libs/libXcursor + x11-libs/libXdamage + x11-libs/libXext + >=x11-libs/libXfixes-3 + >=x11-libs/libXi-1.7.4 + x11-libs/libXtst + x11-libs/libxkbfile + x11-misc/xkeyboard-config + >=x11-libs/libxkbcommon-0.4.3[X] + x11-libs/libXrender + >=x11-libs/libXrandr-1.5.0 + x11-libs/libxcb + x11-libs/libXinerama + x11-libs/libICE + >=dev-libs/atk-2.5.3[introspection?] + >=media-libs/libcanberra-0.26 + media-libs/mesa[X(+),egl,gles2?] + wayland? ( + >=dev-libs/wayland-protocols-1.16 + >=dev-libs/wayland-1.13.0 + x11-libs/libdrm:= + >=media-libs/mesa-10.3[egl,gbm,wayland,gles2] + >=dev-libs/libinput-1.4 + systemd? ( sys-apps/systemd ) + elogind? ( sys-auth/elogind ) + x11-base/xorg-server[wayland] + ) + udev? ( >=virtual/libudev-228:= + >=virtual/libgudev-232:= ) + x11-libs/libSM + input_devices_wacom? ( >=dev-libs/libwacom-0.13 ) + >=x11-libs/startup-notification-0.7 + screencast? ( >=media-video/pipewire-0.2.2:0/0.2 ) + introspection? ( >=dev-libs/gobject-introspection-1.54:= ) +" +RDEPEND="${DEPEND} + gnome-extra/zenity +" +DEPEND="${DEPEND} + x11-base/xorg-proto +" +# wayland bdepend for wayland-scanner, xorg-server for cvt utility +BDEPEND=" + dev-libs/wayland + >=dev-util/meson-0.50.0 + dev-util/gdbus-codegen + dev-util/glib-utils + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig + test? ( app-text/docbook-xml-dtd:4.5 ) + wayland? ( >=sys-kernel/linux-headers-4.4 + x11-base/xorg-server ) +" + +PATCHES=( + # Some patches from gnome-3-32 branch on top of 3.32.2 + "${WORKDIR}"/patches/ + # Allow building USE=wayland without cogl-gles2 from USE=gles2 + "${FILESDIR}"/${PV}-no-cogl-gles2.patch +) + +src_configure() { + # TODO: Replicate debug vs release meson build type behaviour under our buildtype=plain + local emesonargs=( + -Dopengl=true + #opengl_libname + #gles2_libname + $(meson_use gles2) + -Degl=true + -Dglx=true + $(meson_use wayland) + $(meson_use wayland native_backend) + $(meson_use screencast remote_desktop) + -Degl_device=false # This should be dependent on wayland,video_drivers_nvidia, once eglstream support is there + -Dwayland_eglstream=false # requires packages egl-wayland for wayland-eglstream-protocols.pc + $(meson_use udev) + $(meson_use input_devices_wacom libwacom) + -Dpango_ft2=true + -Dstartup_notification=true + -Dsm=true + $(meson_use introspection) + $(meson_use test cogl_tests) + $(meson_use test clutter_tests) + $(meson_use test tests) + -Dinstalled_tests=false + #verbose # Let upstream choose default for verbose mode + #xwayland_path + # TODO: relies on default settings, but in Gentoo we might have some more packages we want to give Xgrab access (mostly virtual managers and remote desktops) + #xwayland_grab_default_access_rules + ) + meson_src_configure +} + +src_test() { + virtx meson_src_test +} + +pkg_postinst() { + xdg_pkg_postinst + gnome2_schemas_update +} + +pkg_postrm() { + xdg_pkg_postrm + gnome2_schemas_update +} |