summaryrefslogtreecommitdiff
path: root/doc/guix.texi
diff options
context:
space:
mode:
Diffstat (limited to 'doc/guix.texi')
-rw-r--r--doc/guix.texi70
1 files changed, 49 insertions, 21 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 3ab8708592..8bf0c873d4 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -135,6 +135,7 @@ Copyright @copyright{} 2024-2025 Nigko Yerden@*
Copyright @copyright{} 2024 Troy Figiel@*
Copyright @copyright{} 2024 Sharlatan Hellseher@*
Copyright @copyright{} 2024 45mg@*
+Copyright @copyright{} 2024 Greg Hogan@*
Copyright @copyright{} 2025 Sören Tempel@*
Copyright @copyright{} 2025 Rostislav Svoboda@*
Copyright @copyright{} 2025 Zacchaeus@*
@@ -9704,16 +9705,40 @@ This variable is exported by @code{(guix build-system cmake)}. It
implements the build procedure for packages using the
@url{https://www.cmake.org, CMake build tool}.
-It automatically adds the @code{cmake} package to the set of inputs.
-Which package is used can be specified with the @code{#:cmake}
-parameter.
+This build system adds the following keyword parameters to the ones
+defined by @code{gnu-build-system}:
+
+@table @code
+@item #:cmake
+The @code{cmake} package is added to the set of inputs. Which package
+is used can be specified with the @code{#:cmake} parameter.
+
+@item #:build-type
+The @code{#:build-type} parameter specifies in abstract terms the flags
+passed to the compiler; it defaults to @code{"RelWithDebInfo"} (short
+for ``release mode with debugging information''), which roughly means
+that code is compiled with @code{-O2 -g}, as is the case for
+Autoconf-based packages by default.
+
+@item #:generator
+This parameter specifies the
+@url{https://cmake.org/cmake/help/latest/manual/cmake-generators.7.html, CMake generator}
+responsible for writing the input files for the native build system.
+
+@item #:test-exclude
+Tests matching this regular expression are excluded from testing by
+@url{https://cmake.org/cmake/help/latest/manual/ctest.1.html, ctest}.
-The @code{#:configure-flags} parameter is taken as a list of flags
-passed to the @command{cmake} command. The @code{#:build-type}
-parameter specifies in abstract terms the flags passed to the compiler;
-it defaults to @code{"RelWithDebInfo"} (short for ``release mode with
-debugging information''), which roughly means that code is compiled with
-@code{-O2 -g}, as is the case for Autoconf-based packages by default.
+@item #:test-repeat-until-pass?
+Directs @url{https://cmake.org/cmake/help/latest/manual/ctest.1.html, ctest} to
+@url{https://cmake.org/cmake/help/latest/manual/ctest.1.html#cmdoption-ctest-repeat, repeat}
+failed tests up to @code{#:test-repeat-until-pass-count} times and is enabled by
+default.
+
+@item #:test-repeat-until-pass-count
+When @code{#:test-repeat-until-pass?} is enabled this parameter sets the maximum
+number of failures for each test. The default is @code{5}.
+@end table
@end defvar
@defvar composer-build-system
@@ -23201,7 +23226,7 @@ Services of this type can be extended by other services to specify
(simple-service 'my-extra-onion-service tor-service-type
(list (tor-onion-service-configuration
(name "extra-onion-service")
- (mapping '((80 . "127.0.0.1:8080"))))))
+ (mapping '((80 "127.0.0.1:8080"))))))
@end lisp
@end defvar
@@ -23275,8 +23300,8 @@ Service.
@item @code{mapping} (type: alist)
Association list of port to address mappings. The following example:
@lisp
-'((22 . "127.0.0.1:22")
- (80 . "127.0.0.1:8080"))
+'((22 "127.0.0.1:22")
+ (80 "127.0.0.1:8080"))
@end lisp
maps ports 22 and 80 of the Onion Service to the local ports 22 and 8080.
@@ -44561,7 +44586,7 @@ The @code{rootless-podman-service-type} sets up the system to allow
unprivileged users to run @command{podman} commands:
@lisp
-(use-service-modules containers networking @dots{})
+(use-service-modules containers dbus desktop networking @dots{})
(use-modules (gnu system accounts)) ;for 'subid-range'
(operating-system
@@ -44577,14 +44602,17 @@ unprivileged users to run @command{podman} commands:
"audio" "video")))
%base-user-accounts))
(services
- (append (list (service iptables-service-type)
- (service rootless-podman-service-type
- (rootless-podman-configuration
- (subgids
- (list (subid-range (name "alice"))))
- (subuids
- (list (subid-range (name "alice")))))))
- %base-services)))
+ (cons* (service dbus-root-service-type)
+ (service dhcpcd-service-type)
+ (service elogind-service-type)
+ (service iptables-service-type)
+ (service rootless-podman-service-type
+ (rootless-podman-configuration
+ (subgids
+ (list (subid-range (name "alice"))))
+ (subuids
+ (list (subid-range (name "alice"))))))
+ %base-services)))
@end lisp
The @code{iptables-service-type} is required for Podman to be able to setup its