Commit Graph

349 Commits

Author SHA1 Message Date
Ludovic Courtès ff40e9b7e5 gexp: Move the package and origin compilers to (guix packages).
From now own, (guix packages) depends on (guix gexps); it was the other
way around now.  This means that (guix packages) code can use gexps.

* guix/gexp.scm (origin-compiler, package-compiler): Remove.
  (default-guile-derivation): New procedure.
  (gexp->derivation): Use it instead of 'default-guile' +
  'package->derivation'.
* guix/packages.scm (default-guile-derivation): New procedure.
  (package-compiler, origin-compiler): New variables.
* doc/guix.texi (G-Expressions): Mention extensibility.
2015-03-17 22:25:55 +01:00
宋文武 4bd43bbe73 services: slim: Use /run/current-system/profile/share/xsessions as sessiondir.
* gnu/services/xorg.scm (<session-type>, %windowmaker-session-type)
  (%ratposion-session-type, %sawfish-session-type, %default-xsessions)
  (xsessions-directory): Remove.
  (slim-service): Remove #:sessions parameter.
  [slim.cfg]: Use /run/current-system/profile/share/xsessions as sessiondir.
* doc/guix.texi <X Window>: Adjust accordingly.
2015-03-13 22:40:57 +08:00
Ludovic Courtès 84399103da doc: Suggest to use 'lsh-service' with #:initialize? #t.
Suggested by Tomáš Čech.

* doc/guix.texi (Using the Configuration System): Pass #:initialize? #t
  to 'lsh-service'.
2015-03-11 23:25:53 +01:00
Mark H Weaver e33eea8ffd Revert "system: Add 'x509-certificates' field, and populate /etc/ssl/certs."
This reverts commit e979e6dd52.
2015-03-03 13:49:12 -05:00
Ludovic Courtès e979e6dd52 system: Add 'x509-certificates' field, and populate /etc/ssl/certs.
* gnu/system.scm (<operating-system>)[x509-certificates]: New field.
  (etc-directory): Add #:x509-certificates parameter and honor it.
  (operating-system-etc-directory): Pass #:x509-certificates in
  'etc-directory' call.
* doc/guix.texi (operating-system Reference): Document
  'x509-certificates'.
2015-03-02 22:32:54 +01:00
Ludovic Courtès a21b23d34a services: slim: Preserve the order of session types.
That makes WindowMaker the default session, by default.

* gnu/services/xorg.scm (xsessions-directory)[builder]: Prepend a number
  in the file name to preserve the order of SESSIONS.
  (slim-service): Augment docstring.
* doc/guix.texi (X Window): Adjust accordingly.
2015-02-26 22:25:15 +01:00
Eric Bavier 66392e475d import: cpan: Use corelist to filter dependencies.
* guix/import/cpan.scm (%corelist): New variable.
  (module->dist-name, core-module?): New procedures.
  (cpan-module->sexp)[convert-inputs]: Use them.  Include "test" dependencies
  in converted inputs.
* doc/guix.texi (Invoking guix import)[cpan]: Mention corelist filtering.
2015-02-18 23:53:46 -06:00
Eric Bavier 2d2a53fc24 build-system/perl: Use Build.PL for builds if present.
* guix/build/perl-build-system.scm (configure): Use Build.PL if present.
  (build, check, install): New procedures.
  (%standard-phases): Replace build, check, and install phases.
* guix/build-system/perl (perl-build): Add make-maker? and module-build-flags
  arguments.
* doc/guix.texi (Build Systems)[perl-build-system]: Document behavior rsp.
  Build.PL and new arguments.
2015-02-18 23:53:46 -06:00
Ludovic Courtès ce45eb4c38 gexp: Add #:graft? parameter to 'gexp->derivation'.
* guix/gexp.scm (gexp->derivation): Add #:graft? parameter and honor it.
* tests/gexp.scm ("gexp->derivation vs. grafts"): New test.
* doc/guix.texi (G-Expressions): Update 'gexp->derivation'
  documentation.
2015-02-13 23:19:49 +01:00
Ludovic Courtès ad3729536a store: Add optional 'references' parameter to 'text-file'.
* guix/store.scm (text-file): Add optional 'references' parameter.  Pass
  it to 'add-text-to-store'.
