about summary refs log tree commit diff
path: root/pkgs/applications/terminal-emulators
diff options
context:
space:
mode:
authorSandro Jäckel <sandro.jaeckel@gmail.com>2022-04-30 03:36:12 +0200
committerSandro Jäckel <sandro.jaeckel@gmail.com>2022-04-30 03:36:12 +0200
commit5a5699b71eca4084da9234c238479bfeee639267 (patch)
treea953c9880a2884d9c115cd12d8cbcc4f218f0fad /pkgs/applications/terminal-emulators
parent9b310a73db7d4e20d979fe93a32d0eb6f5482e95 (diff)
wezterm: build terminfo file without compiling wezterm
Diffstat (limited to 'pkgs/applications/terminal-emulators')
-rw-r--r--pkgs/applications/terminal-emulators/wezterm/default.nix26
1 files changed, 17 insertions, 9 deletions
diff --git a/pkgs/applications/terminal-emulators/wezterm/default.nix b/pkgs/applications/terminal-emulators/wezterm/default.nix
index c51aee5268656..8f15a38111c8f 100644
--- a/pkgs/applications/terminal-emulators/wezterm/default.nix
+++ b/pkgs/applications/terminal-emulators/wezterm/default.nix
@@ -23,14 +23,13 @@
 , Foundation
 , libiconv
 , nixosTests
+, runCommand
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "wezterm";
   version = "20220408-101518-b908e2dd";
 
-  outputs = [ "out" "terminfo" ];
-
   src = fetchFromGitHub {
     owner = "wez";
     repo = pname;
@@ -75,10 +74,8 @@ rustPlatform.buildRustPackage rec {
   ];
 
   postInstall = ''
-    # terminfo
-    mkdir -p $terminfo/share/terminfo/w $out/nix-support
-    tic -x -o $terminfo/share/terminfo termwiz/data/wezterm.terminfo
-    echo "$terminfo" >> $out/nix-support/propagated-user-env-packages
+    mkdir -p $out/nix-support
+    echo "${passthru.terminfo}" >> $out/nix-support/propagated-user-env-packages
 
     # desktop icon
     install -Dm644 assets/icon/terminal.png $out/share/icons/hicolor/128x128/apps/org.wezfurlong.wezterm.png
@@ -100,9 +97,20 @@ rustPlatform.buildRustPackage rec {
     ln -s $out/bin/{wezterm,wezterm-mux-server,wezterm-gui,strip-ansi-escapes} "$OUT_APP"
   '';
 
-  passthru.tests = {
-    all-terminfo = nixosTests.allTerminfo;
-    test = nixosTests.terminal-emulators.wezterm;
+  passthru = {
+    tests = {
+      all-terminfo = nixosTests.allTerminfo;
+      terminal-emulators = nixosTests.terminal-emulators.wezterm;
+    };
+    terminfo = runCommand "wezterm-terminfo"
+      {
+        nativeBuildInputs = [
+          ncurses
+        ];
+      } ''
+      mkdir -p $out/share/terminfo $out/nix-support
+      tic -x -o $out/share/terminfo ${src}/termwiz/data/wezterm.terminfo
+    '';
   };
 
   meta = with lib; {