summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Collapse)Author
2020-07-10swh: Allow callers to disable X.509 certificate verification.Ludovic Courtès
* guix/swh.scm (%verify-swh-certificate?): New parameter. (http-get*, http-post*): New procedures. (request-rate-limit-reached?): Use 'http-post*' instead of 'http-post'. (update-rate-limit-reset-time!): Likewise. (request-cooking): Likewise. (call): Method defaults to 'http-get*' instead of 'http-get'. Pass #:verify-certificate? to METHOD. (vault-fetch): Likewise.
2020-07-10maint: Remove traces of "berlin.guixsd.org".Ludovic Courtès
The guixsd.org domain is no longer advertised since before in 1.0.0 release in May 2019. * etc/substitutes/berlin.guixsd.org.pub: Rename to... * etc/substitutes/berlin.guix.gnu.org.pub: ... this. * etc/substitutes/ci.guix.gnu.org.pub, etc/substitutes/ci.guix.info.pub: Adjust accordingly. * gnu/services/base.scm (%default-authorized-guix-keys): Likewise. * guix/build/download-nar.scm (urls-for-item): Likewise. * guix/self.scm (miscellaneous-files): Likewise. * Makefile.am (dist_pkgdata_DATA): Likewise.
2020-07-05weather: Print 0.0% correctly.Arun Isaac
* guix/scripts/weather.scm (report-server-coverage): Report 0% coverage as 0.0%, not as .0%.
2020-07-05import: pypi: Handle 'null instead of #nil.Arun Isaac
* guix/import/pypi.scm (non-empty-string-or-false): guile-json now returns 'null instead of #nil for null JSON values. Handle it.
2020-07-05discovery: Fix typo.Arun Isaac
* guix/discovery.scm (fold-module-public-variables*): In the docstring, replace (PROC MODULE SYMBOL VARIABLE) with (PROC MODULE SYMBOL VARIABLE RESULT).
2020-07-05download: Replace misconfigured Apache mirror.Tobias Geerinckx-Rice
E.g. <http://apache.belnet.be/jakarta/oro/jakarta-oro-2.0.8.tar.gz> redirects to a bogus 200 HTML page. * guix/download.scm (%mirrors): Replace apache.belnet.be with ftp.nluug.nl.
2020-07-05combinators: Fix typo.Arun Isaac
* guix/combinators.scm (fold2): Replace "a two lists" with "two lists".
2020-07-03import: Do not assume that 'package-source' returns an origin.Ludovic Courtès
* guix/gnu-maintenance.scm (gnu-package?): Check whether 'package-source' returns an origin. * guix/import/github.scm (updated-github-url): Likewise. * guix/import/launchpad.scm (updated-launchpad-url): Likewise.
2020-07-03upstream: Define 'url-predicate' and use it.Ludovic Courtès
* guix/upstream.scm (url-predicate): New procedure. (url-prefix-predicate): Define in terms of 'url-predicate'. * guix/import/cpan.scm (cpan-package?): Use 'url-predicate'. * guix/import/cran.scm (cran-package?) (bioconductor-package?) (bioconductor-data-package?) (bioconductor-experiment-package?): Likewise. * guix/import/crate.scm (crate-package?): Likewise. * guix/import/elpa.scm (package-from-gnu.org?): Likewise. * guix/import/hackage.scm (hackage-package?): Likewise. * guix/import/pypi.scm (pypi-package?): Likewise. * guix/import/gem.scm (gem-package?): Use 'url-prefix-predicate'.
2020-07-03lint: Do not assume that a package's source is an origin.Ludovic Courtès
* guix/lint.scm (check-source-file-name): Ensure ORIGIN is an origin. (check-patch-file-names)[patches]: Likewise. (check-source): Likewise.
2020-07-03guix system: "describe" displays multiboot info.Jan (janneke) Nieuwenhuizen
* guix/scripts/system.scm (display-system-generation): Display multiboot-modules commands if set.
2020-07-02Revert "ui: Use package-description-string."Ludovic Courtès
This reverts commit bd03e99f66be1a038e3a8aeb502f5153fd05cc67. Reported by Ekaitz Zarraga <ekaitz@elenq.tech> at <https://lists.gnu.org/archive/html/guix-devel/2020-06/msg00338.html>. That commit broke would prevent "description: " from being taken into account by the 'texi->plain-text' paragraph filling code.
2020-07-01channels: Dependencies listed in '.guix-channel' can have an introduction.Ludovic Courtès
Suggested by Ricardo Wurmus and Simon Tournier. * guix/channels.scm (sexp->channel-introduction): New procedure. (read-channel-metadata): Use it. (profile-channels)[sexp->channel-introduction]: Remove. * tests/channels.scm ("latest-channel-instances, authenticate dependency"): New test. * doc/guix.texi (Channels)[Declaring Channel Dependencies]: Augment example.
2020-07-01services: provenance: Save channel introductions.Ludovic Courtès
* gnu/services.scm (channel->code): Include CHANNEL's introduction, if any, unless CHANNEL is the singleton %DEFAULT-CHANNELS. (channel->sexp): Add comment. * guix/scripts/system.scm (sexp->channel): Change pattern to allow for extensibility.
2020-07-01guix describe: Display channel introductions and add 'channels-sans-intro'.Ludovic Courtès
* guix/scripts/describe.scm (%available-formats): Add "channels-sans-intro". (channel->sexp): Add #:include-introduction?. Emit CHANNEL's intro if INCLUDE-INTRODUCTION? is true and CHANNEL has an introduction. (channel->json): Include CHANNEL's introduction, if any. (channel->recutils): Likewise. (display-profile-info): Add 'channels-sans-intro' case. * doc/guix.texi (Invoking guix describe): Add introduction in example. Add 'channels-sans-intro' case.
2020-07-01channels: Save and interpret 'introduction' field in provenance data.Ludovic Courtès
With this change, profiles created by 'guix pull' & co. include channel introductions as part of the channel metadata of each manifest entry. * guix/channels.scm (channel-instances->manifest)[instance->entry]: Add 'introduction' field when CHANNEL has an introduction. (profile-channels)[sexp->channel-introduction]: New procedure. Use it to initialize the 'introduction' field.
2020-07-01channels: Remove 'signature' from <channel-introduction>.Ludovic Courtès
In the end signing the commit/key pair does not buy us much. Someone publishing a valid but different commit/key pair would effectively be publishing a different channel, which could be a fork (made by a former authorized developer) or simply a mirror. In the latter case, there's nothing to be gained by publishing a different commit/key pair. * guix/channels.scm (<channel-introduction>)[signature]: Remove. (make-channel-introduction): Adjust accordingly.
2020-07-01channels: Make channel introductions public.Ludovic Courtès
* guix/channels.scm (<channel-introduction>): Rename constructor to '%make-channel-introduction'. (make-channel-introduction): New procedure. * tests/channels.scm ("authenticate-channel, wrong first commit signer") ("authenticate-channel, .guix-authorizations"): Use 'make-channel-introduction' without '@@' and without third argument. * doc/guix.texi (Channels)[Channel Authentication, Specifying Channel Authorizations]: New subsections.
2020-07-01channels: Add 'openpgp-fingerprint->bytevector'.Ludovic Courtès
* guix/channels.scm (openpgp-fingerprint->bytevector): New procedure. (openpgp-fingerprint): New macro. (%guix-channel-introduction): Use it.
2020-07-01guix: build: Fix asdf-build-system/ecl.Guillaume Le Vaillant
* guix/build/lisp-utils.scm (make-asd-file): Fix value of 'component?' parameter when using ECL.
2020-06-30lint: Adjust 'swh-error exception handler.Ludovic Courtès
* guix/lint.scm (check-archival): Change first clause to match only 'swh-error keys.
2020-06-30swh: Adjust for Guile-JSON 4.0 null handling.Ludovic Courtès
* guix/swh.scm (string*): Add clause for 'null.
2020-06-30pack: Dereference symlinks when looking for executables.Ludovic Courtès
Fixes <https://bugs.gnu.org/42127>. Reported by Andrius Štikonas <andrius@stikonas.eu>. * guix/scripts/pack.scm (wrapped-package)[build]: Add trailing slash to the arguments to 'find-files'.
2020-06-30build-system/r: bioconductor-uri: Fix archive URL.zimoun
* guix/build-system/r.scm (bioconductor-uri): Fix archive URL. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-06-28Add more missing (ice-9 format) imports.Marius Bakke
* gnu/machine/ssh.scm: Import (ice-9 format). * guix/scripts/graph.scm: Likewise. * guix/scripts/system/search.scm: Likewise. * guix/remote.scm: Likewise.
2020-06-28channels: Error out when the 'guix' channel lacks an introduction.Ludovic Courtès
* guix/channels.scm (latest-channel-instance): Raise an error instead of warning when 'guix is unauthenticated. * tests/channels.scm ("latest-channel-instances, missing introduction for 'guix'"): New test.
2020-06-28processes: Write to $PAGER.Ludovic Courtès
* guix/ui.scm (with-paginated-output-port): Export. * guix/scripts/processes.scm (guix-processes): Use it instead of writing directly to (current-output-port).
2020-06-27packages: Recognize SHA3 and BLAKE2s for 'content-hash'.Ludovic Courtès
* guix/packages.scm (build-content-hash): Add 'sha3-256', 'sha3-512', and 'blake2s-256'. * tests/packages.scm ("package-source-derivation, origin, sha3-512"): New test.
2020-06-26store: Use '=' instead of 'eqv?'.Ludovic Courtès
Fixes <https://bugs.gnu.org/42047>. Reported by Jan Nieuwenhuizen <janneke@gnu.org>. * guix/store.scm (open-connection): Use '=' instead of 'eqv?'. This works around <https://bugs.gnu.org/42060> while also being more accurate since the arguments are known to be integers.
2020-06-26challenge: Fix option indentation in '--help' output.Ludovic Courtès
* guix/scripts/challenge.scm (show-help): Indent '--verbose' and '--diff' correctly (high tech!).
2020-06-26Add more (ice-9 format) imports.Ludovic Courtès
* guix/scripts/describe.scm: Add missing (ice-9 format). * guix/scripts/system.scm: Likewise.
2020-06-25deduplication: Leave the store permissions unchanged.Ludovic Courtès
Suggested by Caleb Ristvedt <caleb.ristvedt@cune.org>. * guix/store/deduplication.scm (call-with-writable-file): Call THUNK directly when FILE is (%store-directory).
2020-06-25deduplication: Fix default value of #:store in 'deduplicate'.Ludovic Courtès
* guix/store/deduplication.scm (deduplicate): Change #:store default value to (%store-directory).
2020-06-25deduplication: Use 'dynamic-wind' when changing permissions of the parent.Ludovic Courtès
Suggested by Caleb Ristvedt <caleb.ristvedt@cune.org>. * guix/store/deduplication.scm (call-with-writable-file): New procedure. (with-writable-file): New macro. (replace-with-link): Use it.
2020-06-23openpgp: Use Libgcrypt's crc24 implementation.Ludovic Courtès
This gives an 18% speedup on the wall-clock time of: guile -c '(use-modules (git) (guix git-authenticate)) (load-keyring-from-reference (repository-open ".") "keyring")' * guix/openpgp.scm (crc24): Rewrite by calling out to 'bytevector-hash'.
2020-06-23self: Parallelize translation of the manual.Ludovic Courtès
The guix-translated-texinfo.drv execution time goes from 1mn42s with 1 core to 1mn8s with 4 cores. * guix/self.scm (translate-texi-manuals)[build]: Use 'n-par-for-each' instead of 'for-each' for translation.
2020-06-23self: Move statements after definitions in translation derivation.Ludovic Courtès
* guix/self.scm (translate-texi-manuals)[build]: Move statements after definitions.
2020-06-23po: Micro-optimize 'read-po-file'.Ludovic Courtès
* guix/build/po.scm (parse-tree->assoc): Use dot instead of ellipsis in 'match' clause to avoid repeated calls to 'list?'.
2020-06-23po: Avoid regexps when interpreting '\n' sequences.Ludovic Courtès
This reduces the execution time of: (call-with-input-file "po/doc/guix-manual.de.po" read-po-file) from 4.7s to 4.0s. * guix/build/po.scm (interpret-newline-escape): New procedure. (parse-tree->assoc): Use it instead of 'regexp-substitute/global'.
2020-06-23self: Speed up Texinfo cross-reference translation.Ludovic Courtès
Building guix-translated-texinfo.drv goes from 11mn to 1mn50s, most of which is taken by po4a. * guix/self.scm (translate-texi-manuals)[build](make-ref-regex): Remove. (canonicalize-whitespace): New procedure. (xref-regexp): New variable. (translate-cross-references): Rewrite to iterate over the cross-references rather than iterating over the msgids. Update caller.
2020-06-22deduplicate: Avoid traversing directories twice.Ludovic Courtès
Until now, we'd call (nar-sha256 file) unconditionally. Thus, if FILE was a directory, we would traverse it for no reason, and then call 'deduplicate' on FILE, which would again traverse it. This change also removes redundant (mkdir-p store) calls from the loop, and avoids 'lstat' calls by using 'scandir*'. * guix/store/deduplication.scm (deduplicate): Add named loop. Move 'mkdir-p' outside the loop. Use 'scandir*' instead of 'scandir'. Do not call 'nar-sha256' when FILE has type 'directory.
2020-06-22compile: Build gnu/{packages,tests}/* with '-O1'.Ludovic Courtès
* guix/build/compile.scm (optimization-options): Use '-O1' for the simple case.
2020-06-21channels: 'authenticate-channel' doesn't check relation with intro commit.Ludovic Courtès
Fixes <https://bugs.gnu.org/41908>. Reported by Jan Nieuwenhuizen <janneke@gnu.org>. The relation check imposed an extra restriction that was unnecessary: it's enough to authenticate the set difference between the closure of START-COMMIT and that of END-COMMIT. Any attempt to jump to an unrelated commit would lead to the authentication failure of one commit on the way. * guix/channels.scm (authenticate-channel): Remove extra 'commit-relation' check when (null? commits).
2020-06-21git-authenticate: Ignore authenticated commit cache when it's not #o600.Ludovic Courtès
* guix/git-authenticate.scm (previously-authenticated-commits): Stat PORT; return the empty list if it's no #o600 and change it to #o600.
2020-06-20build-system/gnu: Cross builds properly handle #:allowed-references & co.Ludovic Courtès
Fixes <https://bugs.gnu.org/41775>. * guix/build-system/gnu.scm (gnu-cross-build)[canonicalize-reference]: Pass TARGET and SYSTEM to 'package-cross-derivation'.
2020-06-20tests: Actually run 'tests/guix-environment-container.sh'.Ludovic Courtès
This test was skipped since the switch to Guile 3 because 'assert-container-features' would be inlined and thus accessing it with @@ would fail with an unbound-variable error. * guix/scripts/environment.scm (assert-container-features): Export. * tests/guix-environment-container.sh: Use single '@'.
2020-06-18build-system/asdf: Add support for component-less systems.Pierre Neidhardt
* guix/build/lisp-utils.scm (make-asd-file): Ensure lib directory exists and check if prebuilt bundle system was generated. (generate-system-definition): Add :class and :components only if prebuilt system was generated.
2020-06-18profiles: 'linux-module-database' hooks gracefully handles module-less kernels.Ludovic Courtès
Fixes <https://bugs.gnu.org/41924>. * guix/profiles.scm (linux-module-database)[build]: Arrange so 'directory-entries' always returns a list. Add 'match' clause for the empty list. Co-authored-by: Ivan Kozlov <kanichos@yandex.ru>
2020-06-18profiles: Reindent 'linux-module-database'.Ludovic Courtès
* guix/profiles.scm (linux-module-database): Reindent.
2020-06-18nar: Use (guix i18n).Ludovic Courtès
* guix/nar.scm: Use (guix i18n) instead of (guix ui).