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

commit 326c0f3772fd1f5eeb9d7d5f75b3b8a2c73f379e
Author: Nicolas Graves <ngra...@ngraves.fr>
AuthorDate: Fri May 10 00:53:56 2024 +0200

    gnu: python-pytest-enabler: Break dependency cycle.
    
    * gnu/packages/check.scm
    (python-pytest-enabler-bootstrap): Delete variable.
    (python-pytest-enabler): Redefine variable.
    
    * gnu/packages/python-xyz.scm
    (python-jaraco-classes)[native-inputs]: Remove
    python-pytest-enabler-bootstrap.
    (python-jaraco-context-bootstrap): Delete variable.
    (python-jaraco-context): Redefine variable.
    (python-jaraco-functools-bootstrap): Delete variable.
    (python-jaraco-functools): Redefine variable.
    
    Change-Id: I96649093009beb7a3d0e9716eced778d4fc800e2
    Signed-off-by: Nicolas Goaziou <m...@nicolasgoaziou.fr>
---
 gnu/packages/check.scm      |  80 +++++++++---------------
 gnu/packages/python-xyz.scm | 144 ++++++++++++++++++--------------------------
 2 files changed, 86 insertions(+), 138 deletions(-)

diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 83b9c4f29b..7bde8fba69 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -2884,60 +2884,36 @@ style test suites, summarizing their results, and 
providing indication of
 failures.")
     (license license:ncsa)))
 
-;;; This is marked as a bootstrap package because it propagates bootstrapped
-;;; versions of jaraco-context and jaraco-functools.
-(define-public python-pytest-enabler-bootstrap
-  (hidden-package
-   (package
-     (name "python-pytest-enabler-bootstrap")
-     (version "1.2.1")
-     (source
-      (origin
-        (method url-fetch)
-        (uri (pypi-uri "pytest-enabler" version))
-        (sha256
-         (base32 "023ymm0r2gpn5q7aikvx567s507j0zk46w41w6gxb69c688zgs73"))))
-     (build-system python-build-system)
-     (arguments (list #:tests? #f))
-     (propagated-inputs
-      (list python-jaraco-context-bootstrap
-            python-jaraco-functools-bootstrap
-            python-toml))
-     (native-inputs (list python-setuptools-scm))
-     (home-page "https://github.com/jaraco/pytest-enabler";)
-     (synopsis "Enable installed pytest plugins")
-     (description "Enable installed pytest plugins")
-     (license license:expat))))
-
 (define-public python-pytest-enabler
-  (package/inherit python-pytest-enabler-bootstrap
-    (arguments
-     (substitute-keyword-arguments
-       (strip-keyword-arguments
-         '(#:tests?)
-         (package-arguments python-pytest-enabler-bootstrap))
-       ((#:phases phases #~%standard-phases)
-        #~(modify-phases #$phases
-            (replace 'check
-              (lambda* (#:key tests? #:allow-other-keys)
-                (when tests?
-                  (invoke "python" "-m" "pytest" "-vv" "tests"))))))))
+  (package
+    (name "python-pytest-enabler")
+    (version "1.2.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pytest-enabler" version))
+       (sha256
+        (base32 "023ymm0r2gpn5q7aikvx567s507j0zk46w41w6gxb69c688zgs73"))))
+    (build-system pyproject-build-system)
+    (arguments (list #:tests? #f
+                     #:test-flags '(list "tests")))
     (propagated-inputs
-     (modify-inputs (package-propagated-inputs python-pytest-enabler-bootstrap)
-       (replace "python-jaraco-context-bootstrap" python-jaraco-context)
-       (replace "python-jaraco-functools-bootstrap" python-jaraco-functools)))
-    (native-inputs
-     (modify-inputs (package-native-inputs python-pytest-enabler-bootstrap)
-       (append python-pytest
-               python-pytest-black
-               python-pytest-checkdocs
-               python-pytest-cov
-               python-pytest-flake8
-               python-pytest-mypy
-               python-types-toml)))
-    (properties (alist-delete 'hidden?
-                              (package-properties
-                               python-pytest-enabler-bootstrap)))))
+     (list python-jaraco-context
+           python-jaraco-functools
+           python-toml))
+    (native-inputs (list python-pytest
+                         python-pytest-black
+                         python-pytest-checkdocs
+                         python-pytest-cov
+                         python-pytest-flake8
+                         python-pytest-mypy
+                         python-setuptools
+                         python-setuptools-scm
+                         python-types-toml))
+    (home-page "https://github.com/jaraco/pytest-enabler";)
+    (synopsis "Enable installed pytest plugins")
+    (description "Enable installed pytest plugins")
+    (license license:expat)))
 
 (define-public python-pytest-freezegun
   (package
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index a9a05e6e2e..4a304b953c 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -12098,7 +12098,6 @@ enforced method signatures and consistent 
documentation.")
            python-pytest-black
            python-pytest-checkdocs
            python-pytest-cov
-           python-pytest-enabler-bootstrap ;OK since not propagated
            python-pytest-flake8
            python-pytest-mypy
            python-setuptools-scm
@@ -12173,99 +12172,72 @@ WeightedLookup: A specialized RangeMap for selecting 
an item by weights.
 @end itemize")
     (license license:expat)))
 
