about summary refs log tree commit diff
path: root/pkgs/data/fonts
diff options
context:
space:
mode:
authorrnhmjoj <rnhmjoj@inventati.org>2020-02-17 17:06:23 +0100
committerrnhmjoj <rnhmjoj@inventati.org>2020-02-17 17:06:23 +0100
commit06e7100bf9a818f3c184328728354c310abc346e (patch)
tree2b18ca6e3abced8b4b5c45a24de89c96c80d9f59 /pkgs/data/fonts
parent789182cb8f2024c83a2ea8fb0bc309be51dc7d0b (diff)
downloadnixlib-06e7100bf9a818f3c184328728354c310abc346e.tar
nixlib-06e7100bf9a818f3c184328728354c310abc346e.tar.gz
nixlib-06e7100bf9a818f3c184328728354c310abc346e.tar.bz2
nixlib-06e7100bf9a818f3c184328728354c310abc346e.tar.lz
nixlib-06e7100bf9a818f3c184328728354c310abc346e.tar.xz
nixlib-06e7100bf9a818f3c184328728354c310abc346e.tar.zst
nixlib-06e7100bf9a818f3c184328728354c310abc346e.zip
ucs-fonts: generate pcf, otb and split output
Diffstat (limited to 'pkgs/data/fonts')
-rw-r--r--pkgs/data/fonts/ucs-fonts/default.nix41
1 files changed, 29 insertions, 12 deletions
diff --git a/pkgs/data/fonts/ucs-fonts/default.nix b/pkgs/data/fonts/ucs-fonts/default.nix
index 7f808af18f24..d363f01309be 100644
--- a/pkgs/data/fonts/ucs-fonts/default.nix
+++ b/pkgs/data/fonts/ucs-fonts/default.nix
@@ -1,4 +1,6 @@
-{ stdenv, fetchurl, mkfontdir, mkfontscale }:
+{ stdenv, fetchurl, bdftopcf
+, libfaketime, fonttosfnt, mkfontscale
+}:
 
 stdenv.mkDerivation {
   pname = "ucs-fonts";
@@ -21,25 +23,40 @@ stdenv.mkDerivation {
 
   sourceRoot = ".";
 
-  nativeBuildInputs = [ mkfontdir mkfontscale ];
+  nativeBuildInputs =
+    [ bdftopcf libfaketime fonttosfnt
+      mkfontscale
+    ];
 
-  phases = [ "unpackPhase" "installPhase" ];
+  buildPhase = ''
+    for i in *.bdf; do
+      name=$(basename "$i" .bdf)
+
+      # generate pcf fonts (for X11 applications)
+      bdftopcf -t "$i" | gzip -n -9 -c > "$name.pcf.gz"
+
+      # generate otb fonts (for GTK applications)
+      faketime -f "1970-01-01 00:00:01" \
+      fonttosfnt -v -o "$name.otb" "$i"
+    done
+  '';
 
   installPhase = ''
-    mkdir -p $out/share/fonts
-    cp *.bdf $out/share/fonts
-    cd $out/share/fonts
-    mkfontdir
-    mkfontscale
+    install -m 644 -D *.pcf.gz -t "$out/share/fonts/misc"
+    install -m 644 -D *.bdf    -t "$bdf/share/fonts/misc"
+    install -m 644 -D *.otb    -t "$otb/share/fonts/misc"
+
+    mkfontdir "$out/share/fonts/misc"
+    mkfontdir "$bdf/share/fonts/misc"
+    mkfontdir "$otb/share/fonts/misc"
   '';
 
-  outputHashAlgo = "sha256";
-  outputHashMode = "recursive";
-  outputHash = "12fh3kbsib0baqwk6148fnzqrj9gs4vnl7yd5n9km72sic1z1xwk";
+  outputs = [ "out" "bdf" "otb" ];
 
   meta = with stdenv.lib; {
-    homepage = https://www.cl.cam.ac.uk/~mgk25/ucs-fonts.html;
+    homepage = "https://www.cl.cam.ac.uk/~mgk25/ucs-fonts.html";
     description = "Unicode bitmap fonts";
+    license = licenses.publicDomain;
     maintainers = [ maintainers.raskin ];
     platforms = platforms.all;
   };