Age | Commit message (Expand) | Author |
2017-01-13 | ui: Factorize error-reporting wrapper code....* guix/ui.scm (augmented-system-error-handler): New procedure.
(error-reporting-wrapper): New macro.
(symlink, copy-file): Define using 'error-reporting-wrapper'.
| Ludovic Courtès |
2017-01-12 | challenge: Use a warning when substitutes are lacking....* guix/scripts/challenge.scm (discrepancies): Use 'warning' instead of
'leave'.
| Ludovic Courtès |
2017-01-11 | perform-download: Add backward-compatible case....This is meant to ease transition for people running an older guix-daemon
invoking a recent 'guix perform-download' with only one argument.
This is a followup to 9b5364a3afb03414bd6e3ded2fbfdacabe4e8870.
* guix/scripts/perform-download.scm (perform-download): Make 'output'
optional. Bind 'output*' from DRV's "out" and honor it.
(guix-perform-download): Add clause with one argument.
| Ludovic Courtès |
2017-01-11 | derivations: Make <derivation> record datatype immutable....* guix/derivations.scm (<derivation>): Make it immutable.
(derivation): Use generic 'set-field' instead of ad-hoc functional setter.
| Mathieu Lirzin |
2017-01-11 | git download: Remove redundant argument in 'gexp->derivation' call....* guix/git-download.scm (git-fetch): Call 'gexp->derivation' with only one
'#:local-build?' keyword argument.
| Mathieu Lirzin |
2017-01-11 | daemon: Allow check builds of 'builtin:download' derivations....Fixes <http://bugs.gnu.org/25089>.
Reported by Leo Famulari <leo@famulari.name>.
* nix/libstore/build.cc (DerivationGoal::runChild): In the 'isBuiltin'
case, check whether DRV's output is in 'redirectedOutputs', and pass an
'output' argument to the built-in builder.
(DerivationGoal::addHashRewrite): Add 'printMsg' call.
* nix/libstore/builtins.hh (derivationBuilder): Add 'output' parameter.
* nix/libstore/builtins.cc (builtinDownload): Likewise.
Add OUTPUT to ARGV.
* guix/scripts/perform-download.scm (perform-download): Add 'output'
parameter.
(guix-perform-download): Adjust 'match' clauses accordingly.
* tests/derivations.scm ("'download' built-in builder, check mode"): New
test.
| Ludovic Courtès |
2017-01-11 | guix package: Fix version and output for 'guix package -i /gnu/store/…'....* guix/utils.scm (package-name->name+version): Add optional 'delimiter'
parameter.
* guix/scripts/package.scm (store-item->manifest-entry): Pass #\- as the
delimiter for 'package-name->name+version'. Use "out" instead of #f for
the 'output' field.
* tests/guix-package.sh: Add test.
| Ludovic Courtès |
2017-01-10 | guix archive: Allow compilation in the absence of Guile-JSON....Fixes <http://bugs.gnu.org/25409>.
Reported by Ben Woodcroft <b.woodcroft@uq.edu.au>.
* guix/scripts/archive.scm: Use 'module-autoload!' instead of #:use-module
to (guix docker).
| Ludovic Courtès |
2017-01-10 | http-client: Improve error reporting....* guix/http-client.scm (http-fetch): Change message in &message
condition to include URI, CODE, and the reason phrase.
| Ludovic Courtès |
2017-01-07 | guix archive: '-f docker' supports package names as arguments....This allows users to type:
guix archive -f docker emacs
as was already the case for the 'nar' format.
Reported by David Thompson.
* guix/scripts/archive.scm (%default-options): Add 'format'.
(export-from-store): Dispatch based on the 'format' key in OPTS.
(guix-archive): Call 'export-from-store' in all cases when the 'export'
key is in OPTS.
| Ludovic Courtès |
2017-01-06 | guix: Add Docker image export....* guix/docker.scm: New file.
* Makefile.am (MODULES): Register it.
* guix/scripts/archive.scm (show-help, %options, guix-archive): Add
support for "--format".
* doc/guix.texi (Invoking guix archive): Document it.
| Ricardo Wurmus |
2017-01-05 | derivations: Share a cache between 'derivation' and 'read-derivation'....This leads a 13% speedup on 'guix build libreoffice -d' and 18% on
'guix build gnome -d'.
* guix/derivations.scm (%derivation-cache): New variable.
(read-derivation): Use it instead of the private 'cache' variable.
(derivation): Populate %DERIVATION-CACHE before returning.
| Ludovic Courtès |
2017-01-05 | derivations: Micro-optimize 'write-derivation'....* guix/derivations.scm (write-derivation)[write-input]: Use 'display'
instead of 'write' for PATH.
Use 'simple-format' instead of 'format', and '~a' instead of '~s' for
SYSTEM and BUILDER.
| Ludovic Courtès |
2017-01-04 | graph: Add '%reverse-package-node-type'....* guix/scripts/graph.scm (%reverse-package-node-type): New variable.
(%node-types): Add it.
* tests/graph.scm ("reverse package DAG"): New test.
* doc/guix.texi (Invoking guix refresh): Add cross-reference to
"Invoking guix graph".
(Invoking guix graph): Document 'reverse-package'.
| Ludovic Courtès |
2017-01-04 | grafts: Move caching to a new 'with-cache' macro....* guix/grafts.scm (with-cache): New macro.
(cumulative-grafts)[return/cache]: Remove.
Use 'with-cache' instead.
| Ludovic Courtès |
2017-01-04 | gnu: Add ocaml-build-system....* guix/build/ocaml-build-system.scm: New file.
* guix/build-system/ocaml.scm: New file.
* Makefile.am (MODULES): Add them.
* gnu/packages/ocaml.scm (ocaml)[native-search-paths]: Adjuste OCAMLPATH.
Signed-off-by: David Craven <david@craven.ch>
| Julien Lepiller |
2017-01-04 | git-download: Add some helpers....* guix/git-download.scm (git-version, git-file-name): New variables.
| David Craven |
2017-01-04 | build-system: cargo: Use correct cargo....* gnu/packages/rust.scm (cargo-bootstrap): Make private.
* guix/build-system/cargo.scm (default-cargo): Use cargo.
| David Craven |
2017-01-03 | guix: build: make-bootstrap: Copy libpthread_nonshared.a to the new system....* guix/build/make-bootstrap.scm (%libc-object-files-rx): Update regexp.
| Manolis Ragkousis |
2017-01-02 | ui: Keep the word "Copyright" untranslated....Suggested by John Darrington <john@darrington.wattle.id.au>.
* guix/ui.scm (show-version-and-exit): Make "Copyright (C) 2017"
untranslatable, except "(C)" itself, like Gnulib's version-etc does.
| Ludovic Courtès |
2017-01-02 | guix hash: '-x' excludes '.git' even when it is a regular file....* guix/scripts/hash.scm (guix-hash)[vcs-file?]: Add case for '.git'
regular files.
| Ludovic Courtès |
2017-01-01 | ui: It's 2017 now!...* guix/ui.scm (show-version-and-exit): Change year to 2017.
| Ludovic Courtès |
2017-01-01 | syscalls: 'terminal-columns' swallows ENOSYS....* guix/build/syscalls.scm (terminal-columns): Catch ENOSYS.
| Ludovic Courtès |
2017-01-01 | gnu-maintenance: Update ViewVC URLs....* guix/gnu-maintenance.scm (%gnumaint-base-url): Change "/gnumaint" to
"/womb/gnumaint".
(%package-list-url, %package-description-url): Adjust accordingly.
| Ludovic Courtès |
2017-01-01 | gexp: Support 'ungexp' forms in improper lists....* guix/gexp.scm (gexp)[collect-escapes, substitute-references]: Replace
the (exp0 exp ...) patterns with (exp0 . exp) to match improper lists.
Adjust clause bodies accordingly.
* tests/gexp.scm ("one input package, dotted list"): New test.
| Ludovic Courtès |
2017-01-01 | gexp: Properly report substitution errors....* guix/gexp.scm (gexp)[substitute-ungexp]: Wrap body in 'with-syntax'
and pass EXP as the last argument to 'syntax-error'.
[substitute-ungexp-splicing]: Pass EXP as the last argument to
'syntax-error'.
| Ludovic Courtès |
2017-01-01 | build-system: cargo: Handle Cargo.lock file not present....* guix/build-system/cargo.scm (cargo-build): Add src output.
(private-keywords): Add #:outputs.
* guix/build/cargo-build-system.scm (configure): Use /share/rust-source
when replacing inputs.
(build, check): Don't do anything when there isn't a Cargo.lock file
present.
(install): Install sources to src output. When a Cargo.lock file is
present use cargo install to install binaries to out.
* guix/import/crate.scm (make-crate-sexp): Importer uses the src output
for crate inputs by default.
* guix/import/utils.scm (package-names->package-inputs, maybe-inputs,
maybe-native-inputs): Take an optional output argument.
* tests/crate.scm (crate->guix-package test): Update.
Problem reported by Francisco Gómez García <espectalll@kydara.com>.
| David Craven |
2017-01-01 | import: crate: Provide a default home-page value....* guix/import/crate.scm (make-crate-sexp): Provide a default home-page
value.
* tests/crate.scm (test-crate): Add repository field.
Problem reported by ng0 <ng0@libertad.pw>.
| David Craven |
2017-01-01 | build-system: cargo: Make Cargo.toml writeable....* guix/build/cargo-build-system.scm (configure): Make sure Cargo.toml
is writeable before attempting modification.
Problem reported by Danny Milosavljevic <dannym@scratchpost.org>.
| David Craven |
2016-12-31 | Add 'guix copy'....* guix/scripts/copy.scm: New file.
* guix/scripts/archive.scm (options->derivations+files): Export.
* doc/guix.texi (Invoking guix copy): New node.
* Makefile.am (MODULES) [HAVE_GUILE_SSH]: Add guix/scripts/copy.scm.
* po/guix/POTFILES.in: Likewise.
| Ludovic Courtès |
2016-12-31 | ssh: 'retrieve-files' detects remote export failures....* guix/ssh.scm (retrieve-files): Call 'lookahead-u8' and raise a
'&message' condition when it returns EOF.
| Ludovic Courtès |
2016-12-31 | ssh: 'send-files' returns the list of items sent....* guix/ssh.scm (send-files): Return MISSING.
| Ludovic Courtès |
2016-12-31 | ssh: Allow transfers of complete closures....* guix/ssh.scm (store-export-channel, send-files)
(file-retrieval-port, retrieve-files): Add #:recursive? parameter and
honor it.
| Ludovic Courtès |
2016-12-31 | git-download: Use a single download script for all derivations....That way, we have only one /gnu/store/…-git-download instead of one
/gnu/store/…-PACKAGE-checkout-builder for each package.
This is a followup to ced200328ca6337ac446e4557c645629e7d7a997.
* guix/git-download.scm (git-fetch)[build]: Get the URL, commit, and
recursive parameter using 'getenv'. Pass #:script-name and #:env-vars
arguments to 'gexp->derivation'.
| Ludovic Courtès |
2016-12-31 | Add (guix ssh) module....* guix/scripts/offload.scm (connect-to-remote-daemon)
(store-import-channel, store-export-channel, send-files)
(retrieve-files): Move to (guix ssh).
(nonce): Add optional 'name' parameter and use it.
(retrieve-files*): New procedure.
(transfer-and-offload): Use it instead of 'retrieve-files', and add
first parameter to 'send-files'.
(assert-node-can-import): Likewise.
(assert-node-can-export): Use 'retrieve-files' instead of
'store-export-channel'.
* guix/ssh.scm: New file.
* configure.ac: Use 'GUIX_CHECK_GUILE_SSH' and define 'HAVE_GUILE_SSH'
Automake conditional.
* Makefile.am (MODULES) [HAVE_GUILE_SSH]: Add guix/ssh.scm.
| Ludovic Courtès |
2016-12-29 | import: elpa: Import dependencies as propagated-inputs...* guix/import/elpa.scm (elpa-package->sexp): Import dependencies as
propagated-inputs.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Carlo Zancanaro |
2016-12-29 | import: elpa: Fix call-with-downloaded-file...* guix/import/elpa.scm (call-with-downloaded-file): Make function behaviour
match documentation string.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Carlo Zancanaro |
2016-12-21 | guix build: '--with-source' overrides the 'replacement' of a package....* guix/scripts/build.scm (package-with-source): Set 'replacement' to #f.
* tests/scripts-build.scm ("options->transformation, with-source,
replacement"): New test.
| Ludovic Courtès |
2016-12-20 | import: github: Use 'json-fetch'....* guix/import/github.scm (json-fetch*): Remove.
(latest-released-version): Adjust accordingly.
| Ludovic Courtès |
2016-12-20 | environment: Add '--root' option....* guix/scripts/environment.scm (show-help, %options): Add --root.
(register-gc-root): New procedure.
(guix-environment): Call 'register-gc-root' when OPTS has a 'gc-root'
option.
* doc/guix.texi (Invoking guix environment): Document it.
* tests/guix-environment.sh: Add tests.
| Ludovic Courtès |
2016-12-20 | import: pypi: Match new 'pypi-uri' domain in updater....* guix/import/pypi.scm (pypi-package?): Match pypi.io domain.
| Marius Bakke |
2016-12-19 | gexp: Slightly simplify 'gexp-inputs'....* guix/gexp.scm (gexp-inputs)[add-reference-inputs]: Remove unneeded
'if' in the non-native nested gexp case.
| Ludovic Courtès |
2016-12-19 | gexp: Native inputs of nested gexps are properly accounted for....Previously, 'gexp-native-inputs' would not return the native inputs of
nested gexps. For example, this:
(gexp-native-inputs #~(foo #$#~(bar #+coreutils)))
would return '().
* guix/gexp.scm (gexp-inputs)[add-reference-inputs]: In the
non-recursive cases, check whether N? and NATIVE? are the same, and act
accordingly.
[native-input?]: Remove.
Fold over all of (gexp-references exp).
* tests/gexp.scm ("ungexp + ungexp-native, nested, special mixture"):
New test.
* tests/gexp.scm ("input list splicing + ungexp-native-splicing"): Pass
#:native? #t to 'gexp-input'.
| Ludovic Courtès |
2016-12-17 | import cran: Handle HTTP errors....Fixes <http://bugs.gnu.org/23479>.
* guix/import/cran.scm (fetch-description): Return #f in case of HTTP
errors.
| Ricardo Wurmus |
2016-12-17 | guix import: Print list of expressions....* guix/scripts/import.scm (guix-import): Print list of expressions.
| Ricardo Wurmus |
2016-12-17 | import cran: Add "recursive" option....* guix/scripts/import/cran.scm: (%options): Add "recursive" option.
(guix-import-cran): Handle "recursive" option.
* doc/guix.texi (Invoking guix import): Document it.
| Ricardo Wurmus |
2016-12-17 | import cran: Add recursive importer....* guix/import/cran.scm (recursive-import): New variable.
(cran->guix-package): Memoize the procedure.
| Ricardo Wurmus |
2016-12-17 | import cran: Ignore default R packages....* guix/import/cran.scm (default-r-packages): New variable.
(description->package): Drop default R packages from list of inputs.
| Ricardo Wurmus |
2016-12-17 | import cran: description->package: Also return package dependencies....* guix/import/cran.scm (description->package): Return package
dependencies in addition to generated package expression.
| Ricardo Wurmus |
2016-12-17 | import cran: Move guix-name to top-level....* guix/import/cran.scm (guix-name): Move to top-level.
| Ricardo Wurmus |