aboutsummaryrefslogtreecommitdiff
path: root/guix
Commit message (Expand)AuthorAge
* offload: Add 'ssh-options' field to <build-machine>.•••* guix/scripts/offload.scm (<build-machine>)[ssh-options]: New field. (remote-pipe): Use it. (send-files): Likewise. Ludovic Courtès2015-07-09
* import: cabal: Make token recognition case-insensitive.•••* guix/import/cabal.scm (make-rx-matcher): Add optional parameter FLAG. (is-property, is-flag, is-src-repo, is-exec, is-test-suite, is-benchmark, is-lib, is-else, is-if): Make test case-insensitive. Federico Beffa2015-07-08
* build: Add 'emacs-build-system'.•••* Makefile.am (MODULES): Add 'guix/build-system/emacs.scm' and 'guix/build/emacs-build-system.scm'. * guix/build-system/emacs.scm: New file. * guix/build/emacs-build-system.scm: New file. * doc/guix.texi (Build Systems): Document it. Federico Beffa2015-07-08
* build: emacs-utils: Add 'emacs-byte-compile-directory'.•••* guix/build/emacs-utils.scm (emacs-byte-compile-directory): New procedure. Federico Beffa2015-07-08
* import: Add 'elpa' importer.•••* guix/import/elpa.scm: New file. * guix/scripts/import.scm: Add "elpa" to 'importers'. * guix/scripts/import/elpa.scm: New file. * Makefile.am (MODULES): Add 'guix/import/elpa.scm' and 'guix/scripts/import/elpa.scm'. (SCM_TESTS): Add 'tests/elpa.scm'. * doc/guix.texi (Invoking guix import): Document it. * tests/elpa.scm: New file. * po/guix/POTFILES.in: Add 'guix/scripts/import/elpa.scm'. Federico Beffa2015-07-08
* gnu: system: Move <file-system-mapping> into (gnu system file-systems).•••* gnu/system/vm.scm (<file-system-mapping>, %store-mapping): Move from here... * gnu/system/file-systems.scm: ...to here. * guix/scripts/system.scm: Import (gnu system file-systems). David Thompson2015-07-07
* build: syscalls: Add pivot-root.•••* guix/build/syscalls.scm (pivot-root): New procedure. * tests/syscalls.scm ("pivot-root"): New test. David Thompson2015-07-07
* build: syscalls: Add setns.•••* guix/build/syscalls.scm (setns): New procedure. * tests/syscalls.scm ("setns"): New test. squash: setns David Thompson2015-07-07
* build: syscalls: Add clone.•••* guix/build/syscalls.scm (clone): New procedure. (CLONE_NEWNS, CLONE_NEWUTS, CLONE_NEWIPC, CLONE_NEWUSER, CLONE_NEWPID, CLONE_NEWNET): New variables. * tests/syscalls.scm ("clone"): New test. David Thompson2015-07-07
* utils: Add call-with-temporary-directory.•••* guix/utils.scm (call-with-temporary-directory): New procedure. David Thompson2015-07-07
* build: syscalls: Add mkdtemp!•••* guix/build/syscalls.scm (mkdtemp!): New procedure. * tests/syscalls.scm ("mkdtemp!"): New test. David Thompson2015-07-07
* build: syscalls: Add unmount flags.•••* guix/build/syscalls.scm (MNT_FORCE, MNT_DETACH, MNT_EXPIRE) (UMOUNT_NOFOLLOW): New variables. David Thompson2015-07-07
* build: syscalls: Add additional mount flags.•••* guix/build/syscalls.scm (MS_NOSUID, MS_NODEV, MS_NOEXEC, MS_STRICTATIME): New variables. David Thompson2015-07-07
* store: 'run-with-store' initializes %CURRENT-TARGET-SYSTEM to #f.•••* guix/store.scm (run-with-store): Set %CURRENT-TARGET-SYSTEM to #f. * tests/gexp.scm ("gexp->derivation vs. %current-target-system"): New test. Ludovic Courtès2015-07-08
* build: ruby: Run 'rake gem' when gemspec is missing.•••* guix/build/ruby-build-system.scm (build): Run 'rake gem' when there is no gemspec in the source tree. Co-Authored-By: David Thompson <davet@gnu.org> pjotrp2015-07-07
* substitute: Avoid infinite loop when updating the substitute list.•••Reported at <http://lists.gnu.org/archive/html/guix-devel/2015-07/msg00119.html>. * guix/scripts/substitute.scm (http-multiple-get): When RESP has "Connection: close", consume HEAD anyway; always call PROC to read from BODY. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Andy Patterson2015-07-07
* download: Reference tls instead of renamed gnutls module.•••* guix/download.scm (gnutls-package): Use new module name tls instead of gnutls. Andreas Enge2015-07-05
* derivations: Add #:substitutable?, distinguished from #:local-build?.•••Fixes <http://bugs.gnu.org/18747>. * guix/derivations.scm (substitutable-derivation?): Rewrite to check for "allowSubstitutes". (derivation): Add #:substitutable? parameter. [user+system-env-vars]: Honor it. (build-expression->derivation): Add #:substitutable? and honor it. * guix/gexp.scm (gexp->derivation): Likewise. * tests/derivations.scm ("derivation-prerequisites-to-build and substitutes, non-substitutable build"): Use #:substitutable? instead of #:local-build?. ("substitutable-derivation?", "derivation-prerequisites-to-build and substitutes, local build"): New tests. * guix/download.scm (url-fetch): Adjust comment. * guix/git-download.scm (git-fetch): Likewise. * guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Use #:substitutable? instead of #:local-build?. * doc/guix.texi (Derivations, G-Expressions): Adjust accordingly. Ludovic Courtès2015-07-03
* scripts: environment: Return the exit status of the command.•••* guix/scripts/environment.scm (guix-environment): Return the exit status of the command. Cyril Roelandt2015-07-02
* environment: Define 'GUIX_ENVIRONMENT'.•••* 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. Ludovic Courtès2015-07-01
* environment: Improve error reporting for '-l'.•••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'. Ludovic Courtès2015-07-01
* environment: For --ad-hoc, allow users to specify an output.•••* 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. Ludovic Courtès2015-07-01
* environment: Add --system.•••* 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. Ludovic Courtès2015-07-01
* environment: Add only the specified outputs of the dependencies.•••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. Ludovic Courtès2015-07-01
* import: pypi: Detect inputs.•••* 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. Cyril Roelandt2015-06-24
* linux-initrd: Produce cpio archives with zeroed timestamps, etc.•••* 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'. Ludovic Courtès2015-06-24
* Add (guix cpio).•••* guix/cpio.scm, tests/cpio.scm: New files. * Makefile.am (MODULES): Add guix/cpio.scm. (SCM_TESTS): Add tests/cpio.scm. Ludovic Courtès2015-06-24
* tests: Move 'file=?' to (guix tests).•••* tests/nar.scm (file-tree-equal?)[file=?]: Move to... * guix/tests.scm (file=?): ... here. New procedure. Ludovic Courtès2015-06-24
* licenses: Add the SGI Free Software License B, version 2.0.•••* guix/licenses.scm (sgifreeb2.0): New variable. Mark H Weaver2015-06-23
* size: Add '--map-file' option.•••* 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. Ludovic Courtès2015-06-21
* size: Remove unused variables.•••* guix/scripts/size.scm (ensure-store-item): Remove #:dry-run? parameter. (%options): Remove 'dry-run?' variable. Ludovic Courtès2015-06-21
* Merge branch 'master' into core-updatesMark H Weaver2015-06-21
|\
| * gexp: 'local-file' canonicalizes its file argument.•••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. Ludovic Courtès2015-06-19
| * store: Memoize 'add-to-store' based on the result of 'lstat', not 'stat'.•••* guix/store.scm (add-to-store): Change 'stat' call to 'lstat'. Clarify docstring. Ludovic Courtès2015-06-19
| * gexp: 'local-file' now defaults to non-recursive.•••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. Ludovic Courtès2015-06-19
* | Merge branch 'master' into core-updatesMark H Weaver2015-06-18
|\|
| * Add 'guix size'.•••* 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'. Ludovic Courtès2015-06-18
| * Add 'guix edit'.•••* 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. Ludovic Courtès2015-06-18
| * Move 'specification->package+output' to (gnu packages).•••* guix/scripts/package.scm (specification->package+output): Move to... * gnu/packages.scm (specification->package+output): ... here * guix/scripts/archive.scm (guix): Adjust accordingly. Ludovic Courtès2015-06-18
| * offload: Fix sorting bug in 'choose-build-machine'.•••* guix/scripts/offload.scm (choose-build-machine)[undecorate]: Return the boolean result of pred instead of the best machine+slot. Mark H Weaver2015-06-17
| * gnu-maintenance: Use 'home-page' as an additional hint of "GNUness".•••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. Ludovic Courtès2015-06-16
* | Merge branch 'master' into core-updates•••Conflicts: gnu/packages/commencement.scm gnu/packages/xml.scm Mark H Weaver2015-06-14
|\|
| * 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 Bavier2015-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 Bavier2015-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 Bavier2015-06-11
| * records: Remove unnecessary 'begin'.•••* guix/records.scm (define-record-type*): Remove unnecessary 'begin'. Ludovic Courtès2015-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ès2015-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ès2015-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ès2015-06-11
| * records: "options" → "properties".•••* guix/records.scm (define-record-type*): Change "options" to "properties". Ludovic Courtès2015-06-11