Age | Commit message (Expand) | Author |
2021-02-22 | substitute: Stop using call-with-cached-connection in fetch-narinfos....Instead, just pass open-connection-for-uri/maybe to http-multiple-get. This
code should be functionaly similar to the previous code. The eventual aim of
this is to make the connection caching not mandatory in fetch-narinfos.
* guix/scripts/substitute.scm (fetch-narinfos): Remove use of
call-with-cached-connection.
| Christopher Baines |
2021-02-22 | substitute: open-connection-for-uri/maybe add #:verify-certificate?....As this is used by http-fetch and http-multiple-get when they call the
specified open connection procedure.
* guix/scripts/substitute.scm (open-connection-for-uri/maybe): Support
#:verify-certificate?.
| Christopher Baines |
2021-02-22 | http-client: Add error handling to http-multiple-get....Making sure to close the port if it looks to be unusable. This closing of the
port will allow for caching connections, without caching broken connections,
as the cache can avoid handing out closed ports.
* guix/http-client.scm (http-multiple-get): Try to catch exceptions that
happen if the port is unusable, this is a adaptation of code within the (guix
scripts substitute) module.
| Christopher Baines |
2021-02-22 | guix: Move http-multiple-get to (guix http-client)....From (guix scripts substitute). This will make it easier to reuse this code.
* guix/scripts/substitute.scm (http-multiple-get): Remove, and move to…
* guix/http-client.scm (http-multiple-get): …here.
| Christopher Baines |
2021-02-22 | substitute: Remove redundant let block from fetch....* guix/scripts/substitute.scm (fetch): Remove redundant let block.
| Christopher Baines |
2021-02-22 | substitute: Remove connection handling from fetch....http-fetch does this, so just use that code instead.
* guix/scripts/substitute.scm (fetch): Remove connection handling when the
port is closed.
| Christopher Baines |
2021-02-22 | substitute: Remove buffer handling from fetch....http-fetch does this, so just set the right option.
* guix/scripts/substitute.scm (fetch): Remove buffering code, and pass
#:buffered? to http-fetch.
| Christopher Baines |
2021-02-22 | packages: 'package-field-location' handles 'search-path' returning #f....Fixes <https://bugs.gnu.org/46390>.
Reported by zimoun <zimon.toutoune@gmail.com>.
This is similar to the fix in d10474c38d58bdc676e64336769dc2e00cdfa8ed.
* guix/packages.scm (package-field-location): Handle FILE not in %LOAD-PATH.
* tests/guix-lint.sh: Add test.
| Ludovic Courtès |
2021-02-19 | ui: Fix typo in description....* guix/ui.scm (switch-to-generation*): Fix typo in description.
| Brice Waegeneire |
2021-02-17 | scripts: system: Accept <image> records as input....* guix/scripts/system.scm (system-derivation-for-action): Replace "os"
argument by "image". Remove "image-size", "image-type", "label" and
"volatile-root?" arguments.
(perform-action): Ditto.
(process-action): Construct the <image> record and pass it to "perform-action"
procedure.
* tests/guix-system.sh: Adapt accordingly.
* gnu/system/images/hurd.scm: Return the default image.
* gnu/system/images/novena.scm: Ditto.
* gnu/system/images/pine64.scm: Ditto.
* gnu/system/images/pinebook-pro.scm Ditto.
| Mathieu Othacehe |
2021-02-17 | scripts: system: Remove 'vm-image' command....Remove the 'vm-image' command that has been superseded by the 'image'
command.
* gnu/system/vm.scm (system-qemu-image): Remove it.
* guix/scripts/system.scm (system-derivation-for-action): Mark 'vm-image'
command as deprecated and use the image API to produce the VM image.
(perform-action, show-help): Adapt accordingly.
* tests/guix-system.sh: Ditto.
* doc/guix.texi (Invoking guix system,
Running Guix in a VM): Ditto.
* etc/completion/fish/guix.fish: Ditto.
* etc/completion/zsh/_guix: Ditto.
| Mathieu Othacehe |
2021-02-15 | ftp-client: Before 'PASV', try 'EPSV' first for IPv6....This fixes <https://bugs.gnu.org/46481>.
* guix/ftp-client.scm (ftp-epsv, ftp-passive): New procedures.
(ftp-list, ftp-retr): Replace call to 'ftp-pasv' with 'ftp-passive'.
| 宋文武 |
2021-02-12 | import: crate: Use repository when home-page is unavailable...* guix/import/crate.scm (make-crate-sexp): Always use home-page, which is
properly set up by the caller.
(crate->guix-package): Make sure to use the repository when home-page is null.
| Nicolas Goaziou |
2021-02-12 | pull: Create the "${XDG_CONFIG_HOME}/guix" directory when needed....This fixes <https://bugs.gnu.org/46269>.
* guix/scripts/pull.scm (ensure-default-profile): Add a 'mkdir-p' call before
'symlink'.
| 宋文武 |
2021-02-11 | environment: Allow starting from existing profile....* guix/scripts/environment.scm (%options): Add -p/--profile switch.
(show-help): Document new switch.
(guix-environment): Handle new 'profile switch.
Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
| Lars-Dominik Braun |
2021-02-08 | docker: Pass '--hard-dereference' to 'tar' to ensure reproducible builds....Reported by zimoun at
<https://lists.gnu.org/archive/html/guix-devel/2021-02/msg00053.html>.
* guix/docker.scm (%tar-determinism-options): Add '--hard-dereference'.
Co-authored-by: zimoun <zimon.toutoune@gmail.com>
| Ludovic Courtès |
2021-02-07 | build-system: Add renpy-build-system....* guix/build/renpy-build-system.scm: New file.
* guix/build-system/renpy.scm: New file.
* Makefile.am (MODULES): Add them here.
* doc/guix.texi (Build Systems): Document renpy-build-system.
| Leo Prikler |
2021-02-05 | guix describe: 'display-profile-content' checks the right generation....Fixes a regression introduced in
316fc2acbb112bfa572ae30f95a93bcd56621234, whereby 'guix pull -l' would
always display channel information corresponding to the latest profile
generation.
Reported by Vagrant Cascadian.
* guix/scripts/describe.scm (profile-generation-channels): New
procedure.
(display-profile-content): Change default value of 'channels'.
| Ludovic Courtès |
2021-02-04 | channels: Consider the current channel commit as authentic....Fixes <https://bugs.gnu.org/45895>.
When the ~/.cache/guix/authentication is empty, this change allows
authentication to start at the current commit, as shown by 'guix
describe', instead of starting from the introductory commit, which would
take more and more time (there's currently 18K commits per year).
* guix/git-authenticate.scm (authenticate-repository): Add #:authentic-commits.
[authenticated-commits]: Append it.
* guix/channels.scm (authenticate-channel)[authentic-commits]: New
variable. Pass it to 'authenticate-repository'.
| Ludovic Courtès |
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 |