From 8ee52a13250ec0254c85d437b20ab0dd22e34c6d Mon Sep 17 00:00:00 2001 From: midchildan Date: Mon, 24 Jan 2022 01:17:29 +0900 Subject: [PATCH 1/3] noto-fonts-cjk: use sparse checkouts for smaller downloads Fixes #156180. --- pkgs/data/fonts/noto-fonts/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/data/fonts/noto-fonts/default.nix b/pkgs/data/fonts/noto-fonts/default.nix index a0d3b34c85cd..a8c6717bd657 100644 --- a/pkgs/data/fonts/noto-fonts/default.nix +++ b/pkgs/data/fonts/noto-fonts/default.nix @@ -70,6 +70,7 @@ let owner = "googlefonts"; repo = "noto-cjk"; inherit rev sha256; + sparseCheckout = "${typeface}/OTC"; }; installPhase = '' @@ -113,14 +114,14 @@ in typeface = "Sans"; version = "2.004"; rev = "9f7f3c38eab63e1d1fddd8d50937fe4f1eacdb1d"; - sha256 = "sha256-BX4tcDcz+RGka8mtced1k3BopUJQ14t1BtAVqTjyPik="; + sha256 = "sha256-pNC/WJCYHSlU28E/CSFsrEMbyCe/6tjevDlOvDK9RwU="; }; noto-fonts-cjk-serif = mkNotoCJK { typeface = "Serif"; version = "2.000"; rev = "9f7f3c38eab63e1d1fddd8d50937fe4f1eacdb1d"; - sha256 = "sha256-BX4tcDcz+RGka8mtced1k3BopUJQ14t1BtAVqTjyPik="; + sha256 = "sha256-Iy4lmWj5l+/Us/dJJ/Jl4MEojE9mrFnhNQxX2zhVngY="; }; noto-fonts-emoji = let From f8832996d883756c4ae0a1487173e46438d53a04 Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Sat, 22 Jan 2022 10:06:13 +0800 Subject: [PATCH 2/3] nixos: add sample test for noto fonts --- nixos/tests/all-tests.nix | 1 + nixos/tests/noto-fonts.nix | 44 ++++++++++++++++++++++++++ pkgs/data/fonts/noto-fonts/default.nix | 3 ++ 3 files changed, 48 insertions(+) create mode 100644 nixos/tests/noto-fonts.nix diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 62bc8acef606..2ba2a02384b2 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -354,6 +354,7 @@ in nixpkgs = pkgs.callPackage ../modules/misc/nixpkgs/test.nix { inherit evalMinimalConfig; }; node-red = handleTest ./node-red.nix {}; nomad = handleTest ./nomad.nix {}; + noto-fonts = handleTest ./noto-fonts.nix {}; novacomd = handleTestOn ["x86_64-linux"] ./novacomd.nix {}; nsd = handleTest ./nsd.nix {}; nzbget = handleTest ./nzbget.nix {}; diff --git a/nixos/tests/noto-fonts.nix b/nixos/tests/noto-fonts.nix new file mode 100644 index 000000000000..829d7797d012 --- /dev/null +++ b/nixos/tests/noto-fonts.nix @@ -0,0 +1,44 @@ +import ./make-test-python.nix ({ pkgs, lib, ... }: { + name = "noto-fonts"; + meta = { + maintainers = with lib.maintainers; [ nickcao ]; + }; + + machine = { + imports = [ ./common/x11.nix ]; + environment.systemPackages = [ pkgs.gnome.gedit ]; + fonts = { + enableDefaultFonts = false; + fonts = with pkgs;[ + noto-fonts + noto-fonts-cjk-sans + noto-fonts-cjk-serif + noto-fonts-emoji + ]; + fontconfig.defaultFonts = { + serif = [ "Noto Serif" "Noto Serif CJK SC" ]; + sansSerif = [ "Noto Sans" "Noto Sans CJK SC" ]; + monospace = [ "Noto Sans Mono" "Noto Sans Mono CJK SC" ]; + emoji = [ "Noto Color Emoji" ]; + }; + }; + }; + + testScript = + # extracted from http://www.clagnut.com/blog/2380/ + let testText = builtins.toFile "test.txt" '' + the quick brown fox jumps over the lazy dog + 視野無限廣,窗外有藍天 + Eĥoŝanĝo ĉiuĵaŭde. + いろはにほへと ちりぬるを わかよたれそ つねならむ うゐのおくやま けふこえて あさきゆめみし ゑひもせす + 다람쥐 헌 쳇바퀴에 타고파 + 中国智造,慧及全球 + ''; in + '' + machine.wait_for_x() + machine.succeed("gedit ${testText} >&2 &") + machine.wait_for_window(".* - gedit") + machine.sleep(10) + machine.screenshot("screen") + ''; +}) diff --git a/pkgs/data/fonts/noto-fonts/default.nix b/pkgs/data/fonts/noto-fonts/default.nix index a8c6717bd657..9c9996db39e0 100644 --- a/pkgs/data/fonts/noto-fonts/default.nix +++ b/pkgs/data/fonts/noto-fonts/default.nix @@ -4,6 +4,7 @@ , fetchFromGitHub , fetchurl , cairo +, nixosTests , python3 , pkg-config , pngquant @@ -77,6 +78,8 @@ let install -m444 -Dt $out/share/fonts/opentype/noto-cjk ${typeface}/OTC/*.ttc ''; + passthru.tests.noto-fonts = nixosTests.noto-fonts; + meta = with lib; { description = "Beautiful and free fonts for CJK languages"; homepage = "https://www.google.com/get/noto/help/cjk/"; From 233931b7a3507da66e94bf8d3a6f83eb56b0bd0b Mon Sep 17 00:00:00 2001 From: midchildan Date: Mon, 31 Jan 2022 02:51:01 +0900 Subject: [PATCH 3/3] nixos/tests/noto-fonts: add midchildan as maintainer --- nixos/tests/noto-fonts.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/tests/noto-fonts.nix b/nixos/tests/noto-fonts.nix index 829d7797d012..049dc766bd3b 100644 --- a/nixos/tests/noto-fonts.nix +++ b/nixos/tests/noto-fonts.nix @@ -1,7 +1,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { name = "noto-fonts"; meta = { - maintainers = with lib.maintainers; [ nickcao ]; + maintainers = with lib.maintainers; [ nickcao midchildan ]; }; machine = {