Commit Graph

45502 Commits

Author SHA1 Message Date
Maxim Cournoyer d514276b93
import: pypi: Include optional test inputs as native-inputs.
* guix/import/pypi.scm (maybe-inputs): Add INPUT-TYPE argument, and use it.
(test-section?): New predicate.
(parse-requires.txt): Collect the optional test inputs, and return them as the
second element of the returned list.
(parse-wheel-metadata): Likewise.
(guess-requirements): Adapt.
(make-pypi-sexp): Likewise, and include the test inputs requirements as native
inputs in the returned package expression.

* tests/pypi.scm (test-requires.txt): Include a test section in the
test-requires.txt data.
(test-requires.txt-beaker): New variable.
("parse-requires.txt"): Adapt.
("parse-requires.txt - Beaker"): New test.
("parse-wheel-metadata, with extras"): Adapt.
("parse-wheel-metadata, with extras - Jedi"): Adapt.
("pypi->guix-package, no wheel"): Re-indent, and add the expected
native-inputs.
("pypi->guix-package, wheels"): Likewise.
2019-07-02 10:08:00 +09:00
Maxim Cournoyer f801c6215d
import: pypi: Completely mute the output of the "unzip" command.
* guix/import/pypi.scm (guess-requirements): Completely mute the output of the
"unzip" command.
2019-07-02 10:08:00 +09:00
Maxim Cournoyer 73e8373060
import: pypi: Fix typo in docstring.
* guix/import/pypi.scm (guess-requirements): Fix typo.
2019-07-02 10:08:00 +09:00
Maxim Cournoyer f0190a5dcd
import: pypi: Parse wheel METADATA instead of metadata.json.
With newer Wheel releases, there is no more metadata.json file; the METADATA
file should be used instead (see: https://github.com/pypa/wheel/issues/195).

This change updates our PyPI importer so that it uses the latter.

* guix/import/pypi.scm (define-module): Remove unnecessary modules and export
the PARSE-WHEEL-METADATA procedure.
(parse-wheel-metadata): Add procedure.
(guess-requirements): Use it.
* tests/pypi.scm (test-metadata): Test it.
2019-07-02 10:08:00 +09:00
Maxim Cournoyer c799ad7276
import: pypi: Support more types of archives.
This change enables the PyPI importer to look for requirements in a source
archive of a different type than "tar.gz" or "tar.bz2".  Also, scan the source
archive to find a requires.txt file.

* guix/import/pypi.scm: (guess-requirements)[tarball-directory]: Remove procedure.
[guess-requirements-from-source]: Use COMRESSED-FILE? to determine if an
archive type is supported, and some file extension logic that chooses either
"tar" or "unzip" as the extractor.  Search for the requires.txt file in the
archive instead of using a static, expected location.
(guess-requirements): Rename the TARBALL argument to ARCHIVE, to denote the
archive format is no longer bound specifically to the Tar format.
(compute-inputs): Likewise.
* tests/pypi.scm ("pypi->guix-package, no wheel"): Mock the requires.txt at a
non-standard location.
("pypi->guix-package, no usable requirement file."): New test.
2019-07-02 10:07:59 +09:00
Maxim Cournoyer cc9a77cd39
import: pypi: Deduplicate requirements.
* guix/import/pypi.scm (parse-requires.txt): Remove potential duplicates.
2019-07-02 10:07:59 +09:00
Maxim Cournoyer 803fb336d6
import: pypi: Improve parsing of requirement specifications.
The previous solution was fragile and could leave unwanted characters in a
requirement name, such as '[' or ']'.

Partially fixes <https://bugs.gnu.org/33047>.

* guix/import/pypi.scm (use-modules): Export SPECIFICATION->REQUIREMENT-NAME
(%requirement-name-regexp): New variable.
(clean-requirement): Rename to...
(specification->requirement-name): this, which now uses
%requirement-name-regexp to select the requirement name from the requirement
specification.
(parse-requires.txt): Adapt.
2019-07-02 10:07:59 +09:00
Maxim Cournoyer c4797121be
import: pypi: Do not parse optional requirements from source.
* guix/import/pypi.scm: Export PARSE-REQUIRES.TXT.
(clean-requirement): Move procedure to the top level.
(guess-requirements): Move the READ-REQUIREMENTS procedure to the top level,
and rename it to PARSE-REQUIRES.TXT.  Move the CLEAN-REQUIREMENT procedure to
the top level.  Move the COMMENT? functions inside the PARSE-REQUIRES.TXT
procedure.
(parse-requires.txt): Add a SECTION-HEADER? predicate, and use it to prevent
parsing optional requirements.

* tests/pypi.scm (test-requires-with-sections): New variable.
("parse-requires.txt, with sections"): New test.
2019-07-02 10:07:59 +09:00
Maxim Cournoyer a853acebe1
tests: pypi: Mute the output of tar.
The output of tar when creating archives for the purpose of tests is not
useful, so we mute it.

* tests/pypi.scm ("pypi->guix-package"): Mute the output of tar.
("pypi->guix-package, wheels"): Likewise.
2019-07-02 10:07:59 +09:00
Maxim Cournoyer 01589acc5e
import: pypi: Do not consider requirements.txt files.
PyPI packages are mandated to have a setup.py file, which contains a listing
of the required dependencies.  The setuptools/distutils machinery embed
metadata in the archives they produce, which contains this information. There
is no need nor gain to collect the requirements from a "requirements.txt"
file, as it is not the true record of dependencies for PyPI packages and may
contain extraneous requirements or not exist at all.

* guix/import/pypi.scm (guess-requirements): Update comment.
[guess-requirements-from-source]: Do not attempt to parse the file
requirements.txt.  Streamline logic.
* tests/pypi.scm (test-requires.txt): Rename from test-requirements, to hint
at the file being tested.
("pypi->guix-package"): Adapt so that the fake package contains a requires.txt
file rather than a requirements.txt file.
("pypi->guix-package, wheels"): Likewise.
2019-07-02 10:07:59 +09:00
Nicolas Goaziou 0f0651295e
gnu: silkaj: Update to 0.7.2.
* gnu/packages/finance.scm (silkaj): Update to 0.7.2.
2019-07-02 00:45:05 +02:00
Nicolas Goaziou 7242d5792b
gnu: giac: Update to 1.5.0-61.
* gnu/packages/algebra.scm (giac): Update to 1.5.0-61.
2019-07-02 00:38:36 +02:00
Nicolas Goaziou 2868804de6
gnu: python-duniterpy: Update to 0.54.3.
* gnu/packages/finance.scm (python-duniterpy): Update to 0.54.3.
2019-07-02 00:13:08 +02:00
Ricardo Wurmus cea5db1b84
etc: Do not recommend use of SKS key servers.
* etc/guix-install.sh: Recommend downloading the GPG key from Savannah.
2019-07-01 23:32:08 +02:00
Ludovic Courtès 78c88baad5
gnu: guile: Add 2.2.6.
* gnu/packages/guile.scm (guile-2.2.5): Rename to...
(guile-2.2.6): ... this, and update to 2.2.6.
2019-07-01 12:29:34 +02:00
Danny Milosavljevic 037bef7db4
gnu: behave: Fix build.
* gnu/packages/check.scm (behave)[propagated-inputs]: Add
python-importlib-metadata.
2019-07-01 12:08:08 +02:00
Marius Bakke a3d1a3487a
gnu: gtksourceviewmm: Build against gtksourceview@3.
* gnu/packages/gtk.scm (gtksourceviewmm)[propagated-inputs]: Change
GTKSOURCEVIEW to GTKSOURCEVIEW-3.
2019-06-30 20:14:58 +02:00
Ivan Petkov 022288ba53
guix: import: crate: fix redundant inputs list nesting
* guix/import/crate.scm (maybe-cargo-inputs): Remove one level of lists.
* guix/import/crate.scm (maybe-cargo-development-inputs): Same.
* tests/crate.scm: (crate->guix-package)[package]<#:arguments>: Remove
one level of list nesting.
2019-06-30 09:01:27 -07:00
Marius Bakke 5dd0269244
gnu: miniupnpc: Update to 2.1.20190625.
* gnu/packages/upnp.scm (miniupnpc): Update to 2.1.20190625.
2019-06-30 14:11:02 +02:00
Marius Bakke 1307aa4427
gnu: mbedtls-apache: Update to 2.16.2.
* gnu/packages/tls.scm (mbedtls-apache): Update to 2.16.2.
2019-06-30 14:11:01 +02:00
Marius Bakke ff68ddb032
gnu: ungoogled-chromium: Build against ICU 64.
* gnu/packages/icu4c.scm (icu4c-64): New public variable.
* gnu/packages/chromium.scm (ungoogled-chromium)[inputs]: Change ICU4C to ICU4C-64.
2019-06-30 14:11:00 +02:00
Marius Bakke 8e92d5465f
gnu: nginx: Update to 1.17.1.
* gnu/packages/web.scm (nginx): Update to 1.17.1.
2019-06-29 23:17:13 +02:00
Marius Bakke 55d1d9eb2f
gnu: gstreamer: Fix buffer offset problem.
* gnu/packages/patches/gstreamer-buffer-reset-offset.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/gstreamer.scm (gstreamer)[source](patches): New field.
[arguments]: Do not disable any tests.
2019-06-29 23:17:13 +02:00
Efraim Flashner bdb51ed6d1
gnu: stow: Update license information.
* gnu/packages/package-management.scm (stow)[license]: Update to gpl3+.
2019-06-29 21:18:50 +03:00
Tobias Geerinckx-Rice 87a90486ca
download: Remove hydra from content-addressed URL list
* guix/build/download-nar.scm (urls-for-item): Remove
mirror.hydra.gnu.org.
* guix/download.scm (%content-addressed-mirrors): Likewise.
2019-06-29 14:31:23 +02:00
Tobias Geerinckx-Rice 3a8bfebed9
etc: Remove hydra.gnu.org.pub key.
* etc/substitutes/hydra.gnu.org.pub: Delete file.
* guix/self.scm (miscellaneous-files): Don't install it.
* Makefile.am (dist_pkgdata_DATA): Remove it.
* gnu/services/base.scm (%default-authorized-guix-keys): Likewise.
(hydra-key-authorization): Rename to…
(substitute-key-authorization): …this.  Adjust only call site.
2019-06-29 14:27:22 +02:00
Tobias Geerinckx-Rice 70d6ec3e4f
doc: Correct the software behind ci.guix.gnu.org.
* doc/guix.texi (Invoking guix publish): It runs Cuirass.
2019-06-29 06:28:50 +02:00
Tobias Geerinckx-Rice 44b5f28a77
doc: Remove references to hydra.gnu.org.
* doc/contributing.texi (Packaging Guidelines, Submitting Patches):
Replace hydra URL with @value{SUBSTITUTE-SERVER}.
* doc/guix.texi (Official Substitute Server): Remove ‘hydra’ @cindex.
(Substitute Server Authorization): Remove note about hydra.gnu.org.pub.
2019-06-29 06:28:50 +02:00
Tobias Geerinckx-Rice 414c4de15d
guix-install.sh: Don't authorise hydra.gnu.org.
* etc/guix-install.sh (sys_authorize_build_farms): Authorise only
ci.guix.gnu.org and make all references to it singular.
2019-06-29 06:28:50 +02:00
Tobias Geerinckx-Rice a3efe269b5
gnu: flashrom: Update to 1.1.
* gnu/packages/flashing-tools.scm (flashrom): Update to 1.1.
2019-06-29 06:28:50 +02:00
Tobias Geerinckx-Rice ad9baf38ce
gnu: di: Update to 4.47.1.
* gnu/packages/admin.scm (di): Update to 4.47.1.
2019-06-29 06:28:50 +02:00
Eric Bavier 30833b1397
gnu: stow: Update to 2.3.0.
* gnu/packages/package-management.scm (stow): Update to 2.3.0.
[propagated-inputs]: New field.
2019-06-28 22:49:21 -05:00
Eric Bavier d1555f34c0
gnu: Add Perl Clone::Choose.
* gnu/packages/perl.scm (perl-clone-choose): New variable.
2019-06-28 22:44:59 -05:00
Ivan Petkov f5de2b9a3e
gnu: rust: use llvm@8
* gnu/packages/llvm.scm (llvm): Rename to...
(llvm-8): ...this.
(llvm): New variable.
* gnu/packages/rust.scm (rust)[inputs]: Use llvm-8
2019-06-28 18:31:51 -07:00
Ivan Petkov f676b2a45f
gnu: rust: downgrade older versions to llvm@6
* gnu/packages/rust.scm: (rust-1.30): Remove llvm override.
2019-06-28 18:31:51 -07:00
Ivan Petkov f309420b2d
gnu: rust: remove debug-info patch thanks to newer gdb version
* gnu/local.mk: (dist_patch_DATA): Delete
%D%/packages/patches/rust-1.30-gdb-llvm.patch
* gnu/packages/rust.scm: (rust-1.30): Delete patch overrides.
(rust-1.31): Delete patch overrides.
2019-06-28 18:31:47 -07:00
Ricardo Wurmus 3d0c9ff83e
gnu: r-quantreg: Update to 5.41.
* gnu/packages/statistics.scm (r-quantreg): Update to 5.41.
2019-06-29 01:34:45 +02:00
Ricardo Wurmus 73a29d39b3
gnu: r-fpc: Update to 2.2-3.
* gnu/packages/statistics.scm (r-fpc): Update to 2.2-3.
[propagated-inputs]: Remove r-mvtnorm.
2019-06-29 01:34:45 +02:00
Ricardo Wurmus 666a5a649c
gnu: r-mclust: Update to 5.4.4.
* gnu/packages/statistics.scm (r-mclust): Update to 5.4.4.
2019-06-29 01:34:45 +02:00
Ricardo Wurmus fad641716e
gnu: r-mvtnorm: Update to 1.0-11.
* gnu/packages/statistics.scm (r-mvtnorm): Update to 1.0-11.
2019-06-29 01:34:45 +02:00
Ricardo Wurmus 30f7acdb6b
gnu: r-segmented: Update to 1.0-0.
* gnu/packages/statistics.scm (r-segmented): Update to 1.0-0.
2019-06-29 01:34:45 +02:00
Ricardo Wurmus 5eddf1e291
gnu: r-plotrix: Update to 3.7-6.
* gnu/packages/statistics.scm (r-plotrix): Update to 3.7-6.
2019-06-29 01:34:45 +02:00
Ricardo Wurmus 0b17f1d1dd
gnu: r-dbplyr: Update to 1.4.2.
* gnu/packages/statistics.scm (r-dbplyr): Update to 1.4.2.
2019-06-29 01:34:45 +02:00
Ricardo Wurmus ef558bcfc5
gnu: r-rlang: Update to 0.4.0.
* gnu/packages/statistics.scm (r-rlang): Update to 0.4.0.
2019-06-29 01:34:45 +02:00
Ricardo Wurmus 45ad3fa9e1
gnu: r-gdtools: Update to 0.1.9.
* gnu/packages/statistics.scm (r-gdtools): Update to 0.1.9.
2019-06-29 01:34:45 +02:00
Ricardo Wurmus 2c4b38002e
gnu: r-cluster: Update to 2.1.0.
* gnu/packages/statistics.scm (r-cluster): Update to 2.1.0.
2019-06-29 01:34:44 +02:00
Ricardo Wurmus d42fb7d293
gnu: r-future-apply: Update to 1.3.0.
* gnu/packages/cran.scm (r-future-apply): Update to 1.3.0.
2019-06-29 01:34:44 +02:00
Ricardo Wurmus 36ff60f539
gnu: r-bootstrap: Update to 2019.6.
* gnu/packages/cran.scm (r-bootstrap): Update to 2019.6.
2019-06-29 01:34:44 +02:00
Ricardo Wurmus 93e72161ae
gnu: r-rnifti: Update to 0.11.0.
* gnu/packages/cran.scm (r-rnifti): Update to 0.11.0.
2019-06-29 01:34:44 +02:00
Ricardo Wurmus 9f84c9e843
gnu: r-rgl: Update to 0.100.24.
* gnu/packages/cran.scm (r-rgl): Update to 0.100.24.
2019-06-29 01:34:44 +02:00