Commit graph

76574 commits

Author SHA1 Message Date
Maxim Cournoyer
83f8b6d32c
import: go: Append version to symbol name in the pinned version mode.
This allows importing packages with complicated version specific dependency
chains without the package symbol names colliding.

* doc/guix.texi (Invoking guix import): Document the --pin-versions option.
Mention that a specific version can be imported.  Remove the experimental
warning.
* guix/import/go.scm (go-module->guix-package-name)[version]: Add optional
argument.  Rewrite the character translation in terms of string-map.
(go-module->guix-package): Conditionally use dependencies whose symbol include
their version, based no the value of the PIN-VERSIONS? argument.
* guix/import/utils.scm (package->definition): Add a new case where the full
version string is appended to the package symbol.
* guix/scripts/import.scm (guix-import): Correctly print forms starting
with '(define-public [...]'.
* guix/scripts/import/go.scm (guix-import-go): Conditionally include the
version in the package symbols defined.
2021-04-09 23:02:37 -04:00
Maxim Cournoyer
a8b927a562
import: go: Add an option to use pinned versions.
The ability to pin versions is handy when having to deal to packages that
bootstrap themselves through a chain of former versions.  Not using pinned
versions in these case could introduce dependency cycles.

* guix/build-system/go.scm (guix)
(%go-version-rx): Rename to...
(%go-pseudo-version-rx): ... this.  Simplify the regular expression, which in
turns makes it more robust.
* guix/build-system/go.scm (go-version->git-ref): Adjust following the above
rename.
(go-pseudo-version?): New predicate.
(go-module-latest-version): Rename to ...
(go-module-version-string): ... this.  Rename goproxy-url argument to just
goproxy.  Add a VERSION keyword argument, update docstring and adjust to have
it used.
(go-module-available-versions): New procedure.
(%go.mod-require-directive-rx): Document regexp.
(parse-go.mod): Harmonize the way dependencies are recorded to a list of lists
rather than a list of pairs, as done for other importers.  Rewrite to directly pass
multiple values rather than a record object.  Filter the replaced modules in a
functional style.
(go-module->guix-package): Add docstring.
[version, pin-versions?]: New arguments.  Rename the GOPROXY-URL argument to
GOPROXY.  Adjust to the new returned value of fetch-go.mod, which is a string.
Fail when the provided version doesn't exist.  Return a list dependencies and
their versions when in pinned versions mode, else just the dependencies.
(go-module-recursive-import)[version, pin-versions?]: New arguments.
Honor the new arguments and guard against network errors.
* guix/scripts/import/go.scm (%default-options): Register a default value for
the goproxy argument.
(show-help): Document that a version can be specified.  Remove the --version
argument and add a --pin-versions argument.
(%options)[version]: Remove option.
[pin-versions]: Add option.
(guix-import-go): Adjust so the version provided from the module name is
honored, along the new pin-versions? argument.
* tests/go.scm: Adjust and add new tests.
2021-04-09 22:41:32 -04:00
Maxim Cournoyer
6aee902eaf
import: go: Improve synopsis and description parsing.
* guix/import/go.scm (%strict-tokenizer?): Set parameter to #t.
(go-path-escape): Redefine to prevent inlining.
(http-get*): Replace by ...
(http-fetch*): this ...
(json-fetch*): New procedure.
(go.pkg.dev-info): Use http-fetch*.
(go-package-licenses): Rewrite in terms of go.pkg.dev-info.
(go-package-description): Likewise.
(go-package-synopsis): Likewise.
(fetch-go.mod): Use the memoized http-fetch*.
(parse-go.mod): Adjust to receive content as a string.
(fetch-module-meta-data): Adjust to use http-fetch*.
(go-module->guix-package): Adjust to the modified fetch-go.mod return value.
[inputs]: Use propagated inputs, which is the most common situations for Go
libraries.
[description]: Beautify description.
[licenses]: Do no check for #f.  The result of the license parsing is always a
list.
* tests/go.scm: Adjust following above changes.
2021-04-09 22:41:31 -04:00
Maxim Cournoyer
2446a112df
import: utils: Refactor maybe-inputs and add maybe-propagated-inputs.
* guix/import/utils.scm (maybe-inputs)[type]: New argument.  Update docstring.
The argument is used to derive the input field name to use.
(maybe-native-inputs): Adjust to use the above.
(maybe-propagated-inputs): New procedure.
2021-04-09 22:41:31 -04:00
Leo Famulari
b685337c94
doc: Quote a URL to avoid misinterpretation by the shell.
Otherwise, the shell tries to perform pattern-matching based on the "?"
character.

