gnu: python-xyz: Move some packages to (gnu packages python-build).
This is to prepare for the new 'python-hatchling' build package, which has these dependencies. * gnu/packages/python-xyz.scm (python-pathspec, python-pluggy): Move to... * gnu/packages/python-build.scm: ... here. Re-organize definitions a bit, with comments.
This commit is contained in:
parent
1344c3388a
commit
5c66f98c42
2 changed files with 138 additions and 132 deletions
|
@ -4,9 +4,9 @@
|
||||||
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
|
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
|
||||||
;;; Copyright © 2020, 2023 Marius Bakke <marius@gnu.org>
|
;;; Copyright © 2020, 2023 Marius Bakke <marius@gnu.org>
|
||||||
;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
|
;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
|
||||||
;;; Copyright © 2018, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
;;; Copyright © 2018, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||||
;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||||
;;; Copyright © 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
|
;;; Copyright © 2020, 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
|
||||||
;;; Copyright © 2022 Garek Dyszel <garekdyszel@disroot.org>
|
;;; Copyright © 2022 Garek Dyszel <garekdyszel@disroot.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
|
@ -41,109 +41,48 @@
|
||||||
;;;
|
;;;
|
||||||
;;; Code:
|
;;; Code:
|
||||||
|
|
||||||
(define-public python-pip
|
|
||||||
|
;;; These are dependencies used by the build systems contained herein; they
|
||||||
|
;;; feel a bit out of place but are kept here to prevent circular module
|
||||||
|
;;; dependencies.
|
||||||
|
(define-public python-pathspec
|
||||||
(package
|
(package
|
||||||
(name "python-pip")
|
(name "python-pathspec")
|
||||||
(version "22.2.2")
|
(version "0.9.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "pip" version))
|
(uri (pypi-uri "pathspec" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0jwac0bhfp48w4fqibf1ysrs2grksdv92hwqm7bmdw2jn2fr5l9z"))))
|
"1cdbdb3s6ldnjpwbi0bgl0xlmw4mbfxk08bbdxc3srx26na4jr75"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(arguments
|
(home-page "https://github.com/cpburnz/python-path-specification")
|
||||||
'(#:tests? #f)) ; there are no tests in the pypi archive.
|
(synopsis "Utility library for gitignore style pattern matching of file paths")
|
||||||
(home-page "https://pip.pypa.io/")
|
|
||||||
(synopsis "Package manager for Python software")
|
|
||||||
(description
|
(description
|
||||||
"Pip is a package manager for Python software, that finds packages on the
|
"This package provides a utility library for gitignore style pattern
|
||||||
Python Package Index (PyPI).")
|
matching of file paths.")
|
||||||
|
(license license:mpl2.0)))
|
||||||
|
|
||||||
|
(define-public python-pluggy
|
||||||
|
(package
|
||||||
|
(name "python-pluggy")
|
||||||
|
(version "1.0.0")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (pypi-uri "pluggy" version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0n8iadlas2z1b4h0fc73b043c7iwfvx9rgvqm1azjmffmhxkf922"))))
|
||||||
|
(build-system python-build-system)
|
||||||
|
(native-inputs (list python-setuptools-scm))
|
||||||
|
(synopsis "Plugin and hook calling mechanism for Python")
|
||||||
|
(description "Pluggy is an extraction of the plugin manager as used by
|
||||||
|
Pytest but stripped of Pytest specific details.")
|
||||||
|
(home-page "https://pypi.org/project/pluggy/")
|
||||||
(license license:expat)))
|
(license license:expat)))
|
||||||
|
|
||||||
(define-public python-setuptools
|
|
||||||
(package
|
|
||||||
(name "python-setuptools")
|
|
||||||
(version "64.0.3")
|
|
||||||
(source
|
|
||||||
(origin
|
|
||||||
(method url-fetch)
|
|
||||||
(uri (pypi-uri "setuptools" version))
|
|
||||||
(sha256
|
|
||||||
(base32
|
|
||||||
"1sllqf0bhsl2yilf1w0xnlz0r4yaksmwaj0ap91zdc6kgbigdjiv"))
|
|
||||||
(modules '((guix build utils)))
|
|
||||||
(snippet
|
|
||||||
;; TODO: setuptools now bundles the following libraries:
|
|
||||||
;; packaging, pyparsing, six and appdirs. How to unbundle?
|
|
||||||
;; Remove included binaries which are used to build self-extracting
|
|
||||||
;; installers for Windows.
|
|
||||||
'(for-each delete-file (find-files "setuptools"
|
|
||||||
"^(cli|gui).*\\.exe$")))))
|
|
||||||
(build-system python-build-system)
|
|
||||||
;; FIXME: Tests require pytest, which itself relies on setuptools.
|
|
||||||
;; One could bootstrap with an internal untested setuptools.
|
|
||||||
(arguments (list #:tests? #f))
|
|
||||||
(home-page "https://pypi.org/project/setuptools/")
|
|
||||||
(synopsis "Library designed to facilitate packaging Python projects")
|
|
||||||
(description "Setuptools is a fully-featured, stable library designed to
|
|
||||||
facilitate packaging Python projects, where packaging includes:
|
|
||||||
@itemize
|
|
||||||
@item Python package and module definitions
|
|
||||||
@item distribution package metadata
|
|
||||||
@item test hooks
|
|
||||||
@item project installation
|
|
||||||
@item platform-specific details.
|
|
||||||
@end itemize")
|
|
||||||
(license (list license:psfl ;setuptools itself
|
|
||||||
license:expat ;six, appdirs, pyparsing
|
|
||||||
license:asl2.0 ;packaging is dual ASL2/BSD-2
|
|
||||||
license:bsd-2))))
|
|
||||||
|
|
||||||
;; This is the last version with use_2to3 support.
|
|
||||||
(define-public python-setuptools-57
|
|
||||||
(package
|
|
||||||
(inherit python-setuptools)
|
|
||||||
(version "57.5.0")
|
|
||||||
(source (origin
|
|
||||||
(inherit (package-source python-setuptools))
|
|
||||||
(uri (pypi-uri "setuptools" version))
|
|
||||||
(sha256
|
|
||||||
(base32
|
|
||||||
"091sp8lrin7qllrhhx7y0iiv5gdb1d3l8a1ip5knk77ma1njdlyr"))))))
|
|
||||||
|
|
||||||
(define-public python-wheel
|
|
||||||
(package
|
|
||||||
(name "python-wheel")
|
|
||||||
(version "0.37.0")
|
|
||||||
(source
|
|
||||||
(origin
|
|
||||||
(method url-fetch)
|
|
||||||
(uri (pypi-uri "wheel" version))
|
|
||||||
(sha256
|
|
||||||
(base32
|
|
||||||
"1bbga5i49rj1cwi4sjpkvfhl1f8vl9lfky2lblsy768nk4wp5vz2"))))
|
|
||||||
(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)))
|
|
||||||
|
|
||||||
;;; XXX: Not really at home, but this seems the best place to prevent circular
|
|
||||||
;;; module dependencies.
|
|
||||||
(define-public python-toml
|
(define-public python-toml
|
||||||
(package
|
(package
|
||||||
(name "python-toml")
|
(name "python-toml")
|
||||||
|
@ -274,6 +213,111 @@ Python file, so it can be easily copied into your project.")
|
||||||
@code{python-toml}.")
|
@code{python-toml}.")
|
||||||
(license license:expat)))
|
(license license:expat)))
|
||||||
|
|
||||||
|
|
||||||
|
;;;
|
||||||
|
;;; Python builder packages.
|
||||||
|
;;;
|
||||||
|
(define-public python-pip
|
||||||
|
(package
|
||||||
|
(name "python-pip")
|
||||||
|
(version "22.2.2")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (pypi-uri "pip" version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0jwac0bhfp48w4fqibf1ysrs2grksdv92hwqm7bmdw2jn2fr5l9z"))))
|
||||||
|
(build-system python-build-system)
|
||||||
|
(arguments
|
||||||
|
'(#:tests? #f)) ; there are no tests in the pypi archive.
|
||||||
|
(home-page "https://pip.pypa.io/")
|
||||||
|
(synopsis "Package manager for Python software")
|
||||||
|
(description
|
||||||
|
"Pip is a package manager for Python software, that finds packages on the
|
||||||
|
Python Package Index (PyPI).")
|
||||||
|
(license license:expat)))
|
||||||
|
|
||||||
|
(define-public python-setuptools
|
||||||
|
(package
|
||||||
|
(name "python-setuptools")
|
||||||
|
(version "64.0.3")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (pypi-uri "setuptools" version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1sllqf0bhsl2yilf1w0xnlz0r4yaksmwaj0ap91zdc6kgbigdjiv"))
|
||||||
|
(modules '((guix build utils)))
|
||||||
|
(snippet
|
||||||
|
;; TODO: setuptools now bundles the following libraries:
|
||||||
|
;; packaging, pyparsing, six and appdirs. How to unbundle?
|
||||||
|
;; Remove included binaries which are used to build self-extracting
|
||||||
|
;; installers for Windows.
|
||||||
|
'(for-each delete-file (find-files "setuptools"
|
||||||
|
"^(cli|gui).*\\.exe$")))))
|
||||||
|
(build-system python-build-system)
|
||||||
|
;; FIXME: Tests require pytest, which itself relies on setuptools.
|
||||||
|
;; One could bootstrap with an internal untested setuptools.
|
||||||
|
(arguments (list #:tests? #f))
|
||||||
|
(home-page "https://pypi.org/project/setuptools/")
|
||||||
|
(synopsis "Library designed to facilitate packaging Python projects")
|
||||||
|
(description "Setuptools is a fully-featured, stable library designed to
|
||||||
|
facilitate packaging Python projects, where packaging includes:
|
||||||
|
@itemize
|
||||||
|
@item Python package and module definitions
|
||||||
|
@item distribution package metadata
|
||||||
|
@item test hooks
|
||||||
|
@item project installation
|
||||||
|
@item platform-specific details.
|
||||||
|
@end itemize")
|
||||||
|
(license (list license:psfl ;setuptools itself
|
||||||
|
license:expat ;six, appdirs, pyparsing
|
||||||
|
license:asl2.0 ;packaging is dual ASL2/BSD-2
|
||||||
|
license:bsd-2))))
|
||||||
|
|
||||||
|
;; This is the last version with use_2to3 support.
|
||||||
|
(define-public python-setuptools-57
|
||||||
|
(package
|
||||||
|
(inherit python-setuptools)
|
||||||
|
(version "57.5.0")
|
||||||
|
(source (origin
|
||||||
|
(inherit (package-source python-setuptools))
|
||||||
|
(uri (pypi-uri "setuptools" version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"091sp8lrin7qllrhhx7y0iiv5gdb1d3l8a1ip5knk77ma1njdlyr"))))))
|
||||||
|
|
||||||
|
(define-public python-wheel
|
||||||
|
(package
|
||||||
|
(name "python-wheel")
|
||||||
|
(version "0.37.0")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (pypi-uri "wheel" version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1bbga5i49rj1cwi4sjpkvfhl1f8vl9lfky2lblsy768nk4wp5vz2"))))
|
||||||
|
(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 python-pep517-bootstrap
|
(define-public python-pep517-bootstrap
|
||||||
(hidden-package
|
(hidden-package
|
||||||
(package
|
(package
|
||||||
|
|
|
@ -6121,25 +6121,6 @@ and integrated feature-set for programming Python effectively.")
|
||||||
(define-public python-language-server
|
(define-public python-language-server
|
||||||
(deprecated-package "python-language-server" python-lsp-server))
|
(deprecated-package "python-language-server" python-lsp-server))
|
||||||
|
|
||||||
(define-public python-pathspec
|
|
||||||
(package
|
|
||||||
(name "python-pathspec")
|
|
||||||
(version "0.9.0")
|
|
||||||
(source
|
|
||||||
(origin
|
|
||||||
(method url-fetch)
|
|
||||||
(uri (pypi-uri "pathspec" version))
|
|
||||||
(sha256
|
|
||||||
(base32
|
|
||||||
"1cdbdb3s6ldnjpwbi0bgl0xlmw4mbfxk08bbdxc3srx26na4jr75"))))
|
|
||||||
(build-system python-build-system)
|
|
||||||
(home-page "https://github.com/cpburnz/python-path-specification")
|
|
||||||
(synopsis "Utility library for gitignore style pattern matching of file paths")
|
|
||||||
(description
|
|
||||||
"This package provides a utility library for gitignore style pattern
|
|
||||||
matching of file paths.")
|
|
||||||
(license license:mpl2.0)))
|
|
||||||
|
|
||||||
(define-public python-black
|
(define-public python-black
|
||||||
(package
|
(package
|
||||||
(name "python-black")
|
(name "python-black")
|
||||||
|
@ -15574,25 +15555,6 @@ library as well as on the command line.")
|
||||||
(home-page "https://stuvel.eu/rsa")
|
(home-page "https://stuvel.eu/rsa")
|
||||||
(license license:asl2.0)))
|
(license license:asl2.0)))
|
||||||
|
|
||||||
(define-public python-pluggy
|
|
||||||
(package
|
|
||||||
(name "python-pluggy")
|
|
||||||
(version "1.0.0")
|
|
||||||
(source
|
|
||||||
(origin
|
|
||||||
(method url-fetch)
|
|
||||||
(uri (pypi-uri "pluggy" version))
|
|
||||||
(sha256
|
|
||||||
(base32
|
|
||||||
"0n8iadlas2z1b4h0fc73b043c7iwfvx9rgvqm1azjmffmhxkf922"))))
|
|
||||||
(build-system python-build-system)
|
|
||||||
(native-inputs (list python-setuptools-scm))
|
|
||||||
(synopsis "Plugin and hook calling mechanism for Python")
|
|
||||||
(description "Pluggy is an extraction of the plugin manager as used by
|
|
||||||
Pytest but stripped of Pytest specific details.")
|
|
||||||
(home-page "https://pypi.org/project/pluggy/")
|
|
||||||
(license license:expat)))
|
|
||||||
|
|
||||||
(define-public python-plumbum
|
(define-public python-plumbum
|
||||||
(package
|
(package
|
||||||
(name "python-plumbum")
|
(name "python-plumbum")
|
||||||
|
|
Reference in a new issue