alacritty-ligatures: refactor into standalone file
This commit is contained in:
parent
c92d05b6b8
commit
2f4dacf6ee
@ -0,0 +1,53 @@
|
|||||||
|
{ 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";
|
||||||
|
};
|
||||||
|
})
|
@ -2,47 +2,7 @@
|
|||||||
|
|
||||||
rec {
|
rec {
|
||||||
# Alacritty with the unmerged ligature patches applied.
|
# Alacritty with the unmerged ligature patches applied.
|
||||||
alacritty-ligatures = pkgs.alacritty.overrideAttrs (oldAttrs: rec {
|
alacritty-ligatures = pkgs.callPackage ../applications/terminal-emulators/alacritty-ligatures { };
|
||||||
pname = "${oldAttrs.pname}-ligatures";
|
|
||||||
version = "0.7.1.20210107.gada2680";
|
|
||||||
|
|
||||||
src = pkgs.fetchFromGitHub {
|
|
||||||
owner = "zenixls2";
|
|
||||||
repo = "alacritty";
|
|
||||||
fetchSubmodules = true;
|
|
||||||
rev = "df24940a9ccf7ba897fa3167046ee8b181342d8f";
|
|
||||||
sha256 = "sha256-2Th2aojTN36MgYSFXiACcBkTpTou/X1Ub5JR2sgZa34=";
|
|
||||||
};
|
|
||||||
|
|
||||||
cargoDeps = oldAttrs.cargoDeps.overrideAttrs (pkgs.lib.const {
|
|
||||||
name = "${pname}-${version}-vendor.tar.gz";
|
|
||||||
inherit src;
|
|
||||||
outputHash = "sha256-weGYh5qeaOHFfq2nf0UdsuIZud+7/8SCD0g0BAjoJIc=";
|
|
||||||
});
|
|
||||||
|
|
||||||
ligatureInputs = [
|
|
||||||
pkgs.fontconfig
|
|
||||||
pkgs.freetype
|
|
||||||
pkgs.libglvnd
|
|
||||||
pkgs.stdenv.cc.cc.lib
|
|
||||||
pkgs.xlibs.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 = pkgs.lib.optional (!pkgs.stdenv.isDarwin) ''
|
|
||||||
patchelf \
|
|
||||||
--set-rpath ${pkgs.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";
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
amdgpu-fan = pkgs.callPackage ../tools/misc/amdgpu-fan { };
|
amdgpu-fan = pkgs.callPackage ../tools/misc/amdgpu-fan { };
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user