Commit graph

2449 commits

Author SHA1 Message Date
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