about summary refs log tree commit diff
path: root/pkgs/data/fonts
diff options
context:
space:
mode:
authorMichele Guerini Rocco <rnhmjoj@users.noreply.github.com>2020-02-18 09:15:34 +0100
committerGitHub <noreply@github.com>2020-02-18 09:15:34 +0100
commitd61f235639fb0f54b9810fabf6de1e8f782dee0b (patch)
tree6a3faceb3187521be0eb52805b776a36648095d1 /pkgs/data/fonts
parenteb2ab1861494302e749ddd31f4622e2f0517c921 (diff)
parent06e7100bf9a818f3c184328728354c310abc346e (diff)
downloadnixlib-d61f235639fb0f54b9810fabf6de1e8f782dee0b.tar
nixlib-d61f235639fb0f54b9810fabf6de1e8f782dee0b.tar.gz
nixlib-d61f235639fb0f54b9810fabf6de1e8f782dee0b.tar.bz2
nixlib-d61f235639fb0f54b9810fabf6de1e8f782dee0b.tar.lz
nixlib-d61f235639fb0f54b9810fabf6de1e8f782dee0b.tar.xz
nixlib-d61f235639fb0f54b9810fabf6de1e8f782dee0b.tar.zst
nixlib-d61f235639fb0f54b9810fabf6de1e8f782dee0b.zip
Merge pull request #80366 from rnhmjoj/ucs-fonts
ucs-fonts: generate pcf, otb and split output
Diffstat (limited to 'pkgs/data/fonts')
-rw-r--r--pkgs/data/fonts/ucs-fonts/default.nix40
1 files changed, 29 insertions, 11 deletions
diff --git a/pkgs/data/fonts/ucs-fonts/default.nix b/pkgs/data/fonts/ucs-fonts/default.nix
index 0ea0363763dc..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,24 +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";
     description = "Unicode bitmap fonts";
+    license = licenses.publicDomain;
     maintainers = [ maintainers.raskin ];
     platforms = platforms.all;
   };