Age | Commit message (Expand) | Author |
2021-02-04 | build: Add '--with-channel-commit' and related configure flags....Partially fixes <https://bugs.gnu.org/45896>.
* m4/guix.m4 (GUIX_CHANNEL_METADATA): New macro.
* configure.ac: Use it.
* guix/config.scm.in (%channel-metadata): Adjust accordingly.
| Ludovic Courtès |
2021-02-04 | channels: Record 'guix' channel metadata in (guix config)....Partially fixes <https://bugs.gnu.org/45896>.
* guix/config.scm.in (%channel-metadata): New variable.
* guix/describe.scm (channel-metadata): Use it.
(current-channels): New procedure.
(current-profile-entries): Clarify docstring.
* guix/self.scm (compiled-guix): Add #:channel-metadata and pass it to
'make-config.scm'.
(make-config.scm): Add #:channel-metadata and define '%channel-metadata'
in the generated file.
(guix-derivation): Add #:channel-metadata and pass it to 'compiled-guix'.
* guix/channels.scm (build-from-source): Replace 'name', 'source', and
'commit' parameters with 'instance'. Pass #:channel-metadata to BUILD.
(build-channel-instance): Adjust accordingly.
* build-aux/build-self.scm (build-program): Add #:channel-metadata
and pass it to 'guix-derivation'.
(build): Add #:channel-metadata and pass it to 'build-program'.
* guix/scripts/describe.scm (display-profile-info): Add optional
'channels' parameter. Pass it to 'display-profile-content'.
(display-profile-content): Add optional 'channels' parameter and honor
it. Iterate on CHANNELS rather than on the manifest entries of
PROFILE.
(guix-describe): When PROFILE is #f, call 'current-channels' and pass it
to 'display-profile-info', unless it returns the empty list.
| Ludovic Courtès |
2021-02-04 | store: 'store-path-hash-part' really returns false for invalid file names....The "store-path-hash-part #f", due to a SRFI-64 bug, was marked as
successful even though 'store-path-hash-part' was throwing an exception.
* guix/store.scm (store-path-hash-part): Really return #f.
| Ludovic Courtès |
2021-02-03 | ui: Add hint for command typo....* guix/ui.scm (command-hint): New variable
(run-guix-command): Use it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| zimoun |
2021-02-03 | guix: scripts: Add hint for option typo....* guix/scripts.scm (option-hint): New procedure.
(parse-command-line): Add 'option-hint'.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| zimoun |
2021-02-03 | utils: Add string distance....* guix/utils.scm (string-distance): New procedure.
(string-closest): New procedure.
* tests/utils.scm ("string-distance", "string-closest"): New tests.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| zimoun |
2021-02-02 | guix: narinfo: Export narinfo-contents....As this is useful if you want to work with narinfo signatures outside of Guix,
in the Guix Data Service for example.
* guix/narinfo.scm: Export narinfo-contents.
| Christopher Baines |
2021-02-02 | import: gnu: Fix the detection of non-GNU packages....* guix/import/gnu.scm (gnu->guix-package): Move the 'find-package' call before
the 'latest-release' call, which would fail when the package did not have an
entry on the FTP server.
| Maxim Cournoyer |
2021-02-01 | guix package: Add '--export-channels'....* guix/channels.scm (sexp->channel): Export.
* guix/describe.scm: Use (guix channels).
(manifest-entry-provenance): New procedure.
* guix/scripts/package.scm (channel=?, export-channels): New
procedures.
(show-help, %options): Add '--export-channels'.
(process-query): Honor it.
* build-aux/build-self.scm (build-program)[select?]: Exclude (guix
channels) to account for the (guix describe) change above.
* doc/guix.texi (Invoking guix package): Document it.
| Ludovic Courtès |
2021-02-01 | channels: Add 'channel->code'....* guix/channels.scm (channel->code): New procedure, taken from...
* guix/scripts/describe.scm (channel->sexp): ... here.
Adjust callers accordingly.
| Ludovic Courtès |
2021-02-01 | guix describe: Use 'manifest-entry-channel'....* guix/channels.scm (manifest-entry-channel): Export.
* guix/scripts/describe.scm (display-profile-content): Use it.
| Ludovic Courtès |
2021-02-01 | channels: Add the channel name to channel sexps....* guix/channels.scm (channel-instance->sexp): Add 'name'.
(sexp->channel): Extract the name from SEXP, using the optional argument
as a fallback.
| Ludovic Courtès |
2021-02-01 | channels: Factorize 'manifest-entry-channel' and channel serialization....* guix/channels.scm (sexp->channel, manifest-entry-channel): New
procedures.
(profile-channels): Replace lambda by 'manifest-entry-channel'.
(channel-instance->sexp): New procedure.
(channel-instances->manifest)[instance->entry]: Use
'channel-instance->sexp' instead of inline code.
| Ludovic Courtès |
2021-02-01 | guix package: Add '--export-manifest'....* guix/scripts/package.scm (export-manifest): New procedure.
(show-help, %options): Add '--export-manifest'.
(process-query): Honor it.
* guix/build/profiles.scm (build-profile): Mention it.
* tests/guix-package.sh: Test it.
* doc/guix.texi (Invoking guix package): Document it.
| Ludovic Courtès |
2021-02-01 | utils: Add 'version-unique-prefix'....* guix/utils.scm (version-unique-prefix): New procedure.
* tests/utils.scm ("version-unique-prefix"): New test.
| Ludovic Courtès |
2021-02-01 | profiles: Add 'manifest->code'....* guix/profiles.scm (manifest->code): New procedure.
* tests/profiles.scm ("manifest->code, simple")
("manifest->code, simple, versions")
("manifest->code, transformations"): New tests.
| Ludovic Courtès |
2021-01-31 | scripts: import: json: Fix error handling....Fixes partially <https://bugs.gnu.org/44115>.
* guix/scripts/import/json.scm (guix-import-json): Handle error.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| zimoun |
2021-01-31 | import: gnu: Mention package name upon failure....* guix/import/gnu.scm (gnu->guix-package): Use 'formatted-message' and
mention the package name in error messages.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| zimoun |
2021-01-31 | gnu-maintenance: Fix error handling....Fixes partially <https://bugs.gnu.org/44115>.
* guix/gnu-maintenance.scm (latest-release): Handle 'ftp-error'.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| zimoun |
2021-01-31 | database: Validate #:nar-size and #:time when registering store items....* guix/store/database.scm (assert-integer): New procedure.
(update-or-insert): Use it to validate NAR-SIZE and TIME.
* tests/store-database.scm ("sqlite-register with incorrect size"): New
test.
| Ludovic Courtès |
2021-01-31 | database: Remove workarounds unnecessary with guile-sqlite3 0.1.2....* guix/store/database.scm (sqlite-exec, sqlite-finalize): Remove.
| Ludovic Courtès |
2021-01-31 | ci: Add missing imports....This is a followup to 041a9466ea23d6ae811491bcf529bf9487317b48.
* guix/ci.scm: Add missing imports.
* guix/channels.scm: Remove (guix ci) import.
| Ludovic Courtès |
2021-01-31 | guix: channels: Introduce "channel-with-substitutes-available"....* guix/channels.scm (find-latest-commit-with-substitutes,
channel-with-substitutes-available): New procedures.
* guix/scripts/pull.scm (guix-pull): Move "channel-list" call inside the
%current-system parameter scope.
* doc/guix.texi (Channels with substitutes): New section.
| Mathieu Othacehe |
2021-01-30 | guix system: Adjust 'upgrade-shepherd-services' to shepherd service change....Fixes a regression introduced in 95f72dcd7aece05e9252c93bef5a831f96cb5393.
* guix/scripts/system/reconfigure.scm (upgrade-shepherd-services)[target-services]:
Add call to 'shepherd-configuration-services'.
| Ludovic Courtès |
2021-01-30 | services: shepherd: Allow custom 'shepherd' package....* gnu/services/shepherd.scm (<shepherd-configuration>): New record.
(shepherd-boot-gexp, shepherd-root-service-type): Use it.
(scm->go, shepherd-configuration-file): Allow passing custom
shepherd package.
* gnu/system.scm (operating-system-shepherd-service-names): Use the new
record.
* guix/scripts/system.scm (export-shepherd-graph): Adjust accordingly.
* doc/guix.texi (Shepherd Services). Document it.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| Maxime Devos |
2021-01-30 | build-system/julia: Don't rely on file name to set module name....* guix/build/julia-build-system.scm (project.toml->name): New procedure.
(precompile, check, julia-build): Accept new key argument #:julia-package-name.
* guix/build-system/julia.scm (julia-build): ... add it.
* doc/guix.texi (julia-build-system): Update julia-package-name accordingly.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| nixo |
2021-01-30 | build-system/julia: Enable tests....* guix/build-system/julia.scm (julia-build): Set tests? default to #t.
* guix/build/julia-build-system.scm (check): Respect tests? and fix julia
invocation.
(%standard-phases): Add check phase after install.
* doc/guix.texi (julia-build-system): Update accordingly.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| nixo |
2021-01-29 | inferior: Speed up 'cached-channel-instance' for cache hits....That way a command like:
guix time-machine --commit=5aeee07cc9 -- describe
goes from 3.4s to 0.5s on a cache hit, even slightly less when passing
the full commit ID.
* guix/inferior.scm (channel-full-commit): New procedure.
(cached-channel-instance): Remove 'instances' top-level variable. Add
'commits' and use it for 'key'. Move 'latest-channel-instances' call to
the cache miss case.
| Ludovic Courtès |
2021-01-28 | ui: Look up extensions before built-in commands....* guix/ui.scm (run-guix-command): Modify order so that extensions are allowed
to override default commands.
Co-authored-by: Ricardo Wurmus <rekado@elephly.net>
| zimoun |
2021-01-28 | guix: Add Open Software License 2.1....* guix/licenses.scm (osl2.1): New variable.
| Ricardo Wurmus |
2021-01-28 | guix: Fix typo....* guix/inferior.scm (inferior-available-packages): Remove extra word in
docstring.
| Ricardo Wurmus |
2021-01-27 | inferior: Memoize entries in 'inferior-package->manifest-entry'....Fixes a performance issue as reported by Ricardo Wurmus
in <https://bugs.gnu.org/46100>.
* guix/inferior.scm (inferior-package->manifest-entry): Remove #:parent parameter.
[cache]: New variable.
[memoized]: New macro.
[loop]: New procedure.
| Ludovic Courtès |
2021-01-22 | store: Add 'find-roots' RPC....* guix/serialization.scm (read-string-pairs): New procedure.
* guix/store.scm (read-arg): Add support for 'string-pairs'.
(find-roots): New procedure.
* tests/store.scm ("add-indirect-root and find-roots"): New test.
| Ludovic Courtès |
2021-01-21 | Revert "substitute: Remove extra 'newline' call."...This reverts commit d5a1b0e86f248edd53c785b910b5d51ee708b0fc.
This change turned out to be misguided; it would lead to "substitute:"
lines being printed on the client side, without anything beyond the
colon sign.
| Ludovic Courtès |
2021-01-21 | repl: Fix exception handling for interpreted code....The 'stack' variable could be #f when code is interpreted, which in
practice happens when running in "legacy" mode--i.e., when
'open-inferior' invokes "guile" instead of "guix repl".
* guix/repl.scm (send-repl-response)[handle-exception]: Check whether
STACK is true before passing it to 'stack->frames'.
* tests/inferior.scm ("&inferior-exception, legacy mode"): New test.
| Ludovic Courtès |
2021-01-21 | import, swh: Adjust to Guile-JSON 4.5.x unspecified value handling....* guix/import/cpan.scm (<cpan-release>)[home-page]: Add 'unspecified?'
case.
* guix/import/gem.scm (<gem>)[licenses]: Likewise.
(json->gem-dependency-list): Likewise.
* guix/swh.scm (<directory-entry>)[checksums]: Likewise.
| Ludovic Courtès |
2021-01-20 | archive: Note service type in ACL hint....* guix/scripts/archive.scm (authorize-key): Mention guix-service-type.
| Tobias Geerinckx-Rice |
2021-01-20 | import/cran: Add more invalid package names to ignore....* guix/import/cran.scm (invalid-packages): Add more names.
| Ricardo Wurmus |
2021-01-19 | transformations: Add '--with-latest'....* guix/upstream.scm (upstream-source-compiler): New procedure.
(%updaters): Set! it.
* guix/transformations.scm (transform-package-latest): New procedure.
(%transformations): Add 'with-latest'.
(%transformation-options, show-transformation-options-help/detailed):
Add '--with-latest'.
* tests/transformations.scm ("options->transformation, with-latest"):
New test.
* doc/guix.texi (Package Transformation Options): Document it.
| Ludovic Courtès |
2021-01-19 | environment: Fix '--root' option with relative file name....The path normalization of `--root` option of `guix environment` was
buggy as it appended full argument after normalized directory. This
patch fixes it.
* guix/scripts/environment.scm (register-gc-root): Fix gc-root path
normalization.
* tests/guix-environment.sh: Add test.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| JOULAUD François |
2021-01-19 | modules: Recognize #:re-export-and-replace....* guix/modules.scm (extract-dependencies): Recognize
#:re-export-and-replace, which was introduced in Guile 3.0.
| Ludovic Courtès |
2021-01-19 | system: Rename 'disk-image' command 'image'....* guix/scripts/system.scm (system-derivation-for-action): Rename 'disk-image'
command 'image'. Warn when using the now deprecated 'disk-image' command.
(show-help): Adapt accordingly.
(guix-system): Ditto.
* tests/guix-system.sh: Ditto.
* gnu/system/examples/bare-hurd.tmpl: Ditto.
* doc/guix.texi (Building the Installation Image,
Building the Installation Image for ARM Boards,
Invoking guix pack,
Invoking guix system): Adapt documentation.
| Mathieu Othacehe |
2021-01-17 | image: Rename "raw" image-type to "efi-raw"....* gnu/system/image.scm (raw-image-type): Rename to "efi-raw-image-type".
* guix/scripts/system.scm (%default-options): Adapt accordingly.
* doc/guix.texi: Ditto.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
| Mathieu Othacehe |
2021-01-16 | guix: Move narinfo code from substitute script to module....This separation between the code for dealing with narinfos from the code doing
that for a purpose should make things clearer, and better support components
other that the substitute script in using this code.
This is just moving the code around, no code should have been significantly
changed.
* guix/scripts/substitute.scm (<narinfo>): Move record type to (guix narinfo).
(fields->alist, narinfo-hash-algorithm+value, narinfo-hash->sha256,
narinfo-signature->canonical-sexp, narinfo-maker, read-narinfo,
narinfo-sha256, valid-narinfo?, write-narinfo, narinfo->string,
string->narinfo, equivalent-narinfo?, supported-compression?,
compresses-better?, narinfo-best-uri): Move procedures to (guix narinfo).
(%compression-methods): Move variable to (guix narinfo).
* guix/narinfo.scm: New file.
* Makefile.am (MODULES): Add it.
* po/guix/POTFILES.in: Add 'guix/narinfo.scm'.
| Christopher Baines |
2021-01-16 | substitute: Untangle skipping authentication from valid-narinfo?....Rather than having valid-narinfo? evaluate to #t if
%allow-unauthenticated-substitutes? is set to #t, just use (const #t) for
valid-narinfo? when %allow-unauthenticated-substitutes? is set to #t. This
will allow moving valid-narinfo? in to a (guix substitutes) module.
* guix/scripts/substitute.scm (process-query, process-substitution): Change
the authorized? argument to lookup-narinfo and lookup-narinfos/diverse based
on %allow-unauthenticated-substitutes?.
(valid-narinfo?): Remove use of %allow-unauthenticated-substitutes?.
| Christopher Baines |
2021-01-14 | self: Add dependency on guile-zstd....* guix/self.scm (specification->package): Add "guile-zstd".
(compiled-guix)[guile-zstd]: New variable.
[dependencies]: Add it.
| Ludovic Courtès |
2021-01-13 | substitute: Add zstd support....* guix/scripts/substitute.scm (%compression-methods): Add zstd.
(compresses-better?): "lzip" always wins.
| Ludovic Courtès |
2021-01-13 | publish: Add support for zstd compression....* guix/scripts/publish.scm (compress-nar)[write-compressed-file]: New
procedure.
Use it for 'gzip' and 'lzip'. Add 'zstd.
(nar-response-port, string->compression-type): Add case for 'zstd'.
* tests/publish.scm (zstd-supported?): New procedure.
("/nar/zstd/*"): New test.
* doc/guix.texi (Invoking guix publish): Document zstd compression.
(Base Services): Add cross-reference to the above node.
| Ludovic Courtès |
2021-01-13 | utils: Support zstd compression via Guile-zstd....* guix/utils.scm (lzip-port): Return a single value.
(zstd-port): New procedure.
(decompressed-port, compressed-output-port): Add 'zstd' case.
* tests/utils.scm (test-compression/decompression): Test 'zstd' when
the (zstd) module is available.
| Ludovic Courtès |
2021-01-13 | utils: Remove 'compressed-output-port'....This procedure was unused except in one test.
* guix/utils.scm (compressed-port): Remove.
* tests/utils.scm (test-compression/decompression): Rewrite to use
'compressed-output-port' instead.
| Ludovic Courtès |