htgoebel pushed a commit to branch wip-python-build-system in repository guix.
commit 50416a3aa4c87e97189c563638d106e7d1b142e7 Author: Hartmut Goebel <[email protected]> Date: Wed Sep 28 13:57:21 2016 +0200 gnu: Remove python-setuptools and python2-setuptools from inputs (part 4a) This patch contains the changes for all modules beside python.scm where setuptools are used in an inherited package and removing this input also removes the need for inheriting the package. This is the case if adding setuptools in the inherited packge was the only change. Change this to not inherit and remove the new needless call to "strip-python2-variant (if applicable). * gnu/packages/bioinformatics.scm (python-biopython, python2-biopython, python-twobitreader, python2-twobitreader, python-plastid, python2-plastid, python2-pybigwig, python2-screed, sra-tools): No longer "inherit" Python 2 packages inheriting from a Python 3 package if the sole reason for inheriting was adding python-setuptools respective python2-setuptools to [inputs], [native-inputs] or [propagated-inputs]. Remove now needless [properties] "python2-variant" where applicable. * gnu/packages/django.scm (python-pytest-django, python2-pytest-django, python-django-filter, python2-django-filter): Likewise. * gnu/packages/gnupg.scm (python2-pygpgme): Likewise. * gnu/packages/mail.scm (python-mailmanclient, python2-mailmanclient): Likewise. * gnu/packages/mpd.scm (python-msp, python2-mpd2): Likewise. * gnu/packages/music.scm (python-pyechonest, python2-pyechonest, python-pylast, python2-pylast): Likewise. * gnu/packages/openstack.scm (python-requests-mock, python2-requests-mock, python2-git-review): Likewise. * gnu/packages/password-utils.scm (python2-bcrypt): Likewise. * gnu/packages/protobuf.scm (python-protobuf, python2-protobuf): Likewise. * gnu/packages/statistics.scm (python-patsy, python2-patsy): Likewise. * gnu/packages/web.scm (python2-feedparser): Likewise. --- gnu/packages/bioinformatics.scm | 35 ++++++----------------------------- gnu/packages/django.scm | 16 ++-------------- gnu/packages/gnupg.scm | 7 +------ gnu/packages/mail.scm | 7 +------ gnu/packages/mpd.scm | 9 ++------- gnu/packages/music.scm | 17 ++++------------- gnu/packages/openstack.scm | 16 +++------------- gnu/packages/password-utils.scm | 6 +----- gnu/packages/protobuf.scm | 7 ++----- gnu/packages/statistics.scm | 9 ++------- gnu/packages/web.scm | 6 +----- 11 files changed, 25 insertions(+), 110 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index fddf423..c571286 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -676,15 +676,10 @@ bioinformatics programs; a standard sequence class and tools for performing common operations on them; code to perform data classification; code for dealing with alignments; code making it easy to split up parallelizable tasks into separate processes; and more.") - (license (license:non-copyleft "http://www.biopython.org/DIST/LICENSE")) - (properties `((python2-variant . ,(delay python2-biopython)))))) + (license (license:non-copyleft "http://www.biopython.org/DIST/LICENSE")))) (define-public python2-biopython - (let ((base (package-with-python2 (strip-python2-variant python-biopython)))) - (package - (inherit base) - (native-inputs `(("python2-setuptools" ,python2-setuptools) - ,@(package-native-inputs base)))))) + (package-with-python2 python-biopython)) ;; An outdated version of biopython is required for seqmagick, see ;; https://github.com/fhcrc/seqmagick/issues/59 @@ -1423,7 +1418,6 @@ also includes an interface for tabix.") (sha256 (base32 "0y408fp6psqzwxpcpqn0wp7fr41dwz8d54wpj6j261fj5q8vs169")))) - (properties `((python2-variant . ,(delay python2-twobitreader)))) (build-system python-build-system) (native-inputs `(("python-sphinx" ,python-sphinx))) @@ -1435,11 +1429,7 @@ UCSC genome browser.") (license license:artistic2.0))) (define-public python2-twobitreader - (let ((base (package-with-python2 (strip-python2-variant python-twobitreader)))) - (package - (inherit base) - (native-inputs `(("python2-setuptools" ,python2-setuptools) - ,@(package-native-inputs base)))))) + (package-with-python2 python-twobitreader)) (define-public python-plastid (package @@ -1451,7 +1441,6 @@ UCSC genome browser.") (sha256 (base32 "1sqkz5d3b9kf688mp7k771c87ins42j7j0whmkb49cb3fsg8s8lj")))) - (properties `((python2-variant . ,(delay python2-plastid)))) (build-system python-build-system) (arguments ;; Some test files are not included. @@ -1476,12 +1465,7 @@ high-throughput sequencing data – with an emphasis on simplicity.") (license license:bsd-3))) (define-public python2-plastid - (let ((base (package-with-python2 (strip-python2-variant python-plastid)))) - (package - (inherit base) - ;; setuptools is required at runtime - (propagated-inputs `(("python2-setuptools" ,python2-setuptools) - ,@(package-propagated-inputs base)))))) + (package-with-python2 python-plastid)) (define-public cd-hit (package @@ -1930,10 +1914,7 @@ accessing bigWig files.") (license license:expat))) (define-public python2-pybigwig - (let ((pybigwig (package-with-python2 python-pybigwig))) - (package (inherit pybigwig) - (native-inputs - `(("python-setuptools" ,python2-setuptools)))))) + (package-with-python2 python-pybigwig)) (define-public python-dendropy (package @@ -4559,11 +4540,7 @@ sequence itself can be retrieved from these databases.") (license license:bsd-3))) (define-public python2-screed - (let ((base (package-with-python2 (strip-python2-variant python-screed)))) - (package - (inherit base) - (native-inputs `(("python2-setuptools" ,python2-setuptools) - ,@(package-native-inputs base)))))) + (package-with-python2 python-screed)) (define-public sra-tools (package diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index 90baccd..13c9391 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -148,16 +148,10 @@ with arguments to the field constructor.") (synopsis "Django plugin for py.test") (description "Pytest-django is a plugin for py.test that provides a set of useful tools for testing Django applications and projects.") - (properties `((python2-variant . ,(delay python2-pytest-django)))) (license license:bsd-3))) (define-public python2-pytest-django - (let ((base (package-with-python2 - (strip-python2-variant python-pytest-django)))) - (package (inherit base) - (native-inputs - `(("python2-setuptools" ,python2-setuptools) - ,@(package-native-inputs base)))))) + (package-with-python2 python-pytest-django)) (define-public python-django-filter (package @@ -177,13 +171,7 @@ useful tools for testing Django applications and projects.") some of the more mundane bits of view code. Specifically, it allows users to filter down a queryset based on a model’s fields, displaying the form to let them do this.") - (properties `((python2-variant . ,(delay python2-django-filter)))) (license license:bsd-3))) (define-public python2-django-filter - (let ((base (package-with-python2 - (strip-python2-variant python-django-filter)))) - (package (inherit base) - (native-inputs - `(("python2-setuptools" ,python2-setuptools) - ,@(package-native-inputs base)))))) + (package-with-python2 python-django-filter)) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 5fcc03a..70d05c7 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -426,12 +426,7 @@ decrypt messages using the OpenPGP format by making use of GPGME.") (license license:lgpl2.1+))) (define-public python2-pygpgme - (let ((base (package-with-python2 python-pygpgme))) - (package - (inherit base) - (native-inputs - `(("python2-setuptools" ,python2-setuptools) - ,@(package-native-inputs base)))))) + (package-with-python2 python-pygpgme)) (define-public python-gnupg (package diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 8328fb1..736d53f 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1709,12 +1709,7 @@ for OpenSMTPD to extend its functionality.") (description "The mailmanclient library provides official Python bindings for the GNU Mailman 3 REST API.") - (properties `((python2-variant . ,(delay python2-mailmanclient)))) (license lgpl3+))) (define-public python2-mailmanclient - (let ((base (package-with-python2 - (strip-python2-variant python-mailmanclient)))) - (package (inherit base) - (native-inputs - `(("python2-setuptools" ,python2-setuptools)))))) + (package-with-python2 python-mailmanclient)) diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm index ec0861d..83d9977 100644 --- a/gnu/packages/mpd.scm +++ b/gnu/packages/mpd.scm @@ -257,15 +257,10 @@ information about tracks being played to a scrobbler, such as Libre.FM.") (synopsis "Python MPD client library") (description "Python-mpd2 is a Python library which provides a client interface for the Music Player Daemon.") - (license license:lgpl3+) - (properties `((python2-variant . ,(delay python2-mpd2)))))) + (license license:lgpl3+))) (define-public python2-mpd2 - (let ((mpd2 (package-with-python2 - (strip-python2-variant python-mpd2)))) - (package (inherit mpd2) - (native-inputs `(("python2-setuptools" ,python2-setuptools) - ,@(package-native-inputs mpd2)))))) + (package-with-python2 python-mpd2)) (define-public sonata (package diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index badca96..668bf39 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -1799,13 +1799,10 @@ hotttnesss, audio_summary, or tracks. about the track including key, duration, mode, tempo, time signature along with detailed track info including timbre, pitch, rhythm and loudness information. @end enumerate\n") - (license license:bsd-3) - (properties `((python2-variant . ,(delay python2-pyechonest)))))) + (license license:bsd-3))) (define-public python2-pyechonest - (package (inherit (package-with-python2 - (strip-python2-variant python-pyechonest))) - (native-inputs `(("python2-setuptools" ,python2-setuptools))))) + (package-with-python2 python-pyechonest)) (define-public python-pylast (package @@ -1831,16 +1828,10 @@ detailed track info including timbre, pitch, rhythm and loudness information. (synopsis "Python interface to Last.fm and Libre.fm") (description "A Python interface to Last.fm and other API-compatible websites such as Libre.fm.") - (license license:asl2.0) - (properties `((python2-variant . ,(delay python2-pylast)))))) + (license license:asl2.0))) (define-public python2-pylast - (let ((pylast (package-with-python2 - (strip-python2-variant python-pylast)))) - (package (inherit pylast) - (native-inputs - `(("python2-setuptools" ,python2-setuptools) - ,@(package-native-inputs pylast)))))) + (package-with-python2 python-pylast)) (define-public beets (package diff --git a/gnu/packages/openstack.scm b/gnu/packages/openstack.scm index eee066e..172de25 100644 --- a/gnu/packages/openstack.scm +++ b/gnu/packages/openstack.scm @@ -260,16 +260,10 @@ tested on Python version 3.2, 2.7 and 2.6.") (description "This module provides a building block to stub out the HTTP requests portions of your testing code.") - (license asl2.0) - (properties `((python2-variant . ,(delay python2-requests-mock)))))) + (license asl2.0))) (define-public python2-requests-mock - (let ((base (package-with-python2 - (strip-python2-variant python-requests-mock)))) - (package (inherit base) - (native-inputs - `(("python2-setuptools" ,python2-setuptools) - ,@(package-native-inputs base)))))) + (package-with-python2 python-requests-mock)) (define-public python-stevedore (package @@ -807,8 +801,4 @@ Gerrit for review, or fetching existing ones.") (license asl2.0))) (define-public python2-git-review - (let ((base (package-with-python2 (strip-python2-variant python-git-review)))) - (package (inherit base) - (native-inputs - `(("python2-setuptools" ,python2-setuptools) - ,@(package-native-inputs base)))))) + (package-with-python2 python-git-review)) diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index a535f02..e4b38f0 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -374,8 +374,4 @@ Password Scheme\"} by Niels Provos and David Mazieres.") (license license:asl2.0))) (define-public python2-bcrypt - (let ((bcrypt (package-with-python2 python-bcrypt))) - (package (inherit bcrypt) - (native-inputs - `(("python2-setuptools" ,python2-setuptools) - ,@(package-native-inputs bcrypt)))))) + (package-with-python2 python-bcrypt)) diff --git a/gnu/packages/protobuf.scm b/gnu/packages/protobuf.scm index 49be54c..d0907c6 100644 --- a/gnu/packages/protobuf.scm +++ b/gnu/packages/protobuf.scm @@ -70,10 +70,7 @@ internal RPC protocols and file formats.") (description "Protocol buffers are a language-neutral, platform-neutral extensible mechanism for serializing structured data.") - (license bsd-3) - (properties `((python2-variant . ,(delay python2-protobuf)))))) + (license bsd-3))) (define-public python2-protobuf - (package (inherit (package-with-python2 - (strip-python2-variant python-protobuf))) - (native-inputs `(("python2-setuptools" ,python2-setuptools))))) + (package-with-python2 python-protobuf)) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index f6ad081..efa823a 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1404,15 +1404,10 @@ building design matrices.") ;; The majority of the code is distributed under BSD-2. The module ;; patsy.compat contains code derived from the Python standard library, ;; and is covered by the PSFL. - (license (list license:bsd-2 license:psfl)) - (properties `((python2-variant . ,(delay python2-patsy)))))) + (license (list license:bsd-2 license:psfl)))) (define-public python2-patsy - (let ((patsy (package-with-python2 (strip-python2-variant python-patsy)))) - (package (inherit patsy) - (native-inputs - `(("python2-setuptools" ,python2-setuptools) - ,@(package-native-inputs patsy)))))) + (package-with-python2 python-patsy)) (define-public python-statsmodels (package diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index cabf1e6..dc09347 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -3171,11 +3171,7 @@ CDF, Atom 0.3, and Atom 1.0 feeds.") l:freebsd-doc)))) ; documentation (define-public python2-feedparser - (let ((base (package-with-python2 - (strip-python2-variant python-feedparser)))) - (package (inherit base) - (native-inputs - `(("python2-setuptools" ,python2-setuptools)))))) + (package-with-python2 python-feedparser)) (define-public r-httpuv (package
