gnome3.mutter: 3.34.4 -> 3.36.0

Now depends on wayland-protocols and pipewire-0.3

The auto detection of this feature fails with a false positive.
Resulting in broken wayland sessions.
wip/yesman
Tor Hedin Brønner 5 years ago committed by Jan Tojnar
parent 2338b394da
commit e577cce7d0
No known key found for this signature in database
GPG Key ID: 7FAB2A15F7A607A4
  1. 25
      pkgs/desktops/gnome-3/core/mutter/0001-build-use-get_pkgconfig_variable-for-sysprof-dbusdir.patch
  2. 30
      pkgs/desktops/gnome-3/core/mutter/default.nix
  3. 10
      pkgs/desktops/gnome-3/core/mutter/drop-inheritable.patch

@ -1,25 +0,0 @@
From 71acfd5258b4d12323fc51dda48e83830e62e696 Mon Sep 17 00:00:00 2001
From: worldofpeace <worldofpeace@protonmail.ch>
Date: Mon, 16 Sep 2019 11:18:27 -0400
Subject: [PATCH] build: use get_pkgconfig_variable for sysprof dbusdir
---
src/meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/meson.build b/src/meson.build
index 182f7f5f5..43060865b 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -710,7 +710,7 @@ if have_profiler
'backends/meta-profiler.h',
]
- dbus_interfaces_dir = join_paths(datadir, 'dbus-1', 'interfaces')
+ dbus_interfaces_dir = join_paths(sysprof_dep.get_pkgconfig_variable('prefix'), 'share', 'dbus-1', 'interfaces')
sysprof3_dbus_file = join_paths(dbus_interfaces_dir, 'org.gnome.Sysprof3.Profiler.xml')
dbus_sysprof3_profiler_built_sources = gnome.gdbus_codegen('meta-dbus-sysprof3-profiler',
--
2.22.1

@ -38,24 +38,30 @@
, desktop-file-utils
, libcap_ng
, egl-wayland
, graphene
, wayland-protocols
}:
stdenv.mkDerivation rec {
pname = "mutter";
version = "3.34.4";
version = "3.36.0";
outputs = [ "out" "dev" "man" ];
src = fetchurl {
url = "mirror://gnome/sources/mutter/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "18hbw98p4h3d4qz57415smwmfg72s9a0nk8mb04ds1gn2lsm2d01";
sha256 = "18lvj158w6gwc6xpvn699v8ykh1r5szry7sqascl6f1i8g628v2x";
};
mesonFlags = [
"-Degl_device=true"
"-Dinstalled_tests=false" # TODO: enable these
"-Dwayland_eglstream=true"
"-Dxwayland-path=${xwayland}/bin/Xwayland"
"-Dprofiler=true"
"-Dxwayland_path=${xwayland}/bin/Xwayland"
# This should be auto detected, but it looks like it manages a false
# positive.
"-Dxwayland_initfd=disabled"
];
propagatedBuildInputs = [
@ -63,6 +69,7 @@ stdenv.mkDerivation rec {
json-glib
libXtst
libcap_ng
graphene
];
nativeBuildInputs = [
@ -102,26 +109,25 @@ stdenv.mkDerivation rec {
xwayland
zenity
zenity
wayland-protocols
];
patches = [
# Fix build with libglvnd provided headers
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/mutter/commit/a444a4c5f58ea516ad3cd9d6ddc0056c3ca9bc90.patch";
sha256 = "0imy2j8af9477jliwdq4jc40yw1cifsjjf196gnmwxr9rkj0hbrd";
})
# Drop inheritable cap_sys_nice, to prevent the ambient set from leaking
# from mutter/gnome-shell, see https://github.com/NixOS/nixpkgs/issues/71381
./drop-inheritable.patch
# TODO: submit upstream
./0001-build-use-get_pkgconfig_variable-for-sysprof-dbusdir.patch
(substituteAll {
src = ./fix-paths.patch;
inherit zenity;
})
# Fix crash when opening submenus from «always on visible workspace» windows
# https://gitlab.gnome.org/GNOME/mutter/issues/1083
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/mutter/commit/7e32cc05ce2e5b3931ddcf46ce9ead603a0de39e.patch";
sha256 = "5ZzOMizucfrSnHNYjHIUObLHCvAIjrE6fY/CxLp4c7k=";
})
];
postPatch = ''

@ -41,12 +41,12 @@ index 3322bd3b1..01c8020fa 100644
# optional version requirements
udev_req = '>= 228'
@@ -125,6 +126,7 @@ xau_dep = dependency('xau')
ice_dep = dependency('ice')
@@ -131,6 +131,7 @@ ice_dep = dependency('ice')
atk_dep = dependency('atk', version: atk_req)
libcanberra_dep = dependency('libcanberra', version: libcanberra_req)
dbus_dep = dependency('dbus-1')
+libcapng_dep = dependency('libcap-ng', required: get_option('libcapng'))
# For now always require X11 support
have_x11 = true
@@ -256,6 +258,7 @@ have_core_tests = false
@ -65,10 +65,10 @@ index 3322bd3b1..01c8020fa 100644
cdata.set('HAVE_PROFILER', have_profiler)
xkb_base = xkeyboard_config_dep.get_pkgconfig_variable('xkb_base')
@@ -443,6 +447,7 @@ output = [
' Startup notification..... ' + have_startup_notification.to_string(),
@@ -465,6 +465,7 @@ output = [
' Introspection............ ' + have_introspection.to_string(),
' Profiler................. ' + have_profiler.to_string(),
' Xwayland initfd.......... ' + have_xwayland_initfd.to_string(),
+ ' libcap-ng................ ' + have_libcapng.to_string(),
'',
' Tests:',

Loading…
Cancel
Save