summary refs log tree commit diff
path: root/pkgs/data/fonts/envypn-font/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/data/fonts/envypn-font/default.nix')
-rw-r--r--pkgs/data/fonts/envypn-font/default.nix32
1 files changed, 18 insertions, 14 deletions
diff --git a/pkgs/data/fonts/envypn-font/default.nix b/pkgs/data/fonts/envypn-font/default.nix
index 351a0617ddc..c26569166a3 100644
--- a/pkgs/data/fonts/envypn-font/default.nix
+++ b/pkgs/data/fonts/envypn-font/default.nix
@@ -1,4 +1,6 @@
-{ stdenv, fetchurl, mkfontdir, mkfontscale }:
+{ stdenv, fetchurl, libfaketime
+, fonttosfnt, mkfontscale
+}:
 
 stdenv.mkDerivation {
   name = "envypn-font-1.7.1";
@@ -8,26 +10,28 @@ stdenv.mkDerivation {
     sha256 = "bda67b6bc6d5d871a4d46565d4126729dfb8a0de9611dae6c68132a7b7db1270";
   };
 
-  nativeBuildInputs = [ mkfontdir mkfontscale ];
+  nativeBuildInputs = [ libfaketime fonttosfnt mkfontscale ];
 
   unpackPhase = ''
     tar -xzf $src --strip-components=1
   '';
 
+  buildPhase = ''
+    # convert pcf fonts to otb
+    for i in *e.pcf.gz; do
+      faketime -f "1970-01-01 00:00:01" \
+      fonttosfnt -v -o "$(basename "$i" .pcf.gz)".otb "$i"
+    done
+  '';
+
   installPhase = ''
-    # install the pcf fonts (for xorg applications)
-    fontDir="$out/share/fonts/envypn"
-    mkdir -p "$fontDir"
-    mv *.pcf.gz "$fontDir"
-
-    cd "$fontDir"
-    mkfontdir
-    mkfontscale
+    install -D -m 644 -t "$out/share/fonts/misc" *.pcf.gz
+    install -D -m 644 -t "$otb/share/fonts/misc" *.otb
+    mkfontdir "$out/share/fonts/misc"
+    mkfontdir "$otb/share/fonts/misc"
   '';
 
-  outputHashAlgo = "sha256";
-  outputHashMode = "recursive";
-  outputHash = "04sjxfrlvjc2f0679cy4w366mpzbn3fp6gnrjb8vy12vjd1ffnc1";
+  outputs = [ "out" "otb" ];
 
   meta = with stdenv.lib; {
     description = ''
@@ -35,6 +39,6 @@ stdenv.mkDerivation {
     '';
     homepage = "http://ywstd.fr/p/pj/#envypn";
     license = licenses.miros;
-    platforms = platforms.linux;
+    platforms = platforms.all;
   };
 }