about summary refs log tree commit diff
path: root/nixpkgs/pkgs/desktops/gnome
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/desktops/gnome')
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/evince/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/gnome-session/default.nix7
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/gnome-shell/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/mutter/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome/core/zenity/default.nix1
-rw-r--r--nixpkgs/pkgs/desktops/gnome/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/gnome/extensions/EasyScreenCast/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome/extensions/extensionRenames.nix1
-rw-r--r--nixpkgs/pkgs/desktops/gnome/extensions/manuallyPackaged.nix1
-rw-r--r--nixpkgs/pkgs/desktops/gnome/extensions/paperwm/default.nix42
-rw-r--r--nixpkgs/pkgs/desktops/gnome/misc/gnome-flashback/default.nix96
-rw-r--r--nixpkgs/pkgs/desktops/gnome/misc/gnome-panel/wrapper.nix66
-rw-r--r--nixpkgs/pkgs/desktops/gnome/misc/pomodoro/default.nix4
13 files changed, 119 insertions, 121 deletions
diff --git a/nixpkgs/pkgs/desktops/gnome/core/evince/default.nix b/nixpkgs/pkgs/desktops/gnome/core/evince/default.nix
index 505bfc7dbd6f..8312a4ca1726 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/evince/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/core/evince/default.nix
@@ -52,6 +52,10 @@ stdenv.mkDerivation rec {
     sha256 = "O4uhWBpHpun1f2tqoI8PtnVJxgEhqiTjEUDpOUe4NiI=";
   };
 
