diff options
author | Michele Guerini Rocco <rnhmjoj@users.noreply.github.com> | 2020-02-19 11:07:22 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-19 11:07:22 +0100 |
commit | 0d47e820c32d64a43f86fb29dc7352b3d0547d06 (patch) | |
tree | 83ec12ed3921dd24d199bea56ff526149967a74a /pkgs/data | |
parent | 5f12d6431698ad43b5cc30241f5ca4567214e457 (diff) | |
parent | fc479ad23fe2f2b12165bb11ae535aeb7e1d8c24 (diff) | |
download | nixlib-0d47e820c32d64a43f86fb29dc7352b3d0547d06.tar nixlib-0d47e820c32d64a43f86fb29dc7352b3d0547d06.tar.gz nixlib-0d47e820c32d64a43f86fb29dc7352b3d0547d06.tar.bz2 nixlib-0d47e820c32d64a43f86fb29dc7352b3d0547d06.tar.lz nixlib-0d47e820c32d64a43f86fb29dc7352b3d0547d06.tar.xz nixlib-0d47e820c32d64a43f86fb29dc7352b3d0547d06.tar.zst nixlib-0d47e820c32d64a43f86fb29dc7352b3d0547d06.zip |
Merge pull request #80326 from rnhmjoj/uni-vga
uni-vga: generate otb, psf and split output
Diffstat (limited to 'pkgs/data')
-rw-r--r-- | pkgs/data/fonts/uni-vga/default.nix | 54 |
1 files changed, 42 insertions, 12 deletions
diff --git a/pkgs/data/fonts/uni-vga/default.nix b/pkgs/data/fonts/uni-vga/default.nix index cd719a62d99f..9cc0fb9adcc5 100644 --- a/pkgs/data/fonts/uni-vga/default.nix +++ b/pkgs/data/fonts/uni-vga/default.nix @@ -1,4 +1,8 @@ -{ stdenv, fetchurl, mkfontdir, mkfontscale }: +{ stdenv, fetchurl, perl, kbd, bdftopcf +, libfaketime, fonttosfnt, mkfontscale +}: + +with stdenv.lib; stdenv.mkDerivation { name = "uni-vga"; @@ -8,24 +12,50 @@ stdenv.mkDerivation { sha256 = "05sns8h5yspa7xkl81ri7y1yxf5icgsnl497f3xnaryhx11s2rv6"; }; - nativeBuildInputs = [ mkfontdir mkfontscale ]; + nativeBuildInputs = + [ bdftopcf libfaketime + fonttosfnt mkfontscale + ] ++ optionals stdenv.isLinux [ perl kbd ]; + + postPatch = "patchShebangs ."; + + buildPhase = '' + # convert font to compressed pcf + bdftopcf u_vga16.bdf | gzip -c -9 -n > u_vga16.pcf.gz + + # convert bdf font to otb + faketime -f "1970-01-01 00:00:01" \ + fonttosfnt -v -o u_vga16.otb u_vga16.bdf + '' + optionalString stdenv.isLinux '' + # convert font to compressed psf + ./bdf2psf.pl -s UniCyrX.sfm u_vga16.bdf \ + | psfaddtable - UniCyrX.sfm - \ + | gzip -c -9 -n > u_vga16.psf.gz + ''; installPhase = '' - mkdir -p $out/share/fonts - cp *.bdf $out/share/fonts - cd $out/share/fonts - mkfontdir - mkfontscale + # install pcf (for X11 applications) + install -m 644 -D *.pcf.gz -t "$out/share/fonts" + 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" + '' + optionalString stdenv.isLinux '' + # install psf (for linux virtual terminal) + install -m 644 -D *.psf.gz -t "$out/share/consolefonts" ''; - outputHashAlgo = "sha256"; - outputHashMode = "recursive"; - outputHash = "0rfly7r6blr2ykxlv0f6my2w41vvxcw85chspljd2p1fxlr28jd7"; + outputs = [ "out" "bdf" "otb" ]; meta = { description = "Unicode VGA font"; - maintainers = [stdenv.lib.maintainers.ftrvxmtrx]; + maintainers = [ maintainers.ftrvxmtrx ]; homepage = http://www.inp.nsk.su/~bolkhov/files/fonts/univga/; - license = stdenv.lib.licenses.mit; + license = licenses.mit; }; } |