* doc/guix.texi (The Store Monad): Adjust accordingly.
2015-02-12 23:43:18 +01:00
Ludovic Courtès c8351d9a40 gexp: Add #:allowed-references parameter to 'gexp->derivation'.
* guix/gexp.scm (lower-references): New procedure.
  (gexp->derivation): Add #:allowed-references and honor it.
* tests/gexp.scm ("gexp->derivation #:allowed-references",
  "gexp->derivation #:allowed-references, disallowed"): New tests.
* doc/guix.texi (G-Expressions): Update 'gexp->derivation' doc.
2015-02-11 22:10:14 +01:00
Ludovic Courtès ab3872de4f doc: Use @code for the abstract USB image URL.
Reported by Quentin Pradet <webmasters-comment@gnu.org>.

* doc/guix.texi (System Installation): Use @code instead of @url for the
  abstract URL.
2015-02-11 10:36:48 +01:00
nebuli 5833bf33a2 services: lsh: Add graceful handling of daemonic option.
* gnu/services/ssh.scm (lsh-service): New #:keys (daemonic?, pid-file?,
  pid-file).  Build new lshd-command and expand service-requirement
  field.
* doc/guix.texi (Networking Services): Update accordingly.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-02-08 21:52:26 +01:00
Ricardo Wurmus a677c7267b build: Add 'waf-build-system'.
* guix/build-system/waf.scm,
  guix/build/waf-build-system.scm: New files.
* Makefile.am (MODULES): Add them.
* doc/guix.texi (Build Systems): Document waf-build-system.
2015-02-08 19:21:58 +01:00
Ludovic Courtès 027981d6d7 doc: Remove ".ko" extension in 'base-initrd' example.
Reported by Marek Benc.

* doc/guix.texi (Initial RAM Disk): Remove ".ko" from the 'base-initrd'
  example.  Add a comment.
2015-02-08 19:00:39 +01:00
Ludovic Courtès cbc538fe69 doc: Document the location of the build directory.
Fixes <http://bugs.gnu.org/19771>.
Reported by Andrei Osipov <andrspv@gmail.com>.

* doc/guix.texi (Invoking guix-daemon): Document the build directory
  location.
2015-02-07 23:16:55 +01:00
Ludovic Courtès 95c559c145 doc: Provide a better illustration of Ethernet interface names.
Reported on #guix.

* doc/guix.texi (System Installation)[USB Stick Installation]: Mention
  "eno1" instead of "eth0" and give other examples.
2015-02-06 17:32:17 +01:00
Mark H Weaver b7d0c494f4 services: Add wicd service.
* gnu/services/networking.scm (wicd-service): New procedure.
* doc/guix.texi (Networking Services): Document it.
2015-02-04 18:20:17 -05:00
Ludovic Courtès 4aee6e6003 services: nscd-service: Add #:name-services parameter.
* gnu/services/base.scm (nscd-service): Add #:name-services parameter.
  In 'start' field, set LD_LIBRARY_PATH based on #:name-services.
* doc/guix.texi (Base Services): Document it.
  (Name Service Switch): Link to 'nscd-service'.
2015-02-04 22:49:35 +01:00
Ludovic Courtès 996ed73948 system: Add bindings to configure libc's NSS.
* gnu/system/nss.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* gnu.scm (%public-modules): Add it.
* gnu/system.scm (<operating-system>)[name-service-switch]: New field.
  (etc-directory): Add #:nss parameter and honor it.
  (operating-system-etc-directory): Adjust call accordingly.
* doc/guix.texi (operating-system Reference): Document
  'name-service-switch'.
  (Name Service Switch): New section.
2015-02-04 22:49:35 +01:00
宋文武 5ce93d9ade services: xorg: Add sawfish session.
* gnu/services/xorg.scm (%sawfish-session-type): New variable.
* doc/guix.texi (X Window): Mention it.
2015-02-03 22:20:49 +08:00
Ludovic Courtès 01d8ac64ab store: Remove 'build-derivations'.
* guix/store.scm (build-derivations): Remove.
* guix/derivations.scm (build-derivations): Write in terms of
  'build-things'.
