1
0
forked from tribes/guix

Compare commits

..

17 Commits

Author SHA1 Message Date
Mathieu Othacehe 8d84a9ee71 ci: Add missing include.
* gnu/ci.scm: Add missing include.
2021-06-14 10:13:40 +02:00
Mathieu Othacehe c13ad2b889 ci: Backport package-channels procedure.
* gnu/ci.scm (package-channels): New procedure.
2021-06-14 10:08:49 +02:00
Mathieu Othacehe 7546a1d3c0 ci: Backport sexp->channel procedure.
* gnu/ci.scm (sexp->channel): New procedure.
2021-06-14 09:09:25 +02:00
Mathieu Othacehe 1b0bfb5df1 ci: Update to the last version.
* gnu/ci.scm: Update to the master version.
2021-06-14 09:03:26 +02:00
Maxim Cournoyer 8603bcd582 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-04-02 11:09:06 +02:00
Holger Peters f350df405f doc: Fix incorrect GUIX_PROFILE value for 'guix pull'.
* doc/guix.texi (Getting Started): Fix invalid GUIX_PROFILE value.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-12-07 15:08:51 +01:00
Ludovic Courtès 91bcb1d043 nls: Update 'fr' translation of the manual. 2020-12-03 16:39:12 +01:00
Ludovic Courtès 98c9b94a53 gnu: guix: Update to bd96e6d. 2020-11-22 22:02:25 +01:00
Ludovic Courtès bd96e6d34e gnu: guix: Update to 1.2.0. 2020-11-22 20:34:29 +01:00
Ludovic Courtès a099685659 Update NEWS. 2020-11-22 20:27:28 +01:00
Ludovic Courtès 2acac532cd nls: Update 'fr' translation of the manual. 2020-11-21 15:51:59 +01:00
Ludovic Courtès 09f1c668af gnu: xfdesktop: Add Guix logo to the default background.
* gnu/packages/xfce.scm (xfdesktop)[arguments]: In
'prepare-background-image' phase, add "xfce-stripes.png".
2020-11-21 15:51:44 +01:00
Ludovic Courtès 5b3904116f transformations: Show '--help-transform' only where applicable.
Fixes <https://bugs.gnu.org/44773>.
Reported by Florian Pelz <pelzflorian@pelzflorian.de>.

This fixes a regression introduced in
6701f64f73.

* guix/transformations.scm (%transformation-options): Add
"--help-transform".
(show-transformation-options-help): Rename to...
(show-transformation-options-help/detailed): ... this.
(show-transformation-options-help): New public procedure.
* guix/scripts/build.scm (show-build-options-help): Remove
"--help-transform".
(%standard-build-options): Likewise.
(show-help): Call 'show-transformation-options-help'.
* guix/scripts/environment.scm (show-help): Likewise.
* guix/scripts/graph.scm (show-help): Likewise.
* guix/scripts/install.scm (show-help): Likewise.
* guix/scripts/pack.scm (show-help): Likewise.
* guix/scripts/package.scm (show-help): Likewise.
* guix/scripts/upgrade.scm (show-help): Likewise.
2020-11-21 15:51:32 +01:00
Marius Bakke 0a47ff9f9f services: base: Re-export %default-substitute-urls from (guix store).
* gnu/services/base.scm: Export %DEFAULT-SUBSTITUTE-URLS.
2020-11-18 22:37:17 +01:00
Marius Bakke 0ae9bbe4f5 services: SDDM: Wait for elogind before starting.
Fixes <https://bugs.gnu.org/44669>.

