summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2021-02-05 23:26:51 +0100
committerRicardo Wurmus <rekado@elephly.net>2021-02-05 23:30:43 +0100
commit8cc13fcff534e4a8f37d675fed215a265bdaeb4e (patch)
tree1920fab577602a393ade34671ed7d1fbd1ccaaae /gnu
parenta60be5c5ffebe801f0b131bfa044decbafde9269 (diff)
gnu: python2-setuptools: Downgrade to 41.0.1.
* gnu/packages/python-xyz.scm (python2-setuptools): Define older version instead of inheriting from python-setuptools. (python-setuptools)[properties]: Record python2-variant.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/python-xyz.scm48
1 files changed, 46 insertions, 2 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 0d6ab9debb..572d48b0de 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -1181,10 +1181,54 @@ Python 3 support.")
(license (list license:psfl ; setuptools itself
license:expat ; six, appdirs, pyparsing
license:asl2.0 ; packaging is dual ASL2/BSD-2
- license:bsd-2))))
+ license:bsd-2))
+ (properties `((python2-variant . ,(delay python2-setuptools))))))
+;; Newer versions of setuptools no longer support Python 2.
(define-public python2-setuptools
- (package-with-python2 python-setuptools))
+ (package
+ (name "python2-setuptools")
+ (version "41.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "setuptools" version ".zip"))
+ (sha256
+ (base32
+ "04sns22y2hhsrwfy1mha2lgslvpjsjsz8xws7h2rh5a7ylkd28m2"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; 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$"))
+ #t))))
+ (build-system python-build-system)
+ ;; FIXME: Tests require pytest, which itself relies on setuptools.
+ ;; One could bootstrap with an internal untested setuptools.
+ (arguments
+ `(#:tests? #f))
+ (native-inputs
+ `(("unzip" ,unzip)))
+ (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:
+Python package and module definitions,
+distribution package metadata,
+test hooks,
+project installation,
+platform-specific details,
+Python 3 support.")
+ ;; 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))))
;; The setuptools provided by Python 3.7.4 is too new for Tensorflow.
(define-public python-setuptools-for-tensorflow