From 17e1e21603e7cba622cf4ec41c0e1467972fd449 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 7 Dec 2017 16:15:38 -0600 Subject: [PATCH 001/185] gnu: glog: Disable signal-handler unit tests. * gnu/packages/logging.scm (glog)[arguments]: Add 'disable-signal-tests' phase. --- gnu/packages/logging.scm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gnu/packages/logging.scm b/gnu/packages/logging.scm index 6f9056d8f2..713435c6a7 100644 --- a/gnu/packages/logging.scm +++ b/gnu/packages/logging.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2016 Ricardo Wurmus ;;; Copyright © 2016, 2017 Ludovic Courtès ;;; Copyright © 2017 Stefan Reichör +;;; Copyright © 2017 Eric Bavier ;;; ;;; This file is part of GNU Guix. ;;; @@ -84,7 +85,14 @@ staying as close to their API as is reasonable.") ;; mismatch, so run the whole thing. (delete-file "test-driver") (delete-file "configure") ;it's read-only - (zero? (system* "autoreconf" "-vfi"))))))) + (zero? (system* "autoreconf" "-vfi")))) + (add-before 'check 'disable-signal-tests + (lambda _ + ;; See e.g. https://github.com/google/glog/issues/219 + ;; and https://github.com/google/glog/issues/256 + (substitute* "Makefile" + (("\tsignalhandler_unittest_sh") "\t$(EMPTY)")) + #t))))) (synopsis "C++ logging library") (description "Google glog is a library that implements application-level logging. From 007c75f56fc48b031c1383c98b6bbb3c1e3c30ad Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 14 Dec 2017 17:03:58 -0600 Subject: [PATCH 002/185] gnu: ao-cad: Update and fix for aarch64. * gnu/packages/patches/ao-cad-aarch64-support.patch: New patch. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/engineering.scm (ao-cad)[source]: Use it. Update snapshot to fb288c9. Use VCS helpers for version and file-name. [arguments]: Add 'remove-native-compilation' phase. --- gnu/local.mk | 1 + gnu/packages/engineering.scm | 22 ++++++++++--------- .../patches/ao-cad-aarch64-support.patch | 18 +++++++++++++++ 3 files changed, 31 insertions(+), 10 deletions(-) create mode 100644 gnu/packages/patches/ao-cad-aarch64-support.patch diff --git a/gnu/local.mk b/gnu/local.mk index 6f540731e2..e9ee25e4a8 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -539,6 +539,7 @@ dist_patch_DATA = \ %D%/packages/patches/agg-am_c_prototype.patch \ %D%/packages/patches/ansible-wrap-program-hack.patch \ %D%/packages/patches/antiword-CVE-2014-8123.patch \ + %D%/packages/patches/ao-cad-aarch64-support.patch \ %D%/packages/patches/apr-skip-getservbyname-test.patch \ %D%/packages/patches/aspell-default-dict-dir.patch \ %D%/packages/patches/ath9k-htc-firmware-binutils.patch \ diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 77b1386b53..61abd6058b 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -559,10 +559,11 @@ as well as pick-place files.") (license license:gpl2+))) (define-public ao - (let ((commit "0bc2354b8dcd1a82a0fd6647706b126045e52734")) + (let ((commit "fb288c945aa7e30d9be10a564edad7e1b6a6c1ae") + (revision "1")) (package (name "ao-cad") ;XXX: really "ao", but it collides with libao - (version (string-append "0." (string-take commit 7))) + (version (git-version "0" revision commit)) (source (origin (method git-fetch) (uri (git-reference @@ -570,8 +571,9 @@ as well as pick-place files.") (commit commit))) (sha256 (base32 - "0lm7iljklafs8dhlvaab2yhwx4xymrdjrqk9c5xvn59hlvbgl1j5")) - (file-name (string-append name "-" version "-checkout")) + "0syplfqiq7ng7md44yriq5cz41jp8q9z3pl2iwkkllds6p9ylyal")) + (file-name (git-file-name name version)) + (patches (search-patches "ao-cad-aarch64-support.patch")) (modules '((guix build utils))) (snippet ;; Remove bundled libraries: Eigen, glm, and catch. TODO: @@ -594,6 +596,10 @@ as well as pick-place files.") #:phases (modify-phases %standard-phases + (add-after 'unpack 'remove-native-compilation + (lambda _ + (substitute* "CMakeLists.txt" (("-march=native") "")) + #t)) (add-before 'build 'add-eigen-to-search-path (lambda* (#:key inputs #:allow-other-keys) ;; Allow things to find our own Eigen and Catch. @@ -615,16 +621,12 @@ as well as pick-place files.") (with-directory-excursion ,(string-append "../" name "-" version "-checkout") - (substitute* "bind/guile/ao/bind.scm" + (substitute* "bind/guile/ao/sys/libao.scm" (("\\(define libao \\(dynamic-link .*$") (string-append "(define libao (dynamic-link \"" out "/lib/libao\")) ;"))) - (for-each (lambda (file) - (install-file file - (string-append moddir - "/ao"))) - (find-files "bind/guile" "\\.scm$")) + (copy-recursively "bind/guile/ao" (string-append moddir "/ao")) (substitute* "bin/ao-guile" (("\\(add-to-load-path .*") diff --git a/gnu/packages/patches/ao-cad-aarch64-support.patch b/gnu/packages/patches/ao-cad-aarch64-support.patch new file mode 100644 index 0000000000..291369cd9b --- /dev/null +++ b/gnu/packages/patches/ao-cad-aarch64-support.patch @@ -0,0 +1,18 @@ +Support in ao-cad for aarch64. + +Submitted upstream at https://github.com/mkeeter/ao/issues/69 + +--- ao/ui/vendor/efsw/src/efsw/inotify-nosys.h.orig 2017-12-14 16:27:16.125871099 -0600 ++++ ao/ui/vendor/efsw/src/efsw/inotify-nosys.h 2017-12-14 16:26:39.786022981 -0600 +@@ -69,6 +69,11 @@ + # define __NR_inotify_add_watch (__NR_SYSCALL_BASE+317) + # define __NR_inotify_rm_watch (__NR_SYSCALL_BASE+318) + ++#elif defined (__aarch64__) ++# define __NR_inotify_init 1043 ++# define __NR_inotify_add_watch 27 ++# define __NR_inotify_rm_watch 28 ++ + #elif defined (__frv__) + # define __NR_inotify_init 291 + # define __NR_inotify_add_watch 292 From 42d6bffc2ff55406e75bf2f7096d4074c18cf382 Mon Sep 17 00:00:00 2001 From: Konrad Hinsen Date: Tue, 2 Jan 2018 20:04:53 +0100 Subject: [PATCH 003/185] gnu: Add python2-mmtk. * gnu/packages/python.scm (python2-mmtk): New public variable. --- gnu/packages/python.scm | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 3dde9af340..d64c9bf850 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -12249,3 +12249,44 @@ physical units, automatic derivatives, ...) whereas others are more domain-specific (e.g. netCDF and PDB support). The library is currently not actively maintained and works only with Python 2 and NumPy < 1.9.") (license license:cecill-c))) + +(define-public python2-mmtk + (package + (name "python2-mmtk") + (version "2.7.10") + (source + (origin + (method url-fetch) + (uri (string-append "https://bitbucket.org/khinsen/" + "mmtk/downloads/MMTK-" version ".tar.gz")) + (file-name (string-append "MMTK-" version ".tar.gz")) + (sha256 + (base32 + "1k4gsd50zja89dbzgy3aji7h4zpvbvdfrds7rxr3whqrsgcffnir")))) + (build-system python-build-system) + (native-inputs + `(("netcdf" ,netcdf))) + (propagated-inputs + `(("python-scientific" ,python2-scientific) + ("python-tkinter" ,python-2 "tk"))) + (arguments + `(#:python ,python-2 + #:tests? #f + #:phases + (modify-phases %standard-phases + (add-before 'build 'includes-from-scientific + (lambda* (#:key inputs #:allow-other-keys) + (mkdir-p "Include/Scientific") + (copy-recursively + (string-append + (assoc-ref inputs "python-scientific") + "/include/python2.7/Scientific") + "Include/Scientific")))))) + (home-page "http://dirac.cnrs-orleans.fr/MMTK") + (synopsis "Python library for molecular simulation") + (description "MMTK is a library for molecular simulations with an emphasis +on biomolecules. It provides widely used methods such as Molecular Dynamics +and normal mode analysis, but also basic routines for implementing new methods +for simulation and analysis. The library is currently not actively maintained +and works only with Python 2 and NumPy < 1.9.") + (license license:cecill-c))) From 0943ec4f7fa5d2850294a95e2d9d906e1c8d8dbf Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 5 Jan 2018 05:03:46 +0000 Subject: [PATCH 004/185] gnu: libfileziila: Update to 0.11.2. * gnu/packages/ftp.scm (libfilezilla): Update to 0.11.2. --- gnu/packages/ftp.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/ftp.scm b/gnu/packages/ftp.scm index 9f4e4fc1c3..04abfef2cf 100644 --- a/gnu/packages/ftp.scm +++ b/gnu/packages/ftp.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2014, 2015 Ludovic Courtès ;;; Copyright © 2015 Andreas Enge ;;; Copyright © 2015 Mark H Weaver -;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice +;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2017 Rene Saavedra ;;; ;;; This file is part of GNU Guix. @@ -173,7 +173,7 @@ as required.") (define-public libfilezilla (package (name "libfilezilla") - (version "0.11.1") + (version "0.11.2") (source (origin (method url-fetch) @@ -181,7 +181,7 @@ as required.") name "/" name "-" version ".tar.bz2")) (sha256 (base32 - "1xv4is3zaz66h6iblj9pikapsjasjcbxx31bhkgn62xdq1sadfpc")))) + "0wl42yxrha633dbh1vcbhrpsd7sv4zwskbmlpx549ygnzi39krcn")))) (build-system gnu-build-system) (native-inputs `(("cppunit" ,cppunit) From 7cace1862425808be41f9648575afc8115509b89 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 5 Jan 2018 04:09:15 +0000 Subject: [PATCH 005/185] gnu: libfilezilla: Expand description. In theory, this isn't just an FTP client library. In practice, it is. * gnu/packages/ftp.scm (libfilezilla)[description]: Illustrate features. --- gnu/packages/ftp.scm | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/gnu/packages/ftp.scm b/gnu/packages/ftp.scm index 04abfef2cf..08c6472975 100644 --- a/gnu/packages/ftp.scm +++ b/gnu/packages/ftp.scm @@ -190,7 +190,21 @@ as required.") (synopsis "Cross-platform C++ library used by Filezilla client") (description "This package provides some basic functionality to build high-performing, -platform-independent programs.") +platform-independent programs. + +Some of the highlights include: +@itemize +@item +A type-safe, multi-threaded event system that's simple to use yet efficient. +@item +Timers for periodic events. +@item +A @code{datetime} class that not only tracks timestamp but also their accuracy, +which simplifies dealing with timestamps originating from different sources. +@item +Simple process handling for spawning child processes with redirected input and +output. +@end itemize\n") (license gpl2+))) (define-public filezilla From e285bc899e21e1a643f5b69f7a4c4b7f23fbe7ff Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 5 Jan 2018 04:15:58 +0000 Subject: [PATCH 006/185] gnu: filezilla: Update to 3.29.0. * gnu/packages/ftp.scm (filezilla): Update to 3.29.0. --- gnu/packages/ftp.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ftp.scm b/gnu/packages/ftp.scm index 08c6472975..340489f7e5 100644 --- a/gnu/packages/ftp.scm +++ b/gnu/packages/ftp.scm @@ -210,7 +210,7 @@ output. (define-public filezilla (package (name "filezilla") - (version "3.27.1") + (version "3.29.0") (source (origin (method url-fetch) @@ -219,7 +219,7 @@ output. "/FileZilla_" version "_src" ".tar.bz2")) (sha256 (base32 - "14lsplbp9fy7lk6cpwi3aj6jskz4j82h67x0fik82z1bns0zm2a3")))) + "0najf2w6p5j4qc8jmglx6j63mph749s5p90lz2nkmwwwy5sfvlga")))) (build-system gnu-build-system) (arguments ;; Don't let filezilla phone home to check for updates. From d08be77afcac52c6be2bce3716ff4ac410c1c2ce Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 5 Jan 2018 10:14:21 +0000 Subject: [PATCH 007/185] gnu: hdparm: Update to 9.53. * gnu/packages/linux.scm (hdparm): Update to 9.53. [description]: Fix @dfn{}. --- gnu/packages/linux.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 116112eba7..a11a0a039a 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer ;;; Copyright © 2015, 2016, 2017 Efraim Flashner ;;; Copyright © 2016 Christopher Allan Webber -;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice +;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2016, 2017 Alex Kost ;;; Copyright © 2016 Raymond Nicholson ;;; Copyright © 2016 Mathieu Lirzin @@ -2576,14 +2576,14 @@ thanks to the use of namespaces.") (define-public hdparm (package (name "hdparm") - (version "9.52") + (version "9.53") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/" name "/" name "/" name "-" version ".tar.gz")) (sha256 (base32 - "1djgxhfadd865dcrl6dp7dvjxpaisy7mk17mbdbglwg24ga9qhn3")))) + "1rb5086gp4l1h1fn2nk10ziqxjxigsd0c1zczahwc5k9vy8zawr6")))) (build-system gnu-build-system) (arguments `(#:make-flags (let ((out (assoc-ref %outputs "out"))) @@ -2605,8 +2605,8 @@ performance benchmarking tool. @command{hdparm} provides a command line interface to various Linux kernel interfaces provided by the SATA/ATA/SAS @code{libata} subsystem, and the older -IDE driver subsystem. Many external USB drive enclosures with @dfn{SCSI-ATA -Command Translation} (SAT) are also supported.") +IDE driver subsystem. Many external USB drive enclosures with SCSI-ATA Command +Translation (@dfn{SAT}) are also supported.") (license (license:non-copyleft "file://LICENSE.TXT")))) (define-public rfkill From bc6ca5237a6fed32462c1404f215a3589a84eb54 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 5 Jan 2018 13:03:14 +0000 Subject: [PATCH 008/185] gnu: log4cpp: Update to 1.1.3. * gnu/packages/logging.scm (log4cpp): Update to 1.1.3. --- gnu/packages/logging.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/logging.scm b/gnu/packages/logging.scm index 713435c6a7..27557e1b1b 100644 --- a/gnu/packages/logging.scm +++ b/gnu/packages/logging.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2016, 2017 Ludovic Courtès ;;; Copyright © 2017 Stefan Reichör ;;; Copyright © 2017 Eric Bavier +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -37,7 +38,7 @@ (define-public log4cpp (package (name "log4cpp") - (version "1.1.1") + (version "1.1.3") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/log4cpp/log4cpp-" @@ -46,7 +47,7 @@ "/log4cpp-" version ".tar.gz")) (sha256 (base32 - "1l5yz5rfzzv6g3ynrj14mxfsk08cp5h1ssr7d74hjs0accrg7arm")))) + "07gmr3jyaf2239n9sp6h7hwdz1pv7b7aka8n06gmr2fnlmaymfrc")))) (build-system gnu-build-system) (synopsis "Log library for C++") (description From 8f25c2e438f0f3bd39ea26ebfa6dcda189f050ea Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 5 Jan 2018 13:38:33 -0500 Subject: [PATCH 009/185] gnu: python-click-threading: Update to 0.4.4. * gnu/packages/python.scm (python-click-threading): Update to 0.4.4. --- 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 d64c9bf850..79e2c1c672 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -6808,13 +6808,13 @@ for atomic file system operations.") (define-public python-click-threading (package (name "python-click-threading") - (version "0.4.3") + (version "0.4.4") (source (origin (method url-fetch) (uri (pypi-uri "click-threading" version)) (sha256 (base32 - "0xs4bg2ws0zgyiplk312l049hi23c2zqf1g771rjhh5vr2msk4cg")))) + "1rsxc2fbkxlhwhlmxsdjzq3spn284l6rvjfcz9mbb17ibgdgmc5j")))) (build-system python-build-system) (propagated-inputs `(("python-click" ,python-click))) From 8cbbea150d62b64fc041496b0a1b5b764c98d93c Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 5 Jan 2018 13:39:06 -0500 Subject: [PATCH 010/185] gnu: python-click-log: Update to 0.2.1. * gnu/packages/python.scm (python-click-log): Update to 0.2.1. --- 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 79e2c1c672..29fa2809ab 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -6827,13 +6827,13 @@ applications.") (define-public python-click-log (package (name "python-click-log") - (version "0.2.0") + (version "0.2.1") (source (origin (method url-fetch) (uri (pypi-uri "click-log" version)) (sha256 (base32 - "1bjrfxji1yv4fj0g78ri2yfgn2wbivn8g69fxfinxvxpmighhshp")))) + "1r1x85023cslb2pwldd089jjk573mk3w78cnashs77wrx7yz8fj9")))) (build-system python-build-system) (propagated-inputs `(("python-click" ,python-click))) From 78357403fbda51590bd826851f9539db4af0b812 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 5 Jan 2018 20:36:34 +0100 Subject: [PATCH 011/185] gnu: qjackrcd: Update to 1.2.2. * gnu/packages/audio.scm (qjackrcd): Update to 1.2.2. [source]: Fetch sources from git. --- gnu/packages/audio.scm | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 6851827924..5f85540575 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus +;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer ;;; Copyright © 2015 Andreas Enge ;;; Copyright © 2015 Alex Kost @@ -1987,14 +1987,15 @@ into various outputs and to start, stop and configure jackd") (define-public qjackrcd (package (name "qjackrcd") - (version "1.2.0") + (version "1.2.2") (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/qjackrcd/stable/" - "qjackrcd-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/orouits/qjackrcd.git") + (commit (string-append "v" version)))) (sha256 (base32 - "0xpnhzbwg5c60n5dhwln5p7qm191nvmf23la88zxfqx1jv0mmxxb")))) + "1l5iq2mkqd4gn9yr8xbh9qlpp1clcflazychl4vhdbz0bzq4c6al")))) (build-system gnu-build-system) (arguments `(#:phases From a7a8590bdca66bff4e40a89097c3f94d1209cfb1 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 5 Jan 2018 19:32:15 +0000 Subject: [PATCH 012/185] gnu: btrfs-progs: Update to 4.14.1. * gnu/packages/linux.scm (btrfs-progs): Update to 4.14.1. --- 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 a11a0a039a..eab9ac067b 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -3174,7 +3174,7 @@ and copy/paste text in the console and in xterm.") (define-public btrfs-progs (package (name "btrfs-progs") - (version "4.14") + (version "4.14.1") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/linux/kernel/" @@ -3182,7 +3182,7 @@ and copy/paste text in the console and in xterm.") "btrfs-progs-v" version ".tar.xz")) (sha256 (base32 - "1bwirg6hz6gyfj5r3xkj4lfwadvl9pxlccf916fsmdn27fy5q289")))) + "1palnddw3d50kyflwk1j4xapbc6jniid6j5i9dsr8l8a7nkv7ich")))) (build-system gnu-build-system) (outputs '("out" "static")) ; static versions of the binaries in "out" From 73114e30cb46182f3dbc56cd6e142f3af19a12c3 Mon Sep 17 00:00:00 2001 From: Konrad Hinsen Date: Fri, 5 Jan 2018 17:06:22 +0100 Subject: [PATCH 013/185] gnu: Add domainfinder. * gnu/packages/chemistry.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. Signed-off-by: Leo Famulari --- gnu/local.mk | 1 + gnu/packages/chemistry.scm | 53 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 gnu/packages/chemistry.scm diff --git a/gnu/local.mk b/gnu/local.mk index e9ee25e4a8..679c119a5f 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -87,6 +87,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/cdrom.scm \ %D%/packages/certs.scm \ %D%/packages/check.scm \ + %D%/packages/chemistry.scm \ %D%/packages/chez.scm \ %D%/packages/ci.scm \ %D%/packages/cinnamon.scm \ diff --git a/gnu/packages/chemistry.scm b/gnu/packages/chemistry.scm new file mode 100644 index 0000000000..0cd1585e92 --- /dev/null +++ b/gnu/packages/chemistry.scm @@ -0,0 +1,53 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2018 Konrad Hinsen +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages chemistry) + #:use-module (guix packages) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix download) + #:use-module (gnu packages python) + #:use-module (guix build-system python)) + +(define-public domainfinder + (package + (name "domainfinder") + (version "2.0.5") + (source + (origin + (method url-fetch) + (uri (string-append "https://bitbucket.org/khinsen/" + "domainfinder/downloads/DomainFinder-" + version ".tar.gz")) + (sha256 + (base32 + "1z26lsyf7xwnzwjvimmbla7ckipx6p734w7y0jk2a2fzci8fkdcr")))) + (build-system python-build-system) + (inputs + `(("python-mmtk" ,python2-mmtk))) + (arguments + `(#:python ,python-2 + ;; No test suite + #:tests? #f)) + (home-page "http://dirac.cnrs-orleans.fr/DomainFinder") + (synopsis "Analysis of dynamical domains in proteins") + (description "DomainFinder is an interactive program for the determination +and characterization of dynamical domains in proteins. It can infer dynamical +domains by comparing two protein structures, or from normal mode analysis on a +single structure. The software is currently not actively maintained and works +only with Python 2 and NumPy < 1.9.") + (license license:cecill-c))) From f250a868d8c687df08559682fa68fb4ea2a1ea69 Mon Sep 17 00:00:00 2001 From: Konrad Hinsen Date: Fri, 5 Jan 2018 17:14:24 +0100 Subject: [PATCH 014/185] gnu: Add nmoldyn. * gnu/packages/chemistry.scm (nmoldyn): New variable. Signed-off-by: Leo Famulari --- gnu/packages/chemistry.scm | 66 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/gnu/packages/chemistry.scm b/gnu/packages/chemistry.scm index 0cd1585e92..ed883072b4 100644 --- a/gnu/packages/chemistry.scm +++ b/gnu/packages/chemistry.scm @@ -20,6 +20,8 @@ #:use-module (guix packages) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix download) + #:use-module (gnu packages gv) + #:use-module (gnu packages maths) #:use-module (gnu packages python) #:use-module (guix build-system python)) @@ -51,3 +53,67 @@ domains by comparing two protein structures, or from normal mode analysis on a single structure. The software is currently not actively maintained and works only with Python 2 and NumPy < 1.9.") (license license:cecill-c))) + +(define with-numpy-1.8 + (package-input-rewriting `((,python2-numpy . ,python2-numpy-1.8)))) + +(define-public nmoldyn + (package + (name "nmoldyn") + (version "3.0.11") + (source + (origin + (method url-fetch) + (uri (string-append "https://bitbucket.org/khinsen/" + "nmoldyn3/downloads/nMOLDYN-" + version ".tar.gz")) + (sha256 + (base32 + "1mvmz3lkr217kdrd8cvdr1d82y58wp1403c9rnd943mijgq8xb5a")))) + (build-system python-build-system) + (inputs + `(("python-matplotlib" ,(with-numpy-1.8 python2-matplotlib)) + ("python-scientific", python2-scientific) + ("netcdf", netcdf) + ("gv" ,gv))) + (propagated-inputs + `(("python-mmtk" ,python2-mmtk))) + (arguments + `(#:python ,python-2 + #:tests? #f ; No test suite + #:phases + (modify-phases %standard-phases + (add-before 'build 'create-linux2-directory + (lambda _ + (mkdir-p "nMOLDYN/linux2"))) + (add-before 'build 'change-PDF-viewer + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "nMOLDYN/Preferences.py" + ;; Set the paths for external executables, substituting + ;; gv for acroread. + ;; There is also vmd_path, but VMD is not free software + ;; and Guix contains currently no free molecular viewer that + ;; could be substituted. + (("PREFERENCES\\['acroread_path'\\] = ''") + (format "PREFERENCES['acroread_path'] = '~a'" + (which "gv"))) + (("PREFERENCES\\['ncdump_path'\\] = ''") + (format "PREFERENCES['ncdump_path'] = '~a'" + (which "ncdump"))) + (("PREFERENCES\\['ncgen_path'\\] = ''") + (format "PREFERENCES['ncgen_path'] = '~a'" + (which "ncgen3"))) + (("PREFERENCES\\['task_manager_path'\\] = ''") + (format "PREFERENCES['task_manager_path'] = '~a'" + (which "task_manager"))) + ;; Show documentation as PDF + (("PREFERENCES\\['documentation_style'\\] = 'html'") + "PREFERENCES['documentation_style'] = 'pdf'") )))))) + (home-page "http://dirac.cnrs-orleans.fr/nMOLDYN/") + (synopsis "Analysis software for Molecular Dynamics trajectories") + (description "nMOLDYN is an interactive analysis program for Molecular Dynamics +simulations. It is especially designed for the computation and decomposition of +neutron scattering spectra, but also computes other quantities. The software +is currently not actively maintained and works only with Python 2 and +NumPy < 1.9.") + (license license:cecill))) From e749ef2da554e89266f857d3129cff172ca89211 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 5 Jan 2018 21:17:02 +0100 Subject: [PATCH 015/185] gnu: samplv1: Update to 0.8.6. * gnu/packages/music.scm (samplv1): Update to 0.8.6. --- 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 5b8728e591..fe51444e47 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Eric Bavier -;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus +;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus ;;; Copyright © 2015 Paul van der Walt ;;; Copyright © 2016 Al McElrath ;;; Copyright © 2016, 2017 Efraim Flashner @@ -1335,7 +1335,7 @@ effects.") (define-public samplv1 (package (name "samplv1") - (version "0.8.5") + (version "0.8.6") (source (origin (method url-fetch) (uri @@ -1343,7 +1343,7 @@ effects.") "/samplv1-" version ".tar.gz")) (sha256 (base32 - "1gscwybsbaqbnylmgf2baf71cm2g7a0pd11rqmk3cz9hi3lyjric")))) + "035bq7yfg1yirsqk63zwkzjw9dxl52lrzq9y0w7nga0vb11xdfij")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; There are no tests. From 4a5c398622174e573983305ae4659dea4be7e9a9 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 5 Jan 2018 21:18:37 +0100 Subject: [PATCH 016/185] gnu: drumkv1: Update to 0.8.6. * gnu/packages/music.scm (drumkv1): Update to 0.8.6. --- 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 fe51444e47..0173b7fbfc 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -1300,7 +1300,7 @@ oscillators and stereo effects.") (define-public drumkv1 (package (name "drumkv1") - (version "0.8.5") + (version "0.8.6") (source (origin (method url-fetch) (uri @@ -1308,7 +1308,7 @@ oscillators and stereo effects.") "/drumkv1-" version ".tar.gz")) (sha256 (base32 - "06xqqm1ylmpp2s7xk7xav325gc50kxlvh9vf1343b0n3i8xkgjfg")))) + "0fwxrfyp15a4m77mzz4mwj36mhdrj646whlrkvcys33p2w75f8cq")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; There are no tests. From 49e41cd34b8b118bdf154bb43af058c9b2f33caa Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 5 Jan 2018 21:25:05 +0100 Subject: [PATCH 017/185] gnu: synthv1: Update to 0.8.6. * gnu/packages/music.scm (synthv1): Update to 0.8.6. --- 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 0173b7fbfc..1e04de27d9 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -1266,7 +1266,7 @@ users to select LV2 plugins and run them with jalv.") (define-public synthv1 (package (name "synthv1") - (version "0.8.5") + (version "0.8.6") (source (origin (method url-fetch) (uri @@ -1274,7 +1274,7 @@ users to select LV2 plugins and run them with jalv.") "/synthv1-" version ".tar.gz")) (sha256 (base32 - "0mvrqk6jy7h2wg442ixwm49w7x15rs4066c2ljrz4kvxlzp5z69i")))) + "141ah1gnv5r2k846v5ay15q9q90h01p74240a56vlxqh20z43g92")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; There are no tests. From 23f45dd390b87096cc93891469bc11cd1470ff1a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 5 Jan 2018 21:29:28 +0100 Subject: [PATCH 018/185] gnu: fluidsynth: Update to 1.1.9. * gnu/packages/audio.scm (fluidsynth): Update to 1.1.9. --- gnu/packages/audio.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 5f85540575..0e68485070 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -1028,7 +1028,7 @@ follower.") (define-public fluidsynth (package (name "fluidsynth") - (version "1.1.8") + (version "1.1.9") (source (origin (method git-fetch) (uri (git-reference @@ -1037,7 +1037,7 @@ follower.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "12q7hv0zvgylsdj1ipssv5zr7ap2y410dxsd63dz22y05fa2hwwd")))) + "0krvmb1idnf95l2ydzfcb08ayyx3n4m71hf9fgwv3srzaikvpf3q")))) (build-system cmake-build-system) (arguments '(#:tests? #f ; no check phase From 2702e12e2d29265a9b3d0c9ddbe301ce17d4eb3d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 5 Jan 2018 21:51:35 +0100 Subject: [PATCH 019/185] gnu: Add padthv1. * gnu/packages/music.scm (padthv1): New variable. --- gnu/packages/music.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 1e04de27d9..07ea96210d 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -1367,6 +1367,42 @@ effects.") effects.") (license license:gpl2+))) +(define-public padthv1 + (package + (name "padthv1") + (version "0.8.6") + (source (origin + (method url-fetch) + (uri + (string-append "mirror://sourceforge/padthv1/padthv1/" version + "/padthv1-" version ".tar.gz")) + (sha256 + (base32 + "1mikab2f9n5q1sfgnp3sbm1rf3v57k4085lsgh0a5gzga2h4hwxq")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; There are no tests. + #:configure-flags + '("CXXFLAGS=-std=gnu++11"))) + (inputs + `(("jack" ,jack-1) + ("lv2" ,lv2) + ("alsa-lib" ,alsa-lib) + ("non-session-manager" ,non-session-manager) + ("liblo" ,liblo) + ("fftw" ,fftw) + ("qtbase" ,qtbase))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("qttools" ,qttools))) + (home-page "http://padthv1.sourceforge.net") + (synopsis "Polyphonic additive synthesizer") + (description + "Padthv1 is an old-school polyphonic additive synthesizer with stereo +effects. Padthv1 is based on the PADsynth algorithm by Paul Nasca, as a +special variant of additive synthesis.") + (license license:gpl2+))) + (define-public amsynth (package (name "amsynth") From 0fe1752848f1622a2490475148a4e18b88210102 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 5 Jan 2018 23:25:08 +0100 Subject: [PATCH 020/185] gnu: qsynth: Update to 0.5.0. * gnu/packages/audio.scm (qsynth): Update to 0.5.0. --- gnu/packages/audio.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 0e68485070..e42a874e63 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -2599,7 +2599,7 @@ interface.") (define-public qsynth (package (name "qsynth") - (version "0.4.4") + (version "0.5.0") (source (origin (method url-fetch) @@ -2607,7 +2607,7 @@ interface.") "/qsynth-" version ".tar.gz")) (sha256 (base32 - "0qhfnikx3xcllkvs60kj6vcf2rwwzh31y41qkk6kwfhzgd219y8f")))) + "1sr6vrz8z9r99j9xcix86lgcqldragb2ajmq1bnhr58d99sda584")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no "check" phase From 54ea2d86dc466127d535865760b7d348064a81e2 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 5 Jan 2018 23:26:51 +0100 Subject: [PATCH 021/185] gnu: qjackctl: Update to 0.5.0. * gnu/packages/audio.scm (qjackctl): Update to 0.5.0. --- gnu/packages/audio.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index e42a874e63..20819e4b9a 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -1960,14 +1960,14 @@ and ALSA.") (define-public qjackctl (package (name "qjackctl") - (version "0.4.5") + (version "0.5.0") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/qjackctl/qjackctl/" version "/qjackctl-" version ".tar.gz")) (sha256 (base32 - "1dsavjfzz5bpzc80mvfs940w9f9f47cf4r9cqxnaqrl4xilsa3f5")))) + "0lx81dfwanc10vrny1vzi0wx73ph82dlz99ffjzsigj3cqzz6x4s")))) (build-system gnu-build-system) (arguments '(#:tests? #f)) ; no check target From c0c5feda4c38d6ba2189ec84b063dbfe0154794c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 5 Jan 2018 23:28:04 +0100 Subject: [PATCH 022/185] gnu: qjackctl: Add support for ALSA MIDI sequencer. * gnu/packages/audio.scm (qjackctl)[inputs]: Add alsa-lib. --- gnu/packages/audio.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 20819e4b9a..456c6a9dcc 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -1973,6 +1973,7 @@ and ALSA.") '(#:tests? #f)) ; no check target (inputs `(("jack" ,jack-1) + ("alsa-lib" ,alsa-lib) ("qtbase" ,qtbase) ("qtx11extras" ,qtx11extras))) (native-inputs From 6885745dc149131ac806458ef0c9a10f1b235c46 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Fri, 5 Jan 2018 14:49:13 -0500 Subject: [PATCH 023/185] gnu: stellarium: Update to 0.17.0. * gnu/packages/astronomy.scm (stellarium): Update to 0.17.0. [source]: Use new upstream URL. [arguments]: Adjust #:test-target; add #:configure-flags to locate the qtserialport header files and enable the building of tests; remove 'patch-tests' phase. --- gnu/packages/astronomy.scm | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index d21c093876..61197ccea3 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -117,15 +117,16 @@ programs for the manipulation and analysis of astronomical data.") (define-public stellarium (package (name "stellarium") - (version "0.16.0") + (version "0.17.0") (source (origin (method url-fetch) - (uri (string-append "mirror://sourceforge/stellarium/" - "Stellarium-sources/" - version "/stellarium-" version ".tar.gz")) + (uri (string-append "https://github.com/Stellarium/" name + "/releases/download/v" version + "/" name "-" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1krxj51lix096xbz64lys166a8zdwhill5vvs7dlxdn14amc8d98")))) + "0d6b3fs5aify7i1lwgkcickppnj73cbh24g8qschnfs3ypdf48fc")))) (build-system cmake-build-system) (inputs `(("qtbase" ,qtbase) @@ -140,19 +141,19 @@ programs for the manipulation and analysis of astronomical data.") ("qtbase" ,qtbase) ; Qt MOC is needed at compile time ("qttools" ,qttools))) (arguments - `(#:test-target "tests" - #:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-tests - (lambda _ - (substitute* "src/tests/testStelSphereGeometry.cpp" - (("Vec3d v[(]0[)]") "Vec3d v(0.0)")) - #t)) - (add-before 'check 'set-offscreen-display - (lambda _ - ;; make Qt render "offscreen", required for tests - (setenv "QT_QPA_PLATFORM" "offscreen") - (setenv "HOME" "/tmp") - #t))))) + `(#:test-target "test" + #:configure-flags (list "-DENABLE_TESTING=1" + (string-append + "-DCMAKE_CXX_FLAGS=-isystem " + (assoc-ref %build-inputs "qtserialport") + "/include/qt5")) + #:phases (modify-phases %standard-phases + (add-before 'check 'set-offscreen-display + (lambda _ + ;; make Qt render "offscreen", required for tests + (setenv "QT_QPA_PLATFORM" "offscreen") + (setenv "HOME" "/tmp") + #t))))) (home-page "http://www.stellarium.org/") (synopsis "3D sky viewer") (description "Stellarium is a planetarium. It shows a realistic sky in From 630437d94eeeae52586ab2362aa4273e0424cdf3 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sat, 6 Jan 2018 00:37:31 -0500 Subject: [PATCH 024/185] gnu: linux-libre@4.4: Update to 4.4.110. * gnu/packages/linux.scm (linux-libre-4.4): Update to 4.4.110. --- 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 eab9ac067b..a39761862a 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -390,8 +390,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.109" - "1yn0vzvh8g26zgmblr92krcik18c0290mqdba5lbz7sd29jbhvzn" + (make-linux-libre "4.4.110" + "14nnxya8kgax75mkrrsz7zcky7gjk8sbjfhx5q1gifdiywjcbn5k" %intel-compatible-systems #:configuration-file kernel-config)) From f2462bc3662733801d7df7c532c1d8b0c67b3c18 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sat, 6 Jan 2018 00:38:27 -0500 Subject: [PATCH 025/185] gnu: linux-libre@4.9: Update to 4.9.75. * gnu/packages/linux.scm (linux-libre-4.9): Update to 4.9.75. --- 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 a39761862a..a9114d7d51 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -384,8 +384,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.74" - "1xavyjj1ajg1nb6iy75ih1k2rwcfx09vjav1a69r0vq4q140qsfc" + (make-linux-libre "4.9.75" + "1zk98vx08s8fvrnxz190k4b0f6ndqv5bjps9wvv0ydclckqz3gwj" %intel-compatible-systems #:configuration-file kernel-config)) From af3f7f22f43fbbdca9bdc00afc476dd2ac86c017 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sat, 6 Jan 2018 00:39:07 -0500 Subject: [PATCH 026/185] gnu: linux-libre: Update to 4.14.12. * gnu/packages/linux.scm (%linux-libre-version): Update to 4.14.12. (%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 a9114d7d51..1cefb662e8 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -370,8 +370,8 @@ It has been modified to remove all non-free binary blobs.") (define %intel-compatible-systems '("x86_64-linux" "i686-linux")) (define %linux-compatible-systems '("x86_64-linux" "i686-linux" "armhf-linux")) -(define %linux-libre-version "4.14.11") -(define %linux-libre-hash "09q968iv4cbr0gby8pispxabraf2mkzbsx9y2rif4n2ykmxwx4wg") +(define %linux-libre-version "4.14.12") +(define %linux-libre-hash "1gc2yng3vnkb0bw65z3x5cy99h772hc9div30kly039x85gqwp1y") ;; linux-libre configuration for armhf-linux is derived from Debian armmp. It ;; supports qemu "virt" machine and possibly a large number of ARM boards. From f396611776e7ed6f1a070569a338ad56461b099e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 6 Jan 2018 14:43:45 +0100 Subject: [PATCH 027/185] publish: Save bandwidth on narinfo 404s. This saves 18 bytes on each 404 narinfo response. * guix/scripts/publish.scm (render-narinfo): Pass #:phrase to 'not-found'. (render-narinfo/cached): Likewise. --- guix/scripts/publish.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/guix/scripts/publish.scm b/guix/scripts/publish.scm index dd54f03996..3f3bc26972 100644 --- a/guix/scripts/publish.scm +++ b/guix/scripts/publish.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 David Thompson -;;; Copyright © 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2015, 2016, 2017, 2018 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -326,7 +326,7 @@ advertise it as the maximum validity period (in seconds) via the appropriate duration. NAR-PATH specifies the prefix for nar URLs." (let ((store-path (hash-part->path store hash))) (if (string-null? store-path) - (not-found request) + (not-found request #:phrase "") (values `((content-type . (application/x-nix-narinfo)) ,@(if ttl `((cache-control (max-age . ,ttl))) @@ -461,7 +461,7 @@ requested using POOL." #:phrase "We're baking it" #:ttl 300)) ;should be available within 5m (else - (not-found request))))) + (not-found request #:phrase ""))))) (define* (bake-narinfo+nar cache item #:key ttl (compression %no-compression) From 142182514b84ee233bc27e574df2ca2074291525 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 6 Jan 2018 14:45:01 +0100 Subject: [PATCH 028/185] build: Detect broken 'equal?' in Guile 2.2.1. Fixes . Reported by Mathieu Lirzin . * m4/guix.m4 (GUIX_ASSERT_SYNTAX_OBJECT_EQUAL): New macro. * configure.ac: Use it. --- configure.ac | 4 ++++ m4/guix.m4 | 22 +++++++++++++++++++++- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index aa70f140d3..53efa4a684 100644 --- a/configure.ac +++ b/configure.ac @@ -113,6 +113,10 @@ AM_CONDITIONAL([HAVE_GUILE_JSON], [test "x$have_guile_json" = "xyes"]) dnl Make sure we have a full-fledged Guile. GUIX_ASSERT_GUILE_FEATURES([regex posix socket net-db threads]) +dnl Make sure we don't suffer from the bug in 'equal?' wrt. syntax objects +dnl found in 2.2.1. See . +GUIX_ASSERT_SYNTAX_OBJECT_EQUAL + dnl Decompressors, for use by the substituter and other modules. AC_PATH_PROG([GZIP], [gzip]) AC_PATH_PROG([BZIP2], [bzip2]) diff --git a/m4/guix.m4 b/m4/guix.m4 index add57f5262..721285b014 100644 --- a/m4/guix.m4 +++ b/m4/guix.m4 @@ -1,5 +1,5 @@ dnl GNU Guix --- Functional package management for GNU -dnl Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès +dnl Copyright © 2012, 2013, 2014, 2015, 2016, 2018 Ludovic Courtès dnl Copyright © 2014 Mark H Weaver dnl Copyright © 2017 Efraim Flashner dnl @@ -153,6 +153,26 @@ AC_DEFUN([GUIX_CHECK_UNBUFFERED_CBIP], [ fi]) ]) +dnl GUIX_ASSERT_SYNTAX_OBJECT_EQUAL +dnl +dnl Guile 2.2.1 was a brown-paper-bag release where 'equal?' wouldn't work +dnl for syntax objects, which broke gexps. Unfortunately Fedora 25 provides it. +dnl Reject it. +AC_DEFUN([GUIX_ASSERT_SYNTAX_OBJECT_EQUAL], [ + AC_CACHE_CHECK([whether 'equal?' works for syntax objects], + [ac_cv_guix_syntax_object_equal], + [if "$GUILE" -c '(exit (equal? (syntax x) (syntax x)))' + then + ac_cv_guix_syntax_object_equal=yes + else + ac_cv_guix_syntax_object_equal=no + fi]) + if test "x$ac_cv_guix_syntax_object_equal" != xyes; then + # This bug was present in Guile 2.2.1 only. + AC_MSG_ERROR(['equal?' does not work for syntax object; upgrade to Guile 2.2.2 or later.]) + fi +]) + dnl GUIX_CHECK_GUILE_SSH dnl dnl Check whether a recent-enough Guile-SSH is available. From a6542e964dad855da69db7b333cc5dc56be33c2f Mon Sep 17 00:00:00 2001 From: nee Date: Fri, 5 Jan 2018 23:29:41 +0100 Subject: [PATCH 029/185] gnu: crawl, craw-titles: Update to 0.21.0. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/games.scm (crawl, crawl-tiles): Update to 0.21.0. Signed-off-by: 宋文武 --- gnu/packages/games.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index ce799ae33b..288db49f56 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -4685,7 +4685,7 @@ fish. The whole game is accompanied by quiet, comforting music.") (define-public crawl (package (name "crawl") - (version "0.20.1") + (version "0.21.0") (source (origin (method url-fetch) @@ -4699,7 +4699,7 @@ fish. The whole game is accompanied by quiet, comforting music.") version "-nodeps.tar.xz"))) (sha256 (base32 - "0cagx7687r5ln7pmzl60akjhjpyqd62z9zhfr2mqfk53wl9jbsbj")) + "0mmnkch8s9l7dh136yjvcyjr0vmyzv7z370rlcyir91qz6gg82n1")) (patches (search-patches "crawl-upgrade-saves.patch")))) (build-system gnu-build-system) (inputs From ae8e71ee48a097677b5e28d4cccbcd5a6dbaea13 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 26 Dec 2017 00:14:37 +0000 Subject: [PATCH 030/185] gnu: gnome-online-accounts: Update to 3.26.2. This removes telepathy support, which is actively discouraged upstream: . * gnu/packages/gnome.scm (gnome-online-accounts): Update to 3.26.2. [inputs]: Remove telepathy-glib. --- gnu/packages/gnome.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index d17b5820fb..69d54773e4 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -4811,7 +4811,7 @@ window manager.") (define-public gnome-online-accounts (package (name "gnome-online-accounts") - (version "3.24.3") + (version "3.26.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -4819,7 +4819,7 @@ window manager.") name "-" version ".tar.xz")) (sha256 (base32 - "0m1qf2ffxzmwxa157lrvh3507d5gr3lg4kvj653zhcihjpmmhbi5")))) + "1l8p1ghknmkmjpnpl7jr53j66qbzpikickzbmrz0aczyhq6pdy29")))) (build-system glib-or-gtk-build-system) (native-inputs `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc. @@ -4835,7 +4835,6 @@ window manager.") ("json-glib" ,json-glib) ("libsecret" ,libsecret) ("rest" ,rest) - ("telepathy-glib" ,telepathy-glib) ("webkitgtk" ,webkitgtk))) (synopsis "Single sign-on framework for GNOME") (home-page "https://wiki.gnome.org/Projects/GnomeOnlineAccounts") From 0438f1d84dfa76d74dea81e387d8090992a692e1 Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Tue, 2 Jan 2018 13:20:29 +0100 Subject: [PATCH 031/185] gnu: gdm: Update to 3.26.2.1. * gnu/packages/gnome.scm (gdm): Update to 3.26.2.1. --- gnu/packages/gnome.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 69d54773e4..3a5f92148f 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -28,7 +28,7 @@ ;;; Copyright © 2017 Chris Marusich ;;; Copyright © 2017 Mohammed Sadiq ;;; Copyright © 2017 Brendan Tildesley -;;; Copyright © 2017 Rutger Helling +;;; Copyright © 2017, 2018 Rutger Helling ;;; ;;; This file is part of GNU Guix. ;;; @@ -5230,7 +5230,7 @@ libxml2.") (define-public gdm (package (name "gdm") - (version "3.24.2") + (version "3.26.2.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -5238,7 +5238,7 @@ libxml2.") name "-" version ".tar.xz")) (sha256 (base32 - "1s2xzrwcjhfb4ra8jrxqfycs1jpv97id0f6idb2h6vjkspxbjy23")))) + "0mxdal6hh345xk2xqmw5192jgpprkbcv1d4bwmnl4arcc00cpp8p")))) (build-system glib-or-gtk-build-system) (arguments '(#:configure-flags From 3853f86fdf3982daeec67ea786045ef51c76f42e Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Sat, 6 Jan 2018 18:12:58 +0100 Subject: [PATCH 032/185] doc: Describe Wayland status. * doc/guix.texi (Desktop Services): Add a paragraph about the current status of Wayland in Guix. --- doc/guix.texi | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index 1d1f30f000..f64f1e0476 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -44,7 +44,8 @@ Copyright @copyright{} 2017 Tobias Geerinckx-Rice@* Copyright @copyright{} 2017 George Clemmer@* Copyright @copyright{} 2017 Andy Wingo@* Copyright @copyright{} 2017 Arun Isaac@* -Copyright @copyright{} 2017 nee +Copyright @copyright{} 2017 nee@* +Copyright @copyright{} 2018 Rutger Helling Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or @@ -12151,6 +12152,13 @@ limited number of special-purpose system interfaces. Additionally, adding a service made by @code{mate-desktop-service} adds the MATE metapackage to the system profile. +The desktop environments in Guix use the Xorg display server by +default. If you'd like to use the newer display server protocol +called Wayland, you need to use the @code{sddm-service} instead of the +@code{slim-service} for the graphical login manager. You should then +select the ``GNOME (Wayland)'' session in SDDM. Currently only GNOME +has support for Wayland. + @deffn {Scheme Procedure} gnome-desktop-service Return a service that adds the @code{gnome} package to the system profile, and extends polkit with the actions from From 5ae8c77adec6b64a53ed10c3505263380205321d Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 6 Jan 2018 13:00:20 -0500 Subject: [PATCH 033/185] gnu: irssi: Update to 1.0.6 [fixes CVE-2017-{5205,5206,5207,5208}]. * gnu/packages/irc.scm (irssi): Update to 1.0.6. --- gnu/packages/irc.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm index f367032fe5..ce2ec3c0f6 100644 --- a/gnu/packages/irc.scm +++ b/gnu/packages/irc.scm @@ -115,7 +115,7 @@ irssi, but graphical.") (define-public irssi (package (name "irssi") - (version "1.0.5") + (version "1.0.6") (source (origin (method url-fetch) (uri (string-append "https://github.com/irssi/irssi/" @@ -123,7 +123,7 @@ irssi, but graphical.") version ".tar.xz")) (sha256 (base32 - "055r9fhbfcfkzinsnprnlqd8psspdyn3j26lzsmnrc1fw4kn8mf2")))) + "11c5vrwz525ld3478p81hngnv9aw0cd4xvfqcrr7ycxz7r7qi7h2")))) (build-system gnu-build-system) (arguments `(#:phases From c23243fccd4f73430ca06a862acd33c020c8ed17 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sat, 6 Jan 2018 13:40:23 -0500 Subject: [PATCH 034/185] gnu: icecat: Add more fixes, including Spectre mitigation. * gnu/packages/gnuzilla.scm (icecat)[source]: Add more fixes from the upstream mozilla-esr52 repository, plus a backported mitigation for Spectre from Firefox 57.0.4. * gnu/packages/patches/icecat-bug-1427870-spectre-mitigation.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/gnuzilla.scm | 6 ++- ...cecat-bug-1427870-spectre-mitigation.patch | 49 +++++++++++++++++++ 3 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/icecat-bug-1427870-spectre-mitigation.patch diff --git a/gnu/local.mk b/gnu/local.mk index 679c119a5f..d82cbcee26 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -757,6 +757,7 @@ dist_patch_DATA = \ %D%/packages/patches/icecat-bug-1415133.patch \ %D%/packages/patches/icecat-bug-1414945.patch \ %D%/packages/patches/icecat-bug-1424373-pt2.patch \ + %D%/packages/patches/icecat-bug-1427870-spectre-mitigation.patch \ %D%/packages/patches/icu4c-CVE-2017-7867-CVE-2017-7868.patch \ %D%/packages/patches/icu4c-CVE-2017-14952.patch \ %D%/packages/patches/icu4c-reset-keyword-list-iterator.patch \ diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index a31e93d499..92037326e0 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -510,7 +510,11 @@ security standards.") (mozilla-patch "icecat-bug-1412145.patch" "66cfc3c4047d" "05j8ic4lv2d2ygr6d62rkdlfyg2rpljalwrkkhllinw2dfi3n15b") (mozilla-patch "icecat-bug-1399400.patch" "3236ffdf0ced" "1kvk4qyslaj1ldgs1wpxnf79zajcihzcd1zvbrg990i3hgyn3gk3") (mozilla-patch "icecat-bug-1424373-pt1.patch" "320032aaa068" "1ch282qibprz1q0f2imvynh4sg7gads6sf3ayhjcd62zjncpgyz7") - (search-patch "icecat-bug-1424373-pt2.patch"))) + (search-patch "icecat-bug-1424373-pt2.patch") + (mozilla-patch "icecat-bug-1412420.patch" "c2945f1249eb" "18p0344w6grpyfiz8dczfw977p0qy37iqv95whgnrjli2ab51kji") + (mozilla-patch "icecat-bug-1395508-pt1.patch" "263165eacc54" "0518xnd9f4qkn7l0z73kldm9dr33y6hf054ril4f8r2j8s9fy33i") + (mozilla-patch "icecat-bug-1395508-pt2.patch" "58e87d9cc44e" "0j9qwjm25bmhw0sj426yl4fqaa6zknf5cjk0yisdd3895652n5i4") + (search-patch "icecat-bug-1427870-spectre-mitigation.patch"))) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/patches/icecat-bug-1427870-spectre-mitigation.patch b/gnu/packages/patches/icecat-bug-1427870-spectre-mitigation.patch new file mode 100644 index 0000000000..6b088286cb --- /dev/null +++ b/gnu/packages/patches/icecat-bug-1427870-spectre-mitigation.patch @@ -0,0 +1,49 @@ +Mitigate Spectre by reducing the resolution of performance.now() to 20 +microseconds. Based on: + + https://hg.mozilla.org/releases/mozilla-release/rev/afa87f9be3a8 + +For more details, see: + + https://blog.mozilla.org/security/2018/01/03/mitigations-landing-new-class-timing-attack/ + +This patch was modified to apply cleanly to GNU IceCat. + + +# HG changeset patch +# User Tom Ritter +# Date 1514660820 21600 +# Node ID afa87f9be3a8852da3a30f286b15ae599c7874f6 +# Parent 6caa457ebedc915b43dc1d054b8fe22e82ca7447 +Bug 1427870 - Change resolution of .now() to 20us. r=bkelly, a=lizzard + +The comment about workers was introduced in Bug 1186489 but became obsolete some time after that +(definitely by Bug 1278838) + +diff --git a/dom/performance/Performance.cpp b/dom/performance/Performance.cpp +--- a/dom/performance/Performance.cpp ++++ b/dom/performance/Performance.cpp +@@ -234,20 +234,19 @@ Performance::ClearResourceTimings() + { + MOZ_ASSERT(NS_IsMainThread()); + mResourceEntries.Clear(); + } + + DOMHighResTimeStamp + Performance::RoundTime(double aTime) const + { +- // Round down to the nearest 5us, because if the timer is too accurate people +- // can do nasty timing attacks with it. See similar code in the worker +- // Performance implementation. +- const double maxResolutionMs = 0.005; ++ // Round down to the nearest 20us, because if the timer is too accurate people ++ // can do nasty timing attacks with it. ++ const double maxResolutionMs = 0.020; + return floor(aTime / maxResolutionMs) * maxResolutionMs; + } + + + void + Performance::Mark(const nsAString& aName, ErrorResult& aRv) + { + // Don't add the entry if the buffer is full. XXX should be removed by bug 1159003. From 56804398a94bea941183ae4ed29d2a9f82069a6f Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sat, 6 Jan 2018 19:51:06 -0500 Subject: [PATCH 035/185] gnu: webkitgtk: Disable SharedArrayBuffers to mitigate Spectre. * gnu/packages/patches/webkitgtk-mitigate-spectre.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/webkit.scm (webkitgtk)[source]: Add patch. --- gnu/local.mk | 3 +- .../patches/webkitgtk-mitigate-spectre.patch | 107 ++++++++++++++++++ gnu/packages/webkit.scm | 5 +- 3 files changed, 112 insertions(+), 3 deletions(-) create mode 100644 gnu/packages/patches/webkitgtk-mitigate-spectre.patch diff --git a/gnu/local.mk b/gnu/local.mk index d82cbcee26..d4e8419217 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -2,7 +2,7 @@ # Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès # Copyright © 2013, 2014, 2015, 2016, 2017 Andreas Enge # Copyright © 2016 Mathieu Lirzin -# Copyright © 2013, 2014, 2015, 2016, 2017 Mark H Weaver +# Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Mark H Weaver # Copyright © 2016 Chris Marusich # Copyright © 2016, 2017 Kei Kebreau # Copyright © 2016, 2017 Rene Saavedra @@ -1136,6 +1136,7 @@ dist_patch_DATA = \ %D%/packages/patches/vsearch-unbundle-cityhash.patch \ %D%/packages/patches/vte-CVE-2012-2738-pt1.patch \ %D%/packages/patches/vte-CVE-2012-2738-pt2.patch \ + %D%/packages/patches/webkitgtk-mitigate-spectre.patch \ %D%/packages/patches/weechat-python.patch \ %D%/packages/patches/wicd-bitrate-none-fix.patch \ %D%/packages/patches/wicd-get-selected-profile-fix.patch \ diff --git a/gnu/packages/patches/webkitgtk-mitigate-spectre.patch b/gnu/packages/patches/webkitgtk-mitigate-spectre.patch new file mode 100644 index 0000000000..3d983ede66 --- /dev/null +++ b/gnu/packages/patches/webkitgtk-mitigate-spectre.patch @@ -0,0 +1,107 @@ +Disable SharedArrayBuffers to mitigate Spectre. Based on: + + https://trac.webkit.org/changeset/226386/webkit + +Backported to webkitgtk-2.18.4 by Mark H Weaver + + +--- webkitgtk-2.18.4/Source/JavaScriptCore/runtime/JSGlobalObject.h.orig 2017-12-19 02:23:07.000000000 -0500 ++++ webkitgtk-2.18.4/Source/JavaScriptCore/runtime/JSGlobalObject.h 2018-01-06 19:28:55.985066986 -0500 +@@ -338,8 +338,10 @@ + WriteBarrier m_moduleLoaderStructure; + WriteBarrier m_arrayBufferPrototype; + WriteBarrier m_arrayBufferStructure; ++#if ENABLE(SHARED_ARRAY_BUFFER) + WriteBarrier m_sharedArrayBufferPrototype; + WriteBarrier m_sharedArrayBufferStructure; ++#endif + + #define DEFINE_STORAGE_FOR_SIMPLE_TYPE(capitalName, lowerName, properName, instanceType, jsName, prototypeBase) \ + WriteBarrier m_ ## lowerName ## Prototype; \ +@@ -670,8 +672,13 @@ + switch (sharingMode) { + case ArrayBufferSharingMode::Default: + return m_arrayBufferPrototype.get(); ++#if ENABLE(SHARED_ARRAY_BUFFER) + case ArrayBufferSharingMode::Shared: + return m_sharedArrayBufferPrototype.get(); ++#else ++ default: ++ return m_arrayBufferPrototype.get(); ++#endif + } + } + Structure* arrayBufferStructure(ArrayBufferSharingMode sharingMode) const +@@ -679,8 +686,13 @@ + switch (sharingMode) { + case ArrayBufferSharingMode::Default: + return m_arrayBufferStructure.get(); ++#if ENABLE(SHARED_ARRAY_BUFFER) + case ArrayBufferSharingMode::Shared: + return m_sharedArrayBufferStructure.get(); ++#else ++ default: ++ return m_arrayBufferStructure.get(); ++#endif + } + RELEASE_ASSERT_NOT_REACHED(); + return nullptr; +--- webkitgtk-2.18.4/Source/JavaScriptCore/runtime/JSGlobalObject.cpp.orig 2017-12-19 02:23:07.000000000 -0500 ++++ webkitgtk-2.18.4/Source/JavaScriptCore/runtime/JSGlobalObject.cpp 2018-01-06 19:27:16.628574304 -0500 +@@ -574,8 +574,10 @@ + + m_arrayBufferPrototype.set(vm, this, JSArrayBufferPrototype::create(vm, this, JSArrayBufferPrototype::createStructure(vm, this, m_objectPrototype.get()), ArrayBufferSharingMode::Default)); + m_arrayBufferStructure.set(vm, this, JSArrayBuffer::createStructure(vm, this, m_arrayBufferPrototype.get())); ++#if ENABLE(SHARED_ARRAY_BUFFER) + m_sharedArrayBufferPrototype.set(vm, this, JSArrayBufferPrototype::create(vm, this, JSArrayBufferPrototype::createStructure(vm, this, m_objectPrototype.get()), ArrayBufferSharingMode::Shared)); + m_sharedArrayBufferStructure.set(vm, this, JSArrayBuffer::createStructure(vm, this, m_sharedArrayBufferPrototype.get())); ++#endif + + m_iteratorPrototype.set(vm, this, IteratorPrototype::create(vm, this, IteratorPrototype::createStructure(vm, this, m_objectPrototype.get()))); + m_generatorPrototype.set(vm, this, GeneratorPrototype::create(vm, this, GeneratorPrototype::createStructure(vm, this, m_iteratorPrototype.get()))); +@@ -620,10 +622,11 @@ + + JSArrayBufferConstructor* arrayBufferConstructor = JSArrayBufferConstructor::create(vm, JSArrayBufferConstructor::createStructure(vm, this, m_functionPrototype.get()), m_arrayBufferPrototype.get(), m_speciesGetterSetter.get(), ArrayBufferSharingMode::Default); + m_arrayBufferPrototype->putDirectWithoutTransition(vm, vm.propertyNames->constructor, arrayBufferConstructor, DontEnum); ++#if ENABLE(SHARED_ARRAY_BUFFER) + JSArrayBufferConstructor* sharedArrayBufferConstructor = nullptr; + sharedArrayBufferConstructor = JSArrayBufferConstructor::create(vm, JSArrayBufferConstructor::createStructure(vm, this, m_functionPrototype.get()), m_sharedArrayBufferPrototype.get(), m_speciesGetterSetter.get(), ArrayBufferSharingMode::Shared); + m_sharedArrayBufferPrototype->putDirectWithoutTransition(vm, vm.propertyNames->constructor, sharedArrayBufferConstructor, DontEnum); +- ++#endif + #define CREATE_CONSTRUCTOR_FOR_SIMPLE_TYPE(capitalName, lowerName, properName, instanceType, jsName, prototypeBase) \ + capitalName ## Constructor* lowerName ## Constructor = capitalName ## Constructor::create(vm, capitalName ## Constructor::createStructure(vm, this, m_functionPrototype.get()), m_ ## lowerName ## Prototype.get(), m_speciesGetterSetter.get()); \ + m_ ## lowerName ## Prototype->putDirectWithoutTransition(vm, vm.propertyNames->constructor, lowerName ## Constructor, DontEnum); \ +@@ -686,7 +689,9 @@ + putDirectWithoutTransition(vm, vm.propertyNames->builtinNames().ArrayPrivateName(), arrayConstructor, DontEnum | DontDelete | ReadOnly); + + putDirectWithoutTransition(vm, vm.propertyNames->ArrayBuffer, arrayBufferConstructor, DontEnum); ++#if ENABLE(SHARED_ARRAY_BUFFER) + putDirectWithoutTransition(vm, vm.propertyNames->SharedArrayBuffer, sharedArrayBufferConstructor, DontEnum); ++#endif + + #define PUT_CONSTRUCTOR_FOR_SIMPLE_TYPE(capitalName, lowerName, properName, instanceType, jsName, prototypeBase) \ + putDirectWithoutTransition(vm, vm.propertyNames-> jsName, lowerName ## Constructor, DontEnum); \ +@@ -1288,8 +1293,10 @@ + + visitor.append(thisObject->m_arrayBufferPrototype); + visitor.append(thisObject->m_arrayBufferStructure); ++#if ENABLE(SHARED_ARRAY_BUFFER) + visitor.append(thisObject->m_sharedArrayBufferPrototype); + visitor.append(thisObject->m_sharedArrayBufferStructure); ++#endif + + #define VISIT_SIMPLE_TYPE(CapitalName, lowerName, properName, instanceType, jsName, prototypeBase) \ + visitor.append(thisObject->m_ ## lowerName ## Prototype); \ +--- webkitgtk-2.18.4/Source/WTF/wtf/Platform.h.orig 2017-10-16 08:18:56.000000000 -0400 ++++ webkitgtk-2.18.4/Source/WTF/wtf/Platform.h 2018-01-06 19:29:52.897349199 -0500 +@@ -1190,6 +1190,9 @@ + #define HAVE_NS_ACTIVITY 1 + #endif + ++/* Disable SharedArrayBuffers until Spectre security concerns are mitigated. */ ++#define ENABLE_SHARED_ARRAY_BUFFER 0 ++ + #if (OS(DARWIN) && USE(CG)) || (USE(FREETYPE) && !PLATFORM(GTK)) || (PLATFORM(WIN) && (USE(CG) || USE(CAIRO))) + #undef ENABLE_OPENTYPE_MATH + #define ENABLE_OPENTYPE_MATH 1 diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index e2d753aa3d..7acc018632 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2015 Sou Bunnbu ;;; Copyright © 2015 David Hashe ;;; Copyright © 2015 Ricardo Wurmus -;;; Copyright © 2015, 2016, 2017 Mark H Weaver +;;; Copyright © 2015, 2016, 2017, 2018 Mark H Weaver ;;; ;;; This file is part of GNU Guix. ;;; @@ -61,7 +61,8 @@ name "-" version ".tar.xz")) (sha256 (base32 - "1f1j0r996l20cgkvbwpizn7d4yp58cy334b1pvn4kfb5c2dbpdl7")))) + "1f1j0r996l20cgkvbwpizn7d4yp58cy334b1pvn4kfb5c2dbpdl7")) + (patches (search-patches "webkitgtk-mitigate-spectre.patch")))) (build-system cmake-build-system) (arguments '(#:tests? #f ; no tests From beb7e659f2cb9acdb0698e5c31a745fe0a9ac4b7 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 7 Jan 2018 10:09:55 +0200 Subject: [PATCH 036/185] gnu: mes: Generalize logic for native-inputs. * gnu/packages/mes.scm (mes)[native-inputs]: On all architectures except i686-linux use cross compiler packages. --- gnu/packages/mes.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm index 5b6c87992a..16177a0b50 100644 --- a/gnu/packages/mes.scm +++ b/gnu/packages/mes.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Jan Nieuwenhuizen -;;; Copyright © 2017 Efraim Flashner +;;; Copyright © 2017, 2018 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -76,8 +76,8 @@ extensive examples, including parsers for the Javascript and C99 languages.") ("nyacc" ,nyacc))) (native-inputs `(("guile" ,guile-2.2) - ,@(if (string-prefix? "x86_64-linux" (or (%current-target-system) - (%current-system))) + ,@(if (not (string-prefix? "i686-linux" (or (%current-target-system) + (%current-system)))) ;; Use cross-compiler rather than #:system "i686-linux" to get ;; MesCC 64 bit .go files installed ready for use with Guile. `(("i686-linux-binutils" ,(cross-binutils triplet)) From 61b94b8c32e23d83f805ad349060c56b165ea401 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 7 Jan 2018 15:06:36 +0100 Subject: [PATCH 037/185] vm: 'vm-image' images refer to the root file system by UUID. This avoids the hard-coded "/dev/sda1", which only made sense when the image is run with "qemu-system-x86_64 -hda", not when it's passed to Xen, etc. Reported by Andreas Enge . * gnu/system/vm.scm (system-qemu-image): Define 'root-uuid', use it as the 'device' field for "/", and pass it to 'qemu-image'. --- gnu/system/vm.scm | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index 53629daa90..496f2ac4e1 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès ;;; Copyright © 2016 Christopher Allan Webber ;;; Copyright © 2016, 2017 Leo Famulari ;;; Copyright © 2017 Mathieu Othacehe @@ -503,6 +503,14 @@ of the GNU system as described by OS." (string-prefix? "/dev/" source)))) (operating-system-file-systems os))) + (define root-uuid + ;; UUID of the root file system. + (operating-system-uuid os + (if (string=? file-system-type "iso9660") + 'iso9660 + 'dce))) + + (let ((os (operating-system (inherit os) ;; Use an initrd with the whole QEMU shebang. (initrd (lambda (file-systems . rest) @@ -511,10 +519,13 @@ of the GNU system as described by OS." #:virtio? #t rest))) - ;; Force our own root file system. + ;; Force our own root file system. Refer to it by UUID so that + ;; it works regardless of how the image is used ("qemu -hda", + ;; Xen, etc.). (file-systems (cons (file-system (mount-point "/") - (device "/dev/sda1") + (device root-uuid) + (title 'uuid) (type file-system-type)) file-systems-to-keep))))) (mlet* %store-monad @@ -526,6 +537,7 @@ of the GNU system as described by OS." (operating-system-bootloader os)) #:disk-image-size disk-image-size #:file-system-type file-system-type + #:file-system-uuid root-uuid #:inputs `(("system" ,os-drv) ("bootcfg" ,bootcfg)) #:copy-inputs? #t)))) From 43188faf2e67f1312d8dc015f1143ccd99a74562 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 7 Jan 2018 14:17:41 +0100 Subject: [PATCH 038/185] gnu: Add muse-sequencer. * gnu/packages/music.scm (muse-sequencer): New variable. --- gnu/packages/music.scm | 56 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 07ea96210d..a8e58671ec 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -3496,6 +3496,62 @@ sample library.") (home-page "https://musescore.org") (license license:gpl2))) +(define-public muse-sequencer + (package + (name "muse-sequencer") + (version "3.0.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/muse-sequencer/muse.git") + (commit (string-append "muse_" + (string-map (lambda (c) + (if (char=? c #\.) + #\_ c)) version))))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "1nninz8qyqlxxjdnrm79y3gr3056pga9l2fsqh674jd3cjvafya3")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; there is no test target + #:configure-flags + (list "-DENABLE_LV2_SUPPLIED=OFF" + "-DENABLE_RTAUDIO=OFF" ; FIXME: not packaged + "-DENABLE_INSTPATCH=OFF" ; FIXME: not packaged + "-DENABLE_VST_NATIVE=OFF") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ (chdir "muse3")))))) + (inputs + `(("alsa-lib" ,alsa-lib) + ("lash" ,lash) + ("jack" ,jack-1) + ("liblo" ,liblo) + ("dssi" ,dssi) + ("ladspa" ,ladspa) + ("lv2" ,lv2) + ("lilv" ,lilv) + ("sord" ,sord) + ("libsndfile" ,libsndfile) + ("libsamplerate" ,libsamplerate) + ("fluidsynth" ,fluidsynth) + ("pcre" ,pcre) + ("qtbase" ,qtbase) + ("qtsvg" ,qtsvg))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("qttools" ,qttools))) + (home-page "http://muse-sequencer.org") + (synopsis "MIDI/Audio sequencer") + (description "MusE is a MIDI/Audio sequencer with recording and editing +capabilities. Its audio sequencer supports the LADSPA, DSSI, and LV2 audio +plugin formats; the MIDI sequencer provides a piano roll, a drum editor, a +list view, and a score editor. MusE aims to be a complete multitrack virtual +studio.") + (license license:gpl2+))) + (define-public dssi (package (name "dssi") From 0e78801abc1ebd1107af6e63106d73399475aee7 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 7 Jan 2018 14:20:09 +0100 Subject: [PATCH 039/185] gnu: dssi: Use jack-1. * gnu/packages/music.scm (dssi)[inputs]: Replace jack-2 with jack-1. --- gnu/packages/music.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index a8e58671ec..65b5d68c1e 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -3567,7 +3567,7 @@ studio.") (build-system gnu-build-system) (inputs `(("alsa-lib" ,alsa-lib) - ("jack-2" ,jack-2) + ("jack" ,jack-1) ("ladspa" ,ladspa) ("libsamplerate" ,libsamplerate) ("libsndfile" ,libsndfile) From b94f250e5a8a2263a89f61c6d3f7a69abe2984e3 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 7 Jan 2018 14:20:39 +0100 Subject: [PATCH 040/185] gnu: rosegarden: Use jack-1. * gnu/packages/music.scm (rosegarden)[inputs]: Replace jack-2 with jack-1. --- gnu/packages/music.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 65b5d68c1e..420f6ca121 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -3658,7 +3658,7 @@ specification and header.") ("dssi" ,dssi) ("flac" ,flac) ("fftwf" ,fftwf) - ("jack-2" ,jack-2) + ("jack" ,jack-1) ("ladspa" ,ladspa) ("liblo" ,liblo) ("libsamplerate" ,libsamplerate) From 4a8d536ffe4cac1822d9655e0871fdc1684d569b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 7 Jan 2018 22:07:53 +0100 Subject: [PATCH 041/185] ui: Display hints that come along with '&message' conditions. * guix/ui.scm (call-with-error-handling): Add case for message and fix-hint?. --- guix/ui.scm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/guix/ui.scm b/guix/ui.scm index 6e08a611cd..895179744b 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -623,6 +623,12 @@ directories:~{ ~a~}~%") (location->string (error-location c)) (gettext (condition-message c) %gettext-domain)) (exit 1)) + ((and (message-condition? c) (fix-hint? c)) + (format (current-error-port) "~a: error: ~a~%" + (program-name) + (gettext (condition-message c) %gettext-domain)) + (display-hint (condition-fix-hint c)) + (exit 1)) ((message-condition? c) ;; Normally '&message' error conditions have an i18n'd message. (leave (G_ "~a~%") From 896fec476f728183b331cbb6e2afb891207b4205 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 7 Jan 2018 22:13:45 +0100 Subject: [PATCH 042/185] ssh: Improve error reporting when retrieving files. 'guix copy --from' now reports messages much more useful than "failed to retrieve files". * guix/ssh.scm (store-export-channel)[export]: Wrap 'use-modules' in 'catch' and 'with-store' in 'guard'. Check for invalid items. Write a status sexp on stdout. (raise-error): New macro. (retrieve-files): Read the initial status sexp and report errors accordingly. --- guix/ssh.scm | 103 +++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 80 insertions(+), 23 deletions(-) diff --git a/guix/ssh.scm b/guix/ssh.scm index 7b33ef5a3b..469f4fa6c1 100644 --- a/guix/ssh.scm +++ b/guix/ssh.scm @@ -19,6 +19,7 @@ (define-module (guix ssh) #:use-module (guix store) #:use-module (guix i18n) + #:use-module ((guix utils) #:select (&fix-hint)) #:use-module (ssh session) #:use-module (ssh auth) #:use-module (ssh key) @@ -197,15 +198,36 @@ be read. When RECURSIVE? is true, the closure of FILES is exported." ;; remote store. (define export `(begin - (use-modules (guix)) + (eval-when (load expand eval) + (unless (resolve-module '(guix) #:ensure #f) + (write `(module-error)) + (exit 7))) - (with-store store - (setvbuf (current-output-port) _IONBF) + (use-modules (guix) (srfi srfi-1) + (srfi srfi-26) (srfi srfi-34)) - ;; FIXME: Exceptions are silently swallowed. We should report them - ;; somehow. - (export-paths store ',files (current-output-port) - #:recursive? ,recursive?)))) + (guard (c ((nix-connection-error? c) + (write `(connection-error ,(nix-connection-error-file c) + ,(nix-connection-error-code c)))) + ((nix-protocol-error? c) + (write `(protocol-error ,(nix-protocol-error-status c) + ,(nix-protocol-error-message c)))) + (else + (write `(exception)))) + (with-store store + (let* ((files ',files) + (invalid (remove (cut valid-path? store <>) + files))) + (unless (null? invalid) + (write `(invalid-items ,invalid)) + (exit 1)) + + (write '(exporting)) ;we're ready + (force-output) + + (setvbuf (current-output-port) _IONBF) + (export-paths store files (current-output-port) + #:recursive? ,recursive?)))))) (open-remote-input-pipe session (string-join @@ -291,6 +313,19 @@ to the length of FILES.)" #:recursive? recursive?) (length files))) ;XXX: inaccurate when RECURSIVE? is true +(define-syntax raise-error + (syntax-rules (=>) + ((_ fmt args ... (=> hint-fmt hint-args ...)) + (raise (condition + (&message + (message (format #f fmt args ...))) + (&fix-hint + (hint (format #f hint-fmt hint-args ...)))))) + ((_ fmt args ...) + (raise (condition + (&message + (message (format #f fmt args ...)))))))) + (define* (retrieve-files local files remote #:key recursive? (log-port (current-error-port))) "Retrieve FILES from REMOTE and import them using the 'import-paths' RPC on @@ -298,22 +333,44 @@ LOCAL. When RECURSIVE? is true, retrieve the closure of FILES." (let-values (((port count) (file-retrieval-port files remote #:recursive? recursive?))) - (format #t (N_ "retrieving ~a store item from '~a'...~%" - "retrieving ~a store items from '~a'...~%" count) - count (remote-store-host remote)) - (when (eof-object? (lookahead-u8 port)) - ;; The failure could be because one of the requested store items is not - ;; valid on REMOTE, or because Guile or Guix is improperly installed. - ;; TODO: Improve error reporting. - (raise (condition - (&message - (message - (format #f - (G_ "failed to retrieve store items from '~a'") - (remote-store-host remote))))))) + (match (read port) ;read the initial status + (('exporting) + (format #t (N_ "retrieving ~a store item from '~a'...~%" + "retrieving ~a store items from '~a'...~%" count) + count (remote-store-host remote)) - (let ((result (import-paths local port))) - (close-port port) - result))) + (let ((result (import-paths local port))) + (close-port port) + result)) + ((? eof-object?) + (raise-error (G_ "failed to start Guile on remote host '~A': exit code ~A") + (remote-store-host remote) + (channel-get-exit-status port) + (=> (G_ "Make sure @command{guile} can be found in +@code{$PATH} on the remote host. Run @command{ssh ~A guile --version} to +check.") + (remote-store-host remote)))) + (('module-error . _) + ;; TRANSLATORS: Leave "Guile" untranslated. + (raise-error (G_ "Guile modules not found on remote host '~A'") + (remote-store-host remote) + (=> (G_ "Make sure @code{GUILE_LOAD_PATH} includes Guix' +own module directory. Run @command{ssh ~A env | grep GUILE_LOAD_PATH} to +check.") + (remote-store-host remote)))) + (('connection-error file code . _) + (raise-error (G_ "failed to connect to '~A' on remote host '~A': ~a") + file (remote-store-host remote) (strerror code))) + (('invalid-items items . _) + (raise-error (N_ "no such item on remote host '~A':~{ ~a~}" + "no such items on remote host '~A':~{ ~a~}" + (length items)) + (remote-store-host remote) items)) + (('protocol-error status message . _) + (raise-error (G_ "protocol error on remote host '~A': ~a") + (remote-store-host remote) message)) + (_ + (raise-error (G_ "failed to retrieve store items from '~a'") + (remote-store-host remote)))))) ;;; ssh.scm ends here From 29a686688674dc875775305312513405fa396a06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 5 Jan 2018 17:15:41 +0100 Subject: [PATCH 043/185] daemon: Add gzip log compression. * nix/nix-daemon/guix-daemon.cc (GUIX_OPT_LOG_COMPRESSION): New macro. (options): Mark "disable-log-compression" as hidden and add "log-compression". (parse_opt): Handle GUIX_OPT_LOG_COMPRESSION. * nix/libstore/build.cc (DerivationGoal): Add 'gzLogFile'. (openLogFile): Initialize it when 'logCompression' is COMPRESSION_GZIP. (closeLogFile, handleChildOutput): Honor 'gzLogFile'. * nix/libstore/globals.hh (Settings)[compressLog]: Remove. [logCompression]: New field. (CompressionType): New enum. * nix/libstore/globals.cc (Settings::Settings): Initialize it. (update): Remove '_get' call for 'compressLog'. * nix/local.mk (guix_daemon_LDADD, guix_register_LDADD): Add -lz. * guix/store.scm (log-file): Handle '.gz' log files. * tests/guix-daemon.sh: Add test with '--log-compression=gzip'. * doc/guix.texi (Invoking guix-daemon): Adjust accordingly. * config-daemon.ac: Check for libz and zlib.h. --- config-daemon.ac | 6 +++++ doc/guix.texi | 9 +++---- guix/store.scm | 6 +++-- nix/libstore/build.cc | 45 +++++++++++++++++++++++++++++++---- nix/libstore/globals.cc | 4 ++-- nix/libstore/globals.hh | 8 ++++++- nix/local.mk | 6 ++--- nix/nix-daemon/guix-daemon.cc | 25 ++++++++++++++++--- tests/guix-daemon.sh | 38 ++++++++++++++++++++++++++++- 9 files changed, 127 insertions(+), 20 deletions(-) diff --git a/config-daemon.ac b/config-daemon.ac index 42b59819d3..59f6f2713f 100644 --- a/config-daemon.ac +++ b/config-daemon.ac @@ -18,6 +18,12 @@ if test "x$guix_build_daemon" = "xyes"; then dnl Use 64-bit file system calls so that we can support files > 2 GiB. AC_SYS_LARGEFILE + dnl Look for zlib, a required dependency. + AC_CHECK_LIB([z], [gzdopen], [true], + [AC_MSG_ERROR([Guix requires zlib. See http://www.zlib.net/.])]) + AC_CHECK_HEADERS([zlib.h], [true], + [AC_MSG_ERROR([Guix requires zlib. See http://www.zlib.net/.])]) + dnl Look for libbz2, a required dependency. AC_CHECK_LIB([bz2], [BZ2_bzWriteOpen], [true], [AC_MSG_ERROR([Guix requires libbz2, which is part of bzip2. See http://www.bzip.org/.])]) diff --git a/doc/guix.texi b/doc/guix.texi index f64f1e0476..ca3f614042 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -13,7 +13,7 @@ @set OPENPGP-SIGNING-KEY-ID 3CE464558A84FDC69DB40CFB090B11993D9AEBB5 @copying -Copyright @copyright{} 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès@* +Copyright @copyright{} 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès@* Copyright @copyright{} 2013, 2014, 2016 Andreas Enge@* Copyright @copyright{} 2013 Nikita Karetnikov@* Copyright @copyright{} 2014, 2015, 2016 Alex Kost@* @@ -1235,12 +1235,13 @@ processes to gain access to undeclared dependencies. It is necessary, though, when @command{guix-daemon} is running under an unprivileged user account. -@item --disable-log-compression -Disable compression of the build logs. +@item --log-compression=@var{type} +Compress build logs according to @var{type}, one of @code{gzip}, +@code{bzip2}, or @code{none}. Unless @code{--lose-logs} is used, all the build logs are kept in the @var{localstatedir}. To save space, the daemon automatically compresses -them with bzip2 by default. This option disables that. +them with bzip2 by default. @item --disable-deduplication @cindex deduplication diff --git a/guix/store.scm b/guix/store.scm index e6e45ba89c..89db46b8e6 100644 --- a/guix/store.scm +++ b/guix/store.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -1567,8 +1567,10 @@ must be an absolute store file name, or a derivation file name." "/log/guix/drvs/" (string-take base 2) "/" (string-drop base 2))) + (log.gz (string-append log ".gz")) (log.bz2 (string-append log ".bz2"))) - (cond ((file-exists? log.bz2) log.bz2) + (cond ((file-exists? log.gz) log.gz) + ((file-exists? log.bz2) log.bz2) ((file-exists? log) log) (else #f)))) (else diff --git a/nix/libstore/build.cc b/nix/libstore/build.cc index d68e8b2bc0..5bf3e3aacb 100644 --- a/nix/libstore/build.cc +++ b/nix/libstore/build.cc @@ -31,6 +31,7 @@ #include #include +#include #include /* Includes required for chroot support. */ @@ -744,6 +745,7 @@ private: /* File descriptor for the log file. */ FILE * fLogFile; + gzFile gzLogFile; BZFILE * bzLogFile; AutoCloseFD fdLogFile; @@ -892,6 +894,7 @@ DerivationGoal::DerivationGoal(const Path & drvPath, const StringSet & wantedOut , needRestart(false) , retrySubstitution(false) , fLogFile(0) + , gzLogFile(0) , bzLogFile(0) , useChroot(false) , buildMode(buildMode) @@ -2599,8 +2602,25 @@ Path DerivationGoal::openLogFile() Path dir = (format("%1%/%2%/%3%/") % settings.nixLogDir % drvsLogDir % string(baseName, 0, 2)).str(); createDirs(dir); - if (settings.compressLog) { + switch (settings.logCompression) + { + case COMPRESSION_GZIP: { + Path logFileName = (format("%1%/%2%.gz") % dir % string(baseName, 2)).str(); + AutoCloseFD fd = open(logFileName.c_str(), O_CREAT | O_WRONLY | O_TRUNC, 0666); + if (fd == -1) throw SysError(format("creating log file `%1%'") % logFileName); + closeOnExec(fd); + /* Note: FD will be closed by 'gzclose'. */ + if (!(gzLogFile = gzdopen(fd.borrow(), "w"))) + throw Error(format("cannot open compressed log file `%1%'") % logFileName); + + gzbuffer(gzLogFile, 32768); + gzsetparams(gzLogFile, Z_BEST_COMPRESSION, Z_DEFAULT_STRATEGY); + + return logFileName; + } + + case COMPRESSION_BZIP2: { Path logFileName = (format("%1%/%2%.bz2") % dir % string(baseName, 2)).str(); AutoCloseFD fd = open(logFileName.c_str(), O_CREAT | O_WRONLY | O_TRUNC, 0666); if (fd == -1) throw SysError(format("creating log file `%1%'") % logFileName); @@ -2614,20 +2634,30 @@ Path DerivationGoal::openLogFile() throw Error(format("cannot open compressed log file `%1%'") % logFileName); return logFileName; + } - } else { + case COMPRESSION_NONE: { Path logFileName = (format("%1%/%2%") % dir % string(baseName, 2)).str(); fdLogFile = open(logFileName.c_str(), O_CREAT | O_WRONLY | O_TRUNC, 0666); if (fdLogFile == -1) throw SysError(format("creating log file `%1%'") % logFileName); closeOnExec(fdLogFile); return logFileName; + } } + + abort(); } void DerivationGoal::closeLogFile() { - if (bzLogFile) { + if (gzLogFile) { + int err; + err = gzclose(gzLogFile); + gzLogFile = NULL; + if (err != Z_OK) throw Error(format("cannot close compressed log file (gzip error = %1%)") % err); + } + else if (bzLogFile) { int err; BZ2_bzWriteClose(&err, bzLogFile, 0, 0, 0); bzLogFile = 0; @@ -2695,7 +2725,14 @@ void DerivationGoal::handleChildOutput(int fd, const string & data) } if (verbosity >= settings.buildVerbosity) writeToStderr(data); - if (bzLogFile) { + + if (gzLogFile) { + if (data.size() > 0) { + int count, err; + count = gzwrite(gzLogFile, data.data(), data.size()); + if (count == 0) throw Error(format("cannot write to compressed log file (gzip error = %1%)") % gzerror(gzLogFile, &err)); + } + } else if (bzLogFile) { int err; BZ2_bzWrite(&err, bzLogFile, (unsigned char *) data.data(), data.size()); if (err != BZ_OK) throw Error(format("cannot write to compressed log file (BZip2 error = %1%)") % err); diff --git a/nix/libstore/globals.cc b/nix/libstore/globals.cc index 65dad24d91..82d528dc98 100644 --- a/nix/libstore/globals.cc +++ b/nix/libstore/globals.cc @@ -45,7 +45,7 @@ Settings::Settings() useSshSubstituter = false; impersonateLinux26 = false; keepLog = true; - compressLog = true; + logCompression = COMPRESSION_BZIP2; maxLogSize = 0; cacheFailure = false; pollInterval = 5; @@ -162,7 +162,7 @@ void Settings::update() _get(useChroot, "build-use-chroot"); _get(impersonateLinux26, "build-impersonate-linux-26"); _get(keepLog, "build-keep-log"); - _get(compressLog, "build-compress-log"); + // _get(logCompression, "build-log-compression"); _get(maxLogSize, "build-max-log-size"); _get(cacheFailure, "build-cache-failure"); _get(pollInterval, "build-poll-interval"); diff --git a/nix/libstore/globals.hh b/nix/libstore/globals.hh index 7beb1a55ca..81cf2f52d4 100644 --- a/nix/libstore/globals.hh +++ b/nix/libstore/globals.hh @@ -8,6 +8,12 @@ namespace nix { +enum CompressionType +{ + COMPRESSION_NONE = 0, + COMPRESSION_GZIP = 1, + COMPRESSION_BZIP2 = 2 +}; struct Settings { @@ -169,7 +175,7 @@ struct Settings { bool keepLog; /* Whether to compress logs. */ - bool compressLog; + enum CompressionType logCompression; /* Maximum number of bytes a builder can write to stdout/stderr before being killed (0 means no limit). */ diff --git a/nix/local.mk b/nix/local.mk index 9e0c457bec..d802da6170 100644 --- a/nix/local.mk +++ b/nix/local.mk @@ -1,5 +1,5 @@ # GNU Guix --- Functional package management for GNU -# Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès +# Copyright © 2012, 2013, 2014, 2015, 2016, 2018 Ludovic Courtès # Copyright © 2016 Mathieu Lirzin # # This file is part of GNU Guix. @@ -132,7 +132,7 @@ guix_daemon_CPPFLAGS = \ -I$(top_srcdir)/%D%/libstore guix_daemon_LDADD = \ - libstore.a libutil.a libformat.a -lbz2 \ + libstore.a libutil.a libformat.a -lz -lbz2 \ $(SQLITE3_LIBS) $(LIBGCRYPT_LIBS) guix_daemon_headers = \ @@ -149,7 +149,7 @@ guix_register_CPPFLAGS = \ # XXX: Should we start using shared libs? guix_register_LDADD = \ - libstore.a libutil.a libformat.a -lbz2 \ + libstore.a libutil.a libformat.a -lz -lbz2 \ $(SQLITE3_LIBS) $(LIBGCRYPT_LIBS) diff --git a/nix/nix-daemon/guix-daemon.cc b/nix/nix-daemon/guix-daemon.cc index 7963358202..a1ef90dfdc 100644 --- a/nix/nix-daemon/guix-daemon.cc +++ b/nix/nix-daemon/guix-daemon.cc @@ -1,5 +1,5 @@ /* GNU Guix --- Functional package management for GNU - Copyright (C) 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès + Copyright (C) 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès Copyright (C) 2006, 2010, 2012, 2014 Eelco Dolstra This file is part of GNU Guix. @@ -88,6 +88,7 @@ builds derivations on behalf of its clients."); #define GUIX_OPT_BUILD_ROUNDS 17 #define GUIX_OPT_TIMEOUT 18 #define GUIX_OPT_MAX_SILENT_TIME 19 +#define GUIX_OPT_LOG_COMPRESSION 20 static const struct argp_option options[] = { @@ -120,8 +121,11 @@ static const struct argp_option options[] = n_("build each derivation N times in a row") }, { "lose-logs", GUIX_OPT_LOSE_LOGS, 0, 0, n_("do not keep build logs") }, - { "disable-log-compression", GUIX_OPT_DISABLE_LOG_COMPRESSION, 0, 0, + { "disable-log-compression", GUIX_OPT_DISABLE_LOG_COMPRESSION, 0, + OPTION_HIDDEN, // deprecated n_("disable compression of the build logs") }, + { "log-compression", GUIX_OPT_LOG_COMPRESSION, "TYPE", 0, + n_("use the specified compression type for build logs") }, /* '--disable-deduplication' was known as '--disable-store-optimization' up to Guix 0.7 included, so keep the alias around. */ @@ -197,8 +201,21 @@ parse_opt (int key, char *arg, struct argp_state *state) settings.set("build-extra-chroot-dirs", chroot_dirs); break; } + case GUIX_OPT_LOG_COMPRESSION: + if (strcmp (arg, "none") == 0) + settings.logCompression = COMPRESSION_NONE; + else if (strcmp (arg, "gzip") == 0) + settings.logCompression = COMPRESSION_GZIP; + else if (strcmp (arg, "bzip2") == 0) + settings.logCompression = COMPRESSION_BZIP2; + else + { + fprintf (stderr, _("error: %s: unknown compression type\n"), arg); + exit (EXIT_FAILURE); + } + break; case GUIX_OPT_DISABLE_LOG_COMPRESSION: - settings.compressLog = false; + settings.logCompression = COMPRESSION_NONE; break; case GUIX_OPT_BUILD_USERS_GROUP: settings.buildUsersGroup = arg; @@ -487,6 +504,8 @@ main (int argc, char *argv[]) /* Effect all the changes made via 'settings.set'. */ settings.update (); + printMsg(lvlDebug, + format ("build log compression: %1%") % settings.logCompression); if (settings.useSubstitutes) { diff --git a/tests/guix-daemon.sh b/tests/guix-daemon.sh index 7212e3eb68..6f91eb58bf 100644 --- a/tests/guix-daemon.sh +++ b/tests/guix-daemon.sh @@ -1,5 +1,5 @@ # GNU Guix --- Functional package management for GNU -# Copyright © 2012, 2014, 2015, 2016, 2017 Ludovic Courtès +# Copyright © 2012, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès # # This file is part of GNU Guix. # @@ -193,3 +193,39 @@ do GUIX_DAEMON_SOCKET="$socket" guile -c "$client_code" kill "$daemon_pid" done + +# Log compression. + +guix-daemon --listen="$socket" --disable-chroot --debug --log-compression=gzip & +daemon_pid=$! + +stamp="compressed-build-log-test-$$-`date +%H%M%S`" +client_code=" + (use-modules (guix) (gnu packages bootstrap)) + + (with-store store + (run-with-store store + (mlet %store-monad ((drv (lower-object + (computed-file \"compressed-log-test\" + #~(begin + (display \"$stamp\") + (newline) + (mkdir #\$output)) + #:guile %bootstrap-guile)))) + (display (derivation-file-name drv)) + (newline) + (return #t)))) +" + +GUIX_DAEMON_SOCKET="$socket" +export GUIX_DAEMON_SOCKET + +drv=`guile -c "$client_code"` +guix build "$drv" + +log=`guix build "$drv" --log-file` +test -f "$log" +case "$log" in + *.gz) test "`gunzip -c < "$log"`" = "$stamp" ;; + *) false ;; +esac From f997137d0e2eba27bb1e2b282ee19ea474c41e12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 5 Jan 2018 17:48:23 +0100 Subject: [PATCH 044/185] daemon: Make libbz2 an optional dependency. * config-daemon.ac: Don't bail out when libbz2 is missing. Define 'HAVE_LIBBZ2' Automake conditional. * nix/libstore/build.cc: Wrap relevant bits in '#if HAVE_BZLIB_H'. * nix/libstore/globals.cc (Settings::Settings): 'logCompression' defaults to COMPRESSION_GZIP when HAVE_BZLIB_H is false. * nix/libstore/globals.hh (CompressionType): Make 'COMPRESSION_BZIP2' conditional on HAVE_BZLIB_H. * nix/local.mk (guix_register_LDADD, guix_daemon_LDADD): Add -lbz2 only when HAVE_LIBBZ2. * nix/nix-daemon/guix-daemon.cc (parse_opt): Ignore "bzip2" when not HAVE_BZLIB_H. --- config-daemon.ac | 12 +++++++----- nix/libstore/build.cc | 15 ++++++++++++++- nix/libstore/globals.cc | 4 ++++ nix/libstore/globals.hh | 7 +++++-- nix/local.mk | 10 ++++++++-- nix/nix-daemon/guix-daemon.cc | 2 ++ 6 files changed, 40 insertions(+), 10 deletions(-) diff --git a/config-daemon.ac b/config-daemon.ac index 59f6f2713f..80d84cbdbc 100644 --- a/config-daemon.ac +++ b/config-daemon.ac @@ -24,11 +24,12 @@ if test "x$guix_build_daemon" = "xyes"; then AC_CHECK_HEADERS([zlib.h], [true], [AC_MSG_ERROR([Guix requires zlib. See http://www.zlib.net/.])]) - dnl Look for libbz2, a required dependency. - AC_CHECK_LIB([bz2], [BZ2_bzWriteOpen], [true], - [AC_MSG_ERROR([Guix requires libbz2, which is part of bzip2. See http://www.bzip.org/.])]) - AC_CHECK_HEADERS([bzlib.h], [true], - [AC_MSG_ERROR([Guix requires libbz2, which is part of bzip2. See http://www.bzip.org/.])]) + dnl Look for libbz2, an optional dependency. + AC_CHECK_LIB([bz2], [BZ2_bzWriteOpen], [HAVE_LIBBZ2=yes], [HAVE_LIBBZ2=no]) + if test "x$HAVE_LIBBZ2" = xyes; then + AC_CHECK_HEADERS([bzlib.h]) + HAVE_LIBBZ2="$ac_cv_header_bzlib_h" + fi dnl Look for SQLite, a required dependency. PKG_CHECK_MODULES([SQLITE3], [sqlite3 >= 3.6.19]) @@ -169,6 +170,7 @@ if test "x$guix_build_daemon" = "xyes"; then [chmod +x nix/scripts/offload]) fi +AM_CONDITIONAL([HAVE_LIBBZ2], [test "x$HAVE_LIBBZ2" = "xyes"]) AM_CONDITIONAL([BUILD_DAEMON], [test "x$guix_build_daemon" = "xyes"]) AM_CONDITIONAL([BUILD_DAEMON_OFFLOAD], \ [test "x$guix_build_daemon" = "xyes" \ diff --git a/nix/libstore/build.cc b/nix/libstore/build.cc index 5bf3e3aacb..275d6a5f7c 100644 --- a/nix/libstore/build.cc +++ b/nix/libstore/build.cc @@ -32,7 +32,10 @@ #include #include -#include + +#if HAVE_BZLIB_H +# include +#endif /* Includes required for chroot support. */ #if HAVE_SYS_PARAM_H @@ -746,7 +749,9 @@ private: /* File descriptor for the log file. */ FILE * fLogFile; gzFile gzLogFile; +#if HAVE_BZLIB_H BZFILE * bzLogFile; +#endif AutoCloseFD fdLogFile; /* Number of bytes received from the builder's stdout/stderr. */ @@ -895,7 +900,9 @@ DerivationGoal::DerivationGoal(const Path & drvPath, const StringSet & wantedOut , retrySubstitution(false) , fLogFile(0) , gzLogFile(0) +#if HAVE_BZLIB_H , bzLogFile(0) +#endif , useChroot(false) , buildMode(buildMode) { @@ -2620,6 +2627,7 @@ Path DerivationGoal::openLogFile() return logFileName; } +#if HAVE_BZLIB_H case COMPRESSION_BZIP2: { Path logFileName = (format("%1%/%2%.bz2") % dir % string(baseName, 2)).str(); AutoCloseFD fd = open(logFileName.c_str(), O_CREAT | O_WRONLY | O_TRUNC, 0666); @@ -2635,6 +2643,7 @@ Path DerivationGoal::openLogFile() return logFileName; } +#endif case COMPRESSION_NONE: { Path logFileName = (format("%1%/%2%") % dir % string(baseName, 2)).str(); @@ -2657,12 +2666,14 @@ void DerivationGoal::closeLogFile() gzLogFile = NULL; if (err != Z_OK) throw Error(format("cannot close compressed log file (gzip error = %1%)") % err); } +#if HAVE_BZLIB_H else if (bzLogFile) { int err; BZ2_bzWriteClose(&err, bzLogFile, 0, 0, 0); bzLogFile = 0; if (err != BZ_OK) throw Error(format("cannot close compressed log file (BZip2 error = %1%)") % err); } +#endif if (fLogFile) { fclose(fLogFile); @@ -2732,10 +2743,12 @@ void DerivationGoal::handleChildOutput(int fd, const string & data) count = gzwrite(gzLogFile, data.data(), data.size()); if (count == 0) throw Error(format("cannot write to compressed log file (gzip error = %1%)") % gzerror(gzLogFile, &err)); } +#if HAVE_BZLIB_H } else if (bzLogFile) { int err; BZ2_bzWrite(&err, bzLogFile, (unsigned char *) data.data(), data.size()); if (err != BZ_OK) throw Error(format("cannot write to compressed log file (BZip2 error = %1%)") % err); +#endif } else if (fdLogFile != -1) writeFull(fdLogFile, data); } diff --git a/nix/libstore/globals.cc b/nix/libstore/globals.cc index 82d528dc98..4ab6c3a0f9 100644 --- a/nix/libstore/globals.cc +++ b/nix/libstore/globals.cc @@ -45,7 +45,11 @@ Settings::Settings() useSshSubstituter = false; impersonateLinux26 = false; keepLog = true; +#if HAVE_BZLIB_H logCompression = COMPRESSION_BZIP2; +#else + logCompression = COMPRESSION_GZIP; +#endif maxLogSize = 0; cacheFailure = false; pollInterval = 5; diff --git a/nix/libstore/globals.hh b/nix/libstore/globals.hh index 81cf2f52d4..2439936959 100644 --- a/nix/libstore/globals.hh +++ b/nix/libstore/globals.hh @@ -1,5 +1,6 @@ #pragma once +#include "config.h" #include "types.hh" #include @@ -11,8 +12,10 @@ namespace nix { enum CompressionType { COMPRESSION_NONE = 0, - COMPRESSION_GZIP = 1, - COMPRESSION_BZIP2 = 2 + COMPRESSION_GZIP = 1 +#if HAVE_BZLIB_H + , COMPRESSION_BZIP2 = 2 +#endif }; struct Settings { diff --git a/nix/local.mk b/nix/local.mk index d802da6170..4452301c63 100644 --- a/nix/local.mk +++ b/nix/local.mk @@ -132,7 +132,7 @@ guix_daemon_CPPFLAGS = \ -I$(top_srcdir)/%D%/libstore guix_daemon_LDADD = \ - libstore.a libutil.a libformat.a -lz -lbz2 \ + libstore.a libutil.a libformat.a -lz \ $(SQLITE3_LIBS) $(LIBGCRYPT_LIBS) guix_daemon_headers = \ @@ -149,9 +149,15 @@ guix_register_CPPFLAGS = \ # XXX: Should we start using shared libs? guix_register_LDADD = \ - libstore.a libutil.a libformat.a -lz -lbz2 \ + libstore.a libutil.a libformat.a -lz \ $(SQLITE3_LIBS) $(LIBGCRYPT_LIBS) +if HAVE_LIBBZ2 + +guix_daemon_LDADD += -lbz2 +guix_register_LDADD += -lbz2 + +endif HAVE_LIBBZ2 noinst_HEADERS = \ $(libformat_headers) $(libutil_headers) $(libstore_headers) \ diff --git a/nix/nix-daemon/guix-daemon.cc b/nix/nix-daemon/guix-daemon.cc index a1ef90dfdc..b71b100f6c 100644 --- a/nix/nix-daemon/guix-daemon.cc +++ b/nix/nix-daemon/guix-daemon.cc @@ -206,8 +206,10 @@ parse_opt (int key, char *arg, struct argp_state *state) settings.logCompression = COMPRESSION_NONE; else if (strcmp (arg, "gzip") == 0) settings.logCompression = COMPRESSION_GZIP; +#if HAVE_BZLIB_H else if (strcmp (arg, "bzip2") == 0) settings.logCompression = COMPRESSION_BZIP2; +#endif else { fprintf (stderr, _("error: %s: unknown compression type\n"), arg); From 06e3a5181efa0ea83bb6608d3cbfba5caa56d7e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 5 Jan 2018 17:56:10 +0100 Subject: [PATCH 045/185] doc: Mark zlib as mandatory, libbz2 as optional. * doc/guix.texi (Requirements): Move zlib to mandatory and libbz2 to optional. * README: Ditto. --- README | 3 ++- doc/guix.texi | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/README b/README index 4192eb4129..d96a43bbef 100644 --- a/README +++ b/README @@ -25,13 +25,14 @@ GNU Guix currently depends on the following packages: - [[https://www.gnu.org/software/make/][GNU Make]] - [[https://www.gnutls.org][GnuTLS]] compiled with guile support enabled. - [[https://gitlab.com/guile-git/guile-git][Guile-Git]] + - [[http://www.zlib.net/][zlib]] - optionally [[https://savannah.nongnu.org/projects/guile-json/][Guile-JSON]], for the 'guix import pypi' command Unless `--disable-daemon' was passed, the following packages are needed: - [[https://sqlite.org/][SQLite 3]] - - [[http://www.bzip.org][libbz2]] - [[https://gcc.gnu.org][GCC's g++]] + - optionally [[http://www.bzip.org][libbz2]] When `--disable-daemon' was passed, you instead need the following: diff --git a/doc/guix.texi b/doc/guix.texi index ca3f614042..90d6f7665c 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -605,6 +605,7 @@ Guile,, gnutls-guile, GnuTLS-Guile}); @c FIXME: Specify a version number once a release has been made. @uref{https://gitlab.com/guile-git/guile-git, Guile-Git}, from August 2017 or later; +@item @url{http://zlib.net, zlib}; @item @url{http://www.gnu.org/software/make/, GNU Make}. @end itemize @@ -626,8 +627,8 @@ Support for build offloading (@pxref{Daemon Offload Setup}) and version 0.10.2 or later. @item -When @url{http://zlib.net, zlib} is available, @command{guix publish} -can compress build byproducts (@pxref{Invoking guix publish}). +When @url{http://www.bzip.org, libbz2} is available, +@command{guix-daemon} can use it to compress build logs. @end itemize Unless @code{--disable-daemon} was passed to @command{configure}, the @@ -635,7 +636,6 @@ following packages are also needed: @itemize @item @url{http://sqlite.org, SQLite 3}; -@item @url{http://www.bzip.org, libbz2}; @item @url{http://gcc.gnu.org, GCC's g++}, with support for the C++11 standard. @end itemize From 152b7beeacb72fe96fd5d3c0fd8b321e247c2c6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 5 Jan 2018 00:15:51 +0100 Subject: [PATCH 046/185] publish: Use 'x-raw-file' internal response header. This adjusts the workaround for so that it's not limited to a single content-type. * guix/scripts/publish.scm (render-nar/cached): Add the 'x-raw-file' header on the response. (render-content-addressed-file): Likewise. (with-content-length): Remove the 'x-raw-file' header. (http-write): Instead of dispatching on 'application/octet-stream', check whether 'x-raw-file' is set to determine whether to spawn a thread. --- guix/scripts/publish.scm | 86 +++++++++++++++++++++------------------- 1 file changed, 45 insertions(+), 41 deletions(-) diff --git a/guix/scripts/publish.scm b/guix/scripts/publish.scm index 3f3bc26972..3f73197239 100644 --- a/guix/scripts/publish.scm +++ b/guix/scripts/publish.scm @@ -544,11 +544,12 @@ return it; otherwise, return 404." #:compression compression))) (if (file-exists? cached) (values `((content-type . (application/octet-stream - (charset . "ISO-8859-1")))) - ;; XXX: We're not returning the actual contents, deferring - ;; instead to 'http-write'. This is a hack to work around - ;; . - cached) + (charset . "ISO-8859-1"))) + ;; XXX: We're not returning the actual contents, deferring + ;; instead to 'http-write'. This is a hack to work around + ;; . + (x-raw-file . ,cached)) + #f) (not-found request)))) (define (render-content-addressed-file store request @@ -562,11 +563,12 @@ has the given HASH of type ALGO." #:recursive? #f))) (if (valid-path? store item) (values `((content-type . (application/octet-stream - (charset . "ISO-8859-1")))) - ;; XXX: We're not returning the actual contents, deferring - ;; instead to 'http-write'. This is a hack to work around - ;; . - item) + (charset . "ISO-8859-1"))) + ;; XXX: We're not returning the actual contents, + ;; deferring instead to 'http-write'. This is a hack to + ;; work around . + (x-raw-file . ,item)) + #f) (not-found request))) (not-found request))) @@ -622,9 +624,9 @@ example: \"/foo/bar\" yields '(\"foo\" \"bar\")." "Return RESPONSE with a 'content-length' header set to LENGTH." (set-field response (response-headers) (alist-cons 'content-length length - (alist-delete 'content-length - (response-headers response) - eq?)))) + (fold alist-delete + (response-headers response) + '(content-length x-raw-file))))) (define-syntax-rule (swallow-EPIPE exp ...) "Swallow EPIPE errors raised by EXP..." @@ -685,35 +687,37 @@ blocking." (swallow-zlib-error (close-port port)) (values))))) - (('application/octet-stream . _) - ;; Send a raw file in a separate thread. - (call-with-new-thread - (lambda () - (set-thread-name "publish file") - (catch 'system-error - (lambda () - (call-with-input-file (utf8->string body) - (lambda (input) - (let* ((size (stat:size (stat input))) - (response (write-response (with-content-length response - size) - client)) - (output (response-port response))) - (if (file-port? output) - (sendfile output input size) - (dump-port input output)) - (close-port output) - (values))))) - (lambda args - ;; If the file was GC'd behind our back, that's fine. Likewise if - ;; the client closes the connection. - (unless (memv (system-error-errno args) - (list ENOENT EPIPE ECONNRESET)) - (apply throw args)) - (values)))))) (_ - ;; Handle other responses sequentially. - (%http-write server client response body)))) + (match (assoc-ref (response-headers response) 'x-raw-file) + ((? string? file) + ;; Send a raw file in a separate thread. + (call-with-new-thread + (lambda () + (set-thread-name "publish file") + (catch 'system-error + (lambda () + (call-with-input-file file + (lambda (input) + (let* ((size (stat:size (stat input))) + (response (write-response (with-content-length response + size) + client)) + (output (response-port response))) + (if (file-port? output) + (sendfile output input size) + (dump-port input output)) + (close-port output) + (values))))) + (lambda args + ;; If the file was GC'd behind our back, that's fine. Likewise if + ;; the client closes the connection. + (unless (memv (system-error-errno args) + (list ENOENT EPIPE ECONNRESET)) + (apply throw args)) + (values)))))) + (#f + ;; Handle other responses sequentially. + (%http-write server client response body)))))) (define-server-impl concurrent-http-server ;; A variant of Guile's built-in HTTP server that offloads possibly long From c04ffadbed7412545555b8be6b78f23eed150d26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 5 Jan 2018 00:19:35 +0100 Subject: [PATCH 047/185] publish: Publish build logs. * guix/scripts/publish.scm (render-log-file): New procedure. (make-request-handler): Add "log" case. * tests/publish.scm ("/log/NAME") ("/log/NAME not found"): New tests. * doc/guix.texi (Invoking guix publish): Document /log URLs. --- doc/guix.texi | 17 +++++++++++++++++ guix/scripts/publish.scm | 29 +++++++++++++++++++++++++++++ tests/publish.scm | 28 ++++++++++++++++++++++++++++ 3 files changed, 74 insertions(+) diff --git a/doc/guix.texi b/doc/guix.texi index 90d6f7665c..f51593ada1 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -5676,6 +5676,7 @@ collection as soon as the build completes. @xref{Invoking guix gc}, for more on GC roots. @item --log-file +@cindex build logs, access Return the build log file names or URLs for the given @var{package-or-derivation}, or raise an error if build logs are missing. @@ -7238,6 +7239,22 @@ http://example.org/file/hello-2.10.tar.gz/sha256/0ssi1@dots{}ndq1i Obviously, these URLs only work for files that are in the store; in other cases, they return 404 (``Not Found''). +@cindex build logs, publication +Build logs are available from @code{/log} URLs like: + +@example +http://example.org/log/gwspk@dots{}-guile-2.2.3 +@end example + +@noindent +When @command{guix-daemon} is configured to save compressed build logs, +as is the case by default (@pxref{Invoking guix-daemon}), @code{/log} +URLs return the compressed log as-is, with an appropriate +@code{Content-Type} and/or @code{Content-Encoding} header. We recommend +running @command{guix-daemon} with @code{--log-compression=gzip} since +Web browsers can automatically decompress it, which is not the case with +bzip2 compression. + The following options are available: @table @code diff --git a/guix/scripts/publish.scm b/guix/scripts/publish.scm index 3f73197239..6eb5397c8d 100644 --- a/guix/scripts/publish.scm +++ b/guix/scripts/publish.scm @@ -572,6 +572,31 @@ has the given HASH of type ALGO." (not-found request))) (not-found request))) +(define (render-log-file store request name) + "Render the log file for NAME, the base name of a store item. Don't attempt +to compress or decompress the log file; just return it as-is." + (define (response-headers file) + ;; XXX: We're not returning the actual contents, deferring instead to + ;; 'http-write'. This is a hack to work around + ;; . + (cond ((string-suffix? ".gz" file) + `((content-type . (text/plain (charset . "UTF-8"))) + (content-encoding . (gzip)) + (x-raw-file . ,file))) + ((string-suffix? ".bz2" file) + `((content-type . (application/x-bzip2 + (charset . "ISO-8859-1"))) + (x-raw-file . ,file))) + (else ;uncompressed + `((content-type . (text/plain (charset . "UTF-8"))) + (x-raw-file . ,file))))) + + (let ((log (log-file store + (string-append (%store-prefix) "/" name)))) + (if log + (values (response-headers log) log) + (not-found request)))) + (define (render-home-page request) "Render the home page." (values `((content-type . (text/html (charset . "UTF-8")))) @@ -772,6 +797,10 @@ blocking." (render-content-addressed-file store request name 'sha256 hash)))) + ;; /log/OUTPUT + (("log" name) + (render-log-file store request name)) + ;; Use different URLs depending on the compression type. This ;; guarantees that /nar URLs remain valid even when 'guix publish' ;; is restarted with different compression parameters. diff --git a/tests/publish.scm b/tests/publish.scm index 352caf5325..bd1a75cf00 100644 --- a/tests/publish.scm +++ b/tests/publish.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 David Thompson +;;; Copyright © 2016, 2017, 2018 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -439,4 +440,31 @@ FileSize: ~a~%" (assoc-ref narinfo "FileSize")) (response-code compressed)))))))))) +(test-equal "/log/NAME" + `(200 #t application/x-bzip2) + (let ((drv (run-with-store %store + (gexp->derivation "with-log" + #~(call-with-output-file #$output + (lambda (port) + (display "Hello, build log!" + (current-error-port)) + (display "" port))))))) + (build-derivations %store (list drv)) + (let* ((response (http-get + (publish-uri (string-append "/log/" + (basename (derivation->output-path drv)))) + #:decode-body? #f)) + (base (basename (derivation-file-name drv))) + (log (string-append (dirname %state-directory) + "/log/guix/drvs/" (string-take base 2) + "/" (string-drop base 2) ".bz2"))) + (list (response-code response) + (= (response-content-length response) (stat:size (stat log))) + (first (response-content-type response)))))) + +(test-equal "/log/NAME not found" + 404 + (let ((uri (publish-uri "/log/does-not-exist"))) + (response-code (http-get uri)))) + (test-end "publish") From 18a4d6df24b135d7bb448f799acc85d838c99bfd Mon Sep 17 00:00:00 2001 From: Fis Trivial Date: Sun, 31 Dec 2017 17:35:41 +0000 Subject: [PATCH 048/185] gnu: Add python-pyhamcrest. * gnu/packages/check.scm (python-pyhamcrest, python2-pyhamcrest): New variables. Signed-off-by: Kei Kebreau --- gnu/packages/check.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 05ed3eea32..40cce18f92 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -1766,3 +1766,37 @@ retried.") (define-public python2-flaky (package-with-python2 python-flaky)) + +(define-public python-pyhamcrest + (package + (name "python-pyhamcrest") + (version "1.9.0") + (source (origin + (method url-fetch) + (uri + (string-append + "https://github.com/hamcrest/PyHamcrest/archive/V" + version + ".tar.gz")) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1lqjajhwf7x7igvvnj5p1cm31y9njy07qby94w18kl6zwbdjqrwy")))) + (native-inputs ; All native inputs are for tests + `(("python-pytest-cov" ,python-pytest-cov) + ("python-mock" ,python-mock) + ("python-pytest" ,python-pytest-3.0) + ("python-hypothesis" ,python-hypothesis))) + (propagated-inputs + `(("python-six" ,python-six))) + (build-system python-build-system) + (home-page "http://hamcrest.org/") + (synopsis "Hamcrest matchers for Python") + (description + "PyHamcrest is a framework for writing matcher objects, + allowing you to declaratively define \"match\" rules.") + (license license:bsd-3))) + +(define-public python2-pyhamcrest + (package-with-python2 python-pyhamcrest)) From 9268a3c4dfb4efaa6c2d7c0d2b0267204ee5ed5b Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Sun, 7 Jan 2018 22:04:30 -0500 Subject: [PATCH 049/185] gnu: Add missing copyright line. * gnu/packages/check.scm: Add copyright line for 18a4d6d. --- gnu/packages/check.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 40cce18f92..76fb1dc3ff 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -27,6 +27,7 @@ ;;; Copyright © 2015, 2017 Ricardo Wurmus ;;; Copyright © 2016, 2017 Marius Bakke ;;; Copyright © 2017 Ludovic Courtès +;;; Copyright © 2018 Fis Trivial ;;; ;;; This file is part of GNU Guix. ;;; From c6220b13014f47a0aeb29975cdcf3c3b2b880b9d Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 30 Dec 2017 16:40:23 +0000 Subject: [PATCH 050/185] gnu: Add libb2. * gnu/packages/crypto.scm (libb2): New public variable. --- gnu/packages/crypto.scm | 44 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index 1ac704ddb8..4ecdaa8f7f 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2015, 2017 Ricardo Wurmus ;;; Copyright © 2016, 2017 Leo Famulari ;;; Copyright © 2016 Lukas Gradl -;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice +;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2016, 2017 ng0 ;;; Copyright © 2016, 2017 Eric Bavier ;;; Copyright © 2017 Pierre Langlois @@ -612,3 +612,45 @@ data on your platform, so the seed itself will be as random as possible. ;; files in the compilation are in the public domain. (license (list license:boost1.0 license:public-domain)))) +(define-public libb2 + (let ((revision "1") ; upstream doesn't ‘do’ releases + (commit "60ea749837362c226e8501718f505ab138e5c19d")) + (package + (name "libb2") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/BLAKE2/libb2") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "07a2m8basxrsj9dsp5lj24y8jraj85lfy56756a7za1nfkgy04z7")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool))) + (arguments + `(#:configure-flags + (list "--enable-fat" ; detect optimisations at run time... + "--disable-native") ; ...not build time + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'bootstrap + (lambda _ + (invoke "sh" "autogen.sh")))))) + (home-page "https://blake2.net/") + (synopsis "Library implementing the BLAKE2 family of hash functions") + (description + "libb2 is a portable implementation of the BLAKE2 family of cryptographic +hash functions. It includes optimised implementations for IA-32 and AMD64 +processors, and an interface layer that automatically selects the best +implementation for the processor it is run on. + +@dfn{BLAKE2} (RFC 7693) is a family of high-speed cryptographic hash functions +that are faster than MD5, SHA-1, SHA-2, and SHA-3, yet are at least as secure +as the latest standard, SHA-3. It is an improved version of the SHA-3 finalist +BLAKE.") + (license license:public-domain)))) From 19278d8da97f1efb283666dd40a873dfdc6bb9e8 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 30 Dec 2017 16:03:37 +0000 Subject: [PATCH 051/185] gnu: borg: Unbundle libb2. * gnu/packages/backup.scm (borg)[source]: Remove bundled libb2 in snippet. [inputs]: Add libb2. [arguments]: Use it. --- gnu/packages/backup.scm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 2fba1a9e76..cfeaa207be 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2014, 2015 Eric Bavier ;;; Copyright © 2014 Ian Denhardt ;;; Copyright © 2015, 2016, 2017 Leo Famulari -;;; Copyright © 2017 Tobias Geerinckx-Rice +;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2017 Thomas Danckaert ;;; Copyright © 2017 Arun Isaac ;;; Copyright © 2017 Kei Kebreau @@ -37,6 +37,7 @@ #:use-module (gnu packages base) #:use-module (gnu packages check) #:use-module (gnu packages compression) + #:use-module (gnu packages crypto) #:use-module (gnu packages databases) #:use-module (gnu packages dejagnu) #:use-module (gnu packages ftp) @@ -483,7 +484,7 @@ detection, and lossless compression.") ;; Remove bundled shared libraries. (with-directory-excursion "src/borg/algorithms" (for-each delete-file-recursively - (list "lz4" "zstd"))))))) + (list "blake2" "lz4" "zstd"))))))) (build-system python-build-system) (arguments `(#:modules ((srfi srfi-26) ; for cut @@ -494,9 +495,11 @@ detection, and lossless compression.") (add-after 'unpack 'set-env (lambda* (#:key inputs #:allow-other-keys) (let ((openssl (assoc-ref inputs "openssl")) + (libb2 (assoc-ref inputs "libb2")) (lz4 (assoc-ref inputs "lz4")) (zstd (assoc-ref inputs "zstd"))) (setenv "BORG_OPENSSL_PREFIX" openssl) + (setenv "BORG_LIBB2_PREFIX" libb2) (setenv "BORG_LIBLZ4_PREFIX" lz4) (setenv "BORG_LIBZSTD_PREFIX" zstd) (setenv "PYTHON_EGG_CACHE" "/tmp") @@ -558,6 +561,7 @@ detection, and lossless compression.") ("python-guzzle-sphinx-theme" ,python-guzzle-sphinx-theme))) (inputs `(("acl" ,acl) + ("libb2" ,libb2) ("lz4" ,lz4) ("openssl" ,openssl) ("python-llfuse" ,python-llfuse) From aba7d8e7e17c281d68fd18b97767998956ff127b Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 8 Jan 2018 02:03:15 +0000 Subject: [PATCH 052/185] gnu: nano: Update to 2.9.2. * gnu/packages/nano.scm (nano): Update to 2.9.2. --- gnu/packages/nano.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/nano.scm b/gnu/packages/nano.scm index c96c74bdcf..06955c60ab 100644 --- a/gnu/packages/nano.scm +++ b/gnu/packages/nano.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2012 Nikita Karetnikov ;;; Copyright © 2015, 2016, 2017 Efraim Flashner ;;; Copyright © 2016 Rene Saavedra +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -29,7 +30,7 @@ (define-public nano (package (name "nano") - (version "2.9.1") + (version "2.9.2") (source (origin (method url-fetch) @@ -37,7 +38,7 @@ version ".tar.xz")) (sha256 (base32 - "0z5sxji8jh8sh0g3inbzndhsrbm4qyqlvjrxl5wkxbr61lnxa5k3")))) + "0m9xm085pi0fhmmshgppipjimr1jkxksbyg8pa5cwaap3d2vgk2f")))) (build-system gnu-build-system) (inputs `(("gettext" ,gettext-minimal) From 50b97d1a800a4bcf7b8b660d29f7e6a2ffb18650 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 8 Jan 2018 06:46:43 +0000 Subject: [PATCH 053/185] gnu: youtube-dl: Update to 2018.01.07. * gnu/packages/video.scm (youtube-dl): Update to 2018.01.07. --- gnu/packages/video.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 77a82bb9db..d17a282e1e 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -15,7 +15,7 @@ ;;; Copyright © 2016 Eric Bavier ;;; Copyright © 2016 Jan Nieuwenhuizen ;;; Copyright © 2017 Feng Shu -;;; Copyright © 2017 Tobias Geerinckx-Rice +;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2017 Chris Marusich ;;; Copyright © 2017 Thomas Danckaert ;;; Copyright © 2017 Ethan R. Jones @@ -1150,7 +1150,7 @@ access to mpv's powerful playback capabilities.") (define-public youtube-dl (package (name "youtube-dl") - (version "2017.12.31") + (version "2018.01.07") (source (origin (method url-fetch) (uri (string-append "https://yt-dl.org/downloads/" @@ -1158,7 +1158,7 @@ access to mpv's powerful playback capabilities.") version ".tar.gz")) (sha256 (base32 - "0cq10ii96lpq3z7l1js0s59sqb4h4yqwdqinl2yf7cdjynvj62xi")))) + "1dp1yk93mngih50p1zjbh8bi5pqh10wicjcmmrdp73cpcp2i2398")))) (build-system python-build-system) (arguments ;; The problem here is that the directory for the man page and completion From 2b778b27c97b732a8e0f49aa09085d80421ffd26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 8 Jan 2018 00:33:51 +0100 Subject: [PATCH 054/185] gnu: guix: Update snapshot to c04ffad. * gnu/packages/package-management.scm (guix): Update to c04ffad. --- gnu/packages/package-management.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 36c943f35a..b5cc535f26 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -87,8 +87,8 @@ ;; Note: the 'update-guix-package.scm' script expects this definition to ;; start precisely like this. (let ((version "0.14.0") - (commit "f76ff984ebdbed18fce4fe2a62cee73d0ccd8140") - (revision 3)) + (commit "c04ffadbed7412545555b8be6b78f23eed150d26") + (revision 4)) (package (name "guix") @@ -104,7 +104,7 @@ (commit commit))) (sha256 (base32 - "1sslkcp14vx0fa3lmy7mx96z8slhq7qli0d6cvc7h39dbpkzs2ni")) + "1f1p58nfzggxglxrnhxg137dhpj5p8w58969q9qi2nc4hx4i263g")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments From 4b3070f76db91475edbd405e4f1b3e4d2e8d9dff Mon Sep 17 00:00:00 2001 From: Fis Trivial Date: Wed, 27 Dec 2017 14:32:43 +0000 Subject: [PATCH 055/185] gnu: Add rtags. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/code.scm (rtags): New public variable. Co-authored-by: Ludovic Courtès --- gnu/packages/code.scm | 44 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 42 insertions(+), 2 deletions(-) diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index a094f0a465..81e3ae6b64 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -1,11 +1,12 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2015 Ludovic Courtès +;;; Copyright © 2013, 2015, 2018 Ludovic Courtès ;;; Copyright © 2015 Andreas Enge ;;; Copyright © 2015 Ricardo Wurmus ;;; Copyright © 2016, 2017 Efraim Flashner ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2017 Clément Lassieur ;;; Copyright © 2017 Andy Wingo +;;; Copyright © 2018 Fis Trivial ;;; ;;; This file is part of GNU Guix. ;;; @@ -25,6 +26,7 @@ (define-module (gnu packages code) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) @@ -39,7 +41,9 @@ #:use-module (gnu packages texinfo) #:use-module (gnu packages autogen) #:use-module (gnu packages ncurses) - #:use-module (gnu packages autotools)) + #:use-module (gnu packages autotools) + #:use-module (gnu packages llvm) + #:use-module (gnu packages bash)) ;;; Tools to deal with source code: metrics, cross-references, etc. @@ -383,3 +387,39 @@ case. The extension consists of a set of Perl scripts which build on the textual @command{gcov} output to implement the following enhanced functionality such as HTML output.") (license license:gpl2+))) + +(define-public rtags + (package + (name "rtags") + (version "2.16") + (home-page "https://github.com/Andersbakken/rtags") + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit "8ef7554852541eced514c56d5e39d6073f7a2ef9") + + ;; FIXME: This fetches bundled copies of Lua, RCT, and + ;; Selene. + (recursive? #t))) + (sha256 + (base32 + "12r7lsqdmcbs9864a6dpblvifqvmfxhvxippyhfnnm2ai5ra80nc")) + (file-name (git-file-name name version)))) + (build-system cmake-build-system) + (arguments + '(#:configure-flags '("-DBUILD_TESTING=FALSE" + "-DRTAGS_NO_ELISP_FILES=1") + #:tests? #f)) + (inputs + `(("clang" ,clang) + ("llvm" ,llvm) + ("bash-completion" ,bash-completion))) + (synopsis "Indexer for the C language family with Emacs integration") + (description + "RTags is a client/server application that indexes C/C++ code and keeps a +persistent file-based database of references, declarations, definitions, +symbolnames etc. There’s also limited support for ObjC/ObjC++. It allows you +to find symbols by name (including nested class and namespace scope). Most +importantly we give you proper follow-symbol and find-references support.") + (license license:gpl3+))) From 767d24e83b0fdd1ee6f0f54333412328e858174e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Reich=C3=B6r?= Date: Fri, 29 Dec 2017 22:00:18 +0100 Subject: [PATCH 056/185] gnu: Add html-xml-utils. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/xml.scm (html-xml-utils): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/xml.scm | 56 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index 344d7c347f..23b447502b 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -18,6 +18,7 @@ ;;; Copyright © 2017 Gregor Giesen ;;; Copyright © 2017 Alex Vong ;;; Copyright © 2017 Petter +;;; Copyright © 2017 Stefan Reichör ;;; ;;; This file is part of GNU Guix. ;;; @@ -1116,6 +1117,61 @@ match and extract data, and elements can be added, deleted or modified using XSLT and EXSLT.") (license license:x11))) +(define-public html-xml-utils + (package + (name "html-xml-utils") + (version "7.4") + (source + (origin + (method url-fetch) + (uri (string-append + "https://www.w3.org/Tools/HTML-XML-utils/html-xml-utils-" + version ".tar.gz")) + (sha256 + (base32 + "04pgrahsfawnzd9pilvirs05pfdgsd7qwvw4dvkb42rgybhw6h95")))) + (build-system gnu-build-system) + (home-page "https://www.w3.org/Tools/HTML-XML-utils/") + (synopsis "Command line utilities to manipulate HTML and XML files") + (description "HTML-XML-utils provides a number of simple utilities for +manipulating and converting HTML and XML files in various ways. The suite +consists of the following tools: + +@itemize + @item @command{asc2xml} convert from @code{UTF-8} to @code{&#nnn;} entities + @item @command{xml2asc} convert from @code{&#nnn;} entities to @code{UTF-8} + @item @command{hxaddid} add IDs to selected elements + @item @command{hxcite} replace bibliographic references by hyperlinks + @item @command{hxcite} mkbib - expand references and create bibliography + @item @command{hxclean} apply heuristics to correct an HTML file + @item @command{hxcopy} copy an HTML file while preserving relative links + @item @command{hxcount} count elements and attributes in HTML or XML files + @item @command{hxextract} extract selected elements + @item @command{hxincl} expand included HTML or XML files + @item @command{hxindex} create an alphabetically sorted index + @item @command{hxmkbib} create bibliography from a template + @item @command{hxmultitoc} create a table of contents for a set of HTML files + @item @command{hxname2id} move some @code{ID=} or @code{NAME=} from A +elements to their parents + @item @command{hxnormalize} pretty-print an HTML file + @item @command{hxnsxml} convert output of hxxmlns back to normal XML + @item @command{hxnum} number section headings in an HTML file + @item @command{hxpipe} convert XML to a format easier to parse with Perl or AWK + @item @command{hxprintlinks} number links and add table of URLs at end of an HTML file + @item @command{hxprune} remove marked elements from an HTML file + @item @command{hxref} generate cross-references + @item @command{hxselect} extract elements that match a (CSS) selector + @item @command{hxtoc} insert a table of contents in an HTML file + @item @command{hxuncdata} replace CDATA sections by character entities + @item @command{hxunent} replace HTML predefined character entities to @code{UTF-8} + @item @command{hxunpipe} convert output of pipe back to XML format + @item @command{hxunxmlns} replace \"global names\" by XML Namespace prefixes + @item @command{hxwls} list links in an HTML file + @item @command{hxxmlns} replace XML Namespace prefixes by \"global names\" +@end itemize +") + (license license:expat))) + (define-public xlsx2csv (package (name "xlsx2csv") From f4596f7630ba8d281b972ebd40fd9947ef79e957 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 8 Jan 2018 10:38:39 +0100 Subject: [PATCH 057/185] services: guix: Add 'log-compression' option. * gnu/services/base.scm ()[log-compression]: New field. (guix-shepherd-service): Use 'match-record' instead of 'match'. Honor 'log-compression'. * doc/guix.texi (Base Services): Document 'log-compression'. --- .dir-locals.el | 1 + doc/guix.texi | 4 +++ gnu/services/base.scm | 64 +++++++++++++++++++++---------------------- 3 files changed, 37 insertions(+), 32 deletions(-) diff --git a/.dir-locals.el b/.dir-locals.el index 949f7e0bc8..dac6cb1453 100644 --- a/.dir-locals.el +++ b/.dir-locals.el @@ -24,6 +24,7 @@ (eval . (put 'guard 'scheme-indent-function 1)) (eval . (put 'lambda* 'scheme-indent-function 1)) (eval . (put 'substitute* 'scheme-indent-function 1)) + (eval . (put 'match-record 'scheme-indent-function 2)) ;; 'modify-phases' and its keywords. (eval . (put 'modify-phases 'scheme-indent-function 1)) diff --git a/doc/guix.texi b/doc/guix.texi index f51593ada1..bde0b5d8d0 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -9929,6 +9929,10 @@ The number of seconds of silence and the number of seconds of activity, respectively, after which a build process times out. A value of zero disables the timeout. +@item @code{log-compression} (default: @code{'bzip2}) +The type of compression used for build logs---one of @code{gzip}, +@code{bzip2}, or @code{none}. + @item @code{extra-options} (default: @code{'()}) List of extra command-line options for @command{guix-daemon}. diff --git a/gnu/services/base.scm b/gnu/services/base.scm index f4681c804d..7c20232a63 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès ;;; Copyright © 2015, 2016 Alex Kost ;;; Copyright © 2015, 2016 Mark H Weaver ;;; Copyright © 2015 Sou Bunnbu @@ -1438,6 +1438,8 @@ failed to register hydra.gnu.org public key: ~a~%" status)))))))) (default 0)) (timeout guix-configuration-timeout ;integer (default 0)) + (log-compression guix-configuration-log-compression + (default 'bzip2)) (extra-options guix-configuration-extra-options ;list of strings (default '())) (log-file guix-configuration-log-file ;string @@ -1452,39 +1454,37 @@ failed to register hydra.gnu.org public key: ~a~%" status)))))))) (define (guix-shepherd-service config) "Return a for the Guix daemon service with CONFIG." - (match config - (($ guix build-group build-accounts - authorize-key? keys - use-substitutes? substitute-urls - max-silent-time timeout - extra-options - log-file http-proxy tmpdir) - (list (shepherd-service - (documentation "Run the Guix daemon.") - (provision '(guix-daemon)) - (requirement '(user-processes)) - (start - #~(make-forkexec-constructor - (list #$(file-append guix "/bin/guix-daemon") - "--build-users-group" #$build-group - "--max-silent-time" #$(number->string max-silent-time) - "--timeout" #$(number->string timeout) - #$@(if use-substitutes? - '() - '("--no-substitutes")) - "--substitute-urls" #$(string-join substitute-urls) - #$@extra-options) + (match-record config + (guix build-group build-accounts authorize-key? authorized-keys + use-substitutes? substitute-urls max-silent-time timeout + log-compression extra-options log-file http-proxy tmpdir) + (list (shepherd-service + (documentation "Run the Guix daemon.") + (provision '(guix-daemon)) + (requirement '(user-processes)) + (start + #~(make-forkexec-constructor + (list #$(file-append guix "/bin/guix-daemon") + "--build-users-group" #$build-group + "--max-silent-time" #$(number->string max-silent-time) + "--timeout" #$(number->string timeout) + "--log-compression" #$(symbol->string log-compression) + #$@(if use-substitutes? + '() + '("--no-substitutes")) + "--substitute-urls" #$(string-join substitute-urls) + #$@extra-options) - #:environment-variables - (list #$@(if http-proxy - (list (string-append "http_proxy=" http-proxy)) - '()) - #$@(if tmpdir - (list (string-append "TMPDIR=" tmpdir)) - '())) + #:environment-variables + (list #$@(if http-proxy + (list (string-append "http_proxy=" http-proxy)) + '()) + #$@(if tmpdir + (list (string-append "TMPDIR=" tmpdir)) + '())) - #:log-file #$log-file)) - (stop #~(make-kill-destructor))))))) + #:log-file #$log-file)) + (stop #~(make-kill-destructor)))))) (define (guix-accounts config) "Return the user accounts and user groups for CONFIG." From 1e63ecee0b5e1d7e4894af5a51cceeba0092693c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 8 Jan 2018 11:45:35 +0100 Subject: [PATCH 058/185] import: crate: Gracefully deal with missing license info. Reported by Fis Trivial . Fixes . * guix/import/crate.scm (crate-fetch): Check whether the "license" info is present. --- guix/import/crate.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/guix/import/crate.scm b/guix/import/crate.scm index 233a20e983..a7485bb4d0 100644 --- a/guix/import/crate.scm +++ b/guix/import/crate.scm @@ -59,7 +59,9 @@ (repository (assoc-ref crate "repository")) (synopsis (assoc-ref crate "description")) (description (assoc-ref crate "description")) - (license (string->license (assoc-ref crate "license"))) + (license (or (and=> (assoc-ref crate "license") + string->license) + '())) ;missing license info (path (string-append "/" version "/dependencies")) (deps-json (json-fetch (string-append crate-url name path))) (deps (assoc-ref deps-json "dependencies")) From c8cee2ef96b93079d3c629f52a6779d68348227e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Sat, 6 Jan 2018 14:13:41 +0800 Subject: [PATCH 059/185] gnu: Add darkstat. * gnu/packages/monitoring.scm (darkstat): New variable. --- gnu/packages/monitoring.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm index c136265c52..f178232cc3 100644 --- a/gnu/packages/monitoring.scm +++ b/gnu/packages/monitoring.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Ludovic Courtès +;;; Copyright © 2018 Sou Bunnbu ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,6 +23,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system perl) #:use-module (guix build-system gnu) + #:use-module (gnu packages admin) #:use-module (gnu packages base) #:use-module (gnu packages compression) #:use-module (gnu packages gd) @@ -122,3 +124,35 @@ etc. via a Web interface. Features include: notification and problem history, log file, etc. @end itemize\n") (license license:gpl2))) + +(define-public darkstat + (package + (name "darkstat") + (version "3.0.719") + (source (origin + (method url-fetch) + (uri (string-append "https://unix4lyfe.org/darkstat/darkstat-" + version ".tar.bz2")) + (sha256 + (base32 + "1mzddlim6dhd7jhr4smh0n2fa511nvyjhlx76b03vx7phnar1bxf")))) + (build-system gnu-build-system) + (arguments '(#:tests? #f)) ; no tests + (inputs + `(("libpcap" ,libpcap) + ("zlib" ,zlib))) + (home-page "https://unix4lyfe.org/darkstat/") + (synopsis "Network statistics gatherer") + (description + "@command{darkstat} is a packet sniffer that runs as a background process, +gathers all sorts of statistics about network usage, and serves them over +HTTP. Features: + +@itemize +@item Traffic graphs, reports per host, shows ports for each host. +@item Embedded web-server with deflate compression. +@item Asynchronous reverse DNS resolution using a child process. +@item Small. Portable. Single-threaded. Efficient. +@item Supports IPv6. +@end itemize") + (license license:gpl2))) From 693b52df68a5fac6683c9a77dcb08ee3364aa225 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Sat, 6 Jan 2018 16:40:32 +0800 Subject: [PATCH 060/185] gnu: services: Add darkstat service. * gnu/services/monitoring.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (Monitoring Services): Document it. --- doc/guix.texi | 42 +++++++++++++++++ gnu/local.mk | 1 + gnu/services/monitoring.scm | 91 +++++++++++++++++++++++++++++++++++++ 3 files changed, 134 insertions(+) create mode 100644 gnu/services/monitoring.scm diff --git a/doc/guix.texi b/doc/guix.texi index bde0b5d8d0..e9ee5127a8 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -14727,6 +14727,48 @@ the 2nd element of the pair is the password. @end deftp +@subsubheading Darkstat Service +@cindex darkstat +Darkstat is a packet sniffer that captures network traffic, calculates +statistics about usage, and serves reports over HTTP. + +@defvar {Scheme Variable} darkstat-service-type +This is the service type for the +@uref{https://unix4lyfe.org/darkstat/, darkstat} +service, its value must be a @code{darkstat-configuration} record as in +this example: + +@example +(service darkstat-service-type + (darkstat-configuration + (interface "eno1"))) +@end example +@end defvar + +@deftp {Data Type} darkstat-configuration +Data type representing the configuration of @command{darkstat}. + +@table @asis +@item @code{package} (default: @code{darkstat}) +The darkstat package to use. + +@item @code{interface} +Capture traffic on the specified network interface. + +@item @code{port} (default: @code{"667"}) +Bind the web interface to the specified port. + +@item @code{bind-address} (default: @code{"127.0.0.1"}) +Bind the web interface to the specified address. + +@item @code{base} (default: @code{"/"}) +Specify the path of the base URL. This can be useful if +@command{darkstat} is accessed via a reverse proxy. + +@end table +@end deftp + + @node Kerberos Services @subsubsection Kerberos Services @cindex Kerberos diff --git a/gnu/local.mk b/gnu/local.mk index d4e8419217..98cad36350 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -460,6 +460,7 @@ GNU_SYSTEM_MODULES = \ %D%/services/mail.scm \ %D%/services/mcron.scm \ %D%/services/messaging.scm \ + %D%/services/monitoring.scm \ %D%/services/networking.scm \ %D%/services/nfs.scm \ %D%/services/shepherd.scm \ diff --git a/gnu/services/monitoring.scm b/gnu/services/monitoring.scm new file mode 100644 index 0000000000..49a65db4b5 --- /dev/null +++ b/gnu/services/monitoring.scm @@ -0,0 +1,91 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2018 Sou Bunnbu +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu services monitoring) + #:use-module (gnu services) + #:use-module (gnu services shepherd) + #:use-module (gnu packages admin) + #:use-module (gnu packages monitoring) + #:use-module (gnu system shadow) + #:use-module (guix gexp) + #:use-module (guix records) + #:use-module (ice-9 match) + #:export (darkstat-configuration + darkstat-service-type)) + + +;;; +;;; darkstat +;;; + +(define-record-type* + darkstat-configuration make-darkstat-configuration darkstat-configuration? + (package darkstat-configuration-package + (default darkstat)) + (interface darkstat-configuration-interface) + (port darkstat-configuration-port + (default "667")) + (bind-address darkstat-configuration-bind-address + (default "127.0.0.1")) + (base darkstat-configuration-base + (default "/"))) + +(define %darkstat-accounts + (list (user-account + (name "darkstat") + (group "darkstat") + (system? #t) + (comment "darkstat daemon user") + (home-directory "/var/lib/darkstat") + (shell (file-append shadow "/sbin/nologin"))) + (user-group + (name "darkstat") + (system? #t)))) + +(define darkstat-shepherd-service + (match-lambda + (($ + package interface port bind-address base) + (shepherd-service + (documentation "Network statistics gatherer.") + (provision '(darkstat)) + (requirement '(networking)) + (start #~(make-forkexec-constructor + (list #$(file-append package "/sbin/darkstat") + "-i" #$interface + "-p" #$port + "-b" #$bind-address + "--base" #$base + "--syslog" "--no-daemon" + "--chroot" "/var/lib/darkstat" + "--user" "darkstat" + "--import" "darkstat.db" + "--export" "darkstat.db"))) + (stop #~(make-kill-destructor)))))) + +(define darkstat-service-type + (service-type + (name 'darkstat) + (description + "Run @command{darkstat} to serve network traffic statictics reports over +HTTP.") + (extensions + (list (service-extension account-service-type + (const %darkstat-accounts)) + (service-extension shepherd-root-service-type + (compose list darkstat-shepherd-service)))))) From 2c5150ba2a7e5c910e9a1c3519c2e7777b11faa4 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 8 Jan 2018 11:27:53 +0000 Subject: [PATCH 061/185] gnu: elixir: Update to 1.5.3. * gnu/packages/elixir.scm (elixir): Update to 1.5.3. --- gnu/packages/elixir.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/elixir.scm b/gnu/packages/elixir.scm index 553c5fa5ae..ceabc2a6c4 100644 --- a/gnu/packages/elixir.scm +++ b/gnu/packages/elixir.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2016, 2017 Pjotr Prins ;;; Copyright © 2016 Ricardo Wurmus ;;; Copyright © 2017 nee +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -31,7 +32,7 @@ (define-public elixir (package (name "elixir") - (version "1.5.2") + (version "1.5.3") (source (origin (method url-fetch) (uri (string-append "https://github.com/elixir-lang/elixir" @@ -39,7 +40,7 @@ (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0v7z0avs3gir7qdfgysfw88l3z9p5f7p7pjnrnsz5gmmsflvf5vk")) + "0acnxfwvkx1m1d0h5z051mz95n35zm468hcvc3wpmn17c15h5ihg")) ;; FIXME: 27 tests (out of 4K) had to be disabled as ;; they fail in the build environment. Common failures ;; are: From 0215f94e69b133bf33f9bc54ea05df976dbfc9d8 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 8 Jan 2018 15:32:00 +0100 Subject: [PATCH 062/185] gnu: snakemake: Update to 4.4.0. * gnu/packages/python.scm (snakemake): Update to 4.4.0. --- 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 29fa2809ab..4e1fc0abf2 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -4815,13 +4815,13 @@ of the structure, dynamics, and functions of complex networks.") (define-public snakemake (package (name "snakemake") - (version "4.2.0") + (version "4.4.0") (source (origin (method url-fetch) (uri (pypi-uri "snakemake" version)) (sha256 - (base32 "0mgl44q152ws40zj2vicqark5szyd73vqy9pf26g6hk6dk0y0c79")))) + (base32 "0g0paia4z7w3srnqdmavq3hrb2x7qnpf81jx50njl0p7y4y0j8jv")))) (build-system python-build-system) (arguments ;; TODO: Package missing test dependencies. From 2a67ff1f5e3c822e2603ec53cc8d263e394f66e5 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Mon, 8 Jan 2018 16:19:53 +0100 Subject: [PATCH 063/185] gnu: Add emacs-bongo. * gnu/packages/emacs.scm (emacs-bongo): New variable. --- gnu/packages/emacs.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index ebee6f61ba..964adf1ddf 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -6634,3 +6634,27 @@ mode’s f,F,t,T keys, allowing for quick navigation within a line. It is a port of quick-scope for Vim. Evil is an Emacs minor mode that emulates Vim features and provides Vim-like key bindings.") (license license:gpl3+))) + +(define-public emacs-bongo + (package + (name "emacs-bongo") + (version "1.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/dbrock/bongo/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1pcsyyrvj7djjjwpaswd1i782hvqvlvs39cy9ns0k795si6xd64d")))) + (build-system emacs-build-system) + (home-page "https://github.com/dbrock/bongo") + (synopsis "Media player for Emacs") + (description + "This package provides a flexible media player for Emacs. @code{Bongo} +supports multiple backends such as @code{vlc}, @code{mpg123}, +@code{ogg123}, @code{speexdec}, @code{timidity}, @code{mikmod} and +@code{afplay}.") + (license license:gpl2+))) From 3926a099b4b40464a1e5f69b65ab78399d23c51e Mon Sep 17 00:00:00 2001 From: amirouche Date: Wed, 3 Jan 2018 20:43:52 +0100 Subject: [PATCH 064/185] gnu: guile-wiredtiger: Update to 0.6.3. * gnu/package/databases.scm (guile-wiredtiger): Update to 0.6.3. [arguments]: Enable tests; disable parallel tests; remove 'remove-bundled-dependencies' phase. [synopsis, description]: Improve them. Signed-off-by: Kei Kebreau --- gnu/packages/databases.scm | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 6306846a8e..86beb762bb 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -30,6 +30,7 @@ ;;; Copyright © 2017 Pierre Langlois ;;; Copyright © 2015, 2017 Ricardo Wurmus ;;; Copyright © 2017 Kristofer Buffington +;;; Copyright © 2018 Amirouche Boubekki ;;; ;;; This file is part of GNU Guix. ;;; @@ -1549,19 +1550,19 @@ trees (LSM), for sustained throughput under random insert workloads.") (define-public guile-wiredtiger (package (name "guile-wiredtiger") - (version "20171113.6cbc51da") + (version "0.6.3") (source (origin (method git-fetch) (uri (git-reference (url "https://framagit.org/a-guile-mind/guile-wiredtiger.git") - (commit "6cbc51dab95d28fe31ae025fbdd88f3ecbf2111b"))) + (commit "070ed68139d99c279f058a6c293f00292d35dbd7"))) (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0x3qwpgch5pg0k21kc792h4y6b36a8xd1zkfq8ar2l2mqmpzkzyd")))) + "14rna97wsylajzxfif95wnblq85csgcfc666gh5dl0ssgd7x8llh")))) (build-system gnu-build-system) (arguments - '(#:tests? #f + '(#:parallel-tests? #f ;; tests can't be run in parallel, yet. #:configure-flags (list (string-append "--with-libwiredtiger-prefix=" (assoc-ref %build-inputs "wiredtiger"))) @@ -1570,15 +1571,9 @@ trees (LSM), for sustained throughput under random insert workloads.") (modify-phases %standard-phases (add-after 'unpack 'bootstrap (lambda _ - (zero? (system* "sh" "bootstrap")))) - (add-before 'bootstrap 'remove-bundled-dependencies - (lambda _ - ;; TODO: Remove microkanren.scm when we have a separate package - ;; for it. - (delete-file "htmlprag.scm") - (substitute* "Makefile.am" - (("htmlprag\\.scm") "")) - #t))))) + (invoke "sh" "bootstrap")))))) + ;; TODO: Remove microkanren.scm when we have a separate package + ;; for it. (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) @@ -1588,10 +1583,10 @@ trees (LSM), for sustained throughput under random insert workloads.") ("guile" ,guile-2.2))) (propagated-inputs `(("guile-lib" ,guile-lib))) ;for (htmlprag) - (synopsis "Wired Tiger bindings for GNU Guile") + (synopsis "WiredTiger bindings for GNU Guile") (description "This package provides Guile bindings to the WiredTiger ``NoSQL'' -database.") +database. Various higher level database abstractions.") (home-page "https://framagit.org/a-guile-mind/guile-wiredtiger") (license license:gpl3+))) From eebb7b635b3034e49159fccb4ab14c69eeb0cb5a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 31 Dec 2017 04:59:33 +0100 Subject: [PATCH 065/185] gnu: openvswitch: Update to 2.8.1. * gnu/packages/networking.scm (openvswitch): Update to 2.8.1. --- gnu/packages/networking.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index bf8e8c65d4..b0c9476ad7 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -1194,7 +1194,7 @@ procedure calls (RPCs).") (define-public openvswitch (package (name "openvswitch") - (version "2.6.1") + (version "2.8.1") (source (origin (method url-fetch) (uri (string-append @@ -1202,7 +1202,7 @@ procedure calls (RPCs).") version ".tar.gz")) (sha256 (base32 - "036gq741j9kqsjlp693nff838c9wjd1c56nswl9vyyd1lsmj0yrh")))) + "14rqqhfyv49irz8ag0qbv9jn8z0bn3qzxir3r074y16p4sg4674d")))) (build-system gnu-build-system) (arguments '(;; FIXME: many tests fail with: From d7603bbbbe652853ae6ea3198eb810d0d66ac77b Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 2 Jan 2018 21:19:11 +0100 Subject: [PATCH 066/185] gnu: lame: Remove obsolete workaround. * gnu/packages/mp3.scm (lame)[native-inputs]: Remove. --- gnu/packages/mp3.scm | 6 ------ 1 file changed, 6 deletions(-) diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm index fbb924ba51..38467a94cc 100644 --- a/gnu/packages/mp3.scm +++ b/gnu/packages/mp3.scm @@ -362,12 +362,6 @@ use with CD-recording software).") (base32 "07nsn5sy3a8xbmw1bidxnsj5fj6kg9ai04icmqw40ybkp353dznx")))) (build-system gnu-build-system) - ;; XXX FIXME: Use gcc-4.8 on i686 to work around - ;; . - (native-inputs (if (and (not (%current-target-system)) - (string-prefix? "i686-" (%current-system))) - `(("gcc" ,(canonical-package gcc-4.8))) - '())) (home-page "http://lame.sourceforge.net/") (synopsis "MPEG Audio Layer III (MP3) encoder") (description "LAME is a high quality MPEG Audio Layer III (MP3) encoder.") From d1ce1125b80b0dfba4b665293a6bb0c611025584 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 24 Nov 2017 01:27:18 +0100 Subject: [PATCH 067/185] gnu: Add rename. * gnu/packages/admin.scm (rename): New public variable. --- gnu/packages/admin.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index d90bc7c050..81df265362 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -18,6 +18,7 @@ ;;; Copyright © 2017 Ben Sturmfels ;;; Copyright © 2017 Ethan R. Jones ;;; Copyright © 2017 Christopher Allan Webber +;;; Copyright © 2017 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -42,6 +43,7 @@ #:use-module (guix git-download) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (guix build-system perl) #:use-module (guix build-system python) #:use-module (guix build-system trivial) #:use-module (gnu packages) @@ -756,6 +758,31 @@ console window to allow commands to be interactively run on multiple servers over ssh connections.") (license license:gpl2+))) +(define-public rename + (package + (name "rename") + (version "0.20") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/R/RM/RMBARKER/File-Rename-" + version ".tar.gz")) + (sha256 + (base32 + "1cf6xx2hiy1xalp35fh8g73j67r0w0g66jpcbc6971x9jbm7bvjy")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build" ,perl-module-build) + ("perl-test-pod" ,perl-test-pod) + ("perl-test-pod-coverage" ,perl-test-pod-coverage))) + (home-page "https://metacpan.org/pod/distribution/File-Rename/rename.PL") + (synopsis "Perl extension for renaming multiple files") + (description + "This package provides a Perl interface (@code{Perl::Rename}) as well +as a command-line utility (@command{rename}) that can rename multiple files +at once based on a Perl regular expression.") + (license license:perl-license))) + (define-public rottlog (package (name "rottlog") From 55e1d39b47dcb0a5c6b20552f1ab12db60ffda3e Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 5 Jan 2018 17:51:43 +0100 Subject: [PATCH 068/185] gnu: Add iucode-tool. * gnu/packages/linux.scm (iucode-tool): New public variable. --- gnu/packages/linux.scm | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 1cefb662e8..fb5e1ccbbb 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -15,7 +15,7 @@ ;;; Copyright © 2016 Ricardo Wurmus ;;; Copyright © 2016 David Craven ;;; Copyright © 2016 John Darrington -;;; Copyright © 2016, 2017 Marius Bakke +;;; Copyright © 2016, 2017, 2018 Marius Bakke ;;; Copyright © 2016 Rene Saavedra ;;; Copyright © 2016 Carlos Sánchez de La Lama ;;; Copyright © 2016, 2017 ng0 @@ -2427,6 +2427,26 @@ you to access information from temperature, voltage, and fan speed sensors. It works with most newer systems.") (license license:gpl2+))) +(define-public iucode-tool + (package + (name "iucode-tool") + (version "2.2") + (source (origin + (method url-fetch) + (uri (string-append "https://gitlab.com/iucode-tool/releases" + "/raw/latest/iucode-tool_" version ".tar.xz")) + (sha256 + (base32 + "0w99k1aq1xw148ffk1xykqf60rdbphb1jknw98jcmadq4pwxl44q")))) + (build-system gnu-build-system) + (home-page "https://gitlab.com/iucode-tool/iucode-tool/wikis/home") + (synopsis "Manipulate Intel microcode bundles") + (description + "@command{iucode_tool} is a utility to work with microcode packages for +Intel processors. It can convert between formats, extract specific versions, +create a firmware image suitable for the Linux kernel, and more.") + (license license:gpl2+))) + (define-public i2c-tools (package (name "i2c-tools") From a60f13197efeed14b1221bb8d5eead64df696221 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 26 Oct 2017 14:52:19 +0200 Subject: [PATCH 069/185] gnu: Add vboot-utils. * gnu/packages/bootloaders.scm (vboot-utils): New public variable. --- gnu/packages/bootloaders.scm | 73 +++++++++++++++++++++++++++++++++++- 1 file changed, 72 insertions(+), 1 deletion(-) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 3cffbcfeb6..1f0cf64696 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2015 Leo Famulari ;;; Copyright © 2016 Jan Nieuwenhuizen -;;; Copyright © 2016, 2017 Marius Bakke +;;; Copyright © 2016, 2017, 2018 Marius Bakke ;;; Copyright © 2016, 2017 Danny Milosavljevic ;;; Copyright © 2016, 2017 David Craven ;;; Copyright © 2017 Efraim Flashner @@ -28,6 +28,7 @@ #:use-module (gnu packages admin) #:use-module ((gnu packages algebra) #:select (bc)) #:use-module (gnu packages assembly) + #:use-module (gnu packages base) #:use-module (gnu packages disk) #:use-module (gnu packages bison) #:use-module (gnu packages cdrom) @@ -41,10 +42,13 @@ #:use-module (gnu packages mtools) #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages texinfo) + #:use-module (gnu packages tls) #:use-module (gnu packages swig) #:use-module (gnu packages virtualization) + #:use-module (gnu packages web) #:use-module (guix build-system gnu) #:use-module (guix download) #:use-module (guix git-download) @@ -421,6 +425,73 @@ also initializes the boards (RAM etc).") (define-public u-boot-odroid-c2 (make-u-boot-package "odroid-c2" "aarch64-linux-gnu")) +(define-public vboot-utils + (package + (name "vboot-utils") + (version "R63-10032.B") + (source (origin + ;; XXX: Snapshots are available but changes timestamps every download. + (method git-fetch) + (uri (git-reference + (url (string-append "https://chromium.googlesource.com" + "/chromiumos/platform/vboot_reference")) + (commit (string-append "release-" version)))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "0h0m3l69vp9dr6xrs1p6y7ilkq3jq8jraw2z20kqfv7lvc9l1lxj")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags (list "CC=gcc" + (string-append "DESTDIR=" (assoc-ref %outputs "out"))) + #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-hard-coded-paths + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((coreutils (assoc-ref inputs "coreutils")) + (diffutils (assoc-ref inputs "diffutils"))) + (substitute* "futility/misc.c" + (("/bin/cp") (string-append coreutils "/bin/cp"))) + (substitute* "tests/bitmaps/TestBmpBlock.py" + (("/usr/bin/cmp") (string-append diffutils "/bin/cmp"))) + (substitute* "vboot_host.pc.in" + (("prefix=/usr") + (string-append "prefix=" (assoc-ref outputs "out")))) + #t))) + (delete 'configure) + (add-before 'check 'patch-tests + (lambda _ + ;; These tests compare diffs against known-good values. + ;; Patch the paths to match those in the build container. + (substitute* (find-files "tests/futility/expect_output") + (("/mnt/host/source/src/platform/vboot_reference") + (string-append "/tmp/guix-build-" ,name "-" ,version + ".drv-0/source"))) + ;; Tests require write permissions to many of these files. + (for-each make-file-writable (find-files "tests/futility")) + #t))) + #:test-target "runtests")) + (native-inputs + `(("pkg-config" ,pkg-config) + + ;; For tests. + ("diffutils" ,diffutils) + ("python@2" ,python-2))) + (inputs + `(("coreutils" ,coreutils) + ("libyaml" ,libyaml) + ("openssl" ,openssl) + ("openssl:static" ,openssl "static") + ("util-linux" ,util-linux))) + (home-page + "https://dev.chromium.org/chromium-os/chromiumos-design-docs/verified-boot") + (synopsis "ChromiumOS verified boot utilities") + (description + "vboot-utils is a collection of tools to facilitate booting of +Chrome-branded devices. This includes the @command{cgpt} partitioning +program, the @command{futility} and @command{crossystem} firmware management +tools, and more.") + (license license:bsd-3))) + (define-public os-prober (package (name "os-prober") From aeed74f3709446e94a87809ddd465517738921e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 8 Jan 2018 23:10:21 +0100 Subject: [PATCH 070/185] linux-boot: Add #:on-error for initrd error handling. Suggested by Danny Milosavljevic in . * gnu/build/linux-boot.scm (boot-system): Add #:on-error parameter and pass it to 'call-with-error-handling'. * gnu/system/linux-initrd.scm (raw-initrd): Add #:on-error and pass it. (base-initrd): Likewise. --- gnu/build/linux-boot.scm | 13 +++++++++---- gnu/system/linux-initrd.scm | 20 ++++++++++++++------ 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm index 4dd740174e..997107a67a 100644 --- a/gnu/build/linux-boot.scm +++ b/gnu/build/linux-boot.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès ;;; Copyright © 2017 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. @@ -430,7 +430,8 @@ bailing out.~%root contents: ~s~%" (scandir "/")) qemu-guest-networking? volatile-root? pre-mount - (mounts '())) + (mounts '()) + (on-error 'debug)) "This procedure is meant to be called from an initrd. Boot a system by first loading LINUX-MODULES (a list of module names) from LINUX-MODULE-DIRECTORY, then setting up QEMU guest networking if @@ -444,7 +445,10 @@ if any. MOUNTS must be a list of objects. When VOLATILE-ROOT? is true, the root file system is writable but any changes -to it are lost." +to it are lost. + +ON-ERROR is passed to 'call-with-error-handling'; it determines what happens +upon error." (define (root-mount-point? fs) (string=? (file-system-mount-point fs) "/")) @@ -517,6 +521,7 @@ to it are lost." (begin (display "no boot file passed via '--load'\n") (display "entering a warm and cozy REPL\n") - (start-repl))))))) + (start-repl))))) + #:on-error on-error)) ;;; linux-initrd.scm ends here diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm index b592defa45..0f7f4721dd 100644 --- a/gnu/system/linux-initrd.scm +++ b/gnu/system/linux-initrd.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès ;;; Copyright © 2016 Mark H Weaver ;;; Copyright © 2016 Jan Nieuwenhuizen ;;; Copyright © 2017 Mathieu Othacehe @@ -155,7 +155,8 @@ MODULES and taken from LINUX." (mapped-devices '()) (helper-packages '()) qemu-networking? - volatile-root?) + volatile-root? + (on-error 'debug)) "Return a monadic derivation that builds a raw initrd, with kernel modules taken from LINUX. FILE-SYSTEMS is a list of file-systems to be mounted by the initrd, possibly in addition to the root file system specified @@ -167,8 +168,12 @@ e2fsck/static or other packages needed by the initrd to check root partition. When QEMU-NETWORKING? is true, set up networking with the standard QEMU parameters. + When VOLATILE-ROOT? is true, the root file system is writable but any changes -to it are lost." +to it are lost. + +ON-ERROR is passed to 'call-with-error-handling'; it determines what happens +upon error." (define device-mapping-commands ;; List of gexps to open the mapped devices. (map (lambda (md) @@ -216,7 +221,8 @@ to it are lost." #:linux-modules '#$linux-modules #:linux-module-directory '#$kodir #:qemu-guest-networking? #$qemu-networking? - #:volatile-root? '#$volatile-root?))) + #:volatile-root? '#$volatile-root? + #:on-error '#$on-error))) #:name "raw-initrd")) (define* (file-system-packages file-systems #:key (volatile-root? #f)) @@ -243,7 +249,8 @@ FILE-SYSTEMS." qemu-networking? volatile-root? (virtio? #t) - (extra-modules '())) + (extra-modules '()) + (on-error 'debug)) "Return a monadic derivation that builds a generic initrd, with kernel modules taken from LINUX. FILE-SYSTEMS is a list of file-systems to be mounted by the initrd, possibly in addition to the root file system specified @@ -318,6 +325,7 @@ loaded at boot time in the order in which they appear." #:mapped-devices mapped-devices #:helper-packages helper-packages #:qemu-networking? qemu-networking? - #:volatile-root? volatile-root?)) + #:volatile-root? volatile-root? + #:on-error on-error)) ;;; linux-initrd.scm ends here From e1c08dccc2172173004c74c4514dfa21ab3aa979 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 8 Jan 2018 21:29:29 +0100 Subject: [PATCH 071/185] gnu: jsoncpp: Update to 1.8.4. * gnu/packages/serialization.scm (jsoncpp): Update to 1.8.4. --- gnu/packages/serialization.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm index d70a8d3fd5..8df4841eae 100644 --- a/gnu/packages/serialization.scm +++ b/gnu/packages/serialization.scm @@ -265,7 +265,7 @@ that implements both the msgpack and msgpack-rpc specifications.") (define-public jsoncpp (package (name "jsoncpp") - (version "1.8.2") + (version "1.8.4") (source (origin (method url-fetch) (uri (string-append @@ -274,7 +274,7 @@ that implements both the msgpack and msgpack-rpc specifications.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1vwf0yrv5540ygfnxikirbs63awsdzn7dabkia3g0bnz43p5l7w1")))) + "1dpxk8hkni5dq4mdw8qbaj40jmid3a31d1gh8iqcnfwkw34ym7f4")))) (build-system cmake-build-system) (home-page "https://github.com/open-source-parsers/jsoncpp") (arguments From cadd0670e74546a02f03659207ff96a4d61a4d89 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 8 Jan 2018 21:32:01 +0100 Subject: [PATCH 072/185] gnu: whois: Update to 5.2.20. * gnu/packages/networking.scm (whois): Update to 5.2.20. --- gnu/packages/networking.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index b0c9476ad7..94621052d0 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -450,7 +450,7 @@ and up to 1 Mbit/s downstream.") (define-public whois (package (name "whois") - (version "5.2.19") + (version "5.2.20") (source (origin (method url-fetch) @@ -458,7 +458,7 @@ and up to 1 Mbit/s downstream.") name "_" version ".tar.xz")) (sha256 (base32 - "0b16w48c17k35lhd95qcl2kjq2rahk8znkg3w467rf3kzmsa4fbc")))) + "02f00vpgrdb77w7lskl9jfm2akpy21ws9cjazs13gash2xksnj38")))) (build-system gnu-build-system) ;; TODO: unbundle mkpasswd binary + its po files. (arguments From f59158f9e66146aa8c11e3365aa0bd729fda7592 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 8 Jan 2018 21:34:03 +0100 Subject: [PATCH 073/185] gnu: samba: Update to 4.7.4. * gnu/packages/samba.scm (samba): Update to 4.7.4. --- gnu/packages/samba.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index cee047b938..345c326300 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -151,14 +151,14 @@ anywhere.") (define-public samba (package (name "samba") - (version "4.7.3") + (version "4.7.4") (source (origin (method url-fetch) (uri (string-append "https://download.samba.org/pub/samba/stable/" "samba-" version ".tar.gz")) (sha256 (base32 - "0b7xbfjpg7l1lz13gvj4ifcp9j3cvfp6pswjbq03z06bl4n1br06")))) + "0iw290n0q4l5s92d0f9yz27yp3rdfr6bvsmvg1xvd19g8p2d04pv")))) (build-system gnu-build-system) (arguments `(#:phases From 0379e36248efa840ddcc0f3457c8699f3eded231 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 8 Jan 2018 21:42:02 +0100 Subject: [PATCH 074/185] gnu: xscreensaver: Update to 5.38. * gnu/packages/xdisorg.scm (xscreensaver): Update to 5.38. --- gnu/packages/xdisorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index f860c9cf52..c81e5ad01f 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -987,7 +987,7 @@ color temperature should be set to match the lamps in your room.") (define-public xscreensaver (package (name "xscreensaver") - (version "5.37") + (version "5.38") (source (origin (method url-fetch) @@ -996,7 +996,7 @@ color temperature should be set to match the lamps in your room.") version ".tar.gz")) (sha256 (base32 - "1ng5ddzb4k2h1w54pvk9hzxvnxxmc54bc4a2ibk974nzjjjaxivs")))) + "1f58h5rgjbxr4hh40m6zkpkzbzg68l7nqzjwal0b17yysafbmsf6")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no check target From 3aad4ed396e29bd3540be5710ef65370b2a3424f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 8 Jan 2018 21:45:28 +0100 Subject: [PATCH 075/185] gnu: feh: Update to 2.23. * gnu/packages/image-viewers.scm (feh): Update to 2.23. --- gnu/packages/image-viewers.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm index facf81b087..e267eb2081 100644 --- a/gnu/packages/image-viewers.scm +++ b/gnu/packages/image-viewers.scm @@ -56,7 +56,7 @@ (define-public feh (package (name "feh") - (version "2.22.2") + (version "2.23") (home-page "https://feh.finalrewind.org/") (source (origin (method url-fetch) @@ -64,7 +64,7 @@ name "-" version ".tar.bz2")) (sha256 (base32 - "1kcflv4jb4250g94nqn28i98xqvvci8w7vqpfr62gxlp16z1za05")))) + "18922zv8ckm82r1ap1yn7plbk6djpj02za2ahng58sjj2fw3rpqn")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases (delete 'configure)) From 4880fddd5c6b3a0bb7c7bf316b67d902fae6522f Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 8 Jan 2018 20:30:10 -0500 Subject: [PATCH 076/185] gnu: kurly: Install some documentation. * gnu/packages/curl.scm (kurly)[arguments]: Install the README in an 'install-readme' phase and don't install the source code. --- gnu/packages/curl.scm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm index 5f6180052f..cccbbc8d99 100644 --- a/gnu/packages/curl.scm +++ b/gnu/packages/curl.scm @@ -153,7 +153,17 @@ tunneling, and so on.") "1q192f457sjypgvwq7grrf8gq8w272p3zf1d5ppc20mriqm0mbc3")))) (build-system go-build-system) (arguments - '(#:import-path "github.com/davidjpeacock/kurly")) + `(#:import-path "github.com/davidjpeacock/kurly" + #:install-source? #f + #:phases + (modify-phases %standard-phases + (add-after 'install 'install-readme + (lambda* (#:key outputs import-path #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (readme (string-append "src/" import-path "/README.md")) + (misc (string-append out "/share/kurly/misc/"))) + (install-file readme misc) + #t)))))) (inputs `(("go-github-com-alsm-ioprogress" ,go-github-com-alsm-ioprogress) ("go-github-com-aki237-nscjar" ,go-github-com-aki237-nscjar) From 68aa384b85969e2fc4e6ae6e61eb40559f2e2079 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 8 Jan 2018 20:38:06 -0500 Subject: [PATCH 077/185] gnu: Electrum: Update to 3.0.5 [security fixes]. This fixes a critical security issue: * gnu/packages/finance.scm (electrum): Update to 3.0.5. --- gnu/packages/finance.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 8d2b734d92..402a61a631 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -268,7 +268,7 @@ do so.") (define-public electrum (package (name "electrum") - (version "3.0") + (version "3.0.5") (source (origin (method url-fetch) @@ -277,7 +277,7 @@ do so.") version ".tar.gz")) (sha256 (base32 - "184cmpfqcznnm0wfjiarb6dps2vs0s2aykmy2ji7p77x20fbisfi")) + "06z0a5p1jg93jialphslip8d72q9yg3651qqaf494gs3h9kw1sv1")) (modules '((guix build utils))) (snippet '(begin From 7f9866a312f12b619df1baa83d889b82fb5874cf Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Mon, 8 Jan 2018 21:11:07 -0500 Subject: [PATCH 078/185] gnu: emacs-auctex: Update to 12.1.0. * gnu/packages/emacs.scm (emacs-auctex): Update to 12.1.0. --- gnu/packages/emacs.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 964adf1ddf..2a4bdf1d6f 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1131,7 +1131,7 @@ as a library for other Emacs packages.") (define-public emacs-auctex (package (name "emacs-auctex") - (version "11.91.0") + (version "12.1.0") (source (origin (method url-fetch) @@ -1141,7 +1141,7 @@ as a library for other Emacs packages.") ".tar")) (sha256 (base32 - "1yh182mxgngjmwpkyv2n9km3vyq95bqfq8mnly3dbv78nwk7f2l3")))) + "0iy5x61xqkxaph2hq64sg50l1c6yp6qhzppwadayxkdz00b46sas")))) (build-system emacs-build-system) ;; We use 'emacs' because AUCTeX requires dbus at compile time ;; ('emacs-minimal' does not provide dbus). From 5424f9bcab01d7017550d79cdf42daea87151da0 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 17 Oct 2016 23:59:53 -0500 Subject: [PATCH 079/185] gnu: ledger: Fix test failures. * gnu/packages/patches/ledger-revert-boost-python-fix.patch, gnu/packages/patches/ledger-fix-uninitialized.patch: New patches. * gnu/local.mk (dist_patch_DATA): Add them. * gnu/packages/finance.scm (ledger)[source]: Use them. --- gnu/local.mk | 2 + gnu/packages/finance.scm | 6 ++- .../patches/ledger-fix-uninitialized.patch | 27 +++++++++++++ .../ledger-revert-boost-python-fix.patch | 39 +++++++++++++++++++ 4 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/ledger-fix-uninitialized.patch create mode 100644 gnu/packages/patches/ledger-revert-boost-python-fix.patch diff --git a/gnu/local.mk b/gnu/local.mk index 98cad36350..44868d4bba 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -794,6 +794,8 @@ dist_patch_DATA = \ %D%/packages/patches/ldc-disable-tests.patch \ %D%/packages/patches/ldc-1.1.0-disable-dmd-tests.patch \ %D%/packages/patches/ldc-1.1.0-disable-phobos-tests.patch \ + %D%/packages/patches/ledger-fix-uninitialized.patch \ + %D%/packages/patches/ledger-revert-boost-python-fix.patch \ %D%/packages/patches/liba52-enable-pic.patch \ %D%/packages/patches/liba52-link-with-libm.patch \ %D%/packages/patches/liba52-set-soname.patch \ diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 402a61a631..2253a29fe3 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2017 Carlo Zancanaro ;;; Copyright © 2017 Theodoros Foradis ;;; Copyright © 2017 Vasile Dumitrascu +;;; Copyright © 2018 Eric Bavier ;;; ;;; This file is part of GNU Guix. ;;; @@ -29,6 +30,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) #:use-module (guix build-system python) + #:use-module (gnu packages) #:use-module (gnu packages base) #:use-module (gnu packages boost) #:use-module (gnu packages check) @@ -130,7 +132,9 @@ line client and a client based on Qt.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "12jlv3gsjhrja25q9hrwh73cdacd2l3c2yyn8qnijav9mdhnbw4h")))) + "12jlv3gsjhrja25q9hrwh73cdacd2l3c2yyn8qnijav9mdhnbw4h")) + (patches (search-patches "ledger-revert-boost-python-fix.patch" + "ledger-fix-uninitialized.patch")))) (build-system cmake-build-system) (arguments `(#:modules ((guix build cmake-build-system) diff --git a/gnu/packages/patches/ledger-fix-uninitialized.patch b/gnu/packages/patches/ledger-fix-uninitialized.patch new file mode 100644 index 0000000000..128c90ec13 --- /dev/null +++ b/gnu/packages/patches/ledger-fix-uninitialized.patch @@ -0,0 +1,27 @@ +This fixes failures of tests "BaseLine_opt-datetime-format" and +"BaseLine_opt-time-report", which were printing an unexpected trailing '*' on +the last line of output, e.g.: + + @@ -5,4 +5,4 @@ + 04/05/13 12:00 PM 04/05/13 01:30 PM 1.50h Lunch + 04/05/13 11:30 AM 04/05/13 12:00 PM 30.0m Walk + -------------------------------------------------- + - + + * + +Reported upstream at +https://groups.google.com/d/msg/ledger-cli/EeJUrUk8YDc/pIR-LOTVEAAJ + +diff --git a/src/account.h b/src/account.h +index 1b97463d..f2555593 100644 +--- a/src/account.h ++++ b/src/account.h +@@ -187,7 +187,7 @@ public: + + datetime_t earliest_checkin; + datetime_t latest_checkout; +- bool latest_checkout_cleared; ++ bool latest_checkout_cleared = false; + + std::set filenames; + std::set accounts_referenced; diff --git a/gnu/packages/patches/ledger-revert-boost-python-fix.patch b/gnu/packages/patches/ledger-revert-boost-python-fix.patch new file mode 100644 index 0000000000..99f48f6e46 --- /dev/null +++ b/gnu/packages/patches/ledger-revert-boost-python-fix.patch @@ -0,0 +1,39 @@ +From 01220484f428a447e9b00e071a0d85185f30e1de Mon Sep 17 00:00:00 2001 +From: Alexis Hildebrandt +Date: Wed, 22 Jun 2016 15:43:37 +0200 +Subject: [PATCH] Revert "[python] Add fix for Boost.Python compile errors" + +This reverts commit 11590e134eafa768ccc4a171cc7fb216e906095f. +--- + src/py_commodity.cc | 3 --- + src/py_journal.cc | 3 --- + 2 files changed, 6 deletions(-) + +diff --git a/src/py_commodity.cc b/src/py_commodity.cc +index 5aafa6c..c457e64 100644 +--- a/src/py_commodity.cc ++++ b/src/py_commodity.cc +@@ -243,9 +243,6 @@ namespace { + + void export_commodity() + { +-#if BOOST_VERSION >= 106000 +- python::register_ptr_to_python< shared_ptr >(); +-#endif + class_< commodity_pool_t, shared_ptr, + boost::noncopyable > ("CommodityPool", no_init) + .add_property("null_commodity", +diff --git a/src/py_journal.cc b/src/py_journal.cc +index c1c38a9..879f954 100644 +--- a/src/py_journal.cc ++++ b/src/py_journal.cc +@@ -232,9 +232,6 @@ void export_journal() + boost::noncopyable >("PostHandler") + ; + +-#if BOOST_VERSION >= 106000 +- python::register_ptr_to_python< shared_ptr >(); +-#endif + class_< collector_wrapper, shared_ptr, + boost::noncopyable >("PostCollectorWrapper", no_init) + .def("__len__", &collector_wrapper::length) From 39fb853abe060973c0ca6f8b60a105b1a83e583b Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Tue, 9 Jan 2018 22:18:06 +1000 Subject: [PATCH 080/185] gnu: seqmagick: Update to 0.7.0. * gnu/packages/bioinformatics.scm (seqmagick): Update to 0.7.0. Use python-3. [arguments]: Remove replacement phase for check. [inputs]: Add biopython. Remove python2-biopython-1.66. (python2-biopython-1.66): Remove variable. --- gnu/packages/bioinformatics.scm | 35 ++++----------------------------- 1 file changed, 4 insertions(+), 31 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index ce66ce0d37..34b843cfbb 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -790,20 +790,6 @@ into separate processes; and more.") (define-public python2-biopython (package-with-python2 python-biopython)) -;; An outdated version of biopython is required for seqmagick, see -;; https://github.com/fhcrc/seqmagick/issues/59 -;; When that issue has been resolved this package should be removed. -(define python2-biopython-1.66 - (package - (inherit python2-biopython) - (version "1.66") - (source (origin - (method url-fetch) - (uri (pypi-uri "biopython" version)) - (sha256 - (base32 - "1gdv92593klimg22icf5j9by7xiq86jnwzkpz4abaa05ylkdf6hp")))))) - (define-public bpp-core ;; The last release was in 2014 and the recommended way to install from source ;; is to clone the git repository, so we do this. @@ -5391,7 +5377,7 @@ bioinformatics file formats, sequence alignment, and more.") (define-public seqmagick (package (name "seqmagick") - (version "0.6.1") + (version "0.7.0") (source (origin (method url-fetch) @@ -5400,25 +5386,12 @@ bioinformatics file formats, sequence alignment, and more.") version ".tar.gz")) (sha256 (base32 - "0cgn477n74gsl4qdaakrrhi953kcsd4q3ivk2lr18x74s3g4ma1d")))) + "12bfyp8nqi0hd36rmj450aygafp01qy3hkbvlwn3bk39pyjjkgg5")))) (build-system python-build-system) - (arguments - ;; python2 only, see https://github.com/fhcrc/seqmagick/issues/56 - `(#:python ,python-2 - #:phases - (modify-phases %standard-phases - ;; Current test in setup.py does not work as of 0.6.1, - ;; so use nose to run tests instead for now. See - ;; https://github.com/fhcrc/seqmagick/issues/55 - (replace 'check (lambda _ (zero? (system* "nosetests"))))))) (inputs - ;; biopython-1.66 is required due to - ;; https://github.com/fhcrc/seqmagick/issues/59 - ;; When that issue is resolved the 'python2-biopython-1.66' package - ;; should be removed. - `(("python-biopython" ,python2-biopython-1.66))) + `(("python-biopython" ,python-biopython))) (native-inputs - `(("python-nose" ,python2-nose))) + `(("python-nose" ,python-nose))) (home-page "https://github.com/fhcrc/seqmagick") (synopsis "Tools for converting and modifying sequence files") (description From b0c7e053d8bc581a8a58be4cee9fbe3afecd457f Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 28 Dec 2017 22:05:00 +0000 Subject: [PATCH 081/185] gnu: libsrtp: Update to 1.6.0. * gnu/packages/telephony.scm (libsrtp): Update to 1.6.0. Re-indent. --- gnu/packages/telephony.scm | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm index cf1ab93c39..ae2e229ff6 100644 --- a/gnu/packages/telephony.scm +++ b/gnu/packages/telephony.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2016 Francesco Frassinelli ;;; Copyright © 2016, 2017 ng0 ;;; Copyright © 2017 Ricardo Wurmus +;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -209,17 +210,17 @@ internet.") (define-public libsrtp (package (name "libsrtp") - (version "1.5.4") + (version "1.6.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/cisco/libsrtp/archive/v" + (method url-fetch) + (uri (string-append "https://github.com/cisco/libsrtp/archive/v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1w2g623qkd7gdyydglx2hr4s2y237lg0nszjmy7z8d2iq8hvb9sn")))) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ppdqsrx5ni54vmd4kdzzmvgmf5ixb04w0jw7idy8mad6l27jghs")))) (native-inputs - `(("psmisc" ,psmisc) ;some tests require 'killall' + `(("psmisc" ,psmisc) ;some tests require 'killall' ("procps" ,procps))) (build-system gnu-build-system) (arguments @@ -234,7 +235,7 @@ internet.") (("mips\\)") "mips_est)")) #t)) (add-after 'unpack 'patch-dictionary-location - ;; With the above changes, the rtpw_test.sh test finally runs, and fails + ;; With the above changes, the rtpw_test.sh test finally runs, and fails. (lambda _ (substitute* "test/rtpw.c" (("/usr/share/dict/words") From 6c0b088740ee6b86c673b682bee923949b4ec609 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 9 Jan 2018 02:54:03 +0100 Subject: [PATCH 082/185] gnu: libsrtp: Mark up description. * gnu/packages/telephony.scm (libsrtp)[description]: Use @dfn. --- gnu/packages/telephony.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm index ae2e229ff6..53bc9f950b 100644 --- a/gnu/packages/telephony.scm +++ b/gnu/packages/telephony.scm @@ -244,9 +244,10 @@ internet.") (("words.txt") "FAQ")) #t))))) (synopsis "Secure RTP (SRTP) Reference Implementation") - (description "This package provides an implementation of the Secure -Real-time Transport Protocol (SRTP), the Universal Security Transform (UST), -and a supporting cryptographic kernel.") + (description + "This package provides an implementation of the Secure Real-time Transport +Protocol (@dfn{SRTP}), the Universal Security Transform (@dfn{UST}), and a +supporting cryptographic kernel.") (home-page "https://github.com/cisco/libsrtp") (license license:bsd-3))) From 1c21e734f4dab52a0954422772b72b1f10da4424 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 14 Dec 2017 10:00:04 +0000 Subject: [PATCH 083/185] gnu: geierlein: Update to 0.9.13. * gnu/packages/finance.scm (geierlein): Update to 0.9.13. --- gnu/packages/finance.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 2253a29fe3..ddfee9ce30 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2017 Carlo Zancanaro ;;; Copyright © 2017 Theodoros Foradis ;;; Copyright © 2017 Vasile Dumitrascu +;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2018 Eric Bavier ;;; ;;; This file is part of GNU Guix. @@ -222,7 +223,7 @@ in ability, and easy to use.") (define-public geierlein (package (name "geierlein") - (version "0.9.5") + (version "0.9.13") (source (origin (method url-fetch) @@ -231,13 +232,13 @@ in ability, and easy to use.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0b11fq8v5w8nxjb20jl4dsfhv76xky6n3sq3k3fbb0m2sq9ikikw")))) + "11jfa7mxvvf0ldhx0hsvjbx3xwvzvn2wrfjpms8c7qmrnqhwh4wp")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; would require npm, python and a lot more #:phases (modify-phases %standard-phases - (delete 'configure) + (delete 'configure) ; no configure script (add-after 'unpack 'override-target-directory-and-tool-paths (lambda* (#:key inputs outputs #:allow-other-keys) (substitute* "Makefile" From 1e41bb1b6580ec1c1c89bbefdb56637e2bd262fa Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 9 Jan 2018 15:34:56 +0000 Subject: [PATCH 084/185] gnu: geierlein: Use HTTPS for home page. * gnu/packages/finance.scm (geierlein)[home-page]: Use HTTPS. --- gnu/packages/finance.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index ddfee9ce30..ce0172be06 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -257,7 +257,7 @@ in ability, and easy to use.") #t))))) (inputs `(("icecat" ,icecat))) - (home-page "http://stesie.github.io/geierlein/") + (home-page "https://stesie.github.io/geierlein/") (synopsis "Free Elster client, for sending Germany VAT declarations") (description "Geierlein is a free Elster client, i.e. an application that From 0d92d2ad3d4e1af14530c12599995fc711bfd28c Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 9 Jan 2018 16:40:52 +0100 Subject: [PATCH 085/185] gnu: tor: Update to 3.2.9. * gnu/packages/tor.scm (tor): Update to 0.3.2.9. --- gnu/packages/tor.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index 055916a9a0..4a39100511 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2014, 2015 Mark H Weaver ;;; Copyright © 2016, 2017 Efraim Flashner ;;; Copyright © 2016, 2017 ng0 -;;; Copyright © 2017 Tobias Geerinckx-Rice +;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2017 Eric Bavier ;;; Copyright © 2017 Rutger Helling ;;; @@ -47,14 +47,14 @@ (define-public tor (package (name "tor") - (version "0.3.1.9") + (version "0.3.2.9") (source (origin (method url-fetch) (uri (string-append "https://dist.torproject.org/tor-" version ".tar.gz")) (sha256 (base32 - "09ixizsr635qyshvrn1m5asjkaz4fm8dx80lc3ajyy0fi7vh86vf")))) + "03qn55c969zynnx71r82iaqnadpzq0qclq0zmjhb3n4qma8pnnj3")))) (build-system gnu-build-system) (arguments `(#:configure-flags (list "--enable-gcc-hardening" From 5b72dafe44625ad9844ec0fc38b315630fb99a12 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Mon, 8 Jan 2018 23:27:33 -0500 Subject: [PATCH 086/185] gnu: gnucash: Update to 2.6.19. * gnu/packages/gnucash.scm (gnucash, gnucash-docs): Update to 2.6.19. --- gnu/packages/gnucash.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/gnucash.scm b/gnu/packages/gnucash.scm index 89a0682378..25200e3f99 100644 --- a/gnu/packages/gnucash.scm +++ b/gnu/packages/gnucash.scm @@ -47,15 +47,15 @@ (define-public gnucash (package (name "gnucash") - (version "2.6.18") + (version "2.6.19") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/gnucash/gnucash%20%28stable%29/" - version "/gnucash-" version "-1.tar.bz2")) + version "/gnucash-" version ".tar.bz2")) (sha256 (base32 - "1794qi7lkn1kbnhzk08wawacfcphbln3ngdl3q0qax5drv7hnwv8")) + "1lbz7ygqlxbndxir5ay59bmmrqv9qvc6pgb5jwgdbhkf4ikr7f2h")) (patches (search-patches "gnucash-price-quotes-perl.patch")))) (build-system glib-or-gtk-build-system) (inputs @@ -142,7 +142,7 @@ financial calculations or scheduled transactions.") version "/gnucash-docs-" version ".tar.gz")) (sha256 (base32 - "0bzc7mvdba2sc8m61yxa1fp2liqs00b64dvfxhv854vdrl1z5vmb")))) + "1ix99d5c1ppamn5ajamjfxpx6l25bv81nkg777rp1sl0glaib116")))) (build-system gnu-build-system) ;; These are native-inputs because they are only required for building the ;; documentation. From 1e257d3da9a43a0b4ad09ddfb32562a08122e7c0 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Mon, 8 Jan 2018 11:08:06 -0500 Subject: [PATCH 087/185] gnu: behave: Enable tests. * gnu/packages/check.scm (behave)[native-inputs]: Add python-mock, python-nose and python-pyhamcrest. [arguments]: Remove #:tests?. Add #:test-target. --- gnu/packages/check.scm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 76fb1dc3ff..50675cb854 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -1549,12 +1549,16 @@ backported from Python 2.7 for Python 2.4+.") (base32 "1iypp6z46r19n4xmgx6m1lwmlpfjh8vapq8izigrqlaarvp2y64c")))) (build-system python-build-system) + (native-inputs + `(("python-mock" ,python-mock) + ("python-nose" ,python-nose) + ("python-pyhamcrest" ,python-pyhamcrest))) (propagated-inputs `(("python-six" ,python-six) ("python-parse" ,python-parse) ("python-parse-type" ,python-parse-type))) - (arguments `(#:tests? #f)) ;TODO: tests require nose>=1.3 and - ;PyHamcrest>=1.8 + (arguments + '(#:test-target "behave_test")) (home-page "https://github.com/behave/behave") (synopsis "Python behavior-driven development") (description From 20abb8c4085fcad6379ac46c285d6ac7f5b4d575 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Tue, 9 Jan 2018 09:24:00 +0100 Subject: [PATCH 088/185] system: Export operating-system-user-kernel-arguments. * gnu/system.scm (operating-system-user-kernel-arguments): Export it. --- gnu/system.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/system.scm b/gnu/system.scm index df89ca06da..40e259f430 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -90,6 +90,7 @@ operating-system-activation-script operating-system-user-accounts operating-system-shepherd-service-names + operating-system-user-kernel-arguments operating-system-derivation operating-system-profile From 16d78a8f7207271e662d9152150b0cf790492373 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Tue, 9 Jan 2018 09:26:27 +0100 Subject: [PATCH 089/185] tests: marionette-operating-system: Add initrd parameter and kernel-arguments. * gnu/tests.scm (marionette-operating-system): Use initrd parameter "on-error" and kernel-arguments "panic". --- gnu/tests.scm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gnu/tests.scm b/gnu/tests.scm index 0caa922fdf..3e4c3d4e3a 100644 --- a/gnu/tests.scm +++ b/gnu/tests.scm @@ -172,6 +172,14 @@ marionette service in the guest is started after the Shepherd services listed in REQUIREMENTS." (operating-system (inherit os) + ;; Make sure the guest dies on error. + (kernel-arguments (cons "panic=1" + (operating-system-user-kernel-arguments os))) + ;; Make sure the guest doesn't hang in the REPL on error. + (initrd (lambda (fs . rest) + (apply (operating-system-initrd os) fs + #:on-error 'backtrace + rest))) (services (cons (service marionette-service-type (marionette-configuration (requirements requirements) From 68b9be1fd8c2f0377f1f41651e3243bbc39120e5 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 9 Jan 2018 20:41:10 +0100 Subject: [PATCH 090/185] gnu: notmuch: Update to 0.26. * gnu/packages/mail.scm (notmuch): Update to 0.26. --- gnu/packages/mail.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 3cfa7baebd..c415e85552 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -693,14 +693,14 @@ invoking @command{notifymuch} from the post-new hook.") (define-public notmuch (package (name "notmuch") - (version "0.25.3") + (version "0.26") (source (origin (method url-fetch) (uri (string-append "https://notmuchmail.org/releases/notmuch-" version ".tar.gz")) (sha256 (base32 - "1fyx20rjpwbf2j1v5fpa5s0rjnwhcgvijzh2qyinp8rlbh1qxmab")))) + "1pvn1n7giv8n3xlazi3wpscdqhd2yak0fgv68aj23myr5bnr9s6k")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) From 513dc568ca36d065f618f06c677db6d82240e9ff Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 9 Jan 2018 22:46:04 +0200 Subject: [PATCH 091/185] gnu: iucode-tool: Limit to Intel compatible architectures. * gnu/packages/linux.scm (iucode-tool)[supported-systems]: New field. --- gnu/packages/linux.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index fb5e1ccbbb..08498d5d13 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2014, 2015, 2016, 2017 Mark H Weaver ;;; Copyright © 2015 Federico Beffa ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer -;;; Copyright © 2015, 2016, 2017 Efraim Flashner +;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner ;;; Copyright © 2016 Christopher Allan Webber ;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2016, 2017 Alex Kost @@ -2445,6 +2445,8 @@ It works with most newer systems.") "@command{iucode_tool} is a utility to work with microcode packages for Intel processors. It can convert between formats, extract specific versions, create a firmware image suitable for the Linux kernel, and more.") + ;; cpuid.h is available for i686, x86_64, and ia64. + (supported-systems '("i686-linux" "x86_64-linux")) (license license:gpl2+))) (define-public i2c-tools From fa58a0a62e28db8f351222ee238ebb929b2b3bdb Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 9 Jan 2018 23:11:05 +0200 Subject: [PATCH 092/185] gnu: libb2: Only check for CPU optimisations on Intel architectures. * gnu/packages/crypto.scm (libb2)[arguments]: Only pass the configure-flag '--enable-fat' on i686 or x86_64. --- gnu/packages/crypto.scm | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index 4ecdaa8f7f..e616c9223f 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2016, 2017 ng0 ;;; Copyright © 2016, 2017 Eric Bavier ;;; Copyright © 2017 Pierre Langlois +;;; Copyright © 2018 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -56,7 +57,9 @@ #:use-module (guix git-download) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) - #:use-module (guix build-system perl)) + #:use-module (guix build-system perl) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26)) (define-public libsodium (package @@ -634,8 +637,14 @@ data on your platform, so the seed itself will be as random as possible. ("libtool" ,libtool))) (arguments `(#:configure-flags - (list "--enable-fat" ; detect optimisations at run time... - "--disable-native") ; ...not build time + (list + ,@(if (any (cute string-prefix? <> (or (%current-system) + (%current-target-system))) + '("x86_64" "i686")) + ;; fat only checks for Intel optimisations + '("--enable-fat") + '()) + "--disable-native") ; don't optimise at build time. #:phases (modify-phases %standard-phases (add-after 'unpack 'bootstrap From b0de7fdba678c1b0ec27b9c8e37c81fb5d49a124 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 9 Jan 2018 17:19:53 +0100 Subject: [PATCH 093/185] system: Extend .gdbinit to authorize extensions from /gnu/store/*/lib. * gnu/system/shadow.scm (default-skeletons)["gdbinit"]: Add 'auto-load safe-path' statement. --- gnu/system/shadow.scm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm index b66239787e..2b8412cdd5 100644 --- a/gnu/system/shadow.scm +++ b/gnu/system/shadow.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès ;;; Copyright © 2016 Alex Griffin ;;; ;;; This file is part of GNU Guix. @@ -187,7 +187,11 @@ XTerm*utf8: always XTerm*metaSendsEscape: true\n")) (gdbinit (plain-file "gdbinit" "\ # Tell GDB where to look for separate debugging files. -set debug-file-directory ~/.guix-profile/lib/debug\n"))) +set debug-file-directory ~/.guix-profile/lib/debug + +# Authorize extensions found in the store, such as the +# pretty-printers of libstdc++. +set auto-load safe-path /gnu/store/*/lib\n"))) `((".bash_profile" ,profile) (".bashrc" ,bashrc) (".zlogin" ,zlogin) From 297e04d66010ada31a40f40143d81bf6b62affcc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 9 Jan 2018 22:38:47 +0100 Subject: [PATCH 094/185] publish: Remove "Guix-Nar-Compression" header from responses. This was harmless but non-compliant and unnecessary. * guix/scripts/publish.scm : Rename "Guix-Nar-Compression" to "X-Nar-Compression" as should have always been. (render-nar, nar-response-port): Adjust accordingly. (strip-headers): New procedure. (sans-content-length, with-content-length): Use it. --- guix/scripts/publish.scm | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/guix/scripts/publish.scm b/guix/scripts/publish.scm index 6eb5397c8d..1673fb9f33 100644 --- a/guix/scripts/publish.scm +++ b/guix/scripts/publish.scm @@ -505,10 +505,10 @@ requested using POOL." stat:size)) port)))))) -;; XXX: Declare the 'Guix-Compression' HTTP header, which is in fact for +;; XXX: Declare the 'X-Nar-Compression' HTTP header, which is in fact for ;; internal consumption: it allows us to pass the compression info to ;; 'http-write', as part of the workaround to . -(declare-header! "Guix-Nar-Compression" +(declare-header! "X-Nar-Compression" (lambda (str) (match (call-with-input-string str read) (('compression type level) @@ -529,7 +529,7 @@ requested using POOL." (if (valid-path? store store-path) (values `((content-type . (application/x-nix-archive (charset . "ISO-8859-1"))) - (guix-nar-compression . ,compression)) + (x-nar-compression . ,compression)) ;; XXX: We're not returning the actual contents, deferring ;; instead to 'http-write'. This is a hack to work around ;; . @@ -638,20 +638,22 @@ example: \"/foo/bar\" yields '(\"foo\" \"bar\")." (define %http-write (@@ (web server http) http-write)) +(define (strip-headers response) + "Return RESPONSE's headers minus 'Content-Length' and our internal headers." + (fold alist-delete + (response-headers response) + '(content-length x-raw-file x-nar-compression))) + (define (sans-content-length response) "Return RESPONSE without its 'content-length' header." (set-field response (response-headers) - (alist-delete 'content-length - (response-headers response) - eq?))) + (strip-headers response))) (define (with-content-length response length) "Return RESPONSE with a 'content-length' header set to LENGTH." (set-field response (response-headers) (alist-cons 'content-length length - (fold alist-delete - (response-headers response) - '(content-length x-raw-file))))) + (strip-headers response)))) (define-syntax-rule (swallow-EPIPE exp ...) "Swallow EPIPE errors raised by EXP..." @@ -673,7 +675,7 @@ example: \"/foo/bar\" yields '(\"foo\" \"bar\")." (define (nar-response-port response) "Return a port on which to write the body of RESPONSE, the response of a /nar request, according to COMPRESSION." - (match (assoc-ref (response-headers response) 'guix-nar-compression) + (match (assoc-ref (response-headers response) 'x-nar-compression) (($ 'gzip level) ;; Note: We cannot used chunked encoding here because ;; 'make-gzip-output-port' wants a file port. From eb0e51c4c77e8dbd806b6200bbc6f297320d5d1a Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 9 Jan 2018 13:43:36 -0600 Subject: [PATCH 095/185] gnu: perl-module-pluggable: Fix perms on patch. * gnu/packages/patches/perl-module-pluggable-search.patch: Remove executable bit. --- gnu/packages/patches/perl-module-pluggable-search.patch | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 gnu/packages/patches/perl-module-pluggable-search.patch diff --git a/gnu/packages/patches/perl-module-pluggable-search.patch b/gnu/packages/patches/perl-module-pluggable-search.patch old mode 100755 new mode 100644 From 57b05e4a24a03636f6d964ef051d1c3a34b7bc6e Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 10 Jan 2018 00:42:24 +0100 Subject: [PATCH 096/185] gnu: yadifa: Update to 2.3.7. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/dns.scm (yadifa): Update to 2.3.7. [arguments]: Add ‘--disable-build-timestamp’ and ‘--enable-acl’ to, and remove ‘--enable-messages’ from #:configure-flags. --- gnu/packages/dns.scm | 37 ++++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index 85b44fb6fb..987449aa02 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -443,34 +443,41 @@ served by AS112. Stub and forward zones are supported.") (define-public yadifa (package (name "yadifa") - (version "2.2.6") + (version "2.3.7") (source - (let ((build "7246")) + (let ((build "7543")) (origin (method url-fetch) (uri (string-append "http://cdn.yadifa.eu/sites/default/files/releases/" name "-" version "-" build ".tar.gz")) (sha256 - (base32 - "041a35f5jz2wcn8pxk1m7b2qln2wbvj4ddwb0a53lqabl912xi6p"))))) + (base32 "0j4zj7h72ni3bbqbm1632z0vx8b9fjdrn4n1yx4yyzkpchsipwff"))))) (build-system gnu-build-system) (native-inputs `(("which" ,which))) (inputs `(("openssl" ,openssl))) (arguments - `(#:phases (modify-phases %standard-phases - (add-before 'configure 'omit-example-configurations - (lambda _ - (substitute* "Makefile.in" - ((" (etc|var)") "")) - #t))) - #:configure-flags (list "--sysconfdir=/etc" "--localstatedir=/var" - "--enable-shared" "--disable-static" - "--enable-messages" "--enable-ctrl" - "--enable-nsec" "--enable-nsec3" - "--enable-tsig" "--enable-caching"))) + `(#:phases + (modify-phases %standard-phases + (add-before 'configure 'omit-example-configurations + (lambda _ + (substitute* "Makefile.in" + ((" (etc|var)") "")) + #t))) + #:configure-flags + (list "--sysconfdir=/etc" + "--localstatedir=/var" + "--disable-build-timestamp" ; build reproducibly + "--enable-shared" + "--disable-static" + "--enable-acl" + "--enable-caching" + "--enable-ctrl" ; enable remote control + "--enable-nsec" + "--enable-nsec3" + "--enable-tsig"))) (home-page "http://www.yadifa.eu/") (synopsis "Authoritative DNS name server") (description "YADIFA is an authoritative name server for the @dfn{Domain From 5edc86820f3f5b056662a0674af93ffbef097afe Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 10 Jan 2018 01:20:42 +0100 Subject: [PATCH 097/185] gnu: yoshimi: Find ncurses with pkg-config. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/music.scm (yoshimi)[arguments]: Remove obsolete ‘find-ncurses’ phase. --- gnu/packages/music.scm | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 420f6ca121..00a0102bd6 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -1992,17 +1992,7 @@ capabilities, custom envelopes, effects, etc.") (("-msse -msse2 -mfpmath=sse") "") (("-march=(athlon64|core2)" flag) (string-append flag " -msse -msse2 -mfpmath=sse"))) - #t)) - ;; Yoshimi tries to find ncurses with pkg-config, but our ncurses - ;; package does not install .pc files. - (add-after 'unpack 'find-ncurses - (lambda _ - (substitute* "src/CMakeLists.txt" - (("LIBNCURSES REQUIRED") "LIBNCURSES") - (("NCURSES REQUIRED") "NCURSES") - (("FATAL_ERROR \"libncurses") "STATUS \"libncurses") - (("\\$\\{NCURSES_LIBRARIES\\}") "ncurses")) - #t))))) + #t))))) (inputs `(("boost" ,boost) ("fftwf" ,fftwf) From edfa2eee918c7971a63bad5aea64f70237c7ed8a Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 10 Jan 2018 01:19:17 +0100 Subject: [PATCH 098/185] gnu: yoshimi: Update to 1.5.6. * gnu/packages/music.scm (yoshimi): Update to 1.5.6. [description]: Tweak slightly. --- 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 00a0102bd6..8c7cdd1e4b 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -13,7 +13,7 @@ ;;; Copyright © 2017 Nicolas Goaziou ;;; Copyright © 2017 Pierre Langlois ;;; Copyright © 2017 Arun Isaac -;;; Copyright © 2017 Tobias Geerinckx-Rice +;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -1964,7 +1964,7 @@ capabilities, custom envelopes, effects, etc.") (define-public yoshimi (package (name "yoshimi") - (version "1.5.5") + (version "1.5.6") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/yoshimi/" @@ -1972,7 +1972,7 @@ capabilities, custom envelopes, effects, etc.") "/yoshimi-" version ".tar.bz2")) (sha256 (base32 - "0h71x9742bswifwll7bma1fz648fd5xd0yfp7byvsczy6zhjz5pf")))) + "0bjfhfslpa2hjrc9h38m7dlr62953w9n4cvkgvfy495cbym12dak")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; there are no tests @@ -2012,7 +2012,7 @@ capabilities, custom envelopes, effects, etc.") (home-page "http://yoshimi.sourceforge.net/") (synopsis "Multi-paradigm software synthesizer") (description - "Yoshimi is a fork of ZynAddSubFX, a feature heavy realtime software + "Yoshimi is a fork of ZynAddSubFX, a feature-heavy real-time software synthesizer. It offers three synthesizer engines, multitimbral and polyphonic synths, microtonal capabilities, custom envelopes, effects, etc. Yoshimi improves on support for JACK features, such as JACK MIDI.") From 85afaceb10019a21823e6cad01e757b74474759b Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 10 Jan 2018 02:07:11 +0100 Subject: [PATCH 099/185] gnu: xterm: Update to 331. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/xorg.scm (xterm): Update to 331. [arguments]: Remove now-default ‘--enable-256-color’ from #:configure-flags. now enabled by default. --- gnu/packages/xorg.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 8677c59641..32cf7e93fa 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2017 Marius Bakke ;;; Copyright © 2017 Rutger Helling ;;; Copyright © 2017 Arun Isaac +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -5780,20 +5781,19 @@ to answer a question. Xmessage can also exit after a specified time.") (define-public xterm (package (name "xterm") - (version "330") + (version "331") (source (origin (method url-fetch) (uri (string-append "ftp://ftp.invisible-island.net/xterm/" "xterm-" version ".tgz")) (sha256 (base32 - "1psnfmqd23v9gxj8a98nzrgvymrk0p1whwqi92gy15bbkzrgkvks")))) + "047gk58hvj64974sg259ss5gixj7pac6halmjfz4cc6r1yimds4s")))) (build-system gnu-build-system) (arguments - '(#:configure-flags '("--enable-wide-chars" "--enable-256-color" - "--enable-load-vt-fonts" "--enable-i18n" - "--enable-doublechars" "--enable-luit" - "--enable-mini-luit") + '(#:configure-flags '("--enable-wide-chars" "--enable-load-vt-fonts" + "--enable-i18n" "--enable-doublechars" + "--enable-luit" "--enable-mini-luit") #:tests? #f)) (native-inputs `(("pkg-config" ,pkg-config))) From 38ea280286c012e457a2dacee4ab123e1d42cb6e Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 30 Dec 2017 04:41:50 -0500 Subject: [PATCH 100/185] gnu: go-github-com-zillode-notify: Update to 0.0.0-1.8fff849. * gnu/packages/syncthing.scm (go-github-com-zillode-notify): Update to 0.0.0-1.8fff849. --- gnu/packages/syncthing.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 5d7c0f5b36..b4a8537240 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -1870,8 +1870,8 @@ Authentication and Privacy Infrastructure).") (license asl2.0)))) (define-public go-github-com-zillode-notify - (let ((commit "54e3093eb7377fd139c4605f475cc78e83610b9d") - (revision "0")) + (let ((commit "8fff849a2026ce7a59f67ed9747dd9c7adc8bd0b") + (revision "1")) (package (name "go-github-com-zillode-notify") (version (git-version "0.0.0" revision commit)) @@ -1883,7 +1883,7 @@ Authentication and Privacy Infrastructure).") (file-name (git-file-name name version)) (sha256 (base32 - "0xmj0bh15hqbzq5qsbi2nb2lihl1pqdh1vwalwmxywnda3w68xj6")))) + "1aazci21y85k1c02dlvdfx926vxb3j4i96fn27s7zxmqjlk7l3ga")))) (build-system go-build-system) (arguments '(#:import-path "github.com/zillode/notify")) From b12df4f54400a936b0e5205321886170f7381d39 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 30 Dec 2017 04:43:45 -0500 Subject: [PATCH 101/185] gnu: go-github-com-minio-sha256-simd: Update to 0.0.0-1.ad98a36. * gnu/packages/syncthing.scm (go-github-com-minio-sha256-simd): Update to 0.0.0-1.ad98a36. --- gnu/packages/syncthing.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index b4a8537240..f544817d3d 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -554,8 +554,8 @@ database/sql package.") (license expat)))) (define-public go-github-com-minio-sha256-simd - (let ((commit "6124d070eb4e7001c244b6ccc282620a5dce44a0") - (revision "0")) + (let ((commit "ad98a36ba0da87206e3378c556abbfeaeaa98668") + (revision "1")) (package (name "go-github-com-minio-sha256-simd") (version (git-version "0.0.0" revision commit)) @@ -567,7 +567,7 @@ database/sql package.") (file-name (git-file-name name version)) (sha256 (base32 - "1azrdp7x7vl9ngkxs890blspz0345xhadvssdlb0435hdqa0gkll")))) + "0yfnqn3kqdnlfm54yvc4fr5vpdmwdi2kw571nlkbpmy8ldhsqqfi")))) (build-system go-build-system) (arguments `(#:import-path "github.com/minio/sha256-simd")) From 63aade459df7ff91519c6815ba4fa02b94642715 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 30 Dec 2017 16:06:00 -0500 Subject: [PATCH 102/185] gnu: Add go-github-com-klauspost-cpuid. * gnu/packages/syncthing.scm (go-github-com-klauspost-cpuid): New variable. --- gnu/packages/syncthing.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index f544817d3d..44023617ec 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -1894,3 +1894,26 @@ Authentication and Privacy Infrastructure).") notification library in Go.") (home-page "https://github.com/zillode/notify") (license expat)))) + +(define-public go-github-com-klauspost-cpuid + (let ((commit "eae9b3e628d72774e13bdf024e78c0802f85a5b9") + (revision "0")) + (package + (name "go-github-com-klauspost-cpuid") + (version (git-version "1.1" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/klauspost/cpuid.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0dgxlsxdfhfapmz1qlvc919m3kcbmfqcfpxk78zl9am5zc3zr689")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/klauspost/cpuid")) + (synopsis "CPU feature identification library") + (description "This package provides @code{cpuid}, a Go library that provides information about the CPU running the current program") + (home-page "https://github.com/klauspost/cpuid") + (license expat)))) From e62d057505de7961d23431778e851d5133bcfc36 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 30 Dec 2017 16:06:56 -0500 Subject: [PATCH 103/185] gnu: Add go-github-com-klauspost-reedsolomon. * gnu/packages/syncthing.scm (go-github-com-klauspost-reedsolomon): New variable. --- gnu/packages/syncthing.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 44023617ec..8f6b1f5052 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -1917,3 +1917,30 @@ notification library in Go.") (description "This package provides @code{cpuid}, a Go library that provides information about the CPU running the current program") (home-page "https://github.com/klauspost/cpuid") (license expat)))) + +(define-public go-github-com-klauspost-reedsolomon + (let ((commit "0b30fa71cc8e4e9010c9aba6d0320e2e5b163b29") + (revision "0")) + (package + (name "go-github-com-klauspost-reedsolomon") + (version (git-version "1.6" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/klauspost/reedsolomon.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "04jvf65ybsa7w4d7s2n0s174p0q2fl0dqd5hhn2krw66z9i3rc6d")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/klauspost/reedsolomon")) + (propagated-inputs + `(("go-github-com-klauspost-cpuid" + ,go-github-com-klauspost-cpuid))) + (synopsis "Reed-Solomon Erasure Coding in Go") + (description "This package provides and implemenation of Reed-Solomon +Erasure Coding in Go.") + (home-page "https://github.com/klauspost/reedsolomon") + (license expat)))) From 27fbcae6d57a49ff0ee0218e95c87e801d84fdb3 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 30 Dec 2017 16:16:26 -0500 Subject: [PATCH 104/185] gnu: kcp-go: Switch upstream source. * gnu/packages/syncthing.scm (go-github-com-audriusbutkevicius-kcp-go): Replace with ... (go-github-com-xtaci-kcp-go): ... new variable. --- gnu/packages/syncthing.scm | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 8f6b1f5052..0f524e5c80 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -118,8 +118,8 @@ (inputs `(("go-github-com-audriusbutkevicius-cli" ,go-github-com-audriusbutkevicius-cli) - ("go-github-com-audriusbutkevicius-kcp-go" - ,go-github-com-audriusbutkevicius-kcp-go) + ("go-github-com-xtaci-kcp-go" + ,go-github-com-xtaci-kcp-go) ("go-github-com-audriusbutkevicius-go-nat-pmp" ,go-github-com-audriusbutkevicius-go-nat-pmp) ("go-github-com-audriusbutkevicius-pfilter" @@ -1581,33 +1581,34 @@ rolling hash.") (home-page "https://github.com/chmduquesne/rollinghash") (license expat)))) -(define-public go-github-com-audriusbutkevicius-kcp-go - (let ((commit "8ae5f528469c6ab76110f41eb7a51341b7efb946") - (revision "1")) +(define-public go-github-com-xtaci-kcp-go + (let ((commit "86eebd5cadb519b7c9306082c7eb3bcee2c49a7b") + (revision "0")) (package - (name "go-github-com-audriusbutkevicius-kcp-go") + (name "go-github-com-xtaci-kcp-go") (version (git-version "0.0.0" revision commit)) (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/AudriusButkevicius/kcp-go") + (url "https://github.com/xtaci/kcp-go") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 - "1bhg7bfc0r4a7i516xasq3i5ln15lsalm7i53b4nchba6db7mq14")))) + "1mdfsya4y04nycfgsk9ghm67zpim5pw78si3f1566xgrv4ghl0ni")))) (build-system go-build-system) (propagated-inputs `(("go-golang-org-x-net-ipv4" ,go-golang-org-x-net-ipv4) - ("go-github-com-templexxx-reedsolomon" - ,go-github-com-templexxx-reedsolomon) + ("go-github-com-klauspost-reedsolomon" + ,go-github-com-klauspost-reedsolomon) ("go-github-com-tjfoc-gmsm-sm4" ,go-github-com-tjfoc-gmsm-sm4) ("go-github-com-pkg-errors" ,go-github-com-pkg-errors) ("go-golang-org-x-crypto" ,(go-golang-org-x-crypto-union)) ("go-github-com-templexxx-xor" ,go-github-com-templexxx-xor))) (arguments - '(#:import-path "github.com/AudriusButkevicius/kcp-go" + '(#:import-path "github.com/xtaci/kcp-go" + ;; XXX update comment ;; 'TestListenerClose' is known to fail. It seems that the test suite ;; is not being used upstream: ;; https://github.com/AudriusButkevicius/kcp-go/pull/1 From 2b4588609b53456a30c91a0a875087207406e479 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 30 Dec 2017 16:22:49 -0500 Subject: [PATCH 105/185] gnu: go-golang-org-x-sys-unix: Update to 0.0.0-1.8380141. * gnu/packages/syncthing.scm (go-golang-org-x-sys-unix): Update to 0.0.0-1.8380141. [arguments]: Adjust the tests to the build environment. --- gnu/packages/syncthing.scm | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 0f524e5c80..7b68d697f3 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -1402,8 +1402,8 @@ for a variety of protocols to proxy network data.") (license bsd-3)))) (define-public go-golang-org-x-sys-unix - (let ((commit "f3918c30c5c2cb527c0b071a27c35120a6c0719a") - (revision "0")) + (let ((commit "83801418e1b59fb1880e363299581ee543af32ca") + (revision "1")) (package (name "go-golang-org-x-sys-unix") (version (git-version "0.0.0" revision commit)) @@ -1415,11 +1415,19 @@ for a variety of protocols to proxy network data.") (file-name (git-file-name name version)) (sha256 (base32 - "02967mw0nq7hp39bcf8rdbid4jgz2fn6hd1x03mmavvca03scxbh")))) + "0ilykaanvnzb27d42kmbr4i37hcn7hgqbx98z945gy63aa8dskji")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/sys/unix" - #:unpack-path "golang.org/x/sys")) + #:unpack-path "golang.org/x/sys" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-tests + (lambda _ + (pk (getcwd)) + (substitute* "src/golang.org/x/sys/unix/syscall_unix_test.go" + (("/usr/bin") "/tmp")) + #t))))) (synopsis "Go support for low-level system interaction") (description "This package provides @code{unix}, which offers Go support for low-level interaction with the operating system.") From 3aecf5bd1513694fc536f44c971efd9bcbb85b68 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 30 Dec 2017 16:26:53 -0500 Subject: [PATCH 106/185] gnu: go-golang-org-x-time-rate: Update to 0.0.0-1.6dc1736. * gnu/packages/syncthing.scm (go-golang-org-x-time-rate): Update to 0.0.0-1.6dc1736. --- gnu/packages/syncthing.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 7b68d697f3..fe3881038f 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -1705,8 +1705,8 @@ error handling primitives in Go.") (license bsd-2)))) (define-public go-golang-org-x-time-rate - (let ((commit "f51c12702a4d776e4c1fa9b0fabab841babae631") - (revision "0")) + (let ((commit "6dc17368e09b0e8634d71cac8168d853e869a0c7") + (revision "1")) (package (name "go-golang-org-x-time-rate") (version (git-version "0.0.0" revision commit)) @@ -1718,7 +1718,7 @@ error handling primitives in Go.") (file-name (git-file-name name version)) (sha256 (base32 - "07wc6g2fvafkr6djsscm0jpbpl4135khhb6kpyx1953hi5d1jvyy")))) + "1fx4cf5fpdz00g3c7vxzy92hdcg0vh4yqw00qp5s52j72qixynbk")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/time/rate" From e1c815351b1766afd7b5f0c1d43d65444d43c62b Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 30 Dec 2017 16:37:46 -0500 Subject: [PATCH 107/185] gnu: go-github-com-chmduquesne-rollinghash-adler32: Update to 0.0.0-1.3dc7875. * gnu/packages/syncthing.scm (go-github-com-chmduquesne-rollinghash-adler32): Update to 0.0.0-1.3dc7875. --- gnu/packages/syncthing.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index fe3881038f..ad68ca2e82 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -1564,8 +1564,8 @@ and RFC 5389).") (license asl2.0)))) (define-public go-github-com-chmduquesne-rollinghash-adler32 - (let ((commit "043b8fdecc9816f0011a056f6d92f9a091ab63dd") - (revision "0")) + (let ((commit "3dc7875a1f890f9bcf0619adb5571fc6f7d516bb") + (revision "1")) (package (name "go-github-com-chmduquesne-rollinghash-adler32") (version (git-version "0.0.0" revision commit)) @@ -1578,7 +1578,7 @@ and RFC 5389).") (file-name (git-file-name name version)) (sha256 (base32 - "0pc87laxgydqv03bdirfv32y9k0bdk2cwjxn28yh42nvay9p6y0k")))) + "0frl021qdqcdyk9fccw6x1v2byvh0hls4rsrdjih5jgqpc18kx6y")))) (build-system go-build-system) (arguments '(#:import-path "github.com/chmduquesne/rollinghash/adler32" From c1753d6ce113c762a3e8731cadae49f700608aeb Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 30 Dec 2017 16:47:22 -0500 Subject: [PATCH 108/185] gnu: go-github-com-gogo-protobuf: Update to 0.5-1.35b81a0. * gnu/packages/syncthing.scm (go-github-com-gogo-protobuf): Update to 0.5-1.35b81a0. --- gnu/packages/syncthing.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index ad68ca2e82..c16887d9f0 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -358,11 +358,11 @@ structs in the Go programming language.") (license (package-license go-github-com-gogo-protobuf)))) (define-public go-github-com-gogo-protobuf - (let ((commit "efccd33a0c20aa078705571d5ddbfa14c8395a63") - (revision "0")) + (let ((commit "35b81a066e522fb86ece043a8ef1dbfa10b4fed1") + (revision "1")) (package (name "go-github-com-gogo-protobuf") - (version (git-version "0.2" revision commit)) + (version (git-version "0.5" revision commit)) (source (origin (method git-fetch) (uri (git-reference @@ -371,7 +371,7 @@ structs in the Go programming language.") (file-name (git-file-name name version)) (sha256 (base32 - "09kfa3aqmhh7p0rc6wd4fw5cjccidsk9vgcy13albv0g8vnbmmgw")))) + "194k6cls2g654df54x5rzrn5nqrfk8yz1jymm667ajjvzcplidja")))) (build-system go-build-system) (arguments `(#:import-path "github.com/gogo/protobuf/proto" From e83994f2b78b0395a93f577fc28f3c9a32bf4f75 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 30 Dec 2017 16:50:08 -0500 Subject: [PATCH 109/185] gnu: go-github-com-golang-groupcache-lru: Update to 0.0.0-1.84a468c. * gnu/packages/syncthing.scm (go-github-com-golang-groupcache-lru): Update to 0.0.0-1.84a468c. --- gnu/packages/syncthing.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index c16887d9f0..b6d9d20b4b 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -427,8 +427,8 @@ generation features. This code generation is used to achieve: (license bsd-3)))) (define-public go-github-com-golang-groupcache-lru - (let ((commit "72d04f9fcdec7d3821820cc4a6f150eae553639a") - (revision "0")) + (let ((commit "84a468cf14b4376def5d68c722b139b881c450a4") + (revision "1")) (package (name "go-github-com-golang-groupcache-lru") (version (git-version "0.0.0" revision commit)) @@ -440,7 +440,7 @@ generation features. This code generation is used to achieve: (file-name (git-file-name name version)) (sha256 (base32 - "1l3ryh7bq1f2mhr3sd3x1wav99pd27r8l3ydgqh375wn4x7v5qd6")))) + "1ky1r9qh54yi9zp2769qrjngzndgd8fn7mja2qfac285n06chmcn")))) (build-system go-build-system) (arguments `(#:import-path "github.com/golang/groupcache/lru" From ece4c5bc67d4059c433ab567609065564b280801 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 30 Dec 2017 16:51:31 -0500 Subject: [PATCH 110/185] gnu: go-github-com-kardianos-osext: Update to 0.0.0-1.ae77be6. * gnu/packages/syncthing.scm (go-github-com-kardianos-osext): Update to 0.0.0-1.ae77be6. --- gnu/packages/syncthing.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index b6d9d20b4b..eb88810d93 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -502,8 +502,8 @@ address of the default LAN gateway.") (license bsd-3)))) (define-public go-github-com-kardianos-osext - (let ((commit "9d302b58e975387d0b4d9be876622c86cefe64be") - (revision "0")) + (let ((commit "ae77be60afb1dcacde03767a8c37337fad28ac14") + (revision "1")) (package (name "go-github-com-kardianos-osext") (version (git-version "0.0.0" revision commit)) @@ -515,7 +515,7 @@ address of the default LAN gateway.") (file-name (git-file-name name version)) (sha256 (base32 - "0r6f727s16g4f66k8c2z1xh8ga1p53hg9g2v95pmhd1i60fhy47a")))) + "056dkgxrqjj5r18bnc3knlpgdz5p3yvp12y4y978hnsfhwaqvbjz")))) (build-system go-build-system) (arguments `(#:import-path "github.com/kardianos/osext")) From 5e30d8c1f70052dea794e6efe39cf96bb795e83c Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 30 Dec 2017 16:57:19 -0500 Subject: [PATCH 111/185] gnu: go-github-com-lib-pq: Update to 0.0.0-1.83612a5. * gnu/packages/syncthing.scm (go-github-com-lib-pq): Update to 0.0.0-1.83612a5. --- gnu/packages/syncthing.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index eb88810d93..94d076f74d 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -527,8 +527,8 @@ finding resources located relative to the executable file.") (license bsd-3)))) (define-public go-github-com-lib-pq - (let ((commit "2704adc878c21e1329f46f6e56a1c387d788ff94") - (revision "0")) + (let ((commit "83612a56d3dd153a94a629cd64925371c9adad78") + (revision "1")) (package (name "go-github-com-lib-pq") (version (git-version "0.0.0" revision commit)) @@ -540,7 +540,7 @@ finding resources located relative to the executable file.") (file-name (git-file-name name version)) (sha256 (base32 - "160fmvi7bczxw3i3h5s821hv029ph5ld8x3c36b4cz2sr30wp110")))) + "12334yigh284k5cdvb9pgxaq6n78205jcbp75ajz44vvfd4wi6qc")))) (build-system go-build-system) (arguments `(#:import-path "github.com/lib/pq" From d277b9bc343e3c2b3fb139237c68da6cbad7a6f2 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 30 Dec 2017 17:09:06 -0500 Subject: [PATCH 112/185] gnu: go-github-com-oschwald-geoip2-golang: Update to 1.1.0. * gnu/packages/syncthing.scm (go-github-com-oschwald-geoip2-golang): Update to 1.1.0. --- gnu/packages/syncthing.scm | 50 ++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 26 deletions(-) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 94d076f74d..bb6de23158 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -579,33 +579,31 @@ architectures.") (license asl2.0)))) (define-public go-github-com-oschwald-geoip2-golang - (let ((commit "0fd242da7906550802871efe101abfdb1cc550a8") - (revision "0")) - (package - (name "go-github-com-oschwald-geoip2-golang") - (version (git-version "0.1.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/oschwald/geoip2-golang") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0kglnix0r5sjkk346ip30l7dwq1gv2g4wjy2cjmgjvb8x778hnww")))) - (build-system go-build-system) - (propagated-inputs - `(("go-github-com-oschwald-maxminddb-golang" - ,go-github-com-oschwald-maxminddb-golang) - ("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix))) - (arguments - `(#:import-path "github.com/oschwald/geoip2-golang" - #:tests? #f)) ; Requires some unpackaged software and test data - (synopsis "MaxMind GeoIP2 reader") - (description "This packages provides a library for reading MaxMind + (package + (name "go-github-com-oschwald-geoip2-golang") + (version "1.1.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/oschwald/geoip2-golang") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0v698bzs8lb59cqpsa9cf4sl8rdsvnnmaravhbfn6g6i511ppclr")))) + (build-system go-build-system) + (propagated-inputs + `(("go-github-com-oschwald-maxminddb-golang" + ,go-github-com-oschwald-maxminddb-golang) + ("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix))) + (arguments + `(#:import-path "github.com/oschwald/geoip2-golang" + #:tests? #f)) ; Requires some unpackaged software and test data + (synopsis "MaxMind GeoIP2 reader") + (description "This packages provides a library for reading MaxMind GeoLite2 and GeoIP2 databases in Go.") - (home-page "https://github.com/oschwald/geoip2-golang") - (license isc)))) + (home-page "https://github.com/oschwald/geoip2-golang") + (license isc))) (define-public go-github-com-oschwald-maxminddb-golang (let ((commit "697da8075d2061aa8ed639346443f5d3e8c80b30") From ac9091415979bc0896a7f35b7ef3e5c5c367d9ba Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 30 Dec 2017 17:10:37 -0500 Subject: [PATCH 113/185] gnu: go-github-com-oschwald-maxminddb-golang: Update to 1.2.0-0.26fe5ac. * gnu/packages/syncthing.scm (go-github-com-oschwald-maxminddb-golang): Update to 1.2.0-0.26fe5ac. --- gnu/packages/syncthing.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index bb6de23158..766bf882fa 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -606,11 +606,11 @@ GeoLite2 and GeoIP2 databases in Go.") (license isc))) (define-public go-github-com-oschwald-maxminddb-golang - (let ((commit "697da8075d2061aa8ed639346443f5d3e8c80b30") + (let ((commit "26fe5ace1c706491c2936119e1dc69c1a9c04d7f") (revision "0")) (package (name "go-github-com-oschwald-maxminddb-golang") - (version (git-version "0.2.0" revision commit)) + (version (git-version "1.2.0" revision commit)) (source (origin (method git-fetch) (uri (git-reference @@ -619,7 +619,7 @@ GeoLite2 and GeoIP2 databases in Go.") (file-name (git-file-name name version)) (sha256 (base32 - "00kkxzlvra0kcbkl56wp0dp1yw3cmfjqqlwbqy7bq5r34s7iavq0")))) + "1i6d935f3cv9djpjvc2ibh8aps8jqvg454b9pkwg2h98al759ggk")))) (build-system go-build-system) (propagated-inputs `(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix))) From 1ad4e366efb1cc18e35792f7514ece25c2fb5e7c Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 30 Dec 2017 17:12:28 -0500 Subject: [PATCH 114/185] gnu: go-github-com-pkg-errors: Update to 0.0.0-1.e881fd5. * gnu/packages/syncthing.scm (go-github-com-pkg-errors): Update to 0.0.0-1.e881fd5. --- gnu/packages/syncthing.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 766bf882fa..f64e06493f 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -1679,8 +1679,8 @@ ordering, such as TCP or KCP, and provides stream-oriented multiplexing.") (license expat)))) (define-public go-github-com-pkg-errors - (let ((commit "ff09b135c25aae272398c51a07235b90a75aa4f0") - (revision "0")) + (let ((commit "e881fd58d78e04cf6d0de1217f8707c8cc2249bc") + (revision "1")) (package (name "go-github-com-pkg-errors") (version (git-version "0.0.0" revision commit)) @@ -1692,7 +1692,7 @@ ordering, such as TCP or KCP, and provides stream-oriented multiplexing.") (file-name (git-file-name name version)) (sha256 (base32 - "0pwl6v3hmc22zp32gkyqykl4kg69xk1mlp0vmhgd1f44difd5fvz")))) + "0vfhj598jp6dzy4pbyjdrqxzb5kppw8ggvfh78g80nz11r34xnzs")))) (build-system go-build-system) (arguments `(#:import-path "github.com/pkg/errors")) From d2c7971da3a6a9da86fbf5c50203a7279e0b37dc Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 30 Dec 2017 17:22:06 -0500 Subject: [PATCH 115/185] gnu: go-github-com-rcrowley-go-metrics: Update to 0.0.0-1.e181e09. * gnu/packages/syncthing.scm (define-public go-github-com-rcrowley-go-metrics): Update to 0.0.0-1.e181e09. --- gnu/packages/syncthing.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index f64e06493f..b73727aac4 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -657,8 +657,8 @@ higher-level API for doing so.") (license expat)))) (define-public go-github-com-rcrowley-go-metrics - (let ((commit "1f30fe9094a513ce4c700b9a54458bbb0c96996c") - (revision "0")) + (let ((commit "e181e095bae94582363434144c61a9653aff6e50") + (revision "1")) (package (name "go-github-com-rcrowley-go-metrics") (version (git-version "0.0.0" revision commit)) @@ -670,7 +670,7 @@ higher-level API for doing so.") (file-name (git-file-name name version)) (sha256 (base32 - "1hvbiaq4b6dqgjz6jkkxglfh9gf71zin6qsg508sh0r0ixfavrzj")))) + "1pwkyw801hy7n94skzk6h177zqcil6ayrmb5gs3jdpsfayh8ia5w")))) (build-system go-build-system) (arguments `(#:import-path "github.com/rcrowley/go-metrics")) From feade866d07aadf5c21396b7b188886a670798d1 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 30 Dec 2017 17:24:07 -0500 Subject: [PATCH 116/185] gnu: go-github-com-sasha-s-go-deadlock: Update to 0.1.0-1.03d40e5. * gnu/packages/syncthing.scm (go-github-com-sasha-s-go-deadlock): Update to 0.1.0-1.03d40e5. --- gnu/packages/syncthing.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index b73727aac4..f706f1fcde 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -683,8 +683,8 @@ Metrics library.") (license bsd-2)))) (define-public go-github-com-sasha-s-go-deadlock - (let ((commit "341000892f3dd25f440e6231e8533eb3688ed7ec") - (revision "0")) + (let ((commit "03d40e5dbd5488667a13b3c2600b2f7c2886f02f") + (revision "1")) (package (name "go-github-com-sasha-s-go-deadlock") (version (git-version "0.1.0" revision commit)) @@ -696,7 +696,7 @@ Metrics library.") (file-name (git-file-name name version)) (sha256 (base32 - "1bcdyxwm5qpqynxahwaahbqi7ghgdajmg7b4276pdalkxkxkhsv8")))) + "13p7b7pakd9k1c2k0fs1hfim3c8mivz679977ai6zb01s4aw7gyg")))) (build-system go-build-system) (arguments `(#:import-path "github.com/sasha-s/go-deadlock")) From 619db5cfeba4447a56cf8e0e1d80b273ce55540a Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 30 Dec 2017 17:25:31 -0500 Subject: [PATCH 117/185] gnu: go-github-com-syndtr-goleveldb: Update to 0.0.0-2.34011bf. * gnu/packages/syncthing.scm (go-github-com-syndtr-goleveldb): Update to 0.0.0-2.34011bf. --- gnu/packages/syncthing.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index f706f1fcde..867657523f 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -709,8 +709,8 @@ run-time in Go.") (license asl2.0)))) (define-public go-github-com-syndtr-goleveldb - (let ((commit "549b6d6b1c0419617182954dd77770f2e2685ed5") - (revision "1")) + (let ((commit "34011bf325bce385408353a30b101fe5e923eb6e") + (revision "2")) (package (name "go-github-com-syndtr-goleveldb") (version (git-version "0.0.0" revision commit)) @@ -722,7 +722,7 @@ run-time in Go.") (file-name (git-file-name name version)) (sha256 (base32 - "1hs8bsxyjfq9d7000i1jk8bq7p2ab8snz23air13aw5ra2ri36bq")))) + "097ja0vyj6p27zrxha9nhk09fj977xsvhmd3bk2hbyvnbw4znnhd")))) (build-system go-build-system) (propagated-inputs `(("go-github-com-golang-snappy" ,go-github-com-golang-snappy))) From 54a5a8f10179f5162289ced53f94c074d65537c0 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 30 Dec 2017 17:26:20 -0500 Subject: [PATCH 118/185] gnu: go-github-com-templexxx-reedsolomon: Remove unused package. * gnu/packages/syncthing.scm (go-github-com-templexxx-reedsolomon): Remove variable. --- gnu/packages/syncthing.scm | 24 ------------------------ 1 file changed, 24 deletions(-) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 867657523f..332751cc5b 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -1802,30 +1802,6 @@ using sh's word-splitting rules.") (home-page "https://github.com/kballard/go-shellquote") (license expat)))) -(define-public go-github-com-templexxx-reedsolomon - (package - (name "go-github-com-templexxx-reedsolomon") - (version "0.1.1") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/templexxx/reedsolomon.git") - (commit version))) - (sha256 - (base32 - "05yfi6dq2mwaw6jf9vq2qhpw8vb9y94b3zi6mpfcpma262rxdkg4")))) - (build-system go-build-system) - (arguments - '(#:import-path "github.com/templexxx/reedsolomon")) - (propagated-inputs - `(("go-github-com-templexxx-cpufeat" - ,go-github-com-templexxx-cpufeat))) - (synopsis "Reed-Solomon Erasure Coding in Go") - (description "This package provides and implemenation of Reed-Solomon -Erasure Coding in Go.") - (home-page "https://github.com/templexxx/reedsolomon") - (license expat))) - (define-public go-github-com-templexxx-cpufeat (let ((commit "3794dfbfb04749f896b521032f69383f24c3687e") (revision "0")) From b39bd1d4e5134a8ed338452cc4f859a5b994fad0 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 30 Dec 2017 17:29:38 -0500 Subject: [PATCH 119/185] gnu: go-github-com-templexxx-xor: Update to 0.1.2. * gnu/packages/syncthing.scm (go-github-com-templexxx-xor): Update to 0.1.2. [propagated-inputs]: Add go-github-com-templexxx-cpufeat. --- gnu/packages/syncthing.scm | 44 +++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 332751cc5b..f775aaf164 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -1627,28 +1627,28 @@ over UDP packets.") (license expat)))) (define-public go-github-com-templexxx-xor - (let ((commit "42f9c041c330b560afb991153bf183c25444bcdc") - (revision "0")) - (package - (name "go-github-com-templexxx-xor") - (version (git-version "0.0.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/templexxx/xor.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0ixzk64nyyzas4lyqxdih824xg5f5vph18vyiibmnflwd61m0i78")))) - (build-system go-build-system) - (arguments - '(#:import-path "github.com/templexxx/xor")) - (synopsis "XOR in Go") - (description "This packages provides a Go implementation of XOR.") - (home-page "https://github.com/templexxx/xor") - (license expat)))) + (package + (name "go-github-com-templexxx-xor") + (version "0.1.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/templexxx/xor.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0v1maiii0sggmxk9bgpy6pypb40j3hy2328pc4kd5bldkpdb67d5")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/templexxx/xor")) + (propagated-inputs + `(("go-github-com-templexxx-cpufeat" ,go-github-com-templexxx-cpufeat))) + (synopsis "XOR in Go") + (description "This packages provides a Go implementation of XOR.") + (home-page "https://github.com/templexxx/xor") + (license expat))) (define-public go-github-com-xtaci-smux (let ((commit "0f6b9aaecaaf354357adc7def9239011ad276776") From 48f677c97820383a91ae94d902468ae7478cd521 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 30 Dec 2017 17:31:20 -0500 Subject: [PATCH 120/185] gnu: go-github-com-thejerf-suture: Update to 2.0.1-0.87e298c. * gnu/packages/syncthing.scm (go-github-com-thejerf-suture): Update to 2.0.1-0.87e298c. --- gnu/packages/syncthing.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index f775aaf164..f7cd779878 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -737,11 +737,11 @@ database in Go.") (license bsd-2)))) (define-public go-github-com-thejerf-suture - (let ((commit "0ac47afae95ad5bc5184ed346bc945168e883f5d") + (let ((commit "87e298c9891673c9ae76e10c2c9be589127e5f49") (revision "0")) (package (name "go-github-com-thejerf-suture") - (version (git-version "0.0.0" revision commit)) + (version (git-version "2.0.1" revision commit)) (source (origin (method git-fetch) (uri (git-reference @@ -750,7 +750,7 @@ database in Go.") (file-name (git-file-name name version)) (sha256 (base32 - "0f860fkaibnnkmh4q6q9yn3r26sraaj8wx9irwm76cmsp48zcxfy")))) + "0srw0g94z6jplvlsjqsr6wf7885alnbb6h4fhvbg2i7q1ia5ldy2")))) (build-system go-build-system) (arguments `(#:import-path "github.com/thejerf/suture")) From d4138c0c67b33b7b181068eab836d45954d247b5 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 30 Dec 2017 17:35:01 -0500 Subject: [PATCH 121/185] gnu: go-github-com-tjfoc-gmsm-sm4: Update to 0.0.0-1.98aa888. * gnu/packages/syncthing.scm (go-github-com-tjfoc-gmsm-sm4): Update to 0.0.0-1.98aa888. --- gnu/packages/syncthing.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index f7cd779878..c999ab7152 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -1827,8 +1827,8 @@ processor feature detection used by the Go standard libary.") (license bsd-3)))) (define-public go-github-com-tjfoc-gmsm-sm4 - (let ((commit "0f4904804c0f24f1784e10195a4144fcffa86a85") - (revision "0")) + (let ((commit "98aa888b79d8de04afe0fccf45ed10594efc858b") + (revision "1")) (package (name "go-github-com-tjfoc-gmsm-sm4") (version (git-version "0.0.0" revision commit)) @@ -1840,7 +1840,7 @@ processor feature detection used by the Go standard libary.") (file-name (git-file-name name version)) (sha256 (base32 - "1k56gx2ky0c5kf4icafd7zr809lliqzx2mn88lb6d52ljfpf77q5")))) + "1ii4imnz3ims2s23pdv0l4ijzxjsvl82h4yzgfqm5y809ph6pjq9")))) (build-system go-build-system) (arguments '(#:import-path "github.com/tjfoc/gmsm/sm4" From a1d1e55ccac039c0dcf32ee5338a8d74fb8d8742 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 30 Dec 2017 17:37:10 -0500 Subject: [PATCH 122/185] gnu: go-github-com-xtaci-smux: Update to 1.0.6-0.c3e1824. * gnu/packages/syncthing.scm (go-github-com-xtaci-smux): Update to 1.0.6-0.c3e1824. --- gnu/packages/syncthing.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index c999ab7152..0f51e41c76 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -1651,11 +1651,11 @@ over UDP packets.") (license expat))) (define-public go-github-com-xtaci-smux - (let ((commit "0f6b9aaecaaf354357adc7def9239011ad276776") + (let ((commit "c3e18246ff2252a6e9d6b529fcbf22ae5c74c007") (revision "0")) (package (name "go-github-com-xtaci-smux") - (version (git-version "0.0.0" revision commit)) + (version (git-version "1.0.6" revision commit)) (source (origin (method git-fetch) @@ -1665,7 +1665,7 @@ over UDP packets.") (file-name (git-file-name name version)) (sha256 (base32 - "0wx9j0id2f5iqvyalhm4i80fr9k25klr7qqj8sd9acwp5vfl5fas")))) + "1dfmxd9g31idldhq6n7r998gi4jw51ji3xvkjrzypsw2ypbjx1dz")))) (build-system go-build-system) (propagated-inputs `(("go-github-com-pkg-errors" ,go-github-com-pkg-errors))) From f394db42c4006096b087cafb9a2beba3e7aa6ceb Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 30 Dec 2017 17:42:33 -0500 Subject: [PATCH 123/185] gnu: Golang X crypto libraries: Update to 0.0.0-1.95a4943. * gnu/packages/syncthing.scm (go-golang-org-x-crypto-bcrypt, go-golang-org-x-crypto-blowfish, go-golang-org-x-crypto-pbkdf2, go-golang-org-x-crypto-tea, go-golang-org-x-crypto-salsa20, go-golang-org-x-crypto-cast5, go-golang-org-x-crypto-twofish, go-golang-org-x-crypto-xtea): Update to 0.0.0-1.95a4943. --- gnu/packages/syncthing.scm | 48 +++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 0f51e41c76..2618e9b331 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -919,8 +919,8 @@ libraries are in the same directory.") (license (package-license go-golang-org-x-crypto-bcrypt)))) (define-public go-golang-org-x-crypto-bcrypt - (let ((commit "c78caca803c95773f48a844d3dcab04b9bc4d6dd") - (revision "0")) + (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419") + (revision "1")) (package (name "go-golang-org-x-crypto-bcrypt") (version (git-version "0.0.0" revision commit)) @@ -933,7 +933,7 @@ libraries are in the same directory.") version "-checkout")) (sha256 (base32 - "0vxlfxr9y681yn2cfh6dbqmq35vvq4f45ay0mm31ffkny9cms0y4")))) + "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/crypto/bcrypt" @@ -956,8 +956,8 @@ password hashing function.") (license bsd-3)))) (define-public go-golang-org-x-crypto-blowfish - (let ((commit "c78caca803c95773f48a844d3dcab04b9bc4d6dd") - (revision "0")) + (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419") + (revision "1")) (package (name "go-golang-org-x-crypto-blowfish") (version (git-version "0.0.0" revision commit)) @@ -970,7 +970,7 @@ password hashing function.") version "-checkout")) (sha256 (base32 - "0vxlfxr9y681yn2cfh6dbqmq35vvq4f45ay0mm31ffkny9cms0y4")))) + "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/crypto/blowfish" @@ -993,8 +993,8 @@ symmetric-key block cipher.") (license bsd-3)))) (define-public go-golang-org-x-crypto-pbkdf2 - (let ((commit "c78caca803c95773f48a844d3dcab04b9bc4d6dd") - (revision "0")) + (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419") + (revision "1")) (package (name "go-golang-org-x-crypto-pbkdf2") (version (git-version "0.0.0" revision commit)) @@ -1007,7 +1007,7 @@ symmetric-key block cipher.") version "-checkout")) (sha256 (base32 - "0vxlfxr9y681yn2cfh6dbqmq35vvq4f45ay0mm31ffkny9cms0y4")))) + "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/crypto/pbkdf2" @@ -1030,8 +1030,8 @@ derivation function.") (license bsd-3)))) (define-public go-golang-org-x-crypto-tea - (let ((commit "c78caca803c95773f48a844d3dcab04b9bc4d6dd") - (revision "0")) + (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419") + (revision "1")) (package (name "go-golang-org-x-crypto-tea") (version (git-version "0.0.0" revision commit)) @@ -1044,7 +1044,7 @@ derivation function.") version "-checkout")) (sha256 (base32 - "0vxlfxr9y681yn2cfh6dbqmq35vvq4f45ay0mm31ffkny9cms0y4")))) + "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/crypto/tea" @@ -1067,8 +1067,8 @@ Algorithm (TEA) block cipher.") (license bsd-3)))) (define-public go-golang-org-x-crypto-salsa20 - (let ((commit "c78caca803c95773f48a844d3dcab04b9bc4d6dd") - (revision "0")) + (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419") + (revision "1")) (package (name "go-golang-org-x-crypto-salsa20") (version (git-version "0.0.0" revision commit)) @@ -1081,7 +1081,7 @@ Algorithm (TEA) block cipher.") version "-checkout")) (sha256 (base32 - "0vxlfxr9y681yn2cfh6dbqmq35vvq4f45ay0mm31ffkny9cms0y4")))) + "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/crypto/salsa20" @@ -1104,8 +1104,8 @@ stream cipher.") (license bsd-3)))) (define-public go-golang-org-x-crypto-cast5 - (let ((commit "c78caca803c95773f48a844d3dcab04b9bc4d6dd") - (revision "0")) + (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419") + (revision "1")) (package (name "go-golang-org-x-crypto-cast5") (version (git-version "0.0.0" revision commit)) @@ -1118,7 +1118,7 @@ stream cipher.") version "-checkout")) (sha256 (base32 - "0vxlfxr9y681yn2cfh6dbqmq35vvq4f45ay0mm31ffkny9cms0y4")))) + "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/crypto/cast5" @@ -1141,8 +1141,8 @@ symmetric-key block cipher.") (license bsd-3)))) (define-public go-golang-org-x-crypto-twofish - (let ((commit "c78caca803c95773f48a844d3dcab04b9bc4d6dd") - (revision "0")) + (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419") + (revision "1")) (package (name "go-golang-org-x-crypto-twofish") (version (git-version "0.0.0" revision commit)) @@ -1155,7 +1155,7 @@ symmetric-key block cipher.") version "-checkout")) (sha256 (base32 - "0vxlfxr9y681yn2cfh6dbqmq35vvq4f45ay0mm31ffkny9cms0y4")))) + "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/crypto/twofish" @@ -1178,8 +1178,8 @@ symmetric-key block cipher.") (license bsd-3)))) (define-public go-golang-org-x-crypto-xtea - (let ((commit "c78caca803c95773f48a844d3dcab04b9bc4d6dd") - (revision "0")) + (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419") + (revision "1")) (package (name "go-golang-org-x-crypto-xtea") (version (git-version "0.0.0" revision commit)) @@ -1192,7 +1192,7 @@ symmetric-key block cipher.") version "-checkout")) (sha256 (base32 - "0vxlfxr9y681yn2cfh6dbqmq35vvq4f45ay0mm31ffkny9cms0y4")))) + "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/crypto/xtea" From 51bca8bd9a61441b2fa0e4dc0a5eaf154a1f2ca7 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 30 Dec 2017 17:52:41 -0500 Subject: [PATCH 124/185] gnu: Golang X net libraries: Update to 0.0.0-1.d866cfc. * gnu/packages/syncthing.scm (go-golang-org-x-net-ipv4, go-golang-org-x-net-bpf, go-golang-org-x-net-context, go-golang-org-x-net-internal-iana, go-golang-org-x-net-ipv6, go-golang-org-x-net-proxy): Update to 0.0.0-1.d866cfc. --- gnu/packages/syncthing.scm | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 2618e9b331..83a7e2029f 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -1244,8 +1244,8 @@ Tiny Encryption Algorithm (XTEA) block cipher.") (license (package-license go-golang-org-x-net-ipv4)))) (define-public go-golang-org-x-net-ipv4 - (let ((commit "ffcf1bedda3b04ebb15a168a59800a73d6dc0f4d") - (revision "0")) + (let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6") + (revision "1")) (package (name "go-golang-org-x-net-ipv4") (version (git-version "0.0.0" revision commit)) @@ -1257,7 +1257,7 @@ Tiny Encryption Algorithm (XTEA) block cipher.") (file-name (git-file-name name version)) (sha256 (base32 - "1ifqw09pj9q23mza1d0im99yy3jp72dvq9dcx2bs1n1m11cjdjzp")))) + "10iahqcsiih5hgmqw8yfgv5b3fimfwl1skxg5062avcjjks59f03")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/net/ipv4" @@ -1269,8 +1269,8 @@ socket options for the Internet Protocol version 4.") (license bsd-3)))) (define-public go-golang-org-x-net-bpf - (let ((commit "ffcf1bedda3b04ebb15a168a59800a73d6dc0f4d") - (revision "0")) + (let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6") + (revision "1")) (package (name "go-golang-org-x-net-bpf") (version (git-version "0.0.0" revision commit)) @@ -1283,7 +1283,7 @@ socket options for the Internet Protocol version 4.") version "-checkout")) (sha256 (base32 - "1ifqw09pj9q23mza1d0im99yy3jp72dvq9dcx2bs1n1m11cjdjzp")))) + "10iahqcsiih5hgmqw8yfgv5b3fimfwl1skxg5062avcjjks59f03")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/net/bpf" @@ -1295,8 +1295,8 @@ Packet Filter (BPF) virtual machine.") (license bsd-3)))) (define-public go-golang-org-x-net-context - (let ((commit "ffcf1bedda3b04ebb15a168a59800a73d6dc0f4d") - (revision "0")) + (let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6") + (revision "1")) (package (name "go-golang-org-x-net-context") (version (git-version "0.0.0" revision commit)) @@ -1309,7 +1309,7 @@ Packet Filter (BPF) virtual machine.") version "-checkout")) (sha256 (base32 - "1ifqw09pj9q23mza1d0im99yy3jp72dvq9dcx2bs1n1m11cjdjzp")))) + "10iahqcsiih5hgmqw8yfgv5b3fimfwl1skxg5062avcjjks59f03")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/net/context" @@ -1322,8 +1322,8 @@ request-scoped values across API boundaries and between processes.") (license bsd-3)))) (define-public go-golang-org-x-net-internal-iana - (let ((commit "ffcf1bedda3b04ebb15a168a59800a73d6dc0f4d") - (revision "0")) + (let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6") + (revision "1")) (package (name "go-golang-org-x-net-internal-iana") (version (git-version "0.0.0" revision commit)) @@ -1336,7 +1336,7 @@ request-scoped values across API boundaries and between processes.") version "-checkout")) (sha256 (base32 - "1ifqw09pj9q23mza1d0im99yy3jp72dvq9dcx2bs1n1m11cjdjzp")))) + "10iahqcsiih5hgmqw8yfgv5b3fimfwl1skxg5062avcjjks59f03")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/net/internal/iana" @@ -1348,8 +1348,8 @@ number resources managed by the Internet Assigned Numbers Authority (IANA).") (license bsd-3)))) (define-public go-golang-org-x-net-ipv6 - (let ((commit "ffcf1bedda3b04ebb15a168a59800a73d6dc0f4d") - (revision "0")) + (let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6") + (revision "1")) (package (name "go-golang-org-x-net-ipv6") (version (git-version "0.0.0" revision commit)) @@ -1362,7 +1362,7 @@ number resources managed by the Internet Assigned Numbers Authority (IANA).") version "-checkout")) (sha256 (base32 - "1ifqw09pj9q23mza1d0im99yy3jp72dvq9dcx2bs1n1m11cjdjzp")))) + "10iahqcsiih5hgmqw8yfgv5b3fimfwl1skxg5062avcjjks59f03")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/net/ipv6" @@ -1374,8 +1374,8 @@ IP-level socket options for the Internet Protocol version 6.") (license bsd-3)))) (define-public go-golang-org-x-net-proxy - (let ((commit "ffcf1bedda3b04ebb15a168a59800a73d6dc0f4d") - (revision "0")) + (let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6") + (revision "1")) (package (name "go-golang-org-x-net-proxy") (version (git-version "0.0.0" revision commit)) @@ -1388,7 +1388,7 @@ IP-level socket options for the Internet Protocol version 6.") version "-checkout")) (sha256 (base32 - "1ifqw09pj9q23mza1d0im99yy3jp72dvq9dcx2bs1n1m11cjdjzp")))) + "10iahqcsiih5hgmqw8yfgv5b3fimfwl1skxg5062avcjjks59f03")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/net/proxy" From 924d777a3422cb642aba9831459941afba00c57b Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 30 Dec 2017 17:59:20 -0500 Subject: [PATCH 125/185] gnu: Golang X text libraries: Update to 0.0.0-1.e19ae14. * gnu/packages/syncthing.scm (go-golang-org-x-text-transform, go-golang-org-x-text-unicode-norm): Update to 0.0.0-1.e19ae14. --- gnu/packages/syncthing.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 83a7e2029f..922b090a8b 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -1458,8 +1458,8 @@ for low-level interaction with the operating system.") (license (package-license go-golang-org-x-text-transform)))) (define-public go-golang-org-x-text-transform - (let ((commit "f4b4367115ec2de254587813edaa901bc1c723a8") - (revision "0")) + (let ((commit "e19ae1496984b1c655b8044a65c0300a3c878dd3") + (revision "1")) (package (name "go-golang-org-x-text-transform") (version (git-version "0.0.0" revision commit)) @@ -1472,7 +1472,7 @@ for low-level interaction with the operating system.") version "-checkout")) (sha256 (base32 - "1a5m97y7sdxks02p4swg8ffp8bgr95aaf5fhfw511p7h3xg1dm0d")))) + "1cvnnx8nwx5c7gr6ajs7sldhbqh52n7h6fsa3i21l2lhx6xrsh4w")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/text/transform" @@ -1486,8 +1486,8 @@ between character sets.") (license bsd-3)))) (define-public go-golang-org-x-text-unicode-norm - (let ((commit "f4b4367115ec2de254587813edaa901bc1c723a8") - (revision "0")) + (let ((commit "e19ae1496984b1c655b8044a65c0300a3c878dd3") + (revision "1")) (package (name "go-golang-org-x-text-unicode-norm") (version (git-version "0.0.0" revision commit)) @@ -1500,7 +1500,7 @@ between character sets.") version "-checkout")) (sha256 (base32 - "1a5m97y7sdxks02p4swg8ffp8bgr95aaf5fhfw511p7h3xg1dm0d")))) + "1cvnnx8nwx5c7gr6ajs7sldhbqh52n7h6fsa3i21l2lhx6xrsh4w")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/text/unicode/norm" From d9a38cc255d853b2694a01b5704c1daedbb56742 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 30 Dec 2017 18:31:35 -0500 Subject: [PATCH 126/185] gnu: syncthing: Update to 0.14.43. * gnu/packages/syncthing.scm (syncthing): Update to v0.14.43. --- gnu/packages/syncthing.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 922b090a8b..66c3fedfe2 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -28,7 +28,7 @@ (define-public syncthing (package (name "syncthing") - (version "0.14.42") + (version "0.14.43") (source (origin (method url-fetch) (uri (string-append "https://github.com/syncthing/syncthing" @@ -36,7 +36,7 @@ "/syncthing-source-v" version ".tar.gz")) (sha256 (base32 - "0qqcn8j2hng4jl6ndbrjmbiwbl2f305qx5yw7swbvj7s3l7k756i")))) + "175xkc4i00axxljc5kgkr30lm1s9hfmz0hrzrsl91rpwpbh500mv")))) (build-system go-build-system) ;; The primary Syncthing executable goes to "out", while the auxiliary ;; server programs and utility tools go to "utils". This reduces the size @@ -157,9 +157,9 @@ ("go-golang-org-x-net-union" ,(go-golang-org-x-net-union)) ("go-golang-org-x-text" ,(go-golang-org-x-text-union)) ("go-golang-org-x-time-rate" ,go-golang-org-x-time-rate) - ("go-github-com-d4l3k-messagediff" - ,go-github-com-d4l3k-messagediff) - ("go-github-com-zillode-notify" ,go-github-com-zillode-notify))) + ("go-github-com-zillode-notify" ,go-github-com-zillode-notify) + ;; For tests + ("go-github-com-d4l3k-messagediff" ,go-github-com-d4l3k-messagediff))) (synopsis "Decentralized continuous filesystem synchronization") (description "Syncthing is a peer-to-peer file synchronization tool that supports a wide variety of computing platforms. It uses the Block Exchange From 3146f22dec5de4ad06cfaed5f686e677e2ba6a56 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Wed, 10 Jan 2018 16:41:06 +1000 Subject: [PATCH 127/185] gnu: mafft: Update to 7.313. * gnu/packages/bioinformatics.scm (mafft): Update to 7.313. [source]: Use HTTPS URI. --- gnu/packages/bioinformatics.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 34b843cfbb..9a8cf89aa7 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -3504,16 +3504,16 @@ sequencing tag position and orientation.") (define-public mafft (package (name "mafft") - (version "7.310") + (version "7.313") (source (origin (method url-fetch) (uri (string-append - "http://mafft.cbrc.jp/alignment/software/mafft-" version + "https://mafft.cbrc.jp/alignment/software/mafft-" version "-without-extensions-src.tgz")) (file-name (string-append name "-" version ".tgz")) (sha256 (base32 - "0gbsaz6z2qa307kd7wfb06c3y4ikmv1hsdvlns11f6zq4w1z9pwc")))) + "0r83qmg2if8mi6jyx3xdf8ar2gcxl7r9nmj98jr7lxym97v61a2k")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no automated tests, though there are tests in the read me From f6e2d86f8e9d4d96954c4f2baa01d7c167626373 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Wed, 10 Jan 2018 16:44:11 +1000 Subject: [PATCH 128/185] gnu: seqmagick: Use 'pypi-uri'. * gnu/packages/bioinformatics.scm (seqmagick)[source]: Use 'pypi-uri'. --- gnu/packages/bioinformatics.scm | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 9a8cf89aa7..f0bfa9300b 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -5381,9 +5381,7 @@ bioinformatics file formats, sequence alignment, and more.") (source (origin (method url-fetch) - (uri (string-append - "https://pypi.python.org/packages/source/s/seqmagick/seqmagick-" - version ".tar.gz")) + (uri (pypi-uri "seqmagick" version)) (sha256 (base32 "12bfyp8nqi0hd36rmj450aygafp01qy3hkbvlwn3bk39pyjjkgg5")))) From f9c84cd4958edbe8e4f22e8e3660ed957c0453b1 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 10 Jan 2018 02:50:54 +0100 Subject: [PATCH 129/185] gnu: utfcpp: Update to 2.3.5. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/textutils.scm (utfcpp): Update to 2.3.5. [source]: Download tarball from new location. [build-system]: Switch to cmake-build-system. [arguments]: Use it, with custom ‘install’ phase. [native-inputs]: Remove unzip. --- gnu/packages/textutils.scm | 43 ++++++++++++++++---------------------- 1 file changed, 18 insertions(+), 25 deletions(-) diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm index 2fb1d1495e..1f5fe6aba2 100644 --- a/gnu/packages/textutils.scm +++ b/gnu/packages/textutils.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2017 Hartmut Goebel ;;; Copyright © 2017 Kei Kebreau ;;; Copyright © 2017 Alex Vong +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -37,7 +38,6 @@ #:use-module (guix build-system ant) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) - #:use-module (guix build-system trivial) #:use-module (guix build-system python) #:use-module (gnu packages) #:use-module (gnu packages autotools) @@ -452,36 +452,29 @@ spreadsheets and outputs it in comma-separated-value format, and (define-public utfcpp (package (name "utfcpp") - (version "2.3.4") + (version "2.3.5") (source (origin (method url-fetch) (uri - (string-append - "mirror://sourceforge/utfcpp/utf8cpp_2x/Release%20" - version "/utf8_v" - (string-map (lambda (x) (if (eq? x #\.) #\_ x)) version) - ".zip")) - (file-name (string-append name "-" version ".zip")) + (string-append "https://github.com/nemtrif/utfcpp/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1vqhs0aipcvvdrwcs7h3jsryg6mgbmc4s34n5cm6d36q4nxwwwrk")))) - (build-system trivial-build-system) + "0gcqcfw19kfim8xw29xdp91l310yfjyrqdj2zsx8xx02dkpy1zzk")))) + (build-system cmake-build-system) (arguments - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils)) - (let ((source (assoc-ref %build-inputs "source")) - (out (assoc-ref %outputs "out")) - (unzip (string-append (assoc-ref %build-inputs "unzip") - "/bin/unzip"))) - (mkdir-p out) - (with-directory-excursion out - (system* unzip source) - (mkdir-p "share/doc") - (rename-file "doc" "share/doc/utfcpp") - (rename-file "source" "include")))))) - (native-inputs `(("unzip" ,unzip))) + `(#:out-of-source? #f + #:phases + (modify-phases %standard-phases + (replace 'install ; no install target + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (include (string-append out "/include")) + (doc (string-append out "/share/doc/" ,name))) + (copy-recursively "source" include) + (install-file "README.md" doc) + #t)))))) (home-page "https://github.com/nemtrif/utfcpp") (synopsis "Portable C++ library for handling UTF-8") (description "UTF8-CPP is a C++ library for handling UTF-8 encoded text From 7e71d5666b7673b204ef4741d093a4bb2848b06d Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 10 Jan 2018 02:15:13 +0100 Subject: [PATCH 130/185] gnu: xterm: Download over HTTP by default. * gnu/packages/xorg.scm (xterm)[source]: Add HTTP mirror URI. --- gnu/packages/xorg.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 32cf7e93fa..319b459cd6 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5784,8 +5784,11 @@ to answer a question. Xmessage can also exit after a specified time.") (version "331") (source (origin (method url-fetch) - (uri (string-append "ftp://ftp.invisible-island.net/xterm/" - "xterm-" version ".tgz")) + (uri (list + (string-append "http://invisible-mirror.net/archives/xterm/" + name "-" version ".tgz") + (string-append "ftp://ftp.invisible-island.net/xterm/" + name "-" version ".tgz"))) (sha256 (base32 "047gk58hvj64974sg259ss5gixj7pac6halmjfz4cc6r1yimds4s")))) From d1308c5ed27b5ea3f64735f54827bef69835113c Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 10 Jan 2018 03:53:16 +0100 Subject: [PATCH 131/185] gnu: libsvm: Update to 3.22. * gnu/packages/machine-learning.scm (libsvm): Update to 3.22. [source]: Use upstream tarball instead of a git snapshot. --- gnu/packages/machine-learning.scm | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index dbd2af1ea4..bd13cedcb3 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016, 2017 Marius Bakke ;;; Copyright © 2016 Hartmut Goebel +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -52,24 +53,22 @@ (define-public libsvm (package (name "libsvm") - (version "3.20") + (version "3.22") (source (origin (method url-fetch) - (uri (string-append - "https://github.com/cjlin1/libsvm/archive/v" - (string-delete #\. version) ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (uri (string-append "https://www.csie.ntu.edu.tw/~cjlin/libsvm/" + name "-" version ".tar.gz")) (sha256 (base32 - "1jpjlql3frjza7zxzrqqr2firh44fjb8fqsdmvz6bjz7sb47zgp4")))) + "0zd7s19y5vb7agczl6456bn45cj1y64739sslaskw1qk7dywd0bd")))) (build-system gnu-build-system) (arguments `(#:tests? #f ;no "check" target #:phases (modify-phases %standard-phases (delete 'configure) (replace - 'install + 'install ; no ‘install’ target (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (bin (string-append out "/bin/"))) @@ -100,7 +99,7 @@ classification.") (modify-phases %standard-phases (delete 'configure) (replace - 'install + 'install ; no ‘install’ target (lambda* (#:key inputs outputs #:allow-other-keys) (let ((site (string-append (assoc-ref outputs "out") "/lib/python" From 9e8401a539c2d6198f927c90862ffa3490e932ed Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 10 Jan 2018 04:39:40 +0100 Subject: [PATCH 132/185] gnu: python-ply, python2-ply: Update to 3.10. * gnu/packages/python.scm (python-ply): Update to 3.10. --- gnu/packages/python.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 4e1fc0abf2..69a034fd84 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -32,7 +32,7 @@ ;;; Copyright © 2016, 2017 Alex Vong ;;; Copyright © 2016, 2017 Arun Isaac ;;; Copyright © 2016, 2017 Julien Lepiller -;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice +;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2016, 2017 Thomas Danckaert ;;; Copyright © 2017 Carlo Zancanaro ;;; Copyright © 2017 Frederick M. Muriithi @@ -8553,14 +8553,14 @@ network support library.") (define-public python-ply (package (name "python-ply") - (version "3.9") + (version "3.10") (source (origin (method url-fetch) (uri (pypi-uri "ply" version)) (sha256 (base32 - "0gpl0yli3w03ipyqfrp3w5nf0iawhsq65anf5wwm2wf5p502jzhd")))) + "1jxsr1d2f732r6ljhvm827113dckwl6qwakfvpbdhcbhvpvlmscn")))) (build-system python-build-system) (home-page "http://www.dabeaz.com/ply/") (synopsis "Python Lex & Yacc") From 03de26343e075558c02a955c2a7753052e3943da Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 10 Jan 2018 04:44:45 +0100 Subject: [PATCH 133/185] gnu: ghc-quickcheck-unicode: Update to 1.0.1.0. * gnu/packages/haskell-check.scm (ghc-quickcheck-unicode): Update to 1.0.1.0. --- gnu/packages/haskell-check.scm | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/gnu/packages/haskell-check.scm b/gnu/packages/haskell-check.scm index 6bcf6c9589..45041c3698 100644 --- a/gnu/packages/haskell-check.scm +++ b/gnu/packages/haskell-check.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2016 David Craven ;;; Copyright © 2017 Danny Milosavljevic ;;; Copyright © 2017 rsiddharth -;;; Copyright © 2017 Tobias Geerinckx-Rice +;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -343,17 +343,16 @@ provided by the Haskell Platform.") (define-public ghc-quickcheck-unicode (package (name "ghc-quickcheck-unicode") - (version "1.0.0.1") + (version "1.0.1.0") (source (origin (method url-fetch) (uri (string-append - "https://hackage.haskell.org/package/quickcheck-unicode/quickcheck-unicode-" - version - ".tar.gz")) + "https://hackage.haskell.org/package/quickcheck-unicode/" + "quickcheck-unicode-" version ".tar.gz")) (sha256 (base32 - "1a8nl6x7l9b22yx61wm0bh2n1xzb1hd5i5zgg1w4fpaivjnrrhi4")))) + "0s43s1bzbg3gwsjgm7fpyksd1339f0m26dlw2famxwyzgvm0a80k")))) (build-system haskell-build-system) (inputs `(("ghc-quickcheck" ,ghc-quickcheck))) (home-page From a9717a52a2bccd274c3e1a8c0721a58e5c3c31b2 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 10 Jan 2018 04:58:30 +0100 Subject: [PATCH 134/185] gnu: ghc-chell-quickcheck: Update to 0.2.5.1. * gnu/packages/haskell.scm (ghc-chell-quickcheck) (ghc-chell-quickcheck-bootstrap): Update to 0.2.5.1. --- gnu/packages/haskell.scm | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 68172d8a91..7fb8213048 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -12,7 +12,7 @@ ;;; Copyright © 2017 Peter Mikkelsen ;;; Copyright © 2017 Alex Vong ;;; Copyright © 2017 rsiddharth -;;; Copyright © 2017 Tobias Geerinckx-Rice +;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -6306,16 +6306,16 @@ testing strategies.") (define ghc-chell-quickcheck-bootstrap (package (name "ghc-chell-quickcheck-bootstrap") - (version "0.2.5") + (version "0.2.5.1") (source (origin (method url-fetch) (uri (string-append - "https://hackage.haskell.org/package/chell-quickcheck/chell-quickcheck-" - version ".tar.gz")) + "https://hackage.haskell.org/package/chell-quickcheck/" + "chell-quickcheck-" version ".tar.gz")) (sha256 (base32 - "02bkcnx5k6r5csdnnkvk4wfd0l36nxb87i1463ynw17n7ym9s4cs")))) + "1iicsys9igx7m7n4l2b8djardmjy2ah5ibzp7kzs758h460fq53a")))) (build-system haskell-build-system) (inputs `(("ghc-chell" ,ghc-chell) @@ -6331,16 +6331,16 @@ testing strategies.") (define-public ghc-chell-quickcheck (package (name "ghc-chell-quickcheck") - (version "0.2.5") + (version "0.2.5.1") (source (origin (method url-fetch) (uri (string-append - "https://hackage.haskell.org/package/chell-quickcheck/chell-quickcheck-" - version ".tar.gz")) + "https://hackage.haskell.org/package/chell-quickcheck/" + "chell-quickcheck-" version ".tar.gz")) (sha256 (base32 - "02bkcnx5k6r5csdnnkvk4wfd0l36nxb87i1463ynw17n7ym9s4cs")))) + "1iicsys9igx7m7n4l2b8djardmjy2ah5ibzp7kzs758h460fq53a")))) (build-system haskell-build-system) (inputs `(("ghc-chell" ,ghc-chell) From 83be56a8187704e963e03cf13e571c386e995d44 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 10 Jan 2018 04:29:44 +0100 Subject: [PATCH 135/185] gnu: iso-codes: Update to 3.77. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/iso-codes.scm (iso-codes): Update to 3.77. [license]: Use ‘license:’ #:prefix instead of #:select (gpl2+). --- gnu/packages/iso-codes.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/iso-codes.scm b/gnu/packages/iso-codes.scm index 801b22afce..ccd07706c5 100644 --- a/gnu/packages/iso-codes.scm +++ b/gnu/packages/iso-codes.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Cyril Roelandt ;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -18,7 +19,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages iso-codes) - #:use-module ((guix licenses) #:select (gpl2+)) + #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) @@ -29,7 +30,7 @@ (define-public iso-codes (package (name "iso-codes") - (version "3.76") + (version "3.77") (source (origin (method url-fetch) (uri (string-append @@ -37,7 +38,7 @@ version ".tar.xz")) (sha256 (base32 - "1i40shd6v4nh4lkv1c1a5qm9jmf17316bv03jr65nzf0wwfqrsiq")))) + "140dgygv22a49xb8x1941xr5ff12cphd9zzwxds98pgrqsj77k91")))) (build-system gnu-build-system) (inputs `(("gettext" ,gettext-minimal) @@ -62,5 +63,4 @@ translations instead of maintaining their own translation infrastructure. Moreover, the programmer does not need to follow changes in the ISO standard and will not work with outdated information.") - ; Some bits use the lgpl2 - (license gpl2+))) + (license license:gpl2+))) ; some bits use the lgpl2 From c304543e07c0cd385588027deb59406631d3eb47 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 10 Jan 2018 06:13:59 +0100 Subject: [PATCH 136/185] gnu: libzen: Update to 0.4.37. * gnu/packages/cpp.scm (libzen): Update to 0.4.37. --- gnu/packages/cpp.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 5ad9fd33bc..4fd499f5f3 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Ethan R. Jones +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,7 +28,7 @@ (define-public libzen (package (name "libzen") - (version "0.4.35") + (version "0.4.37") (source (origin (method url-fetch) (uri (string-append "https://mediaarea.net/download/source/" @@ -35,7 +36,7 @@ name "_" version ".tar.bz2")) (sha256 (base32 - "12a1icgcffgv503ii2k1453kxg5hfly09mf4zjcc80aq8a6rf8by")))) + "1hcsrmn85b0xp0mp33aazk7g071q1v3f163nnhv8b0mv9c4bgsfn")))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) From 9358ae8adf4fc3dbbe4164d0bc16d5ce11b41393 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 10 Jan 2018 06:21:44 +0100 Subject: [PATCH 137/185] gnu: lsyncd: Update to 2.2.2. * gnu/packages/sync.scm (lsyncd): Update to 2.2.2. --- gnu/packages/sync.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/sync.scm b/gnu/packages/sync.scm index 085d04cc91..4ed62ff966 100644 --- a/gnu/packages/sync.scm +++ b/gnu/packages/sync.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2016, 2017 Efraim Flashner ;;; Copyright © 2017 Ricardo Wurmus +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -164,7 +165,7 @@ their folder. (define-public lsyncd (package (name "lsyncd") - (version "2.2.1") + (version "2.2.2") (source (origin (method url-fetch) @@ -173,7 +174,7 @@ their folder. (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0da7mrq2c578v2dd5x9v75l1fqrm28jvn28qkcd49y8p992nj6gl")))) + "02g054qv8rnbxywd4f0gnd13lrlns9175d3ciqnyslhs1zs15nqb")))) (build-system cmake-build-system) (arguments `(;; The "tests" target is broken and assumes that tests are run in the From 6872680c0a43fa623818614cba332caf6d0d6e70 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 10 Jan 2018 06:28:00 +0100 Subject: [PATCH 138/185] gnu: ding: Update to 1.8.1. * gnu/packages/dictionaries.scm (ding): Update to 1.8.1. --- gnu/packages/dictionaries.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm index d96a88b4d1..81bc322335 100644 --- a/gnu/packages/dictionaries.scm +++ b/gnu/packages/dictionaries.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2014, 2015, 2016 Ludovic Courtès ;;; Copyright © 2016, 2017 Efraim Flashner ;;; Copyright © 2016 Sou Bunnbu +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -150,14 +151,14 @@ work, such as sentence length and other readability measures.") (define-public ding (package (name "ding") - (version "1.8") + (version "1.8.1") (source (origin (method url-fetch) (uri (string-append "http://ftp.tu-chemnitz.de/pub/Local/urz/" name "/" name "-" version ".tar.gz")) (sha256 (base32 - "00z97ndwmzsgig9q6y98y8nbxy76pyi9qyj5qfpbbck24gakpz5l")))) + "0chjqs3z9zs1w3l7b5lsaj682rgnkf9kibcbzhggqqcn1pbvl5sq")))) (build-system gnu-build-system) (inputs `(("tk" ,tk))) (arguments From 205f4f2858b90f1cbdfde7618bee505f48f74702 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 10 Jan 2018 07:02:28 +0100 Subject: [PATCH 139/185] gnu: xbattmon: Update to 1.1. * gnu/packages/suckless.scm (xbattmon): Update to 1.1. --- gnu/packages/suckless.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/suckless.scm b/gnu/packages/suckless.scm index a5f2256afd..19987a41b0 100644 --- a/gnu/packages/suckless.scm +++ b/gnu/packages/suckless.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2015 Leo Famulari ;;; Copyright © 2016 Eric Bavier ;;; Copyright © 2017 Alex Griffin +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -351,7 +352,7 @@ few minutes.") (define-public xbattmon (package (name "xbattmon") - (version "0.9") + (version "1.1") (source (origin (method url-fetch) @@ -359,7 +360,7 @@ few minutes.") name "-" version ".tar.gz")) (sha256 (base32 - "0n2rrjq03pgqrdkl7cz5snsfdanf4s58w9h6dbvnl7p8bbd3j2kn")))) + "1zr6y8lml9xkx0a3dbbsds2qz1bjxvskp7wsckkf8mlsqrbb3xsg")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; No tests From 62f709f3916ba1864d25a7c5056e0456b8071364 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 10 Jan 2018 07:04:58 +0100 Subject: [PATCH 140/185] gnu: blind: Update to 1.1. * gnu/packages/suckless.scm (blind): Update to 1.1. --- gnu/packages/suckless.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/suckless.scm b/gnu/packages/suckless.scm index 19987a41b0..8a5f158878 100644 --- a/gnu/packages/suckless.scm +++ b/gnu/packages/suckless.scm @@ -51,14 +51,14 @@ (define-public blind (package (name "blind") - (version "1.0") + (version "1.1") (source (origin (method url-fetch) (uri (string-append "https://dl.suckless.org/tools/blind-" version ".tar.gz")) (sha256 (base32 - "1b36k8fg2gmabm69jckqja49i8y4rcbccgvv2wija15ciszrm1x9")))) + "0nncvzyipvkkd7zlgzwbjygp82frzs2hvbnk71gxf671np607y94")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; no check target From 67c23790d3a0aaf9f4db64e0f842fd43e5ec03cd Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 10 Jan 2018 07:08:22 +0100 Subject: [PATCH 141/185] gnu: xdg-utils: Update to 1.1.2. * /gnu/packages/freedesktop.scm (xdg-utils): Update to 1.1.2. --- gnu/packages/freedesktop.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 6a4e118f76..e917be7505 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2017 Marius Bakke ;;; Copyright © 2017 Rutger Helling ;;; Copyright © 2017 Brendan Tildesley +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -76,7 +77,7 @@ (define-public xdg-utils (package (name "xdg-utils") - (version "1.1.1") + (version "1.1.2") (source (origin (method url-fetch) @@ -85,7 +86,7 @@ version ".tar.gz")) (sha256 (base32 - "09a1pk3ifsndc5qz2kcd1557i137gpgnv3d739pv22vfayi67pdh")))) + "1k4b4m3aiyqn9k12a0ihcdahzlspl3zhskmm1d7228dvqvi546cm")))) (build-system gnu-build-system) (native-inputs `(("docbook-xsl" ,docbook-xsl) From ed8ac5524624fd6f3493a835aeb413266f2167d2 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 10 Jan 2018 15:52:19 +0100 Subject: [PATCH 142/185] gnu: wcslib: Update to 5.18. * gnu/packages/astronomy.scm (wcslib): Update to 5.18. --- gnu/packages/astronomy.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index 61197ccea3..8333c6bae3 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 John Darrington +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -64,7 +65,7 @@ in FITS files.") (define-public wcslib (package (name "wcslib") - (version "5.17") + (version "5.18") (source (origin (method url-fetch) @@ -72,7 +73,7 @@ in FITS files.") "ftp://ftp.atnf.csiro.au/pub/software/wcslib/" name "-" version ".tar.bz2")) (sha256 - (base32 "0v23x1fw01arhmqdrzfd9n593mjglhzfyx4793v065z0dg4bb72w")))) + (base32 "16jh568k99c9p0y3qzcgps2rii933x9wlay7q1xm0lr59zqzp4xn")))) (inputs `(("cfitsio" ,cfitsio))) (build-system gnu-build-system) From 1cfd7eafb936b3c4123c5fcc2308c2b8d04617de Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 10 Jan 2018 15:59:00 +0100 Subject: [PATCH 143/185] gnu: wcslib: Mark up description. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/astronomy.scm (wcslib)[description]: Define ‘FITS’. Use @dfn. --- gnu/packages/astronomy.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index 8333c6bae3..c3a591baa3 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -86,9 +86,10 @@ in FITS files.") #t))))) (home-page "https://www.atnf.csiro.au/people/mcalabre/WCS") (synopsis "Library which implements the FITS WCS standard") - (description "The FITS \"World Coordinate System\" (WCS) standard defines -keywords and usage that provide for the description of astronomical coordinate -systems in a FITS image header.") + (description "The FITS \"World Coordinate System\" (@dfn{WCS}) standard +defines keywords and usage that provide for the description of astronomical +coordinate systems in a @dfn{FITS} (Flexible Image Transport System) image +header.") (license license:lgpl3+))) (define-public gnuastro From 871d1074e1639804be0acfc3fbe961a14ea89c0c Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 10 Jan 2018 16:17:35 +0100 Subject: [PATCH 144/185] gnu: whois: Remove misleading comment. See . * gnu/packages/networking.scm (whois): Remove comment about mkpasswd. --- gnu/packages/networking.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 94621052d0..2c55d6793a 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -460,14 +460,13 @@ and up to 1 Mbit/s downstream.") (base32 "02f00vpgrdb77w7lskl9jfm2akpy21ws9cjazs13gash2xksnj38")))) (build-system gnu-build-system) - ;; TODO: unbundle mkpasswd binary + its po files. (arguments - `(#:tests? #f ; Does not exist + `(#:tests? #f ; Does not exist #:make-flags (list "CC=gcc" (string-append "prefix=" (assoc-ref %outputs "out"))) #:phases (modify-phases %standard-phases - (delete 'configure) ; No configure + (delete 'configure) ; No configure (add-before 'build 'setenv (lambda _ (setenv "HAVE_ICONV" "1") From 3be65cde750610e9a1597094fe2b1a0bbe1c5ebb Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 10 Jan 2018 17:52:20 +0100 Subject: [PATCH 145/185] gnu: gtkspell3: Update to 3.0.9. * gnu/packages/gtk.scm (gtkspell3): Update to 3.0.9. --- gnu/packages/gtk.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 22343c923e..ab06b3f014 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -15,7 +15,7 @@ ;;; Copyright © 2016 Patrick Hetu ;;; Coypright © 2016 ng0 ;;; Coypright © 2017 Roel Janssen -;;; Coypright © 2017 Tobias Geerinckx-Rice +;;; Coypright © 2017, 2018 Tobias Geerinckx-Rice ;;; Coypright © 2017 Marius Bakke ;;; ;;; This file is part of GNU Guix. @@ -1410,14 +1410,14 @@ glass artworks done by Venicians glass blowers.") (define-public gtkspell3 (package (name "gtkspell3") - (version "3.0.8") + (version "3.0.9") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/gtkspell/" - version "/" name "-" version ".tar.gz")) + version "/" name "-" version ".tar.xz")) (sha256 (base32 - "1zrz5pz4ryvcssk898liynmy2wyxgj95ak7mp2jv7x62yzihq6h1")))) + "09jdicmpipmj4v84gnkqwbmj4lh8v0i6pn967rb9jx4zg2ia9x54")))) (build-system gnu-build-system) (native-inputs `(("intltool" ,intltool) From 828621532663d65f9f8b5d092c9915266d5acf65 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 10 Jan 2018 17:55:37 +0100 Subject: [PATCH 146/185] =?UTF-8?q?gnu:=20Use=20one=20spelling=20for=20?= =?UTF-8?q?=E2=80=98copyright=E2=80=99.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/gtk.scm: Standardise on ‘copyright’ spelling in file headers. * gnu/packages/pdf.scm: Likewise. * gnu/packages/perl-check.scm: Likewise. * gnu/packages/perl.scm: Likewise. * guix/import/gem.scm: Likewise. * guix/import/hackage.scm: Likewise. --- gnu/packages/gtk.scm | 10 +++++----- gnu/packages/pdf.scm | 10 +++++----- gnu/packages/perl-check.scm | 2 +- gnu/packages/perl.scm | 2 +- guix/import/gem.scm | 2 +- guix/import/hackage.scm | 2 +- 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index ab06b3f014..c66a3e5a17 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -8,15 +8,15 @@ ;;; Copyright © 2015 Sou Bunnbu ;;; Copyright © 2015 Andy Wingo ;;; Copyright © 2015 David Hashe -;;; Coypright © 2015, 2016, 2017 Ricardo Wurmus +;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 Fabian Harfert ;;; Copyright © 2016 Kei Kebreau ;;; Copyright © 2016 Patrick Hetu -;;; Coypright © 2016 ng0 -;;; Coypright © 2017 Roel Janssen -;;; Coypright © 2017, 2018 Tobias Geerinckx-Rice -;;; Coypright © 2017 Marius Bakke +;;; Copyright © 2016 ng0 +;;; Copyright © 2017 Roel Janssen +;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice +;;; Copyright © 2017 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index f426f46c98..96773da717 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -4,11 +4,11 @@ ;;; Copyright © 2014, 2015, 2016 Ricardo Wurmus ;;; Copyright © 2015 Paul van der Walt ;;; Copyright © 2016 Roel Janssen -;;; Coypright © 2016 ng0 -;;; Coypright © 2016, 2017 Efraim Flashner -;;; Coypright © 2016, 2017 Marius Bakke -;;; Coypright © 2016, 2017 Ludovic Courtès -;;; Coypright © 2016 Julien Lepiller +;;; Copyright © 2016 ng0 +;;; Copyright © 2016, 2017 Efraim Flashner +;;; Copyright © 2016, 2017 Marius Bakke +;;; Copyright © 2016, 2017 Ludovic Courtès +;;; Copyright © 2016 Julien Lepiller ;;; Copyright © 2016 Arun Isaac ;;; Copyright © 2017 Leo Famulari ;;; Copyright © 2017 Alex Vong diff --git a/gnu/packages/perl-check.scm b/gnu/packages/perl-check.scm index 121ebec414..cbb2138a6e 100644 --- a/gnu/packages/perl-check.scm +++ b/gnu/packages/perl-check.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2016 Danny Milosavljevic ;;; Copyright © 2016 Ben Woodcroft ;;; Copyright © 2016 Ricardo Wurmus -;;; Coypright © 2016 ng0 +;;; Copyright © 2016 ng0 ;;; Copyright © 2016, 2017 Efraim Flashner ;;; Copyright © 2016, 2017 Alex Sassmannshausen ;;; Copyright © 2016, 2017 Marius Bakke diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index eeeef6eefa..36db3e1075 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2016 Mark H Weaver ;;; Copyright © 2016 Jochem Raat ;;; Copyright © 2016, 2017 Efraim Flashner -;;; Coypright © 2016 ng0 +;;; Copyright © 2016 ng0 ;;; Copyright © 2016 Alex Sassmannshausen ;;; Copyright © 2016 Roel Janssen ;;; Copyright © 2016 Ben Woodcroft diff --git a/guix/import/gem.scm b/guix/import/gem.scm index 3ad7facc7f..6e914d6290 100644 --- a/guix/import/gem.scm +++ b/guix/import/gem.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 David Thompson -;;; Copryight © 2016 Ben Woodcroft +;;; Copyright © 2016 Ben Woodcroft ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/guix/import/hackage.scm b/guix/import/hackage.scm index 2c9df073d3..4fb00af404 100644 --- a/guix/import/hackage.scm +++ b/guix/import/hackage.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Federico Beffa ;;; Copyright © 2016 Eric Bavier -;;; Coypright © 2016 ng0 +;;; Copyright © 2016 ng0 ;;; ;;; This file is part of GNU Guix. ;;; From b438d7cfa8154aaf0b7ea0d64bd45e2c33db455e Mon Sep 17 00:00:00 2001 From: Ben Sturmfels Date: Wed, 10 Jan 2018 12:23:08 +1100 Subject: [PATCH 147/185] gnu: pelican: Enable Markdown support. * gnu/packages/python.scm (pelican)[propagated-inputs]: Add python-markdown to support Markdown as mentioned in the package description. Signed-off-by: Leo Famulari --- gnu/packages/python.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 69a034fd84..2d2c3116c4 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -2472,7 +2472,8 @@ interested parties to subscribe to events, or \"signals\".") ("python-blinker" ,python-blinker) ("python-unidecode" ,python-unidecode) ("python-six" ,python-six) - ("python-dateutil" ,python-dateutil))) + ("python-dateutil" ,python-dateutil) + ("python-markdown" ,python-markdown))) (home-page "http://getpelican.com/") (arguments `(;; XXX Requires a lot more packages to do unit tests :P From 6b86af5a09a08884b132acd3f8fde1e75810b216 Mon Sep 17 00:00:00 2001 From: ng0 Date: Wed, 10 Jan 2018 17:47:45 +0000 Subject: [PATCH 148/185] gnu: stagit: Update to 0.7.2. * gnu/packages/version-control.scm (stagit): Update to 0.7.2. Signed-off-by: Leo Famulari --- gnu/packages/version-control.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index d400afd6ef..0b4997b7ac 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -10,7 +10,7 @@ ;;; Copyright © 2015 Kyle Meyer ;;; Copyright © 2015, 2017 Ricardo Wurmus ;;; Copyright © 2016, 2017 Leo Famulari -;;; Copyright © 2016, 2017 ng0 +;;; Copyright © 2016, 2017, 2018 ng0 ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2017 Vasile Dumitrascu ;;; Copyright © 2017 Clément Lassieur @@ -1549,14 +1549,14 @@ a built-in wiki, built-in file browsing, built-in tickets system, etc.") (define-public stagit (package (name "stagit") - (version "0.5") + (version "0.7.2") (source (origin (method url-fetch) (uri (string-append "https://dl.2f30.org/releases/" name "-" version ".tar.gz")) (sha256 (base32 - "0ym1dwzn2z23hcg53qh1m1g5pfibrfnnlp3sm3z1v4mhz0pgaj56")))) + "1m3s9g1z9szbjrhm8sic91xh6f2bfpi56rskdkqd5wc4wdycpyi5")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; No tests From 7ba2a1af5cc5f3e914fb3eb4b562e4676a659880 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 10 Jan 2018 19:48:06 +0200 Subject: [PATCH 149/185] gnu: wine: Limit supported architectures to ones that can build our wine. * gnu/packages/wine.scm (wine)[supported systems]: New field, limit to architectures which can build for their selected '#:system'. --- gnu/packages/wine.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index da7620cd3d..de1fa7aa2a 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015 Sou Bunnbu ;;; Copyright © 2016 Ricardo Wurmus -;;; Copyright © 2016, 2017 Efraim Flashner +;;; Copyright © 2016, 2017, 2018 Efraim Flashner ;;; Copyright © 2017, 2018 Rutger Helling ;;; Copyright © 2017 Nicolas Goaziou ;;; @@ -155,6 +155,9 @@ simulating internal Windows logic like a virtual machine or emulator, Wine translates Windows API calls into POSIX calls on-the-fly, eliminating the performance and memory penalties of other methods and allowing you to cleanly integrate Windows applications into your desktop.") + ;; Any platform should be able to build wine, but based on '#:system' these + ;; are thr ones we currently support. + (supported-systems '("i686-linux" "x86_64-linux" "armhf-linux")) (license license:lgpl2.1+) ;; It really only supports IA32, but building on x86_64 will have the same From db34d4bbed5b71fefb0abad84e705d624c99337c Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 10 Jan 2018 21:06:05 +0200 Subject: [PATCH 150/185] gnu: grub-hybrid: Don't try to install files that already exist. * gnu/packages/bootloaders.scm (grub-hybrid)[arguments]: Check if a file already exists in the destination directory before installing it. --- gnu/packages/bootloaders.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 1f0cf64696..5884cbd750 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2016, 2017, 2018 Marius Bakke ;;; Copyright © 2016, 2017 Danny Milosavljevic ;;; Copyright © 2016, 2017 David Craven -;;; Copyright © 2017 Efraim Flashner +;;; Copyright © 2017, 2018 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -221,7 +221,8 @@ menu to select one of the installed operating systems.") "/lib/grub"))) (for-each (lambda (basename) - (if (not (string-prefix? "." basename)) + (if (not (or (string-prefix? "." basename) + (file-exists? (string-append output-dir "/" basename)))) (symlink (string-append input-dir "/" basename) (string-append output-dir "/" basename)))) (scandir input-dir)) From 7e0ae2bc6cac04e1c18cf3bd9005dd2176db5902 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 10 Jan 2018 15:52:55 -0500 Subject: [PATCH 151/185] gnu: linux-libre@4.4: Update to 4.4.111. * gnu/packages/linux.scm (linux-libre-4.4): Update to 4.4.111. --- gnu/packages/linux.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 08498d5d13..8b9e9e3649 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès ;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge ;;; Copyright © 2012 Nikita Karetnikov -;;; Copyright © 2014, 2015, 2016, 2017 Mark H Weaver +;;; Copyright © 2014, 2015, 2016, 2017, 2018 Mark H Weaver ;;; Copyright © 2015 Federico Beffa ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer ;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner @@ -390,8 +390,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.110" - "14nnxya8kgax75mkrrsz7zcky7gjk8sbjfhx5q1gifdiywjcbn5k" + (make-linux-libre "4.4.111" + "1yxii8csdxpxbspbz5gd768zjzfv9x0h22hdk8dbw4c9nq09z0zc" %intel-compatible-systems #:configuration-file kernel-config)) From fc2a5fa3f91aaaac6bfded85521f26fbce72a886 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 10 Jan 2018 15:53:42 -0500 Subject: [PATCH 152/185] gnu: linux-libre@4.9: Update to 4.9.76. * gnu/packages/linux.scm (linux-libre-4.9): Update to 4.9.76. --- 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 8b9e9e3649..34d5b8f08f 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -384,8 +384,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.75" - "1zk98vx08s8fvrnxz190k4b0f6ndqv5bjps9wvv0ydclckqz3gwj" + (make-linux-libre "4.9.76" + "1ms026dp8r1cv8rbc98nfc331xggwdz1dafv89ack8d80qrhg1y1" %intel-compatible-systems #:configuration-file kernel-config)) From f8b135b25f1ad83d72695bba65d88917f660ce95 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 10 Jan 2018 15:54:21 -0500 Subject: [PATCH 153/185] gnu: linux-libre: Update to 4.14.13. * gnu/packages/linux.scm (%linux-libre-version): Update to 4.14.13. (%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 34d5b8f08f..31bd08666f 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -370,8 +370,8 @@ It has been modified to remove all non-free binary blobs.") (define %intel-compatible-systems '("x86_64-linux" "i686-linux")) (define %linux-compatible-systems '("x86_64-linux" "i686-linux" "armhf-linux")) -(define %linux-libre-version "4.14.12") -(define %linux-libre-hash "1gc2yng3vnkb0bw65z3x5cy99h772hc9div30kly039x85gqwp1y") +(define %linux-libre-version "4.14.13") +(define %linux-libre-hash "1a1wkl4xn2jsjvdnszv5gmg794waiir6x178q85qykninfbigfzx") ;; linux-libre configuration for armhf-linux is derived from Debian armmp. It ;; supports qemu "virt" machine and possibly a large number of ARM boards. From cac274aa8002d2618d8769081570644fb60b6120 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 10 Jan 2018 23:02:45 +0200 Subject: [PATCH 154/185] gnu: wine: Remove duplicate supported-systems field. * gnu/packages/wine.scm (wine)[supported-systems]: Remove duplicate field. --- gnu/packages/wine.scm | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index de1fa7aa2a..655367ac33 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -158,11 +158,7 @@ integrate Windows applications into your desktop.") ;; Any platform should be able to build wine, but based on '#:system' these ;; are thr ones we currently support. (supported-systems '("i686-linux" "x86_64-linux" "armhf-linux")) - (license license:lgpl2.1+) - - ;; It really only supports IA32, but building on x86_64 will have the same - ;; effect as building on i686 anyway. - (supported-systems (delete "mips64el-linux" %supported-systems)))) + (license license:lgpl2.1+))) (define-public wine64 (package From 570623d5695f6c1ff3ff2e8a655cbd3a1383c4cd Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 10 Jan 2018 19:10:06 +0100 Subject: [PATCH 155/185] gnu: rrdtool: Use HTTPS for home page. * gnu/packages/rrdtool.scm (rrdtool)[home-page]: Use HTTPS. --- gnu/packages/rrdtool.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/rrdtool.scm b/gnu/packages/rrdtool.scm index fbb6a3403b..2be6576ae9 100644 --- a/gnu/packages/rrdtool.scm +++ b/gnu/packages/rrdtool.scm @@ -63,7 +63,7 @@ (("^rrdcached_LDADD = librrd_th.la") "rrdcached_LDADD = librrd_th.la -lglib-2.0")) #t))))) - (home-page "http://oss.oetiker.ch/rrdtool/") + (home-page "https://oss.oetiker.ch/rrdtool/") (synopsis "Time-series data storage and display system") (description "The Round Robin Database Tool (RRDtool) is a system to store and display From 86f0d00c2b68fc4349032d8a0e42c32210d1c1ec Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 10 Jan 2018 19:59:31 +0100 Subject: [PATCH 156/185] gnu: rrdtool: Re-order imports. * gnu/packages/rrdtool.scm: Order imports alphabetically. --- gnu/packages/rrdtool.scm | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/gnu/packages/rrdtool.scm b/gnu/packages/rrdtool.scm index 2be6576ae9..f98187a3b3 100644 --- a/gnu/packages/rrdtool.scm +++ b/gnu/packages/rrdtool.scm @@ -17,19 +17,19 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages rrdtool) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu) #:use-module (gnu packages) #:use-module (gnu packages base) - #:use-module (gnu packages pkg-config) - #:use-module (gnu packages groff) - #:use-module (gnu packages python) #:use-module (gnu packages fontutils) #:use-module (gnu packages glib) + #:use-module (gnu packages groff) #:use-module (gnu packages gtk) - #:use-module (gnu packages xml)) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) + #:use-module (gnu packages xml) + #:use-module (guix build-system gnu) + #:use-module (guix download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages)) (define-public rrdtool (package From c959a7745139cb3978556852985e493fccbf1446 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 10 Jan 2018 18:55:47 +0100 Subject: [PATCH 157/185] gnu: ocaml-zed: Update to 1.6. * gnu/packages/ocaml.scm (ocaml-zed): Update to 1.6. --- gnu/packages/ocaml.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 813629d700..eab84c6981 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016, 2017 Julien Lepiller ;;; Copyright © 2017 Ben Woodcroft -;;; Copyright © 2017 Tobias Geerinckx-Rice +;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -3619,7 +3619,7 @@ is provide a description of your project and Jbuilder will do the rest.") (define-public ocaml-zed (package (name "ocaml-zed") - (version "1.5") + (version "1.6") (source (origin (method url-fetch) (uri (string-append "https://github.com/diml/zed/archive/" @@ -3627,7 +3627,7 @@ is provide a description of your project and Jbuilder will do the rest.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1q281slzwgdrrxalayll75bxgghadswlh2zcvzy08nrywqnlq5y8")))) + "19m5vrj60vg1b63qfsv0aabdlzgn40cqmx65s3wafqi4fs9xp6jn")))) (build-system ocaml-build-system) (arguments `(#:phases From 0ee12dc9f1606b80c26a9c39c28da99070d20b12 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 10 Jan 2018 19:18:56 +0100 Subject: [PATCH 158/185] gnu: python-idna: Update to 2.6. * gnu/packages/python.scm (python-idna): Update to 2.6. --- 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 2d2c3116c4..0b582e6b73 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -5973,14 +5973,14 @@ versions of Python.") (define-public python-idna (package (name "python-idna") - (version "2.5") + (version "2.6") (source (origin (method url-fetch) (uri (pypi-uri "idna" version)) (sha256 (base32 - "1ara12a7k2zc69msa0arrvw00gn61a6i6by01xb3lkkc0h4cxd9w")))) + "13qaab6d0s15gknz8v3zbcfmbj6v86hn9pjxgkdf62ch13imssic")))) (build-system python-build-system) (home-page "https://github.com/kjd/idna") (synopsis "Internationalized domain names in applications") From 721bdea50bd5d65b7a1be12f369d5dc6ab65b6b8 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 10 Jan 2018 23:13:41 +0100 Subject: [PATCH 159/185] gnu: libmtp: Update to 1.1.14. * gnu/packages/libusb.scm (libmtp): Update to 1.1.14. --- gnu/packages/libusb.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm index 144311ceaa..e4301c5208 100644 --- a/gnu/packages/libusb.scm +++ b/gnu/packages/libusb.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 Theodoros Foradis ;;; Copyright © 2017 Jonathan Brielmaier +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -250,14 +251,14 @@ implementing @code{javax.usb} (JSR-80).") (define-public libmtp (package (name "libmtp") - (version "1.1.13") + (version "1.1.14") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/libmtp/libmtp/" version "/libmtp-" version ".tar.gz")) (sha256 (base32 - "0h3dv9py5mmvxhfxmkr8ky4s80hgq3d66cmrfnnnlcdwpwpy0kj9")))) + "1s0jyhypxmj0j8s003ba1n74x63h1rw8am9q4z2ip3xyjvid65rq")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) From 9998c551321ea79cadf43b90f849d9dda4b29c66 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 10 Jan 2018 18:11:15 +0100 Subject: [PATCH 160/185] gnu: perl-list-moreutils: Update to 0.428. * gnu/packages/perl.scm (perl-list-moreutils): Update to 0.428. --- gnu/packages/perl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 36db3e1075..c1bc776469 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -4404,7 +4404,7 @@ intersections, unions, unique elements, complements and many more.") (define-public perl-list-moreutils (package (name "perl-list-moreutils") - (version "0.426") + (version "0.428") (source (origin (method url-fetch) @@ -4412,7 +4412,7 @@ intersections, unions, unique elements, complements and many more.") "List-MoreUtils-" version ".tar.gz")) (sha256 (base32 - "1dj77b42cp5ziq9y38fff458avjwzm88kn076svcvl660h6n21cf")))) + "1hkc8xkd27yzfkgaglzn77j4qjmilyva4gaz3pc64vpism2hjgki")))) (build-system perl-build-system) (arguments `(#:phases From cd661a4175ec1a51ec69aee8cec398b20fd29df7 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 10 Jan 2018 23:34:58 +0100 Subject: [PATCH 161/185] gnu: fio: Update to 3.3. * gnu/packages/benchmark.scm (fio): Update to 3.3. --- gnu/packages/benchmark.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm index 42c417b18e..8d2b17ba48 100644 --- a/gnu/packages/benchmark.scm +++ b/gnu/packages/benchmark.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016, 2017 Marius Bakke ;;; Copyright © 2017 Dave Love +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -33,7 +34,7 @@ (define-public fio (package (name "fio") - (version "3.2") + (version "3.3") (source (origin (method url-fetch) (uri (string-append @@ -41,7 +42,7 @@ "fio-" version ".tar.bz2")) (sha256 (base32 - "1f5vina9bxn99drda8dhbxng8ypj4ny72xh6mp8rq955d0f8sq0z")))) + "0mrilkm7qdn6fgzlprqp7w48bwwm362rmwxqirbzqmi54k3mj3ar")))) (build-system gnu-build-system) (arguments '(#:test-target "test" From 74a235525410083bf02d3f3e495eca9adb0db2c8 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 10 Jan 2018 21:29:41 +0100 Subject: [PATCH 162/185] gnu: rrdtool: Update to 1.7.0. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/rrdtool.scm (rrdtool): Update to 1.7.0. [native-inputs]: Add bc, perl, and tzdata. [arguments]: Remove obsolete substitution in ‘pre-configure’ phase. Set TZDIR for tests in new ‘prepare-test-environment’ phase. Add ‘remove-native-input-references’ phase for example scripts. --- gnu/packages/rrdtool.scm | 52 ++++++++++++++++++++++++++++------------ 1 file changed, 37 insertions(+), 15 deletions(-) diff --git a/gnu/packages/rrdtool.scm b/gnu/packages/rrdtool.scm index f98187a3b3..39b5d05ac9 100644 --- a/gnu/packages/rrdtool.scm +++ b/gnu/packages/rrdtool.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Mark H Weaver +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -18,11 +19,13 @@ (define-module (gnu packages rrdtool) #:use-module (gnu packages) + #:use-module (gnu packages algebra) #:use-module (gnu packages base) #:use-module (gnu packages fontutils) #:use-module (gnu packages glib) #:use-module (gnu packages groff) #:use-module (gnu packages gtk) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages xml) @@ -34,24 +37,31 @@ (define-public rrdtool (package (name "rrdtool") - (version "1.4.8") + (version "1.7.0") (source (origin (method url-fetch) (uri (string-append "http://oss.oetiker.ch/rrdtool/pub/rrdtool-" version ".tar.gz")) (sha256 (base32 - "1mpki7pv5ql73h5al04dps6dky0nqc3mmb8ac21hd2s8mbsvk5fy")))) + "0ssjqpa0dwwzbylc0drmlbq922qcw8crffc0rpr805xr6n4k8zgr")))) (build-system gnu-build-system) - (inputs `(("cairo" ,cairo) - ("glib" ,glib) - ("gtk" ,gtk+-2) - ("pango" ,pango) - ("freetype" ,freetype) - ("libxml2" ,libxml2) - ("python" ,python-2))) - (native-inputs `(("pkg-config" ,pkg-config) - ("groff" ,groff))) + (inputs + `(("cairo" ,cairo) + ("freetype" ,freetype) + ("glib" ,glib) + ("gtk" ,gtk+-2) + ("libxml2" ,libxml2) + ("pango" ,pango) + ("python" ,python-2))) + (native-inputs + `(("groff" ,groff) + ("pkg-config" ,pkg-config) + + ;; For tests. + ("bc" ,bc) + ("perl" ,perl) ; will also build Perl bindings + ("tzdata" ,tzdata))) (arguments '(#:phases (modify-phases %standard-phases @@ -59,10 +69,22 @@ (lambda _ (substitute* "libtool" (("/bin/sed") (which "sed"))) - (substitute* "src/Makefile.in" - (("^rrdcached_LDADD = librrd_th.la") - "rrdcached_LDADD = librrd_th.la -lglib-2.0")) - #t))))) + #t)) + (add-before 'check 'prepare-test-environment + (lambda* (#:key inputs #:allow-other-keys) + (setenv "TZDIR" + (string-append (assoc-ref inputs "tzdata") + "/share/zoneinfo")) + #t)) + (add-after 'install 'remove-native-input-references + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (examples (string-append out "/share/rrdtool/examples"))) + ;; Drop shebangs from examples to avoid depending on native-input + ;; perl. It's clear from context and extension how to run them. + (substitute* (find-files examples "\\.pl$") + (("^#!.*") "")) + #t)))))) (home-page "https://oss.oetiker.ch/rrdtool/") (synopsis "Time-series data storage and display system") (description From 17af5d51de7c40756a4a39d336f81681de2ba447 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 10 Jan 2018 17:52:23 +0100 Subject: [PATCH 163/185] ssh: Work around 'get-bytevector-some' bug. This works around and noticeably improves performance when using GUIX_DAEMON_SOCKET=ssh://HOST (the redirect code was transferring data to guix-daemon one byte at a time!). * guix/ssh.scm (remote-daemon-channel)[redirect]: Define 'read!' and use it instead of 'get-bytevector-some'. --- guix/ssh.scm | 33 +++++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/guix/ssh.scm b/guix/ssh.scm index 469f4fa6c1..96e4af9179 100644 --- a/guix/ssh.scm +++ b/guix/ssh.scm @@ -101,11 +101,24 @@ Throw an error on failure." ;; Unix-domain sockets but libssh doesn't have an API for that, hence this ;; hack. `(begin - (use-modules (ice-9 match) (rnrs io ports)) + (use-modules (ice-9 match) (rnrs io ports) + (rnrs bytevectors) (system foreign)) + + (define read! + ;; XXX: We would use 'get-bytevector-some' but it always returns a + ;; single byte in Guile <= 2.2.3---see . + ;; This procedure works around it. + (let ((proc (pointer->procedure int + (dynamic-func "read" (dynamic-link)) + (list int '* size_t)))) + (lambda (port bv) + (proc (fileno port) (bytevector->pointer bv) + (bytevector-length bv))))) (let ((sock (socket AF_UNIX SOCK_STREAM 0)) (stdin (current-input-port)) - (stdout (current-output-port))) + (stdout (current-output-port)) + (buffer (make-bytevector 65536))) (setvbuf stdin _IONBF) (setvbuf stdout _IONBF) (connect sock AF_UNIX ,socket-name) @@ -114,17 +127,17 @@ Throw an error on failure." (match (select (list stdin sock) '() (list stdin stdout sock)) ((reads writes ()) (when (memq stdin reads) - (match (get-bytevector-some stdin) - ((? eof-object?) + (match (read! stdin buffer) + ((? zero?) ;EOF (primitive-exit 0)) - (bv - (put-bytevector sock bv)))) + (count + (put-bytevector sock buffer 0 count)))) (when (memq sock reads) - (match (get-bytevector-some sock) - ((? eof-object?) + (match (read! sock buffer) + ((? zero?) ;EOF (primitive-exit 0)) - (bv - (put-bytevector stdout bv)))) + (count + (put-bytevector stdout buffer 0 count)))) (loop)) (_ (primitive-exit 1))))))) From 39d1e9654c102339f3d99b0e52a49639182f972b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 10 Jan 2018 21:38:08 +0100 Subject: [PATCH 164/185] store: Fix potential over-reads in 'import-paths'. Previously 'process-stderr' would always pass a bytevector of MAX-LEN to then daemon in the %stderr-read case (i.e., 'import-paths'), instead of LEN (where LEN <= MAX-LEN). In practice the extra bytes didn't cause a protocol violation or anything because they happen at the end of the stream, which typically contains the canonical sexp of the signature, and the extra zeros were just ignored. * guix/serialization.scm (write-bytevector): Add optional 'l' parameter and honor it. * guix/store.scm (process-stderr): Pass LEN to 'write-bytevector'. --- guix/serialization.scm | 8 ++++---- guix/store.scm | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/guix/serialization.scm b/guix/serialization.scm index e6ae2fc307..b41a0a09d1 100644 --- a/guix/serialization.scm +++ b/guix/serialization.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -102,9 +102,9 @@ (or (zero? m) (put-bytevector p zero 0 (- 8 m))))))) -(define (write-bytevector s p) - (let* ((l (bytevector-length s)) - (m (modulo l 8)) +(define* (write-bytevector s p + #:optional (l (bytevector-length s))) + (let* ((m (modulo l 8)) (b (make-bytevector (+ 8 l (if (zero? m) 0 (- 8 m)))))) (bytevector-u32-set! b 0 l (endianness little)) (bytevector-copy! s 0 b 8 l) diff --git a/guix/store.scm b/guix/store.scm index 89db46b8e6..6742611c6f 100644 --- a/guix/store.scm +++ b/guix/store.scm @@ -609,7 +609,7 @@ encoding conversion errors." (let* ((max-len (read-int p)) (data (make-bytevector max-len)) (len (get-bytevector-n! user-port data 0 max-len))) - (write-bytevector data p) + (write-bytevector data p len) #f)) ((= k %stderr-next) ;; Log a string. Build logs are usually UTF-8-encoded, but they From 158eadefc8c6a9f7e7a447a01c58bbcf14074451 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 10 Jan 2018 22:02:59 +0100 Subject: [PATCH 165/185] doc: Fix typo in 'guix environment' example. * doc/guix.texi (Invoking guix environment): Add missing @ in example. --- doc/guix.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index e9ee5127a8..edc4bf3283 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -7069,7 +7069,7 @@ The above commands only use the default output of the given packages. To select other outputs, two element tuples can be specified: @example -guix environment --ad-hoc -e '(list (@ (gnu packages bash) bash) "include")' +guix environment --ad-hoc -e '(list (@@ (gnu packages bash) bash) "include")' @end example @item --load=@var{file} From 55f40fdbcdd98d1d1c0110d508079c068bf7f81d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 10 Jan 2018 23:06:08 +0100 Subject: [PATCH 166/185] ssh: Pass an empty "exceptfds" set to 'select'. Previously the redirect code could end up exiting prematurely because of an uninteresting "exceptional condition" on the socket (info "(libc) Waiting for I/O"). * guix/ssh.scm (remote-daemon-channel): Pass the empty list as the third argument to 'select'. It was a mistake to pass a non-empty list there in the first place. --- guix/ssh.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guix/ssh.scm b/guix/ssh.scm index 96e4af9179..cb560c0e9c 100644 --- a/guix/ssh.scm +++ b/guix/ssh.scm @@ -124,8 +124,8 @@ Throw an error on failure." (connect sock AF_UNIX ,socket-name) (let loop () - (match (select (list stdin sock) '() (list stdin stdout sock)) - ((reads writes ()) + (match (select (list stdin sock) '() '()) + ((reads () ()) (when (memq stdin reads) (match (read! stdin buffer) ((? zero?) ;EOF From e21888dd0d0abfb6fa89a2d5b4689e36db238391 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 10 Jan 2018 23:09:05 +0100 Subject: [PATCH 167/185] derivations: Fix typo in docstring. * guix/derivations.scm (derivation-prerequisites): Fix typo in docstring. --- guix/derivations.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guix/derivations.scm b/guix/derivations.scm index 97f96d99c1..da686e89e2 100644 --- a/guix/derivations.scm +++ b/guix/derivations.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès ;;; Copyright © 2016, 2017 Mathieu Lirzin ;;; ;;; This file is part of GNU Guix. @@ -230,7 +230,7 @@ Nix itself keeps only one of them." CUT? is a predicate that is passed a derivation-input and returns true to eliminate the given input and its dependencies from the search. An example of -search a predicate is 'valid-derivation-input?'; when it is used as CUT?, the +such a predicate is 'valid-derivation-input?'; when it is used as CUT?, the result is the set of prerequisites of DRV not already in valid." (let loop ((drv drv) (result '()) From f26fa354f1d76ce9cbc43cc553637af3f0c34cc2 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 11 Jan 2018 00:54:22 +0100 Subject: [PATCH 168/185] gnu: newsbeuter: Deprecate in favour of newsboat. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/syndication.scm (newsbeuter): Redefine using ‘deprecated-package’. * gnu/packages/patches/newsbeuter-CVE-2017-12904.patch: Delete file. * gnu/packages/patches/newsbeuter-CVE-2017-14500.patch: Likewise. * gnu/local.mk (dist_patch_DATA): Remove both. --- gnu/local.mk | 2 - .../patches/newsbeuter-CVE-2017-12904.patch | 34 ----------- .../patches/newsbeuter-CVE-2017-14500.patch | 43 -------------- gnu/packages/syndication.scm | 58 ++----------------- 4 files changed, 6 insertions(+), 131 deletions(-) delete mode 100644 gnu/packages/patches/newsbeuter-CVE-2017-12904.patch delete mode 100644 gnu/packages/patches/newsbeuter-CVE-2017-14500.patch diff --git a/gnu/local.mk b/gnu/local.mk index 44868d4bba..0a1fe337fd 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -921,8 +921,6 @@ dist_patch_DATA = \ %D%/packages/patches/netsurf-system-utf8proc.patch \ %D%/packages/patches/netsurf-y2038-tests.patch \ %D%/packages/patches/netsurf-longer-test-timeout.patch \ - %D%/packages/patches/newsbeuter-CVE-2017-12904.patch \ - %D%/packages/patches/newsbeuter-CVE-2017-14500.patch \ %D%/packages/patches/ngircd-handle-zombies.patch \ %D%/packages/patches/ninja-zero-mtime.patch \ %D%/packages/patches/node-test-http2-server-rst-stream.patch \ diff --git a/gnu/packages/patches/newsbeuter-CVE-2017-12904.patch b/gnu/packages/patches/newsbeuter-CVE-2017-12904.patch deleted file mode 100644 index 8e90502469..0000000000 --- a/gnu/packages/patches/newsbeuter-CVE-2017-12904.patch +++ /dev/null @@ -1,34 +0,0 @@ -Fix CVE-2017-12904: - -https://github.com/akrennmair/newsbeuter/issues/591 -https://cve.mitre.org/cgi-bin/cvename.cgi?name=2017-12904 - -Patch copied from the Debian package of newsbeuter, version 2.9-5+deb9u1. - -Adapted from upstream source repository: - -https://github.com/akrennmair/newsbeuter/commit/96e9506ae9e252c548665152d1b8968297128307 - -Description: Fix a RCE vulnerability in the bookmark command - Newsbeuter didn't properly escape the title and description fields before - passing them to the bookmarking program which could lead to remote code - execution using the shells command substitution functionality (e.g. "$()", ``, - etc) - -Origin: upstream, https://github.com/akrennmair/newsbeuter/commit/96e9506ae9e252c548665152d1b8968297128307 -Last-Update: 2017-08-18 - ---- newsbeuter-2.9.orig/src/controller.cpp -+++ newsbeuter-2.9/src/controller.cpp -@@ -1274,9 +1274,10 @@ std::string controller::bookmark(const s - std::string bookmark_cmd = cfg.get_configvalue("bookmark-cmd"); - bool is_interactive = cfg.get_configvalue_as_bool("bookmark-interactive"); - if (bookmark_cmd.length() > 0) { -- std::string cmdline = utils::strprintf("%s '%s' %s %s", -+ std::string cmdline = utils::strprintf("%s '%s' '%s' '%s'", - bookmark_cmd.c_str(), utils::replace_all(url,"'", "%27").c_str(), -- stfl::quote(title).c_str(), stfl::quote(description).c_str()); -+ utils::replace_all(title,"'", "%27").c_str(), -+ utils::replace_all(description,"'", "%27").c_str()); - - LOG(LOG_DEBUG, "controller::bookmark: cmd = %s", cmdline.c_str()); diff --git a/gnu/packages/patches/newsbeuter-CVE-2017-14500.patch b/gnu/packages/patches/newsbeuter-CVE-2017-14500.patch deleted file mode 100644 index 449105e42a..0000000000 --- a/gnu/packages/patches/newsbeuter-CVE-2017-14500.patch +++ /dev/null @@ -1,43 +0,0 @@ -https://github.com/akrennmair/newsbeuter/commit/26f5a4350f3ab5507bb8727051c87bb04660f333.patch -http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14500 - -From 26f5a4350f3ab5507bb8727051c87bb04660f333 Mon Sep 17 00:00:00 2001 -From: Alexander Batischev -Date: Sat, 16 Sep 2017 19:31:43 +0300 -Subject: [PATCH] Work around shell code in podcast names (#598) - ---- - src/pb_controller.cpp | 6 +++--- - src/queueloader.cpp | 2 +- - 2 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/src/pb_controller.cpp b/src/pb_controller.cpp -index 09b5e897..213216cd 100644 ---- a/src/pb_controller.cpp -+++ b/src/pb_controller.cpp -@@ -306,9 +306,9 @@ void pb_controller::play_file(const std::string& file) { - if (player == "") - return; - cmdline.append(player); -- cmdline.append(" \""); -- cmdline.append(utils::replace_all(file,"\"", "\\\"")); -- cmdline.append("\""); -+ cmdline.append(" \'"); -+ cmdline.append(utils::replace_all(file,"'", "%27")); -+ cmdline.append("\'"); - stfl::reset(); - LOG(LOG_DEBUG, "pb_controller::play_file: running `%s'", cmdline.c_str()); - ::system(cmdline.c_str()); -diff --git a/src/queueloader.cpp b/src/queueloader.cpp -index c1dabdd8..ae725e04 100644 ---- a/src/queueloader.cpp -+++ b/src/queueloader.cpp -@@ -130,7 +130,7 @@ std::string queueloader::get_filename(const std::string& str) { - strftime(lbuf, sizeof(lbuf), "%Y-%b-%d-%H%M%S.unknown", localtime(&t)); - fn.append(lbuf); - } else { -- fn.append(base); -+ fn.append(utils::replace_all(base, "'", "%27")); - } - return fn; - } diff --git a/gnu/packages/syndication.scm b/gnu/packages/syndication.scm index 086b132b79..3e0cbe832a 100644 --- a/gnu/packages/syndication.scm +++ b/gnu/packages/syndication.scm @@ -25,59 +25,9 @@ #:use-module (gnu packages documentation) #:use-module (gnu packages gettext) #:use-module (gnu packages ncurses) - #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) - #:use-module (gnu packages ruby) - #:use-module (gnu packages xml) - #:use-module (gnu packages web)) - -(define-public newsbeuter - (package - (name "newsbeuter") - (version "2.9") - (source - (origin - (method url-fetch) - (uri (string-append "https://newsbeuter.org/downloads/newsbeuter-" - version ".tar.gz")) - (patches (search-patches "newsbeuter-CVE-2017-12904.patch" - "newsbeuter-CVE-2017-14500.patch")) - (sha256 - (base32 - "1j1x0hgwxz11dckk81ncalgylj5y5fgw5bcmp9qb5hq9kc0vza3l")))) - (build-system gnu-build-system) - (arguments - '(#:phases - (modify-phases %standard-phases - (replace 'configure - (lambda _ - (substitute* "config.sh" - ;; try to remove this at the next release - (("ncursesw5") "ncursesw6")) - #t))) - #:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out"))) - #:test-target "test")) - (native-inputs - `(("gettext" ,gettext-minimal) - ("perl" ,perl) - ("pkg-config" ,pkg-config) - ("ruby" ,ruby))) ; for tests - (inputs - `(("curl" ,curl) - ("json-c" ,json-c-0.12) ; check whether json-c-0.12 can be removed - ("ncurses" ,ncurses) - ("stfl" ,stfl) - ("sqlite" ,sqlite) - ("libxml2" ,libxml2))) - (home-page "https://newsbeuter.org/") - (synopsis "Text mode rss feed reader with podcast support") - (description "Newsbeuter is an innovative RSS feed reader for the text -console. It supports OPML import/exports, HTML rendering, podcast (podbeuter), -offline reading, searching and storing articles to your filesystem, and many -more features. Its user interface is coherent, easy to use, and might look -common to users of @command{mutt} and @command{slrn}.") - (license (list license:gpl2+ ; filter/* - license:expat)))) ; everything else + #:use-module (gnu packages web) + #:use-module (gnu packages xml)) (define-public newsboat (package @@ -128,3 +78,7 @@ file system, and many more features. It started life as a fork of the currently unmaintained Newsbeuter.") (license (list license:gpl2+ ; filter/* license:expat)))) ; everything else + +(define-public newsbeuter + ;; Newsbeuter is unmaintained with multiple CVEs, and was forked as Newsboat. + (deprecated-package "newsbeuter" newsboat)) From 2b7eda61cbf92145e647954d2b4897358811144b Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 11 Jan 2018 01:29:13 +0100 Subject: [PATCH 169/185] gnu: inkscape: Update to 0.92.2. * gnu/packages/inkscape.scm (inkscape): Update to 0.92.2. --- gnu/packages/inkscape.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/inkscape.scm b/gnu/packages/inkscape.scm index 4c68af0088..991d90ae50 100644 --- a/gnu/packages/inkscape.scm +++ b/gnu/packages/inkscape.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2014, 2016 Mark H Weaver ;;; Copyright © 2016 Ricardo Wurmus ;;; Copyright © 2017 Marius Bakke +;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -45,7 +46,7 @@ (define-public inkscape (package (name "inkscape") - (version "0.92.1") + (version "0.92.2") (source (origin (method url-fetch) (uri (string-append "https://media.inkscape.org/dl/" @@ -63,7 +64,7 @@ "0wwyhkqb1qyazz5f6wqrc223l6k8qnmadiw28q8gihlgvh38rvll"))))) (sha256 (base32 - "01chr3vh728dkg7l7lilwgmh5nrp784khdhjgpqjbq9dh2zhax15")))) + "1lyghk6yarcv9nwkh6k366p6hb7rfilqcvbyji09hki59khd0a56")))) (build-system cmake-build-system) (inputs `(("aspell" ,aspell) From 50dc3b8b2fc1d9c9c083c295d4f66ecd0d15b3b8 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 11 Jan 2018 01:29:25 +0100 Subject: [PATCH 170/185] gnu: inkscape: Use HTTPS for home page. * gnu/packages/inkscape.scm (inkscape)[home-page]: Use HTTPS. --- gnu/packages/inkscape.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/inkscape.scm b/gnu/packages/inkscape.scm index 991d90ae50..f1a3cb23f4 100644 --- a/gnu/packages/inkscape.scm +++ b/gnu/packages/inkscape.scm @@ -88,7 +88,7 @@ ("pkg-config" ,pkg-config))) ;; FIXME: tests require gmock (arguments `(#:tests? #f)) - (home-page "http://inkscape.org/") + (home-page "https://inkscape.org/") (synopsis "Vector graphics editor") (description "Inkscape is a vector graphics editor. What sets Inkscape apart is its use of Scalable Vector Graphics (SVG), an XML-based W3C standard, From 7bf2a70a4ffd976d50638d3b9f2ec409763157df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 9 Jan 2018 17:04:02 +0100 Subject: [PATCH 171/185] daemon: Always try to execute the builder regardless of the platform. * nix/libstore/build.cc (runChild): Move platform check after 'execve' call. Check specifically for ENOEXEC. --- nix/libstore/build.cc | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/nix/libstore/build.cc b/nix/libstore/build.cc index 275d6a5f7c..34647e6774 100644 --- a/nix/libstore/build.cc +++ b/nix/libstore/build.cc @@ -1682,15 +1682,6 @@ void DerivationGoal::startBuilder() f.exceptions(boost::io::all_error_bits ^ boost::io::too_many_args_bit); startNest(nest, lvlInfo, f % showPaths(missingPaths) % curRound % nrRounds); - /* Right platform? */ - if (!canBuildLocally(drv.platform)) { - if (settings.printBuildTrace) - printMsg(lvlError, format("@ unsupported-platform %1% %2%") % drvPath % drv.platform); - throw Error( - format("a `%1%' is required to build `%3%', but I am a `%2%'") - % drv.platform % settings.thisSystem % drvPath); - } - /* Note: built-in builders are *not* running in a chroot environment so that we can easily implement them in Guile without having it as a derivation input (they are running under a separate build user, @@ -2311,6 +2302,20 @@ void DerivationGoal::runChild() execve(drv.builder.c_str(), stringsToCharPtrs(args).data(), stringsToCharPtrs(envStrs).data()); + int error = errno; + + /* Right platform? Check this after we've tried 'execve' to allow for + transparent emulation of different platforms with binfmt_misc + handlers that invoke QEMU. */ + if (error == ENOEXEC && !canBuildLocally(drv.platform)) { + if (settings.printBuildTrace) + printMsg(lvlError, format("@ unsupported-platform %1% %2%") % drvPath % drv.platform); + throw Error( + format("a `%1%' is required to build `%3%', but I am a `%2%'") + % drv.platform % settings.thisSystem % drvPath); + } + + errno = error; throw SysError(format("executing `%1%'") % drv.builder); } catch (std::exception & e) { From 6b445c574bea36569ba93e5538bcb2304a033564 Mon Sep 17 00:00:00 2001 From: nee Date: Tue, 2 Jan 2018 01:56:27 +0100 Subject: [PATCH 172/185] gnu: Add libdiscid. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/music.scm (libdiscid): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/music.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 8c7cdd1e4b..06359e83a2 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2017 Pierre Langlois ;;; Copyright © 2017 Arun Isaac ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice +;;; Copyright © 2018 nee ;;; ;;; This file is part of GNU Guix. ;;; @@ -3834,3 +3835,27 @@ for the DSSI Soft Synth Interface. A brief list of features: @end enumerate ") (license license:gpl2+))) + +(define-public libdiscid + (package + (name "libdiscid") + (version "0.6.2") + (source + (origin + (method url-fetch) + (uri (string-append + "http://ftp.musicbrainz.org/pub/musicbrainz/libdiscid/libdiscid-" + version ".tar.gz")) + (sha256 + (base32 + "1f9irlj3dpb5gyfdnb1m4skbjvx4d4hwiz2152f83m0d9jn47r7r")))) + (arguments `(#:test-target "check")) + (build-system cmake-build-system) + (home-page "https://musicbrainz.org/doc/libdiscid") + (synopsis "Disc id reader library") + (description "libdiscid is a C library for creating MusicBrainz and freedb +disc IDs from audio CDs. It reads a CD's table of contents (TOC) and generates +an identifier which can be used to lookup the CD at MusicBrainz. Additionally, +it provides a submission URL for adding the disc ID to the database and gathers +ISRCs and the MCN (=UPC/EAN) from disc.") + (license license:lgpl2.1+))) From 1ea29aa042b6124cd370ed2178e9579fae4ada4d Mon Sep 17 00:00:00 2001 From: nee Date: Tue, 2 Jan 2018 01:56:28 +0100 Subject: [PATCH 173/185] gnu: Add libmusicbrainz. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/music.scm (libmusicbrainz): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/music.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 06359e83a2..b7dc7d9aaa 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -114,6 +114,7 @@ #:use-module (gnu packages texinfo) #:use-module (gnu packages tex) #:use-module (gnu packages tls) + #:use-module (gnu packages version-control) #:use-module (gnu packages video) #:use-module (gnu packages web) #:use-module (gnu packages wxwidgets) @@ -3859,3 +3860,35 @@ an identifier which can be used to lookup the CD at MusicBrainz. Additionally, it provides a submission URL for adding the disc ID to the database and gathers ISRCs and the MCN (=UPC/EAN) from disc.") (license license:lgpl2.1+))) + +(define-public libmusicbrainz + (package + (name "libmusicbrainz") + (version "5.1.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/metabrainz/libmusicbrainz/releases/download/release-" + version "/libmusicbrainz-" version ".tar.gz")) + (sha256 + (base32 + "0ikb9igyyk28jm34raxfzkw2qyn4nzzwsymdyprp7cmvi6g2ajb7")) )) + (build-system cmake-build-system) + (arguments `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (and + ;; requires network connections + ;; (zero? (system* "tests/mbtest")) + (zero? (system* "tests/ctest")))))))) + (inputs `(("neon" ,neon) + ("libxml2" ,libxml2))) + (native-inputs `(("pkg-config" ,pkg-config))) + (home-page "https://musicbrainz.org/doc/libmusicbrainz") + (synopsis "MusicBrainz client library") + (description "The MusicBrainz Client Library (libmusicbrainz), also known as +mb_client, is a development library geared towards developers who wish to add +MusicBrainz lookup capabilities to their applications.") + (license license:lgpl2.1+))) From 3c5dbd2beeaeb21b3b978ec6d76aa16260670fcd Mon Sep 17 00:00:00 2001 From: nee Date: Tue, 2 Jan 2018 01:56:29 +0100 Subject: [PATCH 174/185] gnu: Add sound-juicer. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/gnome.scm (sound-juicer): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/gnome.scm | 43 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 3a5f92148f..0a707b2acf 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -24,7 +24,7 @@ ;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice ;;; Copyright © 2017 Thomas Danckaert ;;; Copyright © 2017 Hartmut Goebel -;;; Copyright © 2017 nee +;;; Copyright © 2017, 2018 nee ;;; Copyright © 2017 Chris Marusich ;;; Copyright © 2017 Mohammed Sadiq ;;; Copyright © 2017 Brendan Tildesley @@ -142,6 +142,7 @@ #:use-module (gnu packages readline) #:use-module (gnu packages fonts) #:use-module (gnu packages speech) + #:use-module (gnu packages version-control) #:use-module (gnu packages virtualization) #:use-module (gnu packages vpn) #:use-module (gnu packages xorg) @@ -7075,3 +7076,43 @@ photo-booth-like software, such as Cheese.") "Cheese uses your webcam to take photos and videos. Cheese can also apply fancy special effects and lets you share the fun with others.") (license license:gpl2+))) + +(define-public sound-juicer + (package + (name "sound-juicer") + (version "3.24.0") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "19qg4xv0f9rkq34lragkmhii1llxsa87llbl28i759b0ks4f6sny")))) + (build-system glib-or-gtk-build-system) + (native-inputs + `(("desktop-file-utils" ,desktop-file-utils) + ("intltool" ,intltool) + ("itstool" ,itstool) + ("pkg-config" ,pkg-config) + ("xmllint" ,libxml2))) + (inputs + `(("gtk+" ,gtk+) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("gstreamer" ,gstreamer) + ("gst-plugins-base" ,gst-plugins-base) + ("gst-plugins-good" ,gst-plugins-good) + ("iso-codes" ,iso-codes) + ("libbrasero-media3" ,brasero) + ("libcanberra" ,libcanberra) + ("libdiscid" ,libdiscid) + ("libmusicbrainz" ,libmusicbrainz) + ("neon" ,neon))) + (home-page "https://wiki.gnome.org/Apps/SoundJuicer") + (synopsis "Audio music cd ripper") + (description "Sound Juicer extracts audio from compact discs and convert it +into audio files that a personal computer or digital audio player can play. +It supports ripping to any audio codec supported by a GStreamer plugin, such as +mp3, Ogg Vorbis and FLAC") + (license license:gpl2+))) From 73244e634cfe3e4412455b5ee60972c85288149c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 11 Jan 2018 11:19:24 +0100 Subject: [PATCH 175/185] gnu: guix: Update snapshot to 3c5dbd2. * gnu/packages/package-management.scm (guix): Update to 3c5dbd2. --- gnu/packages/package-management.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index b5cc535f26..69e25f3b49 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -87,8 +87,8 @@ ;; Note: the 'update-guix-package.scm' script expects this definition to ;; start precisely like this. (let ((version "0.14.0") - (commit "c04ffadbed7412545555b8be6b78f23eed150d26") - (revision 4)) + (commit "3c5dbd2beeaeb21b3b978ec6d76aa16260670fcd") + (revision 5)) (package (name "guix") @@ -104,7 +104,7 @@ (commit commit))) (sha256 (base32 - "1f1p58nfzggxglxrnhxg137dhpj5p8w58969q9qi2nc4hx4i263g")) + "1kia1fbw275xsnm4x0xq46465azryck94pja3gmh09vcdbwwmwq5")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments From 4f85f7f7ef99455784cac88e2775d19baad23690 Mon Sep 17 00:00:00 2001 From: amirouche Date: Mon, 8 Jan 2018 22:30:10 +0100 Subject: [PATCH 176/185] gnu: guile-bytestructures: Update to 1.0.1. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/package/guile.scm (guile-bytestructures): Update to 1.0.1. [source]: Use tarball from github instead of git. [build-system]: Use GNU-BUILD-SYSTEM. [arguments]: Remove. [navitve-inputs]: Add PKG-CONFIG. Signed-off-by: Ludovic Courtès --- gnu/local.mk | 2 +- gnu/packages/guile.scm | 88 ++----------------- .../guile-bytestructures-name-clash.patch | 31 ------- 3 files changed, 9 insertions(+), 112 deletions(-) delete mode 100644 gnu/packages/patches/guile-bytestructures-name-clash.patch diff --git a/gnu/local.mk b/gnu/local.mk index 0a1fe337fd..8c397d9256 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -16,6 +16,7 @@ # Copyright © 2017 Clément Lassieur # Copyright © 2017 Mathieu Othacehe # Copyright © 2017 Gábor Boskovits +# Copyright © 2018 Amirouche Boubekki # # This file is part of GNU Guix. # @@ -721,7 +722,6 @@ dist_patch_DATA = \ %D%/packages/patches/gspell-dash-test.patch \ %D%/packages/patches/guile-1.8-cpp-4.5.patch \ %D%/packages/patches/guile-2.2-default-utf8.patch \ - %D%/packages/patches/guile-bytestructures-name-clash.patch \ %D%/packages/patches/guile-default-utf8.patch \ %D%/packages/patches/guile-linux-syscalls.patch \ %D%/packages/patches/guile-present-coding.patch \ diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 887e360a35..a778bbf458 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -1658,90 +1658,18 @@ is no support for parsing block and inline level HTML.") (define-public guile-bytestructures (package (name "guile-bytestructures") - (version "20170402.91d042e") + (version "1.0.1") (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/TaylanUB/scheme-bytestructures") - (commit "91d042e3427e1d7740b604b6296c616cf2eec13d"))) - (file-name (string-append name "-" version "-checkout")) + (method url-fetch) + (uri (string-append "https://github.com/TaylanUB/scheme-bytestructures" + "/releases/download/v" version + "/bytestructures-" version ".tar.gz")) (sha256 (base32 - "04lgh0nk6ddnwgh20hnz4pyhczaik0xbd50kikjsxcwcl46shavb")) - (patches (search-patches "guile-bytestructures-name-clash.patch")))) - (build-system trivial-build-system) - (arguments - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils) - (ice-9 ftw) - (ice-9 match) - (ice-9 popen) - (ice-9 rdelim)) - ;; Unpack. - (setenv "PATH" - (string-join (list (assoc-ref %build-inputs "tar") - (assoc-ref %build-inputs "xz")) - "/bin:" 'suffix)) - (system* "tar" "xf" (assoc-ref %build-inputs "source")) - (match (scandir ".") - (("." ".." directory) - (chdir directory))) - - (let* ((out (assoc-ref %outputs "out")) - (guile (assoc-ref %build-inputs "guile")) - (effective (read-line - (open-pipe* OPEN_READ - (string-append guile "/bin/guile") - "-c" "(display (effective-version))"))) - (module-dir (string-append out "/share/guile/site/" - effective)) - (object-dir (string-append out "/lib/guile/" effective - "/site-ccache")) - (source (getcwd)) - (doc (string-append out "/share/doc/scheme-bytestructures")) - (sld-files (with-directory-excursion source - (find-files "bytestructures/r7" "\\.exports.sld$"))) - (scm-files (filter (lambda (path) - (not (string-prefix? "bytestructures/r7" path))) - (with-directory-excursion source - (find-files "bytestructures" "\\.scm$")))) - (guild (string-append (assoc-ref %build-inputs "guile") - "/bin/guild"))) - ;; Make installation directories. - (mkdir-p doc) - - ;; Compile .scm files and install. - (chdir source) - (setenv "GUILE_AUTO_COMPILE" "0") - (for-each (lambda (file) - (let* ((dest-file (string-append module-dir "/" - file)) - (go-file (string-append object-dir "/" - (substring file 0 - (string-rindex file #\.)) - ".go"))) - ;; Install source module. - (mkdir-p (dirname dest-file)) - (copy-file file dest-file) - - ;; Install compiled module. - (mkdir-p (dirname go-file)) - (unless (zero? (system* guild "compile" - "-L" source - "-o" go-file - file)) - (error (format #f "Failed to compile ~s to ~s!" - file go-file))))) - (append sld-files scm-files)) - - ;; Also copy over the README. - (install-file "README.md" doc) - #t)))) + "1lnfcy65mqj823lamy2n2vaghdz0g7mj011bgnhmd6hwpnaidnh2")))) + (build-system gnu-build-system) (native-inputs - `(("tar" ,tar) - ("xz" ,xz))) + `(("pkg-config" ,pkg-config))) (inputs `(("guile" ,guile-2.2))) (home-page "https://github.com/TaylanUB/scheme-bytestructures") diff --git a/gnu/packages/patches/guile-bytestructures-name-clash.patch b/gnu/packages/patches/guile-bytestructures-name-clash.patch deleted file mode 100644 index ac834dd504..0000000000 --- a/gnu/packages/patches/guile-bytestructures-name-clash.patch +++ /dev/null @@ -1,31 +0,0 @@ -This patch works around a name clash between the 'cstring-pointer' module and -the 'cstring-module' variable that occurs in Guile 2.0: - - ice-9/boot-9.scm:109:20: re-exporting local variable: cstring-pointer - ---- guile-bytestructures-20170402.91d042e-checkout/bytestructures/guile.scm 2017-07-25 17:04:32.858289986 +0200 -+++ guile-bytestructures-20170402.91d042e-checkout/bytestructures/guile.scm 2017-07-25 17:04:41.130244725 +0200 -@@ -1,6 +1,6 @@ - (define-module (bytestructures guile)) - --(import -+(use-modules - (bytestructures guile base) - (bytestructures guile vector) - (bytestructures guile struct) -@@ -8,7 +8,7 @@ - (bytestructures guile pointer) - (bytestructures guile numeric) - (bytestructures guile string) -- (bytestructures guile cstring-pointer)) -+ ((bytestructures guile cstring-pointer) #:prefix cstr:)) - (re-export - make-bytestructure-descriptor - bytestructure-descriptor? -@@ -75,5 +75,5 @@ - - bs:string - -- cstring-pointer -+ cstr:cstring-pointer - ) From 6738c29fbfa754c0e787ccfd20e47476cd161f98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 8 Jan 2018 23:30:28 +0100 Subject: [PATCH 177/185] services: Add qemu-binfmt. * gnu/services/virtualization.scm (): New record type. (bv): New macro. (%i386, %i486, %alpha, %arm, %armeb, %sparc, %sparc32plus) (%ppc, %ppc64, %ppc64le, %m68k, %mips, %mipsel, %mipsn32el) (%mips64, %mips64el, %sh4, %sh4eb, %s390x, %aarch64, %hppa) (%qemu-platforms): New variables. (lookup-qemu-platforms): New procedure. (): New record type. (qemu-platform->binfmt): New procedures. (%binfmt-mount-point, %binfmt-register-file, %binfmt-file-system) (qemu-binfmt-service-type): New variables. (qemu-binfmt-shepherd-services): New procedures. * doc/guix.texi (Virtualization Services): Add "Transparent Emulation with QEMU" heading. binfmt fixlet --- doc/guix.texi | 59 +++++++- gnu/services/virtualization.scm | 250 +++++++++++++++++++++++++++++++- 2 files changed, 307 insertions(+), 2 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index edc4bf3283..f0618e39f0 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -16956,8 +16956,10 @@ an absolute path can be specified here. @node Virtualization Services @subsubsection Virtualization services + The @code{(gnu services virtualization)} module provides services for -the libvirt and virtlog daemons. +the libvirt and virtlog daemons, as well as other virtualization-related +services. @subsubheading Libvirt daemon @code{libvirtd} is the server side daemon component of the libvirt @@ -17660,6 +17662,61 @@ Defaults to @samp{3} @end deftypevr +@subsubheading Transparent Emulation with QEMU + +@cindex emulation +@cindex @code{binfmt_misc} +@code{qemu-binfmt-service-type} provides support for transparent +emulation of program binaries built for different architectures---e.g., +it allows you to transparently execute an ARMv7 program on an x86_64 +machine. It achieves this by combining the @uref{https://www.qemu.org, +QEMU} emulator and the @code{binfmt_misc} feature of the kernel Linux. + +@defvr {Scheme Variable} qemu-binfmt-service-type +This is the type of the QEMU/binfmt service for transparent emulation. +Its value must be a @code{qemu-binfmt-configuration} object, which +specifies the QEMU package to use as well as the architecture we want to +emulated: + +@example +(service qemu-binfmt-service-type + (qemu-binfmt-configuration + (platforms (lookup-qemu-platforms "arm" "aarch64" "ppc")))) +@end example + +In this example, we enable transparent emulation for the ARM and aarch64 +platforms. Running @code{herd stop qemu-binfmt} turns it off, and +running @code{herd start qemu-binfmt} turns it back on (@pxref{Invoking +herd, the @command{herd} command,, shepherd, The GNU Shepherd Manual}). +@end defvr + +@deftp {Data Type} qemu-binfmt-configuration +This is the configuration for the @code{qemu-binfmt} service. + +@table @asis +@item @code{platforms} (default: @code{'()}) +The list of emulated QEMU platforms. Each item must be a @dfn{platform +object} as returned by @code{lookup-qemu-platforms} (see below). + +@item @code{qemu} (default: @code{qemu}) +The QEMU package to use. +@end table +@end deftp + +@deffn {Scheme Procedure} lookup-qemu-platforms @var{platforms}@dots{} +Return the list of QEMU platform objects corresponding to +@var{platforms}@dots{}. @var{platforms} must be a list of strings +corresponding to platform names, such as @code{"arm"}, @code{"sparc"}, +@code{"mips64el"}, and so on. +@end deffn + +@deffn {Scheme Procedure} qemu-platform? @var{obj} +Return true if @var{obj} is a platform object. +@end deffn + +@deffn {Scheme Procedure} qemu-platform-name @var{platform} +Return the name of @var{platform}---a string such as @code{"arm"}. +@end deffn @node Version Control Services @subsubsection Version Control Services diff --git a/gnu/services/virtualization.scm b/gnu/services/virtualization.scm index 845cdb07ba..0a8f67fb8e 100644 --- a/gnu/services/virtualization.scm +++ b/gnu/services/virtualization.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Ryan Moe +;;; Copyright © 2018 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -23,16 +24,29 @@ #:use-module (gnu services dbus) #:use-module (gnu services shepherd) #:use-module (gnu system shadow) + #:use-module (gnu system file-systems) #:use-module (gnu packages admin) #:use-module (gnu packages virtualization) #:use-module (guix records) #:use-module (guix gexp) #:use-module (guix packages) + #:use-module (srfi srfi-9) + #:use-module (srfi srfi-26) + #:use-module (rnrs bytevectors) #:use-module (ice-9 match) #:export (libvirt-configuration libvirt-service-type - virtlog-service-type)) + virtlog-service-type + + %qemu-platforms + lookup-qemu-platforms + qemu-platform? + qemu-platform-name + + qemu-binfmt-configuration + qemu-binfmt-configuration? + qemu-binfmt-service-type)) (define (uglify-field-name field-name) (let ((str (symbol->string field-name))) @@ -490,3 +504,237 @@ potential infinite waits blocking libvirt.")) (generate-documentation `((libvirt-configuration ,libvirt-configuration-fields)) 'libvirt-configuration)) + + +;;; +;;; Transparent QEMU emulation via binfmt_misc. +;;; + +;; Platforms that QEMU can emulate. +(define-record-type + (qemu-platform name family magic mask) + qemu-platform? + (name qemu-platform-name) ;string + (family qemu-platform-family) ;string + (magic qemu-platform-magic) ;bytevector + (mask qemu-platform-mask)) ;bytevector + +(define-syntax bv + (lambda (s) + "Expand the given string into a bytevector." + (syntax-case s () + ((_ str) + (string? (syntax->datum #'str)) + (let ((bv (u8-list->bytevector + (map char->integer + (string->list (syntax->datum #'str)))))) + bv))))) + +;;; The platform descriptions below are taken from +;;; 'scripts/qemu-binfmt-conf.sh' in QEMU. + +(define %i386 + (qemu-platform "i386" "i386" + (bv "\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00") + (bv "\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"))) + +(define %i486 + (qemu-platform "i486" "i386" + (bv "\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x06\x00") + (bv "\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"))) + +(define %alpha + (qemu-platform "alpha" "alpha" + (bv "\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x26\x90") + (bv "\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"))) + +(define %arm + (qemu-platform "arm" "arm" + (bv "\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00") + (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"))) + +(define %armeb + (qemu-platform "armeb" "arm" + (bv "\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28") + (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff"))) + +(define %sparc + (qemu-platform "sparc" "sparc" + (bv "\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x02") + (bv "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff"))) + +(define %sparc32plus + (qemu-platform "sparc32plus" "sparc" + (bv "\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x12") + (bv "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff"))) + +(define %ppc + (qemu-platform "ppc" "ppc" + (bv "\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x14") + (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff"))) + +(define %ppc64 + (qemu-platform "ppc64" "ppc" + (bv "\x7fELF\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x15") + (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff"))) + +(define %ppc64le + (qemu-platform "ppc64le" "ppcle" + (bv "\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x15\x00") + (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\x00"))) + +(define %m68k + (qemu-platform "m68k" "m68k" + (bv "\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x04") + (bv "\xff\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff"))) + +;; XXX: We could use the other endianness on a MIPS host. +(define %mips + (qemu-platform "mips" "mips" + (bv "\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08") + (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff"))) + +(define %mipsel + (qemu-platform "mipsel" "mips" + (bv "\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00") + (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"))) + +(define %mipsn32 + (qemu-platform "mipsn32" "mips" + (bv "\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08") + (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff"))) + +(define %mipsn32el + (qemu-platform "mipsn32el" "mips" + (bv "\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00") + (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"))) + +(define %mips64 + (qemu-platform "mips64" "mips" + (bv "\x7fELF\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08") + (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff"))) + +(define %mips64el + (qemu-platform "mips64el" "mips" + (bv "\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00") + (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"))) + +(define %sh4 + (qemu-platform "sh4" "sh4" + (bv "\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2a\x00") + (bv "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"))) + +(define %sh4eb + (qemu-platform "sh4eb" "sh4" + (bv "\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2a") + (bv "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff"))) + +(define %s390x + (qemu-platform "s390x" "s390x" + (bv "\x7fELF\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x16") + (bv "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff"))) + +(define %aarch64 + (qemu-platform "aarch64" "arm" + (bv "\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7\x00") + (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"))) + +(define %hppa + (qemu-platform "hppa" "hppa" + (bv "\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x0f") + (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff"))) + +(define %qemu-platforms + (list %i386 %i486 %alpha %arm %sparc32plus %ppc %ppc64 %ppc64le %m68k + %mips %mipsel %mipsn32 %mipsn32el %mips64 %mips64el + %sh4 %sh4eb %s390x %aarch64 %hppa)) + +(define (lookup-qemu-platforms . names) + "Return the list of QEMU platforms that match NAMES--a list of names such as +\"arm\", \"hppa\", etc." + (filter (lambda (platform) + (member (qemu-platform-name platform) names)) + %qemu-platforms)) + +(define-record-type* + qemu-binfmt-configuration make-qemu-binfmt-configuration + qemu-binfmt-configuration? + (qemu qemu-binfmt-configuration-qemu + (default qemu)) + (platforms qemu-binfmt-configuration-platforms + (default '()))) ;safest default + +(define (qemu-platform->binfmt qemu platform) + "Return a gexp that evaluates to a binfmt string for PLATFORM, using the +given QEMU package." + (define (bytevector->binfmt-string bv) + ;; Return a binfmt-friendly string representing BV. Hex-encode every + ;; character, in particular because the doc notes "that you must escape + ;; any NUL bytes; parsing halts at the first one". + (string-concatenate + (map (lambda (n) + (string-append "\\x" + (string-pad (number->string n 16) 2 #\0))) + (bytevector->u8-list bv)))) + + (match platform + (($ name family magic mask) + ;; See 'Documentation/binfmt_misc.txt' in the kernel. + #~(string-append ":qemu-" #$name ":M::" + #$(bytevector->binfmt-string magic) + ":" #$(bytevector->binfmt-string mask) + ":" #$(file-append qemu "/bin/qemu-" name) + ":" ;FLAGS go here + )))) + +(define %binfmt-mount-point + (file-system-mount-point %binary-format-file-system)) + +(define %binfmt-register-file + (string-append %binfmt-mount-point "/register")) + +(define qemu-binfmt-shepherd-services + (match-lambda + (($ qemu platforms) + (list (shepherd-service + (provision '(qemu-binfmt)) + (documentation "Install binfmt_misc handlers for QEMU.") + (requirement '(file-system-/proc/sys/fs/binfmt_misc)) + (start #~(lambda () + ;; Register the handlers for all of PLATFORMS. + (for-each (lambda (str) + (call-with-output-file + #$%binfmt-register-file + (lambda (port) + (display str port)))) + (list + #$@(map (cut qemu-platform->binfmt qemu + <>) + platforms))) + #t)) + (stop #~(lambda (_) + ;; Unregister the handlers. + (for-each (lambda (name) + (let ((file (string-append + #$%binfmt-mount-point + "/qemu-" name))) + (call-with-output-file file + (lambda (port) + (display "-1" port))))) + '#$(map qemu-platform-name platforms)) + #f))))))) + +(define qemu-binfmt-service-type + ;; TODO: Make a separate binfmt_misc service out of this? + (service-type (name 'qemu-binfmt) + (extensions + (list (service-extension file-system-service-type + (const + (list %binary-format-file-system))) + (service-extension shepherd-root-service-type + qemu-binfmt-shepherd-services))) + (default-value (qemu-binfmt-configuration)) + (description + "This service supports transparent emulation of binaries +compiled for other architectures using QEMU and the @code{binfmt_misc} +functionality of the kernel Linux."))) From 88554b5d055b685131ab37d560d5c671a22cef8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 9 Jan 2018 16:45:12 +0100 Subject: [PATCH 178/185] services: guix: Add 'chroot-directories' field. * gnu/services/base.scm ()[chroot-directories]: New field. (guix-shepherd-service): Honor it. (references-file): New procedure. (guix-service-type)[compose, extend]: New fields. --- gnu/services/base.scm | 64 +++++++++++++++++++++++++++++++++++-------- 1 file changed, 53 insertions(+), 11 deletions(-) diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 7c20232a63..8e30bcd341 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -1434,6 +1434,8 @@ failed to register hydra.gnu.org public key: ~a~%" status)))))))) (default #t)) (substitute-urls guix-configuration-substitute-urls ;list of strings (default %default-substitute-urls)) + (chroot-directories guix-configuration-chroot-directories ;list of file-like/strings + (default '())) (max-silent-time guix-configuration-max-silent-time ;integer (default 0)) (timeout guix-configuration-timeout ;integer @@ -1457,23 +1459,35 @@ failed to register hydra.gnu.org public key: ~a~%" status)))))))) (match-record config (guix build-group build-accounts authorize-key? authorized-keys use-substitutes? substitute-urls max-silent-time timeout - log-compression extra-options log-file http-proxy tmpdir) + log-compression extra-options log-file http-proxy tmpdir + chroot-directories) (list (shepherd-service (documentation "Run the Guix daemon.") (provision '(guix-daemon)) (requirement '(user-processes)) + (modules '((srfi srfi-1))) (start #~(make-forkexec-constructor - (list #$(file-append guix "/bin/guix-daemon") - "--build-users-group" #$build-group - "--max-silent-time" #$(number->string max-silent-time) - "--timeout" #$(number->string timeout) - "--log-compression" #$(symbol->string log-compression) - #$@(if use-substitutes? - '() - '("--no-substitutes")) - "--substitute-urls" #$(string-join substitute-urls) - #$@extra-options) + (cons* #$(file-append guix "/bin/guix-daemon") + "--build-users-group" #$build-group + "--max-silent-time" #$(number->string max-silent-time) + "--timeout" #$(number->string timeout) + "--log-compression" #$(symbol->string log-compression) + #$@(if use-substitutes? + '() + '("--no-substitutes")) + "--substitute-urls" #$(string-join substitute-urls) + #$@extra-options + + ;; Add CHROOT-DIRECTORIES and all their dependencies (if + ;; these are store items) to the chroot. + (append-map (lambda (file) + (append-map (lambda (directory) + (list "--chroot-directory" + directory)) + (call-with-input-file file + read))) + '#$(map references-file chroot-directories))) #:environment-variables (list #$@(if http-proxy @@ -1514,6 +1528,24 @@ failed to register hydra.gnu.org public key: ~a~%" status)))))))) #$@(map (cut hydra-key-authorization <> guix) keys)) #~#f)))) +(define* (references-file item #:optional (name "references")) + "Return a file that contains the list of references of ITEM." + (if (struct? item) ;lowerable object + (computed-file name + (with-imported-modules (source-module-closure + '((guix build store-copy))) + #~(begin + (use-modules (guix build store-copy)) + + (call-with-output-file #$output + (lambda (port) + (write (call-with-input-file "graph" + read-reference-graph) + port))))) + #:options `(#:local-build? #f + #:references-graphs (("graph" ,item)))) + (plain-file name "()"))) + (define guix-service-type (service-type (name 'guix) @@ -1523,6 +1555,16 @@ failed to register hydra.gnu.org public key: ~a~%" status)))))))) (service-extension activation-service-type guix-activation) (service-extension profile-service-type (compose list guix-configuration-guix)))) + + ;; Extensions can specify extra directories to add to the build chroot. + (compose concatenate) + (extend (lambda (config directories) + (guix-configuration + (inherit config) + (chroot-directories + (append (guix-configuration-chroot-directories config) + directories))))) + (default-value (guix-configuration)) (description "Run the build daemon of GNU@tie{}Guix, aka. @command{guix-daemon}."))) From 71b98b9de9d2658f4787d2fb77609a95b09ff3ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 9 Jan 2018 16:48:35 +0100 Subject: [PATCH 179/185] services: qemu-binfmt: Extend guix-daemon with extra chroot directories. Fixes . * gnu/services/virtualization.scm ()[guix-support?]: New field. (qemu-binfmt-guix-chroot): New procedure. (qemu-binfmt-service-type)[extensions]: Add GUIX-SERVICE-TYPE. * doc/guix.texi (Virtualization Services): Document 'guix-support?'. (Additional Build Options): Mention binfmt_misc and offloading under '--system'. --- doc/guix.texi | 46 ++++++++++++++++++++++++++++++++- gnu/services/virtualization.scm | 21 +++++++++++++-- 2 files changed, 64 insertions(+), 3 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index f0618e39f0..6245d54e8d 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -5621,11 +5621,26 @@ The following derivations will be built: Attempt to build for @var{system}---e.g., @code{i686-linux}---instead of the system type of the build host. +@quotation Note +The @code{--system} flag is for @emph{native} compilation and must not +be confused with cross-compilation. See @code{--target} below for +information on cross-compilation. +@end quotation + An example use of this is on Linux-based systems, which can emulate different personalities. For instance, passing -@code{--system=i686-linux} on an @code{x86_64-linux} system allows users +@code{--system=i686-linux} on an @code{x86_64-linux} system allows you to build packages in a complete 32-bit environment. +Similarly, when transparent emulation with QEMU and @code{binfmt_misc} +is enabled (@pxref{Virtualization Services, +@code{qemu-binfmt-service-type}}), you can build for any system for +which a QEMU @code{binfmt_misc} handler is installed. + +Builds for a system other than that of the machine you are using can +also be offloaded to a remote machine of the right architecture. +@xref{Daemon Offload Setup}, for more information on offloading. + @item --target=@var{triplet} @cindex cross-compilation Cross-build for @var{triplet}, which must be a valid GNU triplet, such @@ -17698,6 +17713,35 @@ This is the configuration for the @code{qemu-binfmt} service. The list of emulated QEMU platforms. Each item must be a @dfn{platform object} as returned by @code{lookup-qemu-platforms} (see below). +@item @code{guix-support?} (default: @code{#f}) +When it is true, QEMU and all its dependencies are added to the build +environment of @command{guix-daemon} (@pxref{Invoking guix-daemon, +@code{--chroot-directory} option}). This allows the @code{binfmt_misc} +handlers to be used within the build environment, which in turn means +that you can transparently build programs for another architecture. + +For example, let's suppose you're on an x86_64 machine and you have this +service: + +@example +(service qemu-binfmt-service-type + (qemu-binfmt-configuration + (platforms (lookup-qemu-platforms "arm")) + (qemu-support? #t))) +@end example + +You can run: + +@example +guix build -s armhf-linux inkscape +@end example + +@noindent +and it will build Inkscape for ARMv7 @emph{as if it were a native +build}, transparently using QEMU to emulate the ARMv7 CPU. Pretty handy +if you'd like to test a package build for an architecture you don't have +access to! + @item @code{qemu} (default: @code{qemu}) The QEMU package to use. @end table diff --git a/gnu/services/virtualization.scm b/gnu/services/virtualization.scm index 0a8f67fb8e..bf71e7f26a 100644 --- a/gnu/services/virtualization.scm +++ b/gnu/services/virtualization.scm @@ -662,7 +662,9 @@ potential infinite waits blocking libvirt.")) (qemu qemu-binfmt-configuration-qemu (default qemu)) (platforms qemu-binfmt-configuration-platforms - (default '()))) ;safest default + (default '())) ;safest default + (guix-support? qemu-binfmt-configuration-guix-support? + (default #f))) (define (qemu-platform->binfmt qemu platform) "Return a gexp that evaluates to a binfmt string for PLATFORM, using the @@ -724,6 +726,19 @@ given QEMU package." '#$(map qemu-platform-name platforms)) #f))))))) +(define qemu-binfmt-guix-chroot + (match-lambda + ;; Add QEMU and its dependencies to the guix-daemon chroot so that our + ;; binfmt_misc handlers work in the chroot (otherwise 'execve' would fail + ;; with ENOENT.) + ;; + ;; The 'F' flag of binfmt_misc is meant to address this problem by loading + ;; the interpreter upfront rather than lazily, but apparently that is + ;; insufficient (perhaps it loads the 'qemu-ARCH' binary upfront but looks + ;; up its dependencies lazily?). + (($ qemu platforms guix?) + (if guix? (list qemu) '())))) + (define qemu-binfmt-service-type ;; TODO: Make a separate binfmt_misc service out of this? (service-type (name 'qemu-binfmt) @@ -732,7 +747,9 @@ given QEMU package." (const (list %binary-format-file-system))) (service-extension shepherd-root-service-type - qemu-binfmt-shepherd-services))) + qemu-binfmt-shepherd-services) + (service-extension guix-service-type + qemu-binfmt-guix-chroot))) (default-value (qemu-binfmt-configuration)) (description "This service supports transparent emulation of binaries From 49e23afa790db50b244345ed9a2e392fd8fe3281 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Tue, 9 Jan 2018 19:56:08 -0500 Subject: [PATCH 180/185] gnu: libcdio: Update to 2.0.0. * gnu/packages/cdrom.scm (libcdio): Update to 2.0.0. --- gnu/packages/cdrom.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index 523158d553..0c0d7004cf 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -97,14 +97,14 @@ caching facility provided by the library.") (define-public libcdio (package (name "libcdio") - (version "0.94") + (version "2.0.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/libcdio/libcdio-" - version ".tar.gz")) + version ".tar.bz2")) (sha256 (base32 - "0nh222bnj0hgdic5nvr8l9j194mh5niqy15rypwrdbk6z01wkqln")))) + "0jr8ppdm80c533nzmrpz3iffnpc6nhvsria1di9f4jg1l19a03fd")))) (build-system gnu-build-system) (inputs `(("ncurses" ,ncurses) From 6342ebd5e76d07f428cda8e90dba3e9ad03eb3ff Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Wed, 10 Jan 2018 13:46:09 -0500 Subject: [PATCH 181/185] gnu: libcdio-paranoia: Update to 10.2+0.94.2. * gnu/packages/cdrom.scm (libcdio-paranoia): Update to 10.2+0.94.2. --- gnu/packages/cdrom.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index 0c0d7004cf..38190340f1 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -127,14 +127,14 @@ extraction from CDs.") (define-public libcdio-paranoia (package (name "libcdio-paranoia") - (version "10.2+0.93+1") + (version "10.2+0.94+2") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/libcdio/libcdio-paranoia-" - version ".tar.bz2")) + version ".tar.gz")) (sha256 (base32 - "14x4b4jk5b0zvcalrg02y4jmbkmmlb07qfmk5hph9k18b8frn7gc")))) + "0h8rr1ir05r29rgawa1ccw335668k4s3zq4yg9095svyx7n843yn")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (propagated-inputs `(("libcdio" ,libcdio))) From 33ca12f3e4b872123118472a4b56ee37ec165f56 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 8 Jan 2018 15:05:50 -0500 Subject: [PATCH 182/185] gnu: emacs-sr-speedbar: Update to 20161025. * gnu/packages/emacs.scm (emacs-sr-speedbar): Update to 20161025. [version]: Use git-version. [source]: Download sources via git-fetch and use git-file-name. Signed-off-by: Kei Kebreau --- gnu/packages/emacs.scm | 42 ++++++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 2a4bdf1d6f..f83e2fb890 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -31,7 +31,7 @@ ;;; Copyright © 2017 Peter Mikkelsen ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2017 Mike Gerwitz -;;; Copyright © 2017 Maxim Cournoyer +;;; Copyright © 2017, 2018 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; @@ -2331,27 +2331,29 @@ truncation.") (license license:gpl2+))) (define-public emacs-sr-speedbar - (package - (name "emacs-sr-speedbar") - (version "20140914.2339") - (source - (origin - (method url-fetch) - (uri (string-append - "https://github.com/emacsorphanage/sr-speedbar/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "15xwwc6kgvmk4wdhx1j8w6m6ivxvc94028ppgdpa2m51a8c9vjm9")))) - (build-system emacs-build-system) - (home-page "https://www.emacswiki.org/emacs/SrSpeedbar") - (synopsis "Same frame Emacs @code{speedbar}") - (description - "This Emacs package allows you to show @code{M-x speedbar} in the + (let ((commit "77a83fb50f763a465c021eca7343243f465b4a47") + (revision "0")) + (package + (name "emacs-sr-speedbar") + (version (git-version "20161025" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emacsorphanage/sr-speedbar.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0sd12555hk7z721y00kv3crdybvcn1i08wmd148z5imayzibj153")))) + (build-system emacs-build-system) + (home-page "https://www.emacswiki.org/emacs/SrSpeedbar") + (synopsis "Same frame Emacs @code{speedbar}") + (description + "This Emacs package allows you to show @code{M-x speedbar} in the same frame (in an extra window). You can customize the initial width of the speedbar window.") - (license license:gpl3+))) + (license license:gpl3+)))) (define-public emacs-shell-switcher (package From 20bf5fce7dbdc754a6c430abbeb50fb0662bda38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 11 Jan 2018 17:56:05 +0100 Subject: [PATCH 183/185] gnu: grep: Add dependency on PCRE. Suggested by Oleg Pykhalov and Roel Janssen . * gnu/packages/base.scm (grep)[inputs]: New field. * gnu/packages/commencement.scm (grep-final)[inputs]: New field. --- gnu/packages/base.scm | 4 +++- gnu/packages/commencement.scm | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 9cb628d8d7..5fcfc90e56 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès ;;; Copyright © 2014 Andreas Enge ;;; Copyright © 2012 Nikita Karetnikov ;;; Copyright © 2014, 2015, 2016 Mark H Weaver @@ -38,6 +38,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages perl) #:use-module (gnu packages linux) + #:use-module (gnu packages pcre) #:use-module (gnu packages texinfo) #:use-module (gnu packages hurd) #:use-module (gnu packages pkg-config) @@ -93,6 +94,7 @@ command-line arguments, multiple languages, and so on.") "grep-gnulib-lock.patch")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl))) ;some of the tests require it + (inputs `(("pcre" ,pcre))) (arguments `(#:phases (modify-phases %standard-phases diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index c5c00688e4..4a9aed09c1 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès ;;; Copyright © 2014 Andreas Enge ;;; Copyright © 2012 Nikita Karetnikov ;;; Copyright © 2014, 2015, 2017 Mark H Weaver @@ -884,6 +884,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" (package-with-bootstrap-guile (package-with-explicit-inputs (package (inherit grep) + (inputs '()) ;no PCRE support (native-inputs `(("perl" ,perl-boot0)))) %boot5-inputs (current-source-location) From ce577655a3829a64014afcd520c8405114443d89 Mon Sep 17 00:00:00 2001 From: Fis Trivial Date: Mon, 8 Jan 2018 17:19:33 +0000 Subject: [PATCH 184/185] gnu: Add selene. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/lua.scm (selene): New public variable. Signed-off-by: Ludovic Courtès --- gnu/packages/lua.scm | 60 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm index 3fd1c43d4a..b375ff90c3 100644 --- a/gnu/packages/lua.scm +++ b/gnu/packages/lua.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2016 doncatnip ;;; Copyright © 2016, 2017 Clément Lassieur ;;; Copyright © 2016 José Miguel Sánchez García +;;; Copyright © 2018 Fis Trivial ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,8 +29,11 @@ #: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 utils) #:use-module (guix build-system gnu) + #:use-module (guix build-system cmake) #:use-module (gnu packages) #:use-module (gnu packages readline) #:use-module (gnu packages tls) @@ -434,3 +438,59 @@ on numbers.") (define-public lua5.1-bitop (make-lua-bitop "lua5.1-bitop" lua-5.1)) + +(define-public selene + (package + (name "selene") + (version "2017.08.25") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jeremyong/Selene.git") + ;; The release is quite old. + (commit "ffe1ade2568d4cff5894552be8f43e63e379a4c9"))) + (file-name "Selene") + (sha256 + (base32 + "1axrgv3rxxdsaf807lwvklfzicn6x6gpf35narllrnz9lg6hn508")))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags + ;; lua pc file in CMakeLists.txt is lua5.3.pc + '("-DLUA_PC_CFG=lua;lua-5.3;lua-5.1") + #:test-target "all" + #:phases + ;; This is a header only library + (modify-phases %standard-phases + (delete 'build) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((output (assoc-ref outputs "out")) + (source (assoc-ref inputs "source")) + (includedir (string-append output "/include"))) + (copy-recursively + (string-append source "/include") + includedir)) + #t)) + ;; The path of test files are hard coded. + (replace 'check + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((output (assoc-ref outputs "out")) + (source (assoc-ref inputs "source")) + (builddir (getcwd)) + (testdir (string-append builddir "/test"))) + (copy-recursively (string-append source "/test") testdir) + (invoke "make") + (mkdir-p "runner") + (copy-file "./test_runner" "./runner/test_runner") + (chdir "./runner") + (invoke "./test_runner"))))))) + (native-inputs + `(("lua" ,lua) + ("pkg-config" ,pkg-config))) + (home-page "https://github.com/jeremyong/Selene") + (synopsis "Lua C++11 bindings") + (description + "Selene is a simple C++11 header-only library enabling seamless + interoperability between C++ and Lua programming language.") + (license license:zlib))) From 138c08899ba73049de8afd2b74a8cf6845a1d9e1 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 10 Jan 2018 01:04:19 -0800 Subject: [PATCH 185/185] gnu: libvorbis: Fix CVE-2017-{14632,14633}. * gnu/packages/patches/libvorbis-CVE-2017-14632.patch, gnu/packages/patches/libvorbis-CVE-2017-14633.patch: New files. * gnu/local.mk (dist_patch_DATA): Add them. * gnu/packages/xiph.scm (libvorbis)[replacement]: New field. (libvorbis/fixed): New variable. --- gnu/local.mk | 2 + .../patches/libvorbis-CVE-2017-14632.patch | 63 +++++++++++++++++++ .../patches/libvorbis-CVE-2017-14633.patch | 43 +++++++++++++ gnu/packages/xiph.scm | 9 +++ 4 files changed, 117 insertions(+) create mode 100644 gnu/packages/patches/libvorbis-CVE-2017-14632.patch create mode 100644 gnu/packages/patches/libvorbis-CVE-2017-14633.patch diff --git a/gnu/local.mk b/gnu/local.mk index 8c397d9256..eec46af0d0 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -851,6 +851,8 @@ dist_patch_DATA = \ %D%/packages/patches/libusb-0.1-disable-tests.patch \ %D%/packages/patches/libusb-for-axoloti.patch \ %D%/packages/patches/libvdpau-va-gl-unbundle.patch \ + %D%/packages/patches/libvorbis-CVE-2017-14632.patch \ + %D%/packages/patches/libvorbis-CVE-2017-14633.patch \ %D%/packages/patches/libvpx-CVE-2016-2818.patch \ %D%/packages/patches/libxcb-python-3.5-compat.patch \ %D%/packages/patches/libxml2-CVE-2016-4658.patch \ diff --git a/gnu/packages/patches/libvorbis-CVE-2017-14632.patch b/gnu/packages/patches/libvorbis-CVE-2017-14632.patch new file mode 100644 index 0000000000..99debf2104 --- /dev/null +++ b/gnu/packages/patches/libvorbis-CVE-2017-14632.patch @@ -0,0 +1,63 @@ +Fix CVE-2017-14632: + +https://gitlab.xiph.org/xiph/vorbis/issues/2328 +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14632 + +Patch copied from upstream source repository: + +https://gitlab.xiph.org/xiph/vorbis/commit/c1c2831fc7306d5fbd7bc800324efd12b28d327f + +From c1c2831fc7306d5fbd7bc800324efd12b28d327f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Guido=20G=C3=BCnther?= +Date: Wed, 15 Nov 2017 18:22:59 +0100 +Subject: [PATCH] CVE-2017-14632: vorbis_analysis_header_out: Don't clear opb + if not initialized + +If the number of channels is not within the allowed range +we call oggback_writeclear altough it's not initialized yet. + +This fixes + + =23371== Invalid free() / delete / delete[] / realloc() + ==23371== at 0x4C2CE1B: free (vg_replace_malloc.c:530) + ==23371== by 0x829CA31: oggpack_writeclear (in /usr/lib/x86_64-linux-gnu/libogg.so.0.8.2) + ==23371== by 0x84B96EE: vorbis_analysis_headerout (info.c:652) + ==23371== by 0x9FBCBCC: ??? (in /usr/lib/x86_64-linux-gnu/sox/libsox_fmt_vorbis.so) + ==23371== by 0x4E524F1: ??? (in /usr/lib/x86_64-linux-gnu/libsox.so.2.0.1) + ==23371== by 0x4E52CCA: sox_open_write (in /usr/lib/x86_64-linux-gnu/libsox.so.2.0.1) + ==23371== by 0x10D82A: open_output_file (sox.c:1556) + ==23371== by 0x10D82A: process (sox.c:1753) + ==23371== by 0x10D82A: main (sox.c:3012) + ==23371== Address 0x68768c8 is 488 bytes inside a block of size 880 alloc'd + ==23371== at 0x4C2BB1F: malloc (vg_replace_malloc.c:298) + ==23371== by 0x4C2DE9F: realloc (vg_replace_malloc.c:785) + ==23371== by 0x4E545C2: lsx_realloc (in /usr/lib/x86_64-linux-gnu/libsox.so.2.0.1) + ==23371== by 0x9FBC9A0: ??? (in /usr/lib/x86_64-linux-gnu/sox/libsox_fmt_vorbis.so) + ==23371== by 0x4E524F1: ??? (in /usr/lib/x86_64-linux-gnu/libsox.so.2.0.1) + ==23371== by 0x4E52CCA: sox_open_write (in /usr/lib/x86_64-linux-gnu/libsox.so.2.0.1) + ==23371== by 0x10D82A: open_output_file (sox.c:1556) + ==23371== by 0x10D82A: process (sox.c:1753) + ==23371== by 0x10D82A: main (sox.c:3012) + +as seen when using the testcase from CVE-2017-11333 with +008d23b782be09c8d75ba8190b1794abd66c7121 applied. However the error was +there before. +--- + lib/info.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/lib/info.c b/lib/info.c +index 7bc4ea4..8d0b2ed 100644 +--- a/lib/info.c ++++ b/lib/info.c +@@ -589,6 +589,7 @@ int vorbis_analysis_headerout(vorbis_dsp_state *v, + private_state *b=v->backend_state; + + if(!b||vi->channels<=0||vi->channels>256){ ++ b = NULL; + ret=OV_EFAULT; + goto err_out; + } +-- +2.15.1 + diff --git a/gnu/packages/patches/libvorbis-CVE-2017-14633.patch b/gnu/packages/patches/libvorbis-CVE-2017-14633.patch new file mode 100644 index 0000000000..ec6bf5265c --- /dev/null +++ b/gnu/packages/patches/libvorbis-CVE-2017-14633.patch @@ -0,0 +1,43 @@ +Fix CVE-2017-14633: + +https://gitlab.xiph.org/xiph/vorbis/issues/2329 +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14633 + +Patch copied from upstream source repository: + +https://gitlab.xiph.org/xiph/vorbis/commit/a79ec216cd119069c68b8f3542c6a425a74ab993 + +From a79ec216cd119069c68b8f3542c6a425a74ab993 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Guido=20G=C3=BCnther?= +Date: Tue, 31 Oct 2017 18:32:46 +0100 +Subject: [PATCH] CVE-2017-14633: Don't allow for more than 256 channels + +Otherwise + + for(i=0;ichannels;i++){ + /* the encoder setup assumes that all the modes used by any + specific bitrate tweaking use the same floor */ + int submap=info->chmuxlist[i]; + +overreads later in mapping0_forward since chmuxlist is a fixed array of +256 elements max. +--- + lib/info.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/info.c b/lib/info.c +index fe759ed..7bc4ea4 100644 +--- a/lib/info.c ++++ b/lib/info.c +@@ -588,7 +588,7 @@ int vorbis_analysis_headerout(vorbis_dsp_state *v, + oggpack_buffer opb; + private_state *b=v->backend_state; + +- if(!b||vi->channels<=0){ ++ if(!b||vi->channels<=0||vi->channels>256){ + ret=OV_EFAULT; + goto err_out; + } +-- +2.15.1 + diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm index 9277f57ad4..e9ab06de42 100644 --- a/gnu/packages/xiph.scm +++ b/gnu/packages/xiph.scm @@ -79,6 +79,7 @@ periodic timestamps for seeking.") (define libvorbis (package (name "libvorbis") + (replacement libvorbis/fixed) (version "1.3.5") (source (origin (method url-fetch) @@ -102,6 +103,14 @@ polyphonic) audio and music at fixed and variable bitrates from 16 to "See COPYING in the distribution.")) (home-page "http://xiph.org/vorbis/"))) +(define libvorbis/fixed + (package + (inherit libvorbis) + (source (origin + (inherit (package-source libvorbis)) + (patches (search-patches "libvorbis-CVE-2017-14633.patch" + "libvorbis-CVE-2017-14632.patch")))))) + (define libtheora (package (name "libtheora")