diff options
author | 北雁 Cryolitia <Cryolitia@gmail.com> | 2024-04-11 11:03:02 +0800 |
---|---|---|
committer | 北雁 Cryolitia <Cryolitia@gmail.com> | 2024-04-11 11:03:02 +0800 |
commit | d8f6e7df57751b43798510143b9cdd01f018ffef (patch) | |
tree | d399245197c0894651938e362b38c78580ee59e8 /pkgs/by-name/sh | |
parent | 85d3f97277c0a0b5b542951e8990b4bd2bbe2a26 (diff) |
shanggu-fonts: init at 1.020
Diffstat (limited to 'pkgs/by-name/sh')
-rw-r--r-- | pkgs/by-name/sh/shanggu-fonts/package.nix | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/pkgs/by-name/sh/shanggu-fonts/package.nix b/pkgs/by-name/sh/shanggu-fonts/package.nix new file mode 100644 index 0000000000000..f769087d4055a --- /dev/null +++ b/pkgs/by-name/sh/shanggu-fonts/package.nix @@ -0,0 +1,70 @@ +{ + lib, + stdenvNoCC, + fetchurl, + p7zip, +}: +let + version = "1.020"; + + source = + with lib.attrsets; + mapAttrs' + ( + name: hash: + nameValuePair (lib.strings.toLower name) (fetchurl { + url = "https://github.com/GuiWonder/Shanggu/releases/download/${version}/Shanggu${name}TTCs.7z"; + inherit hash; + }) + ) + { + Mono = "sha256-PcP4zJk8pptuX9tchr4qOorqAvj8YMRBcVrtCbp/1Zo="; + Round = "sha256-3wqMdnpdn4xpw7wO+QmIpl5/vZjQGgcfTMdtewK28B8="; + Sans = "sha256-isRqIVcH24knPqPI+a+9CpxEKd+PG642giUS9+VbC60="; + Serif = "sha256-k0I0NXStE1hcdOaOykuESy6sYqBHHaMaDxxr3tJUSYU="; + }; +in +stdenvNoCC.mkDerivation { + pname = "shanggu-fonts"; + inherit version; + + outputs = [ "out" ] ++ builtins.attrNames source; + + nativeBuildInputs = [ p7zip ]; + + unpackPhase = '' + runHook preUnpack + '' + lib.strings.concatLines ( + lib.attrsets.mapAttrsToList (name: value: '' + 7z x ${value} -o${name} + '') source + ) + '' + runHook postUnpack + ''; + + installPhase = + '' + runHook preInstall + + mkdir -p $out/share/fonts/truetype + '' + + lib.strings.concatLines ( + lib.lists.forEach (builtins.attrNames source) ( + name: ('' + install -Dm444 ${name}/*.ttc -t $'' + name + ''/share/fonts/truetype + ln -s $'' + name + ''/share/fonts/truetype/*.ttc $out/share/fonts/truetype + '' + ) + ) + ) + '' + runHook postInstall + ''; + + meta = with lib; { + homepage = "https://github.com/GuiWonder/Shanggu"; + description = "Heritage glyph (old glyph) font based on Siyuan"; + license = licenses.ofl; + platforms = platforms.all; + maintainers = with maintainers; [ Cryolitia ]; + }; +} |