From b65b04d4ffc39686c4c2cc82d06765c5c835cd29 Mon Sep 17 00:00:00 2001 From: Stefan Junker Date: Mon, 23 Nov 2020 19:23:34 +0100 Subject: wezterm: initial package --- .../terminal-emulators/wezterm/default.nix | 85 ++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 pkgs/applications/terminal-emulators/wezterm/default.nix (limited to 'pkgs/applications/terminal-emulators') 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; + }; +} -- cgit v1.2.3