* gnu/services/sddm.scm (sddm-shepherd-service)[requirement]: Add elogind.
2020-11-18 22:31:32 +01:00
Ludovic Courtès 1d21204485 gnu: guix: Update to 0d4b1af. 2020-11-18 17:36:54 +01:00
Ludovic Courtès 0d4b1afb6b gnu: guix: Update to 1.2.0rc2. 2020-11-18 17:36:34 +01:00
17 changed files with 397 additions and 332 deletions
+22 -3
View File
@@ -69,8 +69,19 @@ guix-build-coordinator-agent, guix-build-coordinator-queue-builds, hostapd,
hurd-console, hurd-getty, hurd-vm, lxqt, rshiny, secret-service,
simulated-wifi, udev-rules, unattended-upgrade, webssh, zram
*** XXX new packages
*** XXX package updates
*** 1999 new packages
*** 3652 package updates
Noteworthy updates:
bash 5.0.16, binutils 2.34, cups 2.3.3, emacs 27.1, enlightenment 0.24.2,
gcc-toolchain 10.2.0, gdb 10.1, ghc 8.8.3, gimp 2.10.22, glibc 2.31,
gnome 3.34.2, gnupg 2.2.23, go 1.14.10, guile 3.0.4,
icecat 78.4.0-guix0-preview1, inkscape 1.0.1, julia 1.5.2,
libreoffice 6.4.6.2, linux-libre 5.9.3, mate 1.24.1, ocaml 4.09.0,
openjdk 14.0, perl 5.30.2, python2 2.7.17, python 3.8.2, racket 7.8,
rust 1.46.0, r 4.0.3, sbcl 2.0.10, shepherd 0.8.1, xfce 4.14.2,
xorg-server 1.20.8
** Programming interfaces
*** New maven-build-system, for packages built with Maven
@@ -144,7 +155,15 @@ simulated-wifi, udev-rules, unattended-upgrade, webssh, zram
(<https://bugs.gnu.org/43744>)
** Native language support
*** TODO populate
*** Updated translations of the manual
The manual is fully translated into French, German, and Spanish, and has
preliminary translations into Chinese and Russian.
*** Updated translations of messages
This version of Guix is fully translated in French, German, and Spanish, and
partially translated in 11 other languages.
* Changes in 1.1.0 (since 1.0.1)
** Package management
+6 -28
View File
@@ -182,32 +182,6 @@ as well as images, OS examples, and translations."
"-c" "EXTRA_HEAD=<meta name=\"viewport\" \
content=\"width=device-width, initial-scale=1\" />"))
(define guile-lib/htmlprag-fixed
;; Guile-Lib with a hotfix for (htmlprag).
(package
(inherit guile-lib)
(arguments
(substitute-keyword-arguments (package-arguments guile-lib)
((#:phases phases '%standard-phases)
`(modify-phases ,phases
(add-before 'build 'fix-htmlprag
(lambda _
;; When parsing
;; "<body><blockquote><p>foo</p>\n</blockquote></body>",
;; 'html->shtml' would mistakenly close 'blockquote' right
;; before <p>. This patch removes 'p' from the
;; 'parent-constraints' alist to fix that.
(substitute* "src/htmlprag.scm"
(("^[[:blank:]]*\\(p[[:blank:]]+\\. \\(body td th\\)\\).*")
""))
#t))
(add-before 'check 'skip-known-failure
(lambda _
;; XXX: The above change causes one test failure among
;; the htmlprag tests.
(setenv "XFAIL_TESTS" "htmlprag.scm")
#t))))))))
(define (normalize-language-code language) ;XXX: deduplicate
;; Normalize LANGUAGE. For instance, "zh_CN" becomes "zh-cn".
(string-map (match-lambda
@@ -224,7 +198,7 @@ key is an identifier and the associated value is the URL reference pointing to
that identifier. The URL is constructed by concatenating BASE-URL to the
actual file name."
(define build
(with-extensions (list guile-lib/htmlprag-fixed)
(with-extensions (list guile-lib)
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils)
@@ -236,6 +210,8 @@ actual file name."
(ice-9 threads)
(ice-9 pretty-print))
(%strict-tokenizer? #t)
(define file-url
(let ((prefix (string-append #$manual "/")))
(lambda (file)
@@ -380,7 +356,7 @@ actual file name."
to (1) add them a link to SYNTAX-CSS-URL, and (2) highlight the syntax of all
its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
(define build
(with-extensions (list guile-lib/htmlprag-fixed guile-syntax-highlight)
(with-extensions (list guile-lib guile-syntax-highlight)
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (htmlprag)
@@ -394,6 +370,8 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
(ice-9 threads)
(ice-9 vlist))
(%strict-tokenizer? #t)
(define (pair-open/close lst)
;; Pair 'open' and 'close' tags produced by 'highlights' and
;; produce nested 'paren' tags instead.
+1 -1
View File
@@ -2751,7 +2751,7 @@ the command prints and, similar to what we saw above, paste these two
lines in your terminal and @file{.bash_profile}:
@example
GUIX_PROFILE="$HOME/.config/guix/current/etc/profile"
GUIX_PROFILE="$HOME/.config/guix/current"
. "$GUIX_PROFILE/etc/profile"
@end example
+305 -256
View File
@@ -3,6 +3,7 @@
;;; Copyright © 2017, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2018, 2019 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2020, 2021 Mathieu Othacehe <othacehe@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -20,7 +21,9 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu ci)
#:use-module (guix channels)
#:use-module (guix config)
#:use-module (guix describe)
#:use-module (guix store)
#:use-module (guix grafts)
#:use-module (guix profiles)
@@ -34,7 +37,8 @@
#:use-module (guix ui)
#:use-module ((guix licenses)
#:select (gpl3+ license? license-name))
#:use-module ((guix utils) #:select (%current-system))
#:use-module ((guix utils) #:select (%current-system
location-file))
#:use-module ((guix scripts system) #:select (read-operating-system))
#:use-module ((guix scripts pack)
#:select (lookup-compressor self-contained-tarball))
@@ -61,67 +65,123 @@
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (ice-9 match)
#:export (%cross-targets
#:export (derivation->job
image->job
%core-packages
%cross-targets
channel-source->package
hydra-jobs))
arguments->systems
cuirass-jobs))
;;; Commentary:
;;;
;;; This file defines build jobs for the Hydra and Cuirass continuation
;;; integration tools.
;;; This file defines build jobs for Cuirass.
;;;
;;; Code:
(define* (package->alist store package system
#:optional (package-derivation package-derivation))
"Convert PACKAGE to an alist suitable for Hydra."
(parameterize ((%graft? #f))
(let ((drv (package-derivation store package system
#:graft? #f)))
`((derivation . ,(derivation-file-name drv))
(log . ,(log-file store (derivation-file-name drv)))
(outputs . ,(filter-map (lambda (res)
(match res
((name . path)
`(,name . ,path))))
(derivation->output-paths drv)))
(nix-name . ,(derivation-name drv))
(system . ,(derivation-system drv))
(description . ,(package-synopsis package))
(long-description . ,(package-description package))
;; Backport from (guix channels) module.
(define* (sexp->channel sexp #:optional (name 'channel))
"Read SEXP, a provenance sexp as created by 'channel-instance->sexp'; use
NAME as the channel name if SEXP does not specify it. Return #f if the sexp
does not have the expected structure."
(match sexp
(('repository ('version 0)
('url url)
('branch branch)
('commit commit)
rest ...)
;; Historically channel sexps did not include the channel name. It's OK
;; for channels created by 'channel-instances->manifest' because the
;; entry name is the channel name, but it was missing for entries created
;; by 'manifest-entry-with-provenance'.
(channel (name (match (assq 'name rest)
(#f name)
(('name name) name)))
(url url)
(branch branch)
(commit commit)
(introduction
(match (assq 'introduction rest)
(#f #f)
(('introduction intro)
(sexp->channel-introduction intro))))))
;; XXX: Hydra ignores licenses that are not a <license> structure or a
;; list thereof.
(license . ,(let loop ((license (package-license package)))
(match license
((? license?)
(license-name license))
((lst ...)
(map loop license)))))
(_ #f)))
(home-page . ,(package-home-page package))
(maintainers . ("bug-guix@gnu.org"))
(max-silent-time . ,(or (assoc-ref (package-properties package)
'max-silent-time)
3600)) ;1 hour by default
(timeout . ,(or (assoc-ref (package-properties package) 'timeout)
72000)))))) ;20 hours by default
;; Backport from (guix describe) module.
(define (package-channels package)
"Return the list of channels providing PACKAGE or an empty list if it could
not be determined."
(match (and=> (package-location package) location-file)
(#f '())
(file
(let ((file (if (string-prefix? "/" file)
file
(search-path %load-path file))))
(if (and file
(string-prefix? (%store-prefix) file))
(filter-map
(lambda (entry)
(let ((item (manifest-entry-item entry)))
(and (or (string-prefix? item file)
(string=? "guix" (manifest-entry-name entry)))
(manifest-entry-channel entry))))
(current-profile-entries))
'())))))
(define (package-job store job-name package system)
(define* (derivation->job name drv
#:key
(max-silent-time 3600)
(timeout 3600))
"Return a Cuirass job called NAME and describing DRV.
MAX-SILENT-TIME and TIMEOUT are build options passed to the daemon when
building the derivation."
`((#:job-name . ,name)
(#:derivation . ,(derivation-file-name drv))
(#:inputs . ,(map (compose derivation-file-name
derivation-input-derivation)
(derivation-inputs drv)))
(#:outputs . ,(filter-map
(lambda (res)
(match res
((name . path)
`(,name . ,path))))
(derivation->output-paths drv)))
(#:nix-name . ,(derivation-name drv))
(#:system . ,(derivation-system drv))
(#:max-silent-time . ,max-silent-time)
(#:timeout . ,timeout)))
(define* (package-job store job-name package system
#:key cross? target)
"Return a job called JOB-NAME that builds PACKAGE on SYSTEM."
(let ((job-name (symbol-append job-name (string->symbol ".")
(string->symbol system))))
`(,job-name . ,(cut package->alist store package system))))
(let ((job-name (string-append job-name "." system)))
(parameterize ((%graft? #f))
(let* ((drv (if cross?
(package-cross-derivation store package target system
#:graft? #f)
(package-derivation store package system
#:graft? #f)))
(max-silent-time (or (assoc-ref (package-properties package)
'max-silent-time)
3600))
(timeout (or (assoc-ref (package-properties package)
'timeout)
72000)))
(derivation->job job-name drv
#:max-silent-time max-silent-time
#:timeout timeout)))))
(define (package-cross-job store job-name package target system)
"Return a job called TARGET.JOB-NAME that cross-builds PACKAGE for TARGET on
SYSTEM."
`(,(symbol-append (string->symbol target) (string->symbol ".") job-name
(string->symbol ".") (string->symbol system)) .
,(cute package->alist store package system
(lambda* (store package system #:key graft?)
(package-cross-derivation store package target system
#:graft? graft?)))))
(let ((name (string-append target "." job-name "." system)))
(package-job store name package system
#:cross? #t
#:target target)))
(define %core-packages
;; Note: Don't put the '-final' package variants because (1) that's
@@ -149,6 +209,7 @@ SYSTEM."
"arm-linux-gnueabihf"
"aarch64-linux-gnu"
"powerpc-linux-gnu"
"powerpc64le-linux-gnu"
"riscv64-linux-gnu"
"i586-pc-gnu" ;aka. GNU/Hurd
"i686-w64-mingw32"
@@ -197,6 +258,22 @@ SYSTEM."
(remove (either from-32-to-64? same? pointless?)
%cross-targets)))
(define* (guix-jobs store systems #:key source commit)
"Return a list of jobs for Guix itself."
(define build
(primitive-load (string-append source "/build-aux/build-self.scm")))
(map
(lambda (system)
(let ((name (string->symbol
(string-append "guix." system)))
(drv (run-with-store store
(build source #:version commit #:system system
#:pull-version 1
#:guile-version "2.2"))))
(derivation->job name drv)))
systems))
;; Architectures that are able to build or cross-build Guix System images.
;; This does not mean that other architectures are not supported, only that
;; they are often not fast enough to support Guix System images building.
@@ -207,63 +284,51 @@ SYSTEM."
(list hurd-barebones-qcow2-image
pine64-barebones-raw-image))
(define (hours hours)
(* 3600 hours))
(define* (image->job store image
#:key name system)
"Return the job for IMAGE on SYSTEM. If NAME is passed, use it as job name,
otherwise use the IMAGE name."
(let* ((image-name (or name
(symbol->string (image-name image))))
(name (string-append image-name "." system))
(drv (run-with-store store
(mbegin %store-monad
(set-guile-for-build (default-guile))
(lower-object (system-image image))))))
(parameterize ((%graft? #f))
(derivation->job name drv))))
(define (image-jobs store system)
"Return a list of jobs that build images for SYSTEM."
(define (->alist drv)
`((derivation . ,(derivation-file-name drv))
(log . ,(log-file store (derivation-file-name drv)))
(outputs . ,(filter-map (lambda (res)
(match res
((name . path)
`(,name . ,path))))
(derivation->output-paths drv)))
(nix-name . ,(derivation-name drv))
(system . ,(derivation-system drv))
(description . "Stand-alone image of the GNU system")
(long-description . "This is a demo stand-alone image of the GNU
system.")
(license . ,(license-name gpl3+))
(max-silent-time . 600)
(timeout . 3600)
(home-page . ,%guix-home-page-url)
(maintainers . ("bug-guix@gnu.org"))))
(define (->job name drv)
(let ((name (symbol-append name (string->symbol ".")
(string->symbol system))))
`(,name . ,(lambda ()
(parameterize ((%graft? #f))
(->alist drv))))))
(define (build-image image)
(run-with-store store
(mbegin %store-monad
(set-guile-for-build (default-guile))
(lower-object (system-image image)))))
(define MiB
(expt 2 20))
(if (member system %guix-system-supported-systems)
`(,(->job 'usb-image
(build-image
(image
(inherit efi-disk-image)
(operating-system installation-os))))
,(->job 'iso9660-image
(build-image
(image
(inherit (image-with-label
iso9660-image
(string-append "GUIX_" system "_"
(if (> (string-length %guix-version) 7)
(substring %guix-version 0 7)
%guix-version))))
(operating-system installation-os))))
`(,(image->job store
(image
(inherit efi-disk-image)
(operating-system installation-os))
#:name "usb-image"
#:system system)
,(image->job
store
(image
(inherit (image-with-label
iso9660-image
(string-append "GUIX_" system "_"
(if (> (string-length %guix-version) 7)
(substring %guix-version 0 7)
%guix-version))))
(operating-system installation-os))
#:name "iso9660-image"
#:system system)
;; Only cross-compile Guix System images from x86_64-linux for now.
,@(if (string=? system "x86_64-linux")
(map (lambda (image)
(->job (image-name image) (build-image image)))
(map (cut image->job store <>
#:system system)
%guix-system-images)
'()))
'()))
@@ -311,39 +376,17 @@ system.")
(define* (system-test-jobs store system
#:key source commit)
"Return a list of jobs for the system tests."
(define (test->thunk test)
(lambda ()
(define drv
(run-with-store store
(mbegin %store-monad
(set-current-system system)
(set-grafting #f)
(set-guile-for-build (default-guile))
(system-test-value test))))
`((derivation . ,(derivation-file-name drv))
(log . ,(log-file store (derivation-file-name drv)))
(outputs . ,(filter-map (lambda (res)
(match res
((name . path)
`(,name . ,path))))
(derivation->output-paths drv)))
(nix-name . ,(derivation-name drv))
(system . ,(derivation-system drv))
(description . ,(format #f "Guix '~a' system test"
(system-test-name test)))
(long-description . ,(system-test-description test))
(license . ,(license-name gpl3+))
(max-silent-time . 600)
(timeout . 3600)
(home-page . ,%guix-home-page-url)
(maintainers . ("bug-guix@gnu.org")))))
(define (->job test)
(let ((name (string->symbol
(string-append "test." (system-test-name test)
"." system))))
(cons name (test->thunk test))))
(let ((name (string-append "test." (system-test-name test)
"." system))
(drv (run-with-store store
(mbegin %store-monad
(set-current-system system)
(set-grafting #f)
(set-guile-for-build (default-guile))
(system-test-value test)))))
(derivation->job name drv)))
(if (member system %guix-system-supported-systems)
;; Override the value of 'current-guix' used by system tests. Using a
@@ -356,63 +399,45 @@ system.")
'()))
(define (tarball-jobs store system)
"Return Hydra jobs to build the self-contained Guix binary tarball."
(define (->alist drv)
`((derivation . ,(derivation-file-name drv))
(log . ,(log-file store (derivation-file-name drv)))
(outputs . ,(filter-map (lambda (res)
(match res
((name . path)
`(,name . ,path))))
(derivation->output-paths drv)))
(nix-name . ,(derivation-name drv))
(system . ,(derivation-system drv))
(description . "Stand-alone binary Guix tarball")
(long-description . "This is a tarball containing binaries of Guix and
all its dependencies, and ready to be installed on \"foreign\" distributions.")
(license . ,(license-name gpl3+))
(home-page . ,%guix-home-page-url)
(maintainers . ("bug-guix@gnu.org"))))
"Return jobs to build the self-contained Guix binary tarball."
(define (->job name drv)
(let ((name (symbol-append name (string->symbol ".")
(string->symbol system))))
`(,name . ,(lambda ()
(parameterize ((%graft? #f))
(->alist drv))))))
(let ((name (string-append name "." system)))
(parameterize ((%graft? #f))
(derivation->job name drv))))
;; XXX: Add a job for the stable Guix?
(list (->job 'binary-tarball
(run-with-store store
(mbegin %store-monad
(set-guile-for-build (default-guile))
(>>= (profile-derivation (packages->manifest (list guix)))
(lambda (profile)
(self-contained-tarball "guix-binary" profile
#:localstatedir? #t
#:compressor
(lookup-compressor "xz")))))
#:system system))))
(list
(->job "binary-tarball"
(run-with-store store
(mbegin %store-monad
(set-guile-for-build (default-guile))
(>>= (profile-derivation (packages->manifest (list guix)))
(lambda (profile)
(self-contained-tarball "guix-binary" profile
#:profile-name "current-guix"
#:localstatedir? #t
#:compressor
(lookup-compressor "xz")))))
#:system system))))
(define job-name
;; Return the name of a package's job.
(compose string->symbol
(cut package-full-name <> "-")))
package-name)
(define package->job
(let ((base-packages
(delete-duplicates
(append-map (match-lambda
((_ package _ ...)
(match (package-transitive-inputs package)
(((_ inputs _ ...) ...)
inputs))))
((_ package _ ...)
(match (package-transitive-inputs package)
(((_ inputs _ ...) ...)
inputs))))
(%final-inputs)))))
(lambda (store package system)
"Return a job for PACKAGE on SYSTEM, or #f if this combination is not
valid."
(cond ((member package base-packages)
(package-job store (symbol-append 'base. (job-name package))
(package-job store (string-append "base." (job-name package))
package system))
((supported-package? package system)
(let ((drv (package-derivation store package system
@@ -446,14 +471,15 @@ valid."
packages)))
#:select? (const #t))) ;include hidden packages
(define (arguments->manifests arguments)
(define (arguments->manifests arguments channels)
"Return the list of manifests extracted from ARGUMENTS."
(map (match-lambda
((input-name . relative-path)
(let* ((checkout (assq-ref arguments (string->symbol input-name)))
(base (assq-ref checkout 'file-name)))
(in-vicinity base relative-path))))
(assq-ref arguments 'manifests)))
(map (lambda (manifest)
(any (lambda (checkout)
(let ((path (in-vicinity checkout manifest)))
(and (file-exists? path)
path)))
(map channel-url channels)))
arguments))
(define (manifests->packages store manifests)
"Return the list of packages found in MANIFESTS."
@@ -469,100 +495,123 @@ valid."
load-manifest)
manifests))))
(define (find-current-checkout arguments)
"Find the first checkout of ARGUMENTS that provided the current file.
Return #f if no such checkout is found."
(let ((current-root
(canonicalize-path
(string-append (dirname (current-filename)) "/.."))))
(find (lambda (argument)
(and=> (assq-ref argument 'file-name)
(lambda (name)
(string=? name current-root)))) arguments)))
(define (arguments->systems arguments)
"Return the systems list from ARGUMENTS."
(match (assoc-ref arguments 'systems)
(#f %cuirass-supported-systems)
((lst ...) lst)
((? string? str) (call-with-input-string str read))))
;;;
;;; Hydra entry point.
;;; Cuirass entry point.
;;;
(define (hydra-jobs store arguments)
"Return Hydra jobs."
(define (cuirass-jobs store arguments)
"Register Cuirass jobs."
(define subset
(match (assoc-ref arguments 'subset)
("core" 'core) ; only build core packages
("hello" 'hello) ; only build hello
(((? string?) (? string?) ...) 'list) ; only build selected list of packages
("manifests" 'manifests) ; only build packages in the list of manifests
(_ 'all))) ; build everything
(assoc-ref arguments 'subset))
(define systems
(match (assoc-ref arguments 'systems)
(#f %hydra-supported-systems)
((lst ...) lst)
((? string? str) (call-with-input-string str read))))
(arguments->systems arguments))
(define checkout
(or (find-current-checkout arguments)
(assq-ref arguments 'superior-guix-checkout)))
(define channels
(let ((channels (assq-ref arguments 'channels)))
(map sexp->channel channels)))
(define guix
(find guix-channel? channels))
(define commit
(assq-ref checkout 'revision))
(channel-commit guix))
(define source
(assq-ref checkout 'file-name))
(channel-url guix))
;; Turn off grafts. Grafting is meant to happen on the user's machines.
(parameterize ((%graft? #f))
;; Return one job for each package, except bootstrap packages.
(append-map (lambda (system)
(format (current-error-port)
"evaluating for '~a' (heap size: ~a MiB)...~%"
system
(round
(/ (assoc-ref (gc-stats) 'heap-size)
(expt 2. 20))))
(invalidate-derivation-caches!)
(case subset
((all)
;; Build everything, including replacements.
(let ((all (all-packages))
(job (lambda (package)
(package->job store package
system))))
(append (filter-map job all)
(image-jobs store system)
(system-test-jobs store system
#:source source
#:commit commit)
(tarball-jobs store system)
(cross-jobs store system))))
((core)
;; Build core packages only.
(append (map (lambda (package)
(package-job store (job-name package)
package system))
%core-packages)
(cross-jobs store system)))
((hello)
;; Build hello package only.
(let ((hello (specification->package "hello")))
(list (package-job store (job-name hello) hello system))))
((list)
;; Build selected list of packages only.
(let* ((names (assoc-ref arguments 'subset))
(packages (map specification->package names)))
(map (lambda (package)
(package-job store (job-name package)
package system))
packages)))
((manifests)
;; Build packages in the list of manifests.
(let* ((manifests (arguments->manifests arguments))
(packages (manifests->packages store manifests)))
(map (lambda (package)
(package-job store (job-name package)
package system))
packages)))
(else
(error "unknown subset" subset))))
systems)))
(append-map
(lambda (system)
(format (current-error-port)
"evaluating for '~a' (heap size: ~a MiB)...~%"
system
(round
(/ (assoc-ref (gc-stats) 'heap-size)
(expt 2. 20))))
(invalidate-derivation-caches!)
(match subset
('all
;; Build everything, including replacements.
(let ((all (all-packages))
(job (lambda (package)
(package->job store package system))))
(append
(filter-map job all)
(cross-jobs store system))))
('core
;; Build core packages only.
(append
(map (lambda (package)
(package-job store (job-name package)
package system))
%core-packages)
(cross-jobs store system)))
('guix
;; Build Guix modules only.
(guix-jobs store systems
#:source source
#:commit commit))
('hello
;; Build hello package only.
(let ((hello (specification->package "hello")))
(list (package-job store (job-name hello)
hello system))))
('images
;; Build Guix System images only.
(image-jobs store system))
('system-tests
;; Build Guix System tests only.
(system-test-jobs store system
#:source source
#:commit commit))
('tarball
;; Build Guix tarball only.
(tarball-jobs store system))
(('custom . modules)
;; Build custom modules jobs only.
(append-map
(lambda (module)
(let ((proc (module-ref
(resolve-interface module)
'cuirass-jobs)))
(proc store arguments)))
modules))
(('channels . channels)
;; Build only the packages from CHANNELS.
(let ((all (all-packages)))
(filter-map
(lambda (package)
(any (lambda (channel)
(and (member (channel-name channel) channels)
(package->job store package system)))
(package-channels package)))
all)))
(('packages . rest)
;; Build selected list of packages only.
(let ((packages (map specification->package rest)))
(map (lambda (package)
(package-job store (job-name package)
package system))
packages)))
(('manifests . rest)
;; Build packages in the list of manifests.
(let* ((manifests (arguments->manifests rest channels))
(packages (manifests->packages store manifests)))
(map (lambda (package)
(package-job store (job-name package)
package system))
packages)))
(else
(error "unknown subset" subset))))
systems)))
+3 -3
View File
@@ -130,8 +130,8 @@
;; Latest version of Guix, which may or may not correspond to a release.
;; Note: the 'update-guix-package.scm' script expects this definition to
;; start precisely like this.
(let ((version "1.2.0rc1")
(commit "3ba6ffd0dd092ae879d014e4971989f231eaa56d")
(let ((version "1.2.0")
(commit "bd96e6d34e4e65dc37eaae7302033d0da287c1e2")
(revision 1))
(package
(name "guix")
@@ -148,7 +148,7 @@
(commit commit)))
(sha256
(base32
"1wa67gdipmzqr400hp0cw5ih0rlfvj345h65rqbk9s4g3bkg38hm"))
"0j27yw6s89rni39dmjdz3i617ddr2yi5y5hj0i2a7sw8fn215hp4"))
(file-name (string-append "guix-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
+1
View File
@@ -787,6 +787,7 @@ on the screen.")
"/tmp/final.jpg")
(copy-file "/tmp/final.jpg" image))
'(;; "backgrounds/xfce-blue.jpg"
"backgrounds/xfce-stripes.png"
"backgrounds/xfce-teal.jpg"))
#t)))
+2 -1
View File
@@ -62,7 +62,8 @@
#:use-module (srfi srfi-26)
#:use-module (ice-9 match)
#:use-module (ice-9 format)
#:re-export (user-processes-service-type) ;backwards compatibility
#:re-export (user-processes-service-type ;backwards compatibility
%default-substitute-urls)
#:export (fstab-service-type
root-file-system-service
file-system-service-type
+1 -1
View File
@@ -169,7 +169,7 @@ Relogin=" (if (sddm-configuration-relogin? config)
(list (shepherd-service
(documentation "SDDM display manager.")
(requirement '(user-processes))
(requirement '(user-processes elogind))
(provision '(xorg-server display-manager))
(start #~(make-forkexec-constructor #$sddm-command))
(stop #~(make-kill-destructor)))))
+3 -10
View File
@@ -181,8 +181,6 @@ options handled by 'set-build-options-from-command-line', and listed in
-c, --cores=N allow the use of up to N CPU cores for the build"))
(display (G_ "
-M, --max-jobs=N allow at most N build jobs"))
(display (G_ "
--help-transform list package transformation options not shown here"))
(display (G_ "
--debug=LEVEL produce debugging output at LEVEL")))
@@ -319,14 +317,7 @@ use '--no-offload' instead~%")))
(if c
(apply values (alist-cons 'max-jobs c result) rest)
(leave (G_ "not a number: '~a' option argument: ~a~%")
name arg)))))
(option '("help-transform") #f #f
(lambda _
(format #t
(G_ "Available package transformation options:~%"))
(show-transformation-options-help)
(newline)
(exit 0)))))
name arg)))))))
;;;
@@ -383,6 +374,8 @@ Build the given PACKAGE-OR-DERIVATION and return their output paths.\n"))
(newline)
(show-build-options-help)
(newline)
(show-transformation-options-help)
(newline)
(display (G_ "
-h, --help display this help and exit"))
(display (G_ "
+2
View File
@@ -180,6 +180,8 @@ COMMAND or an interactive shell in that environment.\n"))
(newline)
(show-build-options-help)
(newline)
(show-transformation-options-help)
(newline)
(display (G_ "
-h, --help display this help and exit"))
(display (G_ "
+4 -1
View File
@@ -35,7 +35,8 @@
#:use-module ((guix diagnostics)
#:select (location-file formatted-message))
#:use-module ((guix transformations)
#:select (options->transformation
#:select (show-transformation-options-help
options->transformation
%transformation-options))
#:use-module ((guix scripts build)
#:select (%standard-build-options))
@@ -546,6 +547,8 @@ Emit a representation of the dependency graph of PACKAGE...\n"))
(display (G_ "
-L, --load-path=DIR prepend DIR to the package module search path"))
(newline)
(show-transformation-options-help)
(newline)
(display (G_ "
-h, --help display this help and exit"))
(display (G_ "
+2
View File
@@ -39,6 +39,8 @@ This is an alias for 'guix package -i'.\n"))
(newline)
(show-build-options-help)
(newline)
(show-transformation-options-help)
(newline)
(display (G_ "
-h, --help display this help and exit"))
(display (G_ "
+2
View File
@@ -1067,6 +1067,8 @@ last resort for relocation."
Create a bundle of PACKAGE.\n"))
(show-build-options-help)
(newline)
(show-transformation-options-help)
(newline)
(display (G_ "
-f, --format=FORMAT build a pack in the given FORMAT"))
(display (G_ "
+2
View File
@@ -398,6 +398,8 @@ Install, remove, or upgrade packages in a single transaction.\n"))
(newline)
(show-build-options-help)
(newline)
(show-transformation-options-help)
(newline)
(display (G_ "
-h, --help display this help and exit"))
(display (G_ "
+2
View File
@@ -42,6 +42,8 @@ This is an alias for 'guix package -u'.\n"))
(newline)
(show-build-options-help)
(newline)
(show-transformation-options-help)
(newline)
(display (G_ "
-h, --help display this help and exit"))
(display (G_ "
+14 -2
View File
@@ -508,9 +508,17 @@ to the same package but with #:strip-binaries? #f in its 'arguments' field."
(option '("with-debug-info") #t #f
(parser 'with-debug-info))
(option '("without-tests") #t #f
(parser 'without-tests)))))
(parser 'without-tests))
(define (show-transformation-options-help)
(option '("help-transform") #f #f
(lambda _
(format #t
(G_ "Available package transformation options:~%"))
(show-transformation-options-help/detailed)
(newline)
(exit 0))))))
(define (show-transformation-options-help/detailed)
(display (G_ "
--with-source=[PACKAGE=]SOURCE
use SOURCE when building the corresponding package"))
@@ -539,6 +547,10 @@ to the same package but with #:strip-binaries? #f in its 'arguments' field."
--without-tests=PACKAGE
build PACKAGE without running its tests")))
(define (show-transformation-options-help)
"Show basic help for package transformation options."
(display (G_ "
--help-transform list package transformation options not shown here")))
(define (options->transformation opts)
"Return a procedure that, when passed an object to build (package,
+25 -26
View File
@@ -41,7 +41,7 @@ msgstr ""
"Project-Id-Version: guix-manual 1.2.0-pre3\n"
"Report-Msgid-Bugs-To: bug-guix@gnu.org\n"
"POT-Creation-Date: 2020-11-05 17:27+0100\n"
"PO-Revision-Date: 2020-11-09 00:09+0100\n"
"PO-Revision-Date: 2020-11-24 17:52+0100\n"
"Last-Translator: Julien Lepiller <julien@lepiller.eu>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
@@ -658,7 +658,7 @@ msgstr "La distribution GNU est jeune et vos paquets préférés peuvent manquer
#. type: Plain text
#: doc/contributing.texi:339
msgid "Free software packages are usually distributed in the form of @dfn{source code tarballs}---typically @file{tar.gz} files that contain all the source files. Adding a package to the distribution means essentially two things: adding a @dfn{recipe} that describes how to build the package, including a list of other packages required to build it, and adding @dfn{package metadata} along with that recipe, such as a description and licensing information."
msgstr "Les paquets de logiciels libres sont habituellement distribués sous forme @dfn{d'archives de sources} — typiquement des fichiers @file{.tar.gz} contenant tous les fichiers sources. Ajouter un paquet à la distribution signifie essentiellement deux choses : ajouter une @dfn{recette} qui décrit comment construire le paquet, avec une liste d'autres paquets requis pour le construire, et ajouter des @dfn{métadonnées de paquet} avec la recette, comme une description et une licence."
msgstr "Les paquets de logiciels libres sont habituellement distribués sous forme @dfn{d'archives de sources} — typiquement des fichiers @file{.tar.gz} contenant tous les fichiers sources. Ajouter un paquet à la distribution signifie en substance deux choses : ajouter une @dfn{recette} qui décrit comment construire le paquet, avec une liste d'autres paquets requis pour le construire, et ajouter des @dfn{métadonnées de paquet} avec la recette, comme une description et une licence."
#. type: Plain text
#: doc/contributing.texi:348
@@ -10698,7 +10698,7 @@ msgstr "Le format nar est comparable dans l'esprit au format \"tar\", mais avec
#. type: Plain text
#: doc/guix.texi:4747
msgid "That nar bundle format is essentially the concatenation of zero or more nars along with metadata for each store item it contains: its file name, references, corresponding derivation, and a digital signature."
msgstr "Ce format nar bundle est essentiellement la concaténation de zéro ou plus de nar avec des métadonnées pour chaque élément du dépôt qu'il contient : son nom de fichier, ses références, la dérivation correspondante et une signature numérique."
msgstr "Ce format de lot nar est surtout la concaténation de zéro, un ou plusieurs nar avec des métadonnées pour chaque élément du dépôt qu'il contient : son nom de fichier, ses références, la dérivation correspondante et une signature numérique."
#. type: Plain text
#: doc/guix.texi:4753
@@ -11226,12 +11226,9 @@ msgstr ""
" (version 0)\n"
" (dependencies\n"
" (channel\n"
" (name une-collection)\n"
" (url \"https://exemple.org/premiere-collection.git\"))\n"
" (channel\n"
" (name une-autre-collection)\n"
" (url \"https://exemple.org/deuxieme-collection.git\")\n"
" (branch \"testing\"))))\n"
" (name 'some-collection)\n"
" (url \"https://example.org/first-collection.git\")\n"
"\n"
#. type: lisp
#: doc/guix.texi:5151
@@ -11249,7 +11246,7 @@ msgid ""
" (url \"https://example.org/second-collection.git\")\n"
" (branch \"testing\"))))\n"
msgstr ""
" ;; La partie \"introduction\" ci-dessous est facultative : vous la\n"
" ;; La partie « introduction » ci-dessous est facultative : vous la\n"
" ;; fournissez pour les dépendances qui peuvent être authentifiées.\n"
" (introduction\n"
" (channel-introduction\n"
@@ -12361,7 +12358,7 @@ msgstr "Produire des @dfn{binaires repositionnables} — c.-à-d.@: des binaires
#. type: table
#: doc/guix.texi:5890
msgid "When this option is passed once, the resulting binaries require support for @dfn{user namespaces} in the kernel Linux; when passed @emph{twice}@footnote{Here's a trick to memorize it: @code{-RR}, which adds PRoot support, can be thought of as the abbreviation of ``Really Relocatable''. Neat, isn't it?}, relocatable binaries fall to back to other techniques if user namespaces are unavailable, and essentially work anywhere---see below for the implications."
msgstr "Lorsque vous passez cette option une fois, les binaires qui en résultent demandent le support des @dfn{espaces de nom utilisateurs} dans le noyau Linux ; lorsque vous la passez @emph{deux fois}@footnote{Il y a une astuce pour s'en souvenir : on peut envisager @code{-RR}, qui ajoute le support PRoot, comme étant l'abréviation de « Réellement Repositionnable ». Pas mal, hein ?}, les binaires repositionnables utilisent PRoot si les espaces de noms ne sont pas utilisables, et ça fonctionne partout — voir plus bas pour comprendre les implications."
msgstr "Lorsque vous passez cette option une fois, les binaires qui en résultent demandent le support des @dfn{espaces de nom utilisateurs} dans le noyau Linux ; lorsque vous la passez @emph{deux fois}@footnote{Il y a une astuce pour s'en souvenir : on peut envisager @code{-RR}, qui ajoute le support PRoot, comme étant l'abréviation de « Réellement Repositionnable ». Pas mal, hein ?}, les binaires repositionnables utilisent PRoot si les espaces de noms ne sont pas utilisables, et ça fonctionne à peu près partout — voir plus bas pour comprendre les implications."
#. type: table
#: doc/guix.texi:5892
@@ -12875,7 +12872,7 @@ msgstr "En ajoutant le répertoire contenant vos modules de paquets au chemin de
#. type: enumerate
#: doc/guix.texi:6264
msgid "By defining a @dfn{channel} and configuring @command{guix pull} so that it pulls from it. A channel is essentially a Git repository containing package modules. @xref{Channels}, for more information on how to define and use channels."
msgstr "En définissant un @dfn{canal} et en configurant @command{guix pull} pour qu'il l'utilise. Un canal est essentiellement un dépôt Git contenant des modules de paquets. @xref{Channels}, pour plus d'informations sur comment définir et utiliser des canaux."
msgstr "En définissant un @dfn{canal} et en configurant @command{guix pull} pour qu'il l'utilise. Un canal est en substance un dépôt Git contenant des modules de paquets. @xref{Channels}, pour plus d'informations sur comment définir et utiliser des canaux."
#. type: Plain text
#: doc/guix.texi:6267
@@ -12968,7 +12965,7 @@ msgstr ""
#. type: Plain text
#: doc/guix.texi:6325
msgid "Without being a Scheme expert, the reader may have guessed the meaning of the various fields here. This expression binds the variable @code{hello} to a @code{<package>} object, which is essentially a record (@pxref{SRFI-9, Scheme records,, guile, GNU Guile Reference Manual}). This package object can be inspected using procedures found in the @code{(guix packages)} module; for instance, @code{(package-name hello)} returns---surprise!---@code{\"hello\"}."
msgstr "Sans être un expert Scheme, le lecteur peut comprendre la signification des différents champs présents. Cette expression lie la variable @code{hello} à un objet @code{<package>}, qui est essentiellement un enregistrement (@pxref{SRFI-9, Scheme records,, guile, GNU Guile Reference Manual}). On peut inspecter cet objet de paquet avec les procédures qui se trouvent dans le module @code{(guix packages)} ; par exemple, @code{(package-name hello)} renvoie — oh surprise ! — @code{\"hello\"}."
msgstr "Sans être un expert Scheme, le lecteur peut comprendre la signification des différents champs présents. Cette expression lie la variable @code{hello} à un objet @code{<package>}, qui est en substance un enregistrement (@pxref{SRFI-9, Scheme records,, guile, GNU Guile Reference Manual}). On peut inspecter cet objet de paquet avec les procédures qui se trouvent dans le module @code{(guix packages)} ; par exemple, @code{(package-name hello)} renvoie — oh surprise ! — @code{\"hello\"}."
#. type: Plain text
#: doc/guix.texi:6329
@@ -13959,7 +13956,7 @@ msgstr ""
#. type: Plain text
#: doc/guix.texi:6888
msgid "The example above corresponds to what the @option{--with-source} package transformation option does. Essentially @code{hello-2.2} preserves all the fields of @code{hello}, except @code{version} and @code{source}, which it overrides. Note that the original @code{hello} variable is still there, in the @code{(gnu packages base)} module, unchanged. When you define a custom package like this, you are really @emph{adding} a new package definition; the original one remains available."
msgstr "L'exemple ci-dessus correspond à ce que l'option de transformation des paquets @option{--with-source} fait. Essentiellement, @code{hello-2.2} préserve tous les champs de @code{hello}, sauf @code{version} et @code{source}, qu'il remplace. Remarquez que la variable @code{hello} originale est toujours là, dans le module @code{(gnu packages base)}, et n'est pas modifiée. Lorsque vous définissez un paquet personnalisé comme ceci, vous @emph{ajoutez} en fait une nouvelle définition de paquet ; la version originale est toujours disponible."
msgstr "L'exemple ci-dessus correspond à ce que l'option de transformation des paquets @option{--with-source} fait. En substance, @code{hello-2.2} préserve tous les champs de @code{hello}, sauf @code{version} et @code{source}, qu'il remplace. Remarquez que la variable @code{hello} originale est toujours là, dans le module @code{(gnu packages base)}, et n'est pas modifiée. Lorsque vous définissez un paquet personnalisé comme ceci, vous @emph{ajoutez} en fait une nouvelle définition de paquet ; la version originale est toujours disponible."
#. type: Plain text
#: doc/guix.texi:6894
@@ -14997,7 +14994,7 @@ msgstr "{Variable Scheme} julia-build-system"
#. type: defvr
#: doc/guix.texi:7550
msgid "This variable is exported by @code{(guix build-system julia)}. It implements the build procedure used by @uref{https://julialang.org/, julia} packages, which essentially is similar to running @samp{julia -e 'using Pkg; Pkg.add(package)'} in an environment where @env{JULIA_LOAD_PATH} contains the paths to all Julia package inputs. Tests are run with @code{Pkg.test}."
msgstr "Cette variable est exportée par @code{(guix build-system julia)}. Elle implémente la procédure de compilation utilisée par les paquets @uref{https://julialang.org/, julia}, qui est essentiellement similaire à l'exécution de @samp{julia -e 'using Pkg ; Pkg.add(package)'} dans un environnement où @env{JULIA_LOAD_PATH} contient les chemins de toutes les entrées des paquets Julia. Les tests sont effectués avec @code{Pkg.test}."
msgstr "Cette variable est exportée par @code{(guix build-system julia)}. Elle implémente la procédure de compilation utilisée par les paquets @uref{https://julialang.org/, julia}, qui est globalement similaire à l'exécution de @samp{julia -e 'using Pkg ; Pkg.add(package)'} dans un environnement où @env{JULIA_LOAD_PATH} contient les chemins de toutes les entrées des paquets Julia. Les tests sont effectués avec @code{Pkg.test}."
#. type: defvr
#: doc/guix.texi:7553
@@ -15221,7 +15218,7 @@ msgstr "{Variable Scheme} r-build-system"
#. type: defvr
#: doc/guix.texi:7753
msgid "This variable is exported by @code{(guix build-system r)}. It implements the build procedure used by @uref{https://r-project.org, R} packages, which essentially is little more than running @samp{R CMD INSTALL --library=/gnu/store/@dots{}} in an environment where @env{R_LIBS_SITE} contains the paths to all R package inputs. Tests are run after installation using the R function @code{tools::testInstalledPackage}."
msgstr "Cette variable est exportée par @code{(guix build-system r)}. Elle implémente la procédure de compilation utilisée par les paquets @uref{https://r-project.org, R}, qui consiste essentiellement à exécuter @samp{R CMD INSTALL --library=/gnu/store/@dots{}} dans un environnement où @env{R_LIBS_SITE} contient les chemins de toutes les entrées des paquets R. Les tests sont exécutés après l'installation en utilisant la fonction R @code{tools::testInstalledPackage}."
msgstr "Cette variable est exportée par @code{(guix build-system r)}. Elle implémente la procédure de compilation utilisée par les paquets @uref{https://r-project.org, R}, qui consiste en substance à exécuter @samp{R CMD INSTALL --library=/gnu/store/@dots{}} dans un environnement où @env{R_LIBS_SITE} contient les chemins de toutes les entrées des paquets R. Les tests sont exécutés après l'installation en utilisant la fonction R @code{tools::testInstalledPackage}."
#. type: defvr
#: doc/guix.texi:7755
@@ -15991,7 +15988,7 @@ msgstr "{Procédure Scheme} copy-recursively @var{source} @var{destination} @"
#: doc/guix.texi:8277
msgid "[#:log (current-output-port)] [#:follow-symlinks? #f] [#:keep-mtime? #f] Copy @var{source} directory to @var{destination}. Follow symlinks if @var{follow-symlinks?} is true; otherwise, just preserve them. When @var{keep-mtime?} is true, keep the modification time of the files in @var{source} on those of @var{destination}. Write verbose output to the @var{log} port."
msgstr ""
"[#:log (current-output-port)] [#:follow-symlinks ? #f] [#:keep-mtime ? #f] \n"
"[#:log (current-output-port)] [#:follow-symlinks? #f] [#:keep-mtime? #f] \n"
"Copie le répertoire @var{source} dans @var{destination}. Suivez les liens symboliques si @var{follow-symlinks?} est vrai ; sinon, conservez-les. Lorsque @var{keep-mtime?} est vrai, conservez les heures de modification des fichiers dans @var{source} sur celles de @var{destination}. Écrivez une sortie verbeuse sur le port @var{log}."
#. type: deffn
@@ -16094,7 +16091,7 @@ msgstr "{Procédure Scheme} find-files @var{dir} [@var{pred}] @"
#: doc/guix.texi:8336
msgid "[#:stat lstat] [#:directories? #f] [#:fail-on-error? #f] Return the lexicographically sorted list of files under @var{dir} for which @var{pred} returns true. @var{pred} is passed two arguments: the absolute file name, and its stat buffer; the default predicate always returns true. @var{pred} can also be a regular expression, in which case it is equivalent to @code{(file-name-predicate @var{pred})}. @var{stat} is used to obtain file information; using @code{lstat} means that symlinks are not followed. If @var{directories?} is true, then directories will also be included. If @var{fail-on-error?} is true, raise an exception upon error."
msgstr ""
"[#:stat lstat] [#:directories ? #f] [#:fail-on-error ? #f] \n"
"[#:stat lstat] [#:directories? #f] [#:fail-on-error? #f] \n"
"Renvoie la liste des fichiers triés lexicographiquement sous @var{dir} pour lesquels @var{pred} renvoie « vrai ». Deux arguments sont passés à @var{pred} : le nom absolu du fichier et son tampon stat ; le prédicat par défaut renvoie toujours « vrai ». @var{pred} peut également être une expression régulière, auquel cas elle est équivalente à @code{(file-name-predicate @var{pred})}. @var{stat} est utilisé pour obtenir des informations sur les fichiers ; l'utilisation de @code{lstat} signifie que les liens symboliques ne sont pas suivis. Si @var{directories?} est vrai, alors les répertoires seront également inclus. Si @var{fail-on-error?} est vrai, il lance une exception en cas d'erreur."
#. type: Plain text
@@ -18835,7 +18832,7 @@ msgstr "Produire une sortie de débogage qui provient du démon de construction.
#. type: Plain text
#: doc/guix.texi:10046
msgid "Behind the scenes, @command{guix build} is essentially an interface to the @code{package-derivation} procedure of the @code{(guix packages)} module, and to the @code{build-derivations} procedure of the @code{(guix derivations)} module."
msgstr "Sous le capot, @command{guix build} est surtout un interface à la procédure @code{package-derivation} du module @code{(guix packages)}, et à la procédure @code{build-derivations} du module @code{(guix derivations)}."
msgstr "Sous le capot, @command{guix build} est surtout une interface à la procédure @code{package-derivation} du module @code{(guix packages)}, et à la procédure @code{build-derivations} du module @code{(guix derivations)}."
#. type: Plain text
#: doc/guix.texi:10050
@@ -20766,7 +20763,7 @@ msgstr "guix refresh -l -e '(@@@@ (gnu packages commencement) glibc-final)'\n"
#. type: table
#: doc/guix.texi:11317
msgid "This command lists the dependents of the ``final'' libc (essentially all the packages)."
msgstr "Cette commande liste les dépendances de la libc « finale » (essentiellement tous les paquets)."
msgstr "Cette commande liste les dépendances de la libc « finale » (presque tous les paquets)."
#. type: item
#: doc/guix.texi:11318
@@ -23567,17 +23564,19 @@ msgid ""
"\n"
msgstr ""
"(define %my-services\n"
" ;; Ma propre liste de services.\n"
" ;; ma propre liste de services.\n"
" (modify-services %base-services\n"
" (guix-service-type config =>\n"
" (guix-configuration\n"
" (inherit config)\n"
" (use-substitutes? #f)\n"
" (extra-options '(\"--gc-keep-derivations\"))))\n"
" ;; Récupérer les substituts depuis example.org.\n"
" (substitute-urls\n"
" (list \"https://example.org/guix\"\n"
" \"https://ci.guix.gnu.org\"))))\n"
" (mingetty-service-type config =>\n"
" (mingetty-configuration\n"
" (inherit config)))))\n"
" ;; Automatially log in as \"guest\".\n"
" (inherit config)\n"
" ;; Connexion automatique en tant que « guest ».\n"
" (auto-login \"guest\")))))\n"
"\n"
@@ -25029,7 +25028,7 @@ msgstr ""
" \"audio\" ;carte son\n"
" \"video\" ;périphériques réseaux comme les webcams\n"
" \"cdrom\")) ;le bon vieux CD-ROM\n"
" (comment \"Bob's sister\")\n"
" (comment \"Bob's sister\"))\n"
#. type: Plain text
#: doc/guix.texi:13865