Subject: [bug#58310] [PATCH 06/14] gnu: Add python-hatch-vcs.

From: Garek Dyszel <[email-masked]>
Date: Wed, 05 Oct 2022 13:46:20 -0400

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 8a4ac37abf..5739c759de 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -27391,6 +27391,66 @@ (define-public python-versioneer
 process.")
     (license license:public-domain)))
 
+(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-pypa-build
+                    python-pathspec
+                    python-pluggy-1.0
+                    python-editables
+                    git
+                    python-hatchling-bootstrap
+                    python-typing-extensions))
+      (native-inputs (list python-pytest
+                           ;; python-setuptools-scm-6.4 minimum
+                           python-setuptools-scm-7))
+      (arguments
+       (list #:phases #~(modify-phases %standard-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 "Plugin for @code{python-hatch} to include versions")
+      (description
+       "This plugin defines a version-control syntax for use with
+@code{toml} files intended for use with @code{python-hatch}.")
+      (license license:expat))))
+
 (define-public python-gamera
   (package
     (name "python-gamera")
-- 
2.37.3