Commit graph

45504 commits

Author SHA1 Message Date
Maxim Cournoyer
4b60ab8c00
import: pypi: Preserve package name case when forming pypi-uri.
Fixes <https://bugs.gnu.org/33046>.

* guix/build-system/python.scm (pypi-uri): Update the host URI to
"files.pythonhosted.org".
* guix/import/pypi.scm (make-pypi-sexp): Preserve the package name case when
the source URL calls for it.
2019-07-02 10:08:00 +09:00
Maxim Cournoyer
a537620054
import: pypi: Update the host URI.
* guix/build-system/python.scm (pypi-uri): Update the host URI to
"files.pythonhosted.org".
2019-07-02 10:08:00 +09:00
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