about summary refs log tree commit diff
path: root/pkgs/applications/terminal-emulators/guake/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/terminal-emulators/guake/default.nix')
-rw-r--r--pkgs/applications/terminal-emulators/guake/default.nix44
1 files changed, 37 insertions, 7 deletions
diff --git a/pkgs/applications/terminal-emulators/guake/default.nix b/pkgs/applications/terminal-emulators/guake/default.nix
index 667da3ec229fd..239d9a2fe0486 100644
--- a/pkgs/applications/terminal-emulators/guake/default.nix
+++ b/pkgs/applications/terminal-emulators/guake/default.nix
@@ -1,34 +1,60 @@
 { lib
 , fetchFromGitHub
+, fetchpatch
 , python3
 , glibcLocales
 , gobject-introspection
-, wrapGAppsHook
+, wrapGAppsHook3
 , gtk3
 , keybinder3
 , libnotify
 , libutempter
 , vte
 , libwnck
+, dconf
 , nixosTests
 }:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "guake";
-  version = "3.9.0";
+  version = "3.10";
 
-  format = "other";
+  pyproject = false;
 
   src = fetchFromGitHub {
     owner = "Guake";
     repo = "guake";
     rev = "refs/tags/${version}";
-    sha256 = "sha256-BW13fBH26UqMPMjV8JC4QkpgzyoPfCpAfSkJD68uOZU=";
+    hash = "sha256-e6Bf4HDftHBxFPcw9z02CqgZhSIvt6wlLF6dnIh9fEc=";
   };
 
+  patches = [
+    # Avoid trying to recompile schema at runtime,
+    # the package should be responsible for ensuring it is up to date.
+    # Without this, the package will try to run glib-compile-schemas
+    # on every update, which is pointless and will crash
+    # unless user has it installed.
+    ./no-compile-schemas.patch
+
+    # Avoid using pip since it fails on not being able to find setuptools.
+    # Note: This is not a long-term solution, setup.py is deprecated.
+    (fetchpatch {
+      url = "https://github.com/Guake/guake/commit/14abaa0c69cfab64fe3467fbbea211d830042de8.patch";
+      hash = "sha256-RjGRFJDTQX2meAaw3UZi/3OxAtIHbRZVpXTbcJk/scY= ";
+      revert = true;
+    })
+
+    # Revert switch to FHS.
+    (fetchpatch {
+      url = "https://github.com/Guake/guake/commit/8c7a23ba62ee262c033dfa5b0b18d3df71361ff4.patch";
+      hash = "sha256-0asXI08XITkFc73EUenV9qxY/Eak+TzygRRK7GvhQUc=";
+      revert = true;
+    })
+  ];
+
   nativeBuildInputs = [
     gobject-introspection
-    wrapGAppsHook
+    wrapGAppsHook3
     python3.pkgs.pip
   ];
 
@@ -57,7 +83,11 @@ python3.pkgs.buildPythonApplication rec {
   ];
 
   preFixup = ''
-    gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libutempter ]}")
+    gappsWrapperArgs+=(
+      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libutempter ]}"
+      # For settings migration.
+      --prefix PATH : "${lib.makeBinPath [ dconf ]}"
+    )
   '';
 
   passthru.tests.test = nixosTests.terminal-emulators.guake;
@@ -65,7 +95,7 @@ python3.pkgs.buildPythonApplication rec {
   meta = with lib; {
     description = "Drop-down terminal for GNOME";
     homepage = "http://guake-project.org";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     maintainers = [ maintainers.msteen ];
     platforms = platforms.linux;
   };