diff options
Diffstat (limited to 'pkgs/development/python-modules/fonttools/default.nix')
-rw-r--r-- | pkgs/development/python-modules/fonttools/default.nix | 64 |
1 files changed, 37 insertions, 27 deletions
diff --git a/pkgs/development/python-modules/fonttools/default.nix b/pkgs/development/python-modules/fonttools/default.nix index a667f631eb184..ba9929caacce2 100644 --- a/pkgs/development/python-modules/fonttools/default.nix +++ b/pkgs/development/python-modules/fonttools/default.nix @@ -1,19 +1,25 @@ { lib +, stdenv , buildPythonPackage -, fetchFromGitHub , pythonOlder -, brotlipy -, zopfli +, isPyPy +, fetchFromGitHub +, setuptools-scm +, fs , lxml +, brotli +, brotlicffi +, zopfli +, unicodedata2 +, lz4 , scipy , munkres -, unicodedata2 +, matplotlib , sympy -, reportlab -, sphinx +, xattr +, skia-pathops +, uharfbuzz , pytestCheckHook -, glibcLocales -, setuptools-scm }: buildPythonPackage rec { @@ -31,28 +37,32 @@ buildPythonPackage rec { nativeBuildInputs = [ setuptools-scm ]; - # all dependencies are optional, but - # we run the checks with them + passthru.optional-dependencies = let + extras = { + ufo = [ fs ]; + lxml = [ lxml ]; + woff = [ (if isPyPy then brotlicffi else brotli) zopfli ]; + unicode = lib.optional (pythonOlder "3.11") unicodedata2; + graphite = [ lz4 ]; + interpolatable = [ (if isPyPy then munkres else scipy) ]; + plot = [ matplotlib ]; + symfont = [ sympy ]; + type1 = lib.optional stdenv.isDarwin xattr; + pathops = [ skia-pathops ]; + repacker = [ uharfbuzz ]; + }; + in extras // { + all = lib.concatLists (lib.attrValues extras); + }; checkInputs = [ pytestCheckHook - # etree extra - lxml - # woff extra - brotlipy - zopfli - # interpolatable extra - scipy - munkres - # symfont - sympy - # pens - reportlab - sphinx - ] ++ lib.optionals (pythonOlder "3.9") [ - # unicode extra - unicodedata2 - ]; + ] ++ lib.concatLists (lib.attrVals [ + "woff" + "interpolatable" + "pathops" + "repacker" + ] passthru.optional-dependencies); pythonImportsCheck = [ "fontTools" ]; |