diff options
Diffstat (limited to 'nixpkgs/pkgs/data/fonts/gohufont/default.nix')
-rw-r--r-- | nixpkgs/pkgs/data/fonts/gohufont/default.nix | 66 |
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; + }; +} |