Reported by nij in #guix.

* doc/guix.texi (Binary Installation): Add quotes around OPENPGP-SIGNING-KEY-URL.
2021-04-09 20:52:24 -04:00
Brendan Tildesley
f68bcc1bc3
gnu: python2-sip: Remove package.
* gnu/packages/qt.scm (python2-sip): Delete variable.
2021-04-09 16:09:27 -04:00
Brendan Tildesley
c947920590
gnu: Remove python2-pyqt.
* gnu/packages/qt.scm (python2-pyqt): Remove variable.
2021-04-09 16:09:27 -04:00
Brendan Tildesley
701c0a7904
gnu: Remove python2-pyqtwebengine.
* gnu/packages/qt.scm (python2-pyqtwebengine): Remove variable.
2021-04-09 16:09:26 -04:00
Brendan Tildesley
5d53eec337
gnu: calibre: Update to 5.14.0.
* gnu/packages/ebook.scm (calibre): Update to 5.14.0.
[source]: Adjust the snippet to preserve some files used by the HTML reader.
[native-inputs]: Add python-pyqt-builder. Replace python2-flake8 with
python-flake8.
[inputs]: Remove chmlib, js-mathjax, python-chardet, and python-sip.  Add
python-cchardet, python-speechd, python-zeroconf, python-py7zr, python-pychm,
python-pycryptodome, libjpeg, and libjxr.  Replace all Python 2 dependencies
with their Python 3 equivalents.
[arguments]: Build with the default Python and adjust custom phases accordingly.
Adjust the 'configure' phase to changes in how Calibre uses SIP, and patch
lookup paths for libjpeg and libjxr.
Rename the 'build-extra' phase to 'install-rapydscript', and run it after the
'install' phase. Adjust it for Calibre 5.14.0.
* gnu/packages/patches/calibre-no-updates-dialog.patch,
gnu/packages/patches/calibre-remove-test-sqlite.patch,
gnu/packages/patches/calibre-remove-test-unrar.patch: Adjust patches for Calibre
5.14.0.
2021-04-09 16:09:26 -04:00
Brendan Tildesley
065f2cceb7
gnu: python-html5lib: Depend on python-chardet.
* gnu/packages/python-web.scm (python-html5lib)[propagated-inputs]: Add
python-chardet.
2021-04-09 16:09:26 -04:00
Brendan Tildesley
141e74a830
gnu: Add python-cchardet.
* gnu/packages/freedesktop.scm (python-cchardet): New variable.
2021-04-09 16:09:26 -04:00
Brendan Tildesley
9042a30416
gnu: Add python-pychm.
* gnu/packages/ebook.scm (python-pychm): New variable.
2021-04-09 16:09:26 -04:00
Brendan Tildesley
506eb97de7
gnu: python-feedparser: Update to 6.0.2.
* gnu/packages/web.scm (python-feedparser): Update to 6.0.2.
2021-04-09 16:09:26 -04:00
Brendan Tildesley
ac50f6d20d
gnu: python-markdown: Update to 3.3.4.
* gnu/packages/python-xyz.scm (python-markdown): Update to 3.3.4.
2021-04-09 16:09:25 -04:00
Brendan Tildesley
875c2ece92
gnu: Add python-py7zr.
* gnu/packages/python-compression.scm (python-py7zr): New variable.
2021-04-09 16:09:25 -04:00
Brendan Tildesley
eacfed8b08
gnu: Add python-bcj-cffi.
* gnu/packages/python-compression.scm (python-bcj-cffi): New variable.
2021-04-09 16:09:25 -04:00
Brendan Tildesley
dde1c7655d
gnu: Add python-pyzstd
* gnu/packages/python-compression.scm (python-pyzstd): New variable.
2021-04-09 16:09:25 -04:00
Brendan Tildesley
852f932485
gnu: python-zstandard: Update to 0.15.2.
* gnu/packages/python-compression.scm (python-zstandard): Update to 0.15.2.
2021-04-09 16:09:25 -04:00
Brendan Tildesley
8cc985a00b
gnu: Add python-ppmd-cffi.
* gnu/packages/python-compression.scm (python-ppmd-cffi): New variable.
2021-04-09 16:09:25 -04:00
Brendan Tildesley
f9d8d438b3
gnu: Add python-multivolumefile.
* gnu/packages/python-compression.scm (python-multivolumefile): New
variable.
2021-04-09 16:09:24 -04:00
Brendan Tildesley
ed2c89f25d
gnu: Add python-pyannotate.
* gnu/packages/python-check.scm (python-pyannotate): New variable.
2021-04-09 16:09:24 -04:00
Brendan Tildesley
506b3299f3
gnu: Add python-zeroconf.
* gnu/packages/python-xyz.scm (python-zeroconf): New variable.
2021-04-09 16:09:24 -04:00
Brendan Tildesley
944640f3ee
gnu: Add python-ifaddr.
* gnu/packages/python-xyz.scm (python-ifaddr): New variable.
2021-04-09 16:09:24 -04:00
Brendan Tildesley
586f017d98
gnu: python-pyqt: Fix build for new python-sip.
* gnu/packages/qt.scm (python-pyqt)
[source]: Remove pyqt-public-sip.patch.
[propagated-inputs]: Add python-pyqt5-sip.
* gnu/packages/patches/pyqt-public-sip.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Remove it.
2021-04-09 16:09:24 -04:00
Brendan Tildesley
8effa05378
gnu: Add python-pyqt5-sip.
* gnu/packages/qt.scm (python-pyqt5-sip): New variable.
2021-04-09 16:09:24 -04:00
Brendan Tildesley
9360706294
gnu: Add python-pyqt-builder.
* gnu/packages/qt.scm (python-pyqt-builder): New variable.
2021-04-09 16:09:23 -04:00
Brendan Tildesley
c990604cb0
gnu: python-sip: Update to 5.5.0. Add python-sip-4
* gnu/packages/qt.scm (python-sip): Update to 5.5.0.
(python-sip-4): New variable. Rename the old python-sip to python-sip-4.
(python2-sip): Inherit from python-sip-4.
* gnu/packages/maths.scm (veusz)[native-inputs]: Use python-sip-4.
* gnu/packages/pdf.scm (python-poppler-qt5): Use python-sip-4.
* gnu/packages/geo.scm (qgis)[arguments]: Fix build for python-sip@5.
2021-04-09 16:09:23 -04:00
Leo Famulari
073b12d70d
Revert ".guix-authorizations: Remove biscuolo due to inactivity."
The original commit was made mistakenly; I forgot to look at all of our
Git repos, including maintenance.git, when checking for recent activity.

