diff options
Diffstat (limited to 'pkgs/development/python-modules/fonttools/default.nix')
-rw-r--r-- | pkgs/development/python-modules/fonttools/default.nix | 129 |
1 files changed, 71 insertions, 58 deletions
diff --git a/pkgs/development/python-modules/fonttools/default.nix b/pkgs/development/python-modules/fonttools/default.nix index be573a627e99e..3f8e7e299e907 100644 --- a/pkgs/development/python-modules/fonttools/default.nix +++ b/pkgs/development/python-modules/fonttools/default.nix @@ -1,41 +1,42 @@ -{ lib -, stdenv -, buildPythonPackage -, pythonOlder -, isPyPy -, fetchFromGitHub -, setuptools -, setuptools-scm -, fs -, lxml -, brotli -, brotlicffi -, zopfli -, unicodedata2 -, lz4 -, scipy -, munkres -, pycairo -, matplotlib -, sympy -, xattr -, skia-pathops -, uharfbuzz -, pytest7CheckHook +{ + lib, + stdenv, + buildPythonPackage, + pythonOlder, + isPyPy, + fetchFromGitHub, + setuptools, + setuptools-scm, + fs, + lxml, + brotli, + brotlicffi, + zopfli, + unicodedata2, + lz4, + scipy, + munkres, + pycairo, + matplotlib, + sympy, + xattr, + skia-pathops, + uharfbuzz, + pytest7CheckHook, }: buildPythonPackage rec { pname = "fonttools"; - version = "4.49.0"; + version = "4.51.0"; pyproject = true; disabled = pythonOlder "3.8"; src = fetchFromGitHub { - owner = pname; - repo = pname; + owner = pname; + repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-8xQVuAnIS/mwYKwI+ow0YArIP8wFTKWGLZ+NCgIFYok="; + hash = "sha256-JUAFGLjyq/2OXlhTB6dIcO3Mq7Rx1HII+sg2TaQfPYU="; }; build-system = [ @@ -43,37 +44,49 @@ buildPythonPackage rec { setuptools-scm ]; - 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 = [ pycairo (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); - }; + 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 = [ + pycairo + (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); }; - nativeCheckInputs = [ - # test suite fails with pytest>=8.0.1 - # https://github.com/fonttools/fonttools/issues/3458 - pytest7CheckHook - ] ++ lib.concatLists (lib.attrVals ([ - "woff" - # "interpolatable" is not included because it only contains 2 tests at the time of writing but adds 270 extra dependencies - "ufo" - ] ++ lib.optionals (!skia-pathops.meta.broken) [ - "pathops" # broken - ] ++ [ - "repacker" - ]) optional-dependencies); + nativeCheckInputs = + [ + # test suite fails with pytest>=8.0.1 + # https://github.com/fonttools/fonttools/issues/3458 + pytest7CheckHook + ] + ++ lib.concatLists ( + lib.attrVals ( + [ + "woff" + # "interpolatable" is not included because it only contains 2 tests at the time of writing but adds 270 extra dependencies + "ufo" + ] + ++ lib.optionals (!skia-pathops.meta.broken) [ + "pathops" # broken + ] + ++ [ "repacker" ] + ) optional-dependencies + ); pythonImportsCheck = [ "fontTools" ]; |