GNU bug report logs - #78828
[PATCH python-team 0/5] Improvements to pyproject-build-system.

Previous Next

Package: guix-patches;

Reported by: Nicolas Graves <ngraves <at> ngraves.fr>

Date: Wed, 18 Jun 2025 18:37:01 UTC

Severity: normal

Tags: patch

Done: Sharlatan Hellseher <sharlatanus <at> gmail.com>

To reply to this bug, email your comments to 78828 AT debbugs.gnu.org.
There is no need to reopen the bug first.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#78828; Package guix-patches. (Wed, 18 Jun 2025 18:37:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Nicolas Graves <ngraves <at> ngraves.fr>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Wed, 18 Jun 2025 18:37:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: guix-patches <at> gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>
Subject: [PATCH python-team 0/5] Improvements to pyproject-build-system.
Date: Wed, 18 Jun 2025 20:33:37 +0200
The first two changes were discussed in the patch series already merged.

Nicolas Graves (5):
  build-system/pyproject: Use copy-recursively instead of merge-dirs.
  build-system/pyproject: Add stestr, unittest and custom options.
  gnu: ulauncher: Improve style.
  gnu: ulauncher: Update to 6.0.0-18.901ce03.
  build-system/pyproject: Avoid PEP427 substitution on binary files.

 gnu/packages/xdisorg.scm              | 128 +++++++++++++++-----------
 guix/build/pyproject-build-system.scm |  77 +++++++---------
 2 files changed, 107 insertions(+), 98 deletions(-)

-- 
2.49.0





Information forwarded to guix-patches <at> gnu.org:
bug#78828; Package guix-patches. (Thu, 19 Jun 2025 08:00:05 GMT) Full text and rfc822 format available.

Message #8 received at 78828 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 78828 <at> debbugs.gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>
Subject: [PATCH 2/8] build-system/pyproject: Add stestr,
 unittest and custom options.
Date: Thu, 19 Jun 2025 09:58:48 +0200
* guix/build-system/pyproject.scm (check): Add stestr, unittest and
custom test-backends.
---
 guix/build/pyproject-build-system.scm | 24 ++++++++++++++++++------
 1 file changed, 18 insertions(+), 6 deletions(-)