This reverts commit 94521669ed.
2021-04-09 14:28:28 -04:00
Kei Kebreau
018b6b46f1
gnu: freeciv: Update to 2.6.4.
* gnu/packages/games.scm (freeciv): Update to 2.6.4.
2021-04-09 13:37:14 -04:00
Tobias Geerinckx-Rice
8615e21a8c
gnu: pidgin: Update to 2.14.3.
* gnu/packages/messaging.scm (pidgin): Update to 2.14.3.
[arguments]: Add an 'eat-leftovers phase.
2021-04-09 18:29:10 +02:00
Tobias Geerinckx-Rice
ba1030be40
gnu: stellarium: Update to 0.21.0.
* gnu/packages/astronomy.scm (stellarium): Update to 0.21.0.
2021-04-09 18:29:10 +02:00
Tobias Geerinckx-Rice
dcfa85ac1f
gnu: ruby-rexml: Update to 3.2.5.
* gnu/packages/ruby.scm (ruby-rexml): Update to 3.2.5.
2021-04-09 18:29:09 +02:00
Tobias Geerinckx-Rice
f6a62f68fa
gnu: libmwaw: Update to 0.3.18.
* gnu/packages/libreoffice.scm (libmwaw): Update to 0.3.18.
2021-04-09 18:29:09 +02:00
Tobias Geerinckx-Rice
dd55d64338
gnu: python-yamllint: Update to 1.26.1.
* gnu/packages/python-xyz.scm (python-yamllint): Update to 1.26.1.
2021-04-09 18:29:09 +02:00
Ludovic Courtès
ec8d09ee67
gnu: guix: Update to 2d73086.
* gnu/packages/package-management.scm (guix): Update to 2d73086.
2021-04-09 18:09:07 +02:00
Ludovic Courtès
2d73086262
daemon: 'guix substitute' replies on FD 4.
This avoids the situation where error messages would unintentionally go
to stderr and be wrongfully interpreted as a reply by the daemon.

