Message ID | 20221017201201.4808-1-marius@gnu.org |
---|---|
State | New |
Headers | show |
Series | Introducing pyproject-build-system. | expand |
Context | Check | Description |
---|---|---|
cbaines/comparison | success | View comparision |
cbaines/git-branch | success | View Git branch |
cbaines/applying patch | success | View Laminar job |
cbaines/issue | success | View issue |
Hi, Marius Bakke <marius@gnu.org> writes: > From: Lars-Dominik Braun <lars@6xq.net> > > * gnu/packages/python-xyz.scm (python-setuptools): Move… > * gnu/packages/python-build.scm: …here. > * gnu/packages/chemistry.scm, > gnu/packages/messaging.scm, > gnu/packages/sequoia.scm, > tests/lint.scm: Adjust module imports accordingly. > > Co-authored-by: Marius Bakke <marius@gnu.org> [...] > +(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 > + ;; Remove included binaries which are used to build self-extracting > + ;; installers for Windows. > + ;; TODO: Find some way to build them ourself so we can include them. I don't think we need a TODO to fix 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") > + ;; TODO: setuptools now bundles the following libraries: > + ;; packaging, pyparsing, six and appdirs. How to unbundle? A better place for this TODO would be next to the snippet in the origin, perhaps? -- Thanks, Maxim
Maxim Cournoyer <maxim.cournoyer@gmail.com> skriver: >> +(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 >> + ;; Remove included binaries which are used to build self-extracting >> + ;; installers for Windows. >> + ;; TODO: Find some way to build them ourself so we can include them. > > I don't think we need a TODO to fix installers for Windows. I concur. >> + '(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") >> + ;; TODO: setuptools now bundles the following libraries: >> + ;; packaging, pyparsing, six and appdirs. How to unbundle? > > A better place for this TODO would be next to the snippet in the origin, > perhaps? The comments were taken verbatim from the current package definition. I'll submit a follow-up commit with these changes.
Hi Marius, Marius Bakke <marius@gnu.org> writes: > Maxim Cournoyer <maxim.cournoyer@gmail.com> skriver: [...] >>> + '(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") >>> + ;; TODO: setuptools now bundles the following libraries: >>> + ;; packaging, pyparsing, six and appdirs. How to unbundle? >> >> A better place for this TODO would be next to the snippet in the origin, >> perhaps? > > The comments were taken verbatim from the current package definition. > > I'll submit a follow-up commit with these changes. I noticed when I got to read the removal part of the diff ;-). Sorry for giving you more work!
diff --git a/gnu/packages/chemistry.scm b/gnu/packages/chemistry.scm index d0582c4b6f..6549da3453 100644 --- a/gnu/packages/chemistry.scm +++ b/gnu/packages/chemistry.scm @@ -56,6 +56,7 @@ (define-module (gnu packages chemistry) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages python-build) #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) #:use-module (gnu packages serialization) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index fa889d24a7..86d9914c90 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -116,6 +116,7 @@ (define-module (gnu packages messaging) #:use-module (gnu packages pkg-config) #:use-module (gnu packages protobuf) #:use-module (gnu packages python) + #:use-module (gnu packages python-build) #:use-module (gnu packages python-check) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-web) diff --git a/gnu/packages/python-build.scm b/gnu/packages/python-build.scm index 9d9b07f769..3ff988820f 100644 --- a/gnu/packages/python-build.scm +++ b/gnu/packages/python-build.scm @@ -41,6 +41,46 @@ (define-module (gnu packages python-build) ;;; ;;; Code: +(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 + ;; Remove included binaries which are used to build self-extracting + ;; installers for Windows. + ;; TODO: Find some way to build them ourself so we can include them. + '(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") + ;; TODO: setuptools now bundles the following libraries: + ;; packaging, pyparsing, six and appdirs. How to unbundle? + (license (list license:psfl ;setuptools itself + license:expat ;six, appdirs, pyparsing + license:asl2.0 ;packaging is dual ASL2/BSD-2 + license:bsd-2)))) + (define-public python-wheel (package (name "python-wheel") diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index ebc56bbc11..3ea29ec3b9 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -2043,46 +2043,6 @@ (define-public python-serpent other machines, such as over the network.") (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 - ;; Remove included binaries which are used to build self-extracting - ;; installers for Windows. - ;; TODO: Find some way to build them ourself so we can include them. - '(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") - ;; TODO: setuptools now bundles the following libraries: - ;; packaging, pyparsing, six and appdirs. How to unbundle? - (license (list license:psfl ;setuptools itself - license:expat ;six, appdirs, pyparsing - license:asl2.0 ;packaging is dual ASL2/BSD-2 - license:bsd-2)))) - (define-public python-setuptools-declarative-requirements (package (name "python-setuptools-declarative-requirements") diff --git a/gnu/packages/sequoia.scm b/gnu/packages/sequoia.scm index a8d21ac1a4..7002f684b8 100644 --- a/gnu/packages/sequoia.scm +++ b/gnu/packages/sequoia.scm @@ -36,7 +36,7 @@ (define-module (gnu packages sequoia) #:use-module (gnu packages nettle) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) - #:use-module (gnu packages python-xyz) ;; python-setuptools + #:use-module (gnu packages python-build) ;python-setuptools #:use-module (gnu packages rust) #:use-module (gnu packages tls)) diff --git a/tests/lint.scm b/tests/lint.scm index 8be74d2604..641486f89b 100644 --- a/tests/lint.scm +++ b/tests/lint.scm @@ -49,7 +49,7 @@ (define-module (test-lint) #:use-module (gnu packages) #:use-module (gnu packages glib) #:use-module (gnu packages pkg-config) - #:use-module (gnu packages python-xyz) + #:use-module (gnu packages python-build) #:use-module ((gnu packages bash) #:select (bash bash-minimal)) #:use-module (web uri) #:use-module (web server)
From: Lars-Dominik Braun <lars@6xq.net> * gnu/packages/python-xyz.scm (python-setuptools): Move… * gnu/packages/python-build.scm: …here. * gnu/packages/chemistry.scm, gnu/packages/messaging.scm, gnu/packages/sequoia.scm, tests/lint.scm: Adjust module imports accordingly. Co-authored-by: Marius Bakke <marius@gnu.org> --- gnu/packages/chemistry.scm | 1 + gnu/packages/messaging.scm | 1 + gnu/packages/python-build.scm | 40 +++++++++++++++++++++++++++++++++++ gnu/packages/python-xyz.scm | 40 ----------------------------------- gnu/packages/sequoia.scm | 2 +- tests/lint.scm | 2 +- 6 files changed, 44 insertions(+), 42 deletions(-)