Commit Graph

867 Commits

Author SHA1 Message Date
Ludovic Courtès 7575655212
Merge branch 'master' into core-updates 2016-07-20 11:42:17 +02:00
Ricardo Wurmus 909147e43f
services: Add pam-limits-service.
* gnu/system/pam.scm (<pam-limits-entry>): New record type.
(pam-limits-entry, pam-limits-entry->string): New procedures.
* gnu/services/base.scm (pam-limits-service-type): New variable.
(pam-limits-service): New procedure.
* doc/guix.texi (Base Services): Document it.
2016-07-19 23:50:03 +02:00
Ludovic Courtès 4591c02ea9
doc: Mention zlib as an optional dependency.
* doc/guix.texi (Requirements): Mention zlib.
(Invoking guix publish): Fix typo.
2016-07-19 23:03:30 +02:00
Ludovic Courtès 4a1fc562ae
publish: Add '--compression'.
* guix/scripts/publish.scm (show-help, %options): Add '--compression'.
(<compression>): New record type.
(%no-compression, %default-gzip-compression): New variables.
(%default-options): Add 'compression' key.
(narinfo-string): Add #:compression parameter and honor it.
(render-narinfo): Likewise.
(render-nar): Likewise.
<top level>: Add call to 'declare-header!'.
(swallow-zlib-error): New macro.
(nar-response-port): New procedure.
(http-write): Add call to 'force-output'.  Use 'nar-response-port'
instead of 'response-port'.  Use 'swallow-zlib-error'.
(make-request-handler): Add #:compression parameter and honor it.  Add
"nar/gzip" URL handler.
(run-publish-server): Add #:compression parameter and honor it.
(guix-publish): Honor --compression.
* tests/publish.scm (http-get-port, wait-until-ready): New procedures.
<top level>: Run main server with "-C0".  Call 'wait-until-ready'.
("/nar/gzip/*", "/*.narinfo with compression"): New tests.
* doc/guix.texi (Invoking guix publish): Document it.
2016-07-19 00:07:12 +02:00
David Craven 71b0601a97
services: Add 'dropbear-service'.
* gnu/services/ssh.scm (<dropbear-configuration>): New record type.
(dropbear-activation, dropbear-shepherd-service, dropbear-service): New
procedures.
(dropbear-service-type): New variable.
* doc/guix.texi (Networking Services): Document it.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2016-07-15 17:57:28 +02:00
Ludovic Courtès db97a03a89
doc: Explain 'guix hash -r' for Git checkouts.
* doc/guix.texi (origin Reference): Add xref to "guix download" and
"guix hash".
(Invoking guix hash): Provide an example to compute the hash of a Git
checkout.

Co-authored-by: Troy Sankey <sankeytms@gmail.com>
2016-07-13 23:51:17 +02:00
Ludovic Courtès 1929fdba80
packages: <origin> no longer has an 'imported-modules' field.
* guix/packages.scm (<origin>)[imported-modules]: Remove.
(patch-and-repack): Remove #:imported-modules.  Use
'with-imported-modules'.  Remove #:modules argument to
'gexp->derivation'.
(origin->derivation): Adjust accordingly.
* doc/guix.texi (origin Reference): Adjust accordingly.
2016-07-12 22:47:08 +02:00
Ludovic Courtès 9c14a487bb
gexp: 'program-file' and 'gexp->script' no longer have #:modules.
* guix/gexp.scm (<program-file>)[modules]: Remove.
(program-file): Remove #:modules and adjust accordingly.
(program-file-compiler): Likewise.
(gexp->script): Likewise.
2016-07-12 22:47:08 +02:00
Ludovic Courtès a769bffb65
gexp: 'computed-file' no longer has a #:modules parameter.
* guix/gexp.scm (<computed-file>)[modules]: Remove.
(computed-file): Remove #:modules.
(computed-file-compiler): Likewise.
* doc/guix.texi (G-Expressions): Adjust accordingly.
2016-07-12 22:47:08 +02:00
Ludovic Courtès a91c3fc727
services: <shepherd-service> no longer has an 'imported-modules' field.
* gnu/services/shepherd.scm (<shepherd-service>)[imported-modules]:
Remove.
(%default-imported-modules): Make private.
(shepherd-service-file): Use 'with-imported-modules'.
(shepherd-configuration-file): Remove 'modules' and the calls to
'imported-modules' and 'compiled-modules'.  Use
'with-imported-modules' instead.
* doc/guix.texi (Shepherd Services): Adjust accordingly.
* gnu/services/base.scm (file-system-shepherd-service): Use
'with-imported-modules'.  Remove 'imported-modules' field.
* gnu/system/mapped-devices.scm (device-mapping-service-type): Remove
'imported-modules'.
(open-luks-device): Use 'with-imported-modules'.
* gnu/tests.scm (marionette-shepherd-service): Remove 'imported-modules'
field and use 'with-imported-modules'.
2016-07-12 22:47:08 +02:00
Ludovic Courtès 2b4185792d
gexp: 'gexp->file' emits code to set '%load-path'.
* guix/gexp.scm (gexp->file): Add #:set-load-path? parameter and honor it.
* gnu/system.scm (operating-system-parameters-file): Pass
  #:set-load-path? #f.
