about summary refs log tree commit diff
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.nix129
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" ];