summary refs log tree commit diff
path: root/pkgs/applications/misc/termite/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/misc/termite/default.nix')
-rw-r--r--pkgs/applications/misc/termite/default.nix42
1 files changed, 39 insertions, 3 deletions
diff --git a/pkgs/applications/misc/termite/default.nix b/pkgs/applications/misc/termite/default.nix
index 6a9de364446..2a610edde03 100644
--- a/pkgs/applications/misc/termite/default.nix
+++ b/pkgs/applications/misc/termite/default.nix
@@ -1,6 +1,40 @@
-{ stdenv, fetchFromGitHub, fetchpatch, pkgconfig, vte-ng, gtk3, ncurses, wrapGAppsHook }:
+{ stdenv, fetchFromGitHub, fetchpatch, pkgconfig, vte, gtk3, ncurses, pcre2, wrapGAppsHook }:
 
-stdenv.mkDerivation rec {
+let
+
+  # termite requires VTE with some internals exposed
+  # https://github.com/thestinger/vte-ng
+  vte-ng =  vte.overrideAttrs (attrs: {
+    patches = attrs.patches or [] ++ [
+      (fetchpatch {
+        name = "0001-expose-functions-for-pausing-unpausing-output.patch";
+        url = "https://github.com/thestinger/vte-ng/commit/342e26574f50dcd40bbeaad9e839c2a6144d0c1c.patch";
+        sha256 = "1b0k9ys545q85vfki417p21kis9f36yd0hyp12phayynss6fn715";
+      })
+      (fetchpatch {
+        name = "0002-expose-function-for-setting-cursor-position.patch";
+        url = "https://github.com/thestinger/vte-ng/commit/5ae3acb69474fe5bc43767a4a3625e9ed23607a1.patch";
+        sha256 = "091sb44g2pl0zbxnxidpfmsqqc65dmkakhjb0wvlnsjckqalhs89";
+      })
+      (fetchpatch {
+        name = "0003-add-function-for-setting-the-text-selections.patch";
+        url = "https://github.com/thestinger/vte-ng/commit/742d57ecf15e24f6a5f2133a81b6c70acc8ff03c.patch";
+        sha256 = "12rq3svbj1nzridbssxsvmmb8njky3w8qdnkymz7850b3kqg277x";
+      })
+      (fetchpatch {
+        name = "0004-add-functions-to-get-set-block-selection-mode.patch";
+        url = "https://github.com/thestinger/vte-ng/commit/08748fd9cb82bd191e5c476b1682ca71f7732572.patch";
+        sha256 = "1cnhd8f7ywdgcyd6xmcd2nn39jjxzkxp4d0zsj2k7m5v74nhcs1g";
+      })
+      (fetchpatch {
+        name = "0005-expose-function-for-getting-the-selected-text.patch";
+        url = "https://github.com/thestinger/vte-ng/commit/dd74ae7c06e8888af2fc090ac6f8920a9d8227fb.patch";
+        sha256 = "0pbnbkwqxm4p9xsgvqwayvh8srk5z1kyjnigmahf9mlqn7hi6v27";
+      })
+    ];
+  });
+
+in stdenv.mkDerivation rec {
   pname = "termite";
   version = "15";
 
@@ -24,12 +58,14 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "VERSION=v${version}" "PREFIX=" "DESTDIR=$(out)" ];
 
-  buildInputs = [ vte-ng gtk3 ncurses ];
+  buildInputs = [ vte-ng gtk3 ncurses pcre2 ];
 
   nativeBuildInputs = [ wrapGAppsHook pkgconfig ];
 
   outputs = [ "out" "terminfo" ];
 
+  passthru = { inherit vte-ng; };
+
   postInstall = ''
     mkdir -p $terminfo/share
     mv $out/share/terminfo $terminfo/share/terminfo