Age | Commit message (Expand) | Author |
2019-09-02 | lint: Add 'archival' checker....* guix/lint.scm (check-archival): New procedure.
(%network-dependent-checkers): Add 'archival' checker.
* tests/lint.scm ("archival: missing content")
("archival: content available")
("archival: missing revision")
("archival: revision available")
("archival: rate limit reached"): New tests.
* doc/guix.texi (Invoking guix lint): Document it.
| Ludovic Courtès |
2019-09-02 | swh: Make 'commit-id?' public....* guix/swh.scm (commit-id?): Make public.
| Ludovic Courtès |
2019-09-02 | swh: Add hooks for rate limiting handling....* guix/swh.scm (%allow-request?, %save-rate-limit-reset-time)
(%general-rate-limit-reset-time): New variables.
(request-rate-limit-reached?, update-rate-limit-reset-time!): New
procedures.
(call): Call '%allow-request?'. Change 'swh-error' protocol to pass
METHOD in addition to URL.
* tests/swh.scm ("rate limit reached")
("%allow-request? and request-rate-limit-reached?"): New tests.
| Ludovic Courtès |
2019-09-02 | tests: 'with-http-server' accepts multiple responses....* guix/tests/http.scm (call-with-http-server): Replace 'code' and 'data'
parameters with 'responses+data'. Compute RESPONSES as a function of
that. Remove #:headers parameter.
[http-write]: Quit only when RESPONSES is empty.
[server-body]: Get the response and data from RESPONSES, and set it to
point to the rest.
(with-http-server): Adjust accordingly.
* tests/derivations.scm ("'download' built-in builder")
("'download' built-in builder, invalid hash")
("'download' built-in builder, not found")
("'download' built-in builder, check mode"): Adjust to new
'with-http-server' interface.
* tests/lint.scm ("home-page: 200")
("home-page: 200 but short length")
("home-page: 404", "home-page: 301, invalid"):
("home-page: 301 -> 200", "home-page: 301 -> 404")
("source: 200", "source: 200 but short length")
("source: 404", "source: 404 and 200")
("source: 301 -> 200", "source: 301 -> 404"):
("github-url", github-url): Likewise.
* tests/swh.scm (with-json-result)
("lookup-origin, not found"): Likewise.
| Ludovic Courtès |
2019-09-02 | import: cran: Only use the git import with what looks like a URL....* guix/import/cran.scm (fetch-description): Abort if the argument does not
look like a URL.
| Ricardo Wurmus |
2019-09-02 | import: cran: Retry failed git imports on Bioconductor....* guix/import/cran.scm (cran->guix-package): Retry failed git imports on
Bioconductor.
| Ricardo Wurmus |
2019-09-02 | build/cargo-build-system: Use invoke....* guix/build/cargo-build-system.scm (crate-src?, build, check,
install): Use 'invoke'.
| Efraim Flashner |
2019-08-31 | lint: Gracefully handle errors from 'connect' & co....* guix/lint.scm (call-with-networking-fail-safe): Add case for
'system-error' as typically raised by 'connect' & co.
| Ludovic Courtès |
2019-08-30 | guix system: Reinstalling the bootloader preserves extra menu entries....Fixes <https://bugs.gnu.org/36876>.
Reported by Jesse Gibbons <jgibbons2357@gmail.com>.
Previously 'guix system delete-generations' or 'switch-generation' would
lose the extra bootloader menu entries specified in the current system's
configuration. This fixes that.
* guix/scripts/system.scm (reinstall-bootloader): Turn PARAMS into a
single <boot-parameters>. Adjust ENTRIES to include extra menu entries
specified in PARAMS.
| Ludovic Courtès |
2019-08-30 | lint: formatting: Reporters return #f or a warning....* guix/lint.scm (report-tabulations, report-trailing-white-space)
(report-long-line, report-lone-parentheses): Return #f instead
of *unspecified* when there are no warnings.
(report-formatting-issues): Use 'filter-map' instead of 'map' + 'filter'.
| Ludovic Courtès |
2019-08-29 | import: cran: Add support for git repositories....* guix/import/cran.scm (vcs-file?): New procedure.
(download): Support downloading from git.
(fetch-description): Add a clause for the 'git repository type.
(files-match-pattern?): New procedure.
(tarball-files-match-pattern?): Implement in terms of FILES-MATCH-PATTERN?.
(directory-needs-fortran?, directory-needs-zlib?,
directory-needs-pkg-config?): New procedures.
(needs-fortran?, needs-zlib?, needs-pkg-config?): Rename these procedures...
(tarball-needs-fortran?, tarball-needs-zlib?, tarball-needs-pkg-config?):
...to this, and use them.
(file-hash): New procedure.
(description->package): Handle the 'git repository type.
* guix/import/utils.scm (package->definition): Handle package expression
inside of a let.
* guix/scripts/import.scm (guix-import): Handle let expressions.
* doc/guix.texi (Invoking guix import): Document it.
| Ricardo Wurmus |
2019-08-29 | import: cran: guix-import-cran: Use (guix import utils)....* guix/scripts/import/cran.scm (guix-import-cran): Use PACKAGE->DEFINITION
from (guix import utils) instead of custom procedure.
| Ricardo Wurmus |
2019-08-28 | deploy: Do not quote error messages....* guix/scripts/deploy.scm (guix-deploy): Do not quote the message.
| Ludovic Courtès |
2019-08-28 | remote, ssh: Show the command exit status upon failure....* guix/remote.scm (remote-pipe-for-gexp): Show the exit status in error
message.
* guix/ssh.scm (remote-inferior): Likewise.
| Ludovic Courtès |
2019-08-28 | diagnostics: Avoid highlighting complete messages....* guix/diagnostics.scm (%highlight-argument): Don't highlight ARG if it
contains white space.
| Ludovic Courtès |
2019-08-28 | lint: Log diagnostics with 'info', not 'warning'....* guix/scripts/lint.scm (emit-warnings): Use 'info', not 'warning'.
This removes the unhelpful "warning:" prefix that commit
3d33c93cef67d88bdc9409959f3c1f3857af09cf introduced.
| Ludovic Courtès |
2019-08-28 | swh: Correctly handle visits without a snapshot....As discussed at
<https://sympa.inria.fr/sympa/arc/swh-devel/2019-08/msg00016.html>.
* guix/swh.scm (string*): New procedure.
(<visit>)[snapshot-url]: Pass 'string*' as the conversion procedure.
[status]: Pass 'string->symbol' as the conversion procedure.
(visit-snapshot): Return #f when 'visit-snapshot-url' returns #f.
(lookup-origin-revision): Filter to visits for which
'visit-snapshot-url' is true.
| Ludovic Courtès |
2019-08-28 | swh: 'swh-download' prints debugging info....* guix/git-download.scm (git-fetch): Print a message before calling
'swh-download'.
* guix/swh.scm (swh-download): Add #:log-port. Write debugging messages
to LOG-PORT.
| Ludovic Courtès |
2019-08-28 | build/cargo-build-system: Remove 'update-cargo-lock phase....* guix/build/cargo-build-system.scm (update-cargo-lock): Remove
procedure.
(configure): Delete Cargo.lock file if it exists.
(%standard-phases): Remove 'update-cargo-lock.
* doc/guix.texi (Build System)[cargo-build-system]: Remove references to
the 'update-cargo-lock phase.
| Efraim Flashner |
2019-08-28 | lint: Correct use of 'with-networking-fail-safe'....Fixes <https://bugs.gnu.org/37160>.
Reported by Jonathan Brielmaier <jonathan.brielmaier@web.de>.
* guix/lint.scm (check-for-updates): Make sure the first argument to
'with-networking-fail-safe' is the whole error message.
| Ludovic Courtès |
2019-08-27 | pack: Create /tmp in Docker images....Fixes <https://bugs.gnu.org/37161>.
* guix/scripts/pack.scm (docker-image)[build]: Add a 'directory' entry
for "/tmp" to DIRECTIVES.
* tests/pack.scm ("docker-image + localstatedir"): Test the presence of /tmp.
* gnu/tests/docker.scm (run-docker-test)["Load docker image and run
it"]: Test the presence and permission bits of "/tmp".
| Ludovic Courtès |
2019-08-27 | docker: Take a list of directives instead of a list of symlinks....* guix/docker.scm (symlink-source, topmost-component): Remove.
(directive-file): New procedure.
(build-docker-image): Remove #:symlinks and add #:extra-files.
Make a sub-directory "extra" and call 'evaluate-populate-directive' for
EXTRA-FILES in that directory.
* guix/scripts/pack.scm (docker-image)[build](symlink->directives,
directives): New procedures.
Pass #:extra-files instead of #:symlinks to 'build-docker-image'.
| Ludovic Courtès |
2019-08-27 | import: github: 'github-package?' uses 'package-upstream-name'....* guix/import/github.scm (updated-github-url): Use
'package-upstream-name' instead of 'package-name'. This allows
'github-package?' to match more packages, given an appropriate upstream
name.
| Ludovic Courtès |
2019-08-26 | Merge branch 'wip-binaries' | Mark H Weaver |
2019-08-26 | packages: Apply target triplet in bag-transitive-host-inputs....Fixes a bug where propagated inputs that should be cross-compiled are instead
compiled for the host system.
* guix/packages.scm (bag-transitive-host-inputs): Call transitive-inputs in
the context of the bag's target system triplet.
| David Thompson |
2019-08-23 | swh: 'swh-download' checks return value of 'vault-fetch'....Reported by Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
in <https://bugs.gnu.org/36931>.
* guix/swh.scm (swh-download): Check whether 'vault-fetch' return false
before calling 'dump-port'.
| Ludovic Courtès |
2019-08-23 | pack: '-R' honors the requested output....Fixes <https://bugs.gnu.org/36925>.
Reported by Jesse Gibbons <jgibbons2357@gmail.com>.
* guix/scripts/pack.scm (wrapped-package): Add 'output*' parameter.
[build]: Define 'input' and 'target'; use them instead of #$package and
#$output, respectively.
(wrapped-manifest-entry): New procedure.
(map-manifest-entries): Call PROC directly.
(guix-pack): Pass WRAPPED-MANIFEST-ENTRY to 'map-manifest-entries'.
| Ludovic Courtès |
2019-08-22 | Revert "import: utils: Add hash-ref*."...This reverts commit 8a3b11d1eb21e54b4f3a3cbceffed8ce2c11512e.
| Mark H Weaver |
2019-08-22 | Revert "import: cpan: Adapt for the change to guile-json version 3."...This reverts commit 01ce7af25add55514f737af48ea6c127bedfde67.
| Mark H Weaver |
2019-08-21 | import: cpan: Adapt for the change to guile-json version 3....In guile-json version 3, JSON objects are represented as hash tables, rather
than alists.
* guix/import/cpan.scm (string->license): Change the match expression to match
on lists, rather than vectors.
(module->dist-name, cpan-source-url, cpan-version): Change assoc-ref to
hash-ref.
(cpan-module->sexp): Change assoc-ref to hash-ref, and assoc-ref* to
hash-ref*.
* tests/cpan.scm ("source-url-http", "source-url-https"): Convert the alist to
a hash table.
| Christopher Baines |
2019-08-21 | import: utils: Add hash-ref*....With the change to guile-json version 3, JSON objects are represented as hash
tables, rather than alists. The cpan importer uses assoc-ref* on a hash table,
so add an equivalent function for hash tables.
* guix/import/utils.scm (hash-ref*): New procedure.
| Christopher Baines |
2019-08-17 | upstream: Gracefully handle archive type changes....Previously, if the currently used archive type (e.g., "bz2") was
unavailable for the new version, 'guix refresh -u' would crash instead
of updating to the archive with the new type.
* guix/upstream.scm (package-update/url-fetch): When URL is #f, pick the
first of URLS; likewise for SIGNATURE-URL.
| Ludovic Courtès |
2019-08-17 | refresh: Use the standard diagnostic procedures....* guix/scripts/refresh.scm (warn-no-updater): Use 'warning' instead of
'format'.
(update-package): Use 'info' and 'warning' instead of 'format'.
| Ludovic Courtès |
2019-08-17 | import: gnome: Update for Guile-JSON 3.x....This is a followup to 81c3dc32244a17241d74eea9fa265edfcb326f6d.
* guix/import/gnome.scm (jsonish->upstream-source): Use 'assoc-ref'
instead of 'hash-ref'.
(latest-gnome-release): Match a vector containing an alist, not a hash
table. Use 'fold' instead of 'hash-fold' over RELEASES.
| Ludovic Courtès |
2019-08-17 | derivations: Fix typo in docstring....* guix/derivations.scm (derivation-build-plan): Fix typo in the
docstring.
| Ludovic Courtès |
2019-08-16 | derivations: Delete duplicate inputs when computing derivation hash....Fixes <https://bugs.gnu.org/36777>.
Reported by Carl Dong <contact@carldong.me>.
* guix/derivations.scm (derivation/masked-inputs): Call
'delete-duplicates' on INPUTS.
* tests/derivations.scm ("derivation with duplicate fixed-output inputs"):
New test.
| Ludovic Courtès |
2019-08-16 | channels: Add 'profile-channels'....* guix/channels.scm (profile-channels): New procedure.
* guix/scripts/describe.scm (display-profile-info)[channels]: Define in
terms of 'profile-channels'.
| Ludovic Courtès |
2019-08-16 | import: cran: Support experiment and annotation packages....* guix/import/cran.scm (%bioconductor-packages-list-url): Replace variable...
(bioconductor-packages-list-url): ...with this procedure.
(bioconductor-packages-list): Accept optional TYPE argument.
(latest-bioconductor-package-version): Same.
(fetch-description): Determine package type and use it in calls to
LATEST-BIOCONDUCTOR-PACKAGE-VERSION and BIOCONDUCTOR-URI.
(description->package): Pass package type to URI helper procedure; include
package type in annotation or experiment packages from Bioconducter.
| Ricardo Wurmus |
2019-08-16 | build-system/r: bioconductor-uri: Take optional package type....* guix/build-system/r.scm (bioconductor-uri): Take optional TYPE argument to
return annotation or experiment URLs.
| Ricardo Wurmus |
2019-08-16 | machine: Use 'become-command'....* gnu/machine/ssh.scm (managed-host-remote-eval): Pass an appropriate
'become-command' to 'remote-eval'.
* guix/ssh.scm (remote-authorize-signing-key): Add optional
'become-command' argument.
All callers changed.
| Jakob L. Kreuze |
2019-08-16 | remote: Resolve missing 'G_'....* guix/remote.scm: Require (guix i18n).
| Jakob L. Kreuze |
2019-08-15 | guix: copy-linux-headers: Extract procedure, add headers....* guix/build/make-bootstrap.scm (copy-linux-headers): New procedure; extract
from make-stripped-libc and add headers for Mes bootstrap.
(make-stripped-libc): Use it.
| Jan Nieuwenhuizen |
2019-08-15 | remote: Use (%daemon-socket-uri) rather than hard-coded path....* guix/remote.scm (remote-eval): Use (%daemon-socket-uri) as the default
value of 'socket-name' rather than hard-coded path.
| Jakob L. Kreuze |
2019-08-15 | machine: Automatically authorize the coordinator's signing key....* guix/ssh.scm (remote-authorize-signing-key): New variable.
* gnu/machine/ssh.scm (deploy-managed-host): Authorize coordinator's
signing key before any invocations of 'remote-eval'.
(deploy-managed-host): Display an error if a signing key does not exist.
* doc/guix.texi (Invoking guix deploy): Remove section describing manual
signing key authorization.
(Invoking guix deploy): Add section describing the 'authorize?' field.
| Jakob L. Kreuze |
2019-08-15 | machine: Implement 'roll-back-machine'....* gnu/machine.scm (roll-back-machine, &deploy-error, deploy-error?)
(deploy-error-should-roll-back)
(deploy-error-captured-args): New variable.
* gnu/machine/ssh.scm (roll-back-managed-host): New variable.
* guix/scripts/deploy.scm (guix-deploy): Roll-back systems when a
deployment fails.
| Jakob L. Kreuze |
2019-08-15 | machine: Allow non-root users to deploy....* doc/guix.texi (Invoking guix deploy): Add section describing
prerequisites for deploying as a non-root user.
* guix/remote.scm (remote-pipe-for-gexp): New optional 'become-command'
argument.
(%remote-eval): New optional 'become-command' argument.
(remote-eval): New 'become-command' keyword argument.
* guix/ssh.scm (remote-inferior): New optional 'become-command'
argument.
(inferior-remote-eval): New optional 'become-command' argument.
(remote-authorize-signing-key): New optional 'become-command' argument.
* gnu/machine/ssh.scm (machine-become-command): New variable.
(managed-host-remote-eval): Invoke 'remote-eval' with the
'#:become-command' keyword.
(deploy-managed-host): Invoke 'remote-authorize-signing-key' with the
'#:become-command' keyword.
| Jakob L. Kreuze |
2019-08-14 | remote: Remove '--system' argument....* gnu/services.scm (activation-script): Return a <program-file> rather
than a <scheme-file>.
* gnu/deploy.scm (guix-deploy): Remove handling for '--system'.
(show-help): Remove documentation for '--system'.
(%default-options): Remove default setting for 'system'.
| Jakob L. Kreuze |
2019-08-14 | remote: Build derivations appropriate for the remote's...* gnu/machine/ssh.scm (machine-ssh-configuration): Add 'system' field.
(managed-host-remote-eval): Pass 'system' field to 'remote-eval'.
(machine-check-building-for-appropriate-system): New variable.
(check-deployment-sanity): Add call to
'machine-check-building-for-appropriate-system'.
* doc/guix.texi (Invoking guix deploy): Describe new 'system' field.
* guix/ssh.scm (remote-system): New variable.
* guix/remote.scm (remote-eval): Use result of 'remote-system' when
lowering the G-Expression.
(remote-eval): Add 'system' keyword argument.
(trampoline): Return a <program-file> rather than a <scheme-file>.
| Jakob L. Kreuze |
2019-08-08 | Merge branch 'master' into staging | Marius Bakke |
2019-08-07 | import: hackage: Update list of ghc-included packages....It turns out the list in the release notes is incomplete.
This updates the list from /gnu/store/<hash>-ghc-8.4.3/lib/ghc-8.4.3.
* guix/import/hackage.scm (ghc-standard-libraries): Update list.
| Robert Vollmert |