Merge branch 'python-build-system'.
This commit is contained in:
commit
03e856ddf5
|
@ -3220,6 +3220,11 @@ the @code{#:python} parameter. This is a useful way to force a package
|
||||||
to be built for a specific version of the Python interpreter, which
|
to be built for a specific version of the Python interpreter, which
|
||||||
might be necessary if the package is only compatible with a single
|
might be necessary if the package is only compatible with a single
|
||||||
interpreter version.
|
interpreter version.
|
||||||
|
|
||||||
|
By default guix calls @code{setup.py} under control of
|
||||||
|
@code{setuptools}, much like @command{pip} does. Some packages are not
|
||||||
|
compatible with setuptools (and pip), thus you can disable this by
|
||||||
|
setting the @code{#:use-setuptools} parameter to @code{#f}.
|
||||||
@end defvr
|
@end defvr
|
||||||
|
|
||||||
@defvr {Scheme Variable} perl-build-system
|
@defvr {Scheme Variable} perl-build-system
|
||||||
|
@ -13806,7 +13811,6 @@ for instance, the module python-dateutil is packaged under the names
|
||||||
starts with @code{py} (e.g. @code{pytz}), we keep it and prefix it as
|
starts with @code{py} (e.g. @code{pytz}), we keep it and prefix it as
|
||||||
described above.
|
described above.
|
||||||
|
|
||||||
|
|
||||||
@subsubsection Specifying Dependencies
|
@subsubsection Specifying Dependencies
|
||||||
@cindex inputs, for Python packages
|
@cindex inputs, for Python packages
|
||||||
|
|
||||||
|
@ -13822,6 +13826,12 @@ following check list to determine which dependency goes where.
|
||||||
|
|
||||||
@itemize
|
@itemize
|
||||||
|
|
||||||
|
@item
|
||||||
|
We currently package Python 2 with @code{setuptools} and @code{pip}
|
||||||
|
installed like Python 3.4 has per default. Thus you don't need to
|
||||||
|
specify either of these as an input. @command{guix lint} will warn you
|
||||||
|
if you do.
|
||||||
|
|
||||||
@item
|
@item
|
||||||
Python dependencies required at run time go into
|
Python dependencies required at run time go into
|
||||||
@code{propagated-inputs}. They are typically defined with the
|
@code{propagated-inputs}. They are typically defined with the
|
||||||
|
@ -13836,8 +13846,7 @@ testing---e.g., those in @code{tests_require}---go into
|
||||||
propagated because they are not needed at run time, and (2) in a
|
propagated because they are not needed at run time, and (2) in a
|
||||||
cross-compilation context, it's the ``native'' input that we'd want.
|
cross-compilation context, it's the ``native'' input that we'd want.
|
||||||
|
|
||||||
Examples are @code{setuptools}, which is usually needed only at build
|
Examples are the @code{pytest}, @code{mock}, and @code{nose} test
|
||||||
time, or the @code{pytest}, @code{mock}, and @code{nose} test
|
|
||||||
frameworks. Of course if any of these packages is also required at
|
frameworks. Of course if any of these packages is also required at
|
||||||
run-time, it needs to go to @code{propagated-inputs}.
|
run-time, it needs to go to @code{propagated-inputs}.
|
||||||
|
|
||||||
|
|
|
@ -820,6 +820,7 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/pyqt-configure.patch \
|
%D%/packages/patches/pyqt-configure.patch \
|
||||||
%D%/packages/patches/python-2-deterministic-build-info.patch \
|
%D%/packages/patches/python-2-deterministic-build-info.patch \
|
||||||
%D%/packages/patches/python-2.7-search-paths.patch \
|
%D%/packages/patches/python-2.7-search-paths.patch \
|
||||||
|
%D%/packages/patches/python-2.7-site-prefixes.patch \
|
||||||
%D%/packages/patches/python-2.7-source-date-epoch.patch \
|
%D%/packages/patches/python-2.7-source-date-epoch.patch \
|
||||||
%D%/packages/patches/python-3-deterministic-build-info.patch \
|
%D%/packages/patches/python-3-deterministic-build-info.patch \
|
||||||
%D%/packages/patches/python-3-search-paths.patch \
|
%D%/packages/patches/python-3-search-paths.patch \
|
||||||
|
|
|
@ -1332,8 +1332,6 @@ specified directories.")
|
||||||
(("/usr") out)
|
(("/usr") out)
|
||||||
(("distro_ver = .*") "distro_ver = ''"))
|
(("distro_ver = .*") "distro_ver = ''"))
|
||||||
#t))))))
|
#t))))))
|
||||||
(inputs
|
|
||||||
`(("python-setuptools" ,python2-setuptools)))
|
|
||||||
(home-page "https://github.com/shawn-sterling/graphios")
|
(home-page "https://github.com/shawn-sterling/graphios")
|
||||||
(synopsis "Emit Nagios metrics to Graphite, Statsd, and Librato")
|
(synopsis "Emit Nagios metrics to Graphite, Statsd, and Librato")
|
||||||
(description
|
(description
|
||||||
|
@ -1356,8 +1354,7 @@ of supported upstream metrics systems simultaneously.")
|
||||||
"1bfc2xiplpad6f2nwi48y0kps7xqnsll85dlz63cy8k5bysl6d20"))))
|
"1bfc2xiplpad6f2nwi48y0kps7xqnsll85dlz63cy8k5bysl6d20"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python2-setuptools" ,python2-setuptools)
|
`(("python2-pycrypto" ,python2-pycrypto)
|
||||||
("python2-pycrypto" ,python2-pycrypto)
|
|
||||||
("python2-httplib2" ,python2-httplib2)
|
("python2-httplib2" ,python2-httplib2)
|
||||||
("python2-passlib" ,python2-passlib)
|
("python2-passlib" ,python2-passlib)
|
||||||
("python2-nose" ,python2-nose)
|
("python2-nose" ,python2-nose)
|
||||||
|
@ -1699,13 +1696,15 @@ throughput (in the same interval).")
|
||||||
(base32
|
(base32
|
||||||
"04q2cn8c83f6z6wn1scla1ilrpi5ssjc64987hvmwfvwvb82bvkp"))))
|
"04q2cn8c83f6z6wn1scla1ilrpi5ssjc64987hvmwfvwvb82bvkp"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(native-inputs
|
|
||||||
`(("python-setuptools" ,python-setuptools)))
|
|
||||||
(inputs
|
(inputs
|
||||||
`(("python-colorama" ,python-colorama)
|
`(("python-colorama" ,python-colorama)
|
||||||
("python-decorator" ,python-decorator)
|
("python-decorator" ,python-decorator)
|
||||||
("python-psutil" ,python-psutil)
|
("python-psutil" ,python-psutil)
|
||||||
("python-six" ,python-six)))
|
("python-six" ,python-six)))
|
||||||
|
(inputs
|
||||||
|
;; Requires setuptools >= 17.1 due to some features used, while our
|
||||||
|
;; python currently only includes 12.0. TODO: Remove this input.
|
||||||
|
`(("python-setuptools" ,python-setuptools)))
|
||||||
(home-page "https://github.com/nvbn/thefuck")
|
(home-page "https://github.com/nvbn/thefuck")
|
||||||
(synopsis "Correct mistyped console command")
|
(synopsis "Correct mistyped console command")
|
||||||
(description
|
(description
|
||||||
|
|
|
@ -1493,9 +1493,10 @@ implementation of the Open Sound Control (OSC) protocol.")
|
||||||
"13vry6xhxm7adnbyj28w1kpwrh0kf7nw83cz1yq74wl21faz2rzw"))))
|
"13vry6xhxm7adnbyj28w1kpwrh0kf7nw83cz1yq74wl21faz2rzw"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(arguments `(#:tests? #f)) ;no tests
|
(arguments `(#:tests? #f)) ;no tests
|
||||||
|
(native-inputs
|
||||||
|
`(("python-cython" ,python-cython)))
|
||||||
(inputs
|
(inputs
|
||||||
`(("python-cython" ,python-cython)
|
`(("liblo" ,liblo)))
|
||||||
("liblo" ,liblo)))
|
|
||||||
(home-page "http://das.nasophon.de/pyliblo/")
|
(home-page "http://das.nasophon.de/pyliblo/")
|
||||||
(synopsis "Python bindings for liblo")
|
(synopsis "Python bindings for liblo")
|
||||||
(description
|
(description
|
||||||
|
|
|
@ -66,8 +66,7 @@
|
||||||
"duplicity-test_selection-tmp.patch"))))
|
"duplicity-test_selection-tmp.patch"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python2-setuptools" ,python2-setuptools)
|
`(("util-linux" ,util-linux))) ;setsid command, for the tests
|
||||||
("util-linux" ,util-linux))) ;setsid command, for the tests
|
|
||||||
(inputs
|
(inputs
|
||||||
`(("python" ,python-2)
|
`(("python" ,python-2)
|
||||||
("librsync" ,librsync)
|
("librsync" ,librsync)
|
||||||
|
@ -339,8 +338,6 @@ errors.")
|
||||||
(base32
|
(base32
|
||||||
"1nwmmh816f96h0ff1jxk95ad38ilbhbdl5dgibx1d4cl81dsi48d"))))
|
"1nwmmh816f96h0ff1jxk95ad38ilbhbdl5dgibx1d4cl81dsi48d"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(native-inputs
|
|
||||||
`(("python2-setuptools" ,python2-setuptools)))
|
|
||||||
(inputs
|
(inputs
|
||||||
`(("python" ,python-2)
|
`(("python" ,python-2)
|
||||||
("librsync" ,librsync)))
|
("librsync" ,librsync)))
|
||||||
|
|
|
@ -216,8 +216,7 @@ structure of the predicted RNA.")
|
||||||
("libtool" ,libtool)
|
("libtool" ,libtool)
|
||||||
("zlib" ,zlib)
|
("zlib" ,zlib)
|
||||||
("python-nose" ,python2-nose)
|
("python-nose" ,python2-nose)
|
||||||
("python-pysam" ,python2-pysam)
|
("python-pysam" ,python2-pysam)))
|
||||||
("python-setuptools" ,python2-setuptools)))
|
|
||||||
(inputs
|
(inputs
|
||||||
`(("htslib" ,htslib)
|
`(("htslib" ,htslib)
|
||||||
("samtools" ,samtools)
|
("samtools" ,samtools)
|
||||||
|
@ -524,15 +523,14 @@ intended to behave exactly the same as the original BWK awk.")
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(arguments `(#:python ,python-2)) ; no Python 3 support
|
(arguments `(#:python ,python-2)) ; no Python 3 support
|
||||||
(inputs
|
(inputs
|
||||||
`(("python-cython" ,python2-cython)
|
`(("python-matplotlib" ,python2-matplotlib)))
|
||||||
("python-matplotlib" ,python2-matplotlib)))
|
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
`(("bedtools" ,bedtools)
|
`(("bedtools" ,bedtools)
|
||||||
("samtools" ,samtools)))
|
("samtools" ,samtools)))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python-pyyaml" ,python2-pyyaml)
|
`(("python-cython" ,python2-cython)
|
||||||
("python-nose" ,python2-nose)
|
("python-pyyaml" ,python2-pyyaml)
|
||||||
("python-setuptools" ,python2-setuptools)))
|
("python-nose" ,python2-nose)))
|
||||||
(home-page "https://pythonhosted.org/pybedtools/")
|
(home-page "https://pythonhosted.org/pybedtools/")
|
||||||
(synopsis "Python wrapper for BEDtools programs")
|
(synopsis "Python wrapper for BEDtools programs")
|
||||||
(description
|
(description
|
||||||
|
@ -587,9 +585,7 @@ e.g. microbiome samples, genomes, metagenomes.")
|
||||||
(substitute* "setup.py"
|
(substitute* "setup.py"
|
||||||
(("install_requires.append\\(\"pyqi\"\\)") "pass"))
|
(("install_requires.append\\(\"pyqi\"\\)") "pass"))
|
||||||
#t)))
|
#t)))
|
||||||
,@(package-arguments base)))
|
,@(package-arguments base))))))
|
||||||
(native-inputs `(("python2-setuptools" ,python2-setuptools)
|
|
||||||
,@(package-native-inputs base))))))
|
|
||||||
|
|
||||||
(define-public bioperl-minimal
|
(define-public bioperl-minimal
|
||||||
(let* ((inputs `(("perl-module-build" ,perl-module-build)
|
(let* ((inputs `(("perl-module-build" ,perl-module-build)
|
||||||
|
@ -674,7 +670,7 @@ provide a coordinated and extensible framework to do computational biology.")
|
||||||
(add-before 'check 'set-home
|
(add-before 'check 'set-home
|
||||||
;; Some tests require a home directory to be set.
|
;; Some tests require a home directory to be set.
|
||||||
(lambda _ (setenv "HOME" "/tmp") #t)))))
|
(lambda _ (setenv "HOME" "/tmp") #t)))))
|
||||||
(inputs
|
(propagated-inputs
|
||||||
`(("python-numpy" ,python-numpy)))
|
`(("python-numpy" ,python-numpy)))
|
||||||
(home-page "http://biopython.org/")
|
(home-page "http://biopython.org/")
|
||||||
(synopsis "Tools for biological computation in Python")
|
(synopsis "Tools for biological computation in Python")
|
||||||
|
@ -685,15 +681,10 @@ bioinformatics programs; a standard sequence class and tools for performing
|
||||||
common operations on them; code to perform data classification; code for
|
common operations on them; code to perform data classification; code for
|
||||||
dealing with alignments; code making it easy to split up parallelizable tasks
|
dealing with alignments; code making it easy to split up parallelizable tasks
|
||||||
into separate processes; and more.")
|
into separate processes; and more.")
|
||||||
(license (license:non-copyleft "http://www.biopython.org/DIST/LICENSE"))
|
(license (license:non-copyleft "http://www.biopython.org/DIST/LICENSE"))))
|
||||||
(properties `((python2-variant . ,(delay python2-biopython))))))
|
|
||||||
|
|
||||||
(define-public python2-biopython
|
(define-public python2-biopython
|
||||||
(let ((base (package-with-python2 (strip-python2-variant python-biopython))))
|
(package-with-python2 python-biopython))
|
||||||
(package
|
|
||||||
(inherit base)
|
|
||||||
(native-inputs `(("python2-setuptools" ,python2-setuptools)
|
|
||||||
,@(package-native-inputs base))))))
|
|
||||||
|
|
||||||
;; An outdated version of biopython is required for seqmagick, see
|
;; An outdated version of biopython is required for seqmagick, see
|
||||||
;; https://github.com/fhcrc/seqmagick/issues/59
|
;; https://github.com/fhcrc/seqmagick/issues/59
|
||||||
|
@ -1340,8 +1331,7 @@ well as many of the command line options.")
|
||||||
`(("python-numpy" ,python2-numpy)
|
`(("python-numpy" ,python2-numpy)
|
||||||
("zlib" ,zlib)))
|
("zlib" ,zlib)))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python-nose" ,python2-nose)
|
`(("python-nose" ,python2-nose)))
|
||||||
("python-setuptools" ,python2-setuptools)))
|
|
||||||
(home-page "http://bitbucket.org/james_taylor/bx-python/")
|
(home-page "http://bitbucket.org/james_taylor/bx-python/")
|
||||||
(synopsis "Tools for manipulating biological data")
|
(synopsis "Tools for manipulating biological data")
|
||||||
(description
|
(description
|
||||||
|
@ -1405,7 +1395,6 @@ multiple sequence alignments.")
|
||||||
("zlib" ,zlib)))
|
("zlib" ,zlib)))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python-cython" ,python-cython)
|
`(("python-cython" ,python-cython)
|
||||||
("python-setuptools" ,python-setuptools)
|
|
||||||
;; Dependencies below are are for tests only.
|
;; Dependencies below are are for tests only.
|
||||||
("samtools" ,samtools)
|
("samtools" ,samtools)
|
||||||
("bcftools" ,bcftools)
|
("bcftools" ,bcftools)
|
||||||
|
@ -1431,7 +1420,6 @@ also includes an interface for tabix.")
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1q8wnj2kga9nz1lwc4w7qv52smfm536hp6mc8w6s53lhyj0mpi22"))))
|
"1q8wnj2kga9nz1lwc4w7qv52smfm536hp6mc8w6s53lhyj0mpi22"))))
|
||||||
(properties `((python2-variant . ,(delay python2-twobitreader))))
|
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
'(;; Tests are not distributed in the PyPi release.
|
'(;; Tests are not distributed in the PyPi release.
|
||||||
|
@ -1448,11 +1436,7 @@ UCSC genome browser.")
|
||||||
(license license:artistic2.0)))
|
(license license:artistic2.0)))
|
||||||
|
|
||||||
(define-public python2-twobitreader
|
(define-public python2-twobitreader
|
||||||
(let ((base (package-with-python2 (strip-python2-variant python-twobitreader))))
|
(package-with-python2 python-twobitreader))
|
||||||
(package
|
|
||||||
(inherit base)
|
|
||||||
(native-inputs `(("python2-setuptools" ,python2-setuptools)
|
|
||||||
,@(package-native-inputs base))))))
|
|
||||||
|
|
||||||
(define-public python-plastid
|
(define-public python-plastid
|
||||||
(package
|
(package
|
||||||
|
@ -1464,7 +1448,6 @@ UCSC genome browser.")
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1sqkz5d3b9kf688mp7k771c87ins42j7j0whmkb49cb3fsg8s8lj"))))
|
"1sqkz5d3b9kf688mp7k771c87ins42j7j0whmkb49cb3fsg8s8lj"))))
|
||||||
(properties `((python2-variant . ,(delay python2-plastid))))
|
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
;; Some test files are not included.
|
;; Some test files are not included.
|
||||||
|
@ -1489,12 +1472,7 @@ high-throughput sequencing data – with an emphasis on simplicity.")
|
||||||
(license license:bsd-3)))
|
(license license:bsd-3)))
|
||||||
|
|
||||||
(define-public python2-plastid
|
(define-public python2-plastid
|
||||||
(let ((base (package-with-python2 (strip-python2-variant python-plastid))))
|
(package-with-python2 python-plastid))
|
||||||
(package
|
|
||||||
(inherit base)
|
|
||||||
;; setuptools is required at runtime
|
|
||||||
(propagated-inputs `(("python2-setuptools" ,python2-setuptools)
|
|
||||||
,@(package-propagated-inputs base))))))
|
|
||||||
|
|
||||||
(define-public cd-hit
|
(define-public cd-hit
|
||||||
(package
|
(package
|
||||||
|
@ -1581,9 +1559,8 @@ databases.")
|
||||||
("python-numpy" ,python2-numpy)
|
("python-numpy" ,python2-numpy)
|
||||||
("python-scipy" ,python2-scipy)))
|
("python-scipy" ,python2-scipy)))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python-mock" ,python2-mock) ; for tests
|
`(("python-mock" ,python2-mock) ; for tests
|
||||||
("python-pytz" ,python2-pytz) ; for tests
|
("python-pytz" ,python2-pytz))) ; for tests
|
||||||
("python-setuptools" ,python2-setuptools)))
|
|
||||||
(home-page "https://github.com/YeoLab/clipper")
|
(home-page "https://github.com/YeoLab/clipper")
|
||||||
(synopsis "CLIP peak enrichment recognition")
|
(synopsis "CLIP peak enrichment recognition")
|
||||||
(description
|
(description
|
||||||
|
@ -1756,8 +1733,7 @@ time.")
|
||||||
("zlib" ,zlib)))
|
("zlib" ,zlib)))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python-cython" ,python2-cython)
|
`(("python-cython" ,python2-cython)
|
||||||
("python-nose" ,python2-nose)
|
("python-nose" ,python2-nose)))
|
||||||
("python-setuptools" ,python2-setuptools)))
|
|
||||||
(home-page "http://crossmap.sourceforge.net/")
|
(home-page "http://crossmap.sourceforge.net/")
|
||||||
(synopsis "Convert genome coordinates between assemblies")
|
(synopsis "Convert genome coordinates between assemblies")
|
||||||
(description
|
(description
|
||||||
|
@ -1855,8 +1831,7 @@ preparation protocols.")
|
||||||
(alist-delete 'check %standard-phases))))
|
(alist-delete 'check %standard-phases))))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python-cython" ,python-cython)
|
`(("python-cython" ,python-cython)
|
||||||
("python-nose" ,python-nose)
|
("python-nose" ,python-nose)))
|
||||||
("python-setuptools" ,python-setuptools)))
|
|
||||||
(home-page "https://code.google.com/p/cutadapt/")
|
(home-page "https://code.google.com/p/cutadapt/")
|
||||||
(synopsis "Remove adapter sequences from nucleotide sequencing reads")
|
(synopsis "Remove adapter sequences from nucleotide sequencing reads")
|
||||||
(description
|
(description
|
||||||
|
@ -1946,10 +1921,7 @@ accessing bigWig files.")
|
||||||
(license license:expat)))
|
(license license:expat)))
|
||||||
|
|
||||||
(define-public python2-pybigwig
|
(define-public python2-pybigwig
|
||||||
(let ((pybigwig (package-with-python2 python-pybigwig)))
|
(package-with-python2 python-pybigwig))
|
||||||
(package (inherit pybigwig)
|
|
||||||
(native-inputs
|
|
||||||
`(("python-setuptools" ,python2-setuptools))))))
|
|
||||||
|
|
||||||
(define-public python-dendropy
|
(define-public python-dendropy
|
||||||
(package
|
(package
|
||||||
|
@ -1998,8 +1970,7 @@ trees (phylogenies) and characters.")
|
||||||
;; There is currently a test failure that only happens on some
|
;; There is currently a test failure that only happens on some
|
||||||
;; systems, and only using "setup.py test"
|
;; systems, and only using "setup.py test"
|
||||||
(lambda _ (zero? (system* "nosetests")))))))
|
(lambda _ (zero? (system* "nosetests")))))))
|
||||||
(native-inputs `(("python2-setuptools" ,python2-setuptools)
|
(native-inputs `(("python2-nose" ,python2-nose)
|
||||||
("python2-nose" ,python2-nose)
|
|
||||||
,@(package-native-inputs base))))))
|
,@(package-native-inputs base))))))
|
||||||
|
|
||||||
|
|
||||||
|
@ -2027,9 +1998,8 @@ trees (phylogenies) and characters.")
|
||||||
("python-pysam" ,python2-pysam)
|
("python-pysam" ,python2-pysam)
|
||||||
("python-pybigwig" ,python2-pybigwig)))
|
("python-pybigwig" ,python2-pybigwig)))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python-mock" ,python2-mock) ;for tests
|
`(("python-mock" ,python2-mock) ;for tests
|
||||||
("python-pytz" ,python2-pytz) ;for tests
|
("python-pytz" ,python2-pytz))) ;for tests
|
||||||
("python-setuptools" ,python2-setuptools)))
|
|
||||||
(home-page "https://github.com/fidelram/deepTools")
|
(home-page "https://github.com/fidelram/deepTools")
|
||||||
(synopsis "Tools for normalizing and visualizing deep-sequencing data")
|
(synopsis "Tools for normalizing and visualizing deep-sequencing data")
|
||||||
(description
|
(description
|
||||||
|
@ -2684,8 +2654,7 @@ comment or quality sections.")
|
||||||
("python-pysam" ,python2-pysam)
|
("python-pysam" ,python2-pysam)
|
||||||
("python-networkx" ,python2-networkx)))
|
("python-networkx" ,python2-networkx)))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python-cython" ,python2-cython)
|
`(("python-cython" ,python2-cython)))
|
||||||
("python-setuptools" ,python2-setuptools)))
|
|
||||||
(home-page "http://grit-bio.org")
|
(home-page "http://grit-bio.org")
|
||||||
(synopsis "Tool for integrative analysis of RNA-seq type assays")
|
(synopsis "Tool for integrative analysis of RNA-seq type assays")
|
||||||
(description
|
(description
|
||||||
|
@ -2811,8 +2780,6 @@ HMMs).")
|
||||||
`(("python-numpy" ,python2-numpy)))
|
`(("python-numpy" ,python2-numpy)))
|
||||||
(inputs
|
(inputs
|
||||||
`(("python-pysam" ,python2-pysam)))
|
`(("python-pysam" ,python2-pysam)))
|
||||||
(native-inputs
|
|
||||||
`(("python-setuptools" ,python2-setuptools)))
|
|
||||||
(home-page "http://www-huber.embl.de/users/anders/HTSeq/")
|
(home-page "http://www-huber.embl.de/users/anders/HTSeq/")
|
||||||
(synopsis "Analysing high-throughput sequencing data with Python")
|
(synopsis "Analysing high-throughput sequencing data with Python")
|
||||||
(description
|
(description
|
||||||
|
@ -2933,8 +2900,7 @@ data. It also provides the bgzip, htsfile, and tabix utilities.")
|
||||||
("python-numpy" ,python-numpy)
|
("python-numpy" ,python-numpy)
|
||||||
("python-matplotlib" ,python-matplotlib)))
|
("python-matplotlib" ,python-matplotlib)))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python-cython" ,python-cython)
|
`(("python-cython" ,python-cython)))
|
||||||
("python-setuptools" ,python-setuptools)))
|
|
||||||
(home-page "https://github.com/nboley/idr")
|
(home-page "https://github.com/nboley/idr")
|
||||||
(synopsis "Tool to measure the irreproducible discovery rate (IDR)")
|
(synopsis "Tool to measure the irreproducible discovery rate (IDR)")
|
||||||
(description
|
(description
|
||||||
|
@ -3091,8 +3057,6 @@ data.")
|
||||||
#:tests? #f)) ; no test target
|
#:tests? #f)) ; no test target
|
||||||
(inputs
|
(inputs
|
||||||
`(("python-numpy" ,python2-numpy)))
|
`(("python-numpy" ,python2-numpy)))
|
||||||
(native-inputs
|
|
||||||
`(("python-setuptools" ,python2-setuptools)))
|
|
||||||
(home-page "http://github.com/taoliu/MACS/")
|
(home-page "http://github.com/taoliu/MACS/")
|
||||||
(synopsis "Model based analysis for ChIP-Seq data")
|
(synopsis "Model based analysis for ChIP-Seq data")
|
||||||
(description
|
(description
|
||||||
|
@ -3424,9 +3388,8 @@ linker_so='gcc -shared'); defines")))))
|
||||||
("python-scipy" ,python2-scipy)
|
("python-scipy" ,python2-scipy)
|
||||||
("python-matplotlib" ,python2-matplotlib)))
|
("python-matplotlib" ,python2-matplotlib)))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python-mock" ,python2-mock) ;for tests
|
`(("python-mock" ,python2-mock) ;for tests
|
||||||
("python-pytz" ,python2-pytz) ;for tests
|
("python-pytz" ,python2-pytz))) ;for tests
|
||||||
("python-setuptools" ,python2-setuptools)))
|
|
||||||
(home-page "http://genes.mit.edu/burgelab/miso/index.html")
|
(home-page "http://genes.mit.edu/burgelab/miso/index.html")
|
||||||
(synopsis "Mixture of Isoforms model for RNA-Seq isoform quantitation")
|
(synopsis "Mixture of Isoforms model for RNA-Seq isoform quantitation")
|
||||||
(description
|
(description
|
||||||
|
@ -3549,18 +3512,15 @@ interrupted by stop codons. OrfM finds and prints these ORFs.")
|
||||||
"1kjmv891d6qbpp4shhhvkl02ff4q5xlpnls2513sm2cjcrs52f1i"))))
|
"1kjmv891d6qbpp4shhhvkl02ff4q5xlpnls2513sm2cjcrs52f1i"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(arguments `(#:python ,python-2)) ; pbcore requires Python 2.7
|
(arguments `(#:python ,python-2)) ; pbcore requires Python 2.7
|
||||||
(inputs
|
(propagated-inputs
|
||||||
`(("python-cython" ,python2-cython)
|
`(("python-cython" ,python2-cython)
|
||||||
("python-numpy" ,python2-numpy)
|
("python-numpy" ,python2-numpy)
|
||||||
("python-pysam" ,python2-pysam)
|
("python-pysam" ,python2-pysam)
|
||||||
("python-h5py" ,python2-h5py)))
|
("python-h5py" ,python2-h5py)))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python-docutils" ,python2-docutils)
|
`(("python-nose" ,python2-nose)
|
||||||
("python-nose" ,python2-nose)
|
("python-sphinx" ,python2-sphinx)
|
||||||
("python-setuptools" ,python2-setuptools)
|
("python-pyxb" ,python2-pyxb)))
|
||||||
("python-sphinx" ,python2-sphinx)))
|
|
||||||
(propagated-inputs
|
|
||||||
`(("python-pyxb" ,python2-pyxb)))
|
|
||||||
(home-page "http://pacificbiosciences.github.io/pbcore/")
|
(home-page "http://pacificbiosciences.github.io/pbcore/")
|
||||||
(synopsis "Library for reading and writing PacBio data files")
|
(synopsis "Library for reading and writing PacBio data files")
|
||||||
(description
|
(description
|
||||||
|
@ -3583,18 +3543,7 @@ files and writing bioinformatics applications.")
|
||||||
"1agfz6zqa8nc6cw47yh0s3y14gkpa9wqazwcj7mwwj3ffnw39p3j"))))
|
"1agfz6zqa8nc6cw47yh0s3y14gkpa9wqazwcj7mwwj3ffnw39p3j"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:python ,python-2 ; requires Python 2.7
|
`(#:python ,python-2)) ; requires Python 2.7
|
||||||
#:phases
|
|
||||||
(modify-phases %standard-phases
|
|
||||||
(add-after
|
|
||||||
'install 'remove-bin-directory
|
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
|
||||||
;; The "bin" directory only contains wrappers for running
|
|
||||||
;; the module tests. They are not needed after the
|
|
||||||
;; "check" phase.
|
|
||||||
(delete-file-recursively
|
|
||||||
(string-append (assoc-ref outputs "out") "/bin"))
|
|
||||||
#t)))))
|
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
`(("python-scipy" ,python2-scipy)
|
`(("python-scipy" ,python2-scipy)
|
||||||
("python-numpy" ,python2-numpy)
|
("python-numpy" ,python2-numpy)
|
||||||
|
@ -3603,8 +3552,7 @@ files and writing bioinformatics applications.")
|
||||||
("python-pandas" ,python2-pandas)
|
("python-pandas" ,python2-pandas)
|
||||||
("python-pysnptools" ,python2-pysnptools)))
|
("python-pysnptools" ,python2-pysnptools)))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python-setuptools" ,python2-setuptools)
|
`(("python-mock" ,python2-mock)
|
||||||
("python-mock" ,python2-mock)
|
|
||||||
("python-nose" ,python2-nose)
|
("python-nose" ,python2-nose)
|
||||||
("unzip" ,unzip)))
|
("unzip" ,unzip)))
|
||||||
(home-page "https://github.com/PMBio/warpedLMM")
|
(home-page "https://github.com/PMBio/warpedLMM")
|
||||||
|
@ -3638,11 +3586,6 @@ the phenotype as it models the data.")
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:python ,python-2
|
`(#:python ,python-2
|
||||||
;; With standard flags, the install phase attempts to create a zip'd
|
|
||||||
;; egg file, and fails with an error: 'ZIP does not support timestamps
|
|
||||||
;; before 1980'
|
|
||||||
#:configure-flags '("--single-version-externally-managed"
|
|
||||||
"--record=pbtranscript-tofu.txt")
|
|
||||||
#:phases
|
#:phases
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
(add-after 'unpack 'enter-directory
|
(add-after 'unpack 'enter-directory
|
||||||
|
@ -3666,8 +3609,7 @@ the phenotype as it models the data.")
|
||||||
("python-h5py" ,python2-h5py)))
|
("python-h5py" ,python2-h5py)))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python-cython" ,python2-cython)
|
`(("python-cython" ,python2-cython)
|
||||||
("python-nose" ,python2-nose)
|
("python-nose" ,python2-nose)))
|
||||||
("python-setuptools" ,python2-setuptools)))
|
|
||||||
(home-page "https://github.com/PacificBiosciences/cDNA_primer")
|
(home-page "https://github.com/PacificBiosciences/cDNA_primer")
|
||||||
(synopsis "Analyze transcriptome data generated with the Iso-Seq protocol")
|
(synopsis "Analyze transcriptome data generated with the Iso-Seq protocol")
|
||||||
(description
|
(description
|
||||||
|
@ -4116,7 +4058,6 @@ BAM and Wiggle files in both transcript-coordinate and genomic-coordinate.")
|
||||||
`(("python-cython" ,python2-cython)
|
`(("python-cython" ,python2-cython)
|
||||||
("python-pysam" ,python2-pysam)
|
("python-pysam" ,python2-pysam)
|
||||||
("python-numpy" ,python2-numpy)
|
("python-numpy" ,python2-numpy)
|
||||||
("python-setuptools" ,python2-setuptools)
|
|
||||||
("zlib" ,zlib)))
|
("zlib" ,zlib)))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python-nose" ,python2-nose)))
|
`(("python-nose" ,python2-nose)))
|
||||||
|
@ -4678,11 +4619,7 @@ sequence itself can be retrieved from these databases.")
|
||||||
(license license:bsd-3)))
|
(license license:bsd-3)))
|
||||||
|
|
||||||
(define-public python2-screed
|
(define-public python2-screed
|
||||||
(let ((base (package-with-python2 (strip-python2-variant python-screed))))
|
(package-with-python2 python-screed))
|
||||||
(package
|
|
||||||
(inherit base)
|
|
||||||
(native-inputs `(("python2-setuptools" ,python2-setuptools)
|
|
||||||
,@(package-native-inputs base))))))
|
|
||||||
|
|
||||||
(define-public sra-tools
|
(define-public sra-tools
|
||||||
(package
|
(package
|
||||||
|
@ -4844,8 +4781,7 @@ bioinformatics file formats, sequence alignment, and more.")
|
||||||
;; should be removed.
|
;; should be removed.
|
||||||
`(("python-biopython" ,python2-biopython-1.66)))
|
`(("python-biopython" ,python2-biopython-1.66)))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python-setuptools" ,python2-setuptools)
|
`(("python-nose" ,python2-nose)))
|
||||||
("python-nose" ,python2-nose)))
|
|
||||||
(home-page "http://github.com/fhcrc/seqmagick")
|
(home-page "http://github.com/fhcrc/seqmagick")
|
||||||
(synopsis "Tools for converting and modifying sequence files")
|
(synopsis "Tools for converting and modifying sequence files")
|
||||||
(description
|
(description
|
||||||
|
@ -7865,19 +7801,7 @@ may optionally be provided to further inform the peak-calling process.")
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:python ,python-2 ; python2 only
|
`(#:python ,python-2 ; python2 only
|
||||||
#:tests? #f ; no tests included
|
#:tests? #f)) ; no tests included
|
||||||
#:phases
|
|
||||||
(modify-phases %standard-phases
|
|
||||||
;; When setuptools is used a ".egg" archive is generated and
|
|
||||||
;; installed. This makes it hard to actually run PePr. This issue
|
|
||||||
;; has been reported upstream:
|
|
||||||
;; https://github.com/shawnzhangyx/PePr/issues/9
|
|
||||||
(add-after 'unpack 'disable-egg-generation
|
|
||||||
(lambda _
|
|
||||||
(substitute* "setup.py"
|
|
||||||
(("from setuptools import setup")
|
|
||||||
"from distutils.core import setup"))
|
|
||||||
#t)))))
|
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
`(("python2-numpy" ,python2-numpy)
|
`(("python2-numpy" ,python2-numpy)
|
||||||
("python2-scipy" ,python2-scipy)
|
("python2-scipy" ,python2-scipy)
|
||||||
|
@ -7939,8 +7863,6 @@ replacement for strverscmp.")
|
||||||
("python-click" ,python-click)
|
("python-click" ,python-click)
|
||||||
("python-matplotlib" ,python-matplotlib)
|
("python-matplotlib" ,python-matplotlib)
|
||||||
("python-numpy" ,python-numpy)))
|
("python-numpy" ,python-numpy)))
|
||||||
(native-inputs
|
|
||||||
`(("python-setuptools" ,python-setuptools)))
|
|
||||||
(home-page "http://multiqc.info")
|
(home-page "http://multiqc.info")
|
||||||
(synopsis "Aggregate bioinformatics analysis reports")
|
(synopsis "Aggregate bioinformatics analysis reports")
|
||||||
(description
|
(description
|
||||||
|
|
|
@ -96,10 +96,9 @@ data units.")
|
||||||
`(#:phases (modify-phases %standard-phases
|
`(#:phases (modify-phases %standard-phases
|
||||||
;; Building the manpage requires khal to be installed.
|
;; Building the manpage requires khal to be installed.
|
||||||
(add-after 'install 'manpage
|
(add-after 'install 'manpage
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||||
(setenv "PYTHONPATH"
|
;; Make installed package available for running the tests
|
||||||
(string-append
|
(add-installed-pythonpath inputs outputs)
|
||||||
(getenv "PYTHONPATH") ":" (assoc-ref outputs "out")))
|
|
||||||
(zero? (system* "make" "--directory=doc/" "man"))
|
(zero? (system* "make" "--directory=doc/" "man"))
|
||||||
(install-file
|
(install-file
|
||||||
"doc/build/man/khal.1"
|
"doc/build/man/khal.1"
|
||||||
|
|
|
@ -73,11 +73,8 @@ clients.")
|
||||||
;; vdirsyncer requires itself to be installed in order to build
|
;; vdirsyncer requires itself to be installed in order to build
|
||||||
;; the manpage.
|
;; the manpage.
|
||||||
(add-after 'install 'manpage
|
(add-after 'install 'manpage
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||||
(setenv "PYTHONPATH"
|
(add-installed-pythonpath inputs outputs)
|
||||||
(string-append
|
|
||||||
(getenv "PYTHONPATH")
|
|
||||||
":" (assoc-ref outputs "out")))
|
|
||||||
(zero? (system* "make" "--directory=docs/" "man"))
|
(zero? (system* "make" "--directory=docs/" "man"))
|
||||||
(install-file
|
(install-file
|
||||||
"docs/_build/man/vdirsyncer.1"
|
"docs/_build/man/vdirsyncer.1"
|
||||||
|
|
|
@ -54,10 +54,6 @@
|
||||||
(string-append ".:" (getenv "PYTHONPATH")))
|
(string-append ".:" (getenv "PYTHONPATH")))
|
||||||
(zero? (system* "python" "tests/runtests.py")))))))
|
(zero? (system* "python" "tests/runtests.py")))))))
|
||||||
;; TODO: Install extras/django_bash_completion.
|
;; TODO: Install extras/django_bash_completion.
|
||||||
(propagated-inputs
|
|
||||||
;; Django uses 'pkg_resources' (part of setuptools) to locate templates
|
|
||||||
;; at run-time.
|
|
||||||
`(("python-setuptools" ,python-setuptools)))
|
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("tzdata", tzdata)
|
`(("tzdata", tzdata)
|
||||||
;; bcrypt and argon2-cffi are extra requirements not yet in guix
|
;; bcrypt and argon2-cffi are extra requirements not yet in guix
|
||||||
|
@ -112,8 +108,6 @@ to the @dfn{don't repeat yourself} (DRY) principle.")
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
`(("python-django" ,python-django)))
|
`(("python-django" ,python-django)))
|
||||||
(native-inputs
|
|
||||||
`(("python-setuptools" ,python-setuptools)))
|
|
||||||
(home-page "https://github.com/alsoicode/django-simple-math-captcha")
|
(home-page "https://github.com/alsoicode/django-simple-math-captcha")
|
||||||
(synopsis "Easy-to-use math field/widget captcha for Django forms")
|
(synopsis "Easy-to-use math field/widget captcha for Django forms")
|
||||||
(description
|
(description
|
||||||
|
@ -147,23 +141,16 @@ with arguments to the field constructor.")
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python-django" ,python-django)
|
`(("python-django" ,python-django)
|
||||||
("python-setuptools-scm" ,python-setuptools-scm)))
|
("python-setuptools-scm" ,python-setuptools-scm)))
|
||||||
(inputs
|
(propagated-inputs
|
||||||
`(("python-py" ,python-py)
|
`(("python-pytest" ,python-pytest)))
|
||||||
("python-pytest" ,python-pytest)))
|
|
||||||
(home-page "http://pytest-django.readthedocs.org/")
|
(home-page "http://pytest-django.readthedocs.org/")
|
||||||
(synopsis "Django plugin for py.test")
|
(synopsis "Django plugin for py.test")
|
||||||
(description "Pytest-django is a plugin for py.test that provides a set of
|
(description "Pytest-django is a plugin for py.test that provides a set of
|
||||||
useful tools for testing Django applications and projects.")
|
useful tools for testing Django applications and projects.")
|
||||||
(properties `((python2-variant . ,(delay python2-pytest-django))))
|
|
||||||
(license license:bsd-3)))
|
(license license:bsd-3)))
|
||||||
|
|
||||||
(define-public python2-pytest-django
|
(define-public python2-pytest-django
|
||||||
(let ((base (package-with-python2
|
(package-with-python2 python-pytest-django))
|
||||||
(strip-python2-variant python-pytest-django))))
|
|
||||||
(package (inherit base)
|
|
||||||
(native-inputs
|
|
||||||
`(("python2-setuptools" ,python2-setuptools)
|
|
||||||
,@(package-native-inputs base))))))
|
|
||||||
|
|
||||||
(define-public python-django-filter
|
(define-public python-django-filter
|
||||||
(package
|
(package
|
||||||
|
@ -186,13 +173,7 @@ useful tools for testing Django applications and projects.")
|
||||||
some of the more mundane bits of view code. Specifically, it allows users to
|
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
|
filter down a queryset based on a model’s fields, displaying the form to let
|
||||||
them do this.")
|
them do this.")
|
||||||
(properties `((python2-variant . ,(delay python2-django-filter))))
|
|
||||||
(license license:bsd-3)))
|
(license license:bsd-3)))
|
||||||
|
|
||||||
(define-public python2-django-filter
|
(define-public python2-django-filter
|
||||||
(let ((base (package-with-python2
|
(package-with-python2 python-django-filter))
|
||||||
(strip-python2-variant python-django-filter))))
|
|
||||||
(package (inherit base)
|
|
||||||
(native-inputs
|
|
||||||
`(("python2-setuptools" ,python2-setuptools)
|
|
||||||
,@(package-native-inputs base))))))
|
|
||||||
|
|
|
@ -185,8 +185,7 @@ by no means limited to these applications.) This package provides XML DTDs.")
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
;; TODO: Add xfig/transfig for fig2dev utility
|
;; TODO: Add xfig/transfig for fig2dev utility
|
||||||
(inputs
|
(inputs
|
||||||
`(("python-setuptools" ,python-setuptools)
|
`(("texlive" ,texlive)
|
||||||
("texlive" ,texlive)
|
|
||||||
("imagemagick" ,imagemagick) ;for convert
|
("imagemagick" ,imagemagick) ;for convert
|
||||||
("inkscape" ,inkscape) ;for svg conversion
|
("inkscape" ,inkscape) ;for svg conversion
|
||||||
("docbook" ,docbook-xml)
|
("docbook" ,docbook-xml)
|
||||||
|
|
|
@ -42,7 +42,6 @@
|
||||||
(arguments '(#:tests? #f))
|
(arguments '(#:tests? #f))
|
||||||
(inputs
|
(inputs
|
||||||
`(("python-requests" ,python-requests)
|
`(("python-requests" ,python-requests)
|
||||||
("python-setuptools" ,python-setuptools)
|
|
||||||
("python-six" ,python-six)
|
("python-six" ,python-six)
|
||||||
("python-websocket-client" ,python-websocket-client)))
|
("python-websocket-client" ,python-websocket-client)))
|
||||||
(home-page "https://github.com/docker/docker-py/")
|
(home-page "https://github.com/docker/docker-py/")
|
||||||
|
@ -93,7 +92,6 @@ client.")
|
||||||
("python-jsonschema" ,python-jsonschema)
|
("python-jsonschema" ,python-jsonschema)
|
||||||
("python-pyyaml" ,python-pyyaml)
|
("python-pyyaml" ,python-pyyaml)
|
||||||
("python-requests" ,python-requests-2.7)
|
("python-requests" ,python-requests-2.7)
|
||||||
("python-setuptools" ,python-setuptools)
|
|
||||||
("python-six" ,python-six)
|
("python-six" ,python-six)
|
||||||
("python-texttable" ,python-texttable)
|
("python-texttable" ,python-texttable)
|
||||||
("python-websocket-client" ,python-websocket-client)))
|
("python-websocket-client" ,python-websocket-client)))
|
||||||
|
|
|
@ -256,8 +256,7 @@ of a the system to know what users are logged in, and where.")
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("shared-mime-info" ,shared-mime-info) ;for tests
|
`(("shared-mime-info" ,shared-mime-info) ;for tests
|
||||||
("hicolor-icon-theme" ,hicolor-icon-theme) ;for tests
|
("hicolor-icon-theme" ,hicolor-icon-theme) ;for tests
|
||||||
("python-nose" ,python-nose)
|
("python-nose" ,python-nose)))
|
||||||
("python-setuptools" ,python-setuptools)))
|
|
||||||
(home-page "http://freedesktop.org/wiki/Software/pyxdg")
|
(home-page "http://freedesktop.org/wiki/Software/pyxdg")
|
||||||
(synopsis "Implementations of freedesktop.org standards in Python")
|
(synopsis "Implementations of freedesktop.org standards in Python")
|
||||||
(description
|
(description
|
||||||
|
|
|
@ -591,8 +591,6 @@ interface (API).")
|
||||||
(string-append v4l-ref "/include/libv4l1-videodev.h")
|
(string-append v4l-ref "/include/libv4l1-videodev.h")
|
||||||
"linux/videodev.h")
|
"linux/videodev.h")
|
||||||
(system* "ln" "--symbolic" "Setup.in" "Setup")))))))
|
(system* "ln" "--symbolic" "Setup.in" "Setup")))))))
|
||||||
(native-inputs
|
|
||||||
`(("python-setuptools" ,python-setuptools)))
|
|
||||||
(inputs
|
(inputs
|
||||||
`(("sdl" ,sdl)
|
`(("sdl" ,sdl)
|
||||||
("sdl-image" ,sdl-image)
|
("sdl-image" ,sdl-image)
|
||||||
|
|
|
@ -414,12 +414,7 @@ decrypt messages using the OpenPGP format by making use of GPGME.")
|
||||||
(license license:lgpl2.1+)))
|
(license license:lgpl2.1+)))
|
||||||
|
|
||||||
(define-public python2-pygpgme
|
(define-public python2-pygpgme
|
||||||
(let ((base (package-with-python2 python-pygpgme)))
|
(package-with-python2 python-pygpgme))
|
||||||
(package
|
|
||||||
(inherit base)
|
|
||||||
(native-inputs
|
|
||||||
`(("python2-setuptools" ,python2-setuptools)
|
|
||||||
,@(package-native-inputs base))))))
|
|
||||||
|
|
||||||
(define-public python-gnupg
|
(define-public python-gnupg
|
||||||
(package
|
(package
|
||||||
|
|
|
@ -42,8 +42,6 @@
|
||||||
(arguments
|
(arguments
|
||||||
`(#:python ,python-2 ;uses the Python 2 'print' syntax
|
`(#:python ,python-2 ;uses the Python 2 'print' syntax
|
||||||
#:tests? #f)) ;no tests
|
#:tests? #f)) ;no tests
|
||||||
(native-inputs
|
|
||||||
`(("python2-setuptools" ,python2-setuptools)))
|
|
||||||
(inputs
|
(inputs
|
||||||
`(("python2-xlib" ,python2-xlib)
|
`(("python2-xlib" ,python2-xlib)
|
||||||
("python2-pygtk" ,python2-pygtk)
|
("python2-pygtk" ,python2-pygtk)
|
||||||
|
|
|
@ -134,5 +134,4 @@ on just one button press.")
|
||||||
(lambda _
|
(lambda _
|
||||||
(zero? (system* "make" "py2")))))))
|
(zero? (system* "make" "py2")))))))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python2-setuptools" ,python2-setuptools)
|
`(("python2-cython" ,python2-cython))))))
|
||||||
("python2-cython" ,python2-cython))))))
|
|
||||||
|
|
|
@ -1376,8 +1376,6 @@ maintained.")
|
||||||
(let* ((out (assoc-ref outputs "out"))
|
(let* ((out (assoc-ref outputs "out"))
|
||||||
(doc (string-append out "/share/doc/khard")))
|
(doc (string-append out "/share/doc/khard")))
|
||||||
(copy-recursively "misc/khard" doc)))))))
|
(copy-recursively "misc/khard" doc)))))))
|
||||||
(native-inputs
|
|
||||||
`(("python2-setuptools" ,python2-setuptools)))
|
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
`(("python2-vobject" ,python2-vobject)
|
`(("python2-vobject" ,python2-vobject)
|
||||||
("python2-pyyaml" ,python2-pyyaml)
|
("python2-pyyaml" ,python2-pyyaml)
|
||||||
|
@ -1748,7 +1746,7 @@ for OpenSMTPD to extend its functionality.")
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:tests? #f)) ; Requires mailman running
|
`(#:tests? #f)) ; Requires mailman running
|
||||||
(inputs
|
(propagated-inputs
|
||||||
`(("python-six" ,python-six)
|
`(("python-six" ,python-six)
|
||||||
("python-httplib2" ,python-httplib2)))
|
("python-httplib2" ,python-httplib2)))
|
||||||
(home-page "https://launchpad.net/mailman.client")
|
(home-page "https://launchpad.net/mailman.client")
|
||||||
|
@ -1756,12 +1754,7 @@ for OpenSMTPD to extend its functionality.")
|
||||||
(description
|
(description
|
||||||
"The mailmanclient library provides official Python bindings for
|
"The mailmanclient library provides official Python bindings for
|
||||||
the GNU Mailman 3 REST API.")
|
the GNU Mailman 3 REST API.")
|
||||||
(properties `((python2-variant . ,(delay python2-mailmanclient))))
|
|
||||||
(license lgpl3+)))
|
(license lgpl3+)))
|
||||||
|
|
||||||
(define-public python2-mailmanclient
|
(define-public python2-mailmanclient
|
||||||
(let ((base (package-with-python2
|
(package-with-python2 python-mailmanclient))
|
||||||
(strip-python2-variant python-mailmanclient))))
|
|
||||||
(package (inherit base)
|
|
||||||
(native-inputs
|
|
||||||
`(("python2-setuptools" ,python2-setuptools))))))
|
|
||||||
|
|
|
@ -471,8 +471,7 @@ compression format (.mpc files).")
|
||||||
(arguments
|
(arguments
|
||||||
`(#:python ,python-2))
|
`(#:python ,python-2))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python2-setuptools" ,python2-setuptools)
|
`(("python2-nose" ,python2-nose)
|
||||||
("python2-nose" ,python2-nose)
|
|
||||||
("python2-sphinx" ,python2-sphinx)
|
("python2-sphinx" ,python2-sphinx)
|
||||||
("python2-coverage" ,python2-coverage)))
|
("python2-coverage" ,python2-coverage)))
|
||||||
(synopsis "MP3 tag ID3 metadata editor")
|
(synopsis "MP3 tag ID3 metadata editor")
|
||||||
|
|
|
@ -257,15 +257,10 @@ information about tracks being played to a scrobbler, such as Libre.FM.")
|
||||||
(synopsis "Python MPD client library")
|
(synopsis "Python MPD client library")
|
||||||
(description "Python-mpd2 is a Python library which provides a client
|
(description "Python-mpd2 is a Python library which provides a client
|
||||||
interface for the Music Player Daemon.")
|
interface for the Music Player Daemon.")
|
||||||
(license license:lgpl3+)
|
(license license:lgpl3+)))
|
||||||
(properties `((python2-variant . ,(delay python2-mpd2))))))
|
|
||||||
|
|
||||||
(define-public python2-mpd2
|
(define-public python2-mpd2
|
||||||
(let ((mpd2 (package-with-python2
|
(package-with-python2 python-mpd2))
|
||||||
(strip-python2-variant python-mpd2))))
|
|
||||||
(package (inherit mpd2)
|
|
||||||
(native-inputs `(("python2-setuptools" ,python2-setuptools)
|
|
||||||
,@(package-native-inputs mpd2))))))
|
|
||||||
|
|
||||||
(define-public sonata
|
(define-public sonata
|
||||||
(package
|
(package
|
||||||
|
|
|
@ -1113,7 +1113,6 @@ Laurens Hammond and Don Leslie.")
|
||||||
`(("rapicorn" ,rapicorn)
|
`(("rapicorn" ,rapicorn)
|
||||||
("guile" ,guile-1.8)
|
("guile" ,guile-1.8)
|
||||||
("python" ,python-2)
|
("python" ,python-2)
|
||||||
("cython" ,python2-cython)
|
|
||||||
("libgnomecanvas" ,libgnomecanvas)
|
("libgnomecanvas" ,libgnomecanvas)
|
||||||
("libogg" ,libogg)
|
("libogg" ,libogg)
|
||||||
("libmad" ,libmad)
|
("libmad" ,libmad)
|
||||||
|
@ -1124,6 +1123,7 @@ Laurens Hammond and Don Leslie.")
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("pkg-config" ,pkg-config)
|
`(("pkg-config" ,pkg-config)
|
||||||
("glib:bin" ,glib "bin")
|
("glib:bin" ,glib "bin")
|
||||||
|
("cython" ,python2-cython)
|
||||||
("perl" ,perl)
|
("perl" ,perl)
|
||||||
("perl-xml-parser" ,perl-xml-parser)))
|
("perl-xml-parser" ,perl-xml-parser)))
|
||||||
(home-page "https://testbit.eu/wiki/Beast_Home")
|
(home-page "https://testbit.eu/wiki/Beast_Home")
|
||||||
|
@ -1405,10 +1405,10 @@ using a system-independent interface.")
|
||||||
#t)))))
|
#t)))))
|
||||||
(inputs
|
(inputs
|
||||||
`(("portmidi" ,portmidi)
|
`(("portmidi" ,portmidi)
|
||||||
("alsa-lib" ,alsa-lib)
|
("alsa-lib" ,alsa-lib)))
|
||||||
("python-cython" ,python-cython)))
|
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("unzip" ,unzip)))
|
`(("python-cython" ,python-cython)
|
||||||
|
("unzip" ,unzip)))
|
||||||
(home-page "http://portmedia.sourceforge.net/portmidi/")
|
(home-page "http://portmedia.sourceforge.net/portmidi/")
|
||||||
(synopsis "Python bindings to PortMidi")
|
(synopsis "Python bindings to PortMidi")
|
||||||
(description
|
(description
|
||||||
|
@ -1884,7 +1884,6 @@ MusicBrainz database.")
|
||||||
`(;; Python 3 is not supported:
|
`(;; Python 3 is not supported:
|
||||||
;; https://github.com/echonest/pyechonest/issues/42
|
;; https://github.com/echonest/pyechonest/issues/42
|
||||||
#:python ,python-2))
|
#:python ,python-2))
|
||||||
(native-inputs `(("python2-setuptools" ,python2-setuptools)))
|
|
||||||
(home-page "https://github.com/echonest/pyechonest")
|
(home-page "https://github.com/echonest/pyechonest")
|
||||||
(synopsis "Python interface to The Echo Nest APIs")
|
(synopsis "Python interface to The Echo Nest APIs")
|
||||||
(description "Pyechonest is a Python library for the Echo Nest API. With
|
(description "Pyechonest is a Python library for the Echo Nest API. With
|
||||||
|
@ -1927,16 +1926,10 @@ detailed track info including timbre, pitch, rhythm and loudness information.
|
||||||
(synopsis "Python interface to Last.fm and Libre.fm")
|
(synopsis "Python interface to Last.fm and Libre.fm")
|
||||||
(description "A Python interface to Last.fm and other API-compatible
|
(description "A Python interface to Last.fm and other API-compatible
|
||||||
websites such as Libre.fm.")
|
websites such as Libre.fm.")
|
||||||
(license license:asl2.0)
|
(license license:asl2.0)))
|
||||||
(properties `((python2-variant . ,(delay python2-pylast))))))
|
|
||||||
|
|
||||||
(define-public python2-pylast
|
(define-public python2-pylast
|
||||||
(let ((pylast (package-with-python2
|
(package-with-python2 python-pylast))
|
||||||
(strip-python2-variant python-pylast))))
|
|
||||||
(package (inherit pylast)
|
|
||||||
(native-inputs
|
|
||||||
`(("python2-setuptools" ,python2-setuptools)
|
|
||||||
,@(package-native-inputs pylast))))))
|
|
||||||
|
|
||||||
(define-public beets
|
(define-public beets
|
||||||
(package
|
(package
|
||||||
|
@ -1964,7 +1957,6 @@ websites such as Libre.fm.")
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python2-beautifulsoup4" ,python2-beautifulsoup4)
|
`(("python2-beautifulsoup4" ,python2-beautifulsoup4)
|
||||||
("python2-flask" ,python2-flask)
|
("python2-flask" ,python2-flask)
|
||||||
("python2-setuptools" ,python2-setuptools)
|
|
||||||
("python2-mock" ,python2-mock)
|
("python2-mock" ,python2-mock)
|
||||||
("python2-mpd2" ,python2-mpd2)
|
("python2-mpd2" ,python2-mpd2)
|
||||||
("python2-nose" ,python2-nose)
|
("python2-nose" ,python2-nose)
|
||||||
|
@ -2479,13 +2471,7 @@ you to query the Discogs database for information on artists, releases, labels,
|
||||||
users, Marketplace listings, and more. It also supports OAuth 1.0a
|
users, Marketplace listings, and more. It also supports OAuth 1.0a
|
||||||
authorization, which allows you to change user data such as profile information,
|
authorization, which allows you to change user data such as profile information,
|
||||||
collections and wantlists, inventory, and orders.")
|
collections and wantlists, inventory, and orders.")
|
||||||
(license license:bsd-2)
|
(license license:bsd-2)))
|
||||||
(properties `((python2-variant . ,(delay python2-discogs-client))))))
|
|
||||||
|
|
||||||
(define-public python2-discogs-client
|
(define-public python2-discogs-client
|
||||||
(let ((base (package-with-python2
|
(package-with-python2 python-discogs-client))
|
||||||
(strip-python2-variant python-discogs-client))))
|
|
||||||
(package (inherit base)
|
|
||||||
(native-inputs
|
|
||||||
`(("python2-setuptools" ,python2-setuptools)
|
|
||||||
,@(package-native-inputs base))))))
|
|
||||||
|
|
|
@ -52,11 +52,7 @@
|
||||||
`(("pygtk" ,python2-pygtk)
|
`(("pygtk" ,python2-pygtk)
|
||||||
("sqlalchemy" ,python2-sqlalchemy)
|
("sqlalchemy" ,python2-sqlalchemy)
|
||||||
("python-pillow" ,python2-pillow)
|
("python-pillow" ,python2-pillow)
|
||||||
("elib.intl" ,python2-elib.intl)
|
("elib.intl" ,python2-elib.intl)))
|
||||||
;; XXX: This really isn't an input for gourmet but of pillow. Making
|
|
||||||
;; it a propagated input in pillow doesn't seem to get its site path
|
|
||||||
;; into gourmet's wrapper's PYTHONPATH however...
|
|
||||||
("python-setuptools" ,python2-setuptools)))
|
|
||||||
(arguments
|
(arguments
|
||||||
`(#:python ,python-2 ;exception and print syntax
|
`(#:python ,python-2 ;exception and print syntax
|
||||||
#:tests? #f)) ;tests look bitrotted
|
#:tests? #f)) ;tests look bitrotted
|
||||||
|
|
|
@ -49,9 +49,8 @@
|
||||||
("python-pyyaml" ,python-pyyaml)
|
("python-pyyaml" ,python-pyyaml)
|
||||||
("python-six" ,python-six)
|
("python-six" ,python-six)
|
||||||
("python-stevedore" ,python-stevedore)))
|
("python-stevedore" ,python-stevedore)))
|
||||||
(inputs
|
(native-inputs
|
||||||
`(("python-pbr" ,python-pbr)
|
`(("python-pbr" ,python-pbr)
|
||||||
("python-setuptools" ,python-setuptools)
|
|
||||||
;; Tests
|
;; Tests
|
||||||
("python-fixtures" ,python-fixtures)
|
("python-fixtures" ,python-fixtures)
|
||||||
("python-mock" ,python-mock)
|
("python-mock" ,python-mock)
|
||||||
|
@ -85,10 +84,9 @@ all the files it generates a report.")
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
`(("python-six" ,python-six)
|
`(("python-six" ,python-six)
|
||||||
("python-wrapt" ,python-wrapt)))
|
("python-wrapt" ,python-wrapt)))
|
||||||
(inputs
|
(native-inputs
|
||||||
`(("python-babel" ,python-babel)
|
`(("python-babel" ,python-babel)
|
||||||
("python-pbr" ,python-pbr)
|
("python-pbr" ,python-pbr)
|
||||||
("python-setuptools" ,python-setuptools)
|
|
||||||
;; Tests.
|
;; Tests.
|
||||||
("python-oslotest" ,python-oslotest)))
|
("python-oslotest" ,python-oslotest)))
|
||||||
(home-page "http://www.openstack.org/")
|
(home-page "http://www.openstack.org/")
|
||||||
|
@ -122,9 +120,8 @@ manner.")
|
||||||
("python-pep8-1.5.7" ,python-pep8-1.5.7)
|
("python-pep8-1.5.7" ,python-pep8-1.5.7)
|
||||||
("python-pyflakes-0.8.1" ,python-pyflakes-0.8.1)
|
("python-pyflakes-0.8.1" ,python-pyflakes-0.8.1)
|
||||||
("python-six" ,python-six)))
|
("python-six" ,python-six)))
|
||||||
(inputs
|
(native-inputs
|
||||||
`(("python-setuptools" ,python-setuptools)
|
`(;; Tests
|
||||||
;; Tests
|
|
||||||
("python-testscenarios" ,python-testscenarios)))
|
("python-testscenarios" ,python-testscenarios)))
|
||||||
(home-page "http://github.com/openstack-dev/hacking")
|
(home-page "http://github.com/openstack-dev/hacking")
|
||||||
(synopsis "OpenStack hacking guideline enforcement")
|
(synopsis "OpenStack hacking guideline enforcement")
|
||||||
|
@ -152,8 +149,6 @@ guidelines}.")
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python-fixtures" ,python-fixtures)
|
`(("python-fixtures" ,python-fixtures)
|
||||||
("python-pbr" ,python-pbr)
|
("python-pbr" ,python-pbr)
|
||||||
("python-setuptools" ,python-setuptools)
|
|
||||||
("python-six" ,python-six)
|
|
||||||
("python-testtools" ,python-testtools)))
|
("python-testtools" ,python-testtools)))
|
||||||
(home-page "http://www.openstack.org/")
|
(home-page "http://www.openstack.org/")
|
||||||
(synopsis "Mock object framework for Python")
|
(synopsis "Mock object framework for Python")
|
||||||
|
@ -181,14 +176,14 @@ tested on Python version 3.2, 2.7 and 2.6.")
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:tests? #f)) ;; Circular dependency with python-oslotest
|
`(#:tests? #f)) ;; Circular dependency with python-oslotest
|
||||||
(inputs
|
(propagated-inputs
|
||||||
`(("python-appdirs" ,python-appdirs)
|
`(("python-appdirs" ,python-appdirs)
|
||||||
|
("python-pyyaml" ,python-pyyaml)))
|
||||||
|
(native-inputs
|
||||||
|
`(("python-pbr" ,python-pbr)
|
||||||
("python-fixtures" ,python-fixtures)
|
("python-fixtures" ,python-fixtures)
|
||||||
("python-mimeparse" ,python-mimeparse)
|
("python-mimeparse" ,python-mimeparse)
|
||||||
("python-pbr" ,python-pbr)
|
|
||||||
("python-pyyaml" ,python-pyyaml)
|
|
||||||
("python-testrepository" ,python-testrepository)
|
("python-testrepository" ,python-testrepository)
|
||||||
("python-setuptools" ,python-setuptools)
|
|
||||||
("python-testscenarios" ,python-testscenarios)
|
("python-testscenarios" ,python-testscenarios)
|
||||||
("python-testtools" ,python-testtools)))
|
("python-testtools" ,python-testtools)))
|
||||||
(home-page "http://www.openstack.org/")
|
(home-page "http://www.openstack.org/")
|
||||||
|
@ -221,12 +216,11 @@ tested on Python version 3.2, 2.7 and 2.6.")
|
||||||
;; when building the package. Skip the tests for now.
|
;; when building the package. Skip the tests for now.
|
||||||
`(#:tests? #f))
|
`(#:tests? #f))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
|
`(("python-subunit" ,python-subunit)))
|
||||||
|
(native-inputs
|
||||||
`(("python-pbr" ,python-pbr)
|
`(("python-pbr" ,python-pbr)
|
||||||
("python-subunit" ,python-subunit)
|
("python-testtools" ,python-testtools)
|
||||||
("python-testtools" ,python-testtools)))
|
("python-babel" ,python-babel)))
|
||||||
(inputs
|
|
||||||
`(("python-babel" ,python-babel)
|
|
||||||
("python-setuptools" ,python-setuptools)))
|
|
||||||
(home-page "https://www.openstack.org/")
|
(home-page "https://www.openstack.org/")
|
||||||
(synopsis "Testr wrapper to provide functionality for OpenStack projects")
|
(synopsis "Testr wrapper to provide functionality for OpenStack projects")
|
||||||
(description
|
(description
|
||||||
|
@ -252,10 +246,9 @@ tested on Python version 3.2, 2.7 and 2.6.")
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
`(("python-requests" ,python-requests)
|
`(("python-requests" ,python-requests)
|
||||||
("python-six" ,python-six)))
|
("python-six" ,python-six)))
|
||||||
(inputs
|
|
||||||
`(("python-pbr" ,python-pbr)))
|
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python-discover" ,python-discover)
|
`(("python-pbr" ,python-pbr)
|
||||||
|
("python-discover" ,python-discover)
|
||||||
("python-docutils" ,python-docutils)
|
("python-docutils" ,python-docutils)
|
||||||
("python-fixtures" ,python-fixtures)
|
("python-fixtures" ,python-fixtures)
|
||||||
("python-mock" ,python-mock)
|
("python-mock" ,python-mock)
|
||||||
|
@ -267,16 +260,10 @@ tested on Python version 3.2, 2.7 and 2.6.")
|
||||||
(description
|
(description
|
||||||
"This module provides a building block to stub out the HTTP requests
|
"This module provides a building block to stub out the HTTP requests
|
||||||
portions of your testing code.")
|
portions of your testing code.")
|
||||||
(license asl2.0)
|
(license asl2.0)))
|
||||||
(properties `((python2-variant . ,(delay python2-requests-mock))))))
|
|
||||||
|
|
||||||
(define-public python2-requests-mock
|
(define-public python2-requests-mock
|
||||||
(let ((base (package-with-python2
|
(package-with-python2 python-requests-mock))
|
||||||
(strip-python2-variant python-requests-mock))))
|
|
||||||
(package (inherit base)
|
|
||||||
(native-inputs
|
|
||||||
`(("python2-setuptools" ,python2-setuptools)
|
|
||||||
,@(package-native-inputs base))))))
|
|
||||||
|
|
||||||
(define-public python-stevedore
|
(define-public python-stevedore
|
||||||
(package
|
(package
|
||||||
|
@ -292,10 +279,8 @@ portions of your testing code.")
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
`(("python-six" ,python-six)))
|
`(("python-six" ,python-six)))
|
||||||
(inputs
|
|
||||||
`(("python-pbr" ,python-pbr)))
|
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python-setuptools" ,python-setuptools)
|
`(("python-pbr" ,python-pbr)
|
||||||
;; Tests
|
;; Tests
|
||||||
("python-docutils" ,python-docutils)
|
("python-docutils" ,python-docutils)
|
||||||
("python-mock" ,python-mock)
|
("python-mock" ,python-mock)
|
||||||
|
@ -346,12 +331,11 @@ extensions.")
|
||||||
("python-paramiko" ,python-paramiko)
|
("python-paramiko" ,python-paramiko)
|
||||||
("python-pbr" ,python-pbr)
|
("python-pbr" ,python-pbr)
|
||||||
("python-six" ,python-six)))
|
("python-six" ,python-six)))
|
||||||
(inputs
|
(native-inputs
|
||||||
`(("python-babel" ,python-babel)
|
`(("python-babel" ,python-babel)
|
||||||
("python-mock" ,python-mock)
|
("python-mock" ,python-mock)
|
||||||
("python-os-testr" ,python-os-testr)
|
("python-os-testr" ,python-os-testr)
|
||||||
("python-oslotest" ,python-oslotest)
|
("python-oslotest" ,python-oslotest)))
|
||||||
("python-setuptools" ,python-setuptools)))
|
|
||||||
(home-page "https://www.openstack.org/")
|
(home-page "https://www.openstack.org/")
|
||||||
(synopsis "OpenStack functional testing library")
|
(synopsis "OpenStack functional testing library")
|
||||||
(description
|
(description
|
||||||
|
@ -382,9 +366,8 @@ common features used in Tempest.")
|
||||||
`(("python-netaddr" ,python-netaddr)
|
`(("python-netaddr" ,python-netaddr)
|
||||||
("python-six" ,python-six)
|
("python-six" ,python-six)
|
||||||
("python-stevedore" ,python-stevedore)))
|
("python-stevedore" ,python-stevedore)))
|
||||||
(inputs
|
(native-inputs
|
||||||
`(("python-pbr" ,python-pbr)
|
`(("python-pbr" ,python-pbr)
|
||||||
("python-setuptools" ,python-setuptools)
|
|
||||||
;; Tests
|
;; Tests
|
||||||
("python-oslo.i18n" ,python-oslo.i18n)
|
("python-oslo.i18n" ,python-oslo.i18n)
|
||||||
("python-mock" ,python-mock)
|
("python-mock" ,python-mock)
|
||||||
|
@ -412,10 +395,9 @@ common features used in Tempest.")
|
||||||
(base32
|
(base32
|
||||||
"0kvha0rs9295njyl2z6n6zm5dapi5mrl5zwjm0m6ldqrvccyf8c3"))))
|
"0kvha0rs9295njyl2z6n6zm5dapi5mrl5zwjm0m6ldqrvccyf8c3"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(inputs
|
(native-inputs
|
||||||
`(("python-babel" ,python-babel)
|
`(("python-babel" ,python-babel)
|
||||||
("python-pbr" ,python-pbr)
|
("python-pbr" ,python-pbr)
|
||||||
("python-setuptools" ,python-setuptools)
|
|
||||||
;; Tests.
|
;; Tests.
|
||||||
("python-oslotest" ,python-oslotest)))
|
("python-oslotest" ,python-oslotest)))
|
||||||
(home-page "http://launchpad.net/oslo")
|
(home-page "http://launchpad.net/oslo")
|
||||||
|
@ -444,9 +426,8 @@ pipeline and used by various modules such as logging.")
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
`(("python-babel" ,python-babel)
|
`(("python-babel" ,python-babel)
|
||||||
("python-six" ,python-six)))
|
("python-six" ,python-six)))
|
||||||
(inputs
|
(native-inputs
|
||||||
`(("python-pbr" ,python-pbr)
|
`(("python-pbr" ,python-pbr)
|
||||||
("python-setuptools" ,python-setuptools)
|
|
||||||
;; Tests
|
;; Tests
|
||||||
("python-mock" ,python-mock)
|
("python-mock" ,python-mock)
|
||||||
("python-mox3" ,python-mox3)
|
("python-mox3" ,python-mox3)
|
||||||
|
@ -486,13 +467,12 @@ in an application or library.")
|
||||||
("python-oslo.utils" ,python-oslo.utils)
|
("python-oslo.utils" ,python-oslo.utils)
|
||||||
("python-oslo.serialization" ,python-oslo.serialization)
|
("python-oslo.serialization" ,python-oslo.serialization)
|
||||||
("python-six" ,python-six)))
|
("python-six" ,python-six)))
|
||||||
(inputs
|
(native-inputs
|
||||||
`(("python-babel" ,python-babel)
|
`(("python-babel" ,python-babel)
|
||||||
("python-iso8601" ,python-iso8601)
|
("python-iso8601" ,python-iso8601)
|
||||||
("python-mock" ,python-mock)
|
("python-mock" ,python-mock)
|
||||||
("python-oslotest" ,python-oslotest)
|
("python-oslotest" ,python-oslotest)
|
||||||
("python-pbr" ,python-pbr)
|
("python-pbr" ,python-pbr)))
|
||||||
("python-setuptools" ,python-setuptools)))
|
|
||||||
(home-page "http://launchpad.net/oslo")
|
(home-page "http://launchpad.net/oslo")
|
||||||
(synopsis "Python logging library of the Oslo project")
|
(synopsis "Python logging library of the Oslo project")
|
||||||
(description
|
(description
|
||||||
|
@ -523,10 +503,9 @@ handlers and support for context specific logging (like resource id’s etc).")
|
||||||
("python-simplejson" ,python-simplejson)
|
("python-simplejson" ,python-simplejson)
|
||||||
("python-six" ,python-six)
|
("python-six" ,python-six)
|
||||||
("python-pytz" ,python-pytz)))
|
("python-pytz" ,python-pytz)))
|
||||||
(inputs
|
(native-inputs
|
||||||
`(("python-babel" ,python-babel)
|
`(("python-babel" ,python-babel)
|
||||||
("python-pbr" ,python-pbr)
|
("python-pbr" ,python-pbr)
|
||||||
("python-setuptools" ,python-setuptools)
|
|
||||||
;; Tests.
|
;; Tests.
|
||||||
("python-mock" ,python-mock)
|
("python-mock" ,python-mock)
|
||||||
("python-oslo.i18n" ,python-oslo.i18n)
|
("python-oslo.i18n" ,python-oslo.i18n)
|
||||||
|
@ -555,11 +534,10 @@ in transmittable and storable formats, such as JSON and MessagePack.")
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
`(("python-requests" ,python-requests)))
|
`(("python-requests" ,python-requests)))
|
||||||
(inputs
|
(native-inputs
|
||||||
`(("python-pbr" ,python-pbr)
|
`(("python-pbr" ,python-pbr)
|
||||||
("python-docutils" ,python-docutils)
|
("python-docutils" ,python-docutils)
|
||||||
("python-hacking" ,python-hacking)
|
("python-hacking" ,python-hacking)
|
||||||
("python-setuptools" ,python-setuptools)
|
|
||||||
("python-sphinx" ,python-sphinx)))
|
("python-sphinx" ,python-sphinx)))
|
||||||
(home-page "http://www.openstack.org/")
|
(home-page "http://www.openstack.org/")
|
||||||
(synopsis "OpenStack sphinx extensions and theme")
|
(synopsis "OpenStack sphinx extensions and theme")
|
||||||
|
@ -591,10 +569,9 @@ from the OpenStack project.")
|
||||||
("python-mock" ,python-mock)
|
("python-mock" ,python-mock)
|
||||||
("python-mox3" ,python-mox3)
|
("python-mox3" ,python-mox3)
|
||||||
("python-six" ,python-six)))
|
("python-six" ,python-six)))
|
||||||
(inputs
|
(native-inputs
|
||||||
`(("python-pbr" ,python-pbr)
|
`(("python-pbr" ,python-pbr)
|
||||||
("python-os-client-config" ,python-os-client-config)
|
("python-os-client-config" ,python-os-client-config)
|
||||||
("python-setuptools" ,python-setuptools)
|
|
||||||
("python-subunit" ,python-subunit)
|
("python-subunit" ,python-subunit)
|
||||||
("python-testrepository" ,python-testrepository)
|
("python-testrepository" ,python-testrepository)
|
||||||
("python-testscenarios" ,python-testscenarios)
|
("python-testscenarios" ,python-testscenarios)
|
||||||
|
@ -635,10 +612,9 @@ and better support for mocking results.")
|
||||||
("python-netifaces" ,python-netifaces)
|
("python-netifaces" ,python-netifaces)
|
||||||
("python-pytz" ,python-pytz)
|
("python-pytz" ,python-pytz)
|
||||||
("python-six" ,python-six)))
|
("python-six" ,python-six)))
|
||||||
(inputs
|
(native-inputs
|
||||||
`(("python-babel" ,python-babel)
|
`(("python-babel" ,python-babel)
|
||||||
("python-pbr" ,python-pbr)
|
("python-pbr" ,python-pbr)
|
||||||
("python-setuptools" ,python-setuptools)
|
|
||||||
;; Tests.
|
;; Tests.
|
||||||
("python-oslotest" ,python-oslotest)
|
("python-oslotest" ,python-oslotest)
|
||||||
("python-mock" ,python-mock)
|
("python-mock" ,python-mock)
|
||||||
|
@ -668,8 +644,7 @@ handling.")
|
||||||
"1w4csvkah67rfpxylxnvs2s3594i0f9isy8pf4gnsqs5zirvjaa4"))))
|
"1w4csvkah67rfpxylxnvs2s3594i0f9isy8pf4gnsqs5zirvjaa4"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python-setuptools" ,python-setuptools)
|
`(("python-sphinx" ,python-sphinx)
|
||||||
("python-sphinx" ,python-sphinx)
|
|
||||||
;; and some packages for the tests
|
;; and some packages for the tests
|
||||||
("openssl" ,openssl)
|
("openssl" ,openssl)
|
||||||
("python-coverage" ,python-coverage)
|
("python-coverage" ,python-coverage)
|
||||||
|
@ -744,7 +719,6 @@ LDAP.")
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python-pbr" ,python-pbr)
|
`(("python-pbr" ,python-pbr)
|
||||||
("python-setuptools" ,python-setuptools)
|
|
||||||
("python-sphinx" ,python-sphinx)
|
("python-sphinx" ,python-sphinx)
|
||||||
;; The folloing packages are needed for the tests.
|
;; The folloing packages are needed for the tests.
|
||||||
("python-coverage" ,python-coverage)
|
("python-coverage" ,python-coverage)
|
||||||
|
@ -814,9 +788,10 @@ permanence.")
|
||||||
(list git openssh))))))))))
|
(list git openssh))))))))))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python-pbr" ,python-pbr)))
|
`(("python-pbr" ,python-pbr)))
|
||||||
|
(propagated-inputs
|
||||||
|
`(("python-requests" ,python-requests)))
|
||||||
(inputs
|
(inputs
|
||||||
`(("python-requests" ,python-requests)
|
`(("git" ,git)
|
||||||
("git" ,git)
|
|
||||||
("openssh" ,openssh)))
|
("openssh" ,openssh)))
|
||||||
(home-page "http://docs.openstack.org/infra/git-review/")
|
(home-page "http://docs.openstack.org/infra/git-review/")
|
||||||
(synopsis "Command-line tool for Gerrit")
|
(synopsis "Command-line tool for Gerrit")
|
||||||
|
@ -826,8 +801,4 @@ Gerrit for review, or fetching existing ones.")
|
||||||
(license asl2.0)))
|
(license asl2.0)))
|
||||||
|
|
||||||
(define-public python2-git-review
|
(define-public python2-git-review
|
||||||
(let ((base (package-with-python2 (strip-python2-variant python-git-review))))
|
(package-with-python2 python-git-review))
|
||||||
(package (inherit base)
|
|
||||||
(native-inputs
|
|
||||||
`(("python2-setuptools" ,python2-setuptools)
|
|
||||||
,@(package-native-inputs base))))))
|
|
||||||
|
|
|
@ -250,8 +250,7 @@ random passwords that pass the checks.")
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("help2man" ,help2man)))
|
`(("help2man" ,help2man)))
|
||||||
(inputs
|
(inputs
|
||||||
`(("python-setuptools" ,python2-setuptools)
|
`(("python2-xdo" ,python2-xdo)
|
||||||
("python2-xdo" ,python2-xdo)
|
|
||||||
("python2-pygpgme" ,python2-pygpgme)
|
("python2-pygpgme" ,python2-pygpgme)
|
||||||
("python2-pygtk" ,python2-pygtk)))
|
("python2-pygtk" ,python2-pygtk)))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
|
@ -362,7 +361,7 @@ winner of the 2015 Password Hashing Competition.")
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python-pycparser" ,python-pycparser)
|
`(("python-pycparser" ,python-pycparser)
|
||||||
("python-pytest" ,python-pytest)))
|
("python-pytest" ,python-pytest)))
|
||||||
(inputs
|
(propagated-inputs
|
||||||
`(("python-cffi" ,python-cffi)
|
`(("python-cffi" ,python-cffi)
|
||||||
("python-six" ,python-six)))
|
("python-six" ,python-six)))
|
||||||
(home-page "https://github.com/pyca/bcrypt/")
|
(home-page "https://github.com/pyca/bcrypt/")
|
||||||
|
@ -376,8 +375,4 @@ Password Scheme\"} by Niels Provos and David Mazieres.")
|
||||||
(license license:asl2.0)))
|
(license license:asl2.0)))
|
||||||
|
|
||||||
(define-public python2-bcrypt
|
(define-public python2-bcrypt
|
||||||
(let ((bcrypt (package-with-python2 python-bcrypt)))
|
(package-with-python2 python-bcrypt))
|
||||||
(package (inherit bcrypt)
|
|
||||||
(native-inputs
|
|
||||||
`(("python2-setuptools" ,python2-setuptools)
|
|
||||||
,@(package-native-inputs bcrypt))))))
|
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
Add all /gnu/store/ prefixes found in PYTHONPATH to the prefixes where
|
||||||
|
site-packages (and .pth files) are searched.
|
||||||
|
|
||||||
|
*** Python-2.7.11/Lib/site.py.orig 2016-10-17 23:27:23.746149690 +0200
|
||||||
|
--- Python-2.7.11/Lib/site.py 2016-10-17 23:44:51.930871644 +0200
|
||||||
|
***************
|
||||||
|
*** 65,70 ****
|
||||||
|
--- 65,82 ----
|
||||||
|
|
||||||
|
# Prefixes for site-packages; add additional prefixes like /usr/local here
|
||||||
|
PREFIXES = [sys.prefix, sys.exec_prefix]
|
||||||
|
+ # Guix: Add all /gnu/store-paths in PYTHONPATH--these are all
|
||||||
|
+ # "prefixes". This is required to search .pth files in all python
|
||||||
|
+ # packages contained in /gnu/store which is required to make
|
||||||
|
+ # .pth-defined namespace packages work.
|
||||||
|
+ # This is necessary if the packages are not merged into a single
|
||||||
|
+ # `site-packages` directory (like when using `guix environment`) but
|
||||||
|
+ # listed in PYTHONPATH (like when running `guix build`).
|
||||||
|
+ for p in sys.path:
|
||||||
|
+ if p.startswith('/gnu/store/'):
|
||||||
|
+ PREFIXES.append(p[:p.find('/', 44)]) # find first pathsep after hash
|
||||||
|
+ del p
|
||||||
|
+
|
||||||
|
# Enable per user site-packages directory
|
||||||
|
# set it to False to disable the feature or True to force the feature
|
||||||
|
ENABLE_USER_SITE = None
|
|
@ -649,11 +649,6 @@ using a stylus.")
|
||||||
(base32
|
(base32
|
||||||
"0rz2pg04wnzjjm2f5a8ik9v8s54mv4xrjhv5liqjijqv6awh12gl"))))
|
"0rz2pg04wnzjjm2f5a8ik9v8s54mv4xrjhv5liqjijqv6awh12gl"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(arguments
|
|
||||||
;; Prevent creation of the egg. Without this flag, various artifacts
|
|
||||||
;; from the build inputs end up in the final python3 output. It also
|
|
||||||
;; works around https://debbugs.gnu.org/cgi/bugreport.cgi?bug=20765 .
|
|
||||||
`(#:configure-flags '("--single-version-externally-managed" "--root=/")))
|
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
`(("python-pillow" ,python-pillow)))
|
`(("python-pillow" ,python-pillow)))
|
||||||
(home-page "http://www.reportlab.com")
|
(home-page "http://www.reportlab.com")
|
||||||
|
@ -661,14 +656,10 @@ using a stylus.")
|
||||||
(description "This is the ReportLab PDF Toolkit. It allows rapid creation
|
(description "This is the ReportLab PDF Toolkit. It allows rapid creation
|
||||||
of rich PDF documents, and also creation of charts in a variety of bitmap and
|
of rich PDF documents, and also creation of charts in a variety of bitmap and
|
||||||
vector formats.")
|
vector formats.")
|
||||||
(license license:bsd-3)
|
(license license:bsd-3)))
|
||||||
(properties `((python2-variant . ,(delay python2-reportlab))))))
|
|
||||||
|
|
||||||
(define-public python2-reportlab
|
(define-public python2-reportlab
|
||||||
(package
|
(package-with-python2 python-reportlab))
|
||||||
(inherit (package-with-python2
|
|
||||||
(strip-python2-variant python-reportlab)))
|
|
||||||
(native-inputs `(("python2-pip" ,python2-pip)))))
|
|
||||||
|
|
||||||
(define-public impressive
|
(define-public impressive
|
||||||
(package
|
(package
|
||||||
|
@ -884,8 +875,6 @@ python-pypdf2 instead.")
|
||||||
(inputs
|
(inputs
|
||||||
;; pdfposter 0.6.0 still uses the old pyPdf
|
;; pdfposter 0.6.0 still uses the old pyPdf
|
||||||
`(("python2-pypdf" ,python2-pypdf)))
|
`(("python2-pypdf" ,python2-pypdf)))
|
||||||
(native-inputs
|
|
||||||
`(("python2-setuptools" ,python2-setuptools)))
|
|
||||||
(home-page "https://pythonhosted.org/pdftools.pdfposter/")
|
(home-page "https://pythonhosted.org/pdftools.pdfposter/")
|
||||||
(synopsis "Scale and tile PDF images/pages to print on multiple pages")
|
(synopsis "Scale and tile PDF images/pages to print on multiple pages")
|
||||||
(description "@command{pdfposter} can be used to create a large poster by
|
(description "@command{pdfposter} can be used to create a large poster by
|
||||||
|
|
|
@ -63,17 +63,14 @@ internal RPC protocols and file formats.")
|
||||||
(base32
|
(base32
|
||||||
"1xbgbfg4g43bihkyw1a2giqa2gxmqc5wkh0fzqcb90qi1z1hpi7c"))))
|
"1xbgbfg4g43bihkyw1a2giqa2gxmqc5wkh0fzqcb90qi1z1hpi7c"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(inputs
|
(propagated-inputs
|
||||||
`(("python-six" ,python-six)))
|
`(("python-six" ,python-six)))
|
||||||
(home-page "https://github.com/google/protobuf")
|
(home-page "https://github.com/google/protobuf")
|
||||||
(synopsis "Protocol buffers is a data interchange format")
|
(synopsis "Protocol buffers is a data interchange format")
|
||||||
(description
|
(description
|
||||||
"Protocol buffers are a language-neutral, platform-neutral extensible
|
"Protocol buffers are a language-neutral, platform-neutral extensible
|
||||||
mechanism for serializing structured data.")
|
mechanism for serializing structured data.")
|
||||||
(license bsd-3)
|
(license bsd-3)))
|
||||||
(properties `((python2-variant . ,(delay python2-protobuf))))))
|
|
||||||
|
|
||||||
(define-public python2-protobuf
|
(define-public python2-protobuf
|
||||||
(package (inherit (package-with-python2
|
(package-with-python2 python-protobuf))
|
||||||
(strip-python2-variant python-protobuf)))
|
|
||||||
(native-inputs `(("python2-setuptools" ,python2-setuptools)))))
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -394,8 +394,9 @@ three libraries:
|
||||||
(which "nosetests") "\"")))
|
(which "nosetests") "\"")))
|
||||||
#t)))))
|
#t)))))
|
||||||
(inputs
|
(inputs
|
||||||
`(("libvirt" ,libvirt)
|
`(("libvirt" ,libvirt)))
|
||||||
("python-lxml" ,python-lxml)))
|
(propagated-inputs
|
||||||
|
`(("python-lxml" ,python-lxml)))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("pkg-config" ,pkg-config)
|
`(("pkg-config" ,pkg-config)
|
||||||
("python-nose" ,python-nose)))
|
("python-nose" ,python-nose)))
|
||||||
|
|
|
@ -315,11 +315,10 @@ ideal (e.g. in LV2 implementations or embedded applications).")
|
||||||
(base32
|
(base32
|
||||||
"0kvaf332cqbi47rqzlpdx4mbkvw12mkrzkj8n9l19wk713d4py9w"))))
|
"0kvaf332cqbi47rqzlpdx4mbkvw12mkrzkj8n9l19wk713d4py9w"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(inputs
|
(propagated-inputs
|
||||||
`(("python-html5lib" ,python-html5lib)
|
`(("python-html5lib" ,python-html5lib)
|
||||||
("python-isodate" ,python-isodate)
|
("python-isodate" ,python-isodate)
|
||||||
("python-pyparsing" ,python-pyparsing)
|
("python-pyparsing" ,python-pyparsing)))
|
||||||
("python-setuptools" ,python-setuptools)))
|
|
||||||
(home-page "https://github.com/RDFLib/rdflib")
|
(home-page "https://github.com/RDFLib/rdflib")
|
||||||
(synopsis
|
(synopsis
|
||||||
"Python RDF library")
|
"Python RDF library")
|
||||||
|
|
|
@ -1394,13 +1394,7 @@ and fast file reading.")
|
||||||
(arguments
|
(arguments
|
||||||
`(#:phases
|
`(#:phases
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
(replace 'check (lambda _ (zero? (system* "nosetests" "-v"))))
|
(replace 'check (lambda _ (zero? (system* "nosetests" "-v")))))))
|
||||||
(add-after 'unpack 'prevent-generation-of-egg-archive
|
|
||||||
(lambda _
|
|
||||||
(substitute* "setup.py"
|
|
||||||
(("from setuptools import setup")
|
|
||||||
"from distutils.core import setup"))
|
|
||||||
#t)))))
|
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
`(("python-numpy" ,python-numpy)
|
`(("python-numpy" ,python-numpy)
|
||||||
("python-scipy" ,python-scipy)
|
("python-scipy" ,python-scipy)
|
||||||
|
@ -1416,15 +1410,10 @@ building design matrices.")
|
||||||
;; The majority of the code is distributed under BSD-2. The module
|
;; The majority of the code is distributed under BSD-2. The module
|
||||||
;; patsy.compat contains code derived from the Python standard library,
|
;; patsy.compat contains code derived from the Python standard library,
|
||||||
;; and is covered by the PSFL.
|
;; and is covered by the PSFL.
|
||||||
(license (list license:bsd-2 license:psfl))
|
(license (list license:bsd-2 license:psfl))))
|
||||||
(properties `((python2-variant . ,(delay python2-patsy))))))
|
|
||||||
|
|
||||||
(define-public python2-patsy
|
(define-public python2-patsy
|
||||||
(let ((patsy (package-with-python2 (strip-python2-variant python-patsy))))
|
(package-with-python2 python-patsy))
|
||||||
(package (inherit patsy)
|
|
||||||
(native-inputs
|
|
||||||
`(("python2-setuptools" ,python2-setuptools)
|
|
||||||
,@(package-native-inputs patsy))))))
|
|
||||||
|
|
||||||
(define-public python-statsmodels
|
(define-public python-statsmodels
|
||||||
(package
|
(package
|
||||||
|
@ -1455,11 +1444,13 @@ building design matrices.")
|
||||||
line)))
|
line)))
|
||||||
#t))
|
#t))
|
||||||
(add-after 'install 'check
|
(add-after 'install 'check
|
||||||
(lambda _
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||||
(with-directory-excursion "/tmp"
|
;; Make installed package available for running the tests
|
||||||
(zero? (system* "nosetests"
|
(add-installed-pythonpath inputs outputs)
|
||||||
"--stop"
|
(with-directory-excursion "/tmp"
|
||||||
"-v" "statsmodels"))))))))
|
(zero? (system* "nosetests"
|
||||||
|
"--stop"
|
||||||
|
"-v" "statsmodels"))))))))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
`(("python-numpy" ,python-numpy)
|
`(("python-numpy" ,python-numpy)
|
||||||
("python-scipy" ,python-scipy)
|
("python-scipy" ,python-scipy)
|
||||||
|
@ -1487,10 +1478,7 @@ inference for statistical models.")
|
||||||
("python2-scipy" ,python2-scipy)
|
("python2-scipy" ,python2-scipy)
|
||||||
("python2-pandas" ,python2-pandas)
|
("python2-pandas" ,python2-pandas)
|
||||||
("python2-patsy" ,python2-patsy)
|
("python2-patsy" ,python2-patsy)
|
||||||
("python2-matplotlib" ,python2-matplotlib)))
|
("python2-matplotlib" ,python2-matplotlib))))))
|
||||||
(native-inputs
|
|
||||||
`(("python2-setuptools" ,python2-setuptools)
|
|
||||||
,@(package-native-inputs stats))))))
|
|
||||||
|
|
||||||
(define-public r-coda
|
(define-public r-coda
|
||||||
(package
|
(package
|
||||||
|
|
|
@ -161,8 +161,7 @@ insert mode and command mode where keybindings have different functions.")
|
||||||
(("'tput'")
|
(("'tput'")
|
||||||
(string-append "'" ncurses "/bin/tput'"))))
|
(string-append "'" ncurses "/bin/tput'"))))
|
||||||
#t)))))
|
#t)))))
|
||||||
(inputs `(("ncurses" ,ncurses)
|
(inputs `(("ncurses" ,ncurses)))
|
||||||
("python-setuptools" ,python-setuptools)))
|
|
||||||
(home-page "https://asciinema.org")
|
(home-page "https://asciinema.org")
|
||||||
(synopsis "Terminal session recorder")
|
(synopsis "Terminal session recorder")
|
||||||
(description
|
(description
|
||||||
|
|
|
@ -437,15 +437,6 @@ security, and applying best practice development processes.")
|
||||||
(arguments
|
(arguments
|
||||||
`(#:phases
|
`(#:phases
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
(add-before 'install 'disable-egg-compression
|
|
||||||
(lambda _
|
|
||||||
;; Do not compress the egg.
|
|
||||||
;; See <http://bugs.gnu.org/20765>.
|
|
||||||
(let ((port (open-file "setup.cfg" "a")))
|
|
||||||
(display "\n[easy_install]\nzip_ok = 0\n"
|
|
||||||
port)
|
|
||||||
(close-port port)
|
|
||||||
#t)))
|
|
||||||
(add-after 'install 'docs
|
(add-after 'install 'docs
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
(let* ((out (assoc-ref outputs "out"))
|
(let* ((out (assoc-ref outputs "out"))
|
||||||
|
@ -462,7 +453,6 @@ security, and applying best practice development processes.")
|
||||||
("python-sphinx" ,python-sphinx)
|
("python-sphinx" ,python-sphinx)
|
||||||
("python-sphinxcontrib-programoutput" ,python-sphinxcontrib-programoutput)
|
("python-sphinxcontrib-programoutput" ,python-sphinxcontrib-programoutput)
|
||||||
("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme)
|
("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme)
|
||||||
("python-setuptools" ,python-setuptools)
|
|
||||||
("texinfo" ,texinfo)))
|
("texinfo" ,texinfo)))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
`(("python-ndg-httpsclient" ,python-ndg-httpsclient)
|
`(("python-ndg-httpsclient" ,python-ndg-httpsclient)
|
||||||
|
|
|
@ -208,11 +208,7 @@ networks.")
|
||||||
;; After all the patching we run the tests after installing.
|
;; After all the patching we run the tests after installing.
|
||||||
;; This is also a known issue:
|
;; This is also a known issue:
|
||||||
;; https://github.com/micahflee/onionshare/issues/284
|
;; https://github.com/micahflee/onionshare/issues/284
|
||||||
(lambda _ (zero? (system* "nosetests" "test")))))
|
(lambda _ (zero? (system* "nosetests" "test")))))))
|
||||||
;; can't compress the egg because it expects to find all the resources
|
|
||||||
;; inside the egg as though it were a folder.
|
|
||||||
#:configure-flags '("--single-version-externally-managed" "--root=/")
|
|
||||||
))
|
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python-nose" ,python-nose)))
|
`(("python-nose" ,python-nose)))
|
||||||
(inputs
|
(inputs
|
||||||
|
|
|
@ -1156,8 +1156,7 @@ Mercurial, Bazaar, Darcs, CVS, Fossil, and Veracity.")
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(arguments `(#:python ,python-2))
|
(arguments `(#:python ,python-2))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("python2-setuptools" ,python2-setuptools)
|
`(;; for the tests
|
||||||
;; for the tests
|
|
||||||
("python2-six" ,python2-six)))
|
("python2-six" ,python2-six)))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
`(("python2-dateutil" ,python2-dateutil-2)
|
`(("python2-dateutil" ,python2-dateutil-2)
|
||||||
|
|
|
@ -3172,11 +3172,7 @@ CDF, Atom 0.3, and Atom 1.0 feeds.")
|
||||||
l:freebsd-doc)))) ; documentation
|
l:freebsd-doc)))) ; documentation
|
||||||
|
|
||||||
(define-public python2-feedparser
|
(define-public python2-feedparser
|
||||||
(let ((base (package-with-python2
|
(package-with-python2 python-feedparser))
|
||||||
(strip-python2-variant python-feedparser))))
|
|
||||||
(package (inherit base)
|
|
||||||
(native-inputs
|
|
||||||
`(("python2-setuptools" ,python2-setuptools))))))
|
|
||||||
|
|
||||||
(define-public r-httpuv
|
(define-public r-httpuv
|
||||||
(package
|
(package
|
||||||
|
|
|
@ -67,6 +67,9 @@
|
||||||
(arguments
|
(arguments
|
||||||
`(#:python ,python-2
|
`(#:python ,python-2
|
||||||
#:tests? #f ; test suite requires networking
|
#:tests? #f ; test suite requires networking
|
||||||
|
;; wicd directly extends distutils command classes,
|
||||||
|
;; we can't easily make setup.py use setuptools.
|
||||||
|
#:use-setuptools? #f
|
||||||
#:phases
|
#:phases
|
||||||
(alist-cons-before
|
(alist-cons-before
|
||||||
'build 'configure
|
'build 'configure
|
||||||
|
|
|
@ -149,6 +149,9 @@ and many other languages.")
|
||||||
(arguments
|
(arguments
|
||||||
`(#:python ,python-2
|
`(#:python ,python-2
|
||||||
#:tests? #f ; tests fail
|
#:tests? #f ; tests fail
|
||||||
|
;; wxPython directly extends distutils command classes,
|
||||||
|
;; we can't easily make setup.py use setuptools.
|
||||||
|
#:use-setuptools? #f
|
||||||
#:configure-flags (list "WXPORT=gtk2"
|
#:configure-flags (list "WXPORT=gtk2"
|
||||||
"UNICODE=1")
|
"UNICODE=1")
|
||||||
#:phases
|
#:phases
|
||||||
|
@ -181,8 +184,7 @@ and many other languages.")
|
||||||
#t)))))
|
#t)))))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("mesa" ,mesa) ; for glcanvas
|
`(("mesa" ,mesa) ; for glcanvas
|
||||||
("pkg-config" ,pkg-config)
|
("pkg-config" ,pkg-config)))
|
||||||
("python2-setuptools" ,python2-setuptools)))
|
|
||||||
(inputs
|
(inputs
|
||||||
`(("gtk+" ,gtk+-2) ; for wxPython/src/helpers.cpp
|
`(("gtk+" ,gtk+-2) ; for wxPython/src/helpers.cpp
|
||||||
("wxwidgets" ,wxwidgets-gtk2)))
|
("wxwidgets" ,wxwidgets-gtk2)))
|
||||||
|
|
|
@ -92,8 +92,7 @@
|
||||||
(inputs `(("pygtk" ,python2-pygtk)
|
(inputs `(("pygtk" ,python2-pygtk)
|
||||||
("xrandr" ,xrandr)))
|
("xrandr" ,xrandr)))
|
||||||
(native-inputs `(("gettext" ,gettext-minimal)
|
(native-inputs `(("gettext" ,gettext-minimal)
|
||||||
("python-docutils" ,python2-docutils)
|
("python-docutils" ,python2-docutils)))
|
||||||
("python-setuptools" ,python2-setuptools)))
|
|
||||||
(home-page "https://christian.amsuess.com/tools/arandr/")
|
(home-page "https://christian.amsuess.com/tools/arandr/")
|
||||||
(synopsis "Another RandR graphical user interface")
|
(synopsis "Another RandR graphical user interface")
|
||||||
;; TRANSLATORS: "X11 resize-and-rotate" should not be translated.
|
;; TRANSLATORS: "X11 resize-and-rotate" should not be translated.
|
||||||
|
|
|
@ -177,6 +177,7 @@ pre-defined variants."
|
||||||
#:key
|
#:key
|
||||||
(tests? #t)
|
(tests? #t)
|
||||||
(test-target "test")
|
(test-target "test")
|
||||||
|
(use-setuptools? #t)
|
||||||
(configure-flags ''())
|
(configure-flags ''())
|
||||||
(phases '(@ (guix build python-build-system)
|
(phases '(@ (guix build python-build-system)
|
||||||
%standard-phases))
|
%standard-phases))
|
||||||
|
@ -204,6 +205,7 @@ provides a 'setup.py' file as its build system."
|
||||||
#:system ,system
|
#:system ,system
|
||||||
#:test-target ,test-target
|
#:test-target ,test-target
|
||||||
#:tests? ,tests?
|
#:tests? ,tests?
|
||||||
|
#:use-setuptools? ,use-setuptools?
|
||||||
#:phases ,phases
|
#:phases ,phases
|
||||||
#:outputs %outputs
|
#:outputs %outputs
|
||||||
#:search-paths ',(map search-path-specification->sexp
|
#:search-paths ',(map search-path-specification->sexp
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||||
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
|
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
|
||||||
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
|
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
|
||||||
|
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -27,31 +28,119 @@
|
||||||
#:use-module (srfi srfi-1)
|
#:use-module (srfi srfi-1)
|
||||||
#:use-module (srfi srfi-26)
|
#:use-module (srfi srfi-26)
|
||||||
#:export (%standard-phases
|
#:export (%standard-phases
|
||||||
|
add-installed-pythonpath
|
||||||
|
site-packages
|
||||||
python-build))
|
python-build))
|
||||||
|
|
||||||
;; Commentary:
|
;; Commentary:
|
||||||
;;
|
;;
|
||||||
;; Builder-side code of the standard Python package build procedure.
|
;; Builder-side code of the standard Python package build procedure.
|
||||||
;;
|
;;
|
||||||
;; Code:
|
;;
|
||||||
|
;; Backgound about the Python installation methods
|
||||||
|
;;
|
||||||
|
;; In Python there are different ways to install packages: distutils,
|
||||||
|
;; setuptools, easy_install and pip. All of these are sharing the file
|
||||||
|
;; setup.py, introduced with distutils in Python 2.0. The setup.py file can be
|
||||||
|
;; considered as a kind of Makefile accepting targets (or commands) like
|
||||||
|
;; "build" and "install". As of autumn 2016 the recommended way to install
|
||||||
|
;; Python packages is using pip.
|
||||||
|
;;
|
||||||
|
;; For both distutils and setuptools, running "python setup.py install" is the
|
||||||
|
;; way to install Python packages. With distutils the "install" command
|
||||||
|
;; basically copies all packages into <prefix>/lib/pythonX.Y/site-packages.
|
||||||
|
;;
|
||||||
|
;; Some time later "setuptools" was established to enhance distutils. To use
|
||||||
|
;; setuptools, the developer imports setuptools in setup.py. When importing
|
||||||
|
;; setuptools, the original "install" command gets overwritten by setuptools'
|
||||||
|
;; "install" command.
|
||||||
|
;;
|
||||||
|
;; The command-line tools easy_install and pip are both capable of finding and
|
||||||
|
;; downloading the package source from PyPI (the Python Package Index). Both
|
||||||
|
;; of them import setuptools and execute the "setup.py" file under their
|
||||||
|
;; control. Thus the "setup.py" behaves as if the developer had imported
|
||||||
|
;; setuptools within setup.py - even is still using only distutils.
|
||||||
|
;;
|
||||||
|
;; Setuptools' "install" command (to be more precise: the "easy_install"
|
||||||
|
;; command which is called by "install") will put the path of the currently
|
||||||
|
;; installed version of each package and it's dependencies (as declared in
|
||||||
|
;; setup.py) into an "easy-install.pth" file. In Guix each packages gets its
|
||||||
|
;; own "site-packages" directory and thus an "easy-install.pth" of its own.
|
||||||
|
;; To avoid conflicts, the python build system renames the file to
|
||||||
|
;; <packagename>.pth in the phase rename-pth-file. To ensure that Python will
|
||||||
|
;; process the .pth file, easy_install also creates a basic "site.py" in each
|
||||||
|
;; "site-packages" directory. The file is the same for all packages, thus
|
||||||
|
;; there is no need to rename it. For more information about .pth files and
|
||||||
|
;; the site module, please refere to
|
||||||
|
;; https://docs.python.org/3/library/site.html.
|
||||||
|
;;
|
||||||
|
;; The .pth files contain the file-system paths (pointing to the store) of all
|
||||||
|
;; dependencies. So the dependency is hidden in the .pth file but is not
|
||||||
|
;; visible in the file-system. Now if packages A and B both required packages
|
||||||
|
;; P, but in different versions, Guix will not detect this when installing
|
||||||
|
;; both A and B to a profile. (For details and example see
|
||||||
|
;; https://lists.gnu.org/archive/html/guix-devel/2016-10/msg01233.html.)
|
||||||
|
;;
|
||||||
|
;; Pip behaves a bit different then easy_install: it always executes
|
||||||
|
;; "setup.py" with the option "--single-version-externally-managed" set. This
|
||||||
|
;; makes setuptools' "install" command run the original "install" command
|
||||||
|
;; instead of the "easy_install" command, so no .pth file (and no site.py)
|
||||||
|
;; will be created. The "site-packages" directory only contains the package
|
||||||
|
;; and the related .egg-info directory.
|
||||||
|
;;
|
||||||
|
;; This is exactly what we need for Guix and this is what we mimic in the
|
||||||
|
;; install phase below.
|
||||||
|
;;
|
||||||
|
;; As a draw back, the magic of the .pth file of linking to the other required
|
||||||
|
;; packages is gone and these packages have now to be declared as
|
||||||
|
;; "propagated-inputs".
|
||||||
|
;;
|
||||||
|
;; Note: Importing setuptools also adds two sub-commands: "install_egg_info"
|
||||||
|
;; and "install_scripts". These sub-commands are executed even if
|
||||||
|
;; "--single-version-externally-managed" is set, thus the .egg-info directory
|
||||||
|
;; and the scripts defined in entry-points will always be created.
|
||||||
|
|
||||||
|
|
||||||
(define (call-setuppy command params)
|
(define setuptools-shim
|
||||||
|
;; Run setup.py with "setuptools" being imported, which will patch
|
||||||
|
;; "distutils". This is needed for packages using "distutils" instead of
|
||||||
|
;; "setuptools" since the former does not understand the
|
||||||
|
;; "--single-version-externally-managed" flag.
|
||||||
|
;; Python code taken from pip 9.0.1 pip/utils/setuptools_build.py
|
||||||
|
(string-append
|
||||||
|
"import setuptools, tokenize;__file__='setup.py';"
|
||||||
|
"f=getattr(tokenize, 'open', open)(__file__);"
|
||||||
|
"code=f.read().replace('\\r\\n', '\\n');"
|
||||||
|
"f.close();"
|
||||||
|
"exec(compile(code, __file__, 'exec'))"))
|
||||||
|
|
||||||
|
(define (call-setuppy command params use-setuptools?)
|
||||||
(if (file-exists? "setup.py")
|
(if (file-exists? "setup.py")
|
||||||
(begin
|
(begin
|
||||||
(format #t "running \"python setup.py\" with command ~s and parameters ~s~%"
|
(format #t "running \"python setup.py\" with command ~s and parameters ~s~%"
|
||||||
command params)
|
command params)
|
||||||
(zero? (apply system* "python" "setup.py" command params)))
|
(if use-setuptools?
|
||||||
|
(zero? (apply system* "python" "-c" setuptools-shim
|
||||||
|
command params))
|
||||||
|
(zero? (apply system* "python" "./setup.py" command params))))
|
||||||
(error "no setup.py found")))
|
(error "no setup.py found")))
|
||||||
|
|
||||||
(define* (build #:rest empty)
|
(define* (build #:key use-setuptools? #:allow-other-keys)
|
||||||
"Build a given Python package."
|
"Build a given Python package."
|
||||||
(call-setuppy "build" '()))
|
(call-setuppy "build" '() use-setuptools?))
|
||||||
|
|
||||||
(define* (check #:key tests? test-target #:allow-other-keys)
|
(define* (check #:key tests? test-target use-setuptools? #:allow-other-keys)
|
||||||
"Run the test suite of a given Python package."
|
"Run the test suite of a given Python package."
|
||||||
(if tests?
|
(if tests?
|
||||||
(call-setuppy test-target '())
|
;; Running `setup.py test` creates an additional .egg-info directory in
|
||||||
|
;; build/lib in some cases, e.g. if the source is in a sub-directory
|
||||||
|
;; (given with `package_dir`). This will by copied to the output, too,
|
||||||
|
;; so we need to remove.
|
||||||
|
(let ((before (find-files "build" "\\.egg-info$" #:directories? #t)))
|
||||||
|
(call-setuppy test-target '() use-setuptools?)
|
||||||
|
(let* ((after (find-files "build" "\\.egg-info$" #:directories? #t))
|
||||||
|
(inter (lset-difference eqv? after before)))
|
||||||
|
(for-each delete-file-recursively inter)))
|
||||||
#t))
|
#t))
|
||||||
|
|
||||||
(define (get-python-version python)
|
(define (get-python-version python)
|
||||||
|
@ -60,25 +149,36 @@
|
||||||
(major+minor (take components 2)))
|
(major+minor (take components 2)))
|
||||||
(string-join major+minor ".")))
|
(string-join major+minor ".")))
|
||||||
|
|
||||||
(define* (install #:key outputs inputs (configure-flags '())
|
(define (site-packages inputs outputs)
|
||||||
|
"Return the path of the current output's Python site-package."
|
||||||
|
(let* ((out (assoc-ref outputs "out"))
|
||||||
|
(python (assoc-ref inputs "python")))
|
||||||
|
(string-append out "/lib/python"
|
||||||
|
(get-python-version python)
|
||||||
|
"/site-packages/")))
|
||||||
|
|
||||||
|
(define (add-installed-pythonpath inputs outputs)
|
||||||
|
"Prepend the Python site-package of OUTPUT to PYTHONPATH. This is useful
|
||||||
|
when running checks after installing the package."
|
||||||
|
(let ((old-path (getenv "PYTHONPATH"))
|
||||||
|
(add-path (site-packages inputs outputs)))
|
||||||
|
(setenv "PYTHONPATH"
|
||||||
|
(string-append add-path
|
||||||
|
(if old-path (string-append ":" old-path) "")))
|
||||||
|
#t))
|
||||||
|
|
||||||
|
(define* (install #:key outputs (configure-flags '()) use-setuptools?
|
||||||
#:allow-other-keys)
|
#:allow-other-keys)
|
||||||
"Install a given Python package."
|
"Install a given Python package."
|
||||||
(let* ((out (assoc-ref outputs "out"))
|
(let* ((out (assoc-ref outputs "out"))
|
||||||
(params (append (list (string-append "--prefix=" out))
|
(params (append (list (string-append "--prefix=" out))
|
||||||
configure-flags))
|
(if use-setuptools?
|
||||||
(python-version (get-python-version (assoc-ref inputs "python")))
|
;; distutils does not accept these flags
|
||||||
(old-path (getenv "PYTHONPATH"))
|
(list "--single-version-externally-managed"
|
||||||
(add-path (string-append out "/lib/python" python-version
|
"--root=/")
|
||||||
"/site-packages/")))
|
'())
|
||||||
;; create the module installation directory and add it to PYTHONPATH
|
configure-flags)))
|
||||||
;; to make setuptools happy
|
(call-setuppy "install" params use-setuptools?)))
|
||||||
(mkdir-p add-path)
|
|
||||||
(setenv "PYTHONPATH"
|
|
||||||
(string-append (if old-path
|
|
||||||
(string-append old-path ":")
|
|
||||||
"")
|
|
||||||
add-path))
|
|
||||||
(call-setuppy "install" params)))
|
|
||||||
|
|
||||||
(define* (wrap #:key inputs outputs #:allow-other-keys)
|
(define* (wrap #:key inputs outputs #:allow-other-keys)
|
||||||
(define (list-of-files dir)
|
(define (list-of-files dir)
|
||||||
|
@ -112,6 +212,9 @@
|
||||||
(define* (rename-pth-file #:key name inputs outputs #:allow-other-keys)
|
(define* (rename-pth-file #:key name inputs outputs #:allow-other-keys)
|
||||||
"Rename easy-install.pth to NAME.pth to avoid conflicts between packages
|
"Rename easy-install.pth to NAME.pth to avoid conflicts between packages
|
||||||
installed with setuptools."
|
installed with setuptools."
|
||||||
|
;; Even if the "easy-install.pth" is not longer created, we kept this phase.
|
||||||
|
;; There still may be packages creating an "easy-install.pth" manually for
|
||||||
|
;; some good reason.
|
||||||
(let* ((out (assoc-ref outputs "out"))
|
(let* ((out (assoc-ref outputs "out"))
|
||||||
(python (assoc-ref inputs "python"))
|
(python (assoc-ref inputs "python"))
|
||||||
(site-packages (string-append out "/lib/python"
|
(site-packages (string-append out "/lib/python"
|
||||||
|
@ -137,8 +240,7 @@ installed with setuptools."
|
||||||
#t))
|
#t))
|
||||||
|
|
||||||
(define %standard-phases
|
(define %standard-phases
|
||||||
;; 'configure' and 'build' phases are not needed. Everything is done during
|
;; 'configure' phase is not needed.
|
||||||
;; 'install'.
|
|
||||||
(modify-phases gnu:%standard-phases
|
(modify-phases gnu:%standard-phases
|
||||||
(add-after 'unpack 'ensure-no-mtimes-pre-1980 ensure-no-mtimes-pre-1980)
|
(add-after 'unpack 'ensure-no-mtimes-pre-1980 ensure-no-mtimes-pre-1980)
|
||||||
(delete 'configure)
|
(delete 'configure)
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;; Copyright © 2015, 2016 Mathieu Lirzin <mthl@gnu.org>
|
;;; Copyright © 2015, 2016 Mathieu Lirzin <mthl@gnu.org>
|
||||||
;;; Copyright © 2016 Danny Milosavljevic <dannym+a@scratchpost.org>
|
;;; Copyright © 2016 Danny Milosavljevic <dannym+a@scratchpost.org>
|
||||||
|
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -59,6 +60,7 @@
|
||||||
#:export (guix-lint
|
#:export (guix-lint
|
||||||
check-description-style
|
check-description-style
|
||||||
check-inputs-should-be-native
|
check-inputs-should-be-native
|
||||||
|
check-inputs-should-not-be-an-input-at-all
|
||||||
check-patch-file-names
|
check-patch-file-names
|
||||||
check-synopsis-style
|
check-synopsis-style
|
||||||
check-derivation
|
check-derivation
|
||||||
|
@ -229,34 +231,65 @@ by two spaces; possible infraction~p at ~{~a~^, ~}")
|
||||||
(format #f (_ "invalid description: ~s") description)
|
(format #f (_ "invalid description: ~s") description)
|
||||||
'description))))
|
'description))))
|
||||||
|
|
||||||
|
(define (warn-if-package-has-input linted inputs-to-check input-names message)
|
||||||
|
;; Emit a warning MESSAGE if some of the inputs named in INPUT-NAMES are
|
||||||
|
;; contained in INPUTS-TO-CHECK, which are assumed to be inputs of package
|
||||||
|
;; LINTED.
|
||||||
|
(match inputs-to-check
|
||||||
|
(((labels packages . outputs) ...)
|
||||||
|
(for-each (lambda (package output)
|
||||||
|
(when (package? package)
|
||||||
|
(let ((input (string-append
|
||||||
|
(package-name package)
|
||||||
|
(if (> (length output) 0)
|
||||||
|
(string-append ":" (car output))
|
||||||
|
""))))
|
||||||
|
(when (member input input-names)
|
||||||
|
(emit-warning linted
|
||||||
|
(format #f (_ message) input)
|
||||||
|
'inputs-to-check)))))
|
||||||
|
packages outputs))))
|
||||||
|
|
||||||
(define (check-inputs-should-be-native package)
|
(define (check-inputs-should-be-native package)
|
||||||
;; Emit a warning if some inputs of PACKAGE are likely to belong to its
|
;; Emit a warning if some inputs of PACKAGE are likely to belong to its
|
||||||
;; native inputs.
|
;; native inputs.
|
||||||
(let ((linted package)
|
(let ((message "'~a' should probably be a native input")
|
||||||
(inputs (package-inputs package))
|
(inputs (package-inputs package))
|
||||||
(native-inputs
|
(input-names
|
||||||
'("pkg-config"
|
'("pkg-config"
|
||||||
"extra-cmake-modules"
|
"extra-cmake-modules"
|
||||||
"glib:bin"
|
"glib:bin"
|
||||||
"intltool"
|
"intltool"
|
||||||
"itstool"
|
"itstool"
|
||||||
"qttools")))
|
"qttools"
|
||||||
(match inputs
|
"python-coverage" "python2-coverage"
|
||||||
(((labels packages . outputs) ...)
|
"python-cython" "python2-cython"
|
||||||
(for-each (lambda (package output)
|
"python-docutils" "python2-docutils"
|
||||||
(when (package? package)
|
"python-mock" "python2-mock"
|
||||||
(let ((input (string-append
|
"python-nose" "python2-nose"
|
||||||
(package-name package)
|
"python-pbr" "python2-pbr"
|
||||||
(if (> (length output) 0)
|
"python-pytest" "python2-pytest"
|
||||||
(string-append ":" (car output))
|
"python-pytest-cov" "python2-pytest-cov"
|
||||||
""))))
|
"python-setuptools-scm" "python2-setuptools-scm"
|
||||||
(when (member input native-inputs)
|
"python-sphinx" "python2-sphinx")))
|
||||||
(emit-warning linted
|
(warn-if-package-has-input package inputs input-names message)))
|
||||||
(format #f (_ "'~a' should probably \
|
|
||||||
be a native input")
|
(define (check-inputs-should-not-be-an-input-at-all package)
|
||||||
input)
|
;; Emit a warning if some inputs of PACKAGE are likely to should not be
|
||||||
'inputs)))))
|
;; an input at all.
|
||||||
packages outputs)))))
|
(let ((message "'~a' should probably not be an input at all")
|
||||||
|
(inputs (package-inputs package))
|
||||||
|
(input-names
|
||||||
|
'("python-setuptools"
|
||||||
|
"python2-setuptools"
|
||||||
|
"python-pip"
|
||||||
|
"python2-pip")))
|
||||||
|
(warn-if-package-has-input package (package-inputs package)
|
||||||
|
input-names message)
|
||||||
|
(warn-if-package-has-input package (package-native-inputs package)
|
||||||
|
input-names message)
|
||||||
|
(warn-if-package-has-input package (package-propagated-inputs package)
|
||||||
|
input-names message)))
|
||||||
|
|
||||||
(define (package-name-regexp package)
|
(define (package-name-regexp package)
|
||||||
"Return a regexp that matches PACKAGE's name as a word at the beginning of a
|
"Return a regexp that matches PACKAGE's name as a word at the beginning of a
|
||||||
|
@ -875,6 +908,10 @@ them for PACKAGE."
|
||||||
(name 'inputs-should-be-native)
|
(name 'inputs-should-be-native)
|
||||||
(description "Identify inputs that should be native inputs")
|
(description "Identify inputs that should be native inputs")
|
||||||
(check check-inputs-should-be-native))
|
(check check-inputs-should-be-native))
|
||||||
|
(lint-checker
|
||||||
|
(name 'inputs-should-not-be-input)
|
||||||
|
(description "Identify inputs that should be inputs at all")
|
||||||
|
(check check-inputs-should-not-be-an-input-at-all))
|
||||||
(lint-checker
|
(lint-checker
|
||||||
(name 'patch-file-names)
|
(name 'patch-file-names)
|
||||||
(description "Validate file names and availability of patches")
|
(description "Validate file names and availability of patches")
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
;;; Copyright © 2014, 2015, 2016 Eric Bavier <bavier@member.fsf.org>
|
;;; Copyright © 2014, 2015, 2016 Eric Bavier <bavier@member.fsf.org>
|
||||||
;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;; Copyright © 2015, 2016 Mathieu Lirzin <mthl@gnu.org>
|
;;; Copyright © 2015, 2016 Mathieu Lirzin <mthl@gnu.org>
|
||||||
|
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -34,6 +35,10 @@
|
||||||
#:use-module (gnu packages)
|
#:use-module (gnu packages)
|
||||||
#:use-module (gnu packages glib)
|
#:use-module (gnu packages glib)
|
||||||
#:use-module (gnu packages pkg-config)
|
#:use-module (gnu packages pkg-config)
|
||||||
|
#:use-module (gnu packages python)
|
||||||
|
#:use-module (web server)
|
||||||
|
#:use-module (web server http)
|
||||||
|
#:use-module (web response)
|
||||||
#:use-module (ice-9 match)
|
#:use-module (ice-9 match)
|
||||||
#:use-module (srfi srfi-9 gnu)
|
#:use-module (srfi srfi-9 gnu)
|
||||||
#:use-module (srfi srfi-64))
|
#:use-module (srfi srfi-64))
|
||||||
|
@ -274,6 +279,38 @@
|
||||||
(check-inputs-should-be-native pkg)))
|
(check-inputs-should-be-native pkg)))
|
||||||
"'glib:bin' should probably be a native input")))
|
"'glib:bin' should probably be a native input")))
|
||||||
|
|
||||||
|
(test-assert
|
||||||
|
"inputs: python-setuptools should not be an input at all (input)"
|
||||||
|
(->bool
|
||||||
|
(string-contains
|
||||||
|
(with-warnings
|
||||||
|
(let ((pkg (dummy-package "x"
|
||||||
|
(inputs `(("python-setuptools" ,python-setuptools))))))
|
||||||
|
(check-inputs-should-not-be-an-input-at-all pkg)))
|
||||||
|
"'python-setuptools' should probably not be an input at all")))
|
||||||
|
|
||||||
|
(test-assert
|
||||||
|
"inputs: python-setuptools should not be an input at all (native-input)"
|
||||||
|
(->bool
|
||||||
|
(string-contains
|
||||||
|
(with-warnings
|
||||||
|
(let ((pkg (dummy-package "x"
|
||||||
|
(native-inputs
|
||||||
|
`(("python-setuptools" ,python-setuptools))))))
|
||||||
|
(check-inputs-should-not-be-an-input-at-all pkg)))
|
||||||
|
"'python-setuptools' should probably not be an input at all")))
|
||||||
|
|
||||||
|
(test-assert
|
||||||
|
"inputs: python-setuptools should not be an input at all (propagated-input)"
|
||||||
|
(->bool
|
||||||
|
(string-contains
|
||||||
|
(with-warnings
|
||||||
|
(let ((pkg (dummy-package "x"
|
||||||
|
(propagated-inputs
|
||||||
|
`(("python-setuptools" ,python-setuptools))))))
|
||||||
|
(check-inputs-should-not-be-an-input-at-all pkg)))
|
||||||
|
"'python-setuptools' should probably not be an input at all")))
|
||||||
|
|
||||||
(test-assert "patches: file names"
|
(test-assert "patches: file names"
|
||||||
(->bool
|
(->bool
|
||||||
(string-contains
|
(string-contains
|
||||||
|
|
Loading…
Reference in New Issue