Commit | Line | Data |
---|---|---|
dbcd2050 MC |
1 | ;;; GNU Guix --- Functional package management for GNU |
2 | ;;; Copyright © 2015, 2020 Efraim Flashner <efraim@flashner.co.il> | |
3 | ;;; Copyright © 2016 Leo Famulari <leo@famulari.name> | |
4 | ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> | |
5 | ;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org> | |
3ab7e15c | 6 | ;;; Copyright © 2018, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> |
c0e60ccf | 7 | ;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr> |
3bd962bc | 8 | ;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net> |
dbcd2050 MC |
9 | ;;; |
10 | ;;; This file is part of GNU Guix. | |
11 | ;;; | |
12 | ;;; GNU Guix is free software; you can redistribute it and/or modify it | |
13 | ;;; under the terms of the GNU General Public License as published by | |
14 | ;;; the Free Software Foundation; either version 3 of the License, or (at | |
15 | ;;; your option) any later version. | |
16 | ;;; | |
17 | ;;; GNU Guix is distributed in the hope that it will be useful, but | |
18 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | |
19 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
20 | ;;; GNU General Public License for more details. | |
21 | ;;; | |
22 | ;;; You should have received a copy of the GNU General Public License | |
23 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | |
24 | ||
25 | (define-module (gnu packages python-build) | |
26 | #:use-module ((guix licenses) #:prefix license:) | |
27 | #:use-module (guix build-system python) | |
28 | #:use-module (guix download) | |
29 | #:use-module (guix packages)) | |
30 | ||
31 | ;;; Commentary: | |
32 | ;;; | |
33 | ;;; Python packages to build... Python packages. Since they are bound to be | |
34 | ;;; relied on by many, their dependencies should be kept minimal, and this | |
35 | ;;; module should not depend on other modules containing Python packages. | |
36 | ;;; | |
37 | ;;; Code: | |
38 | ||
39 | (define-public python-wheel | |
40 | (package | |
41 | (name "python-wheel") | |
dbf4561b | 42 | (version "0.36.2") |
dbcd2050 MC |
43 | (source |
44 | (origin | |
45 | (method url-fetch) | |
46 | (uri (pypi-uri "wheel" version)) | |
47 | (sha256 | |
48 | (base32 | |
dbf4561b | 49 | "0pi4w0brz7a86ddk6pm8p6j0w6d7jgacgxm0c2dab3k5cb8yy7p1")))) |
dbcd2050 MC |
50 | (build-system python-build-system) |
51 | (arguments | |
52 | ;; FIXME: The test suite runs "python setup.py bdist_wheel", which in turn | |
53 | ;; fails to find the newly-built bdist_wheel library, even though it is | |
54 | ;; available on PYTHONPATH. What search path is consulted by setup.py? | |
55 | '(#:tests? #f)) | |
56 | (home-page "https://bitbucket.org/pypa/wheel/") | |
57 | (synopsis "Format for built Python packages") | |
58 | (description | |
59 | "A wheel is a ZIP-format archive with a specially formatted filename and | |
60 | the @code{.whl} extension. It is designed to contain all the files for a PEP | |
61 | 376 compatible install in a way that is very close to the on-disk format. Many | |
62 | packages will be properly installed with only the @code{Unpack} step and the | |
63 | unpacked archive preserves enough information to @code{Spread} (copy data and | |
64 | scripts to their final locations) at any later time. Wheel files can be | |
65 | installed with a newer @code{pip} or with wheel's own command line utility.") | |
66 | (license license:expat))) | |
67 | ||
68 | (define-public python2-wheel | |
69 | (package-with-python2 python-wheel)) | |
70 | ||
71 | ;;; XXX: Not really at home, but this seems the best place to prevent circular | |
72 | ;;; module dependencies. | |
73 | (define-public python-toml | |
74 | (package | |
75 | (name "python-toml") | |
c0e60ccf | 76 | (version "0.10.2") |
dbcd2050 MC |
77 | (source |
78 | (origin | |
79 | (method url-fetch) | |
80 | (uri (pypi-uri "toml" version)) | |
81 | (sha256 | |
c0e60ccf | 82 | (base32 "13z6rff86bzdpl094x0vmfvls779931xj90dlbs9kpfm138s3gdk")))) |
dbcd2050 MC |
83 | (build-system python-build-system) |
84 | (arguments | |
85 | `(#:tests? #f)) ;no tests suite in release | |
86 | (home-page "https://github.com/uiri/toml") | |
87 | (synopsis "Library for TOML") | |
88 | (description | |
89 | "@code{toml} is a library for parsing and creating Tom's Obvious, Minimal | |
90 | Language (TOML) configuration files.") | |
91 | (license license:expat))) | |
92 | ||
3bd962bc RW |
93 | (define-public python-pytoml |
94 | (package | |
95 | (name "python-pytoml") | |
96 | (version "0.1.21") | |
97 | (source | |
98 | (origin | |
99 | (method url-fetch) | |
100 | (uri (pypi-uri "pytoml" version)) | |
101 | (sha256 | |
102 | (base32 | |
103 | "1rv1byiw82k7mj6aprcrqi2vdabs801y97xhfnrz7kxds34ggv4f")))) | |
104 | (build-system python-build-system) | |
105 | (home-page "https://github.com/avakar/pytoml") | |
106 | (synopsis "Parser for TOML") | |
107 | (description "This package provides a Python parser for TOML-0.4.0.") | |
108 | (license license:expat))) | |
109 | ||
dbcd2050 MC |
110 | (define-public python-pep517-bootstrap |
111 | (hidden-package | |
112 | (package | |
113 | (name "python-pep517-bootstrap") | |
114 | (version "0.9.1") | |
115 | (source | |
116 | (origin | |
117 | (method url-fetch) | |
118 | (uri (pypi-uri "pep517" version)) | |
119 | (sha256 | |
120 | (base32 | |
121 | "0zqidxah03qpnp6zkg3zd1kmd5f79hhdsfmlc0cldaniy80qddxf")))) | |
122 | (build-system python-build-system) | |
123 | (arguments | |
124 | `(#:tests? #f)) ;to avoid circular dependencies | |
125 | (propagated-inputs | |
126 | `(("python-toml" ,python-toml) | |
127 | ("python-wheel" ,python-wheel))) | |
128 | (home-page "https://github.com/pypa/pep517") | |
129 | (synopsis "Wrappers to build Python packages using PEP 517 hooks") | |
130 | (description | |
131 | "Wrappers to build Python packages using PEP 517 hooks.") | |
132 | (license license:expat)))) | |
133 | ||
3ab7e15c MC |
134 | ;;; The name 'python-pypa-build' is chosen rather than 'python-build' to avoid |
135 | ;;; a name clash with python-build from (guix build-system python). | |
136 | (define-public python-pypa-build | |
137 | (package | |
138 | (name "python-pypa-build") | |
139 | (version "0.1.0") | |
140 | (source (origin | |
141 | (method url-fetch) | |
142 | (uri (pypi-uri "build" version)) | |
143 | (sha256 | |
144 | (base32 | |
145 | "1d6m21lijwm04g50nwgsgj7x3vhblzw7jv05ah8psqgzk20bbch8")))) | |
146 | (build-system python-build-system) | |
147 | (arguments | |
148 | `(#:tests? #f)) ;to tests in the PyPI release | |
149 | (propagated-inputs | |
150 | `(("python-pep517", python-pep517-bootstrap) | |
151 | ("python-toml" ,python-toml))) | |
152 | (home-page "https://pypa-build.readthedocs.io/en/latest/") | |
153 | (synopsis "Simple Python PEP 517 package builder") | |
154 | (description "The @command{build} command invokes the PEP 517 hooks to | |
155 | build a distribution package. It is a simple build tool and does not perform | |
156 | any dependency management. It aims to keep dependencies to a minimum, in | |
157 | order to make bootstrapping easier.") | |
158 | (license license:expat))) | |
159 | ||
dbcd2050 MC |
160 | (define-public python-poetry-core |
161 | (package | |
162 | (name "python-poetry-core") | |
e50a4847 | 163 | (version "1.0.3") |
dbcd2050 MC |
164 | (source |
165 | (origin | |
166 | (method url-fetch) | |
167 | (uri (pypi-uri "poetry-core" version)) | |
168 | (sha256 | |
e50a4847 | 169 | (base32 "1ichii48zkywcnj8v3bcn9vk09v69jv6h65805w21hwz4hlcj593")))) |
dbcd2050 MC |
170 | (build-system python-build-system) |
171 | (home-page "https://github.com/python-poetry/poetry-core") | |
172 | (synopsis "Poetry PEP 517 build back-end") | |
173 | (description | |
174 | "The @code{poetry-core} module provides a PEP 517 build back-end | |
175 | implementation developed for Poetry. This project is intended to be | |
176 | a light weight, fully compliant, self-contained package allowing PEP 517 | |
177 | compatible build front-ends to build Poetry managed projects.") | |
178 | (license license:expat))) |