diff options
author | Lars-Dominik Braun <lars@6xq.net> | 2022-04-23 11:36:55 +0200 |
---|---|---|
committer | Marius Bakke <marius@gnu.org> | 2022-10-27 19:43:06 +0200 |
commit | 400a7a4c80efbde1905ae98a298bbb5882d46a0d (patch) | |
tree | 151375e9dab1ace78459c2e1e852991e9bdb6acb /gnu/packages/python.scm | |
parent | b4e2effb30bdcbab00dbe1af3e2b9d4ad446897e (diff) | |
download | guix-400a7a4c80efbde1905ae98a298bbb5882d46a0d.tar guix-400a7a4c80efbde1905ae98a298bbb5882d46a0d.tar.gz |
build-system: Add pyproject-build-system.
This is an experimental build system based on python-build-system
that implements PEP 517-compliant builds.
* doc/guix.texi (Build Systems): Add pyproject-build-system section.
* doc/contributing.texi (Python Modules): Mention pyproject.toml and the
PYTHON-TOOLCHAIN package, as well as differences to python-build-system.
* guix/build-system/pyproject.scm,
guix/build/pyproject-build-system.scm,
gnu/packages/aux-files/python/sanity-check-next.py,
gnu/packages/python-commencement.scm: New files.
* Makefile.am (MODULES): Register the new build systems.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add python-commencement.scm.
* gnu/packages/python.scm (python-sans-pip, python-sans-pip-wrapper): New
variables.
Co-authored-by: Marius Bakke <marius@gnu.org>
Diffstat (limited to 'gnu/packages/python.scm')
-rw-r--r-- | gnu/packages/python.scm | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 00c3eb7774..0c164d7991 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -26,7 +26,7 @@ ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is> ;;; Copyright © 2016 Dylan Jeffers <sapientech@sapientech@openmailbox.org> ;;; Copyright © 2016 David Craven <david@craven.ch> -;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Marius Bakke <marius@gnu.org> +;;; Copyright © 2016-2022 Marius Bakke <marius@gnu.org> ;;; Copyright © 2016, 2017 Stefan Reichör <stefan@xsteve.at> ;;; Copyright © 2016, 2017 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2016, 2017, 2018 Arun Isaac <arunisaac@systemreboot.net> @@ -60,6 +60,7 @@ ;;; Copyright © 2020, 2021 Greg Hogan <code@greghogan.com> ;;; Copyright © 2022 Philip McGrath <philip@philipmcgrath.com> ;;; Copyright © 2022 jgart <jgart@dismail.de> +;;; Copyright © 2021 Lars-Dominik Braun <lars@6xq.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -87,6 +88,7 @@ #:use-module (gnu packages hurd) #:use-module (gnu packages libffi) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python-build) #:use-module (gnu packages readline) #:use-module (gnu packages sqlite) #:use-module (gnu packages tcl) @@ -674,6 +676,37 @@ and the unversioned commands available."))) (define-public python-wrapper (wrap-python3 python)) (define-public python-minimal-wrapper (wrap-python3 python-minimal)) +;; The Python used in pyproject-build-system. +(define-public python-sans-pip + (hidden-package + (package/inherit python + (arguments + (substitute-keyword-arguments (package-arguments python) + ((#:configure-flags flags #~()) + #~(append '("--with-ensurepip=no") + (delete "--with-ensurepip=install" #$flags)))))))) + +(define-public python-sans-pip-wrapper + (wrap-python3 python-sans-pip)) + +(define-public python-toolchain + (let ((base (package/inherit python-sans-pip-wrapper))) + (package + (inherit base) + (properties '()) + (name "python-toolchain") + (propagated-inputs + (modify-inputs (package-propagated-inputs base) + (append python-pip + python-pypa-build + python-setuptools + python-wheel))) + (synopsis "Python toolchain") + (description + "Python toolchain including Python itself, setuptools and pip. +Use this package if you need a minimal Python toolchain instead of just +the interpreter.")))) + (define-public micropython (package (name "micropython") |