From b68a2fc6d4b2725513e67ddd10b21cc8b59d60b3 Mon Sep 17 00:00:00 2001 From: lunik1 Date: Mon, 20 Feb 2023 22:50:57 +0000 Subject: [PATCH] iosevka-comfy: pin iosevka Pins the version of iosevka used to build iosevka-comfy to the commit listed on iosevka-comfy's README. Other iosevka versions may have breaking changes or stylistic regressions. --- pkgs/data/fonts/iosevka/comfy.nix | 59 +++++++++++++++++++------------ 1 file changed, 37 insertions(+), 22 deletions(-) diff --git a/pkgs/data/fonts/iosevka/comfy.nix b/pkgs/data/fonts/iosevka/comfy.nix index d544c1624bca..8f4e0464032d 100644 --- a/pkgs/data/fonts/iosevka/comfy.nix +++ b/pkgs/data/fonts/iosevka/comfy.nix @@ -1,4 +1,4 @@ -{ callPackage, lib, fetchFromSourcehut }: +{ lib, iosevka, fetchFromSourcehut, fetchFromGitHub, buildNpmPackage }: let sets = [ @@ -23,25 +23,40 @@ let sha256 = "1h72my1s9pvxww6yijrvhy7hj9dspnshya60i60p1wlzr6d18v3p"; }; privateBuildPlan = src.outPath + "/private-build-plans.toml"; - overrideAttrs = (attrs: { - inherit version; - - meta = with lib; { - inherit (src.meta) homepage; - description = '' - Customised build of the Iosevka typeface, with a consistent - rounded style and overrides for almost all individual glyphs - in both roman (upright) and italic (slanted) variants. - ''; - license = licenses.ofl; - platforms = attrs.meta.platforms; - maintainers = [ maintainers.DamienCassou ]; - }; - }); makeIosevkaFont = set: - (callPackage ./. { inherit set privateBuildPlan; }).overrideAttrs - overrideAttrs; -in builtins.listToAttrs (builtins.map (set: { - name = set; - value = makeIosevkaFont set; -}) sets) + let superBuildNpmPackage = buildNpmPackage; in + (iosevka.override rec { + inherit set privateBuildPlan; + buildNpmPackage = args: superBuildNpmPackage + (args // { + inherit version; + + src = fetchFromGitHub { + owner = "be5invis"; + repo = "iosevka"; + rev = "ad1e247a3fb8d2e2561122e8e57dcdc86a23df77"; + hash = "sha256-sfItIMl9HOUykoZPsNKRGKwgkSWvNGUe3czHE8qFG5w="; + }; + + npmDepsHash = "sha256-HaO2q1f+hX3LjccuVCQaqQZCdUH9r7+jiFOR+3m8Suw="; + + meta = with lib; { + inherit (src.meta) homepage; + description = '' + Customised build of the Iosevka typeface, with a consistent + rounded style and overrides for almost all individual glyphs + in both roman (upright) and italic (slanted) variants. + ''; + license = licenses.ofl; + platforms = iosevka.meta.platforms; + maintainers = [ maintainers.DamienCassou ]; + }; + }); + }); +in +builtins.listToAttrs (builtins.map + (set: { + name = set; + value = makeIosevkaFont set; + }) + sets)