about summary refs log tree commit diff
path: root/pkgs/desktops/gnome
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/desktops/gnome')
-rw-r--r--pkgs/desktops/gnome/core/epiphany/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/mutter/43/default.nix2
-rw-r--r--pkgs/desktops/gnome/core/mutter/default.nix2
-rw-r--r--pkgs/desktops/gnome/extensions/extensionOverrides.nix14
-rw-r--r--pkgs/desktops/gnome/extensions/extensionOverridesPatches/gtk4-ding_at_smedius.gitlab.com.patch109
5 files changed, 127 insertions, 4 deletions
diff --git a/pkgs/desktops/gnome/core/epiphany/default.nix b/pkgs/desktops/gnome/core/epiphany/default.nix
index 4c99e0381221..52711726ec5e 100644
--- a/pkgs/desktops/gnome/core/epiphany/default.nix
+++ b/pkgs/desktops/gnome/core/epiphany/default.nix
@@ -36,11 +36,11 @@
 
 stdenv.mkDerivation rec {
   pname = "epiphany";
-  version = "44.2";
+  version = "44.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "sfbfFftqYX/t1hmLLcqr1EENJYNECdpRVwndd8/FazM=";
+    sha256 = "9ekEsuUQIQTYt/46YVA0rdeN4DEWSStUy968ooC92Jk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome/core/mutter/43/default.nix b/pkgs/desktops/gnome/core/mutter/43/default.nix
index 56bd69e499c5..6c91193851a9 100644
--- a/pkgs/desktops/gnome/core/mutter/43/default.nix
+++ b/pkgs/desktops/gnome/core/mutter/43/default.nix
@@ -74,7 +74,7 @@ stdenv.mkDerivation (finalAttrs: {
     "-Dinstalled_tests=false" # TODO: enable these
     "-Dwayland_eglstream=true"
     "-Dprofiler=true"
-    "-Dxwayland_path=${xwayland}/bin/Xwayland"
+    "-Dxwayland_path=${lib.getExe xwayland}"
     # This should be auto detected, but it looks like it manages a false
     # positive.
     "-Dxwayland_initfd=disabled"
diff --git a/pkgs/desktops/gnome/core/mutter/default.nix b/pkgs/desktops/gnome/core/mutter/default.nix
index ec3d69459043..3a2d8981b0b8 100644
--- a/pkgs/desktops/gnome/core/mutter/default.nix
+++ b/pkgs/desktops/gnome/core/mutter/default.nix
@@ -81,7 +81,7 @@ stdenv.mkDerivation (finalAttrs: {
     "-Dtests=false"
     "-Dwayland_eglstream=true"
     "-Dprofiler=true"
-    "-Dxwayland_path=${xwayland}/bin/Xwayland"
+    "-Dxwayland_path=${lib.getExe xwayland}"
     # This should be auto detected, but it looks like it manages a false
     # positive.
     "-Dxwayland_initfd=disabled"
diff --git a/pkgs/desktops/gnome/extensions/extensionOverrides.nix b/pkgs/desktops/gnome/extensions/extensionOverrides.nix
index aba6bf6b3fc4..394abf3577eb 100644
--- a/pkgs/desktops/gnome/extensions/extensionOverrides.nix
+++ b/pkgs/desktops/gnome/extensions/extensionOverrides.nix
@@ -19,8 +19,10 @@
 , smartmontools
 , substituteAll
 , touchegg
+, util-linux
 , vte
 , wrapGAppsHook
+, xdg-utils
 , xprop
 }:
 let
@@ -94,6 +96,18 @@ super: lib.trivial.pipe super [
     '';
   }))
 
+  (patchExtension "gtk4-ding@smedius.gitlab.com" (old: {
+    patches = [
+      (substituteAll {
+        inherit gjs util-linux xdg-utils;
+        util_linux = util-linux;
+        xdg_utils = xdg-utils;
+        src = ./extensionOverridesPatches/gtk4-ding_at_smedius.gitlab.com.patch;
+        nautilus_gsettings_path = "${glib.getSchemaPath gnome.nautilus}";
+      })
+    ];
+  }))
+
   (patchExtension "pano@elhan.io" (old: {
     patches = [
       (substituteAll {
diff --git a/pkgs/desktops/gnome/extensions/extensionOverridesPatches/gtk4-ding_at_smedius.gitlab.com.patch b/pkgs/desktops/gnome/extensions/extensionOverridesPatches/gtk4-ding_at_smedius.gitlab.com.patch
new file mode 100644
index 000000000000..a0877b1461d4
--- /dev/null
+++ b/pkgs/desktops/gnome/extensions/extensionOverridesPatches/gtk4-ding_at_smedius.gitlab.com.patch
@@ -0,0 +1,109 @@
+diff --git a/app/createThumbnail.js b/app/createThumbnail.js
+index ebe5213..9f67873 100755
+--- a/app/createThumbnail.js
++++ b/app/createThumbnail.js
+@@ -1,4 +1,4 @@
+-#!/usr/bin/gjs
++#!@gjs@/bin/gjs
+ 
+ /* DING: Desktop Icons New Generation for GNOME Shell
+  *
+diff --git a/app/ding.js b/app/ding.js
+index b200be4..3ce05ef 100755
+--- a/app/ding.js
++++ b/app/ding.js
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env gjs
++#!@gjs@/bin/gjs
+ 
+ /* DING: Desktop Icons New Generation for GNOME Shell
+  *
+diff --git a/app/fileItemMenu.js b/app/fileItemMenu.js
+index cadca48..9632ecc 100644
+--- a/app/fileItemMenu.js
++++ b/app/fileItemMenu.js
+@@ -683,7 +683,7 @@ var FileItemMenu = class {
+             return;
+         }
+         let xdgEmailCommand = [];
+-        xdgEmailCommand.push('xdg-email');
++        xdgEmailCommand.push('@xdg_utils@/bin/xdg-email');
+         for (let fileItem of this._desktopManager.getCurrentSelection(false)) {
+             fileItem.unsetSelected();
+             xdgEmailCommand.push('--attach');
+diff --git a/app/preferences.js b/app/preferences.js
+index c89271c..29f0db8 100644
+--- a/app/preferences.js
++++ b/app/preferences.js
+@@ -31,6 +31,7 @@ var Preferences = class {
+         this._extensionPath = Data.codePath;
+         this._Enums = Data.Enums;
+         let schemaSource = GioSSS.get_default();
++        const schemaSourceNautilus = Gio.SettingsSchemaSource.new_from_directory('@nautilus_gsettings_path@', Gio.SettingsSchemaSource.get_default(), true);
+         this._desktopManager = null;
+ 
+         // Gtk
+@@ -38,7 +39,7 @@ var Preferences = class {
+         this.gtkSettings = new Gio.Settings({ settings_schema: schemaGtk });
+ 
+         // Gnome Files
+-        let schemaObj = schemaSource.lookup(this._Enums.SCHEMA_NAUTILUS, true);
++        let schemaObj = schemaSourceNautilus.lookup(this._Enums.SCHEMA_NAUTILUS, true);
+         if (!schemaObj) {
+             this.nautilusSettings = null;
+             this.CLICK_POLICY_SINGLE = false;
+@@ -47,7 +48,7 @@ var Preferences = class {
+         }
+ 
+         // Compression
+-        const compressionSchema = schemaSource.lookup(this._Enums.SCHEMA_NAUTILUS_COMPRESSION, true);
++        const compressionSchema = schemaSourceNautilus.lookup(this._Enums.SCHEMA_NAUTILUS_COMPRESSION, true);
+         if (!compressionSchema)
+             this.nautilusCompression = null;
+         else
+diff --git a/app/thumbnailapp.js b/app/thumbnailapp.js
+index b22bbe0..c5c7711 100755
+--- a/app/thumbnailapp.js
++++ b/app/thumbnailapp.js
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env gjs
++#!@gjs@/bin/gjs
+ 
+ /* DING: Desktop Icons New Generation for GNOME Shell
+  *
+diff --git a/extension.js b/extension.js
+index 2e5bcaa..4eaa108 100644
+--- a/extension.js
++++ b/extension.js
+@@ -373,7 +373,7 @@ function getDesktopGeometry() {
+ async function doKillAllOldDesktopProcesses() {
+     const procFolder = Gio.File.new_for_path('/proc');
+     const processes = await FileUtils.enumerateDir(procFolder);
+-    const thisPath = `gjs ${GLib.build_filenamev([
++    const thisPath = `@gjs@/bin/gjs ${GLib.build_filenamev([
+         ExtensionUtils.getCurrentExtension().path,
+         'app',
+         'ding.js',
+@@ -397,7 +397,7 @@ async function doKillAllOldDesktopProcesses() {
+             }
+ 
+             if (contents.startsWith(thisPath)) {
+-                let proc = new Gio.Subprocess({ argv: ['/bin/kill', filename] });
++                let proc = new Gio.Subprocess({ argv: ['@util_linux@/bin/kill', filename] });
+                 proc.init(null);
+                 print(`Killing old DING process ${filename}`);
+                 await proc.wait_async_promise(null);
+diff --git a/prefs.js b/prefs.js
+index 1ad0cad..d830f11 100644
+--- a/prefs.js
++++ b/prefs.js
+@@ -46,7 +46,8 @@ function fillPreferencesWindow(window) {
+     let schemaSource = GioSSS.get_default();
+     let schemaGtk = schemaSource.lookup(Enums.SCHEMA_GTK, true);
+     let gtkSettings = new Gio.Settings({ settings_schema: schemaGtk });
+-    let schemaNautilus = schemaSource.lookup(Enums.SCHEMA_NAUTILUS, true);
++    const schemaSourceNautilus = Gio.SettingsSchemaSource.new_from_directory('@nautilus_gsettings_path@', Gio.SettingsSchemaSource.get_default(), true);
++    let schemaNautilus = schemaSourceNautilus.lookup(Enums.SCHEMA_NAUTILUS, true);
+     let nautilusSettings;
+     if (!schemaNautilus)
+         nautilusSettings = null;