python310Packages.fonttools: specify passthru.optional-dependencies

authored by Robert Schütz and committed by Jonathan Ringer d11da8c2 962a3258

+37 -27
+37 -27
pkgs/development/python-modules/fonttools/default.nix
··· 1 1 { lib 2 + , stdenv 2 3 , buildPythonPackage 3 - , fetchFromGitHub 4 4 , pythonOlder 5 - , brotlipy 6 - , zopfli 5 + , isPyPy 6 + , fetchFromGitHub 7 + , setuptools-scm 8 + , fs 7 9 , lxml 10 + , brotli 11 + , brotlicffi 12 + , zopfli 13 + , unicodedata2 14 + , lz4 8 15 , scipy 9 16 , munkres 10 - , unicodedata2 17 + , matplotlib 11 18 , sympy 12 - , reportlab 13 - , sphinx 19 + , xattr 20 + , skia-pathops 21 + , uharfbuzz 14 22 , pytestCheckHook 15 - , glibcLocales 16 - , setuptools-scm 17 23 }: 18 24 19 25 buildPythonPackage rec { ··· 31 37 32 38 nativeBuildInputs = [ setuptools-scm ]; 33 39 34 - # all dependencies are optional, but 35 - # we run the checks with them 40 + passthru.optional-dependencies = let 41 + extras = { 42 + ufo = [ fs ]; 43 + lxml = [ lxml ]; 44 + woff = [ (if isPyPy then brotlicffi else brotli) zopfli ]; 45 + unicode = lib.optional (pythonOlder "3.11") unicodedata2; 46 + graphite = [ lz4 ]; 47 + interpolatable = [ (if isPyPy then munkres else scipy) ]; 48 + plot = [ matplotlib ]; 49 + symfont = [ sympy ]; 50 + type1 = lib.optional stdenv.isDarwin xattr; 51 + pathops = [ skia-pathops ]; 52 + repacker = [ uharfbuzz ]; 53 + }; 54 + in extras // { 55 + all = lib.concatLists (lib.attrValues extras); 56 + }; 36 57 37 58 checkInputs = [ 38 59 pytestCheckHook 39 - # etree extra 40 - lxml 41 - # woff extra 42 - brotlipy 43 - zopfli 44 - # interpolatable extra 45 - scipy 46 - munkres 47 - # symfont 48 - sympy 49 - # pens 50 - reportlab 51 - sphinx 52 - ] ++ lib.optionals (pythonOlder "3.9") [ 53 - # unicode extra 54 - unicodedata2 55 - ]; 60 + ] ++ lib.concatLists (lib.attrVals [ 61 + "woff" 62 + "interpolatable" 63 + "pathops" 64 + "repacker" 65 + ] passthru.optional-dependencies); 56 66 57 67 pythonImportsCheck = [ "fontTools" ]; 58 68