54 lines
1.3 KiB
Nix
54 lines
1.3 KiB
Nix
|
{ stdenv
|
||
|
, lib
|
||
|
, fetchFromGitHub
|
||
|
|
||
|
, alacritty
|
||
|
|
||
|
, fontconfig
|
||
|
, freetype
|
||
|
, libglvnd
|
||
|
, libxcb
|
||
|
}:
|
||
|
|
||
|
alacritty.overrideAttrs (oldAttrs: rec {
|
||
|
pname = "${oldAttrs.pname}-ligatures";
|
||
|
version = "0.7.1.20210107.gada2680";
|
||
|
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "zenixls2";
|
||
|
repo = "alacritty";
|
||
|
fetchSubmodules = true;
|
||
|
rev = "df24940a9ccf7ba897fa3167046ee8b181342d8f";
|
||
|
sha256 = "sha256-2Th2aojTN36MgYSFXiACcBkTpTou/X1Ub5JR2sgZa34=";
|
||
|
};
|
||
|
|
||
|
cargoDeps = oldAttrs.cargoDeps.overrideAttrs (lib.const {
|
||
|
name = "${pname}-${version}-vendor.tar.gz";
|
||
|
inherit src;
|
||
|
outputHash = "sha256-weGYh5qeaOHFfq2nf0UdsuIZud+7/8SCD0g0BAjoJIc=";
|
||
|
});
|
||
|
|
||
|
ligatureInputs = [
|
||
|
fontconfig
|
||
|
freetype
|
||
|
libglvnd
|
||
|
stdenv.cc.cc.lib
|
||
|
libxcb
|
||
|
];
|
||
|
|
||
|
buildInputs = (oldAttrs.buildInputs or [ ]) ++ ligatureInputs;
|
||
|
|
||
|
# HACK: One of the ligature libraries required the C++ stdlib at runtime,
|
||
|
# and I can't work out a better way to push it to the RPATH.
|
||
|
postInstall = lib.optional (!stdenv.isDarwin) ''
|
||
|
patchelf \
|
||
|
--set-rpath ${lib.makeLibraryPath ligatureInputs}:"$(patchelf --print-rpath $out/bin/alacritty)" \
|
||
|
$out/bin/alacritty
|
||
|
'';
|
||
|
|
||
|
meta = oldAttrs.meta // {
|
||
|
description = "Alacritty with ligature patch applied";
|
||
|
homepage = "https://github.com/zenixls2/alacritty/tree/ligature";
|
||
|
};
|
||
|
})
|