about summary refs log tree commit diff
path: root/pkgs/applications/terminal-emulators/wezterm
diff options
context:
space:
mode:
authorStefan Junker <mail@stefanjunker.de>2020-11-23 19:23:34 +0100
committerMatthieu Coudron <teto@users.noreply.github.com>2020-12-15 12:07:24 +0100
commitb65b04d4ffc39686c4c2cc82d06765c5c835cd29 (patch)
treef507d7cbb581d45ce0d355423a094520c7b9d152 /pkgs/applications/terminal-emulators/wezterm
parentc5d2491fd1fe5573a47d14707535d265d7af0a26 (diff)
wezterm: initial package
Diffstat (limited to 'pkgs/applications/terminal-emulators/wezterm')
-rw-r--r--pkgs/applications/terminal-emulators/wezterm/default.nix85
1 files changed, 85 insertions, 0 deletions
diff --git a/pkgs/applications/terminal-emulators/wezterm/default.nix b/pkgs/applications/terminal-emulators/wezterm/default.nix
new file mode 100644
index 0000000000000..7a0cf13b0c780
--- /dev/null
+++ b/pkgs/applications/terminal-emulators/wezterm/default.nix
@@ -0,0 +1,85 @@
+{ rustPlatform
+, lib
+, fetchFromGitHub
+
+, pkg-config
+, fontconfig
+, python3
+, openssl
+, perl
+
+, dbus
+, libX11
+, xcbutil
+, libxcb
+, xcbutilkeysyms
+, xcbutilwm # contains xcb-ewmh among others
+, libxkbcommon
+, libglvnd # libEGL.so.1
+, egl-wayland
+, wayland
+, libGLU
+, libGL
+, freetype
+, zlib
+}:
+let
+  runtimeDeps = [
+    libX11
+    xcbutil
+    libxcb
+    xcbutilkeysyms
+    xcbutilwm
+    libxkbcommon
+    dbus
+    libglvnd
+    zlib
+    egl-wayland
+    wayland
+    libGLU
+    libGL
+    fontconfig
+    freetype
+  ];
+  pname = "wezterm";
+in
+
+rustPlatform.buildRustPackage {
+  inherit pname;
+  version = "unstable-2020-11-22";
+
+  src = fetchFromGitHub {
+    owner = "wez";
+    repo = pname;
+    rev = "3bd8d8c84591f4d015ff9a47ddb478e55c231fda";
+    sha256 = "13xf3685kir4p159hsxrqkj9p2lwgfp0n13h9zadslrd44l8b8j8";
+  };
+  cargoSha256 = "1i983ix7kdq7kd1i14kk3ra7jiihrd7n4pxmfifbj48g3kyxn2pq";
+
+  nativeBuildInputs = [
+    pkg-config
+    python3
+    openssl.dev
+    perl
+  ];
+
+  buildInputs = runtimeDeps;
+
+  installPhase = ''
+    for artifact in wezterm wezterm-gui wezterm-mux-server strip-ansi-escapes; do
+      patchelf --set-rpath "${lib.makeLibraryPath runtimeDeps}" $releaseDir/$artifact
+      install -D $releaseDir/$artifact -t $out/bin
+    done
+  '';
+
+  # prevent further changes to the RPATH
+  dontPatchELF = true;
+
+  meta = with lib; {
+    description = "A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust";
+    homepage = "https://wezfurlong.org/wezterm";
+    license = licenses.mit;
+    maintainers = with maintainers; [ steveej ];
+    platforms = platforms.unix;
+  };
+}