alacritty-ligatures: refactor into standalone file
This commit is contained in:
		| @@ -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 { }; | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user