nixpkgs/pkgs/applications/misc/alacritty/default.nix
Benjamin Hipple eb11feaa0b treewide: change fetchCargoTarball default to opt-out
Changes the default fetcher in the Rust Platform to be the newer
`fetchCargoTarball`, and changes every application using the current default to
instead opt out.

This commit does not change any hashes or cause any rebuilds. Once integrated,
we will start deleting the opt-outs and recomputing hashes.

See #79975 for details.
2020-02-13 22:41:37 -08:00

126 lines
2.7 KiB
Nix

{ stdenv,
lib,
fetchFromGitHub,
rustPlatform,
cmake,
gzip,
installShellFiles,
makeWrapper,
ncurses,
pkgconfig,
python3,
expat,
fontconfig,
freetype,
libGL,
libX11,
libXcursor,
libXi,
libXrandr,
libXxf86vm,
libxcb,
libxkbcommon,
wayland,
xdg_utils,
# Darwin Frameworks
AppKit,
CoreGraphics,
CoreServices,
CoreText,
Foundation,
OpenGL }:
with rustPlatform;
let
rpathLibs = [
expat
fontconfig
freetype
libGL
libX11
libXcursor
libXi
libXrandr
libXxf86vm
libxcb
] ++ lib.optionals stdenv.isLinux [
libxkbcommon
wayland
];
in buildRustPackage rec {
pname = "alacritty";
version = "0.4.1";
src = fetchFromGitHub {
owner = "jwilm";
repo = pname;
rev = "v${version}";
sha256 = "05jcg33ifngpzw2hdhgb614j87ihhhlqgar0kky183rywg0dxikg";
};
# Delete this on next update; see #79975 for details
legacyCargoFetcher = true;
cargoSha256 = "1kc9n10kb4j87x337pzl6wpi0qj5ib2mqmrjag2yld3138dag71n";
nativeBuildInputs = [
cmake
gzip
installShellFiles
makeWrapper
ncurses
pkgconfig
python3
];
buildInputs = rpathLibs
++ lib.optionals stdenv.isDarwin [ AppKit CoreGraphics CoreServices CoreText Foundation OpenGL ];
outputs = [ "out" "terminfo" ];
postBuild = lib.optionalString stdenv.isDarwin "make app";
installPhase = ''
runHook preInstall
install -D target/release/alacritty $out/bin/alacritty
'' + (if stdenv.isDarwin then ''
mkdir $out/Applications
cp -r target/release/osx/Alacritty.app $out/Applications/Alacritty.app
'' else ''
install -D extra/linux/alacritty.desktop -t $out/share/applications/
install -D extra/logo/alacritty-term.svg $out/share/icons/hicolor/scalable/apps/Alacritty.svg
patchelf --set-rpath "${stdenv.lib.makeLibraryPath rpathLibs}" $out/bin/alacritty
'') + ''
installShellCompletion --zsh extra/completions/_alacritty
installShellCompletion --bash extra/completions/alacritty.bash
installShellCompletion --fish extra/completions/alacritty.fish
install -dm 755 "$out/share/man/man1"
gzip -c extra/alacritty.man > "$out/share/man/man1/alacritty.1.gz"
install -dm 755 "$terminfo/share/terminfo/a/"
tic -xe alacritty,alacritty-direct -o "$terminfo/share/terminfo" extra/alacritty.info
mkdir -p $out/nix-support
echo "$terminfo" >> $out/nix-support/propagated-user-env-packages
runHook postInstall
'';
dontPatchELF = true;
meta = with stdenv.lib; {
description = "GPU-accelerated terminal emulator";
homepage = "https://github.com/jwilm/alacritty";
license = licenses.asl20;
maintainers = with maintainers; [ filalex77 mic92 ];
platforms = platforms.unix;
};
}