Commit graph

2506 commits

Author SHA1 Message Date
Christopher Baines
c311147bd1
services: postgresql: Change service default socket directory.
Fixes <https://bugs.gnu.org/46737>.

PostgreSQL running with a different socket directory to the default one in the
package itself breaks some services, this commit restores the previous
behaviour where PostgreSQL by default will run with a socket directory that
matches the default used by PostgreSQL packaged for Guix.

Switching to a different default value can happen, but only alongside changing
the PostgreSQL package.

* gnu/services/databases.scm (<postgresql-config-file>)[socket-directory]:
Change default to #false.
* doc/guix.texi (Database Services): Update documentation, and specify a
different value for disabling connections via sockets.
* gnu/tests/guix.scm (%guix-data-service-os): Use default PostgreSQL
behaviour.
* gnu/tests/monitoring.scm (%zabbix-os): Likewise.
* gnu/tests/web.scm (patchwork-os): Likewise.

Signed-off-by: Leo Famulari <leo@famulari.name>
2021-04-12 19:12:46 -04:00
Ludovic Courtès
d14f21389c
doc: Document 'gnu-build-system' keyword parameters.
* doc/guix.texi (Build Systems): Document keyword parameters of
'gnu-build-system'.
2021-04-12 18:44:09 +02:00
Ludovic Courtès
eb613eff58
doc: Move list of build phases to "Build Phases".
Before this change, the 'gnu-build-system' phases were listed in the
"Build Systems" section, and then summarized in the "Build Phases"
section.  This moves everything to "Build Phases".

* doc/guix.texi (Build Systems): Move phase table to...
(Build Phases): ... here.  Rearrange surrounding text.
2021-04-12 18:44:09 +02:00
Maxime Devos
2978832b92
services: Add ipfs-service-type
* gnu/services/networking.scm (ipfs-service-type)
  (%ipfs-home-mapping, %ipfs-environment)
  (%ipfs-accounts, %ipfs-home): New variables.
  (ipfs-configuration, ipfs-configuration?)
  (ipfs-configuration-package, ipfs-configuration-gateway)
  (ipfs-configuration-api, ipfs-shepherd-service)
  (ipfs-binary, %ipfs-activation): New procedures.
* doc/guix.texi (Networking Services): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-04-12 18:42:22 +02:00
Ricardo Wurmus
a247f5c753
services: Support DELETE in MODIFY-SERVICES macro.
* gnu/services.scm (%modify-service): Add clause for DELETE syntax.
(modify-services): Use FILTER-MAP; adjust docstring.
* doc/guix.texi (System Services): Mention alternative syntax.
(X Window): Use MODIFY-SERVICES syntax.
2021-04-12 17:49:07 +02:00
Oleg Pykhalov
7dfbfb281f
doc: Fix connect to the VM over SSH example.
* doc/guix.texi (Running Guix in a VM): Add host which connect to in
SSH connection example.
2021-04-11 08:49:01 +03:00
Tobias Geerinckx-Rice
24bcf0bad8
doc: Fix typos.
* doc/guix.texi (SELinux Support): Fix typo.
(Build Systems): Likewise.
(DNS Services): Likewise.
(Networking Services): Likewise.
(Guix Services): Likewise.
(Reduced Binary Seed Bootstrap): Likewise.
(Documentation): Likewise.
2021-04-10 14:11:30 +02:00
Maxim Cournoyer
83f8b6d32c
import: go: Append version to symbol name in the pinned version mode.
This allows importing packages with complicated version specific dependency
chains without the package symbol names colliding.

* doc/guix.texi (Invoking guix import): Document the --pin-versions option.
Mention that a specific version can be imported.  Remove the experimental
warning.
* guix/import/go.scm (go-module->guix-package-name)[version]: Add optional
argument.  Rewrite the character translation in terms of string-map.
(go-module->guix-package): Conditionally use dependencies whose symbol include
their version, based no the value of the PIN-VERSIONS? argument.
* guix/import/utils.scm (package->definition): Add a new case where the full
version string is appended to the package symbol.
* guix/scripts/import.scm (guix-import): Correctly print forms starting
with '(define-public [...]'.
* guix/scripts/import/go.scm (guix-import-go): Conditionally include the
version in the package symbols defined.
2021-04-09 23:02:37 -04:00
Leo Famulari
b685337c94
doc: Quote a URL to avoid misinterpretation by the shell.
Otherwise, the shell tries to perform pattern-matching based on the "?"
character.

Reported by nij in #guix.

* doc/guix.texi (Binary Installation): Add quotes around OPENPGP-SIGNING-KEY-URL.
2021-04-09 20:52:24 -04:00
Christopher Baines
eda4bb4f16
services: Add Laminar.
* gnu/services/ci.scm: New file.
* gnu/tests/ci.scm: New file.
* doc/guix.texi (Laminar): Document the Laminar service.
2021-04-09 11:59:58 +01:00
Ludovic Courtès
b92cfc322d
gnu-maintenance: Add 'sourceforge' updater.
This updater currently covers 2.4% of the packages.

* guix/gnu-maintenance.scm (latest-sourceforge-release): New procedure.
(%sourceforge-updater): New variable.
* doc/guix.texi (Invoking guix refresh): Document it.
2021-04-06 23:59:46 +02:00
zimoun
beaf701d65
doc: Use the shell dollar substitution.
See:
https://unix.stackexchange.com/questions/126927/have-backticks-i-e-cmd-in-sh-shells-been-deprecated

