Merge pull request #135528 from SuperSandro2000/wezterm

wezterm: cleanup depedencies, drop steveej from maintainers
This commit is contained in:
Sandro 2021-08-24 16:46:15 +02:00 committed by GitHub
commit 6f8d57aca7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -4,24 +4,18 @@
, fetchFromGitHub , fetchFromGitHub
, ncurses , ncurses
, pkg-config , pkg-config
, fontconfig
, python3 , python3
, fontconfig
, openssl , openssl
, perl , libGL
, dbus
, libX11 , libX11
, xcbutil
, libxcb , libxcb
, libxkbcommon
, xcbutil
, xcbutilimage , xcbutilimage
, xcbutilkeysyms , xcbutilkeysyms
, xcbutilwm # contains xcb-ewmh among others , xcbutilwm
, libxkbcommon
, libglvnd # libEGL.so.1
, egl-wayland
, wayland , wayland
, libGLU
, libGL
, freetype
, zlib , zlib
# Apple frameworks # Apple frameworks
, CoreGraphics , CoreGraphics
@ -29,48 +23,21 @@
, Foundation , Foundation
, libiconv , libiconv
}: }:
let
runtimeDeps = [
zlib
fontconfig
freetype
] ++ lib.optionals stdenv.isLinux [
libX11
xcbutil
libxcb
xcbutilimage
xcbutilkeysyms
xcbutilwm
libxkbcommon
dbus
libglvnd
egl-wayland
wayland
libGLU
libGL
openssl
] ++ lib.optionals stdenv.isDarwin [
Foundation
CoreGraphics
Cocoa
libiconv
];
in
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "wezterm"; pname = "wezterm";
version = "20210814-124438-54e29167"; version = "20210814-124438-54e29167";
outputs = [ "out" "terminfo" ];
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "wez"; owner = "wez";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "sha256-6HXTftgAs6JMzOMCY+laN74in8xfjE8yJc5xSl9PQCE=";
fetchSubmodules = true; fetchSubmodules = true;
sha256 = "sha256-6HXTftgAs6JMzOMCY+laN74in8xfjE8yJc5xSl9PQCE=";
}; };
outputs = [ "out" "terminfo" ];
postPatch = '' postPatch = ''
echo ${version} > .tag echo ${version} > .tag
''; '';
@ -80,11 +47,28 @@ rustPlatform.buildRustPackage rec {
nativeBuildInputs = [ nativeBuildInputs = [
pkg-config pkg-config
python3 python3
perl ncurses # tic for terminfo
ncurses
]; ];
buildInputs = runtimeDeps; buildInputs = [
fontconfig
zlib
] ++ lib.optionals stdenv.isLinux [
libX11
libxcb
libxkbcommon
openssl
wayland
xcbutil
xcbutilimage
xcbutilkeysyms
xcbutilwm # contains xcb-ewmh among others
] ++ lib.optionals stdenv.isDarwin [
Cocoa
CoreGraphics
Foundation
libiconv
];
postInstall = '' postInstall = ''
# terminfo # terminfo
@ -102,9 +86,7 @@ rustPlatform.buildRustPackage rec {
''; '';
preFixup = lib.optionalString stdenv.isLinux '' preFixup = lib.optionalString stdenv.isLinux ''
for artifact in wezterm wezterm-gui wezterm-mux-server strip-ansi-escapes; do patchelf --add-needed "${libGL}/lib/libEGL.so.1" $out/bin/wezterm-gui
patchelf --set-rpath "${lib.makeLibraryPath runtimeDeps}" $out/bin/$artifact
done
'' + lib.optionalString stdenv.isDarwin '' '' + lib.optionalString stdenv.isDarwin ''
mkdir -p "$out/Applications" mkdir -p "$out/Applications"
OUT_APP="$out/Applications/WezTerm.app" OUT_APP="$out/Applications/WezTerm.app"
@ -114,14 +96,11 @@ rustPlatform.buildRustPackage rec {
ln -s $out/bin/{wezterm,wezterm-mux-server,wezterm-gui,strip-ansi-escapes} "$OUT_APP" ln -s $out/bin/{wezterm,wezterm-mux-server,wezterm-gui,strip-ansi-escapes} "$OUT_APP"
''; '';
# prevent further changes to the RPATH
dontPatchELF = true;
meta = with lib; { meta = with lib; {
description = "A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust"; description = "A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust";
homepage = "https://wezfurlong.org/wezterm"; homepage = "https://wezfurlong.org/wezterm";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ steveej SuperSandro2000 ]; maintainers = with maintainers; [ SuperSandro2000 ];
platforms = platforms.unix; platforms = platforms.unix;
}; };
} }