diff mbox series

[bug#57540,RFC,v2,11/19] gnu: Add python-hatch-vcs.* gnu/packages/python-xyz.scm (python-hatch-vcs): New variable.

Message ID 87edwnvxsv.fsf@disroot.org
State Accepted
Headers show
Series [bug#57540] Add ocaml-elpi (a dependency of coq-mathcomp-analysis) | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git-branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue
cbaines/comparison success View comparision
cbaines/git-branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

Garek Dyszel Sept. 7, 2022, 6:34 p.m. UTC
* gnu/packages/python-xyz.scm (python-hatch-vcs): New variable.
---
 gnu/packages/python-xyz.scm | 62 +++++++++++++++++++++++++++++++++++++
 1 file changed, 62 insertions(+)
diff mbox series

Patch

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 8dd8d902a5..b5b319cfde 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -30835,3 +30835,65 @@  (define-public python-hatchling
     (description "Modern, extensible Python project management")
     ;; MIT License
     (license license:expat)))
+
+(define-public python-hatch-vcs
+  ;; Tags are not accurate; just use the commit itself.
+  (let ((commit "367daedb23ba906f3e0714c64392fdd6ffa69ab2")
+        (revision "1"))
+    (package
+      (name "python-hatch-vcs")
+      (version (git-version "0.2.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/ofek/hatch-vcs")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0nlnv32jqiz8ikc013h5simmiqqg0qa7pm0qcbd8yiqq1p43iw05"))))
+      (build-system python-build-system)
+      (inputs (list python
+                    python-pypa-build
+                    python-pathspec
+                    python-pluggy-1.0
+                    python-editables
+                    git))
+      ;; python-setuptools-scm-6.4 minimum
+      (propagated-inputs (list python-hatchling))
+      (native-inputs (list python-pytest python-setuptools-scm-7))
+      (arguments
+       ;; Copied directly from the build process for
+       ;; python-jsonschema-next.
+       (substitute-keyword-arguments (package-arguments python-jsonschema)
+         ((#:phases phases)
+          #~(modify-phases #$phases
+              (replace 'build
+                (lambda _
+                  (setenv "SOURCE_DATE_EPOCH" "315532800")
+                  (invoke "python"
+                          "-m"
+                          "build"
+                          "--wheel"
+                          "--no-isolation"
+                          ".")))
+              (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))))
+              (replace 'check
+                (lambda* (#:key tests? #:allow-other-keys)
+                  (when tests?
+                    (invoke "pytest" "-vvv"))))))))
+      (home-page "https://ofek.dev/projects/hatch/")
+      (synopsis "Hatch plugin for versioning with your preferred VCS")
+      (description "Hatch plugin for versioning with your preferred VCS")
+      ;; MIT License
+      (license license:expat))))