From 4eb84c9ed4e07b115f0e84ad9bf8466cd63284d9 Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Sun, 16 Feb 2020 10:46:35 +0100 Subject: [PATCH] terminus_font: generate otb and split output --- pkgs/data/fonts/terminus-font/default.nix | 35 +++++++++++++++++++---- pkgs/top-level/all-packages.nix | 3 +- 2 files changed, 31 insertions(+), 7 deletions(-) diff --git a/pkgs/data/fonts/terminus-font/default.nix b/pkgs/data/fonts/terminus-font/default.nix index 358ab959cd0e..88ae9ac72c2e 100644 --- a/pkgs/data/fonts/terminus-font/default.nix +++ b/pkgs/data/fonts/terminus-font/default.nix @@ -1,4 +1,7 @@ -{ stdenv, fetchurl, python3, bdftopcf, mkfontdir, mkfontscale }: +{ stdenv, fetchurl, python3 +, libfaketime, fonttosfnt +, bdftopcf, mkfontscale +}: stdenv.mkDerivation rec { pname = "terminus-font"; @@ -9,16 +12,36 @@ stdenv.mkDerivation rec { sha256 = "1bwlkj39rqbyq57v5yssayav6hzv1n11b9ml2s0dpiyfsn6rqy9l"; }; - nativeBuildInputs = [ python3 bdftopcf mkfontdir mkfontscale ]; - - patchPhase = '' - substituteInPlace Makefile --replace 'fc-cache' '#fc-cache' - ''; + nativeBuildInputs = + [ python3 bdftopcf libfaketime + fonttosfnt mkfontscale + ]; enableParallelBuilding = true; + postPatch = '' + substituteInPlace Makefile --replace 'fc-cache' '#fc-cache' + ''; + + postBuild = '' + # convert unicode 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 + ''; + + postInstall = '' + # install otb fonts (for GTK applications) + install -m 644 -D *.otb -t "$otb/share/fonts/misc"; + mkfontdir "$otb/share/fonts/misc" + ''; + installTargets = [ "install" "fontdir" ]; + outputs = [ "out" "otb" ]; + meta = with stdenv.lib; { description = "A clean fixed width font"; longDescription = '' diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a8192f56c1be..aadb74aa4dae 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17971,7 +17971,8 @@ in tenderness = callPackage ../data/fonts/tenderness { }; - terminus_font = callPackage ../data/fonts/terminus-font { }; + terminus_font = callPackage ../data/fonts/terminus-font + { inherit (buildPackages.xorg) fonttosfnt mkfontscale; }; terminus_font_ttf = callPackage ../data/fonts/terminus-font-ttf { };