* doc/guix.texi (Invoking guix build): Adjust text accordingly.
2015-02-02 12:46:36 +01:00
Ludovic Courtès 2c63619588 doc: Fix typo for 'lsh-service'.
* doc/guix.texi (Networking Services): Fix typo in 'lsh-service'
  parameters.
2015-01-28 14:04:57 +01:00
Ludovic Courtès 8a225c6652 doc: Update USB image size.
* doc/guix.texi (System Installation): Change to --image-size=850MiB.
2015-01-28 10:56:04 +01:00
Ludovic Courtès 3a5d914b5e doc: Change the USB image file name to 'gsd-usb-install*'.
* doc/guix.texi (System Installation): Change the file name to
  'gsd-usb-install-*'.
2015-01-27 21:32:07 +01:00
Ludovic Courtès b1e95eca07 doc: Update "Limitations" section.
* doc/guix.texi (System Installation): Mention Xfce.  Update package
  count.
2015-01-27 10:24:35 +01:00
Ludovic Courtès 873c4085c8 doc: Expound a bit on 'guix lint'.
* doc/guix.texi (Invoking guix lint): Give examples of checkers.
2015-01-26 23:45:27 +01:00
Ludovic Courtès ffc3a02b5a services: xorg: Define the <session-type> record type.
* gnu/services/xorg.scm (<session-type>): New record type.
  (%windowmaker-session-type, %ratpoison-session-type): New variables.
  (%default-xsessions): Use them.
  (xsessions-directory): Expect SESSIONS to be a list of <session-type>
  and rewrite accordingly.
  (slim-service): Adjust docstring.
* doc/guix.texi (X Window): Update accordingly.
2015-01-26 23:33:24 +01:00
Ludovic Courtès 02bb6b45e4 services: guix: #:authorize-hydra-key? now defaults to #t.
* gnu/services/base.scm (guix-service): Change AUTHORIZE-HYDRA-KEY?
  default value to #t.
2015-01-23 23:49:24 +01:00
Ludovic Courtès 80ae897f01 doc: Mention that guix.el works out-of-the-box on GSD.
* doc/emacs.texi (Emacs Initial Setup): Mention that it works
  out-of-the-box on GSD.
2015-01-23 16:29:20 +01:00
Ludovic Courtès de71cc4f83 doc: Update USB installation image name.
* doc/guix.texi (System Installation): Change image name to guix-usb-*.
2015-01-23 10:17:52 +01:00
Ludovic Courtès 3ca2731c20 doc: Introduce the Guix System Distribution.
* doc/guix.texi (Introduction): Introduce "Guix System Distribution".
  Add a couple of sentences about it.  Remove "Guixotic".
  (GNU Distribution): Likewise.
  (System Installation): Ditto.
2015-01-23 10:15:46 +01:00
Ludovic Courtès 561fb6c31f doc: Document '%state-monad' and update '%store-monad' description.
* doc/guix.texi (The Store Monad): Document '%state-monad' and related
  procedures.  Describe '%store-monad' as an alias for '%state-monad'.
* guix/monads.scm: Update commentary.
2015-01-17 23:45:48 +01:00
Ludovic Courtès 5660708895 guix archive: Add -r/--recursive.
* guix/scripts/archive.scm (show-help, %options): Add -r/--recursive.
  (export-from-store): Pass #:recursive? to 'export-paths'.
* doc/guix.texi (Invoking guix archive): Add -r in Emacs example.  Add
  example with ~/.guix-profile.  Document -r/--recursive.
2015-01-17 17:05:54 +01:00
Ludovic Courtès 867d847305 doc: Mention generation of ECDSA/Ed25519 keys when supported.
* doc/guix.texi (Invoking guix archive): Mention ECDSA/Ed25519 as the
  default type of keys for libgcrypt >= 1.6.0.
2015-01-17 14:53:54 +01:00
Ludovic Courtès 57b7e1a62d Merge branch 'core-updates'
Conflicts:
	gnu/packages/bootstrap.scm
2015-01-16 13:27:03 +01:00
Ludovic Courtès e87f0591f3 monads: Move '%store-monad' and related procedures where they belong.
This turns (guix monads) into a generic module for monads, and moves the
store monad and related monadic procedures in their corresponding
module.

