about summary refs log tree commit diff
path: root/nixpkgs/pkgs/data/fonts/gohufont/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/data/fonts/gohufont/default.nix')
-rw-r--r--nixpkgs/pkgs/data/fonts/gohufont/default.nix66
1 files changed, 66 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/data/fonts/gohufont/default.nix b/nixpkgs/pkgs/data/fonts/gohufont/default.nix
new file mode 100644
index 000000000000..7936a216ada7
--- /dev/null
+++ b/nixpkgs/pkgs/data/fonts/gohufont/default.nix
@@ -0,0 +1,66 @@
+{ stdenv, fetchurl, mkfontdir, mkfontscale, bdf2psf }:
+
+stdenv.mkDerivation rec {
+  name = "gohufont-2.0";
+
+  pcf = fetchurl {
+    url = "http://font.gohu.org/gohufont-2.0.tar.gz";
+    sha256 = "0vi87fvj3m52piz2k6vqday03cah6zvz3dzrvjch3qjna1i1nb7s";
+  };
+
+  bdf = fetchurl {
+    url = "http://font.gohu.org/gohufont-bdf-2.0.tar.gz";
+    sha256 = "0rqqavhqbs7pajcblg92mjlz2dxk8b60vgdh271axz7kjs2wf9mr";
+  };
+
+  nativeBuildInputs = [ 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/*.pcf.gz "$fontDir"
+
+    cd "$fontDir"
+    mkfontdir
+    mkfontscale
+  '';
+
+  outputHashAlgo = "sha256";
+  outputHashMode = "recursive";
+  outputHash = "0msl5y9q6hjbhc85v121x1b1rhsh2rbqqy4k234i5mpp8l3087r7";
+
+  meta = with stdenv.lib; {
+    description = ''
+      A monospace bitmap font well suited for programming and terminal use
+    '';
+    homepage = http://font.gohu.org/;
+    license = licenses.wtfpl;
+    maintainers = with maintainers; [ epitrochoid ];
+    platforms = platforms.linux;
+  };
+}