Fixes <https://bugs.gnu.org/46362>.
This is a followup to ee3226e9d5.

* guix/scripts/substitute.scm (display-narinfo-data): Add 'port'
parameter and honor it.
(process-query): Likewise.
(process-substitution): Likewise.
(%error-to-file-descriptor-4?, with-redirected-error-port): Remove.
(%reply-file-descriptor): New variable.
(guix-substitute): Remove use of 'with-redirected-error-port'.  Define
'reply-port' and pass it to 'process-query' and 'process-substitution'.
* nix/libstore/build.cc (SubstitutionGoal::handleChildOutput): Swap
'builderOut' and 'fromAgent'.
* nix/libstore/local-store.cc (LocalStore::getLineFromSubstituter):
Likewise.
* tests/substitute.scm <top level>: Set '%reply-file-descriptor'
rather than '%error-to-file-descriptor-4?'.
2021-04-09 17:46:38 +02:00
Franck Pérignon
ccff338086
gnu: Add boost-mpi.
* gnu/packages/boost.scm (boost-mpi): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-04-09 17:46:38 +02:00
Masaya Tojo
4b83f820dd
gnu: guile-cv: Use guile2.2 version of guile-lib.
* gnu/packages/guile-xyz.scm (guile-cv)[propagated-inputs]: Change from
guile-lib to guile2.2-lib.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-04-09 17:46:38 +02:00
Tobias Geerinckx-Rice
24f69e797d
gnu: speedtest-cli: Update to 2.1.3.
* gnu/packages/networking.scm (speedtest-cli): Update to 2.1.3.
2021-04-09 17:38:58 +02:00
Tobias Geerinckx-Rice
ececdfc878
gnu: clamav: Update to 0.103.2.
* gnu/packages/antivirus.scm (clamav): Update to 0.103.2.
2021-04-09 17:38:29 +02:00
Tobias Geerinckx-Rice
28c09381d4
gnu: xsimd: Update to 7.4.10.
* gnu/packages/cpp.scm (xsimd): Update to 7.4.10.
2021-04-09 17:37:44 +02:00
Tobias Geerinckx-Rice
c8d809f9a4
gnu: dnsmasq: Update to 2.85 [fixes CVE-2021-3448].
* gnu/packages/dns.scm (dnsmasq): Update to 2.85.
2021-04-09 17:18:43 +02:00
Paul Garlick
c3c338e0b5
gnu: Add texlive-cabin.
* gnu/packages/tex.scm: New variable.
2021-04-09 14:35:32 +01:00
Mathieu Othacehe
931572d230
gnu: cuirass: Disable tests on aarch64.
* gnu/packages/ci.scm (cuirass)[arguments]: Disable tests on aarch64.
2021-04-09 14:26:38 +02:00
Efraim Flashner
a365777ebd
gnu: gcc-10: Update to 10.3.0.
* gnu/packages/gcc.scm (gcc-10): Update to 10.3.0.
2021-04-09 15:06:35 +03:00
Mathieu Othacehe
f4d1abf1f8
gnu: cuirass: Update to 1.0.0-9.d601fe0.
* gnu/packages/ci.scm (cuirass): Update to 1.0.0-9.d601fe0.
2021-04-09 13:40:22 +02:00
Christopher Baines
eda4bb4f16
services: Add Laminar.
* gnu/services/ci.scm: New file.
* gnu/tests/ci.scm: New file.
* doc/guix.texi (Laminar): Document the Laminar service.
2021-04-09 11:59:58 +01:00
Christopher Baines
2b469e6023
gnu: Add laminar.
* gnu/packages/ci.scm (laminar): New variable.
2021-04-09 11:54:55 +01:00
Christopher Baines
a9f4001df9
gnu: guix-build-coordinator: Update to 0-24.6fb5eaf.
* gnu/packages/package-management.scm (guix-build-coordinator): Update to
0-24.6fb5eaf.
2021-04-09 11:32:40 +01:00
Christopher Baines
b12fd63ffd
gnu: guix-data-service: Update to 0.0.1-27.df2a0a7.
* gnu/packages/web.scm (guix-data-service): Update to 0.0.1-27.df2a0a7.
2021-04-09 11:30:08 +01:00