2021-06-12 11:07:37 +10:00
|
|
|
{ stdenv
|
|
|
|
, lib
|
|
|
|
, fetchFromGitHub
|
|
|
|
|
|
|
|
, alacritty
|
|
|
|
|
|
|
|
, fontconfig
|
|
|
|
, freetype
|
|
|
|
, libglvnd
|
|
|
|
, libxcb
|
|
|
|
}:
|
|
|
|
|
|
|
|
alacritty.overrideAttrs (oldAttrs: rec {
|
|
|
|
pname = "${oldAttrs.pname}-ligatures";
|
|
|
|
version = "0.7.2.20210209.g3ed0430";
|
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "zenixls2";
|
|
|
|
repo = "alacritty";
|
|
|
|
fetchSubmodules = true;
|
|
|
|
rev = "3ed043046fc74f288d4c8fa7e4463dc201213500";
|
|
|
|
sha256 = "1dGk4ORzMSUQhuKSt5Yo7rOJCJ5/folwPX2tLiu0suA=";
|
|
|
|
};
|
|
|
|
|
|
|
|
cargoDeps = oldAttrs.cargoDeps.overrideAttrs (lib.const {
|
|
|
|
name = "${pname}-${version}-vendor.tar.gz";
|
|
|
|
inherit src;
|
|
|
|
outputHash = "pONu6caJmEKnbr7j+o9AyrYNpS4Q8OEjNZOhGTalncc=";
|
|
|
|
});
|
|
|
|
|
|
|
|
ligatureInputs = [
|
|
|
|
fontconfig
|
|
|
|
freetype
|
|
|
|
libglvnd
|
|
|
|
stdenv.cc.cc.lib
|
|
|
|
libxcb
|
|
|
|
];
|
|
|
|
|
2021-06-12 14:56:24 +10:00
|
|
|
preferLocalBuild = true;
|
|
|
|
|
2021-06-12 11:07:37 +10:00
|
|
|
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";
|
|
|
|
};
|
|
|
|
})
|