Age | Commit message (Expand) | Author |
2020-07-05 | weather: Print 0.0% correctly....* guix/scripts/weather.scm (report-server-coverage): Report 0% coverage as
0.0%, not as .0%.
| Arun Isaac |
2020-07-05 | import: pypi: Handle 'null instead of #nil....* guix/import/pypi.scm (non-empty-string-or-false): guile-json now returns
'null instead of #nil for null JSON values. Handle it.
| Arun Isaac |
2020-07-05 | discovery: Fix typo....* guix/discovery.scm (fold-module-public-variables*): In the docstring,
replace (PROC MODULE SYMBOL VARIABLE) with (PROC MODULE SYMBOL VARIABLE
RESULT).
| Arun Isaac |
2020-07-05 | download: Replace misconfigured Apache mirror....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.
| Tobias Geerinckx-Rice |
2020-07-05 | combinators: Fix typo....* guix/combinators.scm (fold2): Replace "a two lists" with "two lists".
| Arun Isaac |
2020-07-03 | import: Do not assume that 'package-source' returns an origin....* 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.
| Ludovic Courtès |
2020-07-03 | upstream: Define 'url-predicate' and use it....* 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'.
| Ludovic Courtès |
2020-07-03 | lint: Do not assume that a package's source is an origin....* guix/lint.scm (check-source-file-name): Ensure ORIGIN is an origin.
(check-patch-file-names)[patches]: Likewise.
(check-source): Likewise.
| Ludovic Courtès |
2020-07-03 | guix system: "describe" displays multiboot info....* guix/scripts/system.scm (display-system-generation): Display
multiboot-modules commands if set.
| Jan (janneke) Nieuwenhuizen |
2020-07-02 | Revert "ui: Use package-description-string."...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.
| Ludovic Courtès |
2020-07-01 | channels: Dependencies listed in '.guix-channel' can have an introduction....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.
| Ludovic Courtès |
2020-07-01 | services: provenance: Save channel introductions....* 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.
| Ludovic Courtès |
2020-07-01 | guix describe: Display channel introductions and add 'channels-sans-intro'....* 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.
| Ludovic Courtès |
2020-07-01 | channels: Save and interpret 'introduction' field in provenance data....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.
| Ludovic Courtès |
2020-07-01 | channels: Remove 'signature' from <channel-introduction>....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.
| Ludovic Courtès |
2020-07-01 | channels: Make channel introductions public....* 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.
| Ludovic Courtès |
2020-07-01 | channels: Add 'openpgp-fingerprint->bytevector'....* guix/channels.scm (openpgp-fingerprint->bytevector): New procedure.
(openpgp-fingerprint): New macro.
(%guix-channel-introduction): Use it.
| Ludovic Courtès |
2020-07-01 | guix: build: Fix asdf-build-system/ecl....* guix/build/lisp-utils.scm (make-asd-file): Fix value of 'component?'
parameter when using ECL.
| Guillaume Le Vaillant |
2020-06-30 | lint: Adjust 'swh-error exception handler....* guix/lint.scm (check-archival): Change first clause to match only
'swh-error keys.
| Ludovic Courtès |
2020-06-30 | swh: Adjust for Guile-JSON 4.0 null handling....* guix/swh.scm (string*): Add clause for 'null.
| Ludovic Courtès |
2020-06-30 | pack: Dereference symlinks when looking for executables....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'.
| Ludovic Courtès |
2020-06-30 | build-system/r: bioconductor-uri: Fix archive URL....* guix/build-system/r.scm (bioconductor-uri): Fix archive URL.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| zimoun |
2020-06-28 | Add more missing (ice-9 format) imports....* gnu/machine/ssh.scm: Import (ice-9 format).
* guix/scripts/graph.scm: Likewise.
* guix/scripts/system/search.scm: Likewise.
* guix/remote.scm: Likewise.
| Marius Bakke |
2020-06-28 | channels: Error out when the 'guix' channel lacks an introduction....* 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.
| Ludovic Courtès |
2020-06-28 | processes: Write to $PAGER....* guix/ui.scm (with-paginated-output-port): Export.
* guix/scripts/processes.scm (guix-processes): Use it instead of writing
directly to (current-output-port).
| Ludovic Courtès |
2020-06-27 | packages: Recognize SHA3 and BLAKE2s for 'content-hash'....* 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.
| Ludovic Courtès |
2020-06-26 | store: Use '=' instead of 'eqv?'....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.
| Ludovic Courtès |
2020-06-26 | challenge: Fix option indentation in '--help' output....* guix/scripts/challenge.scm (show-help): Indent '--verbose' and
'--diff' correctly (high tech!).
| Ludovic Courtès |
2020-06-26 | Add more (ice-9 format) imports....* guix/scripts/describe.scm: Add missing (ice-9 format).
* guix/scripts/system.scm: Likewise.
| Ludovic Courtès |
2020-06-25 | deduplication: Leave the store permissions unchanged....Suggested by Caleb Ristvedt <caleb.ristvedt@cune.org>.
* guix/store/deduplication.scm (call-with-writable-file): Call THUNK
directly when FILE is (%store-directory).
| Ludovic Courtès |
2020-06-25 | deduplication: Fix default value of #:store in 'deduplicate'....* guix/store/deduplication.scm (deduplicate): Change #:store default
value to (%store-directory).
| Ludovic Courtès |
2020-06-25 | deduplication: Use 'dynamic-wind' when changing permissions of the parent....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.
| Ludovic Courtès |
2020-06-23 | openpgp: Use Libgcrypt's crc24 implementation....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'.
| Ludovic Courtès |
2020-06-23 | self: Parallelize translation of the manual....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.
| Ludovic Courtès |
2020-06-23 | self: Move statements after definitions in translation derivation....* guix/self.scm (translate-texi-manuals)[build]: Move statements after
definitions.
| Ludovic Courtès |
2020-06-23 | po: Micro-optimize 'read-po-file'....* guix/build/po.scm (parse-tree->assoc): Use dot instead of ellipsis in
'match' clause to avoid repeated calls to 'list?'.
| Ludovic Courtès |
2020-06-23 | po: Avoid regexps when interpreting '\n' sequences....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'.
| Ludovic Courtès |
2020-06-23 | self: Speed up Texinfo cross-reference translation....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.
| Ludovic Courtès |
2020-06-22 | deduplicate: Avoid traversing directories twice....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.
| Ludovic Courtès |
2020-06-22 | compile: Build gnu/{packages,tests}/* with '-O1'....* guix/build/compile.scm (optimization-options): Use '-O1' for the
simple case.
| Ludovic Courtès |
2020-06-21 | channels: 'authenticate-channel' doesn't check relation with intro commit....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).
| Ludovic Courtès |
2020-06-21 | git-authenticate: Ignore authenticated commit cache when it's not #o600....* guix/git-authenticate.scm (previously-authenticated-commits): Stat
PORT; return the empty list if it's no #o600 and change it to #o600.
| Ludovic Courtès |
2020-06-20 | build-system/gnu: Cross builds properly handle #:allowed-references & co....Fixes <https://bugs.gnu.org/41775>.
* guix/build-system/gnu.scm (gnu-cross-build)[canonicalize-reference]:
Pass TARGET and SYSTEM to 'package-cross-derivation'.
| Ludovic Courtès |
2020-06-20 | tests: Actually run 'tests/guix-environment-container.sh'....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 '@'.
| Ludovic Courtès |
2020-06-18 | build-system/asdf: Add support for component-less systems....* 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.
| Pierre Neidhardt |
2020-06-18 | profiles: 'linux-module-database' hooks gracefully handles module-less kernels....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>
| Ludovic Courtès |
2020-06-18 | profiles: Reindent 'linux-module-database'....* guix/profiles.scm (linux-module-database): Reindent.
| Ludovic Courtès |
2020-06-18 | nar: Use (guix i18n)....* guix/nar.scm: Use (guix i18n) instead of (guix ui).
| Ludovic Courtès |
2020-06-18 | nar: Avoid opening the database an additional time....* guix/nar.scm (finalize-store-file): Call 'register-items' and pass it
DB. This avoids opening the database a second time and hopefully
reduces contention on 'db.sqlite-shm'.
| Ludovic Courtès |
2020-06-18 | database: 'register-items' takes an open database....* guix/store/database.scm (store-database-directory)
(store-database-file): New procedures.
(call-with-database): Add call to 'mkdir-p'.
(register-items): Add 'db' parameter and remove #:state-directory and #:schema.
(register-path): Use 'store-database-file' and 'with-database', and
parameterize SQL-SCHEMA.
* gnu/build/image.scm (register-closure): Likewise.
* gnu/build/vm.scm (register-closure): Likewise.
* guix/scripts/pack.scm (store-database)[build]: Likewise.
| Ludovic Courtès |