wezterm: add macOS support

This commit is contained in:
Zeyi Fan 2021-01-06 18:49:09 -08:00
parent 3e635c6f6e
commit ab64e82e32
2 changed files with 21 additions and 6 deletions

View File

@ -1,4 +1,5 @@
{ rustPlatform { stdenv
, rustPlatform
, lib , lib
, fetchFromGitHub , fetchFromGitHub
@ -8,6 +9,11 @@
, openssl , openssl
, perl , perl
# Apple frameworks
, CoreGraphics
, Cocoa
, Foundation
, dbus , dbus
, libX11 , libX11
, xcbutil , xcbutil
@ -24,7 +30,12 @@
, zlib , zlib
}: }:
let let
runtimeDeps = [ commonRuntimeDeps = [
zlib
fontconfig
freetype
];
linuxRuntimeDeps = [
libX11 libX11
xcbutil xcbutil
libxcb libxcb
@ -33,14 +44,14 @@ let
libxkbcommon libxkbcommon
dbus dbus
libglvnd libglvnd
zlib
egl-wayland egl-wayland
wayland wayland
libGLU libGLU
libGL libGL
fontconfig
freetype
]; ];
runtimeDeps = commonRuntimeDeps
++ stdenv.lib.optionals (!stdenv.isDarwin) linuxRuntimeDeps
++ stdenv.lib.optionals (stdenv.isDarwin) [ Foundation CoreGraphics Cocoa ];
pname = "wezterm"; pname = "wezterm";
in in
@ -68,7 +79,9 @@ rustPlatform.buildRustPackage {
installPhase = '' installPhase = ''
for artifact in wezterm wezterm-gui wezterm-mux-server strip-ansi-escapes; do for artifact in wezterm wezterm-gui wezterm-mux-server strip-ansi-escapes; do
'' + stdenv.lib.optionalString stdenv.isLinux ''
patchelf --set-rpath "${lib.makeLibraryPath runtimeDeps}" $releaseDir/$artifact patchelf --set-rpath "${lib.makeLibraryPath runtimeDeps}" $releaseDir/$artifact
'' + ''
install -D $releaseDir/$artifact -t $out/bin install -D $releaseDir/$artifact -t $out/bin
done done
''; '';

View File

@ -811,7 +811,9 @@ in
wayst = callPackage ../applications/terminal-emulators/wayst { }; wayst = callPackage ../applications/terminal-emulators/wayst { };
wezterm = callPackage ../applications/terminal-emulators/wezterm { }; wezterm = callPackage ../applications/terminal-emulators/wezterm {
inherit (darwin.apple_sdk.frameworks) Cocoa CoreGraphics Foundation;
};
x3270 = callPackage ../applications/terminal-emulators/x3270 { }; x3270 = callPackage ../applications/terminal-emulators/x3270 { };