diff --git a/Makefile.am b/Makefile.am index bd27d0079f..09e252f7b7 100644 --- a/Makefile.am +++ b/Makefile.am @@ -851,6 +851,39 @@ cuirass-jobs.scm: $(GOBJECTS) .PHONY: clean-go make-go as-derivation .PHONY: update-guix-package update-NEWS release +# Downloading up-to-date PO files. + +# make-download-po-rule DOMAIN DIRECTORY [FILE-NAME-PREFIX] +define make-download-po-rule + +download-po.$(1): + if [ -f "$(top_srcdir)/$(2)/LINGUAS" ]; then \ + LINGUAS="`grep -v '^[[:blank:]]*#' < $(top_srcdir)/$(2)/LINGUAS`" ; \ + else \ + LINGUAS="`(cd $(top_srcdir)/$(2); \ + for i in *.po; do echo $$$$i; done) | cut -d . -f 2`" ; \ + fi ; \ + for lang in $$$$LINGUAS; do \ + if wget -nv -O "$(top_srcdir)/$(2)/$(3)$$$$lang.po.tmp" \ + "https://translationproject.org/latest/$(1)/$$$$lang.po" ; \ + then \ + mv "$(top_srcdir)/$(2)/$(3)$$$$lang.po"{.tmp,} ; \ + else \ + rm "$(top_srcdir)/$(2)/$(3)$$$$lang.po.tmp" ; \ + fi ; \ + done + +.PHONY: download-po.$(1) + +endef + +$(eval $(call make-download-po-rule,guix,po/guix)) +$(eval $(call make-download-po-rule,guix-packages,po/packages)) +$(eval $(call make-download-po-rule,guix-manual,po/doc,guix-manual.)) + +download-po: $(foreach domain,guix guix-packages guix-manual,download-po.$(domain)) +.PHONY: download-po + ## -------------- ## ## Silent rules. ## ## -------------- ## diff --git a/doc/guix.texi b/doc/guix.texi index aac0c055db..e940a4f1c9 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -49,7 +49,7 @@ Copyright @copyright{} 2017 Christopher Allan Webber@* Copyright @copyright{} 2017, 2018 Marius Bakke@* Copyright @copyright{} 2017 Hartmut Goebel@* Copyright @copyright{} 2017 Maxim Cournoyer@* -Copyright @copyright{} 2017, 2018 Tobias Geerinckx-Rice@* +Copyright @copyright{} 2017, 2018, 2019 Tobias Geerinckx-Rice@* Copyright @copyright{} 2017 George Clemmer@* Copyright @copyright{} 2017 Andy Wingo@* Copyright @copyright{} 2017, 2018, 2019 Arun Isaac@* @@ -5854,11 +5854,10 @@ should be added to the package definition via the In its @code{configure} phase, this build system will make any source inputs specified in the @code{#:cargo-inputs} and @code{#:cargo-development-inputs} -parameters available to cargo. The @code{update-cargo-lock} phase will, -when there is a @code{Cargo.lock} file, update the @code{Cargo.lock} file -with the inputs and their versions available at build time. The -@code{install} phase installs any crate the binaries if they are defined by -the crate. +parameters available to cargo. It will also remove an included +@code{Cargo.lock} file to be recreated by @code{cargo} during the +@code{build} phase. The @code{install} phase installs any crate the binaries +if they are defined by the crate. @end defvr @cindex Clojure (programming language) @@ -6112,7 +6111,7 @@ interpreter version. By default guix calls @code{setup.py} under control of @code{setuptools}, much like @command{pip} does. Some packages are not compatible with setuptools (and pip), thus you can disable this by -setting the @code{#:use-setuptools} parameter to @code{#f}. +setting the @code{#:use-setuptools?} parameter to @code{#f}. @end defvr @defvr {Scheme Variable} perl-build-system @@ -8629,8 +8628,8 @@ When @code{--archive=bioconductor} is added, metadata is imported from packages for for the analysis and comprehension of high-throughput genomic data in bioinformatics. -Information is extracted from the @code{DESCRIPTION} file of a package -published on the web interface of the Bioconductor SVN repository. +Information is extracted from the @code{DESCRIPTION} file contained in the +package archive. The command below imports metadata for the @code{GenomicRanges} R package: @@ -8639,6 +8638,14 @@ R package: guix import cran --archive=bioconductor GenomicRanges @end example +Finally, you can also import R packages that have not yet been published on +CRAN or Bioconductor as long as they are in a git repository. Use +@code{--archive=git} followed by the URL of the git repository: + +@example +guix import cran --archive=git https://github.com/immunogenomics/harmony +@end example + @item texlive @cindex TeX Live @cindex CTAN @@ -12442,6 +12449,40 @@ gexps to introduce job definitions that are passed to mcron %base-services))) @end lisp +For more complex jobs defined in Scheme where you need control over the top +level, for instance to introduce a @code{use-modules} form, you can move your +code to a separate program using the @code{program-file} procedure of the +@code{(guix gexp)} module (@pxref{G-Expressions}). The example below +illustrates that. + +@lisp +(define %battery-alert-job + ;; Beep when the battery percentage falls below %MIN-LEVEL. + #~(job + '(next-minute (range 0 60 1)) + #$(program-file + "battery-alert.scm" + (with-imported-modules (source-module-closure + '((guix build utils))) + #~(begin + (define %min-level 20) + (use-modules (guix build utils) + (ice-9 popen) + (ice-9 regex) + (ice-9 textual-ports) + (srfi srfi-2)) + (setenv "LC_ALL" "C") ;ensure English output + (and-let* ((input-pipe (open-pipe* + OPEN_READ + #$(file-append acpi "/bin/acpi"))) + (output (get-string-all input-pipe)) + (m (string-match "Discharging, ([0-9]+)%" output)) + (level (string->number (match:substring m 1))) + ((< level %min-level))) + (format #t "warning: Battery level is low (~a%)~%" level) + (invoke #$(file-append beep "/bin/beep") "-r5"))))))) +@end lisp + @xref{Guile Syntax, mcron job specifications,, mcron, GNU@tie{}mcron}, for more information on mcron job specifications. Below is the reference of the mcron service. @@ -14723,11 +14764,14 @@ Defaults to @samp{()}. @deftypevr {@code{cups-configuration} parameter} ssl-options ssl-options Sets encryption options. By default, CUPS only supports encryption -using TLS v1.0 or higher using known secure cipher suites. The -@code{AllowRC4} option enables the 128-bit RC4 cipher suites, which are -required for some older clients that do not implement newer ones. The -@code{AllowSSL3} option enables SSL v3.0, which is required for some -older clients that do not support TLS v1.0. +using TLS v1.0 or higher using known secure cipher suites. Security is +reduced when @code{Allow} options are used, and enhanced when @code{Deny} +options are used. The @code{AllowRC4} option enables the 128-bit RC4 cipher +suites, which are required for some older clients. The @code{AllowSSL3} option +enables SSL v3.0, which is required for some older clients that do not support +TLS v1.0. The @code{DenyCBC} option disables all CBC cipher suites. The +@code{DenyTLS1.0} option disables TLS v1.0 support - this sets the minimum +protocol version to TLS v1.1. Defaults to @samp{()}. @end deftypevr @@ -21351,6 +21395,9 @@ Data type representing the configuration of Cuirass. @item @code{log-file} (default: @code{"/var/log/cuirass.log"}) Location of the log file. +@item @code{web-log-file} (default: @code{"/var/log/cuirass-web.log"}) +Location of the log file used by the web interface. + @item @code{cache-directory} (default: @code{"/var/cache/cuirass"}) Location of the repository cache. diff --git a/gnu/build/accounts.scm b/gnu/build/accounts.scm index 5094456ab1..f60d68d9b3 100644 --- a/gnu/build/accounts.scm +++ b/gnu/build/accounts.scm @@ -238,7 +238,7 @@ (define (write-entries port) (for-each (lambda (entry) (display (entry->string entry) port) (newline port)) - entries)) + (delete-duplicates entries))) (if (port? file-or-port) (write-entries file-or-port) diff --git a/gnu/build/cross-toolchain.scm b/gnu/build/cross-toolchain.scm index 1704157750..6bdbdd5411 100644 --- a/gnu/build/cross-toolchain.scm +++ b/gnu/build/cross-toolchain.scm @@ -128,7 +128,11 @@ (define (unpacked-mingw-dir) (substitute* (string-append mingw-headers "/crt/_mingw.h") (("@MINGW_HAS_SECURE_API@") - "#define MINGW_HAS_SECURE_API 1")) + "#define MINGW_HAS_SECURE_API 1") + (("@DEFAULT_WIN32_WINNT@") + "0x502") + (("@DEFAULT_MSVCRT_VERSION@") + "0x700")) (let ((cpath (string-append mingw-headers "/include" ":" mingw-headers "/crt" diff --git a/gnu/ci.scm b/gnu/ci.scm index aeebd4f14b..5d5a826647 100644 --- a/gnu/ci.scm +++ b/gnu/ci.scm @@ -331,8 +331,12 @@ (define (all-packages) "Return the list of packages to build." (define (adjust package result) (cond ((package-replacement package) - (cons* package ;build both - (package-replacement package) + ;; XXX: If PACKAGE and its replacement have the same name/version, + ;; then both Cuirass jobs will have the same name, which + ;; effectively means that the second one will be ignored. Thus, + ;; return the replacement first. + (cons* (package-replacement package) ;build both + package result)) ((package-superseded package) result) ;don't build it diff --git a/gnu/installer.scm b/gnu/installer.scm index 15d971dfc4..167653263f 100644 --- a/gnu/installer.scm +++ b/gnu/installer.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Mathieu Othacehe ;;; Copyright © 2019 Ludovic Courtès +;;; Copyright © 2019 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -226,15 +227,6 @@ (define (installer-steps) (#$keymap-step current-installer))) (configuration-formatter keyboard-layout->configuration)) - ;; Run a partitioning tool allowing the user to modify - ;; partition tables, partitions and their mount points. - (installer-step - (id 'partition) - (description (G_ "Partitioning")) - (compute (lambda _ - ((installer-partition-page current-installer)))) - (configuration-formatter user-partitions->configuration)) - ;; Ask the user to input a hostname for the system. (installer-step (id 'hostname) @@ -267,6 +259,17 @@ (define (installer-steps) ((installer-services-page current-installer)))) (configuration-formatter system-services->configuration)) + ;; Run a partitioning tool allowing the user to modify + ;; partition tables, partitions and their mount points. + ;; Do this last so the user has something to boot if any + ;; of the previous steps didn't go as expected. + (installer-step + (id 'partition) + (description (G_ "Partitioning")) + (compute (lambda _ + ((installer-partition-page current-installer)))) + (configuration-formatter user-partitions->configuration)) + (installer-step (id 'final) (description (G_ "Configuration file")) diff --git a/gnu/installer/newt/page.scm b/gnu/installer/newt/page.scm index 728721c08f..630efde9cc 100644 --- a/gnu/installer/newt/page.scm +++ b/gnu/installer/newt/page.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Mathieu Othacehe ;;; Copyright © 2019 Ludovic Courtès +;;; Copyright © 2019 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -75,7 +76,7 @@ (define* (run-input-page text title #:key (allow-empty-input? #f) (default-text #f) - (input-hide-checkbox? #f) + (input-visibility-checkbox? #f) (input-field-width 40) (input-flags 0)) "Run a page to prompt user for an input. The given TEXT will be displayed @@ -88,8 +89,8 @@ (define* (run-input-page text title input-field-width #:flags FLAG-BORDER)) (input-visible-cb - (make-checkbox -1 -1 (G_ "Hide") #\x "x ")) - (input-flags* (if input-hide-checkbox? + (make-checkbox -1 -1 (G_ "Show") #\space "x ")) + (input-flags* (if input-visibility-checkbox? (logior FLAG-PASSWORD FLAG-SCROLL input-flags) input-flags)) @@ -102,7 +103,7 @@ (define* (run-input-page text title (apply horizontal-stacked-grid GRID-ELEMENT-COMPONENT input-entry - `(,@(if input-hide-checkbox? + `(,@(if input-visibility-checkbox? (list GRID-ELEMENT-COMPONENT input-visible-cb) '()))) GRID-ELEMENT-COMPONENT ok-button)) diff --git a/gnu/installer/newt/user.scm b/gnu/installer/newt/user.scm index dab805198f..b747886c55 100644 --- a/gnu/installer/newt/user.scm +++ b/gnu/installer/newt/user.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Mathieu Othacehe ;;; Copyright © 2019 Ludovic Courtès +;;; Copyright © 2019 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -55,7 +56,7 @@ (define (pad-label label) (entry-home-directory (make-entry -1 -1 entry-width #:initial-value home-directory)) (password-visible-cb - (make-checkbox -1 -1 (G_ "Hide") #\x "x ")) + (make-checkbox -1 -1 (G_ "Show") #\space "x ")) (entry-password (make-entry -1 -1 entry-width #:flags (logior FLAG-PASSWORD FLAG-SCROLL))) @@ -156,7 +157,7 @@ (define confirmation (run-input-page (G_ "Please confirm the password.") (G_ "Password confirmation required") #:allow-empty-input? #t - #:input-hide-checkbox? #t)) + #:input-visibility-checkbox? #t)) (if (string=? password confirmation) password @@ -173,7 +174,7 @@ (define password (run-input-page (G_ "Please choose a password for the system \ administrator (\"root\").") (G_ "System administrator password") - #:input-hide-checkbox? #t)) + #:input-visibility-checkbox? #t)) (confirm-password password run-root-password-page)) diff --git a/gnu/installer/newt/wifi.scm b/gnu/installer/newt/wifi.scm index 1cb2ef2df3..3fd5756b99 100644 --- a/gnu/installer/newt/wifi.scm +++ b/gnu/installer/newt/wifi.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Mathieu Othacehe ;;; Copyright © 2019 Meiyo Peng +;;; Copyright © 2019 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -88,7 +89,8 @@ (define (draw-scanning-page) (define (run-wifi-password-page) "Run a page prompting user for a password and return it." (run-input-page (G_ "Please enter the wifi password.") - (G_ "Password required"))) + (G_ "Password required") + #:input-visibility-checkbox? #t)) (define (run-wrong-password-page service-name) "Run a page to inform user of a wrong password input." diff --git a/gnu/local.mk b/gnu/local.mk index 44a553d871..fe476534c2 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -21,6 +21,7 @@ # Copyright © 2018 Stefan Stefanović # Copyright © 2018 Maxim Cournoyer # Copyright © 2019 Guillaume Le Vaillant +# Copyright © 2019 John Soo # # This file is part of GNU Guix. # @@ -99,6 +100,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/calcurse.scm \ %D%/packages/ccache.scm \ %D%/packages/cdrom.scm \ + %D%/packages/cedille.scm \ %D%/packages/certs.scm \ %D%/packages/check.scm \ %D%/packages/chemistry.scm \ @@ -128,6 +130,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/cryptsetup.scm \ %D%/packages/cups.scm \ %D%/packages/curl.scm \ + %D%/packages/cvassistant.scm \ %D%/packages/cyrus-sasl.scm \ %D%/packages/databases.scm \ %D%/packages/datamash.scm \ @@ -410,6 +413,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/rdf.scm \ %D%/packages/re2c.scm \ %D%/packages/readline.scm \ + %D%/packages/rednotebook.scm \ %D%/packages/regex.scm \ %D%/packages/robotics.scm \ %D%/packages/rrdtool.scm \ @@ -697,6 +701,7 @@ dist_patch_DATA = \ %D%/packages/patches/avidemux-install-to-lib.patch \ %D%/packages/patches/awesome-reproducible-png.patch \ %D%/packages/patches/azr3.patch \ + %D%/packages/patches/bash-4.4-linux-pgrp-pipe.patch \ %D%/packages/patches/bash-completion-directories.patch \ %D%/packages/patches/bastet-change-source-of-unordered_set.patch \ %D%/packages/patches/bazaar-CVE-2017-14176.patch \ @@ -1021,6 +1026,7 @@ dist_patch_DATA = \ %D%/packages/patches/libexif-CVE-2016-6328.patch \ %D%/packages/patches/libexif-CVE-2017-7544.patch \ %D%/packages/patches/libexif-CVE-2018-20030.patch \ + %D%/packages/patches/libextractor-exiv2.patch \ %D%/packages/patches/libgit2-avoid-python.patch \ %D%/packages/patches/libgit2-mtime-0.patch \ %D%/packages/patches/libgnome-encoding.patch \ @@ -1099,7 +1105,7 @@ dist_patch_DATA = \ %D%/packages/patches/meson-for-build-rpath.patch \ %D%/packages/patches/metabat-fix-compilation.patch \ %D%/packages/patches/mhash-keygen-test-segfault.patch \ - %D%/packages/patches/mingw-w64-5.0rc2-gcc-4.9.3.patch \ + %D%/packages/patches/mingw-w64-6.0.0-gcc.patch \ %D%/packages/patches/mpc123-initialize-ao.patch \ %D%/packages/patches/module-init-tools-moduledir.patch \ %D%/packages/patches/monero-use-system-miniupnpc.patch \ diff --git a/gnu/packages/agda.scm b/gnu/packages/agda.scm index 0f9b4299c3..c085bfac2e 100644 --- a/gnu/packages/agda.scm +++ b/gnu/packages/agda.scm @@ -3,6 +3,8 @@ ;;; Copyright © 2018 Ricardo Wurmus ;;; Copyright © 2018 Alex Vong ;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2018 John Soo +;;; Copyright © 2019 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,9 +26,11 @@ (define-module (gnu packages agda) #:use-module (gnu packages haskell-check) #:use-module (gnu packages haskell-web) #:use-module (guix build-system emacs) + #:use-module (guix build-system gnu) #:use-module (guix build-system haskell) #:use-module (guix build-system trivial) #:use-module (guix download) + #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages)) @@ -154,3 +158,45 @@ (define-public emacs-agda2-mode (synopsis "Emacs mode for Agda") (description "This Emacs mode enables interactive development with Agda. It also aids the input of Unicode characters."))) + +(define-public agda-ial + (package + (name "agda-ial") + (version "1.5.0") + (home-page "https://github.com/cedille/ial") + (source (origin + (method git-fetch) + (uri (git-reference (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0dlis6v6nzbscf713cmwlx8h9n2gxghci8y21qak3hp18gkxdp0g")))) + (build-system gnu-build-system) + (inputs + `(("agda" ,agda))) + (arguments + `(#:parallel-build? #f + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'patch-dependencies + (lambda _ (patch-shebang "find-deps.sh") #t)) + (delete 'check) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (include (string-append out "/include/agda/ial"))) + (for-each (lambda (file) + (make-file-writable file) + (install-file file include)) + (find-files "." "\\.agdai?(-lib)?$")) + #t)))))) + (synopsis "The Iowa Agda Library") + (description + "The goal is to provide a concrete library focused on verification +examples, as opposed to mathematics. The library has a good number +of theorems for booleans, natural numbers, and lists. It also has +trees, tries, vectors, and rudimentary IO. A number of good ideas +come from Agda's standard library.") + (license license:expat))) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index 1160feb553..3aa608ae29 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -120,7 +120,7 @@ (define-public wcslib (define-public gnuastro (package (name "gnuastro") - (version "0.9") + (version "0.10") (source (origin (method url-fetch) @@ -128,7 +128,7 @@ (define-public gnuastro version ".tar.lz")) (sha256 (base32 - "1c1894ixz3l8p1nmzkysgl9lz8vpqbfw1dd404kh6lvrpml7jzig")))) + "0gmhmh0yddb2aql4hd5ffrr0d4hrmh4pa3yln0n186hslqinp81b")))) (inputs `(("cfitsio" ,cfitsio) ("gsl" ,gsl) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index dec94dd6c5..341281c943 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -3374,21 +3374,22 @@ (define-public bluez-alsa (define-public snd (package (name "snd") - (version "19.5") + (version "19.6") (source (origin (method url-fetch) (uri (string-append "ftp://ccrma-ftp.stanford.edu/pub/Lisp/" "snd-" version ".tar.gz")) (sha256 (base32 - "0sk6iyykwi2mm3f1g4r0iqbsrwk3zmyagp6jjqkh8njbq42cjr1y")))) + "0s2qv8sznvw6559bi39qj9p072azh9qcb2b86w6w8clz2azjaa76")))) (build-system glib-or-gtk-build-system) (arguments `(#:tests? #f ; no tests #:out-of-source? #f ; for the 'install-doc' phase #:configure-flags (let* ((out (assoc-ref %outputs "out")) - (docdir (string-append out "/share/doc/snd"))) + (docdir (string-append out "/share/doc/" + ,name "-" ,version))) (list "--with-alsa" "--with-jack" "--with-gmp" (string-append "--with-doc-dir=" docdir))) #:phases @@ -3401,7 +3402,7 @@ (define-public snd (for-each (lambda (f) (install-file f doc)) - (find-files "." "\\.html$|COPYING")) + (find-files "." "\\.html$")) (copy-recursively "pix" (string-append doc "/pix")) #t)))))) (native-inputs diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index b0893d9410..adb377f25f 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -131,7 +131,7 @@ (define-public transmission (define-public libtorrent (package (name "libtorrent") - (version "0.13.6") + (version "0.13.8") (source (origin (method url-fetch) (uri (string-append @@ -139,7 +139,7 @@ (define-public libtorrent version ".tar.gz")) (sha256 (base32 - "012s1nwcvz5m5r4d2z9klgy2n34kpgn9kgwgzxm97zgdjs6a0f18")))) + "10z9i1rc41cmmi7nx8k7k1agsx6afv09g9cl7g9zr35fyhl5l4gd")))) (build-system gnu-build-system) (inputs `(("openssl" ,openssl) ("zlib" ,zlib))) @@ -156,7 +156,7 @@ (define-public libtorrent (define-public rtorrent (package (name "rtorrent") - (version "0.9.6") + (version "0.9.8") (source (origin (method url-fetch) (uri (string-append @@ -164,7 +164,7 @@ (define-public rtorrent version ".tar.gz")) (sha256 (base32 - "03jvzw9pi2mhcm913h8qg0qw9gwjqc6lhwynb1yz1y163x7w4s8y")))) + "1bs2fnf4q7mlhkhzp3i1v052v9xn8qa7g845pk9ia8hlpw207pwy")))) (build-system gnu-build-system) (inputs `(("libtorrent" ,libtorrent) ("ncurses" ,ncurses) diff --git a/gnu/packages/cedille.scm b/gnu/packages/cedille.scm new file mode 100644 index 0000000000..36fa3ae17e --- /dev/null +++ b/gnu/packages/cedille.scm @@ -0,0 +1,124 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2019 John Soo +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages cedille) + #:use-module (gnu packages) + #:use-module (gnu packages agda) + #:use-module (gnu packages emacs-xyz) + #:use-module (gnu packages haskell) + #:use-module (guix build-system emacs) + #:use-module (guix git-download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages)) + +(define-public cedille + (package + (name "cedille") + (version "1.1.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cedille/cedille") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "07kv9wncyipfjf5w4ax8h2p35g70zb1qw6zc4afd7c225xia55wp")))) + (inputs + `(("agda" ,agda) + ("agda-ial" ,agda-ial) + ("ghc" ,ghc-8.4) + ("ghc-alex" ,ghc-alex) + ("ghc-happy" ,ghc-happy))) + (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-cedille-path-el + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* "cedille-mode.el" + (("/usr/share/emacs/site-lisp/cedille-mode") + (string-append + out "/share/emacs/site-lisp/guix.d/cedille-" + ,version))) + #t))) + (add-after 'unpack 'copy-cedille-mode + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (lisp + (string-append + out "/share/emacs/site-lisp/guix.d/cedille-" + ,version "/"))) + (mkdir-p (string-append lisp "cedille-mode")) + (copy-recursively + "cedille-mode" + (string-append lisp "cedille-mode")) + (mkdir-p (string-append lisp "se-mode")) + (copy-recursively + "se-mode" + (string-append lisp "se-mode")) + #t))) + ;; FIXME: Byte compilation fails + (delete 'build) + (replace 'check + (lambda _ + (with-directory-excursion "cedille-tests" + (invoke "sh" "run-tests.sh")))) + (add-after 'unpack 'patch-libraries + (lambda _ (patch-shebang "create-libraries.sh") #t)) + (add-after 'unpack 'copy-ial + (lambda* (#:key inputs #:allow-other-keys) + (copy-recursively + (string-append (assoc-ref inputs "agda-ial") + "/include/agda/ial") + "ial") + ;; Ambiguous module if main is included from ial + (delete-file "ial/main.agda") + #t)) + (add-after 'check 'build-cedille + ;; Agda has a hard time with parallel compilation + (lambda _ + (invoke "touch" "src/Templates.hs") + (make-file-writable "src/Templates.hs") + (invoke "touch" "src/templates.agda") + (make-file-writable "src/templates.agda") + (invoke "make" "--jobs=1"))) + (add-after 'install 'install-cedille + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (copy-recursively + "lib" (string-append out "/lib/cedille")) + (install-file "cedille" (string-append out "/bin")) + (install-file "core/cedille-core" + (string-append out "/bin")) + #t)))))) + (home-page "https://cedille.github.io/") + (synopsis + "Language based on Calculus of Dependent Lambda Eliminations") + (description + "Cedille is an interactive theorem-prover and dependently typed +programming language, based on extrinsic (aka Curry-style) type theory. This +makes it rather different from type theories like Coq and Agda, which are +intrinsic (aka Church-style). In Cedille, terms are nothing more than +annotated versions of terms of pure untyped lambda calculus. In contrast, in +Coq or Agda, the typing annotations are intrinsic parts of terms. The typing +annotations can only be erased as an optimization under certain conditions, +not by virtue of the definition of the type theory.") + (license license:expat))) diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm index 3b45c430ca..aad1fd9203 100644 --- a/gnu/packages/chromium.scm +++ b/gnu/packages/chromium.scm @@ -238,7 +238,7 @@ (define* (computed-origin-method gexp-promise hash-algo hash #:system system #:guile-for-build guile))) -(define %chromium-version "76.0.3809.100") +(define %chromium-version "76.0.3809.132") (define %ungoogled-revision "8eba5c0df1a318012e3deab39a9add252a0d56a3") (define %debian-revision "debian/76.0.3809.87-2") (define package-revision "0") @@ -254,7 +254,7 @@ (define %chromium-origin %chromium-version ".tar.xz")) (sha256 (base32 - "0vfjfxsqf8jrmd7y08ln1lpbilwi150875zn2bawwdq87vd3mncc")))) + "0hajwjf7swlgh1flpf8ljfrb2zhmcpzvrigvvxqd36g3nm04cknm")))) (define %ungoogled-origin (origin diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index d706e8d04b..608cd0af23 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -47,8 +47,8 @@ (define-module (gnu packages ci) #:use-module (guix build-system gnu)) (define-public cuirass - (let ((commit "858b6b8c8f2ae7b1ddaf4ae363147121be1f1fe8") - (revision "22")) + (let ((commit "1cd2f9334dde13542732c22753c4ebde61bc95e0") + (revision "23")) (package (name "cuirass") (version (string-append "0.0.1-" revision "." (string-take commit 7))) @@ -60,7 +60,7 @@ (define-public cuirass (file-name (string-append name "-" version)) (sha256 (base32 - "049hg0yaakmfp27950cn0yn43r0v7bqva75xi082n8cxzi6vadgc")))) + "0r3x8gv0v89brjqi8r31p6c0mblbaf2kdk2fz99jiab4pir16w87")))) (build-system gnu-build-system) (arguments '(#:modules ((guix build utils) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index ae8e9c5a47..458b141f91 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -15097,3 +15097,42 @@ (define-public r-liger integrative non-negative matrix factorization to identify shared and dataset-specific factors.") (license license:gpl3))) + +(define-public r-harmony + ;; There are no tagged commits + (let ((commit "4d1653870d4dd70fff1807c182882db1fbf9af5a") + (revision "1")) + (package + (name "r-harmony") + (version (git-version "1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/immunogenomics/harmony") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1gasdldr4aalr9h2q9kmm3y4i7azkgnhdn4bmvsszs7lg9xacw85")))) + (build-system r-build-system) + (propagated-inputs + `(("r-cowplot" ,r-cowplot) + ("r-dplyr" ,r-dplyr) + ("r-ggplot2" ,r-ggplot2) + ("r-irlba" ,r-irlba) + ("r-matrix" ,r-matrix) + ("r-rcpp" ,r-rcpp) + ("r-rcpparmadillo" ,r-rcpparmadillo) + ("r-rcppprogress" ,r-rcppprogress) + ("r-rlang" ,r-rlang) + ("r-tibble" ,r-tibble) + ("r-tidyr" ,r-tidyr))) + (home-page "https://github.com/immunogenomics/harmony") + (synopsis "Integration of single cell sequencing data") + (description + "This package provides an implementation of the Harmony algorithm for +single cell integration, described in Korsunsky et al +@url{doi.org/10.1101/461954}. The package includes a standalone Harmony +function and interfaces to external frameworks.") + (license license:gpl3)))) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 6500adb215..c3d2419f88 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019 Ivan Petkov ;;; Copyright © 2019 Efraim Flashner +;;; Copyright © 2019 Nicolas Goaziou ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,12 +22,58 @@ (define-module (gnu packages crates-io) #:use-module (guix build-system cargo) #:use-module (guix download) #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix packages)) + #:use-module (guix packages) + #:use-module (gnu packages pkg-config)) ;;; ;;; Please: Try to add new module packages in alphabetic order. ;;; +(define-public rust-antidote + (package + (name "rust-antidote") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "antidote" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "19g2sw2qa2ibnh4x7j1snk46593jgx6y7rnvva496ynq61af5z9l")))) + (build-system cargo-build-system) + (home-page "https://github.com/sfackler/rust-antidote") + (synopsis "Poison-free Mutex and RwLock types") + (description + "These types expose identical APIs to the standard library @code{Mutex} and +@code{RwLock} except that they do not return @code{PoisonError}s.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-atty + (package + (name "rust-atty") + (version "0.2.13") + (source + (origin + (method url-fetch) + (uri (crate-uri "atty" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "140sswp1bwqwc4zk80bxkbnfb3g936hgrb77g9g0k1zcld3wc0qq")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc) + ("rust-winapi" ,rust-winapi)) + #:tests? #f)) ; tests fail in our sandbox + (home-page "https://github.com/softprops/atty") + (synopsis "A simple interface for querying atty") + (description + "This package provides a simple interface for querying atty.") + (license license:expat))) + (define-public rust-autocfg (package (name "rust-autocfg") @@ -91,6 +138,50 @@ (define-public rust-bitflags (license (list license:asl2.0 license:expat)))) +(define-public rust-blas-sys + (package + (name "rust-blas-sys") + (version "0.7.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "blas-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0h14zjycwc76v15h8qll9z1xiryvmpvsb5gam97pqpdjrrwv5c8k")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-libc" ,rust-libc)))) + (home-page "https://github.com/blas-lapack-rs/blas-sys") + (synopsis "Bindings to BLAS (Fortran)") + (description + "Ths package provides bindings to BLAS (Fortran).") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-cblas-sys + (package + (name "rust-cblas-sys") + (version "0.1.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "cblas-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0rgsn3klhhh09d8qf3b87zl4rwk93l2g0qzh9hhb0lff5kcfrzmn")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-libc" ,rust-libc)))) + (home-page "https://github.com/blas-lapack-rs/cblas-sys") + (synopsis "Bindings to CBLAS (C)") + (description + "The package provides bindings to CBLAS (C).") + (license (list license:asl2.0 + license:expat)))) + (define-public rust-cfg-if (package (name "rust-cfg-if") @@ -112,6 +203,127 @@ (define-public rust-cfg-if (license (list license:asl2.0 license:expat)))) +(define-public rust-clicolors-control + (package + (name "rust-clicolors-control") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "clicolors-control" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1y80cgarxhrd1bz5yjm81r444v6flvy36aaxrrsac0yhfd6gvavk")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-atty" ,rust-atty) + ("rust-lazy-static" ,rust-lazy-static) + ("rust-libc" ,rust-libc) + ("rust-winapi" ,rust-winapi)))) + (home-page "https://github.com/mitsuhiko/clicolors-control") + (synopsis "Common utility library to control CLI colorization") + (description + "This package provides a common utility library to control CLI +colorization.") + (license license:expat))) + +(define-public rust-cloudabi + (package + (name "rust-cloudabi") + (version "0.0.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "cloudabi" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0kxcg83jlihy0phnd2g8c2c303px3l2p3pkjz357ll6llnd5pz6x")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags)))) + (home-page "https://nuxi.nl/cloudabi/") + (synopsis "Low level interface to CloudABI") + (description + "Low level interface to CloudABI. Contains all syscalls and related types.") + (license license:bsd-2))) + +(define-public rust-core-foundation-sys + (package + (name "rust-core-foundation-sys") + (version "0.6.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "core-foundation-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0fzsw1j9g1x598yhwklg59l15hwzc0pyvs01w9fg2kin4598mjp7")))) + (build-system cargo-build-system) + (home-page "https://github.com/servo/core-foundation-rs") + (synopsis "Bindings to Core Foundation for OS X") + (description + "Bindings to Core Foundation for OS X.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-data-encoding + (package + (name "rust-data-encoding") + (version "2.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "data-encoding" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "15xd6afhsjl08285piwczrafmckpp8i29padj8v12xhahshprx7l")))) + (build-system cargo-build-system) + (home-page "https://github.com/ia0/data-encoding") + (synopsis "Efficient and customizable data-encoding functions") + (description + "This library provides encodings for many different common cases, including +hexadecimal, bas32, and base64.") + (license license:expat))) + +(define-public rust-defmac + (package + (name "rust-defmac") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "defmac" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "01ff3jdmcc5waffkwllndnx5hsn414r7x1rq4ib73n7awsyzxkxv")))) + (build-system cargo-build-system) + (home-page "https://github.com/bluss/defmac") + (synopsis "Macro to define lambda-like macros inline") + (description "A macro to define lambda-like macros inline.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-defmac-0.1 + (package + (inherit rust-defmac) + (name "rust-defmac") + (version "0.1.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "defmac" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "17giv0n0n1r64z0dahfvkjy3ys517jxyhs8sd9lmgvcljpjyryxa")))))) + (define-public rust-discard (package (name "rust-discard") @@ -193,6 +405,50 @@ (define-public rust-fallible-iterator (license (list license:asl2.0 license:expat)))) +(define-public rust-findshlibs + (package + (name "rust-findshlibs") + (version "0.5.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "findshlibs" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1n2vagn0q5yim32hxkwi1cjgp3yn1dm45p7z8nw6lapywihhs9mi")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-lazy-static" ,rust-lazy-static) + ("rust-libc" ,rust-libc)))) + (home-page "https://github.com/gimli-rs/findshlibs") + (synopsis "Find the set of shared libraries loaded in the current process") + (description + "Find the set of shared libraries loaded in the current process with a +cross platform API.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-fixedbitset + (package + (name "rust-fixedbitset") + (version "0.1.9") + (source + (origin + (method url-fetch) + (uri (crate-uri "fixedbitset" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0czam11mi80dbyhf4rd4lz0ihcf7vkfchrdcrn45wbs0h40dxm46")))) + (build-system cargo-build-system) + (home-page "https://github.com/bluss/fixedbitset") + (synopsis "FixedBitSet is a simple bitset collection") + (description "FixedBitSet is a simple bitset collection.") + (license (list license:asl2.0 + license:expat)))) + (define-public rust-fnv (package (name "rust-fnv") @@ -213,6 +469,26 @@ (define-public rust-fnv (license (list license:asl2.0 license:expat)))) +(define-public rust-foreign-types-shared + (package + (name "rust-foreign-types-shared") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "foreign-types-shared" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0kanxlif1vp0ffh2r9l610jqbkmb3183yqykxq1z5w1vay2rn7y6")))) + (build-system cargo-build-system) + (home-page "https://github.com/sfackler/foreign-types") + (synopsis "An internal crate used by foreign-types") + (description + "An internal crate used by foreign-types.") + (license (list license:asl2.0 + license:expat)))) + (define-public rust-fs-extra (package (name "rust-fs-extra") @@ -233,6 +509,70 @@ (define-public rust-fs-extra process and much more.") (license license:expat))) +(define-public rust-fuchsia-cprng + (package + (name "rust-fuchsia-cprng") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "fuchsia-cprng" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1fnkqrbz7ixxzsb04bsz9p0zzazanma8znfdqjvh39n14vapfvx0")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f)) ; tests require zircon + (home-page "https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/rust/fuchsia-cprng") + (synopsis "Fuchsia cryptographically secure pseudorandom number generator") + (description "Rust crate for the Fuchsia cryptographically secure +pseudorandom number generator") + (license license:bsd-3))) + +(define-public rust-fuchsia-zircon + (package + (name "rust-fuchsia-zircon") + (version "0.3.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "fuchsia-zircon" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "10jxc5ks1x06gpd0xg51kcjrxr35nj6qhx2zlc5n7bmskv3675rf")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags) + ("rust-fuchsia-zircon-sys" ,rust-fuchsia-zircon-sys)) + #:tests? #f)) ; tests require zircon + (home-page "https://fuchsia.googlesource.com/garnet/") + (synopsis "Rust bindings for the Zircon kernel") + (description "Rust bindings for the Zircon kernel.") + (license license:bsd-3))) + +(define-public rust-fuchsia-zircon-sys + (package + (name "rust-fuchsia-zircon-sys") + (version "0.3.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "fuchsia-zircon-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "19zp2085qsyq2bh1gvcxq1lb8w6v6jj9kbdkhpdjrl95fypakjix")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f)) ; tests require zircon + (home-page "https://fuchsia.googlesource.com/garnet/") + (synopsis "Low-level Rust bindings for the Zircon kernel") + (description "Low-level Rust bindings for the Zircon kernel.") + (license license:bsd-3))) + (define-public rust-futures (package (name "rust-futures") @@ -253,6 +593,77 @@ (define-public rust-futures (license (list license:asl2.0 license:expat)))) +(define-public rust-futures-cpupool + (package + (name "rust-futures-cpupool") + (version "0.1.8") + (source + (origin + (method url-fetch) + (uri (crate-uri "futures-cpupool" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1r32456gpblzfvnkf60545v8acqk7gh5zhyhi1jn669k9gicv45b")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-futures" ,rust-futures) + ("rust-num-cpus" ,rust-num-cpus)))) + (home-page "https://github.com/alexcrichton/futures-rs") + (synopsis "Implementation of thread pools which hand out futures") + (description + "An implementation of thread pools which hand out futures to the results of +the computation on the threads themselves.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-futures-io-preview + (package + (name "rust-futures-io-preview") + (version "0.3.0-alpha.17") + (source + (origin + (method url-fetch) + (uri (crate-uri "futures-io-preview" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0fhvwhdb8ywjjbfng0ra1r8yyc9yzpyxg9sv3spb3f7w0lk40bh8")))) + (build-system cargo-build-system) + (home-page "https://rust-lang-nursery.github.io/futures-rs/") + (synopsis "Async read and write traits for the futures library") + (description "This crate provides the @code{AsyncRead} and +@code{AsyncWrite} traits for the @code{futures-rs} library.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-heapsize + (package + (name "rust-heapsize") + (version "0.4.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "heapsize" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0q94q9ppqjgrw71swiyia4hgby2cz6dldp7ij57nkvhd6zmfcy8n")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-winapi" ,rust-winapi)) + ;; Tests assume rust is built with jemalloc. + ;; https://github.com/servo/heapsize/issues/74 + #:cargo-test-flags '("--features" "flexible-tests"))) + (home-page "https://github.com/servo/heapsize") + (synopsis "Measure the total runtime size of an object on the heap") + (description + "Infrastructure for measuring the total runtime size of an object on the +heap.") + (license (list license:asl2.0 + license:expat)))) + (define-public rust-hex (package (name "rust-hex") @@ -273,6 +684,53 @@ (define-public rust-hex (license (list license:asl2.0 license:expat)))) +(define-public rust-hostname + (package + (name "rust-hostname") + (version "0.1.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "hostname" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0kprf862qaa7lwdms6aw7f3275h0j2rwhs9nz5784pm8hdmb9ki1")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc) + ("rust-winutil" ,rust-winutil)))) + (home-page "https://github.com/fengcen/hostname") + (synopsis "Get hostname for Rust") + (description + "Get hostname for Rust.") + (license license:expat))) + +(define-public rust-iovec + (package + (name "rust-iovec") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "iovec" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "025vi072m22299z3fg73qid188z2iip7k41ba6v5v5yhwwby9rnv")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc) + ("rust-winapi" ,rust-winapi-0.2)))) + (home-page "https://github.com/carllerche/iovec") + (synopsis "Portable buffer type for scatter/gather I/O operations") + (description + "Portable buffer type for scatter/gather I/O operations.") + (license (list license:asl2.0 + license:expat)))) + (define-public rust-itoa (package (name "rust-itoa") @@ -313,6 +771,94 @@ (define-public rust-json (license (list license:asl2.0 license:expat)))) +(define-public rust-kernel32-sys + (package + (name "rust-kernel32-sys") + (version "0.2.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "kernel32-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1389av0601a9yz8dvx5zha9vmkd6ik7ax0idpb032d28555n41vm")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-winapi" ,rust-winapi-0.2) + ("rust-winapi-build" ,rust-winapi-build)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-Cargo-toml + (lambda _ + (substitute* "Cargo.toml" + ((", path =.* }") "}\n")) + #t))))) + (home-page "https://github.com/retep998/winapi-rs") + (synopsis "Function definitions for the Windows API library kernel32") + (description "Contains function definitions for the Windows API library +kernel32.") + (license license:expat))) + +(define-public rust-lazy-static + (package + (name "rust-lazy-static") + (version "1.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "lazy_static" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "052ac27w189hrf1j3hz7sga46rp84zl2hqnzyihxv78mgzr2jmxw")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-spin" ,rust-spin)))) + (home-page "https://github.com/rust-lang-nursery/lazy-static.rs") + (synopsis "Macro for declaring lazily evaluated statics in Rust") + (description + "This package provides a macro for declaring lazily evaluated statics in +Rust. Using this macro, it is possible to have @code{static}s that require code +to be executed at runtime in order to be initialized. This includes anything +requiring heap allocations, like vectors or hash maps, as well as anything that +requires non-const function calls to be computed.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-libc + (package + (name "rust-libc") + (version "0.2.62") + (source + (origin + (method url-fetch) + (uri (crate-uri "libc" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1fh69kpjg8hqff36kdczx7sax98gk4qs4ws1dwvjz0rgip0d5z1l")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core)))) + (home-page "https://github.com/rust-lang/libc") + (synopsis "Raw FFI bindings to platform libraries like libc") + (description + "libc provides all of the definitions necessary to easily +interoperate with C code (or \"C-like\" code) on each of the platforms +that Rust supports. This includes type definitions (e.g., c_int), +constants (e.g., EINVAL) as well as function headers (e.g., malloc). + +This crate exports all underlying platform types, functions, and +constants under the crate root, so all items are accessible as +@samp{libc::foo}. The types and values of all the exported APIs match +the platform that libc is compiled for.") + (license (list license:expat + license:asl2.0)))) + (define-public rust-maplit (package (name "rust-maplit") @@ -371,6 +917,222 @@ (define-public rust-md5 (license (list license:asl2.0 license:expat)))) +(define-public rust-mime + (package + (name "rust-mime") + (version "0.3.13") + (source + (origin + (method url-fetch) + (uri (crate-uri "mime" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "09clbyvdkwflp8anwjhqdib0sw8191gphcchdp80nc8ayhhwl9ry")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-unicase" ,rust-unicase)))) + (home-page "https://github.com/hyperium/mime") + (synopsis "Strongly Typed Mimes") + (description + "Support MIME (HTTP Media Types) as strong types in Rust.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-modifier + (package + (name "rust-modifier") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "modifier" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0n3fmgli1nsskl0whrfzm1gk0rmwwl6pw1q4nb9sqqmn5h8wkxa1")))) + (build-system cargo-build-system) + (home-page "https://github.com/reem/rust-modifier") + (synopsis + "Chaining APIs for both self -> Self and &mut self methods.") + (description + "Chaining APIs for both self -> Self and &mut self methods.") + (license license:expat))) + +(define-public rust-net2 + (package + (name "rust-net2") + (version "0.2.33") + (source + (origin + (method url-fetch) + (uri (crate-uri "net2" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "126g3fgfxp06zimc1l9iyxnn9cif1hjsg7sd81nlls5nnyghsma2")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if) + ("rust-libc" ,rust-libc) + ("rust-winapi" ,rust-winapi)))) + (home-page "https://github.com/rust-lang-nursery/net2-rs") + (synopsis "Extensions to the standard library's networking types") + (description + "This library contains extensions to the standard library's networking +types as proposed in RFC 1158.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-nodrop + (package + (name "rust-nodrop") + (version "0.1.13") + (source + (origin + (method url-fetch) + (uri (crate-uri "nodrop" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0if9ifn6rvar5jirx4b3qh4sl5kjkmcifycvzhxa9j3crkfng5ig")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-nodrop-union" ,rust-nodrop-union)))) + (home-page "https://github.com/bluss/arrayvec") + (synopsis "Wrapper type to inhibit drop (destructor)") + (description "This package provides a wrapper type to inhibit drop +(destructor). Use @code{std::mem::ManuallyDrop} instead!") + (license (list license:asl2.0 + license:expat)))) + +;; This package requires features which are unavailable +;; on the stable releases of Rust. +(define-public rust-nodrop-union + (package + (name "rust-nodrop-union") + (version "0.1.10") + (source + (origin + (method url-fetch) + (uri (crate-uri "nodrop-union" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0jsnkdn9l8jlmb9h4wssi76sxnyxwnyi00p6y1p2gdq7c1gdw2b7")))) + (build-system cargo-build-system) + (home-page "https://github.com/bluss/arrayvec") + (synopsis "Wrapper type to inhibit drop (destructor)") + (description "This package provides a wrapper type to inhibit drop +(destructor). Implementation crate for nodrop, the untagged unions +implementation (which is unstable / requires nightly).") + (properties '((hidden? . #t))) + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-num-cpus + (package + (name "rust-num-cpus") + (version "1.10.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "num_cpus" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0wrj3zvj6h3q26sqj9zxpd59frjb54n7jhjwf307clq31ic47vxw")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc)) + #:cargo-development-inputs + (("rust-doc-comment" ,rust-doc-comment)))) + (home-page "https://github.com/seanmonstar/num_cpus") + (synopsis "Get the number of CPUs on a machine") + (description + "Get the number of CPUs on a machine.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-num-integer + (package + (name "rust-num-integer") + (version "0.1.41") + (source + (origin + (method url-fetch) + (uri (crate-uri "num-integer" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "02dwjjpfbi16c71fq689s4sw3ih52cvfzr5z5gs6qpr5z0g58pmq")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-autocfg" ,rust-autocfg) + ("rust-num-traits" ,rust-num-traits)))) + (home-page "https://github.com/rust-num/num-integer") + (synopsis "Integer traits and functions") + (description "Integer traits and functions.") + ;; Dual licensed. + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-num-iter + (package + (name "rust-num-iter") + (version "0.1.39") + (source + (origin + (method url-fetch) + (uri (crate-uri "num-iter" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0bhk2qbr3261r6zvfc58lz4spfqjhvdripxgz5mks5rd85r55gbn")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-num-integer" ,rust-num-integer) + ("rust-num-traits" ,rust-num-traits)) + #:cargo-development-inputs + (("rust-autocfg" ,rust-autocfg)))) + (home-page "https://github.com/rust-num/num-iter") + (synopsis "External iterators for generic mathematics") + (description + "This crate provides external iterators for generic mathematics.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-num-traits + (package + (name "rust-num-traits") + (version "0.2.8") + (source + (origin + (method url-fetch) + (uri (crate-uri "num-traits" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0clvrm34rrqc8p6gq5ps5fcgws3kgq5knh7nlqxf2ayarwks9abb")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-autocfg" ,rust-autocfg)))) + (home-page "https://github.com/rust-num/num-traits") + (synopsis "Numeric traits for generic mathematics") + (description "Numeric traits for generic mathematics.") + ;; Dual licensed. + (license (list license:asl2.0 + license:expat)))) + (define-public rust-peeking-take-while (package (name "rust-peeking-take-while") @@ -413,6 +1175,28 @@ (define-public rust-percent-encoding (license (list license:asl2.0 license:expat)))) +(define-public rust-permutohedron + (package + (name "rust-permutohedron") + (version "0.2.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "permutohedron" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0b1pzh48j86v46wxngch6k1kx9cdw3jr3lwa86gd6jd4bmxzz1xn")))) + (build-system cargo-build-system) + (home-page "https://github.com/bluss/permutohedron") + (synopsis "Generate permutations of sequences") + (description + "Generate permutations of sequences. Either lexicographical order +permutations, or a minimal swaps permutation sequence implemented using Heap's +algorithm.") + (license (list license:asl2.0 + license:expat)))) + (define-public rust-pin-utils (package (name "rust-pin-utils") @@ -432,6 +1216,32 @@ (define-public rust-pin-utils (license (list license:asl2.0 license:expat)))) +(define-public rust-pkg-config + (package + (name "rust-pkg-config") + (version "0.3.14") + (source + (origin + (method url-fetch) + (uri (crate-uri "pkg-config" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "135ia995lqzr0gxpk85h0bjxf82kj6hbxdx924sh9jdln6r8wvk7")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-lazy-static" ,rust-lazy-static)))) + (inputs + `(("pkg-config" ,pkg-config))) + (home-page "https://github.com/alexcrichton/pkg-config-rs") + (synopsis "Library to run the pkg-config system tool") + (description + "A library to run the pkg-config system tool at build time in order to be +used in Cargo build scripts.") + (license (list license:asl2.0 + license:expat)))) + (define-public rust-plain (package (name "rust-plain") @@ -452,6 +1262,30 @@ (define-public rust-plain (license (list license:asl2.0 license:expat)))) +(define-public rust-plugin + (package + (name "rust-plugin") + (version "0.2.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "plugin" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1q7nghkpvxxr168y2jnzh3w7qc9vfrby9n7ygy3xpj0bj71hsshs")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-typemap" ,rust-typemap)) + #:cargo-development-inputs + (("rust-void" ,rust-void)))) + (home-page "https://github.com/reem/rust-plugin") + (synopsis "Lazily evaluated, order-independent plugins for extensible types") + (description + "Lazily evaluated, order-independent plugins for extensible types.") + (license license:expat))) + (define-public rust-pocket-resources (package (name "rust-pocket-resources") @@ -558,6 +1392,107 @@ (define-public rust-quote ;; Dual licensed. (license (list license:asl2.0 license:expat)))) +(define-public rust-rawpointer + (package + (name "rust-rawpointer") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rawpointer" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "06ghpm9y7gacks78s3maakha07kbnwrxif5q37r2l7z1sali3b7b")))) + (build-system cargo-build-system) + (home-page "https://github.com/bluss/rawpointer/") + (synopsis "Extra methods for raw pointers") + (description "Extra methods for raw pointers. For example +@code{.post_inc()} and @code{.pre_dec()} (c.f. @code{ptr++} and @code{--ptr}) +and @code{ptrdistance}.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-regex-syntax + (package + (name "rust-regex-syntax") + (version "0.6.10") + (source + (origin + (method url-fetch) + (uri (crate-uri "regex-syntax" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0p47lf38yj2g2fnmvnraccqlxwk35zr76hlnqi8yva932nzqam6d")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-ucd-util" ,rust-ucd-util)))) + (home-page "https://github.com/rust-lang/regex") + (synopsis "Regular expression parser") + (description + "This package provides a regular expression parser.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-remove-dir-all + (package + (name "rust-remove-dir-all") + (version "0.5.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "remove_dir_all" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0bkrlyg26mgizpiy1yb2hhpgscxcag8r5fnckqsvk25608vzm0sa")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-winapi" ,rust-winapi)) + #:cargo-development-inputs + (("rust-doc-comment" ,rust-doc-comment)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-source + ;; The test phase expects there to be a README.md in the root directory. + (lambda _ + (invoke "touch" "README.md")))))) + (home-page "https://github.com/XAMPPRocky/remove_dir_all.git") + (synopsis "Implementation of remove_dir_all for Windows") + (description + "This package provides a safe, reliable implementation of +@code{remove_dir_all} for Windows") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-resolv-conf + (package + (name "rust-resolv-conf") + (version "0.6.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "resolv-conf" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1jvdsmksdf6yiipm3aqahyv8n1cjd7wqc8sa0p0gzsax3fmb8qxj")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-quick-error" ,rust-quick-error) + ("rust-hostname" ,rust-hostname)) + #:cargo-test-flags '("--release" "--lib" "--examples"))) ; doc tests fail + (home-page "https://github.com/tailhook/resolv-conf") + (synopsis "/etc/resolv.conf parser") + (description + "An /etc/resolv.conf parser crate for Rust.") + (license (list license:asl2.0 + license:expat)))) + (define-public rust-rustc-std-workspace-core (package (name "rust-rustc-std-workspace-core") @@ -578,6 +1513,74 @@ (define-public rust-rustc-std-workspace-core (license (list license:asl2.0 license:expat)))) +(define-public rust-safemem + (package + (name "rust-safemem") + (version "0.3.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "safemem" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1l1ljkm4lpyryrv2ndaxi1f7z1f3v9bwy1rzl9f9mbhx04iq9c6j")))) + (build-system cargo-build-system) + (home-page "https://github.com/abonander/safemem") + (synopsis "Safe wrappers for memory-accessing functions") + (description + "Safe wrappers for memory-accessing functions, like @code{std::ptr::copy()}.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-same-file + (package + (name "rust-same-file") + (version "1.0.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "same-file" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "08a4zy10pjindf2rah320s6shgswk13mqw7s61m8i1y1xpf8spjq")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-winapi-util" ,rust-winapi-util)))) + (home-page "https://github.com/BurntSushi/same-file") + (synopsis "Determine whether two file paths point to the same file") + (description + "This package provides a simple crate for determining whether two file +paths point to the same file.") + (license (list license:unlicense + license:expat)))) + +(define-public rust-schannel + (package + (name "rust-schannel") + (version "0.1.15") + (source + (origin + (method url-fetch) + (uri (crate-uri "schannel" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0f9k4pm8yc3z0n1n8hazvnrvg52f0sfxjc91bhf3r76rb3rapxpj")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-lazy-static" ,rust-lazy-static) + ("rust-winapi" ,rust-winapi)))) + (home-page "https://github.com/steffengy/schannel-rs") + (synopsis "Rust bindings to the Windows SChannel APIs") + (description + "Rust bindings to the Windows SChannel APIs providing TLS client and +server functionality.") + (license license:expat))) + (define-public rust-scoped-tls (package (name "rust-scoped-tls") @@ -599,6 +1602,20 @@ (define-public rust-scoped-tls (license (list license:asl2.0 license:expat)))) +(define-public rust-scoped-tls-0.1 + (package + (inherit rust-scoped-tls) + (name "rust-scoped-tls") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "scoped-tls" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0a2bn9d2mb07c6l16sadijy4p540g498zddfxyiq4rsqpwrglbrk")))))) + (define-public rust-scopeguard (package (name "rust-scopeguard") @@ -622,6 +1639,45 @@ (define-public rust-scopeguard (license (list license:asl2.0 license:expat)))) +(define-public rust-scopeguard-0.3 + (package + (inherit rust-scopeguard) + (name "rust-scopeguard") + (version "0.3.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "scopeguard" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "09sy9wbqp409pkwmqni40qmwa99ldqpl48pp95m1xw8sc19qy9cl")))))) + +(define-public rust-security-framework-sys + (package + (name "rust-security-framework-sys") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "security-framework-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0mlsakq9kmqyc0fg2hcbgm6rjk55mb0rhjw2wid3hqdzkjcghdln")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-core-foundation-sys" + ,rust-core-foundation-sys)))) + (home-page "https://lib.rs/crates/security-framework-sys") + (synopsis "Apple `Security.framework` low-level FFI bindings") + (description + "Apple `Security.framework` low-level FFI bindings.") + (license (list license:asl2.0 + license:expat)))) + (define-public rust-semver-parser (package (name "rust-semver-parser") @@ -700,6 +1756,30 @@ (define-public rust-spin initializers are available.") (license license:expat))) +(define-public rust-stable-deref-trait + (package + (name "rust-stable-deref-trait") + (version "1.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "stable_deref_trait" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1j2lkgakksmz4vc5hfawcch2ipiskrhjs1sih0f3br7s7rys58fv")))) + (build-system cargo-build-system) + (home-page "https://github.com/storyyeller/stable_deref_trait0") + (synopsis "Defines an unsafe marker trait, StableDeref") + (description + "This crate defines an unsafe marker trait, StableDeref, for container +types which deref to a fixed address which is valid even when the containing +type is moved. For example, Box, Vec, Rc, Arc and String implement this trait. +Additionally, it defines CloneStableDeref for types like Rc where clones deref +to the same address.") + (license (list license:asl2.0 + license:expat)))) + (define-public rust-stdweb-internal-runtime (package (name "rust-stdweb-internal-runtime") @@ -720,6 +1800,53 @@ (define-public rust-stdweb-internal-runtime (license (list license:asl2.0 license:expat)))) +(define-public rust-stdweb-internal-test-macro + (package + (name "rust-stdweb-internal-test-macro") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "stdweb-internal-test-macro" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "12rrm7p77xnm3xacgn3rgniiyyjb4gq7902wpbljsvbx045z69l2")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2) + ("rust-quote" ,rust-quote)))) + (home-page "https://github.com/koute/stdweb") + (synopsis "Internal crate of the `stdweb` crate") + (description + "Internal crate of the @code{stdweb} crate.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-streaming-stats + (package + (name "rust-streaming-stats") + (version "0.2.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "streaming-stats" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0l7xz4g6709s80zqpvlhrg0qhgz64r94cwhmfsg8xhabgznbp2px")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-num-traits" ,rust-num-traits)))) + (home-page "https://github.com/BurntSushi/rust-stats") + (synopsis "Compute basic statistics on streams") + (description + "Experimental crate for computing basic statistics on streams.") + (license (list license:unlicense + license:expat)))) + (define-public rust-strsim (package (name "rust-strsim") @@ -759,6 +1886,242 @@ (define-public rust-synstructure-test-traits "This package provides helper test traits for synstructure doctests.") (license license:expat))) +(define-public rust-termcolor + (package + (name "rust-termcolor") + (version "1.0.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "termcolor" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0vjfsn1a8zvqhnrbygrz1id6yckwv1dncw3w4zj65qdx0f00kmln")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-wincolor" ,rust-wincolor)))) + (home-page "https://github.com/BurntSushi/termcolor") + (synopsis "Library for writing colored text to a terminal") + (description "This package provides a simple cross platform library for +writing colored text to a terminal.") + (license (list license:unlicense + license:expat)))) + +(define-public rust-termios + (package + (name "rust-termios") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "termios" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "09any1p4jp4bphvb5ikagnvwjc3xn2djchy96nkpa782xb2j1dkj")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-libc" ,rust-libc)))) + (home-page "https://github.com/dcuddeback/termios-rs") + (synopsis "Safe bindings for the termios library") + (description + "The termios crate provides safe bindings for the Rust programming language +to the terminal I/O interface implemented by Unix operating systems. The safe +bindings are a small wrapper around the raw C functions, which converts integer +return values to @code{std::io::Result} to indicate success or failure.") + (license license:expat))) + +(define-public rust-thread-local + (package + (name "rust-thread-local") + (version "0.3.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "thread_local" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "06rzik99p8c5js8238yhc8rk6np543ylb1dy9nrw5v80j0r3xdf6")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-lazy-static" ,rust-lazy-static)))) + (home-page "https://github.com/Amanieu/thread_local-rs") + (synopsis "Per-object thread-local storage") + (description "Per-object thread-local storage") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-threadpool + (package + (name "rust-threadpool") + (version "1.7.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "threadpool" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0rd89n1q7vy47w4c32cnynibffv9kj3jy3dwr0536n9lbw5ckw72")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-num-cpus" ,rust-num-cpus)))) + (home-page "https://github.com/rust-threadpool/rust-threadpool") + (synopsis "Thread pool for running jobs on a fixed set of worker threads") + (description + "This package provides a thread pool for running a number of jobs on a +fixed set of worker threads.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-tokio-mock-task + (package + (name "rust-tokio-mock-task") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "tokio-mock-task" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1y7q83qfk9ljjfvs82b453pmz9x1v3d6kr4x55j8mal01s6790dw")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-futures" ,rust-futures)))) + (home-page "https://github.com/carllerche/tokio-mock-task") + (synopsis "Mock a Tokio task") + (description "Mock a Tokio task") + (license license:expat))) + +(define-public rust-tracing-core + (package + (name "rust-tracing-core") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "tracing-core" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "01fa73wzw2m5ybi3kkd52dgrw97mgc3i6inmhwys46ab28giwnxi")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-lazy-static" ,rust-lazy-static)))) + (home-page "https://tokio.rs") + (synopsis "Core primitives for application-level tracing") + (description + "Core primitives for application-level tracing.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-traitobject + (package + (name "rust-traitobject") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "traitobject" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0yb0n8822mr59j200fyr2fxgzzgqljyxflx9y8bdy3rlaqngilgg")))) + (build-system cargo-build-system) + (home-page "https://github.com/reem/rust-traitobject.git") + (synopsis "Unsafe helpers for dealing with raw trait objects") + (description "Unsafe helpers for dealing with raw trait objects.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-try-from + (package + (name "rust-try-from") + (version "0.3.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "try_from" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "12wdd4ja7047sd3rx70hv2056hyc8gcdllcx3a41g1rnw64kng98")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if)))) + (home-page "https://github.com/derekjw/try_from") + (synopsis "TryFrom and TryInto traits for failable conversions") + (description + "TryFrom and TryInto traits for failable conversions that return a Result.") + (license license:expat))) + +(define-public rust-try-lock + (package + (name "rust-try-lock") + (version "0.2.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "try-lock" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "10p36rx6pqi9d0zr876xa8vksx2m66ha45myakl50rn08dxyn176")))) + (build-system cargo-build-system) + (home-page "https://github.com/seanmonstar/try-lock") + (synopsis "Lightweight atomic lock") + (description + "This package provides a lightweight atomic lock.") + (license license:expat))) + +(define-public rust-typeable + (package + (name "rust-typeable") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "typeable" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "11w8dywgnm32hb291izjvh4zjd037ccnkk77ahk63l913zwzc40l")))) + (build-system cargo-build-system) + (home-page "https://github.com/reem/rust-typeable") + (synopsis "Exposes Typeable, for getting TypeIds at runtime") + (description "Exposes Typeable, for getting TypeIds at runtime.") + (license license:expat))) + +(define-public rust-typemap + (package + (name "rust-typemap") + (version "0.3.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "typemap" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1xm1gbvz9qisj1l6d36hrl9pw8imr8ngs6qyanjnsad3h0yfcfv5")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-unsafe-any" ,rust-unsafe-any)))) + (home-page "https://github.com/reem/rust-typemap") + (synopsis "Typesafe store for many value types") + (description + "A typesafe store for many value types.") + (license license:expat))) + (define-public rust-typenum (package (name "rust-typenum") @@ -781,6 +2144,29 @@ (define-public rust-typenum (license (list license:asl2.0 license:expat)))) +(define-public rust-ucd-trie + (package + (name "rust-ucd-trie") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "ucd-trie" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1hh6kyzh5xygwy96wfmsf8v8czlzhps2lgbcyhj1xzy1w1xys04g")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-lazy-static" ,rust-lazy-static)))) + (home-page "https://github.com/BurntSushi/ucd-generate") + (synopsis "Trie for storing Unicode codepoint sets and maps") + (description + "This package provides a trie for storing Unicode codepoint sets and maps.") + (license (list license:asl2.0 + license:expat)))) + (define-public rust-ucd-util (package (name "rust-ucd-util") @@ -801,6 +2187,28 @@ (define-public rust-ucd-util (license (list license:asl2.0 license:expat)))) +(define-public rust-unicase + (package + (name "rust-unicase") + (version "2.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "unicase" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1xmpmkakhhblq7dzab1kwyv925kv7fqjkjsxjspg6ix9n88makm8")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-version-check" ,rust-version-check-0.1)))) + (home-page "https://github.com/seanmonstar/unicase") + (synopsis "Case-insensitive wrapper around strings") + (description + "A case-insensitive wrapper around strings.") + (license (list license:asl2.0 + license:expat)))) + (define-public rust-unicode-width (package (name "rust-unicode-width") @@ -863,6 +2271,151 @@ (define-public rust-unindent (license (list license:asl2.0 license:expat)))) +(define-public rust-unsafe-any + (package + (name "rust-unsafe-any") + (version "0.4.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "unsafe-any" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0zwwphsqkw5qaiqmjwngnfpv9ym85qcsyj7adip9qplzjzbn00zk")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-traitobject" ,rust-traitobject)))) + (home-page "https://tokio.rs") + (synopsis "Traits and implementations for unchecked downcasting") + (description + "Traits and implementations for unchecked downcasting.") + (license license:expat))) + +(define-public rust-untrusted + (package + (name "rust-untrusted") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "untrusted" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1kmfykcwif6ashkwg54gcnhxj03kpba2i9vc7z5rpr0xlgvrwdk0")))) + (build-system cargo-build-system) + (home-page "https://github.com/briansmith/untrusted") + (synopsis "Zero-allocation parsing of untrusted inputs in Rust") + (description + "Safe, fast, zero-panic, zero-crashing, zero-allocation parsing of +untrusted inputs in Rust.") + (license license:isc))) + +(define-public rust-version-check + (package + (name "rust-version-check") + (version "0.9.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "version_check" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1kikqlnggii1rvnxrbls55sc46lxvinz5k3giscgncjj4p87b1q7")))) + (build-system cargo-build-system) + (home-page "https://github.com/SergioBenitez/version_check") + (synopsis "Check that the installed rustc meets some version requirements") + (description + "This tiny crate checks that the running or installed rustc meets some +version requirements. The version is queried by calling the Rust compiler with +@code{--version}. The path to the compiler is determined first via the +@code{RUSTC} environment variable. If it is not set, then @code{rustc} is used. +If that fails, no determination is made, and calls return None.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-version-check-0.1 + (package + (inherit rust-version-check) + (name "rust-version-check") + (version "0.1.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "version_check" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1pf91pvj8n6akh7w6j5ypka6aqz08b3qpzgs0ak2kjf4frkiljwi")))))) + +(define-public rust-void + (package + (name "rust-void") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "void" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0zc8f0ksxvmhvgx4fdg0zyn6vdnbxd2xv9hfx4nhzg6kbs4f80ka")))) + (build-system cargo-build-system) + (home-page "https://github.com/reem/rust-void.git") + (synopsis "Void type for use in statically impossible cases") + (description + "The uninhabited void type for use in statically impossible cases.") + (license license:expat))) + +(define-public rust-walkdir + (package + (name "rust-walkdir") + (version "2.2.9") + (source + (origin + (method url-fetch) + (uri (crate-uri "walkdir" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "07ppalpvxkf8cnqr64np422792y4z5bs9m8b4nrflh5rm17wjn4n")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-same-file" ,rust-same-file) + ("rust-winapi" ,rust-winapi) + ("rust-winapi-util" ,rust-winapi-util)) + #:cargo-development-inputs + (("rust-doc-comment" ,rust-doc-comment)))) + (home-page "https://github.com/BurntSushi/walkdir") + (synopsis "Recursively walk a directory") + (description "Recursively walk a directory.") + (license (list license:unlicense + license:expat)))) + +(define-public rust-wasi + (package + (name "rust-wasi") + (version "0.5.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "wasi" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ir3pd4phdfml0cbziw9bqp7mnk0vfp9biy8bh25lln6raml4m7x")))) + (build-system cargo-build-system) + (home-page "https://github.com/CraneStation/rust-wasi") + (synopsis "Experimental WASI API bindings for Rust") + (description "This package contains experimental WASI API bindings +in Rust.") + (license license:asl2.0))) + (define-public rust-wasm-bindgen-shared (package (name "rust-wasm-bindgen-shared") @@ -883,10 +2436,59 @@ (define-public rust-wasm-bindgen-shared (license (list license:asl2.0 license:expat)))) +(define-public rust-wasm-bindgen-test-macro + (package + (name "rust-wasm-bindgen-test-macro") + (version "0.2.48") + (source + (origin + (method url-fetch) + (uri (crate-uri "wasm-bindgen-test-macro" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0n28mr6vncf1k1qr2b5bvfxq4jvqkjdzq0z0ab6w2f5d6v8q3q3l")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2) + ("rust-quote" ,rust-quote)))) + (home-page "https://github.com/rustwasm/wasm-bindgen") + (synopsis "Internal testing macro for wasm-bindgen") + (description + "This library contains the internal testing macro for wasm-bindgen.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-widestring + (package + (name "rust-widestring") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "widestring" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1dhx6dndjsz1y7c9w06922412kdxyrrkqblvggm76mh8z17hxz7g")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-winapi" ,rust-winapi)))) + (home-page "https://github.com/starkat99/widestring-rs") + (synopsis "Wide string Rust FFI library") + (description + "A wide string Rust FFI library for converting to and from wide strings, +such as those often used in Windows API or other FFI libaries. Both UTF-16 and +UTF-32 types are provided, including support for malformed encoding.") + (license (list license:asl2.0 + license:expat)))) + (define-public rust-winapi (package (name "rust-winapi") - (version "0.3.7") + (version "0.3.8") (source (origin (method url-fetch) @@ -894,7 +2496,7 @@ (define-public rust-winapi (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0w7pbhcl087lkggxdflfp2i92rq89ahsfdkjkv44fgmiy9m3h3pi")))) + "1ii9j9lzrhwri0902652awifzx9fpayimbp6hfhhc296xcg0k4w0")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -909,6 +2511,46 @@ (define-public rust-winapi (license (list license:asl2.0 license:expat)))) +(define-public rust-winapi-0.2 + (package + (inherit rust-winapi) + (name "rust-winapi") + (version "0.2.8") + (source + (origin + (method url-fetch) + (uri (crate-uri "winapi" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0yh816lh6lf56dpsgxy189c2ai1z3j8mw9si6izqb6wsjkbcjz8n")))) + ;; We do not want to package 48 -sys crates for a package we do not want. + ;; They are all dev dependencies, so we skip building and testing. + (arguments + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (delete 'build)))))) + +(define-public rust-winapi-build + (package + (name "rust-winapi-build") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "winapi-build" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1g4rqsgjky0a7530qajn2bbfcrl2v0zb39idgdws9b1l7gp5wc9d")))) + (build-system cargo-build-system) + (home-page "https://github.com/retep998/winapi-rs") + (synopsis "Common code for build.rs in WinAPI -sys crates") + (description + "Common code for build.rs in WinAPI -sys crates.") + (license license:expat))) + (define-public rust-winapi-i686-pc-windows-gnu (package (name "rust-winapi-i686-pc-windows-gnu") @@ -930,6 +2572,29 @@ (define-public rust-winapi-i686-pc-windows-gnu (license (list license:asl2.0 license:expat)))) +(define-public rust-winapi-util + (package + (name "rust-winapi-util") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "winapi-util" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1j839dc6y8vszvrsb7yk0qvs0w6asnahxzbyans37vnsw6vbls3i")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-winapi" ,rust-winapi)))) + (home-page "https://github.com/BurntSushi/winapi-util") + (synopsis "Dumping ground for high level safe wrappers over winapi") + (description + "This package provides a dumping ground for high level safe wrappers over +winapi.") + (license (list license:unlicense + license:expat)))) + (define-public rust-winapi-x86-64-pc-windows-gnu (package (name "rust-winapi-x86-64-pc-windows-gnu") @@ -950,3 +2615,106 @@ (define-public rust-winapi-x86-64-pc-windows-gnu @code{winapi} instead.") (license (list license:asl2.0 license:expat)))) + +(define-public rust-wincolor + (package + (name "rust-wincolor") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "wincolor" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1agaf3hcav113i86912ajnw6jxcy4rvkrgyf8gdj8kc031mh3xcn")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-winapi" ,rust-winapi) + ("rust-winapi-util" ,rust-winapi-util)))) + (home-page "https://github.com/BurntSushi/termcolor/tree/master/wincolor") + (synopsis "Windows API for controlling text color in a Windows console") + (description + "This package provides a simple Windows specific API for controlling text +color in a Windows console.") + (license (list license:unlicense + license:expat)))) + +(define-public rust-winutil + (package + (name "rust-winutil") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "winutil" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0vkyl3fbbf05n5ph5yz8sfaccrk9x3qsr25560w6w68ldf5i7bvx")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-winapi" ,rust-winapi)) + ;; This unmaintained crate cannot find winapi when built directly. + #:tests? #f + #:phases + (modify-phases %standard-phases + (delete 'build)))) + (home-page "https://bitbucket.org/DaveLancaster/winutil") + (synopsis "Library wrapping a handful of useful winapi functions") + (description + "A simple library wrapping a handful of useful winapi functions.") + (license license:expat))) + +(define-public rust-ws2-32-sys + (package + (name "rust-ws2-32-sys") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "ws2_32-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ppscg5qfqaw0gzwv2a4nhn5bn01ff9iwn6ysqnzm4n8s3myz76m")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-winapi" ,rust-winapi-0.2) + ("rust-winapi-build" ,rust-winapi-build)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-Cargo-toml + (lambda _ + (substitute* "Cargo.toml" + ((", path =.* }") "}\n")) + #t))))) + (home-page "https://github.com/retep998/winapi-rs") + (synopsis "Function definitions for the Windows API library ws2_32") + (description + "Contains function definitions for the Windows API library ws2_32.") + (license license:expat))) + +(define-public rust-xdg + (package + (name "rust-xdg") + (version "2.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "xdg" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0mws8a0fr3cqk5nh7aq9lmkmhzghvasqy4mhw6nnza06l4d6i2fh")))) + (build-system cargo-build-system) + (home-page "https://github.com/whitequark/rust-xdg") + (synopsis "Store and retrieve files according to XDG specification") + (description + "This package provides a library for storing and retrieving files according +to XDG Base Directory specification") + (license (list license:asl2.0 + license:expat)))) diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm index 467aa5d84c..22b87460ab 100644 --- a/gnu/packages/cups.scm +++ b/gnu/packages/cups.scm @@ -594,7 +594,7 @@ (define-public foomatic-filters (method url-fetch) (uri (string-append "http://www.openprinting.org/download/foomatic/" - name "-" version ".tar.gz")) + "foomatic-filters-" version ".tar.gz")) (sha256 (base32 "1qrkgbm5jay2r7sh9qbyf0aiyrsl1mdc844hxf7fhw95a0zfbqm2")) @@ -639,14 +639,14 @@ (define-public foomatic-filters (define-public foo2zjs (package (name "foo2zjs") - (version "20190413") + (version "20190517") (source (origin (method url-fetch) ;; XXX: This is an unversioned URL! (uri "http://foo2zjs.rkkda.com/foo2zjs.tar.gz") (sha256 (base32 - "0djzp3ddslmzyxkjhzkhkg6qqqm02whjfnfvh5glprkshcskzlg9")))) + "13gzsd26nq4brx1xzpwmg1qnr4nk7ykgi94qr1hbjqfi561prki4")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases diff --git a/gnu/packages/cvassistant.scm b/gnu/packages/cvassistant.scm new file mode 100644 index 0000000000..f57806d734 --- /dev/null +++ b/gnu/packages/cvassistant.scm @@ -0,0 +1,90 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2019 Nicolas Goaziou +;;; Copyright © 2019 Jesse Gibbons +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages cvassistant) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages qt) + #:use-module (gnu packages compression)) + +(define-public cvassistant + (package + (name "cvassistant") + (version "3.1.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/cvassistant/" + "cvassistant-" version "-src.tar.bz2")) + (sha256 + (base32 + "1y2680bazyiwm50gdhdd4982ckbjscrkbw2mngyk7yw708iadvr7")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'remove-donation-banner + ;; Remove dialog box with a donation link, as suggested by + ;; the INSTALL file. + (lambda _ + (substitute* "controllers/mainwindow.cpp" + (("//(#define NO_DONATION_PROMPT)" _ line) line)) + #t)) + (add-after 'unpack 'fix-quazip-directory + (lambda _ + (substitute* "models/resumedocument.h" + (("quazip(/quazipfile\\.h)" _ suffix) + (string-append "quazip5" suffix))) + #t)) + (add-after 'fix-quazip-directory 'fix-quazip-link + (lambda _ + (substitute* "CVAssistant.pro" + (("lquazip-qt5") + "lquazip5")) + #t)) + (add-after 'fix-quazip-directory 'fix-install-root + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* "CVAssistant.pro" + (("/usr/(bin|share/)" _ suffix) + (string-append out "/" suffix))) + #t))) + (replace 'configure + (lambda _ (invoke "qmake")))))) + (inputs + `(("qtbase" ,qtbase) + ("quazip" ,quazip) + ("zlib" ,zlib))) + (home-page "https://cvassistant.sourceforge.io/") + (synopsis "Job application organizer") + (description "Whether you're looking for a job or trying to help + a friend to find one, CVAssistant is a tool for you. It helps you by + preparing resumes and cover letters and organizing your job + application process. It: + @itemize + @item Stores all your skills and experiences. + @item Creates resumes tailored for each job you apply. + @item Creates cover letters summarized to match each job + advertisement. + @item Keeps a history of job applications so you are ready when you + receive a phone call. + @item Writes resumes in your language. All languages are supported! + @end itemize") + (license license:gpl3+))) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 4194f1f607..a15ac62b8f 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -2101,20 +2101,19 @@ (define-public python2-pyodbc-c (define-public python-pyodbc (package (name "python-pyodbc") - (version "4.0.26") + (version "4.0.27") (source (origin (method url-fetch) (uri (pypi-uri "pyodbc" version)) (sha256 - (base32 "1qrxnf7ji5hml7z4y669k4wmk3iz2pcsr05bnn1n912asash09z5")) + (base32 "1kd2i7hc1330cli72vawzby17c3039cqn1aba4i0zrjnpghjhmib")) (file-name (string-append name "-" version ".tar.gz")))) (build-system python-build-system) (inputs `(("unixodbc" ,unixodbc))) (arguments - `(;; No unit tests exist. - #:tests? #f)) + `(#:tests? #f)) ; no unit tests exist (home-page "https://github.com/mkleehammer/pyodbc") (synopsis "Python ODBC Library") (description "@code{python-pyodbc} provides a Python DB-API driver @@ -2431,14 +2430,14 @@ (define-public python2-sqlalchemy-utils (define-public python-alembic (package (name "python-alembic") - (version "1.0.10") + (version "1.0.11") (source (origin (method url-fetch) (uri (pypi-uri "alembic" version)) (sha256 (base32 - "1dwl0264r6ri2jyrjr68am04x538ab26xwy4crqjnnhm4alwm3c2")))) + "1k5hag0vahd5vrf9abx8fdj2whrwaw2iq2yp736mmxnbsn5xkdyd")))) (build-system python-build-system) (native-inputs `(("python-mock" ,python-mock) @@ -2449,8 +2448,7 @@ (define-public python-alembic ("python-mako" ,python-mako) ("python-editor" ,python-editor))) (home-page "https://bitbucket.org/zzzeek/alembic") - (synopsis - "Database migration tool for SQLAlchemy") + (synopsis "Database migration tool for SQLAlchemy") (description "Alembic is a lightweight database migration tool for usage with the SQLAlchemy Database Toolkit for Python.") diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 187ef74b4e..cf53142533 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -760,7 +760,7 @@ (define-public libblockdev (define-public rmlint (package (name "rmlint") - (version "2.8.0") + (version "2.9.0") (source (origin (method git-fetch) (uri (git-reference @@ -769,7 +769,7 @@ (define-public rmlint (file-name (git-file-name name version)) (sha256 (base32 - "1gc7gbnh0qg1kl151cv1ld87vhpm1v3pnkn7prhscdcc21jrg8nz")))) + "1b5cziam14h80xrfb285fmfrzz2rligxcpsq1xsig14xf4l2875i")))) (build-system scons-build-system) (arguments `(#:scons ,scons-python2 diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm index 70e7c8331b..58214747e7 100644 --- a/gnu/packages/education.scm +++ b/gnu/packages/education.scm @@ -481,3 +481,43 @@ (define-public childsplay letters of the alphabet, spelling, eye-hand coordination, etc.") (home-page "http://www.schoolsplay.org") (license license:gpl3+))) + +(define-public fet + (package + (name "fet") + (version "5.39.0") + (source (origin + (method url-fetch) + (uri (string-append "https://www.lalescu.ro/liviu/fet/download/" + "fet-" version ".tar.bz2")) + (sha256 + (base32 + "100bmggkychqs2cavqxy7015lr4icw6k99qb03im0v4jasqqmyix")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-hardcoded-directories + (lambda* (#:key outputs #:allow-other-keys) + (substitute* (list "fet.pro" + "src/src.pro" + "src/src-cl.pro" + "src/interface/fet.cpp") + (("/usr") (assoc-ref outputs "out"))) + #t)) + (replace 'configure + (lambda _ (invoke "qmake" "fet.pro")))))) + (inputs + `(("qtbase" ,qtbase))) + (home-page "https://www.lalescu.ro/liviu/fet/") + (synopsis "Timetabling software") + (description "FET is a program for automatically scheduling the +timetable of a school, high-school or university. It uses a fast and +efficient timetabling algorithm. + +Usually, FET is able to solve a complicated timetable in maximum 5-20 +minutes. For simpler timetables, it may take a shorter time, under +5 minutes (in some cases, a matter of seconds). For extremely +difficult timetables, it may take a longer time, a matter of hours.") + (license license:agpl3+))) + diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 2862f7b975..06043dcdd3 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -905,6 +905,35 @@ (define-public emacs-xr @code{skip-chars-backward}.") (license license:gpl3+))) +(define-public emacs-ample-regexps + (let ((commit "cbe91e148cac1ee8e223874dc956ed4cf607f046") + (revision "1")) + (package + (name "emacs-ample-regexps") + (version (git-version "0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/immerrr/ample-regexps.el") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1mm4icrwx4mscp7kbbmlc34995r164dhrfczn5ybkyxjzzf76jn1")))) + (build-system emacs-build-system) + (native-inputs + `(("ert-runner" ,emacs-ert-runner))) + (arguments + `(#:tests? #t + #:test-command '("ert-runner" "-l" "ample-regexps"))) + (home-page "https://github.com/immerrr/ample-regexps.el") + (synopsis "Compose and reuse Emacs regexps") + (description + "This package allows common parts of regexps to be easily picked out +and reused.") + (license license:gpl3+)))) + (define-public emacs-reformatter (package (name "emacs-reformatter") @@ -3048,30 +3077,27 @@ (define-public emacs-flycheck-flow (license license:gpl3+)))) (define-public emacs-elisp-demos - (let ((commit "4c1fbc392668662890b685ab297e950259227e06") - (version "0.1") - (revision "1")) - (package - (name "emacs-elisp-demos") - (version (git-version version revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/xuchunyang/elisp-demos") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "01cbkmjgmzxdf02w9xgbf4bhnx1mh53vvpkri13yxfksym5zizp4")))) - (build-system emacs-build-system) - (arguments '(#:include '("\\.el$" "\\.org$"))) - (home-page "https://github.com/xuchunyang/elisp-demos/") - (synopsis "Enhance @code{*Help*} buffers with additional examples") - (description - "This package injects example uses of Elisp functions into their + (package + (name "emacs-elisp-demos") + (version "2019.08.16") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/xuchunyang/elisp-demos") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0lybadq66bl4snkwph9i1y0qxln29wyfjn222ii3nfwany28cj66")))) + (build-system emacs-build-system) + (arguments '(#:include '("\\.el$" "\\.org$"))) + (home-page "https://github.com/xuchunyang/elisp-demos/") + (synopsis "Enhance @code{*Help*} buffers with additional examples") + (description + "This package injects example uses of Elisp functions into their respective @code{*Help*} buffers.") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public emacs-docker-compose-mode (package @@ -3876,7 +3902,7 @@ (define-public emacs-tagedit (define-public emacs-slime (package (name "emacs-slime") - (version "2.23") + (version "2.24") (source (origin (method git-fetch) @@ -3885,7 +3911,7 @@ (define-public emacs-slime (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0i637n0ragpbj39hqx65nx5k99xf0464c4w6w1qpzykm6z42grky")))) + (base32 "0js24x42m7b5iymb4rxz501dff19vav5pywnzv50b673rbkaaqvh")))) (build-system emacs-build-system) (native-inputs `(("texinfo" ,texinfo))) @@ -6246,20 +6272,20 @@ (define-public emacs-helm (define-public emacs-helm-swoop (package (name "emacs-helm-swoop") - (version "1.7.4") + (version "2.0.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/ShingoFukuyama/helm-swoop.git") + (url "https://github.com/emacsorphanage/helm-swoop.git") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0b23j1bkpg4pm310hqdhgnl4mxsj05gpl08b6kb2ja4fzrg6adsk")))) + (base32 "0k0ns92g45x8dbymqpl6ylk5mj3wiw2h03f48q5cy1z8in0c4rjd")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-helm" ,emacs-helm))) - (home-page "https://github.com/ShingoFukuyama/helm-swoop") + (home-page "https://github.com/emacsorphanage/helm-swoop") (synopsis "Filter and jump to lines in an Emacs buffer using Helm") (description "This package builds on the Helm interface to provide several commands @@ -6555,8 +6581,8 @@ (define-public emacs-janpath-evil-numbers (license license:gpl3+)))) (define-public emacs-evil-owl - (let ((commit "36a5fe057f44d48e377e3ef4f04b4eb30e1af309") - (revision "1")) + (let ((commit "e8fe5b2f745e36db04cb71eb689bf91c5409614f") + (revision "2")) (package (name "emacs-evil-owl") (version (git-version "0.0.1" revision commit)) @@ -6569,11 +6595,10 @@ (define-public emacs-evil-owl (file-name (git-file-name name version)) (sha256 (base32 - "07a6n0gqss1qx9a50dqzqqq0gj6n7a4ykbcv1a0c9qd4fnfnm90m")))) + "1g7kplna62f271135mnjdbvxk2ayx7m4gvd6l86d2394alx16nhq")))) (build-system emacs-build-system) (propagated-inputs - `(("emacs-evil" ,emacs-evil) - ("emacs-posframe" ,emacs-posframe))) + `(("emacs-evil" ,emacs-evil))) (home-page "https://github.com/mamapanda/evil-owl") (synopsis "Preview candidates when using Evil registers and marks") (description @@ -13617,6 +13642,32 @@ (define-public emacs-evil-multiedit defaults.") (license license:gpl3+))) +(define-public emacs-evil-mc + (let ((commit "5205fe671803465149e578849bbbe803c23a8e4e") + (revision "1")) + (package + (name "emacs-evil-mc") + (version (git-version "0.0.3" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gabesoft/evil-mc.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "03pxpjjxbai4dwp84bgxh52ahh0f6ac58xi2mds1kl4v93nm7v42")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-evil" ,emacs-evil))) + (native-inputs + `(("emacs-espuds" ,emacs-espuds))) + (home-page "https://github.com/gabesoft/evil-mc") + (synopsis "Interactive search compatible with @code{multiple-cursors}") + (description "This package can be used with @code{multiple-cursors} to +provide an incremental search that moves all fake cursors in sync.") + (license license:expat)))) + (define-public emacs-evil-org (let ((commit "b6d652a9163d3430a9e0933a554bdbee5244bbf6")) (package @@ -16129,12 +16180,11 @@ (define-public emacs-matcha (license license:gpl3+)))) (define-public emacs-undo-propose-el - (let ((commit "5f1fa99a04369a959aad01b476fe4f34229f28cd") - (version "1.0.0") + (let ((commit "21a5cdc8ebfe8113f7039867c4abb0197c0fe71c") (revision "1")) (package (name "emacs-undo-propose-el") - (version (git-version version revision commit)) + (version (git-version "3.0.0" revision commit)) (source (origin (method git-fetch) @@ -16144,7 +16194,7 @@ (define-public emacs-undo-propose-el (file-name (git-file-name name version)) (sha256 (base32 - "1p9h1fqmva07mcs46rqrg9vqn537b615as84s9b7xh76k1r8h1c0")))) + "035hav4lfxwgikg3zpb4cz1nf08qfp27awl87dqbm2ly6d74lpny")))) (build-system emacs-build-system) (home-page "https://github.com/jackkamm/undo-propose-el") (synopsis "Simple and safe navigation of @code{undo} history") @@ -17364,7 +17414,8 @@ (define-public emacs-zerodark-theme "0nnlxzsmhsbszqigcyxak9i1a0digrd13gv6v18ck4h760mihh1m")))) (build-system emacs-build-system) (propagated-inputs - `(("emacs-all-the-icons" ,emacs-all-the-icons))) + `(("emacs-flycheck" ,emacs-flycheck) + ("emacs-all-the-icons" ,emacs-all-the-icons))) (home-page "https://gitlab.petton.fr/nico/zerodark-theme") (synopsis diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index f581b2a38a..89649748e8 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -479,16 +479,17 @@ (define-public mupen64plus-core (delete 'configure) ;; Makefile is in a subdirectory. (add-before - 'build 'cd-to-project-dir + 'build 'chdir-to-project-directory (lambda _ - (chdir "projects/unix")))) + (chdir "projects/unix") + #t))) #:make-flags (let ((out (assoc-ref %outputs "out"))) (list "all" (string-append "PREFIX=" out))) ;; There are no tests. #:tests? #f)) ;; As per the Makefile (in projects/unix/Makefile): (supported-systems '("i686-linux" "x86_64-linux")) - (home-page "http://www.mupen64plus.org/") + (home-page "https://www.mupen64plus.org/") (synopsis "Nintendo 64 emulator core library") (description "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator @@ -534,7 +535,7 @@ (define-public mupen64plus-audio-sdl (string-append "APIDIR=" m64p "/include/mupen64plus"))) ;; There are no tests. #:tests? #f)) - (home-page "http://www.mupen64plus.org/") + (home-page "https://www.mupen64plus.org/") (synopsis "Mupen64Plus SDL input plugin") (description "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator @@ -579,7 +580,7 @@ (define-public mupen64plus-input-sdl (string-append "APIDIR=" m64p "/include/mupen64plus"))) ;; There are no tests. #:tests? #f)) - (home-page "http://www.mupen64plus.org/") + (home-page "https://www.mupen64plus.org/") (synopsis "Mupen64Plus SDL input plugin") (description "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator @@ -621,7 +622,7 @@ (define-public mupen64plus-rsp-hle (string-append "APIDIR=" m64p "/include/mupen64plus"))) ;; There are no tests. #:tests? #f)) - (home-page "http://www.mupen64plus.org/") + (home-page "https://www.mupen64plus.org/") (synopsis "Mupen64Plus SDL input plugin") (description "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator @@ -663,7 +664,7 @@ (define-public mupen64plus-rsp-z64 (string-append "APIDIR=" m64p "/include/mupen64plus"))) ;; There are no tests. #:tests? #f)) - (home-page "http://www.mupen64plus.org/") + (home-page "https://www.mupen64plus.org/") (synopsis "Mupen64Plus SDL input plugin") (description "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator @@ -709,7 +710,7 @@ (define-public mupen64plus-video-arachnoid (string-append "APIDIR=" m64p "/include/mupen64plus"))) ;; There are no tests. #:tests? #f)) - (home-page "http://www.mupen64plus.org/") + (home-page "https://www.mupen64plus.org/") (synopsis "Mupen64Plus Rice Video plugin") (description "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator @@ -763,7 +764,7 @@ (define-public mupen64plus-video-glide64 (string-append "APIDIR=" m64p "/include/mupen64plus"))) ;; There are no tests. #:tests? #f)) - (home-page "http://www.mupen64plus.org/") + (home-page "https://www.mupen64plus.org/") (synopsis "Mupen64Plus Rice Video plugin") (description "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator @@ -813,7 +814,7 @@ (define-public mupen64plus-video-glide64mk2 (string-append "APIDIR=" m64p "/include/mupen64plus"))) ;; There are no tests. #:tests? #f)) - (home-page "http://www.mupen64plus.org/") + (home-page "https://www.mupen64plus.org/") (synopsis "Mupen64Plus Rice Video plugin") (description "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator @@ -861,7 +862,7 @@ (define-public mupen64plus-video-rice (string-append "APIDIR=" m64p "/include/mupen64plus"))) ;; There are no tests. #:tests? #f)) - (home-page "http://www.mupen64plus.org/") + (home-page "https://www.mupen64plus.org/") (synopsis "Mupen64Plus Rice Video plugin") (description "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator @@ -916,7 +917,7 @@ (define-public mupen64plus-video-z64 (string-append "APIDIR=" m64p "/include/mupen64plus"))) ;; There are no tests. #:tests? #f)) - (home-page "http://www.mupen64plus.org/") + (home-page "https://www.mupen64plus.org/") (synopsis "Mupen64Plus Z64 video plugin") (description "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator @@ -1043,7 +1044,7 @@ (define-public nestopia-ue (define-public retroarch (package (name "retroarch") - (version "1.7.7") + (version "1.7.8") (source (origin (method git-fetch) @@ -1052,7 +1053,7 @@ (define-public retroarch (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "026720z0vpiwr4da7l2x2yinns09fmg6yxsib203xwnixj399azi")))) + (base32 "0xxd9nhqiclpkdd9crymvba37fl0xs5mikwhya68nfzcgar7w480")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no tests @@ -1074,8 +1075,7 @@ (define-public retroarch (("/bin/true") (which "true"))) ;; Use shared zlib. (substitute* '("libretro-common/file/archive_file_zlib.c" - "libretro-common/streams/trans_stream_zlib.c" - "network/httpserver/httpserver.c") + "libretro-common/streams/trans_stream_zlib.c") (("") "")) ;; The configure script does not yet accept the extra arguments ;; (like ‘CONFIG_SHELL=’) passed by the default configure phase. diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index 90aa48c23c..5e62f5e3da 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -65,7 +65,7 @@ (define-module (gnu packages enlightenment) (define-public efl (package (name "efl") - (version "1.22.2") + (version "1.22.3") (source (origin (method url-fetch) (uri (string-append @@ -73,7 +73,7 @@ (define-public efl version ".tar.xz")) (sha256 (base32 - "1l0wdgzxqm2y919277b1p9d37xzg808zwxxaw0nn44arh8gqk68n")))) + "1j1i8cwq4ym9z34ikv35mdmv5q7q69hdp494mc6l03g9n6cl2yky")))) (outputs '("out" ; 53 MB "include")) ; 21 MB (build-system gnu-build-system) @@ -242,7 +242,7 @@ (define-public terminology (define-public rage (package (name "rage") - (version "0.3.0") + (version "0.3.1") (source (origin (method url-fetch) (uri @@ -251,7 +251,7 @@ (define-public rage version ".tar.xz")) (sha256 (base32 - "0gfzdd4jg78bkmj61yg49w7bzspl5m1nh6agqgs8k7qrq9q26xqy")))) + "04fdk23bbgvni212zrfy4ndg7vmshbsjgicrhckdvhay87pk9i75")))) (build-system meson-build-system) (arguments '(#:phases @@ -273,20 +273,22 @@ (define-public rage (define-public enlightenment (package (name "enlightenment") - (version "0.22.4") + (version "0.23.0") (source (origin (method url-fetch) (uri (string-append "https://download.enlightenment.org/rel/apps/" - name "/" name "-" version ".tar.xz")) + "enlightenment/enlightenment-" version ".tar.xz")) (sha256 (base32 - "0ygy891rrw5c7lhk539nhif77j88phvz2h0fhx172iaridy9kx2r")) + "1y7x594gvyvl5zbb1rnf3clj2pm6j97n8wl5mp9x6xjmhx0d1idq")) (patches (search-patches "enlightenment-fix-setuid-path.patch")))) - (build-system gnu-build-system) + (build-system meson-build-system) (arguments - `(#:phases + `(#:configure-flags '("-Dsystemd=false") + #:phases (modify-phases %standard-phases + (delete 'bootstrap) ; We don't want to run the autogen script. (add-before 'configure 'set-system-actions (lambda* (#:key inputs #:allow-other-keys) (setenv "HOME" "/tmp") @@ -294,6 +296,7 @@ (define-public enlightenment (setxkbmap (assoc-ref inputs "setxkbmap")) (utils (assoc-ref inputs "util-linux")) (libc (assoc-ref inputs "libc")) + (bluez (assoc-ref inputs "bluez")) (efl (assoc-ref inputs "efl"))) ;; We need to patch the path to 'base.lst' to be able ;; to switch the keyboard layout in E. @@ -314,12 +317,14 @@ (define-public enlightenment (string-append efl "/bin/edje_cc -v %s %s %s\""))) (substitute* "src/modules/everything/evry_plug_apps.c" (("/usr/bin/") "")) - (substitute* "configure" + (substitute* "data/etc/meson.build" (("/bin/mount") (string-append utils "/bin/mount")) (("/bin/umount") (string-append utils "/bin/umount")) (("/usr/bin/eject") (string-append utils "/bin/eject")) - (("/etc/acpi/sleep.sh force") "/run/current-system/profile/bin/loginctl suspend") - (("/etc/acpi/hibernate.sh force") "/run/current-system/profile/bin/loginctl hibernate") + (("/usr/bin/l2ping") (string-append bluez "/bin/l2ling")) + (("/bin/rfkill") (string-append utils "/sbin/rfkill")) + (("SUSPEND = ''") "SUSPEND = '/run/current-system/profile/bin/loginctl suspend'") + (("HIBERNATE = ''") "HIBERNATE = '/run/current-system/profile/bin/loginctl hibernate'") (("/sbin/shutdown -h now") "/run/current-system/profile/bin/loginctl poweroff now") (("/sbin/shutdown -r now") "/run/current-system/profile/bin/loginctl reboot now")) #t)))))) @@ -329,12 +334,14 @@ (define-public enlightenment ("util-linux" ,util-linux))) (inputs `(("alsa-lib" ,alsa-lib) + ("bluez" ,bluez) ("dbus" ,dbus) ("efl" ,efl) ("freetype" ,freetype) ("libxcb" ,libxcb) ("libxext" ,libxext) ("linux-pam" ,linux-pam) + ("puleseaudio" ,pulseaudio) ("setxkbmap" ,setxkbmap) ("xcb-util-keysyms" ,xcb-util-keysyms) ("xkeyboard-config" ,xkeyboard-config))) diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm index 7b661d39ac..b4f259bf3a 100644 --- a/gnu/packages/fpga.scm +++ b/gnu/packages/fpga.scm @@ -85,20 +85,20 @@ (define-public abc (define-public iverilog (package (name "iverilog") - (version "10.2") + (version "10.3") (source (origin (method url-fetch) (uri (string-append "ftp://ftp.icarus.com/pub/eda/verilog/v10/" "verilog-" version ".tar.gz")) (sha256 - (base32 - "0075x5nsxwkrgn7b3635il9kw7mslckaji518pdmwdrdn7fxppln")))) + (base32 + "1vv88ckvfwq7mrysyjnilsrcrzm9d173kp9w5ivwh6rdw7klbgc6")))) (build-system gnu-build-system) (native-inputs `(("flex" ,flex) ("bison" ,bison) - ("ghostscript" ,ghostscript))) ; ps2pdf + ("ghostscript" ,ghostscript))) ; ps2pdf (home-page "http://iverilog.icarus.com/") (synopsis "FPGA Verilog simulation and synthesis tool") (description "Icarus Verilog is a Verilog simulation and synthesis tool. diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm index 817104cde1..3239ab4fd5 100644 --- a/gnu/packages/ghostscript.scm +++ b/gnu/packages/ghostscript.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2013 Andreas Enge ;;; Copyright © 2014, 2015, 2016, 2017 Mark H Weaver ;;; Copyright © 2015 Ricardo Wurmus -;;; Copyright © 2013, 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2013, 2015, 2016, 2017, 2019 Ludovic Courtès ;;; Copyright © 2017 Alex Vong ;;; Copyright © 2017, 2018, 2019 Efraim Flashner ;;; Copyright © 2017 Leo Famulari @@ -138,6 +138,12 @@ (define-public ghostscript (package (name "ghostscript") (version "9.27") + + ;; The problems addressed by GHOSTSCRIPT/FIXED are not security-related, + ;; but they have a significant impact on usability, hence this graft. + ;; TODO: Ungraft on next update cycle. + (replacement ghostscript/fixed) + (source (origin (method url-fetch) @@ -269,6 +275,25 @@ (define-public ghostscript (home-page "https://www.ghostscript.com/") (license license:agpl3+))) +(define-public ghostscript/fixed + ;; This adds the Freetype dependency (among other things), which fixes the + ;; rendering issues described in . + (package/inherit + ghostscript + (arguments + (substitute-keyword-arguments (package-arguments ghostscript) + ((#:configure-flags flags ''()) + `(append (list "--disable-compile-inits" + (string-append "--with-fontpath=" + (assoc-ref %build-inputs "gs-fonts") + "/share/fonts/type1/ghostscript")) + ,flags)))) + (native-inputs `(("pkg-config" ,pkg-config) ;needed for freetype + ,@(package-native-inputs ghostscript))) + (inputs `(("gs-fonts" ,gs-fonts) + ("fontconfig" ,fontconfig) + ,@(package-inputs ghostscript))))) + (define-public ghostscript/x (package/inherit ghostscript (name (string-append (package-name ghostscript) "-with-x")) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 3e17330447..3a50347f86 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2018 Alex Vong ;;; Copyright © 2019 Maxim Cournoyer +;;; Copyright © 2019 Giacomo Leidi ;;; ;;; This file is part of GNU Guix. ;;; @@ -925,3 +926,40 @@ (define perl-net-dbus-glib @code{Net::DBus::GLib} rather than the usual @code{Net::DBus} module. Every other API remains the same.") (license license:gpl2+))) + +(define-public template-glib + (package + (name "template-glib") + (version "3.32.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1g0zx0sxpw8kqp7p3sgl9kngaqrg9xl6cir24nrahks0vgsk98rr")))) + (build-system meson-build-system) + (arguments + `(#:configure-flags '("-D" "enable_gtk_doc=true"))) + (inputs + `(("gettext" ,gettext-minimal) + ("glib" ,glib) + ("gobject-introspection" ,gobject-introspection))) + (native-inputs + `(("bison" ,bison) + ("flex" ,flex) + ("glib:bin" ,glib "bin") ;; For glib-mkenums + ("gtk-doc" ,gtk-doc) + ("pkg-config" ,pkg-config) + ("vala" ,vala))) + (home-page "https://gitlab.gnome.org/GNOME/template-glib") + (synopsis "Library for template expansion") + (description + "Template-GLib is a library to help you generate text based on a template and +user defined state. Template-GLib does not use a language runtime, so it is +safe to use from any GObject-Introspectable language. + +Template-GLib allows you to access properties on GObjects as well as call +simple methods via GObject-Introspection.") + (license license:lgpl2.1+))) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index ca00bb0ffd..e37c2a4070 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -8053,7 +8053,7 @@ (define-public ghex (define-public libdazzle (package (name "libdazzle") - (version "3.30.2") + (version "3.33.90") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/libdazzle/" @@ -8061,17 +8061,11 @@ (define-public libdazzle "libdazzle-" version ".tar.xz")) (sha256 (base32 - "1m9n1gcxndly24rjkxzvmx02a2rkb6ad4cy7p6ncanm1kyp0wxvq")))) + "189m7q88d1a7bq0yyal9f3yhm9kz46lb61379nn4wsnnhpa1d0qs")))) (build-system meson-build-system) (arguments `(#:phases (modify-phases %standard-phases - (add-after 'unpack 'disable-failing-test - (lambda _ - ;; Disable failing test. - (substitute* "tests/meson.build" - (("test\\('test-application") "#")) - #t)) (add-before 'check 'pre-check (lambda _ ;; Tests require a running X server. diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index 2653645c5d..e07702f994 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -75,7 +75,8 @@ (define-public libextractor version ".tar.gz")) (sha256 (base32 - "1zz2zvikvfibxnk1va3kgzs7djsmiqy7bmk8y01vbsf54ryjb3zh")))) + "1zz2zvikvfibxnk1va3kgzs7djsmiqy7bmk8y01vbsf54ryjb3zh")) + (patches (search-patches "libextractor-exiv2.patch")))) (build-system gnu-build-system) ;; WARNING: Checks require /dev/shm to be in the build chroot, especially ;; not to be a symbolic link to /run/shm. @@ -146,14 +147,14 @@ (define-public libextractor (define-public libmicrohttpd (package (name "libmicrohttpd") - (version "0.9.65") + (version "0.9.66") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-" version ".tar.gz")) (sha256 (base32 - "1jdk6wigvnkh5bi9if4rik8i9sbvdql61lm8ipgpypyxqmcpjipj")))) + "06xblz77bnn29y7sl43avxbcrjbw486x3416plpr3x3l2pdx8rjf")))) (build-system gnu-build-system) (inputs `(("curl" ,curl) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index a0a1baa9a2..20f5462528 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -15,6 +15,7 @@ ;;; Copyright @ 2018, 2019 Katherine Cox-Buday ;;; Copyright @ 2019 Giovanni Biscuolo ;;; Copyright @ 2019 Alex Griffin +;;; Copyright © 2019 Arun Isaac ;;; ;;; This file is part of GNU Guix. ;;; @@ -3636,3 +3637,26 @@ (define-public go-github-com-maruel-panicparse and aid debugging.") (home-page "https://github.com/maruel/panicparse") (license license:asl2.0))) + +(define-public go-github-com-robfig-cron + (package + (name "go-github-com-robfig-cron") + (version "3.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/robfig/cron") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0bvq5gxkhyj21lq32nma23i4dpwp7bswnp2yks6372ilkcyisx2z")))) + (build-system go-build-system) + (arguments + `(#:import-path "github.com/robfig/cron")) + (home-page "https://godoc.org/github.com/robfig/cron") + (synopsis "Cron library for Go") + (description "This package provides a cron library for Go. It implements +a cron spec parser and job runner.") + (license license:expat))) diff --git a/gnu/packages/gsasl.scm b/gnu/packages/gsasl.scm index 9296f3d80f..c1a0360b0e 100644 --- a/gnu/packages/gsasl.scm +++ b/gnu/packages/gsasl.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2012 Andreas Enge ;;; Copyright © 2017 Ricardo Wurmus ;;; Copyright © 2017 Eric Bavier -;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index b80a0f799a..34f9ca3844 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -21,6 +21,7 @@ ;;; Copyright © 2018 Arun Isaac ;;; Copyright © 2018 Pierre Neidhardt ;;; Copyright © 2019 Meiyo Peng +;;; Copyright © 2019 Giacomo Leidi ;;; ;;; This file is part of GNU Guix. ;;; @@ -1597,7 +1598,8 @@ (define-public gtkspell3 (build-system gnu-build-system) (native-inputs `(("intltool" ,intltool) - ("pkg-config" ,pkg-config))) + ("pkg-config" ,pkg-config) + ("vala" ,vala))) (inputs `(("gobject-introspection" ,gobject-introspection) ("gtk+" ,gtk+) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 16e30b9de7..7dff0c6269 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -21,6 +21,7 @@ ;;; Copyright © 2018 Pierre-Antoine Rouby ;;; Copyright © 2018 Eric Bavier ;;; Copyright © 2019 swedebugia +;;; Copyright © 2019 Amar Singh ;;; ;;; This file is part of GNU Guix. ;;; @@ -55,6 +56,7 @@ (define-module (gnu packages guile-xyz) #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) + #:use-module (gnu packages gnupg) #:use-module (gnu packages gperf) #:use-module (gnu packages gtk) #:use-module (gnu packages guile) @@ -70,6 +72,7 @@ (define-module (gnu packages guile-xyz) #:use-module (gnu packages ncurses) #:use-module (gnu packages networking) #:use-module (gnu packages noweb) + #:use-module (gnu packages password-utils) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) @@ -2350,22 +2353,52 @@ (define-public emacsy ("pkg-config" ,pkg-config) ("texinfo" ,texinfo) ("texlive" ,(texlive-union (list texlive-generic-epsf))))) - (propagated-inputs + (inputs `(("dbus-glib" ,dbus-glib) ("guile" ,guile-2.2) ("guile-lib" ,guile-lib) ("guile-readline" ,guile-readline) - ("glib-networking" ,glib-networking) ("freeglut" ,freeglut) - ("gssettings-desktop-schemas" ,gsettings-desktop-schemas) ("webkitgtk" ,webkitgtk))) + (propagated-inputs + `(("glib-networking" ,glib-networking) + ("gssettings-desktop-schemas" ,gsettings-desktop-schemas))) (arguments - `(#:phases + `(#:modules ((guix build gnu-build-system) + (guix build utils) + (ice-9 popen) + (ice-9 rdelim) + (ice-9 regex) + (ice-9 ftw) + (srfi srfi-26)) + #:phases (modify-phases %standard-phases (add-before 'configure 'setenv (lambda _ (setenv "GUILE_AUTO_COMPILE" "0") - #t))))) + #t)) + (add-after 'install 'wrap-binaries + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (effective (read-line + (open-pipe* OPEN_READ + "guile" "-c" + "(display (effective-version))"))) + (deps (map (cut assoc-ref inputs <>) + '("guile-lib" "guile-readline"))) + (scm-path (map (cut string-append <> "/share/guile/site/" + effective) `(,out ,@deps))) + (go-path (map (cut string-append <> "/lib/guile/" effective + "/site-ccache/") `(,out ,@deps))) + (examples (filter (cut string-match "emacsy" <>) + (scandir (string-append out "/bin/")))) + (progs (map (cut string-append out "/bin/" <>) + examples))) + (map (cut wrap-program <> + `("GUILE_LOAD_PATH" ":" prefix ,scm-path) + `("GUILE_LOAD_COMPILED_PATH" ":" prefix ,go-path)) + progs) + #t)))))) (home-page "https://savannah.nongnu.org/projects/emacsy") (synopsis "Embeddable GNU Emacs-like library using Guile") (description @@ -2377,6 +2410,36 @@ (define-public emacsy in C using Gtk+-3 and WebKitGtk.") (license license:gpl3+))) +(define-public emacsy-minimal + (let ((commit "f3bf0dbd803d7805b6ae8303253507ad13922293")) + (package + (inherit emacsy) + (name "emacsy-minimal") + (version (git-version "v0.4.1" "19" commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.savannah.gnu.org/git/emacsy.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ivy28km1p7nlrf63xx3hvrpxf5ld5amk1wcan3k7sqv1kq9mqdb")))) + (build-system gnu-build-system) + (inputs + `(("guile" ,guile-2.2) + ("guile-lib" ,guile-lib) + ("guile-readline" ,guile-readline))) + (propagated-inputs '()) + (arguments + `(#:configure-flags '("--without-examples") + #:phases + (modify-phases %standard-phases + (add-before 'configure 'setenv + (lambda _ + (setenv "GUILE_AUTO_COMPILE" "0") + #t)))))))) + (define-public guile-jpeg (let ((commit "6a1673578b297c2c1b28e44a76bd5c49e76a5046") (revision "0")) @@ -2410,3 +2473,95 @@ (define-public guile-jpeg "Guile-JPEG is a Scheme library to parse JPEG image files and to perform geometrical transforms on JPEG images.") (license license:gpl3+)))) + +(define-public nomad + (package + (name "nomad") + (version "0.1.1-alpha") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.savannah.gnu.org/git/nomad.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0abz07hl5dh802ciy71xzkvkhyryypq1i94wna40a2wndbd73f7z")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("bash" ,bash) + ("pkg-config" ,pkg-config) + ("libtool" ,libtool) + ("guile" ,guile-2.2) + ("glib:bin" ,glib "bin"))) + (inputs + `(("guile" ,guile-2.2) + ("guile-lib" ,guile-lib) + ("guile-gcrypt" ,guile-gcrypt) + ("guile-readline" ,guile-readline) + ("gnutls" ,gnutls) + ("shroud" ,shroud) + ("emacsy" ,emacsy-minimal) + ("glib" ,glib) + ("dbus-glib" ,dbus-glib) + ("gtk+" ,gtk+) + ("gtksourceview" ,gtksourceview) + ("webkitgtk" ,webkitgtk) + ("xorg-server" ,xorg-server))) + (propagated-inputs + `(("glib" ,glib) + ("glib-networking" ,glib-networking) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas))) + (arguments + `(#:modules ((guix build gnu-build-system) + (guix build utils) + (ice-9 popen) + (ice-9 rdelim) + (srfi srfi-26)) + #:phases + (modify-phases %standard-phases + (add-before 'check 'start-xorg-server + (lambda* (#:key inputs #:allow-other-keys) + ;; The test suite requires a running X server. + (system (format #f "~a/bin/Xvfb :1 &" + (assoc-ref inputs "xorg-server"))) + (setenv "DISPLAY" ":1") + #t)) + (add-after 'install 'wrap-binaries + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (gio-deps (map (cut assoc-ref inputs <>) '("glib-networking" + "glib"))) + (gio-mod-path (map (cut string-append <> "/lib/gio/modules") + gio-deps)) + (effective (read-line (open-pipe* + OPEN_READ + "guile" "-c" + "(display (effective-version))"))) + (deps (map (cut assoc-ref inputs <>) + '("emacsy" "guile-lib" "guile-readline" + "shroud"))) + (scm-path (map (cut string-append <> + "/share/guile/site/" effective) + `(,out ,@deps))) + (go-path (map (cut string-append <> + "/lib/guile/" effective "/site-ccache") + `(,out ,@deps))) + (progs (map (cut string-append out "/bin/" <>) + '("nomad")))) + (map (cut wrap-program <> + `("GIO_EXTRA_MODULES" ":" prefix ,gio-mod-path) + `("GUILE_LOAD_PATH" ":" prefix ,scm-path) + `("GUILE_LOAD_COMPILED_PATH" ":" + prefix ,go-path)) + progs) + #t)))))) + (home-page "https://savannah.nongnu.org/projects/nomad/") + (synopsis "Extensible Web Browser in Guile Scheme") + (description "Nomad is an Emacs-like Web Browser built using Webkitgtk and +Emacsy. It has a small C layer and most browser features are fully +programmable in Guile. It has hooks, keymaps, and self documentation +features.") + (license license:gpl3+))) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index b07a570654..475a6c5ef0 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -264,14 +264,14 @@ (define-public guile-next (package (inherit guile-2.2) (name "guile-next") - (version "2.9.3") + (version "2.9.4") (source (origin (inherit (package-source guile-2.2)) (uri (string-append "ftp://alpha.gnu.org/gnu/guile/guile-" version ".tar.xz")) (sha256 (base32 - "14990wcpysgw58kij03wbgiggmi5z94jmy7wdcqnn6ny7cimkkgr")))) + "1milviqhipyfx400pqhngxpxyajalzwmp597dxn5514pkk0g7v0p")))) (native-search-paths (list (search-path-specification (variable "GUILE_LOAD_PATH") @@ -541,7 +541,7 @@ (define-public guile2.0-sqlite3 (define-public guile-bytestructures (package (name "guile-bytestructures") - (version "1.0.5") + (version "1.0.6") (source (origin (method url-fetch) (uri (string-append "https://github.com/TaylanUB/scheme-bytestructures" @@ -549,7 +549,7 @@ (define-public guile-bytestructures "/bytestructures-" version ".tar.gz")) (sha256 (base32 - "0ibk7fjwpb450lnrva4bx45sgln3pbyb645az4ansvh1spgani43")))) + "07dffrmc6cnw9mmw0pdrqlkbhzzpz0hm8p26z738l2j5i84dypnk")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -563,7 +563,8 @@ (define-public guile-bytestructures system works on raw memory, and Guile works on bytevectors which are an abstraction over raw memory. It's also more powerful than the C type system, elevating types to first-class status.") - (license license:gpl3+))) + (license license:gpl3+) + (properties '((upstream-name . "bytestructures"))))) (define-public guile2.0-bytestructures (package-for-guile-2.0 guile-bytestructures)) diff --git a/gnu/packages/ipfs.scm b/gnu/packages/ipfs.scm index 4f61f2ba66..2dd2097075 100644 --- a/gnu/packages/ipfs.scm +++ b/gnu/packages/ipfs.scm @@ -219,7 +219,7 @@ (define-public gx-go (define-public go-ipfs (package (name "go-ipfs") - (version "0.4.19") + (version "0.4.22") (source (origin (method url-fetch/tarbomb) @@ -227,7 +227,7 @@ (define-public go-ipfs "https://dist.ipfs.io/go-ipfs/v" version "/go-ipfs-source.tar.gz")) (sha256 - (base32 "0s04ap14p6hnipjm27nm5k8s28zv9k5g9mziyh3ibgwn7dzb1kpx")) + (base32 "1gyz9yqb4y7p6vdjbcm66nvm6gjs4mdrjygdn79z3misv1pb5nkg")) (file-name (string-append name "-" version "-source")))) (build-system go-build-system) (arguments diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index f15715ee40..e03d30cb03 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -181,31 +181,31 @@ (define (linux-libre-deblob-scripts version (define deblob-scripts-5.2 (linux-libre-deblob-scripts - "5.2.3" + "5.2.10" (base32 "076fwxlm6jq6z4vg1xq3kr474zz7qk71r90sf9dnfia3rw2pb4fa") (base32 "0d3pp1bqchqc7vnxr1a56km5r0hzjiiipzz2xc3wgjwfi51k9kxc"))) (define deblob-scripts-4.19 (linux-libre-deblob-scripts - "4.19.61" + "4.19.68" (base32 "02zs405awaxydbapka4nz8h6lmnc0dahgczqsrs5s2bmzjyyqkcy") (base32 "1fyacg28aym6virxyn7wk99qil2fjbks3iwm7p3hxy51pccn34za"))) (define deblob-scripts-4.14 (linux-libre-deblob-scripts - "4.14.134" + "4.14.140" (base32 "091jk9jkn9jf39bxpc7395bhcb7p96nkg3a8047380ki06lnfxh6") (base32 "0x9nd3hnyrm753cbgdqmy92mbnyw86w64g4hvyibnkpq5n7s3z9n"))) (define deblob-scripts-4.9 (linux-libre-deblob-scripts - "4.9.186" + "4.9.190" (base32 "1wvldzlv7q2xdbadas87dh593nxr4a8p5n0f8zpm72lja6w18hmg") - (base32 "1gmjn5cwxydg6qb47wcmahwkv37npsjx4papynzkkdxyidmrccya"))) + (base32 "0is8gn4qdd7h5l6lacvhqdch26lmrbgxfm8ab7fx8n85ha7y358w"))) (define deblob-scripts-4.4 (linux-libre-deblob-scripts - "4.4.186" + "4.4.190" (base32 "0x2j1i88am54ih2mk7gyl79g25l9zz4r08xhl482l3fvjj2irwbw") (base32 "1x40lbiaizksy8z38ax7wpqr9ldgq7qvkxbb0ca98vd1axpklb10"))) @@ -349,42 +349,42 @@ (define (%upstream-linux-source version hash) "linux-" version ".tar.xz")) (sha256 hash))) -(define-public linux-libre-5.2-version "5.2.9") +(define-public linux-libre-5.2-version "5.2.11") (define-public linux-libre-5.2-pristine-source (let ((version linux-libre-5.2-version) - (hash (base32 "1rnlnphw9rih4qhdld9ic5lnj5jh4vy5nqbj9lqwv9bc615jmw5n"))) + (hash (base32 "1y9kn1zny3xpmbi5an3g7hbzywnycys8chfaw6laij1xk4gq6ahc"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.2))) -(define-public linux-libre-4.19-version "4.19.67") +(define-public linux-libre-4.19-version "4.19.69") (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "00m5k0nfcvgff70686rbhn3w8c9wc3jxqvyddw40lylaqdh3s72s"))) + (hash (base32 "11yrw8ixd5ni9rlpndqsz2ihx6k8qaf35a1lf164lkhaa85pd4f0"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) -(define-public linux-libre-4.14-version "4.14.139") +(define-public linux-libre-4.14-version "4.14.141") (define-public linux-libre-4.14-pristine-source (let ((version linux-libre-4.14-version) - (hash (base32 "0hkhwcbxg6bry13w9kspx48b10274w6pgv200wh91fjd8jax8qlc"))) + (hash (base32 "05rs411rw10hhnfzvaxmcik3pq20i1i05shvvra4bv164f0z1f8b"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.14))) -(define-public linux-libre-4.9-version "4.9.189") +(define-public linux-libre-4.9-version "4.9.190") (define-public linux-libre-4.9-pristine-source (let ((version linux-libre-4.9-version) - (hash (base32 "1cyhwnxkjd0qa5d48657yppjnzbi830q0p25jjv2dxs629k4bnck"))) + (hash (base32 "05ha3snfk0vdqk9i27icwpq2if0h2jvshavn69ldwqm4h2h1r2py"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.9))) -(define-public linux-libre-4.4-version "4.4.189") +(define-public linux-libre-4.4-version "4.4.190") (define-public linux-libre-4.4-pristine-source (let ((version linux-libre-4.4-version) - (hash (base32 "0nc8v62gw89m3ykqg6nqf749fzm8y1n481ns8vny4gbinyikjhlp"))) + (hash (base32 "1rf28cjrrmj7mm8xqlfld6k20ddk15j4mmyarqibjx9pk9acij7y"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.4))) @@ -4854,14 +4854,14 @@ (define-public efibootmgr (define-public sysstat (package (name "sysstat") - (version "11.4.3") + (version "12.1.6") (source (origin (method url-fetch) - (uri (string-append "http://perso.orange.fr/sebastien.godard/" + (uri (string-append "http://pagesperso-orange.fr/sebastien.godard/" "sysstat-" version ".tar.xz")) (sha256 (base32 - "1ryf9myjzpa2279i3rvsh6fr5psm6qvr5r9kbm1sxyspapxcms82")))) + "0agi17n82k363mf9f7cky3isq195hw112vs98v26yfhm0v2g6lpp")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; No test suite. diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index a42369ba06..34edea41de 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -327,14 +327,14 @@ (define-public clisp (define-public sbcl (package (name "sbcl") - (version "1.5.1") + (version "1.5.5") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/sbcl/sbcl/" version "/sbcl-" version "-source.tar.bz2")) (sha256 - (base32 "08z62qba0kmm15k93s2rq7ipi769895g8iwigcp20qjh6amwnwph")) + (base32 "1qmapk2hyxxqd3ajiqacz4isij0ibx7gn10n8dbmq33gm3kgliyb")) (modules '((guix build utils))) (snippet ;; Add sbcl-bundle-systems to 'default-system-source-registry'. @@ -364,7 +364,8 @@ (define-public sbcl ("inetutils" ,inetutils) ;for hostname(1) ("ed" ,ed) ("texlive" ,(texlive-union (list texlive-tex-texinfo))) - ("texinfo" ,texinfo))) + ("texinfo" ,texinfo) + ("zlib" ,zlib))) (arguments `(#:modules ((guix build gnu-build-system) (guix build utils) @@ -431,7 +432,9 @@ (define (quoted-path input path) (_ `("clisp"))) (string-append "--prefix=" - (assoc-ref outputs "out"))))) + (assoc-ref outputs "out")) + "--with-sb-core-compression" + "--with-sb-xref-for-internals"))) (replace 'install (lambda _ (invoke "sh" "install.sh"))) @@ -440,6 +443,21 @@ (define (quoted-path input path) (with-directory-excursion "doc/manual" (and (invoke "make" "info") (invoke "make" "dist"))))) + (add-after 'build 'build-source + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (rc (string-append out "/lib/sbcl/sbclrc")) + (source-dir (string-append out "/share/sbcl"))) + (for-each (lambda (p) + (copy-recursively p (string-append source-dir "/" p))) + '("src" "contrib")) + (mkdir-p (dirname rc)) + (with-output-to-file rc + (lambda () + (display + (string-append "(sb-ext:set-sbcl-source-location \"" + source-dir "\")") ))) + #t))) (add-after 'install 'install-doc (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -6650,3 +6668,75 @@ (define-public sbcl-cl-str @code{s} is always the last argument, which makes it easier to feed pipes and arrows.") (license license:expat)))) + +(define-public sbcl-cl-xmlspam + (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a")) + (package + (name "sbcl-cl-xmlspam") + (build-system asdf-build-system/sbcl) + (version (git-version "0.0.0" "1" commit)) + (home-page "https://github.com/rogpeppe/cl-xmlspam") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit commit))) + (file-name (string-append name "-" version)) + (sha256 + (base32 + "0w4rqvrgdgk3fwfq3kx4r7wwdr2bv3b6n3bdqwsiriw9psqzpz2s")))) + (inputs + `(("cxml" ,sbcl-cxml) + ("cl-ppcre" ,sbcl-cl-ppcre))) + (synopsis "Concise, regexp-like pattern matching on streaming XML for Common Lisp") + (description "CXML does an excellent job at parsing XML elements, but what +do you do when you have a XML file that's larger than you want to fit in +memory, and you want to extract some information from it? Writing code to deal +with SAX events, or even using Klacks, quickly becomes tedious. +@code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy +to write code that mirrors the structure of the XML that it's parsing. It +also makes it easy to shift paradigms when necessary - the usual Lisp control +constructs can be used interchangeably with pattern matching, and the full +power of CXML is available when necessary.") + (license license:bsd-3)))) + +;; TODO: dbus uses ASDF's package-inferred-system which is not supported by +;; asdf-build-system/sbcl as of 2019-08-02. We should fix +;; asdf-build-system/sbcl. +(define-public cl-dbus + (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a") + (revision "1")) + (package + (name "cl-dbus") + (build-system asdf-build-system/source) + (version (git-version "20190408" revision commit)) + (home-page "https://github.com/death/dbus") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5")))) + ;; Inputs must be propagated or else packages depending on this won't have the necessary packages. + (propagated-inputs + `(("alexandria" ,sbcl-alexandria) + ("trivial-garbage" ,sbcl-trivial-garbage) + ("babel" ,sbcl-babel) + ("iolib" ,sbcl-iolib) + ("iolib+multiplex" ,(@@ (gnu packages lisp) sbcl-iolib+multiplex)) + ("iolib+syscalls" ,(@@ (gnu packages lisp) sbcl-iolib+syscalls)) + ("iolib+streams" ,(@@ (gnu packages lisp) sbcl-iolib+streams)) + ("iolib+sockets" ,(@@ (gnu packages lisp) sbcl-iolib+sockets)) + ("ieee-floats" ,sbcl-ieee-floats) + ("flexi-streams" ,sbcl-flexi-streams) + ("cl-xmlspam" ,sbcl-cl-xmlspam) + ("ironclad" ,sbcl-ironclad))) + (synopsis "D-Bus client library for Common Lisp") + (description "This is a Common Lisp library that allows to publish D-Bus +objects as well as send and notify other objects connected to a bus.") + (license license:bsd-2)))) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index bb3bf2bfb5..30ce5cd70c 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1285,7 +1285,7 @@ (define-public exim (define-public dovecot (package (name "dovecot") - (version "2.3.6") + (version "2.3.7.2") (source (origin (method url-fetch) @@ -1293,7 +1293,8 @@ (define-public dovecot (version-major+minor version) "/" "dovecot-" version ".tar.gz")) (sha256 - (base32 "1irnalplb47nlc26dn7zzdi95zhrxxi3miza7p3wdsgapv0qs7gd")))) + (base32 + "0q0jgcv3ni2znkgyhc966ffphj1wk73y76wssh0yciqafs2f0v36")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index 2163b646f6..4594e2fe36 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -2,8 +2,8 @@ ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès ;;; Copyright © 2017 Efraim Flashner ;;; Copyright © 2018 Tobias Geerinckx-Rice -;;; Copyright © 2018 Mark H Weaver -;;; Copyright © 2018 Jan (janneke) Nieuwenhuizen +;;; Copyright © 2018, 2019 Mark H Weaver +;;; Copyright © 2018, 2019 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2019 Marius Bakke ;;; ;;; This file is part of GNU Guix. @@ -158,6 +158,15 @@ (define (native-inputs) (current-source-location) #:native-inputs native-inputs)) +(define static-bash-for-bootstrap + (package + (inherit static-bash) + (source (origin + (inherit (package-source static-bash)) + (patches + (cons (search-patch "bash-4.4-linux-pgrp-pipe.patch") + (origin-patches (package-source static-bash)))))))) + (define %static-inputs ;; Packages that are to be used as %BOOTSTRAP-INPUTS. (let ((coreutils (package (inherit coreutils) @@ -234,7 +243,7 @@ (define %static-inputs (("-Wl,-export-dynamic") "")) #t))))))) (inputs (if (%current-target-system) - `(("bash" ,static-bash)) + `(("bash" ,static-bash-for-bootstrap)) '())))) (tar (package (inherit tar) (arguments @@ -280,7 +289,7 @@ (define %static-inputs ("sed" ,sed) ("grep" ,grep) ("gawk" ,gawk))) - ("bash" ,static-bash)))) + ("bash" ,static-bash-for-bootstrap)))) (define %static-binaries (package @@ -585,8 +594,32 @@ (define %gcc-stripped #t)))) (inputs `(("gcc" ,%gcc-static))))) +;; One package: build + remove store references +;; (define %mescc-tools-static-stripped +;; ;; A statically linked Mescc Tools with store references removed, for +;; ;; bootstrap. +;; (package +;; (inherit mescc-tools) +;; (name "mescc-tools-static-stripped") +;; (arguments +;; `(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")) +;; "CC=gcc -static") +;; #:test-target "test" +;; #:phases (modify-phases %standard-phases +;; (delete 'configure) +;; (add-after 'install 'strip-store-references +;; (lambda _ +;; (let* ((out (assoc-ref %outputs "out")) +;; (bin (string-append out "/bin"))) +;; (for-each (lambda (file) +;; (let ((target (string-append bin "/" file))) +;; (format #t "strippingg `~a'...~%" target) +;; (remove-store-references target))) +;; '( "M1" "blood-elf" "hex2")))))))))) + +;; Two packages: first build static, bare minimum content. (define %mescc-tools-static - ;; A statically linked MesCC Tools for bootstrap. + ;; A statically linked MesCC Tools. (package (inherit mescc-tools) (name "mescc-tools-static") @@ -596,12 +629,73 @@ (define %mescc-tools-static ((#:make-flags flags) `(cons "CC=gcc -static" ,flags))))))) -(define-public %mes-minimal-stripped - ;; A minimal Mes without documentation dependencies, for bootstrap. +;; ... next remove store references. +(define %mescc-tools-static-stripped + ;; A statically linked Mescc Tools with store references removed, for + ;; bootstrap. + (package + (inherit %mescc-tools-static) + (name (string-append (package-name %mescc-tools-static) "-stripped")) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let* ((in (assoc-ref %build-inputs "mescc-tools")) + (out (assoc-ref %outputs "out")) + (bin (string-append out "/bin"))) + (mkdir-p bin) + (for-each (lambda (file) + (let ((target (string-append bin "/" file))) + (format #t "copying `~a'...~%" file) + (copy-file (string-append in "/bin/" file) + target) + (remove-store-references target))) + '( "M1" "blood-elf" "hex2")) + #t)))) + (inputs `(("mescc-tools" ,%mescc-tools-static))))) + +;; (define-public %mes-minimal-stripped +;; ;; A minimal Mes without documentation dependencies, for bootstrap. +;; (let ((triplet "i686-unknown-linux-gnu")) +;; (package +;; (inherit mes) +;; (name "mes-minimal-stripped") +;; (native-inputs +;; `(("guile" ,guile-2.2))) +;; (arguments +;; `(#:system "i686-linux" +;; #:strip-binaries? #f +;; #:configure-flags '("--mes") +;; #:phases +;; (modify-phases %standard-phases +;; (delete 'patch-shebangs) +;; (add-after 'install 'strip-install +;; (lambda _ +;; (let* ((out (assoc-ref %outputs "out")) +;; (share (string-append out "/share"))) +;; (delete-file-recursively (string-append out "/lib/guile")) +;; (delete-file-recursively (string-append share "/guile")) +;; (delete-file-recursively (string-append share "/mes/scaffold")) + +;; (for-each delete-file +;; (find-files +;; (string-append share "/mes/lib") "\\.(h|c)")) + +;; (for-each (lambda (dir) +;; (for-each remove-store-references +;; (find-files (string-append out "/" dir) +;; ".*"))) +;; '("bin" "share/mes"))))))))))) + +;; Two packages: first build static, bare minimum content. +(define-public %mes-minimal + ;; A minimal Mes without documentation. (let ((triplet "i686-unknown-linux-gnu")) (package (inherit mes) - (name "mes-minimal-stripped") + (name "mes-minimal") (native-inputs `(("guile" ,guile-2.2))) (arguments @@ -610,6 +704,7 @@ (define-public %mes-minimal-stripped #:configure-flags '("--mes") #:phases (modify-phases %standard-phases + (delete 'patch-shebangs) (add-after 'install 'strip-install (lambda _ (let* ((out (assoc-ref %outputs "out")) @@ -617,10 +712,35 @@ (define-public %mes-minimal-stripped (delete-file-recursively (string-append out "/lib/guile")) (delete-file-recursively (string-append share "/guile")) (delete-file-recursively (string-append share "/mes/scaffold")) - (for-each - delete-file - (find-files (string-append share "/mes/lib") - "\\.(h|c)"))))))))))) + + (for-each delete-file + (find-files + (string-append share "/mes/lib") + "\\.(h|c)"))))))))))) + +;; next remove store references. +(define %mes-minimal-stripped + ;; A minimal Mes with store references removed, for bootstrap. + (package + (inherit %mes-minimal) + (name (string-append (package-name %mes-minimal) "-stripped")) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let ((in (assoc-ref %build-inputs "mes")) + (out (assoc-ref %outputs "out"))) + + (copy-recursively in out) + (for-each (lambda (dir) + (for-each remove-store-references + (find-files (string-append out "/" dir) + ".*"))) + '("bin" "share/mes")) + #t)))) + (inputs `(("mes" ,%mes-minimal))))) (define %guile-static ;; A statically-linked Guile that is relocatable--i.e., it can search @@ -680,6 +800,10 @@ (define %guile-static ((#:tests? _ #f) ;; There are uses of `dynamic-link' in ;; {foreign,coverage}.test that don't fly here. + #f) + ((#:parallel-build? _ #f) + ;; Work around the fact that the Guile build system is + ;; not deterministic when parallel-build is enabled. #f)))))) (package-with-relocatable-glibc (static-package guile)))) @@ -790,11 +914,11 @@ (define %guile-bootstrap-tarball (tarball-package %guile-static-stripped)) (define %mescc-tools-bootstrap-tarball - ;; A tarball with MesCC binary seed. - (tarball-package %mescc-tools-static)) + ;; A tarball with statically-linked MesCC binary seed. + (tarball-package %mescc-tools-static-stripped)) (define %mes-bootstrap-tarball - ;; A tarball with Mes ASCII Seed and binary Mes C Library. + ;; A tarball with Mes binary seed. (tarball-package %mes-minimal-stripped)) (define %bootstrap-tarballs diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 7a04aa979e..38bb81242f 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -246,7 +246,7 @@ (define-public qhull (define-public python-cvxopt (package (name "python-cvxopt") - (version "1.2.1") + (version "1.2.3") (source (origin (method git-fetch) (uri (git-reference @@ -255,7 +255,7 @@ (define-public python-cvxopt (file-name (git-file-name name version)) (sha256 (base32 - "05mnjil9palaa48xafdfh4f5pr4z7aqjr995rwl08qfyxs8y0crf")))) + "1kiy2m62xgs2d5id6dnnwy4vap85cd70p7pgkb9nh23qf9xnak7b")))) (build-system python-build-system) (arguments `(#:phases diff --git a/gnu/packages/mingw.scm b/gnu/packages/mingw.scm index 017f9453ab..fe51780fa3 100644 --- a/gnu/packages/mingw.scm +++ b/gnu/packages/mingw.scm @@ -36,15 +36,15 @@ (define-public (make-mingw-w64 machine) (let ((triplet (string-append machine "-" "w64-mingw32"))) (package (name (string-append "mingw-w64" "-" machine)) - (version "5.0.4") + (version "6.0.0") (source (origin (method url-fetch) (uri (string-append "https://sourceforge.net/projects/mingw-w64/files/mingw-w64/" "mingw-w64-release/mingw-w64-v" version ".tar.bz2")) (sha256 - (base32 "00zq3z1hbzd5yzmskskjg79xrzwsqx7ihyprfaxy4hb897vf29sm")) - (patches (search-patches "mingw-w64-5.0rc2-gcc-4.9.3.patch")))) + (base32 "1w28mynv500y03h92nh87rgw3fnp82qwnjbxrrzqkmr63q812pl0")) + (patches (search-patches "mingw-w64-6.0.0-gcc.patch")))) (native-inputs `(("xgcc-core" ,(cross-gcc triplet)) ("xbinutils" ,(cross-binutils triplet)))) (build-system gnu-build-system) diff --git a/gnu/packages/nano.scm b/gnu/packages/nano.scm index 6f79dd49fc..8a3cef3377 100644 --- a/gnu/packages/nano.scm +++ b/gnu/packages/nano.scm @@ -30,13 +30,13 @@ (define-module (gnu packages nano) (define-public nano (package (name "nano") - (version "4.3") + (version "4.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/nano/nano-" version ".tar.xz")) (sha256 - (base32 "108dzj6azqmini9bvgl26r0q1y59s3nnrw75hfzv91bs50davlq0")))) + (base32 "1iw2ypq34g1gfqyhgka2fz5yj5vrlz85q6zk7amgyj286ph25wia")))) (build-system gnu-build-system) (inputs `(("gettext" ,gettext-minimal) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index fce0d0f84d..49ac949b06 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -465,32 +465,17 @@ (define-public nix (define-public stow (package (name "stow") - (version "2.3.0") + (version "2.3.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/stow/stow-" version ".tar.gz")) (sha256 (base32 - "0h8qr2rxsrkg6d8jxjk68r23jgn1dxdxyp4bnzzinpa8sjhfl905")))) + "0jrxy12ywn7smdzdnvwzjw77l6knx6jkj2rckgykg1dpf6bdkm89")))) (build-system gnu-build-system) - (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'install 'wrap-stow - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (wrap-program (string-append out "/bin/stow") - `("PERL5LIB" ":" prefix - ,(map (lambda (i) (string-append (assoc-ref inputs i) - "/lib/perl5/site_perl")) - '("perl-clone-choose" "perl-clone" "perl-hash-merge")))) - #t)))))) (inputs - `(("perl" ,perl) - ("perl-clone" ,perl-clone) - ("perl-clone-choose" ,perl-clone-choose) - ("perl-hash-merge" ,perl-hash-merge))) + `(("perl" ,perl))) (native-inputs `(("perl-test-simple" ,perl-test-simple) ("perl-test-output" ,perl-test-output) @@ -559,75 +544,83 @@ (define-public rpm (license license:gpl2+))) (define-public diffoscope - (package - (name "diffoscope") - (version "120") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://salsa.debian.org/reproducible-builds/diffoscope.git") - (commit "120"))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "07z9yclvfkw4326739l2ywzzihax5vdijiaqqpfix9rz1rb923aa")))) - (build-system python-build-system) - (arguments - `(#:phases (modify-phases %standard-phases - ;; setup.py mistakenly requires python-magic from PyPi, even - ;; though the Python bindings of `file` are sufficient. - ;; https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=815844 - (add-after 'unpack 'dependency-on-python-magic - (lambda _ - (substitute* "setup.py" - (("'python-magic',") "")))) - ;; This test is broken because our `file` package has a - ;; bug in berkeley-db file type detection. - (add-after 'unpack 'remove-berkeley-test - (lambda _ - (delete-file "tests/comparators/test_berkeley_db.py") - #t)) - (add-after 'unpack 'embed-tool-references - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "diffoscope/comparators/utils/compare.py" - (("\\['xxd',") - (string-append "['" (which "xxd") "',"))) - (substitute* "diffoscope/comparators/elf.py" - (("@tool_required\\('readelf'\\)") "") - (("get_tool_name\\('readelf'\\)") - (string-append "'" (which "readelf") "'"))) - (substitute* "diffoscope/comparators/directory.py" - (("@tool_required\\('stat'\\)") "") - (("@tool_required\\('getfacl'\\)") "") - (("\\['stat',") - (string-append "['" (which "stat") "',")) - (("\\['getfacl',") - (string-append "['" (which "getfacl") "',"))) - #t)) - (add-before 'check 'delete-failing-test - (lambda _ - ;; this requires /sbin to be on the path - (delete-file "tests/test_tools.py") - #t))))) - (inputs `(("rpm" ,rpm) ;for rpm-python - ("python-file" ,python-file) - ("python-debian" ,python-debian) - ("python-libarchive-c" ,python-libarchive-c) - ("python-tlsh" ,python-tlsh) - ("acl" ,acl) ;for getfacl - ("colordiff" ,colordiff) - ("xxd" ,xxd))) - ;; Below are modules used for tests. - (native-inputs `(("python-pytest" ,python-pytest) - ("python-chardet" ,python-chardet))) - (home-page "https://diffoscope.org/") - (synopsis "Compare files, archives, and directories in depth") - (description - "Diffoscope tries to get to the bottom of what makes files or directories + (let ((version "121")) + (package + (name "diffoscope") + (version version) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://salsa.debian.org/reproducible-builds/diffoscope.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1bw7s8qs1vnr93vhifl6pj6h6w6r6nrpc5anzhh9wx2gcaipkb3m")))) + (build-system python-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + ;; setup.py mistakenly requires python-magic from PyPi, even + ;; though the Python bindings of `file` are sufficient. + ;; https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=815844 + (add-after 'unpack 'dependency-on-python-magic + (lambda _ + (substitute* "setup.py" + (("'python-magic',") "")))) + ;; This test is broken because our `file` package has a + ;; bug in berkeley-db file type detection. + (add-after 'unpack 'remove-berkeley-test + (lambda _ + (delete-file "tests/comparators/test_berkeley_db.py") + #t)) + (add-after 'unpack 'embed-tool-references + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "diffoscope/comparators/utils/compare.py" + (("\\['xxd',") + (string-append "['" (which "xxd") "',"))) + (substitute* "diffoscope/comparators/elf.py" + (("@tool_required\\('readelf'\\)") "") + (("get_tool_name\\('readelf'\\)") + (string-append "'" (which "readelf") "'"))) + (substitute* "diffoscope/comparators/directory.py" + (("@tool_required\\('stat'\\)") "") + (("@tool_required\\('getfacl'\\)") "") + (("\\['stat',") + (string-append "['" (which "stat") "',")) + (("\\['getfacl',") + (string-append "['" (which "getfacl") "',"))) + #t)) + (add-before 'check 'writable-test-data + (lambda _ + ;; tests/comparators/test_elf.py needs write access to + ;; test data + (make-file-writable + "tests/data/ignore_readelf_errors_expected_diff") + #t)) + (add-before 'check 'delete-failing-test + (lambda _ + ;; this requires /sbin to be on the path + (delete-file "tests/test_tools.py") + #t))))) + (inputs `(("rpm" ,rpm) ;for rpm-python + ("python-file" ,python-file) + ("python-debian" ,python-debian) + ("python-libarchive-c" ,python-libarchive-c) + ("python-tlsh" ,python-tlsh) + ("acl" ,acl) ;for getfacl + ("colordiff" ,colordiff) + ("xxd" ,xxd))) + ;; Below are modules used for tests. + (native-inputs `(("python-pytest" ,python-pytest) + ("python-chardet" ,python-chardet))) + (home-page "https://diffoscope.org/") + (synopsis "Compare files, archives, and directories in depth") + (description + "Diffoscope tries to get to the bottom of what makes files or directories different. It recursively unpacks archives of many kinds and transforms various binary formats into more human readable forms to compare them. It can compare two tarballs, ISO images, or PDFs just as easily.") - (license license:gpl3+))) + (license license:gpl3+)))) (define-public trydiffoscope (package diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index cdc35b4703..3b7ce4c150 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm @@ -52,14 +52,14 @@ (define-module (gnu packages parallel) (define-public parallel (package (name "parallel") - (version "20190522") + (version "20190822") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/parallel/parallel-" version ".tar.bz2")) (sha256 - (base32 "0y3z9wybs3gak3zwgsby8r5gg6dwd3qlrkch0q4fn0i1j1jhmijv")))) + (base32 "1mi3a18fdwcx50jg51pw1ks1fkmc2slyinff0yb3xhihi2szbskp")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index 8b1bca37e1..ff13be24db 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -236,28 +236,40 @@ (define-public pwsafe (define-public shroud (package (name "shroud") - (version "0.1.1") + (version "0.1.2") (source (origin (method url-fetch) (uri (string-append "https://files.dthompson.us/shroud/shroud-" version ".tar.gz")) (sha256 (base32 - "1y43yhgy2zbrk5bqj3qyx9rkcz2bma9sinlrg7dip3jqms9gq4lr")))) + "1l2shrhvcwfzkar9qiwb75nhcqmx25iz55lzmz0c187nbjhqzi9p")))) (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) (arguments - '(#:phases + `(#:modules ((guix build gnu-build-system) + (guix build utils) + (ice-9 popen) + (ice-9 rdelim)) + #:phases (modify-phases %standard-phases (add-after 'install 'wrap-shroud - (lambda* (#:key outputs #:allow-other-keys) + (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) - (ccachedir (string-append out "/lib/guile/2.0/ccache")) + (guile (assoc-ref inputs "guile")) + (effective (read-line + (open-pipe* OPEN_READ + (string-append guile "/bin/guile") + "-c" "(display (effective-version))"))) + (ccachedir (string-append out + "/lib/guile/" effective "/site-ccache")) (prog (string-append out "/bin/shroud"))) (wrap-program prog `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,ccachedir))) #t)))))) (inputs - `(("guile" ,guile-2.0) + `(("guile" ,guile-2.2) ("gnupg" ,gnupg) ("xclip" ,xclip))) (synopsis "GnuPG-based secret manager") diff --git a/gnu/packages/patches/bash-4.4-linux-pgrp-pipe.patch b/gnu/packages/patches/bash-4.4-linux-pgrp-pipe.patch new file mode 100644 index 0000000000..0d03d7ce37 --- /dev/null +++ b/gnu/packages/patches/bash-4.4-linux-pgrp-pipe.patch @@ -0,0 +1,30 @@ +Unconditionally enable PGRP_PIPE on Linux (the kernel), regardless of +the kernel version in use on the build machine. + +--- configure.ac.orig 1969-12-31 19:00:00.000000000 -0500 ++++ configure.ac 2019-08-11 22:28:26.038841961 -0400 +@@ -1092,9 +1092,7 @@ + solaris2*) LOCAL_CFLAGS=-DSOLARIS ;; + lynxos*) LOCAL_CFLAGS=-DRECYCLES_PIDS ;; + linux*) LOCAL_LDFLAGS=-rdynamic # allow dynamic loading +- case "`uname -r`" in +- 2.[[456789]]*|[[34]]*) AC_DEFINE(PGRP_PIPE) ;; +- esac ;; ++ AC_DEFINE(PGRP_PIPE) ;; + *qnx6*) LOCAL_CFLAGS="-Dqnx -Dqnx6" LOCAL_LIBS="-lncurses" ;; + *qnx*) LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;; + powerux*) LOCAL_LIBS="-lgen" ;; +--- configure.orig 1969-12-31 19:00:00.000000000 -0500 ++++ configure 2019-08-11 22:28:10.166763255 -0400 +@@ -16064,10 +16064,7 @@ + solaris2*) LOCAL_CFLAGS=-DSOLARIS ;; + lynxos*) LOCAL_CFLAGS=-DRECYCLES_PIDS ;; + linux*) LOCAL_LDFLAGS=-rdynamic # allow dynamic loading +- case "`uname -r`" in +- 2.[456789]*|[34]*) $as_echo "#define PGRP_PIPE 1" >>confdefs.h +- ;; +- esac ;; ++ $as_echo "#define PGRP_PIPE 1" >>confdefs.h ;; + *qnx6*) LOCAL_CFLAGS="-Dqnx -Dqnx6" LOCAL_LIBS="-lncurses" ;; + *qnx*) LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;; + powerux*) LOCAL_LIBS="-lgen" ;; diff --git a/gnu/packages/patches/enlightenment-fix-setuid-path.patch b/gnu/packages/patches/enlightenment-fix-setuid-path.patch index 90e16d3e67..c48f18c8ec 100644 --- a/gnu/packages/patches/enlightenment-fix-setuid-path.patch +++ b/gnu/packages/patches/enlightenment-fix-setuid-path.patch @@ -28,7 +28,7 @@ index 2bced6766..208e583ba 100644 } #endif // HAVE_EEZE || __FreeBSD_kernel__ diff --git a/src/bin/e_fm/e_fm_main_eeze.c b/src/bin/e_fm/e_fm_main_eeze.c -index b7d9e3eba..d8a9eb82c 100644 +index 0fcffa249..c1921121d 100644 --- a/src/bin/e_fm/e_fm_main_eeze.c +++ b/src/bin/e_fm/e_fm_main_eeze.c @@ -318,7 +318,7 @@ _e_fm_main_eeze_volume_eject(E_Volume *v) @@ -59,10 +59,10 @@ index b7d9e3eba..d8a9eb82c 100644 } v->guard = ecore_timer_loop_add(E_FM_MOUNT_TIMEOUT, (Ecore_Task_Cb)_e_fm_main_eeze_vol_mount_timeout, v); diff --git a/src/bin/e_sys.c b/src/bin/e_sys.c -index 6781a9b5a..8cd140f1b 100644 +index 671fbcd9a..90ee04cf1 100644 --- a/src/bin/e_sys.c +++ b/src/bin/e_sys.c -@@ -653,20 +653,16 @@ _e_sys_cb_timer(void *data EINA_UNUSED) +@@ -702,20 +702,16 @@ _e_sys_cb_timer(void *data EINA_UNUSED) e_init_status_set(_("Checking System Permissions")); snprintf(buf, sizeof(buf), @@ -87,9 +87,9 @@ index 6781a9b5a..8cd140f1b 100644 _e_sys_hibernate_check_exe = ecore_exe_run(buf, NULL); return ECORE_CALLBACK_CANCEL; } -@@ -1079,8 +1075,7 @@ _e_sys_action_do(E_Sys_Action a, char *param EINA_UNUSED, Eina_Bool raw) - /* shutdown -h now */ +@@ -1134,8 +1130,7 @@ _e_sys_action_do(E_Sys_Action a, char *param EINA_UNUSED, Eina_Bool raw) if (e_util_immortal_check()) return 0; + e_fm2_die(); snprintf(buf, sizeof(buf), - "%s/enlightenment/utils/enlightenment_sys halt", - e_prefix_lib_get()); @@ -97,9 +97,9 @@ index 6781a9b5a..8cd140f1b 100644 if (_e_sys_exe) { if ((ecore_time_get() - _e_sys_begin_time) > 2.0) -@@ -1114,8 +1109,7 @@ _e_sys_action_do(E_Sys_Action a, char *param EINA_UNUSED, Eina_Bool raw) - /* shutdown -r now */ +@@ -1170,8 +1165,7 @@ _e_sys_action_do(E_Sys_Action a, char *param EINA_UNUSED, Eina_Bool raw) if (e_util_immortal_check()) return 0; + e_fm2_die(); snprintf(buf, sizeof(buf), - "%s/enlightenment/utils/enlightenment_sys reboot", - e_prefix_lib_get()); @@ -107,7 +107,7 @@ index 6781a9b5a..8cd140f1b 100644 if (_e_sys_exe) { if ((ecore_time_get() - _e_sys_begin_time) > 2.0) -@@ -1148,8 +1142,7 @@ _e_sys_action_do(E_Sys_Action a, char *param EINA_UNUSED, Eina_Bool raw) +@@ -1204,8 +1198,7 @@ _e_sys_action_do(E_Sys_Action a, char *param EINA_UNUSED, Eina_Bool raw) case E_SYS_SUSPEND: /* /etc/acpi/sleep.sh force */ snprintf(buf, sizeof(buf), @@ -117,7 +117,7 @@ index 6781a9b5a..8cd140f1b 100644 if (_e_sys_exe) { if ((ecore_time_get() - _e_sys_begin_time) > 2.0) -@@ -1208,8 +1201,7 @@ _e_sys_action_do(E_Sys_Action a, char *param EINA_UNUSED, Eina_Bool raw) +@@ -1265,8 +1258,7 @@ _e_sys_action_do(E_Sys_Action a, char *param EINA_UNUSED, Eina_Bool raw) case E_SYS_HIBERNATE: /* /etc/acpi/hibernate.sh force */ snprintf(buf, sizeof(buf), @@ -152,11 +152,26 @@ index 4b5148634..47d34b07f 100644 autolock_exe = ecore_exe_run(eina_strbuf_string_get(buf), NULL); eina_strbuf_free(buf); +diff --git a/src/modules/bluez5/e_mod_main.c b/src/modules/bluez5/e_mod_main.c +index a581c466c..095d8f360 100644 +--- a/src/modules/bluez5/e_mod_main.c ++++ b/src/modules/bluez5/e_mod_main.c +@@ -321,8 +321,8 @@ ebluez5_rfkill_unblock(const char *name) + if (buf) + { + eina_strbuf_append_printf +- (buf, "%s/enlightenment/utils/enlightenment_sys rfkill-unblock %s", +- e_prefix_lib_get(), name); ++ (buf, "/run/setuid-programs/enlightenment_sys rfkill-unblock %s", ++ name); + _rfkill_exe = ecore_exe_run(eina_strbuf_string_get(buf), NULL); + eina_strbuf_free(buf); + } diff --git a/src/modules/cpufreq/e_mod_main.c b/src/modules/cpufreq/e_mod_main.c -index f4ba259b6..ae228bae3 100644 +index b66b365d8..bab0802cc 100644 --- a/src/modules/cpufreq/e_mod_main.c +++ b/src/modules/cpufreq/e_mod_main.c -@@ -1450,8 +1450,7 @@ e_modapi_init(E_Module *m) +@@ -1452,8 +1452,7 @@ e_modapi_init(E_Module *m) } E_CONFIG_LIMIT(cpufreq_config->poll_interval, 1, 1024); @@ -166,3 +181,40 @@ index f4ba259b6..ae228bae3 100644 cpufreq_config->set_exe_path = strdup(buf); if (stat(buf, &st) < 0) +diff --git a/src/modules/sysinfo/cpuclock/cpuclock.c b/src/modules/sysinfo/cpuclock/cpuclock.c +index 938916e53..00d5067d0 100644 +--- a/src/modules/sysinfo/cpuclock/cpuclock.c ++++ b/src/modules/sysinfo/cpuclock/cpuclock.c +@@ -80,8 +80,7 @@ _cpuclock_set_governor(const char *governor) + char buf[4096 + 100], exe[4096]; + struct stat st; + +- snprintf(exe, 4096, "%s/%s/cpuclock_sysfs", +- e_module_dir_get(sysinfo_config->module), MODULE_ARCH); ++ snprintf(exe, 4096, "/run/setuid-programs/cpuclock_sysfs"); + if (stat(exe, &st) < 0) return; + + snprintf(buf, sizeof(buf), +@@ -108,8 +107,7 @@ _cpuclock_set_frequency(int frequency) + if (system(buf) != 0) + ERR("Error code from trying to run \"%s\"", buf); + #else +- snprintf(exe, 4096, "%s/%s/cpuclock_sysfs", +- e_module_dir_get(sysinfo_config->module), MODULE_ARCH); ++ snprintf(exe, 4096, "/run/setuid-programs/cpuclock_sysfs"); + if (stat(exe, &st) < 0) return; + snprintf(buf, sizeof(buf), + "%s %s %i", exe, "frequency", frequency); +@@ -127,8 +125,7 @@ _cpuclock_set_pstate(int min, int max, int turbo) + char buf[4096 + 100], exe[4096]; + struct stat st; + +- snprintf(exe, 4096, "%s/%s/cpuclock_sysfs", +- e_module_dir_get(sysinfo_config->module), MODULE_ARCH); ++ snprintf(exe, 4096, "/run/setuid-programs/cpuclock_sysfs"); + if (stat(exe, &st) < 0) return; + snprintf(buf, sizeof(buf), + "%s %s %i %i %i", exe, "pstate", min, max, turbo); +-- +2.23.0 + diff --git a/gnu/packages/patches/libextractor-exiv2.patch b/gnu/packages/patches/libextractor-exiv2.patch new file mode 100644 index 0000000000..b92fef3ca1 --- /dev/null +++ b/gnu/packages/patches/libextractor-exiv2.patch @@ -0,0 +1,124 @@ +This patch allows us to build libextractor against exiv2 0.27.x. +Adapted from this upstream commit: + + commit 1ecee9a47717e36cb8a3925d011d1a6de11d631c + Author: Christian Grothoff + Date: Mon Jul 29 17:58:18 2019 +0200 + + importing patch from Gentoo/AS to address exiv2 build issue (#5820) + +diff --git a/src/plugins/exiv2_extractor.cc b/src/plugins/exiv2_extractor.cc +index 8741d40..ef402a8 100644 +--- a/src/plugins/exiv2_extractor.cc ++++ b/src/plugins/exiv2_extractor.cc +@@ -27,10 +27,7 @@ + #include + #include + #include +-#include +-#include +-#include +-#include ++#include + + /** + * Enable debugging to get error messages. +@@ -180,7 +177,7 @@ public: + * + * @return -1 on error + */ +-#if EXIV2_VERSION >= EXIV2_MAKE_VERSION(0,26,0) ++#if EXIV2_TEST_VERSION(0,26,0) + virtual size_t size (void) const; + #else + virtual long int size (void) const; +@@ -316,7 +313,11 @@ ExtractorIO::getb () + const unsigned char *r; + + if (1 != ec->read (ec->cls, &data, 1)) ++#if EXIV2_TEST_VERSION(0,27,0) ++ throw Exiv2::BasicError (Exiv2::kerDecodeLangAltQualifierFailed); ++#else + throw Exiv2::BasicError (42 /* error code */); ++#endif + r = (const unsigned char *) data; + return *r; + } +@@ -371,7 +372,11 @@ ExtractorIO::putb (Exiv2::byte data) + void + ExtractorIO::transfer (Exiv2::BasicIo& src) + { ++#if EXIV2_TEST_VERSION(0,27,0) ++ throw Exiv2::BasicError (Exiv2::kerDecodeLangAltQualifierFailed); ++#else + throw Exiv2::BasicError (42 /* error code */); ++#endif + } + + +@@ -416,7 +421,11 @@ ExtractorIO::seek (long offset, + Exiv2::byte * + ExtractorIO::mmap (bool isWritable) + { ++#if EXIV2_TEST_VERSION(0,27,0) ++ throw Exiv2::BasicError (Exiv2::kerDecodeLangAltQualifierFailed); ++#else + throw Exiv2::BasicError (42 /* error code */); ++#endif + } + + +@@ -449,7 +458,7 @@ ExtractorIO::tell (void) const + * + * @return -1 on error + */ +-#if EXIV2_VERSION >= EXIV2_MAKE_VERSION(0,26,0) ++#if EXIV2_TEST_VERSION(0,26,0) + size_t + #else + long int +@@ -504,7 +513,11 @@ ExtractorIO::eof () const + std::string + ExtractorIO::path () const + { ++#if EXIV2_TEST_VERSION(0,27,0) ++ throw Exiv2::BasicError (Exiv2::kerDecodeLangAltQualifierFailed); ++#else + throw Exiv2::BasicError (42 /* error code */); ++#endif + } + + +@@ -517,7 +530,11 @@ ExtractorIO::path () const + std::wstring + ExtractorIO::wpath () const + { ++#if EXIV2_TEST_VERSION(0,27,0) ++ throw Exiv2::BasicError (Exiv2::kerDecodeLangAltQualifierFailed); ++#else + throw Exiv2::BasicError (42 /* error code */); ++#endif + } + #endif + +@@ -531,7 +548,11 @@ Exiv2::BasicIo::AutoPtr + ExtractorIO::temporary () const + { + fprintf (stderr, "throwing temporary error\n"); ++#if EXIV2_TEST_VERSION(0,27,0) ++ throw Exiv2::BasicError (Exiv2::kerDecodeLangAltQualifierFailed); ++#else + throw Exiv2::BasicError (42 /* error code */); ++#endif + } + + +@@ -697,7 +718,7 @@ EXTRACTOR_exiv2_extract_method (struct EXTRACTOR_ExtractContext *ec) + { + try + { +-#if EXIV2_MAKE_VERSION(0,23,0) <= EXIV2_VERSION ++#if !EXIV2_TEST_VERSION(0,24,0) + Exiv2::LogMsg::setLevel (Exiv2::LogMsg::mute); + #endif + std::auto_ptr eio(new ExtractorIO (ec)); diff --git a/gnu/packages/patches/mingw-w64-5.0rc2-gcc-4.9.3.patch b/gnu/packages/patches/mingw-w64-5.0rc2-gcc-4.9.3.patch deleted file mode 100644 index e8f841c4fd..0000000000 --- a/gnu/packages/patches/mingw-w64-5.0rc2-gcc-4.9.3.patch +++ /dev/null @@ -1,218 +0,0 @@ -This patch includes - - * mingw-w64-headers/include/winnt.h: compile fixes for1 gcc-4.9.3 - * mingw-w64-headers/crt/math.h: Likewise - * mingw-w64-headers/crt/float.h (FLT_EPSILON,DBL_EPSILON,LDBL_EPSILON): Add - symbols. - * mingw-w64-headers/crt/stat.h (S_ISLNK,S_ISSOCK,S_ISUID,S_ISGID,S_ISLINK): - Add symbols. - (lstat): Add function. - * mingw-w64-headers/crt/_mingw_stat64.h: Likewise - * mingw-w64-headers/crt/stdlib.h (realpath): Add function. - -Needed for building with gcc-4.9.3 and using with cross-libtool-2.4.6. - -Upstream status: not yet presented upstream. - -index 9c5cf87..74a8541 100644 ---- a/mingw-w64-crt/misc/dirname.c -+++ b/mingw-w64-crt/misc/dirname.c -@@ -29,6 +29,12 @@ - #define __cdecl /* this may not be defined. */ - #endif - -+char *__cdecl -+realpath(const char *name, char *resolved) -+{ -+ return resolved ? strcpy (resolved, name) : strdup (name); -+} -+ - char * __cdecl - dirname(char *path) - { -diff --git a/mingw-w64-headers/crt/_mingw_stat64.h b/mingw-w64-headers/crt/_mingw_stat64.h -index 17e754c..7d2339b 100644 ---- a/mingw-w64-headers/crt/_mingw_stat64.h -+++ b/mingw-w64-headers/crt/_mingw_stat64.h -@@ -2,13 +2,17 @@ - - #ifdef _USE_32BIT_TIME_T - #define _fstat32 _fstat -+#define _lstat32 _lstat - #define _stat32 _stat - #define _wstat32 _wstat - #define _fstat32i64 _fstati64 -+#define _lstat32i64 _lstati64 - #define _stat32i64 _stati64 - #define _wstat32i64 _wstati64 - #else - #define _fstat _fstat64i32 -+#define _lstat _lstat64i32 -+#define _lstati64 _lstat64 - #define _fstati64 _fstat64 - #define _stat _stat64i32 - #define _stati64 _stat64 -diff --git a/mingw-w64-headers/crt/float.h b/mingw-w64-headers/crt/float.h -index 5874f4e..bdf4ead 100644 ---- a/mingw-w64-headers/crt/float.h -+++ b/mingw-w64-headers/crt/float.h -@@ -22,6 +22,15 @@ - #if (__GNUC__ < 4) - #error Corrupt install of gcc-s internal headers, or search order was changed. - #else -+ -+ /* From gcc-4.9.3 float.h. */ -+ #undef FLT_EPSILON -+ #undef DBL_EPSILON -+ #undef LDBL_EPSILON -+ #define FLT_EPSILON __FLT_EPSILON__ -+ #define DBL_EPSILON __DBL_EPSILON__ -+ #define LDBL_EPSILON __LDBL_EPSILON__ -+ - /* #include_next */ - - /* Number of decimal digits, q, such that any floating-point number with q -diff --git a/mingw-w64-headers/crt/math.h b/mingw-w64-headers/crt/math.h -index 1e970f4..99a332f 100644 ---- a/mingw-w64-headers/crt/math.h -+++ b/mingw-w64-headers/crt/math.h -@@ -216,6 +216,7 @@ extern "C" { - #endif - } - -+#if 0 - __CRT_INLINE long double __cdecl fabsl (long double x) - { - #ifdef __arm__ -@@ -226,6 +227,7 @@ extern "C" { - return res; - #endif - } -+#endif - - __CRT_INLINE double __cdecl fabs (double x) - { -@@ -905,7 +907,7 @@ __mingw_choose_expr ( \ - /* 7.12.7.3 */ - extern double __cdecl hypot (double, double) __MINGW_ATTRIB_DEPRECATED_MSVC2005; /* in libmoldname.a */ - extern float __cdecl hypotf (float x, float y); --#ifndef __CRT__NO_INLINE -+#if 0 //ndef __CRT__NO_INLINE - __CRT_INLINE float __cdecl hypotf (float x, float y) { return (float) hypot ((double)x, (double)y);} - #endif - extern long double __cdecl hypotl (long double, long double); -diff --git a/mingw-w64-headers/crt/stdlib.h b/mingw-w64-headers/crt/stdlib.h -index dfc5ae4..6f0fee3 100644 ---- a/mingw-w64-headers/crt/stdlib.h -+++ b/mingw-w64-headers/crt/stdlib.h -@@ -8,6 +8,7 @@ - - #include - #include -+#include - - #if defined (__USE_MINGW_ANSI_STDIO) && ((__USE_MINGW_ANSI_STDIO + 0) != 0) && !defined (__USE_MINGW_STRTOX) - #define __USE_MINGW_STRTOX 1 -@@ -676,6 +677,8 @@ unsigned long __cdecl _lrotr(unsigned long,int); - - #endif /* !__NO_ISOCEXT */ - -+char *__cdecl realpath (const char *name, char *resolved); -+ - #ifdef __cplusplus - } - #endif -diff --git a/mingw-w64-headers/crt/sys/stat.h b/mingw-w64-headers/crt/sys/stat.h -index ed60219..d88b4f1 100644 ---- a/mingw-w64-headers/crt/sys/stat.h -+++ b/mingw-w64-headers/crt/sys/stat.h -@@ -58,16 +58,21 @@ extern "C" { - #include <_mingw_stat64.h> - - #define _S_IFMT 0xF000 -+#define _S_IFLNK 0xA000 -+#define _S_IFSOCK 0xC000 - #define _S_IFDIR 0x4000 - #define _S_IFCHR 0x2000 - #define _S_IFIFO 0x1000 - #define _S_IFREG 0x8000 -+#define _S_ISUID 0x0400 -+#define _S_ISGID 0x0200 - #define _S_IREAD 0x0100 - #define _S_IWRITE 0x0080 - #define _S_IEXEC 0x0040 - - _CRTIMP int __cdecl _fstat32(int _FileDes,struct _stat32 *_Stat); - _CRTIMP int __cdecl _stat32(const char *_Name,struct _stat32 *_Stat); -+ static inline int __cdecl _lstat32(const char *_Name,struct _stat32 *_Stat) {return _stat32(_Name, _Stat);} - _CRTIMP int __cdecl _fstat64(int _FileDes,struct _stat64 *_Stat); - _CRTIMP int __cdecl _fstat32i64(int _FileDes,struct _stat32i64 *_Stat); - int __cdecl _fstat64i32(int _FileDes,struct _stat64i32 *_Stat); -@@ -97,6 +102,9 @@ extern "C" { - _CRTIMP int __cdecl _stat64(const char *_Name,struct _stat64 *_Stat); - _CRTIMP int __cdecl _stat32i64(const char *_Name,struct _stat32i64 *_Stat); - int __cdecl _stat64i32(const char *_Name,struct _stat64i32 *_Stat); -+ static inline int __cdecl _lstat64(const char *_Name,struct _stat64 *_Stat) {return _stat64(_Name, _Stat);} -+ static inline int __cdecl _lstat32i64(const char *_Name,struct _stat32i64 *_Stat) {return _stat32i64(_Name, _Stat);} -+ static inline int __cdecl _lstat64i32(const char *_Name,struct _stat64i32 *_Stat) {return _stat64i32(_Name, _Stat);} - #ifndef __CRT__NO_INLINE - __CRT_INLINE int __cdecl _stat64i32(const char *_Name,struct _stat64i32 *_Stat) - { -@@ -132,6 +140,8 @@ extern "C" { - #ifndef NO_OLDNAMES - #define _S_IFBLK 0x3000 /* Block: Is this ever set under w32? */ - -+#define S_IFLNK _S_IFLNK -+#define S_IFSOCK _S_IFSOCK - #define S_IFMT _S_IFMT - #define S_IFDIR _S_IFDIR - #define S_IFCHR _S_IFCHR -@@ -162,6 +172,11 @@ extern "C" { - #define S_IXOTH (S_IXGRP >> 3) - #define S_IRWXO (S_IRWXG >> 3) - -+#define S_ISUID _S_ISUID -+#define S_ISGID _S_ISGID -+ -+#define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK) -+#define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK) - #define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) - #define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO) - #define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR) -@@ -174,6 +189,7 @@ extern "C" { - int __cdecl stat(const char *_Filename,struct stat *_Stat); - int __cdecl fstat(int _Desc,struct stat *_Stat); - int __cdecl wstat(const wchar_t *_Filename,struct stat *_Stat); -+static inline int __cdecl lstat(const char *_Filename,struct stat *_Stat){return stat(_Filename, _Stat);} - - #ifndef __CRT__NO_INLINE - #ifdef _USE_32BIT_TIME_T -@@ -262,9 +278,11 @@ __CRT_INLINE int __cdecl - - #if defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64) - #ifdef _USE_32BIT_TIME_T -+#define lstat _lstat32i64 - #define stat _stat32i64 - #define fstat _fstat32i64 - #else -+#define lstat _lstat64 - #define stat _stat64 - #define fstat _fstat64 - #endif -diff --git a/mingw-w64-headers/include/winnt.h b/mingw-w64-headers/include/winnt.h -index 52af29b..8626396 100644 ---- a/mingw-w64-headers/include/winnt.h -+++ b/mingw-w64-headers/include/winnt.h -@@ -6895,7 +6895,12 @@ __buildmemorybarrier() - DWORD Reg : 3; - DWORD R : 1; - DWORD L : 1; -+/* C is used as a const specifier */ -+#define save_C C -+#undef C - DWORD C : 1; -+#define C save_C -+#undef save_C - DWORD StackAdjust : 10; - } DUMMYSTRUCTNAME; - } DUMMYUNIONNAME; diff --git a/gnu/packages/patches/mingw-w64-6.0.0-gcc.patch b/gnu/packages/patches/mingw-w64-6.0.0-gcc.patch new file mode 100644 index 0000000000..036cf79f91 --- /dev/null +++ b/gnu/packages/patches/mingw-w64-6.0.0-gcc.patch @@ -0,0 +1,65 @@ +This patch includes + + * mingw-w64-headers/include/winnt.h: compile fixes for1 gcc-4.9.3 + * mingw-w64-headers/crt/math.h: Likewise + * mingw-w64-headers/crt/float.h (FLT_EPSILON,DBL_EPSILON,LDBL_EPSILON): Add + symbols. + * mingw-w64-headers/crt/stat.h (S_ISLNK,S_ISSOCK,S_ISUID,S_ISGID,S_ISLINK): + Add symbols. + (lstat): Add function. + * mingw-w64-headers/crt/_mingw_stat64.h: Likewise + * mingw-w64-headers/crt/stdlib.h (realpath): Add function. + +Needed for building with gcc-4.9.3 and using with cross-libtool-2.4.6. + +Upstream status: not yet presented upstream. + +diff --git a/mingw-w64-headers/crt/float.h b/mingw-w64-headers/crt/float.h +index 5874f4e..bdf4ead 100644 +--- a/mingw-w64-headers/crt/float.h ++++ b/mingw-w64-headers/crt/float.h +@@ -22,6 +22,15 @@ + #if (__GNUC__ < 4) + #error Corrupt install of gcc-s internal headers, or search order was changed. + #else ++ ++ /* From gcc-4.9.3 float.h. */ ++ #undef FLT_EPSILON ++ #undef DBL_EPSILON ++ #undef LDBL_EPSILON ++ #define FLT_EPSILON __FLT_EPSILON__ ++ #define DBL_EPSILON __DBL_EPSILON__ ++ #define LDBL_EPSILON __LDBL_EPSILON__ ++ + /* #include_next */ + + /* Number of decimal digits, q, such that any floating-point number with q +diff --git a/mingw-w64-headers/crt/math.h b/mingw-w64-headers/crt/math.h +index 1e970f4..99a332f 100644 +--- a/mingw-w64-headers/crt/math.h ++++ b/mingw-w64-headers/crt/math.h +@@ -216,6 +216,7 @@ extern "C" { + #endif + } + ++#if 0 + __CRT_INLINE long double __cdecl fabsl (long double x) + { + #ifdef __arm__ +@@ -226,6 +227,7 @@ extern "C" { + return res; + #endif + } ++#endif + + __CRT_INLINE double __cdecl fabs (double x) + { +@@ -905,7 +907,7 @@ __mingw_choose_expr ( \ + /* 7.12.7.3 */ + extern double __cdecl hypot (double, double) __MINGW_ATTRIB_DEPRECATED_MSVC2005; /* in libmoldname.a */ + extern float __cdecl hypotf (float x, float y); +-#ifndef __CRT__NO_INLINE ++#if 0 //ndef __CRT__NO_INLINE + __CRT_INLINE float __cdecl hypotf (float x, float y) { return (float) hypot ((double)x, (double)y);} + #endif + extern long double __cdecl hypotl (long double, long double); diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index a3f6e5d050..79d8f3b684 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -6495,19 +6495,18 @@ (define-public perl-mro-compat (define-public perl-namespace-autoclean (package (name "perl-namespace-autoclean") - (version "0.28") + (version "0.29") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" "namespace-autoclean-" version ".tar.gz")) (sha256 - (base32 - "0fbcq99yaix1aa99jl3v811dbw24il9jxnh5i2i23mddh4b0lhfd")))) + (base32 "012qqs561xyyhm082znmzsl8lz4n299fa6p0v246za2l9bkdiss5")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build) - ("perl-test-requires" ,perl-test-requires))) + ("perl-test-needs" ,perl-test-needs))) (propagated-inputs `(("perl-b-hooks-endofscope" ,perl-b-hooks-endofscope) ("perl-namespace-clean" ,perl-namespace-clean) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index d87eb9f561..dde35a1f3a 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -2218,24 +2218,21 @@ (define-public python-flask-htpasswd (define-public python-flask-sqlalchemy (package (name "python-flask-sqlalchemy") - (version "2.1") - (source - (origin - (method url-fetch) - (uri (pypi-uri "Flask-SQLAlchemy" version)) - (sha256 - (base32 - "1i9ps5d5snih9xlqhrvmi3qfiygkmqzxh92n25kj4pf89kj4s965")))) + (version "2.4.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "Flask-SQLAlchemy" version)) + (sha256 + (base32 + "0nnllf0ddbh9jlhngnyjj98lbxgxr1csaplllx0caw98syq0k5hc")))) (build-system python-build-system) (propagated-inputs `(("python-flask" ,python-flask) ("python-sqlalchemy" ,python-sqlalchemy))) - (home-page - "https://github.com/mitsuhiko/flask-sqlalchemy") - (synopsis - "Module adding SQLAlchemy support to your Flask application") + (home-page "https://github.com/mitsuhiko/flask-sqlalchemy") + (synopsis "Module adding SQLAlchemy support to your Flask application") (description - "This package adds SQLAlchemy support to your Flask application.") + "This package adds SQLAlchemy support to your Flask application.") (license license:bsd-3))) (define-public python-flask-restplus diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 4c3ba68851..43e341b43d 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -64,6 +64,7 @@ ;;; Copyright © 2019 Alex Griffin ;;; Copyright © 2019 Pierre Langlois ;;; Copyright © 2019 Jacob MacDonald +;;; Copyright © 2019 Giacomo Leidi ;;; ;;; This file is part of GNU Guix. ;;; @@ -6999,14 +7000,14 @@ (define-public python2-pyroute2 (define-public python-wrapt (package (name "python-wrapt") - (version "1.11.1") + (version "1.11.2") (source - (origin - (method url-fetch) - (uri (pypi-uri "wrapt" version)) - (sha256 - (base32 - "0cqmysny1pz01jw26q48q5zasvns6507rwhgm6wcw743f0r01sja")))) + (origin + (method url-fetch) + (uri (pypi-uri "wrapt" version)) + (sha256 + (base32 + "1q81762dgsgrd12f8qc39zk8s5wll3m5xc32jdmlf6cls4gh4njn")))) (build-system python-build-system) (arguments ;; Tests are not included in the tarball, they are only available in the @@ -7015,7 +7016,7 @@ (define-public python-wrapt (home-page "https://github.com/GrahamDumpleton/wrapt") (synopsis "Module for decorators, wrappers and monkey patching") (description - "The aim of the wrapt module is to provide a transparent object proxy for + "The aim of the wrapt module is to provide a transparent object proxy for Python, which can be used as the basis for the construction of function wrappers and decorator functions.") (license license:bsd-2))) @@ -7322,14 +7323,14 @@ (define-public python2-pretend (define-public python-pip (package (name "python-pip") - (version "18.1") + (version "19.2.1") (source (origin (method url-fetch) (uri (pypi-uri "pip" version)) (sha256 (base32 - "188fclay154s520n43s7cxxlhdaiysvxf19zk8vr1xbyjyyr58n0")))) + "100sd12ss4mbdj5lf3wawad29cm573b27765mq098x6xhcj71395")))) (build-system python-build-system) (arguments '(#:tests? #f)) ; there are no tests in the pypi archive. @@ -9990,13 +9991,13 @@ (define-public python2-fastimport (define-public python-twisted (package (name "python-twisted") - (version "19.2.1") + (version "19.7.0") (source (origin (method url-fetch) (uri (pypi-uri "Twisted" version ".tar.bz2")) (sha256 (base32 - "0liymyd4pzphizjlpwkncxjpm9akyr3lkfkm77yfg6wasv108b7s")))) + "17d3hnxv9qndagzz63mdpyk99xj63p9gq586vjn0rxk8cl197nym")))) (build-system python-build-system) (arguments '(#:tests? #f)) ; FIXME: some tests fail @@ -16088,3 +16089,72 @@ (define-public python-folium Stamen, and supports custom tilesets with Mapbox or Cloudmade API keys. It supports Image, Video, GeoJSON and TopoJSON overlays.") (license license:expat))) + +(define-public jube + (package + ;; This is a command-line tool, so no "python-" prefix. + (name "jube") + (version "2.2.2") + (source (origin + (method url-fetch) + (uri (string-append + "http://apps.fz-juelich.de/jsc/jube/jube2/download.php?version=" + version)) + (sha256 + (base32 + "0xq4k1q63s1p6swgyp61vahlrd1fqmgbm0gm5kpj8ikwy0yc0nqk")) + (file-name (string-append "jube-" version ".tar.gz")))) + (build-system python-build-system) + (home-page "https://apps.fz-juelich.de/jsc/jube/jube2/docu/index.html") + (synopsis "Benchmarking environment") + (description + "JUBE helps perform and analyze benchmarks in a systematic way. For each +benchmarked application, benchmark data is stored in a format that allows JUBE +to deduct the desired information. This data can be parsed by automatic pre- +and post-processing scripts that draw information and store it more densely +for manual interpretation.") + (license license:gpl3+))) + +(define-public python-pyroutelib3 + (package + (name "python-pyroutelib3") + (version "1.3.post1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pyroutelib3" version)) + (sha256 + (base32 + "1hpbydpn2alyswiajfbvhzq4c7f36vdmvxy91hgv8l1lb2g2vfrj")))) + (build-system python-build-system) + (propagated-inputs + `(("python-dateutil" ,python-dateutil))) + (home-page "https://github.com/MKuranowski/pyroutelib3") + (synopsis "Library for simple routing on OSM data") + (description "Library for simple routing on OSM data") + (license license:gpl3+))) + +(define-public python-elementpath + (package + (name "python-elementpath") + (version "1.2.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "elementpath" version)) + (sha256 + (base32 + "1syn2z543brab23dskh3fjd9pqvz6npqbcicrs2d88dbg26xl08p")))) + (build-system python-build-system) + (home-page + "https://github.com/sissaschool/elementpath") + (synopsis + "XPath 1.0/2.0 parsers and selectors for ElementTree and lxml") + (description + "The proposal of this package is to provide XPath 1.0 and 2.0 selectors +for Python's ElementTree XML data structures, both for the standard +ElementTree library and for the @uref{http://lxml.de, lxml.etree} library. + +For lxml.etree this package can be useful for providing XPath 2.0 selectors, +because lxml.etree already has it's own implementation of XPath 1.0.") + (license license:expat))) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 61f096d7f8..2104e684f4 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -2216,6 +2216,9 @@ (define-public qtwebkit (description "QtWebKit provides a Web browser engine that makes it easy to embed content from the World Wide Web into your Qt application. At the same time Web content can be enhanced with native controls.") + ;; Building QtWebKit takes around 13 hours on an AArch64 machine. Give some + ;; room for slower or busy hardware. + (properties '((timeout . 64800))) ;18 hours (license license:lgpl2.1+))) (define-public dotherside diff --git a/gnu/packages/rednotebook.scm b/gnu/packages/rednotebook.scm new file mode 100644 index 0000000000..e5b1b2c7bf --- /dev/null +++ b/gnu/packages/rednotebook.scm @@ -0,0 +1,91 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2019 Jesse Gibbons +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages rednotebook) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (guix build-system python) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages python) + #:use-module (gnu packages glib) + #:use-module (gnu packages gtk) + #:use-module (gnu packages webkit) + #:use-module (gnu packages python-xyz)) + +(define-public rednotebook + (package + (name "rednotebook") + (version "2.11.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jendrikseipp/rednotebook.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "04c7a0wgmdl88v9386y1052c38ajbkryiwhqps5lx34d4g7r6hm1")))) + (build-system python-build-system) + (arguments + ;; Tests fail to find the "_" function. + ;; It should be defined in rednotebook/info.py if '_' is not a member of + ;; 'builtins'. It is either not defined or not exported during the check + ;; phase. The program does not have this problem after it is installed. + ;; TODO: Fix tests. + `(#:tests? #f + #:imported-modules ((guix build glib-or-gtk-build-system) + ,@%python-build-system-modules) + #:modules ((ice-9 match) + (guix build python-build-system) + ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:) + (guix build utils)) + #:phases + (modify-phases %standard-phases + ;; Make sure rednotebook can find the typelibs and webkitgtk shared + ;; libraries. + (add-before 'wrap 'wrap-with-library-paths + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (gi-typelib-path (getenv "GI_TYPELIB_PATH")) + (webkitgtk-path (string-append + (assoc-ref inputs "webkitgtk") + "/lib"))) + (wrap-program (string-append out "/bin/rednotebook") + `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)) + `("LD_LIBRARY_PATH" ":" prefix (,webkitgtk-path))) + #t)))))) + (inputs + `(("gtk+" ,gtk+) + ("gtksourceview" ,gtksourceview-3) + ("python-pyyaml" ,python-pyyaml) + ("python-pygobject" ,python-pygobject) + ("webkitgtk" ,webkitgtk))) + ;; TODO: package the following for python3 (if possible), add them as + ;; dependencies, and remove them from rednotebook source: + ;; pygtkspellcheck, elib.intl, msgfmt, txt2tags + ;; TODO: package and add pyenchant for python3 and add it as a dependency. + (home-page "https://www.rednotebook.app") + (synopsis "Daily journal with calendar, templates and keyword searching") + (description + "RedNotebook is a modern desktop journal. It lets you format, tag and +search your entries. You can also add pictures, links and customizable +templates, spell check your notes, and export to plain text, HTML, Latex or +PDF.") + (license (list license:gpl2+ ; rednotebook, txt2tags + license:lgpl3+ ; elib.intl + license:gpl3+)))) ; pygtkspellcheck diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 33a42a2da2..1f3fb29aba 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -16,6 +16,7 @@ ;;; Copyright © 2019 Pierre Neidhardt ;;; Copyright © 2019 Mikhail Kirillov ;;; Copyright © 2019 Jelle Licht +;;; Copyright © 2019 Brian Leung ;;; ;;; This file is part of GNU Guix. ;;; @@ -2035,13 +2036,13 @@ (define-public ruby-simplecov-html (define-public ruby-simplecov (package (name "ruby-simplecov") - (version "0.12.0") + (version "0.17.0") (source (origin (method url-fetch) (uri (rubygems-uri "simplecov" version)) (sha256 (base32 - "0ffhyrfnq2zm2mc1742a4hqy475g3qa1zf6yfldwg1ldh5sn3qbx")))) + "0dq0nkaxvbsnl70hkimy35g4yjfs3blx4s7nbpzbvgqx72hxgv5v")))) (build-system ruby-build-system) ;; Simplecov depends on rubocop for code style checking at build time. ;; Rubocop needs simplecov at build time. @@ -3638,24 +3639,24 @@ (define-public ruby-mini-portile (define-public ruby-mini-portile-2 (package (inherit ruby-mini-portile) - (version "2.2.0") + (version "2.4.0") (source (origin (method url-fetch) (uri (rubygems-uri "mini_portile2" version)) (sha256 (base32 - "0g5bpgy08q0nc0anisg3yvwc1gc3inl854fcrg48wvg7glqd6dpm")))))) + "15zplpfw3knqifj9bpf604rb3wc1vhq6363pd6lvhayng8wql5vy")))))) (define-public ruby-nokogiri (package (name "ruby-nokogiri") - (version "1.8.0") + (version "1.10.4") (source (origin (method url-fetch) (uri (rubygems-uri "nokogiri" version)) (sha256 (base32 - "1nffsyx1xjg6v5n9rrbi8y1arrcx2i5f21cp6clgh9iwiqkr7rnn")))) + "0nmdrqqz1gs0fwkgzxjl4wr554gr8dc1fkrqjc2jpsvwgm41rygv")))) (build-system ruby-build-system) (arguments ;; Tests fail because Nokogiri can only test with an installed extension, @@ -8571,6 +8572,33 @@ (define-public ruby-mustermann (home-page "https://github.com/sinatra/mustermann") (license license:expat))) +(define-public ruby-htmlentities + (package + (name "ruby-htmlentities") + (version "4.3.4") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "htmlentities" version)) + (sha256 + (base32 + "1nkklqsn8ir8wizzlakncfv42i32wc0w9hxp00hvdlgjr7376nhj")))) + (build-system ruby-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (map (lambda (file) + (invoke "ruby" "-Itest" file)) + (find-files "./test" ".*_test\\.rb"))))))) + (synopsis "Encode and decode (X)HTML entities") + (description + "This package provides a module for encoding and decoding (X)HTML +entities.") + (home-page "https://github.com/threedaymonk/htmlentities") + (license license:expat))) + (define-public ruby-sinatra (package (name "ruby-sinatra") @@ -8807,3 +8835,92 @@ (define-public swagger-diff backwards-compatible with an older API specification.") (home-page "https://github.com/civisanalytics/swagger-diff") (license license:bsd-3))) + +(define-public ruby-reverse-markdown + (package + (name "ruby-reverse-markdown") + (version "1.1.0") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "reverse_markdown" version)) + (sha256 + (base32 + "0w7y5n74daajvl9gixr91nh8670d7mkgspkk3ql71m8azq3nffbg")))) + (build-system ruby-build-system) + (propagated-inputs + `(("ruby-nokogiri" ,ruby-nokogiri))) + (native-inputs + `(("bundler" ,bundler) + ("ruby-rspec" ,ruby-rspec) + ("ruby-kramdown" ,ruby-kramdown) + ("ruby-simplecov" ,ruby-simplecov))) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "rspec")) + #t))))) + (synopsis "Convert HTML into Markdown") + (description + "This Ruby module allows you to map simple HTML back into +Markdown---e.g., if you want to import existing HTML data in your +application.") + (home-page "https://github.com/xijo/reverse_markdown") + (license license:wtfpl2))) + +(define-public ruby-solargraph + (package + (name "ruby-solargraph") + (version "0.36.0") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "solargraph" version)) + (sha256 + (base32 + "0b93xzkgd1h06da9gdnwivj1mzbil8lc072y2838dy6i7bxgpy9i")))) + (build-system ruby-build-system) + (propagated-inputs + `(("ruby-backport" ,ruby-backport) + ("bundler" ,bundler) + ("ruby-htmlentities" ,ruby-htmlentities) + ("ruby-jaro-winkler" ,ruby-jaro-winkler) + ("ruby-maruku" ,ruby-maruku) + ("ruby-nokogiri" ,ruby-nokogiri) + ("ruby-parser" ,ruby-parser) + ("ruby-reverse-markdown" ,ruby-reverse-markdown) + ("ruby-rubocop" ,ruby-rubocop) + ("ruby-thor" ,ruby-thor) + ("ruby-tilt" ,ruby-tilt) + ("ruby-yard" ,ruby-yard))) + (native-inputs + `(("ruby-rspec" ,ruby-rspec) + ("ruby-pry" ,ruby-pry) + ("ruby-simplecov" ,ruby-simplecov) + ("ruby-webmock" ,ruby-webmock-2))) + ;; FIXME: can't figure out how to run the tests properly: + + ;; An error occurred while loading spec_helper. + ;; Failure/Error: return gem_original_require(path) + ;; LoadError: + ;; cannot load such file -- spec_helper + (arguments + '(#:tests? #f + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "rspec")) + #t))))) + (synopsis + "IDE tools for code completion, inline documentation, and static analysis") + (description + "Solargraph provides a comprehensive suite of tools for Ruby +programming: intellisense, diagnostics, inline documentation, and type +checking.") + (home-page "https://solargraph.org/") + (license license:expat))) diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm index 3d6ad4f9d7..90892a57e8 100644 --- a/gnu/packages/security-token.scm +++ b/gnu/packages/security-token.scm @@ -353,7 +353,7 @@ (define-public yubikey-personalization (define-public python-pyscard (package (name "python-pyscard") - (version "1.9.8") + (version "1.9.9") (source (origin (method url-fetch) ;; The maintainer publishes releases on various sites, but @@ -363,7 +363,7 @@ (define-public python-pyscard version "/pyscard-" version ".tar.gz")) (sha256 (base32 - "15fh00z1an6r5j7hrz3jlq0rb3jygwf3x4jcwsa008bv8vpcg7gm")))) + "082cjkbxadaz2jb4rbhr0mkrirzlqyqhcf3r823qb0q1k50ybgg6")))) (build-system python-build-system) (arguments `(#:phases diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index 9077d295db..bca8b14dad 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -1106,3 +1106,59 @@ (define-public eternalterminal while also supporting native scrolling and @command{tmux} control mode (@code{tmux -CC}).") (license license:asl2.0))) + +(define-public wterm + (package + (name "wterm") + (version "0.7") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/majestrate/wterm.git") + (commit "0ae42717c08a85a6509214e881422c7fbe7ecc45"))) + (sha256 + (base32 + "0g4lzmc1w6na81i6hny32xds4xfig4xzswzfijyi6p93a1226dv0")) + (file-name (git-file-name name version)))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("fontconfig" ,fontconfig) + ("freetype" ,freetype) + ("libdrm" ,libdrm) + ("libxkbcommon" ,libxkbcommon) + ("ncurses" ,ncurses) + ("pixman" ,pixman) + ("wayland" ,wayland))) + (arguments + '(#:tests? #f + + ;; Without -j1 it fails to find file libwld.a. + #:parallel-build? #f + + #:make-flags (list "CC=gcc" + (string-append "PREFIX=" %output) + (string-append "TERMINFO=" + (assoc-ref %outputs "out") + "/share/terminfo")) + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'terminfo-fix + (lambda _ + (substitute* "Makefile" + (("\ttic .*") "\tmkdir -p $(SHARE_PREFIX)/share/terminfo +\ttic -o $(SHARE_PREFIX)/share/terminfo -s wterm.info\n")) + #t))))) + (native-search-paths + (list (search-path-specification + (variable "TERMINFO_DIRS") + (files '("share/terminfo"))))) + (home-page "https://github.com/majestrate/wterm") + (synopsis "Terminal emulator for Wayland") + (description "wterm is a native Wayland terminal emulator based on +an st fork using wld. st is a simple terminal emulator for X originally +made by suckless.") + (license license:x11))) diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index 4412d54579..432e79e350 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -41,6 +41,7 @@ (define-module (gnu packages text-editors) #:use-module (gnu packages documentation) #:use-module (gnu packages fontutils) #:use-module (gnu packages gcc) + #:use-module (gnu packages gettext) #:use-module (gnu packages glib) #:use-module (gnu packages gtk) #:use-module (gnu packages guile) @@ -567,3 +568,55 @@ (define-public geany @item extensibility through plugins @end itemize") (license license:gpl2+))) + +(define-public fe + (package + (name "fe") + ;; Stable release is 1.8. However, this development version + ;; introduces support for UTF-8. + (version "2.0") + (source (origin + (method url-fetch) + (uri (string-append "http://www.moria.de/~michael/fe/" + "fe-" version ".tar.gz")) + (sha256 + (base32 + "1hwws7si1752z6hp61zxznvgsb6846lp8zl1hn5ddhsbafwalwb9")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ;no test + ;; Sendmail is only used to send a crash log. Disable the + ;; feature since it is (1) undocumented (2) not very useful. + #:configure-flags (list "--disable-sendmail") + #:phases + (modify-phases %standard-phases + (add-after 'install 'install-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (string-append out "/share/doc/" ,name "-" ,version))) + (for-each (lambda (f) (install-file f doc)) + '("fe.doc" "fe.html" "fe.ps" "feref.ps" "README")) + #t)))))) + (native-inputs + `(("gettext" ,gettext-minimal))) + (inputs + `(("ncurses" ,ncurses))) + (home-page "http://www.moria.de/~michael/fe/") + (synopsis "Small folding editor") + (description "Fe is a small folding editor. It allows to fold +arbitrary text regions; it is not bound to syntactic units. + +Fe has no configuration or extension language and requires no setup. +Its user interface is emacs-like and it has menues for the very most +important functions to help beginners. Further there is a reference +card. It offers: + +@itemize +@item Regions and Emacs-like kill ring +@item Incremental search +@item Keyboard macros +@item Editing binary files +@item Multiple windows and views +@item Compose function for Latin 1 characters +@end itemize") + (license license:gpl2+))) diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm index 2c520dfbdf..330e10610d 100644 --- a/gnu/packages/textutils.scm +++ b/gnu/packages/textutils.scm @@ -10,7 +10,7 @@ ;;; Copyright © 2016 Marius Bakke ;;; Copyright © 2017 Eric Bavier ;;; Copyright © 2017 Rene Saavedra -;;; Copyright © 2017 Hartmut Goebel +;;; Copyright © 2017,2019 Hartmut Goebel ;;; Copyright © 2017 Kei Kebreau ;;; Copyright © 2017 Alex Vong ;;; Copyright © 2018 Tobias Geerinckx-Rice @@ -45,6 +45,7 @@ (define-module (gnu packages textutils) #:use-module (guix build-system python) #:use-module (gnu packages) #:use-module (gnu packages autotools) + #:use-module (gnu packages base) #:use-module (gnu packages compression) #:use-module (gnu packages gettext) #:use-module (gnu packages java) @@ -321,6 +322,112 @@ (define-public ustr ;; entails." (license license:public-domain))) +(define-public ascii2binary + (package + (name "ascii2binary") + (version "2.14") + (source + (origin + (method url-fetch) + (uri (string-append "http://billposer.org/Software/Downloads/" + "ascii2binary-" version ".tar.bz2")) + (sha256 + (base32 "0dc9fxcdmppbs9s06jvq61zbk552laxps0xyk098gj41697ihd96")))) + (build-system gnu-build-system) + (native-inputs + `(("gettext" ,gettext-minimal))) + (home-page "https://billposer.org/Software/a2b.html") + (synopsis "Convert between ASCII, hexadecimal and binary representations") + (description "The two programs are useful for generating test data, for +inspecting binary files, and for interfacing programs that generate textual +output to programs that require binary input and conversely. They can also be +useful when it is desired to reformat numbers. + +@itemize + +@item @command{ascii2binary} reads input consisting of ascii or hexadecimal + representation numbers separated by whitespace and produces as output + the binary equivalents. The type and precision of the binary output + is selected using command line flags. + +@item @command{binary2ascii} reads input consisting of binary numbers + and converts them to their ascii or hexadecimal representation. + Command line flags specify the type and size of the binary numbers + and provide control over the format of the output. + Unsigned integers may be written out in binary, octal, decimal, + or hexadecimal. + + Signed integers may be written out only in binary or decimal. Floating + point numbers may be written out only decimal, either in standard or + scientific notation. (If you want to examine the binary representation + of floating point numbers, just treat the input as a sequence of unsigned + characters.) + +@end itemize") + (license license:gpl3))) + +(define-public uniutils + (package + (name "uniutils") + (version "2.27") + (source + (origin + (method url-fetch) + (uri (string-append "http://billposer.org/Software/Downloads/" + "uniutils-" version ".tar.bz2")) + (sha256 + (base32 "19w1510w87gx7n4qy3zsb0m467a4rn5scvh4ajajg7jh6x5xri08")))) + (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-dependency-tracking") + #:phases + (modify-phases %standard-phases + (add-after 'build 'fix-paths + (lambda* (#:key outputs inputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (a2b (assoc-ref inputs "ascii2binary")) + (iconv (assoc-ref inputs "libiconv"))) + (substitute* "utf8lookup" + (("^ascii2binary ") (string-append a2b "/bin/ascii2binary ")) + (("^uniname ") (string-append out "/bin/uniname ")) + (("^iconv ") (string-append iconv "/bin/iconv "))) + #t)))))) + (inputs + `(("ascii2binary" ,ascii2binary) + ("libiconv" ,libiconv))) + (home-page "https://billposer.org/Software/unidesc.html") + (synopsis "Find out what is in a Unicode file") + (description "Useful tools when working with Unicode files when one +doesn't know the writing system, doesn't have the necessary font, needs to +inspect invisible characters, needs to find out whether characters have been +combined or in what order they occur, or needs statistics on which characters +occur. + +@itemize + +@item @command{uniname} defaults to printing the character offset of each +character, its byte offset, its hex code value, its encoding, the glyph +itself, and its name. It may also be used to validate UTF-8 input. + +@item @command{unidesc} reports the character ranges to which different +portions of the text belong. It can also be used to identify Unicode encodings +(e.g. UTF-16be) flagged by magic numbers. + +@item @command{unihist} generates a histogram of the characters in its input. + +@item @command{ExplicateUTF8} is intended for debugging or for learning about +Unicode. It determines and explains the validity of a sequence of bytes as a +UTF8 encoding. + +@item @command{utf8lookup} provides a handy way to look up Unicode characters +from the command line. + +@item @command{unireverse} reverse each line of UTF-8 input +character-by-character. + +@end itemize") + (license license:gpl3))) + (define-public libconfig (package (name "libconfig") diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index f2e7f4ad0c..d896908a12 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -505,13 +505,13 @@ (define-public python-acme (package (name "python-acme") ;; Remember to update the hash of certbot when updating python-acme. - (version "0.35.1") + (version "0.37.2") (source (origin (method url-fetch) (uri (pypi-uri "acme" version)) (sha256 (base32 - "08y4ankn0di34c9d1c3pqd9by9n0ckzz7b5ld1g0fx6c32sbi259")))) + "0p3zqhna9p8iy5i9mfhzdf5bmjigs05r6rlwnxykk4n67fp8yyc8")))) (build-system python-build-system) (arguments `(#:phases @@ -559,10 +559,10 @@ (define-public certbot (version (package-version python-acme)) (source (origin (method url-fetch) - (uri (pypi-uri name version)) + (uri (pypi-uri "certbot" version)) (sha256 (base32 - "0q0855qvsvs4mgglss5iim7f1p22rv4rn1n6j731vv869v0yrs6p")))) + "1xbfv4fwkgfp9qqzlk8wxbhchc61349m26q9fg35j9fnm253cm74")))) (build-system python-build-system) (arguments `(,@(substitute-keyword-arguments (package-arguments python-acme) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 2376f8bda1..4fb2d76c33 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -357,15 +357,14 @@ (define-public libx264 (define-public mkvtoolnix (package (name "mkvtoolnix") - (version "31.0.0") + (version "37.0.0") (source (origin (method url-fetch) (uri (string-append "https://mkvtoolnix.download/sources/" - name "-" version ".tar.xz")) + "mkvtoolnix-" version ".tar.xz")) (sha256 - (base32 - "0d8va2iamzc7y3wi71z8mk2vnqvnkgwb2p7casdfp37400x8r2pr")) + (base32 "0r4d9318ymb9a0mkc0shi9p4kjy3m70s49v4f8dmjhvj63silhix")) (modules '((guix build utils))) (snippet '(begin ;; Delete bundled libraries. @@ -419,6 +418,13 @@ (define-public mkvtoolnix "--enable-precompiled-headers=no") #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-relative-file-names + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* "src/mkvtoolnix-gui/util/settings.cpp" + (("mkvmerge" match) + (string-append out "/bin/" match))) + #t))) (add-before 'configure 'add-googletest (lambda* (#:key inputs #:allow-other-keys) (symlink @@ -466,8 +472,9 @@ (define-public mkvtoolnix (synopsis "Tools to create, alter and inspect Matroska files") (description "MKVToolNix provides tools for getting information about Matroska files -(@code{mkvinfo}), extracting tracks/data from Matroska files (@code{mkvextract}) -and creating Matroska files from other media files (@code{mkvmerge}).") +(@command{mkvinfo}), extracting tracks/data from Matroska files +(@command{mkvextract}), and creating Matroska files from other media files +(@command{mkvmerge}).") (license license:gpl2))) (define-public x265 @@ -1485,7 +1492,7 @@ (define-public libvpx-1.7 (define-public youtube-dl (package (name "youtube-dl") - (version "2019.08.02") + (version "2019.08.13") (source (origin (method url-fetch) (uri (string-append "https://github.com/rg3/youtube-dl/releases/" @@ -1493,7 +1500,7 @@ (define-public youtube-dl version ".tar.gz")) (sha256 (base32 - "101b6jrf6ckbxrn76ppvgdyrb25p7d247kn8qgq7n476sfnkfg2p")))) + "0b94hrhbqa7jhn91pxsbphg2ylwkpkknb2y4v4sczp7rjvgmjgdj")))) (build-system python-build-system) (arguments ;; The problem here is that the directory for the man page and completion diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index cb281920e9..8fafe438d0 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -365,10 +365,10 @@ (define-public vimb driven and does not detract you from your daily work.") (license license:gpl3+))) -(define-public next-gtk-webkit +(define next-gtk-webkit (package (name "next-gtk-webkit") - (version "1.2.2") + (version "1.3.0") (source (origin (method git-fetch) @@ -377,7 +377,7 @@ (define-public next-gtk-webkit (commit version))) (sha256 (base32 - "1bif1k738knhifxhkn0d2x1m521zkx40pri44vyjqncp9r95hkbk")) + "0ibq30xrf871pkpasi8p9krn0pmd86rsdzb3jqvz3wnp4wa3hl9d")) (file-name (git-file-name "next" version)))) (build-system glib-or-gtk-build-system) (arguments @@ -405,71 +405,124 @@ (define-public next-gtk-webkit features for productive professionals.") (license license:bsd-3))) -(define-public sbcl-next +(define sbcl-next-download-manager (package (inherit next-gtk-webkit) - (name "sbcl-next") + (name "sbcl-next-download-manager") (build-system asdf-build-system/sbcl) - (outputs '("out" "lib")) (arguments - `(#:tests? #f ; no tests - #:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-platform-port-path - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "source/ports/gtk-webkit.lisp" - (("\"next-gtk-webkit\"") - (string-append "\"" (assoc-ref inputs "next-gtk-webkit") - "/bin/next-gtk-webkit\""))))) - (add-before 'cleanup 'move-bundle - (lambda* (#:key outputs #:allow-other-keys) - (define lib (assoc-ref outputs "lib")) - (define actual-fasl (string-append - lib - "/lib/sbcl/next.fasl")) - (define expected-fasl (string-append - lib - "/lib/sbcl/next--system.fasl")) - (copy-file actual-fasl expected-fasl) - #t)) - (add-after 'create-symlinks 'build-program - (lambda* (#:key outputs #:allow-other-keys) - (build-program - (string-append (assoc-ref outputs "out") "/bin/next") - outputs - #:entry-program '((next:start-with-port) 0)))) - (add-before 'build 'install-assets - ;; Since the ASDF build system generates a new .asd with a - ;; possibly suffixed and thus illegal version number, assets - ;; should not be installed after the 'build phase or else - ;; the illegal version will result in NIL in the .desktop - ;; file. - (lambda* (#:key outputs #:allow-other-keys) - (with-output-to-file "version" - (lambda _ - (format #t "~a" ,(package-version next-gtk-webkit)))) - (invoke "make" "install-assets" - (string-append "PREFIX=" - (assoc-ref outputs "out")))))))) + `(#:tests? #f ; Need online access. + #:asd-file "next.asd" + #:asd-system-name "download-manager")) (inputs - `(("next-gtk-webkit" ,next-gtk-webkit) - ;; Lisp libraries: + `(;; ASD libraries: ("trivial-features" ,sbcl-trivial-features) - ("alexandria" ,sbcl-alexandria) - ("anaphora" ,sbcl-anaphora) - ("closer-mop" ,sbcl-closer-mop) + ;; Lisp libraries: + ("cl-ppcre" ,sbcl-cl-ppcre) + ("dexador" ,sbcl-dexador) ("log4cl" ,sbcl-log4cl) - ("find-port" ,sbcl-find-port) - ("cl-strings" ,sbcl-cl-strings) - ("cl-string-match" ,sbcl-cl-string-match) - ("puri" ,sbcl-puri) - ("sqlite" ,sbcl-cl-sqlite) - ("parenscript" ,sbcl-parenscript) - ("cl-json" ,sbcl-cl-json) - ("swank" ,sbcl-slime-swank) - ("cl-markup" ,sbcl-cl-markup) - ("cl-css" ,sbcl-cl-css) - ("bordeaux-threads" ,sbcl-bordeaux-threads) - ("s-xml-rpc" ,sbcl-s-xml-rpc) - ("unix-opts" ,sbcl-unix-opts) - ("trivial-clipboard" ,sbcl-trivial-clipboard))) - (synopsis "Infinitely extensible web-browser (with Lisp development files)"))) + ("lparallel" ,sbcl-lparallel) + ("quri" ,sbcl-quri) + ("str" ,sbcl-cl-str))) + (native-inputs + `(("prove-asdf" ,sbcl-prove-asdf))) + (synopsis "Infinitely extensible web-browser (download manager)"))) + +(define-public next + (let ((version (package-version next-gtk-webkit))) + (package + (inherit next-gtk-webkit) + (name "next") + (build-system asdf-build-system/sbcl) + (outputs '("out" "lib")) + (arguments + `(#:tests? #f ; no tests + #:asd-system-name "next" + #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-platform-port-path + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "source/ports/gtk-webkit.lisp" + (("\"next-gtk-webkit\"") + (string-append "\"" (assoc-ref inputs "next-gtk-webkit") + "/bin/next-gtk-webkit\""))) + #t)) + (add-after 'patch-platform-port-path 'patch-version + ;; When the version is not just dot-separated numerals + ;; (e.g. a git-commit version), Guix modifies the .asd with + ;; an illegal version number, and then Next fails to query + ;; it. So we hard-code it here. + (lambda* (#:key inputs #:allow-other-keys) + (let ((version (format #f "~a" ,version))) + (substitute* "source/global.lisp" + (("version\\)\\)\\)") + (string-append "version))) +(setf +version+ \"" version "\")")))) + #t)) + (add-before 'cleanup 'move-bundle + (lambda* (#:key outputs #:allow-other-keys) + (define lib (assoc-ref outputs "lib")) + (define actual-fasl (string-append + lib + "/lib/sbcl/next.fasl")) + (define expected-fasl (string-append + lib + "/lib/sbcl/next--system.fasl")) + (copy-file actual-fasl expected-fasl) + #t)) + (add-after 'create-symlinks 'build-program + (lambda* (#:key outputs #:allow-other-keys) + (build-program + (string-append (assoc-ref outputs "out") "/bin/next") + outputs + #:entry-program '((next:entry-point) 0)))) + (add-before 'build 'install-assets + ;; Since the ASDF build system generates a new .asd with a + ;; possibly suffixed and thus illegal version number, assets + ;; should not be installed after the 'build phase or else + ;; the illegal version will result in NIL in the .desktop + ;; file. + (lambda* (#:key outputs #:allow-other-keys) + (with-output-to-file "version" + (lambda _ + (format #t "~a" ,(package-version next-gtk-webkit)))) + (invoke "make" "install-assets" + (string-append "PREFIX=" + (assoc-ref outputs "out")))))))) + (inputs + `(("next-gtk-webkit" ,next-gtk-webkit) + ;; ASD libraries: + ("trivial-features" ,sbcl-trivial-features) + ("trivial-garbage" ,sbcl-trivial-garbage) + ;; Lisp libraries: + ("alexandria" ,sbcl-alexandria) + ("bordeaux-threads" ,sbcl-bordeaux-threads) + ("cl-css" ,sbcl-cl-css) + ("cl-json" ,sbcl-cl-json) + ("cl-markup" ,sbcl-cl-markup) + ("cl-ppcre" ,sbcl-cl-ppcre) + ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode) + ("cl-string-match" ,sbcl-cl-string-match) + ("cl-strings" ,sbcl-cl-strings) + ("closer-mop" ,sbcl-closer-mop) + ("dbus" ,cl-dbus) + ("dexador" ,sbcl-dexador) + ("ironclad" ,sbcl-ironclad) + ("log4cl" ,sbcl-log4cl) + ("lparallel" ,sbcl-lparallel) + ("mk-string-metrics" ,sbcl-mk-string-metrics) + ("parenscript" ,sbcl-parenscript) + ("quri" ,sbcl-quri) + ("sqlite" ,sbcl-cl-sqlite) + ("str" ,sbcl-cl-str) + ("swank" ,sbcl-slime-swank) + ("trivia" ,sbcl-trivia) + ("trivial-clipboard" ,sbcl-trivial-clipboard) + ("unix-opts" ,sbcl-unix-opts) + ;; Local deps + ("next-download-manager" ,sbcl-next-download-manager))) + (native-inputs + `(("prove-asdf" ,sbcl-prove-asdf))) + (synopsis "Infinitely extensible web-browser (with Lisp development files)")))) + +(define-public sbcl-next + (deprecated-package "sbcl-next" next)) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 065700465e..2008b8ee46 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -68,6 +68,7 @@ (define-module (gnu packages web) #:use-module (guix build-system python) #:use-module (guix build-system ant) #:use-module (guix build-system scons) + #:use-module (guix build-system go) #:use-module (gnu packages) #:use-module (gnu packages admin) #:use-module (gnu packages adns) @@ -92,6 +93,7 @@ (define-module (gnu packages web) #:use-module (gnu packages gnome) #:use-module (gnu packages gnu-doc) #:use-module (gnu packages gnupg) + #:use-module (gnu packages golang) #:use-module (gnu packages gperf) #:use-module (gnu packages gtk) #:use-module (gnu packages guile) @@ -6596,3 +6598,35 @@ (define-public anonip Anonip can also be uses as a Python module in your own Python application.") (license license:bsd-3))) + +(define-public poussetaches + (package + (name "poussetaches") + (version "0.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tsileo/poussetaches") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "07106kfcz3a39jvrv3mlqqxlihsmdhgkrjnqznyjsij9absgvdv6")))) + (build-system go-build-system) + (propagated-inputs + `(("go-github-com-robfig-cron" ,go-github-com-robfig-cron) + ("go-golang-org-x-time-rate" ,go-golang-org-x-time-rate))) + (arguments + `(#:import-path "github.com/tsileo/poussetaches")) + (home-page "https://github.com/tsileo/poussetaches") + (synopsis "Lightweight asynchronous task execution service") + (description "Poussetaches (which literally means \"push tasks\" in +French) is a lightweight asynchronous task execution service that aims to +replace Celery and RabbitMQ for small Python applications. + +The app posts base64-encoded payload to poussetaches and specifies the +endpoint that will be used to trigger the task. Poussetaches makes HTTP +requests with the registered payload until the right status code is +returned.") + (license license:isc))) diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index 538c97675d..ea7cee54e3 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2015 Sou Bunnbu ;;; Copyright © 2015 David Hashe ;;; Copyright © 2015 Ricardo Wurmus -;;; Copyright © 2015, 2016, 2017, 2018 Mark H Weaver +;;; Copyright © 2015, 2016, 2017, 2018, 2019 Mark H Weaver ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Pierre Neidhardt ;;; @@ -59,14 +59,14 @@ (define-module (gnu packages webkit) (define-public webkitgtk (package (name "webkitgtk") - (version "2.24.3") + (version "2.24.4") (source (origin (method url-fetch) (uri (string-append "https://www.webkitgtk.org/releases/" name "-" version ".tar.xz")) (sha256 (base32 - "0lbcrw5axwrbrajxq7fqywfyh0djqi23ynzb5wi5ghw2grnp83cl")))) + "1n3x5g1z6rg9n1ssna7wi0z6zlprjm4wzk544v14wqi6q0lv2s46")))) (build-system cmake-build-system) (outputs '("out" "doc")) (arguments diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index b8a2264153..4cf1a3ac4b 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -72,7 +72,7 @@ (define-module (gnu packages wine) (define-public wine (package (name "wine") - (version "4.0.1") + (version "4.0.2") (source (origin (method url-fetch) (uri (string-append "https://dl.winehq.org/wine/source/" @@ -80,7 +80,7 @@ (define-public wine "/wine-" version ".tar.xz")) (sha256 (base32 - "0j29df0px6dzin4j0cbxgza4msvf9spmwranv25krq1g9kq959nk")))) + "0x5x9pvhryzhq1m7i8gx5wwwj341zz05zymadlhfw5w45xlm0h4r")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) ("gettext" ,gettext-minimal) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 709037da37..e644cc94cc 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -1183,7 +1183,7 @@ (define-public wlroots (define-public sway (package (name "sway") - (version "1.1.1") + (version "1.2") (source (origin (method git-fetch) @@ -1192,7 +1192,7 @@ (define-public sway (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0yhn9zdg9mzfhn97c440lk3pw6122nrhx0is5sqmvgr6p814f776")))) + (base32 "0vch2zm5afc76ia78p3vg71zr2fyda67l9hd2h0x1jq3mnvfbxnd")))) (build-system meson-build-system) (arguments `(#:phases diff --git a/gnu/services/cuirass.scm b/gnu/services/cuirass.scm index f92d33bf94..7bd43cd427 100644 --- a/gnu/services/cuirass.scm +++ b/gnu/services/cuirass.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2016, 2017, 2018, 2019 Ludovic Courtès ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2017 Jan Nieuwenhuizen -;;; Copyright © 2018 Ricardo Wurmus +;;; Copyright © 2018, 2019 Ricardo Wurmus ;;; Copyright © 2018 Clément Lassieur ;;; ;;; This file is part of GNU Guix. @@ -52,6 +52,8 @@ (define-record-type* (default cuirass)) (log-file cuirass-configuration-log-file ;string (default "/var/log/cuirass.log")) + (web-log-file cuirass-configuration-web-log-file ;string + (default "/var/log/cuirass-web.log")) (cache-directory cuirass-configuration-cache-directory ;string (dir-name) (default "/var/cache/cuirass")) (ttl cuirass-configuration-ttl ;integer @@ -83,6 +85,7 @@ (define (cuirass-shepherd-service config) (cuirass-configuration? config) (let ((cuirass (cuirass-configuration-cuirass config)) (cache-directory (cuirass-configuration-cache-directory config)) + (web-log-file (cuirass-configuration-web-log-file config)) (log-file (cuirass-configuration-log-file config)) (user (cuirass-configuration-user config)) (group (cuirass-configuration-group config)) @@ -106,8 +109,6 @@ (define (cuirass-shepherd-service config) #$(scheme-file "cuirass-specs.scm" specs) "--database" #$database "--ttl" #$(string-append (number->string ttl) "s") - "--port" #$(number->string port) - "--listen" #$host "--interval" #$(number->string interval) #$@(if use-substitutes? '("--use-substitutes") '()) #$@(if one-shot? '("--one-shot") '()) @@ -121,6 +122,28 @@ (define (cuirass-shepherd-service config) #:user #$user #:group #$group #:log-file #$log-file)) + (stop #~(make-kill-destructor))) + (shepherd-service + (documentation "Run Cuirass web interface.") + (provision '(cuirass-web)) + (requirement '(guix-daemon networking)) + (start #~(make-forkexec-constructor + (list (string-append #$cuirass "/bin/cuirass") + "--cache-directory" #$cache-directory + "--specifications" + #$(scheme-file "cuirass-specs.scm" specs) + "--database" #$database + "--ttl" #$(string-append (number->string ttl) "s") + "--web" + "--port" #$(number->string port) + "--listen" #$host + "--interval" #$(number->string interval) + #$@(if use-substitutes? '("--use-substitutes") '()) + #$@(if fallback? '("--fallback") '())) + + #:user #$user + #:group #$group + #:log-file #$web-log-file)) (stop #~(make-kill-destructor))))))) (define (cuirass-account config) diff --git a/gnu/services/cups.scm b/gnu/services/cups.scm index 9d21b6e70c..e77c43bfbf 100644 --- a/gnu/services/cups.scm +++ b/gnu/services/cups.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2017 Clément Lassieur ;;; Copyright © 2018 Ricardo Wurmus ;;; Copyright © 2019 Alex Griffin +;;; Copyright © 2019 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -170,7 +171,10 @@ (define (serialize-boolean-or-non-negative-integer field-name x) (define (ssl-options? x) (and (list? x) - (and-map (lambda (elt) (memq elt '(AllowRC4 AllowSSL3))) x))) + (and-map (lambda (elt) (memq elt '(AllowRC4 + AllowSSL3 + DenyCBC + DenyTLS1.0))) x))) (define (serialize-ssl-options field-name val) (serialize-field field-name (match val @@ -805,12 +809,15 @@ (define-configuration cups-configuration all addresses.") (ssl-options (ssl-options '()) - "Sets encryption options. -By default, CUPS only supports encryption using TLS v1.0 or higher using known -secure cipher suites. The @code{AllowRC4} option enables the 128-bit RC4 -cipher suites, which are required for some older clients that do not implement -newer ones. The @code{AllowSSL3} option enables SSL v3.0, which is required -for some older clients that do not support TLS v1.0.") + "Sets encryption options. By default, CUPS only supports encryption +using TLS v1.0 or higher using known secure cipher suites. Security is +reduced when @code{Allow} options are used, and enhanced when @code{Deny} +options are used. The @code{AllowRC4} option enables the 128-bit RC4 cipher +suites, which are required for some older clients. The @code{AllowSSL3} option +enables SSL v3.0, which is required for some older clients that do not support +TLS v1.0. The @code{DenyCBC} option disables all CBC cipher suites. The +@code{DenyTLS1.0} option disables TLS v1.0 support - this sets the minimum +protocol version to TLS v1.1.") #; (ssl-port (non-negative-integer 631) diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index 343d507c14..a32756e040 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -963,23 +963,29 @@ (define (enlightenment-setuid-programs enlightenment-desktop-configuration) (match-record enlightenment-desktop-configuration (enlightenment) - (list (file-append enlightenment - "/lib/enlightenment/utils/enlightenment_sys") - (file-append enlightenment - "/lib/enlightenment/utils/enlightenment_backlight") - ;; TODO: Move this binary to a screen-locker service. - (file-append enlightenment - "/lib/enlightenment/utils/enlightenment_ckpasswd") - (file-append enlightenment - (string-append - "/lib/enlightenment/modules/cpufreq/" - (match (string-tokenize (%current-system) - (char-set-complement (char-set #\-))) - ((arch "linux") (string-append "linux-gnu-" arch)) - ((arch "gnu") (string-append "gnu-" arch))) - "-" - (version-major+minor (package-version enlightenment)) - "/freqset"))))) + (let ((module-arch (match (string-tokenize (%current-system) + (char-set-complement (char-set #\-))) + ((arch "linux") (string-append "linux-gnu-" arch)) + ((arch "gnu") (string-append "gnu-" arch))))) + (list (file-append enlightenment + "/lib/enlightenment/utils/enlightenment_sys") + (file-append enlightenment + "/lib/enlightenment/utils/enlightenment_backlight") + ;; TODO: Move this binary to a screen-locker service. + (file-append enlightenment + "/lib/enlightenment/utils/enlightenment_ckpasswd") + (file-append enlightenment + (string-append + "/lib/enlightenment/modules/cpufreq/" + module-arch "-" + (package-version enlightenment) + "/freqset")) + (file-append enlightenment + (string-append + "/lib/enlightenment/modules/sysinfo/" + module-arch "-" + (package-version enlightenment) + "/cpuclock_sysfs")))))) (define enlightenment-desktop-service-type (service-type diff --git a/gnu/services/pm.scm b/gnu/services/pm.scm index 3817bd09de..1e01b5059d 100644 --- a/gnu/services/pm.scm +++ b/gnu/services/pm.scm @@ -401,7 +401,8 @@ (define tlp-service-type (compose list tlp-configuration-tlp)) (service-extension activation-service-type tlp-activation))) - (default-value (tlp-configuration)))) + (default-value (tlp-configuration)) + (description "Run TLP, a power management tool."))) (define (generate-tlp-documentation) (generate-documentation @@ -441,4 +442,6 @@ (define thermald-service-type (name 'thermald) (extensions (list (service-extension shepherd-root-service-type thermald-shepherd-service))) - (default-value (thermald-configuration)))) + (default-value (thermald-configuration)) + (description "Run thermald, a CPU frequency scaling service that helps +prevent overheating."))) diff --git a/gnu/tests/docker.scm b/gnu/tests/docker.scm index 3ec5c3d6ee..3f98a1e316 100644 --- a/gnu/tests/docker.scm +++ b/gnu/tests/docker.scm @@ -100,7 +100,7 @@ (define marionette marionette)) (test-equal "Load docker image and run it" - '("hello world" "hi!" "JSON!") + '("hello world" "hi!" "JSON!" #o1777) (marionette-eval `(begin (define slurp @@ -131,8 +131,15 @@ (define slurp ,(string-append #$docker-cli "/bin/docker") "run" repository&tag "-c" "(use-modules (json)) - (display (json-string->scm (scm->json-string \"JSON!\")))"))) - (list response1 response2 response3))) + (display (json-string->scm (scm->json-string \"JSON!\")))")) + + ;; Check whether /tmp exists. + (response4 (slurp + ,(string-append #$docker-cli "/bin/docker") + "run" repository&tag "-c" + "(display (stat:perms (lstat \"/tmp\")))"))) + (list response1 response2 response3 + (string->number response4)))) marionette)) (test-end) diff --git a/guix/build/cargo-build-system.scm b/guix/build/cargo-build-system.scm index 7d363a18a5..06ed14b89f 100644 --- a/guix/build/cargo-build-system.scm +++ b/guix/build/cargo-build-system.scm @@ -134,22 +134,12 @@ (define* (configure #:key inputs ;; upgrading the compiler for example. (setenv "RUSTFLAGS" "--cap-lints allow") (setenv "CC" (string-append (assoc-ref inputs "gcc") "/bin/gcc")) - #t) -;; The Cargo.lock file tells the build system which crates are required for -;; building and hardcodes their version and checksum. In order to build with -;; the inputs we provide, we need to recreate the file with our inputs. -(define* (update-cargo-lock #:key - (vendor-dir "guix-vendor") - #:allow-other-keys) - "Regenerate the Cargo.lock file with the current build inputs." + ;; We don't use the Cargo.lock file to determine the package versions we use + ;; during building, and in any case if one is not present it is created + ;; during the 'build phase by cargo. (when (file-exists? "Cargo.lock") - (begin - ;; Unfortunately we can't generate a Cargo.lock file until the checksums - ;; are generated, so we have an extra round of generate-all-checksums here. - (generate-all-checksums vendor-dir) - (delete-file "Cargo.lock") - (invoke "cargo" "generate-lockfile"))) + (delete-file "Cargo.lock")) #t) ;; After the 'patch-generated-file-shebangs phase any vendored crates who have @@ -203,7 +193,6 @@ (define %standard-phases (replace 'build build) (replace 'check check) (replace 'install install) - (add-after 'configure 'update-cargo-lock update-cargo-lock) (add-after 'patch-generated-file-shebangs 'patch-cargo-checksums patch-cargo-checksums))) (define* (cargo-build #:key inputs (phases %standard-phases) diff --git a/guix/build/make-bootstrap.scm b/guix/build/make-bootstrap.scm index 0d29338ce3..e5ef1d6d2b 100644 --- a/guix/build/make-bootstrap.scm +++ b/guix/build/make-bootstrap.scm @@ -47,6 +47,7 @@ (define (copy-linux-headers output kernel-headers) (install-file (pk 'src (string-append kernel-headers "/include/linux/" file)) (pk 'dest (string-append incdir "/linux")))) '( + "a.out.h" ; for 2.2.5 "atalk.h" ; for 2.2.5 "errno.h" "falloc.h" diff --git a/guix/diagnostics.scm b/guix/diagnostics.scm index 380cfbb613..6c0753aef4 100644 --- a/guix/diagnostics.scm +++ b/guix/diagnostics.scm @@ -71,7 +71,12 @@ (define len (define* (%highlight-argument arg #:optional (port (guix-warning-port))) "Highlight ARG, a format string argument, if PORT supports colors." (cond ((string? arg) - (highlight arg port)) + ;; If ARG contains white space, don't highlight it, on the grounds + ;; that it may be a complete message in its own, like those produced + ;; by 'guix lint. + (if (string-any char-set:whitespace arg) + arg + (highlight arg port))) ((symbol? arg) (highlight (symbol->string arg) port)) (else arg))) diff --git a/guix/docker.scm b/guix/docker.scm index c598a073f6..757bdeb458 100644 --- a/guix/docker.scm +++ b/guix/docker.scm @@ -28,11 +28,13 @@ (define-module (guix docker) invoke)) #:use-module (gnu build install) #:use-module (json) ;guile-json + #:use-module (srfi srfi-1) #:use-module (srfi srfi-19) #:use-module (srfi srfi-26) #:use-module ((texinfo string-utils) #:select (escape-special-chars)) #:use-module (rnrs bytevectors) + #:use-module (ice-9 ftw) #:use-module (ice-9 match) #:export (build-docker-image)) @@ -99,21 +101,18 @@ (define %tar-determinism-options '("--sort=name" "--mtime=@1" "--owner=root:0" "--group=root:0")) -(define symlink-source +(define directive-file + ;; Return the file or directory created by a 'evaluate-populate-directive' + ;; directive. (match-lambda ((source '-> target) - (string-trim source #\/)))) - -(define (topmost-component file) - "Return the topmost component of FILE. For instance, if FILE is \"/a/b/c\", -return \"a\"." - (match (string-tokenize file (char-set-complement (char-set #\/))) - ((first rest ...) - first))) + (string-trim source #\/)) + (('directory name _ ...) + (string-trim name #\/)))) (define* (build-docker-image image paths prefix #:key - (symlinks '()) + (extra-files '()) (transformations '()) (system (utsname:machine (uname))) database @@ -133,8 +132,9 @@ (define* (build-docker-image image paths prefix ENVIRONMENT must be a list of name/value pairs. It specifies the environment variables that must be defined in the resulting image. -SYMLINKS must be a list of (SOURCE -> TARGET) tuples describing symlinks to be -created in the image, where each TARGET is relative to PREFIX. +EXTRA-FILES must be a list of directives for 'evaluate-populate-directive' +describing non-store files that must be created in the image. + TRANSFORMATIONS must be a list of (OLD -> NEW) tuples describing how to transform the PATHS. Any path in PATHS that begins with OLD will be rewritten in the Docker image so that it begins with NEW instead. If a path is a @@ -199,25 +199,27 @@ (define transformation-options (with-output-to-file "json" (lambda () (scm->json (image-description id time)))) - ;; Create SYMLINKS. - (for-each (match-lambda - ((source '-> target) - (let ((source (string-trim source #\/))) - (mkdir-p (dirname source)) - (symlink (string-append prefix "/" target) - source)))) - symlinks) + ;; Create a directory for the non-store files that need to go into the + ;; archive. + (mkdir "extra") - (when database - ;; Initialize /var/guix, assuming PREFIX points to a profile. - (install-database-and-gc-roots "." database prefix)) + (with-directory-excursion "extra" + ;; Create non-store files. + (for-each (cut evaluate-populate-directive <> "./") + extra-files) + + (when database + ;; Initialize /var/guix, assuming PREFIX points to a profile. + (install-database-and-gc-roots "." database prefix)) + + (apply invoke "tar" "-cf" "../layer.tar" + `(,@transformation-options + ,@%tar-determinism-options + ,@paths + ,@(scandir "." + (lambda (file) + (not (member file '("." "..")))))))) - (apply invoke "tar" "-cf" "layer.tar" - `(,@transformation-options - ,@%tar-determinism-options - ,@paths - ,@(if database '("var") '()) - ,@(map symlink-source symlinks))) ;; It is possible for "/" to show up in the archive, especially when ;; applying transformations. For example, the transformation ;; "s,^/a,," will (perhaps surprisingly) cause GNU tar to transform @@ -231,13 +233,7 @@ (define transformation-options (lambda () (system* "tar" "--delete" "/" "-f" "layer.tar"))) - (for-each delete-file-recursively - (map (compose topmost-component symlink-source) - symlinks)) - - ;; Delete /var/guix. - (when database - (delete-file-recursively "var"))) + (delete-file-recursively "extra")) (with-output-to-file "config.json" (lambda () diff --git a/guix/git-download.scm b/guix/git-download.scm index 8f84681d46..c62bb8ad0f 100644 --- a/guix/git-download.scm +++ b/guix/git-download.scm @@ -139,8 +139,11 @@ (define recursive? ;; As a last resort, attempt to download from Software Heritage. ;; XXX: Currently recursive checkouts are not supported. (and (not recursive?) - (swh-download (getenv "git url") (getenv "git commit") - #$output))))))) + (begin + (format (current-error-port) + "Trying to download from Software Heritage...~%") + (swh-download (getenv "git url") (getenv "git commit") + #$output)))))))) (mlet %store-monad ((guile (package->derivation guile system))) (gexp->derivation (or name "git-checkout") build diff --git a/guix/import/cran.scm b/guix/import/cran.scm index 9c964701b1..51c7ea7b2f 100644 --- a/guix/import/cran.scm +++ b/guix/import/cran.scm @@ -24,6 +24,7 @@ (define-module (guix import cran) #:use-module ((ice-9 rdelim) #:select (read-string read-line)) #:use-module (srfi srfi-1) #:use-module (srfi srfi-2) + #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) #:use-module (srfi srfi-34) #:use-module (ice-9 receive) @@ -32,11 +33,13 @@ (define-module (guix import cran) #:use-module (guix http-client) #:use-module (gcrypt hash) #:use-module (guix store) + #:use-module ((guix serialization) #:select (write-file)) #:use-module (guix base32) #:use-module ((guix download) #:select (download-to-store)) #:use-module (guix import utils) #:use-module ((guix build utils) #:select (find-files)) #:use-module (guix utils) + #:use-module (guix git) #:use-module ((guix build-system r) #:select (cran-uri bioconductor-uri)) #:use-module (guix upstream) #:use-module (guix packages) @@ -166,11 +169,25 @@ (define* (latest-bioconductor-package-version name #:optional type) (bioconductor-packages-list type)) (cut assoc-ref <> "Version"))) +;; XXX taken from (guix scripts hash) +(define (vcs-file? file stat) + (case (stat:type stat) + ((directory) + (member (basename file) '(".bzr" ".git" ".hg" ".svn" "CVS"))) + ((regular) + ;; Git sub-modules have a '.git' file that is a regular text file. + (string=? (basename file) ".git")) + (else + #f))) + ;; Little helper to download URLs only once. (define download (memoize - (lambda (url) - (with-store store (download-to-store store url))))) + (lambda* (url #:optional git) + (with-store store + (if git + (latest-repository-commit store url) + (download-to-store store url)))))) (define (fetch-description repository name) "Return an alist of the contents of the DESCRIPTION file for the R package @@ -211,7 +228,18 @@ (define (fetch-description repository name) (string-append dir "/DESCRIPTION") read-string)) (lambda (meta) (if (boolean? type) meta - (cons `(bioconductor-type . ,type) meta)))))))))))) + (cons `(bioconductor-type . ,type) meta)))))))))) + ((git) + ;; Download the git repository at "NAME" + (call-with-values + (lambda () (download name #t)) + (lambda (dir commit) + (and=> (description->alist (with-input-from-file + (string-append dir "/DESCRIPTION") read-string)) + (lambda (meta) + (cons* `(git . ,name) + `(git-commit . ,commit) + meta)))))))) (define (listify meta field) "Look up FIELD in the alist META. If FIELD contains a comma-separated @@ -256,7 +284,7 @@ (define invalid-packages (define cran-guix-name (cut guix-name "r-" <>)) -(define (needs-fortran? tarball) +(define (tarball-needs-fortran? tarball) "Check if the TARBALL contains Fortran source files." (define (check pattern) (parameterize ((current-error-port (%make-void-port "rw+")) @@ -266,69 +294,127 @@ (define (check pattern) (check "*.f95") (check "*.f"))) +(define (directory-needs-fortran? dir) + "Check if the directory DIR contains Fortran source files." + (match (find-files dir "\\.f(90|95)?") + (() #f) + (_ #t))) + +(define (needs-fortran? thing tarball?) + "Check if the THING contains Fortran source files." + (if tarball? + (tarball-needs-fortran? thing) + (directory-needs-fortran? thing))) + +(define (files-match-pattern? directory regexp . file-patterns) + "Return #T if any of the files matching FILE-PATTERNS in the DIRECTORY match +the given REGEXP." + (let ((pattern (make-regexp regexp))) + (any (lambda (file) + (call-with-input-file file + (lambda (port) + (let loop () + (let ((line (read-line port))) + (cond + ((eof-object? line) #f) + ((regexp-exec pattern line) #t) + (else (loop)))))))) + (apply find-files directory file-patterns)))) + (define (tarball-files-match-pattern? tarball regexp . file-patterns) "Return #T if any of the files represented by FILE-PATTERNS in the TARBALL match the given REGEXP." (call-with-temporary-directory (lambda (dir) - (let ((pattern (make-regexp regexp))) - (parameterize ((current-error-port (%make-void-port "rw+"))) - (apply system* "tar" - "xf" tarball "-C" dir - `("--wildcards" ,@file-patterns))) - (any (lambda (file) - (call-with-input-file file - (lambda (port) - (let loop () - (let ((line (read-line port))) - (cond - ((eof-object? line) #f) - ((regexp-exec pattern line) #t) - (else (loop)))))))) - (find-files dir)))))) + (parameterize ((current-error-port (%make-void-port "rw+"))) + (apply system* "tar" + "xf" tarball "-C" dir + `("--wildcards" ,@file-patterns))) + (files-match-pattern? dir regexp)))) -(define (needs-zlib? tarball) +(define (directory-needs-zlib? dir) + "Return #T if any of the Makevars files in the src directory DIR contain a +zlib linker flag." + (files-match-pattern? dir "-lz" "(Makevars.*|configure.*)")) + +(define (tarball-needs-zlib? tarball) "Return #T if any of the Makevars files in the src directory of the TARBALL contain a zlib linker flag." (tarball-files-match-pattern? tarball "-lz" "*/src/Makevars*" "*/src/configure*" "*/configure*")) -(define (needs-pkg-config? tarball) +(define (needs-zlib? thing tarball?) + "Check if the THING contains files indicating a dependency on zlib." + (if tarball? + (tarball-needs-zlib? thing) + (directory-needs-zlib? thing))) + +(define (directory-needs-pkg-config? dir) + "Return #T if any of the Makevars files in the src directory DIR reference +the pkg-config tool." + (files-match-pattern? dir "pkg-config" + "(Makevars.*|configure.*)")) + +(define (tarball-needs-pkg-config? tarball) "Return #T if any of the Makevars files in the src directory of the TARBALL reference the pkg-config tool." (tarball-files-match-pattern? tarball "pkg-config" "*/src/Makevars*" "*/src/configure*" "*/configure*")) +(define (needs-pkg-config? thing tarball?) + "Check if the THING contains files indicating a dependency on pkg-config." + (if tarball? + (tarball-needs-pkg-config? thing) + (directory-needs-pkg-config? thing))) + +;; XXX adapted from (guix scripts hash) +(define (file-hash file select? recursive?) + ;; Compute the hash of FILE. + (if recursive? + (let-values (((port get-hash) (open-sha256-port))) + (write-file file port #:select? select?) + (force-output port) + (get-hash)) + (call-with-input-file file port-sha256))) + (define (description->package repository meta) "Return the `package' s-expression for an R package published on REPOSITORY from the alist META, which was derived from the R package's DESCRIPTION file." (let* ((base-url (case repository ((cran) %cran-url) - ((bioconductor) %bioconductor-url))) + ((bioconductor) %bioconductor-url) + ((git) #f))) (uri-helper (case repository ((cran) cran-uri) - ((bioconductor) bioconductor-uri))) + ((bioconductor) bioconductor-uri) + ((git) #f))) (name (assoc-ref meta "Package")) (synopsis (assoc-ref meta "Title")) (version (assoc-ref meta "Version")) (license (string->license (assoc-ref meta "License"))) ;; Some packages have multiple home pages. Some have none. - (home-page (match (listify meta "URL") - ((url rest ...) url) - (_ (string-append base-url name)))) - (source-url (match (apply uri-helper name version - (case repository - ((bioconductor) - (list (assoc-ref meta 'bioconductor-type))) - (else '()))) - ((url rest ...) url) - ((? string? url) url) - (_ #f))) - (tarball (download source-url)) + (home-page (case repository + ((git) (assoc-ref meta 'git)) + (else (match (listify meta "URL") + ((url rest ...) url) + (_ (string-append base-url name)))))) + (source-url (case repository + ((git) (assoc-ref meta 'git)) + (else + (match (apply uri-helper name version + (case repository + ((bioconductor) + (list (assoc-ref meta 'bioconductor-type))) + (else '()))) + ((url rest ...) url) + ((? string? url) url) + (_ #f))))) + (git? (assoc-ref meta 'git)) + (source (download source-url git?)) (sysdepends (append - (if (needs-zlib? tarball) '("zlib") '()) + (if (needs-zlib? source (not git?)) '("zlib") '()) (filter (lambda (name) (not (member name invalid-packages))) (map string-downcase (listify meta "SystemRequirements"))))) @@ -339,41 +425,67 @@ (define (description->package repository meta) (listify meta "Imports") (listify meta "LinkingTo") (delete "R" - (listify meta "Depends")))))) + (listify meta "Depends"))))) + (package + `(package + (name ,(cran-guix-name name)) + (version ,(case repository + ((git) + `(git-version ,version revision commit)) + (else version))) + (source (origin + (method ,(if git? + 'git-fetch + 'url-fetch)) + (uri ,(case repository + ((git) + `(git-reference + (url ,(assoc-ref meta 'git)) + (commit commit))) + (else + `(,(procedure-name uri-helper) ,name version + ,@(or (and=> (assoc-ref meta 'bioconductor-type) + (lambda (type) + (list (list 'quote type)))) + '()))))) + ,@(if git? + '((file-name (git-file-name name version))) + '()) + (sha256 + (base32 + ,(bytevector->nix-base32-string + (case repository + ((git) + (file-hash source (negate vcs-file?) #t)) + (else (file-sha256 source)))))))) + ,@(if (not (and git? + (equal? (string-append "r-" name) + (cran-guix-name name)))) + `((properties ,`(,'quasiquote ((,'upstream-name . ,name))))) + '()) + (build-system r-build-system) + ,@(maybe-inputs sysdepends) + ,@(maybe-inputs (map cran-guix-name propagate) 'propagated-inputs) + ,@(maybe-inputs + `(,@(if (needs-fortran? source (not git?)) + '("gfortran") '()) + ,@(if (needs-pkg-config? source (not git?)) + '("pkg-config") '())) + 'native-inputs) + (home-page ,(if (string-null? home-page) + (string-append base-url name) + home-page)) + (synopsis ,synopsis) + (description ,(beautify-description (or (assoc-ref meta "Description") + ""))) + (license ,license)))) (values - `(package - (name ,(cran-guix-name name)) - (version ,version) - (source (origin - (method url-fetch) - (uri (,(procedure-name uri-helper) ,name version - ,@(or (and=> (assoc-ref meta 'bioconductor-type) - (lambda (type) - (list (list 'quote type)))) - '()))) - (sha256 - (base32 - ,(bytevector->nix-base32-string (file-sha256 tarball)))))) - ,@(if (not (equal? (string-append "r-" name) - (cran-guix-name name))) - `((properties ,`(,'quasiquote ((,'upstream-name . ,name))))) - '()) - (build-system r-build-system) - ,@(maybe-inputs sysdepends) - ,@(maybe-inputs (map cran-guix-name propagate) 'propagated-inputs) - ,@(maybe-inputs - `(,@(if (needs-fortran? tarball) - '("gfortran") '()) - ,@(if (needs-pkg-config? tarball) - '("pkg-config") '())) - 'native-inputs) - (home-page ,(if (string-null? home-page) - (string-append base-url name) - home-page)) - (synopsis ,synopsis) - (description ,(beautify-description (or (assoc-ref meta "Description") - ""))) - (license ,license)) + (case repository + ((git) + `(let ((commit ,(assoc-ref meta 'git-commit)) + (revision "1")) + ,package)) + (else package)) propagate))) (define cran->guix-package diff --git a/guix/import/github.scm b/guix/import/github.scm index fa23fa4c06..55e1f72a42 100644 --- a/guix/import/github.scm +++ b/guix/import/github.scm @@ -49,7 +49,7 @@ (define (updated-github-url old-package new-version) (define (updated-url url) (if (string-prefix? "https://github.com/" url) (let ((ext (or (find-extension url) "")) - (name (package-name old-package)) + (name (package-upstream-name old-package)) (version (package-version old-package)) (prefix (string-append "https://github.com/" (github-user-slash-repository url))) diff --git a/guix/import/utils.scm b/guix/import/utils.scm index 2a3b7341fb..252875eeab 100644 --- a/guix/import/utils.scm +++ b/guix/import/utils.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2012, 2013, 2018, 2019 Ludovic Courtès ;;; Copyright © 2016 Jelle Licht ;;; Copyright © 2016 David Craven -;;; Copyright © 2017 Ricardo Wurmus +;;; Copyright © 2017, 2019 Ricardo Wurmus ;;; Copyright © 2018 Oleg Pykhalov ;;; Copyright © 2019 Robert Vollmert ;;; @@ -251,6 +251,9 @@ (define* (maybe-native-inputs package-names #:optional (output #f)) (define (package->definition guix-package) (match guix-package (('package ('name (? string? name)) _ ...) + `(define-public ,(string->symbol name) + ,guix-package)) + (('let anything ('package ('name (? string? name)) _ ...)) `(define-public ,(string->symbol name) ,guix-package)))) diff --git a/guix/lint.scm b/guix/lint.scm index 7a2bf5a347..212ff70d54 100644 --- a/guix/lint.scm +++ b/guix/lint.scm @@ -1008,8 +1008,8 @@ (define (check-vulnerabilities package) (define (check-for-updates package) "Check if there is an update available for PACKAGE." (match (with-networking-fail-safe - (G_ "while retrieving upstream info for '~a'") - (list (package-name package)) + (format #f (G_ "while retrieving upstream info for '~a'") + (package-name package)) #f (package-latest-release* package (force %updaters))) ((? upstream-source? source) diff --git a/guix/packages.scm b/guix/packages.scm index ac965acd2f..d9eeee15a2 100644 --- a/guix/packages.scm +++ b/guix/packages.scm @@ -801,7 +801,8 @@ (define (bag-transitive-build-inputs bag) (define (bag-transitive-host-inputs bag) "Same as 'package-transitive-target-inputs', but applied to a bag." - (transitive-inputs (bag-host-inputs bag))) + (parameterize ((%current-target-system (bag-target bag))) + (transitive-inputs (bag-host-inputs bag)))) (define (bag-transitive-target-inputs bag) "Return the \"target inputs\" of BAG, recursively." diff --git a/guix/remote.scm b/guix/remote.scm index d0c3d04a25..c00585de74 100644 --- a/guix/remote.scm +++ b/guix/remote.scm @@ -27,6 +27,7 @@ (define-module (guix remote) #:use-module (guix derivations) #:use-module (guix utils) #:use-module (ssh popen) + #:use-module (ssh channel) #:use-module (srfi srfi-1) #:use-module (srfi srfi-34) #:use-module (srfi srfi-35) @@ -68,10 +69,13 @@ (define repl-command (let ((pipe (apply open-remote-pipe* session OPEN_READ repl-command))) (when (eof-object? (peek-char pipe)) - (raise (condition - (&message - (message (format #f (G_ "failed to run '~{~a~^ ~}'") - repl-command)))))) + (let ((status (channel-get-exit-status pipe))) + (close-port pipe) + (raise (condition + (&message + (message (format #f (G_ "remote command '~{~a~^ ~}' failed \ +with status ~a") + repl-command status))))))) pipe)) (define* (%remote-eval lowered session #:optional become-command) diff --git a/guix/scripts/deploy.scm b/guix/scripts/deploy.scm index 6a67985c8b..329de41143 100644 --- a/guix/scripts/deploy.scm +++ b/guix/scripts/deploy.scm @@ -94,7 +94,7 @@ (define (handle-argument arg result) (machine-display-name machine)) (parameterize ((%graft? (assq-ref opts 'graft?))) (guard (c ((message-condition? c) - (report-error (G_ "failed to deploy ~a: '~a'~%") + (report-error (G_ "failed to deploy ~a: ~a~%") (machine-display-name machine) (condition-message c))) ((deploy-error? c) diff --git a/guix/scripts/import.scm b/guix/scripts/import.scm index 0b326e1049..c6cc93fad8 100644 --- a/guix/scripts/import.scm +++ b/guix/scripts/import.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2012, 2013, 2014 Ludovic Courtès ;;; Copyright © 2014 David Thompson ;;; Copyright © 2018 Kyle Meyer +;;; Copyright © 2019 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -113,7 +114,8 @@ (define (guix-import . args) (pretty-print expr (newline-rewriting-port (current-output-port)))))) (match (apply (resolve-importer importer) args) - ((and expr ('package _ ...)) + ((and expr (or ('package _ ...) + ('let _ ...))) (print expr)) ((? list? expressions) (for-each (lambda (expr) diff --git a/guix/scripts/import/cran.scm b/guix/scripts/import/cran.scm index 794fb710cd..b6592f78a9 100644 --- a/guix/scripts/import/cran.scm +++ b/guix/scripts/import/cran.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Eric Bavier -;;; Copyright © 2015, 2017 Ricardo Wurmus +;;; Copyright © 2015, 2017, 2019 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,6 +22,7 @@ (define-module (guix scripts import cran) #:use-module (guix utils) #:use-module (guix scripts) #:use-module (guix import cran) + #:use-module (guix import utils) #:use-module (guix scripts import) #:use-module (srfi srfi-1) #:use-module (srfi srfi-11) @@ -96,11 +97,7 @@ (define (parse-options) ((package-name) (if (assoc-ref opts 'recursive) ;; Recursive import - (map (match-lambda - ((and ('package ('name name) . rest) pkg) - `(define-public ,(string->symbol name) - ,pkg)) - (_ #f)) + (map package->definition (reverse (stream->list (cran-recursive-import package-name diff --git a/guix/scripts/lint.scm b/guix/scripts/lint.scm index ee1c826d2e..1668d02992 100644 --- a/guix/scripts/lint.scm +++ b/guix/scripts/lint.scm @@ -46,9 +46,9 @@ (define (emit-warnings warnings) (lambda (lint-warning) (let ((package (lint-warning-package lint-warning)) (loc (lint-warning-location lint-warning))) - (warning loc (G_ "~a@~a: ~a~%") - (package-name package) (package-version package) - (lint-warning-message lint-warning)))) + (info loc (G_ "~a@~a: ~a~%") + (package-name package) (package-version package) + (lint-warning-message lint-warning)))) warnings)) (define (run-checkers package checkers) diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm index f0cf593814..de5b3fc0ff 100644 --- a/guix/scripts/pack.scm +++ b/guix/scripts/pack.scm @@ -490,7 +490,8 @@ (define build #~(begin (use-modules (guix docker) (guix build store-copy) (guix profiles) (guix search-paths) - (srfi srfi-19) (ice-9 match)) + (srfi srfi-1) (srfi srfi-19) + (ice-9 match)) (define environment (map (match-lambda @@ -499,6 +500,23 @@ (define environment value))) (profile-search-paths #$profile))) + (define symlink->directives + ;; Return "populate directives" to make the given symlink and its + ;; parent directories. + (match-lambda + ((source '-> target) + (let ((target (string-append #$profile "/" target)) + (parent (dirname source))) + `((directory ,parent) + (,source -> ,target)))))) + + (define directives + ;; Create a /tmp directory, as some programs expect it, and + ;; create SYMLINKS. + `((directory "/tmp" ,(getuid) ,(getgid) #o1777) + ,@(append-map symlink->directives '#$symlinks))) + + (setenv "PATH" (string-append #$archiver "/bin")) (build-docker-image #$output @@ -513,7 +531,7 @@ (define environment #$(and entry-point #~(list (string-append #$profile "/" #$entry-point))) - #:symlinks '#$symlinks + #:extra-files directives #:compressor '#$(compressor-command compressor) #:creation-time (make-time time-utc 0 1)))))) @@ -611,8 +629,13 @@ (define (output-file args) ;;; (define* (wrapped-package package - #:optional (compiler (c-compiler)) + #:optional + (output* "out") + (compiler (c-compiler)) #:key proot?) + "Return the OUTPUT of PACKAGE with its binaries wrapped such that they are +relocatable. When PROOT? is true, include PRoot in the result and use it as a +last resort for relocation." (define runner (local-file (search-auxiliary-file "run-in-namespace.c"))) @@ -629,6 +652,14 @@ (define build (ice-9 ftw) (ice-9 match)) + (define input + ;; The OUTPUT* output of PACKAGE. + (ungexp package output*)) + + (define target + ;; The output we are producing. + (ungexp output output*)) + (define (strip-store-prefix file) ;; Given a file name like "/gnu/store/…-foo-1.2/bin/foo", return ;; "/bin/foo". @@ -648,7 +679,7 @@ (define (build-wrapper program) (("@STORE_DIRECTORY@") (%store-directory))) (let* ((base (strip-store-prefix program)) - (result (string-append #$output "/" base)) + (result (string-append target "/" base)) (proot #$(and proot? #~(string-drop #$(file-append (proot) "/bin/proot") @@ -667,18 +698,18 @@ (define (build-wrapper program) ;; Link the top-level files of PACKAGE so that search paths are ;; properly defined in PROFILE/etc/profile. - (mkdir #$output) + (mkdir target) (for-each (lambda (file) (unless (member file '("." ".." "bin" "sbin" "libexec")) - (let ((file* (string-append #$package "/" file))) - (symlink (relative-file-name #$output file*) - (string-append #$output "/" file))))) - (scandir #$package)) + (let ((file* (string-append input "/" file))) + (symlink (relative-file-name target file*) + (string-append target "/" file))))) + (scandir input)) (for-each build-wrapper - (append (find-files #$(file-append package "/bin")) - (find-files #$(file-append package "/sbin")) - (find-files #$(file-append package "/libexec"))))))) + (append (find-files (string-append input "/bin")) + (find-files (string-append input "/sbin")) + (find-files (string-append input "/libexec"))))))) (computed-file (string-append (cond ((package? package) @@ -691,14 +722,18 @@ (define (build-wrapper program) "R") build)) +(define (wrapped-manifest-entry entry . args) + (manifest-entry + (inherit entry) + (item (apply wrapped-package + (manifest-entry-item entry) + (manifest-entry-output entry) + args)))) + (define (map-manifest-entries proc manifest) "Apply PROC to all the entries of MANIFEST and return a new manifest." (make-manifest - (map (lambda (entry) - (manifest-entry - (inherit entry) - (item (proc (manifest-entry-item entry))))) - (manifest-entries manifest)))) + (map proc (manifest-entries manifest)))) ;;; @@ -960,7 +995,7 @@ (define properties ;; 'glibc-bootstrap' lacks 'libc.a'. (if relocatable? (map-manifest-entries - (cut wrapped-package <> #:proot? proot?) + (cut wrapped-manifest-entry <> #:proot? proot?) manifest) manifest))) (pack-format (assoc-ref opts 'format)) diff --git a/guix/ssh.scm b/guix/ssh.scm index 7bc499a2fe..b6b55bdfcb 100644 --- a/guix/ssh.scm +++ b/guix/ssh.scm @@ -106,14 +106,14 @@ (define* (remote-inferior session #:optional become-command) (let* ((repl-command (append (or become-command '()) '("guix" "repl" "-t" "machine"))) (pipe (apply open-remote-pipe* session OPEN_BOTH repl-command))) - ;; XXX: 'channel-get-exit-status' would be better here, but hangs if the - ;; process does succeed. This doesn't reflect the documentation, so it's - ;; possible that it's a bug in guile-ssh. (when (eof-object? (peek-char pipe)) - (raise (condition - (&message - (message (format #f (G_ "failed to run '~{~a~^ ~}'") - repl-command)))))) + (let ((status (channel-get-exit-status pipe))) + (close-port pipe) + (raise (condition + (&message + (message (format #f (G_ "remote command '~{~a~^ ~}' failed \ +with status ~a") + repl-command status))))))) (port->inferior pipe))) (define* (inferior-remote-eval exp session #:optional become-command) diff --git a/guix/swh.scm b/guix/swh.scm index df2a138f04..c253e217da 100644 --- a/guix/swh.scm +++ b/guix/swh.scm @@ -190,6 +190,12 @@ (define (ref n) (ref 10)))))) str)) ;oops! +(define string* + ;; Converts "string or #nil" coming from JSON to "string or #f". + (match-lambda + ((? string? str) str) + ((? null?) #f))) + (define* (call url decode #:optional (method http-get) #:key (false-if-404? #t)) "Invoke the endpoint at URL using METHOD. Decode the resulting JSON body @@ -239,8 +245,8 @@ (define-json-mapping make-visit visit? (date visit-date "date" string->date*) (origin visit-origin) (url visit-url "origin_visit_url") - (snapshot-url visit-snapshot-url "snapshot_url") - (status visit-status) + (snapshot-url visit-snapshot-url "snapshot_url" string*) ;string | #f + (status visit-status "status" string->symbol) ;'full | 'partial | 'ongoing (number visit-number "visit")) ;; @@ -378,9 +384,11 @@ (define (origin-visits origin) (map json->visit (vector->list (json->scm port)))))) (define (visit-snapshot visit) - "Return the snapshot corresponding to VISIT." - (call (swh-url (visit-snapshot-url visit)) - json->snapshot)) + "Return the snapshot corresponding to VISIT or #f if no snapshot is +available." + (and (visit-snapshot-url visit) + (call (swh-url (visit-snapshot-url visit)) + json->snapshot))) (define (branch-target branch) "Return the target of BRANCH, either a or a ." @@ -396,7 +404,7 @@ (define (lookup-origin-revision url tag) "Return a corresponding to the given TAG for the repository coming from URL. Example: - (lookup-origin-release \"https://github.com/guix-mirror/guix/\" \"v0.8\") + (lookup-origin-revision \"https://github.com/guix-mirror/guix/\" \"v0.8\") => #< id: \"44941…\" …> The information is based on the latest visit of URL available. Return #f if @@ -404,7 +412,7 @@ (define (lookup-origin-revision url tag) (match (lookup-origin url) (#f #f) (origin - (match (origin-visits origin) + (match (filter visit-snapshot-url (origin-visits origin)) ((visit . _) (let ((snapshot (visit-snapshot visit))) (match (and=> (find (lambda (branch) @@ -533,7 +541,8 @@ (define (call-with-temporary-directory proc) ;FIXME: factorize (lambda () (false-if-exception (delete-file-recursively tmp-dir)))))) -(define (swh-download url reference output) +(define* (swh-download url reference output + #:key (log-port (current-error-port))) "Download from Software Heritage a checkout of the Git tag or commit REFERENCE originating from URL, and unpack it in OUTPUT. Return #t on success and #f on failure. @@ -545,21 +554,31 @@ (define (swh-download url reference output) (lookup-revision reference) (lookup-origin-revision url reference)) ((? revision? revision) + (format log-port "SWH: found revision ~a with directory at '~a'~%" + (revision-id revision) + (swh-url (revision-directory-url revision))) (call-with-temporary-directory (lambda (directory) - (let ((input (vault-fetch (revision-directory revision) 'directory)) - (tar (open-pipe* OPEN_WRITE "tar" "-C" directory "-xzvf" "-"))) - (dump-port input tar) - (close-port input) - (let ((status (close-pipe tar))) - (unless (zero? status) - (error "tar extraction failure" status))) + (match (vault-fetch (revision-directory revision) 'directory + #:log-port log-port) + (#f + (format log-port + "SWH: directory ~a could not be fetched from the vault~%" + (revision-directory revision)) + #f) + ((? port? input) + (let ((tar (open-pipe* OPEN_WRITE "tar" "-C" directory "-xzvf" "-"))) + (dump-port input tar) + (close-port input) + (let ((status (close-pipe tar))) + (unless (zero? status) + (error "tar extraction failure" status))) - (match (scandir directory) - (("." ".." sub-directory) - (copy-recursively (string-append directory "/" sub-directory) - output - #:log (%make-void-port "w")) - #t)))))) + (match (scandir directory) + (("." ".." sub-directory) + (copy-recursively (string-append directory "/" sub-directory) + output + #:log (%make-void-port "w")) + #t)))))))) (#f #f))) diff --git a/po/doc/guix-manual.de.po b/po/doc/guix-manual.de.po index 96fbe58afe..227fe67906 100644 --- a/po/doc/guix-manual.de.po +++ b/po/doc/guix-manual.de.po @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: guix-manual 1.0.1-pre1\n" "Report-Msgid-Bugs-To: ludo@gnu.org\n" "POT-Creation-Date: 2019-05-10 20:53+0200\n" -"PO-Revision-Date: 2019-06-07 00:54+0200\n" +"PO-Revision-Date: 2019-08-24 00:03+0200\n" "Last-Translator: Florian Pelz \n" "Language-Team: German \n" "Language: de\n" @@ -3099,7 +3099,7 @@ msgstr "Zweck" #. type: Plain text #: doc/guix.texi:323 msgid "GNU Guix@footnote{``Guix'' is pronounced like ``geeks'', or ``ɡiːks'' using the international phonetic alphabet (IPA).} is a package management tool for and distribution of the GNU system. Guix makes it easy for unprivileged users to install, upgrade, or remove software packages, to roll back to a previous package set, to build packages from source, and generally assists with the creation and maintenance of software environments." -msgstr "GNU Guix@footnote{„Guix“ wird wie „geeks“ ausgesprochen, also als „ɡiːks“ in der Notation des Internationalen Phonetischen Alphabets (IPA).} ist ein Werkzeug zur Verwaltung von Softwarepaketen für das GNU-System und eine Distribution desselbigen GNU-Systems. Guix macht es @emph{nicht} mit besonderen Berechtigungen ausgestatteten, „unprivilegierten“ Nutzern leicht, Softwarepakete zu installieren, zu aktualisieren oder zu entfernen, zu einem vorherigen Satz von Paketen zurückzuwechseln, Pakete aus ihrem Quellcode heraus zu erstellen und hilft allgemein bei der Erzeugung und Wartung von Software-Umgebungen." +msgstr "GNU Guix@footnote{„Guix“ wird wie „geeks“ ausgesprochen, also als „ɡiːks“ in der Notation des Internationalen Phonetischen Alphabets (IPA).} ist ein Werkzeug zur Verwaltung von Softwarepaketen für das GNU-System und eine Distribution (eine „Verteilung“) desselbigen GNU-Systems. Guix macht es @emph{nicht} mit besonderen Berechtigungen ausgestatteten, „unprivilegierten“ Nutzern leicht, Softwarepakete zu installieren, zu aktualisieren oder zu entfernen, zu einem vorherigen Satz von Paketen zurückzuwechseln, Pakete aus ihrem Quellcode heraus zu erstellen und hilft allgemein bei der Erzeugung und Wartung von Software-Umgebungen." #. type: cindex #: doc/guix.texi:324 doc/guix.texi:399 @@ -3161,7 +3161,7 @@ msgstr "Anpassung, von Paketen" #. type: Plain text #: doc/guix.texi:365 msgid "Guix includes package definitions for many GNU and non-GNU packages, all of which @uref{https://www.gnu.org/philosophy/free-sw.html, respect the user's computing freedom}. It is @emph{extensible}: users can write their own package definitions (@pxref{Defining Packages}) and make them available as independent package modules (@pxref{Package Modules}). It is also @emph{customizable}: users can @emph{derive} specialized package definitions from existing ones, including from the command line (@pxref{Package Transformation Options})." -msgstr "Guix enthält Paketdefinitionen für viele Pakete, von GNU und nicht von GNU, die alle @uref{https://www.gnu.org/philosophy/free-sw.html, die Freiheit des Computernutzers respektieren}. Es ist @emph{erweiterbar}: Nutzer können ihre eigenen Paketdefinitionen schreiben (siehe @ref{Defining Packages}) und sie als unabhängige Paketmodule verfügbar machen (siehe @ref{Package Modules}). Es ist auch @emph{anpassbar}: Nutzer können spezialisierte Paketdefinitionen aus bestehenden @emph{ableiten}, auch von der Befehlszeile (siehe @ref{Package Transformation Options})." +msgstr "Guix enthält Paketdefinitionen für viele Pakete, manche aus GNU und andere nicht aus GNU, die alle @uref{https://www.gnu.org/philosophy/free-sw.html, die Freiheit des Computernutzers respektieren}. Es ist @emph{erweiterbar}: Nutzer können ihre eigenen Paketdefinitionen schreiben (siehe @ref{Defining Packages}) und sie als unabhängige Paketmodule verfügbar machen (siehe @ref{Package Modules}). Es ist auch @emph{anpassbar}: Nutzer können spezialisierte Paketdefinitionen aus bestehenden @emph{ableiten}, auch von der Befehlszeile (siehe @ref{Package Transformation Options})." #. type: cindex #: doc/guix.texi:366 @@ -3194,12 +3194,12 @@ msgstr "Das Ergebnis von Paketerstellungsfunktionen wird im Dateisystem @dfn{zwi #. type: Plain text #: doc/guix.texi:394 msgid "This approach is the foundation for the salient features of Guix: support for transactional package upgrade and rollback, per-user installation, and garbage collection of packages (@pxref{Features})." -msgstr "Dieses Vorgehen ist die Grundlage für die Guix auszeichnenden Funktionalitäten: Unterstützung transaktionsbasierter Paketaktualisierungen und -rücksetzungen, Installation von Paketen als einfacher Nutzer sowie Garbage Collection für Pakete (siehe @ref{Features})." +msgstr "Dieses Vorgehen ist die Grundlage für die Guix auszeichnenden Funktionalitäten: Unterstützung transaktionsbasierter Paketaktualisierungen und -rücksetzungen, Installation von Paketen für jeden Nutzer sowie Garbage Collection für Pakete (siehe @ref{Features})." #. type: Plain text #: doc/guix.texi:409 msgid "Guix comes with a distribution of the GNU system consisting entirely of free software@footnote{The term ``free'' here refers to the @url{https://www.gnu.org/philosophy/free-sw.html,freedom provided to users of that software}.}. The distribution can be installed on its own (@pxref{System Installation}), but it is also possible to install Guix as a package manager on top of an installed GNU/Linux system (@pxref{Installation}). When we need to distinguish between the two, we refer to the standalone distribution as Guix@tie{}System." -msgstr "Mit Guix kommt eine Distribution des GNU-Systems, die nur aus freier Software@footnote{Die Bezeichnung „frei“ steht hier für die @url{https://www.gnu.org/philosophy/free-sw.html,Freiheiten, die Nutzern der Software geboten werden}.} besteht. Die Distribution kann für sich allein installiert werden (siehe @ref{System Installation}), aber Guix kann auch auf einem bestehenden GNU/Linux-System installiert werden. Wenn wir die Anwendungsfälle unterscheiden möchten, bezeichnen wir die alleinstehende Distribution als „Guix@tie{}System“ (mit englischer Aussprache)." +msgstr "Mit Guix kommt eine Distribution des GNU-Systems, die nur aus freier Software@footnote{Die Bezeichnung „frei“ steht hier für die @url{https://www.gnu.org/philosophy/free-sw.html,Freiheiten@comma{} die Nutzern der Software geboten werden}.} besteht. Die Distribution kann für sich allein installiert werden (siehe @ref{System Installation}), aber Guix kann auch auf einem bestehenden GNU/Linux-System installiert werden. Wenn wir die Anwendungsfälle unterscheiden möchten, bezeichnen wir die alleinstehende Distribution als „Guix@tie{}System“ (mit englischer Aussprache)." #. type: Plain text #: doc/guix.texi:415 @@ -3673,12 +3673,12 @@ msgstr "Dieser Abschnitt listet Voraussetzungen auf, um Guix aus seinem Quellcod #: doc/guix.texi:722 #, no-wrap msgid "official website" -msgstr "Offizielle Webpräsenz" +msgstr "Offizieller Webauftritt" #. type: Plain text #: doc/guix.texi:725 msgid "GNU Guix is available for download from its website at @url{https://www.gnu.org/software/guix/}." -msgstr "GNU Guix kann von seiner Webpräsenz unter @url{http://www.gnu.org/software/guix/} heruntergeladen werden." +msgstr "GNU Guix kann von seinem Webauftritt unter @url{http://www.gnu.org/software/guix/} heruntergeladen werden." #. type: Plain text #: doc/guix.texi:727 @@ -7481,7 +7481,7 @@ msgstr "Guix hat die richtigen Grundlagen, um die Reproduzierbarkeit von Erstell #. type: Plain text #: doc/guix.texi:3327 msgid "In the future, we want Guix to have support to publish and retrieve binaries to/from other users, in a peer-to-peer fashion. If you would like to discuss this project, join us on @email{guix-devel@@gnu.org}." -msgstr "In Zukunft wollen wir, dass Guix Binärdateien an und von Nutzern peer-to-peer veröffentlichen kann. Wenn Sie mit uns dieses Projekt diskutieren möchten, kommen Sie auf unsere Mailing-Liste @email{guix-devel@@gnu.org}." +msgstr "In Zukunft wollen wir, dass Sie mit Guix Binärdateien von Netzwerkteilnehmer zu Netzwerkteilnehmer („peer-to-peer“) veröffentlichen und empfangen können. Wenn Sie mit uns dieses Projekt diskutieren möchten, kommen Sie auf unsere Mailing-Liste @email{guix-devel@@gnu.org}." #. type: cindex #: doc/guix.texi:3331 @@ -13389,7 +13389,7 @@ msgstr "" "(with-imported-modules (source-module-closure\n" " '((guix build utils)\n" " (gnu build vm)))\n" -" (gexp->derivation \"etwas-mit-vms\"\n" +" (gexp->derivation \"etwas-mit-vm\"\n" " #~(begin\n" " (use-modules (guix build utils)\n" " (gnu build vm))\n" @@ -14376,7 +14376,7 @@ msgstr "--fallback" #. type: table #: doc/guix.texi:7709 msgid "When substituting a pre-built binary fails, fall back to building packages locally (@pxref{Substitution Failure})." -msgstr "Wenn das Substituieren vorerstellter Binärdateien fehlschlägt, diese als „Fallback“ lokal selbst erstellen (siehe @ref{Substitution Failure})." +msgstr "Wenn das Substituieren vorerstellter Binärdateien fehlschlägt, diese ersatzweise lokal selbst erstellen (siehe @ref{Substitution Failure})." #. type: anchor{#1} #: doc/guix.texi:7715 @@ -26358,7 +26358,7 @@ msgstr "{@code{cups-configuration}-Parameter} Rechnernamensauflösungen host-nam #. type: deftypevr #: doc/guix.texi:14143 msgid "Specifies whether to do reverse lookups on connecting clients. The @code{double} setting causes @code{cupsd} to verify that the hostname resolved from the address matches one of the addresses returned for that hostname. Double lookups also prevent clients with unregistered addresses from connecting to your server. Only set this option to @code{#t} or @code{double} if absolutely required." -msgstr "Gibt an, ob umgekehrte Namensauflösungen („Reverse Lookups“) bei sich verbindenden Clients durchgeführt werden sollen. Die Einstellung @code{double} lässt @code{cupsd} verifizieren, dass der anhand der Adresse aufgelöste Rechnername zu einer der für den Rechnernamen zurückgelieferten Adressen passt. „Double“-Namensauflösungen verhindern auch, dass sich Clients mit unregistrierten Adressen mit Ihrem Server verbinden können. Setzen Sie diese Option nur dann auf @code{#t} oder @code{double}, wenn es unbedingt notwendig ist." +msgstr "Gibt an, ob inverse Namensauflösungen („Reverse Lookups“) bei sich verbindenden Clients durchgeführt werden sollen. Die Einstellung @code{double} lässt @code{cupsd} verifizieren, dass der anhand der Adresse aufgelöste Rechnername zu einer der für den Rechnernamen zurückgelieferten Adressen passt. „Double“-Namensauflösungen verhindern auch, dass sich Clients mit unregistrierten Adressen mit Ihrem Server verbinden können. Setzen Sie diese Option nur dann auf @code{#t} oder @code{double}, wenn es unbedingt notwendig ist." #. type: deftypevr #: doc/guix.texi:14147 @@ -27707,7 +27707,7 @@ msgstr "{Scheme-Prozedur} accountsservice-service @" #. type: deffn #: doc/guix.texi:14853 msgid "[#:accountsservice @var{accountsservice}] Return a service that runs AccountsService, a system service that can list available accounts, change their passwords, and so on. AccountsService integrates with PolicyKit to enable unprivileged users to acquire the capability to modify their system configuration. @uref{https://www.freedesktop.org/wiki/Software/AccountsService/, the accountsservice web site} for more information." -msgstr "[#:accountsservice @var{accountsservice}] Liefert einen Dienst, der AccountsService ausführt. Dabei handelt es sich um einen Systemdienst, mit dem verfügbare Benutzerkonten aufgelistet und deren Passwörter geändert werden können, und Ähnliches. AccountsService arbeitet mit PolicyKit zusammen, um es Benutzern ohne besondere Berechtigungen zu ermöglichen, ihre Systemkonfiguration zu ändern. Siehe @uref{https://www.freedesktop.org/wiki/Software/AccountsService/, die Webpräsenz von AccountsService} für weitere Informationen." +msgstr "[#:accountsservice @var{accountsservice}] Liefert einen Dienst, der AccountsService ausführt. Dabei handelt es sich um einen Systemdienst, mit dem verfügbare Benutzerkonten aufgelistet und deren Passwörter geändert werden können, und Ähnliches. AccountsService arbeitet mit PolicyKit zusammen, um es Benutzern ohne besondere Berechtigungen zu ermöglichen, ihre Systemkonfiguration zu ändern. Siehe @uref{https://www.freedesktop.org/wiki/Software/AccountsService/, den Webauftritt von AccountsService} für weitere Informationen." #. type: deffn #: doc/guix.texi:14856 @@ -27924,7 +27924,7 @@ msgstr "{Scheme-Prozedur} colord-service [#:colord @var{colord}]" #. type: deffn #: doc/guix.texi:14956 msgid "Return a service that runs @command{colord}, a system service with a D-Bus interface to manage the color profiles of input and output devices such as screens and scanners. It is notably used by the GNOME Color Manager graphical tool. See @uref{https://www.freedesktop.org/software/colord/, the colord web site} for more information." -msgstr "Liefert einen Dienst, der @command{colord} ausführt. Dabei handelt es sich um einen Systemdienst mit einer D-Bus-Schnittstelle, um die Farbprofile von Ein- und Ausgabegeräten wie Bildschirmen oder Scannern zu verwalten. Insbesondere wird colord vom grafischen GNOME-Farbverwaltungswerkzeug benutzt. Siehe @uref{https://www.freedesktop.org/software/colord/, die Webpräsenz von colord} für weitere Informationen." +msgstr "Liefert einen Dienst, der @command{colord} ausführt. Dabei handelt es sich um einen Systemdienst mit einer D-Bus-Schnittstelle, um die Farbprofile von Ein- und Ausgabegeräten wie Bildschirmen oder Scannern zu verwalten. Insbesondere wird colord vom grafischen GNOME-Farbverwaltungswerkzeug benutzt. Siehe @uref{https://www.freedesktop.org/software/colord/, den Webauftritt von colord} für weitere Informationen." #. type: deffn #: doc/guix.texi:14958 @@ -27957,7 +27957,7 @@ msgstr "{Scheme-Prozedur} geoclue-service [#:colord @var{colord}] @" #. type: deffn #: doc/guix.texi:14991 msgid "[#:whitelist '()] @ [#:wifi-geolocation-url \"https://location.services.mozilla.com/v1/geolocate?key=geoclue\"] @ [#:submit-data? #f] [#:wifi-submission-url \"https://location.services.mozilla.com/v1/submit?key=geoclue\"] @ [#:submission-nick \"geoclue\"] @ [#:applications %standard-geoclue-applications] Return a service that runs the GeoClue location service. This service provides a D-Bus interface to allow applications to request access to a user's physical location, and optionally to add information to online location databases. See @uref{https://wiki.freedesktop.org/www/Software/GeoClue/, the GeoClue web site} for more information." -msgstr "[#:whitelist '()] @ [#:wifi-geolocation-url \"https://location.services.mozilla.com/v1/geolocate?key=geoclue\"] @ [#:submit-data? #f] [#:wifi-submission-url \"https://location.services.mozilla.com/v1/submit?key=geoclue\"] @ [#:submission-nick \"geoclue\"] @ [#:applications %standard-geoclue-applications] Liefert einen Dienst, der den Ortungsdienst GeoClue ausführt. Dieser Dienst bietet eine D-Bus-Schnittstelle an, mit der Anwendungen Zugriff auf den physischen Ort eines Benutzers anfragen können, und optional Informationen in Online-Ortsdatenbanken eintragen können. Siehe @uref{https://wiki.freedesktop.org/www/Software/GeoClue/, die Webpräsenz von GeoClue} für weitere Informationen." +msgstr "[#:whitelist '()] @ [#:wifi-geolocation-url \"https://location.services.mozilla.com/v1/geolocate?key=geoclue\"] @ [#:submit-data? #f] [#:wifi-submission-url \"https://location.services.mozilla.com/v1/submit?key=geoclue\"] @ [#:submission-nick \"geoclue\"] @ [#:applications %standard-geoclue-applications] Liefert einen Dienst, der den Ortungsdienst GeoClue ausführt. Dieser Dienst bietet eine D-Bus-Schnittstelle an, mit der Anwendungen Zugriff auf den physischen Ort eines Benutzers anfragen können, und optional Informationen in Online-Ortsdatenbanken eintragen können. Siehe @uref{https://wiki.freedesktop.org/www/Software/GeoClue/, den Webauftritt von GeoClue} für weitere Informationen." #. type: deffn #: doc/guix.texi:14993 @@ -28191,7 +28191,7 @@ msgstr "PostgreSQL-Erweiterungspakete" #. type: deffn #: doc/guix.texi:15107 msgid "Additional extensions are loaded from packages listed in @var{extension-packages}. Extensions are available at runtime. For instance, to create a geographic database using the @code{postgis} extension, a user can configure the postgresql-service as in this example:" -msgstr "Zusätzliche Erweiterungen werden aus den unter @var{extension-packages} aufgeführten Paketen geladen. Erweiterungen sind zur Laufzeit verfügbar. Zum Beispiel kann ein Nutzer den postgresql-service-Dienst wie in diesem Beispiel konfigurieren, um eine geografische Datenbank mithilfe der @code{postgis}-Erweiterung zu erzeugen:" +msgstr "Zusätzliche Erweiterungen werden aus den unter @var{extension-packages} aufgeführten Paketen geladen. Erweiterungen sind zur Laufzeit verfügbar. Zum Beispiel kann ein Nutzer den postgresql-service-Dienst wie in diesem Beispiel konfigurieren, um eine geografische Datenbank mit Hilfe der @code{postgis}-Erweiterung zu erzeugen:" #. type: cindex #: doc/guix.texi:15108 @@ -31238,24 +31238,24 @@ msgstr "XMPP" #. type: Plain text #: doc/guix.texi:16754 msgid "The @code{(gnu services messaging)} module provides Guix service definitions for messaging services: currently only Prosody is supported." -msgstr "" +msgstr "Das Modul @code{(gnu services messaging)} stellt Guix-Dienstdefinitionen für Kurznachrichtendienste, d.h.@: „Instant Messaging“, zur Verfügung. Zur Zeit wird hier nur Prosody unterstützt." #. type: subsubheading #: doc/guix.texi:16755 #, no-wrap msgid "Prosody Service" -msgstr "" +msgstr "Prosody-Dienst" #. type: deffn #: doc/guix.texi:16757 #, no-wrap msgid "{Scheme Variable} prosody-service-type" -msgstr "" +msgstr "{Scheme-Variable} prosody-service-type" #. type: deffn #: doc/guix.texi:16761 msgid "This is the type for the @uref{https://prosody.im, Prosody XMPP communication server}. Its value must be a @code{prosody-configuration} record as in this example:" -msgstr "" +msgstr "Dies ist der Diensttyp für den @uref{https://prosody.im, XMPP-Kommunikationsserver Prosody}. Sein Wert muss ein @code{prosody-configuration}-Verbundsobjekt wie in diesem Beispiel sein:" #. type: example #: doc/guix.texi:16776 @@ -31275,689 +31275,702 @@ msgid "" " (virtualhost-configuration\n" " (domain \"example.net\"))))))\n" msgstr "" +"(service prosody-service-type\n" +" (prosody-configuration\n" +" (modules-enabled (cons \"groups\" \"mam\" %default-modules-enabled))\n" +" (int-components\n" +" (list\n" +" (int-component-configuration\n" +" (hostname \"conference.example.net\")\n" +" (plugin \"muc\")\n" +" (mod-muc (mod-muc-configuration)))))\n" +" (virtualhosts\n" +" (list\n" +" (virtualhost-configuration\n" +" (domain \"example.net\"))))))\n" #. type: deffn #: doc/guix.texi:16779 msgid "See below for details about @code{prosody-configuration}." -msgstr "" +msgstr "Siehe im Folgenden Details über die @code{prosody-configuration}." #. type: Plain text #: doc/guix.texi:16785 msgid "By default, Prosody does not need much configuration. Only one @code{virtualhosts} field is needed: it specifies the domain you wish Prosody to serve." -msgstr "" +msgstr "Prosody kann mit den Vorgabeeinstellungen ohne viel weitere Konfiguration benutzt werden. Nur ein @code{virtualhosts}-Feld wird gebraucht: Es legt die Domain fest, um die sich Prosody kümmert." #. type: Plain text #: doc/guix.texi:16788 msgid "You can perform various sanity checks on the generated configuration with the @code{prosodyctl check} command." -msgstr "" +msgstr "Sie können die Korrektheit der generierten Konfigurationsdatei überprüfen, indem Sie den Befehl @code{prosodyctl check} ausführen." #. type: Plain text #: doc/guix.texi:16792 msgid "Prosodyctl will also help you to import certificates from the @code{letsencrypt} directory so that the @code{prosody} user can access them. See @url{https://prosody.im/doc/letsencrypt}." -msgstr "" +msgstr "Prosodyctl hilft auch dabei, Zertifikate aus dem @code{letsencrypt}-Verzeichnis zu importieren, so dass das @code{prosody}-Benutzerkonto auf sie Zugriff hat. Siehe @url{https://prosody.im/doc/letsencrypt}." #. type: example #: doc/guix.texi:16795 #, no-wrap msgid "prosodyctl --root cert import /etc/letsencrypt/live\n" -msgstr "" +msgstr "prosodyctl --root cert import /etc/letsencrypt/live\n" #. type: Plain text #: doc/guix.texi:16802 msgid "The available configuration parameters follow. Each parameter definition is preceded by its type; for example, @samp{string-list foo} indicates that the @code{foo} parameter should be specified as a list of strings. Types starting with @code{maybe-} denote parameters that won't show up in @code{prosody.cfg.lua} when their value is @code{'disabled}." -msgstr "" +msgstr "Im Folgenden finden Sie die verfügbaren Konfigurationsparameter. Jeder Parameterdefinition ist ihr Typ vorangestellt; zum Beispiel bedeutet @samp{Zeichenketten-Liste foo}, dass der Parameter @code{foo} als Liste von Zeichenketten angegeben werden sollte. Typangaben, die mit @code{Vielleicht-} beginnen, stehen für Parameter, die in @code{prosody.cfg.lua} nicht vorkommen, falls deren Wert als @code{'disabled} („deaktiviert“) angegeben wurde." #. type: Plain text #: doc/guix.texi:16806 msgid "There is also a way to specify the configuration as a string, if you have an old @code{prosody.cfg.lua} file that you want to port over from some other system; see the end for more details." -msgstr "" +msgstr "Sie können die Konfiguration auch als eine Zeichenkette festlegen, wenn Sie über eine alte @code{prosody.cfg.lua}-Datei verfügen, die Sie von einem anderen System übernehmen möchten; siehe das Ende dieses Abschnitts für Details." #. type: Plain text #: doc/guix.texi:16809 msgid "The @code{file-object} type designates either a file-like object (@pxref{G-Expressions, file-like objects}) or a file name." -msgstr "" +msgstr "Der Typ @code{Dateiobjekt} bezeichnet hierbei entweder ein dateiartiges Objekt (siehe @ref{G-Expressions, file-like objects}) oder einen Dateinamen." #. type: Plain text #: doc/guix.texi:16819 msgid "Available @code{prosody-configuration} fields are:" -msgstr "" +msgstr "Verfügbare @code{prosody-configuration}-Felder sind:" #. type: deftypevr #: doc/guix.texi:16820 #, no-wrap msgid "{@code{prosody-configuration} parameter} package prosody" -msgstr "" +msgstr "{@code{prosody-configuration}-Parameter} „package“ prosody" #. type: deftypevr #: doc/guix.texi:16822 msgid "The Prosody package." -msgstr "" +msgstr "Das Prosody-Paket." #. type: deftypevr #: doc/guix.texi:16824 #, no-wrap msgid "{@code{prosody-configuration} parameter} file-name data-path" -msgstr "" +msgstr "{@code{prosody-configuration}-Parameter} Dateiname data-path" #. type: deftypevr #: doc/guix.texi:16828 msgid "Location of the Prosody data storage directory. See @url{https://prosody.im/doc/configure}. Defaults to @samp{\"/var/lib/prosody\"}." -msgstr "" +msgstr "Der Ort, wo sich Prosodys Verzeichnis zum Speichern von Daten befinden soll. Siehe @url{https://prosody.im/doc/configure}. Die Vorgabe ist @samp{\"/var/lib/prosody\"}." #. type: deftypevr #: doc/guix.texi:16830 #, no-wrap msgid "{@code{prosody-configuration} parameter} file-object-list plugin-paths" -msgstr "" +msgstr "{@code{prosody-configuration}-Parameter} Dateiobjekt-Liste plugin-paths" #. type: deftypevr #: doc/guix.texi:16834 msgid "Additional plugin directories. They are searched in all the specified paths in order. See @url{https://prosody.im/doc/plugins_directory}. Defaults to @samp{()}." -msgstr "" +msgstr "Zusätzliche Plugin-Verzeichnisse. Plugins werden der Reihe nach in allen festgelegten Pfaden gesucht. Siehe @url{https://prosody.im/doc/plugins_directory}. Die Vorgabe ist @samp{()}." #. type: deftypevr #: doc/guix.texi:16836 #, no-wrap msgid "{@code{prosody-configuration} parameter} file-name certificates" -msgstr "" +msgstr "{@code{prosody-configuration}-Parameter} Dateiname certificates" #. type: deftypevr #: doc/guix.texi:16841 msgid "Every virtual host and component needs a certificate so that clients and servers can securely verify its identity. Prosody will automatically load certificates/keys from the directory specified here. Defaults to @samp{\"/etc/prosody/certs\"}." -msgstr "" +msgstr "Jeder virtuellte Rechner und jede Komponente braucht ein Zertifikat, mit dem Clients und Server ihre Identität sicher verifizieren können. Prosody lädt automatisch Zertifikate bzw.@: Schlüssel aus dem hier angegebenen Verzeichnis. Die Vorgabe ist @samp{\"/etc/prosody/certs\"}." #. type: deftypevr #: doc/guix.texi:16843 #, no-wrap msgid "{@code{prosody-configuration} parameter} string-list admins" -msgstr "" +msgstr "{@code{prosody-configuration}-Parameter} Zeichenketten-Liste admins" #. type: deftypevr #: doc/guix.texi:16849 msgid "This is a list of accounts that are admins for the server. Note that you must create the accounts separately. See @url{https://prosody.im/doc/admins} and @url{https://prosody.im/doc/creating_accounts}. Example: @code{(admins '(\"user1@@example.com\" \"user2@@example.net\"))} Defaults to @samp{()}." -msgstr "" +msgstr "Dies ist eine Liste der Benutzerkonten, die auf diesem Server Administratoren sind. Beachten Sie, dass Sie die Benutzerkonten noch separat als Nutzer erzeugen lassen müssen. Siehe @url{https://prosody.im/doc/admins} and @url{https://prosody.im/doc/creating_accounts}. Ein Beispiel: @code{(admins '(\"user1@@example.com\" \"user2@@example.net\"))} Die Vorgabe ist @samp{()}." #. type: deftypevr #: doc/guix.texi:16851 #, no-wrap msgid "{@code{prosody-configuration} parameter} boolean use-libevent?" -msgstr "" +msgstr "{@code{prosody-configuration}-Parameter} Boolescher-Ausdruck use-libevent?" #. type: deftypevr #: doc/guix.texi:16855 msgid "Enable use of libevent for better performance under high load. See @url{https://prosody.im/doc/libevent}. Defaults to @samp{#f}." -msgstr "" +msgstr "Die Nutzung von libevent aktivieren, damit bessere Leistungsfähigkeit auch unter hoher Last gewährleistet wird. Siehe @url{https://prosody.im/doc/libevent}. Die Vorgabe ist @samp{#f}." #. type: deftypevr #: doc/guix.texi:16857 #, no-wrap msgid "{@code{prosody-configuration} parameter} module-list modules-enabled" -msgstr "" +msgstr "{@code{prosody-configuration}-Parameter} Modul-Liste modules-enabled" #. type: deftypevr #: doc/guix.texi:16863 msgid "This is the list of modules Prosody will load on startup. It looks for @code{mod_modulename.lua} in the plugins folder, so make sure that exists too. Documentation on modules can be found at: @url{https://prosody.im/doc/modules}. Defaults to @samp{(\"roster\" \"saslauth\" \"tls\" \"dialback\" \"disco\" \"carbons\" \"private\" \"blocklist\" \"vcard\" \"version\" \"uptime\" \"time\" \"ping\" \"pep\" \"register\" \"admin_adhoc\")}." -msgstr "" +msgstr "Die Liste der Module, die Prosody beim Starten lädt. Es sucht nach @code{mod_modulename.lua} im Plugin-Verzeichnis, also sollten Sie sicherstellen, dass es dort auch existiert. Dokumentation über Module können Sie hier finden: @url{https://prosody.im/doc/modules}. Die Vorgabe ist @samp{(\"roster\" \"saslauth\" \"tls\" \"dialback\" \"disco\" \"carbons\" \"private\" \"blocklist\" \"vcard\" \"version\" \"uptime\" \"time\" \"ping\" \"pep\" \"register\" \"admin_adhoc\")}." #. type: deftypevr #: doc/guix.texi:16865 #, no-wrap msgid "{@code{prosody-configuration} parameter} string-list modules-disabled" -msgstr "" +msgstr "{@code{prosody-configuration}-Parameter} Zeichenketten-Liste modules-disabled" #. type: deftypevr #: doc/guix.texi:16869 msgid "@samp{\"offline\"}, @samp{\"c2s\"} and @samp{\"s2s\"} are auto-loaded, but should you want to disable them then add them to this list. Defaults to @samp{()}." -msgstr "" +msgstr "@samp{\"offline\"}, @samp{\"c2s\"} und @samp{\"s2s\"} werden automatisch geladen, aber wenn Sie sie deaktivieren möchten, tragen Sie sie einfach in die Liste ein. Die Vorgabe ist @samp{()}." #. type: deftypevr #: doc/guix.texi:16871 #, no-wrap msgid "{@code{prosody-configuration} parameter} file-object groups-file" -msgstr "" +msgstr "{@code{prosody-configuration}-Parameter} Dateiobjekt groups-file" #. type: deftypevr #: doc/guix.texi:16876 msgid "Path to a text file where the shared groups are defined. If this path is empty then @samp{mod_groups} does nothing. See @url{https://prosody.im/doc/modules/mod_groups}. Defaults to @samp{\"/var/lib/prosody/sharedgroups.txt\"}." -msgstr "" +msgstr "Der Pfad zu einer Textdatei, in der gemeinsame Gruppen definiert werden. Wenn dieser Pfad leer ist, dann tut @samp{mod_groups} nichts. Siehe @url{https://prosody.im/doc/modules/mod_groups}. Die Vorgabe ist @samp{\"/var/lib/prosody/sharedgroups.txt\"}." #. type: deftypevr #: doc/guix.texi:16878 #, no-wrap msgid "{@code{prosody-configuration} parameter} boolean allow-registration?" -msgstr "" +msgstr "{@code{prosody-configuration}-Parameter} Boolescher-Ausdruck allow-registration?" #. type: deftypevr #: doc/guix.texi:16882 msgid "Disable account creation by default, for security. See @url{https://prosody.im/doc/creating_accounts}. Defaults to @samp{#f}." -msgstr "" +msgstr "Ob nach Voreinstellung @emph{keine} neuen Benutzerkonten angelegt werden können, aus Sicherheitsgründen. Siehe @url{https://prosody.im/doc/creating_accounts}. Die Vorgabe ist @samp{#f}." #. type: deftypevr #: doc/guix.texi:16884 #, no-wrap msgid "{@code{prosody-configuration} parameter} maybe-ssl-configuration ssl" -msgstr "" +msgstr "{@code{prosody-configuration}-Parameter} Vielleicht-„ssl-configuration“ ssl" #. type: deftypevr #: doc/guix.texi:16889 msgid "These are the SSL/TLS-related settings. Most of them are disabled so to use Prosody's defaults. If you do not completely understand these options, do not add them to your config, it is easy to lower the security of your server using them. See @url{https://prosody.im/doc/advanced_ssl_config}." -msgstr "" +msgstr "Dies ist der Teil der Einstellungen, der mit SSL/TLS zu tun hat. Der Großteil davon ist deaktiviert, damit die Voreinstellungen von Prosody verwendet werden. Wenn Sie diese Optionen hier nicht völlig verstehen, sollten Sie sie @emph{nicht} in Ihrer Konfiguration verwenden. Es passiert leicht, dass Sie die Sicherheit Ihres Servers absenken, indem Sie sie falsch benutzen. Siehe @url{https://prosody.im/doc/advanced_ssl_config}." #. type: deftypevr #: doc/guix.texi:16891 msgid "Available @code{ssl-configuration} fields are:" -msgstr "" +msgstr "Verfügbare @code{ssl-configuration}-Felder sind:" #. type: deftypevr #: doc/guix.texi:16892 #, no-wrap msgid "{@code{ssl-configuration} parameter} maybe-string protocol" -msgstr "" +msgstr "{@code{ssl-configuration}-Parameter} Vielleicht-Zeichenkette protocol" #. type: deftypevr #: doc/guix.texi:16894 msgid "This determines what handshake to use." -msgstr "" +msgstr "Dadurch wird entschieden, was für ein Handshake benutzt wird." #. type: deftypevr #: doc/guix.texi:16896 #, no-wrap msgid "{@code{ssl-configuration} parameter} maybe-file-name key" -msgstr "" +msgstr "{@code{ssl-configuration}-Parameter} Vielleicht-Dateiname key" #. type: deftypevr #: doc/guix.texi:16898 msgid "Path to your private key file." -msgstr "" +msgstr "Der Pfad zur Datei mit Ihrem privaten Schlüssel." #. type: deftypevr #: doc/guix.texi:16900 #, no-wrap msgid "{@code{ssl-configuration} parameter} maybe-file-name certificate" -msgstr "" +msgstr "{@code{ssl-configuration}-Parameter} Vielleicht-Dateiname certificate" #. type: deftypevr #: doc/guix.texi:16902 msgid "Path to your certificate file." -msgstr "" +msgstr "Der Pfad zur Datei mit Ihrem Zertifikat." #. type: deftypevr #: doc/guix.texi:16904 #, no-wrap msgid "{@code{ssl-configuration} parameter} file-object capath" -msgstr "" +msgstr "{@code{ssl-configuration}-Parameter} Dateiobjekt capath" #. type: deftypevr #: doc/guix.texi:16908 msgid "Path to directory containing root certificates that you wish Prosody to trust when verifying the certificates of remote servers. Defaults to @samp{\"/etc/ssl/certs\"}." -msgstr "" +msgstr "Der Pfad zum Verzeichnis, das die Wurzelzertifikate enthält, die Prosody zur Verifikation der Zertifikate entfernter Server benutzen soll. Die Vorgabe ist @samp{\\\"/etc/ssl/certs\\\"}." #. type: deftypevr #: doc/guix.texi:16910 #, no-wrap msgid "{@code{ssl-configuration} parameter} maybe-file-object cafile" -msgstr "" +msgstr "{@code{ssl-configuration}-Parameter} Vielleicht-Dateiobjekt cafile" #. type: deftypevr #: doc/guix.texi:16913 msgid "Path to a file containing root certificates that you wish Prosody to trust. Similar to @code{capath} but with all certificates concatenated together." -msgstr "" +msgstr "Der Pfad zu einer Datei, in der Wurzelzertifikate enthalten sind, denen Prosody vertrauen soll. Er verhält sich ähnlich wie @code{capath}, aber alle Zertifikate stehen hintereinander in der Datei." #. type: deftypevr #: doc/guix.texi:16915 #, no-wrap msgid "{@code{ssl-configuration} parameter} maybe-string-list verify" -msgstr "" +msgstr "{@code{ssl-configuration}-Parameter} Vielleicht-Zeichenketten-Liste verify" #. type: deftypevr #: doc/guix.texi:16918 msgid "A list of verification options (these mostly map to OpenSSL's @code{set_verify()} flags)." -msgstr "" +msgstr "Eine Liste von Verifikationsoptionen. (Die meisten bilden auf die @code{set_verify()}-Flags von OpenSSL ab.)" #. type: deftypevr #: doc/guix.texi:16920 #, no-wrap msgid "{@code{ssl-configuration} parameter} maybe-string-list options" -msgstr "" +msgstr "{@code{ssl-configuration}-Parameter} Vielleicht-Zeichenketten-Liste options" #. type: deftypevr #: doc/guix.texi:16924 msgid "A list of general options relating to SSL/TLS. These map to OpenSSL's @code{set_options()}. For a full list of options available in LuaSec, see the LuaSec source." -msgstr "" +msgstr "Eine Liste allgemeiner Optionen, die mit SSL/TLS zu tun haben. Diese bilden auf OpenSSLs @code{set_options()} ab. Eine vollständige Liste der in LuaSec verfügbaren Optionen finden Sie im Quellcode von LuaSec." #. type: deftypevr #: doc/guix.texi:16926 #, no-wrap msgid "{@code{ssl-configuration} parameter} maybe-non-negative-integer depth" -msgstr "" +msgstr "{@code{ssl-configuration}-Parameter} Vielleicht-Nichtnegative-ganze-Zahl depth" #. type: deftypevr #: doc/guix.texi:16929 msgid "How long a chain of certificate authorities to check when looking for a trusted root certificate." -msgstr "" +msgstr "Wie lange eine Kette von Zertifikatsautoritäten („Certificate Authorities“) nach einem passenden Wurzelzertifikat durchsucht wird, dem vertraut wird." #. type: deftypevr #: doc/guix.texi:16931 #, no-wrap msgid "{@code{ssl-configuration} parameter} maybe-string ciphers" -msgstr "" +msgstr "{@code{ssl-configuration}-Parameter} Vielleicht-Zeichenkette ciphers" #. type: deftypevr #: doc/guix.texi:16934 msgid "An OpenSSL cipher string. This selects what ciphers Prosody will offer to clients, and in what order." -msgstr "" +msgstr "Eine Zeichenkette mit OpenSSL-Ciphers. Damit wird ausgewählt, welche Ciphers Prosody seinen Clients anbietet, und in welcher Reihenfolge." #. type: deftypevr #: doc/guix.texi:16936 #, no-wrap msgid "{@code{ssl-configuration} parameter} maybe-file-name dhparam" -msgstr "" +msgstr "{@code{ssl-configuration}-Parameter} Vielleicht-Dateiname dhparam" #. type: deftypevr #: doc/guix.texi:16940 msgid "A path to a file containing parameters for Diffie-Hellman key exchange. You can create such a file with: @code{openssl dhparam -out /etc/prosody/certs/dh-2048.pem 2048}" -msgstr "" +msgstr "Ein Pfad zu einer Datei, in der Parameter für Diffie-Hellman-Schlüsselaustausche stehen. Sie können so eine Datei mit diesem Befehl erzeugen: @code{openssl dhparam -out /etc/prosody/certs/dh-2048.pem 2048}" #. type: deftypevr #: doc/guix.texi:16942 #, no-wrap msgid "{@code{ssl-configuration} parameter} maybe-string curve" -msgstr "" +msgstr "{@code{ssl-configuration}-Parameter} Vielleicht-Zeichenkette curve" #. type: deftypevr #: doc/guix.texi:16945 msgid "Curve for Elliptic curve Diffie-Hellman. Prosody's default is @samp{\"secp384r1\"}." -msgstr "" +msgstr "Die Kurve, die für Diffie-Hellman mit elliptischen Kurven verwendet werden soll. Prosodys Voreinstellung ist @samp{\"secp384r1\"}." #. type: deftypevr #: doc/guix.texi:16947 #, no-wrap msgid "{@code{ssl-configuration} parameter} maybe-string-list verifyext" -msgstr "" +msgstr "{@code{ssl-configuration}-Parameter} Vielleicht-Zeichenketten-Liste verifyext" #. type: deftypevr #: doc/guix.texi:16949 msgid "A list of \"extra\" verification options." -msgstr "" +msgstr "Eine Liste von zusätzlichen Verifikationsoptionen." #. type: deftypevr #: doc/guix.texi:16951 #, no-wrap msgid "{@code{ssl-configuration} parameter} maybe-string password" -msgstr "" +msgstr "{@code{ssl-configuration}-Parameter} Vielleicht-Zeichenkette password" #. type: deftypevr #: doc/guix.texi:16953 msgid "Password for encrypted private keys." -msgstr "" +msgstr "Das Passwort fÜr verschlüsselte private Schlüssel." #. type: deftypevr #: doc/guix.texi:16957 #, no-wrap msgid "{@code{prosody-configuration} parameter} boolean c2s-require-encryption?" -msgstr "" +msgstr "{@code{prosody-configuration}-Parameter} Boolescher-Ausdruck c2s-require-encryption?" #. type: deftypevr #: doc/guix.texi:16961 msgid "Whether to force all client-to-server connections to be encrypted or not. See @url{https://prosody.im/doc/modules/mod_tls}. Defaults to @samp{#f}." -msgstr "" +msgstr "Ob alle Verbindungen von Client zu Server zwangsweise verschlüsselt sein müssen. Siehe @url{https://prosody.im/doc/modules/mod_tls}. Die Vorgabe ist @samp{#f}." #. type: deftypevr #: doc/guix.texi:16963 #, no-wrap msgid "{@code{prosody-configuration} parameter} string-list disable-sasl-mechanisms" -msgstr "" +msgstr "{@code{prosody-configuration}-Parameter} Zeichenketten-Liste disable-sasl-mechanisms" #. type: deftypevr #: doc/guix.texi:16967 msgid "Set of mechanisms that will never be offered. See @url{https://prosody.im/doc/modules/mod_saslauth}. Defaults to @samp{(\"DIGEST-MD5\")}." -msgstr "" +msgstr "Welche Mechanismen angeboten werden. Siehe @url{https://prosody.im/doc/modules/mod_saslauth}. Die Vorgabe ist @samp{(\"DIGEST-MD5\")}." #. type: deftypevr #: doc/guix.texi:16969 #, no-wrap msgid "{@code{prosody-configuration} parameter} boolean s2s-require-encryption?" -msgstr "" +msgstr "{@code{prosody-configuration}-Parameter} Boolescher-Ausdruck s2s-require-encryption?" #. type: deftypevr #: doc/guix.texi:16973 msgid "Whether to force all server-to-server connections to be encrypted or not. See @url{https://prosody.im/doc/modules/mod_tls}. Defaults to @samp{#f}." -msgstr "" +msgstr "Ob alle Verbindungen von Server zu Server zwangsweise verschlüsselt sein müssen. Siehe @url{https://prosody.im/doc/modules/mod_tls}. Die Vorgabe ist @samp{#f}." #. type: deftypevr #: doc/guix.texi:16975 #, no-wrap msgid "{@code{prosody-configuration} parameter} boolean s2s-secure-auth?" -msgstr "" +msgstr "{@code{prosody-configuration}-Parameter} Boolescher-Ausdruck s2s-secure-auth?" #. type: deftypevr #: doc/guix.texi:16981 msgid "Whether to require encryption and certificate authentication. This provides ideal security, but requires servers you communicate with to support encryption AND present valid, trusted certificates. See @url{https://prosody.im/doc/s2s#security}. Defaults to @samp{#f}." -msgstr "" +msgstr "Ob Verschlüsselung und Zertifikatsauthentifizierung verpflichtend durchgeführt werden müssen. Das bietet das ideale Maß an Sicherheit, jedoch müssen dann auch die Server, mit denen Sie kommunizieren, Verschlüsselung unterstützen @emph{und} gültige Zertifikate vorweisen, denen Sie auch vertrauen. Siehe @url{https://prosody.im/doc/s2s#security}. Die Vorgabe ist @samp{#f}." #. type: deftypevr #: doc/guix.texi:16983 #, no-wrap msgid "{@code{prosody-configuration} parameter} string-list s2s-insecure-domains" -msgstr "" +msgstr "{@code{prosody-configuration}-Parameter} Zeichenketten-Liste s2s-insecure-domains" #. type: deftypevr #: doc/guix.texi:16989 msgid "Many servers don't support encryption or have invalid or self-signed certificates. You can list domains here that will not be required to authenticate using certificates. They will be authenticated using DNS. See @url{https://prosody.im/doc/s2s#security}. Defaults to @samp{()}." -msgstr "" +msgstr "Viele Server bieten keine Unterstützung für Verschlüsselung oder ihre Zertifikate sind ungültig oder selbstsigniert. Hier können Sie Domains eintragen, die von der Pflicht zur Authentizierung mit Zertifikaten ausgenommen werden. Diese werden dann über DNS authentifiziert. Siehe @url{https://prosody.im/doc/s2s#security}. Die Vorgabe ist @samp{()}." #. type: deftypevr #: doc/guix.texi:16991 #, no-wrap msgid "{@code{prosody-configuration} parameter} string-list s2s-secure-domains" -msgstr "" +msgstr "{@code{prosody-configuration}-Parameter} Zeichenketten-Liste s2s-secure-domains" #. type: deftypevr #: doc/guix.texi:16996 msgid "Even if you leave @code{s2s-secure-auth?} disabled, you can still require valid certificates for some domains by specifying a list here. See @url{https://prosody.im/doc/s2s#security}. Defaults to @samp{()}." -msgstr "" +msgstr "Selbst wenn Sie @code{s2s-secure-auth?} deaktiviert lassen, können Sie noch immer gültige Zertifikate bei manchen Domains verlangen, indem Sie diese hier auflisten. Siehe @url{https://prosody.im/doc/s2s#security}. Die Vorgabe ist @samp{()}." #. type: deftypevr #: doc/guix.texi:16998 #, no-wrap msgid "{@code{prosody-configuration} parameter} string authentication" -msgstr "" +msgstr "{@code{prosody-configuration}-Parameter} Zeichenkette authentication" #. type: deftypevr #: doc/guix.texi:17006 msgid "Select the authentication backend to use. The default provider stores passwords in plaintext and uses Prosody's configured data storage to store the authentication data. If you do not trust your server please see @url{https://prosody.im/doc/modules/mod_auth_internal_hashed} for information about using the hashed backend. See also @url{https://prosody.im/doc/authentication} Defaults to @samp{\"internal_plain\"}." -msgstr "" +msgstr "Wählen Sie aus, welcher Hintergrunddienst („Provider“) zur Authentifizierung benutzt werden soll. Das vorgegebene System speichert Passwörter im Klartext ab und benutzt dafür den in Prosody eingestellten Datenspeicher, um Authentifizierungsdaten zu speichern. Wenn Sie Ihrem Server kein Vertrauen entgegenbringen, siehe @url{https://prosody.im/doc/modules/mod_auth_internal_hashed} für Informationen, wie Sie den gehashten Hintergrunddienst benutzen. Siehe auch @url{https://prosody.im/doc/authentication}. Die Vorgabe ist @samp{\"internal_plain\"}." #. type: deftypevr #: doc/guix.texi:17008 #, no-wrap msgid "{@code{prosody-configuration} parameter} maybe-string log" -msgstr "" +msgstr "{@code{prosody-configuration}-Parameter} Vielleicht-Zeichenkette log" #. type: deftypevr #: doc/guix.texi:17012 msgid "Set logging options. Advanced logging configuration is not yet supported by the Prosody service. See @url{https://prosody.im/doc/logging}. Defaults to @samp{\"*syslog\"}." -msgstr "" +msgstr "Hiermit werden die Protokollierungsoptionen festgelegt. Fortgeschrittene Protokollierungskonfigurationen werden vom Prosody-Dienst noch nicht unterstützt. Siehe @url{https://prosody.im/doc/logging}. Die Vorgabe ist @samp{\"*syslog\"}." #. type: deftypevr #: doc/guix.texi:17014 #, no-wrap msgid "{@code{prosody-configuration} parameter} file-name pidfile" -msgstr "" +msgstr "{@code{prosody-configuration}-Parameter} Dateiname pidfile" #. type: deftypevr #: doc/guix.texi:17017 msgid "File to write pid in. See @url{https://prosody.im/doc/modules/mod_posix}. Defaults to @samp{\"/var/run/prosody/prosody.pid\"}." -msgstr "" +msgstr "Die Datei, in der Prosodys Prozessidentifikator („PID“) abgelegt wird. Siehe @url{https://prosody.im/doc/modules/mod_posix}. Die Vorgabe ist @samp{\"/var/run/prosody/prosody.pid\"}." #. type: deftypevr #: doc/guix.texi:17019 #, no-wrap msgid "{@code{prosody-configuration} parameter} maybe-non-negative-integer http-max-content-size" -msgstr "" +msgstr "{@code{prosody-configuration}-Parameter} Vielleicht-Nichtnegative-ganze-Zahl http-max-content-size" #. type: deftypevr #: doc/guix.texi:17021 msgid "Maximum allowed size of the HTTP body (in bytes)." -msgstr "" +msgstr "Die maximal zulässige Größe des HTTP-Rumpfs (in Bytes)." #. type: deftypevr #: doc/guix.texi:17023 #, no-wrap msgid "{@code{prosody-configuration} parameter} maybe-string http-external-url" -msgstr "" +msgstr "{@code{prosody-configuration}-Parameter} Vielleicht-Zeichenkette http-external-url" #. type: deftypevr #: doc/guix.texi:17028 msgid "Some modules expose their own URL in various ways. This URL is built from the protocol, host and port used. If Prosody sits behind a proxy, the public URL will be @code{http-external-url} instead. See @url{https://prosody.im/doc/http#external_url}." -msgstr "" +msgstr "Manche Module machen auf verschiedene Arten ihre eigene URL verfügbar. Diese URL setzt sich aus dem benutzten Protokoll, Rechnernamen und Port zusammen. Wenn Prosody hinter einem Proxy ausgeführt wird, ist die öffentliche URL stattdessen die @code{http-external-url}. Siehe @url{https://prosody.im/doc/http#external_url}." #. type: deftypevr #: doc/guix.texi:17030 #, no-wrap msgid "{@code{prosody-configuration} parameter} virtualhost-configuration-list virtualhosts" -msgstr "" +msgstr "{@code{prosody-configuration}-Parameter} „virtualhost-configuration“-Liste virtualhosts" #. type: deftypevr #: doc/guix.texi:17035 msgid "A host in Prosody is a domain on which user accounts can be created. For example if you want your users to have addresses like @samp{\"john.smith@@example.com\"} then you need to add a host @samp{\"example.com\"}. All options in this list will apply only to this host." -msgstr "" +msgstr "Der Name eines Rechners („Host“) in Prosody bezeichnet eine Domain, auf der Benutzerkonten angelegt werden können. Wenn Sie zum Beispiel möchten, dass Nutzer Adressen haben wie @samp{\"john.smith@@example.com\"}, dann müssen Sie einen Rechnernamen @samp{\"example.com\"} hinzufügen. Alle Optionen in dieser Liste gelten nur für diesen Rechnernamen." #. type: deftypevr #: doc/guix.texi:17041 msgid "Note: the name \"virtual\" host is used in configuration to avoid confusion with the actual physical host that Prosody is installed on. A single Prosody instance can serve many domains, each one defined as a VirtualHost entry in Prosody's configuration. Conversely a server that hosts a single domain would have just one VirtualHost entry." -msgstr "" +msgstr "Beachten Sie: Die Bezeichnung „virtueller“ Rechnername wird in der Konfiguration verwendet, damit es nicht zu Verwechslungen mit dem tatsächlichen physischen Rechner kommt, auf dem Prosody installiert ist. Eine einzelne Prosody-Instanz kann mehrere Domains bedienen, jede definiert mit ihrem eigenen VirtualHost-Eintrag in der Konfiguration von Prosody. Im Gegensatz dazu hätte ein Server, der nur eine Domain anbietet, nur einen einzigen VirtualHost-Eintrag." #. type: deftypevr #: doc/guix.texi:17043 msgid "See @url{https://prosody.im/doc/configure#virtual_host_settings}." -msgstr "" +msgstr "Siehe @url{https://prosody.im/doc/configure#virtual_host_settings}." #. type: deftypevr #: doc/guix.texi:17045 msgid "Available @code{virtualhost-configuration} fields are:" -msgstr "" +msgstr "Verfügbare @code{virtualhost-configuration}-Felder sind:" #. type: deftypevr #: doc/guix.texi:17047 doc/guix.texi:17069 doc/guix.texi:17122 msgid "all these @code{prosody-configuration} fields: @code{admins}, @code{use-libevent?}, @code{modules-enabled}, @code{modules-disabled}, @code{groups-file}, @code{allow-registration?}, @code{ssl}, @code{c2s-require-encryption?}, @code{disable-sasl-mechanisms}, @code{s2s-require-encryption?}, @code{s2s-secure-auth?}, @code{s2s-insecure-domains}, @code{s2s-secure-domains}, @code{authentication}, @code{log}, @code{http-max-content-size}, @code{http-external-url}, @code{raw-content}, plus:" -msgstr "" +msgstr "Alle folgenden Felder, wie sie auch die @code{prosody-configuration} hat: @code{admins}, @code{use-libevent?}, @code{modules-enabled}, @code{modules-disabled}, @code{groups-file}, @code{allow-registration?}, @code{ssl}, @code{c2s-require-encryption?}, @code{disable-sasl-mechanisms}, @code{s2s-require-encryption?}, @code{s2s-secure-auth?}, @code{s2s-insecure-domains}, @code{s2s-secure-domains}, @code{authentication}, @code{log}, @code{http-max-content-size}, @code{http-external-url}, @code{raw-content}, und außerdem:" #. type: deftypevr #: doc/guix.texi:17047 #, no-wrap msgid "{@code{virtualhost-configuration} parameter} string domain" -msgstr "" +msgstr "{@code{virtualhost-configuration}-Parameter} Zeichenkette domain" #. type: deftypevr #: doc/guix.texi:17049 msgid "Domain you wish Prosody to serve." -msgstr "" +msgstr "Die Domain, auf der man Prosody erreichen soll." #. type: deftypevr #: doc/guix.texi:17053 #, no-wrap msgid "{@code{prosody-configuration} parameter} int-component-configuration-list int-components" -msgstr "" +msgstr "{@code{prosody-configuration}-Parameter} „int-component-configuration“-Liste int-components" #. type: deftypevr #: doc/guix.texi:17058 msgid "Components are extra services on a server which are available to clients, usually on a subdomain of the main server (such as @samp{\"mycomponent.example.com\"}). Example components might be chatroom servers, user directories, or gateways to other protocols." -msgstr "" +msgstr "Komponenten sind zusätzliche Dienste auf einem Server, die Clients zur Verfügung stehen. Sie sind normalerweise auf einer Subdomain des Hauptservers verfügbar (wie zum Beispiel @samp{\"mycomponent.example.com\"}). Beispiele für Komponenten könnten Server für Chaträume, Benutzerverzeichnisse oder Zugänge („Gateways“) zu anderen Protokollen sein." #. type: deftypevr #: doc/guix.texi:17062 msgid "Internal components are implemented with Prosody-specific plugins. To add an internal component, you simply fill the hostname field, and the plugin you wish to use for the component." -msgstr "" +msgstr "Interne Komponenten werden über Prosody-spezifische Plugins implementiert. Um eine interne Komponente hinzuzufügen, tragen Sie einfach das @code{hostname}-Feld für den Rechnernamen und die Plugins ein, die Sie für die Komponente benutzen möchten." #. type: deftypevr #: doc/guix.texi:17065 msgid "See @url{https://prosody.im/doc/components}. Defaults to @samp{()}." -msgstr "" +msgstr "Siehe @url{https://prosody.im/doc/components}. Die Vorgabe ist @samp{()}." #. type: deftypevr #: doc/guix.texi:17067 msgid "Available @code{int-component-configuration} fields are:" -msgstr "" +msgstr "Verfügbare @code{int-component-configuration}-Felder sind:" #. type: deftypevr #: doc/guix.texi:17069 #, no-wrap msgid "{@code{int-component-configuration} parameter} string hostname" -msgstr "" +msgstr "{@code{int-component-configuration}-Parameter} Zeichenkette hostname" #. type: deftypevr #: doc/guix.texi:17071 doc/guix.texi:17128 msgid "Hostname of the component." -msgstr "" +msgstr "Der Rechnername für diese Komponente." #. type: deftypevr #: doc/guix.texi:17073 #, no-wrap msgid "{@code{int-component-configuration} parameter} string plugin" -msgstr "" +msgstr "{@code{int-component-configuration}-Parameter} Zeichenkette plugin" #. type: deftypevr #: doc/guix.texi:17075 msgid "Plugin you wish to use for the component." -msgstr "" +msgstr "Das Plugin, das Sie für diese Komponente benutzen möchten." #. type: deftypevr #: doc/guix.texi:17077 #, no-wrap msgid "{@code{int-component-configuration} parameter} maybe-mod-muc-configuration mod-muc" -msgstr "" +msgstr "{@code{int-component-configuration}-Parameter} Vielleicht-„mod-muc-configuration“ mod-muc" #. type: deftypevr #: doc/guix.texi:17080 msgid "Multi-user chat (MUC) is Prosody's module for allowing you to create hosted chatrooms/conferences for XMPP users." -msgstr "" +msgstr "Multi-User Chat (MUC) ist der Name von Prosodys Modul, womit Sie Chaträume/Konferenzen für XMPP-Benutzer anbieten lassen können." #. type: deftypevr #: doc/guix.texi:17084 msgid "General information on setting up and using multi-user chatrooms can be found in the \"Chatrooms\" documentation (@url{https://prosody.im/doc/chatrooms}), which you should read if you are new to XMPP chatrooms." -msgstr "" +msgstr "Allgemeine Informationen über das Einrichten und Benutzen von Multi-User-Chaträumen können Sie in der Dokumentation über Chaträume finden (@url{https://prosody.im/doc/chatrooms}), die Sie lesen sollten, wenn Ihnen XMPP-Chaträume neu sind." #. type: deftypevr #: doc/guix.texi:17086 msgid "See also @url{https://prosody.im/doc/modules/mod_muc}." -msgstr "" +msgstr "Siehe auch @url{https://prosody.im/doc/modules/mod_muc}." #. type: deftypevr #: doc/guix.texi:17088 msgid "Available @code{mod-muc-configuration} fields are:" -msgstr "" +msgstr "Verfügbare @code{mod-muc-configuration}-Felder sind:" #. type: deftypevr #: doc/guix.texi:17089 #, no-wrap msgid "{@code{mod-muc-configuration} parameter} string name" -msgstr "" +msgstr "{@code{mod-muc-configuration}-Parameter} Zeichenkette name" #. type: deftypevr #: doc/guix.texi:17092 msgid "The name to return in service discovery responses. Defaults to @samp{\"Prosody Chatrooms\"}." -msgstr "" +msgstr "Der Name, der in Antworten auf die Diensteermittlung benutzt. Die Vorgabe ist @samp{\"Prosody Chatrooms\"}." #. type: deftypevr #: doc/guix.texi:17094 #, no-wrap msgid "{@code{mod-muc-configuration} parameter} string-or-boolean restrict-room-creation" -msgstr "" +msgstr "{@code{mod-muc-configuration}-Parameter} Zeichenkette-oder-Boolescher-Ausdruck restrict-room-creation" #. type: deftypevr #: doc/guix.texi:17101 msgid "If @samp{#t}, this will only allow admins to create new chatrooms. Otherwise anyone can create a room. The value @samp{\"local\"} restricts room creation to users on the service's parent domain. E.g.@: @samp{user@@example.com} can create rooms on @samp{rooms.example.com}. The value @samp{\"admin\"} restricts to service administrators only. Defaults to @samp{#f}." -msgstr "" +msgstr "Für @samp{#t} können nur Administratoren neue Chaträume anlegen. Andernfalls kann jeder einen Raum anlegen. Der Wert @samp{\"local\"} schränkt das Anlegen neuer Räume auf solche Nutzer ein, die zur Eltern-Domain des Dienstes gehören. Z.B.@: kann @samp{user@@example.com} Räume auf @samp{rooms.example.com} anlegen. Für den Wert @samp{\"admin\"} können nur Dienstadministratoren Chaträume anlegen. Die Vorgabe ist @samp{#f}." #. type: deftypevr #: doc/guix.texi:17103 #, no-wrap msgid "{@code{mod-muc-configuration} parameter} non-negative-integer max-history-messages" -msgstr "" +msgstr "{@code{mod-muc-configuration}-Parameter} Nichtnegative-ganze-Zahl max-history-messages" #. type: deftypevr #: doc/guix.texi:17107 msgid "Maximum number of history messages that will be sent to the member that has just joined the room. Defaults to @samp{20}." -msgstr "" +msgstr "Die Maximalzahl der Nachrichten aus dem Chat-Verlauf, die an ein Mitglied nachversandt werden, das gerade erst dem Raum beigetreten ist. Die Vorgabe ist @samp{20}." #. type: deftypevr #: doc/guix.texi:17113 #, no-wrap msgid "{@code{prosody-configuration} parameter} ext-component-configuration-list ext-components" -msgstr "" +msgstr "{@code{prosody-configuration}-Parameter} „ext-component-configuration“-Liste ext-components" #. type: deftypevr #: doc/guix.texi:17118 msgid "External components use XEP-0114, which most standalone components support. To add an external component, you simply fill the hostname field. See @url{https://prosody.im/doc/components}. Defaults to @samp{()}." -msgstr "" +msgstr "Externe Komponenten benutzen XEP-0114, das von den meisten eigenständigen Komponenten unterstützt wird. Um eine externe Komponente hinzuzufügen, tragen Sie einfach den Rechnernamen ins @code{hostname}-Feld ein. Siehe @url{https://prosody.im/doc/components}. Die Vorgabe ist @samp{()}." #. type: deftypevr #: doc/guix.texi:17120 msgid "Available @code{ext-component-configuration} fields are:" -msgstr "" +msgstr "Verfügbare @code{ext-component-configuration}-Felder sind:" #. type: deftypevr #: doc/guix.texi:17122 #, no-wrap msgid "{@code{ext-component-configuration} parameter} string component-secret" -msgstr "" +msgstr "{@code{ext-component-configuration}-Parameter} Zeichenkette component-secret" #. type: deftypevr #: doc/guix.texi:17124 msgid "Password which the component will use to log in." -msgstr "" +msgstr "Das Passwort, das die Komponente für die Anmeldung benutzt." #. type: deftypevr #: doc/guix.texi:17126 #, no-wrap msgid "{@code{ext-component-configuration} parameter} string hostname" -msgstr "" +msgstr "{@code{ext-component-configuration}-Parameter} Zeichenkette hostname" #. type: deftypevr #: doc/guix.texi:17132 #, no-wrap msgid "{@code{prosody-configuration} parameter} non-negative-integer-list component-ports" -msgstr "" +msgstr "{@code{prosody-configuration}-Parameter} Nichtnegative-ganze-Zahl-Liste component-ports" #. type: deftypevr #: doc/guix.texi:17135 msgid "Port(s) Prosody listens on for component connections. Defaults to @samp{(5347)}." -msgstr "" +msgstr "Der/Die Port(s), wo Prosody auf Verbindungen zu Komponenten lauscht. Die Vorgabe ist @samp{(5347)}." #. type: deftypevr #: doc/guix.texi:17137 #, no-wrap msgid "{@code{prosody-configuration} parameter} string component-interface" -msgstr "" +msgstr "{@code{prosody-configuration}-Parameter} Zeichenkette component-interface" #. type: deftypevr #: doc/guix.texi:17140 msgid "Interface Prosody listens on for component connections. Defaults to @samp{\"127.0.0.1\"}." -msgstr "" +msgstr "Die Schnittstelle, auf der Prosody auf Verbindungen zu Komponenten lauscht. Die Vorgabe ist @samp{\"127.0.0.1\"}." #. type: deftypevr #: doc/guix.texi:17142 #, no-wrap msgid "{@code{prosody-configuration} parameter} maybe-raw-content raw-content" -msgstr "" +msgstr "{@code{prosody-configuration}-Parameter} Vielleicht-Roher-Inhalt raw-content" #. type: deftypevr #: doc/guix.texi:17144 msgid "Raw content that will be added to the configuration file." -msgstr "" +msgstr "„Roher Inhalt“, der so, wie er ist, an die Konfigurationsdatei angefügt wird." #. type: Plain text #: doc/guix.texi:17152 msgid "It could be that you just want to get a @code{prosody.cfg.lua} up and running. In that case, you can pass an @code{opaque-prosody-configuration} record as the value of @code{prosody-service-type}. As its name indicates, an opaque configuration does not have easy reflective capabilities. Available @code{opaque-prosody-configuration} fields are:" -msgstr "" +msgstr "Möglicherweise möchten Sie einfach nur eine bestehende @code{prosody.cfg.lua} zum Laufen bringen. In diesem Fall können Sie ein @code{opaque-prosody-configuration}-Verbundsobjekt als der Wert des @code{prosody-service-type} übergeben. Wie der Name schon sagt, bietet eine opake Konfiguration keinerlei Unterstützung für Reflexion. Verfügbare @code{opaque-prosody-configuration}-Felder sind:" #. type: deftypevr #: doc/guix.texi:17153 #, no-wrap msgid "{@code{opaque-prosody-configuration} parameter} package prosody" -msgstr "" +msgstr "{@code{opaque-prosody-configuration}-Parameter} „package“ prosody" #. type: deftypevr #: doc/guix.texi:17155 msgid "The prosody package." -msgstr "" +msgstr "Das Prosody-Paket." #. type: deftypevr #: doc/guix.texi:17157 #, no-wrap msgid "{@code{opaque-prosody-configuration} parameter} string prosody.cfg.lua" -msgstr "" +msgstr "{@code{opaque-prosody-configuration}-Parameter} Zeichenkette prosody.cfg.lua" #. type: deftypevr #: doc/guix.texi:17159 msgid "The contents of the @code{prosody.cfg.lua} to use." -msgstr "" +msgstr "Der Inhalt, der als @code{prosody.cfg.lua} benutzt werden soll." #. type: Plain text #: doc/guix.texi:17163 msgid "For example, if your @code{prosody.cfg.lua} is just the empty string, you could instantiate a prosody service like this:" -msgstr "" +msgstr "Wenn Ihre @code{prosody.cfg.lua} zum Beispiel nur aus der leeren Zeichenkette bestünde, könnten Sie einen Prosody-Dienst wie folgt instanziieren:" #. type: example #: doc/guix.texi:17168 @@ -31967,35 +31980,38 @@ msgid "" " (opaque-prosody-configuration\n" " (prosody.cfg.lua \"\")))\n" msgstr "" +"(service prosody-service-type\n" +" (opaque-prosody-configuration\n" +" (prosody.cfg.lua \"\")))\n" #. type: subsubheading #: doc/guix.texi:17172 #, no-wrap msgid "BitlBee Service" -msgstr "" +msgstr "BitlBee-Dienst" #. type: cindex #: doc/guix.texi:17174 doc/guix.texi:17218 #, no-wrap msgid "IRC (Internet Relay Chat)" -msgstr "" +msgstr "IRC (Internet Relay Chat)" #. type: cindex #: doc/guix.texi:17175 #, no-wrap msgid "IRC gateway" -msgstr "" +msgstr "IRC-Zugang („Gateway“)" #. type: Plain text #: doc/guix.texi:17178 msgid "@url{https://bitlbee.org,BitlBee} is a gateway that provides an IRC interface to a variety of messaging protocols such as XMPP." -msgstr "" +msgstr "@url{https://bitlbee.org,BitlBee} ist ein Zugang („Gateway“), der eine IRC-Schnittstelle für verschiedene Kurznachrichtenprotokolle wie XMPP verfügbar macht." #. type: defvr #: doc/guix.texi:17179 #, no-wrap msgid "{Scheme Variable} bitlbee-service-type" -msgstr "" +msgstr "{Scheme-Variable} bitlbee-service-type" #. type: defvr #: doc/guix.texi:17183 @@ -32005,57 +32021,57 @@ msgstr "Dies ist der Diensttyp für den @url{https://bitlbee.org,BitlBee-IRC-Zug #. type: defvr #: doc/guix.texi:17186 msgid "To have BitlBee listen on port 6667 on localhost, add this line to your services:" -msgstr "" +msgstr "Damit BitlBee auf Port 6667 vom lokalen Rechner („localhost“) lauscht, fügen Sie diese Zeile zu Ihrem „services“-Feld hinzu:" #. type: example #: doc/guix.texi:17189 #, no-wrap msgid "(service bitlbee-service-type)\n" -msgstr "" +msgstr "(service bitlbee-service-type)\n" #. type: deftp #: doc/guix.texi:17192 #, no-wrap msgid "{Data Type} bitlbee-configuration" -msgstr "" +msgstr "{Datentyp} bitlbee-configuration" #. type: deftp #: doc/guix.texi:17194 msgid "This is the configuration for BitlBee, with the following fields:" -msgstr "" +msgstr "Dies ist die Konfiguration für BitlBee. Sie hat folgende Felder:" #. type: item #: doc/guix.texi:17196 #, no-wrap msgid "@code{interface} (default: @code{\"127.0.0.1\"})" -msgstr "" +msgstr "@code{interface} (Vorgabe: @code{\"127.0.0.1\"})" #. type: itemx #: doc/guix.texi:17197 #, no-wrap msgid "@code{port} (default: @code{6667})" -msgstr "" +msgstr "@code{port} (Vorgabe: @code{6667})" #. type: table #: doc/guix.texi:17200 msgid "Listen on the network interface corresponding to the IP address specified in @var{interface}, on @var{port}." -msgstr "" +msgstr "Lauscht auf der Netzwerkschnittstelle, die der als @var{interface} angegebenen IP-Adresse entspricht, auf dem angegebenen @var{port}." #. type: table #: doc/guix.texi:17204 msgid "When @var{interface} is @code{127.0.0.1}, only local clients can connect; when it is @code{0.0.0.0}, connections can come from any networking interface." -msgstr "" +msgstr "Wenn als @var{interface} @code{127.0.0.1} angegeben wurde, können sich nur lokale Clients verbinden; bei @code{0.0.0.0} können die Verbindungen von jeder Netzwerkschnittstelle aus hergestellt werden." #. type: item #: doc/guix.texi:17205 #, no-wrap msgid "@code{package} (default: @code{bitlbee})" -msgstr "" +msgstr "@code{package} (Vorgabe: @code{bitlbee})" #. type: table #: doc/guix.texi:17207 msgid "The BitlBee package to use." -msgstr "" +msgstr "Das zu benutzende BitlBee-Paket." #. type: item #: doc/guix.texi:17208 @@ -32066,18 +32082,18 @@ msgstr "@code{plugins} (Vorgabe: @code{'()})" #. type: table #: doc/guix.texi:17210 msgid "List of plugin packages to use---e.g., @code{bitlbee-discord}." -msgstr "" +msgstr "Die Liste zu verwendender Plugin-Pakete — z.B.@: @code{bitlbee-discord}." #. type: item #: doc/guix.texi:17211 #, no-wrap msgid "@code{extra-settings} (default: @code{\"\"})" -msgstr "" +msgstr "@code{extra-settings} (Vorgabe: @code{\"\"})" #. type: table #: doc/guix.texi:17213 msgid "Configuration snippet added as-is to the BitlBee configuration file." -msgstr "" +msgstr "Ein Konfigurationsschnipsel, das wortwörtlich in die BitlBee-Konfigurationsdatei eingefügt wird." #. type: subsubheading #: doc/guix.texi:17216 @@ -32088,7 +32104,7 @@ msgstr "Quassel-Dienst" #. type: Plain text #: doc/guix.texi:17222 msgid "@url{https://quassel-irc.org/,Quassel} is a distributed IRC client, meaning that one or more clients can attach to and detach from the central core." -msgstr "" +msgstr "@url{https://quassel-irc.org/,Quassel} ist ein verteilter IRC-Client, was bedeutet, dass sich ein oder mehr Clients mit dem zentralen Kern verbinden und die Verbindung wieder trennen können." #. type: defvr #: doc/guix.texi:17223 @@ -32099,7 +32115,7 @@ msgstr "{Scheme-Variable} quassel-service-type" #. type: defvr #: doc/guix.texi:17227 msgid "This is the service type for the @url{https://quassel-irc.org/,Quassel} IRC backend daemon. Its value is a @code{quassel-configuration} (see below)." -msgstr "" +msgstr "Dies ist der Diensttyp für den Daemon zum IRC-Hintergrundsystem („Backend“) @url{https://quassel-irc.org/,Quassel}. Sein Wert ist eine @code{quassel-configuration} (siehe unten)." #. type: deftp #: doc/guix.texi:17229 @@ -32110,7 +32126,7 @@ msgstr "{Datentyp} quassel-configuration" #. type: deftp #: doc/guix.texi:17231 msgid "This is the configuration for Quassel, with the following fields:" -msgstr "" +msgstr "Die Konfiguration für Quassel mit den folgenden Feldern:" #. type: item #: doc/guix.texi:17233 @@ -32138,7 +32154,7 @@ msgstr "@code{port} (Vorgabe: @code{4242})" #. type: table #: doc/guix.texi:17241 msgid "Listen on the network interface(s) corresponding to the IPv4 or IPv6 interfaces specified in the comma delimited @var{interface}, on @var{port}." -msgstr "" +msgstr "Lauscht auf der/den Netzwerkschnittstelle(n), die den in der kommagetrennten @var{interface}-Liste festgelegten IPv4- oder IPv6-Schnittstellen entsprechen, auf dem angegebenen @var{port}." #. type: item #: doc/guix.texi:17242 @@ -32149,35 +32165,35 @@ msgstr "@code{loglevel} (Vorgabe: @code{\"Info\"})" #. type: table #: doc/guix.texi:17245 msgid "The level of logging desired. Accepted values are Debug, Info, Warning and Error." -msgstr "" +msgstr "Die gewünschte Detailstufe der Protokollierung. Akzeptiert werden die Werte Debug (ausführlich zur Fehlersuche), Info, Warning (nur Warnungen und Fehler) und Error (nur Fehler)." #. type: cindex #: doc/guix.texi:17251 #, no-wrap msgid "Murmur (VoIP server)" -msgstr "" +msgstr "Murmur (VoIP-Internettelefonie-Server)" #. type: cindex #: doc/guix.texi:17252 #, no-wrap msgid "VoIP server" -msgstr "" +msgstr "Internettelefonie-Server (VoIP)" #. type: Plain text #: doc/guix.texi:17256 msgid "This section describes how to set up and run a Murmur server. Murmur is the server of the @uref{https://mumble.info, Mumble} voice-over-IP (VoIP) suite." -msgstr "" +msgstr "Dieser Abschnitt beschreibt, wie Sie einen Murmur-Server einrichten und ausführen. Murmur ist der Server zur Internettelefonie-Suite @uref{https://mumble.info, Mumble} für „Voice over IP“ (VoIP)." #. type: deftp #: doc/guix.texi:17257 #, no-wrap msgid "{Data Type} murmur-configuration" -msgstr "" +msgstr "{Datentyp} murmur-configuration" #. type: deftp #: doc/guix.texi:17260 msgid "The service type for the Murmur server. An example configuration can look like this:" -msgstr "" +msgstr "Der Diensttyp für den Murmur-Server. Eine Beispielkonfiguration kann so aussehen:" #. type: example #: doc/guix.texi:17269 @@ -32191,241 +32207,248 @@ msgid "" " (ssl-cert \"/etc/letsencrypt/live/mumble.example.com/fullchain.pem\")\n" " (ssl-key \"/etc/letsencrypt/live/mumble.example.com/privkey.pem\")))\n" msgstr "" +"(service murmur-service-type\n" +" (murmur-configuration\n" +" (welcome-text\n" +" \"Willkommen zu diesem mit Guix betriebenen Mumble-Server!\")\n" +" (cert-required? #t) ;Anmeldungen mit Textpasswort deaktivieren\n" +" (ssl-cert \"/etc/letsencrypt/live/mumble.example.com/fullchain.pem\")\n" +" (ssl-key \"/etc/letsencrypt/live/mumble.example.com/privkey.pem\")))\n" #. type: deftp #: doc/guix.texi:17273 msgid "After reconfiguring your system, you can manually set the murmur @code{SuperUser} password with the command that is printed during the activation phase." -msgstr "" +msgstr "Nachdem Sie Ihr System rekonfiguriert haben, können Sie das Passwort des Murmur-Administratornutzers @code{SuperUser} mit Hilfe des Befehls von Hand festlegen, der Ihnen in Murmurs Aktivierungsphase angezeigt wird." #. type: deftp #: doc/guix.texi:17282 msgid "It is recommended to register a normal Mumble user account and grant it admin or moderator rights. You can use the @code{mumble} client to login as new normal user, register yourself, and log out. For the next step login with the name @code{SuperUser} use the @code{SuperUser} password that you set previously, and grant your newly registered mumble user administrator or moderator rights and create some channels." -msgstr "" +msgstr "Es wird empfohlen, ein normales Mumble-Benutzerkonto zu registrieren und mit Administrator- oder Moderatorrechten auszustatten. Sie können auch das Clientprogramm @code{mumble} benutzen, um sich als neuer normaler Benutzer anzumelden und zu registrieren, und sich dann abmelden. Im nächsten Schritt melden Sie sich mit dem Benutzernamen @code{SuperUser} mit dem vorher festgelegten @code{SuperUser}-Passwort an und statten Ihren registrierten Mumble-Benutzer mit Administrator- oder Moderatorrechten aus oder erzeugen ein paar Kanäle." #. type: deftp #: doc/guix.texi:17284 msgid "Available @code{murmur-configuration} fields are:" -msgstr "" +msgstr "Verfügbare @code{murmur-configuration}-Felder sind:" #. type: item #: doc/guix.texi:17286 #, no-wrap msgid "@code{package} (default: @code{mumble})" -msgstr "" +msgstr "@code{package} (Vorgabe: @code{mumble})" #. type: table #: doc/guix.texi:17288 msgid "Package that contains @code{bin/murmurd}." -msgstr "" +msgstr "Das Paket, das @code{bin/murmurd} enthält." #. type: item #: doc/guix.texi:17289 #, no-wrap msgid "@code{user} (default: @code{\"murmur\"})" -msgstr "" +msgstr "@code{user} (Vorgabe: @code{\"murmur\"})" #. type: table #: doc/guix.texi:17291 msgid "User who will run the Murmur server." -msgstr "" +msgstr "Der Benutzer, der den Murmur-Server ausführt." #. type: item #: doc/guix.texi:17292 #, no-wrap msgid "@code{group} (default: @code{\"murmur\"})" -msgstr "" +msgstr "@code{group} (Vorgabe: @code{\"murmur\"})" #. type: table #: doc/guix.texi:17294 msgid "Group of the user who will run the murmur server." -msgstr "" +msgstr "Die Gruppe des Benutzers, der den Murmur-Server ausführt." #. type: item #: doc/guix.texi:17295 #, no-wrap msgid "@code{port} (default: @code{64738})" -msgstr "" +msgstr "@code{port} (Vorgabe: @code{64738})" #. type: table #: doc/guix.texi:17297 msgid "Port on which the server will listen." -msgstr "" +msgstr "Der Port, auf dem der Server lauschen wird." #. type: item #: doc/guix.texi:17298 #, no-wrap msgid "@code{welcome-text} (default: @code{\"\"})" -msgstr "" +msgstr "@code{welcome-text} (Vorgabe: @code{\"\"})" #. type: table #: doc/guix.texi:17300 msgid "Welcome text sent to clients when they connect." -msgstr "" +msgstr "Der Willkommenstext, der an Clients geschickt wird, sobald sie eine Verbindung aufgebaut haben." #. type: item #: doc/guix.texi:17301 #, no-wrap msgid "@code{server-password} (default: @code{\"\"})" -msgstr "" +msgstr "@code{server-password} (Vorgabe: @code{\"\"})" #. type: table #: doc/guix.texi:17303 msgid "Password the clients have to enter in order to connect." -msgstr "" +msgstr "Das Passwort, das Clients eingeben müssen, um sich verbinden zu können." #. type: item #: doc/guix.texi:17304 #, no-wrap msgid "@code{max-users} (default: @code{100})" -msgstr "" +msgstr "@code{max-users} (Vorgabe: @code{100})" #. type: table #: doc/guix.texi:17306 msgid "Maximum of users that can be connected to the server at once." -msgstr "" +msgstr "Die Maximalzahl von Nutzern, die gleichzeitig mit dem Server verbunden sein können." #. type: item #: doc/guix.texi:17307 #, no-wrap msgid "@code{max-user-bandwidth} (default: @code{#f})" -msgstr "" +msgstr "@code{max-user-bandwidth} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:17309 msgid "Maximum voice traffic a user can send per second." -msgstr "" +msgstr "Wieviele Stimmdaten ein Benutzer pro Sekunde versenden kann." #. type: item #: doc/guix.texi:17310 #, no-wrap msgid "@code{database-file} (default: @code{\"/var/lib/murmur/db.sqlite\"})" -msgstr "" +msgstr "@code{database-file} (Vorgabe: @code{\"/var/lib/murmur/db.sqlite\"})" #. type: table #: doc/guix.texi:17313 msgid "File name of the sqlite database. The service's user will become the owner of the directory." -msgstr "" +msgstr "Der Dateiname der SQLite-Datenbank. Das Benutzerkonto für den Dienst wird Besitzer des Verzeichnisses." #. type: item #: doc/guix.texi:17314 #, no-wrap msgid "@code{log-file} (default: @code{\"/var/log/murmur/murmur.log\"})" -msgstr "" +msgstr "@code{log-file} (Vorgabe: @code{\"/var/log/murmur/murmur.log\"})" #. type: table #: doc/guix.texi:17317 msgid "File name of the log file. The service's user will become the owner of the directory." -msgstr "" +msgstr "Der Dateiname der Protokolldatei. Das Benutzerkonto für den Dienst wird Besitzer des Verzeichnisses." #. type: item #: doc/guix.texi:17318 #, no-wrap msgid "@code{autoban-attempts} (default: @code{10})" -msgstr "" +msgstr "@code{autoban-attempts} (Vorgabe: @code{10})" #. type: table #: doc/guix.texi:17321 msgid "Maximum number of logins a user can make in @code{autoban-timeframe} without getting auto banned for @code{autoban-time}." -msgstr "" +msgstr "Wie oft sich ein Benutzer innerhalb des in @code{autoban-timeframe} angegebenen Zeitrahmens verbinden kann, ohne automatisch für die in @code{autoban-time} angegebene Zeit vom Server verbannt zu werden." #. type: item #: doc/guix.texi:17322 #, no-wrap msgid "@code{autoban-timeframe} (default: @code{120})" -msgstr "" +msgstr "@code{autoban-timeframe} (Vorgabe: @code{120})" #. type: table #: doc/guix.texi:17324 msgid "Timeframe for autoban in seconds." -msgstr "" +msgstr "Der Zeitrahmen für automatisches Bannen in Sekunden." #. type: item #: doc/guix.texi:17325 #, no-wrap msgid "@code{autoban-time} (default: @code{300})" -msgstr "" +msgstr "@code{autoban-time} (Vorgabe: @code{300})" #. type: table #: doc/guix.texi:17328 msgid "Amount of time in seconds for which a client gets banned when violating the autoban limits." -msgstr "" +msgstr "Wie lange in Sekunden ein Client gebannt wird, wenn er die Autobann-Beschränkungen überschreitet." #. type: item #: doc/guix.texi:17329 #, no-wrap msgid "@code{opus-threshold} (default: @code{100})" -msgstr "" +msgstr "@code{opus-threshold} (Vorgabe: @code{100})" #. type: table #: doc/guix.texi:17332 msgid "Percentage of clients that need to support opus before switching over to opus audio codec." -msgstr "" +msgstr "Der Prozentanteil der Clients, die Opus unterstützen müssen, bevor der Opus-Audiocodec verwendet wird." #. type: item #: doc/guix.texi:17333 #, no-wrap msgid "@code{channel-nesting-limit} (default: @code{10})" -msgstr "" +msgstr "@code{channel-nesting-limit} (Vorgabe: @code{10})" #. type: table #: doc/guix.texi:17335 msgid "How deep channels can be nested at maximum." -msgstr "" +msgstr "Wie tief Kanäle höchstens ineinander genistet sein können." #. type: item #: doc/guix.texi:17336 #, no-wrap msgid "@code{channelname-regex} (default: @code{#f})" -msgstr "" +msgstr "@code{channelname-regex} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:17338 msgid "A string in form of a Qt regular expression that channel names must conform to." -msgstr "" +msgstr "Eine Zeichenkette in Form eines regulären Ausdrucks von Qt, zu dem Kanalnamen passen müssen." #. type: item #: doc/guix.texi:17339 #, no-wrap msgid "@code{username-regex} (default: @code{#f})" -msgstr "" +msgstr "@code{username-regex} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:17341 msgid "A string in form of a Qt regular expression that user names must conform to." -msgstr "" +msgstr "Eine Zeichenkette in Form eines regulären Ausdrucks von Qt, zu dem Nutzernamen passen müssen." #. type: item #: doc/guix.texi:17342 #, no-wrap msgid "@code{text-message-length} (default: @code{5000})" -msgstr "" +msgstr "@code{text-message-length} (Vorgabe: @code{5000})" #. type: table #: doc/guix.texi:17344 msgid "Maximum size in bytes that a user can send in one text chat message." -msgstr "" +msgstr "Wieviele Bytes ein Benutzer höchstens in einer Textchatnachricht verschicken kann." #. type: item #: doc/guix.texi:17345 #, no-wrap msgid "@code{image-message-length} (default: @code{(* 128 1024)})" -msgstr "" +msgstr "@code{image-message-length} (Vorgabe: @code{(* 128 1024)})" #. type: table #: doc/guix.texi:17347 msgid "Maximum size in bytes that a user can send in one image message." -msgstr "" +msgstr "Wieviele Bytes ein Benutzer höchstens in einer Bildnachricht verschicken kann." #. type: item #: doc/guix.texi:17348 #, no-wrap msgid "@code{cert-required?} (default: @code{#f})" -msgstr "" +msgstr "@code{cert-required?} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:17351 msgid "If it is set to @code{#t} clients that use weak password authentification will not be accepted. Users must have completed the certificate wizard to join." -msgstr "" +msgstr "Falls dies auf @code{#t} gesetzt ist, werden Clients abgelehnt, die sich bloß mit Passwörtern authentizieren. Benutzer müssen den Zertifikatsassistenten abgeschlossen haben, bevor sie sich verbinden können." #. type: item #: doc/guix.texi:17352 @@ -32436,67 +32459,67 @@ msgstr "@code{remember-channel?} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:17355 msgid "Should murmur remember the last channel each user was in when they disconnected and put them into the remembered channel when they rejoin." -msgstr "" +msgstr "Ob sich Murmur für jeden Nutzer den Kanal merken sollte, auf dem er sich zuletzt befunden hat, als er die Verbindung getrennt hat, so dass er wieder auf dem gemerkten Kanal landet, wenn er dem Server wieder beitritt." #. type: item #: doc/guix.texi:17356 #, no-wrap msgid "@code{allow-html?} (default: @code{#f})" -msgstr "" +msgstr "@code{allow-html?} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:17358 msgid "Should html be allowed in text messages, user comments, and channel descriptions." -msgstr "" +msgstr "Ob HTML in Textnachrichten, Nutzerkommentaren und Kanalbeschreibungen zugelassen wird." #. type: item #: doc/guix.texi:17359 #, no-wrap msgid "@code{allow-ping?} (default: @code{#f})" -msgstr "" +msgstr "@code{allow-ping?} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:17363 msgid "Setting to true exposes the current user count, the maximum user count, and the server's maximum bandwidth per client to unauthenticated users. In the Mumble client, this information is shown in the Connect dialog." -msgstr "" +msgstr "Wenn es auf wahr gesetzt ist, wird an nicht angemeldete Anwender die momentane Benutzerzahl, die maximale Benutzerzahl und die maximale Bandbreite pro Benutzer übermittelt. Im Mumble-Client werden diese Informationen im Verbinden-Dialog angezeigt." #. type: table #: doc/guix.texi:17365 msgid "Disabling this setting will prevent public listing of the server." -msgstr "" +msgstr "Wenn diese Einstellung deaktiviert ist, wird der Server nicht in der öffentlichen Serverliste aufgeführt." #. type: item #: doc/guix.texi:17366 #, no-wrap msgid "@code{bonjour?} (default: @code{#f})" -msgstr "" +msgstr "@code{bonjour?} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:17368 msgid "Should the server advertise itself in the local network through the bonjour protocol." -msgstr "" +msgstr "Ob der Server im lokalen Netzwerk anderen über das Bonjour-Protokoll mitgeteilt werden soll." #. type: item #: doc/guix.texi:17369 #, no-wrap msgid "@code{send-version?} (default: @code{#f})" -msgstr "" +msgstr "@code{send-version?} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:17371 msgid "Should the murmur server version be exposed in ping requests." -msgstr "" +msgstr "Ob die Murmur-Serverversion Clients gegenüber in Ping-Anfragen mitgeteilt werden soll." #. type: item #: doc/guix.texi:17372 #, no-wrap msgid "@code{log-days} (default: @code{31})" -msgstr "" +msgstr "@code{log-days} (Vorgabe: @code{31})" #. type: table #: doc/guix.texi:17376 msgid "Murmur also stores logs in the database, which are accessible via RPC. The default is 31 days of months, but you can set this setting to 0 to keep logs forever, or -1 to disable logging to the database." -msgstr "" +msgstr "Murmur führt in der Datenbank Protokolle, auf die über entfernte Prozeduraufrufe („Remote Procedure Calls“, kurz RPC) zugegriffen werden kann. Nach Vorgabe bleiben diese 31 Tage lang erhalten, aber sie können diese Einstellung auf 0 setzen, damit sie ewig gespeichert werden, oder auf -1, um @emph{keine} Protokolle in die Datenbank zu schreiben." #. type: item #: doc/guix.texi:17377 @@ -32507,186 +32530,186 @@ msgstr "@code{obfuscate-ips?} (Vorgabe: @code{#t})" #. type: table #: doc/guix.texi:17379 msgid "Should logged ips be obfuscated to protect the privacy of users." -msgstr "" +msgstr "Ob IP-Adressen in Protokollen anonymisiert werden sollen, um die Privatsphäre von Nutzern zu schützen." #. type: item #: doc/guix.texi:17380 #, no-wrap msgid "@code{ssl-cert} (default: @code{#f})" -msgstr "" +msgstr "@code{ssl-cert} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:17382 msgid "File name of the SSL/TLS certificate used for encrypted connections." -msgstr "" +msgstr "Der Dateiname des SSL-/TLS-Zertifikats, das für verschlüsselte Verbindungen benutzt werden soll." #. type: example #: doc/guix.texi:17385 #, no-wrap msgid "(ssl-cert \"/etc/letsencrypt/live/example.com/fullchain.pem\")\n" -msgstr "" +msgstr "(ssl-cert \"/etc/letsencrypt/live/example.com/fullchain.pem\")\n" #. type: item #: doc/guix.texi:17386 #, no-wrap msgid "@code{ssl-key} (default: @code{#f})" -msgstr "" +msgstr "@code{ssl-key} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:17388 msgid "Filepath to the ssl private key used for encrypted connections." -msgstr "" +msgstr "Dateipfad zum privaten Schlüssel für SSL, was für verschlüsselte Verbindungen benutzt wird." #. type: example #: doc/guix.texi:17390 #, no-wrap msgid "(ssl-key \"/etc/letsencrypt/live/example.com/privkey.pem\")\n" -msgstr "" +msgstr "(ssl-key \"/etc/letsencrypt/live/example.com/privkey.pem\")\n" #. type: item #: doc/guix.texi:17392 #, no-wrap msgid "@code{ssl-dh-params} (default: @code{#f})" -msgstr "" +msgstr "@code{ssl-dh-params} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:17397 msgid "File name of a PEM-encoded file with Diffie-Hellman parameters for the SSL/TLS encryption. Alternatively you set it to @code{\"@@ffdhe2048\"}, @code{\"@@ffdhe3072\"}, @code{\"@@ffdhe4096\"}, @code{\"@@ffdhe6144\"} or @code{\"@@ffdhe8192\"} to use bundled parameters from RFC 7919." -msgstr "" +msgstr "Dateiname einer PEM-kodierten Datei mit Diffie-Hellman-Parametern für die SSL-/TLS-Verschlüsselung. Alternativ setzen Sie ihn auf @code{\"@@ffdhe2048\"}, @code{\"@@ffdhe3072\"}, @code{\"@@ffdhe4096\"}, @code{\"@@ffdhe6144\"} oder @code{\"@@ffdhe8192\"}, wodurch die mitgelieferten Parameter aus RFC 7919 genutzt werden." #. type: item #: doc/guix.texi:17398 #, no-wrap msgid "@code{ssl-ciphers} (default: @code{#f})" -msgstr "" +msgstr "@code{ssl-ciphers} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:17401 msgid "The @code{ssl-ciphers} option chooses the cipher suites to make available for use in SSL/TLS." -msgstr "" +msgstr "Die Option @code{ssl-ciphers} wählt aus, welche Cipher-Suites zur Verwendung in SSL/TLS verfügbar sein sollen." #. type: table #: doc/guix.texi:17405 msgid "This option is specified using @uref{https://www.openssl.org/docs/apps/ciphers.html#CIPHER-LIST-FORMAT, OpenSSL cipher list notation}." -msgstr "" +msgstr "Diese Option wird in der @uref{https://www.openssl.org/docs/apps/ciphers.html#CIPHER-LIST-FORMAT, OpenSSL-Notation für Cipher-Listen} angegeben." #. type: table #: doc/guix.texi:17410 msgid "It is recommended that you try your cipher string using 'openssl ciphers ' before setting it here, to get a feel for which cipher suites you will get. After setting this option, it is recommend that you inspect your Murmur log to ensure that Murmur is using the cipher suites that you expected it to." -msgstr "" +msgstr "Es wird empfohlen, dass Sie Ihre Cipher-Zeichenkette mit „openssl ciphers “ prüfen, bevor Sie sie hier einsetzen, um ein Gefühl dafür zu bekommen, was für eine Cipher-Suite sie damit bekommen. Nachdem Sie diese Option festgelegt haben, wird empfohlen, dass Sie Ihr Murmur-Protokoll durchsehen und sicherstellen, dass Murmur auch wirklich die Cipher-Suites benutzt, die Sie erwarten." #. type: table #: doc/guix.texi:17414 msgid "Note: Changing this option may impact the backwards compatibility of your Murmur server, and can remove the ability for older Mumble clients to be able to connect to it." -msgstr "" +msgstr "Beachten Sie: Änderungen hieran können die Rückwärtskompatibilität Ihres Murmur-Servers beeinträchtigen; dadurch kann es für ältere Mumblie-Clients unmöglich werden, sich damit zu verbinden." #. type: item #: doc/guix.texi:17415 #, no-wrap msgid "@code{public-registration} (default: @code{#f})" -msgstr "" +msgstr "@code{public-registration} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:17417 msgid "Must be a @code{} record or @code{#f}." -msgstr "" +msgstr "Hier muss ein @code{}-Verbundsobjekt oder @code{#f} angegeben werden." #. type: table #: doc/guix.texi:17422 msgid "You can optionally register your server in the public server list that the @code{mumble} client shows on startup. You cannot register your server if you have set a @code{server-password}, or set @code{allow-ping} to @code{#f}." -msgstr "" +msgstr "Sie können Ihren Server optional in die öffentliche Serverliste eintragen lassen, die der Mumble-Client @code{mumble} beim Start anzeigt. Sie können Ihren Server nicht registrieren, wenn Sie ein @code{server-password} festgelegt oder @code{allow-ping} auf @code{#f} gesetzt haben." #. type: table #: doc/guix.texi:17424 msgid "It might take a few hours until it shows up in the public list." -msgstr "" +msgstr "Es könnte ein paar Stunden dauern, bis er in der öffentlichen Liste zu finden ist." #. type: item #: doc/guix.texi:17425 doc/guix.texi:18856 #, no-wrap msgid "@code{file} (default: @code{#f})" -msgstr "" +msgstr "@code{file} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:17427 msgid "Optional alternative override for this configuration." -msgstr "" +msgstr "Optional kann hier eine vorrangig benutzte alternative Konfiguration festgelegt werden." #. type: deftp #: doc/guix.texi:17430 #, no-wrap msgid "{Data Type} murmur-public-registration-configuration" -msgstr "" +msgstr "{Datentyp} murmur-public-registration-configuration" #. type: deftp #: doc/guix.texi:17432 msgid "Configuration for public registration of a murmur service." -msgstr "" +msgstr "Konfiguration für das öffentliche Registrieren eines Murmur-Dienstes." #. type: table #: doc/guix.texi:17436 msgid "This is a display name for your server. Not to be confused with the hostname." -msgstr "" +msgstr "Dies ist ein Anzeigename für Ihren Server. Er ist nicht zu verwechseln mit dem Rechnernamen („Hostname“)." #. type: itemx #: doc/guix.texi:17437 doc/guix.texi:23817 #, no-wrap msgid "password" -msgstr "" +msgstr "password" #. type: table #: doc/guix.texi:17440 msgid "A password to identify your registration. Subsequent updates will need the same password. Don't lose your password." -msgstr "" +msgstr "Ein Passwort, um Ihre Registrierung zu identifizieren. Nachfolgende Aktualisierungen müssen dasselbe Passwort benutzen. Verlieren Sie Ihr Passwort nicht." #. type: code{#1} #: doc/guix.texi:17441 #, no-wrap msgid "url" -msgstr "" +msgstr "url" #. type: table #: doc/guix.texi:17444 msgid "This should be a @code{http://} or @code{https://} link to your web site." -msgstr "" +msgstr "Dies sollte ein Link mit @code{http://} oder @code{https://} auf Ihren Webauftritt sein." #. type: item #: doc/guix.texi:17445 #, no-wrap msgid "@code{hostname} (default: @code{#f})" -msgstr "" +msgstr "@code{hostname} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:17448 msgid "By default your server will be listed by its IP address. If it is set your server will be linked by this host name instead." -msgstr "" +msgstr "Nach Vorgabe wird Ihr Server über seine IP-Adresse aufgeführt. Wenn dies gesetzt ist, wird er stattdessen mit diesem Rechnernamen verknüpft." #. type: subsubheading #: doc/guix.texi:17456 #, no-wrap msgid "Tailon Service" -msgstr "" +msgstr "Tailon-Dienst" #. type: Plain text #: doc/guix.texi:17460 msgid "@uref{https://tailon.readthedocs.io/, Tailon} is a web application for viewing and searching log files." -msgstr "" +msgstr "@uref{https://tailon.readthedocs.io/, Tailon} ist eine Web-Anwendung, um Protokolldateien zu betrachten und zu durchsuchen." #. type: Plain text #: doc/guix.texi:17463 msgid "The following example will configure the service with default values. By default, Tailon can be accessed on port 8080 (@code{http://localhost:8080})." -msgstr "" +msgstr "Das folgende Beispiel zeigt, wie Sie den Dienst mit den Vorgabewerten konfigurieren. Nach Vorgabe kann auf Tailon auf Port 8080 zugegriffen werden (@code{http://localhost:8080})." #. type: example #: doc/guix.texi:17466 #, no-wrap msgid "(service tailon-service-type)\n" -msgstr "" +msgstr "(service tailon-service-type)\n" #. type: Plain text #: doc/guix.texi:17470 msgid "The following example customises more of the Tailon configuration, adding @command{sed} to the list of allowed commands." -msgstr "" +msgstr "Im folgenden Beispiel werden mehr Anpassungen an der Tailon-Konfiguration vorgenommen: @command{sed} gehört dort auch zur Liste der erlaubten Befehle dazu." #. type: example #: doc/guix.texi:17477 @@ -32698,33 +32721,38 @@ msgid "" " (tailon-configuration-file\n" " (allowed-commands '(\"tail\" \"grep\" \"awk\" \"sed\"))))))\n" msgstr "" +"(service tailon-service-type\n" +" (tailon-configuration\n" +" (config-file\n" +" (tailon-configuration-file\n" +" (allowed-commands '(\"tail\" \"grep\" \"awk\" \"sed\"))))))\n" #. type: deftp #: doc/guix.texi:17480 #, no-wrap msgid "{Data Type} tailon-configuration" -msgstr "" +msgstr "{Datentyp} tailon-configuration" #. type: deftp #: doc/guix.texi:17483 msgid "Data type representing the configuration of Tailon. This type has the following parameters:" -msgstr "" +msgstr "Der Datentyp, der die Konfiguration von Tailon repräsentiert. Dieser Typ verfügt über die folgenden Parameter:" #. type: item #: doc/guix.texi:17485 #, no-wrap msgid "@code{config-file} (default: @code{(tailon-configuration-file)})" -msgstr "" +msgstr "@code{config-file} (Vorgabe: @code{(tailon-configuration-file)})" #. type: table #: doc/guix.texi:17489 msgid "The configuration file to use for Tailon. This can be set to a @dfn{tailon-configuration-file} record value, or any gexp (@pxref{G-Expressions})." -msgstr "" +msgstr "Die Konfigurationsdatei, die für Tailon benutzt werden soll. Als Wert kann ein @dfn{tailon-configuration-file}-Verbundsobjekt oder ein beliebiger G-Ausdruck dienen (siehe @ref{G-Expressions})." #. type: table #: doc/guix.texi:17492 msgid "For example, to instead use a local file, the @code{local-file} function can be used:" -msgstr "" +msgstr "Um zum Beispiel stattdessen eine lokale Datei zu benutzen, kann von der Funktion @code{local-file} Gebrauch gemacht werden." #. type: example #: doc/guix.texi:17497 @@ -32734,149 +32762,152 @@ msgid "" " (tailon-configuration\n" " (config-file (local-file \"./my-tailon.conf\"))))\n" msgstr "" +"(service tailon-service-type\n" +" (tailon-configuration\n" +" (config-file (local-file \"./my-tailon.conf\"))))\n" #. type: item #: doc/guix.texi:17499 #, no-wrap msgid "@code{package} (default: @code{tailon})" -msgstr "" +msgstr "@code{package} (Vorgabe: @code{tailon})" #. type: table #: doc/guix.texi:17501 msgid "The tailon package to use." -msgstr "" +msgstr "Das tailon-Paket, das benutzt werden soll." #. type: deftp #: doc/guix.texi:17505 #, no-wrap msgid "{Data Type} tailon-configuration-file" -msgstr "" +msgstr "{Datentyp} tailon-configuration-file" #. type: deftp #: doc/guix.texi:17508 msgid "Data type representing the configuration options for Tailon. This type has the following parameters:" -msgstr "" +msgstr "Datentyp, der die Konfigurationsoptionen für Tailon repräsentiert. Dieser Typ verfügt über die folgenden Parameter:" #. type: item #: doc/guix.texi:17510 #, no-wrap msgid "@code{files} (default: @code{(list \"/var/log\")})" -msgstr "" +msgstr "@code{files} (Vorgabe: @code{(list \"/var/log\")})" #. type: table #: doc/guix.texi:17515 msgid "List of files to display. The list can include strings for a single file or directory, or a list, where the first item is the name of a subsection, and the remaining items are the files or directories in that subsection." -msgstr "" +msgstr "Die Liste der anzuzeigenden Dateien. In der Liste dürfen Zeichenketten stehen, die jeweils für eine einzelne Datei oder ein Verzeichnis stehen, oder auch Listen, deren erstes Element den Namen eines Unterbereichs angibt und deren übrige Elemente die Dateien oder Verzeichnisse in diesem Unterbereich benennen." #. type: item #: doc/guix.texi:17516 #, no-wrap msgid "@code{bind} (default: @code{\"localhost:8080\"})" -msgstr "" +msgstr "@code{bind} (Vorgabe: @code{\"localhost:8080\"})" #. type: table #: doc/guix.texi:17518 msgid "Address and port to which Tailon should bind on." -msgstr "" +msgstr "Adresse und Port, an die sich Tailon binden soll." #. type: item #: doc/guix.texi:17519 #, no-wrap msgid "@code{relative-root} (default: @code{#f})" -msgstr "" +msgstr "@code{relative-root} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:17521 msgid "URL path to use for Tailon, set to @code{#f} to not use a path." -msgstr "" +msgstr "Welcher URL-Pfad für Tailon benutzt werden soll. Wenn Sie hierfür @code{#f} angeben, wird kein Pfad benutzt." #. type: item #: doc/guix.texi:17522 #, no-wrap msgid "@code{allow-transfers?} (default: @code{#t})" -msgstr "" +msgstr "@code{allow-transfers?} (Vorgabe: @code{#t})" #. type: table #: doc/guix.texi:17524 msgid "Allow downloading the log files in the web interface." -msgstr "" +msgstr "Ob es möglich sein soll, die Protokolldateien über die Weboberfläche herunterzuladen." #. type: item #: doc/guix.texi:17525 #, no-wrap msgid "@code{follow-names?} (default: @code{#t})" -msgstr "" +msgstr "@code{follow-names?} (Vorgabe: @code{#t})" #. type: table #: doc/guix.texi:17527 msgid "Allow tailing of not-yet existent files." -msgstr "" +msgstr "Ob noch nicht existierende Dateien „getailt“ werden können." #. type: item #: doc/guix.texi:17528 #, no-wrap msgid "@code{tail-lines} (default: @code{200})" -msgstr "" +msgstr "@code{tail-lines} (Vorgabe: @code{200})" #. type: table #: doc/guix.texi:17530 msgid "Number of lines to read initially from each file." -msgstr "" +msgstr "Wieviele Zeilen am Anfang aus jeder Datei gelesen werden." #. type: item #: doc/guix.texi:17531 #, no-wrap msgid "@code{allowed-commands} (default: @code{(list \"tail\" \"grep\" \"awk\")})" -msgstr "" +msgstr "@code{allowed-commands} (Vorgabe: @code{(list \"tail\" \"grep\" \"awk\")})" #. type: table #: doc/guix.texi:17533 msgid "Commands to allow running. By default, @code{sed} is disabled." -msgstr "" +msgstr "Welche Befehle ausgeführt werden dürfen. Nach Vorgabe wird @code{sed} @emph{nicht} erlaubt." #. type: item #: doc/guix.texi:17534 #, no-wrap msgid "@code{debug?} (default: @code{#f})" -msgstr "" +msgstr "@code{debug?} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:17536 msgid "Set @code{debug?} to @code{#t} to show debug messages." -msgstr "" +msgstr "Legen Sie @code{debug?} als @code{#t} fest, um Nachrichten zur Fehlersuche anzuzeigen." #. type: item #: doc/guix.texi:17537 #, no-wrap msgid "@code{wrap-lines} (default: @code{#t})" -msgstr "" +msgstr "@code{wrap-lines} (Vorgabe: @code{#t})" #. type: table #: doc/guix.texi:17541 msgid "Initial line wrapping state in the web interface. Set to @code{#t} to initially wrap lines (the default), or to @code{#f} to initially not wrap lines." -msgstr "" +msgstr "Ob lange Zeilen nach der Anfangseinstellung in der Weboberfläche umgebrochen werden sollen. Setzen Sie es auf @code{#t}, werden Zeilen in der Anfangseinstellung umgebrochen (die Vorgabe), bei @code{#f} werden sie anfänglich nicht umgebrochen." #. type: item #: doc/guix.texi:17542 #, no-wrap msgid "@code{http-auth} (default: @code{#f})" -msgstr "" +msgstr "@code{http-auth} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:17546 msgid "HTTP authentication type to use. Set to @code{#f} to disable authentication (the default). Supported values are @code{\"digest\"} or @code{\"basic\"}." -msgstr "" +msgstr "Welcher HTTP-Authentifizierungstyp benutzt werden soll. Setzen Sie dies auf @code{#f}, damit sich Benutzer nicht authentizieren müssen (die Vorgabe). Unterstützte Werte sind @code{\"digest\"} oder @code{\"basic\"}." #. type: item #: doc/guix.texi:17547 #, no-wrap msgid "@code{users} (default: @code{#f})" -msgstr "" +msgstr "@code{users} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:17552 msgid "If HTTP authentication is enabled (see @code{http-auth}), access will be restricted to the credentials provided here. To configure users, use a list of pairs, where the first element of the pair is the username, and the 2nd element of the pair is the password." -msgstr "" +msgstr "Wenn HTTP-Authentifizierung aktiviert ist (siehe @code{http-auth}), wird der Zugriff nur gewährt, nachdem die hier angegebenen Zugangsinformationen eingegeben wurden. Um Nutzer hinzuzufügen, geben Sie hier eine Liste von Paaren an, deren erstes Element jeweils der Benutzername und deren zweites Element das Passwort ist." #. type: example #: doc/guix.texi:17558 @@ -32887,34 +32918,38 @@ msgid "" " (users '((\"user1\" . \"password1\")\n" " (\"user2\" . \"password2\"))))\n" msgstr "" +"(tailon-configuration-file\n" +" (http-auth \"basic\")\n" +" (users '((\"benutzer1\" . \"passwort1\")\n" +" (\"benutzer2\" . \"passwort2\"))))\n" #. type: subsubheading #: doc/guix.texi:17564 #, no-wrap msgid "Darkstat Service" -msgstr "" +msgstr "Darkstat-Dienst" #. type: cindex #: doc/guix.texi:17565 #, no-wrap msgid "darkstat" -msgstr "" +msgstr "darkstat" #. type: Plain text #: doc/guix.texi:17568 msgid "Darkstat is a packet sniffer that captures network traffic, calculates statistics about usage, and serves reports over HTTP." -msgstr "" +msgstr "Darkstat ist ein Netzwerkanalyseprogramm, das Pakete im Datenverkehr aufzeichnet, Statistiken zur Netzwerknutzung berechnet und über HTTP Berichte dazu bereitstellt." #. type: defvar #: doc/guix.texi:17569 #, no-wrap msgid "{Scheme Variable} darkstat-service-type" -msgstr "" +msgstr "{Scheme-Variable} darkstat-service-type" #. type: defvar #: doc/guix.texi:17574 msgid "This is the service type for the @uref{https://unix4lyfe.org/darkstat/, darkstat} service, its value must be a @code{darkstat-configuration} record as in this example:" -msgstr "" +msgstr "Dies ist der Diensttyp für den @uref{https://unix4lyfe.org/darkstat/, darkstat-Dienst}. Sein Wert muss ein @code{darkstat-configuration}-Verbundsobjekt sein, wie in diesem Beispiel:" #. type: example #: doc/guix.texi:17579 @@ -32924,100 +32959,103 @@ msgid "" " (darkstat-configuration\n" " (interface \"eno1\")))\n" msgstr "" +"(service darkstat-service-type\n" +" (darkstat-configuration\n" +" (interface \"eno1\")))\n" #. type: deftp #: doc/guix.texi:17582 #, no-wrap msgid "{Data Type} darkstat-configuration" -msgstr "" +msgstr "{Datentyp} darkstat-configuration" #. type: deftp #: doc/guix.texi:17584 msgid "Data type representing the configuration of @command{darkstat}." -msgstr "" +msgstr "Datentyp, der die Konfiguration von @command{darkstat} repräsentiert." #. type: item #: doc/guix.texi:17586 #, no-wrap msgid "@code{package} (default: @code{darkstat})" -msgstr "" +msgstr "@code{package} (Vorgabe: @code{darkstat})" #. type: table #: doc/guix.texi:17588 msgid "The darkstat package to use." -msgstr "" +msgstr "Welches darkstat-Paket verwendet werden soll." #. type: code{#1} #: doc/guix.texi:17589 #, no-wrap msgid "interface" -msgstr "" +msgstr "interface" #. type: table #: doc/guix.texi:17591 msgid "Capture traffic on the specified network interface." -msgstr "" +msgstr "Datenverkehr an der angegebenen Netzwerkschnittstelle mitschneiden." #. type: item #: doc/guix.texi:17592 #, no-wrap msgid "@code{port} (default: @code{\"667\"})" -msgstr "" +msgstr "@code{port} (Vorgabe: @code{\"667\"})" #. type: table #: doc/guix.texi:17594 msgid "Bind the web interface to the specified port." -msgstr "" +msgstr "Bindet die Weboberfläche an den angegebenen Port." #. type: item #: doc/guix.texi:17595 #, no-wrap msgid "@code{bind-address} (default: @code{\"127.0.0.1\"})" -msgstr "" +msgstr "@code{bind-address} (Vorgabe: @code{\"127.0.0.1\"})" #. type: table #: doc/guix.texi:17597 doc/guix.texi:17635 msgid "Bind the web interface to the specified address." -msgstr "" +msgstr "Bindet die Weboberfläche an die angegebene Adresse." #. type: item #: doc/guix.texi:17598 #, no-wrap msgid "@code{base} (default: @code{\"/\"})" -msgstr "" +msgstr "@code{base} (Vorgabe: @code{\"/\"})" #. type: table #: doc/guix.texi:17601 msgid "Specify the path of the base URL. This can be useful if @command{darkstat} is accessed via a reverse proxy." -msgstr "" +msgstr "Geben Sie den Pfad der Basis-URL an. Das kann nützlich sein, wenn auf @command{darkstat} über einen inversen Proxy („Reverse Proxy“) zugegriffen wird." #. type: subsubheading #: doc/guix.texi:17605 #, no-wrap msgid "Prometheus Node Exporter Service" -msgstr "" +msgstr "Prometheus-Node-Exporter-Dienst" #. type: cindex #: doc/guix.texi:17607 #, no-wrap msgid "prometheus-node-exporter" -msgstr "" +msgstr "prometheus-node-exporter" #. type: Plain text #: doc/guix.texi:17612 msgid "The Prometheus ``node exporter'' makes hardware and operating system statistics provided by the Linux kernel available for the Prometheus monitoring system. This service should be deployed on all physical nodes and virtual machines, where monitoring these statistics is desirable." -msgstr "" +msgstr "Der Prometheus-„Node-Exporter“ stellt Statistiken über Hardware und Betriebssystem für das Prometheus-Systemüberwachungssystem bereit, die vom Linux-Kernel geliefert werden. Dieser Dienst sollte auf allen physischen Netzwerkknoten und virtuellen Maschinen installiert werden, für die eine Überwachung ihrer Statistiken gewünscht wird." #. type: defvar #: doc/guix.texi:17613 #, no-wrap msgid "{Scheme variable} prometheus-node-exporter-service-type" -msgstr "" +msgstr "{Scheme-Variable} prometheus-node-exporter-service-type" #. type: defvar #: doc/guix.texi:17618 msgid "This is the service type for the @uref{https://github.com/prometheus/node_exporter/, prometheus-node-exporter} service, its value must be a @code{prometheus-node-exporter-configuration} record as in this example:" -msgstr "" +msgstr "Dies ist der Diensttyp für den @uref{https://github.com/prometheus/node_exporter/, „prometheus-node-exporter“-Dienst}. Sein Wert muss ein @code{prometheus-node-exporter-configuration}-Verbundsobjekt wie in diesem Beispiel sein:" #. type: example #: doc/guix.texi:17623 @@ -33027,12 +33065,15 @@ msgid "" " (prometheus-node-exporter-configuration\n" " (web-listen-address \":9100\")))\n" msgstr "" +"(service prometheus-node-exporter-service-type\n" +" (prometheus-node-exporter-configuration\n" +" (web-listen-address \":9100\")))\n" #. type: deftp #: doc/guix.texi:17626 #, no-wrap msgid "{Data Type} prometheus-node-exporter-configuration" -msgstr "" +msgstr "{Datentyp} prometheus-node-exporter-configuration" #. type: deftp #: doc/guix.texi:17628 @@ -33066,71 +33107,71 @@ msgstr "Zabbix-Server" #: doc/guix.texi:17640 #, no-wrap msgid "zabbix zabbix-server" -msgstr "" +msgstr "Zabbix, Zabbix-Server" #. type: Plain text #: doc/guix.texi:17643 msgid "Zabbix provides monitoring metrics, among others network utilization, CPU load and disk space consumption:" -msgstr "" +msgstr "Zabbix stellt Metriken zur Systemüberwachung zur Verfügung, unter anderem die Netzwerk- und Prozessorauslastung sowie den Plattenplatzverbrauch, und bietet dabei:" #. type: item #: doc/guix.texi:17645 #, no-wrap msgid "High performance, high capacity (able to monitor hundreds of thousands of devices)." -msgstr "" +msgstr "Hohe Leistungsfähigkeit und hohe Kapazität (hunderttausende Geräte können überwacht werden)." #. type: item #: doc/guix.texi:17646 #, no-wrap msgid "Auto-discovery of servers and network devices and interfaces." -msgstr "" +msgstr "Automatische Erkennung von Servern, Netzwerkgeräten und -schnittstellen." #. type: item #: doc/guix.texi:17647 #, no-wrap msgid "Low-level discovery, allows to automatically start monitoring new items, file systems or network interfaces among others." -msgstr "" +msgstr "Systemnahe Erkennung, wodurch automatisch mit der Überwachung neuer Objekte, Dateisysteme, Netzwerkschnittstellen und anderer Dinge begonnen werden kann." #. type: item #: doc/guix.texi:17648 #, no-wrap msgid "Distributed monitoring with centralized web administration." -msgstr "" +msgstr "Verteilte Überwachung mit zentralisierter Web-Administrierbarkeit." #. type: item #: doc/guix.texi:17649 #, no-wrap msgid "Native high performance agents." -msgstr "" +msgstr "Native Hochleistungsagenten." #. type: item #: doc/guix.texi:17650 #, no-wrap msgid "SLA, and ITIL KPI metrics on reporting." -msgstr "" +msgstr "Berichte zum SLA und über ITIL-KPI-Metriken." #. type: item #: doc/guix.texi:17651 #, no-wrap msgid "High-level (business) view of monitored resources through user-defined visual console screens and dashboards." -msgstr "" +msgstr "Überblickssicht (geschäftlich) auf die überwachten Ressourcen über benutzerdefinierte visuelle Konsolenbildschirme und Dashboards." #. type: item #: doc/guix.texi:17652 #, no-wrap msgid "Remote command execution through Zabbix proxies." -msgstr "" +msgstr "Entfernte Befehlsausführung über Zabbix-Proxys." #. type: Plain text #: doc/guix.texi:17658 msgid "Available @code{zabbix-server-configuration} fields are:" -msgstr "" +msgstr "Verfügbare @code{zabbix-server-configuration}-Felder sind:" #. type: deftypevr #: doc/guix.texi:17659 #, no-wrap msgid "{@code{zabbix-server-configuration} parameter} package zabbix-server" -msgstr "" +msgstr "{@code{zabbix-server-configuration}-Parameter} „package“ zabbix-server" #. type: deftypevr #: doc/guix.texi:17661 @@ -33141,36 +33182,36 @@ msgstr "Das zabbix-server-Paket." #: doc/guix.texi:17664 #, no-wrap msgid "{@code{zabbix-server-configuration} parameter} string user" -msgstr "" +msgstr "{@code{zabbix-server-configuration}-Parameter} Zeichenkette user" #. type: deftypevr #: doc/guix.texi:17666 msgid "User who will run the Zabbix server." -msgstr "" +msgstr "Das Benutzerkonto, mit dem der Zabbix-Server ausgeführt wird." #. type: deftypevr #: doc/guix.texi:17668 doc/guix.texi:17675 doc/guix.texi:17689 #: doc/guix.texi:17696 doc/guix.texi:17797 doc/guix.texi:17804 #: doc/guix.texi:17915 doc/guix.texi:17922 msgid "Defaults to @samp{\"zabbix\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"zabbix\"}." #. type: deftypevr #: doc/guix.texi:17671 #, no-wrap msgid "{@code{zabbix-server-configuration} parameter} group group" -msgstr "" +msgstr "{@code{zabbix-server-configuration}-Parameter} Gruppe group" #. type: deftypevr #: doc/guix.texi:17673 msgid "Group who will run the Zabbix server." -msgstr "" +msgstr "Die Gruppe, mit der der Zabbix-Server ausgeführt wird." #. type: deftypevr #: doc/guix.texi:17678 #, no-wrap msgid "{@code{zabbix-server-configuration} parameter} string db-host" -msgstr "" +msgstr "{@code{zabbix-server-configuration}-Parameter} Zeichenkette db-host" #. type: deftypevr #: doc/guix.texi:17680 doc/guix.texi:17899 @@ -33180,13 +33221,13 @@ msgstr "Rechnername der Datenbank." #. type: deftypevr #: doc/guix.texi:17682 msgid "Defaults to @samp{\"127.0.0.1\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"127.0.0.1\"}." #. type: deftypevr #: doc/guix.texi:17685 #, no-wrap msgid "{@code{zabbix-server-configuration} parameter} string db-name" -msgstr "" +msgstr "{@code{zabbix-server-configuration}-Parameter} Zeichenkette db-name" #. type: deftypevr #: doc/guix.texi:17687 doc/guix.texi:17913 @@ -33197,7 +33238,7 @@ msgstr "Datenbankname." #: doc/guix.texi:17692 #, no-wrap msgid "{@code{zabbix-server-configuration} parameter} string db-user" -msgstr "" +msgstr "{@code{zabbix-server-configuration}-Parameter} Zeichenkette db-user" #. type: deftypevr #: doc/guix.texi:17694 doc/guix.texi:17920 @@ -33208,18 +33249,18 @@ msgstr "Benutzerkonto der Datenbank." #: doc/guix.texi:17699 #, no-wrap msgid "{@code{zabbix-server-configuration} parameter} string db-password" -msgstr "" +msgstr "{@code{zabbix-server-configuration}-Parameter} Zeichenkette db-password" #. type: deftypevr #: doc/guix.texi:17702 msgid "Database password. Please, use @code{include-files} with @code{DBPassword=SECRET} inside a specified file instead." -msgstr "" +msgstr "Das Datenbankpasswort. Bitte benutzen Sie stattdessen @code{include-files} mit @code{DBPassword=SECRET} in einer angegebenen Datei." #. type: deftypevr #: doc/guix.texi:17707 #, no-wrap msgid "{@code{zabbix-server-configuration} parameter} number db-port" -msgstr "" +msgstr "{@code{zabbix-server-configuration}-Parameter} Zahl db-port" #. type: deftypevr #: doc/guix.texi:17709 doc/guix.texi:17906 @@ -33229,55 +33270,55 @@ msgstr "Datenbank-Portnummer." #. type: deftypevr #: doc/guix.texi:17711 doc/guix.texi:17908 msgid "Defaults to @samp{5432}." -msgstr "" +msgstr "Die Vorgabe ist @samp{5432}." #. type: deftypevr #: doc/guix.texi:17714 #, no-wrap msgid "{@code{zabbix-server-configuration} parameter} string log-type" -msgstr "" +msgstr "{@code{zabbix-server-configuration}-Parameter} Zeichenkette log-type" #. type: deftypevr #: doc/guix.texi:17716 doc/guix.texi:17817 msgid "Specifies where log messages are written to:" -msgstr "" +msgstr "Gibt an, wohin Protokollnachrichten geschrieben werden." #. type: itemize #: doc/guix.texi:17720 doc/guix.texi:17821 msgid "@code{system} - syslog." -msgstr "" +msgstr "@code{system} - Syslog." #. type: itemize #: doc/guix.texi:17723 doc/guix.texi:17824 msgid "@code{file} - file specified with @code{log-file} parameter." -msgstr "" +msgstr "@code{file} - Die im @code{log-file}-Parameter angegebene Datei." #. type: itemize #: doc/guix.texi:17726 doc/guix.texi:17827 msgid "@code{console} - standard output." -msgstr "" +msgstr "@code{console} - Standardausgabe." #. type: deftypevr #: doc/guix.texi:17733 #, no-wrap msgid "{@code{zabbix-server-configuration} parameter} string log-file" -msgstr "" +msgstr "{@code{zabbix-server-configuration}-Parameter} Zeichenkette log-file" #. type: deftypevr #: doc/guix.texi:17735 doc/guix.texi:17836 msgid "Log file name for @code{log-type} @code{file} parameter." -msgstr "" +msgstr "Protokolldateiname für den @code{file}-Parameter von @code{log-type}." #. type: deftypevr #: doc/guix.texi:17737 msgid "Defaults to @samp{\"/var/log/zabbix/server.log\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"/var/log/zabbix/server.log\"}." #. type: deftypevr #: doc/guix.texi:17740 #, no-wrap msgid "{@code{zabbix-server-configuration} parameter} string pid-file" -msgstr "" +msgstr "{@code{zabbix-server-configuration}-Parameter} Zeichenkette pid-file" #. type: deftypevr #: doc/guix.texi:17742 doc/guix.texi:17843 @@ -33287,89 +33328,89 @@ msgstr "Name der PID-Datei." #. type: deftypevr #: doc/guix.texi:17744 msgid "Defaults to @samp{\"/var/run/zabbix/zabbix_server.pid\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"/var/run/zabbix/zabbix_server.pid\"}." #. type: deftypevr #: doc/guix.texi:17747 #, no-wrap msgid "{@code{zabbix-server-configuration} parameter} string ssl-ca-location" -msgstr "" +msgstr "{@code{zabbix-server-configuration}-Parameter} Zeichenkette ssl-ca-location" #. type: deftypevr #: doc/guix.texi:17750 msgid "The location of certificate authority (CA) files for SSL server certificate verification." -msgstr "" +msgstr "Der Ort mit den Dateien über die Zertifikatsautoritäten (Certificate Authoritys, CAs) zur Prüfung der SSL-Serverzertifikate." #. type: deftypevr #: doc/guix.texi:17752 msgid "Defaults to @samp{\"/etc/ssl/certs/ca-certificates.crt\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"/etc/ssl/certs/ca-certificates.crt\"}." #. type: deftypevr #: doc/guix.texi:17755 #, no-wrap msgid "{@code{zabbix-server-configuration} parameter} string ssl-cert-location" -msgstr "" +msgstr "{@code{zabbix-server-configuration}-Parameter} Zeichenkette ssl-cert-location" #. type: deftypevr #: doc/guix.texi:17757 msgid "Location of SSL client certificates." -msgstr "" +msgstr "Der Ort mit den SSL-Client-Zertifikaten." #. type: deftypevr #: doc/guix.texi:17759 msgid "Defaults to @samp{\"/etc/ssl/certs\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"/etc/ssl/certs\"}." #. type: deftypevr #: doc/guix.texi:17762 #, no-wrap msgid "{@code{zabbix-server-configuration} parameter} string extra-options" -msgstr "" +msgstr "{@code{zabbix-server-configuration}-Parameter} Zeichenkette extra-options" #. type: deftypevr #: doc/guix.texi:17764 doc/guix.texi:17868 msgid "Extra options will be appended to Zabbix server configuration file." -msgstr "" +msgstr "Zusätzliche Optionen werden an die Zabbix-Server-Konfigurationsdatei angehängt." #. type: deftypevr #: doc/guix.texi:17769 #, no-wrap msgid "{@code{zabbix-server-configuration} parameter} include-files include-files" -msgstr "" +msgstr "{@code{zabbix-server-configuration}-Parameter} Einzubindende-Dateien include-files" #. type: deftypevr #: doc/guix.texi:17772 doc/guix.texi:17876 msgid "You may include individual files or all files in a directory in the configuration file." -msgstr "" +msgstr "Sie können einzelne Dateien oder alle Dateien in einem Verzeichnis in die Konfigurationsdatei einbinden." #. type: subsubheading #: doc/guix.texi:17779 #, no-wrap msgid "Zabbix agent" -msgstr "" +msgstr "Zabbix-Agent" #. type: cindex #: doc/guix.texi:17780 #, no-wrap msgid "zabbix zabbix-agent" -msgstr "" +msgstr "Zabbix, Zabbix-Agent" #. type: Plain text #: doc/guix.texi:17783 msgid "Zabbix agent gathers information for Zabbix server." -msgstr "" +msgstr "Der Zabbix-Agent sammelt Informationen für den Zabbix-Server." #. type: Plain text #: doc/guix.texi:17787 msgid "Available @code{zabbix-agent-configuration} fields are:" -msgstr "" +msgstr "Verfügbare @code{zabbix-agent-configuration}-Felder sind:" #. type: deftypevr #: doc/guix.texi:17788 #, no-wrap msgid "{@code{zabbix-agent-configuration} parameter} package zabbix-agent" -msgstr "" +msgstr "{@code{zabbix-agent-configuration}-Parameter} „package“ zabbix-agent" #. type: deftypevr #: doc/guix.texi:17790 @@ -33380,255 +33421,255 @@ msgstr "Das zabbix-agent-Paket." #: doc/guix.texi:17793 #, no-wrap msgid "{@code{zabbix-agent-configuration} parameter} string user" -msgstr "" +msgstr "{@code{zabbix-agent-configuration}-Parameter} Zeichenkette user" #. type: deftypevr #: doc/guix.texi:17795 msgid "User who will run the Zabbix agent." -msgstr "" +msgstr "Das Benutzerkonto, mit dem der Zabbix-Agent ausgeführt wird." #. type: deftypevr #: doc/guix.texi:17800 #, no-wrap msgid "{@code{zabbix-agent-configuration} parameter} group group" -msgstr "" +msgstr "{@code{zabbix-agent-configuration}-Parameter} Gruppe group" #. type: deftypevr #: doc/guix.texi:17802 msgid "Group who will run the Zabbix agent." -msgstr "" +msgstr "Die Gruppe, mit der der Zabbix-Agent ausgeführt wird." #. type: deftypevr #: doc/guix.texi:17807 #, no-wrap msgid "{@code{zabbix-agent-configuration} parameter} string hostname" -msgstr "" +msgstr "{@code{zabbix-agent-configuration}-Parameter} Zeichenkette hostname" #. type: deftypevr #: doc/guix.texi:17810 msgid "Unique, case sensitive hostname which is required for active checks and must match hostname as configured on the server." -msgstr "" +msgstr "Der eindeutige Rechnername in richtiger Groß-/Kleinschreibung, der für aktive Überprüfungen benötigt wird und dem im Server eingestellten Rechnernamen entsprechen muss." #. type: deftypevr #: doc/guix.texi:17812 msgid "Defaults to @samp{\"Zabbix server\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"Zabbix server\"}." #. type: deftypevr #: doc/guix.texi:17815 #, no-wrap msgid "{@code{zabbix-agent-configuration} parameter} string log-type" -msgstr "" +msgstr "{@code{zabbix-agent-configuration}-Parameter} Zeichenkette log-type" #. type: deftypevr #: doc/guix.texi:17834 #, no-wrap msgid "{@code{zabbix-agent-configuration} parameter} string log-file" -msgstr "" +msgstr "{@code{zabbix-agent-configuration}-Parameter} Zeichenkette log-file" #. type: deftypevr #: doc/guix.texi:17838 msgid "Defaults to @samp{\"/var/log/zabbix/agent.log\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"/var/log/zabbix/agent.log\"}." #. type: deftypevr #: doc/guix.texi:17841 #, no-wrap msgid "{@code{zabbix-agent-configuration} parameter} string pid-file" -msgstr "" +msgstr "{@code{zabbix-agent-configuration}-Parameter} Zeichenkette pid-file" #. type: deftypevr #: doc/guix.texi:17845 msgid "Defaults to @samp{\"/var/run/zabbix/zabbix_agent.pid\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"/var/run/zabbix/zabbix_agent.pid\"}." #. type: deftypevr #: doc/guix.texi:17848 #, no-wrap msgid "{@code{zabbix-agent-configuration} parameter} list server" -msgstr "" +msgstr "{@code{zabbix-agent-configuration}-Parameter} Liste server" #. type: deftypevr #: doc/guix.texi:17852 msgid "List of IP addresses, optionally in CIDR notation, or hostnames of Zabbix servers and Zabbix proxies. Incoming connections will be accepted only from the hosts listed here." -msgstr "" +msgstr "Die Liste der IP-Adressen, optional in CIDR-Notation angegeben, oder die Rechnernamen von Zabbix-Servern und Zabbix-Proxys. Eingehende Verbindungen werden nur dann angenommen, wenn sie von hier angegebenen Rechnern stammen." #. type: deftypevr #: doc/guix.texi:17854 doc/guix.texi:17863 msgid "Defaults to @samp{(\"127.0.0.1\")}." -msgstr "" +msgstr "Die Vorgabe ist @samp{(\"127.0.0.1\")}." #. type: deftypevr #: doc/guix.texi:17857 #, no-wrap msgid "{@code{zabbix-agent-configuration} parameter} list server-active" -msgstr "" +msgstr "{@code{zabbix-agent-configuration}-Parameter} Liste server-active" #. type: deftypevr #: doc/guix.texi:17861 msgid "List of IP:port (or hostname:port) pairs of Zabbix servers and Zabbix proxies for active checks. If port is not specified, default port is used. If this parameter is not specified, active checks are disabled." -msgstr "" +msgstr "Die Liste aus IP:Port-Paaren (oder Rechnername:Port-Paaren) von Zabbix-Servern und Zabbix-Proxys für aktive Überprüfungen. Wenn kein Port angegeben wurde, wird der Vorgabeport benutzt. Wenn dieser Parameter @emph{nicht} angegeben wird, werden aktive Überprüfungen deaktiviert." #. type: deftypevr #: doc/guix.texi:17866 #, no-wrap msgid "{@code{zabbix-agent-configuration} parameter} string extra-options" -msgstr "" +msgstr "{@code{zabbix-agent-configuration}-Parameter} Zeichenkette extra-options" #. type: deftypevr #: doc/guix.texi:17873 #, no-wrap msgid "{@code{zabbix-agent-configuration} parameter} include-files include-files" -msgstr "" +msgstr "{@code{zabbix-agent-configuration}-Parameter} Einzubindende-Dateien include-files" #. type: subsubheading #: doc/guix.texi:17883 #, no-wrap msgid "Zabbix front-end" -msgstr "" +msgstr "Zabbix-Frontend" #. type: cindex #: doc/guix.texi:17884 #, no-wrap msgid "zabbix zabbix-front-end" -msgstr "" +msgstr "Zabbix, Zabbix-Frontend" #. type: Plain text #: doc/guix.texi:17887 msgid "This service provides a WEB interface to Zabbix server." -msgstr "" +msgstr "Dieser Dienst stellt eine Weboberfläche als Vordergrundsystem (@dfn{Frontend}) für den Zabbix-Server zur Verfügung." #. type: Plain text #: doc/guix.texi:17891 msgid "Available @code{zabbix-front-end-configuration} fields are:" -msgstr "" +msgstr "Verfügbare @code{zabbix-front-end-configuration}-Felder sind:" #. type: deftypevr #: doc/guix.texi:17892 #, no-wrap msgid "{@code{zabbix-front-end-configuration} parameter} nginx-server-configuration-list nginx" -msgstr "" +msgstr "{@code{zabbix-front-end-configuration}-Parameter} „nginx-server-configuration“-Liste nginx" #. type: deftypevr #: doc/guix.texi:17894 doc/guix.texi:22296 msgid "NGINX configuration." -msgstr "" +msgstr "NGINX-Konfiguration." #. type: deftypevr #: doc/guix.texi:17897 #, no-wrap msgid "{@code{zabbix-front-end-configuration} parameter} string db-host" -msgstr "" +msgstr "{@code{zabbix-front-end-configuration}-Parameter} Zeichenkette db-host" #. type: deftypevr #: doc/guix.texi:17904 #, no-wrap msgid "{@code{zabbix-front-end-configuration} parameter} number db-port" -msgstr "" +msgstr "{@code{zabbix-front-end-configuration}-Parameter} Zahl db-port" #. type: deftypevr #: doc/guix.texi:17911 #, no-wrap msgid "{@code{zabbix-front-end-configuration} parameter} string db-name" -msgstr "" +msgstr "{@code{zabbix-front-end-configuration}-Parameter} Zeichenkette db-name" #. type: deftypevr #: doc/guix.texi:17918 #, no-wrap msgid "{@code{zabbix-front-end-configuration} parameter} string db-user" -msgstr "" +msgstr "{@code{zabbix-front-end-configuration}-Parameter} Zeichenkette db-user" #. type: deftypevr #: doc/guix.texi:17925 #, no-wrap msgid "{@code{zabbix-front-end-configuration} parameter} string db-password" -msgstr "" +msgstr "{@code{zabbix-front-end-configuration}-Parameter} Zeichenkette db-password" #. type: deftypevr #: doc/guix.texi:17927 msgid "Database password. Please, use @code{db-secret-file} instead." -msgstr "" +msgstr "Das Datenbankpasswort. Bitte benutzen Sie stattdessen @code{db-secret-file}." #. type: deftypevr #: doc/guix.texi:17932 #, no-wrap msgid "{@code{zabbix-front-end-configuration} parameter} string db-secret-file" -msgstr "" +msgstr "{@code{zabbix-front-end-configuration}-Parameter} Zeichenkette db-secret-file" #. type: deftypevr #: doc/guix.texi:17936 msgid "Secret file which will be appended to @file{zabbix.conf.php} file. This file contains credentials for use by Zabbix front-end. You are expected to create it manually." -msgstr "" +msgstr "Die Datei mit den Geheimnis-Informationen, die an die @file{zabbix.conf.php}-Datei angehängt wird. Diese Datei enthält Zugangsdaten für die Nutzung durch das Zabbix-Frontend. Es wird von Ihnen erwartet, dass Sie sie manuell erzeugen." #. type: deftypevr #: doc/guix.texi:17941 #, no-wrap msgid "{@code{zabbix-front-end-configuration} parameter} string zabbix-host" -msgstr "" +msgstr "{@code{zabbix-front-end-configuration}-Parameter} Zeichenkette zabbix-host" #. type: deftypevr #: doc/guix.texi:17943 msgid "Zabbix server hostname." -msgstr "" +msgstr "Zabbix-Server-Rechnername." #. type: deftypevr #: doc/guix.texi:17948 #, no-wrap msgid "{@code{zabbix-front-end-configuration} parameter} number zabbix-port" -msgstr "" +msgstr "{@code{zabbix-front-end-configuration}-Parameter} Zahl zabbix-port" #. type: deftypevr #: doc/guix.texi:17950 msgid "Zabbix server port." -msgstr "" +msgstr "Zabbix-Server-Port." #. type: deftypevr #: doc/guix.texi:17952 msgid "Defaults to @samp{10051}." -msgstr "" +msgstr "Die Vorgabe ist @samp{10051}." #. type: cindex #: doc/guix.texi:17960 #, no-wrap msgid "Kerberos" -msgstr "" +msgstr "Kerberos" #. type: Plain text #: doc/guix.texi:17964 msgid "The @code{(gnu services kerberos)} module provides services relating to the authentication protocol @dfn{Kerberos}." -msgstr "" +msgstr "Das @code{(gnu services kerberos)}-Modul stellt Dienste zur Verfügung, die mit dem Authentifizierungsprotokoll @dfn{Kerberos} zu tun haben." #. type: subsubheading #: doc/guix.texi:17965 #, no-wrap msgid "Krb5 Service" -msgstr "" +msgstr "Krb5-Dienst" #. type: Plain text #: doc/guix.texi:17972 msgid "Programs using a Kerberos client library normally expect a configuration file in @file{/etc/krb5.conf}. This service generates such a file from a definition provided in the operating system declaration. It does not cause any daemon to be started." -msgstr "" +msgstr "Programme, die eine Kerberos-Clientbibliothek benutzen, erwarten meist, dass sich eine Konfigurationsdatei in @file{/etc/krb5.conf} befindet. Dieser Dienst erzeugt eine solche Datei aus einer Definition, die in der Betriebssystemdeklaration angegebenen wurde. Durch ihn wird kein Daemon gestartet." #. type: Plain text #: doc/guix.texi:17976 msgid "No ``keytab'' files are provided by this service---you must explicitly create them. This service is known to work with the MIT client library, @code{mit-krb5}. Other implementations have not been tested." -msgstr "" +msgstr "Keine „Schlüsseltabellen“-Dateien werden durch diesen Dienst zur Verfügung gestellt — Sie müssen sie ausdrücklich selbst anlegen. Dieser Dienst funktioniert bekanntermaßen mit der MIT-Clientbibliothek @code{mit-krb5}. Andere Implementierungen wurden nicht getestet." #. type: defvr #: doc/guix.texi:17977 #, no-wrap msgid "{Scheme Variable} krb5-service-type" -msgstr "" +msgstr "{Scheme-Variable} krb5-service-type" #. type: defvr #: doc/guix.texi:17979 msgid "A service type for Kerberos 5 clients." -msgstr "" +msgstr "Ein Diensttyp für Kerberos-5-Clients." #. type: Plain text #: doc/guix.texi:17983 msgid "Here is an example of its use:" -msgstr "" +msgstr "Hier ist ein Beispiel, wie man ihn benutzt:" #. type: lisp #: doc/guix.texi:17997 @@ -33648,205 +33689,218 @@ msgid "" " (admin-server \"kerb-admin.argrx.edu\")\n" " (kdc \"keys.argrx.edu\"))))))\n" msgstr "" +"(service krb5-service-type\n" +" (krb5-configuration\n" +" (default-realm \"EXAMPLE.COM\")\n" +" (allow-weak-crypto? #t)\n" +" (realms (list\n" +" (krb5-realm\n" +" (name \"EXAMPLE.COM\")\n" +" (admin-server \"groucho.example.com\")\n" +" (kdc \"karl.example.com\"))\n" +" (krb5-realm\n" +" (name \"ARGRX.EDU\")\n" +" (admin-server \"kerb-admin.argrx.edu\")\n" +" (kdc \"keys.argrx.edu\"))))))\n" #. type: Plain text #: doc/guix.texi:18001 msgid "This example provides a Kerberos@tie{}5 client configuration which:" -msgstr "" +msgstr "Dieses Beispiel stellt eine Client-Konfiguration für Kerberos@tie{}5 zur Verfügung, mit der:" #. type: item #: doc/guix.texi:18002 #, no-wrap msgid "Recognizes two realms, @i{viz:} ``EXAMPLE.COM'' and ``ARGRX.EDU'', both" -msgstr "" +msgstr "Zwei Administrationsbereiche erkannt werden, nämlich: „EXAMPLE.COM“" #. type: itemize #: doc/guix.texi:18004 msgid "of which have distinct administration servers and key distribution centers;" -msgstr "" +msgstr "und „ARGRX.EDU“, die beide verschiedene Administrationsserver und Schlüsselverteilungszentren haben," #. type: item #: doc/guix.texi:18004 #, no-wrap msgid "Will default to the realm ``EXAMPLE.COM'' if the realm is not explicitly" -msgstr "" +msgstr "als Vorgabe der Administrationsbereich „EXAMPLE.COM“ verwendet wird," #. type: itemize #: doc/guix.texi:18006 msgid "specified by clients;" -msgstr "" +msgstr "falls der Administrationsbereich von Clients nicht ausdrücklich angegeben wurde, und" #. type: item #: doc/guix.texi:18006 #, no-wrap msgid "Accepts services which only support encryption types known to be weak." -msgstr "" +msgstr "auch Dienste angenommen werden, die nur Verschlüsselungstypen unterstützen, die bekanntermaßen schwach sind." #. type: Plain text #: doc/guix.texi:18014 msgid "The @code{krb5-realm} and @code{krb5-configuration} types have many fields. Only the most commonly used ones are described here. For a full list, and more detailed explanation of each, see the MIT @uref{https://web.mit.edu/kerberos/krb5-devel/doc/admin/conf_files/krb5_conf.html,,krb5.conf} documentation." -msgstr "" +msgstr "Die Typen @code{krb5-realm} und @code{krb5-configuration} haben viele Felder. Hier werden nur die am häufigsten benutzten beschrieben. Eine vollständige Liste und jeweils detailliertere Erklärungen finden Sie in der Dokumentation von @uref{https://web.mit.edu/kerberos/krb5-devel/doc/admin/conf_files/krb5_conf.html,,krb5.conf} vom MIT." #. type: deftp #: doc/guix.texi:18016 #, no-wrap msgid "{Data Type} krb5-realm" -msgstr "" +msgstr "{Datentyp} krb5-realm" #. type: cindex #: doc/guix.texi:18017 #, no-wrap msgid "realm, kerberos" -msgstr "" +msgstr "Administrationsbereich, Kerberos" #. type: table #: doc/guix.texi:18023 msgid "This field is a string identifying the name of the realm. A common convention is to use the fully qualified DNS name of your organization, converted to upper case." -msgstr "" +msgstr "Dieses Feld enthält eine Zeichenkette, die den Namen des Administrationsbereichs bezeichnet. Üblich ist, den vollständigen DNS-Namen („Fully Qualified DNS Name“) Ihrer Organisation nur in Großbuchstaben zu benutzen." #. type: code{#1} #: doc/guix.texi:18024 #, no-wrap msgid "admin-server" -msgstr "" +msgstr "admin-server" #. type: table #: doc/guix.texi:18027 msgid "This field is a string identifying the host where the administration server is running." -msgstr "" +msgstr "Dieses Feld enthält eine Zeichenkette, die den Rechner benennt, auf dem der Administrationsserver läuft." #. type: code{#1} #: doc/guix.texi:18028 #, no-wrap msgid "kdc" -msgstr "" +msgstr "kdc" #. type: table #: doc/guix.texi:18031 msgid "This field is a string identifying the key distribution center for the realm." -msgstr "" +msgstr "Dieses Feld enthält eine Zeichenkette, die das Schlüsselverteilungszentrum für den Administrationsbereich angibt." #. type: deftp #: doc/guix.texi:18034 #, no-wrap msgid "{Data Type} krb5-configuration" -msgstr "" +msgstr "{Datentyp} krb5-configuration" #. type: item #: doc/guix.texi:18037 #, no-wrap msgid "@code{allow-weak-crypto?} (default: @code{#f})" -msgstr "" +msgstr "@code{allow-weak-crypto?} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:18040 msgid "If this flag is @code{#t} then services which only offer encryption algorithms known to be weak will be accepted." -msgstr "" +msgstr "Wenn diese Option auf @code{#t} gesetzt ist, werden auch Dienste akzeptiert, die nur Verschlüsselungsalgorithmen anbieten, die bekanntermaßen schwach sind." #. type: item #: doc/guix.texi:18041 #, no-wrap msgid "@code{default-realm} (default: @code{#f})" -msgstr "" +msgstr "@code{default-realm} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:18048 msgid "This field should be a string identifying the default Kerberos realm for the client. You should set this field to the name of your Kerberos realm. If this value is @code{#f} then a realm must be specified with every Kerberos principal when invoking programs such as @command{kinit}." -msgstr "" +msgstr "Dieses Feld sollte eine Zeichenkette enthalten, die den voreingestellten Kerberos-Administrationsbereich für den Client angibt. Sie sollten in diesem Feld den Namen Ihres Kerberos-Administrationsbereichs eintragen. Wenn der Wert @code{#f} ist, dann muss ein Administrationsbereich mit jedem Kerberos-Prinzipal zusammen angegeben werden, wenn Programme wie @command{kinit} aufgerufen werden." #. type: code{#1} #: doc/guix.texi:18049 #, no-wrap msgid "realms" -msgstr "" +msgstr "realms" #. type: table #: doc/guix.texi:18054 msgid "This should be a non-empty list of @code{krb5-realm} objects, which clients may access. Normally, one of them will have a @code{name} field matching the @code{default-realm} field." -msgstr "" +msgstr "Hierin sollte eine nichtleere Liste von je einem @code{krb5-realm}-Objekt pro Administrationsbereich stehen, auf den Clients zugreifen können. Normalerweise hat einer davon ein @code{name}-Feld, das mit dem @code{default-realm}-Feld übereinstimmt." #. type: subsubheading #: doc/guix.texi:18058 #, no-wrap msgid "PAM krb5 Service" -msgstr "" +msgstr "PAM-krb5-Dienst" #. type: cindex #: doc/guix.texi:18059 #, no-wrap msgid "pam-krb5" -msgstr "" +msgstr "pam-krb5" #. type: Plain text #: doc/guix.texi:18065 msgid "The @code{pam-krb5} service allows for login authentication and password management via Kerberos. You will need this service if you want PAM enabled applications to authenticate users using Kerberos." -msgstr "" +msgstr "Der @code{pam-krb5}-Dienst ermöglicht es, bei der Anmeldung und Passwortverwaltung Benutzer über Kerberos zu authentifizieren. Sie brauchen diesen Dienst, damit Anwendungen, die PAM benutzen können, Nutzer über Kerberos authentifizieren können." #. type: defvr #: doc/guix.texi:18066 #, no-wrap msgid "{Scheme Variable} pam-krb5-service-type" -msgstr "" +msgstr "{Scheme-Variable} pam-krb5-service-type" #. type: defvr #: doc/guix.texi:18068 msgid "A service type for the Kerberos 5 PAM module." -msgstr "" +msgstr "Ein Diensttyp für das PAM-Modul zu Kerberos@tie{}5." #. type: deftp #: doc/guix.texi:18070 #, no-wrap msgid "{Data Type} pam-krb5-configuration" -msgstr "" +msgstr "{Datentyp} pam-krb5-configuration" #. type: deftp #: doc/guix.texi:18073 msgid "Data type representing the configuration of the Kerberos 5 PAM module. This type has the following parameters:" -msgstr "Der Datentyp, der die Konfiguration eines PAM-Moduls für Kerberos 5 repräsentiert. Dieser Typ hat die folgenden Parameter:" +msgstr "Der Datentyp, der die Konfiguration des PAM-Moduls für Kerberos 5 repräsentiert. Dieser Typ hat die folgenden Parameter:" #. type: item #: doc/guix.texi:18074 #, no-wrap msgid "@code{pam-krb5} (default: @code{pam-krb5})" -msgstr "" +msgstr "@code{pam-krb5} (Vorgabe: @code{pam-krb5})" #. type: table #: doc/guix.texi:18076 msgid "The pam-krb5 package to use." -msgstr "" +msgstr "Das pam-krb5-Paket, das benutzt werden soll." #. type: item #: doc/guix.texi:18077 #, no-wrap msgid "@code{minimum-uid} (default: @code{1000})" -msgstr "" +msgstr "@code{minimum-uid} (Vorgabe: @code{1000})" #. type: table #: doc/guix.texi:18080 msgid "The smallest user ID for which Kerberos authentications should be attempted. Local accounts with lower values will silently fail to authenticate." -msgstr "" +msgstr "Der kleinste Benutzeridentifikator (UID), für den Authentifizierung über Kerberos versucht werden sollte. Lokale Benutzerkonten mit niedrigeren Zahlwerten können sich nicht authentizieren und bekommen dazu keine Meldung angezeigt." #. type: cindex #: doc/guix.texi:18086 #, no-wrap msgid "LDAP" -msgstr "" +msgstr "LDAP" #. type: cindex #: doc/guix.texi:18087 #, no-wrap msgid "nslcd, LDAP service" -msgstr "" +msgstr "nslcd, LDAP-Dienst" #. type: Plain text #: doc/guix.texi:18094 msgid "The @code{(gnu services authentication)} module provides the @code{nslcd-service-type}, which can be used to authenticate against an LDAP server. In addition to configuring the service itself, you may want to add @code{ldap} as a name service to the Name Service Switch. @xref{Name Service Switch} for detailed information." -msgstr "" +msgstr "Das Modul @code{(gnu services authentication)} stellt den Diensttyp @code{nslcd-service-type} zur Verfügung, mit dem sich Benutzer gegenüber einem LDAP-Server authentizieren können. Sie möchten dabei wahrscheinlich nicht nur den Dienst konfigurieren, sondern auch @code{ldap} als einen Namensdienst („Name Service“) für den Name Service Switch hinzufügen. Siehe @ref{Name Service Switch} für Details." #. type: Plain text #: doc/guix.texi:18098 msgid "Here is a simple operating system declaration with a default configuration of the @code{nslcd-service-type} and a Name Service Switch configuration that consults the @code{ldap} name service last:" -msgstr "" +msgstr "Hier ist ein Beispiel für eine einfache Betriebssystemdeklaration mit einer der Vorgabe entsprechenden Konfiguration des @code{nslcd-service-type} und einer Konfiguration des Name Service Switch, die den @code{ldap}-Namensdienst zuletzt prüft:" #. type: example #: doc/guix.texi:18121 @@ -33874,17 +33928,38 @@ msgid "" " (netgroup services)\n" " (gshadow services)))))\n" msgstr "" +"(use-service-modules authentication)\n" +"(use-modules (gnu system nss))\n" +"...\n" +"(operating-system\n" +" ...\n" +" (services\n" +" (cons*\n" +" (service nslcd-service-type)\n" +" (service dhcp-client-service-type)\n" +" %base-services))\n" +" (name-service-switch\n" +" (let ((services (list (name-service (name \"db\"))\n" +" (name-service (name \"files\"))\n" +" (name-service (name \"ldap\")))))\n" +" (name-service-switch\n" +" (inherit %mdns-host-lookup-nss)\n" +" (password services)\n" +" (shadow services)\n" +" (group services)\n" +" (netgroup services)\n" +" (gshadow services)))))\n" #. type: Plain text #: doc/guix.texi:18126 msgid "Available @code{nslcd-configuration} fields are:" -msgstr "" +msgstr "Verfügbare @code{nslcd-configuration}-Felder sind:" #. type: deftypevr #: doc/guix.texi:18127 #, no-wrap msgid "{@code{nslcd-configuration} parameter} package nss-pam-ldapd" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} „package“ nss-pam-ldapd" #. type: deftypevr #: doc/guix.texi:18129 @@ -33895,12 +33970,12 @@ msgstr "Das @code{nss-pam-ldapd}-Paket, was benutzt werden soll." #: doc/guix.texi:18132 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-number threads" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zahl threads" #. type: deftypevr #: doc/guix.texi:18136 msgid "The number of threads to start that can handle requests and perform LDAP queries. Each thread opens a separate connection to the LDAP server. The default is to start 5 threads." -msgstr "" +msgstr "Die Anzahl zu startender Threads, die Anfragen bearbeiten und LDAP-Abfragen durchführen können. Jeder Thread öffnet eine separate Verbindung zum LDAP-Server. Die Vorgabe ist, 5 Threads zu starten." #. type: deftypevr #: doc/guix.texi:18138 doc/guix.texi:18180 doc/guix.texi:18188 @@ -33934,187 +34009,187 @@ msgstr "Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert)." #: doc/guix.texi:18141 #, no-wrap msgid "{@code{nslcd-configuration} parameter} string uid" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Zeichenkette uid" #. type: deftypevr #: doc/guix.texi:18143 msgid "This specifies the user id with which the daemon should be run." -msgstr "" +msgstr "Gibt den Benutzeridentifikator an, unter dem der Daemon ausgeführt werden soll." #. type: deftypevr #: doc/guix.texi:18145 doc/guix.texi:18152 msgid "Defaults to @samp{\"nslcd\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"nslcd\"}." #. type: deftypevr #: doc/guix.texi:18148 #, no-wrap msgid "{@code{nslcd-configuration} parameter} string gid" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Zeichenkette gid" #. type: deftypevr #: doc/guix.texi:18150 msgid "This specifies the group id with which the daemon should be run." -msgstr "" +msgstr "Gibt den Gruppenidentifikator an, unter dem der Daemon ausgeführt werden soll." #. type: deftypevr #: doc/guix.texi:18155 #, no-wrap msgid "{@code{nslcd-configuration} parameter} log-option log" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Protokolleinstellung log" #. type: deftypevr #: doc/guix.texi:18162 msgid "This option controls the way logging is done via a list containing SCHEME and LEVEL. The SCHEME argument may either be the symbols \"none\" or \"syslog\", or an absolute file name. The LEVEL argument is optional and specifies the log level. The log level may be one of the following symbols: \"crit\", \"error\", \"warning\", \"notice\", \"info\" or \"debug\". All messages with the specified log level or higher are logged." -msgstr "" +msgstr "Diese Einstellung steuert über eine Liste aus SCHEMA und STUFE, wie protokolliert wird. Als SCHEMA-Argument darf entweder eines der Symbole \"none\" (keines) oder \"syslog\" angegeben werden oder ein absoluter Dateiname. Das Argument STUFE ist optional und legt die Protokollierungsstufe fest. Die Protokollierungsstufe kann als eines der folgenden Symbole angegeben werden: \"crit\" (kritisch), \"error\" (Fehler), \"warning\" (Warnung), \"notice\" (Benachrichtigung), \"info\" (Information) oder \"debug\" (Fehlersuche). Alle Mitteilungen mit der angegebenen Protokollierungsstufe oder einer höheren werden protokolliert." #. type: deftypevr #: doc/guix.texi:18164 msgid "Defaults to @samp{(\"/var/log/nslcd\" info)}." -msgstr "" +msgstr "Die Vorgabe ist @samp{(\"/var/log/nslcd\" info)}." #. type: deftypevr #: doc/guix.texi:18167 #, no-wrap msgid "{@code{nslcd-configuration} parameter} list uri" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Liste uri" #. type: deftypevr #: doc/guix.texi:18170 msgid "The list of LDAP server URIs. Normally, only the first server will be used with the following servers as fall-back." -msgstr "" +msgstr "Die Liste der LDAP-Server-URIs. Normalerweise wird nur der erste Server benutzt; nachfolgende Server dienen als Ersatz." #. type: deftypevr #: doc/guix.texi:18172 msgid "Defaults to @samp{(\"ldap://localhost:389/\")}." -msgstr "" +msgstr "Die Vorgabe ist @samp{(\"ldap://localhost:389/\")}." #. type: deftypevr #: doc/guix.texi:18175 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-string ldap-version" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zeichenkette ldap-version" #. type: deftypevr #: doc/guix.texi:18178 msgid "The version of the LDAP protocol to use. The default is to use the maximum version supported by the LDAP library." -msgstr "" +msgstr "Die zu benutzende Version des LDAP-Protokolls. Nach Vorgabe wird die höchste Version benutzt, die von der LDAP-Bibliothek unterstützt wird." #. type: deftypevr #: doc/guix.texi:18183 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-string binddn" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zeichenkette binddn" #. type: deftypevr #: doc/guix.texi:18186 msgid "Specifies the distinguished name with which to bind to the directory server for lookups. The default is to bind anonymously." -msgstr "" +msgstr "Gibt den „Distinguished Name“ an, der an den Verzeichnisserver („Directory Server“) gebunden wird, um Einträge aufzulösen. Nach Vorgabe wird anonym gebunden." #. type: deftypevr #: doc/guix.texi:18191 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-string bindpw" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zeichenkette bindpw" #. type: deftypevr #: doc/guix.texi:18194 msgid "Specifies the credentials with which to bind. This option is only applicable when used with binddn." -msgstr "" +msgstr "Gibt die Zugangsinformationen an, mit denen gebunden wird. Diese Einstellung ist nur dann wirksam, wenn sie mit binddn benutzt wird." #. type: deftypevr #: doc/guix.texi:18199 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-string rootpwmoddn" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zeichenkette rootpwmoddn" #. type: deftypevr #: doc/guix.texi:18202 msgid "Specifies the distinguished name to use when the root user tries to modify a user's password using the PAM module." -msgstr "" +msgstr "Gibt den „Distinguished Name“ an, der benutzt wird, wenn der Administratornutzer „root“ versucht, das Passwort eines Benutzers mit Hilfe des PAM-Moduls zu verändern." #. type: deftypevr #: doc/guix.texi:18207 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-string rootpwmodpw" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zeichenkette rootpwmodpw" #. type: deftypevr #: doc/guix.texi:18211 msgid "Specifies the credentials with which to bind if the root user tries to change a user's password. This option is only applicable when used with rootpwmoddn" -msgstr "" +msgstr "Gibt die Zugangsinformationen an, die benutzt werden, wenn der Administratornutzer „root“ versucht, das Passwort eines Benutzers zu verändern. Diese Einstellung ist nur dann wirksam, wenn sie mit rootpwmoddn benutzt wird." #. type: deftypevr #: doc/guix.texi:18216 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-string sasl-mech" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zeichenkette sasl-mech" #. type: deftypevr #: doc/guix.texi:18219 msgid "Specifies the SASL mechanism to be used when performing SASL authentication." -msgstr "" +msgstr "Gibt an, welcher SASL-Mechanismus benutzt werden soll, um Authentifizierung über SASL durchzuführen." #. type: deftypevr #: doc/guix.texi:18224 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-string sasl-realm" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zeichenkette sasl-realm" #. type: deftypevr #: doc/guix.texi:18226 msgid "Specifies the SASL realm to be used when performing SASL authentication." -msgstr "" +msgstr "Gibt den SASL-Administrationsbereich an, um Authentifizierungen über SASL durchzuführen." #. type: deftypevr #: doc/guix.texi:18231 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-string sasl-authcid" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zeichenkette sasl-authcid" #. type: deftypevr #: doc/guix.texi:18234 msgid "Specifies the authentication identity to be used when performing SASL authentication." -msgstr "" +msgstr "Gibt die Authentizierungsidentität an, um Authentifizierungen über SASL durchzuführen." #. type: deftypevr #: doc/guix.texi:18239 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-string sasl-authzid" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zeichenkette sasl-authzid" #. type: deftypevr #: doc/guix.texi:18242 msgid "Specifies the authorization identity to be used when performing SASL authentication." -msgstr "" +msgstr "Gibt die Autorisierungsidentität an, um Authentifizierungen über SASL durchzuführen." #. type: deftypevr #: doc/guix.texi:18247 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-boolean sasl-canonicalize?" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Boolescher-Ausdruck sasl-canonicalize?" #. type: deftypevr #: doc/guix.texi:18252 msgid "Determines whether the LDAP server host name should be canonicalised. If this is enabled the LDAP library will do a reverse host name lookup. By default, it is left up to the LDAP library whether this check is performed or not." -msgstr "" +msgstr "Legt fest, ob der kanonische Rechnername („Hostname“) des LDAP-Servers ermittelt werden soll. Wenn ja, wird die LDAP-Bibliothek eine inverse Auflösung („Reverse Lookup“) des Rechnernamens durchführen. Die Vorgabe ist, es der LDAP-Bibliothek zu überlassen, ob eine solche Überprüfung durchgeführt wird." #. type: deftypevr #: doc/guix.texi:18257 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-string krb5-ccname" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zeichenkette krb5-ccname" #. type: deftypevr #: doc/guix.texi:18259 msgid "Set the name for the GSS-API Kerberos credentials cache." -msgstr "" +msgstr "Legt den Namen für den Zwischenspeicher der GSS-API-Kerberos-Zugangsdaten fest." #. type: deftypevr #: doc/guix.texi:18264 #, no-wrap msgid "{@code{nslcd-configuration} parameter} string base" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Zeichenkette base" #. type: deftypevr #: doc/guix.texi:18266 @@ -34130,369 +34205,369 @@ msgstr "Vorgegeben ist @samp{\"dc=example,dc=com\"}." #: doc/guix.texi:18271 #, no-wrap msgid "{@code{nslcd-configuration} parameter} scope-option scope" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Suchbereichs-Einstellung scope" #. type: deftypevr #: doc/guix.texi:18275 msgid "Specifies the search scope (subtree, onelevel, base or children). The default scope is subtree; base scope is almost never useful for name service lookups; children scope is not supported on all servers." -msgstr "" +msgstr "Legt den Suchbereich fest als subtree (Teilbaum), onelevel (eine Ebene), base (Basis) oder children (Kinder). Die Vorgabe für den Suchbereich ist subtree; base ist fast nie geeignet für Namensdienstauflösungen; children wird nicht auf allen Servern unterstützt." #. type: deftypevr #: doc/guix.texi:18277 msgid "Defaults to @samp{(subtree)}." -msgstr "" +msgstr "Die Vorgabe ist @samp{(subtree)}." #. type: deftypevr #: doc/guix.texi:18280 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-deref-option deref" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Deref-Einstellung deref" #. type: deftypevr #: doc/guix.texi:18283 msgid "Specifies the policy for dereferencing aliases. The default policy is to never dereference aliases." -msgstr "" +msgstr "Legt die Richtlinie für das Dereferenzieren von Alias-Namen fest. Die vorgegebene Richtlinie ist, Alias-Namen niemals zu dereferenzieren." #. type: deftypevr #: doc/guix.texi:18288 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-boolean referrals" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Boolescher-Ausdruck referrals" #. type: deftypevr #: doc/guix.texi:18291 msgid "Specifies whether automatic referral chasing should be enabled. The default behaviour is to chase referrals." -msgstr "" +msgstr "Gibt an, ob Verweise („Referrals“) automatisch verfolgt werden sollen. Das vorgegebene Verhalten ist, sie zu verfolgen." #. type: deftypevr #: doc/guix.texi:18296 #, no-wrap msgid "{@code{nslcd-configuration} parameter} list-of-map-entries maps" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Liste-von-Abbildungseinträgen maps" #. type: deftypevr #: doc/guix.texi:18301 msgid "This option allows for custom attributes to be looked up instead of the default RFC 2307 attributes. It is a list of maps, each consisting of the name of a map, the RFC 2307 attribute to match and the query expression for the attribute as it is available in the directory." -msgstr "" +msgstr "Diese Option ermöglicht es, eigene Attribute bei der Auflösung anstelle der vorgegebenen RFC-2307-Attribute zu verwenden. Es ist eine Liste von Abbildungen („Maps“), von denen jede aus dem Namen der Abbildung, dem abzubildenden RFC-2307-Attribut und einem Anfrageausdruck besteht, mit dem es anhand des Verzeichnisses aufgelöst wird." #. type: deftypevr #: doc/guix.texi:18306 #, no-wrap msgid "{@code{nslcd-configuration} parameter} list-of-filter-entries filters" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Liste-von-Filtereinträgen filters" #. type: deftypevr #: doc/guix.texi:18309 msgid "A list of filters consisting of the name of a map to which the filter applies and an LDAP search filter expression." -msgstr "" +msgstr "Eine Liste von Filtern, von denen jeder aus dem Namen einer Abbildung, auf die sich der Filter auswirkt, und einem LDAP-Suchfilter-Ausdruck besteht." #. type: deftypevr #: doc/guix.texi:18314 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-number bind-timelimit" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zahl bind-timelimit" #. type: deftypevr #: doc/guix.texi:18317 msgid "Specifies the time limit in seconds to use when connecting to the directory server. The default value is 10 seconds." -msgstr "" +msgstr "Gibt die Zeitbeschränkung in Sekunden an, wie lange eine Verbindung zum Verzeichnisserver dauern darf. Die Vorgabe ist 10 Sekunden." #. type: deftypevr #: doc/guix.texi:18322 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-number timelimit" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zahl timelimit" #. type: deftypevr #: doc/guix.texi:18326 msgid "Specifies the time limit (in seconds) to wait for a response from the LDAP server. A value of zero, which is the default, is to wait indefinitely for searches to be completed." -msgstr "" +msgstr "Gibt die Zeitbeschränkung (in Sekunden) an, wie lange auf eine Antwort vom LDAP-Server gewartet wird. Ein Wert von null, was die Vorgabe ist, bewirkt, dass beliebig lange gewartet wird, bis Suchen abgeschlossen sind." #. type: deftypevr #: doc/guix.texi:18331 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-number idle-timelimit" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zahl idle-timelimit" #. type: deftypevr #: doc/guix.texi:18335 msgid "Specifies the period if inactivity (in seconds) after which the con‐ nection to the LDAP server will be closed. The default is not to time out connections." -msgstr "" +msgstr "Gibt an, wie lange bei Inaktivität gewartet wird (in Sekunden), bis die Verbindung zum LDAP-Server geschlossen wird. Die Vorgabe ist, dass es zu keiner Zeitüberschreitung bei Verbindungen kommen kann." #. type: deftypevr #: doc/guix.texi:18340 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-number reconnect-sleeptime" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zahl reconnect-sleeptime" #. type: deftypevr #: doc/guix.texi:18344 msgid "Specifies the number of seconds to sleep when connecting to all LDAP servers fails. By default one second is waited between the first failure and the first retry." -msgstr "" +msgstr "Gibt die Anzahl an Sekunden an, wie lange „schlafend“ gewartet wird, wenn zu @emph{keinem} LDAP-Server eine Verbindung hergestellt werden kann. Die Vorgabe ist, zwischen dem ersten Fehlversuch und dem ersten neuen Versuch 1@tie{}Sekunde zu warten." #. type: deftypevr #: doc/guix.texi:18349 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-number reconnect-retrytime" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zahl reconnect-retrytime" #. type: deftypevr #: doc/guix.texi:18353 msgid "Specifies the time after which the LDAP server is considered to be permanently unavailable. Once this time is reached retries will be done only once per this time period. The default value is 10 seconds." -msgstr "" +msgstr "Gibt an, nach wieviel Zeit der LDAP-Server als dauerhaft nicht verfügbar angesehen wird. Sobald dieser Fall eintritt, wird eine Verbindungsaufnahme nur noch einmal pro weiterem Ablauf dieser Zeitperiode versucht. Der Vorgabewert beträgt 10@tie{}Sekunden." #. type: deftypevr #: doc/guix.texi:18358 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-ssl-option ssl" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-SSL-Einstellung ssl" #. type: deftypevr #: doc/guix.texi:18362 msgid "Specifies whether to use SSL/TLS or not (the default is not to). If 'start-tls is specified then StartTLS is used rather than raw LDAP over SSL." -msgstr "" +msgstr "Gibt an, ob SSL/TLS benutzt werden soll oder nicht (die Vorgabe ist, es @emph{nicht} zu benutzen). Wenn 'start-tls angegeben wird, dann wird StartTLS statt schlichtem LDAP über SSL benutzt." #. type: deftypevr #: doc/guix.texi:18367 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-tls-reqcert-option tls-reqcert" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-„tls-reqcert“-Einstellung tls-reqcert" #. type: deftypevr #: doc/guix.texi:18370 msgid "Specifies what checks to perform on a server-supplied certificate. The meaning of the values is described in the ldap.conf(5) manual page." -msgstr "" +msgstr "Gibt an, welche Überprüfungen auf einem vom Server empfangenen Zertifikat durchgeführt werden sollen. Die Bedeutung der Werte wird auf der Handbuchseite zu ldap.conf(5) beschrieben." #. type: deftypevr #: doc/guix.texi:18375 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-string tls-cacertdir" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zeichenkette tls-cacertdir" #. type: deftypevr #: doc/guix.texi:18378 msgid "Specifies the directory containing X.509 certificates for peer authen‐ tication. This parameter is ignored when using GnuTLS." -msgstr "" +msgstr "Gibt das Verzeichnis an, das X.509-Zertifikate zur Authentifikation von Kommunikationspartnern enthält. Dieser Parameter wird ignoriert, wenn Sie GnuTLS benutzen lassen." #. type: deftypevr #: doc/guix.texi:18383 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-string tls-cacertfile" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zeichenkette tls-cacertfile" #. type: deftypevr #: doc/guix.texi:18385 msgid "Specifies the path to the X.509 certificate for peer authentication." -msgstr "" +msgstr "Gibt den Dateipfad zu dem X.509-Zertifikat zur Authentifikation von Kommunikationspartnern an." #. type: deftypevr #: doc/guix.texi:18390 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-string tls-randfile" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zeichenkette tls-randfile" #. type: deftypevr #: doc/guix.texi:18393 msgid "Specifies the path to an entropy source. This parameter is ignored when using GnuTLS." -msgstr "" +msgstr "Gibt den Pfad zu einer Entropiequelle an. Dieser Parameter wird ignoriert, wenn Sie GnuTLS benutzen lassen." #. type: deftypevr #: doc/guix.texi:18398 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-string tls-ciphers" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zeichenkette tls-ciphers" #. type: deftypevr #: doc/guix.texi:18400 msgid "Specifies the ciphers to use for TLS as a string." -msgstr "" +msgstr "Gibt als eine Zeichenkette an, welche Ciphers für TLS benutzt werden sollen." #. type: deftypevr #: doc/guix.texi:18405 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-string tls-cert" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zeichenkette tls-cert" #. type: deftypevr #: doc/guix.texi:18408 msgid "Specifies the path to the file containing the local certificate for client TLS authentication." -msgstr "" +msgstr "Gibt den Pfad zu der Datei an, die das lokale Zertifikat zur TLS-Authentizierung als Client enthält." #. type: deftypevr #: doc/guix.texi:18413 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-string tls-key" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zeichenkette tls-key" #. type: deftypevr #: doc/guix.texi:18416 msgid "Specifies the path to the file containing the private key for client TLS authentication." -msgstr "" +msgstr "Gibt den Pfad zu der Datei an, die den privaten Schlüssel zur TLS-Authentizierung als Client enthält." #. type: deftypevr #: doc/guix.texi:18421 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-number pagesize" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zahl pagesize" #. type: deftypevr #: doc/guix.texi:18425 msgid "Set this to a number greater than 0 to request paged results from the LDAP server in accordance with RFC2696. The default (0) is to not request paged results." -msgstr "" +msgstr "Geben Sie hier eine Zahl größer als 0 an, um beim LDAP-Server seitenweise Antworten anzufordern, entsprechend RFC2696. Die Vorgabe (0) fordert alle Ergebnisse auf einmal an." #. type: deftypevr #: doc/guix.texi:18430 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-ignore-users-option nss-initgroups-ignoreusers" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-„ignore-users“-Einstellung nss-initgroups-ignoreusers" #. type: deftypevr #: doc/guix.texi:18434 msgid "This option prevents group membership lookups through LDAP for the specified users. Alternatively, the value 'all-local may be used. With that value nslcd builds a full list of non-LDAP users on startup." -msgstr "" +msgstr "Diese Einstellung verhindert, dass für die angegebenen Benutzer die Gruppenmitgliedschaft über LDAP aufgelöst wird. Alternativ kann der Wert 'all-local verwendet werden. Für diesen Wert erzeugt nslcd eine vollständige Liste aller Nicht-LDAP-Benutzer, wenn es startet." #. type: deftypevr #: doc/guix.texi:18439 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-number nss-min-uid" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zahl nss-min-uid" #. type: deftypevr #: doc/guix.texi:18442 msgid "This option ensures that LDAP users with a numeric user id lower than the specified value are ignored." -msgstr "" +msgstr "Diese Einstellung lässt sicherstellen, dass LDAP-Benutzer, deren numerischer Benutzeridentifikator kleiner als der angegebene Wert ist, ignoriert werden." #. type: deftypevr #: doc/guix.texi:18447 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-number nss-uid-offset" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zahl nss-uid-offset" #. type: deftypevr #: doc/guix.texi:18450 msgid "This option specifies an offset that is added to all LDAP numeric user ids. This can be used to avoid user id collisions with local users." -msgstr "" +msgstr "Diese Einstellung gibt einen Versatz an, der auf den numerischen Benutzeridentifikator jedes LDAP-Nutzers aufaddiert wird. Damit können Konflikte zwischen den Benutzeridentifikatoren lokaler Benutzerkonten und LDAP vermieden werden." #. type: deftypevr #: doc/guix.texi:18455 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-number nss-gid-offset" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zahl nss-gid-offset" #. type: deftypevr #: doc/guix.texi:18458 msgid "This option specifies an offset that is added to all LDAP numeric group ids. This can be used to avoid user id collisions with local groups." -msgstr "" +msgstr "Diese Einstellung gibt einen Versatz an, der auf den numerischen Gruppenidentifikator jedes LDAP-Nutzers aufaddiert wird. Damit können Konflikte zwischen den Gruppenidentifikatoren lokaler Gruppen und LDAP vermieden werden." #. type: deftypevr #: doc/guix.texi:18463 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-boolean nss-nested-groups" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Boolescher-Ausdruck nss-nested-groups" #. type: deftypevr #: doc/guix.texi:18469 msgid "If this option is set, the member attribute of a group may point to another group. Members of nested groups are also returned in the higher level group and parent groups are returned when finding groups for a specific user. The default is not to perform extra searches for nested groups." -msgstr "" +msgstr "Wenn diese Einstellung aktiviert ist, können die Attribute einer Gruppe auch wieder Verweise auf eine andere Gruppe sein. Attribute darin genisteter Gruppen werden für die Gruppe auf höherer Ebene ebenfalls zurückgeliefert und Elterngruppen werden zurückgeliefert, wenn nach den Gruppen eines bestimmten Nutzers gesucht wird. Die Vorgabe ist, keine zusätzlichen Suchen nach genisteten Gruppen durchzuführen." #. type: deftypevr #: doc/guix.texi:18474 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-boolean nss-getgrent-skipmembers" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Boolescher-Ausdruck nss-getgrent-skipmembers" #. type: deftypevr #: doc/guix.texi:18479 msgid "If this option is set, the group member list is not retrieved when looking up groups. Lookups for finding which groups a user belongs to will remain functional so the user will likely still get the correct groups assigned on login." -msgstr "" +msgstr "Wenn diese Einstellung aktiviert ist, wird die Liste der Gruppenmitglieder beim Auflösen von Gruppen nicht angefragt. Zu welchen Gruppen ein Benutzer gehört, kann weiterhin angefragt werden, damit dem Benutzer bei der Anmeldung wahrscheinlich dennoch die richtigen Gruppen zugeordnet werden." #. type: deftypevr #: doc/guix.texi:18484 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-boolean nss-disable-enumeration" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Boolescher-Ausdruck nss-disable-enumeration" #. type: deftypevr #: doc/guix.texi:18490 msgid "If this option is set, functions which cause all user/group entries to be loaded from the directory will not succeed in doing so. This can dramatically reduce LDAP server load in situations where there are a great number of users and/or groups. This option is not recommended for most configurations." -msgstr "" +msgstr "Wenn diese Einstellung aktiviert ist, scheitern Funktionen, die alle Benutzer-/Gruppeneinträge aus dem Verzeichnis zu laden versuchen. Dadurch kann die Auslastung von LDAP-Servern wesentlich reduziert werden, wenn es eine große Anzahl von Benutzern und/oder Gruppen gibt. Diese Einstellung wird für die meisten Konfigurationen @emph{nicht} empfohlen." #. type: deftypevr #: doc/guix.texi:18495 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-string validnames" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zeichenkette validnames" #. type: deftypevr #: doc/guix.texi:18499 msgid "This option can be used to specify how user and group names are verified within the system. This pattern is used to check all user and group names that are requested and returned from LDAP." -msgstr "" +msgstr "Mit dieser Einstellung kann festgelegt werden, wie Benutzer- und Gruppennamen vom System geprüft werden. Das angegebene Muster wird zur Prüfung aller Benutzer- und Gruppennamen benutzt, die über LDAP angefragt und zurückgeliefert werden." #. type: deftypevr #: doc/guix.texi:18504 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-boolean ignorecase" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Boolescher-Ausdruck ignorecase" #. type: deftypevr #: doc/guix.texi:18509 msgid "This specifies whether or not to perform searches using case-insensitive matching. Enabling this could open up the system to authorization bypass vulnerabilities and introduce nscd cache poisoning vulnerabilities which allow denial of service." -msgstr "" +msgstr "Hiermit wird festgelegt, ob bei Suchen nach passenden Einträgen @emph{nicht} auf Groß- und Kleinschreibung geachtet wird. Wenn Sie dies aktivieren, könnte es zu Sicherheitslücken kommen, mit denen Autorisierungen umgangen („Authorization Bypass“) oder der nscd-Zwischenspeicher vergiftet werden kann („Cache Poisoning“), was gezielte Überlastungen ermöglichen würde („Denial of Service“)." #. type: deftypevr #: doc/guix.texi:18514 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-boolean pam-authc-ppolicy" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Boolescher-Ausdruck pam-authc-ppolicy" #. type: deftypevr #: doc/guix.texi:18517 msgid "This option specifies whether password policy controls are requested and handled from the LDAP server when performing user authentication." -msgstr "" +msgstr "Mit dieser Einstellung wird festgelegt, ob Passwortrichtliniensteuerung vom LDAP-Server angefragt und behandelt wird, wenn Nutzer authentifiziert werden." #. type: deftypevr #: doc/guix.texi:18522 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-string pam-authc-search" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zeichenkette pam-authc-search" #. type: deftypevr #: doc/guix.texi:18528 msgid "By default nslcd performs an LDAP search with the user's credentials after BIND (authentication) to ensure that the BIND operation was successful. The default search is a simple check to see if the user's DN exists. A search filter can be specified that will be used instead. It should return at least one entry." -msgstr "" +msgstr "Nach Vorgabe führt nslcd eine LDAP-Suche nach jeder BIND-Operation (zur Authentizierung) durch, um sicherzustellen, dass die BIND-Operation erfolgreich durchgeführt wurde. Die vorgegebene Suche ist eine einfache Überprüfung, ob der DN eines Benutzers existiert. Hier kann ein Suchfilter angegeben werden, der stattdessen benutzt werden soll. Er sollte mindestens einen Eintrag liefern." #. type: deftypevr #: doc/guix.texi:18533 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-string pam-authz-search" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zeichenkette pam-authz-search" #. type: deftypevr #: doc/guix.texi:18537 msgid "This option allows flexible fine tuning of the authorisation check that should be performed. The search filter specified is executed and if any entries match, access is granted, otherwise access is denied." -msgstr "" +msgstr "Diese Einstellung ermöglicht flexible Feineinstellungen an der durchzuführenden Autorisierungsprüfung. Der angegebene Suchfilter wird ausgeführt, woraufhin Zugriff gewährt wird, wenn mindestens ein Eintrag passt, andernfall wird der Zugriff verweigert." #. type: deftypevr #: doc/guix.texi:18542 #, no-wrap msgid "{@code{nslcd-configuration} parameter} maybe-string pam-password-prohibit-message" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zeichenkette pam-password-prohibit-message" #. type: deftypevr #: doc/guix.texi:18547 msgid "If this option is set password modification using pam_ldap will be denied and the specified message will be presented to the user instead. The message can be used to direct the user to an alternative means of changing their password." -msgstr "" +msgstr "Wenn diese Einstellung festgelegt wurde, werden Passwortänderungen über pam_ldap abgelehnt und dem Anwender wird stattdessen die festgelegte Nachricht gezeigt. Die Nachricht kann benutzt werden, um den Anwender auf alternative Methoden aufmerksam zu machen, wie er sein Passwort ändern kann." #. type: deftypevr #: doc/guix.texi:18552 #, no-wrap msgid "{@code{nslcd-configuration} parameter} list pam-services" -msgstr "" +msgstr "{@code{nslcd-configuration}-Parameter} Liste pam-services" #. type: deftypevr #: doc/guix.texi:18554 msgid "List of pam service names for which LDAP authentication should suffice." -msgstr "" +msgstr "Die Liste der PAM-Dienstnamen, für die eine LDAP-Authentizierung als ausreichend gilt." #. type: cindex #: doc/guix.texi:18565 @@ -35137,7 +35212,7 @@ msgstr "@code{root} (Vorgabe: @code{\"/srv/http\"})" #. type: table #: doc/guix.texi:18902 msgid "Root of the website nginx will serve." -msgstr "Wurzelverzeichnis der Webpräsenz, die über nginx abgerufen werden kann." +msgstr "Wurzelverzeichnis des Webauftritts, der über nginx abgerufen werden kann." #. type: item #: doc/guix.texi:18903 @@ -35578,7 +35653,7 @@ msgstr "php-fpm" #. type: Plain text #: doc/guix.texi:19124 msgid "PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI implementation with some additional features useful for sites of any size." -msgstr "PHP-FPM (FastCGI Process Manager) ist eine alternative PHP-FastCGI-Implementierung, die über einige zusätzliche Funktionalitäten verfügt, die für Webpräsenzen jeder Größe nützlich sind." +msgstr "PHP-FPM (FastCGI Process Manager) ist eine alternative PHP-FastCGI-Implementierung, die über einige zusätzliche Funktionalitäten verfügt, die für Webauftritte jeder Größe nützlich sind." #. type: Plain text #: doc/guix.texi:19126 @@ -35707,135 +35782,135 @@ msgstr "\"ip.ad.res.se:Port\"" #. type: table #: doc/guix.texi:19156 msgid "Listen on a TCP socket to a specific address on a specific port." -msgstr "" +msgstr "Lässt auf einem TCP-Socket auf der angegebenen Adresse auf dem angegebenen Port lauschen." #. type: code{#1} #: doc/guix.texi:19156 #, no-wrap msgid "\"port\"" -msgstr "" +msgstr "\"port\"" #. type: table #: doc/guix.texi:19158 msgid "Listen on a TCP socket to all addresses on a specific port." -msgstr "" +msgstr "Lässt auf einem TCP-Socket auf allen Adressen auf dem angegebenen Port lauschen." #. type: code{#1} #: doc/guix.texi:19158 #, no-wrap msgid "\"/path/to/unix/socket\"" -msgstr "" +msgstr "\"/pfad/zum/unix/socket\"" #. type: table #: doc/guix.texi:19160 msgid "Listen on a unix socket." -msgstr "" +msgstr "Lässt auf einem Unix-Socket lauschen." #. type: item #: doc/guix.texi:19162 #, no-wrap msgid "@code{user} (default: @code{php-fpm})" -msgstr "" +msgstr "@code{user} (Vorgabe: @code{php-fpm})" #. type: table #: doc/guix.texi:19164 msgid "User who will own the php worker processes." -msgstr "" +msgstr "Der Benutzer, dem die PHP-Arbeiterprozesse gehören werden." #. type: item #: doc/guix.texi:19164 #, no-wrap msgid "@code{group} (default: @code{php-fpm})" -msgstr "" +msgstr "@code{group} (Vorgabe: @code{php-fpm})" #. type: table #: doc/guix.texi:19166 msgid "Group of the worker processes." -msgstr "" +msgstr "Die Gruppe für die Arbeiterprozesse." #. type: item #: doc/guix.texi:19166 #, no-wrap msgid "@code{socket-user} (default: @code{php-fpm})" -msgstr "" +msgstr "@code{socket-user} (Vorgabe: @code{php-fpm})" #. type: table #: doc/guix.texi:19168 msgid "User who can speak to the php-fpm socket." -msgstr "" +msgstr "Der Benutzer, der mit dem php-fpm-Socket kommunizieren kann." #. type: item #: doc/guix.texi:19168 #, no-wrap msgid "@code{socket-group} (default: @code{php-fpm})" -msgstr "" +msgstr "@code{socket-group} (Vorgabe: @code{php-fpm})" #. type: table #: doc/guix.texi:19170 msgid "Group that can speak to the php-fpm socket." -msgstr "" +msgstr "Die Gruppe, die mit dem php-fpm-Socket kommunizieren kann." #. type: item #: doc/guix.texi:19170 #, no-wrap msgid "@code{pid-file} (default: @code{(string-append \"/var/run/php\" (version-major (package-version php)) \"-fpm.pid\")})" -msgstr "" +msgstr "@code{pid-file} (Vorgabe: @code{(string-append \"/var/run/php\" (version-major (package-version php)) \"-fpm.pid\")})" #. type: table #: doc/guix.texi:19173 msgid "The process id of the php-fpm process is written to this file once the service has started." -msgstr "" +msgstr "Der Prozessidentifikator des php-fpm-Prozesses wird in diese Datei geschrieben, sobald der Dienst gestartet wurde." #. type: item #: doc/guix.texi:19173 #, no-wrap msgid "@code{log-file} (default: @code{(string-append \"/var/log/php\" (version-major (package-version php)) \"-fpm.log\")})" -msgstr "" +msgstr "@code{log-file} (Vorgabe: @code{(string-append \"/var/log/php\" (version-major (package-version php)) \"-fpm.log\")})" #. type: table #: doc/guix.texi:19175 msgid "Log for the php-fpm master process." -msgstr "" +msgstr "Wohin das Protokoll für den php-fpm-Hauptprozess geschrieben wird." #. type: item #: doc/guix.texi:19175 #, no-wrap msgid "@code{process-manager} (default: @code{(php-fpm-dynamic-process-manager-configuration)})" -msgstr "" +msgstr "@code{process-manager} (Vorgabe: @code{(php-fpm-dynamic-process-manager-configuration)})" #. type: table #: doc/guix.texi:19178 msgid "Detailed settings for the php-fpm process manager. Must be either:" -msgstr "" +msgstr "Detaillierte Einstellungen für die php-fpm-Prozessverwaltung. Sie müssen eines der Folgenden sein:" #. type: code{#1} #: doc/guix.texi:19179 #, no-wrap msgid "" -msgstr "" +msgstr "" #. type: code{#1} #: doc/guix.texi:19180 #, no-wrap msgid "" -msgstr "" +msgstr "" #. type: code{#1} #: doc/guix.texi:19181 #, no-wrap msgid "" -msgstr "" +msgstr "" #. type: item #: doc/guix.texi:19183 #, no-wrap msgid "@code{display-errors} (default @code{#f})" -msgstr "" +msgstr "@code{display-errors} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:19188 msgid "Determines whether php errors and warning should be sent to clients and displayed in their browsers. This is useful for local php development, but a security risk for public sites, as error messages can reveal passwords and personal data." -msgstr "" +msgstr "Legt fest, ob PHP-Fehler und Warnungen an Clients geschickt und in ihren Browsern angezeigt werden. Dies ist nützlich für lokale PHP-Entwicklung, aber ein Sicherheitsrisiko für öffentliche Webauftritte, weil Fehlermeldungen Passwörter und Passwortdaten offenlegen können." #. type: item #: doc/guix.texi:19188 @@ -35846,117 +35921,117 @@ msgstr "@code{timezone} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:19190 msgid "Specifies @code{php_admin_value[date.timezone]} parameter." -msgstr "" +msgstr "Legt den Parameter @code{php_admin_value[date.timezone]} fest." #. type: item #: doc/guix.texi:19190 #, no-wrap msgid "@code{workers-logfile} (default @code{(string-append \"/var/log/php\" (version-major (package-version php)) \"-fpm.www.log\")})" -msgstr "" +msgstr "@code{workers-logfile} (Vorgabe: @code{(string-append \"/var/log/php\" (version-major (package-version php)) \"-fpm.www.log\")})" #. type: table #: doc/guix.texi:19193 msgid "This file will log the @code{stderr} outputs of php worker processes. Can be set to @code{#f} to disable logging." -msgstr "" +msgstr "In dieser Datei werden @code{stderr}-Ausgaben von PHP-Arbeiterprozessen protokolliert. Das Feld kann auf @code{#f} gesetzt werden, damit nicht protokolliert wird." #. type: item #: doc/guix.texi:19193 #, no-wrap msgid "@code{file} (default @code{#f})" -msgstr "" +msgstr "@code{file} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:19196 msgid "An optional override of the whole configuration. You can use the @code{mixed-text-file} function or an absolute filepath for it." -msgstr "" +msgstr "Optional kann hier ein vorrangig benutzter Ersatz für die gesamte Konfigurationsdatei angegeben werden. Sie können dafür die @code{mixed-text-file}-Funktion oder einen absoluten Dateipfad verwenden." #. type: deftp #: doc/guix.texi:19199 #, no-wrap msgid "{Data type} php-fpm-dynamic-process-manager-configuration" -msgstr "" +msgstr "{Datentyp} php-fpm-dynamic-process-manager-configuration" #. type: deftp #: doc/guix.texi:19203 msgid "Data Type for the @code{dynamic} php-fpm process manager. With the @code{dynamic} process manager, spare worker processes are kept around based on it's configured limits." -msgstr "" +msgstr "Datentyp für die @emph{dynamische} Prozessverwaltung durch php-fpm. Bei der @emph{dynamischen} Prozessverwaltung bleiben Arbeiterprozesse nach Abschluss ihrer Aufgabe weiterhin erhalten, solange die konfigurierten Beschränkungen eingehalten werden." #. type: item #: doc/guix.texi:19204 doc/guix.texi:19220 doc/guix.texi:19230 #, no-wrap msgid "@code{max-children} (default: @code{5})" -msgstr "" +msgstr "@code{max-children} (Vorgabe: @code{5})" #. type: table #: doc/guix.texi:19206 doc/guix.texi:19222 doc/guix.texi:19232 msgid "Maximum of worker processes." -msgstr "" +msgstr "Die maximale Anzahl an Arbeiterprozessen." #. type: item #: doc/guix.texi:19206 #, no-wrap msgid "@code{start-servers} (default: @code{2})" -msgstr "" +msgstr "@code{start-servers} (Vorgabe: @code{2})" #. type: table #: doc/guix.texi:19208 msgid "How many worker processes should be started on start-up." -msgstr "" +msgstr "Wieviele Arbeiterprozesse gleich zu Beginn gestartet werden sollen." #. type: item #: doc/guix.texi:19208 #, no-wrap msgid "@code{min-spare-servers} (default: @code{1})" -msgstr "" +msgstr "@code{min-spare-servers} (Vorgabe: @code{1})" #. type: table #: doc/guix.texi:19210 msgid "How many spare worker processes should be kept around at minimum." -msgstr "" +msgstr "Wieviele untätige Arbeiterprozesse mindestens weiterhin vorgehalten bleiben sollen." #. type: item #: doc/guix.texi:19210 #, no-wrap msgid "@code{max-spare-servers} (default: @code{3})" -msgstr "" +msgstr "@code{max-spare-servers} (Vorgabe: @code{3})" #. type: table #: doc/guix.texi:19212 msgid "How many spare worker processes should be kept around at maximum." -msgstr "" +msgstr "Wieviele untätige Arbeiterprozesse höchstens weiterhin vorgehalten bleiben sollen." #. type: deftp #: doc/guix.texi:19215 #, no-wrap msgid "{Data type} php-fpm-static-process-manager-configuration" -msgstr "" +msgstr "{Datentyp} php-fpm-static-process-manager-configuration" #. type: deftp #: doc/guix.texi:19219 msgid "Data Type for the @code{static} php-fpm process manager. With the @code{static} process manager, an unchanging number of worker processes are created." -msgstr "" +msgstr "Datentyp für die @emph{statische} Prozessverwaltung durch php-fpm. Bei der @emph{statischen} Prozessverwaltung wird eine unveränderliche Anzahl an Arbeiterprozessen erzeugt." #. type: deftp #: doc/guix.texi:19225 #, no-wrap msgid "{Data type} php-fpm-on-demand-process-manager-configuration" -msgstr "" +msgstr "{Datentyp} php-fpm-on-demand-process-manager-configuration" #. type: deftp #: doc/guix.texi:19229 msgid "Data Type for the @code{on-demand} php-fpm process manager. With the @code{on-demand} process manager, worker processes are only created as requests arrive." -msgstr "" +msgstr "Datentyp für die Prozessverwaltung @emph{nach Bedarf} durch php-fpm. Bei der Prozessverwaltung @emph{nach Bedarf} werden Arbeiterprozesse erst erzeugt, wenn Anfragen vorliegen." #. type: item #: doc/guix.texi:19232 #, no-wrap msgid "@code{process-idle-timeout} (default: @code{10})" -msgstr "" +msgstr "@code{process-idle-timeout} (Vorgabe: @code{10})" #. type: table #: doc/guix.texi:19234 msgid "The time in seconds after which a process with no requests is killed." -msgstr "" +msgstr "Die Zeit in Sekunden, nach der ein Prozess ohne Anfragen abgewürgt wird." #. type: deffn #: doc/guix.texi:19238 @@ -36008,12 +36083,12 @@ msgstr "" #: doc/guix.texi:19262 #, no-wrap msgid "cat-avatar-generator" -msgstr "" +msgstr "cat-avatar-generator" #. type: Plain text #: doc/guix.texi:19266 msgid "The cat avatar generator is a simple service to demonstrate the use of php-fpm in @code{Nginx}. It is used to generate cat avatar from a seed, for instance the hash of a user's email address." -msgstr "" +msgstr "Der Cat Avatar Generator („Katzenavatargenerator“) ist ein einfacher Dienst, um die Nutzung von php-fpm in @code{Nginx} zu demonstrieren. Mit ihm können Katzenavatarbilder aus einem Startwert („Seed“) heraus erzeugt werden, zum Beispiel aus dem Hash der E-Mail-Adresse eines Benutzers." #. type: deffn #: doc/guix.texi:19267 @@ -36024,12 +36099,12 @@ msgstr "{Scheme-Prozedur} cat-avatar-generator-service @" #. type: deffn #: doc/guix.texi:19275 msgid "[#:cache-dir \"/var/cache/cat-avatar-generator\"] @ [#:package cat-avatar-generator] @ [#:configuration (nginx-server-configuration)] Returns an nginx-server-configuration that inherits @code{configuration}. It extends the nginx configuration to add a server block that serves @code{package}, a version of cat-avatar-generator. During execution, cat-avatar-generator will be able to use @code{cache-dir} as its cache directory." -msgstr "" +msgstr "[#:cache-dir \"/var/cache/cat-avatar-generator\"] @ [#:package cat-avatar-generator] @ [#:configuration (nginx-server-configuration)] Liefert ein nginx-server-configuration-Objekt, das von der in @code{configuration} angegebenen Konfiguration erbt. Es erweitert die Nginx-Konfiguration, indem es einen Server-Block hinzufügt, der die in @code{package} angegebene Version vom cat-avatar-generator anbietet. Bei der Ausführung wird dem cat-avatar-generator Zugriff auf sein in @code{cache-dir} angegebenes Zwischenspeicherverzeichnis gewährt." #. type: Plain text #: doc/guix.texi:19278 msgid "A simple setup for cat-avatar-generator can look like this:" -msgstr "" +msgstr "Eine einfache Konfiguration des cat-avatar-generator kann so aussehen:" #. type: example #: doc/guix.texi:19285 @@ -36042,56 +36117,62 @@ msgid "" " ...\n" " %base-services))\n" msgstr "" +"(services (cons* (cat-avatar-generator-service\n" +" #:configuration\n" +" (nginx-server-configuration\n" +" (server-name '(\"example.com\"))))\n" +" ...\n" +" %base-services))\n" #. type: subsubheading #: doc/guix.texi:19287 #, no-wrap msgid "Hpcguix-web" -msgstr "" +msgstr "Hpcguix-web" #. type: cindex #: doc/guix.texi:19289 #, no-wrap msgid "hpcguix-web" -msgstr "" +msgstr "hpcguix-web" #. type: Plain text #: doc/guix.texi:19294 msgid "The @uref{hpcguix-web, https://github.com/UMCUGenetics/hpcguix-web/} program is a customizable web interface to browse Guix packages, initially designed for users of high-performance computing (HPC) clusters." -msgstr "" +msgstr "Das Programm @uref{hpcguix-web, https://github.com/UMCUGenetics/hpcguix-web/} ist eine anpassbare Weboberfläche, um Guix-Pakete zu suchen. Am Anfang war es für Nutzer von Hochleistungs-Rechenclustern gedacht („High-Performance Computing“, kurz HPC)." #. type: defvr #: doc/guix.texi:19295 #, no-wrap msgid "{Scheme Variable} hpcguix-web-service-type" -msgstr "" +msgstr "{Scheme-Variable} hpcguix-web-service-type" #. type: defvr #: doc/guix.texi:19297 msgid "The service type for @code{hpcguix-web}." -msgstr "" +msgstr "Der Diensttyp für @code{hpcguix-web}." #. type: deftp #: doc/guix.texi:19299 #, no-wrap msgid "{Data Type} hpcguix-web-configuration" -msgstr "" +msgstr "{Datentyp} hpcguix-web-configuration" #. type: deftp #: doc/guix.texi:19301 msgid "Data type for the hpcguix-web service configuration." -msgstr "" +msgstr "Datentyp für die Konfiguration des hpcguix-web-Dienstes." #. type: code{#1} #: doc/guix.texi:19303 #, no-wrap msgid "specs" -msgstr "" +msgstr "specs" #. type: table #: doc/guix.texi:19306 msgid "A gexp (@pxref{G-Expressions}) specifying the hpcguix-web service configuration. The main items available in this spec are:" -msgstr "" +msgstr "Ein G-Ausdruck (siehe @ref{G-Expressions}), der die Konfiguration des hpcguix-web-Dienstes festlegt. In dieser Spezifikation („Spec“) sollten vor allem diese Sachen angegeben werden:" #. type: item #: doc/guix.texi:19308 @@ -36146,7 +36227,7 @@ msgstr "@code{menu} (Vorgabe: @code{'()})" #. type: table #: doc/guix.texi:19322 msgid "Additional entry in page @code{menu}." -msgstr "" +msgstr "Zusätzlicher Eintrag auf der Menüseite." #. type: item #: doc/guix.texi:19323 @@ -36168,12 +36249,12 @@ msgstr "@code{package-list-expiration} (Vorgabe: @code{(* 12 3600)})" #. type: table #: doc/guix.texi:19329 msgid "The expiration time, in seconds, after which the package list is rebuilt from the latest instances of the given channels." -msgstr "" +msgstr "Nach wieviel Zeit in Sekunden die Paketliste aus den neuesten Instanzen der angegebenen Kanäle neu erzeugt wird." #. type: table #: doc/guix.texi:19334 msgid "See the hpcguix-web repository for a @uref{https://github.com/UMCUGenetics/hpcguix-web/blob/master/hpcweb-configuration.scm, complete example}." -msgstr "" +msgstr "Siehe das Repository von hpcguix-web für ein @uref{https://github.com/UMCUGenetics/hpcguix-web/blob/master/hpcweb-configuration.scm, vollständiges Beispiel}." #. type: item #: doc/guix.texi:19335 @@ -36189,7 +36270,7 @@ msgstr "Das hpcguix-web-Paket, was benutzt werden soll." #. type: Plain text #: doc/guix.texi:19341 msgid "A typical hpcguix-web service declaration looks like this:" -msgstr "" +msgstr "Eine typische Deklaration eines hpcguix-web-Dienstes sieht so aus:" #. type: example #: doc/guix.texi:19350 @@ -36203,40 +36284,47 @@ msgid "" " (title-prefix \"Guix-HPC - \")\n" " (menu '((\"/about\" \"ABOUT\"))))))))\n" msgstr "" +"(service hpcguix-web-service-type\n" +" (hpcguix-web-configuration\n" +" (specs\n" +" #~(define site-config\n" +" (hpcweb-configuration\n" +" (title-prefix \"Guix-HPC - \")\n" +" (menu '((\"/about\" \"ABOUT\"))))))))\n" #. type: quotation #: doc/guix.texi:19357 msgid "The hpcguix-web service periodically updates the package list it publishes by pulling channels from Git. To that end, it needs to access X.509 certificates so that it can authenticate Git servers when communicating over HTTPS, and it assumes that @file{/etc/ssl/certs} contains those certificates." -msgstr "" +msgstr "Der hpcguix-web-Dienst aktualisiert die Liste der Pakete, die er veröffentlicht, periodisch, indem er die Kanäle über einen Git-„Pull“ lädt. Dazu muss er auf X.509-Zertifikate zugreifen, damit Git-Server authentifiziert werden können, wenn mit diesen über HTTPS kommuniziert wird, wofür der Dienst davon ausgeht, dass sich jene Zertifikate in @file{/etc/ssl/certs} befinden." #. type: quotation #: doc/guix.texi:19361 msgid "Thus, make sure to add @code{nss-certs} or another certificate package to the @code{packages} field of your configuration. @ref{X.509 Certificates}, for more information on X.509 certificates." -msgstr "" +msgstr "Stellen Sie also sicher, dass @code{nss-certs} oder ein anderes Zertifikatspaket im @code{packages}-Feld ihrer Konfiguration steht. Siehe @ref{X.509 Certificates} für weitere Informationen zu X.509-Zertifikaten." #. type: cindex #: doc/guix.texi:19366 #, no-wrap msgid "Web" -msgstr "" +msgstr "Web" #. type: cindex #: doc/guix.texi:19367 #, no-wrap msgid "HTTP, HTTPS" -msgstr "" +msgstr "HTTP, HTTPS" #. type: cindex #: doc/guix.texi:19368 #, no-wrap msgid "Let's Encrypt" -msgstr "" +msgstr "Let's Encrypt" #. type: cindex #: doc/guix.texi:19369 #, no-wrap msgid "TLS certificates" -msgstr "" +msgstr "TLS-Zertifikate" #. type: Plain text #: doc/guix.texi:19376 @@ -36251,12 +36339,12 @@ msgstr "@url{https://letsencrypt.org/, Let’s Encrypt} macht das @code{certbot} #. type: Plain text #: doc/guix.texi:19395 msgid "The certbot service automates this process: the initial key generation, the initial certification request to the Let's Encrypt service, the web server challenge/response integration, writing the certificate to disk, the automated periodic renewals, and the deployment tasks associated with the renewal (e.g.@: reloading services, copying keys with different permissions)." -msgstr "" +msgstr "Mit dem certbot-Dienst wird dieser Prozess automatisiert. Er sorgt dafür, dass am Anfang Schlüssel erzeugt werden und eine erste Zertifizierungsanfrage an den Dienst von Let’s Encrypt gestellt wird. Weiterhin ist das Challenge-/Response-Verfahren per Web-Server integriert. Das Zertifikat wird auf die Platte geschrieben und automatisch periodisch erneuert und bei der Erneuerung anfallende Aufgaben werden erledigt (z.B.@: das Neuladen von Diensten und das Kopieren von Schlüsseln mit abweichenden Berechtigungen)." #. type: Plain text #: doc/guix.texi:19401 msgid "Certbot is run twice a day, at a random minute within the hour. It won't do anything until your certificates are due for renewal or revoked, but running it regularly would give your service a chance of staying online in case a Let's Encrypt-initiated revocation happened for some reason." -msgstr "" +msgstr "Certbot wird zweimal täglich zu einer zufälligen Minute der Stunde ausgeführt. Es tut so lange nichts, bis eine Erneuerung Ihrer Zertifikate fällig wird oder sie gesperrt wurden, durch regelmäßige Ausführung bekommen Sie aber die Chance, dass Ihr Server am Netz bleibt, wenn Let’s Encrypt eine Sperrung aus irgendeinem Grund anordnet." #. type: Plain text #: doc/guix.texi:19405 @@ -36267,12 +36355,12 @@ msgstr "Durch die Nutzung dieses Dienstes stimmen Sie dem „ACME Subscriber Agr #: doc/guix.texi:19406 #, no-wrap msgid "{Scheme Variable} certbot-service-type" -msgstr "" +msgstr "{Scheme-Variable} certbot-service-type" #. type: defvr #: doc/guix.texi:19409 msgid "A service type for the @code{certbot} Let's Encrypt client. Its value must be a @code{certbot-configuration} record as in this example:" -msgstr "" +msgstr "Ein Diensttyp für den @code{certbot}-Client für Let’s Encrypt. Sein Wert muss ein @code{certbot-configuration}-Verbundsobjekt wie in diesem Beispiel sein:" #. type: example #: doc/guix.texi:19416 @@ -36285,6 +36373,12 @@ msgid "" " (kill pid SIGHUP))))\n" "\n" msgstr "" +"(define %nginx-deploy-hook\n" +" (program-file\n" +" \"nginx-deploy-hook\"\n" +" #~(let ((pid (call-with-input-file \"/var/run/nginx/pid\" read)))\n" +" (kill pid SIGHUP))))\n" +"\n" #. type: example #: doc/guix.texi:19427 @@ -36301,135 +36395,145 @@ msgid "" " (certificate-configuration\n" " (domains '(\"bar.example.net\")))))))\n" msgstr "" +"(service certbot-service-type\n" +" (certbot-configuration\n" +" (email \"foo@@example.net\")\n" +" (certificates\n" +" (list\n" +" (certificate-configuration\n" +" (domains '(\"example.net\" \"www.example.net\"))\n" +" (deploy-hook %nginx-deploy-hook))\n" +" (certificate-configuration\n" +" (domains '(\"bar.example.net\")))))))\n" #. type: defvr #: doc/guix.texi:19430 msgid "See below for details about @code{certbot-configuration}." -msgstr "" +msgstr "Siehe unten für Details zur @code{certbot-configuration}." #. type: deftp #: doc/guix.texi:19432 #, no-wrap msgid "{Data Type} certbot-configuration" -msgstr "" +msgstr "{Datentyp} certbot-configuration" #. type: deftp #: doc/guix.texi:19435 msgid "Data type representing the configuration of the @code{certbot} service. This type has the following parameters:" -msgstr "" +msgstr "Datentyp, der die Konfiguration des @code{certbot}-Dienstes repräsentiert. Dieser Typ verfügt über die folgenden Parameter:" #. type: item #: doc/guix.texi:19437 #, no-wrap msgid "@code{package} (default: @code{certbot})" -msgstr "" +msgstr "@code{package} (Vorgabe: @code{certbot})" #. type: table #: doc/guix.texi:19439 msgid "The certbot package to use." -msgstr "" +msgstr "Das certbot-Paket, das benutzt werden soll." #. type: item #: doc/guix.texi:19440 #, no-wrap msgid "@code{webroot} (default: @code{/var/www})" -msgstr "" +msgstr "@code{webroot} (Vorgabe: @code{/var/www})" #. type: table #: doc/guix.texi:19443 msgid "The directory from which to serve the Let's Encrypt challenge/response files." -msgstr "" +msgstr "Das Verzeichnis, aus dem heraus die Dateien für den Challenge-/Response-Prozess von Let’s Encrypt angeboten werden sollen." #. type: item #: doc/guix.texi:19444 #, no-wrap msgid "@code{certificates} (default: @code{()})" -msgstr "" +msgstr "@code{certificates} (Vorgabe: @code{()})" #. type: table #: doc/guix.texi:19448 msgid "A list of @code{certificates-configuration}s for which to generate certificates and request signatures. Each certificate has a @code{name} and several @code{domains}." -msgstr "" +msgstr "Eine Liste der @code{certificates-configuration}-Objekte, für die Zertifikate und Anfragesignaturen erzeugt werden. Für jedes Zertifikat gibt es einen @code{name}-Eintrag und mehrere @code{domains}." #. type: table #: doc/guix.texi:19452 msgid "Mandatory email used for registration, recovery contact, and important account notifications." -msgstr "" +msgstr "Die E-Mail-Adresse, die für die Registrierung, als Kontaktadresse bei der Wiederherstellung und für wichtige Kontenbenachrichtigungen angegeben werden @emph{muss}." #. type: item #: doc/guix.texi:19453 #, no-wrap msgid "@code{rsa-key-size} (default: @code{2048})" -msgstr "" +msgstr "@code{rsa-key-size} (Vorgabe: @code{2048})" #. type: table #: doc/guix.texi:19455 msgid "Size of the RSA key." -msgstr "" +msgstr "Wie groß der RSA-Schlüssel sein soll." #. type: item #: doc/guix.texi:19456 #, no-wrap msgid "@code{default-location} (default: @i{see below})" -msgstr "" +msgstr "@code{default-location} (Vorgabe: @i{siehe unten})" #. type: table #: doc/guix.texi:19465 msgid "The default @code{nginx-location-configuration}. Because @code{certbot} needs to be able to serve challenges and responses, it needs to be able to run a web server. It does so by extending the @code{nginx} web service with an @code{nginx-server-configuration} listening on the @var{domains} on port 80, and which has a @code{nginx-location-configuration} for the @code{/.well-known/} URI path subspace used by Let's Encrypt. @xref{Web Services}, for more on these nginx configuration data types." -msgstr "" +msgstr "Die vorgegebene @code{nginx-location-configuration}. Weil @code{certbot} „Challenges“ und „Responses“ anbieten muss, muss durch ihn ein Web-Server ausgeführt werden können. Das tut er, indem er den @code{nginx}-Webdienst mit einer @code{nginx-server-configuration} erweitert, die auf den @var{domains} auf Port 80 lauscht und eine @code{nginx-location-configuration} für den URI-Pfad-Teilraum @code{/.well-known/} umfasst, der von Let’s Encrypt benutzt wird. Siehe @ref{Web Services} für mehr Informationen über diese nginx-Konfigurationsdatentypen." #. type: table #: doc/guix.texi:19469 msgid "Requests to other URL paths will be matched by the @code{default-location}, which if present is added to all @code{nginx-server-configuration}s." -msgstr "" +msgstr "Anfragen an andere URL-Pfade werden mit der @code{default-location} abgeglichen. Wenn sie angegeben wurde, wird sie zu jeder @code{nginx-server-configuration} hinzugefügt." #. type: table #: doc/guix.texi:19473 msgid "By default, the @code{default-location} will issue a redirect from @code{http://@var{domain}/...} to @code{https://@var{domain}/...}, leaving you to define what to serve on your site via @code{https}." -msgstr "" +msgstr "Nach Vorgabe stellt die @code{default-location} eine Weiterleitung von @code{http://@var{domain}/…} nach @code{https://@var{domain}/…} her. Sie müssen dann nur noch festlegen, was Sie auf Ihrem Webauftritt über @code{https} anbieten wollen." #. type: table #: doc/guix.texi:19475 msgid "Pass @code{#f} to not issue a default location." -msgstr "" +msgstr "Übergeben Sie @code{#f}, um keine @code{default-location} vorzugeben." #. type: deftp #: doc/guix.texi:19478 #, no-wrap msgid "{Data Type} certificate-configuration" -msgstr "" +msgstr "{Datentyp} certificate-configuration" #. type: deftp #: doc/guix.texi:19481 msgid "Data type representing the configuration of a certificate. This type has the following parameters:" -msgstr "" +msgstr "Der Datentyp, der die Konfiguration eines Zertifikats repräsentiert. Dieser Typ hat die folgenden Parameter:" #. type: item #: doc/guix.texi:19483 #, no-wrap msgid "@code{name} (default: @i{see below})" -msgstr "" +msgstr "@code{name} (Vorgabe: @i{siehe unten})" #. type: table #: doc/guix.texi:19487 msgid "This name is used by Certbot for housekeeping and in file paths; it doesn't affect the content of the certificate itself. To see certificate names, run @code{certbot certificates}." -msgstr "" +msgstr "Dieser Name wird vom Certbot intern zum Aufräumen und in Dateipfaden benutzt; er hat keinen Einfluss auf den Inhalt des erzeugten Zertifikats. Um Zertifikatsnamen einzusehen, führen Sie @code{certbot certificates} aus." #. type: table #: doc/guix.texi:19489 msgid "Its default is the first provided domain." -msgstr "" +msgstr "Die Vorgabe ist die erste angegebene Domain." #. type: item #: doc/guix.texi:19490 #, no-wrap msgid "@code{domains} (default: @code{()})" -msgstr "" +msgstr "@code{domains} (Vorgabe: @code{()})" #. type: table #: doc/guix.texi:19493 msgid "The first domain provided will be the subject CN of the certificate, and all domains will be Subject Alternative Names on the certificate." -msgstr "" +msgstr "Die erste angegebene Domain wird als Name des Zertifikatseigentümers („Subject CN“) benutzt und alle Domains werden als alternative Namen („Subject Alternative Names“) auf dem Zertifikat stehen." #. type: item #: doc/guix.texi:19494 @@ -36440,7 +36544,7 @@ msgstr "@code{challenge} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:19499 msgid "The challenge type that has to be run by certbot. If @code{#f} is specified, default to the HTTP challenge. If a value is specified, defaults to the manual plugin (see @code{authentication-hook}, @code{cleanup-hook} and the documentation at @url{https://certbot.eff.org/docs/using.html#hooks})." -msgstr "" +msgstr "Welche Art von Challenge durch den Certbot ausgeführt wird. Wenn @code{#f} angegeben wird, wird die HTTP-Challenge voreingestellt. Wenn ein Wert angegeben wird, wird das Plugin benutzt, das auch bei manuellen Ausführungen benutzt wird (siehe @code{authentication-hook}, @code{cleanup-hook} und die Dokumentation unter @url{https://certbot.eff.org/docs/using.html#hooks})." #. type: item #: doc/guix.texi:19500 @@ -36451,7 +36555,7 @@ msgstr "@code{authentication-hook} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:19506 msgid "Command to be run in a shell once for each certificate challenge to be answered. For this command, the shell variable @code{$CERTBOT_DOMAIN} will contain the domain being authenticated, @code{$CERTBOT_VALIDATION} contains the validation string and @code{$CERTBOT_TOKEN} contains the file name of the resource requested when performing an HTTP-01 challenge." -msgstr "" +msgstr "Welcher Befehl in einer Shell zum Antworten auf eine Zertifikats-„Challenge“ einmalig ausgeführt wird. Für diesen Befehl wird die Shell-Variable @code{$CERTBOT_DOMAIN} die Domain enthalten, für die sich der Certbot authentiziert, @code{$CERTBOT_VALIDATION} enthält die Validierungs-Zeichenkette und @code{$CERTBOT_TOKEN} enthält den Dateinamen der bei einer HTTP-01-Challenge angefragten Ressource." #. type: item #: doc/guix.texi:19507 @@ -36462,40 +36566,40 @@ msgstr "@code{cleanup-hook} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:19513 msgid "Command to be run in a shell once for each certificate challenge that have been answered by the @code{auth-hook}. For this command, the shell variables available in the @code{auth-hook} script are still available, and additionally @code{$CERTBOT_AUTH_OUTPUT} will contain the standard output of the @code{auth-hook} script." -msgstr "" +msgstr "Welcher Befehl in einer Shell für jede Zertifikat-„Challenge“ einmalig ausgeführt wird, die vom @code{auth-hook} beantwortet wurde. Für diesen Befehl bleiben die Shell-Variablen weiterhin verfügbar, die im @code{auth-hook}-Skript zur Verfügung standen, und außerdem wird @code{$CERTBOT_AUTH_OUTPUT} die Standardausgabe des @code{auth-hook}-Skripts enthalten." #. type: item #: doc/guix.texi:19514 #, no-wrap msgid "@code{deploy-hook} (default: @code{#f})" -msgstr "" +msgstr "@code{deploy-hook} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:19522 msgid "Command to be run in a shell once for each successfully issued certificate. For this command, the shell variable @code{$RENEWED_LINEAGE} will point to the config live subdirectory (for example, @samp{\"/etc/letsencrypt/live/example.com\"}) containing the new certificates and keys; the shell variable @code{$RENEWED_DOMAINS} will contain a space-delimited list of renewed certificate domains (for example, @samp{\"example.com www.example.com\"}." -msgstr "" +msgstr "Welcher Befehl in einer Shell für jedes erfolgreich ausgestellte Zertifikat einmalig ausgeführt wird. Bei diesem Befehl wird die Shell-Variable @code{$RENEWED_LINEAGE} auf das Unterverzeichnis für die aktuelle Konfiguration zeigen (zum Beispiel @samp{\"/etc/letsencrypt/live/example.com\"}), in dem sich die neuen Zertifikate und Schlüssel befinden. Die Shell-Variable @code{$RENEWED_DOMAINS} wird eine leerzeichengetrennte Liste der erneuerten Zertifikatsdomänen enthalten (zum Beispiel @samp{\"example.com www.example.com\"}." #. type: Plain text #: doc/guix.texi:19529 msgid "For each @code{certificate-configuration}, the certificate is saved to @code{/etc/letsencrypt/live/@var{name}/fullchain.pem} and the key is saved to @code{/etc/letsencrypt/live/@var{name}/privkey.pem}." -msgstr "" +msgstr "Für jede @code{certificate-configuration} wird das Zertifikat in @code{/etc/letsencrypt/live/@var{name}/fullchain.pem} und der Schlüssel in @code{/etc/letsencrypt/live/@var{name}/privkey.pem} gespeichert." #. type: cindex #: doc/guix.texi:19531 #, no-wrap msgid "DNS (domain name system)" -msgstr "" +msgstr "DNS (Domain Name System)" #. type: cindex #: doc/guix.texi:19532 #, no-wrap msgid "domain name system (DNS)" -msgstr "" +msgstr "Domain Name System (DNS)" #. type: Plain text #: doc/guix.texi:19540 msgid "The @code{(gnu services dns)} module provides services related to the @dfn{domain name system} (DNS). It provides a server service for hosting an @emph{authoritative} DNS server for multiple zones, slave or master. This service uses @uref{https://www.knot-dns.cz/, Knot DNS}. And also a caching and forwarding DNS server for the LAN, which uses @uref{http://www.thekelleys.org.uk/dnsmasq/doc.html, dnsmasq}." -msgstr "" +msgstr "Das Modul @code{(gnu services dns)} stellt Dienste zur Verfügung, die mit dem @dfn{Domain Name System} (DNS) zu tun haben. Es bietet einen Server-Dienst an, mit dem ein @emph{autoritativer} DNS-Server für mehrere Zonen betrieben werden kann, jeweils als untergeordneter „Slave“ oder als „Master“. Dieser Dienst benutzt @uref{https://www.knot-dns.cz/, Knot DNS}. Außerdem wird ein zwischenspeichernder und weiterleitender DNS-Server für das LAN bereitgestellt, der @uref{http://www.thekelleys.org.uk/dnsmasq/doc.html, dnsmasq} benutzt." #. type: subsubheading #: doc/guix.texi:19541 @@ -36506,7 +36610,7 @@ msgstr "Knot-Dienst" #. type: Plain text #: doc/guix.texi:19545 msgid "An example configuration of an authoritative server for two zones, one master and one slave, is:" -msgstr "" +msgstr "Eine Beispielkonfiguration eines autoritativen Servers für zwei Zonen, eine „Master“, eine „Slave“, wäre:" #. type: lisp #: doc/guix.texi:19552 @@ -36519,6 +36623,12 @@ msgid "" " (\"ns\" \"\" \"IN\" \"A\" \"127.0.0.1\"))\n" "\n" msgstr "" +"(define-zone-entries example.org.zone\n" +";; Name TTL Class Type Data\n" +" (\"@@\" \"\" \"IN\" \"A\" \"127.0.0.1\")\n" +" (\"@@\" \"\" \"IN\" \"NS\" \"ns\")\n" +" (\"ns\" \"\" \"IN\" \"A\" \"127.0.0.1\"))\n" +"\n" #. type: lisp #: doc/guix.texi:19559 @@ -36532,6 +36642,13 @@ msgid "" " (entries example.org.zone)))))\n" "\n" msgstr "" +"(define master-zone\n" +" (knot-zone-configuration\n" +" (domain \"example.org\")\n" +" (zone (zone-file\n" +" (origin \"example.org\")\n" +" (entries example.org.zone)))))\n" +"\n" #. type: lisp #: doc/guix.texi:19565 @@ -36544,6 +36661,12 @@ msgid "" " (master (list \"plop-master\"))))\n" "\n" msgstr "" +"(define slave-zone\n" +" (knot-zone-configuration\n" +" (domain \"plop.org\")\n" +" (dnssec-policy \"default\")\n" +" (master (list \"plop-master\"))))\n" +"\n" #. type: lisp #: doc/guix.texi:19570 @@ -36555,6 +36678,11 @@ msgid "" " (address (list \"208.76.58.171\"))))\n" "\n" msgstr "" +"(define plop-master\n" +" (knot-remote-configuration\n" +" (id \"plop-master\")\n" +" (address (list \"208.76.58.171\"))))\n" +"\n" #. type: lisp #: doc/guix.texi:19579 @@ -36569,700 +36697,708 @@ msgid "" " ;; ...\n" " %base-services)))\n" msgstr "" +"(operating-system\n" +" ;; ...\n" +" (services (cons* (service knot-service-type\n" +" (knot-configuration\n" +" (remotes (list plop-master))\n" +" (zones (list master-zone slave-zone))))\n" +" ;; ...\n" +" %base-services)))\n" #. type: deffn #: doc/guix.texi:19581 #, no-wrap msgid "{Scheme Variable} knot-service-type" -msgstr "" +msgstr "{Scheme-Variable} knot-service-type" #. type: deffn #: doc/guix.texi:19583 msgid "This is the type for the Knot DNS server." -msgstr "" +msgstr "Dies ist der Diensttyp für den Knot-DNS-Server." #. type: deffn #: doc/guix.texi:19591 msgid "Knot DNS is an authoritative DNS server, meaning that it can serve multiple zones, that is to say domain names you would buy from a registrar. This server is not a resolver, meaning that it can only resolve names for which it is authoritative. This server can be configured to serve zones as a master server or a slave server as a per-zone basis. Slave zones will get their data from masters, and will serve it as an authoritative server. From the point of view of a resolver, there is no difference between master and slave." -msgstr "" +msgstr "Knot DNS ist ein autoritativer DNS-Server, das heißt, er kann mehrere Zonen bedienen, also mehrere Domainnamen, die Sie von einem Registrar kaufen würden. Dieser Server ist kein „Resolver“, er dient also nur zur Auflösung von Namen, für die er autoritativ ist. Dieser Server kann so konfiguriert werden, dass er Zonen als „Master“-Server oder als „Slave“-Server bereitstellt, je nachdem, wie er für die jeweilige Zone eingestellt ist. Server für „Slave“-Zonen erhalten ihre Daten von „Master“-Servern und stellen mit ihnen einen autoritativen Server zur Verfügung. Für einen „Resolver“ macht es keinen Unterschied, ob er Namen auflöst, indem er einen „Master“ oder einen „Slave“ danach fragt." #. type: deffn #: doc/guix.texi:19593 msgid "The following data types are used to configure the Knot DNS server:" -msgstr "" +msgstr "Die folgenden Datentypen werden benutzt, um den Knot-DNS-Server zu konfigurieren:" #. type: deftp #: doc/guix.texi:19595 #, no-wrap msgid "{Data Type} knot-key-configuration" -msgstr "" +msgstr "{Datentyp} knot-key-configuration" #. type: deftp #: doc/guix.texi:19598 msgid "Data type representing a key. This type has the following parameters:" -msgstr "" +msgstr "Datentyp, der einen Schlüssel repräsentiert. Dieser Typ hat die folgenden Parameter:" #. type: item #: doc/guix.texi:19600 doc/guix.texi:19620 doc/guix.texi:19735 #: doc/guix.texi:19761 doc/guix.texi:19796 #, no-wrap msgid "@code{id} (default: @code{\"\"})" -msgstr "" +msgstr "@code{id} (Vorgabe: @code{\"\"})" #. type: table #: doc/guix.texi:19603 msgid "An identifier for other configuration fields to refer to this key. IDs must be unique and must not be empty." -msgstr "" +msgstr "Ein Identifikator, mit dem sich andere Konfigurationsfelder auf diesen Schlüssel beziehen können. IDs müssen eindeutig sein und dürfen @emph{nicht} leer sein." #. type: item #: doc/guix.texi:19604 #, no-wrap msgid "@code{algorithm} (default: @code{#f})" -msgstr "" +msgstr "@code{algorithm} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:19608 msgid "The algorithm to use. Choose between @code{#f}, @code{'hmac-md5}, @code{'hmac-sha1}, @code{'hmac-sha224}, @code{'hmac-sha256}, @code{'hmac-sha384} and @code{'hmac-sha512}." -msgstr "" +msgstr "Der Algorithmus, der benutzt werden soll. Wählen Sie zwischen @code{#f}, @code{'hmac-md5}, @code{'hmac-sha1}, @code{'hmac-sha224}, @code{'hmac-sha256}, @code{'hmac-sha384} und @code{'hmac-sha512}." #. type: item #: doc/guix.texi:19609 #, no-wrap msgid "@code{secret} (default: @code{\"\"})" -msgstr "" +msgstr "@code{secret} (Vorgabe: @code{\"\"})" #. type: table #: doc/guix.texi:19611 msgid "The secret key itself." -msgstr "" +msgstr "Was dabei der geheime Schlüssel sein soll." #. type: deftp #: doc/guix.texi:19615 #, no-wrap msgid "{Data Type} knot-acl-configuration" -msgstr "" +msgstr "{Datentyp} knot-acl-configuration" #. type: deftp #: doc/guix.texi:19618 msgid "Data type representing an Access Control List (ACL) configuration. This type has the following parameters:" -msgstr "" +msgstr "Datentyp, der die Konfiguration einer Zugriffssteuerungsliste („Access Control List“, ACL) repräsentiert. Dieser Typ hat die folgenden Parameter:" #. type: table #: doc/guix.texi:19623 msgid "An identifier for ether configuration fields to refer to this key. IDs must be unique and must not be empty." -msgstr "" +msgstr "Ein Identifikator, mit dem sich andere Konfigurationsfelder auf diesen Schlüssel beziehen können. IDs müssen eindeutig sein und dürfen @emph{nicht} leer sein." #. type: item #: doc/guix.texi:19624 doc/guix.texi:19739 #, no-wrap msgid "@code{address} (default: @code{'()})" -msgstr "" +msgstr "@code{address} (Vorgabe: @code{'()})" #. type: table #: doc/guix.texi:19628 msgid "An ordered list of IP addresses, network subnets, or network ranges represented with strings. The query must match one of them. Empty value means that address match is not required." -msgstr "" +msgstr "Eine geordnete Liste aus IP-Adresse, Netzwerk-Subnetzen oder Netzwerkbereichen, die jeweils als Zeichenketten angegeben werden. Die Anfrage muss zu einem davon passen. Ein leerer Wert bedeutet, dass die Adresse nicht passen muss." #. type: item #: doc/guix.texi:19629 #, no-wrap msgid "@code{key} (default: @code{'()})" -msgstr "" +msgstr "@code{key} (Vorgabe: @code{'()})" #. type: table #: doc/guix.texi:19633 msgid "An ordered list of references to keys represented with strings. The string must match a key ID defined in a @code{knot-key-configuration}. No key means that a key is not require to match that ACL." -msgstr "" +msgstr "Eine geordnete Liste von Referenzen auf Schlüssel, die jeweils als Zeichenketten angegeben werden. Die Zeichenkette muss zu einem Schlüsselidentifikator passen, der in einem der @code{knot-key-configuration}-Objekte definiert wurde. Wenn kein Schlüssel angegeben wird, bedeutet das, dass kein Schlüssel zu dieser Zugriffssteuerungsliste passen muss." #. type: item #: doc/guix.texi:19634 #, no-wrap msgid "@code{action} (default: @code{'()})" -msgstr "" +msgstr "@code{action} (Vorgabe: @code{'()})" #. type: table #: doc/guix.texi:19638 msgid "An ordered list of actions that are permitted or forbidden by this ACL. Possible values are lists of zero or more elements from @code{'transfer}, @code{'notify} and @code{'update}." -msgstr "" +msgstr "Eine geordete Liste der Aktionen, die von dieser Zugriffssteuerungsliste zugelassen oder gesperrt werden. Mögliche Werte sind Listen aus null oder mehr Elementen, die jeweils @code{'transfer}, @code{'notify} oder @code{'update} sind." #. type: item #: doc/guix.texi:19639 #, no-wrap msgid "@code{deny?} (default: @code{#f})" -msgstr "" +msgstr "@code{deny?} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:19642 msgid "When true, the ACL defines restrictions. Listed actions are forbidden. When false, listed actions are allowed." -msgstr "" +msgstr "Wenn dies auf wahr steht, werden mit der Zugriffssteuerungsliste Einschränkungen festgelegt, d.h.@: aufgelistet Aktionen werden gesperrt. Steht es auf falsch, werden aufgelistete Aktionen zugelassen." #. type: deftp #: doc/guix.texi:19646 #, no-wrap msgid "{Data Type} zone-entry" -msgstr "" +msgstr "{Datentyp} zone-entry" #. type: deftp #: doc/guix.texi:19649 msgid "Data type represnting a record entry in a zone file. This type has the following parameters:" -msgstr "" +msgstr "Datentyp, der einen Eintrag in einer Zonendatei repräsentiert. Dieser Typ verfügt über die folgenden Parameter:" #. type: item #: doc/guix.texi:19651 #, no-wrap msgid "@code{name} (default: @code{\"@@\"})" -msgstr "" +msgstr "@code{name} (Vorgabe: @code{\"@@\"})" #. type: table #: doc/guix.texi:19657 msgid "The name of the record. @code{\"@@\"} refers to the origin of the zone. Names are relative to the origin of the zone. For example, in the @code{example.org} zone, @code{\"ns.example.org\"} actually refers to @code{ns.example.org.example.org}. Names ending with a dot are absolute, which means that @code{\"ns.example.org.\"} refers to @code{ns.example.org}." -msgstr "" +msgstr "Der Name des Eintrags. @code{\"@@\"} bezieht sich auf den Ursprung der Zone. Namen sind relativ zum Ursprung der Zone. Zum Beispiel bezieht sich in einer Zone @code{example.org} der Eintrag @code{\"ns.example.org\"} tatsächlich auf @code{ns.example.org.example.org}. Namen, die auf einen Punkt enden, sind absolut. Das bedeutet, dass sich @code{\"ns.example.org.\"} auf @code{ns.example.org} bezieht." #. type: item #: doc/guix.texi:19658 #, no-wrap msgid "@code{ttl} (default: @code{\"\"})" -msgstr "" +msgstr "@code{ttl} (Vorgabe: @code{\"\"})" #. type: table #: doc/guix.texi:19660 msgid "The Time-To-Live (TTL) of this record. If not set, the default TTL is used." -msgstr "" +msgstr "Wie lange dieser Eintrag zwischengespeichert werden darf, d.h.@: seine „Time-To-Live“ (TTL). Ist sie nicht festgelegt, wird die voreingestellte TTL benutzt." #. type: item #: doc/guix.texi:19661 #, no-wrap msgid "@code{class} (default: @code{\"IN\"})" -msgstr "" +msgstr "@code{class} (Vorgabe: @code{\"IN\"})" #. type: table #: doc/guix.texi:19664 msgid "The class of the record. Knot currently supports only @code{\"IN\"} and partially @code{\"CH\"}." -msgstr "" +msgstr "Welche Klasse der Eintrag hat. Derzeit unterstützt Knot nur @code{\"IN\"} und teilweise @code{\"CH\"}." #. type: item #: doc/guix.texi:19665 #, no-wrap msgid "@code{type} (default: @code{\"A\"})" -msgstr "" +msgstr "@code{type} (Vorgabe: @code{\"A\"})" #. type: table #: doc/guix.texi:19669 msgid "The type of the record. Common types include A (IPv4 address), AAAA (IPv6 address), NS (Name Server) and MX (Mail eXchange). Many other types are defined." -msgstr "" +msgstr "Der Typ des Eintrags. Zu den üblichen Typen gehören A (für eine IPv4-Adresse), AAAA (für eine IPv6-Adresse), NS (der Namens-Server) und MX („Mail eXchange“ für E-Mails). Viele andere Typen sind auch definiert." #. type: item #: doc/guix.texi:19670 #, no-wrap msgid "@code{data} (default: @code{\"\"})" -msgstr "" +msgstr "@code{data} (Vorgabe: @code{\"\"})" #. type: table #: doc/guix.texi:19674 msgid "The data contained in the record. For instance an IP address associated with an A record, or a domain name associated with an NS record. Remember that domain names are relative to the origin unless they end with a dot." -msgstr "" +msgstr "Die Daten, die im Eintrag stehen, zum Beispiel eine IP-Adresse bei einem A-Eintrag oder ein Domain-Name bei einem NS-Eintrag. Bedenken Sie, dass Domain-Namen relativ zum Ursprung angegeben werden, außer wenn sie auf einen Punkt enden." #. type: deftp #: doc/guix.texi:19678 #, no-wrap msgid "{Data Type} zone-file" -msgstr "" +msgstr "{Datentyp} zone-file" #. type: deftp #: doc/guix.texi:19681 msgid "Data type representing the content of a zone file. This type has the following parameters:" -msgstr "" +msgstr "Datentyp, der den Inhalt einer Zonendatei repräsentiert. Dieser Typ verfügt über die folgenden Parameter:" #. type: table #: doc/guix.texi:19690 msgid "The list of entries. The SOA record is taken care of, so you don't need to put it in the list of entries. This list should probably contain an entry for your primary authoritative DNS server. Other than using a list of entries directly, you can use @code{define-zone-entries} to define a object containing the list of entries more easily, that you can later pass to the @code{entries} field of the @code{zone-file}." -msgstr "" +msgstr "Die Liste der Einträge. Für den SOA-Eintrag wird automatisch gesorgt, also müssen Sie ihn nicht zur Liste der Einträge hinzufügen. In der Liste sollte vermutlich ein Eintrag für Ihren primären autoritativen DNS-Server stehen. Abgesehen vom direkten Aufzählen der Einträge können Sie @code{define-zone-entries} verwenden, um ein Objekt zu definieren, worin eine Liste von Einträgen leichter angegeben werden kann, und was sie dann im @code{entries}-Feld des @code{zone-file} angeben können." #. type: item #: doc/guix.texi:19691 #, no-wrap msgid "@code{origin} (default: @code{\"\"})" -msgstr "" +msgstr "@code{origin} (Vorgabe: @code{\"\"})" #. type: table #: doc/guix.texi:19693 msgid "The name of your zone. This parameter cannot be empty." -msgstr "" +msgstr "Der Name Ihrer Zone. Dieser Parameter darf nicht leer sein." #. type: item #: doc/guix.texi:19694 #, no-wrap msgid "@code{ns} (default: @code{\"ns\"})" -msgstr "" +msgstr "@code{ns} (Vorgabe: @code{\"ns\"})" #. type: table #: doc/guix.texi:19699 msgid "The domain of your primary authoritative DNS server. The name is relative to the origin, unless it ends with a dot. It is mandatory that this primary DNS server corresponds to an NS record in the zone and that it is associated to an IP address in the list of entries." -msgstr "" +msgstr "Die Domain Ihres primären autoritativen DNS-Servers. Der Name wird relativ zum Ursprung angegeben, außer wenn er auf einen Punkt endet. Dieser primäre DNS-Server @emph{muss} verpflichtend einem NS-Eintrag in der Zone entsprechen, dem eine IP-Adresse in der Liste der Einträge zugeordnet werden muss." #. type: item #: doc/guix.texi:19700 #, no-wrap msgid "@code{mail} (default: @code{\"hostmaster\"})" -msgstr "" +msgstr "@code{mail} (Vorgabe: @code{\"hostmaster\"})" #. type: table #: doc/guix.texi:19703 msgid "An email address people can contact you at, as the owner of the zone. This is translated as @code{@@}." -msgstr "" +msgstr "Eine E-Mail-Adresse, unter der man Sie als für diese Zone Verantwortlichen („Besitzer“/„Owner“) kontaktieren kann. Sie wird zu @code{@@} umgeschrieben." #. type: item #: doc/guix.texi:19704 #, no-wrap msgid "@code{serial} (default: @code{1})" -msgstr "" +msgstr "@code{serial} (Vorgabe: @code{1})" #. type: table #: doc/guix.texi:19708 msgid "The serial number of the zone. As this is used to keep track of changes by both slaves and resolvers, it is mandatory that it @emph{never} decreases. Always increment it when you make a change in your zone." -msgstr "" +msgstr "Die Seriennummer der Zone. Da sie von sowohl „Slaves“ als auch „Resolvern“ benutzt wird, um bei Änderungen auf dem Laufenden zu bleiben, ist es notwendig, dass sie @emph{niemals} kleiner gemacht wird. Erhöhen Sie sie, wann immer Sie eine Änderung an Ihrer Zone durchführen." #. type: item #: doc/guix.texi:19709 #, no-wrap msgid "@code{refresh} (default: @code{(* 2 24 3600)})" -msgstr "" +msgstr "@code{refresh} (Vorgabe: @code{(* 2 24 3600)})" #. type: table #: doc/guix.texi:19713 msgid "The frequency at which slaves will do a zone transfer. This value is a number of seconds. It can be computed by multiplications or with @code{(string->duration)}." -msgstr "" +msgstr "Die Häufigkeit, wie oft Slaves eine Zonenübertragung („Zone Transfer“) durchführen. Als Wert wird eine Anzahl von Sekunden angegeben. Sie kann über eine Multiplikation oder mit @code{(string->duration)} angegeben werden." #. type: item #: doc/guix.texi:19714 #, no-wrap msgid "@code{retry} (default: @code{(* 15 60)})" -msgstr "" +msgstr "@code{retry} (Vorgabe: @code{(* 15 60)})" #. type: table #: doc/guix.texi:19717 msgid "The period after which a slave will retry to contact its master when it fails to do so a first time." -msgstr "" +msgstr "Nach welcher Zeitperiode ein Slave versuchen wird, Kontakt mit seinem Master aufzunehmen, wenn er ihn beim ersten Mal nicht erreichen kann." #. type: item #: doc/guix.texi:19718 #, no-wrap msgid "@code{expiry} (default: @code{(* 14 24 3600)})" -msgstr "" +msgstr "@code{expiry} (Vorgabe: @code{(* 14 24 3600)})" #. type: table #: doc/guix.texi:19722 msgid "Default TTL of records. Existing records are considered correct for at most this amount of time. After this period, resolvers will invalidate their cache and check again that it still exists." -msgstr "" +msgstr "Die Voreinstellung, welche TTL für Einträge verwendet werden soll. Bestehende Einträge werden für höchstens diese Zeitspanne als korrekt angesehen. Nach Ablauf dieser Zeitspanne werden „Resolver“ ihren Zwischenspeicher als ungültig markieren und erneut prüfen, ob der Eintrag noch existiert." #. type: item #: doc/guix.texi:19723 #, no-wrap msgid "@code{nx} (default: @code{3600})" -msgstr "" +msgstr "@code{nx} (Vorgabe: @code{3600})" #. type: table #: doc/guix.texi:19726 msgid "Default TTL of inexistant records. This delay is usually short because you want your new domains to reach everyone quickly." -msgstr "" +msgstr "Die voreingestellte TTL der @emph{nicht} existierenden Einträge. Sie stellt normalerweise eine kurze Verzögerung dar, weil Sie möchten, dass neue Domains für jeden schnell erkannt werden." #. type: deftp #: doc/guix.texi:19730 #, no-wrap msgid "{Data Type} knot-remote-configuration" -msgstr "" +msgstr "{Datentyp} knot-remote-configuration" #. type: deftp #: doc/guix.texi:19733 msgid "Data type representing a remote configuration. This type has the following parameters:" -msgstr "" +msgstr "Datentyp, der die Konfiguration eines entfernten Servers („Remote“) repräsentiert. Dieser Typ verfügt über die folgenden Parameter:" #. type: table #: doc/guix.texi:19738 msgid "An identifier for other configuration fields to refer to this remote. IDs must be unique and must not be empty." -msgstr "" +msgstr "Ein Identifikator, mit dem man sich in anderen Konfigurationsfeldern auf diesen entfernten Server („Remote“) beziehen kann. IDs müssen eindeutig sein und dürfen @emph{nicht} leer sein." #. type: table #: doc/guix.texi:19743 msgid "An ordered list of destination IP addresses. Addresses are tried in sequence. An optional port can be given with the @@ separator. For instance: @code{(list \"1.2.3.4\" \"2.3.4.5@@53\")}. Default port is 53." -msgstr "" +msgstr "Eine geordnete Liste der Empfänger-IP-Adressen. Adressen werden der Reihe nach durchprobiert. Optional kann eine Portnummer nach dem Trennzeichen @@ angegeben werden, zum Beispiel als @code{(list \"1.2.3.4\" \"2.3.4.5@@53\")}. Die Vorgabe ist 53." #. type: item #: doc/guix.texi:19744 #, no-wrap msgid "@code{via} (default: @code{'()})" -msgstr "" +msgstr "@code{via} (Vorgabe: @code{'()})" #. type: table #: doc/guix.texi:19748 msgid "An ordered list of source IP addresses. An empty list will have Knot choose an appropriate source IP. An optional port can be given with the @@ separator. The default is to choose at random." -msgstr "" +msgstr "Eine geordnete Liste der Quell-IP-Adressen. Eine leere Liste wird Knot eine sinnvolle Quell-IP-Adresse auswählen lassen. Optional kann eine Portnummer nach dem Trennzeichen @@ angegeben werden. Die Vorgabe wird zufällig ausgewählt." #. type: item #: doc/guix.texi:19749 #, no-wrap msgid "@code{key} (default: @code{#f})" -msgstr "" +msgstr "@code{key} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:19752 msgid "A reference to a key, that is a string containing the identifier of a key defined in a @code{knot-key-configuration} field." -msgstr "" +msgstr "Ein Verweis auf einen Schlüssel („Key“), also eine Zeichenkette, die den Identifikator eines Schlüssels enthält, der in einem @code{knot-key-configuration}-Feld festgelegt wurde." #. type: deftp #: doc/guix.texi:19756 #, no-wrap msgid "{Data Type} knot-keystore-configuration" -msgstr "" +msgstr "{Datentyp} knot-keystore-configuration" #. type: deftp #: doc/guix.texi:19759 msgid "Data type representing a keystore to hold dnssec keys. This type has the following parameters:" -msgstr "" +msgstr "Datentyp, der einen Schlüsselspeicher („Keystore“) repräsentiert, um DNSSEC-Schlüssel zu fassen. Dieser Typ verfügt über die folgenden Parameter:" #. type: table #: doc/guix.texi:19763 msgid "The id of the keystore. It must not be empty." -msgstr "" +msgstr "Der Identifikator des Schlüsselspeichers. Er darf nicht leer gelassen werden." #. type: item #: doc/guix.texi:19764 #, no-wrap msgid "@code{backend} (default: @code{'pem})" -msgstr "" +msgstr "@code{backend} (Vorgabe: @code{'pem})" #. type: table #: doc/guix.texi:19766 msgid "The backend to store the keys in. Can be @code{'pem} or @code{'pkcs11}." -msgstr "" +msgstr "Die Art von Hintergrundspeicher, in dem Schlüssel eingetragen werden. Sie kann @code{'pem} oder @code{'pkcs11} sein." #. type: item #: doc/guix.texi:19767 #, no-wrap msgid "@code{config} (default: @code{\"/var/lib/knot/keys/keys\"})" -msgstr "" +msgstr "@code{config} (Vorgabe: @code{\"/var/lib/knot/keys/keys\"})" #. type: table #: doc/guix.texi:19771 msgid "The configuration string of the backend. An example for the PKCS#11 is: @code{\"pkcs11:token=knot;pin-value=1234 /gnu/store/.../lib/pkcs11/libsofthsm2.so\"}. For the pem backend, the string reprensents a path in the file system." -msgstr "" +msgstr "Die Zeichenkette mit der Konfiguration des Hintergrundspeichers. Ein Beispiel für die PKCS#11 ist @code{\"pkcs11:token=knot;pin-value=1234 /gnu/store/…/lib/pkcs11/libsofthsm2.so\"}. Für pem als Hintergrundspeicher repräsentiert die Zeichenkette einen Pfad im Dateisystem." #. type: deftp #: doc/guix.texi:19775 #, no-wrap msgid "{Data Type} knot-policy-configuration" -msgstr "" +msgstr "{Datentyp} knot-policy-configuration" #. type: deftp #: doc/guix.texi:19779 msgid "Data type representing a dnssec policy. Knot DNS is able to automatically sign your zones. It can either generate and manage your keys automatically or use keys that you generate." -msgstr "" +msgstr "Datentyp, der die DNSSEC-Richtlinie repräsentiert. Knot DNS kann Ihre Zonen automatisch signieren. Der Dienst kann Ihre Schlüssel automatisch erzeugen und verwalten oder Schlüssel benutzen, die Sie selbst erzeugen." #. type: deftp #: doc/guix.texi:19786 msgid "Dnssec is usually implemented using two keys: a Key Signing Key (KSK) that is used to sign the second, and a Zone Signing Key (ZSK) that is used to sign the zone. In order to be trusted, the KSK needs to be present in the parent zone (usually a top-level domain). If your registrar supports dnssec, you will have to send them your KSK's hash so they can add a DS record in their zone. This is not automated and need to be done each time you change your KSK." -msgstr "" +msgstr "DNSSEC wird in der Regel mit zwei Schlüsseln implementiert: Ein Schlüssel, mit dem Schlüssel signiert werden („Key Signing Key“, KSK), signiert den zweiten Schlüssel, einen Schlüssel, der Zonen signiert („Zone Signing Key“, ZSK), mit dem die Zone signiert wird. Damit er als vertrauenswürdig angesehen wird, muss der KSK in der Elternzone stehen (meistens ist das eine Top-Level-Domain). Wenn Ihr Registrar DNSSEC unterstützt, müssen Sie ihm den Hash Ihres KSK übermitteln, damit er einen DS-Eintrag für Ihre Zone hinzufügen kann. Das passiert nicht automatisch und muss jedes Mal wiederholt werden, wenn Sie Ihren KSK ändern." #. type: deftp #: doc/guix.texi:19792 msgid "The policy also defines the lifetime of keys. Usually, ZSK can be changed easily and use weaker cryptographic functions (they use lower parameters) in order to sign records quickly, so they are changed often. The KSK however requires manual interaction with the registrar, so they are changed less often and use stronger parameters because they sign only one record." -msgstr "" +msgstr "Die Richtlinie legt auch fest, wie lange Ihre Schlüssel gültig bleiben. Normalerweise kann der ZSK leicht geändert werden und benutzt kryptografisch schwächere Funktionen (also niedrigere Parameter), damit Einträge schnell signiert werden können, wodurch man sie oft verändern kann. Der KSK setzt jedoch eine manuelle Interaktion mit dem Registrar voraus, also werden sie weniger oft geändert und verwenden stärkere Parameter, weil mit ihnen nur ein einziger Eintrag signiert wird." #. type: deftp #: doc/guix.texi:19794 msgid "This type has the following parameters:" -msgstr "" +msgstr "Dieser Typ verfügt über die folgenden Parameter:" #. type: table #: doc/guix.texi:19798 msgid "The id of the policy. It must not be empty." -msgstr "" +msgstr "Der Identifikator der Richtlinie. Er darf nicht leer sein." #. type: item #: doc/guix.texi:19799 #, no-wrap msgid "@code{keystore} (default: @code{\"default\"})" -msgstr "" +msgstr "@code{keystore} (Vorgabe: @code{\"default\"})" #. type: table #: doc/guix.texi:19804 msgid "A reference to a keystore, that is a string containing the identifier of a keystore defined in a @code{knot-keystore-configuration} field. The @code{\"default\"} identifier means the default keystore (a kasp database that was setup by this service)." -msgstr "" +msgstr "Eine Referenz auf einen Schlüsselspeicher („Keystore“), also eine Zeichenkette, die den Identifikator eines Schlüsselspeichers enthält, der in einem @code{knot-keystore-configuration}-Feld gespeichert ist. Der Identifikator @code{\"default\"} sorgt dafür, dass der vorgegebene Schlüsselspeicher verwendet wird (eine KASP-Datenbank, die durch diesen Dienst eingerichtet wurde)." #. type: item #: doc/guix.texi:19805 #, no-wrap msgid "@code{manual?} (default: @code{#f})" -msgstr "" +msgstr "@code{manual?} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:19807 msgid "Whether the key management is manual or automatic." -msgstr "" +msgstr "Ob Schlüssel manuell verwaltet werden sollen; andernfalls werden sie automatisch verwaltet." #. type: item #: doc/guix.texi:19808 #, no-wrap msgid "@code{single-type-signing?} (default: @code{#f})" -msgstr "" +msgstr "@code{single-type-signing?} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:19810 msgid "When @code{#t}, use the Single-Type Signing Scheme." -msgstr "" +msgstr "Wenn es auf @code{#t} steht, werden dieselben Schlüssel als KSK und ZSK verwendet („Single-Type Signing Scheme“)." #. type: item #: doc/guix.texi:19811 #, no-wrap msgid "@code{algorithm} (default: @code{\"ecdsap256sha256\"})" -msgstr "" +msgstr "@code{algorithm} (Vorgabe: @code{\"ecdsap256sha256\"})" #. type: table #: doc/guix.texi:19813 msgid "An algorithm of signing keys and issued signatures." -msgstr "" +msgstr "Ein Algorithmus für zum Signieren verwendete Schlüssel und ausgestellte Signaturen." #. type: item #: doc/guix.texi:19814 #, no-wrap msgid "@code{ksk-size} (default: @code{256})" -msgstr "" +msgstr "@code{ksk-size} (Vorgabe: @code{256})" #. type: table #: doc/guix.texi:19817 msgid "The length of the KSK. Note that this value is correct for the default algorithm, but would be unsecure for other algorithms." -msgstr "" +msgstr "Die Länge des KSK. Beachten Sie, dass dieser Wert für den vorgegebenen Algorithmus korrekt ist, aber für andere Algorithmen @emph{nicht} sicher wäre." #. type: item #: doc/guix.texi:19818 #, no-wrap msgid "@code{zsk-size} (default: @code{256})" -msgstr "" +msgstr "@code{zsk-size} (Vorgabe: @code{256})" #. type: table #: doc/guix.texi:19821 msgid "The length of the ZSK. Note that this value is correct for the default algorithm, but would be unsecure for other algorithms." -msgstr "" +msgstr "Die Länge des ZSK. Beachten Sie, dass dieser Wert für den vorgegebenen Algorithmus korrekt ist, aber für andere Algorithmen @emph{nicht} sicher wäre." #. type: item #: doc/guix.texi:19822 #, no-wrap msgid "@code{dnskey-ttl} (default: @code{'default})" -msgstr "" +msgstr "@code{dnskey-ttl} (Vorgabe: @code{'default})" #. type: table #: doc/guix.texi:19825 msgid "The TTL value for DNSKEY records added into zone apex. The special @code{'default} value means same as the zone SOA TTL." -msgstr "" +msgstr "Der TTL-Wert für DNSKEY-Einträge, die die Wurzel der Zone betreffen. Der besondere Wert @code{'default} bedeutet, dass dieselbe TTL wie für den SOA-Eintrag der Zone verwendet wird." #. type: item #: doc/guix.texi:19826 #, no-wrap msgid "@code{zsk-lifetime} (default: @code{(* 30 24 3600)})" -msgstr "" +msgstr "@code{zsk-lifetime} (Vorgabe: @code{(* 30 24 3600)})" #. type: table #: doc/guix.texi:19828 msgid "The period between ZSK publication and the next rollover initiation." -msgstr "" +msgstr "Die Zeitspanne zwischen der Veröffentlichung eines ZSK und dem Anfang des nächsten Schlüsselübergangs („Key Rollover“)." #. type: item #: doc/guix.texi:19829 #, no-wrap msgid "@code{propagation-delay} (default: @code{(* 24 3600)})" -msgstr "" +msgstr "@code{propagation-delay} (Vorgabe: @code{(* 24 3600)})" #. type: table #: doc/guix.texi:19832 msgid "An extra delay added for each key rollover step. This value should be high enough to cover propagation of data from the master server to all slaves." -msgstr "" +msgstr "Eine zusätzliche Verlängerung, die bei jedem Schritt im Schlüsselübergang („Key Rollover“) gewartet wird. Dieser Wert sollte hoch genug sein, damit in dieser Zeit Daten vom Master-Server alle Slaves erreichen." #. type: item #: doc/guix.texi:19833 #, no-wrap msgid "@code{rrsig-lifetime} (default: @code{(* 14 24 3600)})" -msgstr "" +msgstr "@code{rrsig-lifetime} (Vorgabe: @code{(* 14 24 3600)})" #. type: table #: doc/guix.texi:19835 msgid "A validity period of newly issued signatures." -msgstr "" +msgstr "Wie lange neu ausgestellte Signaturen gültig bleiben." #. type: item #: doc/guix.texi:19836 #, no-wrap msgid "@code{rrsig-refresh} (default: @code{(* 7 24 3600)})" -msgstr "" +msgstr "@code{rrsig-refresh} (Vorgabe: @code{(* 7 24 3600)})" #. type: table #: doc/guix.texi:19838 msgid "A period how long before a signature expiration the signature will be refreshed." -msgstr "" +msgstr "Wie lange im Voraus vor einem Auslaufen der Signatur diese Signatur erneuert werden soll." #. type: item #: doc/guix.texi:19839 #, no-wrap msgid "@code{nsec3?} (default: @code{#f})" -msgstr "" +msgstr "@code{nsec3?} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:19841 msgid "When @code{#t}, NSEC3 will be used instead of NSEC." -msgstr "" +msgstr "Ist es auf @code{#t} gesetzt, wird NSEC3 statt NSEC benutzt." #. type: item #: doc/guix.texi:19842 #, no-wrap msgid "@code{nsec3-iterations} (default: @code{5})" -msgstr "" +msgstr "@code{nsec3-iterations} (Vorgabe: @code{5})" #. type: table #: doc/guix.texi:19844 msgid "The number of additional times the hashing is performed." -msgstr "" +msgstr "Wie oft zusätzlich gehasht werden soll." #. type: item #: doc/guix.texi:19845 #, no-wrap msgid "@code{nsec3-salt-length} (default: @code{8})" -msgstr "" +msgstr "@code{nsec3-salt-length} (Vorgabe: @code{8})" #. type: table #: doc/guix.texi:19848 msgid "The length of a salt field in octets, which is appended to the original owner name before hashing." -msgstr "" +msgstr "Wie lange das kryptografische „Salt“ sein soll, als Anzahl von Oktetten. Es wird vor dem Hashen an den Namen des ursprünglichen Besitzers angehängt." #. type: item #: doc/guix.texi:19849 #, no-wrap msgid "@code{nsec3-salt-lifetime} (default: @code{(* 30 24 3600)})" -msgstr "" +msgstr "@code{nsec3-salt-lifetime} (Vorgabe: @code{(* 30 24 3600)})" #. type: table #: doc/guix.texi:19851 msgid "The validity period of newly issued salt field." -msgstr "" +msgstr "Wie lange das neu ausgestellte Salt-Feld gültig bleiben soll." #. type: deftp #: doc/guix.texi:19855 #, no-wrap msgid "{Data Type} knot-zone-configuration" -msgstr "" +msgstr "{Datentyp} knot-zone-configuration" #. type: deftp #: doc/guix.texi:19858 msgid "Data type representing a zone served by Knot. This type has the following parameters:" -msgstr "" +msgstr "Datentyp, der eine durch Knot verfügbar gemachte Zone repräsentiert. Dieser Typ verfügt über die folgenden Parameter:" #. type: item #: doc/guix.texi:19860 #, no-wrap msgid "@code{domain} (default: @code{\"\"})" -msgstr "" +msgstr "@code{domain} (Vorgabe: @code{\"\"})" #. type: table #: doc/guix.texi:19862 msgid "The domain served by this configuration. It must not be empty." -msgstr "" +msgstr "Die Domain, die durch diese Konfiguration zur Verfügung gestellt wird. Sie darf nicht leer sein." #. type: item #: doc/guix.texi:19863 #, no-wrap msgid "@code{file} (default: @code{\"\"})" -msgstr "" +msgstr "@code{file} (Vorgabe: @code{\"\"})" #. type: table #: doc/guix.texi:19866 msgid "The file where this zone is saved. This parameter is ignored by master zones. Empty means default location that depends on the domain name." -msgstr "" +msgstr "Die Datei, in der diese Zone abgespeichert wird. Dieser Parameter wird bei Master-Zonen ignoriert. Bleibt er leer, wird die vom Domain-Namen abhängige Voreinstellung benutzt." #. type: item #: doc/guix.texi:19867 #, no-wrap msgid "@code{zone} (default: @code{(zone-file)})" -msgstr "" +msgstr "@code{zone} (Vorgabe: @code{(zone-file)})" #. type: table #: doc/guix.texi:19870 msgid "The content of the zone file. This parameter is ignored by slave zones. It must contain a zone-file record." -msgstr "" +msgstr "Der Inhalt der Zonendatei. Dieser Parameter wird bei Slave-Zonen ignoriert. Er muss ein Verbundsobjekt vom Typ @code{zone-file} enthalten." #. type: item #: doc/guix.texi:19871 #, no-wrap msgid "@code{master} (default: @code{'()})" -msgstr "" +msgstr "@code{master} (Vorgabe: @code{'()})" #. type: table #: doc/guix.texi:19874 msgid "A list of master remotes. When empty, this zone is a master. When set, this zone is a slave. This is a list of remotes identifiers." -msgstr "" +msgstr "Eine Liste von als „Master“ geltenden entfernten Servern. Ist sie leer, ist diese Zone ein Master, sonst ein Slave. Es handelt sich um eine Liste von Identifikatoren entfernter Server („Remotes“)." #. type: item #: doc/guix.texi:19875 #, no-wrap msgid "@code{ddns-master} (default: @code{#f})" -msgstr "" +msgstr "@code{ddns-master} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:19878 msgid "The main master. When empty, it defaults to the first master in the list of masters." -msgstr "" +msgstr "Der vorrangige „Master“. Ist dies leer, wird hierfür der erste Master aus der Liste der Master benutzt." #. type: item #: doc/guix.texi:19879 #, no-wrap msgid "@code{notify} (default: @code{'()})" -msgstr "" +msgstr "@code{notify} (Vorgabe: @code{'()})" #. type: table #: doc/guix.texi:19881 msgid "A list of slave remote identifiers." -msgstr "" +msgstr "Eine Liste der Identifikatoren von entfernten Slave-Servern („Remotes“)." #. type: item #: doc/guix.texi:19882 #, no-wrap msgid "@code{acl} (default: @code{'()})" -msgstr "" +msgstr "@code{acl} (Vorgabe: @code{'()})" #. type: table #: doc/guix.texi:19884 msgid "A list of acl identifiers." -msgstr "" +msgstr "Eine Liste von Identifikatoren von Zugriffssteuerungslisten." #. type: item #: doc/guix.texi:19885 #, no-wrap msgid "@code{semantic-checks?} (default: @code{#f})" -msgstr "" +msgstr "@code{semantic-checks?} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:19887 msgid "When set, this adds more semantic checks to the zone." -msgstr "" +msgstr "Wenn dies festgelegt ist, werden für die Zone mehr semantische Überprüfungen durchgeführt." #. type: item #: doc/guix.texi:19888 #, no-wrap msgid "@code{disable-any?} (default: @code{#f})" -msgstr "" +msgstr "@code{disable-any?} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:19890 msgid "When set, this forbids queries of the ANY type." -msgstr "" +msgstr "Wenn dies gesetzt ist, werden Anfragen vom Typ ANY gesperrt." #. type: item #: doc/guix.texi:19891 #, no-wrap msgid "@code{zonefile-sync} (default: @code{0})" -msgstr "" +msgstr "@code{zonefile-sync} (Vorgabe: @code{0})" #. type: table #: doc/guix.texi:19894 msgid "The delay between a modification in memory and on disk. 0 means immediate synchronization." -msgstr "" +msgstr "Wie lange nach einer Änderung der im Arbeitsspeicher zwischengespeicherten Daten gewartet wird, bis die Daten auf die Platte geschrieben werden. Bei 0 werden sie sofort synchronisiert." #. type: item #: doc/guix.texi:19895 @@ -37273,47 +37409,47 @@ msgstr "@code{zonefile-load} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:19898 msgid "The way the zone file contents are applied during zone load. Possible values are:" -msgstr "" +msgstr "Wie die in der Zonendatei gespeicherten Daten benutzt werden, wenn die Zone geladen wird. Mögliche Werte sind:" #. type: item #: doc/guix.texi:19900 #, no-wrap msgid "@code{#f} for using the default value from Knot," -msgstr "" +msgstr "@code{#f} sorgt dafür, dass nach der Voreinstellung von Knot verfahren wird," #. type: item #: doc/guix.texi:19901 #, no-wrap msgid "@code{'none} for not using the zone file at all," -msgstr "" +msgstr "@code{'none} bewirkt, dass die Zonendatei überhaupt nicht benutzt wird," #. type: item #: doc/guix.texi:19902 #, no-wrap msgid "@code{'difference} for computing the difference between already available" -msgstr "" +msgstr "@code{'difference} lässt den Unterschied zwischen den bereits vorliegenden" #. type: itemize #: doc/guix.texi:19904 msgid "contents and zone contents and applying it to the current zone contents," -msgstr "" +msgstr "Daten und dem gespeicherten Inhalt der Zone berechnen, welcher dann zum vorliegenden Zoneninhalt hinzugenommen wird," #. type: item #: doc/guix.texi:19904 #, no-wrap msgid "@code{'difference-no-serial} for the same as @code{'difference}, but" -msgstr "" +msgstr "@code{'difference-no-serial} für dasselbe wie bei @code{'difference}," #. type: itemize #: doc/guix.texi:19907 msgid "ignoring the SOA serial in the zone file, while the server takes care of it automatically." -msgstr "" +msgstr "aber die SOA-Seriennummer in der Zonendatei wird ignoriert und der Server kümmert sich automatisch darum." #. type: item #: doc/guix.texi:19907 #, no-wrap msgid "@code{'whole} for loading zone contents from the zone file." -msgstr "" +msgstr "@code{'whole} lässt den ganzen Inhalt der Zone aus der Zonendatei auslesen." #. type: item #: doc/guix.texi:19910 @@ -37324,7 +37460,7 @@ msgstr "@code{journal-content} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:19915 msgid "The way the journal is used to store zone and its changes. Possible values are @code{'none} to not use it at all, @code{'changes} to store changes and @code{'all} to store contents. @code{#f} does not set this option, so the default value from Knot is used." -msgstr "" +msgstr "Wie in den Aufzeichnungen die Zone und Änderungen daran gespeichert werden sollen. Mögliche Werte sind @code{'none}, um keine Aufzeichnungen zu führen, @code{'changes}, um Änderungen zu speichern, und @code{'all}, wodurch der gesamte Inhalt gespeichert wird. Für @code{#f} wird dieser Wert nicht gesetzt, so dass der in Knot voreingestellte Wert benutzt wird." #. type: item #: doc/guix.texi:19916 @@ -37335,7 +37471,7 @@ msgstr "@code{max-journal-usage} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:19919 msgid "The maximum size for the journal on disk. @code{#f} does not set this option, so the default value from Knot is used." -msgstr "" +msgstr "Die maximale Größe, die Aufzeichnungen für die Wiederherstellbarkeit („Journal“) auf der Platte einnehmen können. Für @code{#f} wird dieser Wert nicht gesetzt, so dass der in Knot voreingestellte Wert benutzt wird." #. type: item #: doc/guix.texi:19920 @@ -37346,7 +37482,7 @@ msgstr "@code{max-journal-depth} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:19923 msgid "The maximum size of the history. @code{#f} does not set this option, so the default value from Knot is used." -msgstr "" +msgstr "Wieviele Aufzeichnungen höchstens im Änderungsverlauf gespeichert werden. Für @code{#f} wird dieser Wert nicht gesetzt, so dass der in Knot voreingestellte Wert benutzt wird." #. type: item #: doc/guix.texi:19924 @@ -37357,7 +37493,7 @@ msgstr "@code{max-zone-size} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:19928 msgid "The maximum size of the zone file. This limit is enforced for incoming transfer and updates. @code{#f} does not set this option, so the default value from Knot is used." -msgstr "" +msgstr "Die maximale Größe der Zonendatei. Diese Beschränkung wird auf eingehende Übertragungen und Aktualisierungen angewandt. Für @code{#f} wird dieser Wert nicht gesetzt, so dass der in Knot voreingestellte Wert benutzt wird." #. type: item #: doc/guix.texi:19929 @@ -37368,51 +37504,51 @@ msgstr "@code{dnssec-policy} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:19933 msgid "A reference to a @code{knot-policy-configuration} record, or the special name @code{\"default\"}. If the value is @code{#f}, there is no dnssec signing on this zone." -msgstr "" +msgstr "Ein Verweis auf ein @code{knot-policy-configuration}-Verbundsobjekt oder der besondere Name @code{\"default\"}, um die Voreinstellung von Knot zu verwenden. Wenn dies als der Wert @code{#f} angegeben wurde, findet in dieser Zone kein Signieren mit DNSSEC statt." #. type: item #: doc/guix.texi:19934 #, no-wrap msgid "@code{serial-policy} (default: @code{'increment})" -msgstr "" +msgstr "@code{serial-policy} (Vorgabe: @code{'increment})" #. type: table #: doc/guix.texi:19936 msgid "A policy between @code{'increment} and @code{'unixtime}." -msgstr "" +msgstr "Eine Richtlinie; entweder @code{'increment} (Seriennummer hochzählen) oder @code{'unixtime} (Unix-Zeitstempel verwenden)." #. type: deftp #: doc/guix.texi:19940 #, no-wrap msgid "{Data Type} knot-configuration" -msgstr "" +msgstr "{Datentyp} knot-configuration" #. type: deftp #: doc/guix.texi:19943 msgid "Data type representing the Knot configuration. This type has the following parameters:" -msgstr "" +msgstr "Datentyp, der die Konfiguration von Knot repräsentiert. Dieser Typ verfügt über die folgenden Parameter:" #. type: item #: doc/guix.texi:19945 #, no-wrap msgid "@code{knot} (default: @code{knot})" -msgstr "" +msgstr "@code{knot} (Vorgabe: @code{knot})" #. type: table #: doc/guix.texi:19947 msgid "The Knot package." -msgstr "" +msgstr "Das Knot-Paket." #. type: item #: doc/guix.texi:19948 #, no-wrap msgid "@code{run-directory} (default: @code{\"/var/run/knot\"})" -msgstr "" +msgstr "@code{run-directory} (Vorgabe: @code{\"/var/run/knot\"})" #. type: table #: doc/guix.texi:19950 msgid "The run directory. This directory will be used for pid file and sockets." -msgstr "" +msgstr "Das Laufzeit-Verzeichnis („run“-Verzeichnis). In diesem Verzeichnis werden die PID-Datei mit dem Prozessidentifikator und Sockets gespeichert." #. type: item #: doc/guix.texi:19951 @@ -37434,84 +37570,84 @@ msgstr "Geheimnisse, Knot-Dienst" #. type: table #: doc/guix.texi:19961 msgid "This can be used to manage secrets out-of-band. For example, secret keys may be stored in an out-of-band file not managed by Guix, and thus not visible in @file{/gnu/store}---e.g., you could store secret key configuration in @file{/etc/knot/secrets.conf} and add this file to the @code{includes} list." -msgstr "" +msgstr "Hiermit können Geheimnisse abseits von Guix’ Zuständigkeitsbereich gespeichert werden. Zum Beispiel können Sie geheime Schlüssel so in einer externen Datei speichern, die nicht von Guix verwaltet und daher auch nicht von jedem in @file{/gnu/store} ausgelesen werden kann — Sie können etwa Ihre geheime Schlüsselkonfiguration in @file{/etc/knot/secrets.conf} speichern und diese Datei dann zu Ihrer @code{includes}-Liste hinzufügen." #. type: table #: doc/guix.texi:19963 msgid "It can also be used to add configuration not supported by this interface." -msgstr "" +msgstr "Sie können die @code{includes} auch benutzen, um von der Guix-Schnittstelle nicht unterstützte Einstellungen festzulegen." #. type: item #: doc/guix.texi:19964 #, no-wrap msgid "@code{listen-v4} (default: @code{\"0.0.0.0\"})" -msgstr "" +msgstr "@code{listen-v4} (Vorgabe: @code{\"0.0.0.0\"})" #. type: table #: doc/guix.texi:19966 doc/guix.texi:19969 msgid "An ip address on which to listen." -msgstr "" +msgstr "Eine IP-Adresse, auf der gelauscht werden soll." #. type: item #: doc/guix.texi:19967 #, no-wrap msgid "@code{listen-v6} (default: @code{\"::\"})" -msgstr "" +msgstr "@code{listen-v6} (Vorgabe: @code{\"::\"})" #. type: item #: doc/guix.texi:19970 #, no-wrap msgid "@code{listen-port} (default: @code{53})" -msgstr "" +msgstr "@code{listen-port} (Vorgabe: @code{53})" #. type: table #: doc/guix.texi:19972 msgid "A port on which to listen." -msgstr "" +msgstr "Ein Port, auf dem gelauscht werden soll." #. type: item #: doc/guix.texi:19973 #, no-wrap msgid "@code{keys} (default: @code{'()})" -msgstr "" +msgstr "@code{keys} (Vorgabe: @code{'()})" #. type: table #: doc/guix.texi:19975 msgid "The list of knot-key-configuration used by this configuration." -msgstr "" +msgstr "Die Liste der @code{knot-key-configuration}-Objekte, die von dieser Konfiguration benutzt werden sollen." #. type: item #: doc/guix.texi:19976 #, no-wrap msgid "@code{acls} (default: @code{'()})" -msgstr "" +msgstr "@code{acls} (Vorgabe: @code{'()})" #. type: table #: doc/guix.texi:19978 msgid "The list of knot-acl-configuration used by this configuration." -msgstr "" +msgstr "Die Liste der @code{knot-acl-configuration}-Objekte, die von dieser Konfiguration benutzt werden sollen." #. type: item #: doc/guix.texi:19979 #, no-wrap msgid "@code{remotes} (default: @code{'()})" -msgstr "" +msgstr "@code{remotes} (Vorgabe: @code{'()})" #. type: table #: doc/guix.texi:19981 msgid "The list of knot-remote-configuration used by this configuration." -msgstr "" +msgstr "Die Liste der @code{knot-remote-configuration}-Objekte, die von dieser Konfiguration benutzt werden sollen." #. type: item #: doc/guix.texi:19982 #, no-wrap msgid "@code{zones} (default: @code{'()})" -msgstr "" +msgstr "@code{zones} (Vorgabe: @code{'()})" #. type: table #: doc/guix.texi:19984 msgid "The list of knot-zone-configuration used by this configuration." -msgstr "" +msgstr "Die Liste der @code{knot-zone-configuration}-Objekte, die von dieser Konfiguration benutzt werden sollen." #. type: subsubheading #: doc/guix.texi:19988 @@ -37523,12 +37659,12 @@ msgstr "Dnsmasq-Dienst" #: doc/guix.texi:19990 #, no-wrap msgid "{Scheme Variable} dnsmasq-service-type" -msgstr "" +msgstr "{Scheme-Variable} dnsmasq-service-type" #. type: deffn #: doc/guix.texi:19993 msgid "This is the type of the dnsmasq service, whose value should be an @code{dnsmasq-configuration} object as in this example:" -msgstr "" +msgstr "Dies ist der Diensttyp des dnsmasq-Dienstes, dessen Wert ein @code{dnsmasq-configuration}-Objekt wie in diesem Beispiel sein sollte:" #. type: example #: doc/guix.texi:19999 @@ -37539,6 +37675,10 @@ msgid "" " (no-resolv? #t)\n" " (servers '(\"192.168.1.1\"))))\n" msgstr "" +"(service dnsmasq-service-type\n" +" (dnsmasq-configuration\n" +" (no-resolv? #t)\n" +" (servers '(\"192.168.1.1\"))))\n" #. type: deftp #: doc/guix.texi:20002 @@ -37560,7 +37700,7 @@ msgstr "@code{package} (Vorgabe: @var{dnsmasq})" #. type: table #: doc/guix.texi:20008 msgid "Package object of the dnsmasq server." -msgstr "" +msgstr "Paketobjekt des dnsmasq-Servers." #. type: item #: doc/guix.texi:20009 @@ -37571,7 +37711,7 @@ msgstr "@code{no-hosts?} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:20011 msgid "When true, don't read the hostnames in /etc/hosts." -msgstr "" +msgstr "Ist es auf wahr gesetzt, werden keine Rechnernamen („Hostnames“) aus /etc/hosts ausgelesen." #. type: item #: doc/guix.texi:20012 @@ -37582,7 +37722,7 @@ msgstr "@code{port} (Vorgabe: @code{53})" #. type: table #: doc/guix.texi:20015 msgid "The port to listen on. Setting this to zero completely disables DNS responses, leaving only DHCP and/or TFTP functions." -msgstr "" +msgstr "Der Port, auf dem gelauscht werden soll. Wird dies auf null gesetzt, werden keinerlei DNS-Anfragen beantwortet und es bleiben nur DHCP- und/oder TFTP-Funktionen." #. type: item #: doc/guix.texi:20016 @@ -37593,7 +37733,7 @@ msgstr "@code{local-service?} (Vorgabe: @code{#t})" #. type: table #: doc/guix.texi:20019 msgid "Accept DNS queries only from hosts whose address is on a local subnet, ie a subnet for which an interface exists on the server." -msgstr "" +msgstr "DNS-Anfragen nur von Rechnern akzeptieren, deren Adresse auf einem lokalen Subnetz liegt, d.h.@: einem Subnetz, für dem auf dem Server eine Schnittstelle existiert." #. type: item #: doc/guix.texi:20020 @@ -37604,7 +37744,7 @@ msgstr "@code{listen-addresses} (Vorgabe: @code{'()})" #. type: table #: doc/guix.texi:20022 msgid "Listen on the given IP addresses." -msgstr "" +msgstr "Lässt auf den angegebenen IP-Adressen lauschen." #. type: item #: doc/guix.texi:20023 @@ -37615,7 +37755,7 @@ msgstr "@code{resolv-file} (Vorgabe: @code{\"/etc/resolv.conf\"})" #. type: table #: doc/guix.texi:20025 msgid "The file to read the IP address of the upstream nameservers from." -msgstr "" +msgstr "Aus welcher Datei die IP-Adresse der zu verwendenden Namensserver gelesen werden sollen." #. type: item #: doc/guix.texi:20026 @@ -37626,12 +37766,12 @@ msgstr "@code{no-resolv?} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:20028 msgid "When true, don't read @var{resolv-file}." -msgstr "" +msgstr "Wenn es auf wahr steht, wird das @var{resolv-file} nicht gelesen." #. type: table #: doc/guix.texi:20031 msgid "Specify IP address of upstream servers directly." -msgstr "" +msgstr "Geben Sie die IP-Adresse von anzufragenden Servern direkt an." #. type: item #: doc/guix.texi:20032 @@ -37642,7 +37782,7 @@ msgstr "@code{cache-size} (Vorgabe: @code{150})" #. type: table #: doc/guix.texi:20035 msgid "Set the size of dnsmasq's cache. Setting the cache size to zero disables caching." -msgstr "" +msgstr "Bestimmt die Größe des Zwischenspeichers von dnsmasq. Wird die Zwischenspeichergröße auf null festgelegt, wird kein Zwischenspeicher benutzt." #. type: item #: doc/guix.texi:20036 @@ -37653,7 +37793,7 @@ msgstr "@code{negative-cache?} (Vorgabe: @code{#t})" #. type: table #: doc/guix.texi:20038 msgid "When false, disable negative caching." -msgstr "" +msgstr "Ist dies auf falsch gesetzt, werden Negativergebnisse nicht zwischengespeichert." #. type: subsubheading #: doc/guix.texi:20042 @@ -37665,39 +37805,39 @@ msgstr "ddclient-Dienst" #: doc/guix.texi:20044 #, no-wrap msgid "ddclient" -msgstr "" +msgstr "ddclient" #. type: Plain text #: doc/guix.texi:20048 msgid "The ddclient service described below runs the ddclient daemon, which takes care of automatically updating DNS entries for service providers such as @uref{https://dyn.com/dns/, Dyn}." -msgstr "" +msgstr "Der im Folgenden beschriebene ddclient-Dienst führt den ddclient-Daemon aus, der dafür sorgt, dass DNS-Einträge für Dienstanbieter wie @uref{https://dyn.com/dns/, Dyn} automatisch aktualisiert werden." #. type: Plain text #: doc/guix.texi:20051 msgid "The following example show instantiates the service with its default configuration:" -msgstr "" +msgstr "Das folgende Beispiel zeigt, wie man den Dienst mit seiner Vorgabekonfiguration instanziiert:" #. type: example #: doc/guix.texi:20054 #, no-wrap msgid "(service ddclient-service-type)\n" -msgstr "" +msgstr "(service ddclient-service-type)\n" #. type: Plain text #: doc/guix.texi:20063 msgid "Note that ddclient needs to access credentials that are stored in a @dfn{secret file}, by default @file{/etc/ddclient/secrets} (see @code{secret-file} below.) You are expected to create this file manually, in an ``out-of-band'' fashion (you @emph{could} make this file part of the service configuration, for instance by using @code{plain-file}, but it will be world-readable @i{via} @file{/gnu/store}.) See the examples in the @file{share/ddclient} directory of the @code{ddclient} package." -msgstr "" +msgstr "Beachten Sie, dass der ddclient auf Zugangsdaten zugreifen muss, die in einer @dfn{Geheimnisdatei} („Secret File“) stehen; nach Vorgabe wird sie in @file{/etc/ddclient/secrets} gesucht (siehe @code{secret-file} unten). Es wird erwartet, dass Sie diese Datei manuell erstellen, ohne Guix dafür zu benutzen (theoretisch @emph{könnten} Sie die Datei zu einem Teil Ihrer Dienstkonfiguration machen, indem Sie z.B.@: @code{plain-file} benutzen, aber dann könnte jeder über @file{/gnu/store} ihren Inhalt einsehen). Siehe die Beispiele im Verzeichnis @file{share/ddclient} des @code{ddclient}-Pakets." #. type: Plain text #: doc/guix.texi:20067 msgid "Available @code{ddclient-configuration} fields are:" -msgstr "" +msgstr "Verfügbare @code{ddclient-configuration}-Felder sind:" #. type: deftypevr #: doc/guix.texi:20068 #, no-wrap msgid "{@code{ddclient-configuration} parameter} package ddclient" -msgstr "" +msgstr "{@code{ddclient-configuration}-Parameter} „package“ ddclient" #. type: deftypevr #: doc/guix.texi:20070 @@ -37708,45 +37848,45 @@ msgstr "Das ddclient-Paket." #: doc/guix.texi:20073 #, no-wrap msgid "{@code{ddclient-configuration} parameter} integer daemon" -msgstr "" +msgstr "{@code{ddclient-configuration}-Parameter} Ganze-Zahl daemon" #. type: deftypevr #: doc/guix.texi:20075 msgid "The period after which ddclient will retry to check IP and domain name." -msgstr "" +msgstr "Nach wieviel Zeit ddclient erneut versuchen wird, IP und Domain-Namen zu überprüfen." #. type: deftypevr #: doc/guix.texi:20080 #, no-wrap msgid "{@code{ddclient-configuration} parameter} boolean syslog" -msgstr "" +msgstr "{@code{ddclient-configuration}-Parameter} Boolescher-Ausdruck syslog" #. type: deftypevr #: doc/guix.texi:20082 msgid "Use syslog for the output." -msgstr "" +msgstr "Ob die Ausgabe an Syslog gehen soll." #. type: deftypevr #: doc/guix.texi:20087 #, no-wrap msgid "{@code{ddclient-configuration} parameter} string mail" -msgstr "" +msgstr "{@code{ddclient-configuration}-Parameter} Zeichenkette mail" #. type: deftypevr #: doc/guix.texi:20089 msgid "Mail to user." -msgstr "" +msgstr "An welchen Benutzer Mitteilungen gemailt werden sollen." #. type: deftypevr #: doc/guix.texi:20091 doc/guix.texi:20098 doc/guix.texi:21435 msgid "Defaults to @samp{\"root\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"root\"}." #. type: deftypevr #: doc/guix.texi:20094 #, no-wrap msgid "{@code{ddclient-configuration} parameter} string mail-failure" -msgstr "" +msgstr "{@code{ddclient-configuration}-Parameter} Zeichenkette mail-failure" #. type: deftypevr #: doc/guix.texi:20096 @@ -37757,7 +37897,7 @@ msgstr "Den Nutzer per Mail bei fehlgeschlagenen Aktualisierungen benachrichtige #: doc/guix.texi:20101 #, no-wrap msgid "{@code{ddclient-configuration} parameter} string pid" -msgstr "" +msgstr "{@code{ddclient-configuration}-Parameter} Zeichenkette pid" #. type: deftypevr #: doc/guix.texi:20103 @@ -37767,929 +37907,929 @@ msgstr "PID-Datei für den ddclient." #. type: deftypevr #: doc/guix.texi:20105 msgid "Defaults to @samp{\"/var/run/ddclient/ddclient.pid\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"/var/run/ddclient/ddclient.pid\"}." #. type: deftypevr #: doc/guix.texi:20108 #, no-wrap msgid "{@code{ddclient-configuration} parameter} boolean ssl" -msgstr "" +msgstr "{@code{ddclient-configuration}-Parameter} Boolescher-Ausdruck ssl" #. type: deftypevr #: doc/guix.texi:20110 msgid "Enable SSL support." -msgstr "" +msgstr "SSL-Unterstützung aktivieren." #. type: deftypevr #: doc/guix.texi:20115 #, no-wrap msgid "{@code{ddclient-configuration} parameter} string user" -msgstr "" +msgstr "{@code{ddclient-configuration}-Parameter} Zeichenkette user" #. type: deftypevr #: doc/guix.texi:20118 msgid "Specifies the user name or ID that is used when running ddclient program." -msgstr "" +msgstr "Gibt den Namen oder Identifikator des Benutzerkontos an, unter dem das ddclient-Programm laufen soll." #. type: deftypevr #: doc/guix.texi:20120 doc/guix.texi:20127 msgid "Defaults to @samp{\"ddclient\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"ddclient\"}." #. type: deftypevr #: doc/guix.texi:20123 #, no-wrap msgid "{@code{ddclient-configuration} parameter} string group" -msgstr "" +msgstr "{@code{ddclient-configuration}-Parameter} Zeichenkette group" #. type: deftypevr #: doc/guix.texi:20125 msgid "Group of the user who will run the ddclient program." -msgstr "" +msgstr "Die Gruppe des Benutzers, mit dem das ddclient-Programm läuft." #. type: deftypevr #: doc/guix.texi:20130 #, no-wrap msgid "{@code{ddclient-configuration} parameter} string secret-file" -msgstr "" +msgstr "{@code{ddclient-configuration}-Parameter} Zeichenkette secret-file" #. type: deftypevr #: doc/guix.texi:20134 msgid "Secret file which will be appended to @file{ddclient.conf} file. This file contains credentials for use by ddclient. You are expected to create it manually." -msgstr "" +msgstr "Die Geheimnisdatei („Secret File“), die an die erzeugte @file{ddclient.conf}-Datei angehängt wird. Diese Datei enthält die Zugangsdaten, die ddclient benutzen soll. Es wird erwartet, dass Sie sie manuell erzeugen." #. type: deftypevr #: doc/guix.texi:20136 msgid "Defaults to @samp{\"/etc/ddclient/secrets.conf\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"/etc/ddclient/secrets.conf\"}." #. type: deftypevr #: doc/guix.texi:20139 #, no-wrap msgid "{@code{ddclient-configuration} parameter} list extra-options" -msgstr "" +msgstr "{@code{ddclient-configuration}-Parameter} Liste extra-options" #. type: deftypevr #: doc/guix.texi:20141 msgid "Extra options will be appended to @file{ddclient.conf} file." -msgstr "" +msgstr "Zusätzliche Einstellungsoptionen, die an die @file{ddclient.conf}-Datei angehängt werden." #. type: cindex #: doc/guix.texi:20152 #, no-wrap msgid "VPN (virtual private network)" -msgstr "" +msgstr "VPN (Virtual Private Network)" #. type: cindex #: doc/guix.texi:20153 #, no-wrap msgid "virtual private network (VPN)" -msgstr "" +msgstr "Virtual Private Network (VPN)" #. type: Plain text #: doc/guix.texi:20159 msgid "The @code{(gnu services vpn)} module provides services related to @dfn{virtual private networks} (VPNs). It provides a @emph{client} service for your machine to connect to a VPN, and a @emph{server} service for your machine to host a VPN. Both services use @uref{https://openvpn.net/, OpenVPN}." -msgstr "" +msgstr "Das Modul @code{(gnu services vpn)} stellt Dienste zur Verfügung, die mit @dfn{Virtual Private Networks} (VPNs) zu tun haben. Darin wird ein @emph{Client}-Dienst angeboten, mit dem sich Ihre Maschine mit einem VPN verbinden kann, sowie ein @emph{Server}-Dienst, mit dem Sie auf Ihrer Maschine ein VPN betreiben können. Beide Dienste benutzen @uref{https://openvpn.net/, OpenVPN}." #. type: deffn #: doc/guix.texi:20160 #, no-wrap msgid "{Scheme Procedure} openvpn-client-service @" -msgstr "" +msgstr "{Scheme-Prozedur} openvpn-client-service @" #. type: deffn #: doc/guix.texi:20162 msgid "[#:config (openvpn-client-configuration)]" -msgstr "" +msgstr "[#:config (openvpn-client-configuration)]" #. type: deffn #: doc/guix.texi:20164 msgid "Return a service that runs @command{openvpn}, a VPN daemon, as a client." -msgstr "" +msgstr "Liefert einen Dienst, der den VPN-Daemon @command{openvpn} als Client ausführt." #. type: deffn #: doc/guix.texi:20166 #, no-wrap msgid "{Scheme Procedure} openvpn-server-service @" -msgstr "" +msgstr "{Scheme-Prozedur} openvpn-server-service @" #. type: deffn #: doc/guix.texi:20168 msgid "[#:config (openvpn-server-configuration)]" -msgstr "" +msgstr "[#:config (openvpn-server-configuration)]" #. type: deffn #: doc/guix.texi:20170 msgid "Return a service that runs @command{openvpn}, a VPN daemon, as a server." -msgstr "" +msgstr "Liefert einen Dienst, der den VPN-Daemon @command{openvpn} als Server ausführt." #. type: deffn #: doc/guix.texi:20172 msgid "Both can be run simultaneously." -msgstr "" +msgstr "Beide können zeitgleich laufen gelassen werden." #. type: Plain text #: doc/guix.texi:20177 msgid "Available @code{openvpn-client-configuration} fields are:" -msgstr "" +msgstr "Verfügbare @code{openvpn-client-configuration}-Felder sind:" #. type: deftypevr #: doc/guix.texi:20178 #, no-wrap msgid "{@code{openvpn-client-configuration} parameter} package openvpn" -msgstr "" +msgstr "{@code{openvpn-client-configuration}-Parameter} „package“ openvpn" #. type: deftypevr #: doc/guix.texi:20180 doc/guix.texi:20316 msgid "The OpenVPN package." -msgstr "" +msgstr "Das OpenVPN-Paket." #. type: deftypevr #: doc/guix.texi:20183 #, no-wrap msgid "{@code{openvpn-client-configuration} parameter} string pid-file" -msgstr "" +msgstr "{@code{openvpn-client-configuration}-Parameter} Zeichenkette pid-file" #. type: deftypevr #: doc/guix.texi:20185 doc/guix.texi:20321 msgid "The OpenVPN pid file." -msgstr "" +msgstr "Die Datei für den Prozessidentifikator („PID“) von OpenVPN." #. type: deftypevr #: doc/guix.texi:20187 doc/guix.texi:20323 msgid "Defaults to @samp{\"/var/run/openvpn/openvpn.pid\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"/var/run/openvpn/openvpn.pid\"}." #. type: deftypevr #: doc/guix.texi:20190 #, no-wrap msgid "{@code{openvpn-client-configuration} parameter} proto proto" -msgstr "" +msgstr "{@code{openvpn-client-configuration}-Parameter} Protokoll proto" #. type: deftypevr #: doc/guix.texi:20193 doc/guix.texi:20329 msgid "The protocol (UDP or TCP) used to open a channel between clients and servers." -msgstr "" +msgstr "Das Protokoll (UDP oder TCP), das benutzt werden soll, um einen Kommunikationskanal zwischen Clients und Servern herzustellen." #. type: deftypevr #: doc/guix.texi:20195 doc/guix.texi:20331 msgid "Defaults to @samp{udp}." -msgstr "" +msgstr "Die Vorgabe ist @samp{udp}." #. type: deftypevr #: doc/guix.texi:20198 #, no-wrap msgid "{@code{openvpn-client-configuration} parameter} dev dev" -msgstr "" +msgstr "{@code{openvpn-client-configuration}-Parameter} Gerät dev" #. type: deftypevr #: doc/guix.texi:20200 doc/guix.texi:20336 msgid "The device type used to represent the VPN connection." -msgstr "" +msgstr "Der Gerätetyp, mit dem die VPN-Verbindung repräsentiert werden soll." #. type: deftypevr #: doc/guix.texi:20202 doc/guix.texi:20338 msgid "Defaults to @samp{tun}." -msgstr "" +msgstr "Die Vorgabe ist @samp{tun}." #. type: deftypevr #: doc/guix.texi:20205 #, no-wrap msgid "{@code{openvpn-client-configuration} parameter} string ca" -msgstr "" +msgstr "{@code{openvpn-client-configuration}-Parameter} Zeichenkette ca" #. type: deftypevr #: doc/guix.texi:20207 doc/guix.texi:20343 msgid "The certificate authority to check connections against." -msgstr "" +msgstr "Die Zertifikatsautorität, mit der Verbindungen geprüft werden." #. type: deftypevr #: doc/guix.texi:20209 doc/guix.texi:20345 msgid "Defaults to @samp{\"/etc/openvpn/ca.crt\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"/etc/openvpn/ca.crt\"}." #. type: deftypevr #: doc/guix.texi:20212 #, no-wrap msgid "{@code{openvpn-client-configuration} parameter} string cert" -msgstr "" +msgstr "{@code{openvpn-client-configuration}-Parameter} Zeichenkette cert" #. type: deftypevr #: doc/guix.texi:20215 doc/guix.texi:20351 msgid "The certificate of the machine the daemon is running on. It should be signed by the authority given in @code{ca}." -msgstr "" +msgstr "Das Zertifikat der Maschine, auf der der Daemon läuft. Es sollte von der in @code{ca} angegebenen Zertifikatsautorität signiert sein." #. type: deftypevr #: doc/guix.texi:20217 doc/guix.texi:20353 msgid "Defaults to @samp{\"/etc/openvpn/client.crt\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"/etc/openvpn/client.crt\"}." #. type: deftypevr #: doc/guix.texi:20220 #, no-wrap msgid "{@code{openvpn-client-configuration} parameter} string key" -msgstr "" +msgstr "{@code{openvpn-client-configuration}-Parameter} Zeichenkette key" #. type: deftypevr #: doc/guix.texi:20223 doc/guix.texi:20359 msgid "The key of the machine the daemon is running on. It must be the key whose certificate is @code{cert}." -msgstr "" +msgstr "Der Schlüssel der Maschine, auf der der Daemon läuft. Er muss der Schlüssel zum in @code{cert} angegebenen Zertifikat sein." #. type: deftypevr #: doc/guix.texi:20225 doc/guix.texi:20361 msgid "Defaults to @samp{\"/etc/openvpn/client.key\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"/etc/openvpn/client.key\"}." #. type: deftypevr #: doc/guix.texi:20228 #, no-wrap msgid "{@code{openvpn-client-configuration} parameter} boolean comp-lzo?" -msgstr "" +msgstr "{@code{openvpn-client-configuration}-Parameter} Boolescher-Ausdruck comp-lzo?" #. type: deftypevr #: doc/guix.texi:20230 doc/guix.texi:20366 msgid "Whether to use the lzo compression algorithm." -msgstr "" +msgstr "Ob der Kompressionsalgorithmus lzo benutzt werden soll." #. type: deftypevr #: doc/guix.texi:20235 #, no-wrap msgid "{@code{openvpn-client-configuration} parameter} boolean persist-key?" -msgstr "" +msgstr "{@code{openvpn-client-configuration}-Parameter} Boolescher-Ausdruck persist-key?" #. type: deftypevr #: doc/guix.texi:20237 doc/guix.texi:20373 msgid "Don't re-read key files across SIGUSR1 or --ping-restart." -msgstr "" +msgstr "Die Schlüsseldateien nach Auftreten von SIGUSR1 oder --ping-restart @emph{nicht} erneut einlesen." #. type: deftypevr #: doc/guix.texi:20242 #, no-wrap msgid "{@code{openvpn-client-configuration} parameter} boolean persist-tun?" -msgstr "" +msgstr "{@code{openvpn-client-configuration}-Parameter} Boolescher-Ausdruck persist-tun?" #. type: deftypevr #: doc/guix.texi:20245 doc/guix.texi:20381 msgid "Don't close and reopen TUN/TAP device or run up/down scripts across SIGUSR1 or --ping-restart restarts." -msgstr "" +msgstr "Nach dem Auftreten von SIGUSR1 oder --ping-restart TUN/TAP-Geräte @emph{nicht} schließen und wieder öffnen und auch keine Start-/Stop-Skripte ausführen." #. type: deftypevr #: doc/guix.texi:20250 #, no-wrap msgid "{@code{openvpn-client-configuration} parameter} number verbosity" -msgstr "" +msgstr "{@code{openvpn-client-configuration}-Parameter} Zahl verbosity" #. type: deftypevr #: doc/guix.texi:20252 doc/guix.texi:20388 msgid "Verbosity level." -msgstr "" +msgstr "Ausführlichkeitsstufe." #. type: deftypevr #: doc/guix.texi:20254 doc/guix.texi:20390 doc/guix.texi:21703 #: doc/guix.texi:21926 msgid "Defaults to @samp{3}." -msgstr "" +msgstr "Die Vorgabe ist @samp{3}." #. type: deftypevr #: doc/guix.texi:20257 #, no-wrap msgid "{@code{openvpn-client-configuration} parameter} tls-auth-client tls-auth" -msgstr "" +msgstr "{@code{openvpn-client-configuration}-Parameter} „tls-auth“-Clienteinstellung tls-auth" #. type: deftypevr #: doc/guix.texi:20260 doc/guix.texi:20396 msgid "Add an additional layer of HMAC authentication on top of the TLS control channel to protect against DoS attacks." -msgstr "" +msgstr "Eine weitere HMAC-Authentifizierung zusätzlich zum TLS-Steuerungskanal einsetzen, um das System vor gezielten Überlastungsangriffen („Denial of Service“) zu schützen." #. type: deftypevr #: doc/guix.texi:20265 #, no-wrap msgid "{@code{openvpn-client-configuration} parameter} key-usage verify-key-usage?" -msgstr "" +msgstr "{@code{openvpn-client-configuration}-Parameter} Schlüsselprüfung verify-key-usage?" #. type: deftypevr #: doc/guix.texi:20267 msgid "Whether to check the server certificate has server usage extension." -msgstr "" +msgstr "Ob sichergestellt werden soll, dass das Server-Zertifikat auch über eine Erweiterung („Extension“) verfügt, dass es für die Nutzung als Server gültig ist." #. type: deftypevr #: doc/guix.texi:20272 #, no-wrap msgid "{@code{openvpn-client-configuration} parameter} bind bind?" -msgstr "" +msgstr "{@code{openvpn-client-configuration}-Parameter} bind bind?" #. type: deftypevr #: doc/guix.texi:20274 msgid "Bind to a specific local port number." -msgstr "" +msgstr "Ob an immer dieselbe, feste lokale Portnummer gebunden wird." #. type: deftypevr #: doc/guix.texi:20279 #, no-wrap msgid "{@code{openvpn-client-configuration} parameter} resolv-retry resolv-retry?" -msgstr "" +msgstr "{@code{openvpn-client-configuration}-Parameter} Erneut-Auflösen resolv-retry?" #. type: deftypevr #: doc/guix.texi:20281 msgid "Retry resolving server address." -msgstr "" +msgstr "Ob, wenn die Server-Adresse nicht aufgelöst werden konnte, die Auflösung erneut versucht wird." #. type: deftypevr #: doc/guix.texi:20286 #, no-wrap msgid "{@code{openvpn-client-configuration} parameter} openvpn-remote-list remote" -msgstr "" +msgstr "{@code{openvpn-client-configuration}-Parameter} „openvpn-remote-configuration“-Liste remote" #. type: deftypevr #: doc/guix.texi:20288 msgid "A list of remote servers to connect to." -msgstr "" +msgstr "Eine Liste entfernter Servern, mit denen eine Verbindung hergestellt werden soll." #. type: deftypevr #: doc/guix.texi:20292 msgid "Available @code{openvpn-remote-configuration} fields are:" -msgstr "" +msgstr "Verfügbare @code{openvpn-remote-configuration}-Felder sind:" #. type: deftypevr #: doc/guix.texi:20293 #, no-wrap msgid "{@code{openvpn-remote-configuration} parameter} string name" -msgstr "" +msgstr "{@code{openvpn-remote-configuration}-Parameter} Zeichenkette name" #. type: deftypevr #: doc/guix.texi:20295 msgid "Server name." -msgstr "" +msgstr "Der Servername." #. type: deftypevr #: doc/guix.texi:20297 msgid "Defaults to @samp{\"my-server\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"my-server\"}." #. type: deftypevr #: doc/guix.texi:20300 #, no-wrap msgid "{@code{openvpn-remote-configuration} parameter} number port" -msgstr "" +msgstr "{@code{openvpn-remote-configuration}-Parameter} Zahl port" #. type: deftypevr #: doc/guix.texi:20302 msgid "Port number the server listens to." -msgstr "" +msgstr "Die Portnummer, auf der der Server lauscht." #. type: deftypevr #: doc/guix.texi:20304 doc/guix.texi:20405 msgid "Defaults to @samp{1194}." -msgstr "" +msgstr "Die Vorgabe ist @samp{1194}." #. type: Plain text #: doc/guix.texi:20313 msgid "Available @code{openvpn-server-configuration} fields are:" -msgstr "" +msgstr "Verfügbare @code{openvpn-server-configuration}-Felder sind:" #. type: deftypevr #: doc/guix.texi:20314 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} package openvpn" -msgstr "" +msgstr "{@code{openvpn-server-configuration}-Parameter} „package“ openvpn" #. type: deftypevr #: doc/guix.texi:20319 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} string pid-file" -msgstr "" +msgstr "{@code{openvpn-server-configuration}-Parameter} Zeichenkette pid-file" #. type: deftypevr #: doc/guix.texi:20326 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} proto proto" -msgstr "" +msgstr "{@code{openvpn-server-configuration}-Parameter} Protokoll proto" #. type: deftypevr #: doc/guix.texi:20334 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} dev dev" -msgstr "" +msgstr "{@code{openvpn-server-configuration}-Parameter} Gerät dev" #. type: deftypevr #: doc/guix.texi:20341 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} string ca" -msgstr "" +msgstr "{@code{openvpn-server-configuration}-Parameter} Zeichenkette ca" #. type: deftypevr #: doc/guix.texi:20348 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} string cert" -msgstr "" +msgstr "{@code{openvpn-server-configuration}-Parameter} Zeichenkette cert" #. type: deftypevr #: doc/guix.texi:20356 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} string key" -msgstr "" +msgstr "{@code{openvpn-server-configuration}-Parameter} Zeichenkette key" #. type: deftypevr #: doc/guix.texi:20364 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} boolean comp-lzo?" -msgstr "" +msgstr "{@code{openvpn-server-configuration}-Parameter} Boolescher-Ausdruck comp-lzo?" #. type: deftypevr #: doc/guix.texi:20371 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} boolean persist-key?" -msgstr "" +msgstr "{@code{openvpn-server-configuration}-Parameter} Boolescher-Ausdruck persist-key?" #. type: deftypevr #: doc/guix.texi:20378 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} boolean persist-tun?" -msgstr "" +msgstr "{@code{openvpn-server-configuration}-Parameter} Boolescher-Ausdruck persist-tun?" #. type: deftypevr #: doc/guix.texi:20386 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} number verbosity" -msgstr "" +msgstr "{@code{openvpn-server-configuration}-Parameter} Zahl verbosity" #. type: deftypevr #: doc/guix.texi:20393 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} tls-auth-server tls-auth" -msgstr "" +msgstr "{@code{openvpn-server-configuration}-Parameter} „tls-auth“-Servereinstellung tls-auth" #. type: deftypevr #: doc/guix.texi:20401 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} number port" -msgstr "" +msgstr "{@code{openvpn-server-configuration}-Parameter} Zahl port" #. type: deftypevr #: doc/guix.texi:20403 msgid "Specifies the port number on which the server listens." -msgstr "" +msgstr "Gibt die Portnummer an, auf der der Server lauscht." #. type: deftypevr #: doc/guix.texi:20408 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} ip-mask server" -msgstr "" +msgstr "{@code{openvpn-server-configuration}-Parameter} IP-und-Maske server" #. type: deftypevr #: doc/guix.texi:20410 msgid "An ip and mask specifying the subnet inside the virtual network." -msgstr "" +msgstr "Eine IP-Adresse gefolgt von deren Maske, die das Subnetz im virtuellen Netzwerk angibt." #. type: deftypevr #: doc/guix.texi:20412 msgid "Defaults to @samp{\"10.8.0.0 255.255.255.0\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"10.8.0.0 255.255.255.0\"}." #. type: deftypevr #: doc/guix.texi:20415 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} cidr6 server-ipv6" -msgstr "" +msgstr "{@code{openvpn-server-configuration}-Parameter} cidr6 server-ipv6" #. type: deftypevr #: doc/guix.texi:20417 msgid "A CIDR notation specifying the IPv6 subnet inside the virtual network." -msgstr "" +msgstr "Eine CIDR-Notation, mit der das IPv6-Subnetz im virtuellen Netzwerk angegeben wird." #. type: deftypevr #: doc/guix.texi:20422 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} string dh" -msgstr "" +msgstr "{@code{openvpn-server-configuration}-Parameter} Zeichenkette dh" #. type: deftypevr #: doc/guix.texi:20424 msgid "The Diffie-Hellman parameters file." -msgstr "" +msgstr "Die Datei mit den Diffie-Hellman-Parametern." #. type: deftypevr #: doc/guix.texi:20426 msgid "Defaults to @samp{\"/etc/openvpn/dh2048.pem\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"/etc/openvpn/dh2048.pem\"}." #. type: deftypevr #: doc/guix.texi:20429 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} string ifconfig-pool-persist" -msgstr "" +msgstr "{@code{openvpn-server-configuration}-Parameter} Zeichenkette ifconfig-pool-persist" #. type: deftypevr #: doc/guix.texi:20431 msgid "The file that records client IPs." -msgstr "" +msgstr "Die Datei, in der Client-IPs eingetragen werden." #. type: deftypevr #: doc/guix.texi:20433 msgid "Defaults to @samp{\"/etc/openvpn/ipp.txt\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"/etc/openvpn/ipp.txt\"}." #. type: deftypevr #: doc/guix.texi:20436 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} gateway redirect-gateway?" -msgstr "" +msgstr "{@code{openvpn-server-configuration}-Parameter} Zugang redirect-gateway?" #. type: deftypevr #: doc/guix.texi:20438 msgid "When true, the server will act as a gateway for its clients." -msgstr "" +msgstr "Wenn dies auf wahr steht, fungiert der Server als Zugang („Gateway“) für seine Clients." #. type: deftypevr #: doc/guix.texi:20443 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} boolean client-to-client?" -msgstr "" +msgstr "{@code{openvpn-server-configuration}-Parameter} Boolescher-Ausdruck client-to-client?" #. type: deftypevr #: doc/guix.texi:20445 msgid "When true, clients are allowed to talk to each other inside the VPN." -msgstr "" +msgstr "Wenn dies auf wahr steht, ist es zugelassen, dass Clients untereinander innerhalb des VPNs kommunizieren." #. type: deftypevr #: doc/guix.texi:20450 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} keepalive keepalive" -msgstr "" +msgstr "{@code{openvpn-server-configuration}-Parameter} Aufrechterhaltung keepalive" #. type: deftypevr #: doc/guix.texi:20456 msgid "Causes ping-like messages to be sent back and forth over the link so that each side knows when the other side has gone down. @code{keepalive} requires a pair. The first element is the period of the ping sending, and the second element is the timeout before considering the other side down." -msgstr "" +msgstr "Lässt ping-artige Nachrichtigen in beide Richtungen über die Leitung übertragen, damit beide Seiten bemerken, wenn der Kommunikationspartner offline geht. Für @code{keepalive} muss ein Paar angegeben werden. Das erste Element ist die Periode, nach der das Pingsignal wieder gesendet werden soll, und das zweite ist eine Zeitbegrenzung, in der eines ankommen muss, damit die andere Seite nicht als offline gilt." #. type: deftypevr #: doc/guix.texi:20459 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} number max-clients" -msgstr "" +msgstr "{@code{openvpn-server-configuration}-Parameter} Zahl max-clients" #. type: deftypevr #: doc/guix.texi:20461 msgid "The maximum number of clients." -msgstr "" +msgstr "Wieviele Clients es höchstens geben kann." #. type: deftypevr #: doc/guix.texi:20466 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} string status" -msgstr "" +msgstr "{@code{openvpn-server-configuration}-Parameter} Zeichenkette status" #. type: deftypevr #: doc/guix.texi:20469 msgid "The status file. This file shows a small report on current connection. It is truncated and rewritten every minute." -msgstr "" +msgstr "Die Datei für einen Zustandsbericht („Status File“). Diese Datei enthält einen kurzen Bericht über die momentane Verbindung. Sie wird jede Minute gekürzt und neu geschrieben." #. type: deftypevr #: doc/guix.texi:20471 msgid "Defaults to @samp{\"/var/run/openvpn/status\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"/var/run/openvpn/status\"}." #. type: deftypevr #: doc/guix.texi:20474 #, no-wrap msgid "{@code{openvpn-server-configuration} parameter} openvpn-ccd-list client-config-dir" -msgstr "" +msgstr "{@code{openvpn-server-configuration}-Parameter} „openvpn-ccd-configuration“-Liste client-config-dir" #. type: deftypevr #: doc/guix.texi:20476 msgid "The list of configuration for some clients." -msgstr "" +msgstr "Die Liste der Konfigurationen für einige Clients." #. type: deftypevr #: doc/guix.texi:20480 msgid "Available @code{openvpn-ccd-configuration} fields are:" -msgstr "" +msgstr "Verfügbare @code{openvpn-ccd-configuration}-Felder sind:" #. type: deftypevr #: doc/guix.texi:20481 #, no-wrap msgid "{@code{openvpn-ccd-configuration} parameter} string name" -msgstr "" +msgstr "{@code{openvpn-ccd-configuration}-Parameter} Zeichenkette name" #. type: deftypevr #: doc/guix.texi:20483 msgid "Client name." -msgstr "" +msgstr "Der Client-Name." #. type: deftypevr #: doc/guix.texi:20485 msgid "Defaults to @samp{\"client\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"client\"}." #. type: deftypevr #: doc/guix.texi:20488 #, no-wrap msgid "{@code{openvpn-ccd-configuration} parameter} ip-mask iroute" -msgstr "" +msgstr "{@code{openvpn-ccd-configuration}-Parameter} IP-und-Maske iroute" #. type: deftypevr #: doc/guix.texi:20490 msgid "Client own network" -msgstr "" +msgstr "Das eigene Netzwerk des Clients." #. type: deftypevr #: doc/guix.texi:20495 #, no-wrap msgid "{@code{openvpn-ccd-configuration} parameter} ip-mask ifconfig-push" -msgstr "" +msgstr "{@code{openvpn-ccd-configuration}-Parameter} IP-und-Maske ifconfig-push" #. type: deftypevr #: doc/guix.texi:20497 msgid "Client VPN IP." -msgstr "" +msgstr "VPN-IP-Adresse des Clients." #. type: cindex #: doc/guix.texi:20510 #, no-wrap msgid "NFS" -msgstr "" +msgstr "NFS" #. type: Plain text #: doc/guix.texi:20515 msgid "The @code{(gnu services nfs)} module provides the following services, which are most commonly used in relation to mounting or exporting directory trees as @dfn{network file systems} (NFS)." -msgstr "" +msgstr "Das Modul @code{(gnu services nfs)} stellt die folgenden Dienste zur Verfügung, die meistens dazu benutzt werden, Verzeichnisbäume als Netzwerkdateisysteme, englisch @dfn{Network File Systems} (NFS), einzubinden oder an andere zu exportieren." #. type: subsubheading #: doc/guix.texi:20516 #, no-wrap msgid "RPC Bind Service" -msgstr "" +msgstr "RPC-Bind-Dienst" #. type: cindex #: doc/guix.texi:20517 #, no-wrap msgid "rpcbind" -msgstr "" +msgstr "rpcbind" #. type: Plain text #: doc/guix.texi:20523 msgid "The RPC Bind service provides a facility to map program numbers into universal addresses. Many NFS related services use this facility. Hence it is automatically started when a dependent service starts." -msgstr "" +msgstr "Mit dem RPC-Bind-Dienst können Programmnummern auf universelle Adressen abgebildet werden. Viele Dienste, die mit dem NFS zu tun haben, benutzen diese Funktion, daher wird sie automatisch gestartet, sobald ein davon abhängiger Dienst startet." #. type: defvr #: doc/guix.texi:20524 #, no-wrap msgid "{Scheme Variable} rpcbind-service-type" -msgstr "" +msgstr "{Scheme-Variable} rpcbind-service-type" #. type: defvr #: doc/guix.texi:20526 msgid "A service type for the RPC portmapper daemon." -msgstr "" +msgstr "Ein Diensttyp für den RPC-Portplaner-Daemon („Portmapper“)." #. type: deftp #: doc/guix.texi:20529 #, no-wrap msgid "{Data Type} rpcbind-configuration" -msgstr "" +msgstr "{Datentyp} rpcbind-configuration" #. type: deftp #: doc/guix.texi:20532 msgid "Data type representing the configuration of the RPC Bind Service. This type has the following parameters:" -msgstr "" +msgstr "Datentyp, der die Konfiguration des RPC-Bind-Dienstes repräsentiert. Dieser Typ verfügt über die folgenden Parameter:" #. type: item #: doc/guix.texi:20533 #, no-wrap msgid "@code{rpcbind} (default: @code{rpcbind})" -msgstr "" +msgstr "@code{rpcbind} (Vorgabe: @code{rpcbind})" #. type: table #: doc/guix.texi:20535 msgid "The rpcbind package to use." -msgstr "" +msgstr "Das rpcbind-Paket, das benutzt werden soll." #. type: item #: doc/guix.texi:20536 #, no-wrap msgid "@code{warm-start?} (default: @code{#t})" -msgstr "" +msgstr "@code{warm-start?} (Vorgabe: @code{#t})" #. type: table #: doc/guix.texi:20540 msgid "If this parameter is @code{#t}, then the daemon will read a state file on startup thus reloading state information saved by a previous instance." -msgstr "" +msgstr "Wenn dieser Parameter @code{#t} ist, wird der Daemon beim Starten eine Zustandsdatei („State File“) lesen, aus der er die von der vorherigen Instanz gespeicherten Zustandsinformationen wiederherstellt." #. type: subsubheading #: doc/guix.texi:20544 #, no-wrap msgid "Pipefs Pseudo File System" -msgstr "" +msgstr "Pipefs-Pseudodateisystem" #. type: cindex #: doc/guix.texi:20545 #, no-wrap msgid "pipefs" -msgstr "" +msgstr "pipefs" #. type: cindex #: doc/guix.texi:20546 #, no-wrap msgid "rpc_pipefs" -msgstr "" +msgstr "rpc_pipefs" #. type: Plain text #: doc/guix.texi:20550 msgid "The pipefs file system is used to transfer NFS related data between the kernel and user space programs." -msgstr "" +msgstr "Mit dem Pipefs-Dateisystem können NFS-bezogene Daten zwischen dem Kernel und Programmen auf der Anwendungsebene (dem „User Space“) übertragen werden." #. type: defvr #: doc/guix.texi:20551 #, no-wrap msgid "{Scheme Variable} pipefs-service-type" -msgstr "" +msgstr "{Scheme-Variable} pipefs-service-type" #. type: defvr #: doc/guix.texi:20553 msgid "A service type for the pipefs pseudo file system." -msgstr "" +msgstr "Ein Diensttyp für das Pseudodateisystem „Pipefs“." #. type: deftp #: doc/guix.texi:20555 #, no-wrap msgid "{Data Type} pipefs-configuration" -msgstr "" +msgstr "{Datentyp} pipefs-configuration" #. type: deftp #: doc/guix.texi:20558 msgid "Data type representing the configuration of the pipefs pseudo file system service. This type has the following parameters:" -msgstr "" +msgstr "Datentyp, der die Konfiguration des Pipefs-Pseudodateisystemdienstes repräsentiert. Dieser Typ verfügt über die folgenden Parameter:" #. type: item #: doc/guix.texi:20559 #, no-wrap msgid "@code{mount-point} (default: @code{\"/var/lib/nfs/rpc_pipefs\"})" -msgstr "" +msgstr "@code{mount-point} (Vorgabe: @code{\"/var/lib/nfs/rpc_pipefs\"})" #. type: table #: doc/guix.texi:20561 msgid "The directory to which the file system is to be attached." -msgstr "" +msgstr "Das Verzeichnis, unter dem das Dateisystem eingebunden werden soll." #. type: subsubheading #: doc/guix.texi:20565 #, no-wrap msgid "GSS Daemon Service" -msgstr "" +msgstr "GSS-Daemon-Dienst" #. type: cindex #: doc/guix.texi:20566 #, no-wrap msgid "GSSD" -msgstr "" +msgstr "GSSD" #. type: cindex #: doc/guix.texi:20567 #, no-wrap msgid "GSS" -msgstr "" +msgstr "GSS" #. type: cindex #: doc/guix.texi:20568 #, no-wrap msgid "global security system" -msgstr "" +msgstr "Global Security System" #. type: Plain text #: doc/guix.texi:20575 msgid "The @dfn{global security system} (GSS) daemon provides strong security for RPC based protocols. Before exchanging RPC requests an RPC client must establish a security context. Typically this is done using the Kerberos command @command{kinit} or automatically at login time using PAM services (@pxref{Kerberos Services})." -msgstr "" +msgstr "Der Daemon des @dfn{Global Security System} (GSS) ermöglicht starke Informationssicherheit für RPC-basierte Protokolle. Vor dem Austausch von Anfragen über entfernte Prozeduraufrufe („Remote Procedure Calls“, kurz RPC) muss ein RPC-Client einen Sicherheitskontext („Security Context“) herstellen. Typischerweise wird dazu der @command{kinit}-Befehl von Kerberos benutzt, oder er wird automatisch bei der Anmeldung über PAM-Dienste hergestellt (siehe @ref{Kerberos Services})." #. type: defvr #: doc/guix.texi:20576 #, no-wrap msgid "{Scheme Variable} gss-service-type" -msgstr "" +msgstr "{Scheme-Variable} gss-service-type" #. type: defvr #: doc/guix.texi:20578 msgid "A service type for the Global Security System (GSS) daemon." -msgstr "" +msgstr "Ein Diensttyp für den Daemon des Global Security System (GSS)." #. type: deftp #: doc/guix.texi:20580 #, no-wrap msgid "{Data Type} gss-configuration" -msgstr "" +msgstr "{Datentyp} gss-configuration" #. type: deftp #: doc/guix.texi:20583 msgid "Data type representing the configuration of the GSS daemon service. This type has the following parameters:" -msgstr "" +msgstr "Datentyp, der die Konfiguration des GSS-Daemon-Dienstes repräsentiert. Dieser Typ verfügt über die folgenden Parameter:" #. type: item #: doc/guix.texi:20584 doc/guix.texi:20609 #, no-wrap msgid "@code{nfs-utils} (default: @code{nfs-utils})" -msgstr "" +msgstr "@code{nfs-utils} (Vorgabe: @code{nfs-utils})" #. type: table #: doc/guix.texi:20586 msgid "The package in which the @command{rpc.gssd} command is to be found." -msgstr "" +msgstr "Das Paket, in dem der Befehl @command{rpc.gssd} gesucht werden soll." #. type: item #: doc/guix.texi:20587 doc/guix.texi:20612 #, no-wrap msgid "@code{pipefs-directory} (default: @code{\"/var/lib/nfs/rpc_pipefs\"})" -msgstr "" +msgstr "@code{pipefs-directory} (Vorgabe: @code{\"/var/lib/nfs/rpc_pipefs\"})" #. type: table #: doc/guix.texi:20589 doc/guix.texi:20614 msgid "The directory where the pipefs file system is mounted." -msgstr "" +msgstr "Das Verzeichnis, unter dem das Pipefs-Dateisystem eingebunden wurde." #. type: subsubheading #: doc/guix.texi:20594 #, no-wrap msgid "IDMAP Daemon Service" -msgstr "" +msgstr "IDMAP-Daemon-Dienst" #. type: cindex #: doc/guix.texi:20595 #, no-wrap msgid "idmapd" -msgstr "" +msgstr "idmapd" #. type: cindex #: doc/guix.texi:20596 #, no-wrap msgid "name mapper" -msgstr "" +msgstr "Name-Mapper" #. type: Plain text #: doc/guix.texi:20600 msgid "The idmap daemon service provides mapping between user IDs and user names. Typically it is required in order to access file systems mounted via NFSv4." -msgstr "" +msgstr "Der idmap-Daemon-Dienst ermöglicht eine Abbildung zwischen Benutzeridentifikatoren und Benutzernamen. Er wird in der Regel dafür benötigt, auf über NFSv4 eingebundene Dateisysteme zuzugreifen." #. type: defvr #: doc/guix.texi:20601 #, no-wrap msgid "{Scheme Variable} idmap-service-type" -msgstr "" +msgstr "{Scheme-Variable} idmap-service-type" #. type: defvr #: doc/guix.texi:20603 msgid "A service type for the Identity Mapper (IDMAP) daemon." -msgstr "" +msgstr "Ein Diensttyp für den Identity-Mapper-Daemon (IDMAP)." #. type: deftp #: doc/guix.texi:20605 #, no-wrap msgid "{Data Type} idmap-configuration" -msgstr "" +msgstr "{Datentyp} idmap-configuration" #. type: deftp #: doc/guix.texi:20608 msgid "Data type representing the configuration of the IDMAP daemon service. This type has the following parameters:" -msgstr "" +msgstr "Datentyp, der die Konfiguration des IDMAP-Daemon-Dienstes repräsentiert. Dieser Typ verfügt über die folgenden Parameter:" #. type: table #: doc/guix.texi:20611 msgid "The package in which the @command{rpc.idmapd} command is to be found." -msgstr "" +msgstr "Das Paket, in dem der Befehl @command{rpc.idmapd} gesucht werden soll." #. type: item #: doc/guix.texi:20615 #, no-wrap msgid "@code{domain} (default: @code{#f})" -msgstr "" +msgstr "@code{domain} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:20619 msgid "The local NFSv4 domain name. This must be a string or @code{#f}. If it is @code{#f} then the daemon will use the host's fully qualified domain name." -msgstr "" +msgstr "Der lokale NFSv4-Domain-Name. Für ihn muss eine Zeichenkette oder @code{#f} angegeben werden. Wenn @code{#f} angegeben wird, benutzt der Daemon den vollständigen Domain-Namen („Fully Qualified Domain Name“) des Rechners." #. type: Plain text #: doc/guix.texi:20630 msgid "@uref{https://git.savannah.gnu.org/cgit/guix/guix-cuirass.git, Cuirass} is a continuous integration tool for Guix. It can be used both for development and for providing substitutes to others (@pxref{Substitutes})." -msgstr "" +msgstr "@uref{https://git.savannah.gnu.org/cgit/guix/guix-cuirass.git, Cuirass} ist ein Werkzeug zur kontinuierlichen Integration für Guix. Es kann sowohl bei der Entwicklung helfen als auch beim Anbieten von Substituten für andere (siehe @ref{Substitutes})." #. type: Plain text #: doc/guix.texi:20632 msgid "The @code{(gnu services cuirass)} module provides the following service." -msgstr "" +msgstr "Das Modul @code{(gnu services cuirass)} stellt den folgenden Dienst zur Verfügung:" #. type: defvr #: doc/guix.texi:20633 #, no-wrap msgid "{Scheme Procedure} cuirass-service-type" -msgstr "" +msgstr "{Scheme-Prozedur} cuirass-service-type" #. type: defvr #: doc/guix.texi:20636 msgid "The type of the Cuirass service. Its value must be a @code{cuirass-configuration} object, as described below." -msgstr "" +msgstr "Der Diensttyp des Cuirass-Dienstes. Sein Wert muss ein @code{cuirass-configuration}-Verbundsobjekt sein, wie im Folgenden beschrieben." #. type: Plain text #: doc/guix.texi:20643 msgid "To add build jobs, you have to set the @code{specifications} field of the configuration. Here is an example of a service that polls the Guix repository and builds the packages from a manifest. Some of the packages are defined in the @code{\"custom-packages\"} input, which is the equivalent of @code{GUIX_PACKAGE_PATH}." -msgstr "" +msgstr "Um Erstellungsaufträge („Build Jobs“) hinzuzufügen, müssen Sie sie im @code{specifications}-Feld der Konfiguration eintragen. Hier ist ein Beispiel für einen Dienst, der das Guix-Repository regelmäßig lädt und die Pakete aus einem der Manifeste erstellt. Manche der Pakete werden in der Eingabe @code{\"eigene-pakete\"} definiert, was als @code{GUIX_PACKAGE_PATH} benutzt wird." #. type: example #: doc/guix.texi:20671 @@ -38723,6 +38863,33 @@ msgid "" " (#:no-compile? . #t)))))))\n" "\n" msgstr "" +"(define %cuirass-specs\n" +" #~(list\n" +" '((#:name . \"my-manifest\")\n" +" (#:load-path-inputs . (\"guix\"))\n" +" (#:package-path-inputs . (\"eigene-pakete\"))\n" +" (#:proc-input . \"guix\")\n" +" (#:proc-file . \"build-aux/cuirass/gnu-system.scm\")\n" +" (#:proc . cuirass-jobs)\n" +" (#:proc-args . ((subset . \"manifests\")\n" +" (systems . (\"x86_64-linux\"))\n" +" (manifests . ((\"config\" . \"guix/manifest.scm\")))))\n" +" (#:inputs . (((#:name . \"guix\")\n" +" (#:url . \"git://git.savannah.gnu.org/guix.git\")\n" +" (#:load-path . \".\")\n" +" (#:branch . \"master\")\n" +" (#:no-compile? . #t))\n" +" ((#:name . \"config\")\n" +" (#:url . \"git://git.example.org/config.git\")\n" +" (#:load-path . \".\")\n" +" (#:branch . \"master\")\n" +" (#:no-compile? . #t))\n" +" ((#:name . \"eigene-pakete\")\n" +" (#:url . \"git://git.example.org/eigene-pakete.git\")\n" +" (#:load-path . \".\")\n" +" (#:branch . \"master\")\n" +" (#:no-compile? . #t)))))))\n" +"\n" #. type: example #: doc/guix.texi:20675 @@ -38732,77 +38899,80 @@ msgid "" " (cuirass-configuration\n" " (specifications %cuirass-specs)))\n" msgstr "" +"(service cuirass-service-type\n" +" (cuirass-configuration\n" +" (specifications %cuirass-specs)))\n" #. type: Plain text #: doc/guix.texi:20680 msgid "While information related to build jobs is located directly in the specifications, global settings for the @command{cuirass} process are accessible in other @code{cuirass-configuration} fields." -msgstr "" +msgstr "Die Informationen, die sich auf Erstellungsaufträge beziehen, werden direkt in deren Spezifikation festgelegt, aber globale Einstellungen des @command{cuirass}-Prozesses sind über andere Felder der @code{cuirass-configuration} zugänglich." #. type: deftp #: doc/guix.texi:20681 #, no-wrap msgid "{Data Type} cuirass-configuration" -msgstr "" +msgstr "{Datentyp} cuirass-configuration" #. type: deftp #: doc/guix.texi:20683 msgid "Data type representing the configuration of Cuirass." -msgstr "" +msgstr "Datentyp, der die Konfiguration von Cuirass repräsentiert." #. type: item #: doc/guix.texi:20685 #, no-wrap msgid "@code{log-file} (default: @code{\"/var/log/cuirass.log\"})" -msgstr "" +msgstr "@code{log-file} (Vorgabe: @code{\"/var/log/cuirass.log\"})" #. type: table #: doc/guix.texi:20687 msgid "Location of the log file." -msgstr "" +msgstr "An welchen Ort die Protokolldatei geschrieben wird." #. type: item #: doc/guix.texi:20688 #, no-wrap msgid "@code{cache-directory} (default: @code{\"/var/cache/cuirass\"})" -msgstr "" +msgstr "@code{cache-directory} (Vorgabe: @code{\"/var/cache/cuirass\"})" #. type: table #: doc/guix.texi:20690 msgid "Location of the repository cache." -msgstr "" +msgstr "Ort, wo Repositorys zwischengespeichert werden." #. type: item #: doc/guix.texi:20691 #, no-wrap msgid "@code{user} (default: @code{\"cuirass\"})" -msgstr "" +msgstr "@code{user} (Vorgabe: @code{\"cuirass\"})" #. type: table #: doc/guix.texi:20693 msgid "Owner of the @code{cuirass} process." -msgstr "" +msgstr "Besitzer des @code{cuirass}-Prozesses." #. type: item #: doc/guix.texi:20694 #, no-wrap msgid "@code{group} (default: @code{\"cuirass\"})" -msgstr "" +msgstr "@code{group} (Vorgabe: @code{\"cuirass\"})" #. type: table #: doc/guix.texi:20696 msgid "Owner's group of the @code{cuirass} process." -msgstr "" +msgstr "Gruppe des Besitzers des @code{cuirass}-Prozesses." #. type: item #: doc/guix.texi:20697 #, no-wrap msgid "@code{interval} (default: @code{60})" -msgstr "" +msgstr "@code{interval} (Vorgabe: @code{60})" #. type: table #: doc/guix.texi:20700 msgid "Number of seconds between the poll of the repositories followed by the Cuirass jobs." -msgstr "" +msgstr "Anzahl der Sekunden, bevor ein Repository wieder neu geladen wird und danach Cuirass-Aufträge behandelt werden." #. type: item #: doc/guix.texi:20701 @@ -38813,7 +38983,7 @@ msgstr "@code{database} (Vorgabe: @code{\"/var/lib/cuirass/cuirass.db\"})" #. type: table #: doc/guix.texi:20704 msgid "Location of sqlite database which contains the build results and previously added specifications." -msgstr "" +msgstr "An welchem Ort sich die sqlite-Datenbank befinden soll, die die Erstellungsergebnisse und bisher hinzugefügte Spezifikationen speichert." #. type: item #: doc/guix.texi:20705 @@ -38824,90 +38994,90 @@ msgstr "@code{ttl} (Vorgabe: @code{(* 30 24 3600)})" #. type: table #: doc/guix.texi:20709 msgid "Specifies the time-to-live (TTL) in seconds of garbage collector roots that are registered for build results. This means that build results are protected from garbage collection for at least @var{ttl} seconds." -msgstr "" +msgstr "Gibt an, wieviele Sekunden für Erstellungsergebnisse registrierte Müllsammlerwurzeln gültig bleiben („Time-to-live“, kurz TTL). Dadurch werden Erstellungsergebnisse für mindestens @var{ttl}-viele Sekunden geschützt." #. type: item #: doc/guix.texi:20710 #, no-wrap msgid "@code{port} (default: @code{8081})" -msgstr "" +msgstr "@code{port} (Vortrag: @code{8081})" #. type: table #: doc/guix.texi:20712 msgid "Port number used by the HTTP server." -msgstr "" +msgstr "Portnummer, die vom HTTP-Server benutzt wird." #. type: table #: doc/guix.texi:20716 msgid "Listen on the network interface for @var{host}. The default is to accept connections from localhost." -msgstr "" +msgstr "Auf der Netzwerkschnittstelle für den Rechnernamen @var{host} lauschen. Nach Vorgabe werden Verbindungen vom lokalen Rechner @code{localhost} akzeptiert." #. type: item #: doc/guix.texi:20717 #, no-wrap msgid "@code{specifications} (default: @code{#~'()})" -msgstr "" +msgstr "@code{specifications} (Vorgabe: @code{#~'()})" #. type: table #: doc/guix.texi:20723 msgid "A gexp (@pxref{G-Expressions}) that evaluates to a list of specifications, where a specification is an association list (@pxref{Associations Lists,,, guile, GNU Guile Reference Manual}) whose keys are keywords (@code{#:keyword-example}) as shown in the example above." -msgstr "" +msgstr "Ein G-Ausdruck (siehe @ref{G-Expressions}), der zu einer Liste von Spezifikationen ausgewertet wird, wobei jede Spezifikation eine assoziative Liste ist (siehe @ref{Associations Lists,,, guile, GNU Guile Reference Manual}), deren Schlüssel Schlüsselwörter sind („Keywords“ wie z.B.@: @code{#:beispiel-für-ein-schlüsselwort}), wie im Beispiel oben gezeigt." #. type: item #: doc/guix.texi:20724 #, no-wrap msgid "@code{use-substitutes?} (default: @code{#f})" -msgstr "" +msgstr "@code{use-substitutes?} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:20727 msgid "This allows using substitutes to avoid building every dependencies of a job from source." -msgstr "" +msgstr "Hierdurch wird zugelassen, Substitute zu benutzen, damit @emph{nicht} jede Abhängigkeit eines Auftrags erst aus ihrem Quellcode heraus erstellt werden muss." #. type: item #: doc/guix.texi:20728 doc/guix.texi:25286 #, no-wrap msgid "@code{one-shot?} (default: @code{#f})" -msgstr "" +msgstr "@code{one-shot?} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:20730 msgid "Only evaluate specifications and build derivations once." -msgstr "" +msgstr "Spezifikationen nur einmal auswerten und Ableitungen nur einmal erstellen." #. type: item #: doc/guix.texi:20731 #, no-wrap msgid "@code{fallback?} (default: @code{#f})" -msgstr "" +msgstr "@code{fallback?} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:20734 msgid "When substituting a pre-built binary fails, fall back to building packages locally." -msgstr "" +msgstr "Pakete lokal erstellen, wenn das Substituieren einer vorerstellten Binärdatei fehlschlägt." #. type: item #: doc/guix.texi:20735 #, no-wrap msgid "@code{cuirass} (default: @code{cuirass})" -msgstr "" +msgstr "@code{cuirass} (Vorgabe: @code{cuirass})" #. type: table #: doc/guix.texi:20737 msgid "The Cuirass package to use." -msgstr "" +msgstr "Das Cuirass-Paket, das benutzt werden soll." #. type: cindex #: doc/guix.texi:20743 #, no-wrap msgid "tlp" -msgstr "" +msgstr "TLP" #. type: cindex #: doc/guix.texi:20744 #, no-wrap msgid "power management with TLP" -msgstr "" +msgstr "Stromverbrauch mit TLP verwalten" #. type: subsubheading #: doc/guix.texi:20745 @@ -38918,731 +39088,731 @@ msgstr "TLP-Daemon" #. type: Plain text #: doc/guix.texi:20749 msgid "The @code{(gnu services pm)} module provides a Guix service definition for the Linux power management tool TLP." -msgstr "" +msgstr "Das Modul @code{(gnu services pm)} stellt eine Guix-Dienstdefinition für das Linux-Werkzeug TLP zur Stromverbrauchsverwaltung zur Verfügung." #. type: Plain text #: doc/guix.texi:20755 msgid "TLP enables various powersaving modes in userspace and kernel. Contrary to @code{upower-service}, it is not a passive, monitoring tool, as it will apply custom settings each time a new power source is detected. More information can be found at @uref{https://linrunner.de/en/tlp/tlp.html, TLP home page}." -msgstr "" +msgstr "TLP macht mehrere Stromspar-Modi auf Anwendungsebene („User Space“) und im Kernel verfügbar. Im Gegensatz zum @code{upower-service} handelt es sich um kein passives Werkzeug zur Überwachung, sondern TLP passt selbst jedes Mal Einstellungen an, wenn eine neue Stromquelle erkannt wird. Mehr Informationen finden Sie auf der @uref{https://linrunner.de/en/tlp/tlp.html, TLP-Homepage}." #. type: deffn #: doc/guix.texi:20756 #, no-wrap msgid "{Scheme Variable} tlp-service-type" -msgstr "" +msgstr "{Scheme-Variable} tlp-service-type" #. type: deffn #: doc/guix.texi:20760 msgid "The service type for the TLP tool. Its value should be a valid TLP configuration (see below). To use the default settings, simply write:" -msgstr "" +msgstr "Der Diensttyp für das TLP-Werkzeug. Sein Wert sollte eine gültige TLP-Konfiguration sein (siehe unten). Um die Vorgabeeinstellungen zu verwenden, schreiben Sie einfach:" #. type: example #: doc/guix.texi:20762 #, no-wrap msgid "(service tlp-service-type)\n" -msgstr "" +msgstr "(service tlp-service-type)\n" #. type: Plain text #: doc/guix.texi:20767 msgid "By default TLP does not need much configuration but most TLP parameters can be tweaked using @code{tlp-configuration}." -msgstr "" +msgstr "Um die Vorgaben für TLP zu benutzen, müssen Sie also nur wenig in die Konfiguration schreiben, aber Sie können die meisten TLP-Parameter über die @code{tlp-configuration} anpassen." #. type: Plain text #: doc/guix.texi:20773 msgid "Each parameter definition is preceded by its type; for example, @samp{boolean foo} indicates that the @code{foo} parameter should be specified as a boolean. Types starting with @code{maybe-} denote parameters that won't show up in TLP config file when their value is @code{'disabled}." -msgstr "" +msgstr "Im Folgenden ist jeder Parameterdefinition ihr Typ vorangestellt. Zum Beispiel bedeutet @samp{Boolescher-Ausdruck foo}, dass der Parameter @code{foo} als boolescher Ausdruck festgelegt werden sollte. Typen, die mit @code{Vielleicht-} beginnen, bezeichnen Parameter, die nicht in der TLP-Konfigurationsdatei vorkommen, wenn @code{'disabled} als ihr Wert angegeben wurde." #. type: Plain text #: doc/guix.texi:20783 msgid "Available @code{tlp-configuration} fields are:" -msgstr "" +msgstr "Verfügbare @code{tlp-configuration}-Felder sind:" #. type: deftypevr #: doc/guix.texi:20784 #, no-wrap msgid "{@code{tlp-configuration} parameter} package tlp" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} „package“ tlp" #. type: deftypevr #: doc/guix.texi:20786 msgid "The TLP package." -msgstr "" +msgstr "Das TLP-Paket." #. type: deftypevr #: doc/guix.texi:20789 #, no-wrap msgid "{@code{tlp-configuration} parameter} boolean tlp-enable?" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Boolescher-Ausdruck tlp-enable?" #. type: deftypevr #: doc/guix.texi:20791 msgid "Set to true if you wish to enable TLP." -msgstr "" +msgstr "Setzen Sie dies auf wahr, wenn Sie TLP aktivieren möchten." #. type: deftypevr #: doc/guix.texi:20796 #, no-wrap msgid "{@code{tlp-configuration} parameter} string tlp-default-mode" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Zeichenkette tlp-default-mode" #. type: deftypevr #: doc/guix.texi:20799 msgid "Default mode when no power supply can be detected. Alternatives are AC and BAT." -msgstr "" +msgstr "Der vorgegebene Modus, wenn keine Stromversorgung gefunden werden kann. Angegeben werden können AC (am Stromnetz) und BAT (Batterie/Akku)." #. type: deftypevr #: doc/guix.texi:20801 msgid "Defaults to @samp{\"AC\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"AC\"}." #. type: deftypevr #: doc/guix.texi:20804 #, no-wrap msgid "{@code{tlp-configuration} parameter} non-negative-integer disk-idle-secs-on-ac" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Nichtnegative-ganze-Zahl disk-idle-secs-on-ac" #. type: deftypevr #: doc/guix.texi:20807 msgid "Number of seconds Linux kernel has to wait after the disk goes idle, before syncing on AC." -msgstr "" +msgstr "Die Anzahl an Sekunden, die der Linux-Kernel warten muss, bis er sich mit dem Plattenspeicher synchronisiert, wenn die Stromversorgung auf AC steht." #. type: deftypevr #: doc/guix.texi:20812 #, no-wrap msgid "{@code{tlp-configuration} parameter} non-negative-integer disk-idle-secs-on-bat" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Nichtnegative-ganze-Zahl disk-idle-secs-on-bat" #. type: deftypevr #: doc/guix.texi:20814 msgid "Same as @code{disk-idle-ac} but on BAT mode." -msgstr "" +msgstr "Wie @code{disk-idle-ac}, aber für den BAT-Modus." #. type: deftypevr #: doc/guix.texi:20816 msgid "Defaults to @samp{2}." -msgstr "" +msgstr "Die Vorgabe ist @samp{2}." #. type: deftypevr #: doc/guix.texi:20819 #, no-wrap msgid "{@code{tlp-configuration} parameter} non-negative-integer max-lost-work-secs-on-ac" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Nichtnegative-ganze-Zahl max-lost-work-secs-on-ac" #. type: deftypevr #: doc/guix.texi:20821 msgid "Dirty pages flushing periodicity, expressed in seconds." -msgstr "" +msgstr "Periodizität, mit der im Zwischenspeicher geänderte Speicherseiten („Dirty Pages“) synchronisiert werden („Cache Flush“), ausgedrückt in Sekunden." #. type: deftypevr #: doc/guix.texi:20823 doc/guix.texi:21046 doc/guix.texi:22375 #: doc/guix.texi:22383 msgid "Defaults to @samp{15}." -msgstr "" +msgstr "Die Vorgabe ist @samp{15}." #. type: deftypevr #: doc/guix.texi:20826 #, no-wrap msgid "{@code{tlp-configuration} parameter} non-negative-integer max-lost-work-secs-on-bat" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Nichtnegative-ganze-Zahl max-lost-work-secs-on-bat" #. type: deftypevr #: doc/guix.texi:20828 msgid "Same as @code{max-lost-work-secs-on-ac} but on BAT mode." -msgstr "" +msgstr "Wie @code{max-lost-work-secs-on-ac}, aber für den BAT-Modus." #. type: deftypevr #: doc/guix.texi:20830 msgid "Defaults to @samp{60}." -msgstr "" +msgstr "Die Vorgabe ist @samp{60}." #. type: deftypevr #: doc/guix.texi:20833 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-space-separated-string-list cpu-scaling-governor-on-ac" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-Leerzeichengetrennte-Zeichenketten-Liste cpu-scaling-governor-on-ac" #. type: deftypevr #: doc/guix.texi:20837 msgid "CPU frequency scaling governor on AC mode. With intel_pstate driver, alternatives are powersave and performance. With acpi-cpufreq driver, alternatives are ondemand, powersave, performance and conservative." -msgstr "" +msgstr "Regulator der Frequenzskalierung der CPUs („Frequency Scaling Governor“) im AC-Modus. Beim intel_pstate-Treiber stehen powersave (stromsparend) und performance (leistungsfähig) zur Auswahl. Beim acpi-cpufreq-Treiber stehen ondemand, powersave, performance und conservative zur Auswahl." #. type: deftypevr #: doc/guix.texi:20842 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-space-separated-string-list cpu-scaling-governor-on-bat" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-Leerzeichengetrennte-Zeichenketten-Liste cpu-scaling-governor-on-bat" #. type: deftypevr #: doc/guix.texi:20844 msgid "Same as @code{cpu-scaling-governor-on-ac} but on BAT mode." -msgstr "" +msgstr "Wie @code{cpu-scaling-governor-on-ac}, aber für den BAT-Modus." #. type: deftypevr #: doc/guix.texi:20849 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-scaling-min-freq-on-ac" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-Nichtnegative-ganze-Zahl cpu-scaling-min-freq-on-ac" #. type: deftypevr #: doc/guix.texi:20851 msgid "Set the min available frequency for the scaling governor on AC." -msgstr "" +msgstr "Legt die minimale verfügbare Frequenz für den Skalierungsregulator im AC-Modus fest." #. type: deftypevr #: doc/guix.texi:20856 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-scaling-max-freq-on-ac" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-Nichtnegative-ganze-Zahl cpu-scaling-max-freq-on-ac" #. type: deftypevr #: doc/guix.texi:20858 msgid "Set the max available frequency for the scaling governor on AC." -msgstr "" +msgstr "Legt die maximale verfügbare Frequenz für den Skalierungsregulator im AC-Modus fest." #. type: deftypevr #: doc/guix.texi:20863 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-scaling-min-freq-on-bat" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-Nichtnegative-ganze-Zahl cpu-scaling-min-freq-on-bat" #. type: deftypevr #: doc/guix.texi:20865 msgid "Set the min available frequency for the scaling governor on BAT." -msgstr "" +msgstr "Legt die minimale verfügbare Frequenz für den Skalierungsregulator im BAT-Modus fest." #. type: deftypevr #: doc/guix.texi:20870 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-scaling-max-freq-on-bat" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-Nichtnegative-ganze-Zahl cpu-scaling-max-freq-on-bat" #. type: deftypevr #: doc/guix.texi:20872 msgid "Set the max available frequency for the scaling governor on BAT." -msgstr "" +msgstr "Legt die maximale verfügbare Frequenz für den Skalierungsregulator im BAT-Modus fest." #. type: deftypevr #: doc/guix.texi:20877 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-min-perf-on-ac" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-Nichtnegative-ganze-Zahl cpu-min-perf-on-ac" #. type: deftypevr #: doc/guix.texi:20880 msgid "Limit the min P-state to control the power dissipation of the CPU, in AC mode. Values are stated as a percentage of the available performance." -msgstr "" +msgstr "Beschränkt den minimalen Leistungszustand („P-State“), um die Stromverteilung („Power Dissipation“) der CPU im AC-Modus zu regulieren. Werte können als Prozentsatz bezüglich der verfügbaren Leistung angegeben werden." #. type: deftypevr #: doc/guix.texi:20885 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-max-perf-on-ac" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-Nichtnegative-ganze-Zahl cpu-max-perf-on-ac" #. type: deftypevr #: doc/guix.texi:20888 msgid "Limit the max P-state to control the power dissipation of the CPU, in AC mode. Values are stated as a percentage of the available performance." -msgstr "" +msgstr "Beschränkt den maximalen Leistungszustand („P-State“), um die Stromverteilung („Power Dissipation“) der CPU im AC-Modus zu regulieren. Werte können als Prozentsatz bezüglich der verfügbaren Leistung angegeben werden." #. type: deftypevr #: doc/guix.texi:20893 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-min-perf-on-bat" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-Nichtnegative-ganze-Zahl cpu-min-perf-on-bat" #. type: deftypevr #: doc/guix.texi:20895 msgid "Same as @code{cpu-min-perf-on-ac} on BAT mode." -msgstr "" +msgstr "Wie @code{cpu-min-perf-on-ac} im BAT-Modus." #. type: deftypevr #: doc/guix.texi:20900 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-max-perf-on-bat" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-Nichtnegative-ganze-Zahl cpu-max-perf-on-bat" #. type: deftypevr #: doc/guix.texi:20902 msgid "Same as @code{cpu-max-perf-on-ac} on BAT mode." -msgstr "" +msgstr "Wie @code{cpu-max-perf-on-ac} im BAT-Modus." #. type: deftypevr #: doc/guix.texi:20907 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-boolean cpu-boost-on-ac?" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-Boolescher-Ausdruck cpu-boost-on-ac?" #. type: deftypevr #: doc/guix.texi:20909 msgid "Enable CPU turbo boost feature on AC mode." -msgstr "" +msgstr "Die CPU-Turbo-Boost-Funktionen im AC-Modus aktivieren." #. type: deftypevr #: doc/guix.texi:20914 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-boolean cpu-boost-on-bat?" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-Boolescher-Ausdruck cpu-boost-on-bat?" #. type: deftypevr #: doc/guix.texi:20916 msgid "Same as @code{cpu-boost-on-ac?} on BAT mode." -msgstr "" +msgstr "Wie @code{cpu-boost-on-ac?} im BAT-Modus." #. type: deftypevr #: doc/guix.texi:20921 #, no-wrap msgid "{@code{tlp-configuration} parameter} boolean sched-powersave-on-ac?" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Boolescher-Ausdruck sched-powersave-on-ac?" #. type: deftypevr #: doc/guix.texi:20924 msgid "Allow Linux kernel to minimize the number of CPU cores/hyper-threads used under light load conditions." -msgstr "" +msgstr "Dem Linux-Kernel erlauben, die Anzahl benutzter CPU-Kerne und Hyperthreads anzupassen, wenn er unter leichter Last steht." #. type: deftypevr #: doc/guix.texi:20929 #, no-wrap msgid "{@code{tlp-configuration} parameter} boolean sched-powersave-on-bat?" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Boolescher-Ausdruck sched-powersave-on-bat?" #. type: deftypevr #: doc/guix.texi:20931 msgid "Same as @code{sched-powersave-on-ac?} but on BAT mode." -msgstr "" +msgstr "Wie @code{sched-powersave-on-ac?}, aber für den BAT-Modus." #. type: deftypevr #: doc/guix.texi:20936 #, no-wrap msgid "{@code{tlp-configuration} parameter} boolean nmi-watchdog?" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Boolescher-Ausdruck nmi-watchdog?" #. type: deftypevr #: doc/guix.texi:20938 msgid "Enable Linux kernel NMI watchdog." -msgstr "" +msgstr "Ob die rechtzeitige Behandlung nichtmaskierbarer Unterbrechungen durch den „NMI-Watchdog“ des Linux-Kernels überprüft werden soll." #. type: deftypevr #: doc/guix.texi:20943 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-string phc-controls" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-Zeichenkette phc-controls" #. type: deftypevr #: doc/guix.texi:20946 msgid "For Linux kernels with PHC patch applied, change CPU voltages. An example value would be @samp{\"F:V F:V F:V F:V\"}." -msgstr "" +msgstr "Auf Linux-Kernels, auf die der PHC-Patch angewandt wurde, wird hierdurch die Prozessorspannung angepasst. Ein Beispielwert wäre @samp{\"F:V F:V F:V F:V\"}." #. type: deftypevr #: doc/guix.texi:20951 #, no-wrap msgid "{@code{tlp-configuration} parameter} string energy-perf-policy-on-ac" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Zeichenkette energy-perf-policy-on-ac" #. type: deftypevr #: doc/guix.texi:20954 msgid "Set CPU performance versus energy saving policy on AC. Alternatives are performance, normal, powersave." -msgstr "" +msgstr "Legt das Verhältnis von Prozessorleistung zu Stromsparsamkeit im AC-Modus fest. Angegeben werden können performance (hohe Leistung), normal, powersave (wenig Stromverbrauch)." #. type: deftypevr #: doc/guix.texi:20956 doc/guix.texi:21054 doc/guix.texi:21084 msgid "Defaults to @samp{\"performance\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"performance\"}." #. type: deftypevr #: doc/guix.texi:20959 #, no-wrap msgid "{@code{tlp-configuration} parameter} string energy-perf-policy-on-bat" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Zeichenkette energy-perf-policy-on-bat" #. type: deftypevr #: doc/guix.texi:20961 msgid "Same as @code{energy-perf-policy-ac} but on BAT mode." -msgstr "" +msgstr "Wie @code{energy-perf-policy-ac}, aber für den BAT-Modus." #. type: deftypevr #: doc/guix.texi:20963 doc/guix.texi:21061 msgid "Defaults to @samp{\"powersave\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"powersave\"}." #. type: deftypevr #: doc/guix.texi:20966 #, no-wrap msgid "{@code{tlp-configuration} parameter} space-separated-string-list disks-devices" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Leerzeichengetrennte-Zeichenketten-Liste disks-devices" #. type: deftypevr #: doc/guix.texi:20968 msgid "Hard disk devices." -msgstr "" +msgstr "Festplattengeräte." #. type: deftypevr #: doc/guix.texi:20971 #, no-wrap msgid "{@code{tlp-configuration} parameter} space-separated-string-list disk-apm-level-on-ac" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Leerzeichengetrennte-Zeichenketten-Liste disk-apm-level-on-ac" #. type: deftypevr #: doc/guix.texi:20973 msgid "Hard disk advanced power management level." -msgstr "" +msgstr "Stufe für das „Advanced Power Management“ auf Festplatten." #. type: deftypevr #: doc/guix.texi:20976 #, no-wrap msgid "{@code{tlp-configuration} parameter} space-separated-string-list disk-apm-level-on-bat" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Leerzeichengetrennte-Zeichenketten-Liste disk-apm-level-on-bat" #. type: deftypevr #: doc/guix.texi:20978 msgid "Same as @code{disk-apm-bat} but on BAT mode." -msgstr "" +msgstr "Wie @code{disk-apm-bat}, aber für den BAT-Modus." #. type: deftypevr #: doc/guix.texi:20981 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-space-separated-string-list disk-spindown-timeout-on-ac" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-Leerzeichengetrennte-Zeichenketten-Liste disk-spindown-timeout-on-ac" #. type: deftypevr #: doc/guix.texi:20984 msgid "Hard disk spin down timeout. One value has to be specified for each declared hard disk." -msgstr "" +msgstr "Zeitspanne, bis die Festplatte inaktiv wird (ein „Spin-Down“). Für jede deklarierte Festplatte muss hier je ein Wert angegeben werden." #. type: deftypevr #: doc/guix.texi:20989 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-space-separated-string-list disk-spindown-timeout-on-bat" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-Leerzeichengetrennte-Zeichenketten-Liste disk-spindown-timeout-on-bat" #. type: deftypevr #: doc/guix.texi:20991 msgid "Same as @code{disk-spindown-timeout-on-ac} but on BAT mode." -msgstr "" +msgstr "Wie @code{disk-spindown-timeout-on-ac}, aber für den BAT-Modus." #. type: deftypevr #: doc/guix.texi:20996 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-space-separated-string-list disk-iosched" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-Leerzeichengetrennte-Zeichenketten-Liste disk-iosched" #. type: deftypevr #: doc/guix.texi:21000 msgid "Select IO scheduler for disk devices. One value has to be specified for each declared hard disk. Example alternatives are cfq, deadline and noop." -msgstr "" +msgstr "Ein-/Ausgaben-Planungsprogramm für Plattengeräte auswählen. Für jede deklarierte Festplatte muss ein Wert angegeben werden. Möglich sind zum Beispiel cfq, deadline und noop." #. type: deftypevr #: doc/guix.texi:21005 #, no-wrap msgid "{@code{tlp-configuration} parameter} string sata-linkpwr-on-ac" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Zeichenkette sata-linkpwr-on-ac" #. type: deftypevr #: doc/guix.texi:21008 msgid "SATA aggressive link power management (ALPM) level. Alternatives are min_power, medium_power, max_performance." -msgstr "" +msgstr "Stufe des „Aggressive Link Power Management“ (ALPM) für SATA. Angegeben werden können min_power (wenigster Stromverbrauch), medium_power (mittlerer Stromverbrauch), max_performance (maximale Leistung)." #. type: deftypevr #: doc/guix.texi:21010 msgid "Defaults to @samp{\"max_performance\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"max_performance\"}." #. type: deftypevr #: doc/guix.texi:21013 #, no-wrap msgid "{@code{tlp-configuration} parameter} string sata-linkpwr-on-bat" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Zeichenkette sata-linkpwr-on-bat" #. type: deftypevr #: doc/guix.texi:21015 msgid "Same as @code{sata-linkpwr-ac} but on BAT mode." -msgstr "" +msgstr "Wie @code{sata-linkpwr-ac}, aber für den BAT-Modus." #. type: deftypevr #: doc/guix.texi:21017 msgid "Defaults to @samp{\"min_power\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"min_power\"}." #. type: deftypevr #: doc/guix.texi:21020 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-string sata-linkpwr-blacklist" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-Zeichenkette sata-linkpwr-blacklist" #. type: deftypevr #: doc/guix.texi:21022 msgid "Exclude specified SATA host devices for link power management." -msgstr "" +msgstr "Bestimmte SATA-Geräte („SATA-Host-Devices“) vom Link Power Management ausschließen." #. type: deftypevr #: doc/guix.texi:21027 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-on-off-boolean ahci-runtime-pm-on-ac?" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-An-Aus-Boolescher-Ausdruck ahci-runtime-pm-on-ac?" #. type: deftypevr #: doc/guix.texi:21030 msgid "Enable Runtime Power Management for AHCI controller and disks on AC mode." -msgstr "" +msgstr "Verwaltung des Stromverbrauchs zur Laufzeit für AHCI-Steuerungseinheiten („Controller“) und AHCI-Platten im AC-Modus aktivieren." #. type: deftypevr #: doc/guix.texi:21035 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-on-off-boolean ahci-runtime-pm-on-bat?" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-An-Aus-Boolescher-Ausdruck ahci-runtime-pm-on-bat?" #. type: deftypevr #: doc/guix.texi:21037 msgid "Same as @code{ahci-runtime-pm-on-ac} on BAT mode." -msgstr "" +msgstr "Wie @code{ahci-runtime-pm-on-ac} im BAT-Modus." #. type: deftypevr #: doc/guix.texi:21042 #, no-wrap msgid "{@code{tlp-configuration} parameter} non-negative-integer ahci-runtime-pm-timeout" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Nichtnegative-ganze-Zahl ahci-runtime-pm-timeout" #. type: deftypevr #: doc/guix.texi:21044 msgid "Seconds of inactivity before disk is suspended." -msgstr "" +msgstr "Nach wievielen Sekunden der Inaktivität die Platten in den Ruhezustand gehen („Suspended“)." #. type: deftypevr #: doc/guix.texi:21049 #, no-wrap msgid "{@code{tlp-configuration} parameter} string pcie-aspm-on-ac" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Zeichenkette pcie-aspm-on-ac" #. type: deftypevr #: doc/guix.texi:21052 msgid "PCI Express Active State Power Management level. Alternatives are default, performance, powersave." -msgstr "" +msgstr "Stufe des „PCI Express Active State Power Management“. Zur Auswahl stehen default (Voreinstellung), performance (hohe Leistung), powersave (wenig Stromverbrauch)." #. type: deftypevr #: doc/guix.texi:21057 #, no-wrap msgid "{@code{tlp-configuration} parameter} string pcie-aspm-on-bat" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Zeichenkette pcie-aspm-on-bat" #. type: deftypevr #: doc/guix.texi:21059 msgid "Same as @code{pcie-aspm-ac} but on BAT mode." -msgstr "" +msgstr "Wie @code{pcie-aspm-ac}, aber für den BAT-Modus." #. type: deftypevr #: doc/guix.texi:21064 #, no-wrap msgid "{@code{tlp-configuration} parameter} string radeon-power-profile-on-ac" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Zeichenkette radeon-power-profile-on-ac" #. type: deftypevr #: doc/guix.texi:21067 msgid "Radeon graphics clock speed level. Alternatives are low, mid, high, auto, default." -msgstr "" +msgstr "Taktgeschwindigkeitsstufe („Clock Speed Level“) für Radeon-Grafik. Zur Auswahl stehen low (niedrig), mid (mittel), high (hoch), auto (automatisch), default (Voreinstellung)." #. type: deftypevr #: doc/guix.texi:21069 msgid "Defaults to @samp{\"high\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"high\"}." #. type: deftypevr #: doc/guix.texi:21072 #, no-wrap msgid "{@code{tlp-configuration} parameter} string radeon-power-profile-on-bat" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Zeichenkette radeon-power-profile-on-bat" #. type: deftypevr #: doc/guix.texi:21074 msgid "Same as @code{radeon-power-ac} but on BAT mode." -msgstr "" +msgstr "Wie @code{radeon-power-ac}, aber für den BAT-Modus." #. type: deftypevr #: doc/guix.texi:21076 msgid "Defaults to @samp{\"low\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"low\"}." #. type: deftypevr #: doc/guix.texi:21079 #, no-wrap msgid "{@code{tlp-configuration} parameter} string radeon-dpm-state-on-ac" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Zeichenkette radeon-dpm-state-on-ac" #. type: deftypevr #: doc/guix.texi:21082 msgid "Radeon dynamic power management method (DPM). Alternatives are battery, performance." -msgstr "" +msgstr "Methode für die dynamische Energieverwaltung („Dynamic Power Management“, DPM) auf Radeon. Zur Auswahl stehen battery (Batterie), performance (Leistung)." #. type: deftypevr #: doc/guix.texi:21087 #, no-wrap msgid "{@code{tlp-configuration} parameter} string radeon-dpm-state-on-bat" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Zeichenkette radeon-dpm-state-on-bat" #. type: deftypevr #: doc/guix.texi:21089 msgid "Same as @code{radeon-dpm-state-ac} but on BAT mode." -msgstr "" +msgstr "Wie @code{radeon-dpm-state-ac}, aber für den BAT-Modus." #. type: deftypevr #: doc/guix.texi:21091 msgid "Defaults to @samp{\"battery\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"battery\"}." #. type: deftypevr #: doc/guix.texi:21094 #, no-wrap msgid "{@code{tlp-configuration} parameter} string radeon-dpm-perf-level-on-ac" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Zeichenkette radeon-dpm-perf-level-on-ac" #. type: deftypevr #: doc/guix.texi:21096 msgid "Radeon DPM performance level. Alternatives are auto, low, high." -msgstr "" +msgstr "Leistungsstufe („Performance Level“) des Radeon-DPM. Zur Auswahl stehen auto (automatisch), low (niedrig), high (hoch)." #. type: deftypevr #: doc/guix.texi:21098 doc/guix.texi:21105 doc/guix.texi:21179 msgid "Defaults to @samp{\"auto\"}." -msgstr "" +msgstr "Die Voreinstellung ist @samp{\"auto\"}." #. type: deftypevr #: doc/guix.texi:21101 #, no-wrap msgid "{@code{tlp-configuration} parameter} string radeon-dpm-perf-level-on-bat" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Zeichenkette radeon-dpm-perf-level-on-bat" #. type: deftypevr #: doc/guix.texi:21103 msgid "Same as @code{radeon-dpm-perf-ac} but on BAT mode." -msgstr "" +msgstr "Wie @code{radeon-dpm-perf-ac}, aber für den BAT-Modus." #. type: deftypevr #: doc/guix.texi:21108 #, no-wrap msgid "{@code{tlp-configuration} parameter} on-off-boolean wifi-pwr-on-ac?" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} An-Aus-Boolescher-Ausdruck wifi-pwr-on-ac?" #. type: deftypevr #: doc/guix.texi:21110 msgid "Wifi power saving mode." -msgstr "" +msgstr "WLAN-Stromsparmodus." #. type: deftypevr #: doc/guix.texi:21115 #, no-wrap msgid "{@code{tlp-configuration} parameter} on-off-boolean wifi-pwr-on-bat?" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} An-Aus-Boolescher-Ausdruck wifi-pwr-on-bat?" #. type: deftypevr #: doc/guix.texi:21117 msgid "Same as @code{wifi-power-ac?} but on BAT mode." -msgstr "" +msgstr "Wie @code{wifi-power-ac?}, aber für den BAT-Modus." #. type: deftypevr #: doc/guix.texi:21122 #, no-wrap msgid "{@code{tlp-configuration} parameter} y-n-boolean wol-disable?" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Ja-Nein-Boolescher-Ausdruck wol-disable?" #. type: deftypevr #: doc/guix.texi:21124 msgid "Disable wake on LAN." -msgstr "" +msgstr "Rechnerstart nach Netzwerkanforderung („Wake on LAN“) deaktivieren." #. type: deftypevr #: doc/guix.texi:21129 #, no-wrap msgid "{@code{tlp-configuration} parameter} non-negative-integer sound-power-save-on-ac" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Nichtnegative-ganze-Zahl sound-power-save-on-ac" #. type: deftypevr #: doc/guix.texi:21132 msgid "Timeout duration in seconds before activating audio power saving on Intel HDA and AC97 devices. A value of 0 disables power saving." -msgstr "" +msgstr "Nach wievielen Sekunden der Stromsparmodus für die Audioverarbeitung auf Intel-HDA- und AC97-Geräten aktiviert wird. Ein Wert von 0 deaktiviert den Stromsparmodus." #. type: deftypevr #: doc/guix.texi:21137 #, no-wrap msgid "{@code{tlp-configuration} parameter} non-negative-integer sound-power-save-on-bat" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Nichtnegative-ganze-Zahl sound-power-save-on-bat" #. type: deftypevr #: doc/guix.texi:21139 msgid "Same as @code{sound-powersave-ac} but on BAT mode." -msgstr "" +msgstr "Wie @code{sound-powersave-ac}, aber für den BAT-Modus." #. type: deftypevr #: doc/guix.texi:21141 doc/guix.texi:21668 doc/guix.texi:21812 msgid "Defaults to @samp{1}." -msgstr "" +msgstr "Die Vorgabe ist @samp{1}." #. type: deftypevr #: doc/guix.texi:21144 #, no-wrap msgid "{@code{tlp-configuration} parameter} y-n-boolean sound-power-save-controller?" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Ja-Nein-Boolescher-Ausdruck sound-power-save-controller?" #. type: deftypevr #: doc/guix.texi:21146 msgid "Disable controller in powersaving mode on Intel HDA devices." -msgstr "" +msgstr "Steuerungseinheit („Controller“) im Stromsparmodus auf Intel-HDA-Geräten deaktivieren." #. type: deftypevr #: doc/guix.texi:21151 #, no-wrap msgid "{@code{tlp-configuration} parameter} boolean bay-poweroff-on-bat?" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Boolescher-Ausdruck bay-poweroff-on-bat?" #. type: deftypevr #: doc/guix.texi:21155 msgid "Enable optical drive in UltraBay/MediaBay on BAT mode. Drive can be powered on again by releasing (and reinserting) the eject lever or by pressing the disc eject button on newer models." -msgstr "" +msgstr "Optisches Laufwerk in einer UltraBay/MediaBay im BAT-Modus aktivieren. Laufwerke können erneut gestartet werden, indem Sie den Hebel zum Auswerfen lösen (und wieder einsetzen) oder, auf neueren Modellen, indem Sie den Knopf zum Auswerfen des eingelegten Datenträgers drücken." #. type: deftypevr #: doc/guix.texi:21160 #, no-wrap msgid "{@code{tlp-configuration} parameter} string bay-device" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Zeichenkette bay-device" #. type: deftypevr #: doc/guix.texi:21162 msgid "Name of the optical drive device to power off." -msgstr "" +msgstr "Name des Geräts für das optische Laufwerk, das gestartet werden soll." #. type: deftypevr #: doc/guix.texi:21164 msgid "Defaults to @samp{\"sr0\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"sr0\"}." #. type: deftypevr #: doc/guix.texi:21167 #, no-wrap msgid "{@code{tlp-configuration} parameter} string runtime-pm-on-ac" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Zeichenkette runtime-pm-on-ac" #. type: deftypevr #: doc/guix.texi:21170 msgid "Runtime Power Management for PCI(e) bus devices. Alternatives are on and auto." -msgstr "" +msgstr "Laufzeitenergieverwaltung („Runtime Power Management“) von PCI(e)-Bus-Geräten. Zur Auswahl stehen on (angeschaltet) und auto (automatisch)." #. type: deftypevr #: doc/guix.texi:21172 msgid "Defaults to @samp{\"on\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"on\"}." #. type: deftypevr #: doc/guix.texi:21175 #, no-wrap msgid "{@code{tlp-configuration} parameter} string runtime-pm-on-bat" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Zeichenkette runtime-pm-on-bat" #. type: deftypevr #: doc/guix.texi:21177 msgid "Same as @code{runtime-pm-ac} but on BAT mode." -msgstr "" +msgstr "Wie @code{runtime-pm-ac}, aber für den BAT-Modus." #. type: deftypevr #: doc/guix.texi:21182 #, no-wrap msgid "{@code{tlp-configuration} parameter} boolean runtime-pm-all?" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Boolescher-Ausdruck runtime-pm-all?" #. type: deftypevr #: doc/guix.texi:21185 @@ -39653,101 +39823,101 @@ msgstr "" #: doc/guix.texi:21190 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-space-separated-string-list runtime-pm-blacklist" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-Leerzeichengetrennte-Zeichenketten-Liste runtime-pm-blacklist" #. type: deftypevr #: doc/guix.texi:21192 msgid "Exclude specified PCI(e) device addresses from Runtime Power Management." -msgstr "" +msgstr "Die angegebenen PCI(e)-Geräteadressen von der Laufzeitenergieverwaltung („Runtime Power Management“) ausnehmen." #. type: deftypevr #: doc/guix.texi:21197 #, no-wrap msgid "{@code{tlp-configuration} parameter} space-separated-string-list runtime-pm-driver-blacklist" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Leerzeichengetrennte-Zeichenketten-Liste runtime-pm-driver-blacklist" #. type: deftypevr #: doc/guix.texi:21200 msgid "Exclude PCI(e) devices assigned to the specified drivers from Runtime Power Management." -msgstr "" +msgstr "PCI(e)-Geräte von der Laufzeitenergieverwaltung („Runtime Power Management“) ausnehmen, wenn sie den angegebenen Treibern zugeordnet sind." #. type: deftypevr #: doc/guix.texi:21203 #, no-wrap msgid "{@code{tlp-configuration} parameter} boolean usb-autosuspend?" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Boolescher-Ausdruck usb-autosuspend?" #. type: deftypevr #: doc/guix.texi:21205 msgid "Enable USB autosuspend feature." -msgstr "" +msgstr "USB-Geräte automatisch in den Ruhezustand versetzen („USB-Autosuspend“)." #. type: deftypevr #: doc/guix.texi:21210 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-string usb-blacklist" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-Zeichenkette usb-blacklist" #. type: deftypevr #: doc/guix.texi:21212 msgid "Exclude specified devices from USB autosuspend." -msgstr "" +msgstr "Die angegebenen Geräte vom USB-Autosuspend ausnehmen." #. type: deftypevr #: doc/guix.texi:21217 #, no-wrap msgid "{@code{tlp-configuration} parameter} boolean usb-blacklist-wwan?" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Boolescher-Ausdruck usb-blacklist-wwan?" #. type: deftypevr #: doc/guix.texi:21219 msgid "Exclude WWAN devices from USB autosuspend." -msgstr "" +msgstr "WWAN-Geräte vom USB-Autosuspend ausnehmen." #. type: deftypevr #: doc/guix.texi:21224 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-string usb-whitelist" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-Zeichenkette usb-whitelist" #. type: deftypevr #: doc/guix.texi:21227 msgid "Include specified devices into USB autosuspend, even if they are already excluded by the driver or via @code{usb-blacklist-wwan?}." -msgstr "" +msgstr "Für die angegebenen Geräte USB-Autosuspend aktivieren, selbst wenn Autosuspend durch den Treiber oder wegen @code{usb-blacklist-wwan?} deaktiviert werden würde." #. type: deftypevr #: doc/guix.texi:21232 #, no-wrap msgid "{@code{tlp-configuration} parameter} maybe-boolean usb-autosuspend-disable-on-shutdown?" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-Boolescher-Ausdruck usb-autosuspend-disable-on-shutdown?" #. type: deftypevr #: doc/guix.texi:21234 msgid "Enable USB autosuspend before shutdown." -msgstr "" +msgstr "USB-Autosuspend vor dem Herunterfahren aktivieren." #. type: deftypevr #: doc/guix.texi:21239 #, no-wrap msgid "{@code{tlp-configuration} parameter} boolean restore-device-state-on-startup?" -msgstr "" +msgstr "{@code{tlp-configuration}-Parameter} Boolescher-Ausdruck restore-device-state-on-startup?" #. type: deftypevr #: doc/guix.texi:21242 msgid "Restore radio device state (bluetooth, wifi, wwan) from previous shutdown on system startup." -msgstr "" +msgstr "Zustand von funkfähigen Geräten (Bluetooth, WLAN, WWAN) vom letzten Herunterfahren beim Hochfahren des Systems wiederherstellen." #. type: cindex #: doc/guix.texi:21247 #, no-wrap msgid "thermald" -msgstr "" +msgstr "thermald" #. type: cindex #: doc/guix.texi:21248 #, no-wrap msgid "CPU frequency scaling with thermald" -msgstr "" +msgstr "CPU-Frequenzskalierung mit Thermald" #. type: subsubheading #: doc/guix.texi:21249 @@ -39758,78 +39928,78 @@ msgstr "Thermald-Daemon" #. type: Plain text #: doc/guix.texi:21253 msgid "The @code{(gnu services pm)} module provides an interface to thermald, a CPU frequency scaling service which helps prevent overheating." -msgstr "" +msgstr "Das Modul @code{(gnu services pm)} stellt eine Schnittstelle zu Thermald zur Verfügung, einem Dienst zur CPU-Frequenzskalierung („CPU Frequency Scaling“), mit dem Überhitzung verhindert wird." #. type: defvr #: doc/guix.texi:21254 #, no-wrap msgid "{Scheme Variable} thermald-service-type" -msgstr "" +msgstr "{Scheme-Variable} thermald-service-type" #. type: defvr #: doc/guix.texi:21259 msgid "This is the service type for @uref{https://01.org/linux-thermal-daemon/, thermald}, the Linux Thermal Daemon, which is responsible for controlling the thermal state of processors and preventing overheating." -msgstr "" +msgstr "Dies ist der Diensttyp für @uref{https://01.org/linux-thermal-daemon/, Thermald}, den @dfn{Linux Thermal Daemon}, der für die Hitzeregulierung von Prozessoren zuständig ist. Er ändert deren thermischen Zustand („Thermal State“) und verhindert, dass sie überhitzen." #. type: deftp #: doc/guix.texi:21261 #, no-wrap msgid "{Data Type} thermald-configuration" -msgstr "" +msgstr "{Datentyp} thermald-configuration" #. type: deftp #: doc/guix.texi:21263 msgid "Data type representing the configuration of @code{thermald-service-type}." -msgstr "" +msgstr "Datentyp, der die Konfiguration des @code{thermald-service-type} repräsentiert." #. type: item #: doc/guix.texi:21265 #, no-wrap msgid "@code{ignore-cpuid-check?} (default: @code{#f})" -msgstr "" +msgstr "@code{ignore-cpuid-check?} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:21267 msgid "Ignore cpuid check for supported CPU models." -msgstr "" +msgstr "Ergebnis der Prüfung per CPUID auf unterstützte Prozessormodelle ignorieren." #. type: item #: doc/guix.texi:21268 #, no-wrap msgid "@code{thermald} (default: @var{thermald})" -msgstr "" +msgstr "@code{thermald} (Vorgabe: @var{thermald})" #. type: table #: doc/guix.texi:21270 msgid "Package object of thermald." -msgstr "" +msgstr "Paketobjekt von thermald." #. type: Plain text #: doc/guix.texi:21279 msgid "The @code{(gnu services audio)} module provides a service to start MPD (the Music Player Daemon)." -msgstr "" +msgstr "Das Modul @code{(gnu services audio)} stellt einen Dienst zur Verfügung, um MPD (den Music Player Daemon) zu starten." #. type: cindex #: doc/guix.texi:21280 #, no-wrap msgid "mpd" -msgstr "" +msgstr "mpd" #. type: subsubheading #: doc/guix.texi:21281 #, no-wrap msgid "Music Player Daemon" -msgstr "" +msgstr "Music Player Daemon" #. type: Plain text #: doc/guix.texi:21286 msgid "The Music Player Daemon (MPD) is a service that can play music while being controlled from the local machine or over the network by a variety of clients." -msgstr "" +msgstr "Der Music Player Daemon (MPD) ist ein Dienst, der Musik abspielen kann und der dabei vom lokalen Rechner oder über das Netzwerk durch verschiedene Clients angesteuert werden kann." #. type: Plain text #: doc/guix.texi:21289 msgid "The following example shows how one might run @code{mpd} as user @code{\"bob\"} on port @code{6666}. It uses pulseaudio for output." -msgstr "" +msgstr "Das folgende Beispiel zeigt, wie man @code{mpd} als Benutzer @code{\"bob\"} auf Port @code{6666} ausführen könnte. Dabei wird Pulseaudio zur Ausgabe verwendet." #. type: example #: doc/guix.texi:21295 @@ -39840,61 +40010,65 @@ msgid "" " (user \"bob\")\n" " (port \"6666\")))\n" msgstr "" +"(service mpd-service-type\n" +" (mpd-configuration\n" +" (user \"bob\")\n" +" (port \"6666\")))\n" #. type: defvr #: doc/guix.texi:21297 #, no-wrap msgid "{Scheme Variable} mpd-service-type" -msgstr "" +msgstr "{Scheme-Variable} mpd-service-type" #. type: defvr #: doc/guix.texi:21299 msgid "The service type for @command{mpd}" -msgstr "" +msgstr "Der Diensttyp für @command{mpd}." #. type: deftp #: doc/guix.texi:21301 #, no-wrap msgid "{Data Type} mpd-configuration" -msgstr "" +msgstr "{Datentyp} mpd-configuration" #. type: deftp #: doc/guix.texi:21303 msgid "Data type representing the configuration of @command{mpd}." -msgstr "" +msgstr "Datentyp, der die Konfiguration von @command{mpd} repräsentiert." #. type: item #: doc/guix.texi:21305 #, no-wrap msgid "@code{user} (default: @code{\"mpd\"})" -msgstr "" +msgstr "@code{user} (Vorgabe: @code{\"mpd\"})" #. type: table #: doc/guix.texi:21307 msgid "The user to run mpd as." -msgstr "" +msgstr "Das Benutzerkonto, mit dem mpd ausgeführt wird." #. type: item #: doc/guix.texi:21308 #, no-wrap msgid "@code{music-dir} (default: @code{\"~/Music\"})" -msgstr "" +msgstr "@code{music-dir} (Vorgabe: @code{\"~/Music\"})" #. type: table #: doc/guix.texi:21310 msgid "The directory to scan for music files." -msgstr "" +msgstr "Das Verzeichis, in dem nach Musikdateien gesucht wird." #. type: item #: doc/guix.texi:21311 #, no-wrap msgid "@code{playlist-dir} (default: @code{\"~/.mpd/playlists\"})" -msgstr "" +msgstr "@code{playlist-dir} (Vorgabe: @code{\"~/.mpd/playlists\"})" #. type: table #: doc/guix.texi:21313 msgid "The directory to store playlists." -msgstr "" +msgstr "Das Verzeichnis, um Wiedergabelisten („Playlists“) zu speichern." #. type: item #: doc/guix.texi:21314 @@ -39933,56 +40107,56 @@ msgstr "Der Ort, an dem die Sticker-Datenbank gespeichert wird." #: doc/guix.texi:21323 #, no-wrap msgid "@code{port} (default: @code{\"6600\"})" -msgstr "" +msgstr "@code{port} (Vorgabe: @code{\"6600\"})" #. type: table #: doc/guix.texi:21325 msgid "The port to run mpd on." -msgstr "" +msgstr "Der Port, auf dem mpd ausgeführt wird." #. type: item #: doc/guix.texi:21326 #, no-wrap msgid "@code{address} (default: @code{\"any\"})" -msgstr "" +msgstr "@code{address} (Vorgabe: @code{\"any\"})" #. type: table #: doc/guix.texi:21329 msgid "The address that mpd will bind to. To use a Unix domain socket, an absolute path can be specified here." -msgstr "" +msgstr "Die Adresse, an die sich mpd binden wird. Um einen Unix-Socket zu benutzen, kann hier ein absoluter Pfad angegeben werden." #. type: subsection #: doc/guix.texi:21334 #, no-wrap msgid "Virtualization services" -msgstr "" +msgstr "Virtualisierungsdienste" #. type: Plain text #: doc/guix.texi:21339 msgid "The @code{(gnu services virtualization)} module provides services for the libvirt and virtlog daemons, as well as other virtualization-related services." -msgstr "" +msgstr "Das Modul @code{(gnu services virtualization)} bietet Dienste für die Daemons von libvirt und virtlog, sowie andere virtualisierungsbezogene Dienste." #. type: subsubheading #: doc/guix.texi:21340 #, no-wrap msgid "Libvirt daemon" -msgstr "" +msgstr "Libvirt-Daemon" #. type: Plain text #: doc/guix.texi:21344 msgid "@code{libvirtd} is the server side daemon component of the libvirt virtualization management system. This daemon runs on host servers and performs required management tasks for virtualized guests." -msgstr "" +msgstr "@code{libvirtd} ist die serverseitige Daemon-Komponente des libvirt-Systems zur Virtualisierungsverwaltung. Dieser Daemon läuft auf als Wirt dienenden Servern und führt anfallende Verwaltungsaufgaben für virtualisierte Gäste durch." #. type: deffn #: doc/guix.texi:21345 #, no-wrap msgid "{Scheme Variable} libvirt-service-type" -msgstr "" +msgstr "{Scheme-Variable} libvirt-service-type" #. type: deffn #: doc/guix.texi:21348 msgid "This is the type of the @uref{https://libvirt.org, libvirt daemon}. Its value must be a @code{libvirt-configuration}." -msgstr "" +msgstr "Dies ist der Diensttyp des @uref{https://libvirt.org, libvirt-Daemons}. Sein Wert muss ein @code{libvirt-configuration}-Verbundsobjekt sein." #. type: example #: doc/guix.texi:21354 @@ -39993,873 +40167,877 @@ msgid "" " (unix-sock-group \"libvirt\")\n" " (tls-port \"16555\")))\n" msgstr "" +"(service libvirt-service-type\n" +" (libvirt-configuration\n" +" (unix-sock-group \"libvirt\")\n" +" (tls-port \"16555\")))\n" #. type: Plain text #: doc/guix.texi:21359 msgid "Available @code{libvirt-configuration} fields are:" -msgstr "" +msgstr "Verfügbare @code{libvirt-configuration}-Felder sind:" #. type: deftypevr #: doc/guix.texi:21360 #, no-wrap msgid "{@code{libvirt-configuration} parameter} package libvirt" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} „package“ libvirt" #. type: deftypevr #: doc/guix.texi:21362 msgid "Libvirt package." -msgstr "" +msgstr "Libvirt-Paket." #. type: deftypevr #: doc/guix.texi:21365 #, no-wrap msgid "{@code{libvirt-configuration} parameter} boolean listen-tls?" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Boolescher-Ausdruck listen-tls?" #. type: deftypevr #: doc/guix.texi:21368 msgid "Flag listening for secure TLS connections on the public TCP/IP port. must set @code{listen} for this to have any effect." -msgstr "" +msgstr "Option zum Lauschen auf sichere TLS-Verbindungen über den öffentlichen TCP/IP-Port. @code{listen} muss gesetzt sein, damit dies eine Wirkung hat." #. type: deftypevr #: doc/guix.texi:21371 msgid "It is necessary to setup a CA and issue server certificates before using this capability." -msgstr "" +msgstr "Bevor Sie diese Funktionalität nutzen können, muss eine Zertifikatsautorität eingerichtet worden sein und Server-Zertifikate ausgestellt worden sein." #. type: deftypevr #: doc/guix.texi:21376 #, no-wrap msgid "{@code{libvirt-configuration} parameter} boolean listen-tcp?" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Boolescher-Ausdruck listen-tcp?" #. type: deftypevr #: doc/guix.texi:21379 msgid "Listen for unencrypted TCP connections on the public TCP/IP port. must set @code{listen} for this to have any effect." -msgstr "" +msgstr "Auf unverschlüsselte TCP-Verbindungen auf dem öffentlichen TCP/IP-Port lauschen. @code{listen} muss gesetzt sein, damit dies eine Wirkung hat." #. type: deftypevr #: doc/guix.texi:21383 msgid "Using the TCP socket requires SASL authentication by default. Only SASL mechanisms which support data encryption are allowed. This is DIGEST_MD5 and GSSAPI (Kerberos5)" -msgstr "" +msgstr "Nach Voreinstellung kann auf dem TCP-Socket nur gelauscht werden, wenn SASL-Authentifizierung möglich ist. Nur solche SASL-Mechanismen, die Datenverschlüsselung unterstützen, sind zugelassen. Das sind DIGEST_MD5 und GSSAPI (Kerberos5)" #. type: deftypevr #: doc/guix.texi:21388 #, no-wrap msgid "{@code{libvirt-configuration} parameter} string tls-port" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Zeichenkette tls-port" #. type: deftypevr #: doc/guix.texi:21391 msgid "Port for accepting secure TLS connections This can be a port number, or service name" -msgstr "" +msgstr "Der Port, um sichere TLS-Verbindungen zu akzeptieren. Dies kann eine Portnummer oder ein Dienstname sein." #. type: deftypevr #: doc/guix.texi:21393 msgid "Defaults to @samp{\"16514\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"16514\"}." #. type: deftypevr #: doc/guix.texi:21396 #, no-wrap msgid "{@code{libvirt-configuration} parameter} string tcp-port" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Zeichenkette tcp-port" #. type: deftypevr #: doc/guix.texi:21399 msgid "Port for accepting insecure TCP connections This can be a port number, or service name" -msgstr "" +msgstr "Der Port, um unsichere TCP-Verbindungen zu akzeptieren. Dies kann eine Portnummer oder ein Dienstname sein." #. type: deftypevr #: doc/guix.texi:21401 msgid "Defaults to @samp{\"16509\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"16509\"}." #. type: deftypevr #: doc/guix.texi:21404 #, no-wrap msgid "{@code{libvirt-configuration} parameter} string listen-addr" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Zeichenkette listen-addr" #. type: deftypevr #: doc/guix.texi:21406 msgid "IP address or hostname used for client connections." -msgstr "" +msgstr "IP-Adresse oder Rechnername („Hostname“), der für von Clients ausgehende Verbindungen benutzt wird." #. type: deftypevr #: doc/guix.texi:21408 msgid "Defaults to @samp{\"0.0.0.0\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"0.0.0.0\"}." #. type: deftypevr #: doc/guix.texi:21411 #, no-wrap msgid "{@code{libvirt-configuration} parameter} boolean mdns-adv?" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Boolescher-Ausdruck mdns-adv?" #. type: deftypevr #: doc/guix.texi:21413 msgid "Flag toggling mDNS advertisement of the libvirt service." -msgstr "" +msgstr "Einstellung, ob der libvirt-Dienst mDNS-Mitteilungen sendet." #. type: deftypevr #: doc/guix.texi:21416 msgid "Alternatively can disable for all services on a host by stopping the Avahi daemon." -msgstr "" +msgstr "Dies kann alternativ für alle Dienste auf einem Rechner deaktiviert werden, indem man den Avahi-Daemon anhält." #. type: deftypevr #: doc/guix.texi:21421 #, no-wrap msgid "{@code{libvirt-configuration} parameter} string mdns-name" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Zeichenkette mdns-name" #. type: deftypevr #: doc/guix.texi:21424 msgid "Default mDNS advertisement name. This must be unique on the immediate broadcast network." -msgstr "" +msgstr "Der voreingestellte Name in mDNS-Mitteilungen. Er muss auf dem direkten Broadcast-Netzwerk eindeutig sein." #. type: deftypevr #: doc/guix.texi:21426 msgid "Defaults to @samp{\"Virtualization Host \"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"Virtualization Host \"}." #. type: deftypevr #: doc/guix.texi:21429 #, no-wrap msgid "{@code{libvirt-configuration} parameter} string unix-sock-group" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Zeichenkette unix-sock-group" #. type: deftypevr #: doc/guix.texi:21433 msgid "UNIX domain socket group ownership. This can be used to allow a 'trusted' set of users access to management capabilities without becoming root." -msgstr "" +msgstr "Besitzergruppe des UNIX-Sockets. Diese Einstellung kann benutzt werden, um einer als vertrauenswürdig geltenden Gruppe von Benutzern Zugriff auf Verwaltungsfunktionen zu gewähren, ohne dass diese als Administratornutzer root ausgeführt werden müssen." #. type: deftypevr #: doc/guix.texi:21438 #, no-wrap msgid "{@code{libvirt-configuration} parameter} string unix-sock-ro-perms" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Zeichenkette unix-sock-ro-perms" #. type: deftypevr #: doc/guix.texi:21441 msgid "UNIX socket permissions for the R/O socket. This is used for monitoring VM status only." -msgstr "" +msgstr "UNIX-Socket-Berechtigungen für den Socket nur mit Lesezugriff („read only“). Dies wird nur zur Überwachung des Zustands der VM benutzt." #. type: deftypevr #: doc/guix.texi:21443 doc/guix.texi:21461 msgid "Defaults to @samp{\"0777\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"0777\"}." #. type: deftypevr #: doc/guix.texi:21446 #, no-wrap msgid "{@code{libvirt-configuration} parameter} string unix-sock-rw-perms" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Zeichenkette unix-sock-rw-perms" #. type: deftypevr #: doc/guix.texi:21450 msgid "UNIX socket permissions for the R/W socket. Default allows only root. If PolicyKit is enabled on the socket, the default will change to allow everyone (eg, 0777)" -msgstr "" +msgstr "UNIX-Socket-Berechtigungen für den Socket mit Schreib- und Lesezugriff („read/write“). Nach Vorgabe kann nur der Administratornutzer root zugreifen. Wenn auf dem Socket PolicyKit aktiviert ist, wird die Vorgabe geändert, dass jeder zugreifen kann (z.B.@: zu 0777)" #. type: deftypevr #: doc/guix.texi:21452 msgid "Defaults to @samp{\"0770\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"0770\"}." #. type: deftypevr #: doc/guix.texi:21455 #, no-wrap msgid "{@code{libvirt-configuration} parameter} string unix-sock-admin-perms" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Zeichenkette unix-sock-admin-perms" #. type: deftypevr #: doc/guix.texi:21459 msgid "UNIX socket permissions for the admin socket. Default allows only owner (root), do not change it unless you are sure to whom you are exposing the access to." -msgstr "" +msgstr "UNIX-Socket-Berechtigungen für den Administrator-Socket. Nach Vorgabg hat nur der Besitzer (der Administratornutzer root) hierauf Zugriff; ändern Sie es nur, wenn Sie sicher wissen, wer dann alles Zugriff bekommt." #. type: deftypevr #: doc/guix.texi:21464 #, no-wrap msgid "{@code{libvirt-configuration} parameter} string unix-sock-dir" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Zeichenkette unix-sock-dir" #. type: deftypevr #: doc/guix.texi:21466 msgid "The directory in which sockets will be found/created." -msgstr "" +msgstr "Das Verzeichnis, in dem Sockets gefunden werden können bzw. erstellt werden." #. type: deftypevr #: doc/guix.texi:21468 msgid "Defaults to @samp{\"/var/run/libvirt\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"/var/run/libvirt\"}." #. type: deftypevr #: doc/guix.texi:21471 #, no-wrap msgid "{@code{libvirt-configuration} parameter} string auth-unix-ro" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Zeichenkette auth-unix-ro" #. type: deftypevr #: doc/guix.texi:21474 msgid "Authentication scheme for UNIX read-only sockets. By default socket permissions allow anyone to connect" -msgstr "" +msgstr "Authentifizierungsschema für nur lesbare UNIX-Sockets. Nach Vorgabe gestatten es die Socket-Berechtigungen jedem Nutzer, sich zu verbinden." #. type: deftypevr #: doc/guix.texi:21476 doc/guix.texi:21485 msgid "Defaults to @samp{\"polkit\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"polkit\"}." #. type: deftypevr #: doc/guix.texi:21479 #, no-wrap msgid "{@code{libvirt-configuration} parameter} string auth-unix-rw" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Zeichenkette auth-unix-rw" #. type: deftypevr #: doc/guix.texi:21483 msgid "Authentication scheme for UNIX read-write sockets. By default socket permissions only allow root. If PolicyKit support was compiled into libvirt, the default will be to use 'polkit' auth." -msgstr "" +msgstr "Authentifizierungsschema für UNIX-Sockets mit Schreib- und Lesezugriff. Nach Vorgabe erlauben die Socket-Berechtigungen nur dem Administratornutzer root Zugriff. Wenn libvirt mit Unterstützung für PolicyKit kompiliert wurde, ist die Vorgabe, Authentifizierung über „polkit“ durchzuführen." #. type: deftypevr #: doc/guix.texi:21488 #, no-wrap msgid "{@code{libvirt-configuration} parameter} string auth-tcp" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Zeichenkette auth-tcp" #. type: deftypevr #: doc/guix.texi:21492 msgid "Authentication scheme for TCP sockets. If you don't enable SASL, then all TCP traffic is cleartext. Don't do this outside of a dev/test scenario." -msgstr "" +msgstr "Authentifizierungsschema für TCP-Sockets. Wenn Sie SASL nicht aktivieren, dann wird alle TCP-Kommunikation im Klartext verschickt. Tun Sie dies @emph{nicht}, außer Sie benutzen libvirt nur als Entwickler oder zum Testen." #. type: deftypevr #: doc/guix.texi:21494 msgid "Defaults to @samp{\"sasl\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"sasl\"}." #. type: deftypevr #: doc/guix.texi:21497 #, no-wrap msgid "{@code{libvirt-configuration} parameter} string auth-tls" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Zeichenkette auth-tls" #. type: deftypevr #: doc/guix.texi:21501 msgid "Authentication scheme for TLS sockets. TLS sockets already have encryption provided by the TLS layer, and limited authentication is done by certificates." -msgstr "" +msgstr "Authentifizierungsschema für TLS-Sockets. Für TLS-Sockets wird bereits durch die TLS-Schicht Verschlüsselung bereitgestellt und eingeschränkte Authentifizierung wird über Zertifikate durchgeführt." #. type: deftypevr #: doc/guix.texi:21504 msgid "It is possible to make use of any SASL authentication mechanism as well, by using 'sasl' for this option" -msgstr "" +msgstr "Es ist möglich, auch hier den SASL-Authentifizierungsmechanismus anzuwenden, indem Sie für diese Option „sasl“ eintragen." #. type: deftypevr #: doc/guix.texi:21506 msgid "Defaults to @samp{\"none\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"none\"}, d.h.@: keine zusätzliche Authentifizierung." #. type: deftypevr #: doc/guix.texi:21509 #, no-wrap msgid "{@code{libvirt-configuration} parameter} optional-list access-drivers" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Optional-nichtleere-Liste access-drivers" #. type: deftypevr #: doc/guix.texi:21511 msgid "API access control scheme." -msgstr "" +msgstr "Welche Schemata zur Zugriffskontrolle auf Programmierschnittstellen (APIs) benutzt werden." #. type: deftypevr #: doc/guix.texi:21514 msgid "By default an authenticated user is allowed access to all APIs. Access drivers can place restrictions on this." -msgstr "" +msgstr "Nach Vorgabe kann ein authentifizierter Nutzer auf alle Programmierschnittstellen zugreifen. Zugriffstreiber können dies einschränken." #. type: deftypevr #: doc/guix.texi:21519 #, no-wrap msgid "{@code{libvirt-configuration} parameter} string key-file" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Zeichenkette key-file" #. type: deftypevr #: doc/guix.texi:21522 msgid "Server key file path. If set to an empty string, then no private key is loaded." -msgstr "" +msgstr "Pfad zur Schlüsseldatei für den Server. Wenn er auf eine leere Zeichenkette gesetzt ist, dann wird kein privater Schlüssel geladen." #. type: deftypevr #: doc/guix.texi:21527 #, no-wrap msgid "{@code{libvirt-configuration} parameter} string cert-file" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Zeichenkette cert-file" #. type: deftypevr #: doc/guix.texi:21530 msgid "Server key file path. If set to an empty string, then no certificate is loaded." -msgstr "" +msgstr "Pfad zur Zertifikatsdatei für den Server. Wenn er auf eine leere Zeichenkette gesetzt ist, dann wird kein Zertifikat geladen." #. type: deftypevr #: doc/guix.texi:21535 #, no-wrap msgid "{@code{libvirt-configuration} parameter} string ca-file" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Zeichenkette ca-file" #. type: deftypevr #: doc/guix.texi:21538 msgid "Server key file path. If set to an empty string, then no CA certificate is loaded." -msgstr "" +msgstr "Pfad zur Datei mit dem Zertifikat der Zertifikatsautorität. Wenn er auf eine leere Zeichenkette gesetzt ist, dann wird kein Zertifikat der Zertifikatsautorität geladen." #. type: deftypevr #: doc/guix.texi:21543 #, no-wrap msgid "{@code{libvirt-configuration} parameter} string crl-file" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Zeichenkette crl-file" #. type: deftypevr #: doc/guix.texi:21546 msgid "Certificate revocation list path. If set to an empty string, then no CRL is loaded." -msgstr "" +msgstr "Pfad zur Zertifikatssperrliste („Certificate Revocation List“). Wenn er auf eine leere Zeichenkette gesetzt ist, dann wird keine Zertifikatssperrliste geladen." #. type: deftypevr #: doc/guix.texi:21551 #, no-wrap msgid "{@code{libvirt-configuration} parameter} boolean tls-no-sanity-cert" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Boolescher-Ausdruck tls-no-sanity-cert" #. type: deftypevr #: doc/guix.texi:21553 msgid "Disable verification of our own server certificates." -msgstr "" +msgstr "Keine Überprüfung unseres eigenen Serverzertifikats durchführen." #. type: deftypevr #: doc/guix.texi:21556 msgid "When libvirtd starts it performs some sanity checks against its own certificates." -msgstr "" +msgstr "Beim Start vom libvirtd prüft dieser, ob bei seinem eigenen Zertifikat alles in Ordnung ist." #. type: deftypevr #: doc/guix.texi:21561 #, no-wrap msgid "{@code{libvirt-configuration} parameter} boolean tls-no-verify-cert" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Boolescher-Ausdruck tls-no-verify-cert" #. type: deftypevr #: doc/guix.texi:21563 msgid "Disable verification of client certificates." -msgstr "" +msgstr "Keine Überprüfung von Clientzertifikaten durchführen." #. type: deftypevr #: doc/guix.texi:21567 msgid "Client certificate verification is the primary authentication mechanism. Any client which does not present a certificate signed by the CA will be rejected." -msgstr "" +msgstr "Die Überprüfung des Zertifikats eines Clients ist der primäre Authentifizierungsmechanismus. Jeder Client, der kein von der Zertifikatsautorität signiertes Zertifikat vorweist, wird abgelehnt." #. type: deftypevr #: doc/guix.texi:21572 #, no-wrap msgid "{@code{libvirt-configuration} parameter} optional-list tls-allowed-dn-list" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Optional-nichtleere-Liste tls-allowed-dn-list" #. type: deftypevr #: doc/guix.texi:21574 msgid "Whitelist of allowed x509 Distinguished Name." -msgstr "" +msgstr "Liste der erlaubten Einträge für den „Distinguished Name“ bei x509." #. type: deftypevr #: doc/guix.texi:21579 #, no-wrap msgid "{@code{libvirt-configuration} parameter} optional-list sasl-allowed-usernames" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Optional-nichtleere-Liste sasl-allowed-usernames" #. type: deftypevr #: doc/guix.texi:21582 msgid "Whitelist of allowed SASL usernames. The format for username depends on the SASL authentication mechanism." -msgstr "" +msgstr "Liste der erlaubten Einträge für SASL-Benutzernamen. Wie Benutzernamen aussehen müssen, ist abhängig vom jeweiligen SASL-Mechanismus." #. type: deftypevr #: doc/guix.texi:21587 #, no-wrap msgid "{@code{libvirt-configuration} parameter} string tls-priority" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Zeichenkette tls-priority" #. type: deftypevr #: doc/guix.texi:21591 msgid "Override the compile time default TLS priority string. The default is usually \"NORMAL\" unless overridden at build time. Only set this is it is desired for libvirt to deviate from the global default settings." -msgstr "" +msgstr "Dies wird vorrangig statt der beim Kompilieren voreingestellten TLS-Prioritätszeichenkette verwendet. Die Voreinstellung ist in der Regel \"NORMAL\", solange dies nicht bei der Erstellung geändert wurde. Ändern Sie dies nur, wenn die Einstellungen für libvirt von den globalen Voreinstellungen abweichen sollen." #. type: deftypevr #: doc/guix.texi:21593 msgid "Defaults to @samp{\"NORMAL\"}." -msgstr "" +msgstr "Die Vorgabe @samp{\"NORMAL\"}." #. type: deftypevr #: doc/guix.texi:21596 #, no-wrap msgid "{@code{libvirt-configuration} parameter} integer max-clients" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Ganze-Zahl max-clients" #. type: deftypevr #: doc/guix.texi:21599 doc/guix.texi:22022 msgid "Maximum number of concurrent client connections to allow over all sockets combined." -msgstr "" +msgstr "Maximalzahl gleichzeitiger Client-Verbindungen, die für alle Sockets zusammen zugelassen werden sollen." #. type: deftypevr #: doc/guix.texi:21601 msgid "Defaults to @samp{5000}." -msgstr "" +msgstr "Die Vorgabe ist @samp{5000}." #. type: deftypevr #: doc/guix.texi:21604 #, no-wrap msgid "{@code{libvirt-configuration} parameter} integer max-queued-clients" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Ganze-Zahl max-queued-clients" #. type: deftypevr #: doc/guix.texi:21608 msgid "Maximum length of queue of connections waiting to be accepted by the daemon. Note, that some protocols supporting retransmission may obey this so that a later reattempt at connection succeeds." -msgstr "" +msgstr "Maximale Länge der Warteschlange für Verbindungen, die darauf warten, vom Daemon angenommen zu werden. Beachten Sie, dass sich manche Protokolle, die Neuübertragung unterstützen, danach richten könnten, damit ein erneuter Verbindungsversuch angenommen wird." #. type: deftypevr #: doc/guix.texi:21613 #, no-wrap msgid "{@code{libvirt-configuration} parameter} integer max-anonymous-clients" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Ganze-Zahl max-anonymous-clients" #. type: deftypevr #: doc/guix.texi:21616 msgid "Maximum length of queue of accepted but not yet authenticated clients. Set this to zero to turn this feature off" -msgstr "" +msgstr "Maximale Länge der Warteschlange für Clients, die angenommen wurden, aber noch nicht authentifiziert wurden. Setzen Sie dies auf null, um diese Funktionalität abzuschalten." #. type: deftypevr #: doc/guix.texi:21618 doc/guix.texi:21636 doc/guix.texi:21652 msgid "Defaults to @samp{20}." -msgstr "" +msgstr "Die Vorgabe ist @samp{20}." #. type: deftypevr #: doc/guix.texi:21621 #, no-wrap msgid "{@code{libvirt-configuration} parameter} integer min-workers" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Ganze-Zahl min-workers" #. type: deftypevr #: doc/guix.texi:21623 msgid "Number of workers to start up initially." -msgstr "" +msgstr "Anzahl an Arbeiter-Threads, die am Anfang gestartet werden sollen." #. type: deftypevr #: doc/guix.texi:21628 #, no-wrap msgid "{@code{libvirt-configuration} parameter} integer max-workers" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Ganze-Zahl max-workers" #. type: deftypevr #: doc/guix.texi:21630 msgid "Maximum number of worker threads." -msgstr "" +msgstr "Maximale Anzahl an Arbeiter-Threads." #. type: deftypevr #: doc/guix.texi:21634 msgid "If the number of active clients exceeds @code{min-workers}, then more threads are spawned, up to max_workers limit. Typically you'd want max_workers to equal maximum number of clients allowed." -msgstr "" +msgstr "Wenn die Anzahl aktiver Clients die @code{min-workers} übersteigt, werden weitere Threads erzeugt, bis die max_workers-Beschränkung erreicht wurde. Typischerweise würden Sie für max_workers die maximale Anzahl zugelassener Clients angeben." #. type: deftypevr #: doc/guix.texi:21639 #, no-wrap msgid "{@code{libvirt-configuration} parameter} integer prio-workers" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Ganze-Zahl prio-workers" #. type: deftypevr #: doc/guix.texi:21643 msgid "Number of priority workers. If all workers from above pool are stuck, some calls marked as high priority (notably domainDestroy) can be executed in this pool." -msgstr "" +msgstr "Die Anzahl priorisierter Arbeiter-Threads. Wenn alle Arbeiter aus diesem Pool festhängen, können manche, mit hoher Priorität versehene Aufrufe (speziell domainDestroy) in diesem Pool hier ausgeführt werden." #. type: deftypevr #: doc/guix.texi:21648 #, no-wrap msgid "{@code{libvirt-configuration} parameter} integer max-requests" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Ganze-Zahl max-requests" #. type: deftypevr #: doc/guix.texi:21650 msgid "Total global limit on concurrent RPC calls." -msgstr "" +msgstr "Wieviele nebenläufige RPC-Aufrufe global ausgeführt werden können." #. type: deftypevr #: doc/guix.texi:21655 #, no-wrap msgid "{@code{libvirt-configuration} parameter} integer max-client-requests" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Ganze-Zahl max-client-requests" #. type: deftypevr #: doc/guix.texi:21659 msgid "Limit on concurrent requests from a single client connection. To avoid one client monopolizing the server this should be a small fraction of the global max_requests and max_workers parameter." -msgstr "" +msgstr "Wieviele nebenläufige Anfragen von einer einzelnen Client-Verbindung ausgehen können. Um zu verhindern, dass ein einzelner Client den gesamten Server für sich beansprucht, sollte der Wert hier nur einen kleinen Teil der globalen max_requests- und max_workers-Parameter ausmachen." #. type: deftypevr #: doc/guix.texi:21664 #, no-wrap msgid "{@code{libvirt-configuration} parameter} integer admin-min-workers" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Ganze-Zahl admin-min-workers" #. type: deftypevr #: doc/guix.texi:21666 msgid "Same as @code{min-workers} but for the admin interface." -msgstr "" +msgstr "Wie bei @code{min-workers}, aber für die Administratorschnittstelle." #. type: deftypevr #: doc/guix.texi:21671 #, no-wrap msgid "{@code{libvirt-configuration} parameter} integer admin-max-workers" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Ganze-Zahl admin-max-workers" #. type: deftypevr #: doc/guix.texi:21673 msgid "Same as @code{max-workers} but for the admin interface." -msgstr "" +msgstr "Wie bei @code{max-workers}, aber für die Administratorschnittstelle." #. type: deftypevr #: doc/guix.texi:21678 #, no-wrap msgid "{@code{libvirt-configuration} parameter} integer admin-max-clients" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Ganze-Zahl admin-max-clients" #. type: deftypevr #: doc/guix.texi:21680 msgid "Same as @code{max-clients} but for the admin interface." -msgstr "" +msgstr "Wie bei @code{max-clients}, aber für die Administratorschnittstelle." #. type: deftypevr #: doc/guix.texi:21685 #, no-wrap msgid "{@code{libvirt-configuration} parameter} integer admin-max-queued-clients" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Ganze-Zahl admin-max-queued-clients" #. type: deftypevr #: doc/guix.texi:21687 msgid "Same as @code{max-queued-clients} but for the admin interface." -msgstr "" +msgstr "Wie bei @code{max-queued-clients}, aber für die Administratorschnittstelle." #. type: deftypevr #: doc/guix.texi:21692 #, no-wrap msgid "{@code{libvirt-configuration} parameter} integer admin-max-client-requests" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Ganze-Zahl admin-max-client-requests" #. type: deftypevr #: doc/guix.texi:21694 msgid "Same as @code{max-client-requests} but for the admin interface." -msgstr "" +msgstr "Wie bei @code{max-client-requests}, aber für die Administratorschnittstelle." #. type: deftypevr #: doc/guix.texi:21699 #, no-wrap msgid "{@code{libvirt-configuration} parameter} integer log-level" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Ganze-Zahl log-level" #. type: deftypevr #: doc/guix.texi:21701 doc/guix.texi:21924 msgid "Logging level. 4 errors, 3 warnings, 2 information, 1 debug." -msgstr "" +msgstr "Protokollstufe. 4 für Fehler, 3 für Warnungen, 2 für Informationen, 1 zur Fehlersuche." #. type: deftypevr #: doc/guix.texi:21706 #, no-wrap msgid "{@code{libvirt-configuration} parameter} string log-filters" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Zeichenkette log-filters" #. type: deftypevr #: doc/guix.texi:21708 doc/guix.texi:21931 msgid "Logging filters." -msgstr "" +msgstr "Protokollfilter." #. type: deftypevr #: doc/guix.texi:21711 doc/guix.texi:21934 msgid "A filter allows to select a different logging level for a given category of logs The format for a filter is one of:" -msgstr "" +msgstr "Ein Filter ermöglicht es, für eine bestimmte Kategorie von Protokollen eine andere Protokollierungsstufe festzulegen. Filter müssen eines der folgenden Formate haben:" #. type: itemize #: doc/guix.texi:21715 doc/guix.texi:21938 msgid "x:name" -msgstr "" +msgstr "x:Name" #. type: itemize #: doc/guix.texi:21718 doc/guix.texi:21941 msgid "x:+name" -msgstr "" +msgstr "x:+Name" #. type: deftypevr #: doc/guix.texi:21728 doc/guix.texi:21951 msgid "where @code{name} is a string which is matched against the category given in the @code{VIR_LOG_INIT()} at the top of each libvirt source file, e.g., \"remote\", \"qemu\", or \"util.json\" (the name in the filter can be a substring of the full category name, in order to match multiple similar categories), the optional \"+\" prefix tells libvirt to log stack trace for each message matching name, and @code{x} is the minimal level where matching messages should be logged:" -msgstr "" +msgstr "wobei @code{Name} eine Zeichenkette ist, die zu einer in der Umgebungsvariablen @code{VIR_LOG_INIT()} am Anfang jeder Quelldatei von libvirt angegebenen Kategorie passen muss, z.B.@: „remote“, „qemu“ oder „util.json“ (der Name im Filter kann auch nur ein Teil des vollständigen Kategoriennamens sein, wodurch mehrere, ähnliche passende Kategoriennamen möglich sind). Das optionale Präfix „+“ bedeutet, dass libvirt eine Rückverfolgung (d.h.@: ein „Stack Trace“) für jede zum Namen passende Nachricht ins Protokoll schreiben soll. @code{x} benennt jeweils die kleinste Stufe, deren passende Nachrichten protokolliert werden sollen." #. type: itemize #: doc/guix.texi:21732 doc/guix.texi:21777 doc/guix.texi:21955 #: doc/guix.texi:22000 msgid "1: DEBUG" -msgstr "" +msgstr "1: Fehlersuche („DEBUG“)" #. type: itemize #: doc/guix.texi:21735 doc/guix.texi:21780 doc/guix.texi:21958 #: doc/guix.texi:22003 msgid "2: INFO" -msgstr "" +msgstr "2: Informationen („INFO“)" #. type: itemize #: doc/guix.texi:21738 doc/guix.texi:21783 doc/guix.texi:21961 #: doc/guix.texi:22006 msgid "3: WARNING" -msgstr "" +msgstr "3: Warnungen („WARNING“)" #. type: itemize #: doc/guix.texi:21741 doc/guix.texi:21786 doc/guix.texi:21964 #: doc/guix.texi:22009 msgid "4: ERROR" -msgstr "" +msgstr "4: Fehler („ERROR“)" #. type: deftypevr #: doc/guix.texi:21746 doc/guix.texi:21969 msgid "Multiple filters can be defined in a single filters statement, they just need to be separated by spaces." -msgstr "" +msgstr "Mehrere Filter können in einer einzelnen Filteranweisung definiert werden; sie müssen nur durch Leerzeichen voneinander getrennt werden." #. type: deftypevr #: doc/guix.texi:21748 doc/guix.texi:21971 msgid "Defaults to @samp{\"3:remote 4:event\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"3:remote 4:event\"}." #. type: deftypevr #: doc/guix.texi:21751 #, no-wrap msgid "{@code{libvirt-configuration} parameter} string log-outputs" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Zeichenkette log-outputs" #. type: deftypevr #: doc/guix.texi:21753 doc/guix.texi:21976 msgid "Logging outputs." -msgstr "" +msgstr "Ausgaben für die Protokollierung." #. type: deftypevr #: doc/guix.texi:21756 msgid "An output is one of the places to save logging information. The format for an output can be:" -msgstr "" +msgstr "Eine Ausgabe ist einer der Orte, wohin Informationen aus der Protokollierung gespeichert werden. Eine Ausgabe kann auf eine der folgenden Arten angegeben werden:" #. type: item #: doc/guix.texi:21758 doc/guix.texi:21981 #, no-wrap msgid "x:stderr" -msgstr "" +msgstr "x:stderr" #. type: table #: doc/guix.texi:21760 doc/guix.texi:21983 msgid "output goes to stderr" -msgstr "" +msgstr "Protokolle werden auf der Standardausgabe („Stderr“) ausgegeben." #. type: item #: doc/guix.texi:21761 doc/guix.texi:21984 #, no-wrap msgid "x:syslog:name" -msgstr "" +msgstr "x:syslog:Name" #. type: table #: doc/guix.texi:21763 doc/guix.texi:21986 msgid "use syslog for the output and use the given name as the ident" -msgstr "" +msgstr "Syslog wird zur Ausgabe benutzt. Der Name dient dabei als Identifikator für libvirt-Protokolle." #. type: item #: doc/guix.texi:21764 doc/guix.texi:21987 #, no-wrap msgid "x:file:file_path" -msgstr "" +msgstr "x:file:Dateipfad" #. type: table #: doc/guix.texi:21766 doc/guix.texi:21989 msgid "output to a file, with the given filepath" -msgstr "" +msgstr "Protokolle werden in die Datei unter dem angegebenen Dateipfad ausgegeben." #. type: item #: doc/guix.texi:21767 doc/guix.texi:21990 #, no-wrap msgid "x:journald" -msgstr "" +msgstr "x:journald" #. type: table #: doc/guix.texi:21769 doc/guix.texi:21992 msgid "output to journald logging system" -msgstr "" +msgstr "Die Ausgabe läuft über das journald-Protokollsystem." #. type: deftypevr #: doc/guix.texi:21773 doc/guix.texi:21996 msgid "In all case the x prefix is the minimal level, acting as a filter" -msgstr "" +msgstr "In allen Fällen steht das x vorne für die kleinste Stufe und wirkt als Filter." #. type: deftypevr #: doc/guix.texi:21791 doc/guix.texi:22014 msgid "Multiple outputs can be defined, they just need to be separated by spaces." -msgstr "" +msgstr "Mehrere Ausgaben können definiert werden, dazu müssen sie nur durch Leerzeichen getrennt hier angegeben werden." #. type: deftypevr #: doc/guix.texi:21793 doc/guix.texi:22016 msgid "Defaults to @samp{\"3:stderr\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"3:stderr\"}." #. type: deftypevr #: doc/guix.texi:21796 #, no-wrap msgid "{@code{libvirt-configuration} parameter} integer audit-level" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Ganze-Zahl audit-level" #. type: deftypevr #: doc/guix.texi:21798 msgid "Allows usage of the auditing subsystem to be altered" -msgstr "" +msgstr "Ermöglicht Anpassungen am Auditierungs-Subsystem." #. type: itemize #: doc/guix.texi:21802 msgid "0: disable all auditing" -msgstr "" +msgstr "0: Jegliche Auditierung deaktivieren." #. type: itemize #: doc/guix.texi:21805 msgid "1: enable auditing, only if enabled on host" -msgstr "" +msgstr "1: Auditierung nur aktivieren, wenn sie beim Wirtssystem aktiviert ist." #. type: itemize #: doc/guix.texi:21808 msgid "2: enable auditing, and exit if disabled on host." -msgstr "" +msgstr "2: Auditierung aktivieren. Beenden, wenn das Wirtssystem Auditierung deaktiviert hat." #. type: deftypevr #: doc/guix.texi:21815 #, no-wrap msgid "{@code{libvirt-configuration} parameter} boolean audit-logging" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Boolescher-Ausdruck audit-logging" #. type: deftypevr #: doc/guix.texi:21817 msgid "Send audit messages via libvirt logging infrastructure." -msgstr "" +msgstr "Audit-Nachrichten über die Protokollinfrastruktur von libvirt versenden." #. type: deftypevr #: doc/guix.texi:21822 #, no-wrap msgid "{@code{libvirt-configuration} parameter} optional-string host-uuid" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Optional-nichtleere-Zeichenkette host-uuid" #. type: deftypevr #: doc/guix.texi:21824 msgid "Host UUID. UUID must not have all digits be the same." -msgstr "" +msgstr "Für das Wirtssystem zu verwendende UUID. Bei der UUID dürfen nicht alle Ziffern gleich sein." #. type: deftypevr #: doc/guix.texi:21829 #, no-wrap msgid "{@code{libvirt-configuration} parameter} string host-uuid-source" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Zeichenkette host-uuid-source" #. type: deftypevr #: doc/guix.texi:21831 msgid "Source to read host UUID." -msgstr "" +msgstr "Die Quelle, von der die UUID des Wirtssystems genommen wird." #. type: itemize #: doc/guix.texi:21835 msgid "@code{smbios}: fetch the UUID from @code{dmidecode -s system-uuid}" -msgstr "" +msgstr "@code{smbios}: Die UUID von @code{dmidecode -s system-uuid} holen." #. type: itemize #: doc/guix.texi:21838 msgid "@code{machine-id}: fetch the UUID from @code{/etc/machine-id}" -msgstr "" +msgstr "@code{machine-id}: Die UUID aus @code{/etc/machine-id} holen." #. type: deftypevr #: doc/guix.texi:21843 msgid "If @code{dmidecode} does not provide a valid UUID a temporary UUID will be generated." -msgstr "" +msgstr "Falls @code{dmidecode} keine gültige UUID liefert, wird eine temporäre UUID generiert." #. type: deftypevr #: doc/guix.texi:21845 msgid "Defaults to @samp{\"smbios\"}." -msgstr "" +msgstr "Die Vorgabe ist @samp{\"smbios\"}." #. type: deftypevr #: doc/guix.texi:21848 #, no-wrap msgid "{@code{libvirt-configuration} parameter} integer keepalive-interval" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Ganze-Zahl keepalive-interval" #. type: deftypevr #: doc/guix.texi:21853 msgid "A keepalive message is sent to a client after @code{keepalive_interval} seconds of inactivity to check if the client is still responding. If set to -1, libvirtd will never send keepalive requests; however clients can still send them and the daemon will send responses." -msgstr "" +msgstr "Einem Client wird eine Nachricht zum Aufrechterhalten der Verbindung gesendet, nachdem @code{keepalive_interval} Sekunden lang keine Aktivität stattgefunden hat. Damit kann überprüft werden, ob der Client noch antwortet. Wird dieses Feld auf -1 gesetzt, wird libvirtd niemals Aufrechterhaltungsanfragen senden; Clients können diese aber weiterhin dem Daemon schicken und er wird auf diese antworten." #. type: deftypevr #: doc/guix.texi:21858 #, no-wrap msgid "{@code{libvirt-configuration} parameter} integer keepalive-count" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Ganze-Zahl keepalive-count" #. type: deftypevr #: doc/guix.texi:21862 msgid "Maximum number of keepalive messages that are allowed to be sent to the client without getting any response before the connection is considered broken." -msgstr "" +msgstr "Wieviele Aufrechterhaltungsnachrichten höchstens zum Client geschickt werden dürfen, ohne dass eine Antwort zurückgekommen ist, bevor die Verbindung als abgebrochen gilt." #. type: deftypevr #: doc/guix.texi:21869 msgid "In other words, the connection is automatically closed approximately after @code{keepalive_interval * (keepalive_count + 1)} seconds since the last message received from the client. When @code{keepalive-count} is set to 0, connections will be automatically closed after @code{keepalive-interval} seconds of inactivity without sending any keepalive messages." -msgstr "" +msgstr "Mit anderen Worten wird die Verbindung ungefähr dann automatisch geschlossen, wenn @code{keepalive_interval * (keepalive_count + 1)} Sekunden seit der letzten vom Client empfangenen Nachricht vergangen sind. Wenn @code{keepalive-count} auf 0 gesetzt wurde, werden Verbindungen dann automatisch geschlossen, wenn @code{keepalive-interval} Sekunden der Inaktivität vorausgegangen sind, ohne dass eine Aufrechterhaltungsnachricht versandt wurde." #. type: deftypevr #: doc/guix.texi:21874 #, no-wrap msgid "{@code{libvirt-configuration} parameter} integer admin-keepalive-interval" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Ganze-Zahl admin-keepalive-interval" #. type: deftypevr #: doc/guix.texi:21876 doc/guix.texi:21883 msgid "Same as above but for admin interface." -msgstr "" +msgstr "Wie oben, aber für die Administratorschnittstelle." #. type: deftypevr #: doc/guix.texi:21881 #, no-wrap msgid "{@code{libvirt-configuration} parameter} integer admin-keepalive-count" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Ganze-Zahl admin-keepalive-count" #. type: deftypevr #: doc/guix.texi:21888 #, no-wrap msgid "{@code{libvirt-configuration} parameter} integer ovs-timeout" -msgstr "" +msgstr "{@code{libvirt-configuration}-Parameter} Ganze-Zahl ovs-timeout" #. type: deftypevr #: doc/guix.texi:21890 msgid "Timeout for Open vSwitch calls." -msgstr "" +msgstr "Zeitbeschränkung für Aufrufe über Open vSwitch." #. type: deftypevr #: doc/guix.texi:21894 msgid "The @code{ovs-vsctl} utility is used for the configuration and its timeout option is set by default to 5 seconds to avoid potential infinite waits blocking libvirt." -msgstr "" +msgstr "Das Werkzeug @code{ovs-vsctl} wird zur Konfiguration benutzt; die dort eingestellte Zeitbeschränkung ist nach Voreinstellung auf 5 Sekunden festgelegt, um zu verhindern, dass libvirt durch unbegrenztes Warten blockiert werden kann." #. type: subsubheading #: doc/guix.texi:21901 #, no-wrap msgid "Virtlog daemon" -msgstr "" +msgstr "Virtlog-Daemon" #. type: Plain text #: doc/guix.texi:21904 msgid "The virtlogd service is a server side daemon component of libvirt that is used to manage logs from virtual machine consoles." -msgstr "" +msgstr "Der virtlogd-Dienst ist eine serverseitige Daemon-Komponente von libvirt, die benutzt wird, um Protokolle der Konsolen von virtuellen Maschinen zu verwalten." #. type: Plain text #: doc/guix.texi:21910 msgid "This daemon is not used directly by libvirt client applications, rather it is called on their behalf by @code{libvirtd}. By maintaining the logs in a standalone daemon, the main @code{libvirtd} daemon can be restarted without risk of losing logs. The @code{virtlogd} daemon has the ability to re-exec() itself upon receiving @code{SIGUSR1}, to allow live upgrades without downtime." -msgstr "" +msgstr "Dieser Daemon wird von libvirt-Clientanwendungen nicht direkt benutzt, sondern wird an deren Stelle vom @code{libvirtd} aufgerufen. Indem die Protokolle in einem eigenständigen Daemon vorgehalten werden, kann der eigentliche @code{libvirtd}-Daemon neu gestartet werden, ohne dass man riskiert, Protokolle zu verlieren. Der @code{virtlogd}-Daemon hat die Fähigkeit, sich selbst erneut mit exec() zu starten, wenn er @code{SIGUSR1} empfängt, damit Aktualisierungen ohne Ausfall möglich sind." #. type: deffn #: doc/guix.texi:21911 #, no-wrap msgid "{Scheme Variable} virtlog-service-type" -msgstr "" +msgstr "{Scheme-Variable} virtlog-service-type" #. type: deffn #: doc/guix.texi:21914 msgid "This is the type of the virtlog daemon. Its value must be a @code{virtlog-configuration}." -msgstr "" +msgstr "Dies ist der Diensttyp des virtlog-Daemons. Sein Wert muss eine @code{virtlog-configuration} sein." #. type: example #: doc/guix.texi:21919 @@ -40869,95 +41047,98 @@ msgid "" " (virtlog-configuration\n" " (max-clients 1000)))\n" msgstr "" +"(service virtlog-service-type\n" +" (virtlog-configuration\n" +" (max-clients 1000)))\n" #. type: deftypevr #: doc/guix.texi:21922 #, no-wrap msgid "{@code{virtlog-configuration} parameter} integer log-level" -msgstr "" +msgstr "{@code{virtlog-configuration}-Parameter} Ganze-Zahl log-level" #. type: deftypevr #: doc/guix.texi:21929 #, no-wrap msgid "{@code{virtlog-configuration} parameter} string log-filters" -msgstr "" +msgstr "{@code{virtlog-configuration}-Parameter} Zeichenkette log-filters" #. type: deftypevr #: doc/guix.texi:21974 #, no-wrap msgid "{@code{virtlog-configuration} parameter} string log-outputs" -msgstr "" +msgstr "{@code{virtlog-configuration}-Parameter} Zeichenkette log-outputs" #. type: deftypevr #: doc/guix.texi:21979 msgid "An output is one of the places to save logging information The format for an output can be:" -msgstr "" +msgstr "Als Ausgabe bezeichnen wir einen der Orte, an denen Protokollinformationen gespeichert werden. Eine Ausgabe wird auf eine der folgenden Arten angegeben:" #. type: deftypevr #: doc/guix.texi:22019 #, no-wrap msgid "{@code{virtlog-configuration} parameter} integer max-clients" -msgstr "" +msgstr "{@code{virtlog-configuration}-Parameter} Ganze-Zahl max-clients" #. type: deftypevr #: doc/guix.texi:22024 msgid "Defaults to @samp{1024}." -msgstr "" +msgstr "Die Vorgabe ist @samp{1024}." #. type: deftypevr #: doc/guix.texi:22027 #, no-wrap msgid "{@code{virtlog-configuration} parameter} integer max-size" -msgstr "" +msgstr "{@code{virtlog-configuration}-Parameter} Ganze-Zahl max-size" #. type: deftypevr #: doc/guix.texi:22029 msgid "Maximum file size before rolling over." -msgstr "" +msgstr "Wie groß eine Protokolldatei werden darf, bevor eine neue begonnen wird." #. type: deftypevr #: doc/guix.texi:22031 msgid "Defaults to @samp{2MB}" -msgstr "" +msgstr "Die Vorgabe ist @samp{2MB}." #. type: deftypevr #: doc/guix.texi:22034 #, no-wrap msgid "{@code{virtlog-configuration} parameter} integer max-backups" -msgstr "" +msgstr "{@code{virtlog-configuration}-Parameter} Ganze-Zahl max-backups" #. type: deftypevr #: doc/guix.texi:22036 msgid "Maximum number of backup files to keep." -msgstr "" +msgstr "Wieviele Dateien mit Sicherungskopien gespeichert bleiben sollen." #. type: deftypevr #: doc/guix.texi:22038 msgid "Defaults to @samp{3}" -msgstr "" +msgstr "Die Vorgabe ist @samp{3}." #. type: subsubheading #: doc/guix.texi:22041 #, no-wrap msgid "Transparent Emulation with QEMU" -msgstr "" +msgstr "Transparente Emulation mit QEMU" #. type: cindex #: doc/guix.texi:22043 #, no-wrap msgid "emulation" -msgstr "" +msgstr "Emulation" #. type: code{#1} #: doc/guix.texi:22044 #, no-wrap msgid "binfmt_misc" -msgstr "" +msgstr "binfmt_misc" #. type: Plain text #: doc/guix.texi:22050 msgid "@code{qemu-binfmt-service-type} provides support for transparent emulation of program binaries built for different architectures---e.g., it allows you to transparently execute an ARMv7 program on an x86_64 machine. It achieves this by combining the @uref{https://www.qemu.org, QEMU} emulator and the @code{binfmt_misc} feature of the kernel Linux." -msgstr "" +msgstr "Mit @code{qemu-binfmt-service-type} wird transparente Emulation von Programm-Binärdateien, die für unterschiedliche Architekturen erstellt wurden, ermöglicht. Z.B.@: können Sie ein ARMv7-Programm „einfach so“ transparent auf einer x86_64-Maschine ausführen. Dazu wird der @uref{https://www.qemu.org, QEMU-Emulator} mit der @code{binfmt_misc}-Funktionalität des Kernels Linux kombiniert." #. type: defvr #: doc/guix.texi:22051 @@ -40991,39 +41172,39 @@ msgstr "In diesem Beispiel aktivieren wir transparente Emulation für die Plattf #: doc/guix.texi:22069 #, no-wrap msgid "{Data Type} qemu-binfmt-configuration" -msgstr "" +msgstr "{Datentyp} qemu-binfmt-configuration" #. type: deftp #: doc/guix.texi:22071 msgid "This is the configuration for the @code{qemu-binfmt} service." -msgstr "" +msgstr "Dies ist die Konfiguration des @code{qemu-binfmt}-Dienstes." #. type: item #: doc/guix.texi:22073 #, no-wrap msgid "@code{platforms} (default: @code{'()})" -msgstr "" +msgstr "@code{platforms} (Vorgabe: @code{'()})" #. type: table #: doc/guix.texi:22076 msgid "The list of emulated QEMU platforms. Each item must be a @dfn{platform object} as returned by @code{lookup-qemu-platforms} (see below)." -msgstr "" +msgstr "Die Liste der emulierten QEMU-Plattformen. Jeder Eintrag muss ein @dfn{Plattformobjekt} sein, wie @code{lookup-qemu-platforms} eines zurückliefert (siehe unten)." #. type: item #: doc/guix.texi:22077 #, no-wrap msgid "@code{guix-support?} (default: @code{#f})" -msgstr "" +msgstr "@code{guix-support?} (Vorgabe: @code{#f})" #. type: table #: doc/guix.texi:22083 msgid "When it is true, QEMU and all its dependencies are added to the build environment of @command{guix-daemon} (@pxref{Invoking guix-daemon, @code{--chroot-directory} option}). This allows the @code{binfmt_misc} handlers to be used within the build environment, which in turn means that you can transparently build programs for another architecture." -msgstr "" +msgstr "Wenn es auf wahr gesetzt ist, werden QEMU und all seine Abhängigkeiten zur Erstellungsumgebung des @command{guix-daemon} hinzugefügt (siehe @ref{Invoking guix-daemon, @code{--chroot-directory}-Option}). Dadurch können die @code{binfmt_misc}-Handler innerhalb der Erstellungsumgebung benutzt werden, wodurch Sie Programme transparent für eine andere Architektur erstellen können." #. type: table #: doc/guix.texi:22086 msgid "For example, let's suppose you're on an x86_64 machine and you have this service:" -msgstr "" +msgstr "Wenn wir zum Beispiel annehmen, Sie arbeiten auf einer x86_64-Maschine und haben diesen Dienst eingerichtet:" #. type: example #: doc/guix.texi:22092 @@ -41034,66 +41215,70 @@ msgid "" " (platforms (lookup-qemu-platforms \"arm\"))\n" " (guix-support? #t)))\n" msgstr "" +"(service qemu-binfmt-service-type\n" +" (qemu-binfmt-configuration\n" +" (platforms (lookup-qemu-platforms \"arm\"))\n" +" (guix-support? #t)))\n" #. type: table #: doc/guix.texi:22095 msgid "You can run:" -msgstr "" +msgstr "Dann können Sie das hier ausführen:" #. type: example #: doc/guix.texi:22098 #, no-wrap msgid "guix build -s armhf-linux inkscape\n" -msgstr "" +msgstr "guix build -s armhf-linux inkscape\n" #. type: table #: doc/guix.texi:22105 msgid "and it will build Inkscape for ARMv7 @emph{as if it were a native build}, transparently using QEMU to emulate the ARMv7 CPU. Pretty handy if you'd like to test a package build for an architecture you don't have access to!" -msgstr "" +msgstr "und alles verhält sich so, als würden Sie Inkscape für ARMv7 @emph{wie „nativ“ auf einem ARM-Rechner erstellen}, wozu QEMU transparent benutzt wird, um den ARMv7-Prozessor zu emulieren. Das ist ganz schön praktisch, wenn Sie testen wollen, ob ein Paket für eine Architektur erstellt werden kann, die Ihnen nicht zur Verfügung steht." #. type: item #: doc/guix.texi:22106 #, no-wrap msgid "@code{qemu} (default: @code{qemu})" -msgstr "" +msgstr "@code{qemu} (Vorgabe: @code{qemu})" #. type: table #: doc/guix.texi:22108 msgid "The QEMU package to use." -msgstr "" +msgstr "Das QEMU-Paket, das benutzt werden soll." #. type: deffn #: doc/guix.texi:22111 #, no-wrap msgid "{Scheme Procedure} lookup-qemu-platforms @var{platforms}@dots{}" -msgstr "" +msgstr "{Scheme-Prozedur} lookup-qemu-platforms @var{Plattformen}@dots{}" #. type: deffn #: doc/guix.texi:22116 msgid "Return the list of QEMU platform objects corresponding to @var{platforms}@dots{}. @var{platforms} must be a list of strings corresponding to platform names, such as @code{\"arm\"}, @code{\"sparc\"}, @code{\"mips64el\"}, and so on." -msgstr "" +msgstr "Liefert die Liste der QEMU-Plattformobjekte, die den @var{Plattformen}@dots{} entsprechen. @var{Plattformen} muss eine Liste von Zeichenketten sein, die den Namen der Plattformen entsprechen, wie z.B.@: @code{\"arm\"}, @code{\"sparc\"}, @code{\"mips64el\"} und so weiter." #. type: deffn #: doc/guix.texi:22118 #, no-wrap msgid "{Scheme Procedure} qemu-platform? @var{obj}" -msgstr "" +msgstr "{Scheme-Prozedur} qemu-platform? @var{Objekt}" #. type: deffn #: doc/guix.texi:22120 msgid "Return true if @var{obj} is a platform object." -msgstr "" +msgstr "Liefert wahr, wenn das @var{Objekt} ein Plattformobjekt ist." #. type: deffn #: doc/guix.texi:22122 #, no-wrap msgid "{Scheme Procedure} qemu-platform-name @var{platform}" -msgstr "" +msgstr "{Scheme-Prozedur} qemu-platform-name @var{Plattform}" #. type: deffn #: doc/guix.texi:22124 msgid "Return the name of @var{platform}---a string such as @code{\"arm\"}." -msgstr "" +msgstr "Liefert den Namen der @var{Plattform}, also eine Zeichenkette wie z.B.@: @code{\"arm\"}." #. type: Plain text #: doc/guix.texi:22136 diff --git a/po/doc/guix-manual.fr.po b/po/doc/guix-manual.fr.po index d7fc262cbc..06708874c9 100644 --- a/po/doc/guix-manual.fr.po +++ b/po/doc/guix-manual.fr.po @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: guix-manual 1.0.1-pre1\n" "Report-Msgid-Bugs-To: ludo@gnu.org\n" "POT-Creation-Date: 2019-05-10 20:53+0200\n" -"PO-Revision-Date: 2019-05-12 11:55+0200\n" +"PO-Revision-Date: 2019-07-20 11:50+0200\n" "Last-Translator: Julien Lepiller \n" "Language-Team: French \n" "Language: fr\n" @@ -18,7 +18,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Bugs: Report translation errors to the Language-Team address.\n" -"X-Generator: Offlate 0.1\n" +"X-Generator: Poedit 2.2.1\n" #. #-#-#-#-# contributing.pot (guix 1.0.1-pre1) #-#-#-#-# #. type: chapter @@ -1432,6 +1432,8 @@ msgstr "version-fr.texi" #. type: copying #: doc/guix.texi:66 +#, fuzzy +#| msgid "Copyright @copyright{} 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès@* Copyright @copyright{} 2013, 2014, 2016 Andreas Enge@* Copyright @copyright{} 2013 Nikita Karetnikov@* Copyright @copyright{} 2014, 2015, 2016 Alex Kost@* Copyright @copyright{} 2015, 2016 Mathieu Lirzin@* Copyright @copyright{} 2014 Pierre-Antoine Rault@* Copyright @copyright{} 2015 Taylan Ulrich Bayırlı/Kammer@* Copyright @copyright{} 2015, 2016, 2017 Leo Famulari@* Copyright @copyright{} 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus@* Copyright @copyright{} 2016 Ben Woodcroft@* Copyright @copyright{} 2016, 2017, 2018 Chris Marusich@* Copyright @copyright{} 2016, 2017, 2018, 2019 Efraim Flashner@* Copyright @copyright{} 2016 John Darrington@* Copyright @copyright{} 2016, 2017 ng0@* Copyright @copyright{} 2016, 2017, 2018, 2019 Jan Nieuwenhuizen@* Copyright @copyright{} 2016 Julien Lepiller@* Copyright @copyright{} 2016 Alex ter Weele@* Copyright @copyright{} 2016, 2017, 2018, 2019 Christopher Baines@* Copyright @copyright{} 2017, 2018 Clément Lassieur@* Copyright @copyright{} 2017, 2018 Mathieu Othacehe@* Copyright @copyright{} 2017 Federico Beffa@* Copyright @copyright{} 2017, 2018 Carlo Zancanaro@* Copyright @copyright{} 2017 Thomas Danckaert@* Copyright @copyright{} 2017 humanitiesNerd@* Copyright @copyright{} 2017 Christopher Allan Webber@* Copyright @copyright{} 2017, 2018 Marius Bakke@* Copyright @copyright{} 2017 Hartmut Goebel@* Copyright @copyright{} 2017 Maxim Cournoyer@* Copyright @copyright{} 2017, 2018 Tobias Geerinckx-Rice@* Copyright @copyright{} 2017 George Clemmer@* Copyright @copyright{} 2017 Andy Wingo@* Copyright @copyright{} 2017, 2018, 2019 Arun Isaac@* Copyright @copyright{} 2017 nee@* Copyright @copyright{} 2018 Rutger Helling@* Copyright @copyright{} 2018 Oleg Pykhalov@* Copyright @copyright{} 2018 Mike Gerwitz@* Copyright @copyright{} 2018 Pierre-Antoine Rouby@* Copyright @copyright{} 2018 Gábor Boskovits@* Copyright @copyright{} 2018, 2019 Florian Pelz@* Copyright @copyright{} 2018 Laura Lazzati@* Copyright @copyright{} 2018 Alex Vong@* Copyright @copyright{} 2019 Josh Holland@* Copyright @copyright{} 2019 Diego Nicola Barbato@*" msgid "Copyright @copyright{} 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès@* Copyright @copyright{} 2013, 2014, 2016 Andreas Enge@* Copyright @copyright{} 2013 Nikita Karetnikov@* Copyright @copyright{} 2014, 2015, 2016 Alex Kost@* Copyright @copyright{} 2015, 2016 Mathieu Lirzin@* Copyright @copyright{} 2014 Pierre-Antoine Rault@* Copyright @copyright{} 2015 Taylan Ulrich Bayırlı/Kammer@* Copyright @copyright{} 2015, 2016, 2017 Leo Famulari@* Copyright @copyright{} 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus@* Copyright @copyright{} 2016 Ben Woodcroft@* Copyright @copyright{} 2016, 2017, 2018 Chris Marusich@* Copyright @copyright{} 2016, 2017, 2018, 2019 Efraim Flashner@* Copyright @copyright{} 2016 John Darrington@* Copyright @copyright{} 2016, 2017 ng0@* Copyright @copyright{} 2016, 2017, 2018, 2019 Jan Nieuwenhuizen@* Copyright @copyright{} 2016 Julien Lepiller@* Copyright @copyright{} 2016 Alex ter Weele@* Copyright @copyright{} 2016, 2017, 2018, 2019 Christopher Baines@* Copyright @copyright{} 2017, 2018 Clément Lassieur@* Copyright @copyright{} 2017, 2018 Mathieu Othacehe@* Copyright @copyright{} 2017 Federico Beffa@* Copyright @copyright{} 2017, 2018 Carlo Zancanaro@* Copyright @copyright{} 2017 Thomas Danckaert@* Copyright @copyright{} 2017 humanitiesNerd@* Copyright @copyright{} 2017 Christopher Allan Webber@* Copyright @copyright{} 2017, 2018 Marius Bakke@* Copyright @copyright{} 2017 Hartmut Goebel@* Copyright @copyright{} 2017 Maxim Cournoyer@* Copyright @copyright{} 2017, 2018 Tobias Geerinckx-Rice@* Copyright @copyright{} 2017 George Clemmer@* Copyright @copyright{} 2017 Andy Wingo@* Copyright @copyright{} 2017, 2018, 2019 Arun Isaac@* Copyright @copyright{} 2017 nee@* Copyright @copyright{} 2018 Rutger Helling@* Copyright @copyright{} 2018 Oleg Pykhalov@* Copyright @copyright{} 2018 Mike Gerwitz@* Copyright @copyright{} 2018 Pierre-Antoine Rouby@* Copyright @copyright{} 2018 Gábor Boskovits@* Copyright @copyright{} 2018 Florian Pelz@* Copyright @copyright{} 2018 Laura Lazzati@* Copyright @copyright{} 2018 Alex Vong@* Copyright @copyright{} 2019 Josh Holland@*" msgstr "" "Copyright @copyright{} 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès@*\n" @@ -1449,7 +1451,7 @@ msgstr "" "Copyright @copyright{} 2016 John Darrington@*\n" "Copyright @copyright{} 2016, 2017 ng0@*\n" "Copyright @copyright{} 2016, 2017, 2018, 2019 Jan Nieuwenhuizen@*\n" -"Copyright @copyright{} 2016, 2018, 2019 Julien Lepiller@*\n" +"Copyright @copyright{} 2016 Julien Lepiller@*\n" "Copyright @copyright{} 2016 Alex ter Weele@*\n" "Copyright @copyright{} 2016, 2017, 2018, 2019 Christopher Baines@*\n" "Copyright @copyright{} 2017, 2018 Clément Lassieur@*\n" @@ -1472,10 +1474,11 @@ msgstr "" "Copyright @copyright{} 2018 Mike Gerwitz@*\n" "Copyright @copyright{} 2018 Pierre-Antoine Rouby@*\n" "Copyright @copyright{} 2018 Gábor Boskovits@*\n" -"Copyright @copyright{} 2018 Florian Pelz@*\n" +"Copyright @copyright{} 2018, 2019 Florian Pelz@*\n" "Copyright @copyright{} 2018 Laura Lazzati@*\n" "Copyright @copyright{} 2018 Alex Vong@*\n" -"Copyright @copyright{} 2019 Josh Holland@*" +"Copyright @copyright{} 2019 Josh Holland@*\n" +"Copyright @copyright{} 2019 Diego Nicola Barbato@*" #. type: copying #: doc/guix.texi:73 @@ -1610,8 +1613,10 @@ msgstr "Cette documentation décrit GNU Guix version @value{VERSION}, un outil d #. type: Plain text #: doc/guix.texi:123 +#, fuzzy +#| msgid "This manual is also available in Simplified Chinese (@pxref{Top,,, guix.zh_CN, GNU Guix参考手册}), French (@pxref{Top,,, guix.fr, Manuel de référence de GNU Guix}), German (@pxref{Top,,, guix.de, Referenzhandbuch zu GNU Guix}), Spanish (@pxref{Top,,, guix.es, Manual de referencia de GNU Guix}), and Russian (@pxref{Top,,, guix.ru, Руководство GNU Guix}). If you would like to translate it in your native language, consider joining the @uref{https://translationproject.org/domain/guix-manual.html, Translation Project}." msgid "This manual is also available in Simplified Chinese (@pxref{Top,,, guix.zh_CN, GNU Guix参考手册}), French (@pxref{Top,,, guix.fr, Manuel de référence de GNU Guix}), German (@pxref{Top,,, guix.de, Referenzhandbuch zu GNU Guix}), and Spanish (@pxref{Top,,, guix.es, Manual de referencia de GNU Guix}). If you would like to translate it in your native language, consider joining the @uref{https://translationproject.org/domain/guix-manual.html, Translation Project}." -msgstr "Ce manuel est aussi disponible en anglais (@pxref{Top,,, guix, GNU Guix Reference Manual}), en allemand (@pxref{Top,,, guix.de, Referenzhandbuch zu GNU Guix}), en chinois simplifié (@pxref{Top,,, guix.zh_CN, GNU Guix参考手册}) et en espagnol (@pxref{Top,,, guix.es, Manual de referencia de GNU Guix}). Si vous souhaitez nous aider à traduire ce manuel en français, vous pouvez nous rejoindre sur le @uref{https://translationproject.org/domain/guix-manual.html, projet de traduction} et sur la liste de diffusion @uref{https://listes.traduc.org/mailman/listinfo/traduc/, traduc@@traduc.org}." +msgstr "Ce manuel est aussi disponible en anglais (@pxref{Top,,, guix, GNU Guix Reference Manual}), en allemand (@pxref{Top,,, guix.de, Referenzhandbuch zu GNU Guix}), en chinois simplifié (@pxref{Top,,, guix.zh_CN, GNU Guix参考手册}), en espagnol (@pxref{Top,,, guix.es, Manual de referencia de GNU Guix}) et en russe (@pxref{Top,,, guix.ru, Руководство GNU Guix}). Si vous souhaitez nous aider à traduire ce manuel en français, vous pouvez nous rejoindre sur le @uref{https://translationproject.org/domain/guix-manual.html, projet de traduction} et sur la liste de diffusion @uref{https://listes.traduc.org/mailman/listinfo/traduc/, traduc@@traduc.org}." #. type: chapter #: doc/guix.texi:139 doc/guix.texi:149 doc/guix.texi:312 doc/guix.texi:313 @@ -3280,7 +3285,7 @@ msgstr "i686-linux" #. type: table #: doc/guix.texi:434 msgid "Intel 32-bit architecture (IA32), Linux-Libre kernel;" -msgstr "l'architecture Intel 32-bits (IA32) avec le noyau Linux-libre ;" +msgstr "l'architecture Intel 32 bits (IA32) avec le noyau Linux-libre ;" #. type: item #: doc/guix.texi:435 @@ -3312,8 +3317,10 @@ msgstr "mips64el-linux" #. type: table #: doc/guix.texi:448 +#, fuzzy +#| msgid "little-endian 64-bit ARMv8-A processors, Linux-Libre kernel." msgid "little-endian 64-bit MIPS processors, specifically the Loongson series, n32 ABI, and Linux-Libre kernel." -msgstr "les processeurs MIPS 64-bits little-endian, spécifiquement la série Loongson, ABI n32, avec le noyau Linux-libre." +msgstr "les processeurs 64 bits ARMv8-A en little-endian, avec le noyau Linux-libre." #. type: Plain text #: doc/guix.texi:458 @@ -4086,7 +4093,7 @@ msgstr "crochet de construction" #. type: Plain text #: doc/guix.texi:1020 msgid "When desired, the build daemon can @dfn{offload} derivation builds to other machines running Guix, using the @code{offload} @dfn{build hook}@footnote{This feature is available only when @uref{https://github.com/artyom-poptsov/guile-ssh, Guile-SSH} is present.}. When that feature is enabled, a list of user-specified build machines is read from @file{/etc/guix/machines.scm}; every time a build is requested, for instance via @code{guix build}, the daemon attempts to offload it to one of the machines that satisfy the constraints of the derivation, in particular its system type---e.g., @file{x86_64-linux}. Missing prerequisites for the build are copied over SSH to the target machine, which then proceeds with the build; upon success the output(s) of the build are copied back to the initial machine." -msgstr "Si vous le souhaitez, le démon de construction peut @dfn{décharger} des constructions de dérivations sur d'autres machines Guix avec le @dfn{crochet de construction} @code{offload}@footnote{Cette fonctionnalité n'est disponible que si @uref{https://github.com/artyom-poptsov/guile-ssh, Guile-SSH} est présent.}. Lorsque cette fonctionnalité est activée, Guix lit une liste de machines de constructions spécifiée par l'utilisateur dans @file{/etc/guix/machines.scm} ; à chaque fois qu'une construction est demandée, par exemple par @code{guix build}, le démon essaie de la décharger sur une des machines qui satisfont les contraintes de la dérivation, en particulier le type de système, p.@: ex.@: @file{x86_64-linux}. Les prérequis manquants pour la construction sont copiés par SSH sur la machine de construction qui procède ensuite à la construction ; si elle réussi, les sorties de la construction sont copiés vers la machine de départ." +msgstr "Si vous le souhaitez, le démon de construction peut @dfn{décharger} des constructions de dérivations sur d'autres machines Guix avec le @dfn{crochet de construction} @code{offload}@footnote{Cette fonctionnalité n'est disponible que si @uref{https://github.com/artyom-poptsov/guile-ssh, Guile-SSH} est présent.}. Lorsque cette fonctionnalité est activée, Guix lit une liste de machines de constructions spécifiée par l'utilisateur dans @file{/etc/guix/machines.scm} ; à chaque fois qu'une construction est demandée, par exemple par @code{guix build}, le démon essaie de la décharger sur une des machines qui satisfont les contraintes de la dérivation, en particulier le type de système, p.@: ex.@: @file{x86_64-linux}. Les prérequis manquants pour la construction sont copiés par SSH sur la machine de construction qui procède ensuite à la construction ; si elle réussit, les sorties de la construction sont copiés vers la machine de départ." #. type: Plain text #: doc/guix.texi:1022 @@ -6289,7 +6296,7 @@ msgstr "transactions" #. type: Plain text #: doc/guix.texi:2544 msgid "The command provides the obvious install, remove, and upgrade operations. Each invocation is actually a @emph{transaction}: either the specified operation succeeds, or nothing happens. Thus, if the @command{guix package} process is terminated during the transaction, or if a power outage occurs during the transaction, then the user's profile remains in its previous state, and remains usable." -msgstr "La commande fournit les opérations évidentes d'installation, de suppression et de mise à jour. Chaque invocation est en fait une @emph{transaction} : soit l'opération demandée réussi, soit rien ne se passe. Ainsi, si le processus @command{guix package} est terminé pendant la transaction ou si une panne de courant arrive pendant la transaction, le profil de l'utilisateur reste dans son état précédent et reste utilisable." +msgstr "La commande fournit les opérations évidentes d'installation, de suppression et de mise à jour. Chaque invocation est en fait une @emph{transaction} : soit l'opération demandée réussit, soit rien ne se passe. Ainsi, si le processus @command{guix package} est terminé pendant la transaction ou si une panne de courant arrive pendant la transaction, le profil de l'utilisateur reste dans son état précédent et reste utilisable." #. type: Plain text #: doc/guix.texi:2552 @@ -6299,7 +6306,7 @@ msgstr "En plus, il est possible @emph{d'annuler} toute transaction sur les paqu #. type: Plain text #: doc/guix.texi:2559 msgid "All packages in the package store may be @emph{garbage-collected}. Guix can determine which packages are still referenced by user profiles, and remove those that are provably no longer referenced (@pxref{Invoking guix gc}). Users may also explicitly remove old generations of their profile so that the packages they refer to can be collected." -msgstr "Tous les paquets du dépôt des paquets peut être @emph{glané}. Guix peut déterminer quels paquets sont toujours référencés par les profils des utilisateurs et supprimer ceux qui ne sont plus référencés de manière prouvable (@pxref{Invoking guix gc}). Les utilisateurs peuvent toujours explicitement supprimer les anciennes générations de leur profil pour que les paquets auxquels elles faisaient référence puissent être glanés." +msgstr "Tout paquet du dépôt des paquets peut être @emph{glané}. Guix peut déterminer quels paquets sont toujours référencés par les profils des utilisateurs et supprimer ceux qui ne sont plus référencés de manière prouvable (@pxref{Invoking guix gc}). Les utilisateurs peuvent toujours explicitement supprimer les anciennes générations de leur profil pour que les paquets auxquels elles faisaient référence puissent être glanés." #. type: cindex #: doc/guix.texi:2560 doc/guix.texi:4087 @@ -6310,7 +6317,7 @@ msgstr "reproductibilité" #. type: Plain text #: doc/guix.texi:2572 msgid "Guix takes a @dfn{purely functional} approach to package management, as described in the introduction (@pxref{Introduction}). Each @file{/gnu/store} package directory name contains a hash of all the inputs that were used to build that package---compiler, libraries, build scripts, etc. This direct correspondence allows users to make sure a given package installation matches the current state of their distribution. It also helps maximize @dfn{build reproducibility}: thanks to the isolated build environments that are used, a given build is likely to yield bit-identical files when performed on different machines (@pxref{Invoking guix-daemon, container})." -msgstr "Guix prend une approche @dfn{purement fonctionnelle} de la gestion de paquets, telle que décrite dans l'introduction (@pxref{Introduction}). Chaque nom de répertoire de paquet dans @file{/gnu/store} contient un hash de toutes les entrées qui ont été utilisées pendant la construction de ce paquet — le compilateur, les bibliothèques, les scripts de construction, etc. Cette correspondance directe permet aux utilisateurs de s'assurer que l'installation d'un paquet donné correspond à l'état actuel de leur distribution. Elle aide aussi à maximiser la @dfn{reproductibilité} : grâce aux environnements de construction utilisés, une construction donnée à de forte chances de donner des fichiers identiques bit-à-bit lorsqu'elle est effectuée sur des machines différents (@pxref{Invoking guix-daemon, container})." +msgstr "Guix prend une approche @dfn{purement fonctionnelle} de la gestion de paquets, telle que décrite dans l'introduction (@pxref{Introduction}). Chaque nom de répertoire de paquet dans @file{/gnu/store} contient un hash de toutes les entrées qui ont été utilisées pendant la construction de ce paquet — le compilateur, les bibliothèques, les scripts de construction, etc. Cette correspondance directe permet aux utilisateurs de s'assurer que l'installation d'un paquet donné correspond à l'état actuel de leur distribution. Elle aide aussi à maximiser la @dfn{reproductibilité} : grâce aux environnements de construction utilisés, une construction donnée a de forte chances de donner des fichiers identiques bit-à-bit lorsqu'elle est effectuée sur des machines différentes (@pxref{Invoking guix-daemon, container})." #. type: Plain text #: doc/guix.texi:2583 @@ -6472,7 +6479,7 @@ msgstr "" #. type: Plain text #: doc/guix.texi:2678 msgid "In a multi-user setup, user profiles are stored in a place registered as a @dfn{garbage-collector root}, which @file{$HOME/.guix-profile} points to (@pxref{Invoking guix gc}). That directory is normally @code{@var{localstatedir}/guix/profiles/per-user/@var{user}}, where @var{localstatedir} is the value passed to @code{configure} as @code{--localstatedir}, and @var{user} is the user name. The @file{per-user} directory is created when @command{guix-daemon} is started, and the @var{user} sub-directory is created by @command{guix package}." -msgstr "Dans un environnement multi-utilisateur, les profils utilisateurs sont stockés comme une @dfn{racine du ramasse-miettes}, vers laquelle pointe @file{$HOME/.guix-profile} (@pxref{Invoking guix gc}). Ce répertoire est normalement @code{@var{localstatedir}/guix/profiles/per-user/@var{utilisateur}}, où @var{localstatedir} est la valeur passée à @code{configure} avec @code{--localstatedir} et @var{utilisateur} le nom d'utilisateur. Le répertoire @file{per-user} est créé lorsque @command{guix-daemon} est démarré et sous-répertoire @var{utilisateur} est créé par @command{guix package}." +msgstr "Dans un environnement multi-utilisateur, les profils utilisateurs sont stockés comme une @dfn{racine du ramasse-miettes}, vers laquelle pointe @file{$HOME/.guix-profile} (@pxref{Invoking guix gc}). Ce répertoire est normalement @code{@var{localstatedir}/guix/profiles/per-user/@var{utilisateur}}, où @var{localstatedir} est la valeur passée à @code{configure} avec @code{--localstatedir} et @var{utilisateur} le nom d'utilisateur. Le répertoire @file{per-user} est créé lorsque @command{guix-daemon} est démarré et le sous-répertoire @var{user} est créé par @command{guix package}." #. type: Plain text #: doc/guix.texi:2680 @@ -7243,7 +7250,7 @@ msgstr "@emph{Des intervalles}. @code{--list-generations=2..9} affiche les" #. type: itemize #: doc/guix.texi:3061 msgid "specified generations and everything in between. Note that the start of a range must be smaller than its end." -msgstr "générations demandées et tout ce qui se trouvent entre elles. Remarquez que le début d'un intervalle doit être plus petit que sa fin." +msgstr "générations demandées et tout ce qui se trouve entre elles. Remarquez que le début d'un intervalle doit être plus petit que sa fin." #. type: itemize #: doc/guix.texi:3065 @@ -7455,7 +7462,7 @@ msgstr "signatures numériques" #. type: Plain text #: doc/guix.texi:3230 msgid "Guix detects and raises an error when attempting to use a substitute that has been tampered with. Likewise, it ignores substitutes that are not signed, or that are not signed by one of the keys listed in the ACL." -msgstr "Guix détecte et lève une erreur lorsqu'il essaye d'utiliser un substituts qui a été modifié. De même, il ignore les substituts qui ne sont pas signés ou qui ne sont pas signés par l'une des clefs listés dans l'ACL." +msgstr "Guix détecte et lève une erreur lorsqu'il essaye d'utiliser un substitut qui a été modifié. De même, il ignore les substituts qui ne sont pas signés ou qui ne sont pas signés par l'une des clefs listées dans l'ACL." #. type: Plain text #: doc/guix.texi:3236 @@ -7654,7 +7661,7 @@ msgstr "Ramasse les miettes — c.-à-d.@: les fichiers inaccessibles de @file{/ #. type: table #: doc/guix.texi:3443 msgid "When @var{min} is given, stop once @var{min} bytes have been collected. @var{min} may be a number of bytes, or it may include a unit as a suffix, such as @code{MiB} for mebibytes and @code{GB} for gigabytes (@pxref{Block size, size specifications,, coreutils, GNU Coreutils})." -msgstr "Lorsque @var{min} est donné, s'arrêter une fois que @var{min} octets ont été collectés. @var{min} pour être un nombre d'octets ou inclure un suffixe d'unité, comme @code{MiB} pour mébioctet et @code{GB} pour gigaoctet (@pxref{Block size, size specifications,, coreutils, GNU Coreutils})." +msgstr "Lorsque @var{min} est donné, s'arrêter une fois que @var{min} octets ont été collectés. @var{min} peut être un nombre d'octets ou inclure un suffixe d'unité, comme @code{MiB} pour mébioctet et @code{GB} pour gigaoctet (@pxref{Block size, size specifications,, coreutils, GNU Coreutils})." #. type: table #: doc/guix.texi:3445 @@ -8006,7 +8013,7 @@ msgstr "À la fin, @command{guix package} utilisera les paquets et les versions #. type: Plain text #: doc/guix.texi:3614 msgid "Any user can update their Guix copy using @command{guix pull}, and the effect is limited to the user who run @command{guix pull}. For instance, when user @code{root} runs @command{guix pull}, this has no effect on the version of Guix that user @code{alice} sees, and vice versa." -msgstr "Chaque utilisateur peut mettre à jour sa copie de Guix avec @command{guix pull} et l'effet est limité à l'utilisateur qui a lancé @command{guix pull}. Par exemple, lorsque l'utilisateur @code{root} lance @command{guix pull}, cela n'a pas d'effet sur la version de Guix que vois @code{alice} et vice-versa." +msgstr "Chaque utilisateur peut mettre à jour sa copie de Guix avec @command{guix pull} et l'effet est limité à l'utilisateur qui a lancé @command{guix pull}. Par exemple, lorsque l'utilisateur @code{root} lance @command{guix pull}, cela n'a pas d'effet sur la version de Guix que voit @code{alice} et vice-versa." #. type: Plain text #: doc/guix.texi:3620 @@ -8102,7 +8109,7 @@ msgstr "@xref{Invoking guix describe, @command{guix describe}}, pour d'autres ma #. type: Plain text #: doc/guix.texi:3663 msgid "This @code{~/.config/guix/current} profile works like any other profile created by @command{guix package} (@pxref{Invoking guix package}). That is, you can list generations, roll back to the previous generation---i.e., the previous Guix---and so on:" -msgstr "Ce profil @code{~/.config/guix/current} fonctionne comme les autres profils créés par @command{guix package} (@pxref{Invoking guix package}). C'est-à-dire que vous pouvez lister les générations, revenir en arrière à une génération précédente — c.-à-d.@: la version de Guix précédente — etc :" +msgstr "Ce profil @code{~/.config/guix/current} fonctionne comme les autres profils créés par @command{guix package} (@pxref{Invoking guix package}). C'est-à-dire que vous pouvez lister les générations, revenir en arrière à une génération précédente — c.-à-d.@: la version de Guix précédente — etc.@: :" #. type: example #: doc/guix.texi:3669 @@ -8121,7 +8128,7 @@ msgstr "" #. type: Plain text #: doc/guix.texi:3673 msgid "The @command{guix pull} command is usually invoked with no arguments, but it supports the following options:" -msgstr "La commande @command{guix pull} est typiquement invoquée sans arguments mais il supporte les options suivantes :" +msgstr "La commande @command{guix pull} est typiquement invoquée sans arguments mais elle prend en charge les options suivantes :" #. type: item #: doc/guix.texi:3675 @@ -9095,7 +9102,7 @@ msgstr "" #. type: Plain text #: doc/guix.texi:4226 msgid "However, note that, in both examples, all of @code{emacs} and the profile as well as all of their dependencies are transferred (due to @code{-r}), regardless of what is already available in the store on the target machine. The @code{--missing} option can help figure out which items are missing from the target store. The @command{guix copy} command simplifies and optimizes this whole process, so this is probably what you should use in this case (@pxref{Invoking guix copy})." -msgstr "Cependant, remarquez que, dans les deux exemples, le paquet @code{emacs}, le profil ainsi que toutes leurs dépendances sont transférées (à cause de @code{-r}), indépendamment du fait qu'ils soient disponibles dans le dépôt de la machine cible. L'option @code{--missing} peut vous aider à comprendre les éléments qui manquent dans le dépôt de la machine cible. La commande @command{guix copy} simplifie et optimise ce processus, c'est donc ce que vous devriez utiliser dans ce cas (@pxref{Invoking guix copy})." +msgstr "Cependant, remarquez que, dans les deux exemples, le paquet @code{emacs}, le profil ainsi que toutes leurs dépendances sont transférés (à cause de @code{-r}), indépendamment du fait qu'ils soient ou non disponibles dans le dépôt de la machine cible. L'option @code{--missing} peut vous aider à comprendre les éléments qui manquent dans le dépôt de la machine cible. La commande @command{guix copy} simplifie et optimise ce processus, c'est donc ce que vous devriez utiliser dans ce cas (@pxref{Invoking guix copy})." #. type: cindex #: doc/guix.texi:4227 @@ -9388,7 +9395,7 @@ msgstr "$ ls \"$GUIX_ENVIRONMENT/bin\"\n" #. type: Plain text #: doc/guix.texi:4417 msgid "Additionally, more than one package may be specified, in which case the union of the inputs for the given packages are used. For example, the command below spawns a shell where all of the dependencies of both Guile and Emacs are available:" -msgstr "En plus, plus d'un paquet peut être spécifié, auquel cas l'union des entrées des paquets données est utilisée. Par exemple, la commande ci-dessous crée un shell où toutes les dépendances de Guile et Emacs sont disponibles :" +msgstr "De surcroît, plus d'un paquet peut être spécifié, auquel cas l'union des entrées des paquets données est utilisée. Par exemple, la commande ci-dessous crée un shell où toutes les dépendances de Guile et Emacs sont disponibles :" #. type: example #: doc/guix.texi:4420 @@ -9662,7 +9669,7 @@ msgstr "" #. type: table #: doc/guix.texi:4585 msgid "This example runs @command{mpirun} in a context where the only environment variables defined are @code{PATH}, environment variables whose name starts with @code{SLURM}, as well as the usual ``precious'' variables (@code{HOME}, @code{USER}, etc.)" -msgstr "Cet exemple exécute @command{mpirun} dans un contexte où les seules variables d'environnement défines sont @code{PATH}, les variables d'environnement dont le nom commence par @code{SLURM}, ainsi que les variables « importante » habituelles (@code{HOME}, @code{USER}, etc)." +msgstr "Cet exemple exécute @command{mpirun} dans un contexte où les seules variables d'environnement défines sont @code{PATH}, les variables d'environnement dont le nom commence par @code{SLURM}, ainsi que les variables « importante » habituelles (@code{HOME}, @code{USER}, etc.)." #. type: item #: doc/guix.texi:4586 @@ -9925,7 +9932,7 @@ msgstr "binaires repositionnables, avec @command{guix pack}" #. type: Plain text #: doc/guix.texi:4752 msgid "What if the recipient of your pack does not have root privileges on their machine, and thus cannot unpack it in the root file system? In that case, you will want to use the @code{--relocatable} option (see below). This option produces @dfn{relocatable binaries}, meaning they they can be placed anywhere in the file system hierarchy: in the example above, users can unpack your tarball in their home directory and directly run @file{./opt/gnu/bin/guile}." -msgstr "Et si le destinataire de votre pack n'a pas les privilèges root sur sa machine, et ne peut donc pas le décompresser dans le système de fichiers racine ? Dans ce cas, vous pourriez utiliser l'option @code{--relocatable} (voir plus bas). Cette option produite des @dfn{binaire repositionnables}, ce qui signifie qu'ils peuvent être placés n'importe où dans l'arborescence du système de fichiers : dans l'exemple au-dessus, les utilisateurs peuvent décompresser votre archive dans leur répertoire personnel et lancer directement @file{./opt/gnu/bin/guile}." +msgstr "Et si le destinataire de votre pack n'a pas les privilèges root sur sa machine, et ne peut donc pas le décompresser dans le système de fichiers racine ? Dans ce cas, vous pourriez utiliser l'option @code{--relocatable} (voir plus bas). Cette option produit des @dfn{binaire repositionnables}, ce qui signifie qu'ils peuvent être placés n'importe où dans l'arborescence du système de fichiers : dans l'exemple au-dessus, les utilisateurs peuvent décompresser votre archive dans leur répertoire personnel et lancer directement @file{./opt/gnu/bin/guile}." #. type: cindex #: doc/guix.texi:4753 @@ -13248,7 +13255,7 @@ msgstr "strate de code" #. type: Plain text #: doc/guix.texi:6979 msgid "It should come as no surprise that we like to write these build actions in Scheme. When we do that, we end up with two @dfn{strata} of Scheme code@footnote{The term @dfn{stratum} in this context was coined by Manuel Serrano et al.@: in the context of their work on Hop. Oleg Kiselyov, who has written insightful @url{http://okmij.org/ftp/meta-programming/#meta-scheme, essays and code on this topic}, refers to this kind of code generation as @dfn{staging}.}: the ``host code''---code that defines packages, talks to the daemon, etc.---and the ``build code''---code that actually performs build actions, such as making directories, invoking @command{make}, etc." -msgstr "Ça ne devrait pas vous surprendre, mais nous aimons écrire ces actions de construction en Scheme. Lorsqu'on fait ça, on fini avec deux @dfn{strates} de code Scheme@footnote{Le terme @dfn{strate} dans ce contexte a été inventé par Manuel Serrano et ses collaborateurs dans le contexte de leur travaux sur Hop. Oleg Kiselyov, qui a écrit des @url{http://okmij.org/ftp/meta-programming/#meta-scheme, essais perspicaces et du code sur le sujet}, utilise le terme de « mise en scène » pour ce genre de génération de code.} : le « code hôte » — le code qui défini les paquets, parle au démon, etc — et le « code côté construction » — le code qui effectue effectivement les actions de construction, comme créer des répertoires, invoquer @code{make}, etc." +msgstr "Ça ne devrait pas vous surprendre, mais nous aimons écrire ces actions de construction en Scheme. Lorsqu'on fait ça, on fini avec deux @dfn{strates} de code Scheme@footnote{Le terme @dfn{strate} dans ce contexte a été inventé par Manuel Serrano et ses collaborateurs dans le contexte de leur travaux sur Hop. Oleg Kiselyov, qui a écrit des @url{http://okmij.org/ftp/meta-programming/#meta-scheme, essais perspicaces et du code sur le sujet}, utilise le terme de « mise en scène » pour ce genre de génération de code.} : le « code hôte » — le code qui définit les paquets, parle au démon, etc.@: — et le « code côté construction » — le code qui effectue effectivement les actions de construction, comme créer des répertoires, invoquer @code{make}, etc." #. type: Plain text #: doc/guix.texi:6986 @@ -15250,7 +15257,7 @@ msgstr "Maintenant, vous pouvez invoquer les commandes comme si vous étiez le d #. type: Plain text #: doc/guix.texi:8217 msgid "Sometimes it happens that, for example, a package's tests pass when you run them manually but they fail when the daemon runs them. This can happen because the daemon runs builds in containers where, unlike in our environment above, network access is missing, @file{/bin/sh} does not exist, etc. (@pxref{Build Environment Setup})." -msgstr "Parfois il arrive que, par exemple, les tests d'un paquet réussissent lorsque vous les lancez manuellement mais échouent quand ils sont lancés par le démon. Cela peut arriver parce que le démon tourne dans un conteneur où, contrairement à notre environnement au-dessus, l'accès réseau est indisponible, @file{/bin/sh} n'existe pas, etc (@pxref{Build Environment Setup})." +msgstr "Parfois il arrive que, par exemple, les tests d'un paquet réussissent lorsque vous les lancez manuellement mais échouent quand ils sont lancés par le démon. Cela peut arriver parce que le démon tourne dans un conteneur où, contrairement à notre environnement au-dessus, l'accès réseau est indisponible, @file{/bin/sh} n'existe pas, etc.@: (@pxref{Build Environment Setup})." #. type: Plain text #: doc/guix.texi:8220 @@ -15512,7 +15519,7 @@ msgstr "-x" #. type: table #: doc/guix.texi:8388 msgid "When combined with @option{--recursive}, exclude version control system directories (@file{.bzr}, @file{.git}, @file{.hg}, etc.)" -msgstr "Lorsqu'elle est combinée à @option{--recursive}, exclut les répertoires de système de contrôle de version (@file{.bzr}, @file{.git}, @file{.hg}, etc)." +msgstr "Lorsqu'elle est combinée à @option{--recursive}, exclut les répertoires de système de contrôle de version (@file{.bzr}, @file{.git}, @file{.hg}, etc.)" #. type: table #: doc/guix.texi:8393 @@ -20082,7 +20089,7 @@ msgstr "disposition clavier" #. type: Plain text #: doc/guix.texi:11134 msgid "To specify what each key of your keyboard does, you need to tell the operating system what @dfn{keyboard layout} you want to use. The default, when nothing is specified, is the US English QWERTY layout for 105-key PC keyboards. However, German speakers will usually prefer the German QWERTZ layout, French speakers will want the AZERTY layout, and so on; hackers might prefer Dvorak or bépo, and they might even want to further customize the effect of some of the keys. This section explains how to get that done." -msgstr "Pour spécifier ce que fait chaque touche de votre clavier, vous devez dire au système d'exploitation quel @dfn{disposition du clavier} vous voulez utiliser. Par défaut, lorsque rien n'est spécifié, la disposition QWERTY pour l'anglais américain pour les claviers 105 touches est utilisée. Cependant, les germanophones préfèrent généralement la disposition QWERTZ, les francophones la disposition AZERTY etc ; les hackers peuvent préférer Dvorak ou bépo, et peuvent même vouloir personnaliser plus en détails l'effet de certaines touches. Cette section explique comment faire cela." +msgstr "Pour spécifier ce que fait chaque touche de votre clavier, vous devez dire au système d'exploitation quel @dfn{disposition du clavier} vous voulez utiliser. Par défaut, lorsque rien n'est spécifié, la disposition QWERTY pour l'anglais américain pour les claviers 105 touches est utilisée. Cependant, les germanophones préfèrent généralement la disposition QWERTZ, les francophones la disposition AZERTY etc.@: ; les hackers peuvent préférer Dvorak ou bépo, et peuvent même vouloir personnaliser plus en détails l'effet de certaines touches. Cette section explique comment faire cela." #. type: cindex #: doc/guix.texi:11135 @@ -20892,7 +20899,7 @@ msgstr "Sinon et s'il y a une valeur pour une option @code{console} avec un tty #. type: table #: doc/guix.texi:11633 msgid "In both cases, agetty will leave the other serial device settings (baud rate etc.)@: alone---in the hope that Linux pinned them to the correct values." -msgstr "Dans les deux cas, agetty laissera les autres paramètres du périphérique série (baud, etc) sans y toucher — dans l'espoir que Linux leur a assigné les bonnes valeurs." +msgstr "Dans les deux cas, agetty laissera les autres paramètres du périphérique série (baud, etc.) sans y toucher — dans l'espoir que Linux leur a assigné les bonnes valeurs." #. type: item #: doc/guix.texi:11634 @@ -25673,7 +25680,7 @@ msgstr "{Procédure Scheme} xorg-start-command [@var{config}]" #. type: deffn #: doc/guix.texi:13744 msgid "Return a @code{startx} script in which the modules, fonts, etc. specified in @var{config}, are available. The result should be used in place of @code{startx}." -msgstr "Renvoie un script @code{startx} dans lequel les modules, les polices, etc, spécifiés dans @var{config} sont disponibles. Le résultat devrait être utilisé à la place de @code{startx}." +msgstr "Renvoie un script @code{startx} dans lequel les modules, les polices, etc., spécifiés dans @var{config} sont disponibles. Le résultat devrait être utilisé à la place de @code{startx}." #. type: deffn #: doc/guix.texi:13746 @@ -27321,8 +27328,10 @@ msgstr "C'est la liste des services qui étend @var{%base-services} en ajoutant #. type: defvr #: doc/guix.texi:14629 +#, fuzzy +#| msgid "In particular, it adds a graphical login manager (@pxref{X Window, @code{gdm-service-type}}), screen lockers, a network management tool (@pxref{Networking Services, @code{network-manager-service-type}}) with modem support (@pxref{Networking Services, @code{modem-manager-service-type}}), energy and color management services, the @code{elogind} login and seat manager, the Polkit privilege service, the GeoClue location service, the AccountsService daemon that allows authorized users change system passwords, an NTP client (@pxref{Networking Services}), the Avahi daemon, and has the name service switch service configured to be able to use @code{nss-mdns} (@pxref{Name Service Switch, mDNS})." msgid "In particular, it adds a graphical login manager (@pxref{X Window, @code{gdm-service-type}}), screen lockers, a network management tool (@pxref{Networking Services, @code{network-manager-service-type}}), energy and color management services, the @code{elogind} login and seat manager, the Polkit privilege service, the GeoClue location service, the AccountsService daemon that allows authorized users change system passwords, an NTP client (@pxref{Networking Services}), the Avahi daemon, and has the name service switch service configured to be able to use @code{nss-mdns} (@pxref{Name Service Switch, mDNS})." -msgstr "En particulier, il ajoute un gestionnaire de connexion graphique (@pxref{X Window, @code{gdm-service-type}}), des verrouilleurs d'écran, un outil de gestion réseau (@pxref{Networking Services, @code{network-manager-service-type}}), des services de gestion de l'énergie et des couleurs, le gestionnaire de connexion et de session @code{elogind}, le service de privilèges Polkit, le service de géolocalisation GeoClue, le démon Accounts Service qui permet aux utilisateurs autorisés de changer les mots de passe du système, un client NTP (@pxref{Networking Services}), le démon Avahi, et le service name service switch est configuré pour pouvoir utiliser @code{nss-mdns} (@pxref{Name Service Switch, mDNS})." +msgstr "En particulier, elle ajoute un gestionnaire de connexion graphique (@pxref{X Window, @code{gdm-service-type}}), des verrouilleurs d'écran, un outil de gestion réseau (@pxref{Networking Services, @code{network-manager-service-type}}) avec la prise en charge des modems (@pxref{Networking Services, @code{modem-manager-service-type}}), des services de gestion de l'énergie et des couleurs, le gestionnaire de connexion et de session @code{elogind}, le service de privilèges Polkit, le service de géolocalisation GeoClue, le démon Accounts Service qui permet aux utilisateurs autorisés de changer les mots de passe du système, un client NTP (@pxref{Networking Services}), le démon Avahi, et le service name service switch est configuré pour pouvoir utiliser @code{nss-mdns} (@pxref{Name Service Switch, mDNS})." #. type: Plain text #: doc/guix.texi:14634 @@ -30216,7 +30225,7 @@ msgstr "{paramètre de @code{dovecot-configuration}} space-separated-string-list #. type: deftypevr #: doc/guix.texi:16152 msgid "List of plugins to load for all services. Plugins specific to IMAP, LDA, etc.@: are added to this list in their own .conf files. Defaults to @samp{()}." -msgstr "Liste des greffons à charger pour tous les services. Les greffons spécifiques à IMAP, LDA, etc sont ajoutés à cette liste dans leur propre fichiers .conf. La valeur par défaut est @samp{()}." +msgstr "Liste des greffons à charger pour tous les services. Les greffons spécifiques à IMAP, LDA, etc.@: sont ajoutés à cette liste dans leur propre fichiers .conf. La valeur par défaut est @samp{()}." #. type: deftypevr #: doc/guix.texi:16154 @@ -35832,7 +35841,7 @@ msgstr "Des améliorations à FastCGI, comme fastcgi_finish_request() -" #. type: itemize #: doc/guix.texi:19139 msgid "a special function to finish request & flush all data while continuing to do something time-consuming (video converting, stats processing, etc.)" -msgstr "une fonction spéciale pour terminer la requête et nettoyer toutes les données tout en continuant à faire d'autres choses qui prennent du temps (conversion vidéo, gestion des stats, etc…)." +msgstr "une fonction spéciale pour terminer la requête et nettoyer toutes les données tout en continuant à faire d'autres choses qui prennent du temps (conversion vidéo, gestion des stats, etc.)." #. type: Plain text #: doc/guix.texi:19141 @@ -45339,8 +45348,10 @@ msgstr "" #. type: table #: doc/guix.texi:24514 +#, fuzzy +#| msgid "Depending on what you run in the Docker container, it may be necessary to give the container additional permissions. For example, if you intend to build software using Guix inside of the Docker container, you may need to pass the @option{--privileged} option to @code{docker create}." msgid "This command starts a new Docker container from the specified image. It will boot the Guix system in the usual manner, which means it will start any services you have defined in the operating system configuration. Depending on what you run in the Docker container, it may be necessary to give the container additional permissions. For example, if you intend to build software using Guix inside of the Docker container, you may need to pass the @option{--privileged} option to @code{docker run}." -msgstr "Cette commande démarre un nouveau conteneur Docker à partir de l'image spécifiée. Il démarrera le système Guix de la manière habituelle, ce qui signifie qu'il démarrera tous les services que vous avez définis dans la configuration du système d'exploitation. En fonction de ce que vous lancez dans le conteneur Docker, il peut être nécessaire de donner des permissions supplémentaires au conteneur. Par exemple, si vous voulez construire des paquets avec Guix dans le conteneur Docker, vous devriez passer @option{--privileged} à @code{docker run}." +msgstr "En fonction de ce que vous lancez dans le conteneur Docker, il peut être nécessaire de donner des permissions supplémentaires au conteneur. Par exemple, si vous voulez construire des paquets avec Guix dans le conteneur Docker, vous devriez passer @option{--privileged} à @code{docker create}." #. type: table #: doc/guix.texi:24522 @@ -46565,9 +46576,10 @@ msgstr "Ce sont les noms qui peuvent être passés à @command{herd start}, @com #. type: item #: doc/guix.texi:25282 -#, no-wrap +#, fuzzy, no-wrap +#| msgid "@code{requirement} (default: @code{'()})" msgid "@code{requirements} (default: @code{'()})" -msgstr "@code{requirements} (par défaut : @code{'()})" +msgstr "@code{requirement} (par défaut : @code{'()})" #. type: table #: doc/guix.texi:25284 @@ -47350,6 +47362,33 @@ msgstr "license, GNU Free Documentation License" msgid "fdl-1.3.texi" msgstr "fdl-1.3.texi" +#~ msgid "little-endian 64-bit MIPS processors, specifically the Loongson series, n32 ABI, and Linux-Libre kernel. This configuration is no longer fully supported; in particular, the project's build farms no longer provide substitutes for this architecture." +#~ msgstr "les processeurs 64 bits MIPS en little-endian, spécifiquement la série Loongson, ABI n32, avec le noyau Linux-libre. Cette configuration n'est plus totalement prise en charge ; en particulier, les fermes de construction du projet de fournissent plus de substituts pour cette architecture." + +#~ msgid "" +#~ "image_id=\"`docker load < guix-system-docker-image.tar.gz`\"\n" +#~ "container_id=\"`docker create $image_id`\"\n" +#~ "docker start $container_id\n" +#~ msgstr "" +#~ "image_id=\"`docker load < guix-system-docker-image.tar.gz`\"\n" +#~ "container_id=\"`docker create $image_id`\"\n" +#~ "docker start $container_id\n" + +#~ msgid "This command starts a new Docker container from the specified image. It will boot the Guix system in the usual manner, which means it will start any services you have defined in the operating system configuration. You can get an interactive shell running in the container using @command{docker exec}:" +#~ msgstr "Cette commande démarre un nouveau conteneur Docker à partir de l'image spécifiée. Il démarrera le système Guix de la manière habituelle, ce qui signifie qu'il démarrera tous les services que vous avez définis dans la configuration du système d'exploitation. Vous pouvez obtenir un shell interactif dans le conteneur en utilisant @command{docker exec} :" + +#~ msgid "docker exec -ti $container_id /run/current-system/profile/bin/bash --login\n" +#~ msgstr "docker exec -ti $container_id /run/current-system/profile/bin/bash --login\n" + +#~ msgid "For the @code{container} action, allow containers to access the host network, that is, do not create a network namespace." +#~ msgstr "Pour l'action @code{container}, permet aux conteneurs d'accéder au réseau de l'hôte, c'est-à-dire, ne crée pas pas d'espace de nom réseau." + +#~ msgid "@code{auto-start?} (default: @code{#t})" +#~ msgstr "@code{auto-start?} (par défaut : @code{#t})" + +#~ msgid "Whether this service should be started automatically by the Shepherd. If it is @code{#f} the service has to be started manually with @code{herd start}." +#~ msgstr "Indique si ce service doit être démarré automatiquement par le Shepherd. Si la valeur est @code{#f}, le service doit être démarré manuellement avec @code{herd start}." + #~ msgid "The @code{guix} package must remain available in @code{root}'s profile, or it would become subject to garbage collection---in which case you would find yourself badly handicapped by the lack of the @command{guix} command. In other words, do not remove @code{guix} by running @code{guix package -r guix}." #~ msgstr "Le paquet @code{guix} doit rester disponible dans le profil de @code{root} ou il pourrait être sujet au ramassage de miettes — dans ce cas vous vous retrouveriez gravement handicapé par l'absence de la commande @command{guix}. En d'autres termes, ne supprimez pas @code{guix} en lançant @code{guix package -r guix}." diff --git a/po/guix/fr.po b/po/guix/fr.po index 4cdb0f5dd6..77d859ebfd 100644 --- a/po/guix/fr.po +++ b/po/guix/fr.po @@ -19,7 +19,7 @@ msgstr "" "Project-Id-Version: guix 1.0.1-pre1\n" "Report-Msgid-Bugs-To: ludo@gnu.org\n" "POT-Creation-Date: 2019-05-10 20:54+0200\n" -"PO-Revision-Date: 2019-05-12 17:38+0200\n" +"PO-Revision-Date: 2019-07-27 09:07+0200\n" "Last-Translator: Julien Lepiller \n" "Language-Team: French \n" "Language: fr\n" @@ -28,7 +28,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Bugs: Report translation errors to the Language-Team address.\n" -"X-Generator: Offlate 0.1\n" +"X-Generator: Poedit 2.2.1\n" #: gnu.scm:83 #, scheme-format @@ -1393,7 +1393,7 @@ msgid "" " -v, --verbosity=LEVEL use the given verbosity LEVEL" msgstr "" "\n" -" --verbosity=NIVEAU utiliser le NIVEAU de verbosité donné" +" -v, --verbosity=NIVEAU utiliser le NIVEAU de verbosité donné" #: guix/scripts/build.scm:676 msgid "" diff --git a/po/guix/sv.po b/po/guix/sv.po index b75269b82d..aa3968aaea 100644 --- a/po/guix/sv.po +++ b/po/guix/sv.po @@ -3,12 +3,13 @@ # This file is distributed under the same license as the guix package. # Sebastian Rasmussen , 2019. # +#: guix/ui.scm:206 msgid "" msgstr "" -"Project-Id-Version: guix 0.16.0\n" +"Project-Id-Version: guix 1.0.1-pre1\n" "Report-Msgid-Bugs-To: ludo@gnu.org\n" -"POT-Creation-Date: 2018-11-28 15:05+0100\n" -"PO-Revision-Date: 2019-03-05 15:36+0800\n" +"POT-Creation-Date: 2019-05-10 20:54+0200\n" +"PO-Revision-Date: 2019-07-30 02:20+0200\n" "Last-Translator: Sebastian Rasmussen \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -19,12 +20,12 @@ msgstr "" "X-Bugs: Report translation errors to the Language-Team address.\n" "X-Generator: Poedit 2.2.1\n" -#: gnu.scm:82 +#: gnu.scm:83 #, scheme-format msgid "module ~a not found" msgstr "modul ~a hittades inte" -#: gnu.scm:100 +#: gnu.scm:101 msgid "" "You may use @command{guix package --show=foo | grep location} to search\n" "for the location of package @code{foo}.\n" @@ -36,12 +37,12 @@ msgstr "" "Om du får raden @code{location: gnu/packages/bar.scm:174:2},\n" "lägg till @code{bar} till @code{use-package-modules}-formen." -#: gnu.scm:108 +#: gnu.scm:109 #, scheme-format msgid "Try adding @code{(use-package-modules ~a)}." msgstr "Prova att lägga till @code{(use-package-modules ~a)}." -#: gnu.scm:123 +#: gnu.scm:124 #, scheme-format msgid "" "You may use @command{guix system search ~a} to search for a service\n" @@ -54,47 +55,47 @@ msgstr "" "Om du får raden @code{location: gnu/services/foo.scm:188:2},\n" "lägg till @code{foo} till @code{use-service-modules}-formen." -#: gnu.scm:132 +#: gnu.scm:133 #, scheme-format msgid "Try adding @code{(use-service-modules ~a)}." msgstr "Prova att lägga till @code{(use-service-modules ~a)}." -#: gnu/packages.scm:94 +#: gnu/packages.scm:103 #, scheme-format msgid "~a: patch not found" msgstr "~a: programfix hittades inte" -#: gnu/packages.scm:110 +#: gnu/packages.scm:119 #, scheme-format msgid "could not find bootstrap binary '~a' for system '~a'" msgstr "kunde inte hitta uppstartsbinär ”~a” för system ”~a”" -#: gnu/packages.scm:270 +#: gnu/packages.scm:480 gnu/packages.scm:521 #, scheme-format msgid "ambiguous package specification `~a'~%" msgstr "tvetydig paketspecifikation ”~a”~%" -#: gnu/packages.scm:271 +#: gnu/packages.scm:481 gnu/packages.scm:522 #, scheme-format msgid "choosing ~a@~a from ~a~%" msgstr "väljer ~a@~a från ~a~%" -#: gnu/packages.scm:276 guix/scripts/package.scm:206 +#: gnu/packages.scm:486 guix/scripts/package.scm:212 #, scheme-format msgid "package '~a' has been superseded by '~a'~%" msgstr "paket ”~a” har ersatts av ”~a”~%" -#: gnu/packages.scm:283 +#: gnu/packages.scm:493 gnu/packages.scm:510 #, scheme-format msgid "~A: package not found for version ~a~%" msgstr "~A: paket hittades inte för version ~a~%" -#: gnu/packages.scm:284 +#: gnu/packages.scm:494 gnu/packages.scm:511 #, scheme-format msgid "~A: unknown package~%" msgstr "~A: okänt paket~%" -#: gnu/packages.scm:312 +#: gnu/packages.scm:546 #, scheme-format msgid "package `~a' lacks output `~a'~%" msgstr "paket ”~a” saknar utdata ”~a”~%" @@ -201,42 +202,42 @@ msgstr "mer än ett en måltjänst av typ ”~a”" msgid "service of type '~a' not found" msgstr "tjänst av typ ”~a” hittades inte" -#: gnu/system.scm:317 +#: gnu/system.scm:335 #, scheme-format msgid "unrecognized boot parameters at '~a'~%" msgstr "okänd startparameter vid ”~a”~%" -#: gnu/system.scm:725 +#: gnu/system.scm:736 #, scheme-format msgid "using a string for file '~a' is deprecated; use 'plain-file' instead~%" msgstr "användning av sträng för fil ”~a” är föråldrat; använd ”plain-file” istället~%" -#: gnu/system.scm:741 +#: gnu/system.scm:752 #, scheme-format msgid "using a monadic value for '~a' is deprecated; use 'plain-file' instead~%" msgstr "användning av ett monadiskt värdet för ”~a” är föråldrat; använd ”plain-file” istället~%" -#: gnu/system.scm:885 +#: gnu/system.scm:897 #, scheme-format msgid "~a: invalid locale name" msgstr "~a: ogiltigt lokalnamn" -#: gnu/services/shepherd.scm:192 +#: gnu/services/shepherd.scm:194 #, scheme-format msgid "service '~a' provided more than once" msgstr "tjänst ”~a” erbjud mer än en gång" -#: gnu/services/shepherd.scm:207 +#: gnu/services/shepherd.scm:209 #, scheme-format msgid "service '~a' requires '~a', which is not provided by any service" msgstr "tjänst ”~a” kräver ”~a”, vilken inte erbjuds av någon tjänst" -#: gnu/system/mapped-devices.scm:147 +#: gnu/system/mapped-devices.scm:136 #, scheme-format msgid "you may need these modules in the initrd for ~a:~{ ~a~}" msgstr "du kan behöver dessa moduler i initrd för ~a:~{ ~a~}" -#: gnu/system/mapped-devices.scm:151 +#: gnu/system/mapped-devices.scm:140 #, scheme-format msgid "" "Try adding them to the\n" @@ -267,42 +268,771 @@ msgstr "" "Om du tror att denna diagnostik är felaktig, använd flaggan\n" "@option{--skip-checks} med @command{guix system}.\n" -#: gnu/system/mapped-devices.scm:230 +#: gnu/system/mapped-devices.scm:219 #, scheme-format msgid "no LUKS partition with UUID '~a'" msgstr "ingen LUKS-partition med UUID ”~a”" -#: gnu/system/shadow.scm:258 +#: gnu/system/shadow.scm:236 #, scheme-format msgid "supplementary group '~a' of user '~a' is undeclared" msgstr "tilläggsgrupp ”~a” för användare ”~a” är odeklarerad" -#: gnu/system/shadow.scm:268 +#: gnu/system/shadow.scm:246 #, scheme-format msgid "primary group '~a' of user '~a' is undeclared" msgstr "primärgrupp ”~a” för användare ”~a” är odeklarerad" -#: guix/scripts.scm:60 +#: guix/import/opam.scm:133 +#, scheme-format +msgid "Package not found in opam repository: ~a~%" +msgstr "Paket hittades inte i opam-arkiv: ~a~%" + +#: guix/import/opam.scm:344 +msgid "Updater for OPAM packages" +msgstr "Uppdaterare för OPAM-paket" + +#: gnu/installer.scm:191 +msgid "Locale" +msgstr "Lokal" + +#: gnu/installer.scm:207 gnu/installer/newt/timezone.scm:58 +msgid "Timezone" +msgstr "Tidszon" + +#: gnu/installer.scm:223 +msgid "Keyboard mapping selection" +msgstr "Val av tangentbordsmappning" + +#: gnu/installer.scm:232 +msgid "Partitioning" +msgstr "Partitionering" + +#: gnu/installer.scm:240 gnu/installer/newt/hostname.scm:26 +msgid "Hostname" +msgstr "Värdnamn" + +#: gnu/installer.scm:249 +msgid "Network selection" +msgstr "Närverksval" + +#: gnu/installer.scm:256 gnu/installer/newt/user.scm:65 +#: gnu/installer/newt/user.scm:201 +msgid "User creation" +msgstr "Skapande av användare" + +#: gnu/installer.scm:264 +msgid "Services" +msgstr "Tjänster" + +#: gnu/installer.scm:271 gnu/installer/newt/final.scm:51 +msgid "Configuration file" +msgstr "Konfigurationsfil" + +#: gnu/installer/connman.scm:196 +msgid "Could not determine the state of connman." +msgstr "Kunde inte bestämma connman-tillstånd." + +#: gnu/installer/connman.scm:322 +msgid "Unable to find expected regexp." +msgstr "Kunde inte hitta förväntat reguljärt uttryck." + +#: gnu/installer/newt.scm:60 +#, scheme-format +msgid "The installer has encountered an unexpected problem. The backtrace is displayed below. Please report it by email to <~a>." +msgstr "Installeraren har anträffat ett oväntat problem. En bakåtspårning visas nedan. Rapportera den via e-post till <~a>." + +#: gnu/installer/newt.scm:63 +msgid "Unexpected problem" +msgstr "Oväntat problem" + +#: gnu/installer/newt/ethernet.scm:66 +msgid "No ethernet service available, please try again." +msgstr "Ingen ethernet-tjänst tillgänglig, försök igen." + +#: gnu/installer/newt/ethernet.scm:67 +msgid "No service" +msgstr "Ingen tjänst" + +#: gnu/installer/newt/ethernet.scm:76 +msgid "Please select an ethernet network." +msgstr "Välj ett ethernet-nätverk." + +#: gnu/installer/newt/ethernet.scm:77 +msgid "Ethernet connection" +msgstr "Ethernet-anslutning" + +#: gnu/installer/newt/ethernet.scm:81 gnu/installer/newt/keymap.scm:44 +#: gnu/installer/newt/locale.scm:43 gnu/installer/newt/network.scm:63 +#: gnu/installer/newt/network.scm:84 gnu/installer/newt/page.scm:175 +#: gnu/installer/newt/page.scm:508 gnu/installer/newt/page.scm:565 +#: gnu/installer/newt/partition.scm:54 gnu/installer/newt/partition.scm:83 +#: gnu/installer/newt/partition.scm:115 gnu/installer/newt/partition.scm:126 +#: gnu/installer/newt/partition.scm:624 gnu/installer/newt/partition.scm:645 +#: gnu/installer/newt/partition.scm:685 gnu/installer/newt/partition.scm:738 +#: gnu/installer/newt/partition.scm:749 gnu/installer/newt/services.scm:85 +#: gnu/installer/newt/timezone.scm:63 gnu/installer/newt/user.scm:200 +#: gnu/installer/newt/wifi.scm:202 +msgid "Exit" +msgstr "Avsluta" + +#: gnu/installer/newt/final.scm:44 +#, scheme-format +msgid "We're now ready to proceed with the installation! A system configuration file has been generated, it is displayed below. This file will be available as '~a' on the installed system. The new system will be created from this file once you've pressed OK. This will take a few minutes." +msgstr "Vi är nu redo att fortsätta med installationen! En systemkonfigurationsfil har genererats och visas nedan. Denna fil kommer att vara tillgänglig som ”~a” på det installerade systemet. Det nya systemet kommer att skapas från denna fil när du tryckt OK. Det kommer att ta ett par minuter." + +#: gnu/installer/newt/final.scm:64 +msgid "Installation complete" +msgstr "Installation fullständig" + +#: gnu/installer/newt/final.scm:65 gnu/installer/newt/welcome.scm:115 +msgid "Reboot" +msgstr "Omstart" + +#: gnu/installer/newt/final.scm:66 +msgid "Congratulations! Installation is now complete. You may remove the device containing the installation image and press the button to reboot." +msgstr "Grattis! Installationen är nu fullständig. Du kan ta bort enheten som innehåller installationavbilden och trycka på knappen för att starta om." + +#: gnu/installer/newt/final.scm:75 +msgid "Installation failed" +msgstr "Installationen misslyckades" + +#: gnu/installer/newt/final.scm:76 +msgid "Restart installer" +msgstr "Starta om installeraren" + +#: gnu/installer/newt/final.scm:77 +msgid "Retry system install" +msgstr "Försök att installera systemet igen" + +#: gnu/installer/newt/final.scm:78 +msgid "The final system installation step failed. You can retry the last step, or restart the installer." +msgstr "Det slutgiltiga steget i systeminstallationen misslyckades. Du kan prova detta sista steg igen, eller starta om installeraren." + +#: gnu/installer/newt/hostname.scm:25 +msgid "Please enter the system hostname." +msgstr "Mata in systemets värdnamn." + +#: gnu/installer/newt/keymap.scm:37 +msgid "Layout" +msgstr "Layout" + +#: gnu/installer/newt/keymap.scm:40 +msgid "Please choose your keyboard layout." +msgstr "Välj din tangentbordslayout." + +#: gnu/installer/newt/keymap.scm:52 +msgid "Variant" +msgstr "Variant" + +#: gnu/installer/newt/keymap.scm:55 +msgid "Please choose a variant for your keyboard layout." +msgstr "Välj en variant av din tangentbordslayout." + +#: gnu/installer/newt/keymap.scm:59 gnu/installer/newt/locale.scm:63 +#: gnu/installer/newt/locale.scm:78 gnu/installer/newt/locale.scm:94 +#: gnu/installer/newt/partition.scm:580 gnu/installer/newt/timezone.scm:64 +msgid "Back" +msgstr "Tillbaka" + +#: gnu/installer/newt/locale.scm:36 +msgid "Locale language" +msgstr "Lokalspråk" + +#: gnu/installer/newt/locale.scm:37 +msgid "Choose the language to use for the installation process and for the installed system." +msgstr "Välj språket som ska användas för installationsprocessen och för det installerade systemet." + +#: gnu/installer/newt/locale.scm:57 +msgid "Locale location" +msgstr "Lokalplats" + +#: gnu/installer/newt/locale.scm:60 +msgid "Choose a territory for this language." +msgstr "Välj ett territorium för detta språk." + +#: gnu/installer/newt/locale.scm:71 +msgid "Locale codeset" +msgstr "Lokalkoduppsättning" + +#: gnu/installer/newt/locale.scm:74 +msgid "Choose the locale encoding." +msgstr "Välj lokalkodning." + +#: gnu/installer/newt/locale.scm:86 +msgid "Locale modifier" +msgstr "Lokalmodifierare" + +#: gnu/installer/newt/locale.scm:89 +msgid "Choose your locale's modifier. The most frequent modifier is euro. It indicates that you want to use Euro as the currency symbol." +msgstr "Välj din lokals modifierare. Den mest frekventa modifieraren är euro. Den indikerar att du vill använda Euro som valutasymbol." + +#: gnu/installer/newt/locale.scm:190 +msgid "No location" +msgstr "Ingen plats" + +#: gnu/installer/newt/locale.scm:217 +msgid "No modifier" +msgstr "Ingen modifierare" + +#: gnu/installer/newt/menu.scm:35 +msgid "Choose where you want to resume the install. You can also abort the installation by pressing the Abort button." +msgstr "Välj var du vill återuppta installationen. Du kan också avbryta installationen genom att trycka på knappen Avbryt." + +#: gnu/installer/newt/menu.scm:37 +msgid "Installation menu" +msgstr "Installationsmeny" + +#: gnu/installer/newt/menu.scm:41 +msgid "Abort" +msgstr "Avbryt" + +#: gnu/installer/newt/network.scm:61 gnu/installer/newt/network.scm:80 +msgid "Internet access" +msgstr "Internetåtkomst" + +#: gnu/installer/newt/network.scm:62 gnu/installer/newt/page.scm:174 +msgid "Continue" +msgstr "Fortsätt" + +#: gnu/installer/newt/network.scm:64 +msgid "The install process requires Internet access but no network device were found. Do you want to continue anyway?" +msgstr "Installationsprocessen kräver internetåtkomst, men ingen nätverksenhet hittades. Vill du fortsätta ändå?" + +#: gnu/installer/newt/network.scm:78 +msgid "The install process requires Internet access. Please select a network device." +msgstr "Installationsprocessen kräver internetåtkomst. Välj en nätverksenhet." + +#: gnu/installer/newt/network.scm:103 +msgid "Powering technology" +msgstr "Strömsätter teknology" + +#: gnu/installer/newt/network.scm:104 +#, scheme-format +msgid "Waiting for technology ~a to be powered." +msgstr "Väntar på att teknologi ~a ska strömsättas." + +#: gnu/installer/newt/network.scm:124 +msgid "Checking connectivity" +msgstr "Kontrollerar anslutning" + +#: gnu/installer/newt/network.scm:125 +msgid "Waiting for Internet access establishment..." +msgstr "Väntar på att internetåtkomst ska etableras…" + +#: gnu/installer/newt/network.scm:135 +msgid "The selected network does not provide access to the Internet, please try again." +msgstr "Valt nätverk ger inte tillgång till internet, försök igen." + +#: gnu/installer/newt/network.scm:137 gnu/installer/newt/wifi.scm:106 +msgid "Connection error" +msgstr "Anslutningsfel" + +#: gnu/installer/newt/page.scm:71 +#, scheme-format +msgid "Connecting to ~a, please wait." +msgstr "Ansluter till ~a, vänta." + +#: gnu/installer/newt/page.scm:72 +msgid "Connection in progress" +msgstr "Anslutning pågår" + +#: gnu/installer/newt/page.scm:91 gnu/installer/newt/user.scm:58 +msgid "Hide" +msgstr "Göm" + +#: gnu/installer/newt/page.scm:97 gnu/installer/newt/page.scm:507 +#: gnu/installer/newt/page.scm:564 gnu/installer/newt/partition.scm:443 +#: gnu/installer/newt/partition.scm:623 gnu/installer/newt/partition.scm:644 +#: gnu/installer/newt/partition.scm:683 gnu/installer/newt/user.scm:63 +#: gnu/installer/newt/user.scm:199 +msgid "OK" +msgstr "OK" + +#: gnu/installer/newt/page.scm:123 +msgid "Please enter a non empty input." +msgstr "Mata in något i inmatningsfältet." + +#: gnu/installer/newt/page.scm:124 gnu/installer/newt/user.scm:119 +msgid "Empty input" +msgstr "Tom inmatning" + +#: gnu/installer/newt/partition.scm:45 +msgid "Everything is one partition" +msgstr "Allting är en partition" + +#: gnu/installer/newt/partition.scm:46 +msgid "Separate /home partition" +msgstr "Separat /home-partition" + +#: gnu/installer/newt/partition.scm:48 +msgid "Please select a partitioning scheme." +msgstr "Välj ett partitioneringsarrangemang." + +#: gnu/installer/newt/partition.scm:49 +msgid "Partition scheme" +msgstr "Partitioneringsarrangemang" + +#: gnu/installer/newt/partition.scm:61 +msgid "We are about to format your hard disk. All its data will be lost. Do you wish to continue?" +msgstr "Vi kommer strax att formatera din hårddisk. All dess data kommer att gå förlorad. Vill du fortsätta?" + +#: gnu/installer/newt/partition.scm:63 +msgid "Format disk?" +msgstr "Formatera disk?" + +#: gnu/installer/newt/partition.scm:66 +msgid "Partition formatting is in progress, please wait." +msgstr "Partitionsformattering pågår, vänta." + +#: gnu/installer/newt/partition.scm:67 +msgid "Preparing partitions" +msgstr "Förbereder partitioner" + +#: gnu/installer/newt/partition.scm:78 +msgid "Please select a disk." +msgstr "Välj en disk." + +#: gnu/installer/newt/partition.scm:79 +msgid "Disk" +msgstr "Disk" + +#: gnu/installer/newt/partition.scm:91 +msgid "Select a new partition table type. Be careful, all data on the disk will be lost." +msgstr "Välj ny paritionstabellstyp. Var försiktig, all data på disken kommer att gå förlorad." + +#: gnu/installer/newt/partition.scm:93 +msgid "Partition table" +msgstr "Partitionstabell" + +#: gnu/installer/newt/partition.scm:110 +msgid "Please select a partition type." +msgstr "Välj en partitionstyp." + +#: gnu/installer/newt/partition.scm:111 +msgid "Partition type" +msgstr "Partitionstyp" + +#: gnu/installer/newt/partition.scm:121 +msgid "Please select the file-system type for this partition." +msgstr "Välj filsystemstypen för denna partition." + +#: gnu/installer/newt/partition.scm:122 +msgid "File-system type" +msgstr "Filsystemstyp" + +#: gnu/installer/newt/partition.scm:135 +msgid "Primary partitions count exceeded." +msgstr "Antalet primära partitioner överskreds." + +#: gnu/installer/newt/partition.scm:136 gnu/installer/newt/partition.scm:141 +#: gnu/installer/newt/partition.scm:146 +msgid "Creation error" +msgstr "Fel vid skapande" + +#: gnu/installer/newt/partition.scm:140 +msgid "Extended partition creation error." +msgstr "Fel vid skapande av utökad partition." + +#: gnu/installer/newt/partition.scm:145 +msgid "Logical partition creation error." +msgstr "Fel vid skapande av logisk partition." + +#: gnu/installer/newt/partition.scm:159 +#, scheme-format +msgid "Please enter the password for the encryption of partition ~a (label: ~a)." +msgstr "Mata in lösenordet för krypteringen av partition ~a (etikett: ~a)." + +#: gnu/installer/newt/partition.scm:161 gnu/installer/newt/wifi.scm:91 +msgid "Password required" +msgstr "Lösenord krävs" + +#: gnu/installer/newt/partition.scm:166 +#, scheme-format +msgid "Please confirm the password for the encryption of partition ~a (label: ~a)." +msgstr "Bekräfta lösenordet för krypteringen av partition ~a (etikett: ~a)." + +#: gnu/installer/newt/partition.scm:168 gnu/installer/newt/user.scm:156 +msgid "Password confirmation required" +msgstr "Lösenordsbekräftelse krävs" + +#: gnu/installer/newt/partition.scm:180 gnu/installer/newt/user.scm:164 +msgid "Password mismatch, please try again." +msgstr "Lösenord stämmer inte, försök igen." + +#: gnu/installer/newt/partition.scm:181 gnu/installer/newt/user.scm:165 +msgid "Password error" +msgstr "Lösenordsfel" + +#: gnu/installer/newt/partition.scm:267 +msgid "Please enter the partition gpt name." +msgstr "Mata in GPT-partitionens namn." + +#: gnu/installer/newt/partition.scm:268 +msgid "Partition name" +msgstr "Partitionsnamn" + +#: gnu/installer/newt/partition.scm:298 +msgid "Please enter the encrypted label" +msgstr "Mata in den krypterade etiketten" + +#: gnu/installer/newt/partition.scm:299 +msgid "Encryption label" +msgstr "Krypteringsetikett" + +#: gnu/installer/newt/partition.scm:316 +#, scheme-format +msgid "Please enter the size of the partition. The maximum size is ~a." +msgstr "Mata in storleken på partitionen. Största storlek är ~a." + +#: gnu/installer/newt/partition.scm:318 +msgid "Partition size" +msgstr "Partitionsstorlek" + +#: gnu/installer/newt/partition.scm:336 +msgid "The percentage can not be superior to 100." +msgstr "Procentandelen kan inte vara större än 100." + +#: gnu/installer/newt/partition.scm:337 gnu/installer/newt/partition.scm:342 +#: gnu/installer/newt/partition.scm:347 +msgid "Size error" +msgstr "Storleksfel" + +#: gnu/installer/newt/partition.scm:341 +msgid "The requested size is incorrectly formatted, or too large." +msgstr "Den begärda storleken är felaktigt formatterad, eller för stor." + +#: gnu/installer/newt/partition.scm:346 +msgid "The request size is superior to the maximum size." +msgstr "Den begärda storleken är större än den största storleken." + +#: gnu/installer/newt/partition.scm:366 +msgid "Please enter the desired mounting point for this partition. Leave this field empty if you don't want to set a mounting point." +msgstr "Mata in den önskade monteringspunkten för denna partitionen. Lämna detta fält tomt om du inte vill sätta någon monteringspunkt." + +#: gnu/installer/newt/partition.scm:368 +msgid "Mounting point" +msgstr "Monteringspunkt" + +#: gnu/installer/newt/partition.scm:432 +#, scheme-format +msgid "Creating ~a partition starting at ~a of ~a." +msgstr "Skapar ~a-partition med början på ~a av ~a." + +#: gnu/installer/newt/partition.scm:434 +#, scheme-format +msgid "You are currently editing partition ~a." +msgstr "Du redigerar just nu partition ~a." + +#: gnu/installer/newt/partition.scm:437 +msgid "Partition creation" +msgstr "Partitionsskapande" + +#: gnu/installer/newt/partition.scm:438 +msgid "Partition edit" +msgstr "Partitionsredigering" + +#: gnu/installer/newt/partition.scm:620 +#, scheme-format +msgid "Are you sure you want to delete everything on disk ~a?" +msgstr "Är du säker på att du vill ta bort allting på disk ~a?" + +#: gnu/installer/newt/partition.scm:622 +msgid "Delete disk" +msgstr "Ta bort disk" + +#: gnu/installer/newt/partition.scm:636 +msgid "You cannot delete a free space area." +msgstr "Du kan inte ta bort fritt utrymme." + +#: gnu/installer/newt/partition.scm:637 gnu/installer/newt/partition.scm:643 +msgid "Delete partition" +msgstr "Ta bort partition" + +#: gnu/installer/newt/partition.scm:641 +#, scheme-format +msgid "Are you sure you want to delete partition ~a?" +msgstr "Är du säker på att du vill ta bort partition ~a?" + +#: gnu/installer/newt/partition.scm:658 +msgid "" +"You can change a disk's partition table by selecting it and pressing ENTER. You can also edit a partition by selecting it and pressing ENTER, or remove it by pressing DELETE. To create a new partition, select a free space area and press ENTER.\n" +"\n" +"At least one partition must have its mounting point set to '/'." +msgstr "" +"Du kan ändra en disks partitionstabell genom att välja den och trycka RETUR. Du kan också redigera en partition genom att välja den och trycka RETUR, eller ta bort den genom att trycka DELETE. För att skapa en ny partition, välj ett fritt utrymme och tryck RETUR.\n" +"\n" +"Åtminstone en partition måste ha dess monteringspunkt satt till ”/”." + +#: gnu/installer/newt/partition.scm:664 +#, scheme-format +msgid "This is the proposed partitioning. It is still possible to edit it or to go back to install menu by pressing the Exit button.~%~%" +msgstr "Detta är den föreslagna partitioneringen. Det är fortfarande möjligt att redigera den eller att gå tillbaka till installationsmenyn genom att trycka på knappen Avsluta.~%~%" + +#: gnu/installer/newt/partition.scm:674 +msgid "Guided partitioning" +msgstr "Guidad partitionering" + +#: gnu/installer/newt/partition.scm:675 +msgid "Manual partitioning" +msgstr "Manuell partitionering" + +#: gnu/installer/newt/partition.scm:694 +msgid "No root mount point found." +msgstr "Ingen rotmonteringspunkt hittad." + +#: gnu/installer/newt/partition.scm:695 +msgid "Missing mount point" +msgstr "Saknar monteringspunkt" + +#: gnu/installer/newt/partition.scm:728 +msgid "Guided - using the entire disk" +msgstr "Guidad - använd hela disken" + +#: gnu/installer/newt/partition.scm:729 +msgid "Guided - using the entire disk with encryption" +msgstr "Guidad - använd hela disken med kryptering" + +#: gnu/installer/newt/partition.scm:730 +msgid "Manual" +msgstr "Manuell" + +#: gnu/installer/newt/partition.scm:732 +msgid "Please select a partitioning method." +msgstr "Välj en partitioneringsmetod." + +#: gnu/installer/newt/partition.scm:733 +msgid "Partitioning method" +msgstr "Partitioneringsmetod" + +#: gnu/installer/newt/services.scm:36 +msgid "Please select the desktop(s) environment(s) you wish to install. If you select multiple desktops environments, you will be able to choose the one to use on the log-in screen." +msgstr "Välj de skrivbordsmiljöer du önskar installera. Om du väljer flera skrivbordsmiljöer kommer du att kunna välja vilken som ska användas på inloggningsskärmen." + +#: gnu/installer/newt/services.scm:39 +msgid "Desktop environment" +msgstr "Skrivbordsmiljö" + +#: gnu/installer/newt/services.scm:56 +msgid "You can now select networking services to run on your system." +msgstr "Du kan nu välja nätverkstjänster som ska köra på ditt system." + +#: gnu/installer/newt/services.scm:58 +msgid "Network service" +msgstr "Nätverkstjänst" + +#: gnu/installer/newt/services.scm:71 +msgid "Network management" +msgstr "Nätverkshantering" + +#: gnu/installer/newt/services.scm:74 +msgid "" +"Choose the method to manage network connections.\n" +"\n" +"We recommend NetworkManager or Connman for a WiFi-capable laptop; the DHCP client may be enough for a server." +msgstr "" +"Välj metod för att hantera nätverksanslutningar.\n" +"\n" +"Vi rekommenderar NetworkManager eller Connman för en bärbar dator med Wifi; DHCP-klienten kan vara tillräcklig för en server." + +#: gnu/installer/newt/timezone.scm:59 +msgid "Please select a timezone." +msgstr "Välj en tidszon." + +#: gnu/installer/newt/user.scm:43 +msgid "Name" +msgstr "Namn" + +#: gnu/installer/newt/user.scm:45 +msgid "Real name" +msgstr "Verkligt namn" + +#: gnu/installer/newt/user.scm:47 +msgid "Home directory" +msgstr "Hemkatalog" + +#: gnu/installer/newt/user.scm:49 +msgid "Password" +msgstr "Lösenord" + +#: gnu/installer/newt/user.scm:118 +msgid "Empty inputs are not allowed." +msgstr "Tomma inmatningsfält är inte tillåtna." + +#: gnu/installer/newt/user.scm:155 +msgid "Please confirm the password." +msgstr "Bekräfta lösenordet." + +#: gnu/installer/newt/user.scm:172 +msgid "Please choose a password for the system administrator (\"root\")." +msgstr "Välj ett lösenord för systemadministratören (”root”)." + +#: gnu/installer/newt/user.scm:174 +msgid "System administrator password" +msgstr "Systemadministratörslösenord" + +#: gnu/installer/newt/user.scm:187 +msgid "Please add at least one user to system using the 'Add' button." +msgstr "Lägg till åtminstone en användare till systemet via knappen ”Lägg till”." + +#: gnu/installer/newt/user.scm:190 +msgid "Add" +msgstr "Lägg till" + +#: gnu/installer/newt/user.scm:191 +msgid "Delete" +msgstr "Ta bort" + +#: gnu/installer/newt/user.scm:250 +msgid "Please create at least one user." +msgstr "Skapa åtminstone en användaren." + +#: gnu/installer/newt/user.scm:251 +msgid "No user" +msgstr "Ingen användare" + +#: gnu/installer/newt/welcome.scm:95 +msgid "GNU Guix install" +msgstr "GNU Guix-installerare" + +#: gnu/installer/newt/welcome.scm:96 +msgid "" +"Welcome to GNU Guix system installer!\n" +"\n" +"You will be guided through a graphical installation program.\n" +"\n" +"If you are familiar with GNU/Linux and you want tight control over the installation process, you can instead choose manual installation. Documentation is accessible at any time by pressing Ctrl-Alt-F2." +msgstr "" +"Välkommen till GNU Guix-systeminstallerare!\n" +"\n" +"Du kommer att guidas genom ett grafiskt installationsprogram.\n" +"\n" +"Om du är bekant med GNU/Linux och du vill ha noggrann kontroll över installationsprocessen kan du istället välja manuell installation. Dokumentation är tillgänglig när som helst genom att trycka på Ctrl-Alt-F2." + +#: gnu/installer/newt/welcome.scm:105 +msgid "Graphical install using a terminal based interface" +msgstr "Grafisk installation genom ett terminalbaserat gränssnitt" + +#: gnu/installer/newt/welcome.scm:108 +msgid "Install using the shell based process" +msgstr "Installation via skalbaseradprocess" + +#: gnu/installer/newt/wifi.scm:81 +msgid "Unable to find a wifi technology" +msgstr "Kan inte hitta wifi-teknologi" + +#: gnu/installer/newt/wifi.scm:85 +msgid "Scanning wifi for available networks, please wait." +msgstr "Söker via wifi efter tillgängliga nätverk, vänta." + +#: gnu/installer/newt/wifi.scm:86 +msgid "Scan in progress" +msgstr "Sökning pågår" + +#: gnu/installer/newt/wifi.scm:90 +msgid "Please enter the wifi password." +msgstr "Mata in wifi-lösenordet." + +#: gnu/installer/newt/wifi.scm:96 +#, scheme-format +msgid "The password you entered for ~a is incorrect." +msgstr "Lösenordet du angav för ~a är felaktigt." + +#: gnu/installer/newt/wifi.scm:98 +msgid "Wrong password" +msgstr "Felaktig lösenord" + +#: gnu/installer/newt/wifi.scm:104 +#, scheme-format +msgid "An error occurred while trying to connect to ~a, please retry." +msgstr "Ett fel uppstod vid försök att ansluta till ~a, försök igen." + +#: gnu/installer/newt/wifi.scm:197 +msgid "Please select a wifi network." +msgstr "Välj ett wifi-lösenord." + +#: gnu/installer/newt/wifi.scm:203 +msgid "Scan" +msgstr "Sök" + +#: gnu/installer/newt/wifi.scm:208 +msgid "No wifi detected" +msgstr "Inget wifi hittades" + +#: gnu/installer/newt/wifi.scm:223 +msgid "Wifi" +msgstr "Wifi" + +#: gnu/installer/parted.scm:428 gnu/installer/parted.scm:465 +msgid "Free space" +msgstr "Fritt utrymme" + +#: gnu/installer/parted.scm:1345 +#, scheme-format +msgid "Device ~a is still in use." +msgstr "Enhet ~a används fortfarande." + +#: gnu/installer/services.scm:85 +msgid "OpenSSH secure shell daemon (sshd)" +msgstr "OpenSSH-demon för säkert skal (sshd)" + +#: gnu/installer/services.scm:89 +msgid "Tor anonymous network router" +msgstr "Router för det anonyma nätverket Tor" + +#: gnu/installer/services.scm:93 +msgid "Mozilla NSS certificates, for HTTPS access" +msgstr "Mozilla NSS-certifikat för HTTPS-åtkomst" + +#: gnu/installer/services.scm:100 +msgid "NetworkManager network connection manager" +msgstr "Nätverksanslutningshanteraren NetworkManager" + +#: gnu/installer/services.scm:105 +msgid "Connman network connection manager" +msgstr "Nätverksanslutningshanteraren Connman" + +#: gnu/installer/services.scm:110 +msgid "DHCP client (dynamic IP address assignment)" +msgstr "DHCP-klient (dynamisk IP-adresstilldelning)" + +#: gnu/installer/timezone.scm:110 +#, scheme-format +msgid "Unable to locate path: ~a." +msgstr "Kan inte hitta sökväg: ~a." + +#: gnu/installer/utils.scm:64 +#, scheme-format +msgid "Press Enter to continue.~%" +msgstr "Tryck på RETUR för att fortsätta.~%" + +#: gnu/installer/utils.scm:86 +#, scheme-format +msgid "Command failed with exit code ~a.~%" +msgstr "Kommando misslyckades med avslutningskod ~a.~%" + +#: guix/scripts.scm:61 #, scheme-format msgid "invalid argument: ~a~%" msgstr "ogiltigt argument: ~a~%" -#: guix/scripts.scm:88 guix/scripts/download.scm:135 -#: guix/scripts/import/cran.scm:84 guix/scripts/import/elpa.scm:85 -#: guix/scripts/publish.scm:881 guix/scripts/edit.scm:81 -#: guix/scripts/describe.scm:197 guix/scripts/processes.scm:216 +#: guix/scripts.scm:89 guix/scripts/download.scm:135 +#: guix/scripts/search.scm:60 guix/scripts/import/cran.scm:84 +#: guix/scripts/import/elpa.scm:85 guix/scripts/publish.scm:888 +#: guix/scripts/edit.scm:79 guix/scripts/describe.scm:205 +#: guix/scripts/processes.scm:230 #, scheme-format msgid "~A: unrecognized option~%" msgstr "~A: okänd flagga~%" -#: guix/scripts.scm:182 +#: guix/scripts.scm:172 #, scheme-format msgid "Your Guix installation is ~a day old.\n" msgid_plural "Your Guix installation is ~a days old.\n" msgstr[0] "Din Guix-installation är ~a dag gammal.\n" msgstr[1] "Din Guix-installation är ~a dagar gammal.\n" -#: guix/scripts.scm:187 +#: guix/scripts.scm:178 #, scheme-format msgid "" "Consider running 'guix pull' followed by\n" @@ -311,54 +1041,48 @@ msgstr "" "Överväg att köra ”guix pull” följt av\n" "”~a” för att få uppdaterade paket och säkerhetsfixar.\n" -#: guix/scripts.scm:211 +#: guix/scripts.scm:202 #, scheme-format msgid "only ~,1f% of free space available on ~a~%" msgstr "endast ~,1f% fritt utrymme tillgängligt på ~a~%" -#: guix/scripts.scm:214 -#, scheme-format +#: guix/scripts.scm:204 msgid "" "Consider deleting old profile\n" "generations and collecting garbage, along these lines:\n" "\n" "@example\n" -"guix package -p ~s --delete-generations=1m\n" -"guix gc\n" +"guix gc --delete-generations=1m\n" "@end example\n" msgstr "" "Överväg att ta bort gamla profilgenerationer\n" -"och att skräpsamla med dessa rader:\n" +"och att skräpsamla på detta sätt:\n" "\n" "@example\n" -"guix package -p ~s --delete-generations=1m\n" -"guix gc\n" +"guix gc --delete-generations=1m\n" "@end example\n" -#: guix/scripts.scm:222 -msgid "" -"Consider running @command{guix gc} to free\n" -"space." -msgstr "" -"Överväg att köra @command{guix gc} för att\n" -"frigöra utrymme." - -#: guix/scripts/build.scm:84 +#: guix/scripts/build.scm:86 #, scheme-format msgid "cannot access build log at '~a':~%" msgstr "kan inte komma åt bygglogg vid ”~a”:~%" -#: guix/scripts/build.scm:138 +#: guix/scripts/build.scm:140 #, scheme-format msgid "failed to create GC root `~a': ~a~%" msgstr "misslyckades med att skapa GC-rot ”~a”: ~a~%" -#: guix/scripts/build.scm:240 +#: guix/scripts/build.scm:245 guix/scripts/build.scm:310 #, scheme-format msgid "invalid replacement specification: ~s~%" msgstr "ogiltig ersättningsspecifikation: ~s~%" -#: guix/scripts/build.scm:297 +#: guix/scripts/build.scm:292 +#, scheme-format +msgid "the source of ~a is not a Git reference~%" +msgstr "källan för ~a är inte en Git-referens~%" + +#: guix/scripts/build.scm:417 msgid "" "\n" " --with-source=SOURCE\n" @@ -368,7 +1092,7 @@ msgstr "" " --with-source=KÄLLA\n" " använd KÄLLA när motsvarande paket byggs" -#: guix/scripts/build.scm:300 +#: guix/scripts/build.scm:420 msgid "" "\n" " --with-input=PACKAGE=REPLACEMENT\n" @@ -378,7 +1102,7 @@ msgstr "" " --with-input=PAKET=ERSÄTTNING\n" " ersätt PAKET-beroende med ERSÄTTNING" -#: guix/scripts/build.scm:303 +#: guix/scripts/build.scm:423 msgid "" "\n" " --with-graft=PACKAGE=REPLACEMENT\n" @@ -388,12 +1112,42 @@ msgstr "" " --with-graft=PAKET=ERSÄTTNING\n" " ympa in ERSÄTTNING för paket som refererar till PAKET" -#: guix/scripts/build.scm:328 +#: guix/scripts/build.scm:426 +msgid "" +"\n" +" --with-branch=PACKAGE=BRANCH\n" +" build PACKAGE from the latest commit of BRANCH" +msgstr "" +"\n" +" --with-gren=PAKET=GREN\n" +" bygg PAKET från senaste incheckningen på GREN" + +#: guix/scripts/build.scm:429 +msgid "" +"\n" +" --with-commit=PACKAGE=COMMIT\n" +" build PACKAGE from COMMIT" +msgstr "" +"\n" +" --with-commit=PAKET=INCHECKNING\n" +" bygg PAKET från INCHECKNING" + +#: guix/scripts/build.scm:432 +msgid "" +"\n" +" --with-git-url=PACKAGE=URL\n" +" build PACKAGE from the repository at URL" +msgstr "" +"\n" +" --with-git-url=PAKET=URL\n" +" bygg PAKET från arkivet vid URL" + +#: guix/scripts/build.scm:463 #, scheme-format msgid "transformation '~a' had no effect on ~a~%" msgstr "transformation ”~a” hade ingen effekt på ~a~%" -#: guix/scripts/build.scm:346 +#: guix/scripts/build.scm:481 msgid "" "\n" " -L, --load-path=DIR prepend DIR to the package module search path" @@ -401,7 +1155,7 @@ msgstr "" "\n" " -L, --load-path=KAT skjut in KAT i början på sökväg för paketmoduler" -#: guix/scripts/build.scm:348 +#: guix/scripts/build.scm:483 msgid "" "\n" " -K, --keep-failed keep build tree of failed builds" @@ -409,7 +1163,7 @@ msgstr "" "\n" " -K, --keep-failed behåll byggträd för misslyckade byggen" -#: guix/scripts/build.scm:350 +#: guix/scripts/build.scm:485 msgid "" "\n" " -k, --keep-going keep going when some of the derivations fail" @@ -417,7 +1171,7 @@ msgstr "" "\n" " -k, --keep-going fortsätt även om några av härledningarna misslyckades" -#: guix/scripts/build.scm:352 +#: guix/scripts/build.scm:487 msgid "" "\n" " -n, --dry-run do not build the derivations" @@ -425,220 +1179,294 @@ msgstr "" "\n" " -n, --dry-run bygg inte härledningarna" -#: guix/scripts/build.scm:354 +#: guix/scripts/build.scm:489 msgid "" "\n" " --fallback fall back to building when the substituter fails" msgstr "" +"\n" +" --fallback fall tillbaka på att bygga när ersättaren misslyckas" -#: guix/scripts/build.scm:356 +#: guix/scripts/build.scm:491 msgid "" "\n" " --no-substitutes build instead of resorting to pre-built substitutes" msgstr "" +"\n" +" --no-substitutes bygg istället för att tillgripa fröbyggda ersättningar" -#: guix/scripts/build.scm:358 guix/scripts/size.scm:223 +#: guix/scripts/build.scm:493 guix/scripts/size.scm:233 msgid "" "\n" " --substitute-urls=URLS\n" " fetch substitute from URLS if they are authorized" msgstr "" +"\n" +" --substitute-urls=URLER\n" +" hämta ersättning från URLER om de auktoriserade" -#: guix/scripts/build.scm:361 +#: guix/scripts/build.scm:496 msgid "" "\n" " --no-grafts do not graft packages" msgstr "" +"\n" +" --no-grafts ympa inte paket" -#: guix/scripts/build.scm:363 +#: guix/scripts/build.scm:498 msgid "" "\n" " --no-build-hook do not attempt to offload builds via the build hook" msgstr "" +"\n" +" --no-build-hook försök inte att avlasta byggen via byggkroken" -#: guix/scripts/build.scm:365 +#: guix/scripts/build.scm:500 msgid "" "\n" " --max-silent-time=SECONDS\n" " mark the build as failed after SECONDS of silence" msgstr "" +"\n" +" --max-silent-time=SEKUNDER\n" +" markera bygget som misslyckat efter tystnad under givet antal SEKUNDER" -#: guix/scripts/build.scm:368 +#: guix/scripts/build.scm:503 msgid "" "\n" " --timeout=SECONDS mark the build as failed after SECONDS of activity" msgstr "" - -#: guix/scripts/build.scm:370 -msgid "" "\n" -" --verbosity=LEVEL use the given verbosity LEVEL" -msgstr "" +" --timeout=SEKUNDER markera bygget som misslyckat efter aktivetet under givet antal SEKUNDER" -#: guix/scripts/build.scm:372 +#: guix/scripts/build.scm:505 msgid "" "\n" " --rounds=N build N times in a row to detect non-determinism" msgstr "" +"\n" +" --rounds=N bygg N gånger i rad för att detektera ickedeterminism" -#: guix/scripts/build.scm:374 +#: guix/scripts/build.scm:507 msgid "" "\n" " -c, --cores=N allow the use of up to N CPU cores for the build" msgstr "" +"\n" +" -c, --cores=N tillåt använding av upp till N CPU-kärnor för bygget" -#: guix/scripts/build.scm:376 +#: guix/scripts/build.scm:509 msgid "" "\n" " -M, --max-jobs=N allow at most N build jobs" msgstr "" +"\n" +" -M, --max-jobs=N tillåt som mest N byggjobb" -#: guix/scripts/build.scm:486 guix/scripts/build.scm:493 +#: guix/scripts/build.scm:511 +msgid "" +"\n" +" --debug=LEVEL produce debugging output at LEVEL" +msgstr "" +"\n" +" --debug=NIVÅ producera felsökningsutmatning på NIVÅ" + +#: guix/scripts/build.scm:621 guix/scripts/build.scm:628 #, scheme-format msgid "not a number: '~a' option argument: ~a~%" -msgstr "" +msgstr "inte ett tal: ”~a”-flaggargument: ~a~%" -#: guix/scripts/build.scm:514 +#: guix/scripts/build.scm:649 msgid "" "Usage: guix build [OPTION]... PACKAGE-OR-DERIVATION...\n" "Build the given PACKAGE-OR-DERIVATION and return their output paths.\n" msgstr "" +"Användning: guix build [FLAGGA]… PAKET-ELLER-HÄRLEDNING…\n" +"Bygg givet PAKET-ELLER-HÄRLEDNING och returnera deras utmatningssökvägar.\n" -#: guix/scripts/build.scm:516 +#: guix/scripts/build.scm:651 msgid "" "\n" " -e, --expression=EXPR build the package or derivation EXPR evaluates to" msgstr "" +"\n" +" -e, --expression=UTR bygg paketet eller härledningen som UTR utvärderas till" -#: guix/scripts/build.scm:518 +#: guix/scripts/build.scm:653 msgid "" "\n" " -f, --file=FILE build the package or derivation that the code within\n" " FILE evaluates to" msgstr "" +"\n" +" -f, --file=FIL bygg paketet eller härdledningen som koden inuti\n" +" FIL utvärderas till" -#: guix/scripts/build.scm:521 +#: guix/scripts/build.scm:656 msgid "" "\n" " -S, --source build the packages' source derivations" msgstr "" +"\n" +" -S, --source bygg paketens källhärledningar" -#: guix/scripts/build.scm:523 +#: guix/scripts/build.scm:658 msgid "" "\n" " --sources[=TYPE] build source derivations; TYPE may optionally be one\n" " of \"package\", \"all\" (default), or \"transitive\"" msgstr "" +"\n" +" --sources[=TYP] bygg källhärledningar; TYP kan valfritt vara enderas av\n" +" ”package”, ”all” (standardvärde) eller ”transitive”" -#: guix/scripts/build.scm:526 guix/scripts/pack.scm:712 +#: guix/scripts/build.scm:661 guix/scripts/pull.scm:97 +#: guix/scripts/pack.scm:754 msgid "" "\n" " -s, --system=SYSTEM attempt to build for SYSTEM--e.g., \"i686-linux\"" msgstr "" +"\n" +" -s, --system=SYSTEM försök att bygga för SYSTEM — t.ex. ”i686-linux”" -#: guix/scripts/build.scm:528 guix/scripts/pack.scm:714 +#: guix/scripts/build.scm:663 guix/scripts/pack.scm:756 msgid "" "\n" " --target=TRIPLET cross-build for TRIPLET--e.g., \"armel-linux-gnu\"" msgstr "" +"\n" +" --target=TRIPPLETT korsbygge för TRIPPLETT — t.ex. ”armel-linux-gnu”" -#: guix/scripts/build.scm:530 +#: guix/scripts/build.scm:665 msgid "" "\n" " -d, --derivations return the derivation paths of the given packages" msgstr "" +"\n" +" -d, --derivations returnera härledningssökvägar för de givna paketen" -#: guix/scripts/build.scm:532 +#: guix/scripts/build.scm:667 msgid "" "\n" " --check rebuild items to check for non-determinism issues" msgstr "" +"\n" +" --check bygg om objekt för att leta efter ickedeterministiska problem" -#: guix/scripts/build.scm:534 +#: guix/scripts/build.scm:669 msgid "" "\n" " --repair repair the specified items" msgstr "" +"\n" +" --repair reparera angivna objekt" -#: guix/scripts/build.scm:536 +#: guix/scripts/build.scm:671 msgid "" "\n" " -r, --root=FILE make FILE a symlink to the result, and register it\n" " as a garbage collector root" msgstr "" +"\n" +" -r, --root=FIL gör FIL till en symbolisk länk till resultatet, och registrera den\n" +" som en skräpsamlarrot" -#: guix/scripts/build.scm:539 +#: guix/scripts/build.scm:674 guix/scripts/package.scm:364 +#: guix/scripts/install.scm:36 guix/scripts/remove.scm:36 +#: guix/scripts/upgrade.scm:36 guix/scripts/pull.scm:95 +#: guix/scripts/system.scm:1032 guix/scripts/copy.scm:120 +#: guix/scripts/pack.scm:771 +msgid "" +"\n" +" -v, --verbosity=LEVEL use the given verbosity LEVEL" +msgstr "" +"\n" +" -v, --verbosity=NIVÅ använd angiven NIVÅ av utförlighet" + +#: guix/scripts/build.scm:676 msgid "" "\n" " -q, --quiet do not show the build log" msgstr "" +"\n" +" -q, --quiet visa inte byggloggen" -#: guix/scripts/build.scm:541 +#: guix/scripts/build.scm:678 msgid "" "\n" " --log-file return the log file names for the given derivations" msgstr "" +"\n" +" --log-file returnera loggfilnamnen för angivna härledningar" -#: guix/scripts/build.scm:548 guix/scripts/download.scm:83 -#: guix/scripts/package.scm:366 guix/scripts/gc.scm:76 -#: guix/scripts/hash.scm:60 guix/scripts/import.scm:93 -#: guix/scripts/import/cran.scm:47 guix/scripts/pull.scm:95 -#: guix/scripts/substitute.scm:889 guix/scripts/system.scm:1017 -#: guix/scripts/lint.scm:1115 guix/scripts/publish.scm:94 -#: guix/scripts/edit.scm:44 guix/scripts/size.scm:234 -#: guix/scripts/graph.scm:472 guix/scripts/challenge.scm:241 -#: guix/scripts/copy.scm:122 guix/scripts/pack.scm:730 -#: guix/scripts/weather.scm:259 guix/scripts/describe.scm:71 -#: guix/scripts/processes.scm:200 guix/scripts/container.scm:34 -#: guix/scripts/container/exec.scm:43 +#: guix/scripts/build.scm:685 guix/scripts/download.scm:83 +#: guix/scripts/package.scm:382 guix/scripts/install.scm:43 +#: guix/scripts/remove.scm:41 guix/scripts/upgrade.scm:43 +#: guix/scripts/search.scm:34 guix/scripts/gc.scm:84 guix/scripts/hash.scm:60 +#: guix/scripts/import.scm:93 guix/scripts/import/cran.scm:47 +#: guix/scripts/pull.scm:103 guix/scripts/substitute.scm:898 +#: guix/scripts/system.scm:1035 guix/scripts/lint.scm:1180 +#: guix/scripts/publish.scm:94 guix/scripts/edit.scm:43 +#: guix/scripts/size.scm:244 guix/scripts/graph.scm:499 +#: guix/scripts/challenge.scm:241 guix/scripts/copy.scm:125 +#: guix/scripts/pack.scm:776 guix/scripts/weather.scm:270 +#: guix/scripts/describe.scm:72 guix/scripts/processes.scm:214 +#: guix/scripts/container.scm:34 guix/scripts/container/exec.scm:43 msgid "" "\n" " -h, --help display this help and exit" msgstr "" +"\n" +" -h, --help visa denna hjälp och avsluta" -#: guix/scripts/build.scm:550 guix/scripts/download.scm:85 -#: guix/scripts/package.scm:368 guix/scripts/gc.scm:78 -#: guix/scripts/hash.scm:62 guix/scripts/import.scm:95 -#: guix/scripts/import/cran.scm:51 guix/scripts/pull.scm:97 -#: guix/scripts/substitute.scm:891 guix/scripts/system.scm:1019 -#: guix/scripts/lint.scm:1119 guix/scripts/publish.scm:96 -#: guix/scripts/edit.scm:46 guix/scripts/size.scm:236 -#: guix/scripts/graph.scm:474 guix/scripts/challenge.scm:243 -#: guix/scripts/copy.scm:124 guix/scripts/pack.scm:732 -#: guix/scripts/weather.scm:261 guix/scripts/describe.scm:73 -#: guix/scripts/processes.scm:202 guix/scripts/container.scm:36 -#: guix/scripts/container/exec.scm:45 +#: guix/scripts/build.scm:687 guix/scripts/download.scm:85 +#: guix/scripts/package.scm:384 guix/scripts/install.scm:45 +#: guix/scripts/remove.scm:43 guix/scripts/upgrade.scm:45 +#: guix/scripts/search.scm:36 guix/scripts/gc.scm:86 guix/scripts/hash.scm:62 +#: guix/scripts/import.scm:95 guix/scripts/import/cran.scm:51 +#: guix/scripts/pull.scm:105 guix/scripts/substitute.scm:900 +#: guix/scripts/system.scm:1037 guix/scripts/lint.scm:1184 +#: guix/scripts/publish.scm:96 guix/scripts/edit.scm:45 +#: guix/scripts/size.scm:246 guix/scripts/graph.scm:501 +#: guix/scripts/challenge.scm:243 guix/scripts/copy.scm:127 +#: guix/scripts/pack.scm:778 guix/scripts/weather.scm:272 +#: guix/scripts/describe.scm:74 guix/scripts/processes.scm:216 +#: guix/scripts/container.scm:36 guix/scripts/container/exec.scm:45 msgid "" "\n" " -V, --version display version information and exit" msgstr "" +"\n" +" -V, --version visa versionsinformation och avsluta" -#: guix/scripts/build.scm:577 +#: guix/scripts/build.scm:714 #, scheme-format msgid "" "invalid argument: '~a' option argument: ~a, ~\n" "must be one of 'package', 'all', or 'transitive'~%" msgstr "" +"ogiltigt argument: ”~a”-flaggargument: ~a, ~\n" +"måste vara endera av ”package”, ”all” eller ”trasitive”~%" -#: guix/scripts/build.scm:630 +#: guix/scripts/build.scm:772 #, scheme-format msgid "~s: not something we can build~%" -msgstr "" +msgstr "~s: inte något vi kan bygga~%" -#: guix/scripts/build.scm:688 +#: guix/scripts/build.scm:837 #, scheme-format msgid "~a: warning: package '~a' has no source~%" -msgstr "" +msgstr "~a: varning: paket ”~a” har ingen källa~%" -#: guix/scripts/build.scm:726 +#: guix/scripts/build.scm:885 #, scheme-format msgid "no build log for '~a'~%" -msgstr "" +msgstr "ingen bygglogg för ”~a”~%" -#: guix/discovery.scm:91 +#: guix/discovery.scm:92 #, scheme-format msgid "cannot access `~a': ~a~%" -msgstr "" +msgstr "kan inte komma åt ”~a”: ~a~%" #: guix/scripts/download.scm:69 msgid "" @@ -649,12 +1477,20 @@ msgid "" "Supported formats: 'nix-base32' (default), 'base32', and 'base16'\n" "('hex' and 'hexadecimal' can be used as well).\n" msgstr "" +"Användning: guix download [FLAGGA] URL\n" +"Hämta filen vid URL till arkivet eller till den givna filen, och skriv ut dess\n" +"filnamn och hashen av dess innehåll.\n" +"\n" +"Format som stöds: ”nix-base32” (standardvärde), ”base32” och ”base16”\n" +"(”hex” och ”hexadecimal” kan också användas.)\n" #: guix/scripts/download.scm:75 guix/scripts/hash.scm:55 msgid "" "\n" " -f, --format=FMT write the hash in the given format" msgstr "" +"\n" +" -f, --format=FMT skriv hash i angivet format" #: guix/scripts/download.scm:77 msgid "" @@ -662,318 +1498,424 @@ msgid "" " --no-check-certificate\n" " do not validate the certificate of HTTPS servers " msgstr "" +"\n" +" --no-check-certificate\n" +" validera inte certifiakt från HTTPS-servrar" #: guix/scripts/download.scm:80 msgid "" "\n" " -o, --output=FILE download to FILE" msgstr "" +"\n" +" -o, --output=FIL hämta till FIL" #: guix/scripts/download.scm:103 guix/scripts/hash.scm:83 #, scheme-format msgid "unsupported hash format: ~a~%" -msgstr "" +msgstr "hashformat stöds inte: ~a~%" -#: guix/scripts/download.scm:138 guix/scripts/package.scm:905 -#: guix/scripts/publish.scm:883 +#: guix/scripts/download.scm:138 guix/scripts/package.scm:900 +#: guix/scripts/upgrade.scm:79 guix/scripts/publish.scm:890 #, scheme-format msgid "~A: extraneous argument~%" -msgstr "" +msgstr "~A: främmande argument~%" #: guix/scripts/download.scm:146 #, scheme-format msgid "no download URI was specified~%" -msgstr "" +msgstr "ingen hämtnings-URI angavs~%" #: guix/scripts/download.scm:151 #, scheme-format msgid "~a: failed to parse URI~%" -msgstr "" +msgstr "~a: misslyckades med att tolka URI~%" #: guix/scripts/download.scm:161 #, scheme-format msgid "~a: download failed~%" -msgstr "" +msgstr "~a: hämtning misslyckades~%" -#: guix/scripts/package.scm:109 +#: guix/scripts/package.scm:115 #, scheme-format msgid "not removing generation ~a, which is current~%" -msgstr "" +msgstr "tar inte bort generation ~a, då den är aktuell~%" -#: guix/scripts/package.scm:116 +#: guix/scripts/package.scm:122 #, scheme-format msgid "no matching generation~%" -msgstr "" +msgstr "ingen matchande generation~%" -#: guix/scripts/package.scm:119 guix/scripts/package.scm:707 -#: guix/scripts/system.scm:622 +#: guix/scripts/package.scm:125 guix/scripts/package.scm:697 +#: guix/scripts/system.scm:626 #, scheme-format msgid "invalid syntax: ~a~%" -msgstr "" +msgstr "ogiltig syntax: ~a~%" -#: guix/scripts/package.scm:148 +#: guix/scripts/package.scm:154 #, scheme-format msgid "nothing to be done~%" -msgstr "" +msgstr "ingenting att göra~%" -#: guix/scripts/package.scm:162 +#: guix/scripts/package.scm:168 #, scheme-format msgid "~a package in profile~%" msgid_plural "~a packages in profile~%" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "~a paket i profil~%" +msgstr[1] "~a paket i profil~%" -#: guix/scripts/package.scm:248 +#: guix/scripts/package.scm:255 #, scheme-format msgid "package '~a' no longer exists~%" -msgstr "" +msgstr "paket ”~a” finns inte längre~%" -#: guix/scripts/package.scm:286 +#: guix/scripts/package.scm:301 #, scheme-format msgid "The following environment variable definitions may be needed:~%" -msgstr "" +msgstr "Följande definitioner av miljövariabler kan behövas: ~%" -#: guix/scripts/package.scm:305 +#: guix/scripts/package.scm:321 msgid "" "Usage: guix package [OPTION]...\n" "Install, remove, or upgrade packages in a single transaction.\n" msgstr "" +"Användning: guis package [FLAGGA]…\n" +"Installera, ta bort eller uppgradera paket i en enstaka transaktion.\n" -#: guix/scripts/package.scm:307 +#: guix/scripts/package.scm:323 msgid "" "\n" " -i, --install PACKAGE ...\n" " install PACKAGEs" msgstr "" +"\n" +" -i, --install PACKET …\n" +" installera PAKET" -#: guix/scripts/package.scm:310 +#: guix/scripts/package.scm:326 msgid "" "\n" " -e, --install-from-expression=EXP\n" " install the package EXP evaluates to" msgstr "" +"\n" +" -e, --install-from-expression=UTR\n" +" installera paketet som UTR utvärderas till" -#: guix/scripts/package.scm:313 +#: guix/scripts/package.scm:329 msgid "" "\n" " -f, --install-from-file=FILE\n" " install the package that the code within FILE\n" " evaluates to" msgstr "" +"\n" +" -f, --install-from-file=FIL\n" +" installera paketet som koden inuti FIL\n" +" utvärderas till" -#: guix/scripts/package.scm:317 +#: guix/scripts/package.scm:333 msgid "" "\n" " -r, --remove PACKAGE ...\n" " remove PACKAGEs" msgstr "" +"\n" +" -r, --remove PAKET …\n" +" ta bort PAKET" -#: guix/scripts/package.scm:320 +#: guix/scripts/package.scm:336 msgid "" "\n" " -u, --upgrade[=REGEXP] upgrade all the installed packages matching REGEXP" msgstr "" +"\n" +" -u, --upgrade[=REGUTR] uppgradera alla interallerade paket som matchar REGUTR" -#: guix/scripts/package.scm:322 +#: guix/scripts/package.scm:338 msgid "" "\n" " -m, --manifest=FILE create a new profile generation with the manifest\n" " from FILE" msgstr "" +"\n" +" -m, --manifest=FIL skapa en ny profilgeneration med manifestet\n" +" från FIL" -#: guix/scripts/package.scm:325 +#: guix/scripts/package.scm:341 msgid "" "\n" " --do-not-upgrade[=REGEXP] do not upgrade any packages matching REGEXP" msgstr "" +"\n" +" --do-not-upgrade[=REGUTR] uppgradera inte något av de paket som matchar REGUTR" -#: guix/scripts/package.scm:327 +#: guix/scripts/package.scm:343 msgid "" "\n" " --roll-back roll back to the previous generation" msgstr "" +"\n" +" --roll-back rulla tillbaka till föregående generation" -#: guix/scripts/package.scm:329 +#: guix/scripts/package.scm:345 msgid "" "\n" " --search-paths[=KIND]\n" " display needed environment variable definitions" msgstr "" +"\n" +" --search-paths[=TYP]\n" +" visa miljövariabeldefinitioner som behövs" -#: guix/scripts/package.scm:332 guix/scripts/pull.scm:84 +#: guix/scripts/package.scm:348 guix/scripts/pull.scm:90 msgid "" "\n" " -l, --list-generations[=PATTERN]\n" " list generations matching PATTERN" msgstr "" +"\n" +" -l, --list-generations[=MÖNSTER]\n" +" lista generationer som matchar MÖNSTER" -#: guix/scripts/package.scm:335 +#: guix/scripts/package.scm:351 msgid "" "\n" " -d, --delete-generations[=PATTERN]\n" " delete generations matching PATTERN" msgstr "" +"\n" +" -d, --delete-generations[=MÖNSTER]\n" +" ta bort generationer som matchar MÖNSTER" -#: guix/scripts/package.scm:338 +#: guix/scripts/package.scm:354 msgid "" "\n" " -S, --switch-generation=PATTERN\n" " switch to a generation matching PATTERN" msgstr "" +"\n" +" -S, --switch-generation=MÖNSTER\n" +" växla till en generation som matchar MÖNSTER" -#: guix/scripts/package.scm:341 +#: guix/scripts/package.scm:357 guix/scripts/install.scm:33 +#: guix/scripts/remove.scm:33 guix/scripts/upgrade.scm:34 msgid "" "\n" " -p, --profile=PROFILE use PROFILE instead of the user's default profile" msgstr "" +"\n" +" -p, --profile=PROFIL använd PROFIL istället för användarens standardprofil" -#: guix/scripts/package.scm:344 +#: guix/scripts/package.scm:360 msgid "" "\n" " --allow-collisions do not treat collisions in the profile as an error" msgstr "" +"\n" +" --allow-collisions behandla inte kollisioner i profilen som fel" -#: guix/scripts/package.scm:346 +#: guix/scripts/package.scm:362 msgid "" "\n" " --bootstrap use the bootstrap Guile to build the profile" msgstr "" - -#: guix/scripts/package.scm:348 guix/scripts/pull.scm:74 -msgid "" "\n" -" --verbose produce verbose output" -msgstr "" +" --bootstrap använd laddar-Guile för att bygga profilen" -#: guix/scripts/package.scm:351 +#: guix/scripts/package.scm:367 msgid "" "\n" " -s, --search=REGEXP search in synopsis and description using REGEXP" msgstr "" +"\n" +" -s, --search=REGUTR sök i synopsis och beskrivning efter REGUTR" -#: guix/scripts/package.scm:353 +#: guix/scripts/package.scm:369 msgid "" "\n" " -I, --list-installed[=REGEXP]\n" " list installed packages matching REGEXP" msgstr "" +"\n" +" -I, --list-installed[=REGUTR]\n" +" lista installerade paket som matchar REGEXP" -#: guix/scripts/package.scm:356 +#: guix/scripts/package.scm:372 msgid "" "\n" " -A, --list-available[=REGEXP]\n" " list available packages matching REGEXP" msgstr "" +"\n" +" -A, --list-available[=REGUTR]\n" +" lista tillgängliga paket som matchar REGUTR" -#: guix/scripts/package.scm:359 +#: guix/scripts/package.scm:375 msgid "" "\n" " --show=PACKAGE show details about PACKAGE" msgstr "" +"\n" +" --show=PAKET visa detaljer om PAKET" -#: guix/scripts/package.scm:411 +#: guix/scripts/package.scm:427 #, scheme-format msgid "upgrade regexp '~a' looks like a command-line option~%" -msgstr "" +msgstr "reguljärt uttryck för uppgradering ”~a” ser ut som en kommandoradsflagga~%" -#: guix/scripts/package.scm:414 +#: guix/scripts/package.scm:430 #, scheme-format msgid "is this intended?~%" -msgstr "" +msgstr "är det avsiktligt?~%" -#: guix/scripts/package.scm:459 +#: guix/scripts/package.scm:475 #, scheme-format msgid "~a: unsupported kind of search path~%" -msgstr "" +msgstr "~a: sökvägstyp stöds inte~%" -#: guix/scripts/package.scm:776 +#: guix/scripts/package.scm:771 #, scheme-format msgid "~a~@[@~a~]: package not found~%" -msgstr "" +msgstr "~a~@[@~a~]: paket hittades inte~%" -#: guix/scripts/package.scm:810 +#: guix/scripts/package.scm:805 #, scheme-format msgid "cannot switch to generation '~a'~%" -msgstr "" +msgstr "kan inte växla till generation ”~a”~%" -#: guix/scripts/package.scm:827 +#: guix/scripts/package.scm:822 #, scheme-format msgid "would install new manifest from '~a' with ~d entries~%" -msgstr "" +msgstr "skulle installera nytt manifest från ”~a” med ~d poster~%" -#: guix/scripts/package.scm:829 +#: guix/scripts/package.scm:824 #, scheme-format msgid "installing new manifest from '~a' with ~d entries~%" +msgstr "installerar nytt manifest från ”~a” med ~d poster~%" + +#: guix/scripts/install.scm:30 +msgid "" +"Usage: guix install [OPTION] PACKAGES...\n" +"Install the given PACKAGES.\n" +"This is an alias for 'guix package -i'.\n" +msgstr "" +"Användning: gui install [FLAGGA] PAKET…\n" +"Installera givna PAKET.\n" +"Detta är ett alias för ”guis package -i”.\n" + +#: guix/scripts/remove.scm:30 +msgid "" +"Usage: guix remove [OPTION] PACKAGES...\n" +"Remove the given PACKAGES.\n" +"This is an alias for 'guix package -r'.\n" msgstr "" -#: guix/scripts/gc.scm:42 +#: guix/scripts/upgrade.scm:31 +msgid "" +"Usage: guix upgrade [OPTION] [REGEXP]\n" +"Upgrade packages that match REGEXP.\n" +"This is an alias for 'guix package -u'.\n" +msgstr "" + +#: guix/scripts/search.scm:29 +msgid "" +"Usage: guix search [OPTION] REGEXPS...\n" +"Search for packages matching REGEXPS." +msgstr "" + +#: guix/scripts/search.scm:31 +msgid "" +"\n" +"This is an alias for 'guix package -s'.\n" +msgstr "" + +#: guix/scripts/search.scm:65 +#, scheme-format +msgid "missing arguments: no regular expressions to search for~%" +msgstr "" + +#: guix/scripts/gc.scm:45 msgid "" "Usage: guix gc [OPTION]... PATHS...\n" "Invoke the garbage collector.\n" msgstr "" -#: guix/scripts/gc.scm:44 +#: guix/scripts/gc.scm:47 msgid "" "\n" " -C, --collect-garbage[=MIN]\n" " collect at least MIN bytes of garbage" msgstr "" -#: guix/scripts/gc.scm:47 +#: guix/scripts/gc.scm:50 msgid "" "\n" " -F, --free-space=FREE attempt to reach FREE available space in the store" msgstr "" -#: guix/scripts/gc.scm:49 +#: guix/scripts/gc.scm:52 msgid "" "\n" -" -d, --delete attempt to delete PATHS" -msgstr "" - -#: guix/scripts/gc.scm:51 -msgid "" -"\n" -" --optimize optimize the store by deduplicating identical files" -msgstr "" - -#: guix/scripts/gc.scm:53 -msgid "" -"\n" -" --list-dead list dead paths" +" -d, --delete-generations[=PATTERN]\n" +" delete profile generations matching PATTERN" msgstr "" #: guix/scripts/gc.scm:55 msgid "" "\n" +" -D, --delete attempt to delete PATHS" +msgstr "" + +#: guix/scripts/gc.scm:57 +msgid "" +"\n" +" --list-roots list the user's garbage collector roots" +msgstr "" + +#: guix/scripts/gc.scm:59 +msgid "" +"\n" +" --optimize optimize the store by deduplicating identical files" +msgstr "" + +#: guix/scripts/gc.scm:61 +msgid "" +"\n" +" --list-dead list dead paths" +msgstr "" + +#: guix/scripts/gc.scm:63 +msgid "" +"\n" " --list-live list live paths" msgstr "" -#: guix/scripts/gc.scm:58 +#: guix/scripts/gc.scm:66 msgid "" "\n" " --references list the references of PATHS" msgstr "" -#: guix/scripts/gc.scm:60 +#: guix/scripts/gc.scm:68 msgid "" "\n" " -R, --requisites list the requisites of PATHS" msgstr "" -#: guix/scripts/gc.scm:62 +#: guix/scripts/gc.scm:70 msgid "" "\n" " --referrers list the referrers of PATHS" msgstr "" -#: guix/scripts/gc.scm:64 +#: guix/scripts/gc.scm:72 msgid "" "\n" " --derivers list the derivers of PATHS" msgstr "" -#: guix/scripts/gc.scm:67 +#: guix/scripts/gc.scm:75 msgid "" "\n" " --verify[=OPTS] verify the integrity of the store; OPTS is a\n" @@ -981,42 +1923,52 @@ msgid "" " 'contents'" msgstr "" -#: guix/scripts/gc.scm:71 +#: guix/scripts/gc.scm:79 msgid "" "\n" " --list-failures list cached build failures" msgstr "" -#: guix/scripts/gc.scm:73 +#: guix/scripts/gc.scm:81 msgid "" "\n" " --clear-failures remove PATHS from the set of cached failures" msgstr "" -#: guix/scripts/gc.scm:87 +#: guix/scripts/gc.scm:95 #, scheme-format msgid "~a: invalid '--verify' option~%" msgstr "" -#: guix/scripts/gc.scm:117 +#: guix/scripts/gc.scm:135 #, scheme-format msgid "invalid amount of storage: ~a~%" msgstr "" -#: guix/scripts/gc.scm:202 +#: guix/scripts/gc.scm:149 +#, scheme-format +msgid "'-d' as an alias for '--delete' is deprecated; use '-D'~%" +msgstr "”-d” som ett alias för ”--delete” är föråldrat; använd ”-D”~%" + +#: guix/scripts/gc.scm:156 +#, scheme-format +msgid "~s does not denote a duration~%" +msgstr "" + +#: guix/scripts/gc.scm:239 msgid "already ~h MiBs available on ~a, nothing to do~%" msgstr "" -#: guix/scripts/gc.scm:205 +#: guix/scripts/gc.scm:242 msgid "freeing ~h MiBs~%" msgstr "" -#: guix/scripts/gc.scm:217 +#: guix/scripts/gc.scm:275 #, scheme-format msgid "extraneous arguments: ~{~a ~}~%" msgstr "" -#: guix/scripts/gc.scm:237 guix/scripts/gc.scm:240 +#: guix/scripts/gc.scm:299 guix/scripts/gc.scm:302 msgid "freed ~h MiBs~%" msgstr "" @@ -1041,13 +1993,16 @@ msgid "" " -r, --recursive compute the hash on FILE recursively" msgstr "" -#: guix/scripts/hash.scm:151 guix/ui.scm:371 guix/ui.scm:728 guix/ui.scm:781 +#: guix/scripts/hash.scm:151 guix/ui.scm:445 guix/ui.scm:452 guix/ui.scm:477 +#: guix/ui.scm:787 guix/ui.scm:809 guix/ui.scm:815 guix/ui.scm:821 +#: guix/ui.scm:874 #, scheme-format msgid "~a~%" msgstr "" -#: guix/scripts/hash.scm:154 guix/scripts/system.scm:1189 -#: guix/scripts/system.scm:1198 guix/scripts/system.scm:1205 +#: guix/scripts/hash.scm:154 guix/scripts/system.scm:1213 +#: guix/scripts/system.scm:1223 guix/scripts/system.scm:1230 +#: guix/scripts/system.scm:1237 #, scheme-format msgid "wrong number of arguments~%" msgstr "" @@ -1145,124 +2100,138 @@ msgstr "" msgid "failed to download package '~a'~%" msgstr "" -#: guix/scripts/pull.scm:72 +#: guix/scripts/pull.scm:76 msgid "" "Usage: guix pull [OPTION]...\n" "Download and deploy the latest version of Guix.\n" msgstr "" -#: guix/scripts/pull.scm:76 -msgid "" -"\n" -" -C, --channels=FILE deploy the channels defined in FILE" -msgstr "" - #: guix/scripts/pull.scm:78 msgid "" "\n" -" --url=URL download from the Git repository at URL" +" --verbose produce verbose output" msgstr "" #: guix/scripts/pull.scm:80 msgid "" "\n" -" --commit=COMMIT download the specified COMMIT" +" -C, --channels=FILE deploy the channels defined in FILE" msgstr "" #: guix/scripts/pull.scm:82 msgid "" "\n" +" --url=URL download from the Git repository at URL" +msgstr "" + +#: guix/scripts/pull.scm:84 +msgid "" +"\n" +" --commit=COMMIT download the specified COMMIT" +msgstr "" + +#: guix/scripts/pull.scm:86 +msgid "" +"\n" " --branch=BRANCH download the tip of the specified BRANCH" msgstr "" -#: guix/scripts/pull.scm:87 +#: guix/scripts/pull.scm:88 +msgid "" +"\n" +" -N, --news display news compared to the previous generation" +msgstr "" + +#: guix/scripts/pull.scm:93 #, scheme-format msgid "" "\n" " -p, --profile=PROFILE use PROFILE instead of ~/.config/guix/current" msgstr "" -#: guix/scripts/pull.scm:89 -msgid "" -"\n" -" -n, --dry-run show what would be pulled and built" -msgstr "" - -#: guix/scripts/pull.scm:91 +#: guix/scripts/pull.scm:99 msgid "" "\n" " --bootstrap use the bootstrap Guile to build the new Guix" msgstr "" -#: guix/scripts/pull.scm:165 +#: guix/scripts/pull.scm:196 msgid "New in this revision:\n" msgstr "" -#: guix/scripts/pull.scm:223 -#, scheme-format -msgid "Git error ~a~%" -msgstr "" - #: guix/scripts/pull.scm:225 #, scheme-format -msgid "Git error: ~a~%" +msgid "" +"After setting @code{PATH}, run\n" +"@command{hash guix} to make sure your shell refers to @file{~a}." msgstr "" #: guix/scripts/pull.scm:250 #, scheme-format +msgid "Git error ~a~%" +msgstr "" + +#: guix/scripts/pull.scm:252 guix/git.scm:306 +#, scheme-format +msgid "Git error: ~a~%" +msgstr "" + +#: guix/scripts/pull.scm:277 +#, scheme-format msgid "Migrating profile generations to '~a'...~%" msgstr "" -#: guix/scripts/pull.scm:285 +#: guix/scripts/pull.scm:312 #, scheme-format msgid "while creating symlink '~a': ~a~%" msgstr "" -#: guix/scripts/pull.scm:307 +#: guix/scripts/pull.scm:334 #, scheme-format msgid " repository URL: ~a~%" msgstr "" -#: guix/scripts/pull.scm:309 +#: guix/scripts/pull.scm:336 #, scheme-format msgid " branch: ~a~%" msgstr "" -#: guix/scripts/pull.scm:310 +#: guix/scripts/pull.scm:337 #, scheme-format msgid " commit: ~a~%" msgstr "" -#: guix/scripts/pull.scm:376 +#: guix/scripts/pull.scm:439 msgid " ~h new package: ~a~%" msgid_plural " ~h new packages: ~a~%" msgstr[0] "" msgstr[1] "" -#: guix/scripts/pull.scm:387 +#: guix/scripts/pull.scm:447 msgid " ~h package upgraded: ~a~%" msgid_plural " ~h packages upgraded: ~a~%" msgstr[0] "" msgstr[1] "" -#: guix/scripts/pull.scm:451 +#: guix/scripts/pull.scm:456 +msgid "" +"Run @command{guix pull --news} to view the complete\n" +"list of package changes." +msgstr "" + +#: guix/scripts/pull.scm:520 #, scheme-format msgid "'~a' did not return a list of channels~%" msgstr "" -#: guix/scripts/pull.scm:465 +#: guix/scripts/pull.scm:534 #, scheme-format msgid "" "The 'GUIX_PULL_URL' environment variable is deprecated.\n" "Use '~/.config/guix/channels.scm' instead." msgstr "" -#: guix/scripts/pull.scm:490 -#, scheme-format -msgid "'--url', '--commit', and '--branch' are not applicable~%" -msgstr "" - -#: guix/scripts/pull.scm:515 +#: guix/scripts/pull.scm:583 #, scheme-format msgid "Building from this channel:~%" msgid_plural "Building from these channels:~%" @@ -1344,50 +2313,50 @@ msgstr "" msgid "signature on '~a' is corrupt~%" msgstr "" -#: guix/scripts/substitute.scm:458 +#: guix/scripts/substitute.scm:467 #, scheme-format msgid "'~a' does not name a store item~%" msgstr "" -#: guix/scripts/substitute.scm:620 +#: guix/scripts/substitute.scm:629 #, scheme-format msgid "updating substitutes from '~a'... ~5,1f%" msgstr "" -#: guix/scripts/substitute.scm:684 +#: guix/scripts/substitute.scm:693 #, scheme-format msgid "~s: unsupported server URI scheme~%" msgstr "" -#: guix/scripts/substitute.scm:694 +#: guix/scripts/substitute.scm:703 #, scheme-format msgid "'~a' uses different store '~a'; ignoring it~%" msgstr "" -#: guix/scripts/substitute.scm:863 +#: guix/scripts/substitute.scm:872 #, scheme-format msgid "host name lookup error: ~a~%" msgstr "" -#: guix/scripts/substitute.scm:868 +#: guix/scripts/substitute.scm:877 #, scheme-format msgid "TLS error in procedure '~a': ~a~%" msgstr "" -#: guix/scripts/substitute.scm:879 +#: guix/scripts/substitute.scm:888 msgid "" "Usage: guix substitute [OPTION]...\n" "Internal tool to substitute a pre-built binary to a local build.\n" msgstr "" -#: guix/scripts/substitute.scm:881 +#: guix/scripts/substitute.scm:890 msgid "" "\n" " --query report on the availability of substitutes for the\n" " store file names passed on the standard input" msgstr "" -#: guix/scripts/substitute.scm:884 +#: guix/scripts/substitute.scm:893 msgid "" "\n" " --substitute STORE-FILE DESTINATION\n" @@ -1395,26 +2364,26 @@ msgid "" " DESTINATION" msgstr "" -#: guix/scripts/substitute.scm:949 +#: guix/scripts/substitute.scm:958 #, scheme-format msgid "no valid substitute for '~a'~%" msgstr "" -#: guix/scripts/substitute.scm:957 +#: guix/scripts/substitute.scm:966 #, scheme-format msgid "Downloading ~a...~%" msgstr "" -#: guix/scripts/substitute.scm:1019 +#: guix/scripts/substitute.scm:1028 msgid "ACL for archive imports seems to be uninitialized, substitutes may be unavailable\n" msgstr "" -#: guix/scripts/substitute.scm:1073 +#: guix/scripts/substitute.scm:1082 #, scheme-format msgid "~a: invalid URI~%" msgstr "" -#: guix/scripts/substitute.scm:1144 +#: guix/scripts/substitute.scm:1153 #, scheme-format msgid "~a: unrecognized options~%" msgstr "" @@ -1450,117 +2419,117 @@ msgstr "" msgid "wrong arguments" msgstr "" -#: guix/scripts/system.scm:148 +#: guix/scripts/system.scm:150 #, scheme-format msgid "failed to register '~a' under '~a'~%" msgstr "" -#: guix/scripts/system.scm:163 +#: guix/scripts/system.scm:165 #, scheme-format msgid "copying to '~a'..." msgstr "" -#: guix/scripts/system.scm:204 +#: guix/scripts/system.scm:206 #, scheme-format msgid "failed to install bootloader ~a~%" msgstr "" -#: guix/scripts/system.scm:224 +#: guix/scripts/system.scm:226 #, scheme-format msgid "initializing the current root file system~%" msgstr "" -#: guix/scripts/system.scm:238 +#: guix/scripts/system.scm:240 #, scheme-format msgid "not running as 'root', so the ownership of '~a' may be incorrect!~%" msgstr "" -#: guix/scripts/system.scm:290 +#: guix/scripts/system.scm:292 #, scheme-format msgid "while talking to shepherd: ~a~%" msgstr "" -#: guix/scripts/system.scm:297 +#: guix/scripts/system.scm:299 #, scheme-format msgid "service '~a' could not be found~%" msgstr "" -#: guix/scripts/system.scm:300 +#: guix/scripts/system.scm:302 #, scheme-format msgid "service '~a' does not have an action '~a'~%" msgstr "" -#: guix/scripts/system.scm:304 +#: guix/scripts/system.scm:306 #, scheme-format msgid "exception caught while executing '~a' on service '~a':~%" msgstr "" -#: guix/scripts/system.scm:312 +#: guix/scripts/system.scm:314 #, scheme-format msgid "something went wrong: ~s~%" msgstr "" -#: guix/scripts/system.scm:315 +#: guix/scripts/system.scm:317 #, scheme-format msgid "shepherd error~%" msgstr "" -#: guix/scripts/system.scm:332 +#: guix/scripts/system.scm:334 #, scheme-format msgid "failed to obtain list of shepherd services~%" msgstr "" -#: guix/scripts/system.scm:352 +#: guix/scripts/system.scm:354 #, scheme-format msgid "unloading service '~a'...~%" msgstr "" -#: guix/scripts/system.scm:361 +#: guix/scripts/system.scm:363 #, scheme-format msgid "loading new services:~{ ~a~}...~%" msgstr "" -#: guix/scripts/system.scm:366 +#: guix/scripts/system.scm:368 msgid "" "To complete the upgrade, run 'herd restart SERVICE' to stop,\n" "upgrade, and restart each service that was not automatically restarted.\n" msgstr "" -#: guix/scripts/system.scm:393 +#: guix/scripts/system.scm:395 #, scheme-format msgid "activating system...~%" msgstr "" -#: guix/scripts/system.scm:471 +#: guix/scripts/system.scm:473 #, scheme-format msgid "cannot switch to system generation '~a'~%" msgstr "" -#: guix/scripts/system.scm:542 +#: guix/scripts/system.scm:546 msgid "the DAG of services" msgstr "" -#: guix/scripts/system.scm:555 +#: guix/scripts/system.scm:559 msgid "the dependency graph of shepherd services" msgstr "" -#: guix/scripts/system.scm:579 +#: guix/scripts/system.scm:583 #, scheme-format msgid " file name: ~a~%" msgstr "" -#: guix/scripts/system.scm:580 +#: guix/scripts/system.scm:584 #, scheme-format msgid " canonical file name: ~a~%" msgstr "" #. TRANSLATORS: Please preserve the two-space indentation. -#: guix/scripts/system.scm:582 +#: guix/scripts/system.scm:586 #, scheme-format msgid " label: ~a~%" msgstr "" -#: guix/scripts/system.scm:583 +#: guix/scripts/system.scm:587 #, scheme-format msgid " bootloader: ~a~%" msgstr "" @@ -1573,146 +2542,151 @@ msgstr "" #. root device: label: "my-root" #. or just: #. root device: /dev/sda3 -#: guix/scripts/system.scm:593 +#: guix/scripts/system.scm:597 #, scheme-format msgid " root device: ~[UUID: ~a~;label: ~s~;~a~]~%" msgstr "" -#: guix/scripts/system.scm:604 +#: guix/scripts/system.scm:608 #, scheme-format msgid " kernel: ~a~%" msgstr "" -#: guix/scripts/system.scm:675 +#: guix/scripts/system.scm:679 #, scheme-format msgid "~a: error: device '~a' not found: ~a~%" msgstr "" -#: guix/scripts/system.scm:679 +#: guix/scripts/system.scm:683 #, scheme-format msgid "" "If '~a' is a file system\n" "label, write @code{(file-system-label ~s)} in your @code{device} field." msgstr "" -#: guix/scripts/system.scm:687 +#: guix/scripts/system.scm:691 #, scheme-format msgid "~a: error: file system with label '~a' not found~%" msgstr "" -#: guix/scripts/system.scm:692 +#: guix/scripts/system.scm:696 #, scheme-format msgid "~a: error: file system with UUID '~a' not found~%" msgstr "" -#: guix/scripts/system.scm:793 +#: guix/scripts/system.scm:797 #, scheme-format msgid "~a not found: 'guix pull' was never run~%" msgstr "" -#: guix/scripts/system.scm:794 +#: guix/scripts/system.scm:798 #, scheme-format msgid "Consider running 'guix pull' before 'reconfigure'.~%" msgstr "" -#: guix/scripts/system.scm:795 +#: guix/scripts/system.scm:799 #, scheme-format msgid "Failing to do that may downgrade your system!~%" msgstr "" -#: guix/scripts/system.scm:907 +#: guix/scripts/system.scm:920 #, scheme-format msgid "initializing operating system under '~a'...~%" msgstr "" -#: guix/scripts/system.scm:952 +#: guix/scripts/system.scm:965 msgid "" "Usage: guix system [OPTION ...] ACTION [ARG ...] [FILE]\n" "Build the operating system declared in FILE according to ACTION.\n" "Some ACTIONS support additional ARGS.\n" msgstr "" -#: guix/scripts/system.scm:956 guix/scripts/container.scm:29 +#: guix/scripts/system.scm:969 guix/scripts/container.scm:29 msgid "The valid values for ACTION are:\n" msgstr "" -#: guix/scripts/system.scm:958 +#: guix/scripts/system.scm:971 msgid " search search for existing service types\n" msgstr "" -#: guix/scripts/system.scm:960 +#: guix/scripts/system.scm:973 msgid " reconfigure switch to a new operating system configuration\n" msgstr "" -#: guix/scripts/system.scm:962 +#: guix/scripts/system.scm:975 msgid " roll-back switch to the previous operating system configuration\n" msgstr "" -#: guix/scripts/system.scm:964 -msgid " switch-generation switch to an existing operating system configuration\n" -msgstr "" - -#: guix/scripts/system.scm:966 +#: guix/scripts/system.scm:977 msgid " list-generations list the system generations\n" msgstr "" -#: guix/scripts/system.scm:968 +#: guix/scripts/system.scm:979 +msgid " switch-generation switch to an existing operating system configuration\n" +msgstr "" + +#: guix/scripts/system.scm:981 +msgid " delete-generations delete old system generations\n" +msgstr "" + +#: guix/scripts/system.scm:983 msgid " build build the operating system without installing anything\n" msgstr "" -#: guix/scripts/system.scm:970 +#: guix/scripts/system.scm:985 msgid " container build a container that shares the host's store\n" msgstr "" -#: guix/scripts/system.scm:972 +#: guix/scripts/system.scm:987 msgid " vm build a virtual machine image that shares the host's store\n" msgstr "" -#: guix/scripts/system.scm:974 +#: guix/scripts/system.scm:989 msgid " vm-image build a freestanding virtual machine image\n" msgstr "" -#: guix/scripts/system.scm:976 +#: guix/scripts/system.scm:991 msgid " disk-image build a disk image, suitable for a USB stick\n" msgstr "" -#: guix/scripts/system.scm:978 +#: guix/scripts/system.scm:993 msgid " docker-image build a Docker image\n" msgstr "" -#: guix/scripts/system.scm:980 +#: guix/scripts/system.scm:995 msgid " init initialize a root file system to run GNU\n" msgstr "" -#: guix/scripts/system.scm:982 +#: guix/scripts/system.scm:997 msgid " extension-graph emit the service extension graph in Dot format\n" msgstr "" -#: guix/scripts/system.scm:984 +#: guix/scripts/system.scm:999 msgid " shepherd-graph emit the graph of shepherd services in Dot format\n" msgstr "" -#: guix/scripts/system.scm:988 +#: guix/scripts/system.scm:1003 msgid "" "\n" " -d, --derivation return the derivation of the given system" msgstr "" -#: guix/scripts/system.scm:990 +#: guix/scripts/system.scm:1005 msgid "" "\n" " -e, --expression=EXPR consider the operating-system EXPR evaluates to\n" " instead of reading FILE, when applicable" msgstr "" -#: guix/scripts/system.scm:993 +#: guix/scripts/system.scm:1008 msgid "" "\n" " --on-error=STRATEGY\n" -" apply STRATEGY when an error occurs while reading FILE" +" apply STRATEGY (one of nothing-special, backtrace,\n" +" or debug) when an error occurs while reading FILE" msgstr "" -#: guix/scripts/system.scm:996 +#: guix/scripts/system.scm:1012 msgid "" "\n" " --file-system-type=TYPE\n" @@ -1720,25 +2694,25 @@ msgid "" " (one of 'ext4', 'iso9660')" msgstr "" -#: guix/scripts/system.scm:1000 +#: guix/scripts/system.scm:1016 msgid "" "\n" " --image-size=SIZE for 'vm-image', produce an image of SIZE" msgstr "" -#: guix/scripts/system.scm:1002 +#: guix/scripts/system.scm:1018 msgid "" "\n" " --no-bootloader for 'init', do not install a bootloader" msgstr "" -#: guix/scripts/system.scm:1004 +#: guix/scripts/system.scm:1020 msgid "" "\n" " --share=SPEC for 'vm', share host file system according to SPEC" msgstr "" -#: guix/scripts/system.scm:1006 +#: guix/scripts/system.scm:1022 msgid "" "\n" " -r, --root=FILE for 'vm', 'vm-image', 'disk-image', 'container',\n" @@ -1746,72 +2720,72 @@ msgid "" " register it as a garbage collector root" msgstr "" -#: guix/scripts/system.scm:1010 +#: guix/scripts/system.scm:1026 msgid "" "\n" " --expose=SPEC for 'vm', expose host file system according to SPEC" msgstr "" -#: guix/scripts/system.scm:1012 +#: guix/scripts/system.scm:1028 msgid "" "\n" " --full-boot for 'vm', make a full boot sequence" msgstr "" -#: guix/scripts/system.scm:1014 +#: guix/scripts/system.scm:1030 msgid "" "\n" " --skip-checks skip file system and initrd module safety checks" msgstr "" -#: guix/scripts/system.scm:1116 +#: guix/scripts/system.scm:1140 #, scheme-format msgid "both file and expression cannot be specified~%" msgstr "" -#: guix/scripts/system.scm:1123 +#: guix/scripts/system.scm:1147 #, scheme-format msgid "no configuration specified~%" msgstr "" -#: guix/scripts/system.scm:1224 +#: guix/scripts/system.scm:1257 #, scheme-format msgid "~a: unknown action~%" msgstr "" -#: guix/scripts/system.scm:1240 +#: guix/scripts/system.scm:1273 #, scheme-format msgid "wrong number of arguments for action '~a'~%" msgstr "" -#: guix/scripts/system.scm:1245 +#: guix/scripts/system.scm:1278 #, scheme-format msgid "guix system: missing command name~%" msgstr "" -#: guix/scripts/system.scm:1247 +#: guix/scripts/system.scm:1280 #, scheme-format msgid "Try 'guix system --help' for more information.~%" msgstr "" -#: guix/scripts/system/search.scm:88 guix/ui.scm:1205 guix/ui.scm:1219 +#: guix/scripts/system/search.scm:88 guix/ui.scm:1332 guix/ui.scm:1346 msgid "unknown" msgstr "" -#: guix/scripts/lint.scm:140 +#: guix/scripts/lint.scm:144 #, scheme-format msgid "Available checkers:~%" msgstr "" -#: guix/scripts/lint.scm:164 +#: guix/scripts/lint.scm:168 msgid "description should not be empty" msgstr "" -#: guix/scripts/lint.scm:174 +#: guix/scripts/lint.scm:178 msgid "Texinfo markup in description is invalid" msgstr "" -#: guix/scripts/lint.scm:184 +#: guix/scripts/lint.scm:188 #, scheme-format msgid "" "description should not contain ~\n" @@ -1820,296 +2794,313 @@ msgstr "" #. TRANSLATORS: '@code' is Texinfo markup and must be kept #. as is. -#: guix/scripts/lint.scm:197 +#: guix/scripts/lint.scm:201 msgid "use @code or similar ornament instead of quotes" msgstr "" -#: guix/scripts/lint.scm:204 +#: guix/scripts/lint.scm:208 msgid "description should start with an upper-case letter or digit" msgstr "" -#: guix/scripts/lint.scm:220 +#: guix/scripts/lint.scm:224 #, scheme-format msgid "" "sentences in description should be followed ~\n" "by two spaces; possible infraction~p at ~{~a~^, ~}" msgstr "" -#: guix/scripts/lint.scm:238 +#: guix/scripts/lint.scm:242 #, scheme-format msgid "invalid description: ~s" msgstr "" -#: guix/scripts/lint.scm:283 +#: guix/scripts/lint.scm:287 #, scheme-format msgid "'~a' should probably be a native input" msgstr "" -#: guix/scripts/lint.scm:299 +#: guix/scripts/lint.scm:303 #, scheme-format msgid "'~a' should probably not be an input at all" msgstr "" -#: guix/scripts/lint.scm:316 +#: guix/scripts/lint.scm:320 msgid "synopsis should not be empty" msgstr "" -#: guix/scripts/lint.scm:324 +#: guix/scripts/lint.scm:328 msgid "no period allowed at the end of the synopsis" msgstr "" -#: guix/scripts/lint.scm:336 +#: guix/scripts/lint.scm:340 msgid "no article allowed at the beginning of the synopsis" msgstr "" -#: guix/scripts/lint.scm:343 +#: guix/scripts/lint.scm:347 msgid "synopsis should be less than 80 characters long" msgstr "" -#: guix/scripts/lint.scm:349 +#: guix/scripts/lint.scm:353 msgid "synopsis should start with an upper-case letter or digit" msgstr "" -#: guix/scripts/lint.scm:356 +#: guix/scripts/lint.scm:360 msgid "synopsis should not start with the package name" msgstr "" -#: guix/scripts/lint.scm:366 +#: guix/scripts/lint.scm:370 msgid "Texinfo markup in synopsis is invalid" msgstr "" -#: guix/scripts/lint.scm:385 +#: guix/scripts/lint.scm:389 #, scheme-format msgid "invalid synopsis: ~s" msgstr "" -#: guix/scripts/lint.scm:504 +#: guix/scripts/lint.scm:508 #, scheme-format msgid "URI ~a returned suspiciously small file (~a bytes)" msgstr "" -#: guix/scripts/lint.scm:514 +#: guix/scripts/lint.scm:518 #, scheme-format msgid "permanent redirect from ~a to ~a" msgstr "" -#: guix/scripts/lint.scm:521 +#: guix/scripts/lint.scm:525 #, scheme-format msgid "invalid permanent redirect from ~a" msgstr "" -#: guix/scripts/lint.scm:528 guix/scripts/lint.scm:540 +#: guix/scripts/lint.scm:532 guix/scripts/lint.scm:544 #, scheme-format msgid "URI ~a not reachable: ~a (~s)" msgstr "" -#: guix/scripts/lint.scm:547 +#: guix/scripts/lint.scm:551 #, scheme-format msgid "URI ~a domain not found: ~a" msgstr "" -#: guix/scripts/lint.scm:555 +#: guix/scripts/lint.scm:559 #, scheme-format msgid "URI ~a unreachable: ~a" msgstr "" -#: guix/scripts/lint.scm:564 +#: guix/scripts/lint.scm:568 #, scheme-format msgid "TLS certificate error: ~a" msgstr "" -#: guix/scripts/lint.scm:585 +#: guix/scripts/lint.scm:589 msgid "invalid value for home page" msgstr "" -#: guix/scripts/lint.scm:588 +#: guix/scripts/lint.scm:592 #, scheme-format msgid "invalid home page URL: ~s" msgstr "" -#: guix/scripts/lint.scm:614 +#: guix/scripts/lint.scm:619 msgid "file names of patches should start with the package name" msgstr "" -#: guix/scripts/lint.scm:630 +#: guix/scripts/lint.scm:635 #, scheme-format msgid "~a: file name is too long" msgstr "" -#: guix/scripts/lint.scm:671 +#: guix/scripts/lint.scm:676 #, scheme-format msgid "~a: ~a: proposed synopsis: ~s~%" msgstr "" -#: guix/scripts/lint.scm:684 +#: guix/scripts/lint.scm:689 #, scheme-format msgid "~a: ~a: proposed description:~% \"~a\"~%" msgstr "" -#: guix/scripts/lint.scm:726 +#: guix/scripts/lint.scm:731 msgid "all the source URIs are unreachable:" msgstr "" -#: guix/scripts/lint.scm:748 +#: guix/scripts/lint.scm:753 msgid "the source file name should contain the package name" msgstr "" -#: guix/scripts/lint.scm:764 +#: guix/scripts/lint.scm:765 +msgid "the source URI should not be an autogenerated tarball" +msgstr "" + +#: guix/scripts/lint.scm:786 #, scheme-format msgid "URL should be 'mirror://~a/~a'" msgstr "" -#: guix/scripts/lint.scm:783 guix/scripts/lint.scm:788 +#: guix/scripts/lint.scm:829 +#, scheme-format +msgid "URL should be '~a'" +msgstr "" + +#: guix/scripts/lint.scm:840 guix/scripts/lint.scm:845 #, scheme-format msgid "failed to create ~a derivation: ~a" msgstr "" -#: guix/scripts/lint.scm:805 +#: guix/scripts/lint.scm:862 #, scheme-format msgid "failed to create ~a derivation: ~s" msgstr "" -#: guix/scripts/lint.scm:817 +#: guix/scripts/lint.scm:874 msgid "invalid license field" msgstr "" -#: guix/scripts/lint.scm:824 +#: guix/scripts/lint.scm:881 #, scheme-format msgid "~a: HTTP GET error for ~a: ~a (~s)~%" msgstr "" -#: guix/scripts/lint.scm:834 +#: guix/scripts/lint.scm:891 #, scheme-format msgid "~a: host lookup failure: ~a~%" msgstr "" -#: guix/scripts/lint.scm:839 +#: guix/scripts/lint.scm:896 #, scheme-format msgid "~a: TLS certificate error: ~a" msgstr "" -#: guix/scripts/lint.scm:854 +#: guix/scripts/lint.scm:911 msgid "while retrieving CVE vulnerabilities" msgstr "" -#: guix/scripts/lint.scm:891 +#: guix/scripts/lint.scm:948 #, scheme-format msgid "probably vulnerable to ~a" msgstr "" -#: guix/scripts/lint.scm:898 +#: guix/scripts/lint.scm:955 #, scheme-format msgid "while retrieving upstream info for '~a'" msgstr "" -#: guix/scripts/lint.scm:906 +#: guix/scripts/lint.scm:963 #, scheme-format msgid "can be upgraded to ~a" msgstr "" -#: guix/scripts/lint.scm:921 +#: guix/scripts/lint.scm:978 #, scheme-format msgid "tabulation on line ~a, column ~a" msgstr "" -#: guix/scripts/lint.scm:930 +#: guix/scripts/lint.scm:987 #, scheme-format msgid "trailing white space on line ~a" msgstr "" -#: guix/scripts/lint.scm:940 +#: guix/scripts/lint.scm:997 #, scheme-format msgid "line ~a is way too long (~a characters)" msgstr "" -#: guix/scripts/lint.scm:951 +#: guix/scripts/lint.scm:1008 #, scheme-format msgid "line ~a: parentheses feel lonely, move to the previous or next line" msgstr "" -#: guix/scripts/lint.scm:1021 +#: guix/scripts/lint.scm:1078 msgid "Validate package descriptions" msgstr "" -#: guix/scripts/lint.scm:1025 +#: guix/scripts/lint.scm:1082 msgid "Validate synopsis & description of GNU packages" msgstr "" -#: guix/scripts/lint.scm:1029 +#: guix/scripts/lint.scm:1086 msgid "Identify inputs that should be native inputs" msgstr "" -#: guix/scripts/lint.scm:1033 +#: guix/scripts/lint.scm:1090 msgid "Identify inputs that shouldn't be inputs at all" msgstr "" -#: guix/scripts/lint.scm:1037 +#: guix/scripts/lint.scm:1094 msgid "Validate file names and availability of patches" msgstr "" -#: guix/scripts/lint.scm:1041 +#: guix/scripts/lint.scm:1098 msgid "Validate home-page URLs" msgstr "" #. TRANSLATORS: is the name of a data type and must not be #. translated. -#: guix/scripts/lint.scm:1047 +#: guix/scripts/lint.scm:1104 msgid "Make sure the 'license' field is a or a list thereof" msgstr "" -#: guix/scripts/lint.scm:1052 +#: guix/scripts/lint.scm:1109 msgid "Validate source URLs" msgstr "" -#: guix/scripts/lint.scm:1056 +#: guix/scripts/lint.scm:1113 msgid "Suggest 'mirror://' URLs" msgstr "" -#: guix/scripts/lint.scm:1060 +#: guix/scripts/lint.scm:1117 +msgid "Suggest GitHub URLs" +msgstr "" + +#: guix/scripts/lint.scm:1121 msgid "Validate file names of sources" msgstr "" -#: guix/scripts/lint.scm:1064 +#: guix/scripts/lint.scm:1125 +msgid "Check for autogenerated tarballs" +msgstr "" + +#: guix/scripts/lint.scm:1129 msgid "Report failure to compile a package to a derivation" msgstr "" -#: guix/scripts/lint.scm:1068 +#: guix/scripts/lint.scm:1133 msgid "Validate package synopses" msgstr "" -#: guix/scripts/lint.scm:1072 +#: guix/scripts/lint.scm:1137 msgid "Check the Common Vulnerabilities and Exposures (CVE) database" msgstr "" -#: guix/scripts/lint.scm:1077 +#: guix/scripts/lint.scm:1142 msgid "Check the package for new upstream releases" msgstr "" -#: guix/scripts/lint.scm:1081 +#: guix/scripts/lint.scm:1146 msgid "Look for formatting issues in the source" msgstr "" -#: guix/scripts/lint.scm:1109 +#: guix/scripts/lint.scm:1174 msgid "" "Usage: guix lint [OPTION]... [PACKAGE]...\n" "Run a set of checkers on the specified package; if none is specified,\n" "run the checkers on all packages.\n" msgstr "" -#: guix/scripts/lint.scm:1112 +#: guix/scripts/lint.scm:1177 msgid "" "\n" " -c, --checkers=CHECKER1,CHECKER2...\n" " only run the specified checkers" msgstr "" -#: guix/scripts/lint.scm:1117 +#: guix/scripts/lint.scm:1182 msgid "" "\n" " -l, --list-checkers display the list of available lint checkers" msgstr "" -#: guix/scripts/lint.scm:1137 +#: guix/scripts/lint.scm:1202 #, scheme-format msgid "~a: invalid checker~%" msgstr "" @@ -2208,60 +3199,55 @@ msgstr "" msgid "~a: invalid duration~%" msgstr "" -#: guix/scripts/publish.scm:869 +#: guix/scripts/publish.scm:876 #, scheme-format msgid "user '~a' not found: ~a~%" msgstr "" -#: guix/scripts/publish.scm:910 +#: guix/scripts/publish.scm:917 #, scheme-format msgid "server running as root; consider using the '--user' option!~%" msgstr "" -#: guix/scripts/publish.scm:915 +#: guix/scripts/publish.scm:922 #, scheme-format msgid "publishing ~a on ~a, port ~d~%" msgstr "" -#: guix/scripts/edit.scm:41 +#: guix/scripts/edit.scm:40 msgid "" "Usage: guix edit PACKAGE...\n" "Start $VISUAL or $EDITOR to edit the definitions of PACKAGE...\n" msgstr "" -#: guix/scripts/edit.scm:62 +#: guix/scripts/edit.scm:61 #, scheme-format msgid "file '~a' not found in search path ~s~%" msgstr "" -#: guix/scripts/edit.scm:90 -#, scheme-format -msgid "source location of package '~a' is unknown~%" -msgstr "" - -#: guix/scripts/edit.scm:103 +#: guix/scripts/edit.scm:96 #, scheme-format msgid "failed to launch '~a': ~a~%" msgstr "" -#: guix/scripts/size.scm:68 +#: guix/scripts/size.scm:69 #, scheme-format msgid "no available substitute information for '~a'~%" msgstr "" -#: guix/scripts/size.scm:90 +#: guix/scripts/size.scm:91 msgid "store item" msgstr "" -#: guix/scripts/size.scm:90 +#: guix/scripts/size.scm:91 msgid "total" msgstr "" -#: guix/scripts/size.scm:90 +#: guix/scripts/size.scm:91 msgid "self" msgstr "" -#: guix/scripts/size.scm:98 +#: guix/scripts/size.scm:99 #, scheme-format msgid "total: ~,1f MiB~%" msgstr "" @@ -2269,155 +3255,159 @@ msgstr "" #. TRANSLATORS: This is the title of a graph, meaning that the graph #. represents a profile of the store (the "store" being the place where #. packages are stored.) -#: guix/scripts/size.scm:212 +#: guix/scripts/size.scm:222 msgid "store profile" msgstr "" -#: guix/scripts/size.scm:221 +#: guix/scripts/size.scm:231 msgid "" "Usage: guix size [OPTION]... PACKAGE\n" "Report the size of PACKAGE and its dependencies.\n" msgstr "" -#: guix/scripts/size.scm:226 +#: guix/scripts/size.scm:236 msgid "" "\n" " -s, --system=SYSTEM consider packages for SYSTEM--e.g., \"i686-linux\"" msgstr "" #. TRANSLATORS: "closure" and "self" must not be translated. -#: guix/scripts/size.scm:229 +#: guix/scripts/size.scm:239 msgid "" "\n" " --sort=KEY sort according to KEY--\"closure\" or \"self\"" msgstr "" -#: guix/scripts/size.scm:231 +#: guix/scripts/size.scm:241 msgid "" "\n" " -m, --map-file=FILE write to FILE a graphical map of disk usage" msgstr "" -#: guix/scripts/size.scm:262 +#: guix/scripts/size.scm:272 #, scheme-format msgid "~a: invalid sorting key~%" msgstr "" -#: guix/scripts/size.scm:297 +#: guix/scripts/size.scm:307 msgid "missing store item argument\n" msgstr "" -#: guix/scripts/graph.scm:87 +#: guix/scripts/graph.scm:88 #, scheme-format msgid "~a: invalid argument (package name expected)" msgstr "" -#: guix/scripts/graph.scm:98 +#: guix/scripts/graph.scm:99 msgid "the DAG of packages, excluding implicit inputs" msgstr "" -#: guix/scripts/graph.scm:124 +#: guix/scripts/graph.scm:135 msgid "the reverse DAG of packages" msgstr "" -#: guix/scripts/graph.scm:174 +#: guix/scripts/graph.scm:185 msgid "the DAG of packages, including implicit inputs" msgstr "" -#: guix/scripts/graph.scm:184 +#: guix/scripts/graph.scm:195 msgid "the DAG of packages and origins, including implicit inputs" msgstr "" -#: guix/scripts/graph.scm:214 +#: guix/scripts/graph.scm:225 msgid "same as 'bag', but without the bootstrap nodes" msgstr "" -#: guix/scripts/graph.scm:256 +#: guix/scripts/graph.scm:242 +msgid "the reverse DAG of packages, including implicit inputs" +msgstr "" + +#: guix/scripts/graph.scm:282 msgid "the DAG of derivations" msgstr "" -#: guix/scripts/graph.scm:268 +#: guix/scripts/graph.scm:294 msgid "unsupported argument for derivation graph" msgstr "" -#: guix/scripts/graph.scm:294 +#: guix/scripts/graph.scm:320 msgid "unsupported argument for this type of graph" msgstr "" -#: guix/scripts/graph.scm:307 +#: guix/scripts/graph.scm:333 #, scheme-format msgid "references for '~a' are not known~%" msgstr "" -#: guix/scripts/graph.scm:314 +#: guix/scripts/graph.scm:340 msgid "the DAG of run-time dependencies (store references)" msgstr "" -#: guix/scripts/graph.scm:330 +#: guix/scripts/graph.scm:356 msgid "the DAG of referrers in the store" msgstr "" -#: guix/scripts/graph.scm:360 +#: guix/scripts/graph.scm:386 msgid "the graph of package modules" msgstr "" -#: guix/scripts/graph.scm:388 +#: guix/scripts/graph.scm:415 #, scheme-format msgid "~a: unknown node type~%" msgstr "" -#: guix/scripts/graph.scm:395 +#: guix/scripts/graph.scm:422 #, scheme-format msgid "~a: unknown backend~%" msgstr "" -#: guix/scripts/graph.scm:399 +#: guix/scripts/graph.scm:426 msgid "The available node types are:\n" msgstr "" -#: guix/scripts/graph.scm:409 +#: guix/scripts/graph.scm:436 msgid "The available backend types are:\n" msgstr "" #. TRANSLATORS: Here 'dot' is the name of a program; it must not be #. translated. -#: guix/scripts/graph.scm:457 +#: guix/scripts/graph.scm:484 msgid "" "Usage: guix graph PACKAGE...\n" "Emit a representation of the dependency graph of PACKAGE...\n" msgstr "" -#: guix/scripts/graph.scm:459 +#: guix/scripts/graph.scm:486 msgid "" "\n" " -b, --backend=TYPE produce a graph with the given backend TYPE" msgstr "" -#: guix/scripts/graph.scm:461 +#: guix/scripts/graph.scm:488 msgid "" "\n" " --list-backends list the available graph backends" msgstr "" -#: guix/scripts/graph.scm:463 +#: guix/scripts/graph.scm:490 msgid "" "\n" " -t, --type=TYPE represent nodes of the given TYPE" msgstr "" -#: guix/scripts/graph.scm:465 +#: guix/scripts/graph.scm:492 msgid "" "\n" " --list-types list the available graph types" msgstr "" -#: guix/scripts/graph.scm:467 guix/scripts/pack.scm:710 +#: guix/scripts/graph.scm:494 guix/scripts/pack.scm:752 msgid "" "\n" " -e, --expression=EXPR consider the package EXPR evaluates to" msgstr "" -#: guix/scripts/graph.scm:469 +#: guix/scripts/graph.scm:496 msgid "" "\n" " -s, --system=SYSTEM consider the graph for SYSTEM--e.g., \"i686-linux\"" @@ -2493,473 +3483,524 @@ msgid "" " -v, --verbose show details about successful comparisons" msgstr "" -#: guix/scripts/copy.scm:59 +#: guix/scripts/copy.scm:60 #, scheme-format msgid "~a: invalid TCP port number~%" msgstr "" -#: guix/scripts/copy.scm:61 +#: guix/scripts/copy.scm:62 #, scheme-format msgid "~a: invalid SSH specification~%" msgstr "" -#: guix/scripts/copy.scm:113 +#: guix/scripts/copy.scm:114 msgid "" "Usage: guix copy [OPTION]... ITEMS...\n" "Copy ITEMS to or from the specified host over SSH.\n" msgstr "" -#: guix/scripts/copy.scm:115 +#: guix/scripts/copy.scm:116 msgid "" "\n" " --to=HOST send ITEMS to HOST" msgstr "" -#: guix/scripts/copy.scm:117 +#: guix/scripts/copy.scm:118 msgid "" "\n" " --from=HOST receive ITEMS from HOST" msgstr "" -#: guix/scripts/copy.scm:169 +#: guix/scripts/copy.scm:182 #, scheme-format msgid "use '--to' or '--from'~%" msgstr "" -#: guix/scripts/pack.scm:93 +#: guix/scripts/pack.scm:95 #, scheme-format msgid "~a: compressor not found~%" msgstr "" -#: guix/scripts/pack.scm:504 +#: guix/scripts/pack.scm:513 #, scheme-format msgid "" "cross-compilation not implemented here;\n" "please email '~a'~%" msgstr "" -#: guix/scripts/pack.scm:615 +#: guix/scripts/pack.scm:644 msgid "The supported formats for 'guix pack' are:" msgstr "" -#: guix/scripts/pack.scm:617 +#: guix/scripts/pack.scm:646 msgid "" "\n" " tarball Self-contained tarball, ready to run on another machine" msgstr "" -#: guix/scripts/pack.scm:619 +#: guix/scripts/pack.scm:648 msgid "" "\n" " squashfs Squashfs image suitable for Singularity" msgstr "" -#: guix/scripts/pack.scm:621 +#: guix/scripts/pack.scm:650 msgid "" "\n" " docker Tarball ready for 'docker load'" msgstr "" -#: guix/scripts/pack.scm:678 +#: guix/scripts/pack.scm:712 #, scheme-format msgid "~a: invalid symlink specification~%" msgstr "" -#: guix/scripts/pack.scm:689 +#: guix/scripts/pack.scm:726 #, scheme-format msgid "~a: unsupported profile name~%" msgstr "" -#: guix/scripts/pack.scm:698 +#: guix/scripts/pack.scm:740 msgid "" "Usage: guix pack [OPTION]... PACKAGE...\n" "Create a bundle of PACKAGE.\n" msgstr "" -#: guix/scripts/pack.scm:704 +#: guix/scripts/pack.scm:746 msgid "" "\n" " -f, --format=FORMAT build a pack in the given FORMAT" msgstr "" -#: guix/scripts/pack.scm:706 +#: guix/scripts/pack.scm:748 msgid "" "\n" " --list-formats list the formats available" msgstr "" -#: guix/scripts/pack.scm:708 +#: guix/scripts/pack.scm:750 msgid "" "\n" " -R, --relocatable produce relocatable executables" msgstr "" -#: guix/scripts/pack.scm:716 +#: guix/scripts/pack.scm:758 msgid "" "\n" " -C, --compression=TOOL compress using TOOL--e.g., \"lzip\"" msgstr "" -#: guix/scripts/pack.scm:718 +#: guix/scripts/pack.scm:760 msgid "" "\n" " -S, --symlink=SPEC create symlinks to the profile according to SPEC" msgstr "" -#: guix/scripts/pack.scm:720 +#: guix/scripts/pack.scm:762 msgid "" "\n" " -m, --manifest=FILE create a pack with the manifest from FILE" msgstr "" -#: guix/scripts/pack.scm:722 +#: guix/scripts/pack.scm:764 +msgid "" +"\n" +" --save-provenance save provenance information" +msgstr "" + +#: guix/scripts/pack.scm:766 msgid "" "\n" " --localstatedir include /var/guix in the resulting pack" msgstr "" -#: guix/scripts/pack.scm:724 +#: guix/scripts/pack.scm:768 msgid "" "\n" " --profile-name=NAME\n" " populate /var/guix/profiles/.../NAME" msgstr "" -#: guix/scripts/pack.scm:727 +#: guix/scripts/pack.scm:773 msgid "" "\n" " --bootstrap use the bootstrap binaries to build the pack" msgstr "" -#: guix/scripts/pack.scm:769 +#: guix/scripts/pack.scm:818 +#, scheme-format +msgid "could not determine provenance of package ~a~%" +msgstr "" + +#: guix/scripts/pack.scm:827 #, scheme-format msgid "both a manifest and a package list were given~%" msgstr "" -#: guix/scripts/pack.scm:814 +#: guix/scripts/pack.scm:882 #, scheme-format msgid "~a: unknown pack format~%" msgstr "" -#: guix/scripts/weather.scm:73 +#: guix/scripts/weather.scm:80 msgid "computing ~h package derivations for ~a...~%" msgstr "" -#: guix/scripts/weather.scm:162 +#: guix/scripts/weather.scm:169 msgid "looking for ~h store items on ~a...~%" msgstr "" -#: guix/scripts/weather.scm:174 +#: guix/scripts/weather.scm:181 msgid " ~2,1f% substitutes available (~h out of ~h)~%" msgstr "" -#: guix/scripts/weather.scm:180 +#: guix/scripts/weather.scm:187 #, scheme-format msgid " unknown substitute sizes~%" msgstr "" -#: guix/scripts/weather.scm:183 +#: guix/scripts/weather.scm:190 msgid " ~,1h MiB of nars (compressed)~%" msgstr "" -#: guix/scripts/weather.scm:184 +#: guix/scripts/weather.scm:191 msgid " at least ~,1h MiB of nars (compressed)~%" msgstr "" -#: guix/scripts/weather.scm:186 +#: guix/scripts/weather.scm:193 msgid " ~,1h MiB on disk (uncompressed)~%" msgstr "" -#: guix/scripts/weather.scm:188 +#: guix/scripts/weather.scm:195 msgid " ~,3h seconds per request (~,1h seconds in total)~%" msgstr "" -#: guix/scripts/weather.scm:190 +#: guix/scripts/weather.scm:197 msgid " ~,1h requests per second~%" msgstr "" -#: guix/scripts/weather.scm:196 +#: guix/scripts/weather.scm:203 #, scheme-format msgid " (continuous integration information unavailable)~%" msgstr "" -#: guix/scripts/weather.scm:199 +#: guix/scripts/weather.scm:206 #, scheme-format msgid " '~a' returned ~a (~s)~%" msgstr "" -#: guix/scripts/weather.scm:216 +#: guix/scripts/weather.scm:223 msgid " ~,1f% (~h out of ~h) of the missing items are queued~%" msgstr "" -#: guix/scripts/weather.scm:222 +#: guix/scripts/weather.scm:229 msgid " at least ~h queued builds~%" msgstr "" -#: guix/scripts/weather.scm:223 +#: guix/scripts/weather.scm:230 msgid " ~h queued builds~%" msgstr "" -#: guix/scripts/weather.scm:226 +#: guix/scripts/weather.scm:233 #, scheme-format msgid " ~a: ~a (~0,1f%)~%" msgstr "" -#: guix/scripts/weather.scm:232 +#: guix/scripts/weather.scm:239 #, scheme-format msgid " build rate: ~1,2f builds per hour~%" msgstr "" -#: guix/scripts/weather.scm:236 +#: guix/scripts/weather.scm:243 #, scheme-format msgid " ~a: ~,2f builds per hour~%" msgstr "" -#: guix/scripts/weather.scm:248 +#: guix/scripts/weather.scm:255 msgid "" "Usage: guix weather [OPTIONS]\n" "Report the availability of substitutes.\n" msgstr "" -#: guix/scripts/weather.scm:250 +#: guix/scripts/weather.scm:257 msgid "" "\n" " --substitute-urls=URLS\n" " check for available substitutes at URLS" msgstr "" -#: guix/scripts/weather.scm:253 +#: guix/scripts/weather.scm:260 msgid "" "\n" " -m, --manifest=MANIFEST\n" " look up substitutes for packages specified in MANIFEST" msgstr "" -#: guix/scripts/weather.scm:256 +#: guix/scripts/weather.scm:263 +msgid "" +"\n" +" -c, --coverage[=COUNT]\n" +" show substitute coverage for packages with at least\n" +" COUNT dependents" +msgstr "" + +#: guix/scripts/weather.scm:267 msgid "" "\n" " -s, --system=SYSTEM consider substitutes for SYSTEM--e.g., \"i686-linux\"" msgstr "" -#: guix/scripts/weather.scm:280 +#: guix/scripts/weather.scm:291 #, scheme-format msgid "~a: invalid URL~%" msgstr "" -#: guix/scripts/describe.scm:45 +#: guix/scripts/weather.scm:420 +#, scheme-format +msgid "The following ~a package is missing from '~a' for '~a':~%" +msgid_plural "The following ~a packages are missing from '~a' for '~a':~%" +msgstr[0] "" +msgstr[1] "" + +#: guix/scripts/weather.scm:426 +#, scheme-format +msgid "~a package is missing from '~a' for '~a':~%" +msgid_plural "~a packages are missing from '~a' for '~a', among which:~%" +msgstr[0] "" +msgstr[1] "" + +#: guix/scripts/describe.scm:46 #, scheme-format msgid "~a: unsupported output format~%" msgstr "" -#: guix/scripts/describe.scm:64 +#: guix/scripts/describe.scm:65 msgid "" "Usage: guix describe [OPTION]...\n" "Display information about the channels currently in use.\n" msgstr "" -#: guix/scripts/describe.scm:66 +#: guix/scripts/describe.scm:67 msgid "" "\n" " -f, --format=FORMAT display information in the given FORMAT" msgstr "" -#: guix/scripts/describe.scm:68 +#: guix/scripts/describe.scm:69 msgid "" "\n" " -p, --profile=PROFILE display information about PROFILE" msgstr "" -#: guix/scripts/describe.scm:87 +#: guix/scripts/describe.scm:88 #, scheme-format msgid "~%;; warning: GUIX_PACKAGE_PATH=\"~a\"~%" msgstr "" -#: guix/scripts/describe.scm:115 +#: guix/scripts/describe.scm:91 +#, scheme-format +msgid "'GUIX_PACKAGE_PATH' is set but it is not captured~%" +msgstr "" + +#: guix/scripts/describe.scm:118 #, scheme-format msgid "failed to determine origin~%" msgstr "" -#: guix/scripts/describe.scm:121 +#: guix/scripts/describe.scm:119 +#, scheme-format +msgid "" +"Perhaps this\n" +"@command{guix} command was not obtained with @command{guix pull}? Its version\n" +"string is ~a.~%" +msgstr "" + +#: guix/scripts/describe.scm:129 #, scheme-format msgid "Git checkout:~%" msgstr "" -#: guix/scripts/describe.scm:122 +#: guix/scripts/describe.scm:130 #, scheme-format msgid " repository: ~a~%" msgstr "" -#: guix/scripts/describe.scm:123 +#: guix/scripts/describe.scm:131 #, scheme-format msgid " branch: ~a~%" msgstr "" -#: guix/scripts/describe.scm:124 +#: guix/scripts/describe.scm:132 #, scheme-format msgid " commit: ~a~%" msgstr "" -#: guix/scripts/processes.scm:197 +#: guix/scripts/processes.scm:211 msgid "" "Usage: guix processes\n" "List the current Guix sessions and their processes." msgstr "" +"Användning: guix processes\n" +"Lista aktuella Guix-sessioner och deras processer." -#: guix/gnu-maintenance.scm:661 +#: guix/gnu-maintenance.scm:660 msgid "Updater for GNU packages" -msgstr "" +msgstr "Uppdaterar för GNU-paket" -#: guix/gnu-maintenance.scm:670 +#: guix/gnu-maintenance.scm:669 msgid "Updater for GNU packages only available via FTP" -msgstr "" +msgstr "Uppdaterare för GNU-paket som bara är tillgängliga via FTP" -#: guix/gnu-maintenance.scm:679 +#: guix/gnu-maintenance.scm:678 msgid "Updater for KDE packages" -msgstr "" +msgstr "Uppdaterare för KDE-paket" -#: guix/gnu-maintenance.scm:686 +#: guix/gnu-maintenance.scm:685 msgid "Updater for X.org packages" -msgstr "" +msgstr "Uppdaterare för X.org-paket" -#: guix/gnu-maintenance.scm:693 +#: guix/gnu-maintenance.scm:692 msgid "Updater for packages hosted on kernel.org" -msgstr "" +msgstr "Uppdaterare för paket som finns på kernel.org" #: guix/scripts/container.scm:26 msgid "" "Usage: guix container ACTION ARGS...\n" "Build and manipulate Linux containers.\n" msgstr "" +"Användning: guix container ÅTGÄRD ARGUMENT…\n" +"Bygg och manipulera Linux-behållare.\n" #: guix/scripts/container.scm:31 msgid " exec execute a command inside of an existing container\n" -msgstr "" +msgstr " exec kör ett kommando inut en existerande behållare\n" #: guix/scripts/container.scm:54 #, scheme-format msgid "guix container: missing action~%" -msgstr "" +msgstr "guix container: saknar åtgärd~%" #: guix/scripts/container.scm:64 #, scheme-format msgid "guix container: invalid action~%" -msgstr "" +msgstr "guix container: ogiltig åtgärd~%" #: guix/scripts/container/exec.scm:40 msgid "" "Usage: guix container exec PID COMMAND [ARGS...]\n" "Execute COMMMAND within the container process PID.\n" msgstr "" +"Användning: guix container exec PID KOMMANDO [ARGUMENT…]\n" +"Kör KOMMANDO inuti behållarprocess PID.\n" #: guix/scripts/container/exec.scm:69 #, scheme-format msgid "~a: extraneous argument~%" -msgstr "" +msgstr "~a: främmande argument~%" #: guix/scripts/container/exec.scm:87 #, scheme-format msgid "no pid specified~%" -msgstr "" +msgstr "ingen pid angiven~%" #: guix/scripts/container/exec.scm:90 #, scheme-format msgid "no command specified~%" -msgstr "" +msgstr "inget kommando angivet~%" #: guix/scripts/container/exec.scm:93 #, scheme-format msgid "no such process ~d~%" -msgstr "" +msgstr "ingen sådan process ~d~%" #: guix/scripts/container/exec.scm:105 #, scheme-format msgid "exec failed with status ~d~%" -msgstr "" +msgstr "exec misslyckades med status ~d~%" -#: guix/upstream.scm:250 +#: guix/upstream.scm:327 #, scheme-format msgid "signature verification failed for `~a'~%" -msgstr "" +msgstr "signaturverifiering misslyckades för ”~a”~%" -#: guix/upstream.scm:252 +#: guix/upstream.scm:329 #, scheme-format msgid "(could be because the public key is not in your keyring)~%" -msgstr "" +msgstr "(kan vara för att den publika nyckeln inte finns i din nyckelring)~%" -#: guix/upstream.scm:337 +#: guix/upstream.scm:397 +#, scheme-format +msgid "cannot download for this method: ~s" +msgstr "kan inte hämta med denna metod: ~s" + +#: guix/upstream.scm:460 #, scheme-format msgid "~a: could not locate source file" -msgstr "" +msgstr "~a: kunde inte hitta källfil" -#: guix/upstream.scm:342 +#: guix/upstream.scm:465 #, scheme-format msgid "~a: ~a: no `version' field in source; skipping~%" -msgstr "" +msgstr "~a: ~a: inget ”version”-fält i källa; hoppar över~%" -#: guix/ui.scm:175 +#. TRANSLATORS: The goal is to emit "warning:" followed by a short phrase; +#. "~a" is a placeholder for that phrase. +#: guix/ui.scm:205 +msgid "warning: " +msgstr "varning: " + +#: guix/ui.scm:207 +msgid "error: " +msgstr "fel: " + +#: guix/ui.scm:254 #, scheme-format msgid "error: ~a: unbound variable" -msgstr "" +msgstr "fel: ~a: obunden variabel" -#: guix/ui.scm:271 +#: guix/ui.scm:350 msgid "entering debugger; type ',bt' for a backtrace\n" -msgstr "" +msgstr "går in i felsökare; skriv ”,bt” för en bakåtspårning\n" -#: guix/ui.scm:320 -#, scheme-format -msgid "hint: ~a~%" -msgstr "" +#: guix/ui.scm:405 +msgid "hint: " +msgstr "tips: " -#: guix/ui.scm:336 +#: guix/ui.scm:422 msgid "Did you forget a @code{use-modules} form?" -msgstr "" +msgstr "Glömde du en @code{use-modules}-form?" -#: guix/ui.scm:338 +#: guix/ui.scm:424 #, scheme-format msgid "Did you forget @code{(use-modules ~a)}?" -msgstr "" +msgstr "Glömde du @code{(use-modules ~s)}?" -#: guix/ui.scm:347 guix/ui.scm:387 guix/ui.scm:394 +#: guix/ui.scm:433 guix/ui.scm:474 guix/ui.scm:480 #, scheme-format msgid "failed to load '~a': ~a~%" -msgstr "" +msgstr "misslyckades med att läsa in ”~a”: ~a~%" -#: guix/ui.scm:354 +#: guix/ui.scm:440 #, scheme-format msgid "~amissing closing parenthesis~%" -msgstr "" +msgstr "~asaknar avslutande parentes~%" -#: guix/ui.scm:359 guix/ui.scm:367 guix/ui.scm:714 -#, scheme-format -msgid "~a: error: ~a~%" -msgstr "" - -#: guix/ui.scm:374 guix/ui.scm:784 +#: guix/ui.scm:454 guix/ui.scm:877 #, scheme-format msgid "exception thrown: ~s~%" -msgstr "" +msgstr "kastat undantag: ~s~%" -#: guix/ui.scm:378 guix/ui.scm:400 +#: guix/ui.scm:458 guix/ui.scm:486 #, scheme-format msgid "failed to load '~a':~%" -msgstr "" +msgstr "misslyckades med att läsa in ”~a”:~%" -#: guix/ui.scm:390 -#, scheme-format -msgid "~a: warning: ~a~%" -msgstr "" - -#: guix/ui.scm:397 +#: guix/ui.scm:483 #, scheme-format msgid "failed to load '~a': exception thrown: ~s~%" -msgstr "" +msgstr "misslyckades med att läsa in ”~a”: kastat undantag: ~s~%" -#: guix/ui.scm:433 -#, scheme-format -msgid "failed to install locale: ~a~%" -msgstr "" - -#: guix/ui.scm:435 +#: guix/ui.scm:516 msgid "" "Consider installing the @code{glibc-utf8-locales} or\n" "@code{glibc-locales} package and defining @code{GUIX_LOCPATH}, along these\n" @@ -2972,648 +4013,800 @@ msgid "" "\n" "See the \"Application Setup\" section in the manual, for more info.\n" msgstr "" +"Överväg att installera ~code{glibc-utf8-locales} eller\n" +"@code{glibc-locales} paketen och definiera @code{GUIX_LOCPATH},\n" +"på följande sätt:\n" +"\n" +"@example\n" +"guix package -i glibc-utf8-locales\n" +"export GUIX_LOCPATH=\"$HOME/.guix-profile/lib/locale\"\n" +"@end example\n" +"\n" +"Se avsnittet ”Applikationsinställning” i manualen för vidare infromation.\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. */ -#: guix/ui.scm:473 +#: guix/ui.scm:554 msgid "(C)" -msgstr "" +msgstr "(C)" -#: guix/ui.scm:474 +#: guix/ui.scm:555 msgid "the Guix authors\n" -msgstr "" +msgstr "Guix-upphovsmännen\n" -#: guix/ui.scm:475 +#: guix/ui.scm:556 msgid "" "License GPLv3+: GNU GPL version 3 or later \n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" +"Licens GPLv3+: GNU GPL version 3 eller senare \n" +"Detta är fri mjukvara: du kan fritt ändra och återdistribuera den.\n" +"Det finns INGEN GARANTI, utom sådan som måste ges enligt lag.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address for this #. package. Please add another line saying "Report translation bugs to #. ...\n" with the address for translation bugs (typically your translation #. team's web or email address). -#: guix/ui.scm:487 +#: guix/ui.scm:568 #, scheme-format msgid "" "\n" "Report bugs to: ~a." msgstr "" +"\n" +"Rapportera buggar till: ~a." -#: guix/ui.scm:489 +#: guix/ui.scm:570 #, scheme-format msgid "" "\n" "~a home page: <~a>" msgstr "" +"\n" +"~a hemsida: <~a>" -#: guix/ui.scm:491 +#: guix/ui.scm:572 msgid "" "\n" "General help using GNU software: " msgstr "" +"\n" +"Allmän hjälp med att använda GNU-programvara: " -#: guix/ui.scm:539 +#: guix/ui.scm:627 #, scheme-format msgid "'~a' is not a valid regular expression: ~a~%" -msgstr "" +msgstr "”~a” är inte ett giltigt reguljärt uttryck: ~a~%" -#: guix/ui.scm:545 +#: guix/ui.scm:633 #, scheme-format msgid "~a: invalid number~%" -msgstr "" +msgstr "~a: ogiltigt nummer~%" -#: guix/ui.scm:562 +#: guix/ui.scm:650 #, scheme-format msgid "invalid number: ~a~%" -msgstr "" +msgstr "ogiltigt nummer: ~a~%" -#: guix/ui.scm:585 +#: guix/ui.scm:673 #, scheme-format msgid "unknown unit: ~a~%" -msgstr "" +msgstr "okänd enhet: ~a~%" -#: guix/ui.scm:600 +#: guix/ui.scm:688 #, scheme-format msgid "" "You cannot have two different versions\n" "or variants of @code{~a} in the same profile." msgstr "" +"Du kan inte ha två olika versioner\n" +"eller varianter av @code{~a} i samma profil." -#: guix/ui.scm:603 +#: guix/ui.scm:691 #, scheme-format msgid "" "Try upgrading both @code{~a} and @code{~a},\n" "or remove one of them from the profile." msgstr "" +"Prova att uppgradera både @code{~a} och @code{~a},\n" +"eller ta bort en av dem från profilen." -#: guix/ui.scm:622 +#: guix/ui.scm:710 #, scheme-format msgid "~a:~a:~a: package `~a' has an invalid input: ~s~%" -msgstr "" +msgstr "~a:~a~a: paket ”~a” har en ogiltig inmatning: ~s~%" -#: guix/ui.scm:629 +#: guix/ui.scm:717 #, scheme-format msgid "~a: ~a: build system `~a' does not support cross builds~%" -msgstr "" +msgstr "~a: ~a: byggsystem ”~a” har inte stöd för korsbyggen~%" -#: guix/ui.scm:635 +#: guix/ui.scm:723 #, scheme-format msgid "~s: invalid G-expression input~%" -msgstr "" +msgstr "~s: ogiltig inmatning för G-uttryck~%" -#: guix/ui.scm:638 +#: guix/ui.scm:726 #, scheme-format msgid "profile '~a' does not exist~%" -msgstr "" +msgstr "profil ”~a” existerar inte~%" -#: guix/ui.scm:641 +#: guix/ui.scm:729 #, scheme-format msgid "generation ~a of profile '~a' does not exist~%" -msgstr "" - -#: guix/ui.scm:650 -#, scheme-format -msgid " ... propagated from ~a@~a~%" -msgstr "" - -#: guix/ui.scm:660 -#, scheme-format -msgid "profile contains conflicting entries for ~a~a~%" -msgstr "" - -#: guix/ui.scm:663 -#, scheme-format -msgid " first entry: ~a@~a~a ~a~%" -msgstr "" - -#: guix/ui.scm:669 -#, scheme-format -msgid " second entry: ~a@~a~a ~a~%" -msgstr "" - -#: guix/ui.scm:681 -#, scheme-format -msgid "corrupt input while restoring '~a' from ~s~%" -msgstr "" - -#: guix/ui.scm:683 -#, scheme-format -msgid "corrupt input while restoring archive from ~s~%" -msgstr "" - -#: guix/ui.scm:686 -#, scheme-format -msgid "failed to connect to `~a': ~a~%" -msgstr "" - -#: guix/ui.scm:691 -#, scheme-format -msgid "build failed: ~a~%" -msgstr "" - -#: guix/ui.scm:694 -#, scheme-format -msgid "reference to invalid output '~a' of derivation '~a'~%" -msgstr "" - -#: guix/ui.scm:698 -#, scheme-format -msgid "file '~a' could not be found in these directories:~{ ~a~}~%" -msgstr "" - -#: guix/ui.scm:703 -#, scheme-format -msgid "program exited~@[ with non-zero exit status ~a~]~@[ terminated by signal ~a~]~@[ stopped by signal ~a~]: ~s~%" -msgstr "" +msgstr "generation ~a av profil ”~a” existerar inte~%" #: guix/ui.scm:734 #, scheme-format -msgid "~a: ~a~%" -msgstr "" +msgid "package '~a~@[@~a~]~@[:~a~]' not found in profile~%" +msgstr "paket ”~a~@[@~a~]~@[:~a~]” hittades inte i profil~%" -#: guix/ui.scm:769 +#: guix/ui.scm:746 +#, scheme-format +msgid " ... propagated from ~a@~a~%" +msgstr " … propagerad från ~a@~a~%" + +#: guix/ui.scm:756 +#, scheme-format +msgid "profile contains conflicting entries for ~a~a~%" +msgstr "profil innehåller poster som står i konflikt för ~a~a~%" + +#: guix/ui.scm:759 +#, scheme-format +msgid " first entry: ~a@~a~a ~a~%" +msgstr " första post: ~a@~a~a ~a~%" + +#: guix/ui.scm:765 +#, scheme-format +msgid " second entry: ~a@~a~a ~a~%" +msgstr " andra post: ~a@~a~a ~a~%" + +#: guix/ui.scm:777 +#, scheme-format +msgid "corrupt input while restoring '~a' from ~s~%" +msgstr "korrupt inmatning under återställning av ”~a” från ~s~%" + +#: guix/ui.scm:779 +#, scheme-format +msgid "corrupt input while restoring archive from ~s~%" +msgstr "korrupt inmatning under återställning av arkiv från ~s~%" + +#: guix/ui.scm:782 +#, scheme-format +msgid "failed to connect to `~a': ~a~%" +msgstr "misslyckades med att ansluta till ”~a”: ~a~%" + +#: guix/ui.scm:790 +#, scheme-format +msgid "reference to invalid output '~a' of derivation '~a'~%" +msgstr "referens till ogiltig utmatning ”~a” från härledning ”~a”~%" + +#: guix/ui.scm:794 +#, scheme-format +msgid "file '~a' could not be found in these directories:~{ ~a~}~%" +msgstr "fil ”~a” kunde inte hittas bland dessa kataloger:~{ ~a~}~%" + +#: guix/ui.scm:799 +#, scheme-format +msgid "program exited~@[ with non-zero exit status ~a~]~@[ terminated by signal ~a~]~@[ stopped by signal ~a~]: ~s~%" +msgstr "program avslutades~@[ med icke-noll avslutningsstatus ~a~]~@[ avslutades av signal ~a~]~@[ stoppades av signal ~a~]: ~s~%" + +#: guix/ui.scm:827 +#, scheme-format +msgid "~a: ~a~%" +msgstr "~a: ~a~%" + +#: guix/ui.scm:862 #, scheme-format msgid "failed to read expression ~s: ~s~%" -msgstr "" +msgstr "misslyckades med att läsa uttryck ~s: ~s~%" -#: guix/ui.scm:775 +#: guix/ui.scm:868 #, scheme-format msgid "failed to evaluate expression '~a':~%" -msgstr "" +msgstr "misslyckades med att utvärdera uttryck ”~a”:~%" -#: guix/ui.scm:778 +#: guix/ui.scm:871 #, scheme-format msgid "syntax error: ~a~%" -msgstr "" +msgstr "syntaxfel: ~a~%" -#: guix/ui.scm:796 +#: guix/ui.scm:889 #, scheme-format msgid "expression ~s does not evaluate to a package~%" -msgstr "" +msgstr "uttryck ~s utvärderas inte till ett paket~%" -#: guix/ui.scm:816 +#: guix/ui.scm:909 msgid "at least ~,1h MB needed but only ~,1h MB available in ~a~%" -msgstr "" +msgstr "åtminstone ~,1h MB behövs men endast ~,1h MB tillgängligt i ~a~%" -#: guix/ui.scm:894 +#: guix/ui.scm:1011 #, scheme-format msgid "~:[The following derivation would be built:~%~{ ~a~%~}~;~]" msgid_plural "~:[The following derivations would be built:~%~{ ~a~%~}~;~]" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "~:[Följande härledning skulle byggas:~%~{ ~a~%~}~;~]" +msgstr[1] "~:[Följande härledningar skulle byggas:~%~{ ~a~%~}~;~]" #. TRANSLATORS: "MB" is for "megabyte"; it should be #. translated to the corresponding abbreviation. -#: guix/ui.scm:902 +#: guix/ui.scm:1019 msgid "~:[~,1h MB would be downloaded:~%~{ ~a~%~}~;~]" -msgstr "" +msgstr "~:[~,1h MB skulle hämtas:~%~{ ~a~%~}~;~]" -#: guix/ui.scm:907 +#: guix/ui.scm:1024 #, scheme-format msgid "~:[The following file would be downloaded:~%~{ ~a~%~}~;~]" msgid_plural "~:[The following files would be downloaded:~%~{ ~a~%~}~;~]" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "~:[Följande fil skulle hämtas:~%~{ ~a~%~}~;~]" +msgstr[1] "~:[Följande filer skulle hämtas:~%~{ ~a~%~}~;~]" -#: guix/ui.scm:913 +#: guix/ui.scm:1030 #, scheme-format msgid "~:[The following graft would be made:~%~{ ~a~%~}~;~]" msgid_plural "~:[The following grafts would be made:~%~{ ~a~%~}~;~]" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "~:[Följande ympning skulle göras:~%~{ ~a~%~}~;~]" +msgstr[1] "~:[Följande ympningar skulle göras:~%~{ ~a~%~}~;~]" -#: guix/ui.scm:919 +#: guix/ui.scm:1035 +#, scheme-format +msgid "~:[The following profile hook would be built:~%~{ ~a~%~}~;~]" +msgid_plural "~:[The following profile hooks would be built:~%~{ ~a~%~}~;~]" +msgstr[0] "~:[Följande profilkrok skulle byggas:~%~{ ~a~%~}~;~]" +msgstr[1] "~:[Följande profilkrokar skulle byggas:~%~{ ~a~%~}~;~]" + +#: guix/ui.scm:1041 #, scheme-format msgid "~:[The following derivation will be built:~%~{ ~a~%~}~;~]" msgid_plural "~:[The following derivations will be built:~%~{ ~a~%~}~;~]" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "~:[Följande härledning kommer att byggas:~%~{ ~a~%~}~;~]" +msgstr[1] "~:[Följande härledningar kommer att byggas:~%~{ ~a~%~}~;~]" #. TRANSLATORS: "MB" is for "megabyte"; it should be #. translated to the corresponding abbreviation. -#: guix/ui.scm:927 -msgid "~:[~,1h MB will be downloaded:~%~{ ~a~%~}~;~]" -msgstr "" - -#: guix/ui.scm:932 -#, scheme-format -msgid "~:[The following file will be downloaded:~%~{ ~a~%~}~;~]" -msgid_plural "~:[The following files will be downloaded:~%~{ ~a~%~}~;~]" -msgstr[0] "" -msgstr[1] "" - -#: guix/ui.scm:938 -#, scheme-format -msgid "~:[The following graft will be made:~%~{ ~a~%~}~;~]" -msgid_plural "~:[The following grafts will be made:~%~{ ~a~%~}~;~]" -msgstr[0] "" -msgstr[1] "" - -#: guix/ui.scm:997 -#, scheme-format -msgid "The following package would be removed:~%~{~a~%~}~%" -msgid_plural "The following packages would be removed:~%~{~a~%~}~%" -msgstr[0] "" -msgstr[1] "" - -#: guix/ui.scm:1002 -#, scheme-format -msgid "The following package will be removed:~%~{~a~%~}~%" -msgid_plural "The following packages will be removed:~%~{~a~%~}~%" -msgstr[0] "" -msgstr[1] "" - -#: guix/ui.scm:1015 -#, scheme-format -msgid "The following package would be downgraded:~%~{~a~%~}~%" -msgid_plural "The following packages would be downgraded:~%~{~a~%~}~%" -msgstr[0] "" -msgstr[1] "" - -#: guix/ui.scm:1020 -#, scheme-format -msgid "The following package will be downgraded:~%~{~a~%~}~%" -msgid_plural "The following packages will be downgraded:~%~{~a~%~}~%" -msgstr[0] "" -msgstr[1] "" - -#: guix/ui.scm:1033 -#, scheme-format -msgid "The following package would be upgraded:~%~{~a~%~}~%" -msgid_plural "The following packages would be upgraded:~%~{~a~%~}~%" -msgstr[0] "" -msgstr[1] "" - -#: guix/ui.scm:1038 -#, scheme-format -msgid "The following package will be upgraded:~%~{~a~%~}~%" -msgid_plural "The following packages will be upgraded:~%~{~a~%~}~%" -msgstr[0] "" -msgstr[1] "" - #: guix/ui.scm:1049 -#, scheme-format -msgid "The following package would be installed:~%~{~a~%~}~%" -msgid_plural "The following packages would be installed:~%~{~a~%~}~%" -msgstr[0] "" -msgstr[1] "" +msgid "~:[~,1h MB will be downloaded:~%~{ ~a~%~}~;~]" +msgstr "~:[~,1h MB kommer att hämtas:~%~{ ~a~%~}~;~]" #: guix/ui.scm:1054 #, scheme-format +msgid "~:[The following file will be downloaded:~%~{ ~a~%~}~;~]" +msgid_plural "~:[The following files will be downloaded:~%~{ ~a~%~}~;~]" +msgstr[0] "~:[Följande fil kommer att hämtas:~%~{ ~a~%~}~;~]" +msgstr[1] "~:[Följande filer kommer att hämtas:~%~{ ~a~%~}~;~]" + +#: guix/ui.scm:1060 +#, scheme-format +msgid "~:[The following graft will be made:~%~{ ~a~%~}~;~]" +msgid_plural "~:[The following grafts will be made:~%~{ ~a~%~}~;~]" +msgstr[0] "~:[Följande ympning kommer att göras:~%~{ ~a~%~}~;~]" +msgstr[1] "~:[Följande ympningar kommer att göras:~%~{ ~a~%~}~;~]" + +#: guix/ui.scm:1065 +#, scheme-format +msgid "~:[The following profile hook will be built:~%~{ ~a~%~}~;~]" +msgid_plural "~:[The following profile hooks will be built:~%~{ ~a~%~}~;~]" +msgstr[0] "~:[Följande profilkrok kommer att byggas:~%~{ ~a~%~}~;~]" +msgstr[1] "~:[Följande profilkrokar kommer att byggas:~%~{ ~a~%~}~;~]" + +#: guix/ui.scm:1124 +#, scheme-format +msgid "The following package would be removed:~%~{~a~%~}~%" +msgid_plural "The following packages would be removed:~%~{~a~%~}~%" +msgstr[0] "Följande paket skulle tas bort:~%~{~a~%~}~%" +msgstr[1] "Följande paket skulle tas bort:~%~{~a~%~}~%" + +#: guix/ui.scm:1129 +#, scheme-format +msgid "The following package will be removed:~%~{~a~%~}~%" +msgid_plural "The following packages will be removed:~%~{~a~%~}~%" +msgstr[0] "Följande paket kommer att tas bort:~%~{~a~%~}~%" +msgstr[1] "Följande paket kommer att tas bort:~%~{~a~%~}~%" + +#: guix/ui.scm:1142 +#, scheme-format +msgid "The following package would be downgraded:~%~{~a~%~}~%" +msgid_plural "The following packages would be downgraded:~%~{~a~%~}~%" +msgstr[0] "Följande paket skulle nedgraderas:~%~{~a~%~}~%" +msgstr[1] "Följande paket skulle nedgraderas:~%~{~a~%~}~%" + +#: guix/ui.scm:1147 +#, scheme-format +msgid "The following package will be downgraded:~%~{~a~%~}~%" +msgid_plural "The following packages will be downgraded:~%~{~a~%~}~%" +msgstr[0] "Följande paket kommer att nedgraderas:~%~{~a~%~}~%" +msgstr[1] "Följande paket kommer att nedgraderas:~%~{~a~%~}~%" + +#: guix/ui.scm:1160 +#, scheme-format +msgid "The following package would be upgraded:~%~{~a~%~}~%" +msgid_plural "The following packages would be upgraded:~%~{~a~%~}~%" +msgstr[0] "Följande paket skulle uppgraderas:~%~{~a~%~}~%" +msgstr[1] "Följande paket skulle uppgraderas:~%~{~a~%~}~%" + +#: guix/ui.scm:1165 +#, scheme-format +msgid "The following package will be upgraded:~%~{~a~%~}~%" +msgid_plural "The following packages will be upgraded:~%~{~a~%~}~%" +msgstr[0] "Följande paket kommer att uppgraderas:~%~{~a~%~}~%" +msgstr[1] "Följande paket kommer att uppgraderas:~%~{~a~%~}~%" + +#: guix/ui.scm:1176 +#, scheme-format +msgid "The following package would be installed:~%~{~a~%~}~%" +msgid_plural "The following packages would be installed:~%~{~a~%~}~%" +msgstr[0] "Följande paket skulle installeras:~%~{~a~%~}~%" +msgstr[1] "Följande paket skulle installeras:~%~{~a~%~}~%" + +#: guix/ui.scm:1181 +#, scheme-format msgid "The following package will be installed:~%~{~a~%~}~%" msgid_plural "The following packages will be installed:~%~{~a~%~}~%" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Följande paket kommer att installeras:~%~{~a~%~}~%" +msgstr[1] "Följande paket kommer att installeras:~%~{~a~%~}~%" -#: guix/ui.scm:1071 +#: guix/ui.scm:1198 guix/deprecation.scm:46 msgid "" -msgstr "" +msgstr "" -#: guix/ui.scm:1436 +#: guix/ui.scm:1580 #, scheme-format msgid "Generation ~a\t~a" -msgstr "" +msgstr "Generation ~a\t~a" #. TRANSLATORS: This is a format-string for date->string. #. Please choose a format that corresponds to the #. usual way of presenting dates in your locale. #. See https://www.gnu.org/software/guile/manual/html_node/SRFI_002d19-Date-to-string.html #. for details. -#: guix/ui.scm:1445 +#: guix/ui.scm:1589 #, scheme-format msgid "~b ~d ~Y ~T" -msgstr "" +msgstr "~d ~b ~Y ~T" #. TRANSLATORS: The word "current" here is an adjective for #. "Generation", as in "current generation". Use the appropriate #. gender where applicable. -#: guix/ui.scm:1451 +#: guix/ui.scm:1595 #, scheme-format msgid "~a\t(current)~%" -msgstr "" +msgstr "~a\t(aktuell)~%" -#: guix/ui.scm:1494 +#: guix/ui.scm:1638 #, scheme-format msgid "switched from generation ~a to ~a~%" -msgstr "" +msgstr "växlade från generation ~a till ~a~%" -#: guix/ui.scm:1510 +#: guix/ui.scm:1654 #, scheme-format msgid "deleting ~a~%" -msgstr "" +msgstr "tar bort ~a~%" -#: guix/ui.scm:1541 +#: guix/ui.scm:1685 #, scheme-format msgid "Try `guix --help' for more information.~%" -msgstr "" +msgstr "Prova ”guix --help” för mer information.~%" -#: guix/ui.scm:1569 +#: guix/ui.scm:1713 msgid "" "Usage: guix COMMAND ARGS...\n" "Run COMMAND with ARGS.\n" msgstr "" +"Användning: guix KOMMANDO ARGUMENT…\n" +"Kör KOMMANDO med ARGUMENT.\n" -#: guix/ui.scm:1572 +#: guix/ui.scm:1716 msgid "COMMAND must be one of the sub-commands listed below:\n" -msgstr "" +msgstr "KOMMANDO måste vara ett av underkommandona som listas nedan:\n" -#: guix/ui.scm:1592 +#: guix/ui.scm:1736 #, scheme-format msgid "guix: ~a: command not found~%" -msgstr "" +msgstr "guix: ~a: kommando hittades inte~%" -#: guix/ui.scm:1622 +#: guix/ui.scm:1766 #, scheme-format msgid "guix: missing command name~%" -msgstr "" +msgstr "guix: saknar kommandonamn~%" -#: guix/ui.scm:1630 +#: guix/ui.scm:1774 #, scheme-format msgid "guix: unrecognized option '~a'~%" -msgstr "" +msgstr "guix: okänd flagga ”~a”~%" -#: guix/status.scm:335 +#. TRANSLATORS: The word "phase" here denotes a "build phase"; +#. "~a" is a placeholder for the untranslated name of the current +#. build phase--e.g., 'configure' or 'build'. +#: guix/status.scm:358 +#, scheme-format +msgid "'~a' phase" +msgstr "”~a”-fas" + +#: guix/status.scm:378 +msgid "building directory of Info manuals..." +msgstr "bygger katalog av Info-manualer…" + +#: guix/status.scm:380 +msgid "building GHC package cache..." +msgstr "bygger GHC-paketcache…" + +#: guix/status.scm:382 +msgid "building CA certificate bundle..." +msgstr "bygger CA-certifikatsknippe…" + +#: guix/status.scm:384 +msgid "generating GLib schema cache..." +msgstr "genererar GLib-schemacache…" + +#: guix/status.scm:386 +msgid "creating GTK+ icon theme cache..." +msgstr "skapar GTK+-ikontemacache…" + +#: guix/status.scm:388 +msgid "building cache files for GTK+ input methods..." +msgstr "bygger cachefiler för GTK+-inmatningsmetoder…" + +#: guix/status.scm:390 +msgid "building XDG desktop file cache..." +msgstr "bygger XDG-skrivbordsfilscache…" + +#: guix/status.scm:392 +msgid "building XDG MIME database..." +msgstr "bygger XDG-MIME-databas…" + +#: guix/status.scm:394 +msgid "building fonts directory..." +msgstr "bygger fontkatalog…" + +#: guix/status.scm:396 +msgid "building TeX Live configuration..." +msgstr "bygger TeX Live-konfiguration…" + +#: guix/status.scm:398 +msgid "building database for manual pages..." +msgstr "bygger databas för manualsidor…" + +#: guix/status.scm:400 +msgid "building package cache..." +msgstr "bygger paket cache…" + +#: guix/status.scm:475 #, scheme-format msgid "applying ~a graft for ~a..." msgid_plural "applying ~a grafts for ~a..." -msgstr[0] "" -msgstr[1] "" +msgstr[0] "tillämpar ~a ympning för ~a…" +msgstr[1] "tillämpar ~a ympningar för ~a…" -#: guix/status.scm:340 +#: guix/status.scm:484 +#, scheme-format +msgid "running profile hook of type '~a'..." +msgstr "kör profilkrok av typ ”~a”…" + +#: guix/status.scm:487 #, scheme-format msgid "building ~a..." -msgstr "" +msgstr "bygger ~a…" -#: guix/status.scm:344 +#: guix/status.scm:492 #, scheme-format msgid "successfully built ~a" -msgstr "" +msgstr "byggde ~a framgångsrikt" -#: guix/status.scm:350 +#: guix/status.scm:498 #, scheme-format msgid "The following build is still in progress:~%~{ ~a~%~}~%" msgid_plural "The following builds are still in progress:~%~{ ~a~%~}~%" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Följande bygge pågår fortfarande:~%~{ ~a~%~}~%" +msgstr[1] "Följande byggen pågår fortfarande:~%~{ ~a~%~}~%" -#: guix/status.scm:355 +#: guix/status.scm:504 #, scheme-format msgid "build of ~a failed" -msgstr "" +msgstr "bygge av ~a misslyckades" -#: guix/status.scm:359 +#: guix/status.scm:508 #, scheme-format msgid "Could not find build log for '~a'." -msgstr "" +msgstr "Kunde inte hitta bygglogg för ”~a”." -#: guix/status.scm:362 +#: guix/status.scm:511 #, scheme-format msgid "View build log at '~a'." -msgstr "" +msgstr "Granska bygglogg vid ”~a”." -#: guix/status.scm:366 +#: guix/status.scm:516 #, scheme-format msgid "substituting ~a..." -msgstr "" +msgstr "ersätter ~a…" -#: guix/status.scm:369 +#: guix/status.scm:520 #, scheme-format msgid "downloading from ~a..." -msgstr "" +msgstr "hämtar från ~a…" -#: guix/status.scm:394 +#: guix/status.scm:545 #, scheme-format msgid "substitution of ~a complete" -msgstr "" +msgstr "ersättning av ~a färdigställd" -#: guix/status.scm:397 +#: guix/status.scm:548 #, scheme-format msgid "substitution of ~a failed" -msgstr "" +msgstr "ersättning av ~a misslyckades" #. TRANSLATORS: The final string looks like "sha256 hash mismatch for #. /gnu/store/…-sth:", where "sha256" is the hash algorithm. -#: guix/status.scm:402 +#: guix/status.scm:553 #, scheme-format msgid "~a hash mismatch for ~a:" -msgstr "" +msgstr "~a hash stämmer inte för ~a:" -#: guix/status.scm:404 +#: guix/status.scm:555 #, scheme-format msgid "" " expected hash: ~a\n" " actual hash: ~a~%" msgstr "" +" förväntade hash: ~a\n" +" faktisk hash: ~a~%" -#: guix/status.scm:409 +#: guix/status.scm:560 #, scheme-format msgid "offloading build of ~a to '~a'" -msgstr "" +msgstr "avlastning av bygge av ~a till ”~a”" #: guix/http-client.scm:117 #, scheme-format msgid "following redirection to `~a'...~%" -msgstr "" +msgstr "följer omdirigering till ”~a”…~%" #: guix/http-client.scm:129 #, scheme-format msgid "~a: HTTP download failed: ~a (~s)" -msgstr "" +msgstr "~a: HTTP-hämtning misslyckades: ~a (~s)" #: guix/nar.scm:157 msgid "signature is not a valid s-expression" -msgstr "" +msgstr "signatur är inte ett giltig s-uttryck" #: guix/nar.scm:166 msgid "invalid signature" -msgstr "" +msgstr "ogiltig signatur" #: guix/nar.scm:170 msgid "invalid hash" -msgstr "" +msgstr "ogiltig hash" #: guix/nar.scm:178 msgid "unauthorized public key" -msgstr "" +msgstr "icke auktoriserad publik nyckel" #: guix/nar.scm:183 msgid "corrupt signature data" -msgstr "" +msgstr "korrupt signaturdata" #: guix/nar.scm:203 msgid "corrupt file set archive" -msgstr "" +msgstr "korrupt filuppsättningsarkiv" #: guix/nar.scm:213 #, scheme-format msgid "importing file or directory '~a'...~%" -msgstr "" +msgstr "importerar fil eller katalog ”~a”…~%" #: guix/nar.scm:224 #, scheme-format msgid "found valid signature for '~a'~%" -msgstr "" +msgstr "hittade giltig signatur för ”~a”~%" #: guix/nar.scm:231 msgid "imported file lacks a signature" -msgstr "" +msgstr "importerad fil saknar en signatur" #: guix/nar.scm:270 msgid "invalid inter-file archive mark" -msgstr "" +msgstr "ogiltig arkivmarkör mellan filer" -#: guix/channels.scm:108 +#: guix/channels.scm:177 #, scheme-format msgid "Updating channel '~a' from Git repository at '~a'...~%" -msgstr "" +msgstr "Uppdaterar kanal ”~a” från ett Git-arkiv vid ”~a”…~%" -#: guix/profiles.scm:501 +#: guix/channels.scm:366 +msgid "'guix' channel is lacking" +msgstr "”guix”-kanal saknas" + +#: guix/profiles.scm:511 msgid "unsupported manifest format" -msgstr "" +msgstr "manifestformat stöds inte" -#: guix/profiles.scm:1630 +#: guix/profiles.scm:1748 #, scheme-format msgid "while creating directory `~a': ~a" -msgstr "" +msgstr "vid skapande av katalog ”~a”: ~a" -#: guix/profiles.scm:1635 +#: guix/profiles.scm:1753 #, scheme-format msgid "Please create the @file{~a} directory, with you as the owner." -msgstr "" +msgstr "Skapa katalogen @file{~a}, med dig själv som ägare." -#: guix/profiles.scm:1644 +#: guix/profiles.scm:1762 #, scheme-format msgid "directory `~a' is not owned by you" -msgstr "" +msgstr "katalog ”~a” ägs inte av dig" -#: guix/profiles.scm:1648 +#: guix/profiles.scm:1766 #, scheme-format msgid "Please change the owner of @file{~a} to user ~s." -msgstr "" +msgstr "Ändra ägare av @file{~a} till användare ~s." + +#: guix/git.scm:159 +msgid "long Git object ID is required" +msgstr "långt Git-objekts-ID krävs" + +#: guix/git.scm:192 +#, scheme-format +msgid "updating submodule '~a'...~%" +msgstr "uppdaterar undermodul ”~a”…~%" + +#: guix/git.scm:205 +#, scheme-format +msgid "Support for submodules is missing; please upgrade Guile-Git.~%" +msgstr "Stöd för undermoduler saknas; uppgradera Guile-Git.~%" + +#: guix/git.scm:344 +#, scheme-format +msgid "cannot fetch commit ~a from ~a: ~a" +msgstr "kan inte hämta incheckning ~a från ~a: ~a" + +#: guix/git.scm:347 +#, scheme-format +msgid "cannot fetch branch '~a' from ~a: ~a" +msgstr "kan inte hämta gren ”~a” från ~a: ~a" + +#: guix/git.scm:350 +#, scheme-format +msgid "Git failure while fetching ~a: ~a" +msgstr "Git-fel vid hämtning av ~a: ~a" + +#: guix/deprecation.scm:51 +#, scheme-format +msgid "~a: warning: '~a' is deprecated~@[, use '~a' instead~]~%" +msgstr "~a: varning: ”~a” är föråldrat~@[, använd ”~a” istället~]~%" + +#: gnu/build/bootloader.scm:91 +#, scheme-format +msgid "'~a~{ ~a~}' exited with status ~a; output follows:~%~%~{ ~a~%~}" +msgstr "”~a~{ ~a~}” avslutades med status ~a; utmatning följer:~%~%~{ ~a~%~}" #: nix/nix-daemon/guix-daemon.cc:66 msgid "guix-daemon -- perform derivation builds and store accesses" -msgstr "" +msgstr "guix-daemon — utför härledningsbyggen och lagra åtkomster" #: nix/nix-daemon/guix-daemon.cc:68 msgid "This program is a daemon meant to run in the background. It serves requests sent over a Unix-domain socket. It accesses the store, and builds derivations on behalf of its clients." -msgstr "" +msgstr "Detta program är en demon som är tänkt att köra i bakgrunden. Den betjänar begäran skickade över ett Unix-domänuttag. Å sina klienters vägnar ansluter det till arkivet och bygger härledningar." #: nix/nix-daemon/guix-daemon.cc:95 msgid "SYSTEM" -msgstr "" +msgstr "SYSTEM" #: nix/nix-daemon/guix-daemon.cc:96 msgid "assume SYSTEM as the current system type" -msgstr "" +msgstr "anta att SYSTEM är samma som aktuell systemtyp" #: nix/nix-daemon/guix-daemon.cc:97 nix/nix-daemon/guix-daemon.cc:100 msgid "N" -msgstr "" +msgstr "N" #: nix/nix-daemon/guix-daemon.cc:98 msgid "use N CPU cores to build each derivation; 0 means as many as available" -msgstr "" +msgstr "använd N CPU-kärnor för att bygga varje härledning; 0 innebär så många som tillgänliga" #: nix/nix-daemon/guix-daemon.cc:101 msgid "allow at most N build jobs" -msgstr "" +msgstr "tillåt som mest N byggjobb" #: nix/nix-daemon/guix-daemon.cc:102 nix/nix-daemon/guix-daemon.cc:104 msgid "SECONDS" -msgstr "" +msgstr "SEKUNDER" #: nix/nix-daemon/guix-daemon.cc:103 msgid "mark builds as failed after SECONDS of activity" -msgstr "" +msgstr "markera byggen som misslyckades aktivitet under antal SEKUNDER" #: nix/nix-daemon/guix-daemon.cc:105 msgid "mark builds as failed after SECONDS of silence" -msgstr "" +msgstr "markera byggen som misslyckades efter tystnad under antal SEKUNDER" #: nix/nix-daemon/guix-daemon.cc:107 msgid "disable chroot builds" -msgstr "" +msgstr "inaktivera chroot-byggen" #: nix/nix-daemon/guix-daemon.cc:108 msgid "DIR" -msgstr "" +msgstr "KAT" #: nix/nix-daemon/guix-daemon.cc:109 msgid "add DIR to the build chroot" -msgstr "" +msgstr "lägg till KAT till bygg-chroot" #: nix/nix-daemon/guix-daemon.cc:110 msgid "GROUP" -msgstr "" +msgstr "GRUPP" #: nix/nix-daemon/guix-daemon.cc:111 msgid "perform builds as a user of GROUP" -msgstr "" +msgstr "utför byggen som en användare i GRUPP" #: nix/nix-daemon/guix-daemon.cc:113 msgid "do not use substitutes" -msgstr "" +msgstr "använd inte ersättningar" #: nix/nix-daemon/guix-daemon.cc:114 msgid "URLS" -msgstr "" +msgstr "URLER" #: nix/nix-daemon/guix-daemon.cc:115 msgid "use URLS as the default list of substitute providers" -msgstr "" +msgstr "använd URLER som standardlistan av ersättningsleverantörer" #: nix/nix-daemon/guix-daemon.cc:117 msgid "do not use the 'build hook'" -msgstr "" +msgstr "använd inte ”byggkroken”" #: nix/nix-daemon/guix-daemon.cc:119 msgid "cache build failures" -msgstr "" +msgstr "cacha byggfel" #: nix/nix-daemon/guix-daemon.cc:121 msgid "build each derivation N times in a row" -msgstr "" +msgstr "bygg varje härledning N gånger i rad" #: nix/nix-daemon/guix-daemon.cc:123 msgid "do not keep build logs" -msgstr "" +msgstr "behåll inte byggloggar" #: nix/nix-daemon/guix-daemon.cc:126 msgid "disable compression of the build logs" -msgstr "" +msgstr "inaktivera komprimering av byggloggarna" #: nix/nix-daemon/guix-daemon.cc:128 msgid "use the specified compression type for build logs" -msgstr "" +msgstr "använd den angivna komprimeringstypen för byggloggar" #: nix/nix-daemon/guix-daemon.cc:133 msgid "disable automatic file \"deduplication\" in the store" -msgstr "" +msgstr "inaktiva automatisk ”fildeduplicering” för arkivet" #: nix/nix-daemon/guix-daemon.cc:143 msgid "impersonate Linux 2.6" -msgstr "" +msgstr "imitera Linux 2.6" #: nix/nix-daemon/guix-daemon.cc:147 msgid "tell whether the GC must keep outputs of live derivations" -msgstr "" +msgstr "berätta huruvida GC måste behålla utmatningar för live-härledningar" #: nix/nix-daemon/guix-daemon.cc:150 msgid "tell whether the GC must keep derivations corresponding to live outputs" -msgstr "" +msgstr "berätta huruvida GC måste behålla härledningar som motsvarar live-utmatningar" #: nix/nix-daemon/guix-daemon.cc:153 msgid "SOCKET" -msgstr "" +msgstr "UTTAG" #: nix/nix-daemon/guix-daemon.cc:154 msgid "listen for connections on SOCKET" -msgstr "" +msgstr "lyssna efter anslutningar på UTTAG" #: nix/nix-daemon/guix-daemon.cc:156 msgid "produce debugging output" -msgstr "" +msgstr "producera felsökningsutmatning" + +#~ msgid "" +#~ "Consider running @command{guix gc} to free\n" +#~ "space." +#~ msgstr "" +#~ "Överväg att köra @command{guix gc} för att\n" +#~ "frigöra utrymme." diff --git a/tests/accounts.scm b/tests/accounts.scm index 673dd42432..78136390bb 100644 --- a/tests/accounts.scm +++ b/tests/accounts.scm @@ -62,6 +62,25 @@ (define %shadow-sample (shell "/bin/sh"))) port)))) +(test-equal "write-passwd with duplicate entry" + %passwd-sample + (call-with-output-string + (lambda (port) + (let ((charlie (password-entry + (name "charlie") + (uid 1000) (gid 998) + (real-name "Charlie") + (directory "/home/charlie") + (shell "/bin/sh")))) + (write-passwd (list (password-entry + (name "root") + (uid 0) (gid 0) + (real-name "Admin") + (directory "/root") + (shell "/bin/sh")) + charlie charlie) + port))))) + (test-equal "read-passwd + write-passwd" %passwd-sample (call-with-output-string diff --git a/tests/guix-pack-relocatable.sh b/tests/guix-pack-relocatable.sh index ebada62c01..e93610eedc 100644 --- a/tests/guix-pack-relocatable.sh +++ b/tests/guix-pack-relocatable.sh @@ -78,3 +78,9 @@ else "$test_directory/Bin/sed" --version > "$test_directory/output" fi grep 'GNU sed' "$test_directory/output" +chmod -Rf +w "$test_directory"; rm -rf "$test_directory"/* + +# Ensure '-R' works with outputs other than "out". +tarball="`guix pack -R -S /share=share groff:doc`" +(cd "$test_directory"; tar xvf "$tarball") +test -d "$test_directory/share/doc/groff/html" diff --git a/tests/pack.scm b/tests/pack.scm index ea88cd89f2..71ff5aec18 100644 --- a/tests/pack.scm +++ b/tests/pack.scm @@ -169,6 +169,7 @@ (define bin (when (and (file-exists? (string-append bin "/guile")) (file-exists? "var/guix/db/db.sqlite") + (file-is-directory? "tmp") (string=? (string-append #$%bootstrap-guile "/bin") (pk 'binlink (readlink bin))) (string=? (string-append #$profile "/bin/guile")