summaryrefslogtreecommitdiff
path: root/doc/guix.texi
AgeCommit message (Expand)Author
2014-10-08monads: Add 'mbegin'....* guix/monads.scm (mbegin): New macro. * tests/monads.scm ("mbegin"): New test. * doc/guix.texi (The Store Monad): Document it. Ludovic Courtès
2014-10-08doc: Document 'glib-or-gtk-build-system'....* doc/guix.texi (Build System): Document 'glib-or-gtk-build-system'. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Federico Beffa
2014-10-07services: Add '%facebook-host-aliases'....* gnu/services/networking.scm (%facebook-host-aliases): New variable. * doc/guix.texi (Networking Services): Document it. Ludovic Courtès
2014-10-06doc: Mention optional dependency on Guile-JSON....* README (Requirements): Add Guile-JSON. * doc/guix.texi (Requirements): Likewise. Ludovic Courtès
2014-10-05build-system: Introduce "bags" as an intermediate representation....* guix/build-system.scm (<build-system>)[build, cross-build]: Remove. [lower]: New field. (<bag>): New record type. (make-bag): New procedure. * guix/packages.scm (bag-transitive-inputs, bag-transitive-build-inputs, bag-transitive-host-inputs, bag-transitive-target-inputs, package->bag): New procedures. (package-derivation): Use it; use the bag, apply its build procedure, etc. (package-cross-derivation): Likewise. * gnu/packages/bootstrap.scm (raw-build, make-raw-bag): New procedure. (%bootstrap-guile): Use them. * guix/build-system/trivial.scm (lower): New procedure. (trivial-build, trivial-cross-build): Remove 'source' parameter. Pass INPUTS as is. (trivial-build-system): Adjust accordingly. * guix/build-system/gnu.scm (%store, inputs-search-paths, standard-search-paths, expand-inputs, standard-inputs): Remove. (gnu-lower): New procedure. (gnu-build): Remove 'source' and #:implicit-inputs? parameters. Remove 'implicit-inputs' and 'implicit-search-paths' variables. Get the source from INPUT-DRVS. (gnu-cross-build): Likewise. (standard-cross-packages): Remove call to 'standard-packages'. (standard-cross-inputs, standard-cross-search-paths): Remove. (gnu-build-system): Remove 'build' and 'cross-build'; add 'lower'. * guix/build-system/cmake.scm (lower): New procedure. (cmake-build): Remove 'source' and #:cmake parameters. Use INPUTS and SEARCH-PATHS as is. Get the source from INPUTS. * guix/build-system/perl.scm: Likewise. * guix/build-system/python.scm: Likewise. * guix/build-system/ruby.scm: Likewise. * gnu/packages/cross-base.scm (cross-gcc): Change "cross-linux-headers" to "linux-headers". (cross-libc)[xlinux-headers]: Pass #:implicit-cross-inputs? #f. Likewise. In 'propagated-inputs', change "cross-linux-headers" to "linux-headers". * guix/git-download.scm (git-fetch): Use 'standard-packages' instead of 'standard-inputs'. * tests/builders.scm ("gnu-build-system"): Remove use of 'build-system-builder'. ("gnu-build"): Remove 'source' and #:implicit-inputs? arguments to 'gnu-build'. * tests/packages.scm ("search paths"): Adjust to new build system API. ("package-cross-derivation, no cross builder"): Likewise. * doc/guix.texi (Build Systems): Add paragraph on bags. Ludovic Courtès
2014-10-04build-system/cmake: Add #:build-type parameter, default to "RelWithDebInfo"....* guix/build-system/cmake.scm (cmake-build): Add #:build-type. Pass it in BUILDER. * guix/build/cmake-build-system.scm (configure): Add #:build-type parameter and honor it. * doc/guix.texi (Build Systems): Document #:configure-flags and #:build-type for CMake. Ludovic Courtès
2014-10-03ui: Recognize the same size units as Coreutils....* guix/ui.scm (size->number): Add a bunch of large units. Recognize one-letter unit names. Change "KB" to "kB". * tests/ui.scm ("size->number, 1T"): New test. * doc/guix.texi (Invoking guix gc): Add cross-reference to "Block size" in the Coreutils manual. (Invoking guix system): Likewise. Ludovic Courtès
2014-09-28build: Add ruby build system....* guix/build-system/ruby.scm: New file. * guix/build/ruby-build-system: New file. * Makefile.am (MODULES): Add new files. * doc/guix.texi (Build Systems): Document ruby-build-system. David Thompson
2014-09-28doc: Use 'define-public' in example package recipe....* doc/guix.texi (Defining Packages): Use 'define-public' instead of 'define'. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Ian Denhardt
2014-09-24Introduce the 'GUIX_PACKAGE_PATH' environment variable....* gnu/packages.scm (%package-module-path): Honor $GUIX_PACKAGE_PATH. * test-env.in: Unset 'GUIX_PACKAGE_PATH'. * tests/guix-package.sh: Test it. * doc/guix.texi (Package Modules): Document it. Ludovic Courtès
2014-09-24guix build: Add -L/--load-path as a common option....* guix/scripts/build.scm (show-build-options-help): Document -L. (%standard-build-options): Add -L/--load-path. * tests/guix-package.sh: Test it. Ludovic Courtès
2014-09-23services: Add 'bitlbee-service'....* gnu/services/networking.scm (bitlbee-service): New procedure. * doc/guix.texi (Networking Services): Document it. Ludovic Courtès
2014-09-22linux-initrd: Adjust VM code and doc to new 'base-initrd' signature....This fixes regressions introduced in de1c158 ("system: Add support for boot-time mapped devices."). * doc/guix.texi (Initial RAM Disk): Adjust example with custom use of 'base-initrd'. Document #:mapped-devices parameter of 'base-initrd'. * gnu/system/vm.scm (system-disk-image, system-qemu-image, virtualized-operating-system): Adjust call to 'base-initrd' to new signature. Ludovic Courtès
2014-09-18doc: Remove a couple of limitations....* doc/guix.texi (System Installation): Remove encrypted disks and swap from the limitations. Ludovic Courtès
2014-09-18doc: Document mapped devices....* doc/guix.texi (Mapped Devices): New subsection. Ludovic Courtès
2014-09-14services: Add 'dhcp-client-service'....* gnu/services/networking.scm (dhcp-client-service): New procedure. * doc/guix.texi (Networking Services): Document it. Ludovic Courtès
2014-09-14doc: Mention audio, video, and cdrom groups more prominently....* doc/guix.texi (User Accounts): Add the "audio", "video", and "cdrom" groups in the example. Ludovic Courtès
2014-09-08linux-initrd: Store Linux modules in a normal store directory....* gnu/system/linux-initrd.scm (expression->initrd): Remove #:linux and #:linux-modules parameters. Remove call to 'float-linux-module-directory'. (base-initrd): Add call to 'float-linux-module-directory'. Use it in #:linux-modules argument in the gexp. Remove #:linux and #:linux-modules arguments to 'expression->initrd'. * gnu/build/linux-initrd.scm (build-initrd): Remove #:linux-module-directory parameter. Don't create 'modules' sub-directory. * gnu/build/linux-boot.scm (boot-system): Mentin that LINUX-MODULES is a list of absolute file names. Don't prepend "/modules/" to LINUX-MODULES. * doc/guix.texi (Initial RAM Disk): Adjust accordingly. Ludovic Courtès
2014-09-08linux-initrd: Remove #:to-copy argument of 'expression->initrd'....* gnu/system/linux-initrd.scm (expression->initrd): Remove #:to-copy parameter. Remove 'graph-files', and adjust #:references-graphs arguments to just list INIT. (base-initrd): Remove #:to-copy argument. * doc/guix.texi (Initial RAM Disk): Adjust accordingly. Ludovic Courtès
2014-09-06gexp: Allow use of high-level objects in #:references-graphs....* guix/gexp.scm (lower-reference-graphs): New procedure. (gexp->derivation)[graphs-file-names]: New procedure. Use 'lower-reference-graphs', and augment #:inputs argument as a function of #:references-graphs. * doc/guix.texi (G-Expressions): Adjust 'gexp->derivation' documentation accordingly. * tests/gexp.scm ("gexp->derivation, store copy"): Remove reference to TWO in BUILD-DRV. Use TWO directly in #:references-graphs argument. ("gexp->derivation #:references-graphs"): New test. * gnu/system/vm.scm (qemu-image): Remove variable 'graph'; use INPUTS as the #:references-graphs argument to 'expression->derivation-in-linux-vm'. Ludovic Courtès
2014-09-03Add Emacs user interface....* configure.ac (emacsuidir): New variable. (AC_CONFIG_FILES): Add 'emacs/guix-init.el', 'emacs/guix-helper.scm'. * Makefile.am: Include 'emacs.am'. * emacs.am: New file. * doc/emacs.texi: New file. * doc/guix.texi: Include 'emacs.texi'. * emacs/guix-backend.el: New file. * emacs/guix-base.el: New file. * emacs/guix-helper.scm.in: New file. * emacs/guix-history.el: New file. * emacs/guix-info.el: New file. * emacs/guix-init.el.in: New file. * emacs/guix-list.el: New file. * emacs/guix-main.scm: New file. * emacs/guix-utils.el: New file. * emacs/guix.el: New file. Alex Kost
2014-09-03scripts: add guix lint...* guix/scripts/lint.scm: New file. Defines a 'lint' tool for Guix packages. * tests/lint.scm: New file. * Makefile.am (MODULES, SCM_TESTS): Add them. * po/guix/Makevars: Update appropriately. * po/guix/POTFILES.in: Update appropriately. * doc/guix.texi: Document "guix lint". Cyril Roelandt
2014-09-01doc: Clarify system installation and configuration details....Reported by leth on #guix. * doc/guix.texi (System Installation): Suggest running 'reboot' instead of 'umount /mnt'. (Initial RAM Disk): Add xref to SRFI-26. Ludovic Courtès
2014-08-31daemon: Rename '--disable-store-optimization' to '--disable-deduplication'....* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_DISABLE_STORE_OPTIMIZATION): Rename to... (GUIX_OPT_DISABLE_DEDUPLICATION): ... this. Adjust user accordingly. (options): Add "disable-deduplication". Make "disable-store-optimization" a hidden alias. * doc/guix.texi (Invoking guix-daemon): Adjust to new option name. Add index entry. Improve description. Ludovic Courtès
2014-08-28doc: %final-inputs is now in (gnu packages commencement)....* doc/guix.texi (Bootstrapping): Adjust the text to reflect that '%final-inputs' is now in (gnu packages commencement). Mark H Weaver
2014-08-18gexp: Add 'ungexp-native' and 'ungexp-native-splicing'....* guix/gexp.scm (<gexp>)[natives]: New field. (write-gexp): Use both 'gexp-references' and 'gexp-native-references'. (gexp->derivation): Use both 'gexp-inputs' and 'gexp-native-inputs', and append them. (gexp-inputs): Add 'references' parameter and honor it. (gexp-native-inputs): New procedure. (gexp->sexp)[reference->sexp]: Add 'native?' parameter and honor it. Use it, and use 'gexp-native-references'. (gexp)[collect-native-escapes]: New procedure. [escape->ref]: Handle 'ungexp-native' and 'ungexp-native-splicing'. [substitute-ungexp, substitute-ungexp-splicing]: New procedures. [substitute-references]: Use them, and handle 'ungexp-native' and 'ungexp-native-splicing'. Adjust generated 'make-gexp' call to provide both normal references and native references. [read-ungexp]: Support 'ungexp-native' and 'ungexp-native-splicing'. Add reader extension for #+. * tests/gexp.scm (gexp-native-inputs): New procedure. (gexp->sexp*): Add 'target' parameter. ("ungexp + ungexp-native", "input list + ungexp-native", "input list splicing + ungexp-native-splicing", "gexp->derivation, ungexp-native", "gexp->derivation, ungexp + ungexp-native"): New tests. ("sugar"): Add tests for #+ and #+@. * doc/guix.texi (G-Expressions): Document 'ungexp-native' et al. Ludovic Courtès
2014-08-17gexp: Add #:target parameter to 'gexp->derivation'....* guix/gexp.scm (lower-inputs): Add #:system and #:target. Use 'package->cross-derivation' when TARGET is true. Honor SYSTEM. (gexp->derivation): Add #:target argument. Pass SYSTEM and TARGET to 'lower-inputs' and 'gexp->sexp'. (gexp->sexp): Add #:system and #:target. Pass them in recursive call and to 'package-file'. * tests/gexp.scm (gexp->sexp*): Add 'system' and 'target' parameters. ("gexp->derivation, cross-compilation"): New test. Ludovic Courtès
2014-08-17monads: Add 'package->cross-derivation' and #:target for 'package-file'....* guix/monads.scm (package-file): Add #:target keyword parameter and honor it. (package->cross-derivation): New procedure. * tests/monads.scm ("package-file + package->cross-derivation"): New test. * doc/guix.texi (The Store Monad): Update 'package-file' documentation. Add 'package->cross-derivation'. Ludovic Courtès
2014-08-15Add (guix monad-repl)....* guix/monad-repl.scm: New file. * guix.scm: Add it. * Makefile.am (MODULES): Add it. * doc/guix.texi (The Store Monad): Document it. Ludovic Courtès
2014-08-15doc: Fix mention of default log location....* doc/guix.texi (Invoking guix-daemon): Fix mention of default log location. Mark H Weaver
2014-07-25doc: Replace incorrect uses of @ref by @pxref....* doc/guix.texi: Use @pxref at the end of sentences, not @ref. Ludovic Courtès
2014-07-25doc: Fix typo in USB image file name....* doc/guix.texi (System Installation): Change image file name. Ludovic Courtès
2014-07-25system: Add the 'system?' field for user groups....Suggested by Mark H. Weaver. * gnu/system/shadow.scm (<user-group>)[system?]: New field. (%base-groups): Introduce 'system-group' macro, and use it. * gnu/system.scm (user-group->gexp): Pass the 'system?' field. * guix/build/activation.scm (add-group): Add #:system? and honor it. (activate-users+groups): Handle the 'system?' field. * gnu/system/file-systems.scm (%tty-gid): Choose an ID below 1000. * doc/guix.texi (User Accounts): Document the 'system?' field. Ludovic Courtès
2014-07-24doc: Make sure out-of-source-tree builds find os-config.tmpl....* Makefile.am (BUILT_SOURCES): New variable. * daemon.am (BUILT_SOURCES): Use +=. * doc.am (BUILT_SOURCES, MAINTAINERCLEANFILES, EXTRA_DIST): Add doc/os-config.texi. (doc/os-config.texi): New target. * doc/guix.texi (System Installation): Include os-config.texi. Ludovic Courtès
2014-07-24doc: Add "guix system" to 'dir'....* doc/guix.texi: Add "guix system" to the dir entry. Ludovic Courtès
2014-07-24install: Add a configuration template to the image....* gnu/system/os-config.tmpl: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it * gnu/system/install.scm (configuration-template-service): New procedure. (installation-services): Call it. * doc/guix.texi (System Installation): Mention configuration-template.scm, and @include gnu/system/os-config.tmpl. Ludovic Courtès
2014-07-24monads: Add 'interned-file'....* guix/monads.scm (interned-file): New procedure. * tests/monads.scm ("interned-file"): New test. * doc/guix.texi (The Store Monad): Document it. Ludovic Courtès
2014-07-24doc: Recommend partition labels....* doc/guix.texi (System Installation): Recommend partition labels. Ludovic Courtès
2014-07-23install: Add a service to back the store with the target disk....Fixes <http://bugs.gnu.org/18061>. Reported by Adam Pribyl <pribyl@lowlevel.cz>. * gnu/services/dmd.scm (dmd-configuration-file)[config]: Import (guix build utils). * gnu/system/install.scm (make-cow-store, cow-store-service): New procedures. (installation-services): Use it. (%backing-directory): New variable. * doc/guix.texi (System Installation): Add the 'deco start cow-store /mnt' phase. Ludovic Courtès
2014-07-23system: Add /dev/shm....* gnu/system/file-systems.scm (%shared-memory-file-system): New variable. (%base-file-systems): Add it. * doc/guix.texi (File Systems): Document it. Ludovic Courtès
2014-07-23system: Recognize more file system flags....* guix/build/linux-initrd.scm (MS_NOSUID, MS_NODEV, MS_NOEXEC): New variables. (mount-flags->bit-mask): New procedure. (mount-file-system)[flags->bit-mask]: Remove. Use 'mount-flags->bit-mask' instead. In /etc/mtab, use the empty string when OPTIONS is false. * gnu/services/base.scm (file-system-service): Add #:flags parameter and honor it. * gnu/system.scm (other-file-system-services): Pass FLAGS to 'file-system-service'. Ludovic Courtès
2014-07-23doc: Merge the type, variable, and function indices....* doc/guix.texi (Function Index): Rename to... (Programming Index): ... this. Merge the type, variable, and function indices. Ludovic Courtès
2014-07-23system: Add 'file-system' decl. for /dev/pts, and use the right options....Fixes <http://bugs.gnu.org/18081>. * gnu/system/file-systems.scm (%devtmpfs-file-system): Add 'needed-for-boot?' field. (%tty-gid, %pseudo-terminal-file-system): New variables. (%base-file-systems): Add %PSEUDO-TERMINAL-FILE-SYSTEM. * gnu/services/base.scm (udev-service): Remove dependency on 'file-system-/dev'. * gnu/system/shadow.scm (%base-groups): Add 'id' field for group 'tty'. * guix/build/linux-initrd.scm (boot-system): Remove 'mount' call for /dev/pts. * doc/guix.texi (File Systems): Add %pseudo-terminal-file-system. Ludovic Courtès
2014-07-23system: Add 'create-mount-point?' file system option....* gnu/system/file-systems.scm (<file-system>)[create-mount-point?]: New field. * gnu/services/base.scm (file-system-service): Add #:create-mount-point? parameter and honor it. * gnu/system.scm (other-file-system-services): Update 'file-system-service' call accordingly. * doc/guix.texi (File Systems): Document it. Ludovic Courtès
2014-07-22system: Add '%devtmpfs-file-system' for udev, and '%base-file-systems'....Suggested by Adam Pribyl <pribyl@lowlevel.cz>. * gnu/services/base.scm (udev-service)[requirement]: Add 'file-system-/dev'. * gnu/system/file-systems.scm (%devtmpfs-file-system, %base-file-systems): New variables. * gnu/system/install.scm (installation-services)[file-systems]: Use %base-file-systems. * build-aux/hydra/demo-os.scm (file-systems): Likewise. * doc/guix.texi (System Installation): Show %BASE-FILE-SYSTEMS in the example. (Using the Configuration System): Likewise. (File Systems): Document %base-file-systems, %devtmpfs-file-system, %binary-format-file-system, and %fuse-control-file-system. Ludovic Courtès
2014-07-22doc: Fix typo....* doc/guix.texi (System Installation): s/are/is/. Ludovic Courtès
2014-07-21guix package: add a "show" option....* doc/guix.texi: Update the documentation. * guix/scripts/package.scm: Add a "show" option. * tests/guix-package.sh: Add a test for the "show" option. Cyril Roelandt
2014-07-20doc: Show output of 'guix refresh --list-dependent' example....* doc/guix.texi (Invoking guix refresh): Show example output of the command. Ludovic Courtès
2014-07-20guix: refresh: Add --list-dependent option....* guix/packages.scm (package-direct-inputs): New procedure. * gnu/packages.scm (vhash-refq, package-direct-dependents) (package-transitive-dependents, package-covering-dependents): New procedures. * guix/scripts/refresh.scm (%options, show-help, guix-refresh): Add --list-dependent option. * doc/guix.texi (Invoking guix refresh): Document '--list-dependent' option. Eric Bavier
2014-07-18Fix typos in manual....* doc/guix.texi (Using the Configuration System): 'gid' -> 'group' in user-account example. (Initial RAM Disk): 'base-init' -> 'base-initrd'. Mark H Weaver