mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-01-11 07:23:40 +00:00
eb11feaa0b
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.
126 lines
2.7 KiB
Nix
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;
|
|
};
|
|
}
|