about summary refs log tree commit diff
path: root/pkgs/data
diff options
context:
space:
mode:
authorrnhmjoj <micheleguerinirocco@me.com>2015-08-31 16:06:22 +0200
committerrnhmjoj <micheleguerinirocco@me.com>2015-08-31 16:06:22 +0200
commitcb976a40ab6de82b17d047944078c63abff7507c (patch)
treec1292c0696c3620d44ba0313aa21e3b928f02987 /pkgs/data
parent77f18a152bcb92a329fc6cef6712b095c7aff752 (diff)
downloadnixlib-cb976a40ab6de82b17d047944078c63abff7507c.tar
nixlib-cb976a40ab6de82b17d047944078c63abff7507c.tar.gz
nixlib-cb976a40ab6de82b17d047944078c63abff7507c.tar.bz2
nixlib-cb976a40ab6de82b17d047944078c63abff7507c.tar.lz
nixlib-cb976a40ab6de82b17d047944078c63abff7507c.tar.xz
nixlib-cb976a40ab6de82b17d047944078c63abff7507c.tar.zst
nixlib-cb976a40ab6de82b17d047944078c63abff7507c.zip
gohufont: add console version
Diffstat (limited to 'pkgs/data')
-rw-r--r--pkgs/data/fonts/gohufont/default.nix43
1 files changed, 38 insertions, 5 deletions
diff --git a/pkgs/data/fonts/gohufont/default.nix b/pkgs/data/fonts/gohufont/default.nix
index 450971524e61..a4e228d7de14 100644
--- a/pkgs/data/fonts/gohufont/default.nix
+++ b/pkgs/data/fonts/gohufont/default.nix
@@ -1,26 +1,59 @@
-{ stdenv, fetchurl, mkfontdir, mkfontscale }:
+{ stdenv, fetchurl, mkfontdir, mkfontscale, bdf2psf }:
 
 stdenv.mkDerivation rec {
   name = "gohufont-2.0";
 
-  src = fetchurl {
+  pcf = fetchurl {
     url = "http://font.gohu.org/gohufont-2.0.tar.gz";
     sha256 = "0vi87fvj3m52piz2k6vqday03cah6zvz3dzrvjch3qjna1i1nb7s";
   };
 
-  buildInputs = [ mkfontdir mkfontscale ];
+  bdf = fetchurl {
+    url = "http://font.gohu.org/gohufont-bdf-2.0.tar.gz";
+    sha256 = "0rqqavhqbs7pajcblg92mjlz2dxk8b60vgdh271axz7kjs2wf9mr";
+  };
+
+  buildInputs = [ mkfontdir mkfontscale bdf2psf ];
+
+  unpackPhase = ''
+    mkdir pcf bdf
+    tar -xzf $pcf --strip-components=1 -C pcf
+    tar -xzf $bdf --strip-components=1 -C bdf
+  '';
 
   installPhase = ''
+    # convert bdf to psf fonts
+    sourceRoot="$(pwd)"
+    mkdir psf
+
+    cd "${bdf2psf}/usr/share/bdf2psf"
+    for i in $sourceRoot/bdf/*.bdf; do
+      bdf2psf --fb $i standard.equivalents \
+                      ascii.set+useful.set+linux.set 512 \
+                      "$sourceRoot/psf/$(basename $i .bdf).psf"
+    done
+    cd "$sourceRoot"
+
+    # install the psf fonts (for the virtual console)
+    fontDir="$out/share/consolefonts"
+    mkdir -p "$fontDir"
+    mv psf/*.psf "$fontDir"
+
+
+    # install the pcf fonts (for xorg applications)
     fontDir="$out/share/fonts/misc"
     mkdir -p "$fontDir"
-    mv *.pcf.gz "$fontDir"
+    mv pcf/*.pcf.gz "$fontDir"
+
     cd "$fontDir"
     mkfontdir
     mkfontscale
   '';
 
   meta = with stdenv.lib; {
-    description = "A monospace bitmap font well suited for programming and terminal use";
+    description = ''
+      A monospace bitmap font well suited for programming and terminal use
+    '';
     homepage = http://font.gohu.org/;
     license = licenses.wtfpl;
     maintainers = with maintainers; [ epitrochoid ];