summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Expand)Author
2015-06-14Merge branch 'master' into core-updates...Conflicts: gnu/packages/commencement.scm gnu/packages/xml.scm Mark H Weaver
2015-06-11build-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-11profiles: 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-11profiles: 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-11records: Remove unnecessary 'begin'....* guix/records.scm (define-record-type*): Remove unnecessary 'begin'. Ludovic Courtès
2015-06-11tests: 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-11packages: 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-11records: 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-11records: "options" → "properties"....* guix/records.scm (define-record-type*): Change "options" to "properties". Ludovic Courtès
2015-06-11records: 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-11records: 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-11records: 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-11guix 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-11environment: 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-10Merge branch 'master' into core-updatesMark H Weaver
2015-06-10guix 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-10ui: Replace the global 'symlink' binding....* guix/ui.scm (symlink): Set! the global symlink. Ludovic Courtès
2015-06-09import: 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-08monads: 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-08guix: 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-06guix 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-06store: 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-06guix package: Fix typo in --help message....* guix/scripts/package.scm (show-help): Align '--show' option properly. Alex Kost
2015-06-05licenses: Add the Open Publication License 1.0....* guix/licenses.scm (opl1.0+): New variable. Mark H Weaver
2015-06-03gexp: 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-03gexp: Export <local-file> accessors....* guix/gexp.scm (local-file-file, local-file-name, local-file-recursive?): Export. Ludovic Courtès
2015-06-02gnu-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-31lint: 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-31lint: 'validate-uri' really returns #f on failure....* guix/scripts/lint.scm (validate-uri): Always return #f on failure. Ludovic Courtès
2015-05-31base32: 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-31ui: 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-29emacs: 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-28guix 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-28profiles: 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-27profiles: 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-27profiles: 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-27profiles: 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-27profiles: Add gtk-icon-themes hook....* guix/profiles.scm (gtk-icon-themes): New function. (%default-profile-hooks): Add it. 宋文武
2015-05-27monads: '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-26profiles: 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-26ui: 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-26gc: 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-25guix 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-25guix 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-25ui: 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-24ui: 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-24ui: Add 'copy-file' replacement with better error reporting....* guix/ui.scm (copy-file): New procedure. Ludovic Courtès
2015-05-24guix 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-24guix 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-24guix 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