fixed pano so it works on gnome 47

This commit is contained in:
Danilo Reyes 2024-12-06 18:40:13 -06:00
parent 1ab8508d46
commit 2e6ad43e10
2 changed files with 81 additions and 0 deletions

51
pkgs/pano/default.nix Normal file
View File

@ -0,0 +1,51 @@
{
stdenv,
gsound,
libgda6,
lib,
fetchzip,
substituteAll,
buildPackages,
}:
stdenv.mkDerivation rec {
pname = "gnome-shell-extension-pano";
version = "23-alpha3";
src = fetchzip {
url = "https://github.com/oae/gnome-shell-pano/releases/download/v${version}/pano@elhan.io.zip";
hash = "sha256-LYpxsl/PC8hwz0ZdH5cDdSZPRmkniBPUCqHQxB4KNhc=";
stripRoot = false;
};
patches = [
(substituteAll {
src = ./pano_at_elhan.io.patch;
inherit gsound libgda6;
})
];
nativeBuildInputs = [ buildPackages.glib ];
buildPhase = ''
runHook preBuild
if [ -d schemas ]; then
glib-compile-schemas --strict schemas
fi
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/share/gnome-shell/extensions/
cp -r -T . $out/share/gnome-shell/extensions/pano@elhan.io
runHook postInstall
'';
meta = {
description = "Next-gen Clipboard manager for Gnome Shell";
homepage = "https://github.com/oae/gnome-shell-pano";
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.linux;
};
passthru = {
extensionPortalSlug = "pano";
extensionUuid = "pano@elhan.io";
};
}

View File

@ -0,0 +1,30 @@
diff --git a/__nix-prepend-search-paths.js b/__nix-prepend-search-paths.js
new file mode 100644
index 0000000..bf3071b
--- /dev/null
+++ b/__nix-prepend-search-paths.js
@@ -0,0 +1,3 @@
+import GIRepository from 'gi://GIRepository';
+GIRepository.Repository.prepend_search_path('@gsound@/lib/girepository-1.0');
+GIRepository.Repository.prepend_search_path('@libgda6@/lib/girepository-1.0');
diff --git a/extension.js b/extension.js
index a3d6741..6a38850 100644
--- a/extension.js
+++ b/extension.js
@@ -1,3 +1,4 @@
+import './__nix-prepend-search-paths.js';
import Gio from 'gi://Gio';
import GLib from 'gi://GLib';
import Shell from 'gi://Shell';
diff --git a/prefs.js b/prefs.js
index 5dd94eb..634b2ef 100644
--- a/prefs.js
+++ b/prefs.js
@@ -2,6 +2,7 @@
import Gdk from 'gi://Gdk';
import Gtk from 'gi://Gtk';
import Adw from 'gi://Adw';
+import './__nix-prepend-search-paths.js';
import Gio from 'gi://Gio';
import Pango from 'gi://Pango';
import GObject from 'gi://GObject';