guix-commits
[Top][All Lists]
Advanced

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

97/130: gnu: Add python-flit-core.


From: guix-commits
Subject: 97/130: gnu: Add python-flit-core.
Date: Sat, 16 Oct 2021 02:36:40 -0400 (EDT)

apteryx pushed a commit to branch core-updates-frozen-batched-changes
in repository guix.

commit 47a206fbe6c73906220021f0f702c53280c5065a
Author: Maxim Cournoyer <maxim.cournoyer@gmail.com>
AuthorDate: Fri Oct 1 11:00:51 2021 -0400

    gnu: Add python-flit-core.
    
    * gnu/packages/python-build.scm (python-flit-core): New variable.
---
 gnu/packages/python-build.scm | 51 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)

diff --git a/gnu/packages/python-build.scm b/gnu/packages/python-build.scm
index e55044d..57b56f6 100644
--- a/gnu/packages/python-build.scm
+++ b/gnu/packages/python-build.scm
@@ -27,6 +27,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix build-system python)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix packages))
 
 ;;; Commentary:
@@ -298,3 +299,53 @@ implementation developed for Poetry.  This project is 
intended to be
 a light weight, fully compliant, self-contained package allowing PEP 517
 compatible build front-ends to build Poetry managed projects.")
     (license license:expat)))
+
+(define-public python-flit-core
+  ;; Use the latest commit of the 'zip-date-min-1980' branch, as it includes
+  ;; necessary fixes to the yet unreleased bootstrapping procedure defined in
+  ;; the flit_core/build_dists.py script.
+  (let ((revision "0")
+        (commit "47c1b48b307f4c89fe9178b1fca2282950e213cb")
+        (version* "3.3.0"))
+    (package
+      (name "python-flit-core")
+      (version (git-version version* revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/takluyver/flit";)
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "01vg6ir0gla5zb8539rxn8zmczly3d6qh2mcfpjkihxqvqlrs6gr"))))
+      (build-system python-build-system)
+      (propagated-inputs
+       `(("python-toml" ,python-toml)))
+      (arguments
+       ;; flit-core has a test suite, but it requires Pytest.  Disable it so
+       ;; as to not pull pytest as an input.
+       `(#:tests? #f
+         #:phases
+         (modify-phases %standard-phases
+           (replace 'build
+             ;; flit-core requires itself to build.  Luckily, a
+             ;; bootstrapping script exists, which does so using just
+             ;; the checkout sources and Python.
+             (lambda _
+               (invoke "python" "flit_core/build_dists.py")))
+           (replace 'install
+             (lambda* (#:key inputs outputs #:allow-other-keys)
+               (let ((out (assoc-ref outputs "out"))
+                     (whl (car (find-files "." "\\.whl$"))))
+                 (invoke "pip" "--no-cache-dir" "--no-input"
+                         "install" "--no-deps" "--prefix" out whl))))
+           ;; The sanity-check phase fails because flit depends on tomli at
+           ;; run-time, but this core variant avoids it to avoid a cycle.
+           (delete 'sanity-check))))
+      (home-page "https://github.com/takluyver/flit";)
+      (synopsis "Core package of the Flit Python build system")
+      (description "This package provides @code{flit-core}, a PEP 517 build
+backend for packages using Flit.  The only public interface is the API
+specified by PEP 517, @code{flit_core.buildapi}.")
+      (license license:bsd-3))))



reply via email to

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