Age | Commit message (Expand) | Author |
2015-06-14 | Merge branch 'master' into core-updates...Conflicts:
gnu/packages/commencement.scm
gnu/packages/xml.scm
| Mark H Weaver |
2015-06-11 | build-system/haskell: install config for any package that creates it....A Cabal package is allowed to declare an "empty" library, in an
otherwise executable-only package, for the purpose of allowing Cabal
to use it as a dependency for other packages. See e.g. hspec-discover.
* guix/build/haskell-build-system.scm (register): Unconditionally call
setup script with "register", and install any config file generated.
| Eric Bavier |
2015-06-11 | profiles: Process ghc conf files only once....A package may be listed in the manifest inputs multiple times. Avoid
copying ghc *.conf files twice by deleting duplicates.
* guix/profiles.scm (ghc-package-cache-file)[conf-files]: Delete
duplicate manifest inputs before copying conf files.
| Eric Bavier |
2015-06-11 | profiles: Search for ghc conf files only if package db exists....This avoids having 'find-files' report warnings about searching in
non-existent directories.
* guix/profiles.scm (ghc-package-cache-file)[conf-files]: Only search
for *.conf files if the search directory exists.
| Eric Bavier |
2015-06-11 | records: Remove unnecessary 'begin'....* guix/records.scm (define-record-type*): Remove unnecessary 'begin'.
| Ludovic Courtès |
2015-06-11 | tests: Write the random seed to the error port....* guix/tests.scm (random-seed): New procedure.
(%seed): Use it, and write the random seed to the error port.
| Ludovic Courtès |
2015-06-11 | packages: Make 'location' field innate....* guix/packages.scm (<package>)[location]: Add 'innate' property.
* guix/build-system/gnu.scm (static-package): Remove 'loc' parameter and
'location' field.
* gnu/packages/autotools.scm (autoconf-wrapper): Remove 'location' field.
* gnu/packages/commencement.scm (gnu-make-boot0, diffutils-boot0, gcc-final):
Likewise.
* gnu/packages/cross-base.scm (cross): Likewise.
* gnu/packages/emacs.scm (emacs-no-x, emacs-no-x-toolkit): Likewise.
* gnu/packages/make-bootstrap.scm (tarball-package): Likewise.
* gnu/packages/maths.scm (petsc-complex): Likewise.
| Ludovic Courtès |
2015-06-11 | records: Add support for 'innate' fields....* guix/records.scm (make-syntactic-constructor): Add #:innate parameter.
[record-inheritance]: Honor it.
[innate-field?]: New procedure.
(define-record-type*)[innate-field?]: New procedure.
Pass #:innate to 'make-syntactic-constructor'.
* tests/records.scm ("define-record-type* & inherit & innate",
"define-record-type* & thunked & innate"): New tests.
| Ludovic Courtès |
2015-06-11 | records: "options" → "properties"....* guix/records.scm (define-record-type*): Change "options" to "properties".
| Ludovic Courtès |
2015-06-11 | records: Factorize field property predicates....* guix/records.scm (define-field-property-predicate): New macro.
(define-record-type*)[thunked-field?, delayed-field?]: Use it.
| Ludovic Courtès |
2015-06-11 | records: Separate default-value handling....* guix/records.scm (make-syntactic-constructor)[default-values]: New
variable.
[field-default-value]: New procedure.
Use them.
| Ludovic Courtès |
2015-06-11 | records: Replace 'eval-when' with a proper 'define-syntax'....* guix/records.scm (make-syntactic-constructor): Remove enclosing
'eval-when'. Turn into a 'syntax-rules' macro.
| Ludovic Courtès |
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 | Merge branch 'master' into core-updates | Mark H Weaver |
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-10 | ui: Replace the global 'symlink' binding....* guix/ui.scm (symlink): Set! the global symlink.
| 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 | 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ès |
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 | 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ès |
2015-06-06 | guix package: Fix typo in --help message....* guix/scripts/package.scm (show-help): Align '--show' option properly.
| Alex Kost |
2015-06-05 | licenses: Add the Open Publication License 1.0....* guix/licenses.scm (opl1.0+): New variable.
| Mark H Weaver |
2015-06-03 | 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ès |
2015-06-03 | gexp: Export <local-file> accessors....* guix/gexp.scm (local-file-file, local-file-name, local-file-recursive?):
Export.
| Ludovic Courtès |
2015-06-02 | 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ès |
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-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ès |
2015-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è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-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ès |
2015-05-27 | 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ès |
2015-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ès |
2015-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ès |
2015-05-26 | 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ès |
2015-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ès |
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-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ès |
2015-05-24 | 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ès |
2015-05-24 | ui: Add 'copy-file' replacement with better error reporting....* guix/ui.scm (copy-file): New procedure.
| 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 |