Subject: bug#60611: closed (Re: bug#60611: [PATCH] gnu: Add python-nox.)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 31 Jan 2023 22:17:02 +0000

Your bug report

#60611: [PATCH] gnu: Add python-nox.

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
60611: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=60611
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#60611: [PATCH] gnu: Add python-nox.
From: Ludovic Courtès <[email-masked]>
To: Sharlatan Hellseher <[email-masked]>
Cc: [email-masked]
Date: Tue, 31 Jan 2023 23:15:52 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

Sharlatan Hellseher <[email-masked]> skribis:

> * gnu/packages/python-check.scm (python-nox): New variable.
>   Sort modules alphabetically and add pyproject build system.

Applied, thanks!

Ludo’.

Subject: [PATCH] gnu: Add python-nox.
From: Sharlatan Hellseher <[email-masked]>
To: [email-masked]
Cc: Sharlatan Hellseher <[email-masked]>
Date: Fri, 6 Jan 2023 23:11:32 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

* gnu/packages/python-check.scm (python-nox): New variable.
  Sort modules alphabetically and add pyproject build system.
---
 gnu/packages/python-check.scm | 63 +++++++++++++++++++++++++++++++----
 1 file changed, 57 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 486abf1c13..aa8d5bb589 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -9,7 +9,7 @@
 ;;; Copyright © 2020 Edouard Klein <[email-masked]>
 ;;; Copyright © 2020, 2021 Vinicius Monego <[email-masked]>
 ;;; Copyright © 2020 Tanguy Le Carrour <[email-masked]>
-;;; Copyright © 2021-2022 Sharlatan Hellseher <[email-masked]>
+;;; Copyright © 2021-2023 Sharlatan Hellseher <[email-masked]>
 ;;; Copyright © 2021 Brendan Tildesley <[email-masked]>
 ;;; Copyright © 2021, 2022 Guillaume Le Vaillant <[email-masked]>
 ;;; Copyright © 2021 Bonface Munyoki Kilyungi <[email-masked]>
@@ -39,8 +39,8 @@ (define-module (gnu packages python-check)
   #:use-module (gnu packages base)
   #:use-module (gnu packages bash)
   #:use-module (gnu packages check)
-  #:use-module (gnu packages docker)
   #:use-module (gnu packages django)
+  #:use-module (gnu packages docker)
   #:use-module (gnu packages openstack)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages python-build)
@@ -50,13 +50,14 @@ (define-module (gnu packages python-check)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
-  #:use-module (guix utils)
   #:use-module ((guix licenses) #:prefix license:)
-  #:use-module (guix packages)
+  #:use-module (guix build-system pyproject)
+  #:use-module (guix build-system python)
+  #:use-module (guix download)
   #:use-module (guix gexp)
   #:use-module (guix git-download)
-  #:use-module (guix download)
-  #:use-module (guix build-system python))
+  #:use-module (guix packages)
+  #:use-module (guix utils))
 
 (define-public python-tappy
   (package
@@ -2339,6 +2340,56 @@ (define-public python-test-utils
 which make writing and running functional and integration tests easier.")
     (license license:asl2.0)))
 
+(define-public python-nox
+  (package
+    (name "python-nox")
+    (version "2022.11.21")
+    (source
+     (origin
+       ;; No tests in the PyPI tarball.
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/wntrblm/nox")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1xfd63h75wiiyri4f7qyvy50f2ny0v4r4wx2h4px9ddbkh2k5g9p"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               ;; NOTE: This manipulation looks not clear as upstream package
+               ;; contains "nox/tox_to_nox.jinja2" file which is not copied
+               ;; during install phase and causes check and sanity-check
+               ;; phases fail due to missing file. Try to find more simple
+               ;; solution.
+               (add-after 'unpack 'rename-tox-to-nox-jinja2
+                 (lambda _
+                   (rename-file "nox/tox_to_nox.jinja2" "nox/tox_to_nox.jinja2.py")))
+               (add-after 'install 'rename-tox-to-nox-jinja2-back
+                 (lambda _
+                   (let* ((src-file (car (find-files (string-append #$output "/lib")
+                                                     "tox_to_nox\\.jinja2\\.py$")))
+                          (dst-file (string-drop-right src-file 3)))
+                     (rename-file src-file dst-file)))))))
+    (propagated-inputs
+     (list python-argcomplete
+           python-colorlog
+           python-packaging
+           python-py
+           python-virtualenv))
+    (native-inputs
+     (list python-jinja2
+           python-pytest
+           python-tox))
+    (home-page "https://nox.thea.codes/")
+    (synopsis "Flexible test automation")
+    (description
+     "@code{nox} is a command-line tool that automates testing in multiple
+Python environments, similar to @code{tox}.  Unlike tox, Nox uses a standard
+Python file for configuration.")
+    (license license:asl2.0)))
+
 (define-public python-tox
   (package
     (name "python-tox")
-- 
2.38.1