From 04dacfbf1c5b306875b8a136411e952771dc150d Mon Sep 17 00:00:00 2001 From: Volth Date: Sat, 12 Aug 2017 14:22:45 +0000 Subject: [PATCH 1/4] data/fonts: make derivations fixed-outputs (group of fontforge compiled fonts) --- pkgs/data/fonts/inconsolata/lgc.nix | 4 ++++ pkgs/data/fonts/libertine/default.nix | 9 ++++++++- pkgs/data/fonts/monoid/default.nix | 4 ++++ .../fonts/rictydiminished-with-firacode/default.nix | 11 +++++++++++ pkgs/data/fonts/unscii/default.nix | 5 +++++ pkgs/data/fonts/xits-math/default.nix | 8 ++++++++ 6 files changed, 40 insertions(+), 1 deletion(-) diff --git a/pkgs/data/fonts/inconsolata/lgc.nix b/pkgs/data/fonts/inconsolata/lgc.nix index e7445186b72..aa7d3d7def4 100644 --- a/pkgs/data/fonts/inconsolata/lgc.nix +++ b/pkgs/data/fonts/inconsolata/lgc.nix @@ -24,6 +24,10 @@ stdenv.mkDerivation rec { cp -v AUTHORS ChangeLog COPYING License.txt README "$out/doc/${name}" || true ''; + outputHashAlgo = "sha256"; + outputHashMode = "recursive"; + outputHash = "18brmw0h4hjq1m2l0abwc3zmib4rnfalpywdk68djm711zldxr76"; + meta = with stdenv.lib; { description = "Fork of Inconsolata font, with proper support of Cyrillic and Greek"; longDescription = '' diff --git a/pkgs/data/fonts/libertine/default.nix b/pkgs/data/fonts/libertine/default.nix index c69cc7ae34d..c4ef852bde3 100644 --- a/pkgs/data/fonts/libertine/default.nix +++ b/pkgs/data/fonts/libertine/default.nix @@ -8,11 +8,14 @@ stdenv.mkDerivation rec { sha256 = "0x7cz6hvhpil1rh03rax9zsfzm54bh7r4bbrq8rz673gl9h47v0v"; }; - setSourceRoot = "sourceRoot=`pwd`"; + sourceRoot = "."; nativeBuildInputs = [ fontforge ]; buildPhase = '' + # set it to mtime of ./env-vars, i.e. the current time + export SOURCE_DATE_EPOCH=$(stat -c '%Y' ChangeLog.txt) + for i in *.sfd; do fontforge -lang=ff -c \ 'Open($1); @@ -40,6 +43,10 @@ stdenv.mkDerivation rec { cp *.map $out/share/texmf/fonts/map ''; + outputHashAlgo = "sha256"; + outputHashMode = "recursive"; + outputHash = "1mj0j0hkp8pn7jcs4pvcan6whba60bfd671g3vhx3s9kxwf7xjvr"; + meta = { description = "Linux Libertine Fonts"; homepage = http://linuxlibertine.sf.net; diff --git a/pkgs/data/fonts/monoid/default.nix b/pkgs/data/fonts/monoid/default.nix index 5e9a2c21916..c745cb88359 100644 --- a/pkgs/data/fonts/monoid/default.nix +++ b/pkgs/data/fonts/monoid/default.nix @@ -31,6 +31,10 @@ stdenv.mkDerivation rec { cp -va Readme.md $out/share/doc ''; + outputHashAlgo = "sha256"; + outputHashMode = "recursive"; + outputHash = "0ml61zym03n175gpx1gr7812f45lyjm0vzgbqjx91fi58rqlazvm"; + meta = with stdenv.lib; { homepage = http://larsenwork.com/monoid; description = "Customisable coding font with alternates, ligatures and contextual positioning"; diff --git a/pkgs/data/fonts/rictydiminished-with-firacode/default.nix b/pkgs/data/fonts/rictydiminished-with-firacode/default.nix index 074fceeac94..45618972c34 100644 --- a/pkgs/data/fonts/rictydiminished-with-firacode/default.nix +++ b/pkgs/data/fonts/rictydiminished-with-firacode/default.nix @@ -11,6 +11,13 @@ stdenv.mkDerivation rec { }; buildPhase = '' + substituteInPlace apply-feature.py --replace \ + 'ricty = ttLib.TTFont(options.in_font)' \ + 'ricty = ttLib.TTFont(options.in_font, recalcTimestamp=False)' + substituteInPlace build-py3.py --replace \ + 'datetime.date.today()' \ + 'datetime.date.fromtimestamp(float(os.environ["SOURCE_DATE_EPOCH"]))' + make ''; @@ -28,6 +35,10 @@ stdenv.mkDerivation rec { ])) ]; + outputHashAlgo = "sha256"; + outputHashMode = "recursive"; + outputHash = "09ldviapljn4bb1mcxap2pkz7cq3wr2k2qialbnav5y7ii82acd4"; + meta = with stdenv.lib; { homepage = https://github.com/hakatashi/RictyDiminished-with-FiraCode; description = "The best Japanese programming font meets the awesone ligatures of Firacode"; diff --git a/pkgs/data/fonts/unscii/default.nix b/pkgs/data/fonts/unscii/default.nix index 64e01124a67..092537c216a 100644 --- a/pkgs/data/fonts/unscii/default.nix +++ b/pkgs/data/fonts/unscii/default.nix @@ -23,6 +23,11 @@ stdenv.mkDerivation rec { cp *.svg "$out/share/fonts/svg" cp *.woff "$out/share/fonts/web" ''; + + outputHashAlgo = "sha256"; + outputHashMode = "recursive"; + outputHash = "03zvczdka665zcyf9fjrnx434mwpr5q8396j34kjmc67w7nhc49r"; + meta = { inherit version; description = ''Bitmapped character-art-friendly Unicode fonts''; diff --git a/pkgs/data/fonts/xits-math/default.nix b/pkgs/data/fonts/xits-math/default.nix index c3ba435cbbf..25431c7f9d7 100644 --- a/pkgs/data/fonts/xits-math/default.nix +++ b/pkgs/data/fonts/xits-math/default.nix @@ -15,6 +15,10 @@ stdenv.mkDerivation rec { postPatch = '' rm *.otf + + substituteInPlace tools/postprocess.py --replace \ + 'font = ttLib.TTFont(sys.argv[1])' \ + 'font = ttLib.TTFont(sys.argv[1], recalcTimestamp=False)' ''; installPhase = '' @@ -22,6 +26,10 @@ stdenv.mkDerivation rec { cp *.otf $out/share/fonts/opentype ''; + outputHashAlgo = "sha256"; + outputHashMode = "recursive"; + outputHash = "00xycmb9ka67j5s66nkng53y8q6362igisxz04zb58r2717jk50m"; + meta = with stdenv.lib; { homepage = https://github.com/khaledhosny/xits-math; description = "OpenType implementation of STIX fonts with math support"; From e03c118b8c2dd1b0a92ab0758fc451b8da3c1e33 Mon Sep 17 00:00:00 2001 From: Volth Date: Mon, 18 Sep 2017 21:50:37 +0000 Subject: [PATCH 2/4] remove workaround as #28218 is fixed --- pkgs/data/fonts/libertine/default.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/pkgs/data/fonts/libertine/default.nix b/pkgs/data/fonts/libertine/default.nix index c4ef852bde3..82a9a4a952a 100644 --- a/pkgs/data/fonts/libertine/default.nix +++ b/pkgs/data/fonts/libertine/default.nix @@ -13,9 +13,6 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ fontforge ]; buildPhase = '' - # set it to mtime of ./env-vars, i.e. the current time - export SOURCE_DATE_EPOCH=$(stat -c '%Y' ChangeLog.txt) - for i in *.sfd; do fontforge -lang=ff -c \ 'Open($1); From 844f57a5fb18259c70178b94cbd6bb218c3d5e02 Mon Sep 17 00:00:00 2001 From: volth Date: Sat, 23 Sep 2017 22:04:52 +0000 Subject: [PATCH 3/4] fonts/monoid: disable parallel build (some random fonts are missing) --- pkgs/data/fonts/monoid/default.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/data/fonts/monoid/default.nix b/pkgs/data/fonts/monoid/default.nix index c745cb88359..77c311ce364 100644 --- a/pkgs/data/fonts/monoid/default.nix +++ b/pkgs/data/fonts/monoid/default.nix @@ -13,15 +13,13 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ python fontforge ]; - enableParallelBuilding = true; - buildPhase = '' local _d="" local _l="" for _d in {Monoisome,Source}/*.sfdir; do _l="''${_d##*/}.log" echo "Building $_d (log at $_l)" - python Scripts/build.py ${if enableParallelBuilding then "$NIX_BUILD_CORES" else "1"} 0 $_d > $_l + python Scripts/build.py 1 0 $_d > $_l done ''; @@ -33,7 +31,7 @@ stdenv.mkDerivation rec { outputHashAlgo = "sha256"; outputHashMode = "recursive"; - outputHash = "0ml61zym03n175gpx1gr7812f45lyjm0vzgbqjx91fi58rqlazvm"; + outputHash = "0lbipgygiva3gg1pqw07phpnnf0s6ka9vqdk1pw7bkybjw3f7wzm"; meta = with stdenv.lib; { homepage = http://larsenwork.com/monoid; From a217f57292b940ea66765f8f0cde100640ba7b58 Mon Sep 17 00:00:00 2001 From: volth Date: Sun, 24 Sep 2017 23:04:48 +0000 Subject: [PATCH 4/4] fonts/libertine: remove darwin from supported platforms --- pkgs/data/fonts/libertine/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/data/fonts/libertine/default.nix b/pkgs/data/fonts/libertine/default.nix index 82a9a4a952a..91a7932c2ca 100644 --- a/pkgs/data/fonts/libertine/default.nix +++ b/pkgs/data/fonts/libertine/default.nix @@ -44,9 +44,10 @@ stdenv.mkDerivation rec { outputHashMode = "recursive"; outputHash = "1mj0j0hkp8pn7jcs4pvcan6whba60bfd671g3vhx3s9kxwf7xjvr"; - meta = { + meta = with stdenv.lib; { description = "Linux Libertine Fonts"; homepage = http://linuxlibertine.sf.net; - platforms = stdenv.lib.platforms.all; + platforms = platforms.linux; + maintainers = [ maintainers.volth ]; }; }