noto-fonts{,-extra}: 2018-11-30 -> 2020-01-23

This commit is contained in:
Emily 2020-02-10 21:28:49 +00:00 committed by Yegor Timoshenko
parent b94c1c89f6
commit fe690a84eb

View File

@ -1,28 +1,44 @@
{ stdenv, fetchzip, fetchFromGitHub, optipng, cairo, python3Packages, pkgconfig, pngquant, which, imagemagick }:
{ stdenv
, stdenvNoCC
, lib
, fetchFromGitHub
, fetchzip
, optipng
, cairo
, python3Packages
, pkgconfig
, pngquant
, which
, imagemagick
}:
let
mkNoto = { name, weights, sha256, }:
let
version = "2018-11-30";
ref = "85e78f831469323c85847e23f95026c894159135";
in
fetchzip {
name = "${name}-${version}";
inherit sha256;
url = "https://github.com/googlei18n/noto-fonts/archive/${ref}.zip";
postFetch = ''
unzip $downloadedFile
mkdir -p $out/share/fonts/noto
# Also copy unhinted & alpha fonts for better glyph coverage,
# if they don't have a hinted version
# (see https://groups.google.com/d/msg/noto-font/ZJSkZta4n5Y/tZBnLcPdbS0J)
for ttf in noto-fonts-*/{hinted,unhinted,alpha}/*-${weights}.ttf
do
cp -n "$ttf" -t "$out/share/fonts/noto"
done
mkNoto = { pname, weights }:
stdenvNoCC.mkDerivation {
inherit pname;
version = "2020-01-23";
src = fetchFromGitHub {
owner = "googlefonts";
repo = "noto-fonts";
rev = "f4726a2ec36169abd02a6d8abe67c8ff0236f6d8";
sha256 = "0zc1r7zph62qmvzxqfflsprazjf6x1qnwc2ma27kyzh6v36gaykw";
};
installPhase = ''
# We copy in reverse preference order -- unhinted first, then
# hinted -- to get the "best" version of each font while
# maintaining maximum coverage.
#
# TODO: install OpenType, variable versions?
local out_ttf=$out/share/fonts/truetype/noto
install -m444 -Dt $out_ttf phaseIII_only/unhinted/ttf/*/*-${weights}.ttf
install -m444 -Dt $out_ttf phaseIII_only/hinted/ttf/*/*-${weights}.ttf
install -m444 -Dt $out_ttf unhinted/*/*-${weights}.ttf
install -m444 -Dt $out_ttf hinted/*/*-${weights}.ttf
'';
meta = with stdenv.lib; {
inherit version;
meta = with lib; {
description = "Beautiful and free fonts for many languages";
homepage = https://www.google.com/get/noto/;
longDescription =
@ -39,24 +55,24 @@ let
This package also includes the Arimo, Cousine, and Tinos fonts.
'';
license = licenses.asl20;
license = licenses.ofl;
platforms = platforms.all;
maintainers = with maintainers; [ mathnerd314 ];
maintainers = with maintainers; [ mathnerd314 emily ];
};
};
in
{
noto-fonts = mkNoto {
name = "noto-fonts";
pname = "noto-fonts";
weights = "{Regular,Bold,Light,Italic,BoldItalic,LightItalic}";
sha256 = "0kvq5ldip2ra2njlxg9fxj46nfqzq5l3n359d3kwfbsld7hixm2d";
};
noto-fonts-extra = mkNoto {
name = "noto-fonts-extra";
pname = "noto-fonts-extra";
weights = "{Black,Condensed,Extra,Medium,Semi,Thin}*";
sha256 = "0l94aiy1b3qirg2mmbagbr0014vqk32za79pzck1acy2hgy716kq";
};
noto-fonts-cjk = let version = "1.004"; in fetchzip {
name = "noto-fonts-cjk-${version}";
@ -68,7 +84,7 @@ in
'';
sha256 = "0ghw2azqq3nkcxsbvf53qjmrhcfsnry79rq7jsr0wwi2pn7d3dsq";
meta = with stdenv.lib; {
meta = with lib; {
inherit version;
description = "Beautiful and free fonts for CJK languages";
homepage = https://www.google.com/get/noto/help/cjk/;
@ -89,6 +105,7 @@ in
maintainers = with maintainers; [ mathnerd314 ];
};
};
noto-fonts-emoji = let
version = "unstable-2019-10-22";
in stdenv.mkDerivation {
@ -118,7 +135,7 @@ in
cp NotoColorEmoji.ttf fonts/NotoEmoji-Regular.ttf $out/share/fonts/noto
'';
meta = with stdenv.lib; {
meta = with lib; {
inherit version;
description = "Color and Black-and-White emoji fonts";
homepage = https://github.com/googlei18n/noto-emoji;