Age | Commit message (Expand) | Author |
2015-07-22 | import: hackage: Remove reference to unbound variable.•••* guix/scripts/import/hackage.scm (guix-import-hackage): Fix error message for
imports from stdin, which referred to unbound variable 'package-name'.
| Ludovic Courtès |
2015-07-22 | size: Remove leftover 'pk'.•••* guix/scripts/size.scm (profile->page-map): Remove leftover 'pk'.
| Ludovic Courtès |
2015-07-20 | publish: Do not load archive content in memory.•••Previously, before replying to a /nar/* request, 'guix publish' would first
build up the whole nar into memory (as a consequence of
<http://bugs.gnu.org/21093>), which obviously doesn't scale.
* guix/scripts/publish.scm (render-nar): Return STORE-PATH instead of a
procedure that calls 'write-file'.
(sans-content-length): New procedure.
(http-write): For 'x-nix-archive', don't call '%http-write'. Instead, call
'write-file' right from here, using BODY as the file name.
| Ludovic Courtès |
2015-07-19 | publish: Serve /nar requests in a separate thread.•••* guix/scripts/publish.scm (%http-write): New variable.
(http-write): New procedure.
(concurrent-http-server): New variable.
(run-publish-server): Use it.
| Ludovic Courtès |
2015-07-18 | publish: Write hashes in nix-base32 format.•••* guix/scripts/publish.scm (narinfo-string): Use
'bytevector->nix-base32-string', not 'bytevector->base32-string'.
| Ludovic Courtès |
2015-07-17 | system: Add 'kernel-arguments' field.•••* gnu/system.scm (<operating-system>)[kernel-arguments]: New field.
(operating-system-grub.cfg): Honor it.
(operating-system-parameters-file): Add 'kernel-arguments' to the parameters
file.
* guix/scripts/system.scm (previous-grub-entries)[system->grub-entry]: Read
the 'kernel-arguments' field of the parameters file, when available.
* gnu/system/vm.scm (system-qemu-image/shared-store-script):
Use (operating-system-kernel-arguments os) in '-append'.
* doc/guix.texi (operating-system Reference): Document it.
| Ludovic Courtès |
2015-07-15 | size: Gracefully handle EPIPE.•••* guix/scripts/size.scm (guix-size): Wrap body in 'leave-on-EPIPE'.
| Ludovic Courtès |
2015-07-15 | ui: Add 'leave-on-EPIPE'.•••* guix/scripts/package.scm (leave-on-EPIPE): Move to...
* guix/ui.scm (leave-on-EPIPE): ... here.
| Ludovic Courtès |
2015-07-13 | substitute: Improve functional decomposition.•••* guix/scripts/substitute.scm (display-narinfo-data,
process-query, process-substitution): New procedures. Code moved from...
(guix-substitute): ... here. Use them.
| Ludovic Courtès |
2015-07-13 | guix build: Add '--substitute-urls' client option.•••* guix/scripts/build.scm (%standard-build-options,
show-build-options-help): Add --substitute-urls=URLS.
(set-build-options-from-command-line): Honor it.
* guix/store.scm (%default-substitute-urls): Make public.
* doc/guix.texi (Substitutes): Add xref to the client --substitute-urls
option.
(Invoking guix build): Document it.
(Invoking guix-daemon): Add 'daemon-substitute-urls' anchor.
| Ludovic Courtès |
2015-07-13 | substitute: Honor "substitute-urls" option passed by "untrusted" clients.•••* guix/scripts/substitute.scm (or*): New macro.
(%cache-url): Honor "untrusted-substitute-urls".
* guix/tests.scm (%test-substitute-urls): New variable.
(open-connection-for-tests): Use it.
* tests/derivations.scm ("derivation-prerequisites-to-build and substitutes",
"derivation-prerequisites-to-build and substitutes, non-substitutable
build", "derivation-prerequisites-to-build and substitutes, local build"):
Pass it to 'set-build-options'.
* tests/guix-daemon.sh: Likewise.
* tests/store.scm ("substitute query, alternating URLs"): New test.
("substitute query", "substitute", "substitute + build-things with output
path", "substitute, corrupt output hash", "substitute --fallback"): Pass
#:substitute-urls to 'set-build-options'.
| Ludovic Courtès |
2015-07-13 | substitute: Store cached narinfo in cache-specific sub-directories.•••This ensures that switching between different substitute servers doesn't lead
to a polluted narinfo cache.
* guix/scripts/substitute.scm (narinfo-cache-file): Add 'cache-url'
parameter. Add the base32 of CACHE-URL as a sub-directory under
%NARINFO-CACHE-DIRECTORY. Update callers.
(cached-narinfo): Likewise. Call 'mkdir-p' on the dirname of the cache
file. Update callers.
(remove-expired-cached-narinfos): Add 'directory' parameter and use it
instead of %NARINFO-CACHE-DIRECTORY.
(narinfo-cache-directories): New procedure.
(maybe-remove-expired-cached-narinfo): Call 'remove-expired-cached-narinfos'
for each item returned by 'narinfo-cache-directories'.
| Ludovic Courtès |
2015-07-13 | substitute: Pass the cache URL instead of <cache> objects.•••* guix/scripts/substitute.scm (<cache>): Rename to...
(<cache-info>): ... this.
(open-cache): Rename to...
(download-cache-info): ... this. Return a <cache-info> or #f.
(open-cache*): Remove.
(cache-narinfo!): Take a URL instead of a <cache> as the first parameter.
(fetch-narinfos): Likewise. Call 'download-cache-info'. Remove use of
'force'.
(guix-substitute): Replace calls to 'open-cache*' with %CACHE-URL.
| Ludovic Courtès |
2015-07-13 | substitute: Remove unneeded conditionals.•••* guix/scripts/substitute.scm (guix-substitute): Remove unneeded (if cache
...) forms since CACHE is always true (it's a promise.)
| Ludovic Courtès |
2015-07-13 | guix lint: Remove duplicated module lines.•••* guix/scripts/lint.scm (guix): Remove duplicated lines for using
'srfi-34' and 'srfi-35' modules. These lines were introduced twice by
commits b210b35 and 002c57c.
| Alex Kost |
2015-07-09 | offload: Add 'ssh-options' field to <build-machine>.•••* guix/scripts/offload.scm (<build-machine>)[ssh-options]: New field.
(remote-pipe): Use it.
(send-files): Likewise.
| Ludovic Courtès |
2015-07-08 | import: Add 'elpa' importer.•••* guix/import/elpa.scm: New file.
* guix/scripts/import.scm: Add "elpa" to 'importers'.
* guix/scripts/import/elpa.scm: New file.
* Makefile.am (MODULES): Add 'guix/import/elpa.scm' and
'guix/scripts/import/elpa.scm'.
(SCM_TESTS): Add 'tests/elpa.scm'.
* doc/guix.texi (Invoking guix import): Document it.
* tests/elpa.scm: New file.
* po/guix/POTFILES.in: Add 'guix/scripts/import/elpa.scm'.
| Federico Beffa |
2015-07-07 | gnu: system: Move <file-system-mapping> into (gnu system file-systems).•••* gnu/system/vm.scm (<file-system-mapping>, %store-mapping): Move from here...
* gnu/system/file-systems.scm: ...to here.
* guix/scripts/system.scm: Import (gnu system file-systems).
| David Thompson |
2015-07-07 | substitute: Avoid infinite loop when updating the substitute list.•••Reported
at <http://lists.gnu.org/archive/html/guix-devel/2015-07/msg00119.html>.
* guix/scripts/substitute.scm (http-multiple-get): When RESP has "Connection:
close", consume HEAD anyway; always call PROC to read from BODY.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| Andy Patterson |
2015-07-02 | scripts: environment: Return the exit status of the command.•••* guix/scripts/environment.scm (guix-environment): Return the exit
status of the command.
| Cyril Roelandt |
2015-07-01 | environment: Define 'GUIX_ENVIRONMENT'.•••* guix/scripts/environment.scm (create-environment): Define 'GUIX_ENVIRONMENT'.
* doc/guix.texi (Invoking guix environment): Document it.
* gnu/system/shadow.scm (default-skeletons): Adjust 'PS1' depending on whether
'GUIX_ENVIRONMENT' is defined.
| Ludovic Courtès |
2015-07-01 | environment: Improve error reporting for '-l'.•••This fixes two problems:
1. Load errors would print an ugly backtrace.
2. When FILE was an absolute name, 'load' was passed an incorrect file
name.
* guix/scripts/environment.scm (options/resolve-packages): Use 'load*' instead
of 'load'.
| Ludovic Courtès |
2015-07-01 | environment: For --ad-hoc, allow users to specify an output.•••* guix/scripts/environment.scm (package+propagated-inputs): Add 'output'
parameter. Use it in return value.
(options/resolve-packages): Use 'append-map' instead of 'map'. For 'load'
and 'expression', return all the outputs of the resulting package. For
'package', use 'specification->package+output' instead of
'specification->package'.
(guix-environment): Adjust uses of PACKAGES accordingly.
* doc/guix.texi (Invoking guix environment): Document it.
* tests/guix-environment.sh: Add test for --ad-hoc guile-bootstrap:out.
| Ludovic Courtès |
2015-07-01 | environment: Add --system.•••* guix/scripts/environment.scm (show-help, %options): Add -s/--system.
(%default-options): Add 'system' pair.
(guix-environment): Pass 'system' value from OPTS to 'lower-inputs'.
* doc/guix.texi (Invoking guix environment): Document it.
| Ludovic Courtès |
2015-07-01 | environment: Add only the specified outputs of the dependencies.•••Before that, 'guix environment guile' (for instance) would define environment
variables that would refer to the "include" output of Bash, the "debug" output
of libgc, etc., even though these are not listed as inputs in the recipe of
'guile'.
* guix/gexp.scm (lower-inputs): Export.
* guix/scripts/environment.scm (evaluate-input-search-paths): Remove
'derivations' parameter; add 'search-paths'. Expect 'inputs' to be
a list of tuples. Adjust callers.
(create-environment): Remove 'derivations' parameter; add 'search-paths'.
(show-search-paths): Likewise.
(package+propagated-inputs): New procedure.
(packages->transitive-inputs, packages+propagated-inputs): Remove.
(build-inputs): Expect INPUTS to be a list of derivation tuples.
(guix-environment): Compute INPUTS using 'package+propagated-inputs',
'package->bag', and 'bag-transitive-inputs'. Move 'run-with-store' higher.
* tests/guix-environment.sh: Add test with FINDUTILS-BOOT0.
| Ludovic Courtès |
2015-06-21 | size: Add '--map-file' option.•••* guix/scripts/size.scm (profile->page-map): New procedures.
(show-help, %options): Add --map-file.
(guix-size): Honor it.
* doc/guix.texi (Invoking guix size): Document it.
* doc/images/coreutils-size-map.png: New file.
* doc.am (dist_infoimage_DATA): Add it.
| Ludovic Courtès |
2015-06-21 | size: Remove unused variables.•••* guix/scripts/size.scm (ensure-store-item): Remove #:dry-run? parameter.
(%options): Remove 'dry-run?' variable.
| Ludovic Courtès |
2015-06-18 | Add 'guix size'.•••* guix/scripts/size.scm: New file.
* Makefile.am (MODULES): Add it.
(SCM_TESTS): Add tests/size.scm.
* doc.am (SUBCOMMANDS): Add 'size'.
* po/guix/POTFILES.in: Add guix/scripts/size.scm.
* tests/size.scm: New file.
* doc/guix.texi (Packages with Multiple Outputs): Add xref to "Invoking guix
size".
(Invoking guix size): New node.
(Invoking guix gc): Add index for "closure" and xref to the above.
* doc/contributing.texi (Submitting Patches): Use @enumerate for the check
list. Add item about 'guix size'.
| Ludovic Courtès |
2015-06-18 | Add 'guix edit'.•••* guix/scripts/edit.scm: New file.
* Makefile.am (MODULES): Add it.
* doc.am (SUBCOMMANDS): Add 'edit'.
* doc/guix.texi (Defining Packages): Add xref to "Invoking guix edit".
(Invoking guix edit): New node.
* po/guix/POTFILES.in: Add it.
| Ludovic Courtès |
2015-06-18 | Move 'specification->package+output' to (gnu packages).•••* guix/scripts/package.scm (specification->package+output): Move to...
* gnu/packages.scm (specification->package+output): ... here
* guix/scripts/archive.scm (guix): Adjust accordingly.
| Ludovic Courtès |
2015-06-17 | offload: Fix sorting bug in 'choose-build-machine'.•••* guix/scripts/offload.scm (choose-build-machine)[undecorate]: Return the
boolean result of pred instead of the best machine+slot.
| Mark H Weaver |
2015-06-11 | guix build: Allow directories to be passed to --with-source.•••* guix/scripts/build.scm (package-with-source)[tarball-base-name]: Gracefully
handle file names that lack an extension.
Pass #:recursive? #t to 'download-to-store'.
* guix/download.scm (download-to-store): Add #:recursive? parameter and pass
it to 'add-to-store'.
* doc/guix.texi (Invoking guix build): Add an example of --with-source with a
directory.
| Ludovic Courtès |
2015-06-11 | environment: Connect to the store after the command line has been parsed.•••* guix/scripts/environment.scm (guix-environment): Call 'parse-command-line'
outside of 'with-store'. This allows things like --help to run even if the
daemon is not running.
| Ludovic Courtès |
2015-06-10 | guix system: init: Overwrite the items in the target store.•••Fixes <http://bugs.gnu.org/20722>.
Reported by Eric Bavier <ericbavier@openmailbox.org>.
* guix/scripts/system.scm (copy-item): Check whether DEST exists and remove it
if it does.
| Ludovic Courtès |
2015-06-09 | import: hackage: Refactor parsing code and add new options.•••* guix/import/cabal.scm: New file.
* guix/import/hackage.scm: Update to use the new Cabal parsing module.
* tests/hackage.scm: Update tests.
* guix/scripts/import/hackage.scm: Add new '--cabal-environment' and '--stdin'
options.
* doc/guix.texi: ... and document them.
* Makefile.am (MODULES): Add 'guix/import/cabal.scm',
'guix/import/hackage.scm' and 'guix/scripts/import/hackage.scm'.
(SCM_TESTS): Add 'tests/hackage.scm'.
| Federico Beffa |
2015-06-08 | guix: Clean up --help messages.•••* guix/scripts/import.scm (show-help): Add newline before a list of
importers.
* guix/scripts/lint.scm (show-help): Split a long description line.
* guix/scripts/package.scm (show-help): Improve docstrings for --install
and --remove options.
* guix/scripts/system.scm (show-help): Format actions the same way as
guix commands and importers are formatted.
| Alex Kost |
2015-06-06 | guix gc: Add '--verify'.•••* guix/scripts/gc.scm (show-help, %options): Add --verify.
(guix-gc): Handle it.
* doc/guix.texi (Invoking guix gc): Document --verify, and move --optimize
description right below it.
| Ludovic Courtès |
2015-06-06 | guix package: Fix typo in --help message.•••* guix/scripts/package.scm (show-help): Align '--show' option properly.
| Alex Kost |
2015-05-31 | lint: source: Warn only when all the URIs are unreachable.•••* guix/scripts/lint.scm (call-with-accumulated-warnings): New procedure.
(with-accumulated-warnings): New macro.
(check-source): Add 'try-uris' and use it. Emit warnings only upon
failure.
| Ludovic Courtès |
2015-05-31 | lint: 'validate-uri' really returns #f on failure.•••* guix/scripts/lint.scm (validate-uri): Always return #f on failure.
| Ludovic Courtès |
2015-05-29 | emacs: Report about "search paths" after operation.•••* guix/scripts/package.scm: Export 'display-search-paths'.
* emacs/guix-main.scm (process-package-actions): Use it.
| Alex Kost |
2015-05-28 | guix environment: Add --ad-hoc option.•••* guix/scripts/environment.scm (%options): Add "ad-hoc" option.
(show-help): Display help for "--ad-hoc".
(packages+propagated-inputs): New procedure.
(guix-environment): Create ad hoc environment when asked.
* doc/guix.texi ("invoking guix environment"): Document it.
| David Thompson |
2015-05-26 | gc: ignore trailing slash or subdirectories for `guix gc -d'•••Fixes <http://bugs.gnu.org/19757>.
* guix/scripts/gc.scm (guix-gc): Convert paths to direct store paths.
* guix/store.scm (direct-store-path): Get rid of subdirectories in store path.
* tests/guix-gc.sh: New tests.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| Cyrill Schenkel |
2015-05-25 | guix system: Add '--on-error'.•••* guix/ui.scm (load*): Add #:on-error parameter.
[tag, error-string]: New variables.
Wrap 'load' call in 'call-with-prompt'. Pass TAG to 'make-stack'. Honor
ON-ERROR after 'report-load-error' call.
(report-load-error): Change to not exit on error. Make private.
* guix/scripts/system.scm (show-help, %options): Add --on-error.
(guix-system): Use 'load*' and pass it #:on-error.
| Ludovic Courtès |
2015-05-25 | guix package: --manifest DTRT when combined with --dry-run.•••* guix/scripts/package.scm (guix-package)[process-actions]: Process 'manifest
action regardless of whether 'dry-run? is set. Adjust the message
accordingly.
* tests/guix-package.sh: Add error-reporting test.
| Ludovic Courtès |
2015-05-24 | guix system: init: Copy the closure of 'grub.cfg', not that of the system.•••Fixes <http://bugs.gnu.org/20591>.
Reported by Daniel Pimentel <d4n1@openmailbox.org>.
* guix/scripts/system.scm (install): Copy the closure of GRUB.CFG rather than
that of OS-DIR.
| Ludovic Courtès |
2015-05-24 | guix system: Always add zero previous entries in grub.cfg for 'init'.•••* guix/scripts/system.scm (grub.cfg): Remove.
(perform-action): Call 'operating-system-grub.cfg' with the empty list as
the 2nd argument when ACTION is 'init.
| Ludovic Courtès |
2015-05-24 | guix system: init: Make sure the target is root-owned.•••Suggested by Mark H Weaver <mhw@netris.org>.
* guix/scripts/system.scm (install): Add 'chown' and 'chmod' calls for TARGET
when running as root, and warn otherwise.
| Ludovic Courtès |
2015-05-21 | guix package: Adjust --help message.•••* guix/scripts/package.scm (show-help): Add KIND parameter for
--search-paths as a followup to dbc31ab.
| Ludovic Courtès |
2015-05-21 | scripts: Move 'set-build-options-from-command-line*' to (guix scripts build) ...•••* guix/scripts/build.scm (set-build-options-from-command-line*): New
procedure.
* guix/scripts/environment.scm (set-build-options-from-command-line*): Delete.
| David Thompson |