diff options
author | rnhmjoj <rnhmjoj@inventati.org> | 2020-02-17 02:11:34 +0100 |
---|---|---|
committer | rnhmjoj <rnhmjoj@inventati.org> | 2020-02-17 02:11:50 +0100 |
commit | a3b97a4061f8c59922b49aa3237d8876ab36aaa8 (patch) | |
tree | b39920e465b233fa3358239ee027e072f894219b /pkgs/data/fonts | |
parent | 27006fcb4d09808c1a5fe5e1b67c8c5f31f311ca (diff) | |
download | nixlib-a3b97a4061f8c59922b49aa3237d8876ab36aaa8.tar nixlib-a3b97a4061f8c59922b49aa3237d8876ab36aaa8.tar.gz nixlib-a3b97a4061f8c59922b49aa3237d8876ab36aaa8.tar.bz2 nixlib-a3b97a4061f8c59922b49aa3237d8876ab36aaa8.tar.lz nixlib-a3b97a4061f8c59922b49aa3237d8876ab36aaa8.tar.xz nixlib-a3b97a4061f8c59922b49aa3237d8876ab36aaa8.tar.zst nixlib-a3b97a4061f8c59922b49aa3237d8876ab36aaa8.zip |
uni-vga: generate otb, psf and split output
Diffstat (limited to 'pkgs/data/fonts')
-rw-r--r-- | pkgs/data/fonts/uni-vga/default.nix | 46 |
1 files changed, 36 insertions, 10 deletions
diff --git a/pkgs/data/fonts/uni-vga/default.nix b/pkgs/data/fonts/uni-vga/default.nix index cd719a62d99f..44619bf3424c 100644 --- a/pkgs/data/fonts/uni-vga/default.nix +++ b/pkgs/data/fonts/uni-vga/default.nix @@ -1,4 +1,6 @@ -{ stdenv, fetchurl, mkfontdir, mkfontscale }: +{ stdenv, fetchurl, perl, kbd, bdftopcf +, libfaketime, fonttosfnt, mkfontscale +}: stdenv.mkDerivation { name = "uni-vga"; @@ -8,19 +10,43 @@ stdenv.mkDerivation { sha256 = "05sns8h5yspa7xkl81ri7y1yxf5icgsnl497f3xnaryhx11s2rv6"; }; - nativeBuildInputs = [ mkfontdir mkfontscale ]; + nativeBuildInputs = + [ perl kbd bdftopcf libfaketime + fonttosfnt mkfontscale + ]; + + postPatch = "patchShebangs ."; + + buildPhase = '' + # convert font to compressed pcf + bdftopcf u_vga16.bdf | gzip -c -9 -n > u_vga16.pcf.gz + + # convert font to compressed psf + ./bdf2psf.pl -s UniCyrX.sfm u_vga16.bdf \ + | psfaddtable - UniCyrX.sfm - \ + | gzip -c -9 -n > u_vga16.psf.gz + + # convert bdf font to otb + faketime -f "1970-01-01 00:00:01" \ + fonttosfnt -v -o u_vga16.otb u_vga16.bdf + ''; installPhase = '' - mkdir -p $out/share/fonts - cp *.bdf $out/share/fonts - cd $out/share/fonts - mkfontdir - mkfontscale + # install pcf (for X11 applications) and psf (virtual terminal) + install -m 644 -D *.pcf.gz -t "$out/share/fonts" + install -m 644 -D *.psf.gz -t "$out/share/consolefonts" + mkfontdir "$out/share/fonts" + + # install bdf font + install -m 644 -D *.bdf -t "$bdf/share/fonts" + mkfontdir "$bdf/share/fonts" + + # install otb font (for GTK applications) + install -m 644 -D *.otb -t "$otb/share/fonts" + mkfontdir "$otb/share/fonts" ''; - outputHashAlgo = "sha256"; - outputHashMode = "recursive"; - outputHash = "0rfly7r6blr2ykxlv0f6my2w41vvxcw85chspljd2p1fxlr28jd7"; + outputs = [ "out" "bdf" "otb" ]; meta = { description = "Unicode VGA font"; |