nixpkgs/pkgs/data/fonts/source-han/default.nix

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

68 lines
1.8 KiB
Nix
Raw Normal View History

# when changing this expression convert it from 'fetchzip' to 'stdenvNoCC.mkDerivation'
{ stdenvNoCC
, lib
, fetchzip
}:
let
makePackage =
{ family
, description
, rev
, sha256
, postFetch ? ''
install -m444 -Dt $out/share/fonts/opentype/source-han-${family} $downloadedFile
''
, zip ? ""
}:
let Family =
lib.toUpper (lib.substring 0 1 family) +
lib.substring 1 (lib.stringLength family) family;
in
(fetchzip {
name = "source-han-${family}-${lib.removeSuffix "R" rev}";
url = "https://github.com/adobe-fonts/source-han-${family}/releases/download/${rev}/SourceHan${Family}.ttc${zip}";
inherit sha256;
meta = {
description = "An open source Pan-CJK ${description} typeface";
homepage = "https://github.com/adobe-fonts/source-han-${family}";
license = lib.licenses.ofl;
maintainers = with lib.maintainers; [ taku0 emily ];
};
}).overrideAttrs (_: { inherit postFetch; });
in
{
sans = makePackage {
family = "sans";
description = "sans-serif";
rev = "2.004R";
sha256 = "052d17hvz435zc4r2y1p9cgkkgn0ps8g74mfbvnbm1pv8ykj40m9";
postFetch = ''
mkdir -p $out/share/fonts/opentype/source-han-sans
unzip $downloadedFile -d $out/share/fonts/opentype/source-han-sans
2021-09-29 17:27:04 +03:00
'';
zip = ".zip";
};
serif = makePackage {
family = "serif";
description = "serif";
2021-10-25 16:11:39 +03:00
rev = "2.000R";
sha256 = "0x3n6s4khdd6l0crwd7g9sjaqp8lkvksglhc7kj3cv80hldab9wp";
postFetch = ''
mkdir -p $out/share/fonts/opentype/source-han-serif
unzip $downloadedFile -d $out/share/fonts/opentype/source-han-serif
'';
zip = ".zip";
};
mono = makePackage {
family = "mono";
description = "monospaced";
rev = "1.002";
sha256 = "010h1y469c21bjavwdmkpbwk3ny686inz8i062wh1dhcv8cnqk3c";
};
}