From eb88ccf711673850ae3386624510f6add8534e53 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 22 Aug 2018 12:50:24 -0400 Subject: gnu: soundtouch: Update to 2.0.0. * gnu/packages/audio.scm (soundtouch): Update to 2.0.0. --- gnu/packages/audio.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 82533da4bb..66210db97d 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -2582,7 +2582,7 @@ Tracker 3 S3M and Impulse Tracker IT files.") (define-public soundtouch (package (name "soundtouch") - (version "1.8.0") + (version "2.0.0") (source (origin (method url-fetch) @@ -2590,7 +2590,8 @@ Tracker 3 S3M and Impulse Tracker IT files.") (string-append "http://www.surina.net/soundtouch/soundtouch-" version ".tar.gz")) (sha256 - (base32 "0sqn3wk4qz20vf0vz853l6dl1gnj1yhqxfwxqsc5lp529kbn2h9x")))) + (base32 + "09cxr02mfyj2bg731bj0i9hh565x8l9p91aclxs8wpqv8b8zf96j")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) -- cgit v1.2.3 From 373a9fd4db00f6dae8379cfd0d6aadc7251dc595 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 22 Aug 2018 13:07:42 -0400 Subject: gnu: soundtouch: Fix CVE-2018-{1000223,14044,14045}. * gnu/packages/patches/soundtouch-CVE-2018-14044-14045.patch, gnu/packages/patches/soundtouch-CVE-2018-1000223.patch: New files. * gnu/local.mk (dist_patch_DATA): Add them. * gnu/packages/audio.scm (soundtouch)[source]: Use them. --- gnu/local.mk | 2 + gnu/packages/audio.scm | 2 + .../patches/soundtouch-CVE-2018-1000223.patch | 143 +++++++++++++++++++++ .../patches/soundtouch-CVE-2018-14044-14045.patch | 138 ++++++++++++++++++++ 4 files changed, 285 insertions(+) create mode 100644 gnu/packages/patches/soundtouch-CVE-2018-1000223.patch create mode 100644 gnu/packages/patches/soundtouch-CVE-2018-14044-14045.patch diff --git a/gnu/local.mk b/gnu/local.mk index eb0862448f..72f0e192c9 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1139,6 +1139,8 @@ dist_patch_DATA = \ %D%/packages/patches/slim-reset.patch \ %D%/packages/patches/slim-login.patch \ %D%/packages/patches/sooperlooper-build-with-wx-30.patch \ + %D%/packages/patches/soundtouch-CVE-2018-14044-14045.patch \ + %D%/packages/patches/soundtouch-CVE-2018-1000223.patch \ %D%/packages/patches/steghide-fixes.patch \ %D%/packages/patches/superlu-dist-scotchmetis.patch \ %D%/packages/patches/swish-e-search.patch \ diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 66210db97d..1e54e8667e 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -2589,6 +2589,8 @@ Tracker 3 S3M and Impulse Tracker IT files.") (uri (string-append "http://www.surina.net/soundtouch/soundtouch-" version ".tar.gz")) + (patches (search-patches "soundtouch-CVE-2018-14044-14045.patch" + "soundtouch-CVE-2018-1000223.patch")) (sha256 (base32 "09cxr02mfyj2bg731bj0i9hh565x8l9p91aclxs8wpqv8b8zf96j")))) diff --git a/gnu/packages/patches/soundtouch-CVE-2018-1000223.patch b/gnu/packages/patches/soundtouch-CVE-2018-1000223.patch new file mode 100644 index 0000000000..961a183565 --- /dev/null +++ b/gnu/packages/patches/soundtouch-CVE-2018-1000223.patch @@ -0,0 +1,143 @@ +Fix CVE-2018-1000223: + +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1000223 +https://gitlab.com/soundtouch/soundtouch/issues/6 + +Patches copied from upstream source repository: + +https://gitlab.com/soundtouch/soundtouch/commit/9e02d9b04fda6c1f44336ff00bb5af1e2ffc039e +https://gitlab.com/soundtouch/soundtouch/commit/e0240689056e4182fffdc2a16aa6e3425a15e275 +https://gitlab.com/soundtouch/soundtouch/commit/46531e5b92dd80dd9a7947463d6224fc7cb21967 + +From 9e02d9b04fda6c1f44336ff00bb5af1e2ffc039e Mon Sep 17 00:00:00 2001 +From: oparviainen +Date: Sun, 12 Aug 2018 20:24:37 +0300 +Subject: [PATCH] Added minimum size check for WAV header block lengh values + +--- + source/SoundStretch/WavFile.cpp | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +diff --git a/source/SoundStretch/WavFile.cpp b/source/SoundStretch/WavFile.cpp +index 7e7ade2..68818c9 100644 +--- a/source/SoundStretch/WavFile.cpp ++++ b/source/SoundStretch/WavFile.cpp +@@ -530,7 +530,11 @@ int WavInFile::readHeaderBlock() + // read length of the format field + if (fread(&nLen, sizeof(int), 1, fptr) != 1) return -1; + // swap byte order if necessary +- _swap32(nLen); // int format_len; ++ _swap32(nLen); ++ ++ // verify that header length isn't smaller than expected ++ if (nLen < sizeof(header.format) - 8) return -1; ++ + header.format.format_len = nLen; + + // calculate how much length differs from expected +@@ -572,6 +576,10 @@ int WavInFile::readHeaderBlock() + if (fread(&nLen, sizeof(int), 1, fptr) != 1) return -1; + // swap byte order if necessary + _swap32(nLen); // int fact_len; ++ ++ // verify that fact length isn't smaller than expected ++ if (nLen < sizeof(header.fact) - 8) return -1; ++ + header.fact.fact_len = nLen; + + // calculate how much length differs from expected +-- +2.18.0 + +From e0240689056e4182fffdc2a16aa6e3425a15e275 Mon Sep 17 00:00:00 2001 +From: oparviainen +Date: Mon, 13 Aug 2018 19:16:16 +0300 +Subject: [PATCH] Fixed WavFile header/fact not-too-small check + +--- + source/SoundStretch/WavFile.cpp | 22 +++++++++++----------- + 1 file changed, 11 insertions(+), 11 deletions(-) + +diff --git a/source/SoundStretch/WavFile.cpp b/source/SoundStretch/WavFile.cpp +index 4af7a4c..3421bca 100644 +--- a/source/SoundStretch/WavFile.cpp ++++ b/source/SoundStretch/WavFile.cpp +@@ -518,13 +518,13 @@ int WavInFile::readHeaderBlock() + // swap byte order if necessary + _swap32(nLen); + +- // verify that header length isn't smaller than expected +- if (nLen < sizeof(header.format) - 8) return -1; ++ // calculate how much length differs from expected ++ nDump = nLen - ((int)sizeof(header.format) - 8); + +- header.format.format_len = nLen; ++ // verify that header length isn't smaller than expected structure ++ if (nDump < 0) return -1; + +- // calculate how much length differs from expected +- nDump = nLen - ((int)sizeof(header.format) - 8); ++ header.format.format_len = nLen; + + // if format_len is larger than expected, read only as much data as we've space for + if (nDump > 0) +@@ -561,16 +561,16 @@ int WavInFile::readHeaderBlock() + // read length of the fact field + if (fread(&nLen, sizeof(int), 1, fptr) != 1) return -1; + // swap byte order if necessary +- _swap32(nLen); // int fact_len; +- +- // verify that fact length isn't smaller than expected +- if (nLen < sizeof(header.fact) - 8) return -1; +- +- header.fact.fact_len = nLen; ++ _swap32(nLen); + + // calculate how much length differs from expected + nDump = nLen - ((int)sizeof(header.fact) - 8); + ++ // verify that fact length isn't smaller than expected structure ++ if (nDump < 0) return -1; ++ ++ header.fact.fact_len = nLen; ++ + // if format_len is larger than expected, read only as much data as we've space for + if (nDump > 0) + { +-- +2.18.0 + +From 46531e5b92dd80dd9a7947463d6224fc7cb21967 Mon Sep 17 00:00:00 2001 +From: olli +Date: Mon, 13 Aug 2018 19:42:58 +0300 +Subject: [PATCH] Improved WavFile header/fact not-too-small check + +--- + source/SoundStretch/WavFile.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/source/SoundStretch/WavFile.cpp b/source/SoundStretch/WavFile.cpp +index 3421bca..9d90b8a 100644 +--- a/source/SoundStretch/WavFile.cpp ++++ b/source/SoundStretch/WavFile.cpp +@@ -522,7 +522,7 @@ int WavInFile::readHeaderBlock() + nDump = nLen - ((int)sizeof(header.format) - 8); + + // verify that header length isn't smaller than expected structure +- if (nDump < 0) return -1; ++ if ((nLen < 0) || (nDump < 0)) return -1; + + header.format.format_len = nLen; + +@@ -567,7 +567,7 @@ int WavInFile::readHeaderBlock() + nDump = nLen - ((int)sizeof(header.fact) - 8); + + // verify that fact length isn't smaller than expected structure +- if (nDump < 0) return -1; ++ if ((nLen < 0) || (nDump < 0)) return -1; + + header.fact.fact_len = nLen; + +-- +2.18.0 + diff --git a/gnu/packages/patches/soundtouch-CVE-2018-14044-14045.patch b/gnu/packages/patches/soundtouch-CVE-2018-14044-14045.patch new file mode 100644 index 0000000000..cc0282fc7b --- /dev/null +++ b/gnu/packages/patches/soundtouch-CVE-2018-14044-14045.patch @@ -0,0 +1,138 @@ +Fix CVE-2018-14044 and CVE-2018-14045: + +https://gitlab.com/soundtouch/soundtouch/issues/7 +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-14044 +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-14045 + +Patch copied from upstream source repository: + +https://gitlab.com/soundtouch/soundtouch/commit/107f2c5d201a4dfea1b7f15c5957ff2ac9e5f260 + +From 107f2c5d201a4dfea1b7f15c5957ff2ac9e5f260 Mon Sep 17 00:00:00 2001 +From: oparviainen +Date: Sun, 12 Aug 2018 20:00:56 +0300 +Subject: [PATCH] Replaced illegal-number-of-channel assertions with run-time + exception + +--- + include/FIFOSamplePipe.h | 12 ++++++++++++ + include/STTypes.h | 3 +++ + source/SoundTouch/FIFOSampleBuffer.cpp | 3 ++- + source/SoundTouch/RateTransposer.cpp | 5 ++--- + source/SoundTouch/SoundTouch.cpp | 8 ++------ + source/SoundTouch/TDStretch.cpp | 5 ++--- + 6 files changed, 23 insertions(+), 13 deletions(-) + +diff --git a/include/FIFOSamplePipe.h b/include/FIFOSamplePipe.h +index 4ec9275..b08f836 100644 +--- a/include/FIFOSamplePipe.h ++++ b/include/FIFOSamplePipe.h +@@ -51,6 +51,18 @@ namespace soundtouch + /// Abstract base class for FIFO (first-in-first-out) sample processing classes. + class FIFOSamplePipe + { ++protected: ++ ++ bool verifyNumberOfChannels(int nChannels) const ++ { ++ if ((nChannels > 0) && (nChannels <= SOUNDTOUCH_MAX_CHANNELS)) ++ { ++ return true; ++ } ++ ST_THROW_RT_ERROR("Error: Illegal number of channels"); ++ return false; ++ } ++ + public: + // virtual default destructor + virtual ~FIFOSamplePipe() {} +diff --git a/include/STTypes.h b/include/STTypes.h +index 03e7e07..862505e 100644 +--- a/include/STTypes.h ++++ b/include/STTypes.h +@@ -56,6 +56,9 @@ typedef unsigned long ulong; + + namespace soundtouch + { ++ /// Max allowed number of channels ++ #define SOUNDTOUCH_MAX_CHANNELS 16 ++ + /// Activate these undef's to overrule the possible sampletype + /// setting inherited from some other header file: + //#undef SOUNDTOUCH_INTEGER_SAMPLES +diff --git a/source/SoundTouch/FIFOSampleBuffer.cpp b/source/SoundTouch/FIFOSampleBuffer.cpp +index f0d5e42..706e869 100644 +--- a/source/SoundTouch/FIFOSampleBuffer.cpp ++++ b/source/SoundTouch/FIFOSampleBuffer.cpp +@@ -73,7 +73,8 @@ void FIFOSampleBuffer::setChannels(int numChannels) + { + uint usedBytes; + +- assert(numChannels > 0); ++ if (!verifyNumberOfChannels(numChannels)) return; ++ + usedBytes = channels * samplesInBuffer; + channels = (uint)numChannels; + samplesInBuffer = usedBytes / channels; +diff --git a/source/SoundTouch/RateTransposer.cpp b/source/SoundTouch/RateTransposer.cpp +index 8b66be3..d115a4c 100644 +--- a/source/SoundTouch/RateTransposer.cpp ++++ b/source/SoundTouch/RateTransposer.cpp +@@ -179,11 +179,10 @@ void RateTransposer::processSamples(const SAMPLETYPE *src, uint nSamples) + // Sets the number of channels, 1 = mono, 2 = stereo + void RateTransposer::setChannels(int nChannels) + { +- assert(nChannels > 0); ++ if (!verifyNumberOfChannels(nChannels) || ++ (pTransposer->numChannels == nChannels)) return; + +- if (pTransposer->numChannels == nChannels) return; + pTransposer->setChannels(nChannels); +- + inputBuffer.setChannels(nChannels); + midBuffer.setChannels(nChannels); + outputBuffer.setChannels(nChannels); +diff --git a/source/SoundTouch/SoundTouch.cpp b/source/SoundTouch/SoundTouch.cpp +index 7b6756b..06bdd56 100644 +--- a/source/SoundTouch/SoundTouch.cpp ++++ b/source/SoundTouch/SoundTouch.cpp +@@ -139,18 +139,14 @@ uint SoundTouch::getVersionId() + // Sets the number of channels, 1 = mono, 2 = stereo + void SoundTouch::setChannels(uint numChannels) + { +- /*if (numChannels != 1 && numChannels != 2) +- { +- //ST_THROW_RT_ERROR("Illegal number of channels"); +- return; +- }*/ ++ if (!verifyNumberOfChannels(numChannels)) return; ++ + channels = numChannels; + pRateTransposer->setChannels((int)numChannels); + pTDStretch->setChannels((int)numChannels); + } + + +- + // Sets new rate control value. Normal rate = 1.0, smaller values + // represent slower rate, larger faster rates. + void SoundTouch::setRate(double newRate) +diff --git a/source/SoundTouch/TDStretch.cpp b/source/SoundTouch/TDStretch.cpp +index 149cdb9..be2dc88 100644 +--- a/source/SoundTouch/TDStretch.cpp ++++ b/source/SoundTouch/TDStretch.cpp +@@ -588,9 +588,8 @@ void TDStretch::setTempo(double newTempo) + // Sets the number of channels, 1 = mono, 2 = stereo + void TDStretch::setChannels(int numChannels) + { +- assert(numChannels > 0); +- if (channels == numChannels) return; +-// assert(numChannels == 1 || numChannels == 2); ++ if (!verifyNumberOfChannels(numChannels) || ++ (channels == numChannels)) return; + + channels = numChannels; + inputBuffer.setChannels(channels); +-- +2.18.0 + -- cgit v1.2.3 From 5fab62527cda73268cade815ba45e86cc530313b Mon Sep 17 00:00:00 2001 From: Paul Garlick Date: Wed, 22 Aug 2018 17:41:26 +0100 Subject: gnu: python-pkgconfig: Update to 1.3.1. * gnu/packages/python.scm (python-pkgconfig): Update to 1.3.1. Signed-off-by: Leo Famulari --- gnu/packages/python.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 39d8931c13..c0ad85cf20 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -8667,14 +8667,14 @@ CloudFront content delivery network.") (define-public python-pkgconfig (package (name "python-pkgconfig") - (version "1.1.0") + (version "1.3.1") (source (origin (method url-fetch) (uri (pypi-uri "pkgconfig" version)) (sha256 (base32 - "1pw0kmvc57sjmaxi6c54fqsnihqj6hvhc9y1vaz36axafzqam7bh")))) + "107x2wmchlch8saixb488cgjz9n6inl38wi7nxkb942rbaapxiqb")))) (build-system python-build-system) (native-inputs `(("python-nose" ,python-nose))) -- cgit v1.2.3 From 414f620fbbba353986b2ecdb6274e35a53950323 Mon Sep 17 00:00:00 2001 From: Paul Garlick Date: Wed, 22 Aug 2018 17:41:27 +0100 Subject: gnu: python-pkgconfig: Enable tests. * gnu/packages/python.scm (python-pkgconfig)[arguments]: Replace 'check' phase. Signed-off-by: Leo Famulari --- gnu/packages/python.scm | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index c0ad85cf20..3c46102da1 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -8681,19 +8681,18 @@ CloudFront content delivery network.") (inputs `(("pkg-config" ,pkg-config))) (arguments - `(;; Tests fail with "ValueError: _type_ 'v' not supported" on Python 3, - ;; and on Python 2 they need the dl module deprecated since Python 2.6. - #:tests? #f - ;; Hard-code the path to pkg-config. - #:phases + `(#:phases (modify-phases %standard-phases - (add-before - 'build 'patch - (lambda _ - (substitute* "pkgconfig/pkgconfig.py" - (("cmd = 'pkg-config") - (string-append "cmd = '" (which "pkg-config")))) - #t))))) + (add-before 'build 'patch + ;; Hard-code the path to pkg-config. + (lambda _ + (substitute* "pkgconfig/pkgconfig.py" + (("cmd = 'pkg-config") + (string-append "cmd = '" (which "pkg-config")))) + #t)) + (replace 'check + (lambda _ + (invoke "nosetests" "test.py")))))) (home-page "https://github.com/matze/pkgconfig") (synopsis "Python interface for pkg-config") (description "This module provides a Python interface to pkg-config. It -- cgit v1.2.3 From 58927996d9171aa7054d20de7dbd393ebd7a3efa Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 22 Aug 2018 15:39:14 -0400 Subject: gnu: perl-dbd-mysql: Update to 4.046. * gnu/packages/databases.scm (perl-dbd-mysql): Update to 4.046. [source]: Update URL. Remove 'perl-dbd-mysql-CVE-2017-10788.patch'. * gnu/packages/patches/perl-dbd-mysql-CVE-2017-10788.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/databases.scm | 7 ++- .../patches/perl-dbd-mysql-CVE-2017-10788.patch | 62 ---------------------- 3 files changed, 3 insertions(+), 67 deletions(-) delete mode 100644 gnu/packages/patches/perl-dbd-mysql-CVE-2017-10788.patch diff --git a/gnu/local.mk b/gnu/local.mk index 72f0e192c9..71f3583f88 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1018,7 +1018,6 @@ dist_patch_DATA = \ %D%/packages/patches/perl-archive-tar-CVE-2018-12015.patch \ %D%/packages/patches/perl-file-path-CVE-2017-6512.patch \ %D%/packages/patches/perl-autosplit-default-time.patch \ - %D%/packages/patches/perl-dbd-mysql-CVE-2017-10788.patch \ %D%/packages/patches/perl-deterministic-ordering.patch \ %D%/packages/patches/perl-finance-quote-unuse-mozilla-ca.patch \ %D%/packages/patches/perl-io-socket-ssl-openssl-1.0.2f-fix.patch \ diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 9dca5f4e62..4e64fb78b4 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -1472,16 +1472,15 @@ columns, primary keys, unique constraints and relationships.") (define-public perl-dbd-mysql (package (name "perl-dbd-mysql") - (version "4.043") + (version "4.046") (source (origin (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/M/MI/MICHIELB/" + (uri (string-append "mirror://cpan/authors/id/C/CA/CAPTTOFU/" "DBD-mysql-" version ".tar.gz")) (sha256 (base32 - "16bg7l28n65ngi1abjxvwk906a80i2vd5vzjn812dx8phdg8d7v2")) - (patches (search-patches "perl-dbd-mysql-CVE-2017-10788.patch")))) + "1xziv9w87cl3fbl1mqkdrx28mdqly3gs6gs1ynbmpl2rr4p6arb1")))) (build-system perl-build-system) ;; Tests require running MySQL server (arguments `(#:tests? #f)) diff --git a/gnu/packages/patches/perl-dbd-mysql-CVE-2017-10788.patch b/gnu/packages/patches/perl-dbd-mysql-CVE-2017-10788.patch deleted file mode 100644 index 74613cb632..0000000000 --- a/gnu/packages/patches/perl-dbd-mysql-CVE-2017-10788.patch +++ /dev/null @@ -1,62 +0,0 @@ -Fix CVE-2017-10788: - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-10788 - -Patch written to match corrected documentation specifications: - -Old: http://web.archive.org/web/20161220021610/https://dev.mysql.com/doc/refman/5.7/en/mysql-stmt-close.html -New: https://dev.mysql.com/doc/refman/5.7/en/mysql-stmt-close.html - -The patch itself is from https://github.com/perl5-dbi/DBD-mysql/issues/120#issuecomment-312420660. - -From 9ce10cfae7138c37c3a0cb2ba2a1d682482943d0 Mon Sep 17 00:00:00 2001 -From: Pali -Date: Sun, 25 Jun 2017 10:07:39 +0200 -Subject: [PATCH] Fix use-after-free after calling mysql_stmt_close() - -Ignore return value from mysql_stmt_close() and also its error message -because it points to freed memory after mysql_stmt_close() was called. ---- - dbdimp.c | 8 ++------ - mysql.xs | 7 ++----- - 2 files changed, 4 insertions(+), 11 deletions(-) - -diff --git a/dbdimp.c b/dbdimp.c -index c60a5f6..a6410e5 100644 ---- a/dbdimp.c -+++ b/dbdimp.c -@@ -4894,12 +4894,8 @@ void dbd_st_destroy(SV *sth, imp_sth_t *imp_sth) { - - if (imp_sth->stmt) - { -- if (mysql_stmt_close(imp_sth->stmt)) -- { -- do_error(DBIc_PARENT_H(imp_sth), mysql_stmt_errno(imp_sth->stmt), -- mysql_stmt_error(imp_sth->stmt), -- mysql_stmt_sqlstate(imp_sth->stmt)); -- } -+ mysql_stmt_close(imp_sth->stmt); -+ imp_sth->stmt= NULL; - } - #endif - -diff --git a/mysql.xs b/mysql.xs -index 55376e1..affde59 100644 ---- a/mysql.xs -+++ b/mysql.xs -@@ -434,11 +434,8 @@ do(dbh, statement, attr=Nullsv, ...) - if (bind) - Safefree(bind); - -- if(mysql_stmt_close(stmt)) -- { -- fprintf(stderr, "\n failed while closing the statement"); -- fprintf(stderr, "\n %s", mysql_stmt_error(stmt)); -- } -+ mysql_stmt_close(stmt); -+ stmt= NULL; - - if (retval == -2) /* -2 means error */ - { --- -1.7.9.5 -- cgit v1.2.3 From b0cb92b2d43a2c4d5fa9b3f8c04c5732c60061e7 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 23 Aug 2018 00:41:17 +0200 Subject: gnu: Add guile-gcrypt. * gnu/packages/gnupg.scm (guile-gcrypt): New variable. --- gnu/packages/gnupg.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 70e7ddbe58..c98a611e83 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -40,6 +40,7 @@ #:use-module (gnu packages curl) #:use-module (gnu packages crypto) #:use-module (gnu packages emacs) + #:use-module (gnu packages guile) #:use-module (gnu packages openldap) #:use-module (gnu packages perl) #:use-module (gnu packages perl-check) @@ -56,6 +57,7 @@ #:use-module (gnu packages ncurses) #:use-module (gnu packages security-token) #:use-module (gnu packages swig) + #:use-module (gnu packages texinfo) #:use-module (gnu packages tls) #:use-module (gnu packages tor) #:use-module (gnu packages web) @@ -451,6 +453,39 @@ QGpgME was originally developed as part of libkleo and incorporated into gpgpme starting with version 1.7.") (license license:gpl2+))) ;; Note: this differs from gpgme +(define-public guile-gcrypt + (package + (name "guile-gcrypt") + (version "0.1.0") + (home-page "https://notabug.org/cwebber/guile-gcrypt") + (source (origin + (method git-fetch) + (uri (git-reference + (url (string-append home-page ".git")) + (commit (string-append "v" version)))) + (sha256 + (base32 + "1lhgh3105yi0ggrjsjibv4wp1ipz8s17pa820hk2wln3rc04wpvf")) + (file-name (string-append name "-" version "-checkout")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("autoconf" ,autoconf) + ("automake" ,automake) + ("texinfo" ,texinfo))) + (inputs + `(("guile" ,guile-2.2) + ("libgcrypt" ,libgcrypt))) + (home-page "https://notabug.org/cwebber/guile-gcrypt") + (synopsis "Cryptography library for Guile using Libgcrypt") + (description + "Guile-Gcrypt provides a Guile 2.x interface to a subset of the +GNU Libgcrypt crytographic library. It provides modules for cryptographic +hash functions, message authentication codes (MAC), public-key cryptography, +strong randomness, and more. It is implemented using the foreign function +interface (FFI) of Guile.") + (license license:gpl3+))) + (define-public python-gpg (package (name "python-gpg") -- cgit v1.2.3 From 435722f72c5dcc53e2920c7b4910f1b8262ed32b Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Thu, 23 Aug 2018 02:20:00 -0400 Subject: gnu: linux-libre@4.4: Update to 4.4.151. * gnu/packages/linux.scm (linux-libre-4.4): Update to 4.4.151. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 968beb52ee..d7ae05331d 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -451,8 +451,8 @@ It has been modified to remove all non-free binary blobs.") #:configuration-file kernel-config)) (define-public linux-libre-4.4 - (make-linux-libre "4.4.150" - "0dbz6bzxnr8dgp91lnf3jp42cw6dld4yq7ngigpq7s6ymr59j3ah" + (make-linux-libre "4.4.151" + "0irzdq4p8a6dxyx5basgrc7af7w48hmyjwbk5hff8wn8jy71p9zm" %intel-compatible-systems #:configuration-file kernel-config)) -- cgit v1.2.3 From bb2efc03849f2b89e9bfd85164a1c13df883143f Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Thu, 23 Aug 2018 02:20:44 -0400 Subject: gnu: linux-libre@4.9: Update to 4.9.123. * gnu/packages/linux.scm (linux-libre-4.9): Update to 4.9.123. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index d7ae05331d..0c50340447 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -445,8 +445,8 @@ It has been modified to remove all non-free binary blobs.") #:configuration-file kernel-config)) (define-public linux-libre-4.9 - (make-linux-libre "4.9.122" - "1yjld5q0xpsv4pd285hjp50kr2i41p3yiy1afp8nf88322i2947w" + (make-linux-libre "4.9.123" + "1rljdp3vzhmdc6qha6b9dq0d1a3xz06rn51pb4ad3a2y61mph9sv" %intel-compatible-systems #:configuration-file kernel-config)) -- cgit v1.2.3 From 98dfe06e3e2030e136f9c820b00851ddcc57eb68 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Thu, 23 Aug 2018 02:21:28 -0400 Subject: gnu: linux-libre@4.14: Update to 4.14.66. * gnu/packages/linux.scm (%linux-libre-4.14-version): Update to 4.14.66. (%linux-libre-4.14-hash): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 0c50340447..95643400d8 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -435,8 +435,8 @@ It has been modified to remove all non-free binary blobs.") #:patches %linux-libre-4.18-patches #:configuration-file kernel-config)) -(define %linux-libre-4.14-version "4.14.65") -(define %linux-libre-4.14-hash "0sdv2c0ix2mdc5h10d56bwi77hpb4gibmrsl1ydyb95hgg37k6h0") +(define %linux-libre-4.14-version "4.14.66") +(define %linux-libre-4.14-hash "1sf18m6xjyg535yviz3yjbislf57s180y67z7mzbcl5pq9352bg9") (define-public linux-libre-4.14 (make-linux-libre %linux-libre-4.14-version -- cgit v1.2.3 From 12dc04d0b4cbd6df3793206f63cc41382017ca0c Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Thu, 23 Aug 2018 02:22:57 -0400 Subject: gnu: linux-libre: Update to 4.18.4. * gnu/packages/linux.scm (%linux-libre-version): Update to 4.18.4. (%linux-libre-hash): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 95643400d8..9b9cf01560 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -404,8 +404,8 @@ It has been modified to remove all non-free binary blobs.") ;; supports qemu "virt" machine and possibly a large number of ARM boards. ;; See : https://wiki.debian.org/DebianKernel/ARMMP. -(define %linux-libre-version "4.18.3") -(define %linux-libre-hash "0z7nnkmk5d2npilviqxa0m6nn30f5arhviysby78kkb3j2isx9jx") +(define %linux-libre-version "4.18.4") +(define %linux-libre-hash "1q3bndhwxwcrlyi0qcgxjsp5fl92wkfgk4y41qwrrywfv9xj3sl7") (define %linux-libre-4.18-patches (list %boot-logo-patch -- cgit v1.2.3 From efe2e7506e0aa7a3d88406b0bc8967004c045fc7 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Thu, 23 Aug 2018 02:27:47 -0400 Subject: gnu: guile-gcrypt: Remove duplicate 'home-page' field. This is a followup to commit b0cb92b2d43a2c4d5fa9b3f8c04c5732c60061e7. * gnu/packages/gnupg.scm (guile-gcrypt): Remove duplicate 'home-page' field. --- gnu/packages/gnupg.scm | 1 - 1 file changed, 1 deletion(-) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index c98a611e83..d5fb12650f 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -476,7 +476,6 @@ gpgpme starting with version 1.7.") (inputs `(("guile" ,guile-2.2) ("libgcrypt" ,libgcrypt))) - (home-page "https://notabug.org/cwebber/guile-gcrypt") (synopsis "Cryptography library for Guile using Libgcrypt") (description "Guile-Gcrypt provides a Guile 2.x interface to a subset of the -- cgit v1.2.3 From 4e51d3e9ae2dcf406b425d8394d0aaa51e8efdd0 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Thu, 23 Aug 2018 02:30:30 -0400 Subject: gnu: guile-redis: Remove duplicate 'home-page' field. * gnu/packages/guile.scm (guile-redis): Remove duplicate 'home-page' field. --- gnu/packages/guile.scm | 1 - 1 file changed, 1 deletion(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 30d2e2612c..a45b62b0f8 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -1243,7 +1243,6 @@ above command-line parameters.") ("automake" ,automake) ("pkg-config" ,pkg-config) ("guile" ,guile-2.2))) - (home-page "https://savannah.nongnu.org/projects/guile-redis/") (synopsis "Redis client library for Guile") (description "Guile-redis provides a Scheme interface to the Redis key-value cache and store.") -- cgit v1.2.3 From b1a16000301612d638cddd888e8baa2f2adfebf3 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Thu, 23 Aug 2018 12:32:46 +0530 Subject: gnu: ghc-fgl: Update to 5.6.0.0. * gnu/packages/haskell.scm (ghc-fgl): Update to 5.6.0.0. [arguments]: Allow building with newer hspec. --- gnu/packages/haskell.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 7347c87534..0640158197 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Tonton ;;; Copyright © 2018 Timothy Sample +;;; Copyright © 2018 Arun Isaac ;;; ;;; This file is part of GNU Guix. ;;; @@ -3380,7 +3381,7 @@ variety of traversals.") (define-public ghc-fgl (package (name "ghc-fgl") - (version "5.5.3.0") + (version "5.6.0.0") (outputs '("out" "doc")) (source (origin @@ -3391,10 +3392,11 @@ variety of traversals.") ".tar.gz")) (sha256 (base32 - "0fbyb6jxy9whgrv6dgnkzz70cmy98arx3q2gnkhgl4a3d7idh36p")))) + "1i6cp4b3w7sjk7y1dq3fh6bci2sm5h3lnbbaw9ln19nwncg2wwll")))) (build-system haskell-build-system) (arguments - `(#:configure-flags (list "--allow-newer=QuickCheck"))) + `(#:configure-flags (list "--allow-newer=QuickCheck" + "--allow-newer=hspec"))) (inputs `(("ghc-mtl" ,ghc-mtl) ("ghc-hspec" ,ghc-hspec) -- cgit v1.2.3 From 66dbe158cf7678ffca110f27fbc4f428be6dc88f Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Thu, 23 Aug 2018 12:44:00 +0530 Subject: gnu: ghc-sandi: Update to 0.4.2. * gnu/packages/haskell.scm (ghc-sandi): Update to 0.4.2. --- gnu/packages/haskell.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 0640158197..4ab501ac9f 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -6848,7 +6848,7 @@ this problem.") (define-public ghc-sandi (package (name "ghc-sandi") - (version "0.4.0") ; darcs-2.12.4 needs == 0.4.* + (version "0.4.2") (source (origin (method url-fetch) @@ -6857,7 +6857,7 @@ this problem.") version ".tar.gz")) (sha256 (base32 - "1smf3bq44qni4zbgxpw7cy7b9g95fbrr73j8njjf6139naj9bj20")))) + "0dvkpk91n9kz2ha04rvp231ra9sgd1ilyc1qkzf9l03iir7zrh9b")))) (build-system haskell-build-system) (inputs `(("ghc-stringsearch" ,ghc-stringsearch) -- cgit v1.2.3 From c4348ca72ccbc75ba025dc7587a21ac0051105b7 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Thu, 23 Aug 2018 12:46:59 +0530 Subject: gnu: ghc-shelly: Update to 1.8.1. * gnu/packages/haskell.scm (ghc-shelly): Update to 1.8.1. [inputs]: Add ghc-hspec-contrib. --- gnu/packages/haskell.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 4ab501ac9f..1764344174 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -7263,7 +7263,7 @@ which can't be decoded in the current locale encoding.") (define-public ghc-shelly (package (name "ghc-shelly") - (version "1.7.0.1") + (version "1.8.1") (source (origin (method url-fetch) @@ -7272,7 +7272,7 @@ which can't be decoded in the current locale encoding.") version ".tar.gz")) (sha256 (base32 - "0a4ngy8jqcscqhimgiyz7f9kqm23is7x7gyjxr0j6iq1dy57ahq3")))) + "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y")))) (build-system haskell-build-system) (inputs `(("ghc-mtl" ,ghc-mtl) @@ -7288,7 +7288,8 @@ which can't be decoded in the current locale encoding.") ("ghc-async" ,ghc-async) ("ghc-transformers-base" ,ghc-transformers-base) ("ghc-hunit" ,ghc-hunit) - ("ghc-hspec" ,ghc-hspec))) + ("ghc-hspec" ,ghc-hspec) + ("ghc-hspec-contrib" ,ghc-hspec-contrib))) (home-page "https://github.com/yesodweb/Shelly.hs") (synopsis "Shell-like (systems) programming in Haskell") (description -- cgit v1.2.3 From a3ab433a14527e1cc50f0918df748120a265bdba Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Thu, 23 Aug 2018 13:00:53 +0530 Subject: gnu: ghc-fgl-arbitrary: Allow building with newer hspec. * gnu/packages/haskell.scm (ghc-fgl-arbitrary)[arguments]: Allow building with newer hspec. --- gnu/packages/haskell.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 1764344174..5501fb59d9 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -7081,7 +7081,8 @@ supported. A module of colour names (\"Data.Colour.Names\") is provided.") "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm")))) (build-system haskell-build-system) (arguments - `(#:configure-flags (list "--allow-newer=QuickCheck"))) + `(#:configure-flags (list "--allow-newer=QuickCheck" + "--allow-newer=hspec"))) (inputs `(("ghc-fgl" ,ghc-fgl) ("ghc-quickcheck" ,ghc-quickcheck) -- cgit v1.2.3 From 0fa2c552fcd5176b0484b77b7f7c94d82d46415e Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Thu, 23 Aug 2018 13:19:51 +0530 Subject: gnu: ghc-base-compat: Update to 0.10.4. * gnu/packages/haskell.scm (ghc-base-compat): Update to 0.10.4. --- gnu/packages/haskell.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 5501fb59d9..320fe4b211 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -4094,7 +4094,7 @@ system.") (define-public ghc-base-compat (package (name "ghc-base-compat") - (version "0.9.3") + (version "0.10.4") (source (origin (method url-fetch) @@ -4104,7 +4104,7 @@ system.") ".tar.gz")) (sha256 (base32 - "0452l6zf6fjhy4kxqwv6i6hhg6yfx4wcg450k3axpyj30l7jnq3x")))) + "0ksp990gxs731mq19rzbxrbs43nazfljjc8krlx5bjqblw3kfs8d")))) (build-system haskell-build-system) (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck) -- cgit v1.2.3 From e173a95ffa84b2ee7f213cf06f2f5af72f5096ed Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Thu, 23 Aug 2018 13:18:01 +0530 Subject: gnu: ghc-wl-pprint-text: Update to 1.2.0.0. * gnu/packages/haskell.scm (ghc-wl-pprint-text): Update to 1.2.0.0. [inputs]: Add ghc-base-compat. --- gnu/packages/haskell.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 320fe4b211..633ad8552d 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -7047,7 +7047,7 @@ supported. A module of colour names (\"Data.Colour.Names\") is provided.") (define-public ghc-wl-pprint-text (package (name "ghc-wl-pprint-text") - (version "1.1.0.4") + (version "1.2.0.0") (source (origin (method url-fetch) @@ -7056,10 +7056,11 @@ supported. A module of colour names (\"Data.Colour.Names\") is provided.") version ".tar.gz")) (sha256 (base32 - "1xgizzimfw17mpmw2afvmnvyag976j8ggn7k5r564rkw9f0m6bgz")))) + "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0")))) (build-system haskell-build-system) (inputs - `(("ghc-text" ,ghc-text))) + `(("ghc-base-compat" ,ghc-base-compat) + ("ghc-text" ,ghc-text))) (home-page "https://hackage.haskell.org/package/wl-pprint-text") (synopsis "Wadler/Leijen Pretty Printer for Text values") (description -- cgit v1.2.3 From f797a0e987c29f3f146a520a355b1a661f7eb79f Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Thu, 23 Aug 2018 13:05:21 +0530 Subject: gnu: ghc-graphviz: Update to 2999.20.0.2. * gnu/packages/haskell.scm (ghc-graphviz): Update to 2999.20.0.2. [native-inputs]: Add ghc-hspec, graphviz and hspec-discover. --- gnu/packages/haskell.scm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 633ad8552d..1d1ef2b86c 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -41,6 +41,7 @@ #:use-module (gnu packages gcc) #:use-module (gnu packages ghostscript) #:use-module (gnu packages gl) + #:use-module (gnu packages graphviz) #:use-module (gnu packages haskell-check) #:use-module (gnu packages haskell-crypto) #:use-module (gnu packages haskell-web) @@ -7100,14 +7101,14 @@ for generating graph-like data structures.") (define-public ghc-graphviz (package (name "ghc-graphviz") - (version "2999.18.1.2") + (version "2999.20.0.2") (source (origin (method url-fetch) (uri (string-append "https://hackage.haskell.org/package/" "graphviz/graphviz-" version ".tar.gz")) (sha256 (base32 - "1z453is01v0rnxlv6xx4iyaqv5vrp3bpz829mpv1a341sck2135h")))) + "0kj7ap0gnliviq2p8lscw1m06capnsa90vpvcys24nqy5nw2wrp7")))) (build-system haskell-build-system) (arguments `(#:configure-flags (list "--allow-newer=QuickCheck"))) @@ -7121,6 +7122,10 @@ for generating graph-like data structures.") ("ghc-temporary" ,ghc-temporary) ("ghc-text" ,ghc-text) ("ghc-wl-pprint-text" ,ghc-wl-pprint-text))) + (native-inputs + `(("ghc-hspec" ,ghc-hspec) + ("graphviz" ,graphviz) + ("hspec-discover" ,hspec-discover))) (home-page "https://hackage.haskell.org/package/graphviz") (synopsis "Bindings to Graphviz for graph visualisation") (description -- cgit v1.2.3 From cdccdec1f2a28f9091372141d25eca380e1c1e53 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Thu, 23 Aug 2018 14:37:57 +0530 Subject: gnu: ghc-quickcheck-instances: Update to 0.3.18. * gnu/packages/haskell-check.scm (ghc-quickcheck-instances): Update to 0.3.18. [arguments]: Allow building with newer base-compat. --- gnu/packages/haskell-check.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gnu/packages/haskell-check.scm b/gnu/packages/haskell-check.scm index 1d673c606a..c3ef85f3f0 100644 --- a/gnu/packages/haskell-check.scm +++ b/gnu/packages/haskell-check.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2017 rsiddharth ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Tonton +;;; Copyright © 2018 Arun Isaac ;;; ;;; This file is part of GNU Guix. ;;; @@ -342,7 +343,7 @@ development.") (define-public ghc-quickcheck-instances (package (name "ghc-quickcheck-instances") - (version "0.3.16.1") + (version "0.3.18") (source (origin (method url-fetch) @@ -352,8 +353,10 @@ development.") version ".tar.gz")) (sha256 (base32 - "01v5bs7r9yvhkvb4yc9bqnacy8r6cy2gr9lnmwx40n5apgi0gcbz")))) + "1bh1pzz5fdcqvzdcirqxna6fnjms02min5md716299g5niz46w55")))) (build-system haskell-build-system) + (arguments + `(#:configure-flags (list "--allow-newer=base-compat"))) (inputs `(("ghc-quickcheck" ,ghc-quickcheck) ("ghc-base-compat" ,ghc-base-compat) -- cgit v1.2.3 From d3c7e708582fbe9bf605e8b12dd7de08eb99dc43 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Thu, 23 Aug 2018 14:43:48 +0530 Subject: gnu: ghc-zlib: Update to 0.6.2. * gnu/packages/haskell.scm (ghc-zlib): Update to 0.6.2. --- gnu/packages/haskell.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 1d1ef2b86c..759ca6044e 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -1940,7 +1940,7 @@ literals.") (define-public ghc-zlib (package (name "ghc-zlib") - (version "0.6.1.1") + (version "0.6.2") (outputs '("out" "doc")) (source (origin @@ -1951,7 +1951,7 @@ literals.") ".tar.gz")) (sha256 (base32 - "0dd79dxf56d8f6ad9if3j87s9gg7yd17ckypjxwplrbkahlb9xf5")))) + "1vbzf0awb6zb456xf48za1kl22018646cfzq4frvxgb9ay97vk0d")))) (build-system haskell-build-system) ;; Tests require older versions of testy. (arguments `(#:tests? #f)) -- cgit v1.2.3 From 72816ebed216f4876df39f03d5873a52b2adf0e1 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Thu, 23 Aug 2018 15:51:43 +0530 Subject: gnu: darcs: Update to 2.14.1. * gnu/packages/version-control.scm (darcs): Update to 2.14.1. [arguments]: Add patch-sh phase. Enable tests. --- gnu/packages/version-control.scm | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index b7c8736339..5e0b497ace 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -21,6 +21,7 @@ ;;; Copyright © 2018 Sou Bunnbu ;;; Copyright © 2018 Christopher Baines ;;; Copyright © 2018 Timothy Sample +;;; Copyright © 2018 Arun Isaac ;;; ;;; This file is part of GNU Guix. ;;; @@ -1779,7 +1780,7 @@ be served with a HTTP file server of your choice.") (define-public darcs (package (name "darcs") - (version "2.12.5") + (version "2.14.1") (source (origin (method url-fetch) @@ -1787,7 +1788,7 @@ be served with a HTTP file server of your choice.") "darcs-" version ".tar.gz")) (sha256 (base32 - "0lrm0sal5pl453mkqn8b9fc9l7lwinc140iqihya9g17bk408nrm")) + "0dfd6bp2wy0aabxx7l93gi3dmq21j970cds424xdy1mgmjcvrpb1")) (modules '((guix build utils))) ;; Remove time-dependent code for reproducibility. (snippet @@ -1795,18 +1796,19 @@ be served with a HTTP file server of your choice.") (substitute* "darcs/darcs.hs" (("__DATE__") "\"1970-01-01\"") (("__TIME__") "\"00:00:00\"")) - (substitute* "src/impossible.h" - (("__DATE__") "\"\"") - (("__TIME__") "\"\"")) #t)))) (build-system haskell-build-system) (arguments `(#:configure-flags '("-fpkgconfig" "-fcurl" "-flibiconv" "-fthreaded" "-fnetwork-uri" "-fhttp" "--flag=executable" - "--flag=library" - "--allow-newer=shelly") - ;; FIXME: darcs is not compatible with the latest QuickCheck - #:tests? #f)) + "--flag=library") + #:phases + (modify-phases %standard-phases + (add-after 'patch-source-shebangs 'patch-sh + (lambda _ + (substitute* "tests/issue538.sh" + (("/bin/sh") (which "sh"))) + #t))))) (inputs `(("ghc-cmdargs" ,ghc-cmdargs) ("ghc-split" ,ghc-split) -- cgit v1.2.3 From 02489a6646b82f90d5b41e8a2c574a3452e4fda0 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 23 Aug 2018 02:07:18 +0200 Subject: gnu: duplicity: Update to 0.7.18. * gnu/packages/backup.scm (duplicity): Update to 0.7.18. --- gnu/packages/backup.scm | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 754dfa1a40..b36bb74f6f 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -67,7 +67,7 @@ (define-public duplicity (package (name "duplicity") - (version "0.7.17") + (version "0.7.18") (source (origin (method url-fetch) @@ -77,10 +77,10 @@ version ".tar.gz")) (sha256 (base32 - "0jmh3h09680xyf33hzxxxl74bwz66zqhzvjlj7j89r9rz3qwa91p")))) + "1qlika4l1k1nx8zr657ihcy0yzr1c1cdnjlbs325l5krvc3zbc5b")))) (build-system python-build-system) (native-inputs - `(("util-linux" ,util-linux) ;setsid command, for the tests + `(("util-linux" ,util-linux) ; setsid command, for the tests ("par2cmdline" ,par2cmdline) ("python-pexpect" ,python2-pexpect) ("python-fasteners" ,python2-fasteners) @@ -91,23 +91,23 @@ (inputs `(("librsync" ,librsync) ("lftp" ,lftp) - ("gnupg" ,gnupg) ;gpg executable needed - ("util-linux" ,util-linux) ;for setsid + ("gnupg" ,gnupg) ; gpg executable needed + ("util-linux" ,util-linux) ; for setsid ("tzdata" ,tzdata))) (arguments - `(#:python ,python-2 ;setup assumes Python 2 + `(#:python ,python-2 ; setup assumes Python 2 #:test-target "test" #:phases (modify-phases %standard-phases (add-before 'build 'patch-source (lambda* (#:key inputs #:allow-other-keys) - ;; embed gpg store name + ;; Embed gpg store name. (substitute* "duplicity/gpginterface.py" (("self.call = 'gpg'") (string-append "self.call = '" (assoc-ref inputs "gnupg") "/bin/gpg'"))) ;; This matches up with an unreleased upstream fix, it should be - ;; removed when the package is updated + ;; removed when the package is updated. ;; https://bazaar.launchpad.net/~duplicity-team/duplicity/0.8-series/revision/1308 (substitute* "duplicity/gpg.py" (("--no-secmem-warning'\\)") @@ -120,8 +120,8 @@ #t)) (add-before 'check 'check-setup (lambda* (#:key inputs #:allow-other-keys) - (setenv "HOME" (getcwd)) ;gpg needs to write to $HOME - (setenv "TZDIR" ;some timestamp checks need TZDIR + (setenv "HOME" (getcwd)) ; gpg needs to write to $HOME + (setenv "TZDIR" ; some timestamp checks need TZDIR (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo")) #t))))) -- cgit v1.2.3 From 51dbad04c58484349389e28e82bb6f93eefd649d Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 23 Aug 2018 03:48:54 +0200 Subject: gnu: r-rcpp: Update to 0.12.18. * gnu/packages/cran.scm (r-rcpp): Update to 0.12.18. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index b541f1c327..d5371f0603 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -482,13 +482,13 @@ processes. Most of its code is based on the @code{psutil} Python package.") (define-public r-rcpp (package (name "r-rcpp") - (version "0.12.17") + (version "0.12.18") (source (origin (method url-fetch) (uri (cran-uri "Rcpp" version)) (sha256 - (base32 "08xg8h3w25sdb3xr18g9pa0x8cirkdgljqapxmw56ss1j9fc89s2")))) + (base32 "006kpg2ph109rh1l13lqk26pp4as4fvl5661vrcczjygacgd1v7w")))) (build-system r-build-system) (home-page "http://www.rcpp.org") (synopsis "Seamless R and C++ integration") -- cgit v1.2.3 From ed61c44895123165e39e1357b089a18eee878ce9 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 20 Aug 2018 21:01:23 +0200 Subject: gnu: r-dplyr: Update to 0.7.6. * gnu/packages/statistics.scm (r-dplyr): Update to 0.7.6. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index c7cbd72f1c..883a7daae0 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1619,13 +1619,13 @@ and printing capabilities than traditional data frames.") (define-public r-dplyr (package (name "r-dplyr") - (version "0.7.5") + (version "0.7.6") (source (origin (method url-fetch) (uri (cran-uri "dplyr" version)) (sha256 (base32 - "0l6smzdgb8w505gyl8gnwlg988a6cmafh3rssiv00rsrd8qqzg9g")))) + "0c43h13s5mr0fklikbbm89gs6z5n66rkjzdv6w3w6kl5af5wr2fl")))) (build-system r-build-system) (propagated-inputs `(("r-assertthat" ,r-assertthat) -- cgit v1.2.3 From 39bb1cc77a19342365d04def7a5314a968c43eff Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 23 Aug 2018 02:58:01 +0200 Subject: gnu: r-digest: Update to 0.6.16. * gnu/packages/statistics.scm (r-digest): Update to 0.6.16. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 883a7daae0..55b8c50d7b 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -725,13 +725,13 @@ effects of different types of color-blindness.") (define-public r-digest (package (name "r-digest") - (version "0.6.15") + (version "0.6.16") (source (origin (method url-fetch) (uri (cran-uri "digest" version)) (sha256 - (base32 "1ia4ak956gnn0f5aqhwgam6g9z6f1y57zz8jv45jc8h79yxp8bl8")))) + (base32 "1lhs59pdjhpb63jyy98pi1shk9shw044k6vl0mvw0f40v08326ar")))) (build-system r-build-system) ;; Vignettes require r-knitr, which requires r-digest, so we have to ;; disable them and the tests. -- cgit v1.2.3 From fa5511b6e9626bd46d2f644f69d66fb1713fe3aa Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 23 Aug 2018 03:04:02 +0200 Subject: gnu: r-car: Update to 3.0-1. * gnu/packages/statistics.scm (r-car): Update to 3.0-1. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 55b8c50d7b..95a761e932 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -5172,14 +5172,14 @@ Companion to Applied Regression, Third Edition, Sage.") (define-public r-car (package (name "r-car") - (version "3.0-0") + (version "3.0-1") (source (origin (method url-fetch) (uri (cran-uri "car" version)) (sha256 (base32 - "1ks2jaav8lbxhzw56vpbnysjk3pvpmqh6avd574k0bha1226k81h")))) + "0rdk7hgahs38j6yv861i31wpmsmyvksxcv8jarvvcjl60whizhb2")))) (build-system r-build-system) (propagated-inputs `(("r-abind" ,r-abind) -- cgit v1.2.3 From 574e2ee8eadae80b780923beb6aa4104317624dd Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 23 Aug 2018 03:05:35 +0200 Subject: gnu: yubico-piv-tool: Update to 1.6.1. * gnu/packages/security-token.scm (yubico-piv-tool): Update to 1.6.1. --- gnu/packages/security-token.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm index d4e0437a5b..4b748b6644 100644 --- a/gnu/packages/security-token.scm +++ b/gnu/packages/security-token.scm @@ -274,7 +274,7 @@ authentication, encryption and digital signatures. OpenSC implements the PKCS (define-public yubico-piv-tool (package (name "yubico-piv-tool") - (version "1.6.0") + (version "1.6.1") (source (origin (method url-fetch) (uri (string-append @@ -282,7 +282,7 @@ authentication, encryption and digital signatures. OpenSC implements the PKCS name "-" version ".tar.gz")) (sha256 (base32 - "1p0df35qfm2xch64hc1x6k4gpgfl4hiqph5ai30bq8w7yxa3lvfc")))) + "10xgdc51xvszkxmsvqnbjs8ixxz7rfnfahh3wn8glllynmszbhwi")))) (build-system gnu-build-system) (inputs `(("gengetopt" ,gengetopt) -- cgit v1.2.3 From f868276b8af13ab577fffd41da5da33076e0665e Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 23 Aug 2018 05:11:19 +0200 Subject: gnu: wine-staging-patchset-data: Don't use unstable archive. * gnu/packages/wine.scm (wine-staging-patchset-data)[source]: Use GIT-FETCH and GIT-FILE-NAME. [native-inputs]: Remove unzip. [arguments]: Adjust and refactor accordingly. --- gnu/packages/wine.scm | 48 +++++++++++++++++++++++++----------------------- 1 file changed, 25 insertions(+), 23 deletions(-) diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index 0f3d227732..9c1257b2a1 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2016, 2017, 2018 Efraim Flashner ;;; Copyright © 2017, 2018 Rutger Helling ;;; Copyright © 2017 Nicolas Goaziou +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,6 +25,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) @@ -226,38 +228,38 @@ integrate Windows applications into your desktop.") (version "3.14") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/wine-staging/wine-staging/archive/v" - version ".zip")) - (file-name (string-append name "-" version ".zip")) - (sha256 - (base32 - "1w3n90ab3xyhdzxw1mnkp2cw76lpm5l75hy9xkw3kz2fwzq6lwz7")))) + (method git-fetch) + (uri (git-reference + (url "https://github.com/wine-staging/wine-staging") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0h6gck0p92hin0m13q1hnlfnqs4vy474w66ppinvqms2zn3vibgi")))) (build-system trivial-build-system) (native-inputs `(("bash" ,bash) - ("coreutils" ,coreutils) - ("unzip" ,unzip))) + ("coreutils" ,coreutils))) (arguments `(#:modules ((guix build utils)) #:builder (begin (use-modules (guix build utils)) - (let* ((out (assoc-ref %outputs "out")) - (wine-staging (string-append out "/share/wine-staging")) + (let* ((build-directory ,(string-append name "-" version)) (source (assoc-ref %build-inputs "source")) - (sh (string-append (assoc-ref %build-inputs "bash") "/bin/bash")) - (env (string-append (assoc-ref %build-inputs "coreutils") "/bin/env")) - (unzip (string-append (assoc-ref %build-inputs "unzip") "/bin/unzip"))) - (copy-file source (string-append ,name "-" ,version ".zip")) - (invoke unzip (string-append ,name "-" ,version ".zip")) - (substitute* (string-append "wine-staging-" ,version - "/patches/patchinstall.sh") (("/bin/sh") sh)) - (substitute* (string-append "wine-staging-" ,version - "/patches/gitapply.sh") (("/usr/bin/env") env)) - (mkdir-p wine-staging) - (copy-recursively (string-append "wine-staging-" ,version) - wine-staging) + (bash (assoc-ref %build-inputs "bash")) + (coreutils (assoc-ref %build-inputs "coreutils")) + (out (assoc-ref %outputs "out")) + (wine-staging (string-append out "/share/wine-staging"))) + (copy-recursively source build-directory) + (with-directory-excursion build-directory + (substitute* "patches/patchinstall.sh" + (("/bin/sh") + (string-append bash "/bin/sh"))) + (substitute* "patches/gitapply.sh" + (("/usr/bin/env") + (string-append coreutils "/bin/env")))) + (copy-recursively build-directory wine-staging) #t)))) (home-page "https://github.com/wine-staging") (synopsis "Patchset for Wine") -- cgit v1.2.3 From 9e2992116213ef16b947ef371d8cd0e93f39de44 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 23 Aug 2018 03:11:30 +0200 Subject: gnu: byobu: Update to 5.127. * gnu/packages/screen.scm (byobu): Update to 5.127. * gnu/packages/patches/byobu-writable-status.patch: Adjust context accordingly. --- gnu/packages/patches/byobu-writable-status.patch | 10 +++++----- gnu/packages/screen.scm | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/gnu/packages/patches/byobu-writable-status.patch b/gnu/packages/patches/byobu-writable-status.patch index 2858280273..31dc1f2fd3 100644 --- a/gnu/packages/patches/byobu-writable-status.patch +++ b/gnu/packages/patches/byobu-writable-status.patch @@ -1,13 +1,13 @@ Skeleton status files are installed read-only. When copying to the config dir upon initialization, make sure they end up writable. ---- byobu-5.98/usr/bin/byobu-janitor.in -+++ byobu-5.98/usr/bin/byobu-janitor.in +--- byobu-5.127/usr/bin/byobu-janitor.in ++++ byobu-5.127/usr/bin/byobu-janitor.in @@ -82,6 +82,7 @@ if [ ! -r "$BYOBU_CONFIG_DIR/$f" ]; then # Copy from skeleton, if possible cp -f "$BYOBU_PREFIX/share/$PKG/status/$f" "$BYOBU_CONFIG_DIR/$f" + chmod +w "$BYOBU_CONFIG_DIR/$f" - # Enable ec2_cost, if we're in ec2 and seeding a new setup - if metadata_available; then - $BYOBU_SED_INLINE -e "s/#ec2_cost/ec2_cost/g" "$($BYOBU_READLINK -f $BYOBU_CONFIG_DIR/$f)" + fi + done + diff --git a/gnu/packages/screen.scm b/gnu/packages/screen.scm index 940afcc2d5..e41fb80a53 100644 --- a/gnu/packages/screen.scm +++ b/gnu/packages/screen.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2016, 2017 Efraim Flashner ;;; Copyright © 2016 Alex Griffin ;;; Copyright © 2017 Mathieu Othacehe -;;; Copyright © 2017 Tobias Geerinckx-Rice +;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -102,7 +102,7 @@ controlling terminal and attach to it later.") (define-public byobu (package (name "byobu") - (version "5.98") + (version "5.127") (source (origin (method url-fetch) @@ -111,11 +111,11 @@ controlling terminal and attach to it later.") version ".orig.tar.gz")) (sha256 (base32 - "1s8nh4wbds1nh52i0d1hy1b308jjf4siwpq92lna1zh9ll4x71j5")) + "0fznlj454vgxgzfw3avmvvjpawggs66da5l8k6v0lnzzd75wgbsb")) (patches (search-patches "byobu-writable-status.patch")))) (build-system gnu-build-system) (inputs - `(("python" ,python-wrapper) ;for config and session GUIs + `(("python" ,python-wrapper) ; for config and session GUIs ("python-newt" ,newt "python"))) (arguments `(#:phases @@ -123,7 +123,7 @@ controlling terminal and attach to it later.") (add-before 'configure 'provide-locale (lambda* (#:key inputs #:allow-other-keys) - (let ((libc (assoc-ref inputs "libc"))) ;implicit input + (let ((libc (assoc-ref inputs "libc"))) ; implicit input (substitute* "usr/bin/byobu.in" (("locale") (string-append libc "/bin/locale"))) #t))) -- cgit v1.2.3 From 97353dfb697cf088cf6ca83dc9aa107d23f96c9a Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 23 Aug 2018 03:14:57 +0200 Subject: gnu: byobu: Update home page. * gnu/packages/screen.scm (byobu)[home-page]: Update & use HTTPS. --- gnu/packages/screen.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/screen.scm b/gnu/packages/screen.scm index e41fb80a53..38df2594f2 100644 --- a/gnu/packages/screen.scm +++ b/gnu/packages/screen.scm @@ -141,7 +141,7 @@ controlling terminal and attach to it later.") (wrap-program select `("BYOBU_PYTHON" = (,python))) #t)))))) - (home-page "http://byobu.co/index.html") + (home-page "https://byobu.org/") (synopsis "Text-based window manager and terminal multiplexer") (description "Byobu is a Japanese term for decorative, multi-panel screens that serve -- cgit v1.2.3 From 694765e1d6de8d58d1f48b5f6170a3ae744ebe7e Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 21 Aug 2018 04:18:34 +0200 Subject: gnu: qjackctl: Update to 0.5.3. * gnu/packages/audio.scm (qjackctl): Update to 0.5.3. --- gnu/packages/audio.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 1e54e8667e..f7f831918b 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -2004,17 +2004,17 @@ and ALSA.") (define-public qjackctl (package (name "qjackctl") - (version "0.5.1") + (version "0.5.3") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/qjackctl/qjackctl/" version "/qjackctl-" version ".tar.gz")) (sha256 (base32 - "0jw1s4qh4qjxnysddjv3j2lchwlslj9p4iisv9i89d3m7pf1svs4")))) + "0x08af8m5l8qy9av3dlldsg58ny9nc69h1s4i6hqkvj24jwy6fw1")))) (build-system gnu-build-system) (arguments - '(#:tests? #f)) ; no check target + '(#:tests? #f)) ; no check target (inputs `(("jack" ,jack-1) ("alsa-lib" ,alsa-lib) -- cgit v1.2.3 From 67cf070239d16d176f8a1b3bd359d27c221ce0c3 Mon Sep 17 00:00:00 2001 From: pimi Date: Thu, 23 Aug 2018 13:33:20 +0200 Subject: gnu: Add r-miniui. gnu/packages/web.scm (r-miniui): New variable. Signed-off-by: Leo Famulari --- gnu/packages/web.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 3d9b1695b6..aea75654be 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -27,6 +27,7 @@ ;;; Copyright © 2018 Julien Lepiller ;;; Copyright © 2018 Pierre-Antoine Rouby ;;; Copyright © 2018 Gábor Boskovits +;;; Copyright © 2018 Mădălin Ionel Patrașcu ;;; ;;; This file is part of GNU Guix. ;;; @@ -6780,3 +6781,26 @@ compressed JSON header blocks. provided by Guix. The list of packages is searchable and provides instructions on how to use Guix in a shared HPC environment.") (license l:agpl3+)))) + +(define-public r-miniui + (package + (name "r-miniui") + (version "0.1.1.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "miniUI" version)) + (sha256 + (base32 + "1h5h2sc57h95d6bsgs95l26911g38hvjc1v50bc31xl9689l2as5")))) + (properties `((upstream-name . "miniUI"))) + (build-system r-build-system) + (propagated-inputs + `(("r-htmltools" ,r-htmltools) + ("r-shiny" ,r-shiny))) + (home-page "https://cran.r-project.org/web/packages/miniUI/") + (synopsis "Shiny UI widgets for small screens") + (description + "This package provides UI widget and layout functions for writing Shiny apps that +work well on small screens.") + (license l:gpl3))) -- cgit v1.2.3 From c994418b8c33b4f0642062cd3ef743da90e53bf6 Mon Sep 17 00:00:00 2001 From: pimi Date: Thu, 23 Aug 2018 13:33:21 +0200 Subject: gnu: Add r-abcanalysis. gnu/packages/cran.scm (r-abcanalysis): New variable. Signed-off-by: Leo Famulari --- gnu/packages/cran.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index d5371f0603..8ee1fbfb9e 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2018 Sandeep Subramanian ;;; Copyright © 2018 Charlie Ritter ;;; Copyright © 2018 Konrad Hinsen +;;; Copyright © 2018 Mădălin Ionel Patrașcu ;;; ;;; This file is part of GNU Guix. ;;; @@ -4847,3 +4848,27 @@ differential equations} (ODE). It includes routines that: approach). @end enumerate\n") (license license:gpl2+))) + +(define-public r-abcanalysis + (package + (name "r-abcanalysis") + (version "1.2.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "ABCanalysis" version)) + (sha256 + (base32 "0wac1ksmnxa36v99ca4hv8k0rsh3igwpcllmlv9wf7i9kgqviqwi")))) + (properties `((upstream-name . "ABCanalysis"))) + (build-system r-build-system) + (propagated-inputs `(("r-plotrix" ,r-plotrix))) + (home-page "https://www.uni-marburg.de/fb12/arbeitsgruppen/datenbionik/software-en/") + (synopsis "Computed ABC Analysis") + (description + "Multivariate data sets often differ in several factors or derived statistical +parameters, which have to be selected for a valid interpretation. Basing this +selection on traditional statistical limits leads occasionally to the perception +of losing information from a data set. This package provides tools to calculate +these limits on the basis of the mathematical properties of the distribution of +the analyzed items.") + (license license:gpl3))) -- cgit v1.2.3 From 87b576aa8ba6befefde8b700e4ec6cc953514348 Mon Sep 17 00:00:00 2001 From: pimi Date: Thu, 23 Aug 2018 13:33:22 +0200 Subject: gnu: Add r-slam. gnu/packages/cran.scm (r-slam): New variable. Signed-off-by: Leo Famulari --- gnu/packages/cran.scm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 8ee1fbfb9e..7271279a2a 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -4872,3 +4872,21 @@ of losing information from a data set. This package provides tools to calculate these limits on the basis of the mathematical properties of the distribution of the analyzed items.") (license license:gpl3))) + +(define-public r-slam + (package + (name "r-slam") + (version "0.1-43") + (source + (origin + (method url-fetch) + (uri (cran-uri "slam" version)) + (sha256 + (base32 "0hy4qzngcgafxxr6ld7n9a9wy979ji998gpcc32vidwyab66dj5h")))) + (build-system r-build-system) + (home-page "https://cran.r-project.org/web/packages/slam/") + (synopsis "Sparse lightweight arrays and matrices") + (description + "This package contains data structures and algorithms for sparse arrays and matrices, +based on index arrays and simple triplet representations, respectively.") + (license license:gpl2))) -- cgit v1.2.3 From 881cc61c1bb5e7d0f5fc3b60749f35496fdf1ba6 Mon Sep 17 00:00:00 2001 From: pimi Date: Thu, 23 Aug 2018 13:33:23 +0200 Subject: gnu: Add r-manipulatewidget. gnu/packages/cran.scm (r-manipulatewidget): New variable. Signed-off-by: Leo Famulari --- gnu/packages/cran.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 7271279a2a..afa5d97d57 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -4890,3 +4890,34 @@ the analyzed items.") "This package contains data structures and algorithms for sparse arrays and matrices, based on index arrays and simple triplet representations, respectively.") (license license:gpl2))) + +(define-public r-manipulatewidget + (package + (name "r-manipulatewidget") + (version "0.10.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "manipulateWidget" version)) + (sha256 + (base32 "1zagrbwkn2d50zzw8i2vyb1hsq4cydmfsqiy1a2qlp6zrv8a6q9x")))) + (properties + `((upstream-name . "manipulateWidget"))) + (build-system r-build-system) + (propagated-inputs + `(("r-base64enc" ,r-base64enc) + ("r-codetools" ,r-codetools) + ("r-htmltools" ,r-htmltools) + ("r-htmlwidgets" ,r-htmlwidgets) + ("r-knitr" ,r-knitr) + ("r-miniui" ,r-miniui) + ("r-shiny" ,r-shiny) + ("r-webshot" ,r-webshot))) + (home-page "https://github.com/rte-antares-rpackage/manipulateWidget/") + (synopsis "Add even more interactivity to interactive charts") + (description + "This package lets you create in just a few lines of R code a nice user interface to +modify the data or the graphical parameters of one or multiple interactive +charts. It is useful to quickly explore visually some data or for package +developers to generate user interfaces easy to maintain.") + (license license:gpl2+))) -- cgit v1.2.3 From 16b0e8da48ef9398797a22e274d5fcb37e24e448 Mon Sep 17 00:00:00 2001 From: pimi Date: Thu, 23 Aug 2018 13:33:24 +0200 Subject: gnu: Add r-a3. gnu/packages/cran.scm (r-a3): New variable. Signed-off-by: Leo Famulari --- gnu/packages/cran.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index afa5d97d57..eb6bf9c38b 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -4921,3 +4921,26 @@ modify the data or the graphical parameters of one or multiple interactive charts. It is useful to quickly explore visually some data or for package developers to generate user interfaces easy to maintain.") (license license:gpl2+))) + +(define-public r-a3 + (package + (name "r-a3") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "A3" version)) + (sha256 + (base32 "017hq9pjsv1h9i7cqk5cfx27as54shlhdsdvr6jkhb8jfkpdb6cw")))) + (properties `((upstream-name . "A3"))) + (build-system r-build-system) + (propagated-inputs + `(("r-pbapply" ,r-pbapply) + ("r-xtable" ,r-xtable))) + (home-page "https://cran.r-project.org/web/packages/A3/") + (synopsis "Error metrics for predictive models") + (description + "This package supplies tools for tabulating and analyzing the results of predictive +models. The methods employed are applicable to virtually any predictive model +and make comparisons between different methodologies straightforward.") + (license license:gpl2+))) -- cgit v1.2.3 From 9459216aa1fdb8f2621e8d6fa3bc075e347daf77 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 23 Aug 2018 22:56:53 +0200 Subject: gnu: Update home pages for the V1 synth family. * gnu/packages/music.scm (synthv1, drumkv1, samplv1, padthv1) [home-page]: Update & use HTTPS. --- gnu/packages/music.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 599a1d8943..82e01ad9ae 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -1313,7 +1313,7 @@ users to select LV2 plugins and run them with jalv.") ("qttools" ,qttools))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://synthv1.sourceforge.net") + (home-page "https://synthv1.sourceforge.io") (synopsis "Polyphonic subtractive synthesizer") (description "Synthv1 is an old-school subtractive polyphonic synthesizer with four @@ -1348,7 +1348,7 @@ oscillators and stereo effects.") (native-inputs `(("pkg-config" ,pkg-config) ("qttools" ,qttools))) - (home-page "http://drumkv1.sourceforge.net") + (home-page "https://drumkv1.sourceforge.io") (synopsis "Drum-kit sampler synthesizer with stereo effects") (description "Drumkv1 is an old-school drum-kit sampler synthesizer with stereo @@ -1383,7 +1383,7 @@ effects.") (native-inputs `(("pkg-config" ,pkg-config) ("qttools" ,qttools))) - (home-page "http://samplv1.sourceforge.net") + (home-page "https://samplv1.sourceforge.io") (synopsis "Polyphonic sampler synthesizer with stereo effects") (description "Samplv1 is an old-school polyphonic sampler synthesizer with stereo @@ -1418,7 +1418,7 @@ effects.") (native-inputs `(("pkg-config" ,pkg-config) ("qttools" ,qttools))) - (home-page "http://padthv1.sourceforge.net") + (home-page "https://padthv1.sourceforge.io") (synopsis "Polyphonic additive synthesizer") (description "Padthv1 is an old-school polyphonic additive synthesizer with stereo -- cgit v1.2.3 From 2c59066f6adeb83be6f291382271614bafe3b770 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 23 Aug 2018 22:54:12 +0200 Subject: gnu: padthv1: Update to 0.9.2. * gnu/packages/music.scm (padthv1): Update to 0.9.2. --- gnu/packages/music.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 82e01ad9ae..83a46e13a0 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -1393,7 +1393,7 @@ effects.") (define-public padthv1 (package (name "padthv1") - (version "0.9.0") + (version "0.9.2") (source (origin (method url-fetch) (uri @@ -1401,10 +1401,10 @@ effects.") "/padthv1-" version ".tar.gz")) (sha256 (base32 - "0c519qk2g0dk8gqf9ywqfp7dnr4b25lsnxxbf2l1spnnvf8nysvh")))) + "1alfl0l5qdll0w5lwhrwzj5dina1big1zmjg5imi9h06dzhz51xl")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; There are no tests. + `(#:tests? #f ; there are no tests #:configure-flags '("CXXFLAGS=-std=gnu++11"))) (inputs -- cgit v1.2.3 From 29618d6722d6825ade68bc2a03cac36bdba27e12 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 23 Aug 2018 22:52:13 +0200 Subject: gnu: samplv1: Update to 0.9.2. * gnu/packages/music.scm (samplv1): Update to 0.9.2. --- gnu/packages/music.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 83a46e13a0..1e9f247bd9 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -1358,7 +1358,7 @@ effects.") (define-public samplv1 (package (name "samplv1") - (version "0.9.0") + (version "0.9.2") (source (origin (method url-fetch) (uri @@ -1366,10 +1366,10 @@ effects.") "/samplv1-" version ".tar.gz")) (sha256 (base32 - "0g67vm9ilmq5nlvk0f3abia9pbinr4ck5v4mll6igni1rxz2n7wk")))) + "0rfcp4v971qfhw1hb43hw12wlxmg2q13l0m1h93pyfi5l4mfjkds")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; There are no tests. + `(#:tests? #f ; there are no tests #:configure-flags '("CXXFLAGS=-std=gnu++11"))) (inputs -- cgit v1.2.3 From 69b4d2487121a40d93065ee01ac5342be9ab12f8 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 23 Aug 2018 22:49:26 +0200 Subject: gnu: synthv1: Update to 0.9.2. * gnu/packages/music.scm (synthv1): Update to 0.9.2. --- gnu/packages/music.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 1e9f247bd9..98f7692943 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -1289,7 +1289,7 @@ users to select LV2 plugins and run them with jalv.") (define-public synthv1 (package (name "synthv1") - (version "0.9.0") + (version "0.9.2") (source (origin (method url-fetch) (uri @@ -1297,10 +1297,10 @@ users to select LV2 plugins and run them with jalv.") "/synthv1-" version ".tar.gz")) (sha256 (base32 - "1skynjg6ip0qfbqqkybfjh6xcwxagq89ghl08f7sp7j0sz5qdcwp")))) + "1r60l286n8y4a4rrlnbc3h7xk4s2pvqykvskls89prxg0lkpz7kl")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; There are no tests. + `(#:tests? #f ; there are no tests #:configure-flags '("CXXFLAGS=-std=gnu++11"))) (inputs -- cgit v1.2.3 From c95f9f09a70302efcf2cf060a791d3aab989c0aa Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 23 Aug 2018 22:46:11 +0200 Subject: gnu: drumkv1: Update to 0.9.2. * gnu/packages/music.scm (drumkv1): Update to 0.9.2. --- gnu/packages/music.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 98f7692943..45fa15c4d1 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -1323,7 +1323,7 @@ oscillators and stereo effects.") (define-public drumkv1 (package (name "drumkv1") - (version "0.9.0") + (version "0.9.2") (source (origin (method url-fetch) (uri @@ -1331,10 +1331,10 @@ oscillators and stereo effects.") "/drumkv1-" version ".tar.gz")) (sha256 (base32 - "1vm8lrk3lykdic6fyfpl12jx1xg6rcaid242s8sij30p1ix4zdab")))) + "1z9l43z91d01b9rzam2cj9qmmg6s5y65fjvb83ms4iaa1p0mnwrn")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; There are no tests. + `(#:tests? #f ; there are no tests #:configure-flags '("CXXFLAGS=-std=gnu++11"))) (inputs -- cgit v1.2.3 From d32da49c76369daa58634d29560bfc9ea2fb23bd Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 20 Aug 2018 22:13:12 +0200 Subject: gnu: r-devtools: Update to 1.13.6. * gnu/packages/statistics.scm (r-devtools): Update to 1.13.6. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 95a761e932..e96708bc14 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -2364,13 +2364,13 @@ informative error messages when it's not available.") (define-public r-devtools (package (name "r-devtools") - (version "1.13.5") + (version "1.13.6") (source (origin (method url-fetch) (uri (cran-uri "devtools" version)) (sha256 (base32 - "1x3wsk7dh3yakii61kbfvafx9yz66h40ixiwfkf03dnp2n24hngs")))) + "1d9n49djydywfyp9w3njgxs5lag4ac7719wmxy1lkgcmn3l9sx5r")))) (build-system r-build-system) (propagated-inputs `(("r-digest" ,r-digest) -- cgit v1.2.3 From 444488fc1b0d12190bf751b58191daea90ab243c Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 24 Aug 2018 00:33:34 +0200 Subject: gnu: boost: Move 1.59.0 definition to boost.scm. Fixes a regression introduced in commit 7cbf06d8c2935abfc6c688cf3f9b99e0e5393960 where the top-level code of these two modules would depend on each other, leading to "boost: unbound variable" kind of errors in some circumstances. * gnu/packages/databases.scm (boost-for-mysql): Move to... * gnu/packages/boost.scm (boost-for-mysql): ... here. Make public and add 'properties' field. --- gnu/packages/boost.scm | 16 ++++++++++++++++ gnu/packages/databases.scm | 14 -------------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm index d00f96de64..cf70a29775 100644 --- a/gnu/packages/boost.scm +++ b/gnu/packages/boost.scm @@ -110,6 +110,22 @@ across a broad spectrum of applications.") (license (license:x11-style "https://www.boost.org/LICENSE_1_0.txt" "Some components have other similar licences.")))) +(define-public boost-for-mysql + ;; Older version for MySQL 5.7.23. + (package + (inherit boost) + (version "1.59.0") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/boost/boost/" version "/boost_" + (string-map (lambda (x) (if (eq? x #\.) #\_ x)) version) + ".tar.bz2")) + (sha256 + (base32 + "1jj1aai5rdmd72g90a3pd8sw9vi32zad46xv5av8fhnr48ir6ykj")))) + (properties '((hidden? . #t))))) + (define-public boost-sync (let ((commit "c72891d9b90e2ceb466ec859f640cd012b2d8709") (version "1.55") diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 4e64fb78b4..ecc14c259a 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -549,20 +549,6 @@ RDBMS systems (which are deep in functionality).") ;; Some parts are licensed under the Apache License license:asl2.0)))) -(define boost-for-mysql - (package - (inherit boost) - (version "1.59.0") - (source (origin - (method url-fetch) - (uri (string-append - "mirror://sourceforge/boost/boost/" version "/boost_" - (string-map (lambda (x) (if (eq? x #\.) #\_ x)) version) - ".tar.bz2")) - (sha256 - (base32 - "1jj1aai5rdmd72g90a3pd8sw9vi32zad46xv5av8fhnr48ir6ykj")))))) - ;; XXX When updating, check whether boost-for-mysql is still needed. ;; It might suffice to patch ‘cmake/boost.cmake’ as done in the past. (define-public mysql -- cgit v1.2.3 From 0b4e5f7e5bd817a0c8cf19c68d92598eb164c934 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 24 Aug 2018 00:40:09 +0200 Subject: gnu: parallel: Update to 20180822. * gnu/packages/parallel.scm (parallel): Update to 20180822. --- gnu/packages/parallel.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index a7fe44243a..ec1fae6470 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm @@ -48,7 +48,7 @@ (define-public parallel (package (name "parallel") - (version "20180722") + (version "20180822") (source (origin (method url-fetch) @@ -56,7 +56,7 @@ version ".tar.bz2")) (sha256 (base32 - "06635p9w4kl0mvqlbgglsndl1zm06f65ckzrjl9p8n4cswf443fg")))) + "0jjs7fpvdjjb5v0j39a6k7hq9h5ap3db1j7vg1r2dq4swk23h9bm")))) (build-system gnu-build-system) (arguments `(#:phases -- cgit v1.2.3 From fbde7b08e5ae0f45a3d6e89e2a3795a399a1e6dc Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 24 Aug 2018 00:57:12 +0200 Subject: gnu: ncmpc: Update to 0.29. * gnu/packages/mpd.scm (ncmpc): Update to 0.29. [build-system]: Switch to Meson. [arguments]: Find ncurses.h. [native-inputs]: Add gettext. --- gnu/packages/mpd.scm | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm index 29d59c5de4..2554ec9efd 100644 --- a/gnu/packages/mpd.scm +++ b/gnu/packages/mpd.scm @@ -185,7 +185,7 @@ player daemon.") (define-public ncmpc (package (name "ncmpc") - (version "0.27") + (version "0.29") (source (origin (method url-fetch) (uri @@ -194,12 +194,16 @@ player daemon.") "/ncmpc-" version ".tar.xz")) (sha256 (base32 - "1n8m7syhpgx24hfipixv66h2izn229jkxsmh2q5dzkv9r0znm8pr")))) - (build-system gnu-build-system) + "04jzv1hfdvgbn391523jb2h3yhq9a40pjrg41sl3wf3jf6vajs7g")))) + (build-system meson-build-system) + (arguments + `(#:configure-flags + (list "-Dcurses=ncurses"))) (inputs `(("glib" ,glib) ("libmpdclient" ,libmpdclient) ("ncurses" ,ncurses))) - (native-inputs `(("pkg-config" ,pkg-config))) + (native-inputs `(("gettext" ,gettext-minimal) ; for xgettext + ("pkg-config" ,pkg-config))) (synopsis "Curses Music Player Daemon client") (description "ncmpc is a fully featured MPD client, which runs in a terminal using ncurses.") -- cgit v1.2.3 From f6181921e535ec10bbb072eed7f8f58b63041e79 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 24 Aug 2018 01:08:40 +0200 Subject: gnu: denemo: Use INVOKE. * gnu/packages/music.scm (denemo)[arguments]: Substitute INVOKE for SYSTEM*. --- gnu/packages/music.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 45fa15c4d1..2b6b7363a3 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -384,7 +384,7 @@ many input formats and provides a customisable Vi-style user interface.") ;; Denemo's documentation says to use this command to run its ;; testsuite. (lambda _ - (zero? (system* "make" "-C" "tests" "check")))) + (invoke "make" "-C" "tests" "check"))) (add-before 'build 'set-lilypond ;; This phase sets the default path for lilypond to its current ;; location in the store. @@ -411,7 +411,7 @@ many input formats and provides a customisable Vi-style user interface.") "Clarinet in Bb.denemo")) #t))))) (native-inputs - `(("glib:bin" ,glib "bin") ; for gtester + `(("glib:bin" ,glib "bin") ; for gtester ("pkg-config" ,pkg-config))) (inputs `(("alsa-lib" ,alsa-lib) -- cgit v1.2.3 From 38146797e62e10e89184039767f19226875abbfa Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 24 Aug 2018 01:26:06 +0200 Subject: gnu: libgig: Update to 4.1.0. * gnu/packages/music.scm (libgig): Update to 4.1.0. --- gnu/packages/music.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 2b6b7363a3..aed61085b5 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -2055,14 +2055,14 @@ improves on support for JACK features, such as JACK MIDI.") (define-public libgig (package (name "libgig") - (version "4.0.0") + (version "4.1.0") (source (origin (method url-fetch) (uri (string-append "http://download.linuxsampler.org/packages/" "libgig-" version ".tar.bz2")) (sha256 (base32 - "1wr8mwjmqpnyz6bx9757lspiii1zzn8zfbqsvn2ipzpgqkxv6kaz")))) + "02xx6bqxzgkvrawwnzrnxx1ypk244q4kpwfd58266f9ji8kq18h6")))) (build-system gnu-build-system) (inputs `(("libuuid" ,util-linux) -- cgit v1.2.3 From a0a7e425005f6204a3c209884854955f6e0c67c6 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 24 Aug 2018 02:02:38 +0200 Subject: gnu: tuxguitar: Update to 1.5.2. * gnu/packages/music.scm (tuxguitar): Update to 1.5.2. [source]: Remove obsolete snippet. --- gnu/packages/music.scm | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index aed61085b5..af2dcf8eaf 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -1624,7 +1624,7 @@ is subjective.") (define-public tuxguitar (package (name "tuxguitar") - (version "1.5") + (version "1.5.2") (source (origin (method url-fetch) (uri (string-append @@ -1632,19 +1632,12 @@ is subjective.") version "/tuxguitar-" version "-src.tar.gz")) (sha256 (base32 - "1yd5wv17sh6i8pkndxayfd6r2k1ccgnc4w3nda3lpniv8cpjzz3k")) - (modules '((guix build utils))) - (snippet - '(begin - ;; Delete pre-built classes - (delete-file-recursively "TuxGuitar-android-gdrive/bin") - (delete-file-recursively "TuxGuitar-android-gdrive-gdaa/bin") - #t)))) + "10arfpgm2pw7mn922klklzn05lw5ifqx070shdrar81afmkfbbd9")))) (build-system ant-build-system) (arguments `(#:build-target "build" #:jdk ,icedtea-8 - #:tests? #f ; no tests + #:tests? #f ; no tests #:phases (modify-phases %standard-phases (add-after 'unpack 'enter-dir @@ -1663,7 +1656,7 @@ is subjective.") ((assoc-ref %standard-phases 'build) #:build-target "build") (begin - ;; Generate default build.xml + ;; Generate default build.xml. ((@@ (guix build ant-build-system) default-build.xml) (string-append (string-downcase dir) ".jar") (string-append (assoc-ref outputs "out") @@ -1686,15 +1679,15 @@ is subjective.") (lib (string-append share "/java")) (swt (assoc-ref inputs "java-swt"))) (mkdir-p bin) - ;; install all jars + ;; Install all jars. (for-each (lambda (file) (install-file file lib)) (find-files ".." "\\.jar$")) - ;; install all resources + ;; Install all resources. (copy-recursively "share" share) - ;; create wrapper + ;; Create wrapper. (call-with-output-file (string-append bin "/tuxguitar") (lambda (port) (let ((classpath (string-join (append (find-files lib "\\.jar$") -- cgit v1.2.3 From 6a9a50fd2f673dd7cc193c7975dd6f506a650aad Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 24 Aug 2018 02:17:24 +0200 Subject: gnu: guile-lib: Update to 0.2.6.1. * gnu/packages/guile.scm (guile-lib): Update to 0.2.6.1. [source]: Remove obsolete snippet. --- gnu/packages/guile.scm | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index a45b62b0f8..f2a252b8d3 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -850,27 +850,18 @@ The library is shipped with documentation in Info format and usage examples.") (define-public guile-lib (package (name "guile-lib") - (version "0.2.6") + (version "0.2.6.1") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/guile-lib/guile-lib-" version ".tar.gz")) (sha256 (base32 - "0n1lf5bsr5s9gqi07sdfkl1hpin6dzvkcj1xa63jd1w8aglwv8r1")) - (modules '((guix build utils))) - (snippet - '(begin - ;; 'pre-inst-env' sets an incorrect load path, missing the - ;; "/src" bit. Add it. - (substitute* "pre-inst-env.in" - (("abs_top_(builddir|srcdir)=([[:graph:]]+)" _ dir value) - (string-append "abs_top_" dir "=" value "/src"))) - #t)))) + "0aizxdif5dpch9cvs8zz5g8ds5s4xhfnwza2il5ji7fv2h7ks7bd")))) (build-system gnu-build-system) (arguments '(#:make-flags - '("GUILE_AUTO_COMPILE=0") ;to prevent guild errors + '("GUILE_AUTO_COMPILE=0") ; to prevent guild errors #:phases (modify-phases %standard-phases (add-before 'configure 'patch-module-dir -- cgit v1.2.3 From 6d83cd1f9a499b1337311aa70390cf475e8de55f Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 23 Aug 2018 22:24:10 +0200 Subject: gnu: r-synchronicity: Update to 1.3.5. * gnu/packages/statistics.scm (r-synchronicity): Update to 1.3.5. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index e96708bc14..d34f76dc3d 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -3323,14 +3323,14 @@ bigmemory and synchronicity packages.") (define-public r-synchronicity (package (name "r-synchronicity") - (version "1.3.4") + (version "1.3.5") (source (origin (method url-fetch) (uri (cran-uri "synchronicity" version)) (sha256 (base32 - "1km5hx82gy71m5nc6pkcksv0dn32fylhg2axpdsnarrxva14mgdg")))) + "1kgsk64aifjm3mfj102y3va7x1abypq2zi0cqbnjhl8fqyzp69hx")))) (build-system r-build-system) (propagated-inputs `(("r-bh" ,r-bh) -- cgit v1.2.3 From 77c027b98bf96e5895313bad28ffcd4a15aea1ad Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 20 Aug 2018 23:08:03 +0200 Subject: gnu: r-trimcluster: Update to 0.1-2.1. * gnu/packages/statistics.scm (r-trimcluster): Update to 0.1-2.1. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index d34f76dc3d..158a17c986 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -4851,14 +4851,14 @@ multivariate analysis.") (define-public r-trimcluster (package (name "r-trimcluster") - (version "0.1-2") + (version "0.1-2.1") (source (origin (method url-fetch) (uri (cran-uri "trimcluster" version)) (sha256 (base32 - "0lsgbg93hm0w1rdb813ry0ks2l0jfpyqzqkf3h3bj6fch0avcbv2")))) + "0013bpyq6mkvjn38qsmwnsxfiwxgwngnqxycxvgpgmiadhm8fjmn")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/trimcluster") (synopsis "Cluster analysis with trimming") -- cgit v1.2.3 From a7b14a1b391fcd1365441da1298d425d520e7b57 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 24 Aug 2018 02:58:23 +0200 Subject: gnu: capstone: Update to 3.0.5. * gnu/packages/engineering.scm (capstone): Update to 3.0.5. [arguments]: Set cstool's LDFLAGS in the environment instead of SUBSTITUTE*ing the Makefile. --- gnu/packages/engineering.scm | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index b66b8d72bf..f11ce71f5a 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -1008,7 +1008,7 @@ language, ADMS transforms Verilog-AMS code into other target languages.") (define-public capstone (package (name "capstone") - (version "3.0.5-rc2") + (version "3.0.5") (source (origin (method url-fetch) (uri (string-append "https://github.com/aquynh/capstone/archive/" @@ -1016,22 +1016,20 @@ language, ADMS transforms Verilog-AMS code into other target languages.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1cqms9r2p43aiwp5spd84zaccp16ih03r7sjhrv16nddahj0jz2q")))) + "1wbd1g3r32ni6zd9vwrq3kn7fdp9y8qwn9zllrrbk8n5wyaxcgci")))) (build-system gnu-build-system) (arguments `(#:tests? #f - #:make-flags (list (string-append "PREFIX=" %output) + #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")) "CC=gcc") #:phases (modify-phases %standard-phases - (delete 'configure) - ;; cstool's Makefile overrides LDFLAGS, so we cannot pass it as a make flag. + (delete 'configure) ; no configure script + ;; cstool's Makefile ‘+=’s LDFLAGS, so we cannot pass it as a make flag. (add-before 'build 'fix-cstool-ldflags (lambda* (#:key outputs #:allow-other-keys) - (substitute* "cstool/Makefile" - (("LDFLAGS =") - (string-append "LDFLAGS = -Wl,-rpath=" (assoc-ref outputs "out") - "/lib"))) + (setenv "LDFLAGS" (string-append "-Wl,-rpath=" + (assoc-ref outputs "out") "/lib")) #t))))) (home-page "http://www.capstone-engine.org") (synopsis "Lightweight multi-platform, multi-architecture disassembly framework") -- cgit v1.2.3 From 0e5d66abf6906d32a64dd8f9d8fce5c3ac743ff6 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 24 Aug 2018 04:23:24 +0200 Subject: gnu: keepassxc: Update to 2.3.4. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/password-utils.scm (keepassxc): Update to 2.3.4. [arguments]: Remove obsolete ‘patch-sources’ phase. --- gnu/packages/password-utils.scm | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index b9653693c6..a63fd9bb36 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -100,7 +100,7 @@ human.") (define-public keepassxc (package (name "keepassxc") - (version "2.3.3") + (version "2.3.4") (source (origin (method url-fetch) @@ -109,27 +109,17 @@ human.") version "-src.tar.xz")) (sha256 (base32 - "1m8alsp39vk21zgcvy5zswk0dc1xmajbwnccg7n0lndsi7pqbzyg")))) + "02kq0a7a7hpw824n03apma00yq1c6dds224g15mrnnqqjn4af90c")))) (build-system cmake-build-system) (arguments '(#:configure-flags '("-DWITH_XC_NETWORKING=YES" "-DWITH_XC_BROWSER=YES" - "-DWITH_XC_SSHAGENT=YES") - #:phases - (modify-phases %standard-phases - ;; should be fixed in 2.3.3+, see: - ;; https://github.com/keepassxreboot/keepassxc/pull/1964 - (add-after 'unpack 'patch-sources - (lambda _ - (substitute* "src/gui/entry/EditEntryWidget.cpp" - (("#include ") "#include -#include ")) - #t))))) + "-DWITH_XC_SSHAGENT=YES"))) (inputs `(("argon2" ,argon2) - ("curl" ,curl) ; XC_NETWORKING + ("curl" ,curl) ; XC_NETWORKING ("libgcrypt" ,libgcrypt) - ("libsodium" ,libsodium) ; XC_BROWSER + ("libsodium" ,libsodium) ; XC_BROWSER ("libxi" ,libxi) ("libxtst" ,libxtst) ("qtbase" ,qtbase) @@ -144,7 +134,7 @@ manage your passwords in a secure way. You can put all your passwords in one database, which is locked with one master key or a key-file which can be stored on an external storage device. The databases are encrypted using the algorithms AES or Twofish.") - ;; Non functional parts use various licences. + ;; Non-functional parts use various licences. (license license:gpl3))) (define-public keepassx -- cgit v1.2.3 From 4a3cf8929f2b6fecbdd3f86e484db996168eebe8 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 20 Aug 2018 23:08:35 +0200 Subject: gnu: r-catools: Update to 1.17.1.1. * gnu/packages/statistics.scm (r-catools): Update to 1.17.1.1. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 158a17c986..5367554d82 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -2562,13 +2562,13 @@ vectors.") (define-public r-catools (package (name "r-catools") - (version "1.17.1") + (version "1.17.1.1") (source (origin (method url-fetch) (uri (cran-uri "caTools" version)) (sha256 (base32 - "1x4szsn2qmbzpyjfdaiz2q7jwhap2gky9wq0riah74q0pzz76ank")))) + "01hccp05gz25vhz9nnxv1c91lrxlr7drcw9xf124gggifxf2qgnm")))) (properties `((upstream-name . "caTools"))) (build-system r-build-system) (propagated-inputs -- cgit v1.2.3 From 079cdd9c15b6b94a5d2ff15c7cf2e8621d2a774f Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 24 Aug 2018 11:19:30 +0200 Subject: gnu: Add find-circ. * gnu/packages/bioinformatics.scm (find-circ): New variable. --- gnu/packages/bioinformatics.scm | 52 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index dce8ab62f1..cb3c4bc1fd 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -13406,3 +13406,55 @@ conversions, region filtering, FASTA sequence extraction and more.") ;; gffread is under Expat, but gclib is under Artistic 2.0 (license (list license:expat license:artistic2.0))))) + +(define-public find-circ + ;; The last release was in 2015. The license was clarified in 2017, so we + ;; take the latest commit. + (let ((commit "8655dca54970fcf7e92e22fbf57e1188724dda7d") + (revision "1")) + (package + (name "find-circ") + (version (git-version "1.2" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/marvin-jens/find_circ.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0p77pbqbclqr4srms34y1b9b4njybfpjiknc11ki84f3p8skb3cg")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; there are none + #:phases + ;; There is no actual build system. + (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (path (getenv "PYTHONPATH"))) + (for-each (lambda (script) + (install-file script bin) + (wrap-program (string-append bin "/" script) + `("PYTHONPATH" ":" prefix (,path)))) + '("cmp_bed.py" + "find_circ.py" + "maxlength.py" + "merge_bed.py" + "unmapped2anchors.py"))) + #t))))) + (inputs + `(("python2" ,python-2) + ("python2-pysam" ,python2-pysam) + ("python2-numpy" ,python2-numpy))) + (home-page "https://github.com/marvin-jens/find_circ") + (synopsis "circRNA detection from RNA-seq reads") + (description "This package provides tools to detect head-to-tail +spliced (back-spliced) sequencing reads, indicative of circular RNA (circRNA) +in RNA-seq data.") + (license license:gpl3)))) -- cgit v1.2.3 From bf0bb925ea055496086fe0df48fc88977a5cc2cc Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 24 Aug 2018 17:50:52 +0200 Subject: gnu: gdb: Update to 8.1.1. * gnu/packages/gdb.scm (gdb): Update to 8.1.1. --- gnu/packages/gdb.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gdb.scm b/gnu/packages/gdb.scm index 36ccb79d67..f0c4c8b804 100644 --- a/gnu/packages/gdb.scm +++ b/gnu/packages/gdb.scm @@ -37,14 +37,14 @@ (define-public gdb (package (name "gdb") - (version "8.1") + (version "8.1.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gdb/gdb-" version ".tar.xz")) (sha256 (base32 - "0d2bpqk58fqlx21rbnk8mbcjlggzc9kb5sjirrfrrrjq70ka0qdg")))) + "0g6hv9xk12aa58w77fydaldqr9a6b0a6bnwsq87jfc6lkcbc7p4p")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; FIXME "make check" fails on single-processor systems. -- cgit v1.2.3 From c1352b4badd2020448eb69e6ae212b43f5dceb15 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 24 Aug 2018 17:51:23 +0200 Subject: gnu: font-gnu-unifont: Update to 11.0.02. * gnu/packages/fonts.scm (font-gnu-unifont): Update to 11.0.02. [arguments]: Adjust code to install 'unifont.info.gz' in 'install' phase. --- gnu/packages/fonts.scm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index dd91d77c6c..4d02b4bc62 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -621,7 +621,7 @@ languages, plus Greek and Cyrillic.") (define-public font-gnu-unifont (package (name "font-gnu-unifont") - (version "11.0.01") + (version "11.0.02") (source (origin (method url-fetch) (uri (string-append @@ -629,7 +629,7 @@ languages, plus Greek and Cyrillic.") version ".tar.gz")) (sha256 (base32 - "1nkapra0ic4fp3lmnvfc6jly62yskhcdkwrnq29hvh3xs51ncc52")))) + "1di8i44c163b9l5f08jcrjfijnqz0j7p7hpfvf8dcms6cm6s4wvy")))) (build-system gnu-build-system) (outputs '("out" ; TrueType version "pcf" ; PCF (bitmap) version @@ -662,8 +662,9 @@ languages, plus Greek and Cyrillic.") "install") ;; Move Texinfo file to the right place. (mkdir (string-append bin "/share/info")) - (rename-file (string-append bin "/share/unifont/unifont.info.gz") - (string-append bin "/share/info/unifont.info.gz")) + (invoke "gzip" "-9n" "doc/unifont.info") + (install-file "doc/unifont.info.gz" + (string-append bin "/share/info")) #t)))))) (inputs `(("perl" ,perl))) ; for utilities -- cgit v1.2.3 From e4297aa8b95cefa32e2595ce58886fc03b0561f7 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 21 Aug 2018 15:09:11 +0200 Subject: grafts: Add high-level 'graft' procedure on the build side. * guix/build/graft.scm (graft): New procedure. * guix/grafts.scm (graft-derivation/shallow)[build]: Use it instead of inline code. --- guix/build/graft.scm | 21 +++++++++++++++++++-- guix/grafts.scm | 13 ++----------- 2 files changed, 21 insertions(+), 13 deletions(-) diff --git a/guix/build/graft.scm b/guix/build/graft.scm index e567bff4f4..8d79e8a50e 100644 --- a/guix/build/graft.scm +++ b/guix/build/graft.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015, 2016 Ludovic Courtès +;;; Copyright © 2014, 2015, 2016, 2018 Ludovic Courtès ;;; Copyright © 2016 Mark H Weaver ;;; ;;; This file is part of GNU Guix. @@ -27,7 +27,8 @@ #:use-module (srfi srfi-1) ; list library #:use-module (srfi srfi-26) ; cut and cute #:export (replace-store-references - rewrite-directory)) + rewrite-directory + graft)) ;;; Commentary: ;;; @@ -321,4 +322,20 @@ file name pairs." #:directories? #t)) (rename-matching-files output mapping)) +(define* (graft old-outputs new-outputs mapping + #:key (log-port (current-output-port))) + "Apply the grafts described by MAPPING on OLD-OUTPUTS, leading to +NEW-OUTPUTS. MAPPING must be a list of file name pairs; OLD-OUTPUTS and +NEW-OUTPUTS are lists of output name/file name pairs." + (for-each (lambda (input output) + (format log-port "grafting '~a' -> '~a'...~%" input output) + (force-output) + (rewrite-directory input output mapping)) + (match old-outputs + (((names . files) ...) + files)) + (match new-outputs + (((names . files) ...) + files)))) + ;;; graft.scm ends here diff --git a/guix/grafts.scm b/guix/grafts.scm index d6b0e93e8d..4b10b3efd7 100644 --- a/guix/grafts.scm +++ b/guix/grafts.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -117,16 +117,7 @@ are not recursively applied to dependencies of DRV." (cons (assoc-ref old-outputs name) file))) %outputs)))) - (for-each (lambda (input output) - (format #t "grafting '~a' -> '~a'...~%" input output) - (force-output) - (rewrite-directory input output mapping)) - (match old-outputs - (((names . files) ...) - files)) - (match %outputs - (((names . files) ...) - files)))))) + (graft old-outputs %outputs mapping)))) (define add-label (cut cons "x" <>)) -- cgit v1.2.3 From 93c333895a4e2dc9baabec8ade60d9d2ac0a91e2 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 21 Aug 2018 22:39:41 +0200 Subject: grafts: Add (guix build debug-link) and use it. Fixes . Reported by Mark H Weaver . * guix/build/debug-link.scm: New file. * guix/build/graft.scm (%graft-hooks): New variable. (graft): Add #:hooks and honor it. * guix/grafts.scm (graft-derivation/shallow): Add (guix build debug-link) and (guix elf) to #:modules. * tests/debug-link.scm: New file. * Makefile.am (MODULES): Add guix/build/debug-link.scm. (SCM_TESTS): Add tests/debug-link.scm. --- Makefile.am | 2 + guix/build/debug-link.scm | 210 ++++++++++++++++++++++++++++++++++++++++++++++ guix/build/graft.scm | 14 +++- guix/grafts.scm | 4 +- tests/debug-link.scm | 158 ++++++++++++++++++++++++++++++++++ 5 files changed, 385 insertions(+), 3 deletions(-) create mode 100644 guix/build/debug-link.scm create mode 100644 tests/debug-link.scm diff --git a/Makefile.am b/Makefile.am index bdf1c63cee..324674a60e 100644 --- a/Makefile.am +++ b/Makefile.am @@ -171,6 +171,7 @@ MODULES = \ guix/build/svn.scm \ guix/build/syscalls.scm \ guix/build/gremlin.scm \ + guix/build/debug-link.scm \ guix/build/emacs-utils.scm \ guix/build/java-utils.scm \ guix/build/lisp-utils.scm \ @@ -363,6 +364,7 @@ SCM_TESTS = \ tests/syscalls.scm \ tests/inferior.scm \ tests/gremlin.scm \ + tests/debug-link.scm \ tests/bournish.scm \ tests/lint.scm \ tests/publish.scm \ diff --git a/guix/build/debug-link.scm b/guix/build/debug-link.scm new file mode 100644 index 0000000000..9167737fb3 --- /dev/null +++ b/guix/build/debug-link.scm @@ -0,0 +1,210 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2018 Ludovic Courtès +;;; +;;; 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 (guix build debug-link) + #:use-module (guix elf) + #:use-module ((guix build utils) + #:select (find-files elf-file? make-file-writable)) + #:use-module (rnrs bytevectors) + #:use-module (rnrs io ports) + #:use-module (srfi srfi-1) + #:use-module (system foreign) + #:use-module (ice-9 match) + #:export (debuglink-crc32 + elf-debuglink + set-debuglink-crc + + graft-debug-links)) + +;;; Commentary: +;;; +;;; This module provides tools to deal with '.gnu_debuglink' sections in ELF +;;; files. These sections are created by 'objcopy --add-gnu-debuglink' to +;;; create separate debug files (info "(gdb) Separate Debug Files"). +;;; +;;; The main facility of this module is 'graft-debug-links', which allows us +;;; to update the CRC that appears in '.gnu_debuglink' sections when grafting, +;;; such that separate debug files remain usable after grafting. Failing to +;;; do that, GDB would complain about CRC mismatch---see +;;; . +;;; +;;; Code: + +(define %crc32-table + ;; CRC table taken from "(gdb) Separate Debug Files". + ;; TODO: Wouldn't it be nice to generate it "from source" with a macro? + #(#x00000000 #x77073096 #xee0e612c #x990951ba #x076dc419 + #x706af48f #xe963a535 #x9e6495a3 #x0edb8832 #x79dcb8a4 + #xe0d5e91e #x97d2d988 #x09b64c2b #x7eb17cbd #xe7b82d07 + #x90bf1d91 #x1db71064 #x6ab020f2 #xf3b97148 #x84be41de + #x1adad47d #x6ddde4eb #xf4d4b551 #x83d385c7 #x136c9856 + #x646ba8c0 #xfd62f97a #x8a65c9ec #x14015c4f #x63066cd9 + #xfa0f3d63 #x8d080df5 #x3b6e20c8 #x4c69105e #xd56041e4 + #xa2677172 #x3c03e4d1 #x4b04d447 #xd20d85fd #xa50ab56b + #x35b5a8fa #x42b2986c #xdbbbc9d6 #xacbcf940 #x32d86ce3 + #x45df5c75 #xdcd60dcf #xabd13d59 #x26d930ac #x51de003a + #xc8d75180 #xbfd06116 #x21b4f4b5 #x56b3c423 #xcfba9599 + #xb8bda50f #x2802b89e #x5f058808 #xc60cd9b2 #xb10be924 + #x2f6f7c87 #x58684c11 #xc1611dab #xb6662d3d #x76dc4190 + #x01db7106 #x98d220bc #xefd5102a #x71b18589 #x06b6b51f + #x9fbfe4a5 #xe8b8d433 #x7807c9a2 #x0f00f934 #x9609a88e + #xe10e9818 #x7f6a0dbb #x086d3d2d #x91646c97 #xe6635c01 + #x6b6b51f4 #x1c6c6162 #x856530d8 #xf262004e #x6c0695ed + #x1b01a57b #x8208f4c1 #xf50fc457 #x65b0d9c6 #x12b7e950 + #x8bbeb8ea #xfcb9887c #x62dd1ddf #x15da2d49 #x8cd37cf3 + #xfbd44c65 #x4db26158 #x3ab551ce #xa3bc0074 #xd4bb30e2 + #x4adfa541 #x3dd895d7 #xa4d1c46d #xd3d6f4fb #x4369e96a + #x346ed9fc #xad678846 #xda60b8d0 #x44042d73 #x33031de5 + #xaa0a4c5f #xdd0d7cc9 #x5005713c #x270241aa #xbe0b1010 + #xc90c2086 #x5768b525 #x206f85b3 #xb966d409 #xce61e49f + #x5edef90e #x29d9c998 #xb0d09822 #xc7d7a8b4 #x59b33d17 + #x2eb40d81 #xb7bd5c3b #xc0ba6cad #xedb88320 #x9abfb3b6 + #x03b6e20c #x74b1d29a #xead54739 #x9dd277af #x04db2615 + #x73dc1683 #xe3630b12 #x94643b84 #x0d6d6a3e #x7a6a5aa8 + #xe40ecf0b #x9309ff9d #x0a00ae27 #x7d079eb1 #xf00f9344 + #x8708a3d2 #x1e01f268 #x6906c2fe #xf762575d #x806567cb + #x196c3671 #x6e6b06e7 #xfed41b76 #x89d32be0 #x10da7a5a + #x67dd4acc #xf9b9df6f #x8ebeeff9 #x17b7be43 #x60b08ed5 + #xd6d6a3e8 #xa1d1937e #x38d8c2c4 #x4fdff252 #xd1bb67f1 + #xa6bc5767 #x3fb506dd #x48b2364b #xd80d2bda #xaf0a1b4c + #x36034af6 #x41047a60 #xdf60efc3 #xa867df55 #x316e8eef + #x4669be79 #xcb61b38c #xbc66831a #x256fd2a0 #x5268e236 + #xcc0c7795 #xbb0b4703 #x220216b9 #x5505262f #xc5ba3bbe + #xb2bd0b28 #x2bb45a92 #x5cb36a04 #xc2d7ffa7 #xb5d0cf31 + #x2cd99e8b #x5bdeae1d #x9b64c2b0 #xec63f226 #x756aa39c + #x026d930a #x9c0906a9 #xeb0e363f #x72076785 #x05005713 + #x95bf4a82 #xe2b87a14 #x7bb12bae #x0cb61b38 #x92d28e9b + #xe5d5be0d #x7cdcefb7 #x0bdbdf21 #x86d3d2d4 #xf1d4e242 + #x68ddb3f8 #x1fda836e #x81be16cd #xf6b9265b #x6fb077e1 + #x18b74777 #x88085ae6 #xff0f6a70 #x66063bca #x11010b5c + #x8f659eff #xf862ae69 #x616bffd3 #x166ccf45 #xa00ae278 + #xd70dd2ee #x4e048354 #x3903b3c2 #xa7672661 #xd06016f7 + #x4969474d #x3e6e77db #xaed16a4a #xd9d65adc #x40df0b66 + #x37d83bf0 #xa9bcae53 #xdebb9ec5 #x47b2cf7f #x30b5ffe9 + #xbdbdf21c #xcabac28a #x53b39330 #x24b4a3a6 #xbad03605 + #xcdd70693 #x54de5729 #x23d967bf #xb3667a2e #xc4614ab8 + #x5d681b02 #x2a6f2b94 #xb40bbe37 #xc30c8ea1 #x5a05df1b + #x2d02ef8d)) + +(define (debuglink-crc32 port) + "Compute the 32-bit CRC used in in '.gnu_debuglink' over the data read from +PORT and return it." ;(info "(gdb) Separate Debug Files") + (let loop ((crc #xffffffff)) + (let ((byte (get-u8 port))) + (if (eof-object? byte) + (logand (lognot crc) #xffffffff) + (let* ((index (logand (logxor crc byte) #xff)) + (lhs (vector-ref %crc32-table index))) + (loop (logxor lhs (ash crc -8)))))))) + +(define (section-contents elf section) ;XXX: copied from linux-modules.scm + "Return the contents of SECTION in ELF as a bytevector." + (let* ((contents (make-bytevector (elf-section-size section)))) + (bytevector-copy! (elf-bytes elf) (elf-section-offset section) + contents 0 + (elf-section-size section)) + contents)) + +(define null-terminated-bytevector->string + (compose pointer->string bytevector->pointer)) + +(define (elf-debuglink elf) + "Return two values: the '.gnu_debuglink' file name of ELF and its CRC. +Return #f for both if ELF lacks a '.gnu_debuglink' section." + (let ((section (elf-section-by-name elf ".gnu_debuglink"))) + (if section + (let ((size (elf-section-size section)) + (bv (section-contents elf section)) + (endianness (elf-byte-order elf))) + (values (null-terminated-bytevector->string bv) + (bytevector-u32-ref bv (- size 4) endianness))) + (values #f #f)))) + +(define (elf-debuglink-crc-offset elf) + "Return the offset of the '.gnu_debuglink' 32-bit CRC, or #f if ELF lacks a +'.gnu_debuglink' section." + (let ((section (elf-section-by-name elf ".gnu_debuglink"))) + (and section + (+ (elf-section-offset section) + (elf-section-size section) + -4)))) + +(define (set-debuglink-crc file debug-file) + "Compute the CRC of DEBUG-FILE and set it as the '.gnu_debuglink' CRC in +FILE." + (let* ((elf (parse-elf (call-with-input-file file get-bytevector-all))) + (offset (elf-debuglink-crc-offset elf))) + (and offset + (let* ((crc (call-with-input-file debug-file debuglink-crc32)) + (bv (make-bytevector 4))) + (bytevector-u32-set! bv 0 crc (elf-byte-order elf)) + (let ((port (open file O_RDWR))) + (set-port-position! port offset) + (put-bytevector port bv) + (close-port port)))))) + + +;;; +;;; Updating debuglink CRC. +;;; + +(define (find-elf-files outputs) + "Return the list of ELF files found in OUTPUTS, a list of top-level store +directories." + (define directories + (append-map (lambda (output) + (list (string-append output "/bin") + (string-append output "/sbin") + (string-append output "/lib") + (string-append output "/libexec"))) + outputs)) + + (append-map (lambda (directory) + (filter elf-file? + (with-error-to-port (%make-void-port "w") + (lambda () + (find-files directory))))) + directories)) + +(define* (graft-debug-links old-outputs new-outputs mapping + #:key (log-port (current-error-port))) + "Update the '.gnu_debuglink' CRCs found in ELF files of NEW-OUTPUTS, +provided NEW-OUTPUTS contains a \"debug\" output, such that those CRCs match +those of the corresponding '.debug' files found in the \"debug\" output. + +This procedure is meant to be used as a \"grafting hook\" by (guix build +graft)." + (match (assoc-ref new-outputs "debug") + (#f #t) ;nothing to do + (debug-directory + (let ((files (find-elf-files (filter-map (match-lambda + (("debug" . _) + #f) + ((name . directory) + directory)) + new-outputs)))) + (for-each (lambda (file) + (let ((debug (string-append debug-directory + "/lib/debug" file ".debug"))) + (when (file-exists? debug) + (format log-port + "updating '.gnu_debuglink' CRC in '~a'~%" + file) + (make-file-writable file) + (set-debuglink-crc file debug)))) + files))))) diff --git a/guix/build/graft.scm b/guix/build/graft.scm index 8d79e8a50e..c119ee71d1 100644 --- a/guix/build/graft.scm +++ b/guix/build/graft.scm @@ -19,6 +19,7 @@ (define-module (guix build graft) #:use-module (guix build utils) + #:use-module (guix build debug-link) #:use-module (rnrs bytevectors) #:use-module (ice-9 vlist) #:use-module (ice-9 match) @@ -322,8 +323,13 @@ file name pairs." #:directories? #t)) (rename-matching-files output mapping)) +(define %graft-hooks + ;; Default list of hooks run after grafting. + (list graft-debug-links)) + (define* (graft old-outputs new-outputs mapping - #:key (log-port (current-output-port))) + #:key (log-port (current-output-port)) + (hooks %graft-hooks)) "Apply the grafts described by MAPPING on OLD-OUTPUTS, leading to NEW-OUTPUTS. MAPPING must be a list of file name pairs; OLD-OUTPUTS and NEW-OUTPUTS are lists of output name/file name pairs." @@ -336,6 +342,10 @@ NEW-OUTPUTS are lists of output name/file name pairs." files)) (match new-outputs (((names . files) ...) - files)))) + files))) + (for-each (lambda (hook) + (hook old-outputs new-outputs mapping + #:log-port log-port)) + hooks)) ;;; graft.scm ends here diff --git a/guix/grafts.scm b/guix/grafts.scm index 4b10b3efd7..f303e925f1 100644 --- a/guix/grafts.scm +++ b/guix/grafts.scm @@ -130,7 +130,9 @@ are not recursively applied to dependencies of DRV." #:system system #:guile-for-build guile #:modules '((guix build graft) - (guix build utils)) + (guix build utils) + (guix build debug-link) + (guix elf)) #:inputs `(,@(map (lambda (out) `("x" ,drv ,out)) outputs) diff --git a/tests/debug-link.scm b/tests/debug-link.scm new file mode 100644 index 0000000000..2dde3cb460 --- /dev/null +++ b/tests/debug-link.scm @@ -0,0 +1,158 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2018 Ludovic Courtès +;;; +;;; 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 (test-debug-link) + #:use-module (guix elf) + #:use-module (guix build utils) + #:use-module (guix build debug-link) + #:use-module (guix gexp) + #:use-module (guix store) + #:use-module (guix tests) + #:use-module (guix monads) + #:use-module (guix derivations) + #:use-module (gnu packages bootstrap) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26) + #:use-module (srfi srfi-64) + #:use-module (rnrs io ports) + #:use-module (ice-9 match)) + +(define %guile-executable + (match (false-if-exception (readlink "/proc/self/exe")) + ((? string? program) + (and (file-exists? program) (elf-file? program) + program)) + (_ + #f))) + +(define read-elf + (compose parse-elf get-bytevector-all)) + +(define %store + (open-connection-for-tests)) + +(define-syntax-rule (test-assertm name exp) + (test-assert name + (run-with-store %store exp + #:guile-for-build (%guile-for-build)))) + + +(test-begin "debug-link") + +(unless %guile-executable (test-skip 1)) +(test-assert "elf-debuglink" + (let ((elf (call-with-input-file %guile-executable read-elf))) + (match (call-with-values (lambda () (elf-debuglink elf)) list) + ((#f #f) ;no '.gnu_debuglink' section + (pk 'no-debuglink #t)) + (((? string? file) (? integer? crc)) + (string-suffix? ".debug" file))))) + +;; Since we need %BOOTSTRAP-GCC and co., we have to skip the following tests +;; when networking is unreachable because we'd fail to download it. +(unless (network-reachable?) (test-skip 1)) +(test-assertm "elf-debuglink" + ;; Check whether we can compute the CRC just like objcopy, and whether we + ;; can retrieve it. + (let* ((code (plain-file "test.c" "int main () { return 42; }")) + (exp (with-imported-modules '((guix build utils) + (guix build debug-link) + (guix elf)) + #~(begin + (use-modules (guix build utils) + (guix build debug-link) + (guix elf) + (rnrs io ports)) + + (define read-elf + (compose parse-elf get-bytevector-all)) + + (setenv "PATH" (string-join '(#$%bootstrap-gcc + #$%bootstrap-binutils) + "/bin:" 'suffix)) + (invoke "gcc" "-O0" "-g" #$code "-o" "exe") + (copy-file "exe" "exe.debug") + (invoke "strip" "--only-keep-debug" "exe.debug") + (invoke "strip" "--strip-debug" "exe") + (invoke "objcopy" "--add-gnu-debuglink=exe.debug" + "exe") + (call-with-values (lambda () + (elf-debuglink + (call-with-input-file "exe" + read-elf))) + (lambda (file crc) + (call-with-output-file #$output + (lambda (port) + (let ((expected (call-with-input-file "exe.debug" + debuglink-crc32))) + (write (list file (= crc expected)) + port)))))))))) + (mlet* %store-monad ((drv (gexp->derivation "debuglink" exp)) + (x (built-derivations (list drv)))) + (call-with-input-file (derivation->output-path drv) + (lambda (port) + (return (match (read port) + (("exe.debug" #t) #t) + (x (pk 'fail x #f))))))))) + +(unless (network-reachable?) (test-skip 1)) +(test-assertm "set-debuglink-crc" + ;; Check whether 'set-debuglink-crc' successfully updates the CRC. + (let* ((code (plain-file "test.c" "int main () { return 42; }")) + (debug (plain-file "exe.debug" "a")) + (exp (with-imported-modules '((guix build utils) + (guix build debug-link) + (guix elf)) + #~(begin + (use-modules (guix build utils) + (guix build debug-link) + (guix elf) + (rnrs io ports)) + + (define read-elf + (compose parse-elf get-bytevector-all)) + + (setenv "PATH" (string-join '(#$%bootstrap-gcc + #$%bootstrap-binutils) + "/bin:" 'suffix)) + (invoke "gcc" "-O0" "-g" #$code "-o" "exe") + (copy-file "exe" "exe.debug") + (invoke "strip" "--only-keep-debug" "exe.debug") + (invoke "strip" "--strip-debug" "exe") + (invoke "objcopy" "--add-gnu-debuglink=exe.debug" + "exe") + (set-debuglink-crc "exe" #$debug) + (call-with-values (lambda () + (elf-debuglink + (call-with-input-file "exe" + read-elf))) + (lambda (file crc) + (call-with-output-file #$output + (lambda (port) + (write (list file crc) port))))))))) + (mlet* %store-monad ((drv (gexp->derivation "debuglink" exp)) + (x (built-derivations (list drv)))) + (call-with-input-file (derivation->output-path drv) + (lambda (port) + (return (match (read port) + (("exe.debug" crc) + (= crc (debuglink-crc32 (open-input-string "a")))) + (x + (pk 'fail x #f))))))))) + +(test-end "debug-link") -- cgit v1.2.3 From dccd29d17dc6ca6a4f2820ce5f5d4d81f4768e4a Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 24 Aug 2018 18:04:07 +0200 Subject: import: cpan: Adjust test to new URL. This is a followup to 9aba9b127840a116c806a2cbac901cf8077abcd0. * tests/cpan.scm ("cpan->guix-package"): Adjust 'home-page' URL. --- tests/cpan.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/cpan.scm b/tests/cpan.scm index e5bd0ae3a4..396744e529 100644 --- a/tests/cpan.scm +++ b/tests/cpan.scm @@ -97,7 +97,7 @@ ('propagated-inputs ('quasiquote (("perl-test-script" ('unquote 'perl-test-script))))) - ('home-page "http://search.cpan.org/dist/Foo-Bar/") + ('home-page "https://metacpan.org/release/Foo-Bar") ('synopsis "Fizzle Fuzz") ('description 'fill-in-yourself!) ('license 'perl-license)) -- cgit v1.2.3 From 841ede7f8701fa4ed1527dffeb98610c01871028 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 24 Aug 2018 16:45:24 -0400 Subject: nls: Update 'de' translation. --- po/guix/de.po | 2927 ++++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 2089 insertions(+), 838 deletions(-) diff --git a/po/guix/de.po b/po/guix/de.po index 5242d53780..7e29852c2a 100644 --- a/po/guix/de.po +++ b/po/guix/de.po @@ -1,14 +1,15 @@ # German translation of guix. -# Copyright (C) 2014 Free Software Foundation, Inc. +# Copyright (C) 2018 the authors of Guix (msgids) # This file is distributed under the same license as the guix package. -# Mario Blättermann , 2014, 2015, 2016. +# Florian Pelz , 2018. +# Mario Blättermann , 2014, 2015, 2016, 2018. # msgid "" msgstr "" -"Project-Id-Version: guix 0.11.0\n" +"Project-Id-Version: guix 0.15.0\n" "Report-Msgid-Bugs-To: ludo@gnu.org\n" -"POT-Creation-Date: 2016-07-29 10:16+0200\n" -"PO-Revision-Date: 2016-09-15 21:49+0200\n" +"POT-Creation-Date: 2018-06-22 14:08+0200\n" +"PO-Revision-Date: 2018-08-24 20:57+0200\n" "Last-Translator: Mario Blättermann \n" "Language-Team: German \n" "Language: de\n" @@ -17,177 +18,376 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 1.8.9\n" +"X-Generator: Poedit 2.1.1\n" -#: gnu/packages.scm:79 +#: gnu.scm:82 #, scheme-format -msgid "~a: patch not found" -msgstr "~a: Patch nicht gefunden" +msgid "module ~a not found" +msgstr "Modul »~a« nicht gefunden" + +#: gnu.scm:100 +msgid "" +"You may use @command{guix package --show=foo | grep location} to search\n" +"for the location of package @code{foo}.\n" +"If you get the line @code{location: gnu/packages/bar.scm:174:2},\n" +"add @code{bar} to the @code{use-package-modules} form." +msgstr "" +"Der Befehl @command{guix package --show=foo | grep location} zeigt Ihnen\n" +"die Stelle, an der das Paket @code{foo} definiert ist.\n" +"Wenn Sie eine Ausgabe wie @code{location: gnu/packages/bar.scm:174:2}\n" +"sehen, fügen Sie @code{bar} in Ihre @code{use-package-modules}-Form ein." -#: gnu/packages.scm:95 +#: gnu.scm:108 #, scheme-format -msgid "could not find bootstrap binary '~a' for system '~a'" +msgid "Try adding @code{(use-package-modules ~a)}." +msgstr "Vielleicht sollten Sie @code{(use-package-modules ~a)} einfügen." + +#: gnu.scm:123 +#, scheme-format +msgid "" +"You may use @command{guix system search ~a} to search for a service\n" +"matching @code{~a}.\n" +"If you get the line @code{location: gnu/services/foo.scm:188:2},\n" +"add @code{foo} to the @code{use-service-modules} form." msgstr "" +"Der Befehl @command{guix system search ~a} sucht nach einem zu\n" +"@code{~a} passenden Dienst.\n" +"Wenn Sie eine Ausgabe wie @code{location: gnu/services/foo.scm:188:2} sehen,\n" +"fügen Sie @code{foo} in Ihre @code{use-service-modules}-Form ein." -#: gnu/packages.scm:147 +#: gnu.scm:132 #, scheme-format -msgid "cannot access `~a': ~a~%" -msgstr "Zugriff auf »~a« nicht möglich: ~a~%" +msgid "Try adding @code{(use-service-modules ~a)}." +msgstr "Vielleicht sollten Sie @code{(use-service-modules ~a)} einfügen." -#: gnu/packages.scm:301 +#: gnu/packages.scm:92 +#, scheme-format +msgid "~a: patch not found" +msgstr "~a: Patch nicht gefunden" + +#: gnu/packages.scm:108 +#, scheme-format +msgid "could not find bootstrap binary '~a' for system '~a'" +msgstr "Die Bootstrap-Binärdatei »~a« für System »~a« konnte nicht gefunden werden" + +#: gnu/packages.scm:259 #, scheme-format msgid "ambiguous package specification `~a'~%" msgstr "Nicht eindeutige Paketangabe »~a«~%" -#: gnu/packages.scm:302 +#: gnu/packages.scm:260 #, scheme-format -msgid "choosing ~a from ~a~%" -msgstr "" +msgid "choosing ~a@~a from ~a~%" +msgstr "Benutzt wird ~a@~a aus ~a~%" -#: gnu/packages.scm:306 +#: gnu/packages.scm:265 guix/scripts/package.scm:238 #, scheme-format -msgid "deprecated NAME-VERSION syntax; use NAME@VERSION instead~%" -msgstr "" +msgid "package '~a' has been superseded by '~a'~%" +msgstr "Paket »~a« wurde abgelöst durch »~a«~%" -#: gnu/packages.scm:311 +#: gnu/packages.scm:272 #, scheme-format msgid "~A: package not found for version ~a~%" msgstr "~A: Paket nicht gefunden für Version ~a~%" -#: gnu/packages.scm:321 +#: gnu/packages.scm:273 #, scheme-format msgid "~A: unknown package~%" -msgstr "~A: unbekanntes Paket~%" +msgstr "~A: Unbekanntes Paket~%" -#: gnu/packages.scm:349 +#: gnu/packages.scm:301 #, scheme-format msgid "package `~a' lacks output `~a'~%" -msgstr "" +msgstr "Paket »~a« fehlt die Ausgabe »~a«~%" -#: gnu/services.scm:540 +#: gnu/services.scm:238 #, scheme-format -msgid "no target of type '~a' for service ~s" +msgid "~a: no value specified for service of type '~a'" +msgstr "~a: Kein Wert für Dienst von Typ »~a«" + +#: gnu/services.scm:336 +msgid "" +"Build the operating system top-level directory, which in\n" +"turn refers to everything the operating system needs: its kernel, initrd,\n" +"system profile, boot script, and so on." +msgstr "" +"Das oberste Verzeichnis des Betriebssystems erstellen, welches um\n" +"alles erweitert wird, was das Betriebssystem braucht: sein Kernel,\n" +"Initrd, Systemprofil, Boot-Skript und so weiter." + +#: gnu/services.scm:366 +msgid "" +"Produce the operating system's boot script, which is spawned\n" +"by the initrd once the root file system is mounted." +msgstr "" +"Das Boot-Skript des Betriebssystems erzeugen, welches vom Initrd\n" +"gestartet wird, sobald das Wurzel-Dateisystem eingehängt wurde." + +#: gnu/services.scm:422 +msgid "" +"Delete files from @file{/tmp}, @file{/var/run}, and other\n" +"temporary locations at boot time." +msgstr "" +"Dateien aus @file{/tmp}, @file{/var/run} und anderen temporären Orten\n" +"zur Boot-Zeit löschen." + +#: gnu/services.scm:476 +msgid "" +"Run @dfn{activation} code at boot time and upon\n" +"@command{guix system reconfigure} completion." +msgstr "" +"Den Aktivierungs-Code beim Hochfahren und nach jedem\n" +"@command{guix system reconfigure} ausführen." + +#: gnu/services.scm:527 +msgid "" +"Add special files to the root file system---e.g.,\n" +"@file{/usr/bin/env}." +msgstr "" +"Besondere Dateien zum Wurzel-Dateisystem hinzufügen,\n" +"z.B. @file{/usr/bin/env}." + +#: gnu/services.scm:563 +msgid "Populate the @file{/etc} directory." +msgstr "Dateien ins @file{/etc}-Verzeichnis einfügen." + +#: gnu/services.scm:580 +msgid "" +"Populate @file{/run/setuid-programs} with the specified\n" +"executables, making them setuid-root." +msgstr "" +"Die angegebenen ausführbaren Dateien ins Verzeichnis\n" +"@file{/run/setuid-programs} einfügen und als setuid-root markieren." + +#: gnu/services.scm:600 +msgid "" +"This is the @dfn{system profile}, available as\n" +"@file{/run/current-system/profile}. It contains packages that the sysadmin\n" +"wants to be globally available to all the system users." +msgstr "" +"Dies ist das @dfn{Systemprofil}, welches als @file{/run/current-system/profile}\n" +"verfügbar ist. Es enthält Pakete, die der Systemadministrator global\n" +"für alle Systemnutzer verfügbar machen möchte." + +#: gnu/services.scm:620 +msgid "" +"Make ``firmware'' files loadable by the operating system\n" +"kernel. Firmware may then be uploaded to some of the machine's devices, such\n" +"as Wifi cards." +msgstr "" +"»Firmware«-Dateien platzieren, so dass der Betriebssystem-Kernel sie\n" +"laden kann. Dann kann der Kernel die Firmware auf an die Maschine\n" +"angeschlossene Geräte, z.B. WLAN-Karten, hochladen." + +#: gnu/services.scm:651 +msgid "" +"Register garbage-collector roots---i.e., store items that\n" +"will not be reclaimed by the garbage collector." msgstr "" +"Müllsammler-Wurzeln — d.h. Store-Objekte, die vom\n" +"Müllsammler nicht gelöscht werden — registrieren." + +#: gnu/services.scm:676 +#, scheme-format +msgid "no target of type '~a' for service '~a'" +msgstr "Kein Ziel von Typ »~a« für den Dienst »~a«" -#: gnu/services.scm:551 gnu/services.scm:612 +#: gnu/services.scm:702 gnu/services.scm:795 #, scheme-format msgid "more than one target service of type '~a'" -msgstr "" +msgstr "Mehr als ein Ziel-Dienst von Typ »~a«" -#: gnu/services.scm:602 +#: gnu/services.scm:785 #, scheme-format msgid "service of type '~a' not found" msgstr "Dienst des Typs »~a« wurde nicht gefunden" -#: gnu/system.scm:500 +#: gnu/system.scm:320 +#, scheme-format +msgid "unrecognized boot parameters at '~a'~%" +msgstr "Nicht erkannte Boot-Parameter für »~a«~%" + +#: gnu/system.scm:731 #, scheme-format msgid "using a string for file '~a' is deprecated; use 'plain-file' instead~%" msgstr "" +"Für »~a« eine Zeichenkette zu benutzen ist\n" +"obsolet, benutzen Sie »plain-file«~%" -#: gnu/system.scm:516 +#: gnu/system.scm:747 #, scheme-format msgid "using a monadic value for '~a' is deprecated; use 'plain-file' instead~%" msgstr "" +"Für »~a« einen monadischen Wert zu benutzen ist\n" +"obsolet, benutzen Sie »plain-file«~%" -#: gnu/system.scm:650 -#, fuzzy, scheme-format -#| msgid "~a: invalid number~%" +#: gnu/system.scm:892 +#, scheme-format msgid "~a: invalid locale name" -msgstr "~a: ungültige Zahl~%" +msgstr "~a: Ungültiger Locale-Name~%" -#: gnu/system.scm:770 +#: gnu/services/shepherd.scm:175 #, scheme-format -msgid "unrecognized boot parameters for '~a'~%" -msgstr "Nicht erkannte Startparameter für »~a«~%" +msgid "service '~a' provided more than once" +msgstr "Der Dienst »~a« kommt mehr als einmal vor." -#: gnu/services/shepherd.scm:162 +#: gnu/services/shepherd.scm:190 #, scheme-format -msgid "service '~a' provided more than once" +msgid "service '~a' requires '~a', which is not provided by any service" msgstr "" +"Der Dienst »~a« setzt »~a« voraus, was\n" +"von keinem Dienst angeboten wird." -#: gnu/services/shepherd.scm:177 +#: gnu/system/mapped-devices.scm:142 #, scheme-format -msgid "service '~a' requires '~a', which is not provided by any service" +msgid "you may need these modules in the initrd for ~a:~{ ~a~}" +msgstr "Sie könnten diese Module in der Initrd für ~a brauchen:~{ ~a~}" + +#: gnu/system/mapped-devices.scm:146 +#, scheme-format +msgid "" +"Try adding them to the\n" +"@code{initrd-modules} field of your @code{operating-system} declaration, along\n" +"these lines:\n" +"\n" +"@example\n" +" (operating-system\n" +" ;; @dots{}\n" +" (initrd-modules (append (list~{ ~s~})\n" +" %base-initrd-modules)))\n" +"@end example\n" msgstr "" +"Vielleicht möchten Sie sie zum @code{initrd-modules}-Feld Ihrer\n" +"@code{operating-system}-Deklaration hinzufügen, etwa so:\n" +"\n" +"@example\n" +" (operating-system\n" +" ;; @dots{}\n" +" (initrd-modules (append (list~{ ~s~})\n" +" %base-initrd-modules)))\n" +"@end example\n" + +#: gnu/system/mapped-devices.scm:222 +#, scheme-format +msgid "no LUKS partition with UUID '~a'" +msgstr "Keine LUKS-Partition mit UUID »~a«" -#: gnu/system/shadow.scm:240 +#: gnu/system/shadow.scm:245 #, scheme-format msgid "supplementary group '~a' of user '~a' is undeclared" -msgstr "" +msgstr "Zusätzliche Gruppe »~a« von Nutzer »~a« wurde nicht deklariert" -#: gnu/system/shadow.scm:250 +#: gnu/system/shadow.scm:255 #, scheme-format msgid "primary group '~a' of user '~a' is undeclared" -msgstr "" +msgstr "Primäre Gruppe »~a« von Nutzer »~a« wurde nicht deklariert" -#: guix/scripts.scm:52 +#: guix/scripts.scm:56 #, scheme-format msgid "invalid argument: ~a~%" msgstr "Ungültiges Argument: ~a~%" -#: guix/scripts.scm:78 guix/scripts/download.scm:99 guix/scripts/gc.scm:164 -#: guix/scripts/import/cran.scm:78 guix/scripts/import/elpa.scm:77 -#: guix/scripts/pull.scm:219 guix/scripts/lint.scm:916 -#: guix/scripts/publish.scm:549 guix/scripts/graph.scm:383 +#: guix/scripts.scm:84 guix/scripts/download.scm:135 +#: guix/scripts/import/cran.scm:82 guix/scripts/import/elpa.scm:85 +#: guix/scripts/publish.scm:881 guix/scripts/edit.scm:81 #, scheme-format msgid "~A: unrecognized option~%" -msgstr "~A: nicht erkannte Option~%" +msgstr "~A: Nicht erkannte Option~%" -#: guix/scripts/build.scm:121 +#: guix/scripts.scm:179 #, scheme-format -msgid "failed to create GC root `~a': ~a~%" +msgid "Your Guix installation is ~a day old.\n" +msgid_plural "Your Guix installation is ~a days old.\n" +msgstr[0] "Ihre Guix-Installation ist ~a Tag alt.\n" +msgstr[1] "Ihre Guix-Installation ist ~a Tage alt.\n" + +#: guix/scripts.scm:184 +#, scheme-format +msgid "" +"Consider running 'guix pull' followed by\n" +"'~a' to get up-to-date packages and security updates.\n" msgstr "" +"Vielleicht wollen Sie »guix pull« ausführen vor »~a«, um\n" +"aktuelle Pakete und Sicherheitsaktualisierungen zu bekommen.\n" + +#: guix/scripts/build.scm:81 +#, scheme-format +msgid "cannot access build log at '~a':~%" +msgstr "Auf Erstellungsprotokoll auf »~a« kann nicht zugegriffen werden:~%" + +#: guix/scripts/build.scm:135 +#, scheme-format +msgid "failed to create GC root `~a': ~a~%" +msgstr "Müllsammler-Wurzel »~a« konnte nicht erzeugt werden: ~a~%" -#: guix/scripts/build.scm:198 -#, fuzzy, scheme-format -#| msgid "ambiguous package specification `~a'~%" +#: guix/scripts/build.scm:237 +#, scheme-format msgid "invalid replacement specification: ~s~%" -msgstr "Nicht eindeutige Paketangabe »~a«~%" +msgstr "Ungültige Ersatzspezifikation: ~s~%" -#: guix/scripts/build.scm:246 +#: guix/scripts/build.scm:294 msgid "" "\n" " --with-source=SOURCE\n" " use SOURCE when building the corresponding package" msgstr "" +"\n" +" --with-source=QUELLE\n" +" beim Erstellen des entsprechenden Pakets QUELLE\n" +" benutzen" -#: guix/scripts/build.scm:249 +#: guix/scripts/build.scm:297 msgid "" "\n" " --with-input=PACKAGE=REPLACEMENT\n" " replace dependency PACKAGE by REPLACEMENT" msgstr "" +"\n" +" --with-input=PAKET=ERSATZ\n" +" Abhängigkeit PAKET durch ERSATZ ersetzen" + +#: guix/scripts/build.scm:300 +msgid "" +"\n" +" --with-graft=PACKAGE=REPLACEMENT\n" +" graft REPLACEMENT on packages that refer to PACKAGE" +msgstr "" +"\n" +" --with-graft=PAKET=ERSATZ\n" +" mit ERSATZ jedes PAKET referenzierende Paket veredeln" -#: guix/scripts/build.scm:274 +#: guix/scripts/build.scm:325 #, scheme-format msgid "transformation '~a' had no effect on ~a~%" -msgstr "" +msgstr "Transformation »~a« wirkte sich nicht aus auf ~a~%" -#: guix/scripts/build.scm:292 +#: guix/scripts/build.scm:343 msgid "" "\n" " -L, --load-path=DIR prepend DIR to the package module search path" msgstr "" +"\n" +" -L, --load-path=VERZEICHNIS\n" +" VERZEICHNIS vorne an den Paketmodulsuchpfad anhängen" -#: guix/scripts/build.scm:294 +#: guix/scripts/build.scm:345 msgid "" "\n" " -K, --keep-failed keep build tree of failed builds" msgstr "" +"\n" +" -K, --keep-failed Verzeichnisse zum Erstellen nach fehlgeschlagener\n" +" Erstellung behalten" -#: guix/scripts/build.scm:296 -#, fuzzy -#| msgid "" -#| "\n" -#| " -n, --dry-run do not build the derivations" +#: guix/scripts/build.scm:347 msgid "" "\n" " -k, --keep-going keep going when some of the derivations fail" msgstr "" "\n" -" -n, --dry-run die Ableitungen nicht erstellen" +" -k, --keep-going weitermachen, wenn manche Ableitungen fehlschlagen" -#: guix/scripts/build.scm:298 +#: guix/scripts/build.scm:349 msgid "" "\n" " -n, --dry-run do not build the derivations" @@ -195,51 +395,73 @@ msgstr "" "\n" " -n, --dry-run die Ableitungen nicht erstellen" -#: guix/scripts/build.scm:300 +#: guix/scripts/build.scm:351 msgid "" "\n" " --fallback fall back to building when the substituter fails" msgstr "" +"\n" +" --fallback notfalls selbst erstellen, wenn der Substituierer\n" +" fehlschlägt" -#: guix/scripts/build.scm:302 +#: guix/scripts/build.scm:353 msgid "" "\n" " --no-substitutes build instead of resorting to pre-built substitutes" msgstr "" +"\n" +" --no-substitutes selbst erstellen, statt vorgefertigte Substitute zu\n" +" benutzen" -#: guix/scripts/build.scm:304 guix/scripts/size.scm:217 +#: guix/scripts/build.scm:355 guix/scripts/size.scm:232 msgid "" "\n" " --substitute-urls=URLS\n" " fetch substitute from URLS if they are authorized" msgstr "" +"\n" +" --substitute-urls=URLS\n" +" Substitute von URLS laden, wenn sie autorisiert sind" -#: guix/scripts/build.scm:307 +#: guix/scripts/build.scm:358 msgid "" "\n" " --no-grafts do not graft packages" msgstr "" +"\n" +" --no-grafts Pakete nicht veredeln" -#: guix/scripts/build.scm:309 +#: guix/scripts/build.scm:360 msgid "" "\n" " --no-build-hook do not attempt to offload builds via the build hook" msgstr "" +"\n" +" --no-build-hook nicht versuchen, Erstellungen über den »build hook«\n" +" auszulagern" -#: guix/scripts/build.scm:311 +#: guix/scripts/build.scm:362 msgid "" "\n" " --max-silent-time=SECONDS\n" " mark the build as failed after SECONDS of silence" msgstr "" +"\n" +" --max-silent-time=SEKUNDEN\n" +" das Erstellen als Fehlschlag markieren nach\n" +" SEKUNDEN-langer Stille" -#: guix/scripts/build.scm:314 +#: guix/scripts/build.scm:365 msgid "" "\n" " --timeout=SECONDS mark the build as failed after SECONDS of activity" msgstr "" +"\n" +" --timeout=SEKUNDEN\n" +" das Erstellen als Fehlschlag markieren nach\n" +" SEKUNDEN-langer Aktivität" -#: guix/scripts/build.scm:316 +#: guix/scripts/build.scm:367 msgid "" "\n" " --verbosity=LEVEL use the given verbosity LEVEL" @@ -247,13 +469,16 @@ msgstr "" "\n" " --verbosity=STUFE die angegebene Ausführlichkeitsstufe verwenden" -#: guix/scripts/build.scm:318 +#: guix/scripts/build.scm:369 msgid "" "\n" " --rounds=N build N times in a row to detect non-determinism" msgstr "" +"\n" +" --rounds=N N-mal nacheinander erstellen, um Nichtdeterminismus\n" +" festzustellen" -#: guix/scripts/build.scm:320 +#: guix/scripts/build.scm:371 msgid "" "\n" " -c, --cores=N allow the use of up to N CPU cores for the build" @@ -261,107 +486,147 @@ msgstr "" "\n" " -c, --cores=N bis zu N Prozessorkerne für die Erstellung nutzen" -#: guix/scripts/build.scm:322 +#: guix/scripts/build.scm:373 msgid "" "\n" " -M, --max-jobs=N allow at most N build jobs" msgstr "" +"\n" +" -M, --max-jobs=N höchstens N gleichzeitige Erstellungsarbeiten zulassen" -#: guix/scripts/build.scm:428 guix/scripts/build.scm:435 +#: guix/scripts/build.scm:479 guix/scripts/build.scm:486 #, scheme-format msgid "not a number: '~a' option argument: ~a~%" -msgstr "" +msgstr "Keine Zahl: Kommandozeilenargument von »~a«: ~a~%" -#: guix/scripts/build.scm:455 +#: guix/scripts/build.scm:505 msgid "" "Usage: guix build [OPTION]... PACKAGE-OR-DERIVATION...\n" "Build the given PACKAGE-OR-DERIVATION and return their output paths.\n" msgstr "" +"Aufruf: guix build [OPTION] … PAKET-ODER-ABLEITUNG …\n" +"Jedes angegebene PAKET-ODER-ABLEITUNG erstellen und deren Ausgabepfade liefern.\n" -#: guix/scripts/build.scm:457 +#: guix/scripts/build.scm:507 msgid "" "\n" " -e, --expression=EXPR build the package or derivation EXPR evaluates to" msgstr "" +"\n" +" -e, --expression=AUSDRUCK\n" +" das Paket oder die Ableitung erstellen, zu der AUSDRUCK\n" +" ausgewertet wird" -#: guix/scripts/build.scm:459 +#: guix/scripts/build.scm:509 msgid "" "\n" " -f, --file=FILE build the package or derivation that the code within\n" " FILE evaluates to" msgstr "" +"\n" +" -f, --file=DATEI das Paket oder die Ableitung erstellen, zu der der\n" +" Code in DATEI ausgewertet wird" -#: guix/scripts/build.scm:462 +#: guix/scripts/build.scm:512 msgid "" "\n" " -S, --source build the packages' source derivations" msgstr "" +"\n" +" -S, --source die Quellcode-Ableitungen der Pakete erstellen" -#: guix/scripts/build.scm:464 +#: guix/scripts/build.scm:514 msgid "" "\n" " --sources[=TYPE] build source derivations; TYPE may optionally be one\n" " of \"package\", \"all\" (default), or \"transitive\"" msgstr "" +"\n" +" --sources[=TYP] die Quellcode-Ableitungen erstellen, wobei TYP optional\n" +" entweder »package«, »all« (Voreinstellung) oder\n" +" »transitive« ist" -#: guix/scripts/build.scm:467 +#: guix/scripts/build.scm:517 guix/scripts/pack.scm:646 msgid "" "\n" " -s, --system=SYSTEM attempt to build for SYSTEM--e.g., \"i686-linux\"" msgstr "" +"\n" +" -s, --system=SYSTEM versuchen, für die angegebene Art von SYSTEM zu\n" +" erstellen — z.B. »i686-linux«" -#: guix/scripts/build.scm:469 +#: guix/scripts/build.scm:519 guix/scripts/pack.scm:648 msgid "" "\n" " --target=TRIPLET cross-build for TRIPLET--e.g., \"armel-linux-gnu\"" msgstr "" +"\n" +" --target=TRIPLET cross-erstellen für TRIPLET — z.B. »armel-linux-gnu«" -#: guix/scripts/build.scm:471 +#: guix/scripts/build.scm:521 msgid "" "\n" " -d, --derivations return the derivation paths of the given packages" msgstr "" +"\n" +" -d, --derivations die Ableitungspfade der angegebenen Pakete liefern" -#: guix/scripts/build.scm:473 +#: guix/scripts/build.scm:523 msgid "" "\n" " --check rebuild items to check for non-determinism issues" msgstr "" +"\n" +" --check Objekte erneut erstellen, um auf Probleme wegen\n" +" Nichtdeterminismus zu prüfen" + +#: guix/scripts/build.scm:525 +msgid "" +"\n" +" --repair repair the specified items" +msgstr "" +"\n" +" --repair die angegebenen Objekte reparieren" -#: guix/scripts/build.scm:475 +#: guix/scripts/build.scm:527 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=DATEI DATEI zu einer symbolischen Verknüpfung auf das\n" +" Ergebnis machen und als Müllsammler-Wurzel\n" +" registrieren" -#: guix/scripts/build.scm:478 -#, fuzzy -#| msgid "" -#| "\n" -#| " -n, --dry-run do not build the derivations" +#: guix/scripts/build.scm:530 msgid "" "\n" " -q, --quiet do not show the build log" msgstr "" "\n" -" -n, --dry-run die Ableitungen nicht erstellen" +" -q, --quiet kein Protokoll der Erstellung anzeigen" -#: guix/scripts/build.scm:480 +#: guix/scripts/build.scm:532 msgid "" "\n" " --log-file return the log file names for the given derivations" msgstr "" +"\n" +" --log-file die Namen der Protokolldateien für die\n" +" angegebenen Ableitungen liefern" -#: guix/scripts/build.scm:487 guix/scripts/download.scm:56 -#: guix/scripts/package.scm:388 guix/scripts/gc.scm:74 -#: guix/scripts/hash.scm:56 guix/scripts/import.scm:91 -#: guix/scripts/import/cran.scm:46 guix/scripts/pull.scm:83 -#: guix/scripts/substitute.scm:827 guix/scripts/system.scm:695 -#: guix/scripts/lint.scm:865 guix/scripts/publish.scm:73 -#: guix/scripts/edit.scm:44 guix/scripts/size.scm:225 -#: guix/scripts/graph.scm:364 guix/scripts/challenge.scm:182 -#: guix/scripts/container.scm:33 guix/scripts/container/exec.scm:43 +#: guix/scripts/build.scm:539 guix/scripts/download.scm:83 +#: guix/scripts/package.scm:395 guix/scripts/gc.scm:76 +#: guix/scripts/hash.scm:59 guix/scripts/import.scm:92 +#: guix/scripts/import/cran.scm:47 guix/scripts/pull.scm:120 +#: guix/scripts/substitute.scm:879 guix/scripts/system.scm:993 +#: guix/scripts/lint.scm:1107 guix/scripts/publish.scm:94 +#: guix/scripts/edit.scm:44 guix/scripts/size.scm:243 +#: guix/scripts/graph.scm:466 guix/scripts/challenge.scm:241 +#: guix/scripts/copy.scm:122 guix/scripts/pack.scm:661 +#: guix/scripts/weather.scm:258 guix/scripts/container.scm:33 +#: guix/scripts/container/exec.scm:43 msgid "" "\n" " -h, --help display this help and exit" @@ -369,50 +634,70 @@ msgstr "" "\n" " -h, --help diese Hilfe anzeigen und beenden" -#: guix/scripts/build.scm:489 guix/scripts/download.scm:58 -#: guix/scripts/package.scm:390 guix/scripts/gc.scm:76 -#: guix/scripts/hash.scm:58 guix/scripts/import.scm:93 -#: guix/scripts/import/cran.scm:48 guix/scripts/pull.scm:85 -#: guix/scripts/substitute.scm:829 guix/scripts/system.scm:697 -#: guix/scripts/lint.scm:869 guix/scripts/publish.scm:75 -#: guix/scripts/edit.scm:46 guix/scripts/size.scm:227 -#: guix/scripts/graph.scm:366 guix/scripts/challenge.scm:184 -#: guix/scripts/container.scm:35 guix/scripts/container/exec.scm:45 +#: guix/scripts/build.scm:541 guix/scripts/download.scm:85 +#: guix/scripts/package.scm:397 guix/scripts/gc.scm:78 +#: guix/scripts/hash.scm:61 guix/scripts/import.scm:94 +#: guix/scripts/import/cran.scm:49 guix/scripts/pull.scm:122 +#: guix/scripts/substitute.scm:881 guix/scripts/system.scm:995 +#: guix/scripts/lint.scm:1111 guix/scripts/publish.scm:96 +#: guix/scripts/edit.scm:46 guix/scripts/size.scm:245 +#: guix/scripts/graph.scm:468 guix/scripts/challenge.scm:243 +#: guix/scripts/copy.scm:124 guix/scripts/pack.scm:663 +#: guix/scripts/weather.scm:260 guix/scripts/container.scm:35 +#: guix/scripts/container/exec.scm:45 msgid "" "\n" " -V, --version display version information and exit" msgstr "" "\n" -" -V, --version Versionsinformation anzeigen und beenden" +" -V, --version Versionsinformationen anzeigen und beenden" -#: guix/scripts/build.scm:516 +#: guix/scripts/build.scm:568 #, scheme-format msgid "" "invalid argument: '~a' option argument: ~a, ~\n" "must be one of 'package', 'all', or 'transitive'~%" msgstr "" +"Ungültiges Argument der Kommandozeilenoption »~a«: ~a, ~\n" +"muss entweder »package«, »all« oder »transitive« sein~%" -#: guix/scripts/build.scm:563 +#: guix/scripts/build.scm:621 #, scheme-format msgid "~s: not something we can build~%" -msgstr "" +msgstr "~s: Ist nichts, was Guix erstellen kann~%" + +#: guix/scripts/build.scm:679 +#, scheme-format +msgid "~a: warning: package '~a' has no source~%" +msgstr "~a: Warnung: Paket »~a« hat keinen Quellort~%" -#: guix/scripts/build.scm:643 +#: guix/scripts/build.scm:713 #, scheme-format msgid "no build log for '~a'~%" msgstr "Kein Erstellungsprotokoll für »~a«~%" -#: guix/scripts/download.scm:47 +#: guix/discovery.scm:90 +#, scheme-format +msgid "cannot access `~a': ~a~%" +msgstr "Zugriff auf »~a« nicht möglich: ~a~%" + +#: guix/scripts/download.scm:69 msgid "" "Usage: guix download [OPTION] URL\n" -"Download the file at URL, add it to the store, and print its store path\n" -"and the hash of its contents.\n" +"Download the file at URL to the store or to the given file, and print its\n" +"file name and the hash of its contents.\n" "\n" "Supported formats: 'nix-base32' (default), 'base32', and 'base16'\n" "('hex' and 'hexadecimal' can be used as well).\n" msgstr "" +"Aufruf: guix download [OPTION] URL\n" +"Die Datei bei URL herunterladen, in den Store einfügen und den Pfad dorthin\n" +"sowie die Prüfsumme ihres Inhalts ausgeben.\n" +"\n" +"Unterstützte Formate: »nix-base32« (Voreinstellung), »base32« und »base16«\n" +"(»hex« und »hexadecimal« können auch benutzt werden).\n" -#: guix/scripts/download.scm:53 guix/scripts/hash.scm:51 +#: guix/scripts/download.scm:75 guix/scripts/hash.scm:54 msgid "" "\n" " -f, --format=FMT write the hash in the given format" @@ -420,159 +705,204 @@ msgstr "" "\n" " -f, --format=FORMAT die Prüfsumme im angegebenen Format schreiben" -#: guix/scripts/download.scm:76 guix/scripts/hash.scm:76 +#: guix/scripts/download.scm:77 +msgid "" +"\n" +" --no-check-certificate\n" +" do not validate the certificate of HTTPS servers " +msgstr "" +"\n" +" --no-check-certificate\n" +" bei HTTPS-Servern das Zertifikat nicht überprüfen" + +#: guix/scripts/download.scm:80 +msgid "" +"\n" +" -o, --output=FILE download to FILE" +msgstr "" +"\n" +" -o, --output=DATEI Heruntergeladenes als DATEI speichern" + +#: guix/scripts/download.scm:103 guix/scripts/hash.scm:82 #, scheme-format msgid "unsupported hash format: ~a~%" msgstr "Nicht unterstütztes Prüfsummenformat: ~a~%" -#: guix/scripts/download.scm:102 guix/scripts/package.scm:842 -#: guix/scripts/publish.scm:551 +#: guix/scripts/download.scm:138 guix/scripts/package.scm:884 +#: guix/scripts/publish.scm:883 #, scheme-format msgid "~A: extraneous argument~%" -msgstr "" +msgstr "~A: Zusätzliches Argument~%" -#: guix/scripts/download.scm:111 -#, fuzzy, scheme-format -#| msgid "~a: download failed~%" +#: guix/scripts/download.scm:146 +#, scheme-format msgid "no download URI was specified~%" -msgstr "~a: Herunterladen fehlgeschlagen~%" +msgstr "Keine Download-URI wurde angegeben~%" -#: guix/scripts/download.scm:113 +#: guix/scripts/download.scm:151 #, scheme-format msgid "~a: failed to parse URI~%" msgstr "~a: URI~% konnte nicht verarbeitet werden" -#: guix/scripts/download.scm:126 +#: guix/scripts/download.scm:161 #, scheme-format msgid "~a: download failed~%" msgstr "~a: Herunterladen fehlgeschlagen~%" -#: guix/scripts/package.scm:104 +#: guix/scripts/package.scm:72 #, scheme-format msgid "Try \"info '(guix) Invoking guix package'\" for more information.~%" msgstr "" +"Versuchen Sie, »info '(guix) Invoking guix package'« aufzurufen, um mehr\n" +"Informationen zu erhalten.~%" -#: guix/scripts/package.scm:126 +#: guix/scripts/package.scm:94 #, scheme-format msgid "error: while creating directory `~a': ~a~%" msgstr "Fehler beim Anlegen des Verzeichnisses »~a«: ~a~%" -#: guix/scripts/package.scm:130 +#: guix/scripts/package.scm:98 #, scheme-format msgid "Please create the `~a' directory, with you as the owner.~%" msgstr "Bitte legen Sie das Verzeichnis »~a« mit Ihnen als Eigentümer an.~%" -#: guix/scripts/package.scm:137 +#: guix/scripts/package.scm:105 #, scheme-format msgid "error: directory `~a' is not owned by you~%" msgstr "Fehler: Das Verzeichnis »~a« gehört Ihnen nicht~%" -#: guix/scripts/package.scm:140 +#: guix/scripts/package.scm:108 #, scheme-format msgid "Please change the owner of `~a' to user ~s.~%" msgstr "Bitte ändern Sie den Eigentümer von »~a« in Benutzer ~s.~%" -#: guix/scripts/package.scm:175 +#: guix/scripts/package.scm:143 #, scheme-format msgid "not removing generation ~a, which is current~%" -msgstr "" +msgstr "Entfernung von Generation ~a verweigert, weil sie die aktuelle Generation ist~%" -#: guix/scripts/package.scm:182 +#: guix/scripts/package.scm:150 #, scheme-format msgid "no matching generation~%" -msgstr "Keine passende Generation%" +msgstr "Keine passende Generation~%" -#: guix/scripts/package.scm:185 guix/scripts/package.scm:659 -#: guix/scripts/system.scm:502 +#: guix/scripts/package.scm:153 guix/scripts/package.scm:690 +#: guix/scripts/system.scm:593 #, scheme-format msgid "invalid syntax: ~a~%" msgstr "Unzulässige Syntax: ~a~%" -#: guix/scripts/package.scm:210 +#: guix/scripts/package.scm:182 #, scheme-format msgid "nothing to be done~%" msgstr "Nichts zu tun~%" -#: guix/scripts/package.scm:224 +#: guix/scripts/package.scm:196 #, scheme-format msgid "~a package in profile~%" msgid_plural "~a packages in profile~%" msgstr[0] "~a Paket im Profil~%" msgstr[1] "~a Pakete im Profil~%" -#: guix/scripts/package.scm:313 +#: guix/scripts/package.scm:280 +#, scheme-format +msgid "package '~a' no longer exists~%" +msgstr "Paket »~a« existiert nicht mehr~%" + +#: guix/scripts/package.scm:318 #, scheme-format msgid "The following environment variable definitions may be needed:~%" -msgstr "Die Definition folgender Umgebungsvariablen könnte nötig sein:~%" +msgstr "Die Definition der folgenden Umgebungsvariablen könnte nötig sein:~%" -#: guix/scripts/package.scm:329 +#: guix/scripts/package.scm:334 msgid "" "Usage: guix package [OPTION]...\n" "Install, remove, or upgrade packages in a single transaction.\n" msgstr "" -"Aufruf: guix package [OPTION]...\n" +"Aufruf: guix package [OPTION] …\n" "Pakete in einer einzigen Transaktion installieren,\n" "entfernen oder aktualisieren.\n" -#: guix/scripts/package.scm:331 +#: guix/scripts/package.scm:336 msgid "" "\n" " -i, --install PACKAGE ...\n" " install PACKAGEs" msgstr "" "\n" -" -i, --install=PAKET PAKET oder PAKETE installieren" +" -i, --install=PAKET … PAKET oder PAKETE installieren" -#: guix/scripts/package.scm:334 +#: guix/scripts/package.scm:339 msgid "" "\n" " -e, --install-from-expression=EXP\n" " install the package EXP evaluates to" msgstr "" +"\n" +" -e, --install-from-expression=AUSDRUCK\n" +" das Paket installieren, zu dem AUSDRUCK ausgewertet\n" +" wird" -#: guix/scripts/package.scm:337 +#: guix/scripts/package.scm:342 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=DATEI\n" +" das Paket installieren, zu dem der Code in der DATEI\n" +" ausgewertet wird" -#: guix/scripts/package.scm:341 +#: guix/scripts/package.scm:346 msgid "" "\n" " -r, --remove PACKAGE ...\n" " remove PACKAGEs" msgstr "" "\n" -" -r, --remove=PAKET PAKET oder PAKETE entfernen" +" -r, --remove=PAKET … PAKET oder PAKETE entfernen" -#: guix/scripts/package.scm:344 +#: guix/scripts/package.scm:349 msgid "" "\n" " -u, --upgrade[=REGEXP] upgrade all the installed packages matching REGEXP" msgstr "" +"\n" +" -u, --upgrade[=REGEXP]\n" +" alle installierten Pakete aktualisieren, die zum\n" +" regulären Ausdruck REGEXP passen" -#: guix/scripts/package.scm:346 +#: guix/scripts/package.scm:351 msgid "" "\n" " -m, --manifest=FILE create a new profile generation with the manifest\n" " from FILE" msgstr "" +"\n" +" -m, --manifest=DATEI eine neue Profilgeneration mit dem Manifest\n" +" aus DATEI erzeugen" -#: guix/scripts/package.scm:349 +#: guix/scripts/package.scm:354 msgid "" "\n" " --do-not-upgrade[=REGEXP] do not upgrade any packages matching REGEXP" msgstr "" +"\n" +" --do-not-upgrade[=REGEXP]\n" +" keine Pakete aktualisieren, die zum regulären\n" +" Ausdruck REGEXP passen" -#: guix/scripts/package.scm:351 +#: guix/scripts/package.scm:356 msgid "" "\n" " --roll-back roll back to the previous generation" msgstr "" +"\n" +" --roll-back zurück zur vorherigen Generation wechseln" -#: guix/scripts/package.scm:353 +#: guix/scripts/package.scm:358 msgid "" "\n" " --search-paths[=KIND]\n" @@ -582,40 +912,64 @@ msgstr "" " --search-paths[=ART]\n" " benötigte Definitionen von Umgebungsvariablen anzeigen" -#: guix/scripts/package.scm:356 +#: guix/scripts/package.scm:361 guix/scripts/pull.scm:113 msgid "" "\n" " -l, --list-generations[=PATTERN]\n" " list generations matching PATTERN" msgstr "" +"\n" +" -l, --list-generations[=MUSTER]\n" +" zum MUSTER passende Generationen auflisten" -#: guix/scripts/package.scm:359 +#: guix/scripts/package.scm:364 msgid "" "\n" " -d, --delete-generations[=PATTERN]\n" " delete generations matching PATTERN" msgstr "" +"\n" +" -d, --delete-generations[=MUSTER]\n" +" zum MUSTER passende Generationen löschen" -#: guix/scripts/package.scm:362 +#: guix/scripts/package.scm:367 msgid "" "\n" " -S, --switch-generation=PATTERN\n" " switch to a generation matching PATTERN" msgstr "" +"\n" +" -S, --switch-generation=MUSTER\n" +" zu einer zum MUSTER passenden Generation wechseln" -#: guix/scripts/package.scm:365 +#: guix/scripts/package.scm:370 msgid "" "\n" " -p, --profile=PROFILE use PROFILE instead of the user's default profile" msgstr "" +"\n" +" -p, --profile=PROFIL PROFIL benutzen anstelle des Standardprofils\n" +" des Nutzers" + +#: guix/scripts/package.scm:373 +msgid "" +"\n" +" --allow-collisions do not treat collisions in the profile as an error" +msgstr "" +"\n" +" --allow-collisions\n" +" Kollisionen im Profil nicht als Fehler auffassen" -#: guix/scripts/package.scm:368 +#: guix/scripts/package.scm:375 msgid "" "\n" " --bootstrap use the bootstrap Guile to build the profile" msgstr "" +"\n" +" --bootstrap das Bootstrap-Guile benutzen, um das Profil zu\n" +" erstellen" -#: guix/scripts/package.scm:370 guix/scripts/pull.scm:76 +#: guix/scripts/package.scm:377 guix/scripts/pull.scm:105 msgid "" "\n" " --verbose produce verbose output" @@ -623,27 +977,35 @@ msgstr "" "\n" " --verbose ausführliche Ausgaben anzeigen" -#: guix/scripts/package.scm:373 +#: guix/scripts/package.scm:380 msgid "" "\n" " -s, --search=REGEXP search in synopsis and description using REGEXP" msgstr "" +"\n" +" -s, --search=REGEXP in Zusammenfassung und Beschreibung mit REGEXP suchen" -#: guix/scripts/package.scm:375 +#: guix/scripts/package.scm:382 msgid "" "\n" " -I, --list-installed[=REGEXP]\n" " list installed packages matching REGEXP" msgstr "" +"\n" +" -I, --list-installed[=REGEXP]\n" +" zu REGEXP passende installierte Pakete auflisten" -#: guix/scripts/package.scm:378 +#: guix/scripts/package.scm:385 msgid "" "\n" " -A, --list-available[=REGEXP]\n" " list available packages matching REGEXP" msgstr "" +"\n" +" -A, --list-available[=REGEXP]\n" +" zu REGEXP passende verfügbare Pakete auflisten" -#: guix/scripts/package.scm:381 +#: guix/scripts/package.scm:388 msgid "" "\n" " --show=PACKAGE show details about PACKAGE" @@ -651,25 +1013,37 @@ msgstr "" "\n" " --show=PAKET Details zu PAKET anzeigen" -#: guix/scripts/package.scm:476 +#: guix/scripts/package.scm:440 #, scheme-format -msgid "~a: unsupported kind of search path~%" +msgid "upgrade regexp '~a' looks like a command-line option~%" msgstr "" +"--upgrade: Der reguläre Ausdruck »~a«\n" +"sieht wie eine Kommandozeilenoption aus" + +#: guix/scripts/package.scm:443 +#, scheme-format +msgid "is this intended?~%" +msgstr "Ist das gewollt?~%" -#: guix/scripts/package.scm:755 +#: guix/scripts/package.scm:488 +#, scheme-format +msgid "~a: unsupported kind of search path~%" +msgstr "~a: Nicht unterstützte Art von Suchpfad~%" + +#: guix/scripts/package.scm:789 #, scheme-format msgid "cannot switch to generation '~a'~%" msgstr "Zu Generation »~a« kann nicht gewechselt werden~%" -#: guix/scripts/package.scm:771 +#: guix/scripts/package.scm:806 #, scheme-format msgid "would install new manifest from '~a' with ~d entries~%" -msgstr "" +msgstr "Neues Manifest aus »~a« mit ~d Einträgen würde installiert~%" -#: guix/scripts/package.scm:773 +#: guix/scripts/package.scm:808 #, scheme-format msgid "installing new manifest from '~a' with ~d entries~%" -msgstr "" +msgstr "Neues Manifest aus »~a« mit ~d Einträgen wird installiert~%" #: guix/scripts/gc.scm:42 msgid "" @@ -677,7 +1051,7 @@ msgid "" "Invoke the garbage collector.\n" msgstr "" "Aufruf: guix gc [OPTION] … PFADE …\n" -"Ruft den Müllsammler auf.\n" +"Den Müllsammler aufrufen.\n" #: guix/scripts/gc.scm:44 msgid "" @@ -685,12 +1059,19 @@ msgid "" " -C, --collect-garbage[=MIN]\n" " collect at least MIN bytes of garbage" msgstr "" +"\n" +" -C, --collect-garbage[=MIN]\n" +" mindestens MIN Bytes an Müll sammeln" #: guix/scripts/gc.scm:47 msgid "" "\n" " -F, --free-space=FREE attempt to reach FREE available space in the store" msgstr "" +"\n" +" -F, --free-space=MENGE\n" +" versuchen, im Store die angegebene MENGE an Speicher\n" +" frei zu machen" #: guix/scripts/gc.scm:49 msgid "" @@ -698,88 +1079,122 @@ msgid "" " -d, --delete attempt to delete PATHS" msgstr "" "\n" -" -d, --delete versuchen, PFADE zu löschen" +" -d, --delete PFADE zu löschen versuchen" #: guix/scripts/gc.scm:51 msgid "" "\n" " --optimize optimize the store by deduplicating identical files" msgstr "" +"\n" +" --optimize den Store durch Deduplizieren identischer\n" +" Dateien optimieren" #: guix/scripts/gc.scm:53 msgid "" "\n" " --list-dead list dead paths" msgstr "" +"\n" +" --list-dead tote Pfade auflisten" #: guix/scripts/gc.scm:55 msgid "" "\n" " --list-live list live paths" msgstr "" +"\n" +" --list-live lebende Pfade auflisten" #: guix/scripts/gc.scm:58 msgid "" "\n" " --references list the references of PATHS" msgstr "" +"\n" +" --references Referenzen der PFADE auflisten" #: guix/scripts/gc.scm:60 msgid "" "\n" " -R, --requisites list the requisites of PATHS" msgstr "" +"\n" +" -R, --requisites Voraussetzungen der PFADE auflisten" #: guix/scripts/gc.scm:62 msgid "" "\n" " --referrers list the referrers of PATHS" msgstr "" +"\n" +" --referrers auflisten, wo die PFADE referenziert werden" + +#: guix/scripts/gc.scm:64 +msgid "" +"\n" +" --derivers list the derivers of PATHS" +msgstr "" +"\n" +" --derivers die Ableiter der PFADE auflisten" -#: guix/scripts/gc.scm:65 +#: guix/scripts/gc.scm:67 msgid "" "\n" " --verify[=OPTS] verify the integrity of the store; OPTS is a\n" " comma-separated combination of 'repair' and\n" " 'contents'" msgstr "" +"\n" +" --verify[=OPTIONEN]\n" +" die Integrität des Stores verifizieren; OPTIONEN ist\n" +" eine kommagetrennte Kombination aus\n" +" »repair« (reparieren) und »contents« (Inhalt)" -#: guix/scripts/gc.scm:69 +#: guix/scripts/gc.scm:71 msgid "" "\n" " --list-failures list cached build failures" msgstr "" +"\n" +" --list-failures gespeicherte Fehlschläge beim Erstellen auflisten" -#: guix/scripts/gc.scm:71 +#: guix/scripts/gc.scm:73 msgid "" "\n" " --clear-failures remove PATHS from the set of cached failures" msgstr "" +"\n" +" --clear-failures PFADE aus der Menge gespeicherter Fehlschläge entfernen" -#: guix/scripts/gc.scm:100 +#: guix/scripts/gc.scm:87 +#, scheme-format +msgid "~a: invalid '--verify' option~%" +msgstr "~a: Ungültige Argumente für »--verify«~%" + +#: guix/scripts/gc.scm:117 #, scheme-format msgid "invalid amount of storage: ~a~%" -msgstr "Ungültiger Speicher-Wert: ~a~%" +msgstr "Ungültige Speichermenge: ~a~%" -#: guix/scripts/gc.scm:191 +#: guix/scripts/gc.scm:202 msgid "already ~h bytes available on ~a, nothing to do~%" -msgstr "" +msgstr "Es sind bereits ~h Bytes verfügbar auf ~a, nichts zu tun~%" -#: guix/scripts/gc.scm:194 +#: guix/scripts/gc.scm:205 msgid "freeing ~h bytes~%" -msgstr "" +msgstr "Gebe ~h Bytes frei~%" -#: guix/scripts/gc.scm:206 -#, fuzzy, scheme-format -#| msgid "invalid argument: ~a~%" +#: guix/scripts/gc.scm:217 +#, scheme-format msgid "extraneous arguments: ~{~a ~}~%" -msgstr "Ungültiges Argument: ~a~%" +msgstr "Zusätzliche Argumente: ~{~a ~}~%" -#: guix/scripts/gc.scm:226 guix/scripts/gc.scm:229 +#: guix/scripts/gc.scm:237 guix/scripts/gc.scm:240 msgid "freed ~h bytes~%" -msgstr "" +msgstr "~h Bytes freigegeben" -#: guix/scripts/hash.scm:46 +#: guix/scripts/hash.scm:47 msgid "" "Usage: guix hash [OPTION] FILE\n" "Return the cryptographic hash of FILE.\n" @@ -787,99 +1202,114 @@ msgid "" "Supported formats: 'nix-base32' (default), 'base32', and 'base16' ('hex'\n" "and 'hexadecimal' can be used as well).\n" msgstr "" +"Aufruf: guix hash [OPTION] DATEI\n" +"Die kryptographische Prüfsumme der DATEI liefern.\n" +"\n" +"Unterstützte Formate: »nix-base32« (Voreinstellung), »base32« und »base16«\n" +"(»hex« und »hexadecimal« können auch benutzt werden).\n" -#: guix/scripts/hash.scm:53 +#: guix/scripts/hash.scm:52 msgid "" "\n" -" -r, --recursive compute the hash on FILE recursively" +" -x, --exclude-vcs exclude version control directories" msgstr "" "\n" -" -r, --recursive errechnet die Prüfsumme der DATEI rekursiv" +" -x, --exclude-vcs Verzeichnisse zur Versionsverwaltung ignorieren" -#: guix/scripts/hash.scm:104 -#, scheme-format -msgid "unrecognized option: ~a~%" -msgstr "Nicht erkannte Option: ~a~%" +#: guix/scripts/hash.scm:56 +msgid "" +"\n" +" -r, --recursive compute the hash on FILE recursively" +msgstr "" +"\n" +" -r, --recursive die Prüfsumme der DATEI rekursiv errechnen" -#: guix/scripts/hash.scm:135 guix/ui.scm:477 +#: guix/scripts/hash.scm:150 guix/ui.scm:365 guix/ui.scm:706 guix/ui.scm:759 #, scheme-format msgid "~a~%" msgstr "~a~%" -#: guix/scripts/hash.scm:138 guix/scripts/system.scm:825 +#: guix/scripts/hash.scm:153 guix/scripts/system.scm:1161 +#: guix/scripts/system.scm:1170 guix/scripts/system.scm:1177 #, scheme-format msgid "wrong number of arguments~%" msgstr "Falsche Argumentanzahl~%" -#: guix/scripts/import.scm:85 +#: guix/scripts/import.scm:86 msgid "" "Usage: guix import IMPORTER ARGS ...\n" "Run IMPORTER with ARGS.\n" msgstr "" -"Aufruf: guix import IMPORTER ARGUMENTE ...\n" +"Aufruf: guix import IMPORTER ARGUMENTE …\n" "IMPORTER mit ARGUMENTEN ausführen.\n" -#: guix/scripts/import.scm:88 +#: guix/scripts/import.scm:89 msgid "IMPORTER must be one of the importers listed below:\n" msgstr "IMPORTER muss einer der unten aufgelisteten Importer sein:\n" -#: guix/scripts/import.scm:102 +#: guix/scripts/import.scm:103 #, scheme-format msgid "guix import: missing importer name~%" msgstr "guix import: Importer-Name fehlt~%" -#: guix/scripts/import.scm:115 -#, fuzzy, scheme-format -#| msgid "~a: download failed~%" +#: guix/scripts/import.scm:123 +#, scheme-format msgid "'~a' import failed~%" -msgstr "~a: Herunterladen fehlgeschlagen~%" +msgstr "Import von »~a« fehlgeschlagen~%" -#: guix/scripts/import.scm:116 -#, fuzzy, scheme-format -#| msgid "~a: invalid number~%" +#: guix/scripts/import.scm:124 +#, scheme-format msgid "~a: invalid importer~%" -msgstr "~a: ungültige Zahl~%" +msgstr "~a: Ungültiger Importer~%" -#: guix/scripts/import/cran.scm:42 +#: guix/scripts/import/cran.scm:43 msgid "" "Usage: guix import cran PACKAGE-NAME\n" "Import and convert the CRAN package for PACKAGE-NAME.\n" msgstr "" +"Usage: guix import cran PAKET-NAME\n" +"Das CRAN-Paket für PAKET-NAME importieren und umwandeln.\n" -#: guix/scripts/import/cran.scm:44 +#: guix/scripts/import/cran.scm:45 msgid "" "\n" " -a, --archive=ARCHIVE specify the archive repository" msgstr "" +"\n" +" -a, --archive=ARCHIV das angegebene Archiv-Repository verwenden" -#: guix/scripts/import/cran.scm:94 +#: guix/scripts/import/cran.scm:110 #, scheme-format msgid "failed to download description for package '~a'~%" msgstr "Beschreibung für Paket »~a« konnte nicht geladen werden~%" -#: guix/scripts/import/cran.scm:98 guix/scripts/import/elpa.scm:95 +#: guix/scripts/import/cran.scm:114 guix/scripts/import/elpa.scm:113 #, scheme-format msgid "too few arguments~%" msgstr "Zu wenige Argumente~%" -#: guix/scripts/import/cran.scm:100 guix/scripts/import/elpa.scm:97 +#: guix/scripts/import/cran.scm:116 guix/scripts/import/elpa.scm:115 #, scheme-format msgid "too many arguments~%" msgstr "Zu viele Argumente~%" -#: guix/scripts/import/elpa.scm:41 +#: guix/scripts/import/elpa.scm:44 msgid "" "Usage: guix import elpa PACKAGE-NAME\n" "Import the latest package named PACKAGE-NAME from an ELPA repository.\n" msgstr "" +"Aufruf: guix import elpa PAKET-NAME\n" +"Das neueste Paket namens PAKET-NAME aus einem ELPA-Repository importieren.\n" -#: guix/scripts/import/elpa.scm:43 +#: guix/scripts/import/elpa.scm:46 msgid "" "\n" " -a, --archive=ARCHIVE specify the archive repository" msgstr "" +"\n" +" -a, --archive=ARCHIV das angegebene Archiv-Repository verwenden" -#: guix/scripts/import/elpa.scm:45 +#: guix/scripts/import/elpa.scm:48 msgid "" "\n" " -h, --help display this help and exit" @@ -887,258 +1317,319 @@ msgstr "" "\n" " -h, --help diese Hilfe anzeigen und beenden" -#: guix/scripts/import/elpa.scm:47 +#: guix/scripts/import/elpa.scm:50 +msgid "" +"\n" +" -r, --recursive generate package expressions for all Emacs packages that are not yet in Guix" +msgstr "" +"\n" +" -r, --recursive Paketausdrücke für alle Emacs-Pakete generieren, die\n" +" noch nicht in Guix vorhanden sind" + +#: guix/scripts/import/elpa.scm:52 msgid "" "\n" " -V, --version display version information and exit" msgstr "" "\n" -" -V, --version Versionsinformation anzeigen und beenden" +" -V, --version Versionsinformationen anzeigen und beenden" -#: guix/scripts/import/elpa.scm:92 +#: guix/scripts/import/elpa.scm:110 #, scheme-format msgid "failed to download package '~a'~%" msgstr "Paket »~a« konnte nicht heruntergeladen werden~%" -#: guix/scripts/pull.scm:74 +#: guix/scripts/pull.scm:66 +#, scheme-format +msgid "" +"Guile-Git is missing but it is now required by 'guix pull'.\n" +"Install it by running:\n" +"\n" +" guix package -i ~a\n" +" export GUILE_LOAD_PATH=$HOME/.guix-profile/share/guile/site/~a:$GUILE_LOAD_PATH\n" +" export GUILE_LOAD_COMPILED_PATH=$HOME/.guix-profile/lib/guile/~a/site-ccache:$GUILE_LOAD_COMPILED_PATH\n" +"\n" +msgstr "" +"Guile-Git fehlt, wird aber von »guix pull« benötigt.\n" +"Führen Sie zur Installation Folgendes aus:\n" +"\n" +" guix package -i ~a\n" +" export GUILE_LOAD_PATH=$HOME/.guix-profile/share/guile/site/~a:$GUILE_LOAD_PATH\n" +" export GUILE_LOAD_COMPILED_PATH=$HOME/.guix-profile/lib/guile/~a/site-ccache:$GUILE_LOAD_COMPILED_PATH\n" +"\n" + +#: guix/scripts/pull.scm:103 msgid "" "Usage: guix pull [OPTION]...\n" "Download and deploy the latest version of Guix.\n" msgstr "" +"Aufruf: guix pull [OPTION] …\n" +"Die neuste Version von Guix herunterladen und installieren.\n" -#: guix/scripts/pull.scm:78 +#: guix/scripts/pull.scm:107 msgid "" "\n" -" --url=URL download the Guix tarball from URL" +" --url=URL download from the Git repository at URL" msgstr "" +"\n" +" --url=URL das Tar-Archiv von Guix von URL herunterladen" -#: guix/scripts/pull.scm:80 +#: guix/scripts/pull.scm:109 msgid "" "\n" -" --bootstrap use the bootstrap Guile to build the new Guix" +" --commit=COMMIT download the specified COMMIT" msgstr "" +"\n" +" --commit=COMMIT den angegebenen COMMIT herunterladen" -#: guix/scripts/pull.scm:134 -msgid "tarball did not produce a single source directory" -msgstr "Entpacken des Tar-Archiv erzeugte kein einzelnes Quellverzeichnis" - -#: guix/scripts/pull.scm:152 -#, scheme-format -msgid "unpacking '~a'...~%" -msgstr "»~a« wird entpackt …~%" - -#: guix/scripts/pull.scm:161 -msgid "failed to unpack source code" -msgstr "Quellcode konnte nicht entpackt werden" - -#: guix/scripts/pull.scm:204 -msgid "Guix already up to date\n" -msgstr "Guix ist bereits aktuell\n" - -#: guix/scripts/pull.scm:209 -#, scheme-format -msgid "updated ~a successfully deployed under `~a'~%" +#: guix/scripts/pull.scm:111 +msgid "" +"\n" +" --branch=BRANCH download the tip of the specified BRANCH" msgstr "" +"\n" +" --branch=BRANCH die Spitze des angegebenen Branchs herunterladen" + +#: guix/scripts/pull.scm:116 +msgid "" +"\n" +" --bootstrap use the bootstrap Guile to build the new Guix" +msgstr "" +"\n" +" --bootstrap das Bootstrap-Guile benutzen, um das neue Guix zu\n" +" erstellen" + +#: guix/scripts/pull.scm:263 +#, scheme-format +msgid "cannot enforce use of the Let's Encrypt certificates~%" +msgstr "Die Nutzung von Let’s-Encrypt-Zertifikaten kann nicht erzwungen werden~%" + +#: guix/scripts/pull.scm:265 +#, scheme-format +msgid "please upgrade Guile-Git~%" +msgstr "Bitte aktualisieren Sie Guile-Git~%" + +#: guix/scripts/pull.scm:273 +#, scheme-format +msgid "Git error ~a~%" +msgstr "Git-Fehler ~a~%" + +#: guix/scripts/pull.scm:275 +#, scheme-format +msgid "Git error: ~a~%" +msgstr "Git-Fehler: ~a~%" + +#: guix/scripts/pull.scm:302 +#, scheme-format +msgid " repository URL: ~a~%" +msgstr " Repository-URL: ~a~%" + +#: guix/scripts/pull.scm:304 +#, scheme-format +msgid " branch: ~a~%" +msgstr " Branch: ~a~%" -#: guix/scripts/pull.scm:212 +#: guix/scripts/pull.scm:305 #, scheme-format -msgid "failed to update Guix, check the build log~%" -msgstr "Guix konnte nicht aktualisiert werden, schauen Sie in das Build-Protokoll~%" +msgid " commit: ~a~%" +msgstr " Commit: ~a~%" -#: guix/scripts/pull.scm:221 +#: guix/scripts/pull.scm:373 #, scheme-format -msgid "~A: unexpected argument~%" -msgstr "~A: unerwartetes Argument~%" +msgid "Updating from Git repository at '~a'...~%" +msgstr "Vom Git-Repository auf »~a« wird aktualisiert …~%" -#: guix/scripts/pull.scm:230 -msgid "failed to download up-to-date source, exiting\n" -msgstr "Aktueller Quellcode konnte nicht heruntergeladen werden, Abbruch\n" +#: guix/scripts/pull.scm:383 +#, scheme-format +msgid "Building from Git commit ~a...~%" +msgstr "Vom Git-Commit ~a wird erstellt …~%" -#: guix/scripts/substitute.scm:113 +#: guix/scripts/substitute.scm:125 #, scheme-format msgid "authentication and authorization of substitutes disabled!~%" -msgstr "" +msgstr "Authentifizierung und Autorisierung von Substituten deaktiviert!~%" -#: guix/scripts/substitute.scm:188 +#: guix/scripts/substitute.scm:200 #, scheme-format msgid "download from '~a' failed: ~a, ~s~%" msgstr "Herunterladen von »~a« ist fehlgeschlagen: ~a, ~s~%" -#: guix/scripts/substitute.scm:201 +#: guix/scripts/substitute.scm:213 #, scheme-format msgid "while fetching ~a: server is somewhat slow~%" msgstr "Beim Holen von ~a: Server ist etwas langsam~%" -#: guix/scripts/substitute.scm:203 +#: guix/scripts/substitute.scm:215 #, scheme-format msgid "try `--no-substitutes' if the problem persists~%" msgstr "Versuchen Sie »--no-substitutes«, falls das Problem weiter besteht~%" -#: guix/scripts/substitute.scm:219 -#, fuzzy, scheme-format -#| msgid "unsupported signature version: ~a~%" +#: guix/scripts/substitute.scm:225 +#, scheme-format msgid "unsupported substitute URI scheme: ~a~%" -msgstr "Signaturversion wird nicht unterstützt: ~a~%" +msgstr "URI-Schema des Substituts wird nicht unterstützt: ~a~%" -#: guix/scripts/substitute.scm:252 -#, fuzzy, scheme-format -#| msgid "while fetching ~a: server is somewhat slow~%" +#: guix/scripts/substitute.scm:260 +#, scheme-format msgid "while fetching '~a': ~a (~s)~%" -msgstr "Beim Holen von ~a: Server ist etwas langsam~%" +msgstr "Beim Holen von »~a«: ~a (~s)~%" -#: guix/scripts/substitute.scm:257 +#: guix/scripts/substitute.scm:265 #, scheme-format msgid "ignoring substitute server at '~s'~%" -msgstr "" +msgstr "Substitutserver bei »~s« wird ignoriert~%" -#: guix/scripts/substitute.scm:306 +#: guix/scripts/substitute.scm:315 #, scheme-format msgid "signature version must be a number: ~s~%" msgstr "Signaturversion muss eine Zahl sein: ~s~%" -#: guix/scripts/substitute.scm:310 +#: guix/scripts/substitute.scm:319 #, scheme-format msgid "unsupported signature version: ~a~%" msgstr "Signaturversion wird nicht unterstützt: ~a~%" -#: guix/scripts/substitute.scm:318 +#: guix/scripts/substitute.scm:327 #, scheme-format msgid "signature is not a valid s-expression: ~s~%" -msgstr "" +msgstr "Signatur ist kein gültiger s-Ausdruck: ~s~%" -#: guix/scripts/substitute.scm:322 +#: guix/scripts/substitute.scm:331 #, scheme-format msgid "invalid format of the signature field: ~a~%" msgstr "Unzulässiges Format des Signaturfeldes: ~a~%" -#: guix/scripts/substitute.scm:357 +#: guix/scripts/substitute.scm:366 #, scheme-format msgid "invalid signature for '~a'~%" msgstr "Ungültige Signatur für »~a«~%" -#: guix/scripts/substitute.scm:359 +#: guix/scripts/substitute.scm:368 #, scheme-format msgid "hash mismatch for '~a'~%" msgstr "Prüfsummenfehler für »~a«~%" -#: guix/scripts/substitute.scm:361 +#: guix/scripts/substitute.scm:370 #, scheme-format msgid "'~a' is signed with an unauthorized key~%" -msgstr "" +msgstr "»~a« wurde mit einem unautorisierten Schlüssel signiert~%" -#: guix/scripts/substitute.scm:363 +#: guix/scripts/substitute.scm:372 #, scheme-format msgid "signature on '~a' is corrupt~%" -msgstr "Signature von »~a« ist beschädigt~%" +msgstr "Signatur von »~a« ist beschädigt~%" -#: guix/scripts/substitute.scm:401 +#: guix/scripts/substitute.scm:457 #, scheme-format -msgid "substitute at '~a' lacks a signature~%" -msgstr "" - -#: guix/scripts/substitute.scm:409 -#, fuzzy, scheme-format -#| msgid "found valid signature for '~a'~%" -msgid "~%Found valid signature for ~a~%" -msgstr "Gültige Signatur für »~a« gefunden~%" - -#: guix/scripts/substitute.scm:412 -#, fuzzy, scheme-format -#| msgid "~a~%" -msgid "From ~a~%" -msgstr "~a~%" - -#: guix/scripts/substitute.scm:452 -#, fuzzy, scheme-format -#| msgid "profile '~a' does not exist~%" msgid "'~a' does not name a store item~%" -msgstr "Profil »~a« existiert nicht~%" +msgstr "»~a« benennt kein Objekt im Store~%" -#: guix/scripts/substitute.scm:596 +#: guix/scripts/substitute.scm:619 #, scheme-format -msgid "updating list of substitutes from '~a'... ~5,1f%" -msgstr "" +msgid "updating substitutes from '~a'... ~5,1f%" +msgstr "Liste der Substitute von »~a« wird aktualisiert … ~5,1f%" -#: guix/scripts/substitute.scm:646 +#: guix/scripts/substitute.scm:683 #, scheme-format msgid "~s: unsupported server URI scheme~%" -msgstr "" +msgstr "~s: Nicht unterstütztes URI-Schema für den Server~%" -#: guix/scripts/substitute.scm:656 +#: guix/scripts/substitute.scm:693 #, scheme-format msgid "'~a' uses different store '~a'; ignoring it~%" -msgstr "" +msgstr "»~a« verwendet einen anderen Store »~a«; wird ignoriert~%" -#: guix/scripts/substitute.scm:801 +#: guix/scripts/substitute.scm:853 #, scheme-format msgid "host name lookup error: ~a~%" msgstr "Fehler beim Nachschlagen des Rechnernamens: ~a~%" -#: guix/scripts/substitute.scm:806 -#, fuzzy, scheme-format -#| msgid "error: while creating directory `~a': ~a~%" +#: guix/scripts/substitute.scm:858 +#, scheme-format msgid "TLS error in procedure '~a': ~a~%" -msgstr "Fehler beim Anlegen des Verzeichnisses »~a«: ~a~%" +msgstr "TLS-Fehler in Prozedur »~a«: ~a~%" -#: guix/scripts/substitute.scm:817 +#: guix/scripts/substitute.scm:869 msgid "" "Usage: guix substitute [OPTION]...\n" "Internal tool to substitute a pre-built binary to a local build.\n" msgstr "" +"Aufruf: guix substitute [OPTION] …\n" +"Internes Werkzeug zum Substituieren einer vorab erstellten Binärdatei zu einer\n" +"lokalen Erstellung.\n" -#: guix/scripts/substitute.scm:819 +#: guix/scripts/substitute.scm:871 msgid "" "\n" " --query report on the availability of substitutes for the\n" " store file names passed on the standard input" msgstr "" +"\n" +" --query über die Verfügbarkeit von Substituten für die auf der\n" +" Standardeingabe übermittelten Store-Dateinamen\n" +" berichten" -#: guix/scripts/substitute.scm:822 +#: guix/scripts/substitute.scm:874 msgid "" "\n" " --substitute STORE-FILE DESTINATION\n" " download STORE-FILE and store it as a Nar in file\n" " DESTINATION" msgstr "" +"\n" +" --substitute STORE-DATEI ZIEL\n" +" STORE-DATEI herunterladen und als ein Nar in einer\n" +" Datei namens ZIEL speichern" -#. TRANSLATORS: The second part of this message looks like -#. "(4.1MiB installed)"; it shows the size of the package once -#. installed. -#: guix/scripts/substitute.scm:895 +#: guix/scripts/substitute.scm:939 #, scheme-format -msgid "Downloading ~a~:[~*~; (~a installed)~]...~%" -msgstr "" +msgid "no valid substitute for '~a'~%" +msgstr "Kein gültiges Substitut für »~a«~%" + +#: guix/scripts/substitute.scm:946 +#, scheme-format +msgid "Downloading ~a...~%" +msgstr "~a wird heruntergeladen …~%" -#: guix/scripts/substitute.scm:951 +#: guix/scripts/substitute.scm:1002 msgid "ACL for archive imports seems to be uninitialized, substitutes may be unavailable\n" msgstr "" +"Zugriffskontrollliste (ACL) für Archivimporte scheint nicht initialisiert zu\n" +"sein, Substitute könnten nicht verfügbar sein\n" + +#: guix/scripts/substitute.scm:1056 +#, scheme-format +msgid "~a: invalid URI~%" +msgstr "~a: Ungültige URI~%" -#: guix/scripts/substitute.scm:1047 +#: guix/scripts/substitute.scm:1116 #, scheme-format msgid "~a: unrecognized options~%" -msgstr "~a: nicht erkannte Optionen~%" +msgstr "~a: Nicht erkannte Optionen~%" -#: guix/scripts/authenticate.scm:58 +#: guix/scripts/authenticate.scm:59 #, scheme-format msgid "cannot find public key for secret key '~a'~%" -msgstr "Öffentlicher Schlüssel des geheimen Schlüssels »~a« konnte nicht gefunden werden~%" +msgstr "" +"Öffentlicher Schlüssel des geheimen Schlüssels »~a« konnte\n" +"nicht gefunden werden~%" -#: guix/scripts/authenticate.scm:78 +#: guix/scripts/authenticate.scm:79 #, scheme-format msgid "error: invalid signature: ~a~%" -msgstr "Fehler: ungültige Signatur: ~a~%" +msgstr "Fehler: Ungültige Signatur: ~a~%" -#: guix/scripts/authenticate.scm:80 +#: guix/scripts/authenticate.scm:81 #, scheme-format msgid "error: unauthorized public key: ~a~%" -msgstr "Fehler: nicht autorisierter öffentlicher Schlüssel: ~a~%" +msgstr "Fehler: Nicht autorisierter öffentlicher Schlüssel: ~a~%" -#: guix/scripts/authenticate.scm:82 +#: guix/scripts/authenticate.scm:83 #, scheme-format msgid "error: corrupt signature data: ~a~%" msgstr "Fehler: Signaturdaten beschädigt: ~a~%" -#: guix/scripts/authenticate.scm:120 +#: guix/scripts/authenticate.scm:121 msgid "" "Usage: guix authenticate OPTION...\n" "Sign or verify the signature on the given file. This tool is meant to\n" @@ -1148,505 +1639,711 @@ msgstr "" "Angegebene Datei signieren oder die Signatur überprüfen. Dieses Werkzeug\n" "ist dafür bestimmt, intern von »guix-daemon« aufgerufen zu werden.\n" -#: guix/scripts/authenticate.scm:126 +#: guix/scripts/authenticate.scm:127 msgid "wrong arguments" msgstr "Falsche Argumente" -#: guix/scripts/system.scm:111 +#: guix/scripts/system.scm:143 #, scheme-format msgid "failed to register '~a' under '~a'~%" msgstr "»~a« konnte nicht unter »~a« registriert werden~%" -#: guix/scripts/system.scm:144 +#: guix/scripts/system.scm:154 #, scheme-format -msgid "failed to install GRUB on device '~a'~%" -msgstr "GRUB konnte nicht auf Gerät »~a« installiert werden~%" +msgid "copying to '~a'..." +msgstr "Nach »~a« kopieren …" -#: guix/scripts/system.scm:162 +#: guix/scripts/system.scm:189 +#, scheme-format +msgid "failed to install bootloader ~a~%" +msgstr "Bootloader »~a« konnte nicht installiert werden~%~%" + +#: guix/scripts/system.scm:209 #, scheme-format msgid "initializing the current root file system~%" msgstr "Aktuelles Wurzeldateisystem wird initialisiert~%" -#: guix/scripts/system.scm:176 +#: guix/scripts/system.scm:223 #, scheme-format msgid "not running as 'root', so the ownership of '~a' may be incorrect!~%" msgstr "" +"Keine Administratorrechte, daher können die Eigentümer von »~a« falsch\n" +"gespeichert worden sein!~%" -#: guix/scripts/system.scm:234 +#: guix/scripts/system.scm:268 #, scheme-format msgid "while talking to shepherd: ~a~%" -msgstr "" +msgstr "Bei der Kommunikation mit Shepherd: ~a~%" -#: guix/scripts/system.scm:248 -#, fuzzy, scheme-format -#| msgid "service of type '~a' not found" +#: guix/scripts/system.scm:275 +#, scheme-format msgid "service '~a' could not be found~%" -msgstr "Dienst des Typs »~a« wurde nicht gefunden" +msgstr "Dienst »~a« konnte nicht gefunden werden~%" -#: guix/scripts/system.scm:251 -#, fuzzy, scheme-format -#| msgid "profile '~a' does not exist~%" +#: guix/scripts/system.scm:278 +#, scheme-format msgid "service '~a' does not have an action '~a'~%" -msgstr "Profil »~a« existiert nicht~%" +msgstr "Dienst »~a« hat keine Aktion »~a«~%" -#: guix/scripts/system.scm:255 -#, fuzzy, scheme-format -#| msgid "corrupt input while restoring '~a' from ~s~%" +#: guix/scripts/system.scm:282 +#, scheme-format msgid "exception caught while executing '~a' on service '~a':~%" -msgstr "Beschädigte Eingabe, während »~a« aus »~s« wiederhergestellt wurde~%" +msgstr "Ausnahme aufgetreten bei der Ausführung von »~a« auf Dienst »~a«:~%" -#: guix/scripts/system.scm:263 -#, fuzzy, scheme-format -#| msgid "no matching generation~%" +#: guix/scripts/system.scm:290 +#, scheme-format msgid "something went wrong: ~s~%" -msgstr "Keine passende Generation%" +msgstr "Etwas ist schiefgelaufen: ~s~%" -#: guix/scripts/system.scm:266 +#: guix/scripts/system.scm:293 #, scheme-format msgid "shepherd error~%" -msgstr "" +msgstr "Shepherd-Fehler~%" -#: guix/scripts/system.scm:302 -#, fuzzy, scheme-format -#| msgid "failed to install GRUB on device '~a'~%" +#: guix/scripts/system.scm:310 +#, scheme-format msgid "failed to obtain list of shepherd services~%" -msgstr "GRUB konnte nicht auf Gerät »~a« installiert werden~%" +msgstr "Liste der Shepherd-Dienste konnte nicht abgerufen werden.~%" -#: guix/scripts/system.scm:322 -#, fuzzy, scheme-format -#| msgid "unpacking '~a'...~%" +#: guix/scripts/system.scm:330 +#, scheme-format msgid "unloading service '~a'...~%" -msgstr "»~a« wird entpackt …~%" +msgstr "Dienst »~a« entladen …~%" -#: guix/scripts/system.scm:330 +#: guix/scripts/system.scm:338 #, scheme-format msgid "loading new services:~{ ~a~}...~%" -msgstr "" +msgstr "Neue Dienste laden:~{ ~a~} …~%" -#: guix/scripts/system.scm:354 +#: guix/scripts/system.scm:364 #, scheme-format msgid "activating system...~%" msgstr "System wird aktiviert …~%" -#: guix/scripts/system.scm:445 +#: guix/scripts/system.scm:442 +#, scheme-format +msgid "cannot switch to system generation '~a'~%" +msgstr "Zu Generation »~a« kann nicht gewechselt werden~%" + +#: guix/scripts/system.scm:513 msgid "the DAG of services" -msgstr "" +msgstr "gerichteter azyklischer Graph der Dienste" -#: guix/scripts/system.scm:458 +#: guix/scripts/system.scm:526 msgid "the dependency graph of shepherd services" -msgstr "" +msgstr "Abhängigkeitsgraph der Shepherd-Dienste" -#: guix/scripts/system.scm:479 +#: guix/scripts/system.scm:550 #, scheme-format msgid " file name: ~a~%" msgstr " Dateiname: ~a~%" -#: guix/scripts/system.scm:480 +#: guix/scripts/system.scm:551 #, scheme-format msgid " canonical file name: ~a~%" -msgstr "" +msgstr " kanonischer Dateiname: ~a~%" #. TRANSLATORS: Please preserve the two-space indentation. -#: guix/scripts/system.scm:482 +#: guix/scripts/system.scm:553 #, scheme-format msgid " label: ~a~%" -msgstr " Label: ~a~%" +msgstr " Bezeichnung: ~a~%" + +#: guix/scripts/system.scm:554 +#, scheme-format +msgid " bootloader: ~a~%" +msgstr " Bootloader: ~a~%" -#: guix/scripts/system.scm:483 +#. TRANSLATORS: The '~[', '~;', and '~]' sequences in this string must +#. be preserved. They denote conditionals, such that the result will +#. look like: +#. root device: UUID: 12345-678 +#. or: +#. root device: label: "my-root" +#. or just: +#. root device: /dev/sda3 +#: guix/scripts/system.scm:564 #, scheme-format -msgid " root device: ~a~%" -msgstr " Root-Gerät: ~a~%" +msgid " root device: ~[UUID: ~a~;label: ~s~;~a~]~%" +msgstr " Root-Gerät: ~[UUID: ~a~;label: ~s~;~a~]~%" -#: guix/scripts/system.scm:484 +#: guix/scripts/system.scm:575 #, scheme-format msgid " kernel: ~a~%" msgstr " Kernel: ~a~%" -#: guix/scripts/system.scm:541 +#: guix/scripts/system.scm:646 #, scheme-format -msgid "~a not found: 'guix pull' was never run~%" +msgid "~a: error: device '~a' not found: ~a~%" +msgstr "~a: Fehler: Gerät »~a« nicht gefunden: ~a~%" + +#: guix/scripts/system.scm:650 +#, scheme-format +msgid "" +"If '~a' is a file system\n" +"label, write @code{(file-system-label ~s)} in your @code{device} field." msgstr "" +"Falls »~a« ein Dateisystem bezeichnet, schreiben Sie\n" +"@code{(file-system-label ~s)} in Ihr @code{device}-Feld." + +#: guix/scripts/system.scm:658 +#, scheme-format +msgid "~a: error: file system with label '~a' not found~%" +msgstr "~a: Fehler: Kein Dateisystem mit Bezeichnung »~a« gefunden~%" + +#: guix/scripts/system.scm:663 +#, scheme-format +msgid "~a: error: file system with UUID '~a' not found~%" +msgstr "~a: Fehler: Kein Dateisystem mit UUID »~a« gefunden~%" + +#: guix/scripts/system.scm:764 +#, scheme-format +msgid "~a not found: 'guix pull' was never run~%" +msgstr "~a nicht gefunden: »guix pull« wurde nie aufgerufen~%" -#: guix/scripts/system.scm:542 +#: guix/scripts/system.scm:765 #, scheme-format msgid "Consider running 'guix pull' before 'reconfigure'.~%" -msgstr "" +msgstr "Vielleicht möchten Sie »guix pull« ausführen vor »reconfigure«.~%" -#: guix/scripts/system.scm:543 +#: guix/scripts/system.scm:766 #, scheme-format msgid "Failing to do that may downgrade your system!~%" -msgstr "" +msgstr "Andernfalls könnte Ihr System auf einen älteren Stand heruntergestuft werden!~%" -#: guix/scripts/system.scm:613 +#: guix/scripts/system.scm:883 #, scheme-format msgid "initializing operating system under '~a'...~%" msgstr "Betriebssystem unter »~a« wird initialisiert …~%" -#: guix/scripts/system.scm:652 +#: guix/scripts/system.scm:928 msgid "" -"Usage: guix system [OPTION] ACTION [FILE]\n" +"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 "" -"Aufruf: guix system [OPTION] AKTION [DATEI]\n" +"Aufruf: guix system [OPTION …] AKTION [ARGUMENT …] [DATEI]\n" "Das in DATEI deklarierte Betriebssystem entsprechend der AKTION erstellen.\n" +"Manche AKTIONEN unterstützen weitere ARGUMENTE.\n" -#: guix/scripts/system.scm:655 guix/scripts/container.scm:28 +#: guix/scripts/system.scm:932 guix/scripts/container.scm:28 msgid "The valid values for ACTION are:\n" msgstr "Die gültigen Werte für AKTION sind:\n" -#: guix/scripts/system.scm:657 +#: guix/scripts/system.scm:934 +msgid " search search for existing service types\n" +msgstr " search suche nach bestehenden Diensttypen\n" + +#: guix/scripts/system.scm:936 msgid " reconfigure switch to a new operating system configuration\n" -msgstr " reconfigure zur neuen Betriebssystemkonfiguration wechseln\n" +msgstr " reconfigure zur neuen Betriebssystemkonfiguration wechseln\n" + +#: guix/scripts/system.scm:938 +msgid " roll-back switch to the previous operating system configuration\n" +msgstr " roll-back zur vorherigen Betriebssystemkonfiguration wechseln\n" -#: guix/scripts/system.scm:659 +#: guix/scripts/system.scm:940 +msgid " switch-generation switch to an existing operating system configuration\n" +msgstr " switch-generation zu einer bestehenden Betriebssystemkonfiguration wechseln\n" + +#: guix/scripts/system.scm:942 msgid " list-generations list the system generations\n" -msgstr "" +msgstr " list-generations die Systemgenerationen auflisten\n" -#: guix/scripts/system.scm:661 +#: guix/scripts/system.scm:944 msgid " build build the operating system without installing anything\n" -msgstr " build das Betriebssystem erstellen, ohne etwas zu installieren\n" +msgstr " build das Betriebssystem erstellen, ohne etwas zu installieren\n" -#: guix/scripts/system.scm:663 -#, fuzzy -#| msgid " vm build a virtual machine image that shares the host's store\n" +#: guix/scripts/system.scm:946 msgid " container build a container that shares the host's store\n" msgstr "" -" vm ein Image für eine virtuelle Maschine erstellen, das den\n" -" Speicher des Rechners nutzt\n" +" container einen Container erstellen, der den Store mit dem\n" +" Wirtssystem teilt\n" -#: guix/scripts/system.scm:665 +#: guix/scripts/system.scm:948 msgid " vm build a virtual machine image that shares the host's store\n" msgstr "" -" vm ein Image für eine virtuelle Maschine erstellen, das den\n" -" Speicher des Rechners nutzt\n" +" vm ein Image für eine virtuelle Maschine erstellen, das den\n" +" Store mit dem Wirtssystem teilt\n" -#: guix/scripts/system.scm:667 +#: guix/scripts/system.scm:950 msgid " vm-image build a freestanding virtual machine image\n" -msgstr " vm-image ein unabhängiges Image für eine virtuelle Maschine erstellen\n" +msgstr "" +" vm-image ein unabhängiges Image für eine virtuelle Maschine\n" +" erstellen\n" -#: guix/scripts/system.scm:669 +#: guix/scripts/system.scm:952 msgid " disk-image build a disk image, suitable for a USB stick\n" -msgstr " disk-image ein Disk-Image für einen USB-Stick erstellen\n" +msgstr " disk-image ein Disk-Image z.B. für einen USB-Stick erstellen\n" + +#: guix/scripts/system.scm:954 +msgid " docker-image build a Docker image\n" +msgstr " docker-image ein Docker-Image z.B. für einen USB-Stick erstellen\n" -#: guix/scripts/system.scm:671 +#: guix/scripts/system.scm:956 msgid " init initialize a root file system to run GNU\n" -msgstr " init ein Wurzeldateisystem initialisieren, um GNU auszuführen.\n" +msgstr " init ein Wurzeldateisystem initialisieren, um GNU auszuführen.\n" -#: guix/scripts/system.scm:673 +#: guix/scripts/system.scm:958 msgid " extension-graph emit the service extension graph in Dot format\n" -msgstr "" +msgstr " extension-graph den Erweiterungsgraphen im Dot-Format ausgeben\n" -#: guix/scripts/system.scm:675 +#: guix/scripts/system.scm:960 msgid " shepherd-graph emit the graph of shepherd services in Dot format\n" -msgstr "" +msgstr " shepherd-graph den Graphen der Shepherd-Dienste im Dot-Format ausgeben\n" -#: guix/scripts/system.scm:679 +#: guix/scripts/system.scm:964 msgid "" "\n" " -d, --derivation return the derivation of the given system" msgstr "" +"\n" +" -d, --derivation die Ableitung des gegebenen Systems liefern" + +#: guix/scripts/system.scm:966 +msgid "" +"\n" +" -e, --expression=EXPR consider the operating-system EXPR evaluates to\n" +" instead of reading FILE, when applicable" +msgstr "" +"\n" +" -e, --expression=AUSDRUCK\n" +" das operating-system betrachten, zu dem AUSDRUCK\n" +" ausgewertet wird, statt etwa eine DATEI auszulesen" -#: guix/scripts/system.scm:681 +#: guix/scripts/system.scm:969 msgid "" "\n" " --on-error=STRATEGY\n" " apply STRATEGY when an error occurs while reading FILE" msgstr "" +"\n" +" --on-error=STRATEGIE\n" +" STRATEGIE anwenden, wenn beim Lesen der DATEI ein\n" +" Fehler auftritt" + +#: guix/scripts/system.scm:972 +msgid "" +"\n" +" --file-system-type=TYPE\n" +" for 'disk-image', produce a root file system of TYPE\n" +" (one of 'ext4', 'iso9660')" +msgstr "" +"\n" +" --file-system-type=TYP\n" +" bei »disk-image« ein Wurzeldateisystem des angegebenen\n" +" TYPS (»ext4« oder »iso9660«) erzeugen" -#: guix/scripts/system.scm:684 +#: guix/scripts/system.scm:976 msgid "" "\n" " --image-size=SIZE for 'vm-image', produce an image of SIZE" msgstr "" "\n" -" --image-size=GRÖSSE für »vm-image«, ein Image der GRÖSSE erstellen" +" --image-size=GRÖSSE\n" +" bei »vm-image« ein Image der GRÖSSE erstellen" -#: guix/scripts/system.scm:686 +#: guix/scripts/system.scm:978 msgid "" "\n" -" --no-grub for 'init', do not install GRUB" +" --no-bootloader for 'init', do not install a bootloader" msgstr "" "\n" -" --no-grub für »init«, GRUB nicht installieren" +" --no-bootloader bei »init« keinen Bootloader installieren" -#: guix/scripts/system.scm:688 +#: guix/scripts/system.scm:980 msgid "" "\n" " --share=SPEC for 'vm', share host file system according to SPEC" msgstr "" +"\n" +" --share=SPEZIFIKATION\n" +" bei »vm« das Wirtsdateisystem entsprechend der\n" +" SPEZIFIKATION teilen" + +#: guix/scripts/system.scm:982 +msgid "" +"\n" +" -r, --root=FILE for 'vm', 'vm-image', 'disk-image', 'container',\n" +" and 'build', make FILE a symlink to the result, and\n" +" register it as a garbage collector root" +msgstr "" +"\n" +" -r, --root=DATEI bei »vm«, »vm-image«, »disk-image«, »container« und\n" +" »build« die DATEI zu einer symbolischen Verknüpfung\n" +" auf das Ergebnis machen und als Müllsammler-Wurzel\n" +" registrieren" -#: guix/scripts/system.scm:690 +#: guix/scripts/system.scm:986 msgid "" "\n" " --expose=SPEC for 'vm', expose host file system according to SPEC" msgstr "" +"\n" +" --expose=SPEZIFIKATION\n" +" bei »vm« das Wirtsdateisystem entsprechend der\n" +" SPEZIFIKATION zugänglich machen" -#: guix/scripts/system.scm:692 +#: guix/scripts/system.scm:988 msgid "" "\n" " --full-boot for 'vm', make a full boot sequence" msgstr "" "\n" -" --full-boot für »vm«, vollständige Boot-Sequenz" +" --full-boot bei »vm« einen vollständigen Bootvorgang simulieren" + +#: guix/scripts/system.scm:990 +msgid "" +"\n" +" --skip-checks skip file system and initrd module safety checks" +msgstr "" +"\n" +" --skip-checks Dateisystem- und Initrd-Modul-Fehlerprüfung\n" +" überspringen" -#: guix/scripts/system.scm:777 +#: guix/scripts/system.scm:1089 #, scheme-format -msgid "no configuration file specified~%" -msgstr "Keine Konfigurationsdatei angegeben~%" +msgid "both file and expression cannot be specified~%" +msgstr "Es können nicht sowohl Datei als auch Ausdruck angegeben werden~%" -#: guix/scripts/system.scm:840 +#: guix/scripts/system.scm:1096 +#, scheme-format +msgid "no configuration specified~%" +msgstr "Keine Konfiguration angegeben~%" + +#: guix/scripts/system.scm:1196 #, scheme-format msgid "~a: unknown action~%" -msgstr "~a: unbekannte Aktion~%" +msgstr "~a: Unbekannte Aktion~%" -#: guix/scripts/system.scm:855 +#: guix/scripts/system.scm:1212 #, scheme-format msgid "wrong number of arguments for action '~a'~%" msgstr "Falsche Anzahl an Argumenten für Aktion »~a«~%" -#: guix/scripts/system.scm:860 +#: guix/scripts/system.scm:1217 #, scheme-format msgid "guix system: missing command name~%" msgstr "guix system: Befehlsname fehlt~%" -#: guix/scripts/system.scm:862 +#: guix/scripts/system.scm:1219 #, scheme-format msgid "Try 'guix system --help' for more information.~%" msgstr "Rufen Sie »guix system --help« auf, um weitere Informationen zu erhalten.~%" -#: guix/scripts/lint.scm:130 +#: guix/scripts/system/search.scm:88 guix/ui.scm:1162 guix/ui.scm:1176 +msgid "unknown" +msgstr "unbekannt" + +#: guix/scripts/lint.scm:139 #, scheme-format msgid "Available checkers:~%" msgstr "Verfügbare Prüfer:~%" -#: guix/scripts/lint.scm:150 +#: guix/scripts/lint.scm:163 msgid "description should not be empty" -msgstr "" +msgstr "Die Beschreibung sollte nicht leer sein" -#: guix/scripts/lint.scm:160 +#: guix/scripts/lint.scm:173 msgid "Texinfo markup in description is invalid" -msgstr "" +msgstr "Das Texinfo-Markup in der Beschreibung ist ungültig" + +#: guix/scripts/lint.scm:183 +#, scheme-format +msgid "" +"description should not contain ~\n" +"trademark sign '~a' at ~d" +msgstr "Die Beschreibung sollte kein »Trademark«-Zeichen »~a« bei ~d enthalten" -#: guix/scripts/lint.scm:168 +#. TRANSLATORS: '@code' is Texinfo markup and must be kept +#. as is. +#: guix/scripts/lint.scm:196 +msgid "use @code or similar ornament instead of quotes" +msgstr "Benutzen Sie @code oder ähnliche Verzierungen statt Anführungszeichen" + +#: guix/scripts/lint.scm:203 msgid "description should start with an upper-case letter or digit" -msgstr "" +msgstr "Die Beschreibung sollte mit einem Großbuchstaben oder einer Ziffer beginnen." -#: guix/scripts/lint.scm:184 +#: guix/scripts/lint.scm:219 #, scheme-format msgid "" "sentences in description should be followed ~\n" "by two spaces; possible infraction~p at ~{~a~^, ~}" msgstr "" +"Auf Sätze in der Beschreibung sollten zwei Leerzeichen folgen;\n" +"mögliche Verletzung~p bei ~{~a~^, ~}" -#: guix/scripts/lint.scm:200 -#, fuzzy, scheme-format -#| msgid "Validate package descriptions" +#: guix/scripts/lint.scm:237 +#, scheme-format msgid "invalid description: ~s" -msgstr "Paketbeschreibungen überprüfen" +msgstr "Ungültige Beschreibung: ~s" -#: guix/scripts/lint.scm:220 +#: guix/scripts/lint.scm:282 #, scheme-format msgid "'~a' should probably be a native input" -msgstr "" +msgstr "»~a« sollte wahrscheinlich als native Eingabe deklariert werden" + +#: guix/scripts/lint.scm:298 +#, scheme-format +msgid "'~a' should probably not be an input at all" +msgstr "»~a« sollte wahrscheinlich gar keine Eingabe sein" -#: guix/scripts/lint.scm:238 +#: guix/scripts/lint.scm:315 msgid "synopsis should not be empty" -msgstr "" +msgstr "Die Zusammenfassung sollte nicht leer sein" -#: guix/scripts/lint.scm:246 +#: guix/scripts/lint.scm:323 msgid "no period allowed at the end of the synopsis" msgstr "Am Ende der Zusammenfassung darf kein Punkt gesetzt werden" -#: guix/scripts/lint.scm:258 +#: guix/scripts/lint.scm:335 msgid "no article allowed at the beginning of the synopsis" msgstr "Am Beginn der Zusammenfassung darf kein Artikel stehen" -#: guix/scripts/lint.scm:265 +#: guix/scripts/lint.scm:342 msgid "synopsis should be less than 80 characters long" -msgstr "Zusammenfassung sollte nicht länger als 80 Zeichen sein" +msgstr "Die Zusammenfassung sollte nicht länger als 80 Zeichen sein" -#: guix/scripts/lint.scm:271 +#: guix/scripts/lint.scm:348 msgid "synopsis should start with an upper-case letter or digit" -msgstr "Zusammenfassung sollte mit einem Großbuchstaben oder einer Zahl beginnen" +msgstr "Die Zusammenfassung sollte mit einem Großbuchstaben oder einer Zahl beginnen" -#: guix/scripts/lint.scm:278 +#: guix/scripts/lint.scm:355 msgid "synopsis should not start with the package name" -msgstr "Zusammenfassung sollte nicht mit dem Paketnamen beginnen" +msgstr "Die Zusammenfassung sollte nicht mit dem Paketnamen beginnen" -#: guix/scripts/lint.scm:292 +#: guix/scripts/lint.scm:365 +msgid "Texinfo markup in synopsis is invalid" +msgstr "Das Texinfo-Markup in der Zusammenfassung ist ungültig" + +#: guix/scripts/lint.scm:384 #, scheme-format msgid "invalid synopsis: ~s" msgstr "Unzulässige Zusammenfassung: ~s" -#: guix/scripts/lint.scm:383 +#: guix/scripts/lint.scm:503 #, scheme-format msgid "URI ~a returned suspiciously small file (~a bytes)" -msgstr "" +msgstr "URI ~a hat eine verdächtig kleine Datei geliefert (~a Bytes)" + +#: guix/scripts/lint.scm:513 +#, scheme-format +msgid "permanent redirect from ~a to ~a" +msgstr "Permanente Weiterleitung von ~a auf ~a" + +#: guix/scripts/lint.scm:520 +#, scheme-format +msgid "invalid permanent redirect from ~a" +msgstr "Ungültige permanente Weiterleitung von ~a" -#: guix/scripts/lint.scm:392 guix/scripts/lint.scm:404 +#: guix/scripts/lint.scm:527 guix/scripts/lint.scm:539 #, scheme-format msgid "URI ~a not reachable: ~a (~s)" -msgstr "" +msgstr "URI ~a nicht erreichbar: ~a (~s)" -#: guix/scripts/lint.scm:411 +#: guix/scripts/lint.scm:546 #, scheme-format msgid "URI ~a domain not found: ~a" -msgstr "URI-Domain ~a nicht gefunden: ~a" +msgstr "Domain der URI ~a nicht gefunden: ~a" -#: guix/scripts/lint.scm:419 +#: guix/scripts/lint.scm:554 #, scheme-format msgid "URI ~a unreachable: ~a" msgstr "URI ~a ist nicht erreichbar: ~a" -#: guix/scripts/lint.scm:445 +#: guix/scripts/lint.scm:563 +#, scheme-format +msgid "TLS certificate error: ~a" +msgstr "TLS-Zertifikatsfehler: ~a" + +#: guix/scripts/lint.scm:584 msgid "invalid value for home page" msgstr "Ungültiger Wert für Homepage" -#: guix/scripts/lint.scm:448 +#: guix/scripts/lint.scm:587 #, scheme-format msgid "invalid home page URL: ~s" msgstr "Ungültige URL für Homepage: ~s" -#: guix/scripts/lint.scm:468 +#: guix/scripts/lint.scm:613 msgid "file names of patches should start with the package name" -msgstr "Dateinamen oder Patches sollten mit dem Paketnamen beginnen" +msgstr "Dateinamen von Patches sollten mit dem Paketnamen beginnen" -#: guix/scripts/lint.scm:507 +#: guix/scripts/lint.scm:629 +#, scheme-format +msgid "~a: file name is too long" +msgstr "~a: Der Dateiname ist zu lang" + +#: guix/scripts/lint.scm:670 #, scheme-format msgid "~a: ~a: proposed synopsis: ~s~%" -msgstr "~a: ~a: vorgeschlagene Zusammenfassung: ~s~%" +msgstr "~a: ~a: Vorgeschlagene Zusammenfassung: ~s~%" -#: guix/scripts/lint.scm:520 +#: guix/scripts/lint.scm:683 #, scheme-format msgid "~a: ~a: proposed description:~% \"~a\"~%" -msgstr "~a: ~a: vorgeschlagene Beschreibung:~% \"~a\"~%" +msgstr "~a: ~a: Vorgeschlagene Beschreibung:~% \"~a\"~%" -#: guix/scripts/lint.scm:557 +#: guix/scripts/lint.scm:725 msgid "all the source URIs are unreachable:" msgstr "Alle Quell-URIs sind nicht erreichbar:" -#: guix/scripts/lint.scm:580 +#: guix/scripts/lint.scm:747 msgid "the source file name should contain the package name" msgstr "Der Name der Quelldatei sollte den Paketnamen enthalten" -#: guix/scripts/lint.scm:589 guix/scripts/lint.scm:593 +#: guix/scripts/lint.scm:763 +#, scheme-format +msgid "URL should be 'mirror://~a/~a'" +msgstr "URL sollte »mirror://~a/~a« lauten" + +#: guix/scripts/lint.scm:781 guix/scripts/lint.scm:785 #, scheme-format msgid "failed to create derivation: ~a" msgstr "Ableitung konnte nicht erstellt werden: ~a" -#: guix/scripts/lint.scm:607 +#: guix/scripts/lint.scm:799 #, scheme-format msgid "failed to create derivation: ~s~%" msgstr "Ableitung konnte nicht erstellt werden: ~s~%" -#: guix/scripts/lint.scm:617 +#: guix/scripts/lint.scm:809 msgid "invalid license field" msgstr "Ungültiges Lizenz-Feld" -#: guix/scripts/lint.scm:634 -#, fuzzy, scheme-format -#| msgid "failed to create derivation: ~s~%" -msgid "failed to retrieve CVE vulnerabilities from ~s: ~a (~s)~%" -msgstr "Ableitung konnte nicht erstellt werden: ~s~%" +#: guix/scripts/lint.scm:816 +#, scheme-format +msgid "~a: HTTP GET error for ~a: ~a (~s)~%" +msgstr "~a: HTTP-GET-Fehler für ~a: ~a (~s)~%" -#: guix/scripts/lint.scm:639 guix/scripts/lint.scm:647 +#: guix/scripts/lint.scm:826 #, scheme-format -msgid "assuming no CVE vulnerabilities~%" -msgstr "" +msgid "~a: host lookup failure: ~a~%" +msgstr "~a: Nachschlagen des Rechners fehlgeschlagen: ~a~%" -#: guix/scripts/lint.scm:645 -#, fuzzy, scheme-format -#| msgid "failed to load '~a': ~a~%" -msgid "failed to lookup NIST host: ~a~%" -msgstr "»~a« konnte nicht geladen werden: ~a~%" +#: guix/scripts/lint.scm:831 +#, scheme-format +msgid "~a: TLS certificate error: ~a" +msgstr "~a: TLS-Zertifikatsfehler: ~a" -#: guix/scripts/lint.scm:683 +#: guix/scripts/lint.scm:846 +msgid "while retrieving CVE vulnerabilities" +msgstr "Beim Laden der CVE-Sicherheitslücken" + +#: guix/scripts/lint.scm:883 #, scheme-format msgid "probably vulnerable to ~a" -msgstr "" +msgstr "Wahrscheinlich angreifbar durch ~a" + +#: guix/scripts/lint.scm:890 +#, scheme-format +msgid "while retrieving upstream info for '~a'" +msgstr "Beim Laden der Informationen vom Ursprung für »~a«" + +#: guix/scripts/lint.scm:898 +#, scheme-format +msgid "can be upgraded to ~a" +msgstr "Kann aktualisiert werden auf »~a«" -#: guix/scripts/lint.scm:698 +#: guix/scripts/lint.scm:913 #, scheme-format msgid "tabulation on line ~a, column ~a" msgstr "Tabulator in Zeile ~a, Spalte ~a" -#: guix/scripts/lint.scm:707 +#: guix/scripts/lint.scm:922 #, scheme-format msgid "trailing white space on line ~a" msgstr "Leerzeichen am Ende der Zeile ~a" -#: guix/scripts/lint.scm:717 +#: guix/scripts/lint.scm:932 #, scheme-format msgid "line ~a is way too long (~a characters)" msgstr "Zeile ~a ist viel zu lang (~a Zeichen)" -#: guix/scripts/lint.scm:728 +#: guix/scripts/lint.scm:943 #, scheme-format msgid "line ~a: parentheses feel lonely, move to the previous or next line" -msgstr "" +msgstr "Zeile ~a hat einsame Klammern, setzen Sie sie auf die vorige oder nächste Zeile" -#: guix/scripts/lint.scm:783 +#: guix/scripts/lint.scm:1013 msgid "Validate package descriptions" msgstr "Paketbeschreibungen überprüfen" -#: guix/scripts/lint.scm:787 +#: guix/scripts/lint.scm:1017 msgid "Validate synopsis & description of GNU packages" -msgstr "GNU-Paketzusammenfassung und -beschreibungen überprüfen" +msgstr "GNU-Paketzusammenfassung und -beschreibung überprüfen" -#: guix/scripts/lint.scm:791 +#: guix/scripts/lint.scm:1021 msgid "Identify inputs that should be native inputs" -msgstr "Eingaben prüfen, die native Eingaben sein sollten" +msgstr "Eingaben suchen, die native Eingaben sein sollten" + +#: guix/scripts/lint.scm:1025 +msgid "Identify inputs that shouldn't be inputs at all" +msgstr "" +"Eingaben suchen, die gar keine Eingaben\n" +" sein sollten" -#: guix/scripts/lint.scm:795 +#: guix/scripts/lint.scm:1029 msgid "Validate file names and availability of patches" msgstr "Dateinamen und Verfügbarkeit der Patches überprüfen" -#: guix/scripts/lint.scm:799 +#: guix/scripts/lint.scm:1033 msgid "Validate home-page URLs" msgstr "Homepage-URLs überprüfen" #. TRANSLATORS: is the name of a data type and must not be #. translated. -#: guix/scripts/lint.scm:805 +#: guix/scripts/lint.scm:1039 msgid "Make sure the 'license' field is a or a list thereof" msgstr "" +"Sicherstellen, dass das »license«-Feld eine oder\n" +" eine Liste davon ist" -#: guix/scripts/lint.scm:810 +#: guix/scripts/lint.scm:1044 msgid "Validate source URLs" msgstr "Quell-URLs überprüfen" -#: guix/scripts/lint.scm:814 +#: guix/scripts/lint.scm:1048 +msgid "Suggest 'mirror://' URLs" +msgstr "»mirror://«-URLs vorschlagen" + +#: guix/scripts/lint.scm:1052 msgid "Validate file names of sources" -msgstr "Dateinamen der Quellen überprüfen" +msgstr "Dateinamen der Quellorte überprüfen" -#: guix/scripts/lint.scm:818 +#: guix/scripts/lint.scm:1056 msgid "Report failure to compile a package to a derivation" -msgstr "" +msgstr "Fehler dabei melden, ein Paket zu einer Ableitung zu kompilieren" -#: guix/scripts/lint.scm:822 +#: guix/scripts/lint.scm:1060 msgid "Validate package synopses" msgstr "Paketzusammenfassungen überprüfen" -#: guix/scripts/lint.scm:826 +#: guix/scripts/lint.scm:1064 msgid "Check the Common Vulnerabilities and Exposures (CVE) database" -msgstr "" +msgstr "Die Datenbank der Common Vulnerabilities and Exposures (CVE) überprüfen" -#: guix/scripts/lint.scm:831 +#: guix/scripts/lint.scm:1069 +msgid "Check the package for new upstream releases" +msgstr "Den Ursprung des Pakets auf neue Veröffentlichungen hin prüfen" + +#: guix/scripts/lint.scm:1073 msgid "Look for formatting issues in the source" -msgstr "Nach Formatierungsfehlern in der Quelle schauen" +msgstr "Nach Formatierungsfehlern im Quellort schauen" -#: guix/scripts/lint.scm:859 +#: guix/scripts/lint.scm:1101 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 "" -"Aufruf: guix lint [OPTION]... [PAKET]...\n" +"Aufruf: guix lint [OPTION] … [PAKET] …\n" "Eine Reihe von Überprüfungen auf das angegebene Paket anwenden.\n" -"Falls keine angegeben sind, werden alle verfügbaren Überprüfungen\n" -"mit allen Paketen ausgeführt.\n" +"Falls keine Prüfer angegeben werden, alle verfügbaren Prüfer\n" +"auf alle Paketen anwenden.\n" -#: guix/scripts/lint.scm:862 +#: guix/scripts/lint.scm:1104 msgid "" "\n" " -c, --checkers=CHECKER1,CHECKER2...\n" @@ -1654,31 +2351,31 @@ msgid "" msgstr "" "\n" " -c, --checkers=PRÜFER1,PRÜFER2 …\n" -" nur die angegebenen Prüfer aufrufen" +" nur die angegebenen Prüfer anwenden" -#: guix/scripts/lint.scm:867 +#: guix/scripts/lint.scm:1109 msgid "" "\n" " -l, --list-checkers display the list of available lint checkers" msgstr "" "\n" -" -l, --list-checkers Liste der verfügbaren Überprüfungen anzeigen" +" -l, --list-checkers Liste der verfügbaren Prüfer anzeigen" -#: guix/scripts/lint.scm:887 +#: guix/scripts/lint.scm:1129 #, scheme-format msgid "~a: invalid checker~%" -msgstr "~a: unzulässiger Prüfer~%" +msgstr "~a: Unzulässiger Prüfer~%" -#: guix/scripts/publish.scm:57 +#: guix/scripts/publish.scm:68 #, scheme-format msgid "" "Usage: guix publish [OPTION]...\n" "Publish ~a over HTTP.\n" msgstr "" -"Aufruf: guix publish [OPTION]...\n" +"Aufruf: guix publish [OPTION] …\n" "~a über HTTP bereitstellen.\n" -#: guix/scripts/publish.scm:59 +#: guix/scripts/publish.scm:70 msgid "" "\n" " -p, --port=PORT listen on PORT" @@ -1686,69 +2383,128 @@ msgstr "" "\n" " -p, --port=PORT an PORT lauschen" -#: guix/scripts/publish.scm:61 +#: guix/scripts/publish.scm:72 msgid "" "\n" " --listen=HOST listen on the network interface for HOST" msgstr "" +"\n" +" --listen=HOST auf den Netzwerkschnittstellen für HOST lauschen" -#: guix/scripts/publish.scm:63 +#: guix/scripts/publish.scm:74 msgid "" "\n" " -u, --user=USER change privileges to USER as soon as possible" msgstr "" +"\n" +" -u, --user=NUTZER Berechtigungen von NUTZER so früh wie möglich\n" +" übernehmen" -#: guix/scripts/publish.scm:65 +#: guix/scripts/publish.scm:76 msgid "" "\n" " -C, --compression[=LEVEL]\n" " compress archives at LEVEL" msgstr "" +"\n" +" -C, --compression[=STUFE]\n" +" Archive auf der STUFE komprimieren" + +#: guix/scripts/publish.scm:79 +msgid "" +"\n" +" -c, --cache=DIRECTORY cache published items to DIRECTORY" +msgstr "" +"\n" +" -c, --cache=VERZEICHNIS\n" +" veröffentlichte Objekte im VERZEICHNIS\n" +" zwischenspeichern" -#: guix/scripts/publish.scm:68 +#: guix/scripts/publish.scm:81 +msgid "" +"\n" +" --workers=N use N workers to bake items" +msgstr "" +"\n" +" --workers=N mit N Worker-Threads angeforderte Objekte in den\n" +" Zwischenspeicher einlagern" + +#: guix/scripts/publish.scm:83 msgid "" "\n" " --ttl=TTL announce narinfos can be cached for TTL seconds" msgstr "" +"\n" +" --ttl=TTL dem Client mitteilen, dass heruntergeladene Narinfos\n" +" TTL Sekunden lang gültig bleiben" -#: guix/scripts/publish.scm:70 +#: guix/scripts/publish.scm:85 +msgid "" +"\n" +" --nar-path=PATH use PATH as the prefix for nar URLs" +msgstr "" +"\n" +" --nar-path=PFAD den Pfad als das Präfix für Nar-URLs benutzen" + +#: guix/scripts/publish.scm:87 +msgid "" +"\n" +" --public-key=FILE use FILE as the public key for signatures" +msgstr "" +"\n" +" --public-key=DATEI\n" +" öffentlichen Schlüssel für Signaturen aus DATEI laden" + +#: guix/scripts/publish.scm:89 +msgid "" +"\n" +" --private-key=FILE use FILE as the private key for signatures" +msgstr "" +"\n" +" --private-key=DATEI\n" +" privaten Schlüssel für Signaturen aus DATEI laden" + +#: guix/scripts/publish.scm:91 msgid "" "\n" " -r, --repl[=PORT] spawn REPL server on PORT" msgstr "" +"\n" +" -r, --repl[=PORT] auf PORT einen REPL-Server erzeugen" -#: guix/scripts/publish.scm:86 +#: guix/scripts/publish.scm:107 #, scheme-format msgid "lookup of host '~a' failed: ~a~%" msgstr "Suche nach Host »~a« ist fehlgeschlagen: ~a~%" -#: guix/scripts/publish.scm:124 +#: guix/scripts/publish.scm:152 #, scheme-format msgid "lookup of host '~a' returned nothing" msgstr "Suche nach Host »~a« lieferte kein Ergebnis" -#: guix/scripts/publish.scm:137 +#: guix/scripts/publish.scm:165 #, scheme-format msgid "zlib support is missing; compression disabled~%" -msgstr "" +msgstr "zlib-Unterstützung fehlt; Kompression deaktiviert~%" -#: guix/scripts/publish.scm:144 -#, fuzzy, scheme-format -#| msgid "~a: invalid number~%" +#: guix/scripts/publish.scm:179 +#, scheme-format msgid "~a: invalid duration~%" -msgstr "~a: ungültige Zahl~%" +msgstr "~a: Ungültige Dauer~%" -#: guix/scripts/publish.scm:537 +#: guix/scripts/publish.scm:869 #, scheme-format msgid "user '~a' not found: ~a~%" msgstr "Benutzer »~a« nicht gefunden: ~a~%" -#: guix/scripts/publish.scm:574 +#: guix/scripts/publish.scm:910 #, scheme-format msgid "server running as root; consider using the '--user' option!~%" msgstr "" +"Server läuft mit Administratorrechten; vielleicht beim\n" +"Start »--user« übergeben!~%" -#: guix/scripts/publish.scm:576 +#: guix/scripts/publish.scm:915 #, scheme-format msgid "publishing ~a on ~a, port ~d~%" msgstr "~a wird auf ~a bereitgestellt, Port ~d~%" @@ -1758,52 +2514,54 @@ msgid "" "Usage: guix edit PACKAGE...\n" "Start $VISUAL or $EDITOR to edit the definitions of PACKAGE...\n" msgstr "" +"Aufruf: guix edit PAKET …\n" +"Starte $VISUAL oder $EDITOR, um die Definitionen von PAKET zu bearbeiten …\n" #: guix/scripts/edit.scm:62 #, scheme-format msgid "file '~a' not found in search path ~s~%" msgstr "Datei »~a« im Suchpfad ~s nicht gefunden~%" -#: guix/scripts/edit.scm:83 +#: guix/scripts/edit.scm:90 #, scheme-format msgid "source location of package '~a' is unknown~%" -msgstr "Quellort des Pakets »~a« ist unbekannt~%" +msgstr "Stelle im Quellcode für das Paket »~a« ist unbekannt~%" -#: guix/scripts/edit.scm:96 +#: guix/scripts/edit.scm:103 #, scheme-format msgid "failed to launch '~a': ~a~%" msgstr "»~a« konnte nicht gestartet werden: ~a~%" -#: guix/scripts/size.scm:76 +#: guix/scripts/size.scm:77 #, scheme-format msgid "no available substitute information for '~a'~%" -msgstr "" +msgstr "Keine Substitutinformationen für »~a« verfügbar.~%" -#: guix/scripts/size.scm:84 +#: guix/scripts/size.scm:99 msgid "store item" -msgstr "" +msgstr "Store-Objekt" -#: guix/scripts/size.scm:84 +#: guix/scripts/size.scm:99 msgid "total" -msgstr "" +msgstr "Gesamt" -#: guix/scripts/size.scm:84 +#: guix/scripts/size.scm:99 msgid "self" -msgstr "" +msgstr "Selbst" -#: guix/scripts/size.scm:95 +#: guix/scripts/size.scm:107 #, scheme-format msgid "total: ~,1f MiB~%" -msgstr "" +msgstr "Gesamt: ~,1f MiB~%" #. 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:206 +#: guix/scripts/size.scm:221 msgid "store profile" -msgstr "" +msgstr "Store-Profil" -#: guix/scripts/size.scm:215 +#: guix/scripts/size.scm:230 msgid "" "Usage: guix size [OPTION]... PACKAGE\n" "Report the size of PACKAGE and its dependencies.\n" @@ -1811,175 +2569,523 @@ msgstr "" "Aufruf: guix size [OPTION] … PAKET …\n" "Größe des PAKETs und seiner Abhängigkeiten ermitteln.\n" -#: guix/scripts/size.scm:220 +#: guix/scripts/size.scm:235 msgid "" "\n" " -s, --system=SYSTEM consider packages for SYSTEM--e.g., \"i686-linux\"" msgstr "" +"\n" +" -s, --system=SYSTEM Pakete für SYSTEM in Betracht\n" +" ziehen — z.B. »i686-linux«" + +#. TRANSLATORS: "closure" and "self" must not be translated. +#: guix/scripts/size.scm:238 +msgid "" +"\n" +" --sort=KEY sort according to KEY--\"closure\" or \"self\"" +msgstr "" +"\n" +" --sort=SCHLÜSSEL nach SCHLÜSSEL sortieren — »closure« oder »self«" -#: guix/scripts/size.scm:222 +#: guix/scripts/size.scm:240 msgid "" "\n" " -m, --map-file=FILE write to FILE a graphical map of disk usage" msgstr "" "\n" " -m, --map-file=DATEI eine grafische Darstellung des Plattenplatzverbrauchs\n" -" in DATEI schreiben" +" in DATEI schreiben" + +#: guix/scripts/size.scm:271 +#, scheme-format +msgid "~a: invalid sorting key~%" +msgstr "~a: Ungültiger Sortierschlüssel~%" -#: guix/scripts/size.scm:276 +#: guix/scripts/size.scm:306 msgid "missing store item argument\n" -msgstr "" +msgstr "Kein Store-Objekt als Argument übergeben\n" -#: guix/scripts/graph.scm:82 +#: guix/scripts/graph.scm:87 #, scheme-format msgid "~a: invalid argument (package name expected)" msgstr "~a: Unzulässiges Argument (Paketname wurde erwartet)" -#: guix/scripts/graph.scm:93 +#: guix/scripts/graph.scm:98 msgid "the DAG of packages, excluding implicit inputs" -msgstr "" +msgstr "der gerichtete azyklische Paket-Graph ohne implizite Eingaben" + +#: guix/scripts/graph.scm:124 +msgid "the reverse DAG of packages" +msgstr "der umgekehrte gerichtete azyklische Paket-Graph" -#: guix/scripts/graph.scm:150 +#: guix/scripts/graph.scm:174 msgid "the DAG of packages, including implicit inputs" -msgstr "" +msgstr "der gerichtete azyklische Paket-Graph mit impliziten Eingaben" -#: guix/scripts/graph.scm:160 +#: guix/scripts/graph.scm:184 msgid "the DAG of packages and origins, including implicit inputs" -msgstr "" +msgstr "der gerichtete azyklische Paket- und Ursprungs-Graph mit impliziten Eingaben" -#: guix/scripts/graph.scm:191 +#: guix/scripts/graph.scm:214 msgid "same as 'bag', but without the bootstrap nodes" -msgstr "" +msgstr "genau wie »bag«, aber ohne Bootstrap-Knoten" -#: guix/scripts/graph.scm:237 +#: guix/scripts/graph.scm:256 msgid "the DAG of derivations" -msgstr "" +msgstr "der gerichtete azyklische Ableitungsgraph" -#: guix/scripts/graph.scm:249 -#, fuzzy -#| msgid "unsupported signature version: ~a~%" +#: guix/scripts/graph.scm:268 msgid "unsupported argument for derivation graph" -msgstr "Signaturversion wird nicht unterstützt: ~a~%" +msgstr "Argument für Referenzgraph wird nicht unterstützt" -#: guix/scripts/graph.scm:270 +#: guix/scripts/graph.scm:294 +msgid "unsupported argument for this type of graph" +msgstr "Argument für diesen Typ von Graph wird nicht unterstützt" + +#: guix/scripts/graph.scm:307 #, scheme-format msgid "references for '~a' are not known~%" msgstr "Referenzen für »~a« sind unbekannt~%" -#: guix/scripts/graph.scm:277 +#: guix/scripts/graph.scm:314 msgid "the DAG of run-time dependencies (store references)" -msgstr "" +msgstr "der gerichtete azyklische Laufzeitabhängigkeits-Graph (Store-Referenzen)" -#: guix/scripts/graph.scm:290 -msgid "unsupported argument for reference graph" -msgstr "" +#: guix/scripts/graph.scm:330 +msgid "the DAG of referrers in the store" +msgstr "der gerichtete azyklische Graph der Referenzen unter Store-Objekten" + +#: guix/scripts/graph.scm:360 +msgid "the graph of package modules" +msgstr "der Graph der Paketmodule" -#: guix/scripts/graph.scm:315 +#: guix/scripts/graph.scm:388 #, scheme-format msgid "~a: unknown node type~%" -msgstr "~a: unbekannter Node-Typ~%" +msgstr "~a: Unbekannter Knotentyp~%" + +#: guix/scripts/graph.scm:395 +#, scheme-format +msgid "~a: unknown backend~%" +msgstr "~a: Unbekanntes Backend~%" -#: guix/scripts/graph.scm:319 +#: guix/scripts/graph.scm:399 msgid "The available node types are:\n" -msgstr "Die gültigen Node-Typen sind:\n" +msgstr "Die verfügbaren Knotenttypen sind:\n" + +#: guix/scripts/graph.scm:409 +msgid "The available backend types are:\n" +msgstr "Die gültigen Backend-Typen sind:\n" #. TRANSLATORS: Here 'dot' is the name of a program; it must not be #. translated. -#: guix/scripts/graph.scm:355 +#: guix/scripts/graph.scm:453 msgid "" "Usage: guix graph PACKAGE...\n" -"Emit a Graphviz (dot) representation of the dependencies of PACKAGE...\n" +"Emit a representation of the dependency graph of PACKAGE...\n" msgstr "" +"Aufruf: guix graph PAKET …\n" +"Eine Repräsentation für Graphviz (dot) der Abhängigkeiten von PAKET ausgeben …\n" -#: guix/scripts/graph.scm:357 +#: guix/scripts/graph.scm:455 msgid "" "\n" -" -t, --type=TYPE represent nodes of the given TYPE" +" -b, --backend=TYPE produce a graph with the given backend TYPE" msgstr "" +"\n" +" -b, --backend=TYP einen Graphen mit dem angegebenen Backend-TYP erzeugen" -#: guix/scripts/graph.scm:359 +#: guix/scripts/graph.scm:457 msgid "" "\n" -" --list-types list the available graph types" +" --list-backends list the available graph backends" msgstr "" "\n" -" --list-types verfügbare Diagrammtypen auflisten" +" --list-backends verfügbare Graph-Backends auflisten" -#: guix/scripts/graph.scm:361 +#: guix/scripts/graph.scm:459 msgid "" "\n" -" -e, --expression=EXPR consider the package EXPR evaluates to" +" -t, --type=TYPE represent nodes of the given TYPE" msgstr "" +"\n" +" -t, --type=TYP Knoten des angegebenen TYPS darstellen" -#: guix/scripts/challenge.scm:105 -#, scheme-format -msgid "~a: no substitute at '~a'~%" +#: guix/scripts/graph.scm:461 +msgid "" +"\n" +" --list-types list the available graph types" msgstr "" +"\n" +" --list-types verfügbare Knotentypen auflisten" -#: guix/scripts/challenge.scm:121 -#, scheme-format -msgid "no substitutes for '~a'~%" +#: guix/scripts/graph.scm:463 guix/scripts/pack.scm:644 +msgid "" +"\n" +" -e, --expression=EXPR consider the package EXPR evaluates to" msgstr "" +"\n" +" -e, --expression=AUSDRUCK\n" +" das Paket betrachten, zu dem AUSDRUCK ausgewertet wird" -#: guix/scripts/challenge.scm:138 guix/scripts/challenge.scm:158 +#: guix/scripts/challenge.scm:191 #, scheme-format -msgid "no local build for '~a'~%" -msgstr "" +msgid " local hash: ~a~%" +msgstr " lokale Prüfsumme: ~a~%" -#: guix/scripts/challenge.scm:155 +#: guix/scripts/challenge.scm:192 +#, scheme-format +msgid " no local build for '~a'~%" +msgstr "Kein lokal erstelltes »~a«~%" + +#: guix/scripts/challenge.scm:194 +#, scheme-format +msgid " ~50a: ~a~%" +msgstr " ~50a: ~a~%" + +#: guix/scripts/challenge.scm:202 #, scheme-format msgid "~a contents differ:~%" -msgstr "" +msgstr "Inhalt von ~a verschieden:~%" -#: guix/scripts/challenge.scm:157 +#: guix/scripts/challenge.scm:205 #, scheme-format -msgid " local hash: ~a~%" -msgstr " lokale Prüfsumme: ~a~%" +msgid "could not challenge '~a': no local build~%" +msgstr "»~a« konnte nicht angefochten werden: keine lokale Erstellung~%" -#: guix/scripts/challenge.scm:162 +#: guix/scripts/challenge.scm:207 #, scheme-format -msgid " ~50a: ~a~%" -msgstr " ~50a: ~a~%" +msgid "could not challenge '~a': no substitutes~%" +msgstr "»~a« konnte nicht angefochten werden: keine Substitute~%" -#: guix/scripts/challenge.scm:166 +#: guix/scripts/challenge.scm:210 #, scheme-format -msgid " ~50a: unavailable~%" -msgstr " ~50a: nicht verfügbar~%" +msgid "~a contents match:~%" +msgstr "Inhalt von ~a stimmt überein:~%" + +#: guix/scripts/challenge.scm:219 +msgid "~h store items were analyzed:~%" +msgstr "~h Store-Objekte wurden analysiert:~%" + +#: guix/scripts/challenge.scm:220 +msgid " - ~h (~,1f%) were identical~%" +msgstr " — ~h (~,1f%) waren identisch~%" -#: guix/scripts/challenge.scm:176 +#: guix/scripts/challenge.scm:222 +msgid " - ~h (~,1f%) differed~%" +msgstr " — ~h (~,1f%) unterscheiden sich~%" + +#: guix/scripts/challenge.scm:224 +msgid " - ~h (~,1f%) were inconclusive~%" +msgstr " — ~h (~,1f%) blieben ergebnislos~%" + +#: guix/scripts/challenge.scm:233 msgid "" "Usage: guix challenge [PACKAGE...]\n" "Challenge the substitutes for PACKAGE... provided by one or more servers.\n" msgstr "" +"Aufruf: guix challenge [PAKET …]\n" +"Die Substitute für PAKET … anfechten, die von einem oder mehr Servern kommen.\n" -#: guix/scripts/challenge.scm:178 +#: guix/scripts/challenge.scm:235 msgid "" "\n" " --substitute-urls=URLS\n" " compare build results with those at URLS" msgstr "" +"\n" +" --substitute-urls=URLS\n" +" Ergebnisse des Erstellens mit denen von URLS abgleichen" + +#: guix/scripts/challenge.scm:238 +msgid "" +"\n" +" -v, --verbose show details about successful comparisons" +msgstr "" +"\n" +" --verbose Details über erfolgreiche Vergleiche anzeigen" + +#: guix/scripts/copy.scm:59 +#, scheme-format +msgid "~a: invalid TCP port number~%" +msgstr "~a: Ungültige TCP-Portnummer~%" + +#: guix/scripts/copy.scm:61 +#, scheme-format +msgid "~a: invalid SSH specification~%" +msgstr "~a: Ungültige SSH-Angaben~%" + +#: guix/scripts/copy.scm:113 +msgid "" +"Usage: guix copy [OPTION]... ITEMS...\n" +"Copy ITEMS to or from the specified host over SSH.\n" +msgstr "" +"Aufruf: guix copy [OPTION] … OBJEKTE …\n" +"OBJEKTE zum oder vom angegebenen Host über SSH kopieren.\n" + +#: guix/scripts/copy.scm:115 +msgid "" +"\n" +" --to=HOST send ITEMS to HOST" +msgstr "" +"\n" +" --to=HOST OBJEKTE an HOST senden" + +#: guix/scripts/copy.scm:117 +msgid "" +"\n" +" --from=HOST receive ITEMS from HOST" +msgstr "" +"\n" +" --from=HOST OBJEKTE vom HOST beziehen" + +#: guix/scripts/copy.scm:169 +#, scheme-format +msgid "use '--to' or '--from'~%" +msgstr "Benutzen Sie »--to« oder »--from«~%" + +#: guix/scripts/pack.scm:89 +#, scheme-format +msgid "~a: compressor not found~%" +msgstr "~a: Kompressionsmethode nicht gefunden~%" + +#: guix/scripts/pack.scm:467 +#, scheme-format +msgid "" +"cross-compilation not implemented here;\n" +"please email '~a'~%" +msgstr "" +"Cross-Kompilieren wurde hier nicht implementiert,\n" +"bitte senden Sie eine E-Mail an »~a«~%" + +#: guix/scripts/pack.scm:621 +#, scheme-format +msgid "~a: invalid symlink specification~%" +msgstr "~a: Ungültige Angabe zur symbolischen Verknüpfung~%" + +#: guix/scripts/pack.scm:634 +msgid "" +"Usage: guix pack [OPTION]... PACKAGE...\n" +"Create a bundle of PACKAGE.\n" +msgstr "" +"Aufruf: guix pack [OPTION] … PAKET …\n" +"Ein Bündel mit PAKET erstellen.\n" + +#: guix/scripts/pack.scm:640 +msgid "" +"\n" +" -f, --format=FORMAT build a pack in the given FORMAT" +msgstr "" +"\n" +" -f, --format=FORMAT das Bündel im angegebenen Format erstellen" + +#: guix/scripts/pack.scm:642 +msgid "" +"\n" +" -R, --relocatable produce relocatable executables" +msgstr "" +"\n" +" -R, --relocatable »portable« ausführbare Datei erzeugen" + +#: guix/scripts/pack.scm:650 +msgid "" +"\n" +" -C, --compression=TOOL compress using TOOL--e.g., \"lzip\"" +msgstr "" +"\n" +" -C, --compression=WERKZEUG\n" +" mit dem WERKZEUG komprimieren — z.B. »lzip«" + +#: guix/scripts/pack.scm:652 +msgid "" +"\n" +" -S, --symlink=SPEC create symlinks to the profile according to SPEC" +msgstr "" +"\n" +" -S, --symlink=SPEZIFIKATION\n" +" symbolische Verknüpfungen zum Profil erzeugen gemäß\n" +" der SPEZIFIKATION" + +#: guix/scripts/pack.scm:654 +msgid "" +"\n" +" -m, --manifest=FILE create a pack with the manifest from FILE" +msgstr "" +"\n" +" -m, --manifest=DATEI ein Bündel mit dem Manifest aus DATEI erzeugen" + +#: guix/scripts/pack.scm:656 +msgid "" +"\n" +" --localstatedir include /var/guix in the resulting pack" +msgstr "" +"\n" +" --localstatedir »/var/guix« auch ins Bündel packen" + +#: guix/scripts/pack.scm:658 +msgid "" +"\n" +" --bootstrap use the bootstrap binaries to build the pack" +msgstr "" +"\n" +" --bootstrap mit den Bootstrap-Binärdateien das Bündel erstellen" + +#: guix/scripts/pack.scm:700 +#, scheme-format +msgid "both a manifest and a package list were given~%" +msgstr "Es wurden sowohl ein Manifest als auch eine Paketliste angegeben~%" + +#: guix/scripts/pack.scm:743 +#, scheme-format +msgid "~a: unknown pack format" +msgstr "~a: Unbekanntes Bündelformat" + +#: guix/scripts/weather.scm:72 +msgid "computing ~h package derivations for ~a...~%" +msgstr "~h Paketableitungen für ~a berechnen …~%" + +#: guix/scripts/weather.scm:161 +msgid "looking for ~h store items on ~a...~%" +msgstr "Nach ~h Store-Objekten von ~a suchen …~%" + +#: guix/scripts/weather.scm:173 +msgid " ~2,1f% substitutes available (~h out of ~h)~%" +msgstr " ~2,1f% Substitute verfügbar (~h von ~h)~%" + +#: guix/scripts/weather.scm:179 +#, scheme-format +msgid " unknown substitute sizes~%" +msgstr " Unbekannte Substitutgrößen~%" + +#: guix/scripts/weather.scm:182 +msgid " ~,1h MiB of nars (compressed)~%" +msgstr " ~,1h MiB an Nars (komprimiert)~%" + +#: guix/scripts/weather.scm:183 +msgid " at least ~,1h MiB of nars (compressed)~%" +msgstr " Mindestens ~,1h MiB an Nars (komprimiert)~%" + +#: guix/scripts/weather.scm:185 +msgid " ~,1h MiB on disk (uncompressed)~%" +msgstr " ~,1h MiB auf der Platte (unkomprimiert)~%" + +#: guix/scripts/weather.scm:187 +msgid " ~,3h seconds per request (~,1h seconds in total)~%" +msgstr " ~,3h Sekunden pro Anfrage (~,1h Sekunden insgesamt)~%" + +#: guix/scripts/weather.scm:189 +msgid " ~,1h requests per second~%" +msgstr " ~,1h Anfragen pro Sekunde~%" + +#: guix/scripts/weather.scm:195 +#, scheme-format +msgid " (continuous integration information unavailable)~%" +msgstr " (Keine Informationen zu kontinuierlicher Integration verfügbar)~%" + +#: guix/scripts/weather.scm:198 +#, scheme-format +msgid " '~a' returned ~a (~s)~%" +msgstr " »~a« lieferte ~a (~s)~%" + +#: guix/scripts/weather.scm:215 +msgid " ~,1f% (~h out of ~h) of the missing items are queued~%" +msgstr " ~,1f% (~h von ~h) der fehlenden Objekte sind in der Warteschlange~%" + +#: guix/scripts/weather.scm:221 +msgid " at least ~h queued builds~%" +msgstr " Mindestens ~h Erstellungen in der Warteschlange~%" + +#: guix/scripts/weather.scm:222 +msgid " ~h queued builds~%" +msgstr " ~h Erstellungen in der Warteschlange~%" + +#: guix/scripts/weather.scm:225 +#, scheme-format +msgid " ~a: ~a (~0,1f%)~%" +msgstr " ~a: ~a (~0,1f%)~%" + +#: guix/scripts/weather.scm:231 +#, scheme-format +msgid " build rate: ~1,2f builds per hour~%" +msgstr " Erstellungsgeschwindigkeit: ~1,2f Erstellungen pro Stunde~%" + +#: guix/scripts/weather.scm:235 +#, scheme-format +msgid " ~a: ~,2f builds per hour~%" +msgstr " ~a: ~,2f Erstellungen pro Stunde~%" + +#: guix/scripts/weather.scm:247 +msgid "" +"Usage: guix weather [OPTIONS]\n" +"Report the availability of substitutes.\n" +msgstr "" +"Aufruf: guix weather [OPTIONEN]\n" +"Über die Verfügbarkeit von Substituten berichten.\n" + +#: guix/scripts/weather.scm:249 +msgid "" +"\n" +" --substitute-urls=URLS\n" +" check for available substitutes at URLS" +msgstr "" +"\n" +" --substitute-urls=URLS\n" +" die auf URLS verfügbaren Substitute prüfen" + +#: guix/scripts/weather.scm:252 +msgid "" +"\n" +" -m, --manifest=MANIFEST\n" +" look up substitutes for packages specified in MANIFEST" +msgstr "" +"\n" +" -m, --manifest=MANIFEST\n" +" Substitute für im Manifest angegebene Pakete suchen" -#: guix/gnu-maintenance.scm:532 +#: guix/scripts/weather.scm:255 +msgid "" +"\n" +" -s, --system=SYSTEM consider substitutes for SYSTEM--e.g., \"i686-linux\"" +msgstr "" +"\n" +" -s, --system=SYSTEM Substitute für SYSTEM angeben — z.B. »i686-linux«" + +#: guix/scripts/weather.scm:279 +#, scheme-format +msgid "~a: invalid URL~%" +msgstr "~a: Ungültige URL~%" + +#: guix/gnu-maintenance.scm:570 msgid "Updater for GNU packages" msgstr "Aktualisierungswerkzeug für GNU-Pakete" -#: guix/gnu-maintenance.scm:539 -msgid "Updater for GNOME packages" -msgstr "Aktualisierungswerkzeug für GNOME-Pakete" +#: guix/gnu-maintenance.scm:579 +msgid "Updater for GNU packages only available via FTP" +msgstr "Aktualisierungswerkzeug für GNU-Pakete, die nur über FTP verfügbar sind" + +#: guix/gnu-maintenance.scm:588 +msgid "Updater for KDE packages" +msgstr "Aktualisierungswerkzeug für KDE-Pakete" -#: guix/gnu-maintenance.scm:546 +#: guix/gnu-maintenance.scm:595 msgid "Updater for X.org packages" msgstr "Aktualisierungswerkzeug für X.org-Pakete" +#: guix/gnu-maintenance.scm:602 +msgid "Updater for packages hosted on kernel.org" +msgstr "Aktualisierungswerkzeug für auf kernel.org gehostete Pakete" + #: guix/scripts/container.scm:25 msgid "" "Usage: guix container ACTION ARGS...\n" "Build and manipulate Linux containers.\n" msgstr "" +"Aufruf: guix container AKTION ARGS …\n" +"Linux-Container erstellen und verändern.\n" #: guix/scripts/container.scm:30 msgid " exec execute a command inside of an existing container\n" -msgstr " exec führt einen Befehl innerhalb eines vorhandenen Containers aus\n" +msgstr " exec einen Befehl innerhalb eines vorhandenen Containers ausführen\n" #: guix/scripts/container.scm:53 #, scheme-format @@ -1996,130 +3102,162 @@ msgid "" "Usage: guix container exec PID COMMAND [ARGS...]\n" "Execute COMMMAND within the container process PID.\n" msgstr "" +"Aufruf: guix container exec PID BEFEHL [ARGS …]\n" +"Den BEFEHL im Container-Prozess mit Kennung PID ausführen.\n" #: guix/scripts/container/exec.scm:69 #, scheme-format msgid "~a: extraneous argument~%" -msgstr "~a: zusätzliches Argument~%" +msgstr "~a: Zusätzliches Argument~%" -#: guix/scripts/container/exec.scm:80 +#: guix/scripts/container/exec.scm:87 #, scheme-format msgid "no pid specified~%" -msgstr "Keine Prozess-ID angegeben~%" +msgstr "Keine Prozesskennung (PID) angegeben~%" -#: guix/scripts/container/exec.scm:83 +#: guix/scripts/container/exec.scm:90 #, scheme-format msgid "no command specified~%" msgstr "Kein Befehl angegeben~%" -#: guix/scripts/container/exec.scm:86 +#: guix/scripts/container/exec.scm:93 #, scheme-format msgid "no such process ~d~%" msgstr "Kein solcher Prozess ~d~%" -#: guix/scripts/container/exec.scm:94 +#: guix/scripts/container/exec.scm:105 #, scheme-format msgid "exec failed with status ~d~%" -msgstr "" +msgstr "exec fehlgeschlagen mit Status ~d~%" -#: guix/upstream.scm:157 +#: guix/upstream.scm:250 #, scheme-format msgid "signature verification failed for `~a'~%" msgstr "Verifizierung der Signatur fehlgeschlagen für »~a«~%" -#: guix/upstream.scm:159 +#: guix/upstream.scm:252 #, scheme-format msgid "(could be because the public key is not in your keyring)~%" msgstr "(vielleicht befindet sich Ihr öffentlicher Schlüssel nicht im Schlüsselbund)~%" -#: guix/upstream.scm:191 -msgid "gz" -msgstr "gz" - -#: guix/upstream.scm:234 +#: guix/upstream.scm:337 #, scheme-format msgid "~a: could not locate source file" msgstr "~a: Quelldatei konnte nicht gefunden werden" -#: guix/upstream.scm:239 +#: guix/upstream.scm:342 #, scheme-format msgid "~a: ~a: no `version' field in source; skipping~%" -msgstr "~a: ~a: kein »version«-Feld in der Quelle; wird übersprungen~%" +msgstr "~a: ~a: Kein »version«-Feld beim Quellort; wird übersprungen~%" -#: guix/ui.scm:238 +#: guix/ui.scm:169 +#, scheme-format +msgid "error: ~a: unbound variable" +msgstr "Fehler: ~a: Nicht gebundene Variable" + +#: guix/ui.scm:265 msgid "entering debugger; type ',bt' for a backtrace\n" -msgstr "" +msgstr "Debugger wird betreten; tippen Sie »,bt« für einen Backtrace\n" + +#: guix/ui.scm:314 +#, scheme-format +msgid "hint: ~a~%" +msgstr "Hinweis: ~a~%" -#: guix/ui.scm:254 guix/ui.scm:271 +#: guix/ui.scm:330 +msgid "Did you forget a @code{use-modules} form?" +msgstr "Vielleicht haben Sie eine @code{use-modules}-Form vergessen?" + +#: guix/ui.scm:332 +#, scheme-format +msgid "Did you forget @code{(use-modules ~a)}?" +msgstr "Vielleicht haben Sie @code{(use-modules ~a)} vergessen?" + +#: guix/ui.scm:341 guix/ui.scm:381 guix/ui.scm:388 #, scheme-format msgid "failed to load '~a': ~a~%" msgstr "»~a« konnte nicht geladen werden: ~a~%" -#: guix/ui.scm:257 +#: guix/ui.scm:348 +#, scheme-format +msgid "~amissing closing parenthesis~%" +msgstr "~aschließende Klammer fehlt~%" + +#: guix/ui.scm:353 guix/ui.scm:361 guix/ui.scm:692 #, scheme-format msgid "~a: error: ~a~%" msgstr "~a: Fehler: ~a~%" -#: guix/ui.scm:260 guix/ui.scm:529 +#: guix/ui.scm:368 guix/ui.scm:762 #, scheme-format msgid "exception thrown: ~s~%" -msgstr "" +msgstr "Ausnahme ausgelöst: ~s~%" -#: guix/ui.scm:262 guix/ui.scm:280 +#: guix/ui.scm:372 guix/ui.scm:394 #, scheme-format msgid "failed to load '~a':~%" msgstr "»~a« konnte nicht geladen werden:~%" -#: guix/ui.scm:274 +#: guix/ui.scm:384 #, scheme-format msgid "~a: warning: ~a~%" msgstr "~a: Warnung: ~a~%" -#: guix/ui.scm:277 +#: guix/ui.scm:391 #, scheme-format msgid "failed to load '~a': exception thrown: ~s~%" -msgstr "" +msgstr "»~a« konnte nicht geladen werden: Ausnahme ausgelöst: ~s~%" -#: guix/ui.scm:289 +#: guix/ui.scm:424 #, scheme-format msgid "failed to install locale: ~a~%" msgstr "Locale konnte nicht installiert werden: ~a~%" -#: guix/ui.scm:308 +#. 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:454 +msgid "(C)" +msgstr "©" + +#: guix/ui.scm:455 +msgid "the Guix authors\n" +msgstr "die Guix-Autoren\n" + +#: guix/ui.scm:456 msgid "" -"Copyright (C) 2016 the Guix authors\n" "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 "" -"Copyright (C) 2016 Die Guix-Autoren\n" "Lizenz GPLv3+: GNU GPL Version 3 oder neuer \n" -"Dies ist freie Software: Sie können Sie ändern und weitergeben.\n" +"Dies ist freie Software: Sie können sie ändern und weitergeben.\n" "Es gibt keine Garantie, soweit gesetzlich zulässig.\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:320 +#: guix/ui.scm:468 #, scheme-format msgid "" "\n" "Report bugs to: ~a." msgstr "" "\n" -"Melden Sie Fehler an: ~a." +"Melden Sie Fehler an: ~a.\n" +"Melden Sie Übersetzungsfehler an: translation-team-de@lists.sourceforge.net." -#: guix/ui.scm:322 +#: guix/ui.scm:470 #, scheme-format msgid "" "\n" "~a home page: <~a>" msgstr "" "\n" -"~a Homepage: <~a>" +"Homepage von ~a: <~a>" -#: guix/ui.scm:324 +#: guix/ui.scm:472 msgid "" "\n" "General help using GNU software: " @@ -2127,227 +3265,292 @@ msgstr "" "\n" "Allgemeine Hilfe zu GNU-Software: " -#: guix/ui.scm:369 +#: guix/ui.scm:517 #, scheme-format msgid "'~a' is not a valid regular expression: ~a~%" msgstr "»~a« ist kein gültiger regulärer Ausdruck: ~a~%" -#: guix/ui.scm:375 +#: guix/ui.scm:523 #, scheme-format msgid "~a: invalid number~%" -msgstr "~a: ungültige Zahl~%" +msgstr "~a: Ungültige Zahl~%" -#: guix/ui.scm:392 +#: guix/ui.scm:540 #, scheme-format msgid "invalid number: ~a~%" msgstr "Ungültige Zahl: ~a~%" -#: guix/ui.scm:415 +#: guix/ui.scm:563 #, scheme-format msgid "unknown unit: ~a~%" msgstr "Unbekannte Einheit: ~a~%" -#: guix/ui.scm:432 +#: guix/ui.scm:578 #, scheme-format -msgid "~a:~a:~a: package `~a' has an invalid input: ~s~%" +msgid "" +"You cannot have two different versions\n" +"or variants of @code{~a} in the same profile." msgstr "" +"Sie können keine zwei verschiedenen Versionen\n" +"oder Varianten von @code{~a} im selben Profil haben." -#: guix/ui.scm:439 +#: guix/ui.scm:581 #, scheme-format -msgid "~a: ~a: build system `~a' does not support cross builds~%" +msgid "" +"Try upgrading both @code{~a} and @code{~a},\n" +"or remove one of them from the profile." msgstr "" +"Versuchen Sie, sowohl @code{~a} als auch @code{~a} zu aktualisieren,\n" +"oder entfernen Sie eines von beidem aus dem Profil." + +#: guix/ui.scm:600 +#, scheme-format +msgid "~a:~a:~a: package `~a' has an invalid input: ~s~%" +msgstr "~a:~a:~a: Paket »~a« hat eine ungültige Eingabe: ~s~%" + +#: guix/ui.scm:607 +#, scheme-format +msgid "~a: ~a: build system `~a' does not support cross builds~%" +msgstr "~a: ~a: Erstellungssystem »~a« unterstützt kein Cross-Erstellen~%" -#: guix/ui.scm:444 +#: guix/ui.scm:613 +#, scheme-format +msgid "~s: invalid G-expression input~%" +msgstr "~s: Ungültige Eingabe eines G-Ausdrucks~%" + +#: guix/ui.scm:616 #, scheme-format msgid "profile '~a' does not exist~%" msgstr "Profil »~a« existiert nicht~%" -#: guix/ui.scm:447 +#: guix/ui.scm:619 #, scheme-format msgid "generation ~a of profile '~a' does not exist~%" msgstr "Generation ~a des Profils »~a« existiert nicht~%" -#: guix/ui.scm:454 +#: guix/ui.scm:628 +#, scheme-format +msgid " ... propagated from ~a@~a~%" +msgstr " … propagatiert von ~a@~a~%" + +#: guix/ui.scm:638 +#, scheme-format +msgid "profile contains conflicting entries for ~a~a~%" +msgstr "Profil enthält im Konflikt stehende Einträge für ~a~a~%" + +#: guix/ui.scm:641 +#, scheme-format +msgid " first entry: ~a@~a~a ~a~%" +msgstr " erster Eintrag: ~a@~a~a ~a~%" + +#: guix/ui.scm:647 +#, scheme-format +msgid " second entry: ~a@~a~a ~a~%" +msgstr " zweiter Eintrag: ~a@~a~a ~a~%" + +#: guix/ui.scm:659 #, scheme-format msgid "corrupt input while restoring '~a' from ~s~%" msgstr "Beschädigte Eingabe, während »~a« aus »~s« wiederhergestellt wurde~%" -#: guix/ui.scm:456 +#: guix/ui.scm:661 #, scheme-format msgid "corrupt input while restoring archive from ~s~%" msgstr "Beschädigte Eingabe, während das Archiv aus »~s« wiederhergestellt wurde~%" -#: guix/ui.scm:459 +#: guix/ui.scm:664 #, scheme-format msgid "failed to connect to `~a': ~a~%" msgstr "Verbindung zu »~a« fehlgeschlagen: ~a~%" -#: guix/ui.scm:464 +#: guix/ui.scm:669 #, scheme-format msgid "build failed: ~a~%" msgstr "Erstellung fehlgeschlagen: ~a~%" -#: guix/ui.scm:467 +#: guix/ui.scm:672 #, scheme-format msgid "reference to invalid output '~a' of derivation '~a'~%" -msgstr "" +msgstr "Referenz auf ungültige Ausgabe »~a« der Ableitung »~a«~%" -#: guix/ui.scm:471 +#: guix/ui.scm:676 #, scheme-format msgid "file '~a' could not be found in these directories:~{ ~a~}~%" msgstr "Datei »~a« konnte in diesen Verzeichnissen nicht gefunden werden:~{ ~a~}~%" -#: guix/ui.scm:483 +#: guix/ui.scm:681 +#, scheme-format +msgid "program exited~@[ with non-zero exit status ~a~]~@[ terminated by signal ~a~]~@[ stopped by signal ~a~]: ~s~%" +msgstr "Programm wurde~@[ mit Exit-Status ~a ungleich null~] beendet~@[ durch Signal ~a~]~@[, angehalten durch Signal ~a~]: ~s~%" + +#: guix/ui.scm:712 #, scheme-format msgid "~a: ~a~%" msgstr "~a: ~a~%" -#: guix/ui.scm:518 +#: guix/ui.scm:747 #, scheme-format msgid "failed to read expression ~s: ~s~%" msgstr "Ausdruck ~s konnte nicht gelesen werden: ~s~%" -#: guix/ui.scm:524 +#: guix/ui.scm:753 #, scheme-format msgid "failed to evaluate expression '~a':~%" msgstr "Ausdruck »~a« kann nicht ausgewertet werden:~%" -#: guix/ui.scm:527 +#: guix/ui.scm:756 #, scheme-format msgid "syntax error: ~a~%" msgstr "Syntaxfehler: ~a~%" -#: guix/ui.scm:541 +#: guix/ui.scm:774 #, scheme-format msgid "expression ~s does not evaluate to a package~%" msgstr "Ausdruck ~s ergibt kein Paket~%" -#: guix/ui.scm:603 +#: guix/ui.scm:793 +msgid "at least ~,1h MB needed but only ~,1h MB available in ~a~%" +msgstr "Mindestens ~,1h MB werden gebraucht, aber nur ~,1h MB sind verfügbar in ~a~%" + +#: guix/ui.scm:861 #, 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] "~:[Folgende Ableitung würde erstellt:~%~{ ~a~%~}~;~]" +msgstr[1] "~:[Folgende Ableitungen würden erstellt:~%~{ ~a~%~}~;~]" + +#. TRANSLATORS: "MB" is for "megabyte"; it should be +#. translated to the corresponding abbreviation. +#: guix/ui.scm:869 +msgid "~:[~,1h MB would be downloaded:~%~{ ~a~%~}~;~]" +msgstr "~:[~,1h MB würden heruntergeladen:~%~{ ~a~%~}~;~]" -#: guix/ui.scm:608 +#: guix/ui.scm:874 #, 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] "~:[Folgende Datei würde heruntergeladen:~%~{ ~a~%~}~;~]" +msgstr[1] "~:[Folgende Dateien würden heruntergeladen:~%~{ ~a~%~}~;~]" -#: guix/ui.scm:614 +#: guix/ui.scm:881 #, 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] "~:[Folgende Ableitung wird erstellt:~%~{ ~a~%~}~;~]" +msgstr[1] "~:[Folgende Ableitungen werden erstellt:~%~{ ~a~%~}~;~]" -#: guix/ui.scm:619 +#. TRANSLATORS: "MB" is for "megabyte"; it should be +#. translated to the corresponding abbreviation. +#: guix/ui.scm:889 +msgid "~:[~,1h MB will be downloaded:~%~{ ~a~%~}~;~]" +msgstr "~:[~,1h MB werden heruntergeladen:~%~{ ~a~%~}~;~]" + +#: guix/ui.scm:894 #, scheme-format msgid "~:[The following file will be downloaded:~%~{ ~a~%~}~;~]" msgid_plural "~:[The following files will be downloaded:~%~{ ~a~%~}~;~]" msgstr[0] "~:[Die folgende Datei wird heruntergeladen:~%~{ ~a~%~}~;~]" msgstr[1] "~:[Die folgenden Dateien werden heruntergeladen:~%~{ ~a~%~}~;~]" -#: guix/ui.scm:674 +#: guix/ui.scm:954 #, scheme-format msgid "The following package would be removed:~%~{~a~%~}~%" msgid_plural "The following packages would be removed:~%~{~a~%~}~%" -msgstr[0] "Das folgende Paket würde entfernt werden:~%~{~a~%~}~%" -msgstr[1] "Die folgenden Pakete würden entfernt werden:~%~{~a~%~}~%" +msgstr[0] "Das folgende Paket würde entfernt:~%~{~a~%~}~%" +msgstr[1] "Die folgenden Pakete würden entfernt:~%~{~a~%~}~%" -#: guix/ui.scm:679 +#: guix/ui.scm:959 #, scheme-format msgid "The following package will be removed:~%~{~a~%~}~%" msgid_plural "The following packages will be removed:~%~{~a~%~}~%" -msgstr[0] "Das folgende Paket würde entfernt werden:~%~{~a~%~}~%" -msgstr[1] "Die folgenden Pakete würden entfernt werden:~%~{~a~%~}~%" +msgstr[0] "Das folgende Paket wird entfernt:~%~{~a~%~}~%" +msgstr[1] "Die folgenden Pakete werden entfernt:~%~{~a~%~}~%" -#: guix/ui.scm:692 +#: guix/ui.scm:972 #, scheme-format msgid "The following package would be downgraded:~%~{~a~%~}~%" msgid_plural "The following packages would be downgraded:~%~{~a~%~}~%" -msgstr[0] "Die Version des folgenden Pakets würde heruntergestuft werden:~%~{~a~%~}~%" -msgstr[1] "Die Version der folgenden Pakete würde heruntergestuft werden:~%~{~a~%~}~%" +msgstr[0] "Die Version des folgenden Pakets würde heruntergestuft:~%~{~a~%~}~%" +msgstr[1] "Die Version der folgenden Pakete würde heruntergestuft:~%~{~a~%~}~%" -#: guix/ui.scm:697 +#: guix/ui.scm:977 #, scheme-format msgid "The following package will be downgraded:~%~{~a~%~}~%" msgid_plural "The following packages will be downgraded:~%~{~a~%~}~%" msgstr[0] "Die Version des folgenden Pakets wird heruntergestuft:~%~{~a~%~}~%" msgstr[1] "Die Version der folgenden Pakete wird heruntergestuft:~%~{~a~%~}~%" -#: guix/ui.scm:710 +#: guix/ui.scm:990 #, scheme-format msgid "The following package would be upgraded:~%~{~a~%~}~%" msgid_plural "The following packages would be upgraded:~%~{~a~%~}~%" -msgstr[0] "Das folgende Paket würde aktualisiert werden:~%~{~a~%~}~%" -msgstr[1] "Die folgenden Pakete würden aktualisiert werden:~%~{~a~%~}~%" +msgstr[0] "Das folgende Paket würde aktualisiert:~%~{~a~%~}~%" +msgstr[1] "Die folgenden Pakete würden aktualisiert:~%~{~a~%~}~%" -#: guix/ui.scm:715 +#: guix/ui.scm:995 #, scheme-format msgid "The following package will be upgraded:~%~{~a~%~}~%" msgid_plural "The following packages will be upgraded:~%~{~a~%~}~%" msgstr[0] "Das folgende Paket wird aktualisiert:~%~{~a~%~}~%" msgstr[1] "Die folgenden Pakete werden aktualisiert:~%~{~a~%~}~%" -#: guix/ui.scm:726 +#: guix/ui.scm:1006 #, scheme-format msgid "The following package would be installed:~%~{~a~%~}~%" msgid_plural "The following packages would be installed:~%~{~a~%~}~%" -msgstr[0] "Das folgende Paket würde installiert werden:~%~{~a~%~}~%" -msgstr[1] "Die folgenden Pakete würden installiert werden:~%~{~a~%~}~%" +msgstr[0] "Das folgende Paket würde installiert:~%~{~a~%~}~%" +msgstr[1] "Die folgenden Pakete würden installiert:~%~{~a~%~}~%" -#: guix/ui.scm:731 +#: guix/ui.scm:1011 #, scheme-format msgid "The following package will be installed:~%~{~a~%~}~%" msgid_plural "The following packages will be installed:~%~{~a~%~}~%" msgstr[0] "Das folgende Paket wird installiert:~%~{~a~%~}~%" msgstr[1] "Die folgenden Pakete werden installiert:~%~{~a~%~}~%" -#: guix/ui.scm:748 +#: guix/ui.scm:1028 msgid "" -msgstr "" - -#: guix/ui.scm:767 -#, scheme-format -msgid "failed to create configuration directory `~a': ~a~%" -msgstr "Konfigurationsverzeichnis »~a« konnte nicht angelegt werden: ~a~%" - -#: guix/ui.scm:890 guix/ui.scm:904 -msgid "unknown" -msgstr "unbekannt" +msgstr "" -#: guix/ui.scm:1062 +#: guix/ui.scm:1390 #, scheme-format msgid "Generation ~a\t~a" 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:1399 +#, scheme-format +msgid "~b ~d ~Y ~T" +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:1072 +#: guix/ui.scm:1405 #, scheme-format msgid "~a\t(current)~%" msgstr "~a\t(aktuell)~%" -#: guix/ui.scm:1089 +#: guix/ui.scm:1448 #, scheme-format msgid "switched from generation ~a to ~a~%" msgstr "Von Generation »~a« zu »~a« gewechselt~%" -#: guix/ui.scm:1105 +#: guix/ui.scm:1464 #, scheme-format msgid "deleting ~a~%" msgstr "~a wird gelöscht~%" -#: guix/ui.scm:1153 +#: guix/ui.scm:1495 #, scheme-format msgid "Try `guix --help' for more information.~%" msgstr "Rufen Sie »guix --help« auf, um weitere Informationen zu erhalten.~%" -#: guix/ui.scm:1180 +#: guix/ui.scm:1523 msgid "" "Usage: guix COMMAND ARGS...\n" "Run COMMAND with ARGS.\n" @@ -2355,209 +3558,257 @@ msgstr "" "Aufruf: guix BEFEHL ARGUMENTE …\n" "BEFEHL mit ARGUMENTEN ausführen.\n" -#: guix/ui.scm:1183 +#: guix/ui.scm:1526 msgid "COMMAND must be one of the sub-commands listed below:\n" msgstr "BEFEHL muss einer der unten aufgelisteten Unterbefehle sein:\n" -#: guix/ui.scm:1203 +#: guix/ui.scm:1546 #, scheme-format msgid "guix: ~a: command not found~%" msgstr "guix: ~a: Befehl nicht gefunden~%" -#: guix/ui.scm:1220 +#: guix/ui.scm:1576 #, scheme-format msgid "guix: missing command name~%" msgstr "guix: Befehlsname fehlt~%" -#: guix/ui.scm:1228 +#: guix/ui.scm:1584 #, scheme-format msgid "guix: unrecognized option '~a'~%" -msgstr "guix: nicht erkannte Option »~a«~%" +msgstr "guix: Nicht erkannte Option »~a«~%" -#: guix/http-client.scm:266 +#: guix/http-client.scm:117 #, scheme-format msgid "following redirection to `~a'...~%" msgstr "Weiterleitung zu »~a« wird gefolgt …~%" -#: guix/http-client.scm:275 -msgid "download failed" -msgstr "Herunterladen fehlgeschlagen" +#: guix/http-client.scm:129 +#, scheme-format +msgid "~a: HTTP download failed: ~a (~s)" +msgstr "~a: Herunterladen über HTTP fehlgeschlagen: ~a (~s)" -#: guix/nar.scm:155 +#: guix/nar.scm:156 msgid "signature is not a valid s-expression" msgstr "Signatur ist kein gültiger s-Ausdruck" -#: guix/nar.scm:164 +#: guix/nar.scm:165 msgid "invalid signature" msgstr "Ungültige Signatur" -#: guix/nar.scm:168 +#: guix/nar.scm:169 msgid "invalid hash" msgstr "Ungültige Prüfsumme" -#: guix/nar.scm:176 +#: guix/nar.scm:177 msgid "unauthorized public key" msgstr "Nicht autorisierter öffentlicher Schlüssel" -#: guix/nar.scm:181 +#: guix/nar.scm:182 msgid "corrupt signature data" msgstr "Signaturdaten beschädigt" -#: guix/nar.scm:201 +#: guix/nar.scm:202 msgid "corrupt file set archive" -msgstr "" +msgstr "Dateienarchiv beschädigt" -#: guix/nar.scm:211 +#: guix/nar.scm:212 #, scheme-format msgid "importing file or directory '~a'...~%" msgstr "Datei oder Verzeichnis »~a« wird importiert …~%" -#: guix/nar.scm:222 +#: guix/nar.scm:223 #, scheme-format msgid "found valid signature for '~a'~%" msgstr "Gültige Signatur für »~a« gefunden~%" -#: guix/nar.scm:229 +#: guix/nar.scm:230 msgid "imported file lacks a signature" msgstr "Der importierten Datei fehlt eine Signatur" -#: guix/nar.scm:268 +#: guix/nar.scm:269 msgid "invalid inter-file archive mark" -msgstr "" +msgstr "Ungültige Archiv-Markierung zwischen Dateien" -#: nix/nix-daemon/guix-daemon.cc:61 +#: nix/nix-daemon/guix-daemon.cc:66 msgid "guix-daemon -- perform derivation builds and store accesses" -msgstr "" +msgstr "guix-daemon — Ableitungserstellungen und Store-Zugriffe durchführen" -#: nix/nix-daemon/guix-daemon.cc:63 +#: 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 "Dieses Programm ist ein Dienst, der im Hintergrund laufen soll. Es führt über einen Unix-Socket gesendete Anfragen aus. Es greift auf den Store zu und erstellt von seinen Clients angeforderte Ableitungen." -#: nix/nix-daemon/guix-daemon.cc:87 +#: nix/nix-daemon/guix-daemon.cc:95 msgid "SYSTEM" msgstr "SYSTEM" -#: nix/nix-daemon/guix-daemon.cc:88 +#: nix/nix-daemon/guix-daemon.cc:96 msgid "assume SYSTEM as the current system type" msgstr "SYSTEM als aktuellen Systemtyp annehmen" -#: nix/nix-daemon/guix-daemon.cc:89 nix/nix-daemon/guix-daemon.cc:92 +#: nix/nix-daemon/guix-daemon.cc:97 nix/nix-daemon/guix-daemon.cc:100 msgid "N" msgstr "N" -#: nix/nix-daemon/guix-daemon.cc:90 +#: nix/nix-daemon/guix-daemon.cc:98 msgid "use N CPU cores to build each derivation; 0 means as many as available" -msgstr "" +msgstr "N CPU-Kerne zum Erstellen jeder Ableitung benutzen; 0 heißt alle verfügbaren Kerne" -#: nix/nix-daemon/guix-daemon.cc:93 +#: nix/nix-daemon/guix-daemon.cc:101 msgid "allow at most N build jobs" -msgstr "" +msgstr "höchstens N Erstellungs-Jobs zulassen" -#: nix/nix-daemon/guix-daemon.cc:95 +#: nix/nix-daemon/guix-daemon.cc:102 nix/nix-daemon/guix-daemon.cc:104 +msgid "SECONDS" +msgstr "SEKUNDEN" + +#: nix/nix-daemon/guix-daemon.cc:103 +msgid "mark builds as failed after SECONDS of activity" +msgstr "Erstellungen als Fehler markieren nach SEKUNDEN-langer Aktivität" + +#: nix/nix-daemon/guix-daemon.cc:105 +msgid "mark builds as failed after SECONDS of silence" +msgstr "Erstellungen als Fehler markieren nach SEKUNDEN-langer Stille" + +#: nix/nix-daemon/guix-daemon.cc:107 msgid "disable chroot builds" -msgstr "" +msgstr "chroot-Erstellungen deaktivieren" -#: nix/nix-daemon/guix-daemon.cc:96 +#: nix/nix-daemon/guix-daemon.cc:108 msgid "DIR" -msgstr "VERZ" +msgstr "VERZEICHNIS" -#: nix/nix-daemon/guix-daemon.cc:97 +#: nix/nix-daemon/guix-daemon.cc:109 msgid "add DIR to the build chroot" -msgstr "" +msgstr "VERZEICHNIS zum Erstellungs-chroot hinzufügen" -#: nix/nix-daemon/guix-daemon.cc:98 +#: nix/nix-daemon/guix-daemon.cc:110 msgid "GROUP" msgstr "GRUPPE" -#: nix/nix-daemon/guix-daemon.cc:99 +#: nix/nix-daemon/guix-daemon.cc:111 msgid "perform builds as a user of GROUP" -msgstr "" +msgstr "Erstellungen als ein Nutzer der GRUPPE durchführen" -#: nix/nix-daemon/guix-daemon.cc:101 +#: nix/nix-daemon/guix-daemon.cc:113 msgid "do not use substitutes" -msgstr "" +msgstr "keine Substitute benutzen" -#: nix/nix-daemon/guix-daemon.cc:102 +#: nix/nix-daemon/guix-daemon.cc:114 msgid "URLS" msgstr "URLS" -#: nix/nix-daemon/guix-daemon.cc:103 +#: nix/nix-daemon/guix-daemon.cc:115 msgid "use URLS as the default list of substitute providers" -msgstr "" +msgstr "URLS als die vorgegebene Liste von Substitutsanbietern nutzen" -#: nix/nix-daemon/guix-daemon.cc:105 +#: nix/nix-daemon/guix-daemon.cc:117 msgid "do not use the 'build hook'" -msgstr "" +msgstr "den »build hook« nicht benutzen" -#: nix/nix-daemon/guix-daemon.cc:107 +#: nix/nix-daemon/guix-daemon.cc:119 msgid "cache build failures" -msgstr "" +msgstr "Erstellungsfehler zwischenspeichern" -#: nix/nix-daemon/guix-daemon.cc:109 +#: nix/nix-daemon/guix-daemon.cc:121 msgid "build each derivation N times in a row" -msgstr "" +msgstr "jede Ableitung N-mal hintereinander erstellen" -#: nix/nix-daemon/guix-daemon.cc:111 +#: nix/nix-daemon/guix-daemon.cc:123 msgid "do not keep build logs" msgstr "Erstellungsprotokolle nicht behalten" -#: nix/nix-daemon/guix-daemon.cc:113 +#: nix/nix-daemon/guix-daemon.cc:126 msgid "disable compression of the build logs" msgstr "Erstellungsprotokolle nicht komprimieren" -#: nix/nix-daemon/guix-daemon.cc:118 +#: nix/nix-daemon/guix-daemon.cc:128 +msgid "use the specified compression type for build logs" +msgstr "die angegebene Kompressionsmethode für Erstellungsprotokolle verwenden" + +#: nix/nix-daemon/guix-daemon.cc:133 msgid "disable automatic file \"deduplication\" in the store" -msgstr "" +msgstr "automatische Dateien-»Deduplizierung« im Store deaktivieren" -#: nix/nix-daemon/guix-daemon.cc:128 +#: nix/nix-daemon/guix-daemon.cc:143 msgid "impersonate Linux 2.6" -msgstr "" +msgstr "vorgeben, Linux 2.6 zu benutzen" -#: nix/nix-daemon/guix-daemon.cc:132 +#: nix/nix-daemon/guix-daemon.cc:147 msgid "tell whether the GC must keep outputs of live derivations" -msgstr "" +msgstr "ausgeben, ob der Müllsammler die Ausgaben lebendiger Ableitungen behalten muss" -#: nix/nix-daemon/guix-daemon.cc:135 +#: nix/nix-daemon/guix-daemon.cc:150 msgid "tell whether the GC must keep derivations corresponding to live outputs" -msgstr "" +msgstr "ausgeben, ob der Müllsammler die Ableitungen lebendiger Ausgaben behalten muss" -#: nix/nix-daemon/guix-daemon.cc:138 +#: nix/nix-daemon/guix-daemon.cc:153 msgid "SOCKET" msgstr "SOCKET" -#: nix/nix-daemon/guix-daemon.cc:139 +#: nix/nix-daemon/guix-daemon.cc:154 msgid "listen for connections on SOCKET" -msgstr "" +msgstr "auf Verbindungen an SOCKET lauschen" -#: nix/nix-daemon/guix-daemon.cc:141 +#: nix/nix-daemon/guix-daemon.cc:156 msgid "produce debugging output" -msgstr "" +msgstr "Debug-Ausgabe zur Fehlersuche erzeugen" -#: nix/nix-daemon/guix-daemon.cc:201 -#, c-format -msgid "error: %s: invalid number of rounds\n" -msgstr "" +#~ msgid "unrecognized option: ~a~%" +#~ msgstr "Nicht erkannte Option: ~a~%" -#: nix/nix-daemon/guix-daemon.cc:220 nix/nix-daemon/guix-daemon.cc:396 -#, c-format -msgid "error: %s\n" -msgstr "Fehler: %s\n" +#~ msgid "tarball did not produce a single source directory" +#~ msgstr "Entpacken des Tar-Archiv erzeugte kein einzelnes Quellverzeichnis" -#: nix/nix-daemon/guix-daemon.cc:281 -#, c-format -msgid "error: libgcrypt version mismatch\n" -msgstr "Fehler: libgcrypt-Version passt nicht\n" +#~ msgid "failed to unpack source code" +#~ msgstr "Quellcode konnte nicht entpackt werden" -#: nix/nix-daemon/guix-daemon.cc:372 -#, c-format -msgid "warning: daemon is running as root, so using `--build-users-group' is highly recommended\n" -msgstr "" +#~ msgid "Guix already up to date\n" +#~ msgstr "Guix ist bereits aktuell\n" + +#~ msgid "failed to update Guix, check the build log~%" +#~ msgstr "Guix konnte nicht aktualisiert werden, schauen Sie in das Build-Protokoll~%" + +#~ msgid "~A: unexpected argument~%" +#~ msgstr "~A: unerwartetes Argument~%" + +#~ msgid "failed to download up-to-date source, exiting\n" +#~ msgstr "Aktueller Quellcode konnte nicht heruntergeladen werden, Abbruch\n" + +#, fuzzy +#~| msgid "found valid signature for '~a'~%" +#~ msgid "~%Found valid signature for ~a~%" +#~ msgstr "Gültige Signatur für »~a« gefunden~%" + +#, fuzzy +#~| msgid "~a~%" +#~ msgid "From ~a~%" +#~ msgstr "~a~%" + +#~ msgid "failed to install GRUB on device '~a'~%" +#~ msgstr "GRUB konnte nicht auf Gerät »~a« installiert werden~%" + +#, fuzzy +#~| msgid "failed to load '~a': ~a~%" +#~ msgid "failed to lookup NIST host: ~a~%" +#~ msgstr "»~a« konnte nicht geladen werden: ~a~%" + +#~ msgid " ~50a: unavailable~%" +#~ msgstr " ~50a: nicht verfügbar~%" + +#~ msgid "gz" +#~ msgstr "gz" + +#~ msgid "failed to create configuration directory `~a': ~a~%" +#~ msgstr "Konfigurationsverzeichnis »~a« konnte nicht angelegt werden: ~a~%" + +#~ msgid "download failed" +#~ msgstr "Herunterladen fehlgeschlagen" -#~ msgid "looking for the latest release of GNU ~a..." -#~ msgstr "Nach der letzten Veröffentlichung von GNU ~a wird gesucht …" +#~ msgid "error: %s\n" +#~ msgstr "Fehler: %s\n" -#~ msgid "~a: package not found~%" -#~ msgstr "~a: Paket nicht gefunden~%" +#~ msgid "error: libgcrypt version mismatch\n" +#~ msgstr "Fehler: libgcrypt-Version passt nicht\n" #~ msgid "too many arguments\n" #~ msgstr "Zu wenige Argumente\n" -- cgit v1.2.3 From 36a8d5cdf40c3a760615eddc7f0d44c91369eb68 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 24 Aug 2018 16:27:19 -0400 Subject: gnu: OpenSSH: Update to 7.8p1. * gnu/packages/ssh.scm (openssh): Update to 7.8p1. [source]: Remove 'openssh-CVE-2018-15473.patch'. * gnu/packages/patches/openssh-CVE-2018-15473.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/patches/openssh-CVE-2018-15473.patch | 165 ---------------------- gnu/packages/ssh.scm | 5 +- 3 files changed, 2 insertions(+), 169 deletions(-) delete mode 100644 gnu/packages/patches/openssh-CVE-2018-15473.patch diff --git a/gnu/local.mk b/gnu/local.mk index 71f3583f88..60db25a60c 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -997,7 +997,6 @@ dist_patch_DATA = \ %D%/packages/patches/openldap-CVE-2017-9287.patch \ %D%/packages/patches/openocd-nrf52.patch \ %D%/packages/patches/opensmtpd-fix-crash.patch \ - %D%/packages/patches/openssh-CVE-2018-15473.patch \ %D%/packages/patches/openssl-runpath.patch \ %D%/packages/patches/openssl-1.0.2-CVE-2018-0495.patch \ %D%/packages/patches/openssl-1.0.2-CVE-2018-0732.patch \ diff --git a/gnu/packages/patches/openssh-CVE-2018-15473.patch b/gnu/packages/patches/openssh-CVE-2018-15473.patch deleted file mode 100644 index 26b2dc59c3..0000000000 --- a/gnu/packages/patches/openssh-CVE-2018-15473.patch +++ /dev/null @@ -1,165 +0,0 @@ -Fix CVE-2018-15473, a method by which remote clients can enumerate -usernames on the server: - -http://seclists.org/oss-sec/2018/q3/124 -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-15473 - -Patch adapted from upstream source repository: - -https://anongit.mindrot.org/openssh.git/commit/?id=74287f5df9966a0648b4a68417451dd18f079ab8 - -From 74287f5df9966a0648b4a68417451dd18f079ab8 Mon Sep 17 00:00:00 2001 -From: "djm@openbsd.org" -Date: Tue, 31 Jul 2018 03:10:27 +0000 -Subject: [PATCH] upstream: delay bailout for invalid authentic - -=?UTF-8?q?ating=20user=20until=20after=20the=20packet=20containing=20the?= -=?UTF-8?q?=20request=20has=20been=20fully=20parsed.=20Reported=20by=20Dar?= -=?UTF-8?q?iusz=20Tytko=20and=20Micha=C5=82=20Sajdak;=20ok=20deraadt?= -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -OpenBSD-Commit-ID: b4891882fbe413f230fe8ac8a37349b03bd0b70d ---- - auth2-gss.c | 11 +++++++---- - auth2-hostbased.c | 11 ++++++----- - auth2-pubkey.c | 25 +++++++++++++++---------- - 3 files changed, 28 insertions(+), 19 deletions(-) - -# Adapted from upstream to apply to OpenSSH 7.7p1. -diff --git a/auth2-gss.c b/auth2-gss.c -index 589283b7..1d7cfb39 100644 ---- a/auth2-gss.c -+++ b/auth2-gss.c -@@ -69,9 +69,6 @@ userauth_gssapi(struct ssh *ssh) - u_int len; - u_char *doid = NULL; - -- if (!authctxt->valid || authctxt->user == NULL) -- return (0); -- - mechs = packet_get_int(); - if (mechs == 0) { - debug("Mechanism negotiation is not supported"); -diff --git a/auth2-gss.c b/auth2-gss.c -index 47308c5c..9351e042 100644 ---- a/auth2-gss.c -+++ b/auth2-gss.c -@@ -106,6 +103,12 @@ userauth_gssapi(struct ssh *ssh) - return (0); - } - -+ if (!authctxt->valid || authctxt->user == NULL) { -+ debug2("%s: disabled because of invalid user", __func__); -+ free(doid); -+ return (0); -+ } -+ - if (GSS_ERROR(PRIVSEP(ssh_gssapi_server_ctx(&ctxt, &goid)))) { - if (ctxt != NULL) - ssh_gssapi_delete_ctx(&ctxt); -diff --git a/auth2-hostbased.c b/auth2-hostbased.c -index 60159a56..35939329 100644 ---- a/auth2-hostbased.c -+++ b/auth2-hostbased.c -@@ -67,10 +67,6 @@ userauth_hostbased(struct ssh *ssh) - size_t alen, blen, slen; - int r, pktype, authenticated = 0; - -- if (!authctxt->valid) { -- debug2("%s: disabled because of invalid user", __func__); -- return 0; -- } - /* XXX use sshkey_froms() */ - if ((r = sshpkt_get_cstring(ssh, &pkalg, &alen)) != 0 || - (r = sshpkt_get_string(ssh, &pkblob, &blen)) != 0 || -@@ -117,6 +113,11 @@ userauth_hostbased(struct ssh *ssh) - goto done; - } - -+ if (!authctxt->valid || authctxt->user == NULL) { -+ debug2("%s: disabled because of invalid user", __func__); -+ goto done; -+ } -+ - if ((b = sshbuf_new()) == NULL) - fatal("%s: sshbuf_new failed", __func__); - /* reconstruct packet */ -diff --git a/auth2-pubkey.c b/auth2-pubkey.c -index c4d0f790..e1c15040 100644 ---- a/auth2-pubkey.c -+++ b/auth2-pubkey.c -@@ -89,19 +89,15 @@ userauth_pubkey(struct ssh *ssh) - { - Authctxt *authctxt = ssh->authctxt; - struct passwd *pw = authctxt->pw; -- struct sshbuf *b; -+ struct sshbuf *b = NULL; - struct sshkey *key = NULL; -- char *pkalg, *userstyle = NULL, *key_s = NULL, *ca_s = NULL; -- u_char *pkblob, *sig, have_sig; -+ char *pkalg = NULL, *userstyle = NULL, *key_s = NULL, *ca_s = NULL; -+ u_char *pkblob = NULL, *sig = NULL, have_sig; - size_t blen, slen; - int r, pktype; - int authenticated = 0; - struct sshauthopt *authopts = NULL; - -- if (!authctxt->valid) { -- debug2("%s: disabled because of invalid user", __func__); -- return 0; -- } - if ((r = sshpkt_get_u8(ssh, &have_sig)) != 0 || - (r = sshpkt_get_cstring(ssh, &pkalg, NULL)) != 0 || - (r = sshpkt_get_string(ssh, &pkblob, &blen)) != 0) -@@ -167,6 +163,11 @@ userauth_pubkey(struct ssh *ssh) - fatal("%s: sshbuf_put_string session id: %s", - __func__, ssh_err(r)); - } -+ if (!authctxt->valid || authctxt->user == NULL) { -+ debug2("%s: disabled because of invalid user", -+ __func__); -+ goto done; -+ } - /* reconstruct packet */ - xasprintf(&userstyle, "%s%s%s", authctxt->user, - authctxt->style ? ":" : "", -@@ -183,7 +184,6 @@ userauth_pubkey(struct ssh *ssh) - #ifdef DEBUG_PK - sshbuf_dump(b, stderr); - #endif -- - /* test for correct signature */ - authenticated = 0; - if (PRIVSEP(user_key_allowed(ssh, pw, key, 1, &authopts)) && -@@ -194,7 +194,6 @@ userauth_pubkey(struct ssh *ssh) - authenticated = 1; - } - sshbuf_free(b); -- free(sig); - auth2_record_key(authctxt, authenticated, key); - } else { - debug("%s: test pkalg %s pkblob %s%s%s", -@@ -205,6 +204,11 @@ userauth_pubkey(struct ssh *ssh) - if ((r = sshpkt_get_end(ssh)) != 0) - fatal("%s: %s", __func__, ssh_err(r)); - -+ if (!authctxt->valid || authctxt->user == NULL) { -+ debug2("%s: disabled because of invalid user", -+ __func__); -+ goto done; -+ } - /* XXX fake reply and always send PK_OK ? */ - /* - * XXX this allows testing whether a user is allowed -@@ -238,6 +242,7 @@ done: - free(pkblob); - free(key_s); - free(ca_s); -+ free(sig); - return authenticated; - } - --- -2.18.0 diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index 0d9bd5a119..a58ebff481 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -148,15 +148,14 @@ a server that supports the SSH-2 protocol.") (define-public openssh (package (name "openssh") - (version "7.7p1") + (version "7.8p1") (source (origin (method url-fetch) (uri (string-append "mirror://openbsd/OpenSSH/portable/" name "-" version ".tar.gz")) - (patches (search-patches "openssh-CVE-2018-15473.patch")) (sha256 (base32 - "13vbbrvj3mmfhj83qyrg5c0ipr6bzw5s65dy4k8gr7p9hkkfffyp")))) + "1jj4f586r9lhakp2w0zv7j616d6x62m15q8l4nxq7haja6qlnj0s")))) (build-system gnu-build-system) (native-inputs `(("groff" ,groff))) (inputs `(("openssl" ,openssl) -- cgit v1.2.3 From 7789bf953133e7537947989c0ad541ffc3fb7c03 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Sat, 25 Aug 2018 16:34:43 +0800 Subject: gnu: dante: Disable preloading to make 'sockd' work. * gnu/packages/networking.scm (dante)[arguments]: Pass '--disable-preload' to #:configure-flags. --- gnu/packages/networking.scm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 16da879c3f..95cdd5c513 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -2191,6 +2191,11 @@ and check if the WLAN key or the master key was transmitted unencrypted.") (base32 "19rqzj167q73ag20zxpvswhkk0bj56r5maf83v5016sw7vrcz5sc")))) (build-system gnu-build-system) + (arguments + ;; XXX: The dynamic socks library doesn't work with 'libc.so' (GNU ld + ;; script). When preloading is enabled, 'sockd' failed with: + ;; … Failed to open library "libc.so": …: invalid ELF header + '(#:configure-flags '("--disable-preload"))) (home-page "https://www.inet.no/dante/") (synopsis "SOCKS server and client") (description "Dante is a SOCKS client and server implementation. It can -- cgit v1.2.3 From 94e9d750a22e30459732d2ae14d71c5f3acabd91 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 23 Aug 2018 16:56:02 +0200 Subject: gnu: libx11: Replace with 1.6.6 [security fixes]. This fixes CVE-2018-14599, CVE-2018-14600, and CVE-2018-14598. * gnu/packages/xorg.scm (libx11)[replacement]: New field. (libx11-1.6.6): New public variable. --- gnu/packages/xorg.scm | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 0a78b8ee70..3875765d25 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5239,6 +5239,7 @@ draggable titlebars and borders.") (package (name "libx11") (version "1.6.5") + (replacement libx11-1.6.6) (source (origin (method url-fetch) @@ -5268,6 +5269,20 @@ draggable titlebars and borders.") (description "Xorg Core X11 protocol client library.") (license license:x11))) +;; Replacement package to fix multiple security bugs: +;; . +(define-public libx11-1.6.6 + (package + (inherit libx11) + (version "1.6.6") + (source (origin + (method url-fetch) + (uri (string-append "mirror://xorg/individual/lib/libX11-" + version ".tar.bz2")) + (sha256 + (base32 + "0ks1mxlda7nxfmffihi15ljsn50q8dknl33i2xag8xzc80fiizk5")))))) + ;; packages of height 5 in the propagated-inputs tree (define-public libxcursor -- cgit v1.2.3