;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2020 Efraim Flashner ;;; Copyright © 2016 Leo Famulari ;;; Copyright © 2020 Marius Bakke ;;; Copyright © 2020 Tanguy Le Carrour ;;; Copyright © 2018, 2021 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (gnu packages python-build) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system python) #:use-module (guix download) #:use-module (guix packages)) ;;; Commentary: ;;; ;;; Python packages to build... Python packages. Since they are bound to be ;;; relied on by many, their dependencies should be kept minimal, and this ;;; module should not depend on other modules containing Python packages. ;;; ;;; Code: (define-public python-wheel (package (name "python-wheel") (version "0.36.2") (source (origin (method url-fetch) (uri (pypi-uri "wheel" version)) (sha256 (base32 "0pi4w0brz7a86ddk6pm8p6j0w6d7jgacgxm0c2dab3k5cb8yy7p1")))) (build-system python-build-system) (arguments ;; FIXME: The test suite runs "python setup.py bdist_wheel", which in turn ;; fails to find the newly-built bdist_wheel library, even though it is ;; available on PYTHONPATH. What search path is consulted by setup.py? '(#:tests? #f)) (home-page "https://bitbucket.org/pypa/wheel/") (synopsis "Format for built Python packages") (description "A wheel is a ZIP-format archive with a specially formatted filename and the @code{.whl} extension. It is designed to contain all the files for a PEP 376 compatible install in a way that is very close to the on-disk format. Many packages will be properly installed with only the @code{Unpack} step and the unpacked archive preserves enough information to @code{Spread} (copy data and scripts to their final locations) at any later time. Wheel files can be installed with a newer @code{pip} or with wheel's own command line utility.") (license license:expat))) (define-public python2-wheel (package-with-python2 python-wheel)) ;;; XXX: Not really at home, but this seems the best place to prevent circular ;;; module dependencies. (define-public python-toml (package (name "python-toml") (version "0.10.1") (source (origin2020-03-04gnu: SuiteSparse: Update to 5.7.1....* gnu/packages/maths.scm (suitesparse): Update to 5.7.1. [source]: The latest releases of SuiteSparse have only been published on GitHub. Fetch from git tag as GitHub releases page only contains autogenerated tarballs that guix lint complains about. Apply new patch for Mongoose's CMakeList.txt to find SuiteSparse_config. [arguments]: Add CMake flags used by new components GraphBLAS and Mongoose. [native-inputs]: Add CMake and m4 needed to build GraphBLAS and Mongoose. * gnu/packages/patches/suitesparse-mongoose-cmake.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Leo Famulari <leo@famulari.name> Felix Gruber circular dependencies (propagated-inputs `(("python-toml" ,python-toml) ("python-wheel" ,python-wheel))) (home-page "https://github.com/pypa/pep517") (synopsis "Wrappers to build Python packages using PEP 517 hooks") (description "Wrappers to build Python packages using PEP 517 hooks.") (license license:expat)))) ;;; The name 'python-pypa-build' is chosen rather than 'python-build' to avoid ;;; a name clash with python-build from (guix build-system python). (define-public python-pypa-build (package (name "python-pypa-build") (version "0.1.0") (source (origin (method url-fetch) (uri (pypi-uri "build" version)) (sha256 (base32 "1d6m21lijwm04g50nwgsgj7x3vhblzw7jv05ah8psqgzk20bbch8")))) (build-system python-build-system) (arguments `(#:tests? #f)) ;to tests in the PyPI release (propagated-inputs `(("python-pep517", python-pep517-bootstrap) ("python-toml" ,python-toml))) (home-page "https://pypa-build.readthedocs.io/en/latest/") (synopsis "Simple Python PEP 517 package builder") (description "The @command{build} command invokes the PEP 517 hooks to build a distribution package. It is a simple build tool and does not perform any dependency management. It aims to keep dependencies to a minimum, in order to make bootstrapping easier.") (license license:expat))) (define-public python-poetry-core (package (name "python-poetry-core") (version "1.0.0") (source (origin (method url-fetch) (uri (pypi-uri "poetry-core" version)) (sha256 (base32 "1mgv276h1iphn5fqhp2sgkgd5d0c39hs33vgaf157x5ri7rlyrka")))) (build-system python-build-system) (home-page "https://github.com/python-poetry/poetry-core") (synopsis "Poetry PEP 517 build back-end") (description "The @code{poetry-core} module provides a PEP 517 build back-end 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)))