diff --git a/pkgs/applications/misc/alacritty/default.nix b/pkgs/applications/misc/alacritty/default.nix index 4a10d68ee4d..e3215e61a85 100644 --- a/pkgs/applications/misc/alacritty/default.nix +++ b/pkgs/applications/misc/alacritty/default.nix @@ -1,4 +1,5 @@ { stdenv, + lib, fetchgit, rustPlatform, cmake, @@ -14,7 +15,15 @@ libXi, libXrandr, libGL, - xclip }: + xclip, + # Darwin Frameworks + AppKit, + CoreFoundation, + CoreGraphics, + CoreServices, + CoreText, + Foundation, + OpenGL }: with rustPlatform; @@ -30,6 +39,15 @@ let libGL libXi ]; + darwinFrameworks = [ + AppKit + CoreFoundation + CoreGraphics + CoreServices + CoreText + Foundation + OpenGL + ]; in buildRustPackage rec { name = "alacritty-unstable-${version}"; version = "2018-04-16"; @@ -51,21 +69,41 @@ in buildRustPackage rec { pkgconfig ]; - buildInputs = rpathLibs; + buildInputs = rpathLibs + ++ lib.optionals stdenv.isDarwin darwinFrameworks; postPatch = '' substituteInPlace copypasta/src/x11.rs \ --replace Command::new\(\"xclip\"\) Command::new\(\"${xclip}/bin/xclip\"\) ''; + postBuild = if stdenv.isDarwin + then '' + make app + '' + else ""; + + patchRPathLibs = if stdenv.isDarwin then "" else '' + patchelf --set-rpath "${stdenv.lib.makeLibraryPath rpathLibs}" $out/bin/alacritty + ''; + + copyDarwinApp = if stdenv.isDarwin + then '' + mkdir $out/Applications + cp -r target/release/osx/Alacritty.app $out/Applications/Alacritty.app + '' + else ""; + installPhase = '' runHook preInstall install -D target/release/alacritty $out/bin/alacritty - patchelf --set-rpath "${stdenv.lib.makeLibraryPath rpathLibs}" $out/bin/alacritty + ${patchRPathLibs} install -D Alacritty.desktop $out/share/applications/alacritty.desktop + ${copyDarwinApp} + runHook postInstall ''; @@ -76,6 +114,5 @@ in buildRustPackage rec { homepage = https://github.com/jwilm/alacritty; license = with licenses; [ asl20 ]; maintainers = with maintainers; [ mic92 ]; - platforms = platforms.linux; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1129a984d27..3edf567bfd7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -484,6 +484,7 @@ with pkgs; alacritty = callPackage ../applications/misc/alacritty { inherit (xorg) libXcursor libXxf86vm libXi; + inherit (darwin.apple_sdk.frameworks) AppKit CoreFoundation CoreGraphics CoreServices CoreText Foundation OpenGL; }; amazon-glacier-cmd-interface = callPackage ../tools/backup/amazon-glacier-cmd-interface { };