diff options
-rw-r--r-- | pkgs/applications/terminal-emulators/wezterm/default.nix | 85 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 2 |
2 files changed, 87 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; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8d861c494696..9e336517b32a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -801,6 +801,8 @@ in wayst = callPackage ../applications/terminal-emulators/wayst { }; + wezterm = callPackage ../applications/terminal-emulators/wezterm { }; + x3270 = callPackage ../applications/terminal-emulators/x3270 { }; xterm = callPackage ../applications/terminal-emulators/xterm { }; |