guix_mirror_bot pushed a commit to branch python-team
in repository guix.

commit dc69e7398aa2180fd57c00f96c2e2b35fbe64987
Author: Sharlatan Hellseher <[email protected]>
AuthorDate: Tue Mar 17 00:13:26 2026 +0000

    gnu: python-fonttools: Swap inheritance, simplify.
    
    * gnu/packages/python-xyz.scm (python-fonttools): Don't  inherit from
    python-fonttools-miniaml.
    [arguments]<test-flags>: Rework skipped tests.
    [propagated-inputs]: Remove python-fs, python-lz4, and python-scipy.
    (python-fonttools-minimal): Inherit from python-fonttools, simplify.
    
    Relates-to: https://codeberg.org/guix/guix/issues/7195
    Change-Id: I1da5dd67f41a90c291a48ec236e7e463acf65785
---
 gnu/packages/python-xyz.scm | 122 +++++++++++++++++++++-----------------------
 1 file changed, 58 insertions(+), 64 deletions(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index cc1032e820..f08a58473d 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -16878,78 +16878,72 @@ opening all the files under a given directory 
recursively, as a single
 lines in the contained files easily.")
     (license license:expat)))
 
+(define-public python-fonttools
+  (package
+    (name "python-fonttools")
+    (version "4.59.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "fonttools" version ".tar.gz"))
+       (sha256
+        (base32 "08pgq9nrj3r81gzb6gbf5mcak0xyqrj26cw0rc5za4v1n14hfb77"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      #:tests? (not (%current-target-system))
+      ;; tests: 4529 passed, 59 skipped, 8 deselected, 2 xfailed, 28 warnings,
+      ;; 3 subtests passed
+      #:test-flags
+      #~(list "--deselect=tfmLib.py::fontTools.tfmLib"
+              #$@(map (lambda (ls) (string-append "--deselect=Tests/"
+                                                  (string-join ls "::")))
+                      ;; XXX: Some test data is not included in PyPI archive,
+                      ;; remove when switched to git-fetch.
+                      '(("cffLib/cffLib_test.py" "CffLibTest"
+                         "test_reading_supplement_encoding")
+                        ("tfmLib/tfmLib_test.py"
+                         "test_read_boundary_char")
+                        ("tfmLib/tfmLib_test.py"
+                         "test_read_fontdimens_vanilla")
+                        ("tfmLib/tfmLib_test.py"
+                         "test_read_fontdimens_mathex")
+                        ("tfmLib/tfmLib_test.py"
+                         "test_read_fontdimens_mathsy")
+                        ("voltLib/volttofea_test.py" "ToFeaTest"
+                         "test_cli_vtp")
+                        ("voltLib/volttofea_test.py" "ToFeaTest"
+                         "test_group_order"))))))
+    (native-inputs
+     (list python-pytest
+           python-setuptools))
+    ;; All of them are listed as extras_require.
+    (propagated-inputs
+     (list python-brotli
+           python-lxml
+           python-unicodedata2
+           python-zopfli))
+    (home-page "https://github.com/fonttools/fonttools";)
+    (synopsis "Tools to manipulate font files")
+    (description
+     "FontTools/TTX is a library to manipulate font files from Python.  It
+supports reading and writing of TrueType/OpenType fonts, reading and writing
+of AFM files, reading (and partially writing) of PS Type 1 fonts.  The package
+also contains a tool called “TTX” which converts TrueType/OpenType fonts to and
+from an XML-based format.")
+    (license license:expat)))
+
 ;;; Tests are left out in the main package to avoid cycles.
 ;; XXX: When updating, solve comment in python-cu2qu.
 (define-public python-fonttools-minimal
   (hidden-package
    (package
+     (inherit python-fonttools)
      (name "python-fonttools-minimal")
-     (version "4.59.2")
-     (source (origin
-               (method url-fetch)
-               (uri (pypi-uri "fonttools" version ".tar.gz"))
-               (sha256
-                (base32
-                 "08pgq9nrj3r81gzb6gbf5mcak0xyqrj26cw0rc5za4v1n14hfb77"))))
-     (build-system pyproject-build-system)
+     (arguments '(#:tests? #f))
      (native-inputs
       (list python-setuptools))
-     (arguments '(#:tests? #f))
-     (home-page "https://github.com/fonttools/fonttools";)
-     (synopsis "Tools to manipulate font files")
-     (description
-      "FontTools/TTX is a library to manipulate font files from Python.  It
-supports reading and writing of TrueType/OpenType fonts, reading and writing
-of AFM files, reading (and partially writing) of PS Type 1 fonts.  The package
-also contains a tool called “TTX” which converts TrueType/OpenType fonts to and
-from an XML-based format.")
-     (license license:expat))))
-
-(define-public python-fonttools
-  (let ((base python-fonttools-minimal))
-    (package/inherit base
-      (name "python-fonttools")
-      (arguments
-       (substitute-keyword-arguments arguments
-         ((#:tests? _ #f)
-          (not (%current-target-system)))
-         ((#:phases phases '%standard-phases)
-          `(modify-phases ,phases
-             (replace 'check
-               (lambda* (#:key tests? #:allow-other-keys)
-                 (when tests?
-                   (invoke "pytest" "-vv"
-                           "-k"
-                           ;; XXX: These tests need data files that are not
-                           ;; shipped with the PyPI release.
-                           (format #f "not ~a"
-                                   (string-join
-                                    '("test_cli_vtp"
-                                      "test_group_order"
-                                      "test_read_fontdimens_mathsy"
-                                      "test_read_fontdimens_mathex"
-                                      "test_read_fontdimens_vanilla"
-                                      "test_read_boundary_char"
-                                      "test_reading_supplement_encoding"
-                                      "fontTools.tfmLib"
-                                      ;; The MtiTest tests fail for unknown
-                                      ;; reasons (see:
-                                      ;; https://github.com/fonttools/
-                                      ;; fonttools/issues/3078)
-                                      "MtiTest")
-                                    " and not "))))))))))
-      (native-inputs
-       (modify-inputs native-inputs
-         (append python-pytest)))
-      (propagated-inputs
-       (list python-brotli
-             python-fs
-             python-lxml
-             python-lz4
-             python-scipy
-             python-unicodedata2
-             python-zopfli))
-      (properties (alist-delete 'hidden? (package-properties base))))))
+     (propagated-inputs '()))))
 
 (define-public python-ly
   (package

Reply via email to