summary refs log tree commit diff
path: root/doc
AgeCommit message (Collapse)Author
2014-02-21derivations: Add support for recursive fixed-output derivations.Ludovic Courtès
* guix/derivations.scm (<derivation-output>): Add 'recursive?' field. Adjust 'make-derivation-output' callers. (%read-derivation) <fixed-output>: When HASH-ALGO starts with 'r:', set the 'recursive?' field and drop 'r:' from the hash algo name. (write-derivation)[write-output]: Write the algo as 'r:HASH-ALGO' when the RECURSIVE? field is set. (derivation-hash) <fixed-output>: Prepend "r:" when RECURSIVE? is set. (fixed-output-path): New procedure. (derivation): Add #:recursive? parameter. Use 'fixed-output-path' to compute the output file name of a fixed output derivation. (build-expression->derivation): Add #:recursive? parameter. Pass it to 'derivation'. * tests/derivations.scm ("fixed-output derivation, recursive", "build-expression->derivation produces recursive fixed-output", "build-expression->derivation uses recursive fixed-output"): New tests. * doc/guix.texi (Derivations): Document #:recursive? for 'derivation'. Add #:recursive? for 'build-expression->derivation'.
2014-02-21guix hash: Add '--recursive'.Ludovic Courtès
* guix/scripts/hash.scm (show-help): Add --recursive. (%options): Likewise. (guix-hash)[file-hash]: New procedure. Honor --recursive. Use it. * guix/nar.scm (write-file): Add missing field to the &nar-error condition raised upon unsupported file type; change its message to be more descriptive. * tests/guix-hash.sh: Add tests with -r. * doc/guix.texi (Invoking guix hash): Document --recursive.
2014-02-19gnu: Define '%base-services'.Ludovic Courtès
* gnu/services/base.scm (%base-services): New variable. * gnu/system.scm (<operating-system>)[services]: Change the default value to %BASE-SERVICES. * doc/guix.texi (Using the Configuration System): Change '%standard-services' to '%base-services'.
2014-02-19gnu: Introduce the (gnu services ...) modules.Ludovic Courtès
* gnu/system/dmd.scm: Remove file. Move contents to... * gnu/services.scm, gnu/services/base.scm, gnu/services/dmd.scm, gnu/services/networking.scm, gnu/services/xorg.scm: ... here. New files. * gnu/system.scm, gnu/system/vm.scm: Adjust accordingly. * guix/scripts/system.scm (%user-module): Likewise. * doc/guix.texi (Using the Configuration System): Likewise. (Defining Services): Likewise.
2014-02-18Add 'guix system'.Ludovic Courtès
* guix/scripts/system.scm: New file. * Makefile.am (MODULES): Add it. * po/POTFILES.in: Likewise. * doc/guix.texi (Using the Configuration System): Link to "Invoking guix system". (Invoking guix system): New node.
2014-02-06daemon: Add '--gc-keep-outputs' and '--gc-keep-derivations'.Ludovic Courtès
* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_GC_KEEP_OUTPUTS, GUIX_OPT_GC_KEEP_DERIVATIONS): New macros. (options): Add 'gc-keep-outputs' and 'gc-keep-derivations'. (string_to_bool): New function. (parse_opt): Honor GUIX_OPT_GC_KEEP_DERIVATIONS and GUIX_OPT_GC_KEEP_OUTPUTS. * doc/guix.texi (Invoking guix-daemon): Document --gc-keep-outputs and --gc-keep-derivations.
2014-02-03monads: Add 'text-file*'.Ludovic Courtès
* guix/monads.scm (text-file*): New procedure. * tests/monads.scm ("text-file*"): New test. * doc/guix.texi (The Store Monad): Change example since the previous one would erroneously fail to retain a reference to Coreutils. Document 'text-file*'.
2014-01-25derivations: Add #:local-build? parameter for derivations.Ludovic Courtès
* guix/derivations.scm (derivation): Add #:local-build? parameter and honor it. (build-expression->derivation): Likewise. * doc/guix.texi (Derivations): Update documentation of these procedures.
2014-01-25doc: More about offloading.Ludovic Courtès
* doc/guix.texi (Daemon Offload Setup): Start with "When desired". Say more on what can go in 'machines.scm', and mention Guile-Avahi. (Invoking guix-daemon): Document '--no-build-hook'. (Invoking guix build): Add xref to "Daemon Offload Setup".
2014-01-24Add 'guix offload' as a daemon build hook.Ludovic Courtès
* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_NO_BUILD_HOOK): New macro. (options): Add '--no-build-hook'. (parse_opt): Handle it. (main)[HAVE_DAEMON_OFFLOAD_HOOK]: Set 'useBuildHook' by default. Set $NIX_BUILD_HOOK to our offload hook unless otherwise specified. [!HAVE_DAEMON_OFFLOAD_HOOK]: Clear 'useBuildHook'. * pre-inst-env.in: Set and export NIX_BUILD_HOOK. * nix/scripts/offload.in, guix/scripts/offload.scm: New files. * guix/ui.scm (show-guix-help)[internal?]: Add "offload". * config-daemon.ac: Call 'GUIX_CHECK_UNBUFFERED_CBIP'. Instantiate 'nix/scripts/offload'. Set 'BUILD_DAEMON_OFFLOAD' conditional, and optionally define 'HAVE_DEAMON_OFFLOAD_HOOK' cpp macro. * daemon.am (nodist_pkglibexec_SCRIPTS)[BUILD_DAEMON_OFFLOAD]: Add it. * Makefile.am (MODULES)[BUILD_DAEMON_OFFLOAD]: Add 'guix/scripts/offload.scm'. (EXTRA_DIST)[!BUILD_DAEMON_OFFLOAD]: Likewise. * m4/guix.m4 (GUIX_CHECK_UNBUFFERED_CBIP): New macro. * doc/guix.texi (Setting Up the Daemon): Move most of the body to... (Build Environment Setup): ... this. New subsection. (Daemon Offload Setup): New subsection.
2014-01-18doc: List what's in the chroot.Ludovic Courtès
* doc/guix.texi (Setting Up the Daemon): List what's in the chroot.
2014-01-18Update 'nix-upstream' sub-module; adjust build system, doc, and substituter.Ludovic Courtès
* nix-upstream: Update sub-module. * daemon.am (libutil_a_SOURCES): Add affinity.cc. (libutil_headers): Add affinity.hh. (libexec_PROGRAMS, nix_setuid_helper_SOURCES, nix_setuid_helper_CPPFLAGS, nix_setuid_helper_LDADD): Remove. * doc/guix.texi (Setting Up the Daemon): Remove paragraph about 'nix-setuid-helper'. * guix/scripts/substitute-binary.scm (guix-substitute-binary): Exit 0 when %CACHE-URL has an HTTP scheme and looking up its host fails. Always print a newline to stdout when starting.
2014-01-17doc: Distinguish between (gnu packages ...) and "GNU packages".Ludovic Courtès
* doc/guix.texi (Package Modules): Add a footnote stating that (gnu packages ...) has nothing to do with "GNU packages."
2014-01-14doc: Fix another reference to (gnu packages admin).Ludovic Courtès
* doc/guix.texi (Using the Configuration System): Change module name to (gnu packages admin).
2014-01-06archive: Add '--missing'.Ludovic Courtès
* guix/scripts/archive.scm (show-help, %options): Add '--missing'. (guix-archive)[lines]: New procedure. Use it to honor '--missing'. * tests/guix-archive.sh: Add tests. * doc/guix.texi (Invoking guix archive): Document '--missing'.
2014-01-05guix build: Add '--no-build-hook'.Ludovic Courtès
* guix/scripts/build.scm (%default-options): Add 'build-hook?' pair. (show-help, %options): Add --no-build-hook. (guix-build): Pass the 'build-hook?' value to 'set-build-options'. * doc/guix.texi (Invoking guix build): Document '--no-build-hook'.
2013-12-30archive: Add '--authorize'.Ludovic Courtès
* guix/scripts/archive.scm (authorize-key): New procedure. (guix-archive): Call it when OPTS contains 'authorize-key'. * tests/guix-archive.sh: Add test with invalid public key. * guix/pki.scm: Export '%acl-file'. * doc/guix.texi (Invoking guix archive): Make it clear that '--import' works only with authorized keys. Document '--authorize'.
2013-12-30archive: Add '--generate-key'.Ludovic Courtès
* guix/pk-crypto.scm (error-source, error-string): New procedures. * guix/pki.scm (%private-key-file): New variable. * guix/scripts/archive.scm (show-help): Document '--generate-key'. (%options): Add "generate-key". (generate-key-pair): New procedure. (guix-archive): Call 'generate-key' when OPTS contains a 'generate-key' pair. * doc/guix.texi (Setting Up the Daemon): Suggest generating a key pair. (Invoking guix archive): Document '--generate-key'.
2013-12-30doc: Invoke 'useradd' with '--system'.Ludovic Courtès
Reported by Kete <kete@ninthfloor.org>. Fixes <http://bugs.gnu.org/16289>. * doc/guix.texi (Setting Up the Daemon): Add '--system' to the 'useradd' command line. Suggested by Kete <kete@ninthfloor.org>.
2013-12-22Add 'guix archive'.Ludovic Courtès
* guix/scripts/archive.scm, tests/guix-archive.sh: New files. * Makefile.am (MODULES): Add 'archive.scm'. (SH_TESTS): Add 'guix-archive.sh'. * doc/guix.texi (Invoking guix archive): New section. * guix/scripts/build.scm: Export 'derivation-from-expression'. * guix/scripts/package.scm: Export 'specification->package+output'.
2013-12-14guix package: allow multiple arguments after -i, -r, and -u.Mark H Weaver
* guix/scripts/package.scm (%options): Adapt option processors to accept and return a second seed value: 'arg-handler', which handles bare arguments (if not false). The install, remove, and upgrade option processors return an arg-handler that repeat the same operation. All other option processors return #f as the arg-handler. Make the arguments to install and remove optional. The upgrade option processor deletes (upgrade . #f) from the alist before adding a new entry. (guix-package): Procedures passed to 'args-fold*' accept the new seed value 'arg-handler'. The 'operand-proc' uses 'arg-handler' (if not false). * doc/guix.texi (Invoking guix package): Update docs. * tests/guix-package.sh: Add test.
2013-12-11doc: Slightly improve the "System Configuration" node.Ludovic Courtès
* doc/guix.texi (System Configuration): Add paragraph on upgrades and rollback, moved from "Using the Configuration System". (Using the Configuration System): Change variable name to 'komputilo'. Add xref to "Package Modules".
2013-12-10doc: First stab at documenting whole-system configuration.Ludovic Courtès
* doc/guix.texi (Features): Add xref to "Using the Configuration System". (System Configuration, Using the Configuration System, Defining Services): New nodes.
2013-12-04derivations: Use more keyword parameters for 'build-expression->derivation'.Ludovic Courtès
* guix/derivations.scm (build-expression->derivation): Turn 'system' and 'inputs' into keyword parameters. Adjust callers accordingly. * gnu/system/linux.scm, gnu/system/vm.scm, guix/build-system/cmake.scm, guix/build-system/gnu.scm, guix/build-system/perl.scm, guix/build-system/python.scm, guix/build-system/trivial.scm, guix/download.scm, guix/packages.scm, guix/profiles.scm, guix/scripts/pull.scm, tests/derivations.scm, tests/guix-build.sh, tests/monads.scm, tests/store.scm, tests/union.scm: Adjust users of 'build-expression->derivation' and 'derivation-expression' accordingly. * doc/guix.texi (Derivations): Adjust 'build-expression->derivation' documentation accordingly. (The Store Monad): Likewise for 'derivation-expression'.
2013-11-23doc: List the supported platforms.Ludovic Courtès
* doc/guix.texi (GNU Distribution): List the supported platforms.
2013-11-19doc: Link to package-list.html.Ludovic Courtès
* doc/guix.texi (GNU Distribution): Add link to package-list.html.
2013-11-18guix build: '-e' can be passed a monadic thunk.Ludovic Courtès
* guix/ui.scm (read/eval): New procedure. (read/eval-package-expression): Use it. * guix/scripts/build.scm (derivations-from-package-expressions): Rename to... (derivation-from-expression): ... this. Accept procedures, under the assumption that they are monadic thunk. (show-help): Adjust accordingly. (guix-build): Ditto. * tests/guix-build.sh: Add test. * doc/guix.texi (Invoking guix build): Augment description of '-e'.
2013-11-18doc: Mention Linux containers; emphasize reproducible builds.Ludovic Courtès
* doc/guix.texi (Introduction): Use "containers" instead of "chroots". (Invoking guix-daemon): Add @cindex entries. Mention the Linux container features. (Features): Add sentence on build reproducibility.
2013-11-12guix build: Add '--log-file'.Ludovic Courtès
* guix/scripts/build.scm (show-help): Add '--log-file'. (%options): Likewise. (guix-build): Set %FILE-PORT-NAME-CANONICALIZATION. Honor '--log-file'. * tests/guix-build.sh: Add '--log-file' tests. * doc/guix.texi (Invoking guix build): Document '--log-file'.
2013-11-07packages: Add a 'snippet' field to <origin>.Ludovic Courtès
* guix/packages.scm (<origin>): Add 'snippet', 'modules', and 'imported-modules' fields. (patch-and-repack): Make 'inputs' a keyword parameter. Add 'snippet', 'modules', and 'imported-modules' parameters. Accept SOURCE as a raw file name. Insert SNIPPET in BUILDER. Pass IMPORTED-MODULES to 'build-expression->derivation'. (package-source-derivation): Pass the extra arguments to 'patch-and-repack'. * tests/packages.scm ("package-source-derivation, snippet"): New test. * doc/guix.texi (Defining Packages): Mention the 'patches' and 'snippet' fields. (Invoking guix build): Tell that --source has patches and snippets applied. (Software Freedom): Mention packages that contain non-free code.
2013-11-07doc: Document current security issue with substitutes.Ludovic Courtès
Suggested by Mark H. Weaver <mhw@netris.org>. * doc/guix.texi (Features): Add note about unauthenticated binaries.
2013-11-07doc: Improve documentation of '--no-substitutes'.Ludovic Courtès
Suggested by Mark H. Weaver <mhw@netris.org>. * doc/guix.texi (Invoking guix package): Spell out the --no-substitutes documentation. (Invoking guix build): Use the more complete --no-substitutes documentation. (Invoking guix-daemon): Explain the interaction with what clients ask for.
2013-11-02doc: Document the syntax of the '--remove' argument.Ludovic Courtès
* doc/guix.texi (Invoking guix package): Document the syntax of '--remove' patterns.
2013-10-29doc: Augment the "Porting" section.Ludovic Courtès
Reported by Andreas Enge <andreas@enge.fr>. * doc/guix.texi (Porting): Document needed changes to (gnu packages bootstrap) and (gnu packages linux).
2013-10-17doc: Improve the copyright notice.Nikita Karetnikov
2013-10-13doc: Document "guix pull --url".Ludovic Courtès
* doc/guix.texi (Invoking guix pull): Add --url.
2013-10-03Add (guix monads).Ludovic Courtès
* guix/monads.scm: New file. * tests/monads.scm: New file. * Makefile.am (MODULES): Add guix/monads.scm. (SCM_TESTS): Add tests/monads.scm. * doc/guix.texi (The Store Monad): New node. (The Store): Reference it.
2013-09-27doc: Fix typos.Nikita Karetnikov
* doc/guix.texi: Fix typos.
2013-09-27doc: Link from "guix gc" to '--delete-generations'.Ludovic Courtès
* doc/guix.texi (Invoking guix package): Mention that deleting generations prevents roll-back. (Invoking guix gc): Link to '--delete-generations'.
2013-09-27guix package: '--delete-generations' deletes generations older than specified.Ludovic Courtès
* guix/scripts/package.scm (matching-generations): Add 'duration-relation' keyword parameter. (guix-package)[process-action](delete-generations): Pass #:duration-relation >. * tests/guix-package.sh: Add test. * doc/guix.texi (Invoking guix package): Clarify the meaning of durations for '--list-durations' and '--delete-durations'.
2013-09-26guix package: Add '--delete-generations'.Nikita Karetnikov
* guix/scripts/package.scm (switch-to-previous-generation): New function. (roll-back): Use the new function instead of 'switch-link'. (show-help): Add '--delete-generations'. (%options): Likewise. (guix-package)[process-actions]: Add 'current-generation-number', 'display-and-delete', and 'delete-generation'. Add support for '--delete-generations', and reindent the code. * tests/guix-package.sh: Test '--delete-generations'. * doc/guix.texi (Invoking guix-package): Document '--delete-generations'.
2013-09-25guix package: Do not list the zeroth generation.Nikita Karetnikov
* guix/scripts/package.scm (guix-package)[process-query]: Change 'list-generation' to not list the zeroth generation. * tests/guix-package.sh: Test it. * doc/guix.texi (Invoking guix package): Document it, and use the right term when talking about generations.
2013-09-23doc: Document '--list-generations' among the query options.Ludovic Courtès
* doc/guix.texi (Invoking guix package): Move '--list-generations' below "In addition to these actions".
2013-09-23guix package: Show most recently installed packages last.Ludovic Courtès
Suggested by Andreas Enge <andreas@enge.fr>. * guix/scripts/package.scm (guix-package)[list-generations, list-installed]: Reverse the result of 'manifest-packages'. * doc/guix.texi (Invoking guix package): Document the order of packages for '--list-generations' and '--list-installed'.
2013-09-19guix package: Add '--list-generations'.Nikita Karetnikov
* guix/scripts/package.scm: Import (srfi srfi-19). (generation-time, matching-generations): New functions. (show-help): Add '--list-generations'. (%options): Likewise. (guix-package)[process-query]: Add support for '--list-generations'. * guix/ui.scm: Import (srfi srfi-19) and (ice-9 regex). (string->generations, string->duration): New functions. * tests/guix-package.sh: Test '--list-generations'. * tests/ui.scm: Import (srfi srfi-19). Test 'string->generations' and 'string->duration'. * doc/guix.texi (Invoking guix-package): Document '--list-generations'.
2013-09-18derivations: 'derivation' and related procedures return a single value.Ludovic Courtès
* guix/derivations.scm (derivation->output-path, derivation->output-paths): New procedures. (derivation-path->output-path): Use 'derivation->output-path'. (derivation-path->output-paths): Use 'derivation->output-paths'. (derivation): Accept 'derivation?' objects as inputs. Return a single value. (build-derivations): New procedure. (compiled-modules): Use 'derivation->output-paths'. (build-expression->derivation)[source-path]: Add case for when the input matches 'derivation?'. [prologue]: Accept 'derivation?' objects in INPUTS. [mod-dir, go-dir]: Use 'derivation->output-path'. * guix/download.scm (url-fetch): Adjust to the single-value return. * guix/packages.scm (package-output): Use 'derivation->output-path'. * guix/scripts/build.scm (guix-build): When the argument is 'derivation-path?', pass it through 'read-derivation'. Use 'derivation-file-name' to print out the .drv file names, and to register them. Use 'derivation->output-path' instead of 'derivation-path->output-path'. * guix/scripts/package.scm (roll-back): Adjust to the single-value return. (guix-package): Use 'derivation->output-path'. * guix/ui.scm (show-what-to-build): Adjust to deal with 'derivation?' objects instead of .drv file names. * gnu/system/grub.scm (grub-configuration-file): Use 'derivation->output-path' instead of 'derivation-path->output-path'. * gnu/system/vm.scm (qemu-image, system-qemu-image): Likewise. * tests/builders.scm, tests/derivations.scm, tests/packages.scm, tests/store.scm, tests/union.scm: Adjust to the new calling convention. * doc/guix.texi (Defining Packages, The Store, Derivations): Adjust accordingly.
2013-09-11store: The 'references' parameter of 'add-text-to-store' is now optional.Ludovic Courtès
* guix/store.scm (add-text-to-store): Make 'references' optional. * tests/store.scm ("dead-paths", "references"): Use 'add-text-to-store' with no optional argument. * doc/guix.texi (The Store): Adjust accordingly.
2013-08-31doc: Stylistic changes to "Packaging Guidelines"Andreas Enge
2013-08-30doc: Remove an extra space after @ref.Nikita Karetnikov
2013-08-29doc: Add duplicate copyright notice again.Andreas Enge
* doc/guix.texi: Add second copyright notice again inside @ifinfo, needed since the first one does not appear in the info output. Partially undoes commit da7cabd.