guix package: Add '--do-not-upgrade' option.
* guix/scripts/package.scm (%options): Add the '--do-not-upgrade' option.
(show-help): Document it.
(options->installable): Add 'do-not-upgrade-regexps' variable.
Use it in 'packages-to-upgrade'.
* doc/guix.texi (Invoking guix package): Document the '--do-not-upgrade'
option.
doc: Add example showing how to customize 'nscd-service'.
* doc/guix.texi (Name Service Switch): Add link to nss-mdns. Add
example show how to pass #:name-services to 'nscd-service'.
(Base Services): Add link from 'nscd-service' to the above.
* gnu/services/base.scm (nscd-service): Update docstring accordingly.
activation: Remove undeclared user accounts and groups.
Fixes <http://bugs.gnu.org/19795>.
Reported by David Thompson <dthompson2@worcester.edu>.
* gnu/build/activation.scm (enumerate, current-users, current-groups,
delete-user, delete-group): New procedures.
(activate-users+groups): Add calls to 'delete-user' and
'delete-group'.
* doc/guix.texi (User Accounts): Add a paragraph about statelessness.
Explain that passwords are preserved.
import: Add hackage importer.
* guix/scripts/import.scm (importers): Add hackage.
* guix/scripts/import/hackage.scm: New file.
* po/guix/POTFILES.in: Add guix/scripts/import.scm.
* doc/guix.texi: Add section on 'hackage' importer.
doc: Refer to "Substitutes" from "Setting Up the Daemon".
Suggested by Mark H Weaver.
* doc/guix.texi (Setting Up the Daemon): Add xref to "Substitutes".
doc: Mention the relation between module names and file names.
* doc/guix.texi (Package Modules): Mention the relation between module
names and file names.
doc: Mention that the current generation is not deleted.
* doc/guix.texi (Invoking guix package): Mention that the current
generation is not deleted. This is a followup to d26eb84.
scripts: Add 'publish' command.
* guix/scripts/publish.scm: New file.
* po/guix/POTFILES.in: Add it.
* tests/publish.scm: New file.
* Makefile.am (MODULES): Add script module.
(SCM_TESTS): Add test module.
* doc/guix.texi ("Invoking guix publish"): New node.
build-system: Add haskell-build-system.
* guix/build-system/haskell.scm: New file.
* guix/build/haskell-build-system.scm: New file.
* doc/guix.texi: Add section on 'haskell-build-system'.
services: lsh: Change #:initialize? to default to #t.
* gnu/services/ssh.scm (lsh-service): Change #:initialize? to default
to #t.
* doc/guix.texi (Using the Configuration System): Remove #:initialize? #t
from example.
(Networking Services): Adjust accordingly.
doc: Make it clear that store items must not be deleted by hand.
* doc/guix.texi (Invoking guix gc): Add that this is the only way to
delete files.
doc: Remove bits about having to create /gnu/store manually.
* doc/guix.texi (Build Environment Setup): Remove bit about creating
/gnu/store. This is done automatically since 15ddeff.
services: syslog-service: Add 'config-file' argument.
* gnu/services/base.scm (syslog-service): Add 'config-file' keyword
argument.
* doc/guix.texi (Base Services): Document it.
gexp: Add 'local-file'.
* guix/gexp.scm (<local-file>): New record type.
(local-file): New procedure.
(local-file-compiler): New compiler.
(gexp->sexp) <struct? thing>: Handle the case where 'lower' returns a
file name.
(text-file*): Update docstring.local-file doc
* tests/gexp.scm ("one local file", "gexp->derivation, local-file"): New
tests.
* doc/guix.texi (G-Expressions): Mention local files early. Document
'local-file'. Update 'text-file*' documentation.
doc: Update gexp wrt. extensibility.
This is a followup to bcb1328.
* doc/guix.texi (G-Expressions): Move paragraph about extensibility
below. Remove assumptions that things are either packages or
derivations.
services: Add 'lirc-service'.
* gnu/services/lirc.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (Various Services): New node. Document 'lirc-service'.
doc: Add section about the test suite.
* doc/guix.texi (Running the Test Suite): New section.
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.
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.
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'.