apteryx pushed a commit to branch version-1.4.0
in repository guix.

commit 714b5a36896f0c42f529692f42bd5264c80e5b17
Author: Maxim Cournoyer <[email protected]>
AuthorDate: Mon Dec 20 12:30:52 2021 -0500

    gnu: python-flit-core: Propagate python-tomli instead of python-toml.
    
    Flit Core apparently requires tomli at runtime rather than toml.  This means
    we must build a toml-less python-flit-core first, for bootstrapping 
purposes.
    
    * gnu/packages/python-build.scm (python-flit-core-bootstrap): New variable.
    (python-flit-core): Inherit from the above, replacing the propagated
    python-toml by python-tomli.
    (python-tomli): Adjust accordingly.
---
 gnu/packages/python-build.scm | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/python-build.scm b/gnu/packages/python-build.scm
index 29a2bdc2f7..a972a752be 100644
--- a/gnu/packages/python-build.scm
+++ b/gnu/packages/python-build.scm
@@ -163,7 +163,7 @@ Python file, so it can be easily copied into your project.")
                (invoke "pip" "--no-cache-dir" "--no-input"
                        "install" "--no-deps" "--prefix" out whl)))))))
     (native-inputs
-     `(("python-flit-core" ,python-flit-core)
+     `(("python-flit-core-bootstrap" ,python-flit-core-bootstrap)
        ("python-pypa-build" ,python-pypa-build)
        ("python-six", python-six-bootstrap)))
     (home-page "https://github.com/hukkin/tomli";)
@@ -347,9 +347,10 @@ 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
+;;; This package exists to bootstrap python-tomli.
+(define-public python-flit-core-bootstrap
   (package
-    (name "python-flit-core")
+    (name "python-flit-core-bootstrap")
     (version "3.5.1")
     (source
      (origin
@@ -387,3 +388,10 @@ compatible build front-ends to build Poetry managed 
projects.")
 backend for packages using Flit.  The only public interface is the API
 specified by PEP 517, @code{flit_core.buildapi}.")
     (license license:bsd-3)))
+
+(define-public python-flit-core
+  (package/inherit python-flit-core-bootstrap
+    (name "python-flit-core")
+    (propagated-inputs
+     (modify-inputs (package-propagated-inputs python-flit-core-bootstrap)
+       (replace "python-toml" python-tomli)))))

Reply via email to