71 lines
1.7 KiB
Nix
71 lines
1.7 KiB
Nix
|
{
|
||
|
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 ];
|
||
|
};
|
||
|
}
|