diff options
Diffstat (limited to 'nixpkgs/pkgs/data/fonts/noto-fonts/default.nix')
-rw-r--r-- | nixpkgs/pkgs/data/fonts/noto-fonts/default.nix | 102 |
1 files changed, 59 insertions, 43 deletions
diff --git a/nixpkgs/pkgs/data/fonts/noto-fonts/default.nix b/nixpkgs/pkgs/data/fonts/noto-fonts/default.nix index 1f4e9cbeef70..d90c796a48a4 100644 --- a/nixpkgs/pkgs/data/fonts/noto-fonts/default.nix +++ b/nixpkgs/pkgs/data/fonts/noto-fonts/default.nix @@ -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,41 +55,40 @@ 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 = "2.001"; in fetchFromGitHub rec { - name = "noto-fonts-cjk-${version}"; - # Same as https://noto-website.storage.googleapis.com/pkgs/NotoSansCJK.ttc.zip but versioned & with no extra SIL license file - owner = "googlei18n"; - repo = "noto-cjk"; - rev = "NotoSansV${version}"; + noto-fonts-cjk = stdenvNoCC.mkDerivation rec { + pname = "noto-fonts-cjk"; + version = "2.001"; - postFetch = '' - mkdir -p $out/share/fonts/noto - tar xOf $downloadedFile noto-cjk-${rev}/NotoSansCJK.ttc.zip | - funzip > $out/share/fonts/noto/NotoSansCJK.ttc + src = fetchzip { + url = "https://raw.githubusercontent.com/googlefonts/noto-cjk/NotoSansV${version}/NotoSansCJK.ttc.zip"; + # __MACOSX... + stripRoot = false; + sha256 = "0ik4z2b15i0pghskgfm3adzb0h35fr4gyzvz3bq49hhkhn9h85vi"; + }; + + buildCommand = '' + install -m444 -Dt $out/share/fonts/opentype/noto-cjk $src/*.ttc ''; - sha256 = "1r2wlw4vmrf2vlwhgjfvndlq1bj4ys5jzspmv6cz5cg3hpqqf528"; - meta = with stdenv.lib; { - inherit version; + meta = with lib; { description = "Beautiful and free fonts for CJK languages"; homepage = https://www.google.com/get/noto/help/cjk/; longDescription = @@ -90,9 +105,10 @@ in ''; license = licenses.ofl; platforms = platforms.all; - maintainers = with maintainers; [ mathnerd314 ]; + maintainers = with maintainers; [ mathnerd314 emily ]; }; }; + noto-fonts-emoji = let version = "unstable-2019-10-22"; in stdenv.mkDerivation { @@ -122,7 +138,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; |