-;;; Variant used to break a cycle with python-pytest-enabler.
-(define-public python-jaraco-context-bootstrap
-  (hidden-package
-   (package
-     (name "python-jaraco-context-bootstrap")
-     (version "4.1.1")
-     (source
-      (origin
-        (method url-fetch)
-        (uri (pypi-uri "jaraco.context" version))
-        (sha256
-         (base32 "0hbjm1rpxf4pzmbdp9rh3ali4zqnlcr8m97bhh1nizxvzcpxim7h"))))
-     (build-system pyproject-build-system)
-     (arguments (list #:tests? #f))
-     (native-inputs (list python-setuptools-scm))
-     (home-page "https://github.com/jaraco/jaraco.context";)
-     (synopsis "Context managers Python library")
-     (description "This Python library provides context managers-related
-procedures.")
-     (license license:expat))))
-
 (define-public python-jaraco-context
-  (package/inherit python-jaraco-context-bootstrap
+  (package
     (name "python-jaraco-context")
+    (version "4.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "jaraco.context" version))
+       (sha256
+        (base32 "0hbjm1rpxf4pzmbdp9rh3ali4zqnlcr8m97bhh1nizxvzcpxim7h"))))
+    (build-system pyproject-build-system)
     (arguments
-     (substitute-keyword-arguments
-         (package-arguments python-jaraco-context-bootstrap)
-       ((#:tests? _ #f)
-        (not (%current-target-system)))
-       ;; Do not test the myproject.toml build as it pulls dependencies.
-       ((#:test-flags test-flags '())
-        '(list "-k" "not project"))))
+     (list #:tests? (not (%current-target-system))
+           ;; Do not test the myproject.toml build as it pulls dependencies.
+           #:test-flags '(list "-k" "not project")))
     (native-inputs
-     (modify-inputs
-         (package-native-inputs python-jaraco-context-bootstrap)
-       (append python-pytest
-               python-pytest-black
-               python-pytest-checkdocs
-               python-pytest-cov
-               python-pytest-enabler-bootstrap ;OK since not propagated
-               python-pytest-flake8
-               python-pytest-mypy)))
-    (properties (alist-delete 'hidden? (package-properties
-                                        python-jaraco-context-bootstrap)))))
-
-;;; Variant used to break a cycle with python-pytest-enabler.
-(define-public python-jaraco-functools-bootstrap
-  (hidden-package
-   (package
-     (name "python-jaraco-functools-bootstrap")
-     (version "3.5.0")
-     (source
-      (origin
-        (method url-fetch)
-        (uri (pypi-uri "jaraco.functools" version))
-        (sha256
-         (base32 "186xqzs3bqhjwajnprxy3sc3h0w5vdld8spc1dxjnn9720yykq1i"))))
-     (build-system pyproject-build-system)
-     (arguments (list #:tests? #f))
-     (native-inputs (list python-setuptools-scm))
-     (propagated-inputs (list python-more-itertools))
-     (home-page "https://github.com/jaraco/jaraco.functools";)
-     (synopsis "Python library extending Python's @code{functools}")
-     (description "This library extends the standard @code{functools} Python
-module with a few extra procedures.")
-     (license license:expat))))
+     (list python-pytest
+           python-pytest-black
+           python-pytest-checkdocs
+           python-pytest-cov
+           python-pytest-flake8
+           python-pytest-mypy
+           python-setuptools
+           python-setuptools-scm
+           python-wheel))
+    (home-page "https://github.com/jaraco/jaraco.context";)
+    (synopsis "Context managers Python library")
+    (description "This Python library provides context managers-related
+procedures.")
+    (license license:expat)))
 
 (define-public python-jaraco-functools
-  (package/inherit python-jaraco-functools-bootstrap
+  (package
     (name "python-jaraco-functools")
+    (version "3.5.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "jaraco.functools" version))
+       (sha256
+        (base32 "186xqzs3bqhjwajnprxy3sc3h0w5vdld8spc1dxjnn9720yykq1i"))))
+    (build-system pyproject-build-system)
     (arguments
-     (substitute-keyword-arguments
-         (package-arguments python-jaraco-functools-bootstrap)
-       ((#:tests? _ #f)
-        (not (%current-target-system)))
-       ;; Do not test the myproject.toml build as it pulls dependencies.
-       ;; Do not run a test that tries to emulate a broken proprietary CI
-       ;; set-up, fails to do so correctly, and then throws an error.
-       ((#:test-flags test-flags '())
-        '(list "-k" "not project and not test_function_throttled"))))
-    (native-inputs
-     (modify-inputs
-         (package-native-inputs python-jaraco-functools-bootstrap)
-       (append python-jaraco-classes
-               python-pytest
-               python-pytest-black
-               python-pytest-checkdocs
-               python-pytest-cov
-               python-pytest-enabler-bootstrap ;OK since not propagated
-               python-pytest-flake8
-               python-pytest-mypy)))
-    (properties (alist-delete 'hidden? (package-properties
-                                        python-jaraco-functools-bootstrap)))))
+     (list #:tests? (not (%current-target-system))
+           ;; Do not test the myproject.toml build as it pulls dependencies.
+           ;; Do not run a test that tries to emulate a broken proprietary
+           ;; CI set-up, fails to do so correctly, and then throws an error.
+           #:test-flags
+           '(list "-k" "not project and not test_function_throttled")))
+    (native-inputs
+     (list python-jaraco-classes
+           python-pytest
+           python-pytest-black
+           python-pytest-checkdocs
+           python-pytest-cov
+           python-pytest-flake8
+           python-pytest-mypy
+           python-setuptools
+           python-setuptools-scm
+           python-wheel))
+    (propagated-inputs (list python-more-itertools))
+    (home-page "https://github.com/jaraco/jaraco.functools";)
+    (synopsis "Python library extending Python's @code{functools}")
+    (description "This library extends the standard @code{functools} Python
+module with a few extra procedures.")
+    (license license:expat)))
 
 (define-public python-jaraco-packaging
   (package

Reply via email to