summaryrefslogtreecommitdiffstats
path: root/pkgs/applications/terminal-emulators
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
parentc5d2491fd1fe5573a47d14707535d265d7af0a26 (diff)
wezterm: initial package
Diffstat (limited to 'pkgs/applications/terminal-emulators')
-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 000000000000..7a0cf13b0c78
--- /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;
+ };
+}