From 37d9b45b04033a5458c151430717f10f77a4f292 Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Sun, 16 Feb 2020 13:44:16 +0100 Subject: [PATCH 1/2] tewi-font: 2015-06-07 -> 2.0.2 --- pkgs/data/fonts/tewi/default.nix | 43 +++++++++++++++----------------- 1 file changed, 20 insertions(+), 23 deletions(-) diff --git a/pkgs/data/fonts/tewi/default.nix b/pkgs/data/fonts/tewi/default.nix index fbc29cdf5fb1..c3c88dd08c4b 100644 --- a/pkgs/data/fonts/tewi/default.nix +++ b/pkgs/data/fonts/tewi/default.nix @@ -1,38 +1,35 @@ -{stdenv, fetchgit, bdftopcf, mkfontdir, mkfontscale}: +{ stdenv, fetchFromGitHub, python3, bdftopcf, mkfontscale }: stdenv.mkDerivation rec { - date = "2015-06-07"; - name = "tewi-font-${date}"; + pname = "tewi-font"; + version = "2.0.2"; - src = fetchgit { - url = "https://github.com/lucy/tewi-font"; - rev = "ff930e66ae471da4fdc226ffe65fd1ccd13d4a69"; - sha256 = "0c7k847cp68w20frzsdknpss2cwv3lp970asyybv65jxyl2jz3iq"; + src = fetchFromGitHub { + owner = "lucy"; + repo = pname; + rev = version; + sha256 = "1axv9bv10xlcmgfyjh3z5kn5fkg3m6n1kskcs5hvlmyb6m1zk91j"; }; - nativeBuildInputs = [ bdftopcf mkfontdir mkfontscale ]; - buildPhase = '' - for i in *.bdf; do - bdftopcf -o ''${i/bdf/pcf} $i - done + nativeBuildInputs = [ python3 bdftopcf mkfontscale ]; - gzip -n *.pcf + postPatch = '' + # do not update fontconfig cache + sed '32,33d' -i Makefile + + # make gzip deterministic + sed 's/gzip -9/gzip -9 -n/g' -i Makefile + + # fix python not found + patchShebangs scripts/merge ''; installPhase = '' fontDir="$out/share/fonts/misc" - mkdir -p "$fontDir" - mv *.pcf.gz "$fontDir" - - cd "$fontDir" - mkfontdir - mkfontscale + install -m 644 -D out/* -t "$fontDir" + mkfontdir "$fontDir" ''; - outputHashAlgo = "sha256"; - outputHashMode = "recursive"; - outputHash = "14dv3m1svahjyb9c1x1570qrmlnynzg0g36b10bqqs8xvhix34yq"; - meta = with stdenv.lib; { description = "A nice bitmap font, readable even at small sizes"; longDescription = '' From 128030139e5aea981d308708005cfb81ebb8676a Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Sun, 16 Feb 2020 14:01:52 +0100 Subject: [PATCH 2/2] tewi-font: generate otb and split output --- pkgs/data/fonts/tewi/default.nix | 28 +++++++++++++++++++++++----- pkgs/top-level/all-packages.nix | 3 ++- 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/pkgs/data/fonts/tewi/default.nix b/pkgs/data/fonts/tewi/default.nix index c3c88dd08c4b..6245032246c9 100644 --- a/pkgs/data/fonts/tewi/default.nix +++ b/pkgs/data/fonts/tewi/default.nix @@ -1,4 +1,7 @@ -{ stdenv, fetchFromGitHub, python3, bdftopcf, mkfontscale }: +{ stdenv, fetchFromGitHub, python3 +, bdftopcf, mkfontscale +, libfaketime, fonttosfnt +}: stdenv.mkDerivation rec { pname = "tewi-font"; @@ -11,12 +14,12 @@ stdenv.mkDerivation rec { sha256 = "1axv9bv10xlcmgfyjh3z5kn5fkg3m6n1kskcs5hvlmyb6m1zk91j"; }; - nativeBuildInputs = [ python3 bdftopcf mkfontscale ]; + nativeBuildInputs = + [ python3 bdftopcf mkfontscale + libfaketime fonttosfnt + ]; postPatch = '' - # do not update fontconfig cache - sed '32,33d' -i Makefile - # make gzip deterministic sed 's/gzip -9/gzip -9 -n/g' -i Makefile @@ -24,12 +27,27 @@ stdenv.mkDerivation rec { patchShebangs scripts/merge ''; + postBuild = '' + # convert bdf fonts to otb + for i in *.bdf; do + name=$(basename "$i" .bdf) + faketime -f "1970-01-01 00:00:01" \ + fonttosfnt -v -o "$name.otb" "$i" + done + ''; + installPhase = '' fontDir="$out/share/fonts/misc" install -m 644 -D out/* -t "$fontDir" mkfontdir "$fontDir" + + fontDir="$otb/share/fonts/misc" + install -m 644 -D *.otb -t "$fontDir" + mkfontdir "$fontDir" ''; + outputs = [ "out" "otb" ]; + meta = with stdenv.lib; { description = "A nice bitmap font, readable even at small sizes"; longDescription = '' diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a8192f56c1be..135e059186de 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -25475,7 +25475,8 @@ in tetex = callPackage ../tools/typesetting/tex/tetex { libpng = libpng12; }; - tewi-font = callPackage ../data/fonts/tewi {}; + tewi-font = callPackage ../data/fonts/tewi + { inherit (buildPackages.xorg) fonttosfnt mkfontscale; }; texFunctions = callPackage ../tools/typesetting/tex/nix pkgs;