summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
...
* environment: Define 'GUIX_ENVIRONMENT'.Ludovic Courtès2015-07-01
| | | | | | | * guix/scripts/environment.scm (create-environment): Define 'GUIX_ENVIRONMENT'. * doc/guix.texi (Invoking guix environment): Document it. * gnu/system/shadow.scm (default-skeletons): Adjust 'PS1' depending on whether 'GUIX_ENVIRONMENT' is defined.
* environment: Improve error reporting for '-l'.Ludovic Courtès2015-07-01
| | | | | | | | | | | This fixes two problems: 1. Load errors would print an ugly backtrace. 2. When FILE was an absolute name, 'load' was passed an incorrect file name. * guix/scripts/environment.scm (options/resolve-packages): Use 'load*' instead of 'load'.
* environment: For --ad-hoc, allow users to specify an output.Ludovic Courtès2015-07-01
| | | | | | | | | | | | * guix/scripts/environment.scm (package+propagated-inputs): Add 'output' parameter. Use it in return value. (options/resolve-packages): Use 'append-map' instead of 'map'. For 'load' and 'expression', return all the outputs of the resulting package. For 'package', use 'specification->package+output' instead of 'specification->package'. (guix-environment): Adjust uses of PACKAGES accordingly. * doc/guix.texi (Invoking guix environment): Document it. * tests/guix-environment.sh: Add test for --ad-hoc guile-bootstrap:out.
* environment: Add --system.Ludovic Courtès2015-07-01
| | | | | | | * guix/scripts/environment.scm (show-help, %options): Add -s/--system. (%default-options): Add 'system' pair. (guix-environment): Pass 'system' value from OPTS to 'lower-inputs'. * doc/guix.texi (Invoking guix environment): Document it.
* environment: Add only the specified outputs of the dependencies.Ludovic Courtès2015-07-01
| | | | | | | | | | | | | | | | | | | | Before that, 'guix environment guile' (for instance) would define environment variables that would refer to the "include" output of Bash, the "debug" output of libgc, etc., even though these are not listed as inputs in the recipe of 'guile'. * guix/gexp.scm (lower-inputs): Export. * guix/scripts/environment.scm (evaluate-input-search-paths): Remove 'derivations' parameter; add 'search-paths'. Expect 'inputs' to be a list of tuples. Adjust callers. (create-environment): Remove 'derivations' parameter; add 'search-paths'. (show-search-paths): Likewise. (package+propagated-inputs): New procedure. (packages->transitive-inputs, packages+propagated-inputs): Remove. (build-inputs): Expect INPUTS to be a list of derivation tuples. (guix-environment): Compute INPUTS using 'package+propagated-inputs', 'package->bag', and 'bag-transitive-inputs'. Move 'run-with-store' higher. * tests/guix-environment.sh: Add test with FINDUTILS-BOOT0.
* import: pypi: Detect inputs.Cyril Roelandt2015-06-24
| | | | | | | | | | * guix/import/pypi.scm (python->package-name, maybe-inputs, compute-inputs, guess-requirements): New procedures. * guix/import/pypi.scm (guix-hash-url): Now takes a filename instead of an URL as input. * guix/import/pypi.scm (make-pypi-sexp): Now tries to generate the inputs automagically. * tests/pypi.scm: Update the test.
* linux-initrd: Produce cpio archives with zeroed timestamps, etc.Ludovic Courtès2015-06-24
| | | | | | * guix/cpio.scm (file->cpio-header*): New procedure. * gnu/build/linux-initrd.scm (write-cpio-archive): Add #:file->header argument to 'cpio:write-cpio-archive'.
* Add (guix cpio).Ludovic Courtès2015-06-24
| | | | | | * guix/cpio.scm, tests/cpio.scm: New files. * Makefile.am (MODULES): Add guix/cpio.scm. (SCM_TESTS): Add tests/cpio.scm.
* tests: Move 'file=?' to (guix tests).Ludovic Courtès2015-06-24
| | | | | * tests/nar.scm (file-tree-equal?)[file=?]: Move to... * guix/tests.scm (file=?): ... here. New procedure.
* licenses: Add the SGI Free Software License B, version 2.0.Mark H Weaver2015-06-23
| | | | * guix/licenses.scm (sgifreeb2.0): New variable.
* size: Add '--map-file' option.Ludovic Courtès2015-06-21
| | | | | | | | | * guix/scripts/size.scm (profile->page-map): New procedures. (show-help, %options): Add --map-file. (guix-size): Honor it. * doc/guix.texi (Invoking guix size): Document it. * doc/images/coreutils-size-map.png: New file. * doc.am (dist_infoimage_DATA): Add it.
* size: Remove unused variables.Ludovic Courtès2015-06-21
| | | | | * guix/scripts/size.scm (ensure-store-item): Remove #:dry-run? parameter. (%options): Remove 'dry-run?' variable.
* Merge branch 'master' into core-updatesMark H Weaver2015-06-21
|\
| * gexp: 'local-file' canonicalizes its file argument.Ludovic Courtès2015-06-19
| | | | | | | | | | | | | | | | Reported by Alex Kost <alezost@gmail.com> at <http://lists.gnu.org/archive/html/guix-devel/2015-06/msg00235.html>. * guix/gexp.scm (local-file): Add call to 'canonicalize-path'. * tests/gexp.scm ("one local file, symlink"): New test.
| * store: Memoize 'add-to-store' based on the result of 'lstat', not 'stat'.Ludovic Courtès2015-06-19
| | | | | | | | | | * guix/store.scm (add-to-store): Change 'stat' call to 'lstat'. Clarify docstring.
| * gexp: 'local-file' now defaults to non-recursive.Ludovic Courtès2015-06-19
| | | | | | | | | | | | | | | | | | Reported by Alex Kost <alezost@gmail.com> at <http://lists.gnu.org/archive/html/guix-devel/2015-06/msg00235.html>. * guix/gexp.scm (local-file): Change #:recursive? to default to #f. * tests/gexp.scm ("one local file", "gexp->derivation, local-file"): Adjust calls to 'add-to-store' and 'interned-file' accordingly.
* | Merge branch 'master' into core-updatesMark H Weaver2015-06-18
|\|
| * Add 'guix size'.Ludovic Courtès2015-06-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/scripts/size.scm: New file. * Makefile.am (MODULES): Add it. (SCM_TESTS): Add tests/size.scm. * doc.am (SUBCOMMANDS): Add 'size'. * po/guix/POTFILES.in: Add guix/scripts/size.scm. * tests/size.scm: New file. * doc/guix.texi (Packages with Multiple Outputs): Add xref to "Invoking guix size". (Invoking guix size): New node. (Invoking guix gc): Add index for "closure" and xref to the above. * doc/contributing.texi (Submitting Patches): Use @enumerate for the check list. Add item about 'guix size'.
| * Add 'guix edit'.Ludovic Courtès2015-06-18
| | | | | | | | | | | | | | | | | | * guix/scripts/edit.scm: New file. * Makefile.am (MODULES): Add it. * doc.am (SUBCOMMANDS): Add 'edit'. * doc/guix.texi (Defining Packages): Add xref to "Invoking guix edit". (Invoking guix edit): New node. * po/guix/POTFILES.in: Add it.
| * Move 'specification->package+output' to (gnu packages).Ludovic Courtès2015-06-18
| | | | | | | | | | | | * guix/scripts/package.scm (specification->package+output): Move to... * gnu/packages.scm (specification->package+output): ... here * guix/scripts/archive.scm (guix): Adjust accordingly.
| * offload: Fix sorting bug in 'choose-build-machine'.Mark H Weaver2015-06-17
| | | | | | | | | | * guix/scripts/offload.scm (choose-build-machine)[undecorate]: Return the boolean result of pred instead of the best machine+slot.
| * gnu-maintenance: Use 'home-page' as an additional hint of "GNUness".Ludovic Courtès2015-06-16
| | | | | | | | | | | | | | | | Reported by Rastus_Vernon on IRC. Fixes 'gnu-package?' for GNUcash. * guix/gnu-maintenance.scm (gnu-package?)[gnu-home-page?]: New procedure. Use it to determine whether PACKAGE is GNU.
* | Merge branch 'master' into core-updatesMark H Weaver2015-06-14
|\| | | | | | | | | | | Conflicts: gnu/packages/commencement.scm gnu/packages/xml.scm
| * build-system/haskell: install config for any package that creates it.Eric Bavier2015-06-11
| | | | | | | | | | | | | | | | | | 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.
| * profiles: Process ghc conf files only once.Eric Bavier2015-06-11
| | | | | | | | | | | | | | | | 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.
| * profiles: Search for ghc conf files only if package db exists.Eric Bavier2015-06-11
| | | | | | | | | | | | | | | | 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.
| * records: Remove unnecessary 'begin'.Ludovic Courtès2015-06-11
| | | | | | | | * guix/records.scm (define-record-type*): Remove unnecessary 'begin'.
| * tests: Write the random seed to the error port.Ludovic Courtès2015-06-11
| | | | | | | | | | * guix/tests.scm (random-seed): New procedure. (%seed): Use it, and write the random seed to the error port.
| * packages: Make 'location' field innate.Ludovic Courtès2015-06-11
| | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
| * records: Add support for 'innate' fields.Ludovic Courtès2015-06-11
| | | | | | | | | | | | | | | | | | | | * 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.
| * records: "options" → "properties".Ludovic Courtès2015-06-11
| | | | | | | | * guix/records.scm (define-record-type*): Change "options" to "properties".
| * records: Factorize field property predicates.Ludovic Courtès2015-06-11
| | | | | | | | | | * guix/records.scm (define-field-property-predicate): New macro. (define-record-type*)[thunked-field?, delayed-field?]: Use it.
| * records: Separate default-value handling.Ludovic Courtès2015-06-11
| | | | | | | | | | | | | | * guix/records.scm (make-syntactic-constructor)[default-values]: New variable. [field-default-value]: New procedure. Use them.
| * records: Replace 'eval-when' with a proper 'define-syntax'.Ludovic Courtès2015-06-11
| | | | | | | | | | * guix/records.scm (make-syntactic-constructor): Remove enclosing 'eval-when'. Turn into a 'syntax-rules' macro.
| * guix build: Allow directories to be passed to --with-source.Ludovic Courtès2015-06-11
| | | | | | | | | | | | | | | | | | | | * 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.
| * environment: Connect to the store after the command line has been parsed.Ludovic Courtès2015-06-11
| | | | | | | | | | | | * 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.
* | Merge branch 'master' into core-updatesMark H Weaver2015-06-10
|\|
| * guix system: init: Overwrite the items in the target store.Ludovic Courtès2015-06-10
| | | | | | | | | | | | | | | | 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.
| * ui: Replace the global 'symlink' binding.Ludovic Courtès2015-06-10
| | | | | | | | * guix/ui.scm (symlink): Set! the global symlink.
| * import: hackage: Refactor parsing code and add new options.Federico Beffa2015-06-09
| | | | | | | | | | | | | | | | | | | | | | | | * 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'.
| * monads: Allow n-ary '>>=' expressions.Ludovic Courtès2015-06-08
| | | | | | | | | | | | | | | | | | | | 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.
| * guix: Clean up --help messages.Alex Kost2015-06-08
| | | | | | | | | | | | | | | | | | | | * 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.
| * guix gc: Add '--verify'.Ludovic Courtès2015-06-06
| | | | | | | | | | | | | | * 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.
| * store: Add 'verify-store' RPC.Ludovic Courtès2015-06-06
| | | | | | | | | | | | | | | | * 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.
| * guix package: Fix typo in --help message.Alex Kost2015-06-06
| | | | | | | | * guix/scripts/package.scm (show-help): Align '--show' option properly.
| * licenses: Add the Open Publication License 1.0.Mark H Weaver2015-06-05
| | | | | | | | * guix/licenses.scm (opl1.0+): New variable.
| * gexp: Add 'plain-file'.Ludovic Courtès2015-06-03
| | | | | | | | | | | | | | * 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'.
| * gexp: Export <local-file> accessors.Ludovic Courtès2015-06-03
| | | | | | | | | | * guix/gexp.scm (local-file-file, local-file-name, local-file-recursive?): Export.
| * gnu-maintenance: latest-release: Honor releases that are not in subdirs.Ludovic Courtès2015-06-02
| | | | | | | | | | | | | | | | 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'.
| * lint: source: Warn only when all the URIs are unreachable.Ludovic Courtès2015-05-31
| | | | | | | | | | | | | | * 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.