Age | Commit message (Expand) | Author |
2015-02-06 | guix package: Make custom profiles actual indirect roots....Before that, any profile generation built when '-p' is used would
effectively become a permanent GC root because the symlink in
/var/guix/gcroots/auto would point directly to /gnu/store/...-profile.
* guix/scripts/package.scm (maybe-register-gc-root): Rename to...
(register-gc-root): ... this. Remove conditional, and replace call to
'canonicalize-path' with (string-append (getcwd) "/" ...).
(guix-package): Call 'register-gc-root' only if PROFILE is different
from %CURRENT-PROFILE.
* tests/guix-package.sh: Add test case.
| Ludovic Courtès |
2015-02-06 | pull: Always install the ~/.config/guix/latest symlink....Before that, if two users on the same machine ran 'guix pull', the
second one would have the "Guix already up to date" message and their
~/.config/guix/latest link would be left unchanged---effectively
preventing them from updating.
* guix/scripts/pull.scm (build-and-install): Install the 'latest'
symlink regardless of whether TO-DO? is true or false.
| Ludovic Courtès |
2015-02-05 | offload: Better report failure to create the GC root directory....Suggested by Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>.
* guix/scripts/offload.scm (register-gc-root)[script]: Replace
'false-if-exception' with a finer-grain 'system-error handler.
Provide the name of MACHINE in 'leave' error message.
| Ludovic Courtès |
2015-02-05 | offload: Warn about SSH client issues....Suggested by Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>.
* guix/scripts/offload.scm (remote-pipe): Remove unneeded 'catch'.
(machine-load): Check the exit value upon (close-pipe pipe). Call
'warning' when it is non-zero.
| Ludovic Courtès |
2015-02-04 | Add support for 'cvs-fetch' method in origins....* guix/cvs-download.scm, guix/build/cvs.scm: New files.
* Makefile.am (MODULES): Add them.
| Mark H Weaver |
2015-02-04 | Remove outdated comment from svn-fetch....* guix/svn-download.scm (svn-fetch): Remove outdated comment.
| Mark H Weaver |
2015-02-03 | guix: environment: Consider all package outputs....* guix/scripts/environment.scm (for-each-search-path): Iterate over all
derivation output paths.
(packages->transitive-inputs): Process inputs that specify an output, too.
| David Thompson |
2015-02-02 | store: Remove 'build-derivations'....* guix/store.scm (build-derivations): Remove.
* guix/derivations.scm (build-derivations): Write in terms of
'build-things'.
* doc/guix.texi (Invoking guix build): Adjust text accordingly.
| Ludovic Courtès |
2015-02-02 | store: Add 'build-things'....* guix/store.scm (operation-id): Rename 'build-derivations' to
'build-things', as per Nix commit 1aba0bf0.
(build-derivations): Rename to...
(build-things): ... this. Keep 'build-derivations' as an alias.
(build): New procedure.
* tests/store.scm ("build-things with output path",
"substitute + build-things with output path"): New tests.
| Ludovic Courtès |
2015-02-02 | tests: Add 'with-derivation-substitute' and use it....* guix/tests.scm (%substitute-directory): New variable.
(call-with-derivation-narinfo): Use it.
(call-with-derivation-substitute): New procedure.
(with-derivation-substitute): New macro.
* tests/store.scm ("substitute"): Use 'with-derivation-substitute'.
("substitute, corrupt output hash"): Likewise.
| Ludovic Courtès |
2015-02-02 | tests: Further factorize substitute mocks....* guix/tests.scm (derivation-narinfo): Turn 'nar' into a keyword
parameter. Add #:sha256 parameter, and honor it.
(call-with-derivation-narinfo): Add #:sha256 and pass it to
'derivation-narinfo'.
(with-derivation-narinfo): Extend with support for (sha256 => value).
* tests/store.scm ("substitute query"): Use 'with-derivation-narinfo'.
("substitute"): Likewise.
("substitute, corrupt output hash"): Likewise.
("substitute --fallback"): Likewise.
* tests/derivations.scm: Remove Emacs local variable.
| Ludovic Courtès |
2015-01-28 | ui: Update copyright year in '--version' output....* guix/ui.scm (show-version-and-exit): Increment copyright year.
| Ludovic Courtès |
2015-01-28 | lint: Fix argument parsing when several packages are specified....* guix/scripts/lint.scm (%options) <--checkers>: Remove 'arg-handler'
parameter, and return a single value.
(guix-lint)[parse-options]: Remove 'arg-handler' parameter from
handlers. Remove second seed to 'args-fold*'.
* tests/guix-lint.sh: Add test.
| Ludovic Courtès |
2015-01-26 | substitute-binary: Let the user know when the cache is being updated....* guix/scripts/substitute-binary.scm (open-cache*): New macro.
(guix-substitute-binary): Use it instead of (delay (open-cache ...)).
| Ludovic Courtès |
2015-01-26 | hash: Initialize libgcrypt before use....Fixes <http://bugs.gnu.org/19677>.
Reported by Mark H Weaver <mhw@netris.org>.
* guix/hash.scm: Use (guix gcrypt).
(sha256, open-sha256-md, md-write, md-close): Use 'libgcrypt-func'
instead of 'dynamic-func'.
| Ludovic Courtès |
2015-01-26 | Add (guix gcrypt)....* guix/gcrypt.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/pk-crypto.scm: Use it.
(libgcrypt-func, gcrypt-version): Remove.
| Ludovic Courtès |
2015-01-26 | guix lint: Make the 'source' checker happy if at least one URI is valid....Before that it would check all the URIs of each package.
* guix/scripts/lint.scm (validate-uri): Really return #f on failure and
#t otherwise.
(check-source): Replace 'for-each' with 'any'.
| Ludovic Courtès |
2015-01-25 | lint: add 'source' checker....* guix/scripts/lint.scm (validate-uri?): New procedure.
(%checkers): Add 'source' checker
| Cyril Roelandt |
2015-01-24 | derivations: Raise an error for references to non-existent outputs....Fixes <http://bugs.gnu.org/19630>.
Reported by Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>.
* guix/derivations.scm (&derivation-error,
&derivation-missing-output-error): New error conditions.
(derivation->output-path): Raise a '&derivation-missing-output-error'
if OUTPUT is not an output of DRV.
* guix/ui.scm (call-with-error-handling): Add case for
'derivation-missing-output-error?'.
(show-what-to-build): Check whether (derivation-outputs drv) is
empty.
* tests/packages.scm ("reference to non-existent output"): Add test.
| Ludovic Courtès |
2015-01-23 | build-system/glib-or-gtk: Add MIME directories to $XDG_DATA_DIRS....Fixes an Evince regression introduced in commit 3d243e9.
* guix/build/glib-or-gtk-build-system.scm (data-directories): Check the
/mime sub-directory.
| Ludovic Courtès |
2015-01-22 | guix system: Improve error messages....* guix/ui.scm (report-error): Export.
* guix/scripts/system.scm (read-operating-system): Report syntax errors
using standard GNU format. Report other errors using 'display-error'.
| Ludovic Courtès |
2015-01-21 | store: Change 'run-with-store' to return a single value....* guix/store.scm (run-with-store): Wrap 'run-with-state' in
'call-with-values'. Return only the first value.
| Ludovic Courtès |
2015-01-20 | guix package: Avoid spurious warnings from 'find-files'....Reported by Andreas Enge <andreas@enge.fr>.
* guix/scripts/package.scm (with-null-error-port): New macro.
(search-path-environment-variables): Wrap 'search-path-as-list' call
in 'with-null-error-port'.
| Ludovic Courtès |
2015-01-20 | packages: Mark the 'patches' field as delayed....* guix/packages.scm (<origin>)[patches]: Mark as 'delayed'.
(print-origin, origin->derivation): Add call to 'force' when accessing
'patches'.
| Ludovic Courtès |
2015-01-19 | records: Add support for delayed fields....* guix/records.scm (make-syntactic-constructor): Add #:delayed
parameter.
[delayed-field?]: New procedure.
[wrap-field-value]: Use it.
(define-record-type*)[delayed-field?, wrapped-field?]: New procedures.
[thunked-field-accessor-name]: Rename to...
[wrapped-field-accessor-name]: ... this.
[field-spec->srfi-9]: Change 'thunked' to 'wrapped'.
[delayed-field-accessor-definition]: New procedure.
Compute delayed-field accessors and emit them. Pass #:delayed to
'make-syntactic-constructor'.
* tests/records.scm ("define-record-type* & delayed",
"define-record-type* & delayed & default",
"define-record-type* & delayed & inherited"): New tests.
| Ludovic Courtès |
2015-01-19 | make-syntactic-constructor kwarg default | Ludovic Courtès |
2015-01-19 | records: Factorize value wrapping in the record constructor....* guix/records.scm (make-syntactic-constructor)[wrap-field-value]: New
procedure.
[field-bindings, field-value]: Use it.
| Ludovic Courtès |
2015-01-19 | records: Move 'make-syntactic-constructor' to the top level....* guix/records.scm (make-syntactic-constructor): New procedure, formerly
nested in 'define-record-type*'.
| Ludovic Courtès |
2015-01-19 | records: Use keyword parameters for 'make-syntactic-constructor'....* guix/records.scm (define-record-type*)[make-syntactic-constructor]:
Turn THUNKED and DEFAULTS into keyword arguments.
Adjust caller accordingly. Declare 'thunked' and 'defaults' local
variables.
| Ludovic Courtès |
2015-01-18 | nar: Read archive signatures as Latin-1 strings....Fixes <http://bugs.gnu.org/19610>.
Reported by Mark H Weaver <mhw@netris.org>.
* guix/nar.scm (restore-one-item): Use 'read-latin1-string' to read the
signature.
| Ludovic Courtès |
2015-01-18 | serialization: Read Latin-1 strings with 'get-bytevector-n'....* guix/serialization.scm (read-latin1-string): Use 'get-bytevector-n'
instead of 'get-string-n'. Use 'list->string' etc. to convert the
bytevector to a string.
| Ludovic Courtès |
2015-01-18 | store: Change 'store-lower' to preserve the original procedure's documentation....* guix/store.scm (preserve-documentation): New procedure.
(store-lift, store-lower): Use it.
| Ludovic Courtès |
2015-01-17 | doc: Document '%state-monad' and update '%store-monad' description....* doc/guix.texi (The Store Monad): Document '%state-monad' and related
procedures. Describe '%store-monad' as an alias for '%state-monad'.
* guix/monads.scm: Update commentary.
| Ludovic Courtès |
2015-01-17 | store: Make '%store-monad' an alias for '%state-monad'....* guix/store.scm (define-alias): New macro.
(%store-monad, store-return, store-bind): Define as aliases of the
corresponding %STATE-MONAD part.
(store-lift, text-file, interned-file): Return STORE as a second
value.
(run-with-store): Use 'run-with-state'.
* guix/packages.scm (set-guile-for-build, package-file): Return STORE as
a second value.
* guix/monads.scm: Remove part of the module commentary.
| Ludovic Courtès |
2015-01-17 | monads: Add the state monad....* guix/monads.scm (state-return, state-bind, run-with-state,
current-state, set-current-state, state-push, state-pop): New
procedures.
(%state-monad): New variable.
* tests/monads.scm (%monads): Add %STATE-MONAD.
(%monad-run): Add 'run-with-state'.
(values->list): New macro.
("set-current-state", "state-push etc."): New tests.
| Ludovic Courtès |
2015-01-17 | guix archive: Add -r/--recursive....* guix/scripts/archive.scm (show-help, %options): Add -r/--recursive.
(export-from-store): Pass #:recursive? to 'export-paths'.
* doc/guix.texi (Invoking guix archive): Add -r in Emacs example. Add
example with ~/.guix-profile. Document -r/--recursive.
| Ludovic Courtès |
2015-01-17 | guix archive: Remove unused -r/--root option....* guix/scripts/archive.scm (%options): Remove -r/--root.
| Ludovic Courtès |
2015-01-17 | store: Remove unused variable....* guix/store.scm (export-paths): Remove unused variable 's'.
| Ludovic Courtès |
2015-01-17 | store: Add #:recursive? parameter to 'export-paths'....* guix/store.scm (export-paths): Add #:recursive? parameter and honor
it.
* tests/store.scm ("export/import incomplete", "export/import
recursive"): New tests.
| Ludovic Courtès |
2015-01-16 | Merge branch 'core-updates'...Conflicts:
gnu/packages/bootstrap.scm
| Ludovic Courtès |
2015-01-14 | packages: Convert source derivations to monadic style....* guix/packages.scm (origin->derivation): Take body from
'package-source-derivation', and change it to monadic style. Expect
METHOD to a monadic procedure.
(package-source-derivation): Define in terms of 'origin->derivation'.
* guix/download.scm (url-fetch): Remove 'store' argument. Remove
'guile-for-build' variable. Turn into a monadic procedure.
* guix/git-download.scm (git-fetch): Likewise.
* guix/svn-download.scm (svn-fetch): Likewise.
* tests/builders.scm (url-fetch*): New procedure.
Change tests to call 'url-fetch*' instead of 'url-fetch'.
* tests/packages.scm ("package-source-derivation, snippet"): Remove
'store' parameter of 'fetch' and change it to use 'interned-file'
instead of 'add-to-store'.
* gnu/packages/bootstrap.scm (bootstrap-origin)[boot]: Remove 'store'
parameter.
| Ludovic Courtès |
2015-01-14 | store: Add 'store-lower'....* guix/store.scm (store-lower): New procedure.
* tests/store.scm ("store-lower"): New test.
| Ludovic Courtès |
2015-01-14 | monads: Move '%store-monad' and related procedures where they belong....This turns (guix monads) into a generic module for monads, and moves the
store monad and related monadic procedures in their corresponding
module.
* guix/monads.scm (store-return, store-bind, %store-monad, store-lift,
text-file, interned-file, package-file, package->derivation,
package->cross-derivation, origin->derivation, imported-modules,
compiled, modules, built-derivations, run-with-store): Move to...
* guix/store.scm (store-return, store-bind, %store-monad, store-lift,
text-file, interned-file): ... here.
(%guile-for-build): New variable.
(run-with-store): Moved from monads.scm. Remove default value for
#:guile-for-build.
* guix/packages.scm (default-guile): Export.
(set-guile-for-build): New procedure.
(package-file, package->derivation, package->cross-derivation,
origin->derivation): Moved from monads.scm.
* guix/derivations.scm (%guile-for-build): Remove.
(imported-modules): Rename to...
(%imported-modules): ... this.
(compiled-modules): Rename to...
(%compiled-modules): ... this.
(built-derivations, imported-modules, compiled-modules): New
procedures.
* gnu/services/avahi.scm, gnu/services/base.scm, gnu/services/dbus.scm,
gnu/services/dmd.scm, gnu/services/networking.scm,
gnu/services/ssh.scm, gnu/services/xorg.scm, gnu/system/install.scm,
gnu/system/linux-initrd.scm, gnu/system/shadow.scm, guix/download.scm,
guix/gexp.scm, guix/git-download.scm, guix/profiles.scm,
guix/svn-download.scm, tests/monads.scm: Adjust imports accordingly.
* guix/monad-repl.scm (default-guile-derivation): New procedure.
(store-monad-language, run-in-store): Use it.
* build-aux/hydra/gnu-system.scm (qemu-jobs): Add explicit
'set-guile-for-build' call.
* guix/scripts/archive.scm (derivation-from-expression): Likewise.
* guix/scripts/build.scm (options/resolve-packages): Likewise.
* guix/scripts/environment.scm (guix-environment): Likewise.
* guix/scripts/system.scm (guix-system): Likewise.
* doc/guix.texi (The Store Monad): Adjust module names accordingly.
| Ludovic Courtès |
2015-01-13 | Merge branch 'master' into core-updates | Mark H Weaver |
2015-01-13 | build/glib-or-gtk-build-system: Fix 'generate-icon-cache'....Reported by Mark H Weaver <mhw@netris.org>
* guix/build/glib-or-gtk-build-system.scm (generate-icon-cache): Add check for
existence of icons directory.
| Federico Beffa |
2015-01-12 | monads: Remove 'derivation-expression'....* guix/monads.scm (lower-inputs, derivation-expression): Remove.
* tests/monads.scm (derivation-expression, "mlet* +
derivation-expression"): Remove.
| Ludovic Courtès |
2015-01-12 | monads: Rewrite 'text-file*' using gexps....* guix/monads.scm (text-file*): Move to...
* guix/gexp.scm (text-file*): ... here. Rewrite using gexps.
* tests/monads.scm ("text-file*"): Move to...
* tests/gexp.scm ("text-file*"): ... here.
| Ludovic Courtès |
2015-01-12 | guix: build/glib-or-gtk-build-system: Add support for GIO and XDG theming....* guix/build/glib-or-gtk-build-system.scm (data-directories): Rename
'schemas-directories' to 'data-directories' and add support for XDG theming
data.
* guix/build/glib-or-gtk-build-system.scm (gio-module-directories): New
function.
* guix/build/glib-or-gtk-build-system.scm (wrap-all-programs): Update names to
reflect that we are dealing with more types of data and not only with
schemas. Add handling of GIO modules.
* guix/build-system/glib-or-gtk.scm (lower): Import the 'bin' output of GLib
instead of 'out'. This was an error since we need the program
'glib-compile-schemas'. Update the description.
| Federico Beffa |
2015-01-11 | derivations: Use a set for 'substitution-oracle'....* guix/derivations.scm (substitution-oracle): Use sets instead of lists.
| Ludovic Courtès |
2015-01-11 | derivations: Use sets for 'derivations-prerequisites'....This yields a 46% improvement in 'derivation-prerequisites' invocations
on the Emacs derivation.
* guix/derivations.scm (derivation-prerequisites): Add 'input-set'
variable, and use it in iterations.
| Ludovic Courtès |