summaryrefslogtreecommitdiff
path: root/pkgs/development/python-modules/fonttools/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/python-modules/fonttools/default.nix')
-rw-r--r--pkgs/development/python-modules/fonttools/default.nix125
1 files changed, 69 insertions, 56 deletions
diff --git a/pkgs/development/python-modules/fonttools/default.nix b/pkgs/development/python-modules/fonttools/default.nix
index 57e8372efa76..3f8e7e299e90 100644
--- a/pkgs/development/python-modules/fonttools/default.nix
+++ b/pkgs/development/python-modules/fonttools/default.nix
@@ -1,27 +1,28 @@
-{ 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 {
@@ -32,8 +33,8 @@ buildPythonPackage rec {
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
- owner = pname;
- repo = pname;
+ owner = pname;
+ repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-JUAFGLjyq/2OXlhTB6dIcO3Mq7Rx1HII+sg2TaQfPYU=";
};
@@ -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" ];