unscii: cleanup and split outputs

The font is very large and duplicated across many formats, some of
which cannot be compressed, like `.hex` or `.svg`.
For normal use (eg. X11, GTK applications) these formats are not
necessary, so they are moved to another output reducing the default
closure size.
This commit is contained in:
rnhmjoj 2020-02-17 11:57:28 +01:00
parent 3b7f5c6762
commit 270a1e4f8a
No known key found for this signature in database
GPG Key ID: BFBAF4C975F76450

View File

@ -1,25 +1,48 @@
{stdenv, fetchurl, perl, bdftopcf, perlPackages, fontforge, SDL, SDL_image}: { stdenv, fetchurl, perl, bdftopcf
, fontforge, SDL, SDL_image, mkfontscale
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "unscii"; pname = "unscii";
version = "1.1"; version = "1.1";
# or fetchFromGitHub(owner,repo,rev) or fetchgit(rev)
src = fetchurl { src = fetchurl {
url = "http://pelulamu.net/${pname}/${pname}-${version}-src.tar.gz"; url = "http://pelulamu.net/${pname}/${pname}-${version}-src.tar.gz";
sha256 = "0qcxcnqz2nlwfzlrn115kkp3n8dd7593h762vxs6vfqm13i39lq1"; sha256 = "0qcxcnqz2nlwfzlrn115kkp3n8dd7593h762vxs6vfqm13i39lq1";
}; };
nativeBuildInputs = [perl bdftopcf perlPackages.TextCharWidth fontforge
SDL SDL_image]; nativeBuildInputs =
[ (perl.withPackages (p: [ p.TextCharWidth ]))
bdftopcf fontforge SDL SDL_image
mkfontscale
];
preConfigure = '' preConfigure = ''
patchShebangs . patchShebangs .
''; '';
installPhase = ''
install -m444 -Dt $out/share/fonts *.hex *.pcf postBuild = ''
install -m444 -Dt $out/share/fonts/truetype *.ttf # compress pcf fonts
install -m444 -Dt $out/share/fonts/opentype *.otf gzip -9 -n *.pcf
install -m444 -Dt $out/share/fonts/svg *.svg
install -m444 -Dt $out/share/fonts/web *.woff
''; '';
installPhase = ''
# install fonts for use in X11 and GTK applications
install -m444 -Dt "$out/share/fonts/misc" *.pcf.gz
install -m444 -Dt "$out/share/fonts/opentype" *.otf
mkfontdir "$out/share/fonts/misc"
mkfontscale "$out/share/fonts/opentype"
# install other formats in $extra
install -m444 -Dt "$extra/share/fonts/truetype" *.ttf
install -m444 -Dt "$extra/share/fonts/svg" *.svg
install -m444 -Dt "$extra/share/fonts/web" *.woff
install -m444 -Dt "$extra/share/fonts/misc" *.hex
mkfontscale "$extra"/share/fonts/*
'';
outputs = [ "out" "extra" ];
meta = { meta = {
inherit version; inherit version;
description = ''Bitmapped character-art-friendly Unicode fonts''; description = ''Bitmapped character-art-friendly Unicode fonts'';