From 3bef031c681b7c166dfd94aff0054c674a9b83c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 27 May 2026 11:32:16 -0700 Subject: [PATCH 1/2] python3Packages.fonttools: 4.61.1 -> 4.63.0 Diff: https://github.com/fonttools/fonttools/compare/4.61.1...4.63.0 Changelog: https://github.com/fonttools/fonttools/blob/4.63.0/NEWS.rst --- .../python-modules/fonttools/default.nix | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/pkgs/development/python-modules/fonttools/default.nix b/pkgs/development/python-modules/fonttools/default.nix index f93a7bd2152b..cdeeddf319ef 100644 --- a/pkgs/development/python-modules/fonttools/default.nix +++ b/pkgs/development/python-modules/fonttools/default.nix @@ -21,19 +21,20 @@ xattr, skia-pathops, uharfbuzz, + addBinToPathHook, pytestCheckHook, }: buildPythonPackage rec { pname = "fonttools"; - version = "4.61.1"; + version = "4.63.0"; pyproject = true; src = fetchFromGitHub { owner = "fonttools"; repo = "fonttools"; tag = version; - hash = "sha256-762bqAhOqqnuNSH8yFLTBnzYuigs716nt+uC1UwUqT4="; + hash = "sha256-XTE18TKpIa4MpbJ5tcHwCyLk3Q6CV/ElzMtddG86HJA="; }; build-system = [ @@ -50,7 +51,7 @@ buildPythonPackage rec { (if isPyPy then brotlicffi else brotli) zopfli ]; - unicode = lib.optional (pythonOlder "3.13") unicodedata2; + unicode = lib.optional (pythonOlder "3.15") unicodedata2; graphite = [ lz4 ]; interpolatable = [ pycairo @@ -59,13 +60,14 @@ buildPythonPackage rec { plot = [ matplotlib ]; symfont = [ sympy ]; type1 = lib.optional stdenv.hostPlatform.isDarwin xattr; - pathops = lib.optional (lib.meta.availableOn stdenv.hostPlatform skia-pathops) skia-pathops; + pathops = [ skia-pathops ]; repacker = [ uharfbuzz ]; }; in extras // { all = lib.concatLists (lib.attrValues extras); }; nativeCheckInputs = [ + addBinToPathHook pytestCheckHook ] ++ lib.concatLists ( @@ -75,20 +77,17 @@ buildPythonPackage rec { # "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 - ] + ++ + lib.optionals (lib.meta.availableOn stdenv.hostPlatform skia-pathops && !skia-pathops.meta.broken) + [ + "pathops" # broken + ] ++ [ "repacker" ] ) optional-dependencies ); pythonImportsCheck = [ "fontTools" ]; - preCheck = '' - # tests want to execute the "fonttools" executable from $PATH - export PATH="$out/bin:$PATH" - ''; - # Timestamp tests have timing issues probably related # to our file timestamp normalization disabledTests = [ From b84bd317d02036f02ad3875e7bf83f1d3e90b165 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 27 May 2026 11:39:22 -0700 Subject: [PATCH 2/2] python3Packages.fonttools: use finalAttrs --- pkgs/development/python-modules/fonttools/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/fonttools/default.nix b/pkgs/development/python-modules/fonttools/default.nix index cdeeddf319ef..d854d9126cbc 100644 --- a/pkgs/development/python-modules/fonttools/default.nix +++ b/pkgs/development/python-modules/fonttools/default.nix @@ -25,7 +25,7 @@ pytestCheckHook, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "fonttools"; version = "4.63.0"; pyproject = true; @@ -33,7 +33,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "fonttools"; repo = "fonttools"; - tag = version; + tag = finalAttrs.version; hash = "sha256-XTE18TKpIa4MpbJ5tcHwCyLk3Q6CV/ElzMtddG86HJA="; }; @@ -83,7 +83,7 @@ buildPythonPackage rec { "pathops" # broken ] ++ [ "repacker" ] - ) optional-dependencies + ) finalAttrs.passthru.optional-dependencies ); pythonImportsCheck = [ "fontTools" ]; @@ -99,8 +99,8 @@ buildPythonPackage rec { meta = { homepage = "https://github.com/fonttools/fonttools"; description = "Library to manipulate font files from Python"; - changelog = "https://github.com/fonttools/fonttools/blob/${src.tag}/NEWS.rst"; + changelog = "https://github.com/fonttools/fonttools/blob/${finalAttrs.src.tag}/NEWS.rst"; license = lib.licenses.mit; maintainers = [ lib.maintainers.sternenseemann ]; }; -} +})