* guix/monads.scm (store-return, store-bind, %store-monad, store-lift,
  text-file, interned-file, package-file, package->derivation,
  package->cross-derivation, origin->derivation, imported-modules,
  compiled, modules, built-derivations, run-with-store): Move to...
* guix/store.scm (store-return, store-bind, %store-monad, store-lift,
  text-file, interned-file): ... here.
  (%guile-for-build): New variable.
  (run-with-store): Moved from monads.scm.  Remove default value for
  #:guile-for-build.
* guix/packages.scm (default-guile): Export.
  (set-guile-for-build): New procedure.
  (package-file, package->derivation, package->cross-derivation,
  origin->derivation): Moved from monads.scm.
* guix/derivations.scm (%guile-for-build): Remove.
  (imported-modules): Rename to...
  (%imported-modules): ... this.
  (compiled-modules): Rename to...
  (%compiled-modules): ... this.
  (built-derivations, imported-modules, compiled-modules): New
  procedures.
* gnu/services/avahi.scm, gnu/services/base.scm, gnu/services/dbus.scm,
  gnu/services/dmd.scm, gnu/services/networking.scm,
  gnu/services/ssh.scm, gnu/services/xorg.scm, gnu/system/install.scm,
  gnu/system/linux-initrd.scm, gnu/system/shadow.scm, guix/download.scm,
  guix/gexp.scm, guix/git-download.scm, guix/profiles.scm,
  guix/svn-download.scm, tests/monads.scm: Adjust imports accordingly.
* guix/monad-repl.scm (default-guile-derivation): New procedure.
  (store-monad-language, run-in-store): Use it.
* build-aux/hydra/gnu-system.scm (qemu-jobs): Add explicit
  'set-guile-for-build' call.
* guix/scripts/archive.scm (derivation-from-expression): Likewise.
* guix/scripts/build.scm (options/resolve-packages): Likewise.
* guix/scripts/environment.scm (guix-environment): Likewise.
* guix/scripts/system.scm (guix-system): Likewise.
* doc/guix.texi (The Store Monad): Adjust module names accordingly.
2015-01-14 13:34:52 +01:00
Ludovic Courtès 1ed194646b doc: Move 'text-file*' to the gexp section.
This is a follow-up to commit 462a3fa.

* doc/guix.texi (The Store Monad): Move 'text-file*'...
  (G-Expressions): ... to here.
2015-01-14 11:22:51 +01:00
Mark H Weaver a813710a5f Merge branch 'master' into core-updates 2015-01-13 12:14:08 -05:00
Ludovic Courtès 35ed9306b9 doc: Change some occurrences of "the GNU system" to "Guixotic".
* doc/guix.texi (GNU Distribution): Explain what "Guixotic" is.
  (System Installation): Replace "the GNU system" by "Guixotic".
  (System Configuration): Likewise.
  (Invoking guix system): Likewise.
2015-01-13 11:09:05 +01:00
Mark H Weaver 7744885731 Merge branch 'master' into core-updates 2015-01-11 09:38:49 -05:00
Eric Bavier d45dc6da5c import: Add CPAN importer.
* guix/import/cpan.scm, guix/scripts/import/cpan.scm, tests/cpan.scm:
  New files.
* Makefile.am (MODULE)[HAVE_GUILE_JSON]: Add them.
* guix/scripts/import.scm (importers): Add cpan.
* doc/guix.texi (Requirements): Mention `guix import cpan` as a user
  of guile-json.
  (Invoking guix import): Document new `guix import cpan` command.
2015-01-09 10:38:26 -06:00
Mark H Weaver aa1e19477b gnu: Add bootstrap binaries for 'armhf-linux'.
* gnu/packages/bootstrap/armhf-linux/bash,
  gnu/packages/bootstrap/armhf-linux/mkdir,
  gnu/packages/bootstrap/armhf-linux/tar,
  gnu/packages/bootstrap/armhf-linux/xz: New files.