* doc/guix.texi: Replace the shell backquote deprecated substitution by the
dollar one.
2021-04-05 13:19:22 +02:00
zimoun
56eedd4f93
doc: Reorder "Channels with Substitutes".
Ordering consistency introduced by 12871cc8db.

* doc/guix.texi (Channels): Move section "Channels with Substitutes".
Update the master menu.
2021-04-05 13:19:22 +02:00
Leo Famulari
5b97804e87
doc: Remind developers to build Guix.
The previous instructions were correct, but we got too many bug reports
with a root cause of "did not build Guix yet".

Other parts of the manual already instruct `make && make check`, so this
makes the treatment of building Guix more consistent, too.

* doc/contributing.texi (Building from Git): Instruct the user to run
`make` when building Guix.
2021-04-04 13:34:30 -04:00
Ludovic Courtès
58beda0121
services: guix-publish: Add zstd compression by default.
That way, the default config with (advertises? #t) and without a cache
will offer zstd-compressed substitutes, which should lead to much higher
throughput than gzip.

* gnu/services/base.scm (default-compression): When
'guix-publish-configuration-cache' returns true, use higher level
compression ratios.  Add "zstd".
* doc/guix.texi (Base Services): Mention zstd.
2021-04-03 22:08:33 +02:00
Xinglu Chen
bc1148480d
doc: Fix typo.
* doc/guix.texi (Inferiors): Use past tense.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-04-01 14:58:54 +02:00
Tobias Geerinckx-Rice via Bug reports for GNU Guix
1b1a61f86a
doc: Discourage ambiguous package names.
* doc/contributing.texi (Package Naming): Explicitly mention
single-character and otherwise ambiguous names.
2021-04-01 14:35:59 +02:00
qblade
aa03d32eb1
services: kmscon: Add font-engine and font-size fields.
* gnu/services/base.scm (<kmscon-configuration>): Add font-engine and
font-size fields.
(kmscon-service-type): Honor them.
* doc/guix.texi (Base Services): Document them.
2021-04-01 13:40:09 +02:00
Leo Famulari
94a463e0a5
doc: Fix a typo in the Julia build system section.
* doc/guix.texi (julia-build-system): Fix typo.
2021-03-31 14:21:15 -04:00
Ludovic Courtès
e45ef9a648
status: Don't display download URLs for '--verbosity=1'.
With this change, each substitute occupies a single line of
output (instead of two) when using '-v1', the default for 'guix package'
& co.

* guix/status.scm (print-build-event): Add #:print-urls? and honor it.
(print-build-event/quiet): Pass #:print-urls? #f.
(print-build-event/quiet-with-urls): New procedure.
(logger-for-level): Add case for LEVEL 2.
* doc/guix.texi (Common Build Options): Adjust '--verbosity'
documentation.
2021-03-31 15:57:46 +02:00
Chris Marusich
e52ec6c64a
doc: Document powerpc64le-linux support.
* doc/guix.texi (GNU Distribution): Document support for powerpc64le-linux as
a "technology preview."
2021-03-30 23:00:57 -07:00
Ludovic Courtès
0d8cea4f24
doc: "Invoking guix refresh" links to '--with-latest'.
* doc/guix.texi (Invoking guix refresh): Reword intro and Link to
'--with-latest'.
2021-03-26 00:04:05 +01:00
Ludovic Courtès
3cb1136780
doc: Explain how to pass 'guix refresh' the packages found in your profile.
Suggested by Xinglu Chen <public@yoctocell.xyz>.

* doc/guix.texi (Invoking guix refresh): Mention how to update packages
found in one's profile.
2021-03-26 00:04:05 +01:00
Ludovic Courtès
3b8bd63aa2
doc: Move 'guix refresh --list-updaters' reference to the right place.
* doc/guix.texi (Invoking guix refresh): Move '--list-updaters' right
after '--type'.
2021-03-26 00:04:05 +01:00
Leo Famulari
27744ac895
doc: Fix typo in qemu-binfmt-service example.
* doc/guix.texi (Virtualization Services): Add missing parentheses.
2021-03-24 18:51:38 -04:00
Mathieu Othacehe
90d166e510
doc: cuirass: Update documentation.
* doc/guix.texi (Continuous Integration): Update Cuirass documentation.
2021-03-23 20:30:49 +01:00
Mathieu Othacehe
8ac7fae8b0
doc: Remove Simple Cuirass section.
This is no longer needed as the Cuirass specification mechanism has been
rewritten.

* doc/guix.texi (Continuous Integration): Remove Simple Cuirass section.
2021-03-23 16:47:47 +01:00
nixo
a06db9c1ee
gnu: Add julia-jllwrappers.
* gnu/packages/julia-xyz.scm (julia-jllwrappers): New variable.
* doc/guix.texi (julia-build-system): Document how to use jllwrappers to use
  to guix binary packages.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2021-03-20 22:29:14 +01:00
nixo
e64ff72a14
doc: Fix typo in julia-build-system.
* doc/guix.texi (julia-build-system): replace argument wrongly named
  julia-file-name with the correct julia-package-name.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-03-20 22:29:14 +01:00
Ludovic Courtès
52e64b21be
doc: Fix syntax of '.guix-channel' dependency example.
Reported by ison <ison@airmail.cc>.

* doc/guix.texi (Declaring Channel Dependencies): Remove quote in
'dependencies' example.
2021-03-20 22:29:13 +01:00
Maxim Cournoyer
25db3b2f8b
doc: Remove the guile-lib/htmlprag-fixed package.
This hotfix package is no longer necessary as the ability to parameterize the
way htmlprag tokenizes HTML was added in guile-lib 0.2.7.

* doc/build.scm (guile-lib/htmlprag-fixed): Remove variable.
(html-manual-identifier-index): Replace guile-lib/htmlprag-fixed by guile-lib,
and make set the %strict-tokenizer? parameter to #t.
(syntax-highlighted-html): Likewise.
2021-03-20 15:55:18 -04:00
Ludovic Courtès
b93d7daeaf
doc: Add 'shepherd-service' example.
* doc/guix.texi (Shepherd Services): Add example.
2021-03-19 21:44:36 +01:00
Leo Famulari
9ade2b720a
doc: Document the guidelines for removing inactive committers.
For more context, see the discussion in <https://bugs.gnu.org/47111>.

* doc/contributing.texi (Commit Access): Add paragraph about removing
inactive committers.
2021-03-18 16:09:11 -04:00
Leo Famulari
898489f48e
services: Enable "protected hardlinks" and "protected symlinks" by default.
References:

https://sysctl-explorer.net/fs/protected_hardlinks/
https://sysctl-explorer.net/fs/protected_symlinks/

* gnu/services/sysctl.scm (%default-sysctl-settings): New public variable.
(<sysctl-configuration>): Use %default-sysctl-settings as the default value.
* gnu/services/base.scm (%base-services): Add sysctl-service-type.
* doc/guix.texi (Miscellaneous Services): Document the new defaults.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-03-18 12:17:33 +01:00
Ludovic Courtès
f526105210
doc: Tweak "Invoking guix refresh" node.
* doc/guix.texi (Invoking guix refresh): Update output in '--recursive'
example.  Use @xref, not @ref, at the beginning of a sentence.
2021-03-17 23:10:19 +01:00
Ludovic Courtès
af9af2180e
gnu-maintenance: Add 'generic-html' updater.
This brings total updater coverage, as reported by 'guix refresh
--list-updaters', from 78% to 88.3%.  Among many other things, it covers
freedesktop.org packages.

* guix/gnu-maintenance.scm (html-updatable-package?)
(latest-html-updatable-release): New procedures.
(%generic-html-updater): New variable.
* doc/guix.texi (Invoking guix refresh): Document it.
2021-03-17 12:03:24 +01:00
Ludovic Courtès
71f6acd28d
gnu-maintenance: Use (htmlprag) for 'latest-html-release'.
* guix/gnu-maintenance.scm (html->sxml): Remove.  Autoload (htmlprag)
instead.
* doc/guix.texi (Requirements): Mention 'guix refresh' for the Guile-Lib
dependency.
2021-03-17 12:03:24 +01:00
Ludovic Courtès
0571aa7abf
doc: Define the term "profile".
Fixes <https://bugs.gnu.org/46803>.
Reported by Luis Felipe <luis.felipe.la@protonmail.com>.

* doc/guix.texi (Getting Started): Introduce the term "profile".
(Invoking guix package): Likewise.
2021-03-17 12:03:23 +01:00
Léo Le Bouter
097cf21d1d
gnu: Remove MongoDB.
mongodb 3.4.10 has unpatched CVEs and mongodb 3.4.24 has some files in the
release tarball under the SSPL, therefore we cannot provide mongodb while
upholding to good security standards.

It turns out feff80cec3 was right since while
the main license file wasnt altered to SSPL, some files in the tree contain
SSPL headers.

* gnu/packages/databases.scm (go-gopkg.in-mgo.v2): Remove.
* gnu/packages/databases.scm (mongo-tools): Remove.
* doc/guix.texi (mongodb-service-type): Remove.
* gnu/tests/databases.scm (%test-mongodb, %mongodb-os, run-mongodb-test):
Remove.
* gnu/services/databases.scm (mongodb-configuration, mongodb-configuration?,
mongodb-configuration-mongodb, mongodb-configuration-config-file,
mongodb-configuration-data-directory, mongodb-service-type,
%default-mongodb-configuration-file, %mongodb-accounts, mongodb-activation,
mongodb-shepherd-service): Remove.
* gnu/packages/databases.scm (mongodb): Remove.
2021-03-16 11:05:24 +01:00
Maxim Cournoyer
77c2f4e206
services/qemu-binfmt: Use the F flag and the static output of QEMU.
Fixes <https://issues.guix.gnu.org/36117>.

Before this change, the 'binfmt_misc' entries registered for QEMU would not be
usable in container contexts outside of guix-daemon (without manually bind
mounting file names).

For example:

$ docker run --rm arm32v7/debian true
standard_init_linux.go:207: exec user process caused "no such file or directory"

After this change, any container can make use of the QEMU binfmt_misc
registrations, as their corresponding QEMU static binaries are fully
pre-loaded by the kernel.

* gnu/services/virtualization.scm (<qemu-platform>): Define using
'define-record-type*'.
[flags]: New field, which defaults to "F" (fix binary).
(%i386, %i486, %alpha, %arm, %armeb, %sparc, %sparc32plus, %ppc, %ppc64)
(%ppc64le, %m68k, %mips, %mipsel, %mipsn32, %mipsn32el, %mips64, %mips64el)
(%riscv32, %riscv64, %sh4, %sh4eb, %s390x, %aarch64, %hppa): Adjust.
(qemu-binfmt-guix-chroot): Remove variable.
(qemu-binfmt-service-type): Remove the qemu-binfmt-guix-chroot extension.
* gnu/services/qemu-binfmt (qemu-platform->binfmt):  Use the static output of
QEMU.
* doc/contributing.texi (Submitting Patches): Update doc.
* doc/guix.texi (Virtualization Services): Update doc.
2021-03-15 18:00:35 -04:00
Efraim Flashner
4d00185d66
build-system/cargo: Propagate crates across builds.
* guix/build-system/cargo.scm (cargo-build): Add cargo-package-flags,
install-source flags.
* guix/build/cargo-build-system.scm (unpack-rust-crates, package): New
procedures.
(install): Also install crate sources.
(%standard-phases): Add new phases.
* doc/guix.texi (Packaging-guidelines)[Rust Crates]: Adjust to changes
in the cargo-build-system.
2021-03-14 19:52:44 +02:00
Ludovic Courtès
a04aef2430
utils: Use Guile-zlib for gzip compression and decompression.
Fixes <https://bugs.gnu.org/46967>.

* guix/utils.scm (decompressed-port): Call 'make-zlib-input-port'
instead of invoking %GZIP.
(compressed-output-port): Call 'make-zlib-output-port' instead of
invoking %GZIP.
* doc/guix.texi (Requirements): Require Guile-zlib >= 0.1.0.
2021-03-12 15:59:46 +01:00
Katherine Cox-Buday
02e2e093e8
import: Add Go importer.
This patch adds a 'guix import go' command.

* doc/guix.texi (Requirements): Mention Guile-Lib dependency.
(Invoking guix import): Document 'guix import go'.
* gnu/packages/package-management.scm (guix)[inputs, propagated-inputs]:
Add GUILE-LIB.
* guix/self.scm (compiled-guix)[guile-lib]: New variable.
[dependencies]: Add it.
(specification->package): Add "guile-lib".
* guix/build-system/go.scm (go-version->git-ref): New procedure.
* guix/import/go.scm, guix/scripts/import/go.scm, tests/go.scm: New files.
* guix/scripts/import.scm: Declare subcommand guix import go
* po/guix/POTFILES.in: Add 'guix/scripts/import/go.scm'.
* Makefile.am (MODULES): Add 'guix/import/go.scm' and
'guix/scripts/import/go.scm'.
(SCM_TESTS): Add 'tests/go.scm'.

Co-Authored-By: Helio Machado <0x2b3bfa0@gmail.com>
Co-Authored-By: Francois Joulaud <francois.joulaud@radiofrance.com>
Co-Authored-By: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Co-Authored-by: Ludovic Courtès <ludo@gnu.org>
2021-03-10 18:01:48 +01:00
Tobias Geerinckx-Rice
1dfc08f7ad
doc: Fix grammar.
* doc/contributing.texi (Package Naming): Fix grammar.
2021-03-10 01:16:07 +01:00
Edgar Vincent
b3a36ab55b
doc: Fix a grammatical error in the system installation guide.
* doc/guix.texi (After System Installation): Fix grammar.

Signed-off-by: Leo Famulari <leo@famulari.name>
2021-03-06 13:43:41 -05:00
Ludovic Courtès
c19304d2d2
doc: Refer to the right node for '--keep-failed'.
* doc/guix.texi (Invoking guix-daemon, Debugging Build Failures): Refer
to "Common Build Options" for '--keep-failed'.
2021-03-05 12:49:27 +01:00
Christopher Baines
c6c48494e3
services: guix-build-coordinator: Add dynamic auth with file record.
* gnu/services/guix.scm (guix-build-coordinator-agent-dynamic-auth-with-file,
guix-build-coordinator-agent-dynamic-auth-with-filen?,
guix-build-coordinator-agent-dynamic-auth-with-file-agent-name,
guix-build-coordinator-agent-dynamic-auth-with-file-token-file): New procedures.
(guix-build-coordinator-agent-shepherd-services): Handle new dynamic auth with
file record.
* doc/guix.texi (Guix Build Coordinator): Document the new dynamic auth with
file record.
2021-03-05 09:29:58 +00:00
Christopher Baines
8a7b4ce093
services: guix-build-coordinator: Add dynamic auth record.
* gnu/services/guix.scm (guix-build-coordinator-agent-dynamic-auth,
guix-build-coordinator-agent-dynamic-auth?,
guix-build-coordinator-agent-dynamic-auth-agent-name,
guix-build-coordinator-agent-dynamic-auth-token): New procedures.
(guix-build-coordinator-agent-shepherd-services): Handle new dynamic auth
record.
* doc/guix.texi (Guix Build Coordinator): Document the new dynamic auth
record.
2021-02-28 21:56:34 +00:00
Christopher Baines
7556130c2f
services: guix-build-coordinator: Rework authentication config.
A new authentication approach has been added to the coordinator, so to better
represent the options, this commit changes the configuration to accept
different records, each for different authentication approaches.

* gnu/services/guix.scm (guix-build-coordinator-agent-configuration-uuid,
guix-build-coordinator-agent-configuration-password,
guix-build-coordinator-agent-configuration-password-file): Removed
procedures.
(guix-build-coordinator-agent-password-auth,
guix-build-coordinator-agent-password-auth?,
guix-build-coordinator-agent-password-auth-uuid,
guix-build-coordinator-agent-password-auth-password,
guix-build-coordinator-agent-password-file-auth,
guix-build-coordinator-agent-password-file-auth?,
guix-build-coordinator-agent-password-file-auth-uuid,
guix-build-coordinator-agent-password-file-auth-password-file): New
procedures.
(guix-build-coordinator-agent-shepherd-services): Adjust to handle the
authentication field and it's possible record values.
* doc/guix.texi (Guix Build Coordinator): Update documentation.
2021-02-28 21:56:33 +00:00
Gurjeet Singh
801932f4db
doc: Fix typo.
* doc/guix.texi (Reduced Binary Seed Bootstrap): Fix typo.

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
2021-02-25 10:36:04 +01:00
raid5atemyhomework
0a0b0148e5
doc: Expand sane-service-type documentation.
* doc/guix.texi (sane-service-type): Move from between documentation
about geoclue, expand slightly.
(sane-backends-minimal): New description.
(sane-backends): New description, new example.

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
2021-02-23 15:41:46 +01:00
Mathieu Othacehe
bebcf97600
services: cuirass: Improve simple-cuirass-services.
Instead of returning multiple services in simple-cuirass-services, rely on the
instantiate-missing-services procedure to instantiate postgresql and
postgresql-role-service-type when missing.

Turn simple-cuirass-services procedure into
simple-cuirass-configuration->specs, that takes a simple-cuirass-configuration
record and returns a Cuirass specification.

Suggested-by: Ludovic Courtès <ludo@gnu.org>

* gnu/services/cuirass.scm (%default-cuirass-config): Remove it.
(simple-cuirass-services): Rename it to ...
(simple-cuirass-configuration->specs): ... this procedure.
* gnu/tests/cuirass.scm (cuirass-services): Remove postgresql and
postgresql-role services that are automatically instantiated.
(simple-cuirass-service): New variable.
(%cuirass-simple-test): Adapt it to use simple-cuirass-configuration->specs
instead of simple-cuirass-services.
* doc/guix.texi (Simple Cuirass): Update it.
2021-02-23 09:45:09 +01:00
Mathieu Othacehe
2cc169f8f9
doc: Fix build.
This is a follow-up of b309a28678.

* doc/guix.texi (Tor): Fix build.
2021-02-22 16:32:05 +01:00
Christopher Lemmer Webber
b309a28678
services: tor: Add control-socket? option.
* doc/guix.texi (Networking Services): Document new `control-socket?'
option for `tor-configuration`.
* gnu/services/networking.scm (<tor-configuration>):
(tor-configuration->torrc):
2021-02-22 10:03:02 -05:00
Nicolas Goaziou
3375e06bc1
doc: Fix typography.
* doc/guix.texi (Continuous Integration): Use @pxref appropriately.  Remove
`quote' from code examples.
2021-02-20 10:11:19 +01:00
Mathieu Othacehe
e9bf511082
services: cuirass: Add "simple-cuirass-services".
* gnu/services/cuirass.scm (<build-manifest>,
<simple-cuirass-configuration>): New records.
(build-manifest, build-manifest?, simple-cuirass-configuration,
simple-cuirass-configuration?, simple-cuirass-services): New procedures.
(%default-cuirass-config): New variable.
* gnu/tests/cuirass.scm (%cuirass-simple-test): New variable.
* doc/guix.texi (Continuous Integration): Document it.
2021-02-19 20:10:09 +01:00
Maxim Cournoyer
28a2c9c9e1
doc: Add an example of how the open file descriptors limit can be raised.
* doc/guix.texi (Base Services)[pam-limits-service]: Add an example and
explanation of how the 'nofile', or open file descriptors value, can be
configured.
2021-02-19 10:01:02 -05:00
Mathieu Othacehe
ee2a5da80a
scripts: system: Remove 'vm-image' command.
Remove the 'vm-image' command that has been superseded by the 'image'
command.

* gnu/system/vm.scm (system-qemu-image): Remove it.
* guix/scripts/system.scm (system-derivation-for-action): Mark 'vm-image'
command as deprecated and use the image API to produce the VM image.
(perform-action, show-help): Adapt accordingly.
* tests/guix-system.sh: Ditto.
* doc/guix.texi (Invoking guix system,
Running Guix in a VM): Ditto.
* etc/completion/fish/guix.fish: Ditto.
* etc/completion/zsh/_guix: Ditto.
2021-02-17 10:52:28 +01:00
Mathieu Othacehe
43b2e440c3
services: wireguard: New service.
* gnu/services/vpn.scm (wireguard-peer, wireguard-configuration): New records.
(wireguard-service-type): New variable.
* doc/guix.texi (VPN Services): Document it.
2021-02-17 10:32:15 +01:00
Alexandru-Sergiu Marton
2b5a81dfd3
services: Add Agate Gemini service.
* gnu/services/web.scm (<agate-configuration>): New record type.
(agate-accounts, agate-shepherd-service): New procedures.
(agate-service-type): New variable.
* doc/guix.texi (Web Services): Document it.

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
2021-02-15 13:35:04 +01:00
Lee
2b529a376a
doc: Explain how to exit and clean up a Guix environment.
* doc/guix.texi (Invoking guix environment): Explain how to exit and clean up
a Guix environment.

The current documentation doesn't explain how to exit an environment or how to
remove the packages after exiting.

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
2021-02-15 12:06:13 +01:00
Leo Famulari
58853df8f6
doc: Try again to the improve the branching workflow.
This is a followup to commit 175bea0ca4.

* doc/contributing.texi (Submitting Patches): Distill the workflow to
its essence.
2021-02-13 13:19:15 -05:00
宋文武
b72444a4cc
doc: Fix for 'guix pull'.
Fixes a regression introduced in db6b9d2f4b.

* doc/guix.texi (File-Sharing Services): Remove space after '@pxref'.
2021-02-12 17:31:47 +08:00
Simon South
db6b9d2f4b
services: Add transmission-daemon service.
* gnu/services/file-sharing.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* po/packages/POTFILES.in: Add it.
* tests/services/file-sharing.scm: New file.
* Makefile.am (SCM_TESTS): Add it.
* doc/guix.texi (File-Sharing Services): New section.

Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2021-02-12 15:11:36 +08:00
Leo Famulari
175bea0ca4
doc: Try to improve the branching workflow.
* doc/contributing.texi (Submitting Patches): Introduce the use of "-frozen"
branch names.
2021-02-11 16:13:39 -05:00
Leo Prikler
e1bdab4f0f
build-system: Add renpy-build-system.
* guix/build/renpy-build-system.scm: New file.
* guix/build-system/renpy.scm: New file.
* Makefile.am (MODULES): Add them here.
* doc/guix.texi (Build Systems): Document renpy-build-system.
2021-02-07 15:17:55 +01:00
Ben Sturmfels
0319f9fac2
services: postgresql: Update documented socket directory to match code.
This is a follow-up of 6c0679215f.

* doc/guix.texi (Database Services): Update it.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-02-02 09:27:44 +01:00
Maxim Cournoyer
5e652e94a9
build: Add a --show-duration option to the SCM test-driver.
* build-aux/test-driver.scm (script-version): Update.
(show-help): Document it.
(%options): Add the 'show-duration' option.
(test-runner-gnu): Pass as a new argument.
[test-cases-start-time]: New inner variable.
[test-on-test-begin-gnu]: New hook, used to record the start time.
[test-on-test-end-gnu]: Conditionally print elapsed time.  Record it as the
optional metadata in the test result file (.trs).
* doc/guix.texi (Running the Test Suite): Document it.
2021-02-02 00:28:49 -05:00
Oleg Pykhalov
847c816ddd
doc: Explain how to set custom Shepherd package.
* doc/guix.texi (Shepherd Services): Give example on how to set custom
Shepherd package.
2021-02-01 21:49:43 +03:00
Ludovic Courtès
aedbc5ff32
guix package: Add '--export-channels'.
* guix/channels.scm (sexp->channel): Export.
* guix/describe.scm: Use (guix channels).
(manifest-entry-provenance): New procedure.
* guix/scripts/package.scm (channel=?, export-channels): New
procedures.
(show-help, %options): Add '--export-channels'.
(process-query): Honor it.
* build-aux/build-self.scm (build-program)[select?]: Exclude (guix
channels) to account for the (guix describe) change above.
* doc/guix.texi (Invoking guix package): Document it.
2021-02-01 17:32:35 +01:00
Ludovic Courtès
9fd7b050e2
guix package: Add '--export-manifest'.
* guix/scripts/package.scm (export-manifest): New procedure.
(show-help, %options): Add '--export-manifest'.
(process-query): Honor it.
* guix/build/profiles.scm (build-profile): Mention it.
* tests/guix-package.sh: Test it.
* doc/guix.texi (Invoking guix package): Document it.
2021-02-01 17:32:35 +01:00
Maxim Cournoyer
93a628c4e4
build: test-driver.scm: Add a new '--errors-only' option.
* build-aux/test-driver.scm (show-help): Add the help text for the
new '--errors-only' option.
(%options): Add the errors-only option.
(test-runner-gnu): Add the errors-only? parameter and update doc.  Move the
logging of the test data after the test has completed, so a choice can be made
whether to keep it or discard it based on the value of the test result.
(main): Pass the errors-only? option to the driver.
* doc/guix.texi (Running the Test Suite): Document the new option.
2021-01-31 22:28:46 -05:00
Maxim Cournoyer
a1ea2acb37
build: test-driver.scm: Add test cases filtering options.
* build-aux/test-driver.scm (show-help): Add help text for the new --select
and --exclude options.
(%options): Add the new select and exclude options.
(test-runner-gnu): Pass them to the test runner.  Update doc.
(test-match-name*, test-match-name*/negated, %test-match-all): New variables.
(main): Compute the test specifier based on the values of the new options and
apply it to the current test runner when running the test file.
* doc/guix.texi (Running the Test Suite): Document the new options.
2021-01-31 22:28:37 -05:00
Mathieu Othacehe
041a9466ea
guix: channels: Introduce "channel-with-substitutes-available".
* guix/channels.scm (find-latest-commit-with-substitutes,
channel-with-substitutes-available): New procedures.
* guix/scripts/pull.scm (guix-pull): Move "channel-list" call inside the
%current-system parameter scope.
* doc/guix.texi (Channels with substitutes): New section.
2021-01-31 18:36:42 +01:00
Maxime Devos
95f72dcd7a
services: shepherd: Allow custom 'shepherd' package.
* gnu/services/shepherd.scm (<shepherd-configuration>): New record.
(shepherd-boot-gexp, shepherd-root-service-type): Use it.
(scm->go, shepherd-configuration-file): Allow passing custom
shepherd package.
* gnu/system.scm (operating-system-shepherd-service-names): Use the new
record.
* guix/scripts/system.scm (export-shepherd-graph): Adjust accordingly.
* doc/guix.texi (Shepherd Services). Document it.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2021-01-30 15:36:57 +01:00
nixo
ba093a6d27
build-system/julia: Don't rely on file name to set module name.
* guix/build/julia-build-system.scm (project.toml->name): New procedure.
  (precompile, check, julia-build): Accept new key argument #:julia-package-name.
* guix/build-system/julia.scm (julia-build): ... add it.
* doc/guix.texi (julia-build-system): Update julia-package-name accordingly.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-01-30 15:36:56 +01:00
nixo
a23b384f3f
build-system/julia: Enable tests.
* guix/build-system/julia.scm (julia-build): Set tests? default to #t.
* guix/build/julia-build-system.scm (check): Respect tests? and fix julia
  invocation.
  (%standard-phases): Add check phase after install.
* doc/guix.texi (julia-build-system): Update accordingly.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-01-30 15:36:56 +01:00
Hartmut Goebel
784048c27b
doc: Update guidance about Rust package naming.
* doc/contributing.texi (Rust Crates): Explain versions suffix based on
  packages version and Crate "caret" versioning.
2021-01-29 22:51:23 +01:00
Joshua Branson
4a48014733
doc: Fix mapped devices example in the manual.
Reported by Raghav Gururajan <rg@raghavgururajan.name> and Mikhail Tsykalov
<tsymsh@gmail.com>.

* doc/guix.texi (Mapped Devices): Replace target with targets.

Signed-off-by: Leo Famulari <leo@famulari.name>
2021-01-28 17:21:17 -05:00
Mathieu Othacehe
ec145a2ff9
services: postgresql: Add postgresql-role-service-type.
* gnu/services/databases.scm (postgresql-role,
postgresql-role?, postgresql-role-name,
postgresql-role-permissions, postgresql-role-create-database?,
postgresql-role-configuration, postgresql-role-configuration?,
postgresql-role-configuration-host, postgresql-role-configuration-roles,
postgresql-role-service-type): New procedures.
* gnu/tests/databases.scm: Test it.
* doc/guix.texi: Document it.
2021-01-28 12:57:27 +01:00
Mathieu Othacehe
fe4b882350
services: postgresql: Add log directory support.
* gnu/services/databases.scm (postgresql-configuration-log-directory): New
procedure.
(<postgresql-configuration>)[log-directory]: New field.
(postgresql-activation): Create the log directory.
(postgresql-shepherd-service): Honor it.
* gnu/tests/databases.scm (%postgresql-log-directory): New variable.
(log-file): New test case.
* doc/guix.texi (Database Services): Document it.
2021-01-28 12:57:26 +01:00
Mathieu Othacehe
6c0679215f
services: postgresql: Add socket directory support.
* gnu/services/databases.scm (postgresql-config-file-socket-directory): New
procedure.
(<postgresql-config-file>)[socket-directory]: New field.
(postgresql-config-file-compiler): Honor it.
(postgresql-activation): Create the socket directory if needed.
* doc/guix.texi (Database Services): Document it.
* gnu/tests/guix.scm (%guix-data-service-os): Adapt it.
* gnu/tests/monitoring.scm (%zabbix-os): Ditto.
* gnu/tests/web.scm (patchwork-os): Ditto.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-01-28 12:57:26 +01:00
Mathieu Othacehe
a38d0b0137
services: postgresql: Use Guile datatypes.
* gnu/services/databases.scm (postgresql-config-file-compiler): Support Guile
datatypes in the "extra-config" field.
* gnu/tests/databases.scm (%postgresql-os): Test it.
* doc/guix.texi (Database Services): Document it.
2021-01-28 12:57:26 +01:00
Ludovic Courtès
4de829a223
doc: Clarify that package transformations are preserved across upgrades.
Reported by pineapples on #guix.

This is a followup to 8e1907a724.

* doc/guix.texi (Invoking guix package): Remove sentence that says that
package transformations are lost upon upgrading and explicitly say the
opposite.
2021-01-24 21:44:55 +01:00
Nicolas Goaziou
55e097e26f
doc: Properly close sentences ending with an upper-case letter.
* doc/guix.texi (Application Setup):
(USB Stick and DVD Installation):
(Proxy Settings):
(Primary URL):
(origin Reference):
(Build Systems):
(The Store):
(Package Transformation Options):
(Invoking guix lint):
(Invoking guix graph):
(operating-system Reference):
(X Window):
(Desktop Services):
(Database Services):
(Mail Services):
(Messaging Services):
(Monitoring Services):
(LDAP Services):
(Certificate Services):
(DNS Services):
(VPN Services):
(Power Management Services):
(Virtualization Services):
(Version Control Services):
(Name Service Switch):
(Bootloader Configuration):
(Running Guix in a VM):
(Separate Debug Info): Use "@." to indicate to Texinfo the sentence does end
with a capital letter.
2021-01-21 20:57:43 +01:00
Joshua Branson
07ef129db3
doc: cookbook: Add "Guix System Image API" section.
* doc/guix-cookbook.texi (Guix System Image API): New section.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-01-21 14:40:36 +01:00
Julien Lepiller
2a9784ffa2
doc: Replace TP with Weblate mentions.
* doc/contributing.texi: Replace link to TP with a link to Weblate.
* doc/guix.texi: Replace link to TP with a link to Weblate.
* doc/guix-cookbook.texi: Replace link to TP with a link to Weblate.
2021-01-20 16:16:45 +01:00
Ludovic Courtès
9ab817b2a4
transformations: Add '--with-latest'.
* guix/upstream.scm (upstream-source-compiler): New procedure.
(%updaters): Set! it.
* guix/transformations.scm (transform-package-latest): New procedure.
(%transformations): Add 'with-latest'.
(%transformation-options, show-transformation-options-help/detailed):
Add '--with-latest'.
* tests/transformations.scm ("options->transformation, with-latest"):
New test.
* doc/guix.texi (Package Transformation Options): Document it.
2021-01-19 17:45:39 +01:00
Mathieu Othacehe
e74baa1245
system: Rename 'disk-image' command 'image'.
* guix/scripts/system.scm (system-derivation-for-action): Rename 'disk-image'
command 'image'. Warn when using the now deprecated 'disk-image' command.
(show-help): Adapt accordingly.
(guix-system): Ditto.
* tests/guix-system.sh: Ditto.
* gnu/system/examples/bare-hurd.tmpl: Ditto.
* doc/guix.texi (Building the Installation Image,
Building the Installation Image for ARM Boards,
Invoking guix pack,
Invoking guix system): Adapt documentation.
2021-01-19 17:16:56 +01:00
Joshua C. Randall
cb68ae668a
doc: Fix typo.
Fixes <http://bugs.gnu.org/35004>.

* doc/guix.texi (Invoking guix package): Fix typo.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-01-19 11:57:16 +01:00
Mathieu Othacehe
2f497d94e7
image: Rename "raw" image-type to "efi-raw".
* gnu/system/image.scm (raw-image-type): Rename to "efi-raw-image-type".
* guix/scripts/system.scm (%default-options): Adapt accordingly.
* doc/guix.texi: Ditto.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-01-17 11:04:25 +01:00
Simon South
181f290aa2
services: openntpd: Remove support for deprecated "-s" option.
* gnu/services/networking.scm (openntpd-configuration): Remove
"allow-large-adjustment?" field.
(openntpd-shepherd-service): Remove use of "allow-large-adjustment?"
configuration field and "-s" daemon option.
* tests/networking.scm (%openntpd-conf-sample): Remove
"allow-large-adjustment?" field.
* doc/guix.texi (Networking Services)[openntpd-service-type]: Remove
"allow-large-adjustment?" field from sample configuration.
[openntpd-configuration]: Remove description of "allow-large-adjustment?"
field.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-01-16 23:30:59 +01:00
Stefan
d4f5ea502d
services: qemu-binfmt: 'guix-support?' defaults to #t.
* gnu/services/virtualization.scm (qemu-binfmt-service-type)[guix-support?]:
Change the default from #f to #t.
* doc/guix.texi (Transparent Emulation with QEMU): Change the default of
‘guix-support?’ from #f to #t.  Describe the implication of setting it to #f.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2021-01-16 22:38:17 +01:00
Ludovic Courtès
e28d2cdd75
doc: Mention optional dependency on Guile-zstd.
* doc/guix.texi (Requirements): Add Guile-zstd.
2021-01-13 22:24:19 +01:00
Ludovic Courtès
d288a4de7d
publish: Add support for zstd compression.
* guix/scripts/publish.scm (compress-nar)[write-compressed-file]: New
procedure.
Use it for 'gzip' and 'lzip'.  Add 'zstd.
(nar-response-port, string->compression-type): Add case for 'zstd'.
* tests/publish.scm (zstd-supported?): New procedure.
("/nar/zstd/*"): New test.
* doc/guix.texi (Invoking guix publish): Document zstd compression.
(Base Services): Add cross-reference to the above node.
2021-01-13 22:24:19 +01:00
Florian Pelz
89dbcac107
doc: Remove trace of ci.guix.info.
* doc/guix.texi (Invoking guix weather): Use default substitute server
in example.
2021-01-12 16:46:25 +00:00
Oleg Pykhalov
4e511fcfce
services: Add keepalived service.
* gnu/services/networking.scm (<keepalived-configuration>): New record.
(keepalived-shepherd-service): New procedure.
(keepalived-service-type): New variable.
* doc/guix.texi (Networking Services): Document this.
2021-01-12 14:40:36 +03:00
Oleg Pykhalov
79ba12a1db
services: Add syncthing service.
* gnu/services/syncthing.scm: New file.
* gnu/local.mk: Add this.
* doc/guix.texi: Document this.
2021-01-12 14:40:36 +03:00
Nicolas Goaziou
2c87a25d01
doc: DNS Services: Fix typography.
* doc/guix.texi (DNS Services): Use appropriate Texinfo markup and capitalization.
2021-01-12 10:55:41 +01:00
Nicolas Goaziou
c0255739fc
doc: Use two spaces after full stop.
* doc/guix.texi:
(GNU Distribution):
(Invoking guix-daemon):
(Invoking guix pull):
(Invoking guix time-machine):
(Specifying Additional Channels):
(Build Systems):
(Invoking guix refresh):
(Invoking guix processes):
(Mapped Devices):
(Base Services):
(Networking Services):
(Mail Services):
(Telephony Services):
(Monitoring Services):
(Web Services):
(DNS Services):
(Continuous Integration):
(Audio Services):
(Virtualization Services):
(Version Control Services):
(Guix Services):
(Miscellaneous Services):
(Initial RAM Disk):
(Bootloader Configuration):
(Invoking guix deploy): Use two spaces after full stop, as required by Texinfo
syntax.
2021-01-12 10:48:39 +01:00