76 lines
1.7 KiB
Nix
76 lines
1.7 KiB
Nix
{
|
|
stdenv,
|
|
fetchFromGitHub,
|
|
lib,
|
|
makeWrapper,
|
|
autoreconfHook,
|
|
python3,
|
|
fontforge,
|
|
potrace,
|
|
texlive,
|
|
}:
|
|
|
|
/*
|
|
To use with a texlive distribution, ensure that the desired fonts and
|
|
the packages kpathsea, t1utils, metafont are available at runtime.
|
|
|
|
Possible overrides:
|
|
- potrace = autotrace
|
|
- fontforge = ghostscript (limited functionality)
|
|
- fontforge = null (limited functionality)
|
|
*/
|
|
|
|
stdenv.mkDerivation (finalAttrs: rec {
|
|
pname = "mftrace";
|
|
version = "1.2.20";
|
|
|
|
# https://lilypond.org/download/sources/mftrace/mftrace-1.2.20.tar.gz
|
|
# is incomplete, fetch repo and use autoconf instead
|
|
# see https://github.com/hanwen/mftrace/issues/13
|
|
src = fetchFromGitHub {
|
|
owner = "hanwen";
|
|
repo = "mftrace";
|
|
rev = "release/${version}";
|
|
sha256 = "02ik25aczkbi10jrjlnxby3fmixxrwm2k5r4fkfif3bjfym7nqbc";
|
|
};
|
|
|
|
nativeBuildInputs = [
|
|
makeWrapper
|
|
autoreconfHook
|
|
python3
|
|
potrace
|
|
];
|
|
|
|
buildInputs = [
|
|
fontforge
|
|
potrace
|
|
];
|
|
|
|
postInstall = ''
|
|
wrapProgram $out/bin/mftrace --prefix PATH : ${lib.makeBinPath finalAttrs.buildInputs}
|
|
'';
|
|
|
|
# experimental texlive.combine support
|
|
# (note that only the bin/ folder will be combined into texlive)
|
|
passthru.tlDeps = with texlive; [
|
|
kpathsea
|
|
t1utils
|
|
metafont
|
|
];
|
|
|
|
meta = with lib; {
|
|
description = "Scalable PostScript Fonts for MetaFont";
|
|
longDescription = ''
|
|
mftrace is a small Python program that lets you trace a TeX bitmap
|
|
font into a PFA or PFB font (A PostScript Type1 Scalable Font) or
|
|
TTF (TrueType) font.
|
|
'';
|
|
homepage = "https://lilypond.org/mftrace/";
|
|
license = with licenses; [
|
|
gpl2Only
|
|
mit
|
|
];
|
|
maintainers = with maintainers; [ xworld21 ];
|
|
platforms = platforms.all;
|
|
};
|
|
})
|