* doc/guix.texi (G-Expressions): Adjust accordingly.
2016-07-12 22:47:08 +02:00
Ludovic Courtès 4ee96a7912
gnu: Switch to 'with-imported-modules'.
* gnu/services.scm (directory-union): Use 'with-imported-modules'
instead of the '#:modules' argument of 'computed-file'.
* gnu/services/base.scm (udev-rules-union): Likewise.
* gnu/services/dbus.scm (system-service-directory): Likewise.
* gnu/services/desktop.scm (wrapped-dbus-service):
(polkit-directory): Likewise.
* gnu/services/networking.scm (tor-configuration->torrc): Likewise.
* gnu/services/xorg.scm (xorg-configuration-directory): Likewise.
* gnu/system/install.scm (self-contained-tarball): Likewise.
* gnu/system/linux-container.scm (container-script): Likewise.
* gnu/system/linux-initrd.scm (expression->initrd): Likewise, and
remove #:modules parameter.
(flat-linux-module-directory): Use 'with-imported-modules'.
(base-initrd): Likewise.
* gnu/system/locale.scm (locale-directory): Likewise.
* gnu/system/shadow.scm (default-skeletons): Likewise.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Likewise.
* gnu/tests/base.scm (run-basic-test): Likewise.
* gnu/tests/install.scm (run-install): Likewise.
* doc/guix.texi (Initial RAM Disk): Update 'expression->initrd'
documentation.
2016-07-12 22:47:08 +02:00
Ludovic Courtès 0bb9929eaa
gexp: Add 'with-imported-modules' macro.
* guix/gexp.scm (<gexp>)[modules]: New field.
(gexp-modules): New procedure.
(gexp->derivation): Use it and append the result to %MODULES.
Update docstring to mark #:modules as deprecated.
(current-imported-modules, with-imported-modules): New macros.
(gexp): Pass CURRENT-IMPORTED-MODULES as second argument to 'gexp'.
(gexp->script): Use and honor 'gexp-modules'; define '%modules'.
* tests/gexp.scm ("gexp->derivation & with-imported-modules")
("gexp->derivation & nested with-imported-modules")
("gexp-modules & ungexp", "gexp-modules & ungexp-splicing"):
New tests.
("program-file"): Use 'with-imported-modules'.  Remove #:modules
argument to 'program-file'.
* doc/guix.texi (G-Expressions): Document 'with-imported-modules'.
Mark #:modules of 'gexp->derivation' as deprecated.
* emacs/guix-devel.el: Add syntax for 'with-imported-modules'.
(guix-devel-keywords): Add it.
* .dir-locals.el: Likewise.
2016-07-12 22:47:08 +02:00
David Craven b58cbf9ac5
services: Add rngd-service.
* gnu/services/base.scm (<rngd-configuration>): New record type.
(rngd-service-type): New variable.
(rngd-service): New procedure.
* doc/guix.texi (Base Services): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-07-05 11:10:01 +02:00
Ludovic Courtès c8695f325d
services: avahi: Add #:debug? parameter.
* gnu/services/avahi.scm (<avahi-configuration>)[debug?]: New field.
(avahi-shepherd-service): Honor it.
(avahi-service): Add #:debug? and honor it.
* doc/guix.texi (Networking Services): Adjust accordingly.
2016-06-27 21:41:38 +02:00
Ludovic Courtès b6683f1507
doc: Fix typo for 'static-networking-service'.
* doc/guix.texi (Networking Services): Change #:name-services to
  #:name-servers.
2016-06-27 21:41:38 +02:00
Ludovic Courtès 01497dfe6c
Merge branch 'master' into core-updates 2016-06-27 09:30:01 +02:00
Ludovic Courtès 8ac6282c4b
doc: Augment mcron example.
Suggested by Danny Milosavljevic.

* doc/guix.texi (Scheduled Job Execution): Add unprivileged job example,
and show the use of thunks as job actions and gexps.
2016-06-26 15:29:32 +02:00
Ludovic Courtès eca69fc0d6
doc: Clarify /dev/kvm setup.
Reported by myglc2 <myglc2@gmail.com>.

* doc/guix.texi (Build Environment Setup): Mention the "kvm" group.
(Invoking guix system): Use "@quotation Note" for the note about KVM;
make it clear that KVM is optional.
2016-06-26 15:29:32 +02:00
Ludovic Courtès 0a2f2848d5
doc: Document 'make check-system'.
* doc/guix.texi (Running the Test Suite): Document 'make check-system'.
2016-06-22 22:56:06 +02:00
Ludovic Courtès c311089b0b
services: Add 'mcron-service'.
* gnu/services/mcron.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* gnu/tests/base.scm (%mcron-os, %test-mcron): New variables.
(run-mcron-test): New procedure.
* doc/guix.texi (Scheduled Job Execution): New node.
2016-06-22 22:56:06 +02:00
宋文武 922e21f436
gnu: services: Add bluetooth-service.
* gnu/services/desktop.scm (bluetooth-shepherd-service)
(bluetooth-service): New Prodecures.
(bluetooth-service-type): New variable.
* doc/guix.text (Desktop Services): Document it.
2016-06-18 09:53:14 +08:00
Ludovic Courtès a1b484654a
services: dicod: Add 'interfaces' configuration field.
This makes 'dicod' listen on 'localhost' by default, whereas it was
previously listening on all the interfaces, which is not a good default
security-wise.

