aboutsummaryrefslogtreecommitdiff
path: root/doc/guix.texi
AgeCommit message (Collapse)Author
2015-07-03derivations: Add #:substitutable?, distinguished from #:local-build?.Ludovic Courtès
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.
2015-07-01environment: Define 'GUIX_ENVIRONMENT'.Ludovic Courtès
* 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.
2015-07-01doc: Mention .bashrc vs. .bash_profile for 'guix environment'.Ludovic Courtès
* doc/guix.texi (Invoking guix environment): Add footnote about .bashrc vs. .bash_profile.
2015-07-01environment: For --ad-hoc, allow users to specify an output.Ludovic Courtès
* 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.
2015-07-01environment: Add --system.Ludovic Courtès
* 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.
2015-06-29doc: Add 'guix environment' examples.Ludovic Courtès
* doc/environment-gdb.scm: New file. * doc.am (EXTRA_DIST): Add it. * doc/guix.texi (Invoking guix environment): Clarify wording of the first example. Add a --ad-hoc example upfront. Add an example for '-e', and one for '-l'.
2015-06-29doc: Add quote about running a monadic value.Ludovic Courtès
* doc/guix.texi (The Store Monad): Add funny quote about "running" a monadic value.
2015-06-22doc: Add "Application Setup" section.Ludovic Courtès
* doc/guix.texi (Application Setup): New node.
2015-06-22emacs: Add "edit" command to a list of packages.Alex Kost
* emacs/guix-base.el (guix-edit-package): New function. * emacs/guix-list.el (guix-list-edit-package): New command. Bind it to "e" key. * emacs/guix-main.scm (package-location-string): New procedure. * doc/emacs.texi (Emacs List buffer): Document "e" key binding. * doc/guix.texi (Invoking guix edit): Mention "package list" buffer.
2015-06-21size: Add '--map-file' option.Ludovic Courtès
* 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.
2015-06-18Add 'guix size'.Ludovic Courtès
* 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'.
2015-06-18Add 'guix edit'.Ludovic Courtès
* 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.
2015-06-16system: Rename 'sudoers' into 'sudoers-file'.Alex Kost
* gnu/system.scm (<operating-system>): Rename record field. (etc-directory): Rename argument. (operating-system-etc-directory): Adjust accordingly. * doc/guix.texi (operating-system Reference): Likewise.
2015-06-15services: Remove lsh service from %DESKTOP-SERVICES.Ludovic Courtès
Suggested by Mark H Weaver and others at <http://lists.gnu.org/archive/html/guix-devel/2015-06/msg00227.html>. * gnu/services/desktop.scm (%desktop-services): Remove call to 'lsh-service'. * doc/guix.texi (Desktop Services): Adjust accordingly.
2015-06-14doc: Move most 'HACKING' informations into the manual.Mathieu Lirzin
* HACKING (Contributing): New section. (Building from Git, The Perfect Setup, Coding Style, Submitting Patches): Move to ... * doc/guix.texi (Running Guix Before It Is Installed): Likewise. * doc/contributing.texi: ... here. New file. * doc.am (EXTRA_DIST): Use it. * README (Installation): Adapt to it. * configure.ac (DOT): Likewise.
2015-06-11guix build: Allow directories to be passed to --with-source.Ludovic Courtès
* 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.
2015-06-09import: hackage: Refactor parsing code and add new options.Federico Beffa
* 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'.
2015-06-08doc: Suggest unpacking the binary tarball in /tmp.Ludovic Courtès
Suggested by Thomas Schwinge <thomas@codesourcery.com> and others. * doc/guix.texi (Binary Installation): Suggest unpacking in /tmp rather than /.
2015-06-08install: Omit /root from the binary tarball.Ludovic Courtès
Suggested by Thomas Schwinge <thomas@codesourcery.com>. * gnu/system/install.scm (self-contained-tarball): Remove "/root/.guix-profile" from the 'tar' arguments. * doc/guix.texi (Binary Installation): Add a step to create ~root/.guix-profile.
2015-06-08monads: Allow n-ary '>>=' expressions.Ludovic Courtès
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.
2015-06-07doc: Explain where the number of build users comes from.Ludovic Courtès
Suggested by Thomas Schwinge <thomas@codesourcery.com>. * doc/guix.texi (Build Environment Setup): Explain where the number of build users comes from.
2015-06-06guix gc: Add '--verify'.Ludovic Courtès
* 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.
2015-06-05system: 'hosts-file' is now a file-like object.Ludovic Courtès
Partly fixes <http://bugs.gnu.org/20720>. Reported by Alex Kost <alezost@gmail.com>. * gnu/system.scm (default-/etc/hosts): Change 'text-file' to 'plain-file'. (maybe-file->monadic): New procedure. (operating-system-etc-directory): Use it. * doc/guix.texi (operating-system Reference, Networking Services): Adjust accordingly.
2015-06-05system: 'sudoers' is now a file-like object.Ludovic Courtès
Partly fixes <http://bugs.gnu.org/20720> Reported by Alex Kost <alezost@gmail.com>. * gnu/system.scm (etc-directory): Change default #:sudoers value to a 'plain-file'. Don't bind it. Remove #~#$. (maybe-string->file): New procedure. (operating-system-etc-directory): Use it. (%sudoers-specification): Use 'plain-file'. * doc/guix.texi (operating-system Reference): Adjust accordingly.
2015-06-05doc: Explain "file-like objects".Ludovic Courtès
* doc/guix.texi (G-Expressions): Mention "file-like objects" and explain more.
2015-06-03gexp: Add 'plain-file'.Ludovic Courtès
* 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'.
2015-05-28guix environment: Add --ad-hoc option.David Thompson
* 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.
2015-05-27doc: Clarify that --disable-chroot is needed for non-root users.Ludovic Courtès
* doc/guix.texi (Build Environment Setup, Invoking guix-daemon): Mention --disable-chroot as needed for non-root users.
2015-05-25guix system: Add '--on-error'.Ludovic Courtès
* 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.
2015-05-25doc: Fix inaccurate wording in "operating-system Reference".Ludovic Courtès
* doc/guix.texi (operating-system Reference): Add missing "kernel".
2015-05-25system: Define '%base-user-accounts'.Ludovic Courtès
* gnu/system/shadow.scm (%base-user-accounts): New variable. * gnu/system.scm (<operating-system>)[users]: Use it as the default value. * gnu/system/examples/bare-bones.tmpl (users): Use it. * gnu/system/examples/desktop.tmpl (users): Likewise. * doc/guix.texi (operating-system Reference, User Accounts): Adjust accordingly.
2015-05-23doc: Add "Running Guix Before It Is Installed".Ludovic Courtès
* doc/guix.texi (Running Guix Before It Is Installed): New node. (Packaging Guidelines): Refer to it.
2015-05-23doc: Update detailed node list.Ludovic Courtès
* doc/guix.texi (Top): Add "package Reference" and "origin Reference" in detailed node list.
2015-05-22doc: Clarify the module file name convention.Ludovic Courtès
* doc/guix.texi (Package Modules): Clarify the footnote about the module file names convention. Tweak the wording.
2015-05-22doc: More cross-references.Ludovic Courtès
* doc/guix.texi (Invoking guix package): Add xref to "package Reference". (package Reference): Add xref to "Invoking guix package". Expound 'native-inputs' example, and add xref to "Invoking guix lint".
2015-05-22doc: Add a cross-reference to "origin Reference".Ludovic Courtès
* doc/guix.texi (Defining Packages): Add xref to "origin Reference".
2015-05-22doc: Make '--manifest' more visible.Ludovic Courtès
* doc/guix.texi (Invoking guix package): Mention the declarative approach and --manifest in the intro. And an anchor for --manifest. Explain why/how it can be used. Tweak wording.
2015-05-21services: xorg: Allow extra config text to be added verbatim.Ludovic Courtès
* gnu/services/xorg.scm (xorg-configuration-file): Add #:extra-config and honor it. * doc/guix.texi (X Window): Adjust accordingly.
2015-05-21services: xorg: Make 'xorg-configuration-file' public.Ludovic Courtès
* gnu/services/xorg.scm (xorg-configuration-file): New procedure, with code formerly in 'xorg-start-command'. (xorg-start-command): Remove #:drivers and #:resolutions; add #:configuration-file; use it as well as 'xorg-configuration-file'.
2015-05-20Revert "doc: Suggest how to preserve /var and /root owner and permissions."Mark H Weaver
This reverts commit 8c3a5d7059a24e9c6d7bf14be296169cdcf06ad6, which is no longer needed due to commit b2a5fa594e66b9d929df11fc7a38e4b367a00a5e.
2015-05-20package: Add --manifest option.David Thompson
* guix/scripts/package.scm (show-help): Add help text. (%options): Add manifest option. (guix-package): Add manifest option handler. * doc/guix.texi ("Invoking guix package"): Document it. * tests/guix-package.sh: Add test.
2015-05-20guix package: Add optional argument to --search-paths.Ludovic Courtès
* guix/scripts/package.scm (search-path-environment-variables): Add #:kind parameter. Pass it to 'environment-variable-definition'. (display-search-paths): Add #:kind parameter and pass it to 'search-path-environment-variables'. (%options): Add an optional parameter for "--search-paths". (guix-package)[process-query]: Handle it. * tests/guix-package-net.sh: Adjust existing test. * tests/guix-package.sh: Adjust existing tests and add new test. * doc/guix.texi (Invoking guix package): Document it.
2015-05-19doc: Add "package Reference" and "origin Reference" sections.Taylan Ulrich Bayırlı/Kammer
* doc/guix.texi (Defining Packages): Link to "package Reference". Add menu. (package Reference, origin Reference): New subsections.
2015-05-19guix gc: Add '--optimize'.Ludovic Courtès
* guix/scripts/gc.scm (show-help, %options): Add --optimize. (guix-gc): Handle it.
2015-05-19build: Make sure $CXX supports C++11.Ludovic Courtès
* m4/guix.m4 (GUIX_CHECK_CXX11, GUIX_ASSERT_CXX11): New macros. * config-daemon.ac: Use 'AC_LANG([C++])' and 'GUIX_ASSERT_CXX11'.C * doc/guix.texi (Requirements): Mention C++11 support.
2015-05-18doc: Re-generate detailed node listing.Ludovic Courtès
* doc/guix.texi (Top): Update detailed node listing.
2015-05-18install: Files in the tarball are all root-owned.Ludovic Courtès
Fixes a thinko introduced in 175ced4. * gnu/system/install.scm (self-contained-tarball): Use "root:0" as the owner and group. * doc/guix.texi (Binary Installation): Revert 175ced4.
2015-05-18install: Use the right user and group name for files in the binary tarball.Ludovic Courtès
Suggested by Andreas Enge <andreas@enge.fr> at <http://lists.gnu.org/archive/html/guix-devel/2015-05/msg00220.html>. * gnu/system/install.scm (self-contained-tarball): Pass --owner and --group to 'tar'. * doc/guix.texi (Binary Installation): Move group and account creation before extraction. Make "run the daemon" a separate step.
2015-05-18doc: Suggest the same build user and group names as on GuixSD.Ludovic Courtès
* doc/guix.texi (Build Environment Setup): Suggest the user and group names as used on GuixSD. (Binary Installation): Adjust accordingly.
2015-05-17doc: Better suggestion for the /usr/local/bin/guix symlink.Ludovic Courtès
Suggested by Andreas Enge <andreas@enge.fr> at <http://lists.gnu.org/archive/html/guix-devel/2015-05/msg00220.html>. * doc/guix.texi (Binary Installation): Use the longer 'guix' file name.