nixpkgs/pkgs/data/fonts/tewi/default.nix
rnhmjoj 6545e5a506
pkgs/data/fonts: merge back the split otb output
Since the Pango issue 457[1] has been fixed and Nixpkgs patched, it's no
longer necessary to keep X11 and .otb fonts in separate outputs (previously
they would cause application to display broken fonts).

[1]: https://gitlab.gnome.org/GNOME/pango/-/issues/457
2020-08-22 09:45:05 +02:00

60 lines
1.4 KiB
Nix

{ stdenv, fetchFromGitHub, python3
, bdftopcf, mkfontscale
, libfaketime, fonttosfnt
}:
stdenv.mkDerivation rec {
pname = "tewi-font";
version = "2.0.2";
src = fetchFromGitHub {
owner = "lucy";
repo = pname;
rev = version;
sha256 = "1axv9bv10xlcmgfyjh3z5kn5fkg3m6n1kskcs5hvlmyb6m1zk91j";
};
nativeBuildInputs =
[ python3 bdftopcf mkfontscale
libfaketime fonttosfnt
];
postPatch = ''
# make gzip deterministic
sed 's/gzip -9/gzip -9 -n/g' -i Makefile
# fix python not found
patchShebangs scripts/merge
'';
postBuild = ''
# convert bdf fonts to otb
for i in *.bdf; do
name=$(basename "$i" .bdf)
faketime -f "1970-01-01 00:00:01" \
fonttosfnt -v -o "$name.otb" "$i"
done
'';
installPhase = ''
fontDir="$out/share/fonts/misc"
install -m 644 -D *.otb out/* -t "$fontDir"
mkfontdir "$fontDir"
'';
meta = with stdenv.lib; {
description = "A nice bitmap font, readable even at small sizes";
longDescription = ''
Tewi is a bitmap font, readable even at very small font sizes. This is
particularily useful while programming, to fit a lot of code on your
screen.
'';
homepage = "https://github.com/lucy/tewi-font";
license = {
fullName = "GNU General Public License with a font exception";
url = "https://www.gnu.org/licenses/gpl-faq.html#FontException";
};
maintainers = [ maintainers.fro_ozen ];
};
}