diff --git a/guix/build/pyproject-build-system.scm b/guix/build/pyproject-build-system.scm
index 1b66dce99c..1fa610faa9 100644
--- a/guix/build/pyproject-build-system.scm
+++ b/guix/build/pyproject-build-system.scm
@@ -150,18 +150,26 @@ (define* (check #:key tests? test-backend test-flags #:allow-other-keys)
       (let* ((pytest (which "pytest"))
              (nosetests (which "nosetests"))
              (nose2 (which "nose2"))
+             (stestr (which "stestr"))
              (have-setup-py (file-exists? "setup.py"))
+             ;; unittest default pattern
+             ;; See https://docs.python.org/3/library/unittest.html\
+             ;; #cmdoption-unittest-discover-p
+             (tests-found (find-files "." "test.*\\.py$"))
              (use-test-backend
               (or test-backend
                   ;; Prefer pytest
                   (if pytest 'pytest #f)
+                  (if stestr 'stestr #f)
                   (if nosetests 'nose #f)
                   (if nose2 'nose2 #f)
-                  ;; But fall back to setup.py, which should work for most
-                  ;; packages. XXX: would be nice not to depend on setup.py here?
-                  ;; fails more often than not to find any tests at all.  Maybe
-                  ;; we can run `python -m unittest`?
-                  (if have-setup-py 'setup.py #f))))
+                  ;; Fall back to setup.py. The command is deprecated, but is
+                  ;; a superset of unittest, so should work for most packages.
+                  ;; Keep it until setuptools removes `setup.py test'.
+                  ;; See https://setuptools.pypa.io/en/latest/deprecated/\
+                  ;; commands.html#test-build-package-and-run-a-unittest-suite
+                  (if have-setup-py 'setup.py #f)
+                  (if tests-found 'unittest #f))))
         (format #t "Using ~a~%" use-test-backend)
         (match use-test-backend
           ('pytest
@@ -175,7 +183,11 @@ (define* (check #:key tests? test-backend test-flags #:allow-other-keys)
                   (if (null? test-flags)
                       '("test" "-v")
                       test-flags)))
-          ('python
+          ('stestr
+           (apply invoke stestr "run" test-flags))
+          ('unittest
+           (apply invoke "python" "-m" "unittest" test-flags))
+          ('custom
            (apply invoke "python" test-flags))
           ;; The developer should explicitly disable tests in this case.
           (else (raise (condition (&test-system-not-found))))))
-- 
2.49.0





Information forwarded to guix-patches <at> gnu.org:
bug#78828; Package guix-patches. (Thu, 19 Jun 2025 08:00:07 GMT) Full text and rfc822 format available.

Message #11 received at 78828 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 78828 <at> debbugs.gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>
Subject: [PATCH 1/8] build-system/pyproject: Use copy-recursively instead of
 merge-dirs.
Date: Thu, 19 Jun 2025 09:58:47 +0200
Using rename-file, the destination had to be empty otherwise it would error
out.  This has been fixed by the use of copy-recursively, really merging them.
Changing this makes merge-directories mostly a duplicate of
copy-recursively, thus fully switch to copy-recursively.

* guix/build/pyproject-build-system.scm (install)
<python-hashbang>: Remove it, used only once.
<merge-directories>: Remove it, replace its calls by copy-recursively
and delete-file-recursively.
---
 guix/build/pyproject-build-system.scm | 51 ++++++++-------------------
 1 file changed, 15 insertions(+), 36 deletions(-)

diff --git a/guix/build/pyproject-build-system.scm b/guix/build/pyproject-build-system.scm
index 97fd4862f0..1b66dce99c 100644
--- a/guix/build/pyproject-build-system.scm
+++ b/guix/build/pyproject-build-system.scm
@@ -193,30 +193,6 @@ (define (extract file)
       ;; Use Python’s zipfile to avoid extra dependency
       (invoke "python" "-m" "zipfile" "-e" file site-dir))
 
-    (define python-hashbang
-      (string-append "#!" python "/bin/python"))
-
-    (define* (merge-directories source destination
-                                #:optional (post-move #f))
-      "Move all files in SOURCE into DESTINATION, merging the two directories."
-      (format #t "Merging directory ~a into ~a~%" source destination)
-      (for-each (lambda (file)
-                  (format #t "~a/~a -> ~a/~a~%"
-                          source file destination file)
-                  (mkdir-p destination)
-                  ;; Use 'copy-recursively' rather than 'rename-file' to guard
-                  ;; against the odd case where DESTINATION is a non-empty
-                  ;; directory, which may happen when using hybrid Python
-                  ;; build systems.
-                  (copy-recursively (string-append source "/" file)
-                                    (string-append destination "/" file))
-                  (delete-file-recursively (string-append source "/" file))
-                  (when post-move
-                    (post-move file)))
-                (scandir source
-                         (negate (cut member <> '("." "..")))))
-      (rmdir source))
-
     (define (expand-data-directory directory)
       "Move files from all .data subdirectories to their respective\ndestinations."
       ;; Python’s distutils.command.install defines this mapping from source to
@@ -224,29 +200,32 @@ (define (expand-data-directory directory)
       (let ((source (string-append directory "/scripts"))
             (destination (string-append out "/bin")))
         (when (file-exists? source)
-          (merge-directories source destination
-                             (lambda (f)
-                               (let ((dest-path (string-append destination
-                                                               "/" f)))
-                                 (chmod dest-path #o755)
-                                 ;; PEP 427 recommends that installers rewrite
-                                 ;; this odd shebang.
-                                 (substitute* dest-path
-                                   (("#!python")
-                                    python-hashbang)))))))
+          (copy-recursively source destination)
+          (delete-file-recursively source)
+          (for-each
+           (lambda (file)
+             (chmod file #o755)
+             ;; PEP 427 recommends that installers rewrite
+             ;; this odd shebang.
+             (substitute* file
+               (("#!python")
+                (string-append "#!" python "/bin/python"))))
+           (find-files destination))))
       ;; Data can be contained in arbitrary directory structures.  Most
       ;; commonly it is used for share/.
       (let ((source (string-append directory "/data"))
             (destination out))
         (when (file-exists? source)
-          (merge-directories source destination)))
+          (copy-recursively source destination)
+          (delete-file-recursively source)))
       (let* ((distribution (car (string-split (basename directory) #\-)))
              (source (string-append directory "/headers"))
              (destination (string-append out "/include/python"
                                          (python-version python)
                                          "/" distribution)))
         (when (file-exists? source)
-          (merge-directories source destination))))
+          (copy-recursively source destination)
+          (delete-file-recursively source))))
 
     (define (list-directories base predicate)
       ;; Cannot use find-files here, because it’s recursive.
-- 
2.49.0





Information forwarded to guix-patches <at> gnu.org:
bug#78828; Package guix-patches. (Thu, 19 Jun 2025 08:00:10 GMT) Full text and rfc822 format available.

Message #14 received at 78828 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 78828 <at> debbugs.gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>
Subject: [PATCH 5/8] build-system/pyproject: Avoid PEP427 substitution on
 binary files.
Date: Thu, 19 Jun 2025 09:58:51 +0200
In some rare cases, the dest-path can be an elf-file, which are
unreadable by substitute*, leading to an error instead of just
continuing which makes more sense in this case.

* guix/build-system/pyproject.scm (check): Guard substitution attempt
with basic readability guarantees.
---
 guix/build/pyproject-build-system.scm | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/guix/build/pyproject-build-system.scm b/guix/build/pyproject-build-system.scm
index 1fa610faa9..1ca91701c3 100644
--- a/guix/build/pyproject-build-system.scm
+++ b/guix/build/pyproject-build-system.scm
@@ -218,10 +218,11 @@ (define (expand-data-directory directory)
            (lambda (file)
              (chmod file #o755)
              ;; PEP 427 recommends that installers rewrite
-             ;; this odd shebang.
-             (substitute* file
-               (("#!python")
-                (string-append "#!" python "/bin/python"))))
+             ;; this odd shebang, but avoid the binary case.
+             (unless (elf-file? file)
+               (substitute* file
+                 (("#!python")
+                  (string-append "#!" python "/bin/python")))))
            (find-files destination))))
       ;; Data can be contained in arbitrary directory structures.  Most
       ;; commonly it is used for share/.
-- 
2.49.0





Information forwarded to guix-patches <at> gnu.org:
bug#78828; Package guix-patches. (Thu, 19 Jun 2025 08:00:12 GMT) Full text and rfc822 format available.

Message #17 received at 78828 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 78828 <at> debbugs.gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>
Subject: [PATCH 3/8] gnu: ulauncher: Improve style.
Date: Thu, 19 Jun 2025 09:58:49 +0200
* gnu/packages/xdisorg.scm (ulauncher): Run guix style and properly
pin the commit with a git-version.
---
 gnu/packages/xdisorg.scm | 115 ++++++++++++++++++++-------------------
 1 file changed, 59 insertions(+), 56 deletions(-)

diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 90bdbcba61..9d66718630 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -2091,64 +2091,67 @@ (define-public xdpyprobe
     (license license:gpl3+)))
 
 (define-public ulauncher
-  (package
-    (name "ulauncher")
-    (version "6.0.0")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/Ulauncher/Ulauncher")
-                    (commit "1e68d47473f8e77d375cb4eca644c3cda68ed7e9")))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "1c2czlrsf5aq8c88qliqbnqvf04q9cnjc1j6hivqa0w260mzjll1"))))
-    (build-system python-build-system)
-    (arguments
-     (list #:phases #~(modify-phases %standard-phases
-                        (add-after 'unpack 'fix-libX11
-                          (lambda* (#:key inputs #:allow-other-keys)
-                            (substitute* "ulauncher/utils/xinit.py"
-                              (("libX11.so.6")
-                               (search-input-file inputs "/lib/libX11.so")))))
-                        (add-after 'unpack 'fix-usr
-                          (lambda _
-                            (substitute* "setup.py"
-                              (("\\{sys.prefix\\}")
-                               (string-append #$output)))))
-                        (add-after 'unpack 'fix-os-release
-                          (lambda _
-                            (define (touch file)
-                              (call-with-output-file file
-                                (const #t)))
-                            (let* ((hard-path "/etc/os-release")
-                                   (fixed-path (string-append #$output
-                                                              hard-path)))
-                              ;; Make it relative
-                              ;; Update hardcoded path to something
-                              ;; within the build enviroment.
-                              (substitute* "ulauncher/utils/environment.py"
-                                ((hard-path)
-                                 fixed-path))
-                              ;; Create directory for the dummy file.
-                              (mkdir-p (string-append #$output "/etc"))
-                              (touch fixed-path))))
-                        (add-before 'check 'env-setup
-                          ;; The test require access to home to put temporary files.
-                          (lambda _
-                            (setenv "HOME"
-                                    (getcwd)))))))
-    (native-inputs (list intltool python-distutils-extra python-mock))
-    (inputs (list libx11 python-levenshtein python-pycairo))
-    (propagated-inputs (list keybinder libwnck gsettings-desktop-schemas
-                             python-pygobject webkitgtk-with-libsoup2))
-    (home-page "https://ulauncher.io")
-    (synopsis "Application launcher for Linux")
-    (description
-     "Ulauncher is a fast application launcher for Linux.  It is written in
+  (let ((commit "1e68d47473f8e77d375cb4eca644c3cda68ed7e9")
+        (revision "4"))
+    (package
+      (name "ulauncher")
+      (version (git-version "6.0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/Ulauncher/Ulauncher")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "1c2czlrsf5aq8c88qliqbnqvf04q9cnjc1j6hivqa0w260mzjll1"))))
+      (build-system python-build-system)
+      (arguments
+       (list
+        #:phases
+        #~(modify-phases %standard-phases
+            (add-after 'unpack 'fix-libX11
+              (lambda* (#:key inputs #:allow-other-keys)
+                (substitute* "ulauncher/utils/xinit.py"
+                  (("libX11.so.6")
+                   (search-input-file inputs "/lib/libX11.so")))))
+            (add-after 'unpack 'fix-usr
+              (lambda _
+                (substitute* "setup.py"
+                  (("\\{sys.prefix\\}")
+                   (string-append #$output)))))
+            (add-after 'unpack 'fix-os-release
+              (lambda _
+                (define (touch file)
+                  (call-with-output-file file
+                    (const #t)))
+                (let* ((hard-path "/etc/os-release")
+                       (fixed-path (string-append #$output hard-path)))
+                  ;; Make it relative
+                  ;; Update hardcoded path to something
+                  ;; within the build enviroment.
+                  (substitute* "ulauncher/utils/environment.py"
+                    ((hard-path)
+                     fixed-path))
+                  ;; Create directory for the dummy file.
+                  (mkdir-p (string-append #$output "/etc"))
+                  (touch fixed-path))))
+            (add-before 'check 'env-setup
+              ;; The test require access to home to put temporary files.
+              (lambda _
+                (setenv "HOME"
+                        (getcwd)))))))
+      (native-inputs (list intltool python-distutils-extra python-mock))
+      (inputs (list libx11 python-levenshtein python-pycairo))
+      (propagated-inputs (list keybinder libwnck gsettings-desktop-schemas
+                               python-pygobject webkitgtk-with-libsoup2))
+      (home-page "https://ulauncher.io")
+      (synopsis "Application launcher for Linux")
+      (description
+       "Ulauncher is a fast application launcher for Linux.  It is written in
 Python, using GTK+, and features: App Search (fuzzy matching), Calculator,
 Extensions, Shortcuts, File browser mode and Custom Color Themes.")
-    (license license:gpl3+)))
+      (license license:gpl3+))))
 
 (define-public rofi
   (package
-- 
2.49.0





Information forwarded to guix-patches <at> gnu.org:
bug#78828; Package guix-patches. (Thu, 19 Jun 2025 08:00:15 GMT) Full text and rfc822 format available.

Message #20 received at 78828 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 78828 <at> debbugs.gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>
Subject: [PATCH 4/8] gnu: ulauncher: Update to 6.0.0-18.901ce03.
Date: Thu, 19 Jun 2025 09:58:50 +0200
* gnu/packages/xdisorg.scm (ulauncher): Update to 6.0.0-18.901ce03.
  [build-system]: Switch to pyproject-build-system.
  [arguments]{test-flags}: Ignore some failing tests.
  {phases}: Remove deprecated phase 'fix-usr. Add phase 'fix-bash.
  [native-inputs]: Remove python-distutils-extra. Add python-pytest,
  python-pytest-mock, python-setuptools, python-wheel.
  [propagated-inputs]: Add python-xlib.
---
 gnu/packages/xdisorg.scm | 37 +++++++++++++++++++++++++------------
 1 file changed, 25 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 9d66718630..f65d24b3d1 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -2091,8 +2091,8 @@ (define-public xdpyprobe
     (license license:gpl3+)))
 
 (define-public ulauncher
-  (let ((commit "1e68d47473f8e77d375cb4eca644c3cda68ed7e9")
-        (revision "4"))
+  (let ((commit "901ce03beb157ff8fb354558594495eb74c6de7b")
+        (revision "18"))
     (package
       (name "ulauncher")
       (version (git-version "6.0.0" revision commit))
@@ -2104,10 +2104,14 @@ (define-public ulauncher
                (commit commit)))
          (file-name (git-file-name name version))
          (sha256
-          (base32 "1c2czlrsf5aq8c88qliqbnqvf04q9cnjc1j6hivqa0w260mzjll1"))))
-      (build-system python-build-system)
+          (base32 "0qrqpbqrrklfgqr48zafzggrbzns2q6h27nh63skfd9w582nsajg"))))
+      (build-system pyproject-build-system)
       (arguments
        (list
+        #:test-flags
+        ;; XXX: Most likely require a running X server.
+        #~(list "--ignore=tests/ui/test_preferences_server.py"
+                "--ignore=tests/ui/test_result_widget.py")
         #:phases
         #~(modify-phases %standard-phases
             (add-after 'unpack 'fix-libX11
@@ -2115,11 +2119,11 @@ (define-public ulauncher
                 (substitute* "ulauncher/utils/xinit.py"
                   (("libX11.so.6")
                    (search-input-file inputs "/lib/libX11.so")))))
-            (add-after 'unpack 'fix-usr
-              (lambda _
-                (substitute* "setup.py"
-                  (("\\{sys.prefix\\}")
-                   (string-append #$output)))))
+            (add-after 'unpack 'fix-bash
+              (lambda* (#:key inputs #:allow-other-keys)
+                (substitute* "tests/modes/shortcuts/test_run_script.py"
+                  (("/bin/bash")
+                   (search-input-file inputs "bin/bash")))))
             (add-after 'unpack 'fix-os-release
               (lambda _
                 (define (touch file)
@@ -2141,10 +2145,19 @@ (define (touch file)
               (lambda _
                 (setenv "HOME"
                         (getcwd)))))))
-      (native-inputs (list intltool python-distutils-extra python-mock))
+      (native-inputs (list intltool
+                           python-mock
+                           python-pytest
+                           python-pytest-mock
+                           python-setuptools
+                           python-wheel))
       (inputs (list libx11 python-levenshtein python-pycairo))
-      (propagated-inputs (list keybinder libwnck gsettings-desktop-schemas
-                               python-pygobject webkitgtk-with-libsoup2))
+      (propagated-inputs (list keybinder
+                               libwnck
+                               gsettings-desktop-schemas
+                               python-pygobject
+                               python-xlib
+                               webkitgtk-with-libsoup2))
       (home-page "https://ulauncher.io")
       (synopsis "Application launcher for Linux")
       (description
-- 
2.49.0





Information forwarded to guix-patches <at> gnu.org:
bug#78828; Package guix-patches. (Thu, 19 Jun 2025 08:00:18 GMT) Full text and rfc822 format available.

Message #23 received at 78828 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 78828 <at> debbugs.gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>
Subject: [PATCH 6/8] gnu: python-rich: Ignore more failing tests.
Date: Thu, 19 Jun 2025 09:58:52 +0200
* gnu/packages/python-xyz.scm (python-rich)[arguments][test-flags}:
Ignore more failing tests.
---
 gnu/packages/python-xyz.scm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 49fddda272..768df10c80 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -21655,7 +21655,9 @@ (define-public python-rich
                                  " and not test_python_render_simple_passing_lexer_instance"
                                  " and not test_python_render_indent_guides"
                                  " and not test_option_no_wrap"
-                                 " and not test_syntax_highlight_ranges"))))
+                                 " and not test_syntax_highlight_ranges"
+                                 " and not test_inline_code"
+                                 " and not test_blank_lines"))))
     (propagated-inputs
      (list python-markdown-it-py python-pygments))
     (native-inputs
-- 
2.49.0





Information forwarded to guix-patches <at> gnu.org:
bug#78828; Package guix-patches. (Thu, 19 Jun 2025 08:00:22 GMT) Full text and rfc822 format available.

Message #26 received at 78828 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 78828 <at> debbugs.gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>
Subject: [PATCH 7/8] gnu: python-stestr: Rely on its own test-backend.
Date: Thu, 19 Jun 2025 09:58:53 +0200
* gnu/packages/python-check.scm (python-stestr)[arguments]{phases}:
Remove keyword.
---
 gnu/packages/python-check.scm | 12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 587fbac11e..d75115f070 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -3599,19 +3599,11 @@ (define-public python-stestr
     (arguments
      (list
       #:test-flags
-      ;; Two tets fail.
+      ;; XXX: Two tests fail.
       #~(list "--exclude-regex" (string-join
                                  (list "test_initialise_expands_user_directory"
                                        "test_open_expands_user_directory")
-                                 "|"))
-      #:phases
-      #~(modify-phases %standard-phases
-          ;; TODO: Implement in pypproject-build-system's  test-backends.
-          (replace 'check
-            (lambda* (#:key tests? test-flags #:allow-other-keys)
-              (when tests?
-                (let ((stestr (string-append #$output "/bin/stestr")))
-                  (apply invoke stestr "run" test-flags))))))))
+                                 "|"))))
     (native-inputs
      (list python-ddt
            python-iso8601
-- 
2.49.0





Information forwarded to guix-patches <at> gnu.org:
bug#78828; Package guix-patches. (Thu, 19 Jun 2025 08:00:26 GMT) Full text and rfc822 format available.

Message #29 received at 78828 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: 78828 <at> debbugs.gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>
Subject: [PATCH 8/8] gnu: python-bandit: Rely on stestr test-backend.
Date: Thu, 19 Jun 2025 09:58:54 +0200
* gnu/packages/python-check.scm (python-bandit)[arguments]{phases}:
Remove uneeded keyword.
---
 gnu/packages/python-check.scm | 11 ++---------
 1 file changed, 2 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index d75115f070..88b7e3974b 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -312,15 +312,8 @@ (define-public python-bandit
     (arguments
      (list
       #:test-flags
-      ;; Two tets fail.
-      #~(list "--exclude-regex" "test_no_arguments|test_help_arg")
-      #:phases
-      #~(modify-phases %standard-phases
-          ;; TODO: Implement in pypproject-build-system's  test-backends.
-          (replace 'check
-            (lambda* (#:key tests? test-flags #:allow-other-keys)
-              (when tests?
-                (apply invoke "stestr" "run" test-flags)))))))
+      ;; XXX: Two tests fail.
+      #~(list "--exclude-regex" "test_no_arguments|test_help_arg")))
     (native-inputs
      (list python-beautifulsoup4
            python-fixtures
-- 
2.49.0





Information forwarded to guix-patches <at> gnu.org:
bug#78828; Package guix-patches. (Tue, 24 Jun 2025 18:48:02 GMT) Full text and rfc822 format available.

Message #32 received at 78828 <at> debbugs.gnu.org (full text, mbox):

From: Sharlatan Hellseher <sharlatanus <at> gmail.com>
To: 78828 <at> debbugs.gnu.org
Cc: Nicolas Graves <ngraves <at> ngraves.fr>
Subject: [PATCH python-team 0/5] Improvements to pyproject-build-system.
Date: Tue, 24 Jun 2025 19:47:20 +0100
[Message part 1 (text/plain, inline)]
Hi Nicolas,

Great patch series.

I think I have time slot to review this, why not CodeBerg?

VCS: https://github.incerto.xyz/; https://git.sr.ht/~hellseher/
GPG: 9847 81DE 689C 21C2 6418 0867 76D7 27BF F62C D2B5

… наш разум - превосходная объяснительная машина которая способна найти
смысл почти в чем угодно, истолковать любой феномен, но совершенно не в
состоянии принять мысль о непредсказуемости.
[Message part 2 (text/html, inline)]

Reply sent to Sharlatan Hellseher <sharlatanus <at> gmail.com>:
You have taken responsibility. (Tue, 24 Jun 2025 22:43:04 GMT) Full text and rfc822 format available.

Notification sent to Nicolas Graves <ngraves <at> ngraves.fr>:
bug acknowledged by developer. (Tue, 24 Jun 2025 22:43:05 GMT) Full text and rfc822 format available.

Message #37 received at 78828-done <at> debbugs.gnu.org (full text, mbox):

From: Sharlatan Hellseher <sharlatanus <at> gmail.com>
To: 78828-done <at> debbugs.gnu.org
Subject: [PATCH python-team 0/5] Improvements to pyproject-build-system.
Date: Tue, 24 Jun 2025 23:42:40 +0100
[Message part 1 (text/plain, inline)]
Hi,

I've started local check with:

guix build -v1 -k -P1 python-astropy

After 1h of no failed build I've pushed to python-team branch to
accumulate some substitutes.

--
Oleg
[signature.asc (application/pgp-signature, inline)]

This bug report was last modified 1 day ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.