guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

121/233: gnu: Add python-pep621.


From: guix-commits
Subject: 121/233: gnu: Add python-pep621.
Date: Sun, 24 Apr 2022 23:39:52 -0400 (EDT)

apteryx pushed a commit to branch wip-ipython-polyglossia
in repository guix.

commit 3f2dd493bab354784b6712c27306366fde252091
Author: Maxim Cournoyer <maxim.cournoyer@gmail.com>
AuthorDate: Thu Apr 14 23:25:31 2022 -0400

    gnu: Add python-pep621.
    
    * gnu/packages/python-xyz.scm (python-pep621): New variable.
---
 gnu/packages/python-xyz.scm | 52 ++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 51 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index f37ac4449d..82ad13eed0 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -10771,7 +10771,57 @@ plugin for flake8 to check PEP-8 naming conventions.")
       (arguments
        `(#:tests? #f
          ,@(package-arguments base)))
-    (native-inputs `()))))
+      (native-inputs `()))))
+
+(define-public python-pep621
+  (package
+    (name "python-pep621")
+    (version "0.4.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/FFY00/python-pep621";)
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0nzig7bmzf0xx5svxlf065mrzihr0ci4p1yaxka9flqjba98flpr"))))
+    (build-system python-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          ;; XXX: PEP 517 manual build/install procedures copied from
+          ;; python-isort.
+          (replace 'build
+            (lambda _
+              ;; ZIP does not support timestamps before 1980.
+              (setenv "SOURCE_DATE_EPOCH" "315532800")
+              (invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
+          (replace 'check
+            (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+              (when tests?
+                (invoke "pytest" "-vv"
+                        ;; Two parameterized test_load tests are currently
+                        ;; failing (see:
+                        ;; https://github.com/FFY00/python-pep621/issues/14).
+                        "-k" "not test_load"))))
+          (replace 'install
+            (lambda* (#:key outputs #:allow-other-keys)
+              (let ((whl (car (find-files "dist" "\\.whl$"))))
+                (invoke "pip" "--no-cache-dir" "--no-input"
+                        "install" "--no-deps" "--prefix" #$output whl)))))))
+    (propagated-inputs (list python-packaging))
+    (native-inputs (list python-pypa-build python-pytest python-tomli))
+    (home-page "https://github.com/FFY00/python-pep621";)
+    (synopsis "Dataclass for PEP 621 metadata")
+    (description "This project does not implement the parsing of
+@file{pyproject.toml} containing PEP 621 metadata.  Instead, given a Python
+data structure representing PEP 621 metadata (already parsed), it will
+validate this input and generate a PEP 643-compliant metadata
+file (e.g. @file{PKG-INFO}).")
+    (license license:expat)))
 
 (define-public python-pyflakes
   (package



reply via email to

[Prev in Thread] Current Thread [Next in Thread]