* gnu-system.am (bootstrap_armhf_linuxdir, dist_bootstrap_armhf_linux_DATA)
  (nodist_bootstrap_armhf_linux_DATA): New variables.
  (DISTCLEANFILES): Add $(nodist_bootstrap_armhf_linux_DATA).
  (gnu/packages/bootstrap/armhf-linux/guile-2.0.11.tar.xz): New target.
* build-aux/download.scm (file-name->uri): Use newer date in URI for
  armhf-linux.
* gnu/packages/bootstrap.scm (raw-build): Use "guile-2.0.11.tar.xz" on
  armhf-linux.
  (glibc-dynamic-linker, %bootstrap-coreutils&co, %bootstrap-binutils)
  (%bootstrap-glibc, %bootstrap-gcc): Add armhf-linux cases.

* m4/guix.m4 (GUIX_SYSTEM_TYPE): Add armhf case.
  (GUIX_ASSERT_SUPPORTED_SYSTEM): Add armhf-linux to list of
  supported systems.
* doc/guix.texi (GNU Distribution): Add armhf-linux to the list of
  supported systems.
2015-01-07 21:47:51 -05:00
Ludovic Courtès 4379c35b73 doc: guix-daemon now automatically creates '…/profiles/per-user'.
Fixes <http://bugs.gnu.org/19315>.
Reported by rekado <rekado@elephly.net>.

* doc/guix.texi (Invoking guix package): Adjust text to new guix-daemon
  behavior introduced in commit 15ddeff.
2015-01-04 23:42:51 +01:00
Ludovic Courtès 6454b33345 services: Make 'nscd-service' configurable; cache hosts/services by default.
Before that, as it was given an empty configuration file, nscd would
actually have all its caches disabled.

* gnu/services/base.scm (<nscd-configuration>, <nscd-cache>): New record
  types.
  (%nscd-default-caches, %nscd-default-configuration): New variables.
  (nscd.conf-file): New procedure.
  (nscd-service): Add 'config' parameter.  Use 'nscd.conf-file', and
  pass its result as the '-f' parameter of nscd.
* doc/guix.texi (Base Services): Update 'nscd-service' documentation
  accordingly.  Document 'nscd-configuration', 'nscd-cache',
  '%nscd-default-configuration', and '%nscd-default-caches'.
2014-12-14 16:29:24 +01:00
Ludovic Courtès 659a92fc7b doc: Explain how to set the ownership and permissions of /gnu/store.
Fixes <http://bugs.gnu.org/19316>.
Reported by rekado <rekado@elephly.net>.

* doc/guix.texi (Build Environment Setup): Show commands to set the
  ownership and permissions of /gnu/store.
2014-12-09 11:30:26 +01:00
Ludovic Courtès d8b94dbd76 doc: Give example uses of 'deco'.
Suggested by Sleep_Walker on #guix.

* doc/guix.texi (Services): Add 'deco' examples.
2014-12-07 22:55:06 +01:00
nebuli 847391fe62 guix: scripts: Parse $GUIX_BUILD_OPTIONS separately.
Appending to "raw" args broke optional parameters in 'guix package -I'
and 'guix package -A', and possibly other places.  Therefore, switch to
parsing each set of options on its own and append resulting alists
together afterwards.

* guix/scripts/archive.scm (parse-options-from): Rename from
  (parse-options) and add explicit argument.  New form of (parse-options)
  using its old algorithm via -from function.
* guix/scripts/build.scm: Ditto.
* guix/scripts/environment.scm: Ditto.
* guix/scripts/package.scm: Ditto.
* guix/scripts/system.scm: Ditto.
* tests/guix-package.sh: Add test.
* doc/guix.texi (Invoking guix build): Make it clear that the options
  are parsed independently.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2014-12-06 16:03:49 +01:00
Alex Kost 5ec98c3de5 doc: emacs: Fix typo.
Reported by Ludovic Courtès <ludo@gnu.org>.

* doc/emacs.texi (Emacs Initial Setup): Replace "inbuilt" with "built-in".
2014-12-03 20:25:27 +03:00
Alex Kost a7f862e4da doc: emacs: Document autoloading Emacs packages.
* doc/emacs.texi (Emacs Initial Setup): Describe how Emacs packages installed
  in a user profile are autoloaded by "guix.el"
2014-12-02 22:09:24 +03:00