aboutsummaryrefslogtreecommitdiff
path: root/guix
Commit message (Expand)AuthorAge
* Merge branch 'master' into core-updatesMark H Weaver2015-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ès2015-06-10
| * ui: Replace the global 'symlink' binding.•••* guix/ui.scm (symlink): Set! the global symlink. Ludovic Courtès2015-06-10
| * 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 Beffa2015-06-09
| * monads: Allow n-ary '>>=' expressions.•••Suggested by Federico Beffa <beffa@fbengineering.ch>. * guix/monads.scm (bind-syntax): New macro. (with-monad): Use it instead of 'identifier-syntax'. * tests/monads.scm (">>= with more than two arguments"): New test. * doc/guix.texi (The Store Monad): Explain that there can be several MPROC. Add an example. Ludovic Courtès2015-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 Kost2015-06-08
| * 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ès2015-06-06
| * store: Add 'verify-store' RPC.•••* guix/store.scm (operation-id): Add 'verify-store'. (verify-store): New procedure. (set-build-options): Adjust comment. * tests/store.scm ("verify-store", "verify-store + check-contents"): New tests. Ludovic Courtès2015-06-06
| * guix package: Fix typo in --help message.•••* guix/scripts/package.scm (show-help): Align '--show' option properly. Alex Kost2015-06-06
| * licenses: Add the Open Publication License 1.0.•••* guix/licenses.scm (opl1.0+): New variable. Mark H Weaver2015-06-05
| * gexp: Add 'plain-file'.•••* guix/gexp.scm (<plain-file>): New type. (plain-file, plain-file-compiler): New procedures. * tests/gexp.scm ("one plain file"): New test. * doc/guix.texi (G-Expressions): Document 'plain-file'. Ludovic Courtès2015-06-03
| * gexp: Export <local-file> accessors.•••* guix/gexp.scm (local-file-file, local-file-name, local-file-recursive?): Export. Ludovic Courtès2015-06-03
| * gnu-maintenance: latest-release: Honor releases that are not in subdirs.•••Reported by Mark H Weaver. * guix/gnu-maintenance.scm (latest-release): Add 'result' parameter to 'loop'. When entering a sub-directory, use the current directory's latest release as 'result'. This fixes the code for 'gnu-pw-mgr' and 'sharutils'. Ludovic Courtès2015-06-02
| * 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ès2015-05-31
| * lint: 'validate-uri' really returns #f on failure.•••* guix/scripts/lint.scm (validate-uri): Always return #f on failure. Ludovic Courtès2015-05-31
| * base32: Use a custom error condition instead of 'misc-error'.•••Suggested by Christopher Allan Webber <cwebber@dustycloud.org>. * guix/base32.scm (&invalid-base32-character): New error condition. (make-base32-string->bytevector): Use it instead of 'error'. * tests/base32.scm ("&invalid-base32-character"): New test. Ludovic Courtès2015-05-31
| * ui: Do not call 'display-error' for SRFI-34 exceptions.•••* guix/ui.scm (report-load-error, warn-about-load-error, read/eval): Add clause for SRFI-34 exceptions. Ludovic Courtès2015-05-31
| * 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 Kost2015-05-29
| * 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 Thompson2015-05-28
| * profiles: Deal with non-directory items in share/icons.•••Reported by Mark H Weaver <mhw@netris.org>. * guix/profiles.scm (gtk-icon-themes)[build]: Check whether DIR is a directory before calling 'ensure-writable-directory'. Ludovic Courtès2015-05-28
| * profiles: Export 'ensure-writable-directory' and use it.•••* guix/build/profiles.scm (ensure-writable-directory): Export. * guix/profiles.scm (gtk-icon-themes)[build]: Remove '@@' form and use (guix build profiles). Ludovic Courtès2015-05-27
| * profiles: Don't assume all the inputs are of a package are packages.•••Reported by Ricardo Wurmus. * guix/profiles.scm (gtk-icon-themes)[entry-lookup-gtk+](find-among-packages): Rename to... (find-among-inputs): ... this. Check whether INPUT is a package before calling 'package-name'. Fixes a regression introduced in b04af0e. Ludovic Courtès2015-05-27
| * profiles: Use 'derivation?' to filter hooks.•••Fixes a regression introduced in 07eaecfa. * guix/profiles.scm (profile-derivation): Use 'derivation?' instead of 'gexp?' to filter hooks. 宋文武2015-05-27
| * profiles: Add gtk-icon-themes hook.•••* guix/profiles.scm (gtk-icon-themes): New function. (%default-profile-hooks): Add it. 宋文武2015-05-27
| * monads: 'foldm', 'mapm', and 'anym' now take a list of regular values.•••* guix/monads.scm (foldm, mapm, anym): Change to take a list of regular values as is customary. * tests/monads.scm ("mapm", "anym"): Adjust accordingly. Ludovic Courtès2015-05-27
| * profiles: Hooks always return a monadic value.•••Suggested by 宋文武 <iyzsong@gmail.com>. * guix/profiles.scm (ghc-package-cache-file): Return a monadic #f, not just #f, when MANIFEST contains no GHC package. (profile-derivation): Do not filter based on the return value of HOOK; instead filter based on the value of items in EXTRAS. Ludovic Courtès2015-05-26
| * ui: Improve error reporting for 'read/eval'.•••The effect is visible on commands like: guix build -e '(+ 2 "foo")' guix build -e '()' * guix/ui.scm (read/eval): Change handler to properly report syntax errors and use 'display-error' for other errors. Ludovic Courtès2015-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 Schenkel2015-05-26
| * 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ès2015-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ès2015-05-25
| * ui: Auto-compile user code, and improve error reporting.•••Reported by Christian Grothoff. * guix/ui.scm (load*): Add 'frame-with-source'. Set %load-should-auto-compile. Change error handle to just (exit 1). Add pre-unwind handler to capture the stack and call 'report-load-error'. (report-load-error): Add optional 'frame' parameter and pass it to 'display-error'. * tests/guix-system.sh: Add "unbound variable" test. Ludovic Courtès2015-05-25
| * ui: Make 'symlink' replacement more future-proof.•••* guix/ui.scm (symlink): Change next-to-last 'throw' argument to explicitly ignore ARGS; change last argument to (list errno). Ludovic Courtès2015-05-24
| * ui: Add 'copy-file' replacement with better error reporting.•••* guix/ui.scm (copy-file): New procedure. Ludovic Courtès2015-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ès2015-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ès2015-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ès2015-05-24
| * services: swap: Use 'restart-on-EINTR'.•••* gnu/services/base.scm (swap-service)[start, stop]: Use 'restart-on-EINTR'. * guix/build/syscalls.scm (swapoff): Fix typo in 'throw' arguments. Ludovic Courtès2015-05-22
| * syscalls: Add 'restart-on-EINTR'.•••* guix/build/syscalls.scm (call-with-restart-on-EINTR): New procedure. (restart-on-EINTR): New macro. Ludovic Courtès2015-05-22
| * guix package: Adjust --help message.•••* guix/scripts/package.scm (show-help): Add KIND parameter for --search-paths as a followup to dbc31ab. Ludovic Courtès2015-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 Thompson2015-05-21
| * ui: Deduplicate 'show-what-to-build*'.•••* guix/ui.scm (show-what-to-build*): New procedure. * guix/scripts/environment.scm (show-what-to-build*): Delete. * guix/scripts/system.scm (show-what-to-build*): Likewise. * build-aux/make-binary-tarball.scm (show-what-to-build*): Likewise. David Thompson2015-05-21
| * package: Add --manifest option.•••* guix/scripts/package.scm (show-help): Add help text. (%options): Add manifest option. (guix-package): Add manifest option handler. * doc/guix.texi ("Invoking guix package"): Document it. * tests/guix-package.sh: Add test. David Thompson2015-05-20
| * profiles: Add 'packages->manifest' procedure.•••* guix/profiles.scm (packages->manifest): New procedure. David Thompson2015-05-20
| * ui: Factorize user-provided Scheme file loading.•••* guix/ui.scm (make-user-module, load*): New procedures. * guix/scripts/system.scm (%user-module): Define in terms of 'make-user-module'. (read-operating-system): Define in terms of load*'. David Thompson2015-05-20
| * ftp-client: Throw when log-in fails.•••* guix/ftp-client.scm (ftp-open): When '%ftp-listen' returns something different from 220, throw instead of writing an error message. Ludovic Courtès2015-05-20
| * guix package: Add optional argument to --search-paths.•••* guix/scripts/package.scm (search-path-environment-variables): Add #:kind parameter. Pass it to 'environment-variable-definition'. (display-search-paths): Add #:kind parameter and pass it to 'search-path-environment-variables'. (%options): Add an optional parameter for "--search-paths". (guix-package)[process-query]: Handle it. * tests/guix-package-net.sh: Adjust existing test. * tests/guix-package.sh: Adjust existing tests and add new test. * doc/guix.texi (Invoking guix package): Document it. Ludovic Courtès2015-05-20
| * guix package: --search-paths mentions $PATH.•••* guix/scripts/package.scm (search-path-environment-variables): Add $PATH to SEARCH-PATHS. Ludovic Courtès2015-05-20
| * guix gc: Add '--optimize'.•••* guix/scripts/gc.scm (show-help, %options): Add --optimize. (guix-gc): Handle it. Ludovic Courtès2015-05-19
| * store: Add 'optimize-store' RPC.•••* guix/store.scm (operation-id): Add 'optimize-store'. (optimize-store): New procedure. Ludovic Courtès2015-05-19
| * profiles: Gracefully deal with packages containing an etc/ symlink.•••This fixes a bug whereby 'guix package -i gcc-toolchain' would fail in 'build-profile'. This is because in 'gcc-toolchain', etc/ is a symlink, and so the 'scandir' call in 'unsymlink' would return #f instead of returning a list. Reported by Andreas Enge <andreas.enge@inria.fr>. * guix/build/profiles.scm (ensure-writable-directory)[unsymlink]: Append "/" to TARGET before calling 'scandir'. * tests/profiles.scm ("etc/profile when etc/ is a symlink"): New test. Ludovic Courtès2015-05-18