* gnu/services/dict.scm (<dicod-configuration>)[interfaces]: New field.
(dicod-configuration-file)[database->text]: New procedure, with code
formerly in 'dicod-configuration->text'.
[dicod-configuration->text]: Rename to...
[configuration->text]: ... this.  Honor 'interfaces'.
* doc/guix.texi (Various Services): Document 'interfaces'.
2016-06-17 11:14:18 +02:00
Ludovic Courtès 762e54b7b4
doc: Recommend against marketing phrases in descriptions.
* doc/guix.texi (Synopses and Descriptions): Add note about marketing
phrases.
2016-06-16 23:50:44 +02:00
宋文武 6575183b2c
gnu: services: Add mysql-service.
* gnu/services/database.scm (<mysql-configuration>): New record type.
(%mysql-accounts, mysql-service-type): New variables.
(mysql-configuration-file, %mysql-activation, mysql-shepherd-services)
(mysql-services): New procedures.
* doc/guix.texi (Database Services): Document it.
2016-06-16 21:26:50 +08:00
Ludovic Courtès 0687fc9cd9
gexp: Add #:select? parameter to 'local-file'.
* guix/gexp.scm (<local-file>)[select?]: New field.
(true): New procedure.
(%local-file): Add #:select? and honor it.
(local-file): Likewise.
* tests/gexp.scm ("local-file, #:select?"): New test.
* doc/guix.texi (G-Expressions): Adjust accordingly.
2016-06-16 09:34:32 +02:00
Ludovic Courtès b789974954
doc: Fix typos.
Reported by ozzloy on #guix.