+  depsBuildBuild = [
+    pkg-config
+  ];
+
   nativeBuildInputs = [
     appstream
     desktop-file-utils
diff --git a/nixpkgs/pkgs/desktops/gnome/core/gnome-session/default.nix b/nixpkgs/pkgs/desktops/gnome/core/gnome-session/default.nix
index dcafff9e0ecf..3b33d289ddb0 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/gnome-session/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/core/gnome-session/default.nix
@@ -1,4 +1,5 @@
 { fetchurl
+, fetchpatch
 , lib
 , stdenv
 , substituteAll
@@ -47,6 +48,12 @@ stdenv.mkDerivation rec {
       dbusLaunch = "${dbus.lib}/bin/dbus-launch";
       bash = "${bash}/bin/bash";
     })
+    # See #226355. Can be removed on update to v45.
+    (fetchpatch {
+      name = "fix-gnome-boxes-crash.patch";
+      url = "https://gitlab.gnome.org/GNOME/gnome-session/commit/fab1a3b91677035d541de2c141f8073c4057342c.patch";
+      hash = "sha256-2xeoNgV8UDexkufXDqimAplX0GC99tUWUqjw3kfN+5Q=";
+    })
   ];
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/gnome/core/gnome-shell/default.nix b/nixpkgs/pkgs/desktops/gnome/core/gnome-shell/default.nix
index 4412a3064e91..176cb4271b8d 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/gnome-shell/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/core/gnome-shell/default.nix
@@ -67,13 +67,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "gnome-shell";
-  version = "44.4";
+  version = "44.5";
 
   outputs = [ "out" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-shell/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "HdUebujZL7y5XObd8Ruf7OiNImIsAQFf+pNgFpzUGGY=";
+    sha256 = "wWr84Dgd1ZNCfXCER6nR+sdInrApRe+zfpBMp0qSSjU=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/desktops/gnome/core/mutter/default.nix b/nixpkgs/pkgs/desktops/gnome/core/mutter/default.nix
index 0497078a126c..d9aa514bb0e6 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/mutter/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/core/mutter/default.nix
@@ -66,13 +66,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "mutter";
-  version = "44.4";
+  version = "44.5";
 
   outputs = [ "out" "dev" "man" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/mutter/${lib.versions.major finalAttrs.version}/mutter-${finalAttrs.version}.tar.xz";
-    sha256 = "M3IKWGywqacyr1oH7RPj89MqGml4EjURQKVLygBrlAw=";
+    sha256 = "8kfg7WXrYvKwd1RtUoPtbUf0Ar2mpDFkE1AdjK7Slnk=";
   };
 
   mesonFlags = [
diff --git a/nixpkgs/pkgs/desktops/gnome/core/zenity/default.nix b/nixpkgs/pkgs/desktops/gnome/core/zenity/default.nix
index b171ef202252..6ff36b1c1960 100644
--- a/nixpkgs/pkgs/desktops/gnome/core/zenity/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/core/zenity/default.nix
@@ -45,6 +45,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
+    mainProgram = "zenity";
     description = "Tool to display dialogs from the commandline and shell scripts";
     homepage = "https://wiki.gnome.org/Projects/Zenity";
     license = licenses.lgpl21Plus;
diff --git a/nixpkgs/pkgs/desktops/gnome/default.nix b/nixpkgs/pkgs/desktops/gnome/default.nix
index 3b827dcb2761..d356094942f3 100644
--- a/nixpkgs/pkgs/desktops/gnome/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/default.nix
@@ -238,9 +238,9 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   gnome-flashback = callPackage ./misc/gnome-flashback { };
 
-  gnome-panel = callPackage ./misc/gnome-panel {
-    autoreconfHook = pkgs.autoreconfHook269;
-  };
+  gnome-panel = callPackage ./misc/gnome-panel { };
+
+  gnome-panel-with-modules = callPackage ./misc/gnome-panel/wrapper.nix { };
 
   gnome-tweaks = callPackage ./misc/gnome-tweaks { };
 
diff --git a/nixpkgs/pkgs/desktops/gnome/extensions/EasyScreenCast/default.nix b/nixpkgs/pkgs/desktops/gnome/extensions/EasyScreenCast/default.nix
index 51c3c8360957..e6bcc1b411d5 100644
--- a/nixpkgs/pkgs/desktops/gnome/extensions/EasyScreenCast/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/extensions/EasyScreenCast/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "gnome-shell-extension-EasyScreenCast";
-  version = "1.7.0";
+  version = "1.7.1";
 
   src = fetchFromGitHub {
     owner = "EasyScreenCast";
     repo = "EasyScreenCast";
     rev = finalAttrs.version;
-    hash = "sha256-+cH/gczCdxoSrLp5nD82Spo8bSGyRnUUut3Xkmr9f3o=";
+    hash = "sha256-G7wdRFA0qL+6inVRLAmKoP0E0IOyvlmQIUwbDv/DbLI=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/desktops/gnome/extensions/extensionRenames.nix b/nixpkgs/pkgs/desktops/gnome/extensions/extensionRenames.nix
index 864a2096ded3..32cb0feaed02 100644
--- a/nixpkgs/pkgs/desktops/gnome/extensions/extensionRenames.nix
+++ b/nixpkgs/pkgs/desktops/gnome/extensions/extensionRenames.nix
@@ -120,7 +120,6 @@
   "EasyScreenCast@iacopodeenosee.gmail.com" = "easyScreenCast"; # extensionPortalSlug is "easyscreencast"
   "gnome-fuzzy-app-search@gnome-shell-extensions.Czarlie.gitlab.com" = "fuzzy-app-search"; # extensionPortalSlug is "gnome-fuzzy-app-search"
   "TopIcons@phocean.net" = "topicons-plus"; # extensionPortalSlug is "topicons"
-  "paperwm@hedning:matrix.org" = "paperwm"; # is not on extensions.gnome.org
   "no-title-bar@jonaspoehler.de" = "no-title-bar"; # extensionPortalSlug is "no-title-bar-forked"
   # These extensions are automatically packaged at the moment. We preserve the old attribute name
   # for backwards compatibility.
diff --git a/nixpkgs/pkgs/desktops/gnome/extensions/manuallyPackaged.nix b/nixpkgs/pkgs/desktops/gnome/extensions/manuallyPackaged.nix
index 80a71dd2cde3..6e8da3840f08 100644
--- a/nixpkgs/pkgs/desktops/gnome/extensions/manuallyPackaged.nix
+++ b/nixpkgs/pkgs/desktops/gnome/extensions/manuallyPackaged.nix
@@ -9,7 +9,6 @@
   "icon-hider@kalnitsky.org" = callPackage ./icon-hider { };
   "impatience@gfxmonk.net" = callPackage ./impatience { };
   "no-title-bar@jonaspoehler.de" = callPackage ./no-title-bar { };
-  "paperwm@hedning:matrix.org" = callPackage ./paperwm { };
   "pidgin@muffinmad" = callPackage ./pidgin-im-integration { };
   "pop-shell@system76.com" = callPackage ./pop-shell { };
   "sound-output-device-chooser@kgshank.net" = callPackage ./sound-output-device-chooser { };
diff --git a/nixpkgs/pkgs/desktops/gnome/extensions/paperwm/default.nix b/nixpkgs/pkgs/desktops/gnome/extensions/paperwm/default.nix
deleted file mode 100644
index 9bfa5f0761b8..000000000000
--- a/nixpkgs/pkgs/desktops/gnome/extensions/paperwm/default.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, gitUpdater
-}:
-
-stdenv.mkDerivation (finalAttrs: {
-  pname = "gnome-shell-extension-paperwm";
-  version = "44.3.1";
-
-  src = fetchFromGitHub {
-    owner = "paperwm";
-    repo = "PaperWM";
-    rev = "v${finalAttrs.version}";
-    hash = "sha256-oGBnQGtx2ku4cfgZkZ3OdHlVuiYR8hy1eYDWDZP3fn4=";
-  };
-
-  dontConfigure = true;
-  dontBuild = true;
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p "$out/share/gnome-shell/extensions/paperwm@hedning:matrix.org"
-    cp -r . "$out/share/gnome-shell/extensions/paperwm@hedning:matrix.org"
-
-    runHook postInstall
-  '';
-
-  passthru.updateScript = gitUpdater { url = finalAttrs.meta.homepage; };
-
-  meta = {
-    homepage = "https://github.com/paperwm/PaperWM";
-    description = "Tiled scrollable window management for Gnome Shell";
-    changelog = "https://github.com/paperwm/PaperWM/releases/tag/${finalAttrs.src.rev}";
-    license = lib.licenses.gpl3Plus;
-    maintainers = with lib.maintainers; [ hedning AndersonTorres cab404 ];
-    platforms = lib.platforms.all;
-  };
-
-  passthru.extensionUuid = "paperwm@hedning:matrix.org";
-})
diff --git a/nixpkgs/pkgs/desktops/gnome/misc/gnome-flashback/default.nix b/nixpkgs/pkgs/desktops/gnome/misc/gnome-flashback/default.nix
index cfe0903cce7b..ceb7d8d59a3d 100644
--- a/nixpkgs/pkgs/desktops/gnome/misc/gnome-flashback/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/misc/gnome-flashback/default.nix
@@ -127,72 +127,36 @@ let
         versionPolicy = "odd-unstable";
       };
 
-      mkSessionForWm = { wmName, wmLabel, wmCommand, enableGnomePanel, panelModulePackages }:
-        let
-          wmApplication = writeTextFile {
-            name = "gnome-flashback-${wmName}-wm";
-            destination = "/share/applications/${wmName}.desktop";
-            text = ''
-              [Desktop Entry]
-              Type=Application
-              Encoding=UTF-8
-              Name=${wmLabel}
-              Exec=${wmCommand}
-              NoDisplay=true
-              X-GNOME-WMName=${wmLabel}
-              X-GNOME-Autostart-Phase=WindowManager
-              X-GNOME-Provides=windowmanager
-              X-GNOME-Autostart-Notify=false
-            '';
-          };
+      mkWmApplication = { wmName, wmLabel, wmCommand }:
+        writeTextFile {
+          name = "gnome-flashback-${wmName}-wm";
+          destination = "/share/applications/${wmName}.desktop";
+          text = ''
+            [Desktop Entry]
+            Type=Application
+            Encoding=UTF-8
+            Name=${wmLabel}
+            Exec=${wmCommand}
+            NoDisplay=true
+            X-GNOME-WMName=${wmLabel}
+            X-GNOME-Autostart-Phase=WindowManager
+            X-GNOME-Provides=windowmanager
+            X-GNOME-Autostart-Notify=false
+          '';
+        };
 
-          gnomeSession = writeTextFile {
-            name = "gnome-flashback-${wmName}-gnome-session";
-            destination = "/share/gnome-session/sessions/gnome-flashback-${wmName}.session";
-            text = ''
-              [GNOME Session]
-              Name=GNOME Flashback (${wmLabel})
-              ${requiredComponents wmName enableGnomePanel}
-            '';
-          };
-
-          # gnome-panel will only look for applets in a single directory so symlink them into here.
-          panelModulesEnv = buildEnv {
-            name = "gnome-panel-modules-env";
-            # We always want to find the built-in panel applets.
-            paths = [ gnome-panel gnome-flashback ] ++ panelModulePackages;
-            pathsToLink = [ "/lib/gnome-panel/modules" ];
-          };
-
-          executable = stdenv.mkDerivation {
-            name = "gnome-flashback-${wmName}";
-            nativeBuildInputs = [ glib wrapGAppsHook ];
-            buildInputs = [ gnome-flashback ] ++ lib.optionals enableGnomePanel ([ gnome-panel ] ++ panelModulePackages);
-
-            # We want to use the wrapGAppsHook mechanism to wrap gnome-session
-            # with the environment that gnome-flashback and gnome-panel need to
-            # run, including the configured applet packages. This is only possible
-            # in the fixup phase, so turn everything else off.
-            dontUnpack = true;
-            dontConfigure = true;
-            dontBuild = true;
-            dontInstall = true;
-            dontWrapGApps = true; # We want to do the wrapping ourselves.
-
-            # gnome-flashback and gnome-panel need to be added to XDG_DATA_DIRS so that their .desktop files can be found by gnome-session.
-            # We need to pass the --builtin flag so that gnome-session invokes gnome-session-binary instead of systemd.
-            # If systemd is used, it doesn't use the environment we set up here and so it can't find the .desktop files.
-            preFixup = ''
-              makeWrapper ${gnome-session}/bin/gnome-session $out \
-                --add-flags "--session=gnome-flashback-${wmName} --builtin" \
-                --set-default XDG_CURRENT_DESKTOP 'GNOME-Flashback:GNOME' \
-                --prefix XDG_DATA_DIRS : '${lib.makeSearchPath "share" ([ wmApplication gnomeSession gnome-flashback ] ++ lib.optional enableGnomePanel gnome-panel)}' \
-                "''${gappsWrapperArgs[@]}" \
-                ${lib.optionalString enableGnomePanel "--set NIX_GNOME_PANEL_MODULESDIR '${panelModulesEnv}/lib/gnome-panel/modules'"}
-            '';
-          };
+      mkGnomeSession = { wmName, wmLabel, enableGnomePanel }:
+        writeTextFile {
+          name = "gnome-flashback-${wmName}-gnome-session";
+          destination = "/share/gnome-session/sessions/gnome-flashback-${wmName}.session";
+          text = ''
+            [GNOME Session]
+            Name=GNOME Flashback (${wmLabel})
+            ${requiredComponents wmName enableGnomePanel}
+          '';
+        };
 
-        in
+      mkSessionForWm = { wmName, wmLabel, wmCommand }:
         writeTextFile
           {
             name = "gnome-flashback-${wmName}-xsession";
@@ -201,7 +165,7 @@ let
               [Desktop Entry]
               Name=GNOME Flashback (${wmLabel})
               Comment=This session logs you into GNOME Flashback with ${wmLabel}
-              Exec=${executable}
+              Exec=${gnome-session}/bin/gnome-session --session=gnome-flashback-${wmName}
               TryExec=${wmCommand}
               Type=Application
               DesktopNames=GNOME-Flashback;GNOME;
@@ -211,7 +175,7 @@ let
         };
 
       mkSystemdTargetForWm = { wmName, wmLabel, wmCommand, enableGnomePanel }:
-        runCommand "gnome-flashback-${wmName}.target" {} ''
+        runCommand "gnome-flashback-${wmName}.target" { } ''
           mkdir -p $out/lib/systemd/user
           cp -r "${gnome-flashback}/lib/systemd/user/gnome-session@gnome-flashback-metacity.target.d" \
             "$out/lib/systemd/user/gnome-session@gnome-flashback-${wmName}.target.d"
diff --git a/nixpkgs/pkgs/desktops/gnome/misc/gnome-panel/wrapper.nix b/nixpkgs/pkgs/desktops/gnome/misc/gnome-panel/wrapper.nix
new file mode 100644
index 000000000000..6afee1051af4
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/gnome/misc/gnome-panel/wrapper.nix
@@ -0,0 +1,66 @@
+{ stdenv
+, lib
+, buildEnv
+, gnome-panel
+, gnome-flashback
+, xorg
+, glib
+, wrapGAppsHook
+, panelModulePackages ? [ ]
+}:
+
+let
+  # We always want to find the built-in panel applets.
+  selectedPanelModulePackages = [ gnome-panel gnome-flashback ] ++ panelModulePackages;
+
+  panelModulesEnv = buildEnv {
+    name = "gnome-panel-modules-env";
+    paths = selectedPanelModulePackages;
+    pathsToLink = [ "/lib/gnome-panel/modules" ];
+  };
+in
+stdenv.mkDerivation {
+  pname = "${gnome-panel.pname}-with-modules";
+  inherit (gnome-panel) version;
+
+  nativeBuildInputs = [
+    glib
+    wrapGAppsHook
+  ];
+
+  buildInputs = selectedPanelModulePackages ++
+    lib.forEach selectedPanelModulePackages (x: x.buildInputs or [ ]);
+
+  dontUnpack = true;
+  dontConfigure = true;
+  dontBuild = true;
+
+  preferLocalBuild = true;
+  allowSubstitutes = false;
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out
+    ${xorg.lndir}/bin/lndir -silent ${gnome-panel} $out
+
+    rm -r $out/lib/gnome-panel/modules
+    ${xorg.lndir}/bin/lndir -silent ${panelModulesEnv} $out
+
+    rm $out/share/applications/gnome-panel.desktop
+
+    substitute ${gnome-panel}/share/applications/gnome-panel.desktop \
+      $out/share/applications/gnome-panel.desktop --replace \
+      "Exec=${gnome-panel}/bin/gnome-panel" "Exec=$out/bin/gnome-panel"
+
+    runHook postInstall
+  '';
+
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --set NIX_GNOME_PANEL_MODULESDIR "$out/lib/gnome-panel/modules"
+    )
+  '';
+
+  meta = gnome-panel.meta // { outputsToInstall = [ "out" ]; };
+}
diff --git a/nixpkgs/pkgs/desktops/gnome/misc/pomodoro/default.nix b/nixpkgs/pkgs/desktops/gnome/misc/pomodoro/default.nix
index 4474c3c6a682..3067c5de5fb8 100644
--- a/nixpkgs/pkgs/desktops/gnome/misc/pomodoro/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome/misc/pomodoro/default.nix
@@ -24,13 +24,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-pomodoro";
-  version = "0.23.1";
+  version = "0.24.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    hash = "sha256-0ZUTRrth5AfzI1E4JsuchbYeFwAbl9/XGBSYQ+AnNvM=";
+    hash = "sha256-Yn0lDCFpc8o25iiPib1n1NEBeodNAdTzRWcnLbXUA5g=";
   };
 
   patches = [