* doc/guix.texi (package Reference): Add missing space.
(G-Expressions, Invoking guix build):
(Common Build Options): Fix typos.
2016-06-16 09:34:32 +02:00
Ludovic Courtès 1ec32f4a9d
store: Add #:select? parameter to 'add-to-store'.
* guix/store.scm (write-arg): Remove 'file' case.
(true): New procedure.
(add-to-store): Add #:select? parameter and honor it.  Use hand-coded
stub instead of 'operation'.
(interned-file): Add #:select? parameter and honor it.
* doc/guix.texi (The Store Monad): Adjust 'interned-file' documentation
accordingly.
2016-06-15 15:26:30 +02:00
Ludovic Courtès da675305dd
packages: The 'source' can be any lowerable object.
* guix/packages.scm (expand-input): Use 'struct?' instead of 'origin?'
when matching SOURCE.
(package-source-derivation): Use 'lower-object' instead of
'origin->derivation'.
* tests/packages.scm ("package-source-derivation, local-file"): New
test.
* doc/guix.texi (package Reference): Update 'source' documentation
accordingly.
2016-06-15 15:26:30 +02:00
Cyril Roelandt 266785d21e import: pypi: read requirements from wheels.
* doc/guix.tex (Invoking guix import): Mention that the pypi importer
works better with "unzip".
* guix/import/pypi.scm (latest-wheel-release,
wheel-url->extracted-directory): New procedures.
* tests/pypi.scm (("pypi->guix-package, wheels"): New test.
2016-06-14 22:03:22 +02:00
Ludovic Courtès 52530805b3
doc: Fix default value of #:recursive? for 'local-file'.
* doc/guix.texi (G-Expressions): The #:recursive? parameter of
'local-file' defaults to #f.
2016-06-12 23:54:00 +02:00
Ludovic Courtès e4c7a5f7c8
publish: Add '--ttl'.
* guix/scripts/publish.scm (show-help, %options): Add --ttl.
(render-narinfo): Add #:ttl and honor it.
(make-request-handler): Add #:narinfo-ttl and honor it.
(run-publish-server): Likewise.
(guix-publish): Honor --ttl, pass it to 'run-publish-server'.
2016-06-09 23:34:56 +02:00
Ludovic Courtès ae76830857
doc: Add missing quotes in wpa_supplicant example.
Reported by Kete Foy <kete@ninthfloor.org>.

* doc/guix.texi (Preparing for Installation): Add quotes in
wpa_supplicant example.
2016-06-08 19:07:58 +02:00
宋文武 c3d38b2b9d
gnu: services: Add dicod-service.
* gnu/services/dict.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (Various Services): Document it.
2016-06-05 13:48:15 +08:00
Ludovic Courtès 1713c37f83
doc: Mention the 'ip' command.
Suggested by Alex Kost <alezost@gmail.com>.

* doc/guix.texi (Preparing for Installation): Mention 'ip'.
2016-06-05 00:05:38 +02:00
Ludovic Courtès 0e69cf67cb
doc: Explain that packages can be installed in the installation system.
* doc/guix.texi (Preparing for Installation): Add paragraph about
package installation in the installation system.
2016-06-03 10:26:42 +02:00
Hartmut Goebel 99c866a0bb
doc: Update specification for Python packages
* doc/guix.texi (Python Packages): Add rule for packages with upstream
  name starting with "py".

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-06-01 23:02:04 +02:00
Ludovic Courtès d23ef788b3
doc: Clarify non-interference when installed on a foreign distro.
Suggested by Hartmut Goebel <h.goebel@crazy-compilers.com>.

* doc/guix.texi (Installation): Add paragraph explaining that files live
in two directories.
2016-06-01 22:56:33 +02:00
Ludovic Courtès b2e13aa287
doc: Suggest pgp.mit.edu.
* doc/guix.texi (Binary Installation): Use pgp.mit.edu instead of
keys.gnupg.net, which seems to be dead.
2016-06-01 22:25:57 +02:00
Eelco Dolstra b4528110c6
daemon: rounds: Keep the differing output if -K is given.
Regardless of -K, we now also print which output differs.
2016-05-31 14:25:28 +02:00
Eelco Dolstra 7f3b2510d6
daemon: check: Keep the differing output if -K is given.
This makes it easier to investigate the non-determinism, e.g.

  $ nix-build pkgs/stdenv/linux -A stage1.pkgs.zlib --check -K
  error: derivation ‘/nix/store/l54i8wlw22656i4pk05c52ngv9rpl39q-zlib-1.2.8.drv’ may not be deterministic: output ‘/nix/store/11a27shh6n2ivi4a7s964i65ql80cf27-zlib-1.2.8’ differs from ‘/nix/store/11a27shh6n2ivi4a7s964i65ql80cf27-zlib-1.2.8-check’

  $ diffoscope /nix/store/11a27shh6n2ivi4a7s964i65ql80cf27-zlib-1.2.8 /nix/store/11a27shh6n2ivi4a7s964i65ql80cf27-zlib-1.2.8-check
  ...
  ├── lib/libz.a
  │   ├── metadata
  │   │ @@ -1,15 +1,15 @@
  │   │ -rw-r--r-- 30001/30000   3096 Jan 12 15:20 2016 adler32.o
  ...
  │   │ +rw-r--r-- 30001/30000   3096 Jan 12 15:28 2016 adler32.o
  ...

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2016-05-31 14:25:28 +02:00
Leo Famulari a535e12226
services: Add urandom-seed-service.
Fixes <http://bugs.gnu.org/23605>.

* gnu/services/base.scm (urandom-seed-service): New procedure.
(%random-seed-file, urandom-seed-service-type): New variables.
(%urandom-seed-shepherd-service): New procedure.
(%base-services): Call 'urandom-seed-service'.
* doc/guix.texi (Base Services): Document it.
2016-05-28 19:59:31 -04:00
Mathieu Lirzin 70458ed510
doc: Fix typo.
* doc/guix.texi (Derivations): Add 's' to "contain".
2016-05-26 14:23:53 +02:00
Ludovic Courtès db761534df
size: Accept several arguments.
* guix/scripts/size.scm (display-profile): Display WHOLE at then end.
(guix-size): Accept several FILES.
* doc/guix.texi (Invoking guix size): Add example with several items.
2016-05-24 23:05:31 +02:00
Mathieu Lirzin c0d2e7b197
build: Use "%D%" in Makefile fragments.
* doc/local.mk: Use "%D%" for the directory of the fragment relative to
the base 'Makefile.am'.
* emacs/local.mk: Likewise.
* gnu/local.mk: Likewise.
* nix/local.mk: Likewise.
2016-05-24 13:07:19 +02:00
Ludovic Courtès a773c3142d
graph: Allow store file names for 'derivation' and 'references' graphs.
* guix/scripts/graph.scm (%derivation-node-type)[convert]: Add
'derivation-path?' and catch-all clauses.
(%reference-node-type)[convert]: Add 'store-path?' and catch-all
clauses.
(assert-package, nodes-from-package): New procedures.
(%package-node-type, %bag-node-type,%bag-with-origins-node-type)
(%bag-emerged-node-type): Add 'convert' field
(guix-graph): Rename 'packages' to 'items' and
allow 'store-path?' arguments.
* guix/graph.scm (<node-type>)[convert]: Adjust comment.
* doc/guix.texi (Invoking guix graph): Document it.
2016-05-21 01:35:14 +02:00
Ludovic Courtès 99effc8faa
lint: Honor 'cpe-name' and 'cpe-version' package properties.
* guix/scripts/lint.scm (package-name->cpe-name): Remove.
(package-vulnerabilities): Honor 'cpe-name' and 'cpe-version'
properties.
* gnu/packages/grub.scm (grub)[properties]: New field.
* gnu/packages/gnuzilla.scm (icecat)[properties]: Add 'cpe-name' and
'cpe-version'.
* doc/guix.texi (Invoking guix lint): Mention 'cpe-name'.
2016-05-17 18:15:53 +02:00
Ludovic Courtès 1aaf116d31
doc: Fix typo.
* doc/guix.texi (Base Services): "gpm-service", not "gmp-service-type".
2016-05-11 11:08:49 +02:00
Alex Kost f8476e17a7 emacs: Add 'guix-package-from-file' command.
* emacs/guix-main.scm (register-package, packages-from-file): New procedures.
(%patterns-makers): Add 'from-file' search type.
* emacs/guix-messages.el (guix-messages): Add messages for it.
* emacs/guix-ui-package.el (guix-package-from-file): New command.
(guix-package-info-insert-location): Adjust for 'from-file' type.
* doc/emacs.texi (Emacs Commands): Document it.
2016-05-10 12:05:53 +03:00
Ludovic Courtès b8785cb944
doc: Suggest long OpenPGP key ID.
* doc/guix.texi (Binary Installation): Use long OpenPGP key ID.
2016-05-08 23:49:44 +02:00
Efraim Flashner 76192896e9
services: Add connman-service.
* gnu/services/networking.scm (connman-service): New procedure.
(connman-service-type, %connman-activation): New variables.
(connman-shepherd-service): New procedure.
* doc/guix.texi (Networking Services): Document it.
2016-05-05 23:07:09 +03:00
Ludovic Courtès a17417a812
challenge: Use exit code 2 when discrepancies are found.
Suggested by John Darrington <john@darrington.wattle.id.au>.

* guix/scripts/challenge.scm (guix-challenge): Exit with 2 when MISSING
is not empty.
* doc/guix.texi (Invoking guix challenge): Document it.
2016-04-27 23:35:39 +02:00
Alex Kost 8472b2fd2d emacs: Add 'guix-find-license-definition' command.
* emacs/guix-license.el (guix-license-file): New procedure.
(guix-find-license-definition): New command.
* doc/emacs.texi (Emacs Licenses): Document it.
2016-04-26 12:32:56 +03:00
Ludovic Courtès 0054e47036
guix gc: Add '--free-space'.
* guix/scripts/gc.scm (show-help, %options): Add '--free-space'.
(guix-gc)[ensure-free-space]: New procedure.
Handle '--free-space'.
2016-04-25 23:27:09 +02:00
Mathieu Lirzin 03d0e2d2b9 build: Move 'Makefile' fragments to subdirectories.
This follows a convention used by some other GNU packages like Autoconf,
Bison, Coreutils, and Gnulib.

* doc.am: Rename to ...
* doc/local.mk: ... this.
* emacs.am: Rename to ...
* emacs/local.mk: ... this.
* gnu-system.am: Rename to ...
* gnu/local.mk: ... this.
* daemon.am: Rename to ...
* nix/local.mk: ... this.
* Makefile.am: Adapt to them.
* doc/guix.texi (Porting to a New Platform): Adapt documentation.
* guix/config.scm.in (%state-directory, %config-directory): Adapt comments.
* emacs/guix-config.el.in (guix-config-state-directory): Likewise.
2016-04-21 18:47:50 +02:00
Ludovic Courtès b3129f2b76 doc: Add "X.509 Certificates" section under "Application Setup".
Reported by Roel Janssen <roel@gnu.org>.

* doc/guix.texi (Application Setup)[X.509 Certificates]: New section.
(X.509 Certificates): Add an example of certificates in the profile.
2016-04-20 18:54:39 +02:00
Hartmut Goebel e1c963bf0d doc: Add specification for Java packages
* doc/guix.texi (Java Packages): New subsection.
2016-04-19 16:55:03 +02:00
Ludovic Courtès 31b6cdf8d1 doc: Mention 'mkswap' during installation.
Reported by Thierry Micoud <thierrymicoud@gmail.com>.

* doc/guix.texi (Preparing for Installation): Mention 'mkswap'.
2016-04-19 12:40:11 +02:00
Alex Kost b4b9975d4a emacs: Add interface for package locations.
* emacs/guix-main.scm (%package-location-param-alist): New variable.
(package-location->sexp, package-location-entries): New procedures.
* emacs/guix-ui-location.el: New file.
* emacs.am (ELFILES): Add it.
* doc/emacs.texi (Emacs Package Locations): Document 'guix-locations'.
* NEWS: Mention it.
2016-04-18 10:09:02 +03:00
Alex Kost b5e3cbbb24 doc: emacs: Add "Package Source Locations" section.
* doc/emacs.texi (Emacs Commands): Move description of 'guix-edit'
command to...
(Emacs Package Locations): ... here.  Document 'guix-find-location'.
New node.
* doc/guix.texi (Top): Add it.
2016-04-18 10:09:02 +03:00
Alex Kost b4ea535a9f emacs: Add 'guix-packages-by-location' command.
* emacs/guix-main.scm (packages-by-location-file, package-location-files):
New procedures.
(%patterns-makers): Add 'location' search type.
* emacs/guix-messages.el (guix-message-packages-by-location): New procedure.
(guix-messages): Use it.
* emacs/guix-read.el (guix-package-locations)
(guix-read-package-location): New procedures.
* emacs/guix-ui-package.el (guix-packages-by-location): New command.
* doc/emacs.texi (Emacs Commands): Document it.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2016-04-18 10:09:01 +03:00
Ludovic Courtès ffba7d498d mapped-devices: LUKS partitions can be designated by their UUID.
* gnu/system/mapped-devices.scm (device-mapping-service-type): Add
'modules' and 'imported-modules' fields to 'shepherd-service'.
(open-luks-device): Use 'find-partition-by-luks-uuid' to lookup the
partition when SOURCE is a bytevector.
* gnu/system/linux-initrd.scm (base-initrd): Augment 'use-modules'
form.
* doc/guix.texi (Mapped Devices): Give example with a UUID.
2016-04-18 01:24:06 +02:00
Alex Kost b3d05f4870 services: 'console-keymap-service' takes multiple files.
* gnu/services/base.scm (console-keymap-service-type): Type procedure
takes a list of files instead of a single file.
(console-keymap-service): Take 'files' as rest arguments.
* doc/guix.texi (Base Services): Improve documentation of
'console-keymap-service'.
2016-04-17 10:33:08 +03:00
Ludovic Courtès e9dffec126 doc: Update 'skeletons' field documentation.
* doc/guix.texi (operating-system Reference): Update documentation of
'skeletons' as a followup to e79467f63a.
2016-04-17 01:23:52 +02:00
Ludovic Courtès d5e5924835 doc: Use new PACKAGE@VERSION syntax in example.
* doc/guix.texi (Using the Configuration System): Use PACKAGE@VERSION
syntax.
2016-04-17 01:23:52 +02:00
Ludovic Courtès 3a25c63120 doc: Mention --localstatedir for when building from Git.
Reported by Hartmut Goebel <h.goebel@crazy-compilers.com>.

* doc/contributing.texi (Building from Git): Mention --localstatedir.
2016-04-16 00:52:19 +02:00
Ludovic Courtès e0b3f97ecc doc: Fix typos.
* doc/guix.texi (Hardware Considerations): Fix typos.
2016-04-16 00:52:19 +02:00
Ludovic Courtès bf15321a60 doc: Remove mention of GNU release freshness checks.
* doc/guix.texi (Invoking guix package): Remove paragraph about
automatic check for latest GNU releases, which was removed in
6caa4dfa37.
2016-04-16 00:52:19 +02:00
Mathieu Lirzin e66d1f59ab doc: Add a reference to 'Invoking guix archive'.
* doc/guix.texi (Common Build Options): Add a reference to 'Invoking
guix archive'.
2016-04-15 00:59:07 +02:00
Ludovic Courtès a70a50048b doc: Update reproducible-builds.org URL.
* doc/guix.texi (Invoking guix challenge): Update reproducible-builds
URL.
2016-04-06 23:23:56 +02:00
Ludovic Courtès ddbc7f7d81 doc: Use more https URLs.
* doc/guix.texi (Invoking guix challenge): Use https instead of http.
2016-04-06 23:22:49 +02:00
Ludovic Courtès 7cffaeb604 challenge: Really exit with non-zero upon hash mismatch.
Reported by John Darrington.

* guix/scripts/challenge.scm (guix-challenge): Add an explicit 'exit'
call when ISSUES is empty.
* scripts/guix.in: Add comment about 'exit'.
* doc/guix.texi (Invoking guix challenge): Mention the behavior and exit
code.
2016-04-06 23:21:26 +02:00
Ludovic Courtès 7b9a66e519 doc: Update use of old "PACKAGE-VERSION" syntax.
* doc/guix.texi (Invoking guix edit): Use the @ syntax for versions.
2016-04-06 23:16:02 +02:00
Mathieu Lirzin a9edb211e7 build: Add a Guile custom test driver using SRFI-64.
Before that '.log' files for scheme tests were fragmented and not
included in test-suite.log.  This unifies the semantics of SRFI-64 API
with Automake test suite.

* build-aux/test-driver.scm: New file.
* Makefile.am (SCM_LOG_DRIVER, AM_SCM_LOG_DRIVER_FLAGS): New variables.
(SCM_LOG_COMPILER, AM_SCM_LOG_FLAGS): Delete variables.
(AM_TESTS_ENVIRONMENT): Set GUILE_AUTO_COMPILE to 0.
* test-env.in: Silence guix-daemon.
* doc/guix.texi (Running the Test Suite): Describe how to display the
detailed results.  Bug reports require only 'test-suite.log' file.
* tests/base32.scm, tests/build-utils.scm, tests/builders.scm,
tests/challenge.scm, tests/cpan.scm, tests/cpio.scm, tests/cran.scm,
tests/cve.scm, tests/derivations.scm, tests/elpa.scm,
tests/file-systems.scm, tests/gem.scm, tests/gexp.scm,
tests/gnu-maintenance.scm, tests/grafts.scm, tests/graph.scm,
tests/gremlin.scm, tests/hackage.scm, tests/hash.scm,
tests/import-utils.scm, tests/lint.scm, tests/monads.scm, tests/nar.scm,
tests/packages.scm, tests/pk-crypto.scm, tests/pki.scm,
tests/profiles.scm, tests/publish.scm, tests/pypi.scm,
tests/records.scm, tests/scripts-build.scm, tests/scripts.scm,
tests/services.scm, tests/sets.scm, tests/size.scm, tests/snix.scm,
tests/store.scm, tests/substitute.scm, tests/syscalls.scm,
tests/system.scm, tests/ui.scm, tests/union.scm, tests/upstream.scm,
tests/utils.scm: Don't exit at the end of test groups.
* tests/containers.scm: Likewise.  Use 'test-skip' instead of exiting
with error code 77.
2016-04-03 14:19:09 +02:00
Eric Bavier 42efe27a30 import: Add Hackage updater.
* guix/import/hackage.scm (guix-package->hackage-name, hackage-package?)
  (latest-release): New procedures.
  (%hackage-updater): New variable.
* guix/scripts/refresh.scm (%updaters): Add it.
* doc/guix.texi (Invoking guix refresh): Mention it.
2016-03-30 23:19:24 -05:00
Roel Janssen 4827b36d1f doc: Small fixes for typos and missing words.
* doc/guix.texi (The Store Monad): Add a dot at the end of a sentence.
  (The Store Monad): Add "are" to make a complete sentence.
  (G-Expressions): Fix typo.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-03-30 23:39:47 +02:00
Chris Marusich 8a46205b41 doc: Clarify how to use the '#:python' parameter.
* doc/guix.texi (Build Systems): Clearly distinguish between the package that
provides the Python interpreter for the build and the package that is to be
built.  Also, mention why one might want to use a specific Python version.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-03-30 23:39:47 +02:00
Ludovic Courtès d006e307b9 doc: Fix URL of gnutls-guile one-page-per-node manual.
* doc/htmlxref.cnf: Fix gnutls-guile 'node' URL.
2016-03-30 23:39:47 +02:00
Ludovic Courtès e2f41133e9 doc: We have even more than 3,000 packages.
Suggested by Chris Marusich <cmmarusich@gmail.com>.

* doc/guix.texi (Limitations): Increase package count.
2016-03-28 22:25:42 +02:00
Ludovic Courtès efa77c6c92 doc: Explain why the config file should be stored on the target.
Suggested by Chris Marusich <cmmarusich@gmail.com>.

* doc/guix.texi (Proceeding with the Installation): Explain why the
config file should be on the target file system.
2016-03-28 22:25:42 +02:00
Ludovic Courtès 15650ac2a0 doc: Suggest 'dhclient -v'.
Suggested by Chris Marusich <cmmarusich@gmail.com>.

* doc/guix.texi (Preparing for Installation): Add "-v" for dhclient.
2016-03-28 22:25:42 +02:00
Ludovic Courtès 9c18cf9bca doc: Suggest running "info info" during system installation.
Based on a suggestion by Chris Marusich <cmmarusich@gmail.com>.

* doc/guix.texi (System Installation): Suggest running "info info".
2016-03-28 22:25:42 +02:00
Ludovic Courtès b397c0d58a doc: Clarify 'cow-store'.
Suggested by Chris Marusich <cmmarusich@gmail.com>.

* doc/guix.texi (Proceeding with the Installation): Clarify what
'cow-store' is about.
2016-03-28 22:25:42 +02:00
Ludovic Courtès ff925d37e0 doc: Make it clear that networking is needed for GuixSD installation.
Suggested by Jan Nieuwenhuizen <janneke@gnu.org>.

* doc/guix.texi (Preparing for Installation): Make it clear that
networking is required.
2016-03-28 22:25:42 +02:00
Ludovic Courtès 09866b3962 doc: Augment documentation about security updates.
* doc/guix.texi (Security Updates): Add paragraph on the big picture of
security updates.  Cross-reference 'guix lint'.
(Invoking guix lint): Add CVE URLs.
2016-03-28 22:25:42 +02:00
Mark H Weaver 641d05188d doc: Fix typo: "wpa_supplication" --> "wpa_supplicant".
* doc/guix.texi (Preparing for Installation): Fix typo.
2016-03-26 13:15:11 -04:00
David Thompson a01ad63893 environment: container: Create dummy home directory and /etc/passwd.
* guix/scripts/environment.scm (launch-environment/container): Change
$HOME to the current user's home directory instead of
/homeless-shelter.  Create a dummy /etc/passwd with a single entry for
the current user.
* doc/guix.texi ("invoking guix environment"): Add a note about the
dummy home directory and /etc/passwd.
2016-03-26 09:38:27 -04:00
Ludovic Courtès bf9eacd2af doc: Mention 'guix challenge' in "Features".
* doc/guix.texi (Features): Mention trust and 'guix challenge'.
2016-03-25 23:54:12 +01:00
Ludovic Courtès 6f77360681 doc: Rephrase introduction to give a better overview.
Suggested by myglc2 <myglc2@gmail.com>.

* doc/guix.texi (Introduction): Rephrase to mention features and use
cases first, and foundations last.
(Features): Mention "GuixSD".
(Utilities): Change intro: not all the tools are for packagers.
2016-03-25 23:54:12 +01:00
Ludovic Courtès 622b2304ce doc: We now need 1 GiB for the installation USB image.
* doc/guix.texi (Building the Installation Image): Change image size to 1G.
* build-aux/hydra/gnu-system.scm (qemu-jobs): Likewise.
2016-03-24 23:31:56 +01:00
Ludovic Courtès de341e7c3f doc: Update reference to the Info reader's manual.
* doc/guix.texi (System Installation): Refer to 'info-stnd' instead of
'info'.
(Preparing for Installation): Likewise.
2016-03-24 23:00:11 +01:00
Alex Kost 6667af6a97 doc: Clarify installation instructions for "guix.el".
* doc/emacs.texi (Emacs Initial Setup): Mention that "guix package -i
guix" is an easy way.  Warn that "make install" may lead to an outdated
code.
2016-03-24 18:49:59 +03:00
Alex Kost ff4455e6e2 emacs: Deprecate "guix-init.el".
'guix-init' served 2 purposes:

- to autoload guix commands (by requiring 'guix-autoloads');
- and to autoload Emacs packages installed with Guix (by requiring
  'guix-emacs').

The second purpose is not actual anymore, as Emacs package handles this
task now, so there is no need in 'guix-init' anymore.

* emacs/guix-init.el: Do not require 'guix-emacs'.  Add a deprecation
  message.
* doc/emacs.texi (Emacs Initial Setup): Recommend to use
  'guix-autoloads' instead of 'guix-init'.
2016-03-24 18:49:59 +03:00
Ludovic Courtès d038b674cf doc: Add "lightweight desktop" OS config example.
* gnu/system/examples/desktop.tmpl (packages): Remove XFCE and
RATPOISON.
(services): Add 'gnome-desktop-service' and 'xfce-desktop-service'.
* gnu/system/examples/lightweight-desktop.tmpl: New file.
* Makefile.am (EXAMPLES): Add it.
* doc.am (OS_CONFIG_EXAMPLES_TEXI): Add
doc/os-config-lightweight-desktop.texi.
* gnu/system/install.scm (/etc/configuration-files)[directory]: Add
lightweight-desktop.tmpl.
2016-03-23 00:23:12 +01:00
Ludovic Courtès 3f4ecf3229 gexp: Add #:disallowed-references.
* guix/gexp.scm (gexp->derivation): Add #:disallowed-references and
honor it.
* tests/gexp.scm ("gexp->derivation #:disallowed-references, allowed")
("gexp->derivation #:disallowed-references"): New tests.
* doc/guix.texi (G-Expressions): Adjust accordingly.
2016-03-20 22:46:14 +01:00
Ludovic Courtès 35b5ca7869 derivations: Add #:disallowed-references.
* guix/derivations.scm (derivation): Add #:disallowed-references.
[user+system-env-vars]: Honor it.
(build-expression->derivation): Likewise.
* tests/derivations.scm ("derivation #:disallowed-references, ok")
("derivation #:disallowed-references, not ok"): New tests.
* doc/guix.texi (Derivations): Adjust accordingly.
2016-03-20 22:45:35 +01:00
Ludovic Courtès ef5f5c8659 build: Protect against misconfiguration of localstatedir.
Suggested by Jookia <166291@gmail.com>.

* m4/guix.m4 (GUIX_CURRENT_LOCALSTATEDIR, GUIX_CHECK_LOCALSTATEDIR): New
macros.
* config-daemon.ac: Use 'GUIX_CHECK_LOCALSTATEDIR'.
* Makefile.am (DISTCHECK_CONFIGURE_FLAGS): Add --localstatedir.
* doc/guix.texi (Requirements): Mention --localstatedir.
(The Store): Mention LOCALSTATEDIR as such.
2016-03-19 15:07:46 +01:00
Ludovic Courtès b53daad064 doc: Add missing comma after @xref.
Reported by Alex Kost <alezost@gmail.com>.

* doc/guix.texi (Service Reference): Add comma after @xref.
2016-03-17 09:49:05 +01:00
Ludovic Courtès 5fe01c2d9b doc: GNOME is now available.
* doc/guix.texi (Limitations): Rephrase item about GNOME and KDE.
2016-03-17 09:49:05 +01:00
Ludovic Courtès 71e2065a38 substitute: Honor client-provided empty URL list.
Before that, 'guix build --substitute-urls=""' would lead to using the
daemon's own URL list instead of the empty list.  The 'or*' hack, which
is to blame, had become unnecessary since commit
fb4bf72be3.

Reported by Mark H Weaver <mhw@netris.org>.

* guix/scripts/substitute.scm (or*): Remove.
(%cache-urls): Use 'or' instead of 'or*'.
* tests/store.scm ("substitute query, alternating URLs"): Add test with
empty URL list.
* doc/guix.texi (Common Build Options): Mention the empty string.
2016-03-16 18:34:53 +01:00