diff --git a/.dir-locals.el b/.dir-locals.el index 5ce3fbc9a5..1976f7e60d 100644 --- a/.dir-locals.el +++ b/.dir-locals.el @@ -83,6 +83,7 @@ (eval . (put 'wrap-program 'scheme-indent-function 1)) (eval . (put 'with-imported-modules 'scheme-indent-function 1)) (eval . (put 'with-extensions 'scheme-indent-function 1)) + (eval . (put 'with-parameters 'scheme-indent-function 1)) (eval . (put 'with-database 'scheme-indent-function 2)) (eval . (put 'call-with-transaction 'scheme-indent-function 2)) diff --git a/.gitignore b/.gitignore index df59a9176e..de058dda5e 100644 --- a/.gitignore +++ b/.gitignore @@ -71,6 +71,7 @@ /etc/guix-daemon.service /etc/guix-publish.conf /etc/guix-publish.service +/etc/init.d/guix-daemon /guix-daemon /guix/config.scm /libformat.a diff --git a/Makefile.am b/Makefile.am index f595a54fa9..f905f2edee 100644 --- a/Makefile.am +++ b/Makefile.am @@ -542,6 +542,7 @@ EXTRA_DIST += \ scripts/guix.in \ etc/guix-install.sh \ etc/news.scm \ + etc/release-manifest.scm \ etc/system-tests.scm \ build-aux/build-self.scm \ build-aux/compile-all.scm \ @@ -552,7 +553,6 @@ EXTRA_DIST += \ build-aux/cuirass/gnu-system.scm \ build-aux/cuirass/guix-modular.scm \ build-aux/cuirass/hydra-to-cuirass.scm \ - build-aux/check-available-binaries.scm \ build-aux/check-final-inputs-self-contained.scm \ build-aux/compile-as-derivation.scm \ build-aux/generate-authors.scm \ @@ -852,8 +852,9 @@ assert-no-store-file-names: # Make sure important substitutes are available. assert-binaries-available: $(GOBJECTS) - $(AM_V_at)$(top_builddir)/pre-inst-env "$(GUILE)" \ - "$(top_srcdir)/build-aux/check-available-binaries.scm" + $(AM_V_at)$(top_builddir)/pre-inst-env \ + guix weather -m "$(top_srcdir)/etc/release-manifest.scm" \ + --display-missing # Make sure the final inputs don't refer to bootstrap tools. assert-final-inputs-self-contained: $(GOBJECTS) diff --git a/build-aux/check-available-binaries.scm b/build-aux/check-available-binaries.scm deleted file mode 100644 index f39874ab71..0000000000 --- a/build-aux/check-available-binaries.scm +++ /dev/null @@ -1,78 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; under the terms of the GNU General Public License as published by -;;; the Free Software Foundation; either version 3 of the License, or (at -;;; your option) any later version. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;;; GNU General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with GNU Guix. If not, see . - -;;; -;;; Check whether important binaries are available. -;;; - -(use-modules (guix store) - (guix grafts) - (guix packages) - (guix derivations) - (gnu packages) - (gnu packages certs) - (gnu packages emacs) - (gnu packages make-bootstrap) - (gnu packages ssh) - (srfi srfi-1) - (srfi srfi-26) - (ice-9 format)) - -(define (packages-for-system system) - "Return the list of packages to check for SYSTEM." - (let ((base (list %bootstrap-tarballs emacs nss-certs openssh))) - ;; On Intel systems, make sure key packages proposed by the installer are - ;; available. - (if (member system '("x86_64-linux" "i686-linux")) - (append (map specification->package - '("xfce" "gnome" "mate" "enlightenment" - "openbox" "awesome" "i3-wm" "ratpoison" - "network-manager-applet" "xlockmore" - "linux-libre" "grub-hybrid" "xorg-server" - "libreoffice" - ;; FIXME: Add IceCat when Rust is available on i686. - #;"icecat")) - base) - base))) - -(with-store store - (parameterize ((%graft? #f)) - (let* ((native (append-map (lambda (system) - (map (cut package-derivation store <> system) - (packages-for-system system))) - %hydra-supported-systems)) - (cross (map (cut package-cross-derivation store - %bootstrap-tarballs <>) - '("mips64el-linux-gnu" - "arm-linux-gnueabihf"))) - (total (append native cross))) - - (set-build-options store - #:use-substitutes? #t - #:substitute-urls %default-substitute-urls) - (let* ((total (map derivation->output-path total)) - (available (substitutable-paths store total)) - (missing (lset-difference string=? total available))) - (if (null? missing) - (format (current-error-port) - "~a packages found substitutable on~{ ~a~}~%" - (length total) %hydra-supported-systems) - (format (current-error-port) - "~a packages are not substitutable:~%~{ ~a~%~}~%" - (length missing) missing)) - (exit (null? missing)))))) diff --git a/configure.ac b/configure.ac index 06e86c209f..6a6a020585 100644 --- a/configure.ac +++ b/configure.ac @@ -96,7 +96,11 @@ dnl 'GUILE_EFFECTIVE_VERSION'. GUILE_PKG([3.0 2.2]) GUILE_PROGS if test "x$GUILD" = "x"; then - AC_MSG_ERROR(['guild' binary not found; please check your guile-2.x installation.]) + AC_MSG_ERROR(['guild' binary not found; please check your Guile installation.]) +fi + +if test "x$GUILE_EFFECTIVE_VERSION" = "x2.2"; then + PKG_CHECK_MODULES([GUILE], [guile-2.2 >= 2.2.3]) fi dnl Installation directories for .scm and .go files. diff --git a/doc/contributing.texi b/doc/contributing.texi index afcc030b4f..31b875f817 100644 --- a/doc/contributing.texi +++ b/doc/contributing.texi @@ -612,11 +612,12 @@ To avoid confusion and naming clashes with other programming languages, it seems desirable that the name of a package for a Python module contains the word @code{python}. -Some modules are compatible with only one version of Python, others with both. -If the package Foo compiles only with Python 3, we name it -@code{python-foo}; if it compiles only with Python 2, we name it -@code{python2-foo}. If it is compatible with both versions, we create two -packages with the corresponding names. +Some modules are compatible with only one version of Python, others with +both. If the package Foo is compiled with Python 3, we name it +@code{python-foo}. If it is compiled with Python 2, we name it +@code{python2-foo}. Packages should be added when they are necessary; +we don't add Python 2 variants of the package unless we are going to use +them. If a project already contains the word @code{python}, we drop this; for instance, the module python-dateutil is packaged under the names diff --git a/doc/guix.texi b/doc/guix.texi index eb6eb99361..4658c6f5eb 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -28,7 +28,7 @@ Copyright @copyright{} 2014, 2015, 2016 Alex Kost@* Copyright @copyright{} 2015, 2016 Mathieu Lirzin@* Copyright @copyright{} 2014 Pierre-Antoine Rault@* Copyright @copyright{} 2015 Taylan Ulrich Bayırlı/Kammer@* -Copyright @copyright{} 2015, 2016, 2017, 2019 Leo Famulari@* +Copyright @copyright{} 2015, 2016, 2017, 2019, 2020 Leo Famulari@* Copyright @copyright{} 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus@* Copyright @copyright{} 2016 Ben Woodcroft@* Copyright @copyright{} 2016, 2017, 2018 Chris Marusich@* @@ -3122,7 +3122,7 @@ the store. @itemx -A [@var{regexp}] List packages currently available in the distribution for this system (@pxref{GNU Distribution}). When @var{regexp} is specified, list only -installed packages whose name matches @var{regexp}. +available packages whose name matches @var{regexp}. For each package, print the following items separated by tabs: its name, its version string, the parts of the package (@pxref{Packages with @@ -8022,6 +8022,25 @@ the second case, the resulting script contains a @code{(string-append @dots{})} expression to construct the file name @emph{at run time}. @end deffn +@deffn {Scheme Syntax} with-parameters ((@var{parameter} @var{value}) @dots{}) @var{exp} +This macro is similar to the @code{parameterize} form for +dynamically-bound @dfn{parameters} (@pxref{Parameters,,, guile, GNU +Guile Reference Manual}). The key difference is that it takes effect +when the file-like object returned by @var{exp} is lowered to a +derivation or store item. + +A typical use of @code{with-parameters} is to force the system in effect +for a given object: + +@lisp +(with-parameters ((%current-system "i686-linux")) + coreutils) +@end lisp + +The example above returns an object that corresponds to the i686 build +of Coreutils, regardless of the current value of @code{%current-system}. +@end deffn + Of course, in addition to gexps embedded in ``host'' code, there are also modules containing build tools. To make it clear that they are @@ -10790,8 +10809,11 @@ guix weather @var{options}@dots{} [@var{packages}@dots{}] When @var{packages} is omitted, @command{guix weather} checks the availability of substitutes for @emph{all} the packages, or for those specified with @option{--manifest}; otherwise it only considers the specified packages. It -is also possible to query specific system types with @option{--system}. The -available options are listed below. +is also possible to query specific system types with @option{--system}. +@command{guix weather} exits with a non-zero code when the fraction of +available substitutes is below 100%. + +The available options are listed below. @table @code @item --substitute-urls=@var{urls} @@ -10811,6 +10833,9 @@ specified in @var{file}. @var{file} must contain a @dfn{manifest}, as with the @code{-m} option of @command{guix package} (@pxref{Invoking guix package}). +This option can be repeated several times, in which case the manifests +are concatenated. + @item --coverage[=@var{count}] @itemx -c [@var{count}] Report on substitute coverage for packages: list packages with at least @@ -10841,6 +10866,9 @@ likewise for @code{qgpgme} and the 46 packages that depend on it. If you are a Guix developer, or if you are taking care of this build farm, you'll probably want to have a closer look at these packages: they may simply fail to build. + +@item --display-missing +Display the list of store items for which substitutes are missing. @end table @node Invoking guix processes diff --git a/etc/guix-install.sh b/etc/guix-install.sh index bfd3842933..e7f4d2cd59 100755 --- a/etc/guix-install.sh +++ b/etc/guix-install.sh @@ -361,6 +361,17 @@ sys_enable_guix_daemon() systemctl enable guix-daemon; } && _msg "${PAS}enabled Guix daemon via systemd" ;; + sysv-init) + { mkdir -p /etc/init.d; + cp "${ROOT_HOME}/.config/guix/current/etc/init.d/guix-daemon" \ + /etc/init.d/guix-daemon; + chmod 775 /etc/init.d/guix-daemon; + + update-rc.d guix-daemon defaults && + update-rc.d guix-daemon enable && + service guix-daemon start; } && + _msg "${PAS}enabled Guix daemon via sysv" + ;; NA|*) _msg "${ERR}unsupported init system; run the daemon manually:" echo " ${ROOT_HOME}/.config/guix/current/bin/guix-daemon --build-users-group=guixbuild" diff --git a/etc/init.d/guix-daemon.in b/etc/init.d/guix-daemon.in new file mode 100644 index 0000000000..1cc49fed89 --- /dev/null +++ b/etc/init.d/guix-daemon.in @@ -0,0 +1,78 @@ +#!/bin/bash +### BEGIN INIT INFO +# Provides: guix-daemon +# Required-Start: $remote_fs $syslog +# Required-Stop: $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Guix build daemon +# Description: Provides a daemon that does builds for Guix +### END INIT INFO + +set -e +mkdir -p "/var/run" +if [ ! -f "@localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix-daemon" ] +then + exit 5 +fi + +case "$1" in +start) + if [ -f "/var/run/guix-daemon.pid" ] + then + if pgrep -F "/var/run/guix-daemon.pid" guix-daemon + then + exit 0 + else + echo "guix-daemon has a stale pid file" >&2 + exit 1 + fi + else + daemonize \ + -a \ + -e "/var/log/guix-daemon-stderr.log" \ + -o "/var/log/guix-daemon-stdout.log" \ + -E GUIX_LOCPATH=@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale \ + -E LC_ALL=en_US.utf8 \ + -p "/var/run/guix-daemon.pid" \ + @localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix-daemon \ + --build-users-group=guixbuild + fi + ;; +stop) + if [ -f "/var/run/guix-daemon.pid" ] + then + pkill -F "/var/run/guix-daemon.pid" guix-daemon || { + exit 1 + } + rm -f "/var/run/guix-daemon.pid" + exit 0 + else + exit 0 + fi + ;; +status) + if [ -f "/var/run/guix-daemon.pid" ] + then + if pgrep -F "/var/run/guix-daemon.pid" guix-daemon + then + echo "guix-daemon is running" + exit 0 + else + echo "guix-daemon has a stale pid file" + exit 1 + fi + else + echo "guix-daemon is not running" + exit 3 + fi + ;; +restart|force-reload) + "$0" stop + "$0" start + ;; +*) + echo "Usage: $0 (start|stop|status|restart|force-reload)" + exit 3 + ;; +esac diff --git a/etc/release-manifest.scm b/etc/release-manifest.scm new file mode 100644 index 0000000000..67b92c3921 --- /dev/null +++ b/etc/release-manifest.scm @@ -0,0 +1,108 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2020 Ludovic Courtès +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +;;; This file returns a manifest containing release-critical bit, for all the +;;; supported architectures and cross-compilation targets. + +(use-modules (gnu packages) + (guix packages) + (guix profiles) + ((gnu ci) #:select (%cross-targets)) + (srfi srfi-1) + (srfi srfi-26)) + +(define* (package->manifest-entry* package system + #:key target) + "Return a manifest entry for PACKAGE on SYSTEM, optionally cross-compiled to +TARGET." + (manifest-entry + (inherit (package->manifest-entry package)) + (name (string-append (package-name package) "." system + (if target + (string-append "." target) + "'"))) + (item (with-parameters ((%current-system system) + (%current-target-system target)) + package)))) + +(define %base-packages + ;; Packages that must be substitutable on all the platforms Guix supports. + (map specification->package + '("bootstrap-tarballs" "gcc-toolchain" "nss-certs" + "openssh" "emacs" "vim" "python" "guile" "guix"))) + +(define %system-packages + ;; Key packages proposed by the Guix System installer. + (map specification->package + '("xorg-server" "xfce" "gnome" "mate" "enlightenment" + "openbox" "awesome" "i3-wm" "ratpoison" + "xlockmore" "slock" "libreoffice" + "connman" "network-manager" "network-manager-applet" + "openssh" "ntp" "tor" + "linux-libre" "grub-hybrid" + ;; FIXME: Add IceCat when Rust is available on i686. + ;;"icecat" + ))) + +(define %packages-to-cross-build + ;; Packages that must be cross-buildable from x86_64-linux. + (cons (@ (gnu packages gcc) gcc) + (map specification->package + '("coreutils" "grep" "sed" "findutils" "diffutils" "patch" + "gawk" "gettext" "gzip" "xz" + "hello" "guile@2.2" "zlib")))) + +(define %cross-bootstrap-targets + ;; Cross-compilation triplets for which 'bootstrap-tarballs' must be + ;; buildable. + '("i586-pc-gnu" + "arm-linux-gnueabihf" + "aarch64-linux-gnu")) + + +;;; +;;; Manifests. +;;; + +(define %base-manifest + (manifest + (append-map (lambda (system) + (map (cut package->manifest-entry* <> system) + %base-packages)) + %hydra-supported-systems))) + +(define %cross-manifest + (manifest + (append-map (lambda (target) + (map (cut package->manifest-entry* <> "x86_64-linux" + #:target target) + %packages-to-cross-build)) + %cross-targets))) + +(define %cross-bootstrap-manifest + (manifest + (map (lambda (target) + (package->manifest-entry* + (specification->package "bootstrap-tarballs") + "x86_64-linux" #:target target)) + %cross-bootstrap-targets))) + +;; Return the union of all three manifests. +(concatenate-manifests (list %base-manifest + %cross-manifest + %cross-bootstrap-manifest)) diff --git a/gnu/ci.scm b/gnu/ci.scm index 70e86b993e..cd418363fb 100644 --- a/gnu/ci.scm +++ b/gnu/ci.scm @@ -55,7 +55,8 @@ (define-module (gnu ci) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) #:use-module (ice-9 match) - #:export (channel-source->package + #:export (%cross-targets + channel-source->package hydra-jobs)) ;;; Commentary: diff --git a/gnu/local.mk b/gnu/local.mk index 2ccffb333a..21a149c469 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -764,6 +764,7 @@ dist_patch_DATA = \ %D%/packages/patches/binutils-loongson-workaround.patch \ %D%/packages/patches/blender-2.79-newer-ffmpeg.patch \ %D%/packages/patches/blender-2.79-python-3.7-fix.patch \ + %D%/packages/patches/bluez-CVE-2020-0556.patch \ %D%/packages/patches/byobu-writable-status.patch \ %D%/packages/patches/calibre-no-updates-dialog.patch \ %D%/packages/patches/calibre-remove-test-bs4.patch \ @@ -1221,7 +1222,6 @@ dist_patch_DATA = \ %D%/packages/patches/ngircd-handle-zombies.patch \ %D%/packages/patches/nm-plugin-path.patch \ %D%/packages/patches/nsis-env-passthru.patch \ - %D%/packages/patches/nss-freebl-stubs.patch \ %D%/packages/patches/nss-increase-test-timeout.patch \ %D%/packages/patches/nss-pkgconfig.patch \ %D%/packages/patches/ntfs-3g-CVE-2019-9755.patch \ diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 350cd541b7..63ee6dd53f 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -18,7 +18,7 @@ ;;; Copyright © 2017 Ben Sturmfels ;;; Copyright © 2017 Ethan R. Jones ;;; Copyright © 2017 Christopher Allan Webber -;;; Copyright © 2017, 2018 Marius Bakke +;;; Copyright © 2017, 2018, 2020 Marius Bakke ;;; Copyright © 2018, 2019 Arun Isaac ;;; Copyright © 2018 Pierre-Antoine Rouby ;;; Copyright © 2018 Rutger Helling @@ -813,12 +813,17 @@ (define-public isc-dhcp (("^RELEASEVER=.*") (format #f "RELEASEVER=~a\n" ,bind-release-version))) #t)) - (add-before 'configure 'fix-bind-cross-compilation - (lambda _ - (substitute* "configure" - (("--host=\\$host") - "--host=$host_alias")) - #t)) + ,@(if (%current-target-system) + '((add-before 'configure 'fix-bind-cross-compilation + (lambda _ + (substitute* "configure" + (("--host=\\$host") + "--host=$host_alias")) + ;; BIND needs a native compiler because the DHCP + ;; build system uses the built 'gen' executable. + (setenv "BUILD_CC" "gcc") + #t))) + '()) (add-after 'configure 'post-configure (lambda* (#:key outputs #:allow-other-keys) ;; Point to the right client script, which will be @@ -3162,7 +3167,16 @@ (define-public launchmon version "/launchmon-v" version ".tar.gz")) (sha256 (base32 - "0fm3nd9mydm9v2bf7bh01dbgrfnpwkapxa3dsvy3x1z0rz61qc0x")))) + "0fm3nd9mydm9v2bf7bh01dbgrfnpwkapxa3dsvy3x1z0rz61qc0x")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Fix build failure with GCC 7 due to a conversion error. + ;; Remove for versions > 1.0.2. + (substitute* "launchmon/src/linux/lmon_api/lmon_coloc_spawner.cxx" + ((" lmonpl = '\\\\0'") + " *lmonpl = '\\0'")) + #t)))) (build-system gnu-build-system) (inputs `(("mpi" ,openmpi) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index f71909090e..a0f31d186a 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2017 Marius Bakke ;;; Copyright © 2017, 2019 Eric Bavier ;;; Copyright © 2019 Mathieu Othacehe +;;; Copyright © 2020 Björn Höfling ;;; ;;; This file is part of GNU Guix. ;;; @@ -866,8 +867,8 @@ (define-public java-jlargearrays (version "1.6") (source (origin (method url-fetch) - (uri (string-append "http://search.maven.org/remotecontent?" - "filepath=pl/edu/icm/JLargeArrays/" + (uri (string-append "https://repo1.maven.org/maven2/" + "pl/edu/icm/JLargeArrays/" version "/JLargeArrays-" version "-sources.jar")) (file-name (string-append name "-" version ".jar")) @@ -893,8 +894,8 @@ (define-public java-jtransforms (version "3.1") (source (origin (method url-fetch) - (uri (string-append "http://search.maven.org/remotecontent?" - "filepath=com/github/wendykierp/JTransforms/" + (uri (string-append "https://repo1.maven.org/maven2/" + "com/github/wendykierp/JTransforms/" version "/JTransforms-" version "-sources.jar")) (sha256 (base32 diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm index 0fdddc88e9..0a24220e18 100644 --- a/gnu/packages/assembly.scm +++ b/gnu/packages/assembly.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2019 Guy Fleury Iteriteka ;;; Copyright © 2019 Andy Tai ;;; Copyright © 2020 Jakub Kądziołka +;;; Copyright © 2020 Christopher Lemmer Webber ;;; ;;; This file is part of GNU Guix. ;;; @@ -342,3 +343,31 @@ (define-public wla-dx @item spc700 @end itemize") (license license:gpl2))) + +(define-public xa + (package + (name "xa") + (version "2.3.10") + (source (origin + (method url-fetch) + (uri (string-append "https://www.floodgap.com/retrotech/xa" + "/dists/xa-" version ".tar.gz")) + (sha256 + (base32 + "0y5sd247g11jfk5msxy91hz2nhpy7smj125dzfyfhjsjnqk5nyw6")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; TODO: custom test harness, not sure how it works + #:phases + (modify-phases %standard-phases + (delete 'configure)) ; no "configure" script + #:make-flags (list (string-append "DESTDIR=" (assoc-ref %outputs "out"))))) + (native-inputs `(("perl" ,perl))) + (home-page "https://www.floodgap.com/retrotech/xa/") + (synopsis "Two-pass portable cross-assembler") + (description + "xa is a high-speed, two-pass portable cross-assembler. +It understands mnemonics and generates code for NMOS 6502s (such +as 6502A, 6504, 6507, 6510, 7501, 8500, 8501, 8502 ...), + CMOS 6502s (65C02 and Rockwell R65C02) and the 65816.") + (license license:gpl2))) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 8be5c9c9af..3f532532a8 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -1306,7 +1306,7 @@ (define-public faust #t))))) (native-inputs `(("unzip" ,unzip))) - (home-page "http://faust.grame.fr/") + (home-page "https://faust.grame.fr/") (synopsis "Signal processing language") (description "Faust is a programming language for realtime audio signal processing.") @@ -2112,7 +2112,7 @@ (define-public freealut `(("openal" ,openal))) (synopsis "Free implementation of OpenAL's ALUT standard") (description "freealut is the OpenAL Utility Toolkit.") - (home-page "http://kcat.strangesoft.net/openal.html") + (home-page "https://kcat.strangesoft.net/openal.html") (license license:lgpl2.0))) (define-public patchage @@ -2985,7 +2985,7 @@ (define-public rsound (string-append "--prefix=" (assoc-ref outputs "out")))))) ;; No 'check' target. #:tests? #f)) - (home-page "http://themaister.net/rsound.html") + (home-page "https://themaister.net/rsound.html") (synopsis "Networked audio system") (description "RSound allows you to send audio from an application and transfer it @@ -3727,7 +3727,7 @@ (define-public libfdk (define-public libopenshot-audio (package (name "libopenshot-audio") - (version "0.1.8") + (version "0.2.0") (source (origin (method git-fetch) (uri (git-reference @@ -3736,7 +3736,7 @@ (define-public libopenshot-audio (file-name (git-file-name name version)) (sha256 (base32 - "1fvp6nmf30xzkmcznakh8dv5vn9d7nq051pqcqv638hsfppkmcrl")))) + "13if0m5mvlqly8gmbhschzb9papkgp3yqivklhb949dhy16m8zgf")))) (build-system cmake-build-system) (inputs `(("alsa-lib" ,alsa-lib) diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm index a011d8ee3d..f12428140d 100644 --- a/gnu/packages/autotools.scm +++ b/gnu/packages/autotools.scm @@ -244,7 +244,7 @@ (define-public autobuild The summary includes project name, version, build hostname, host type (cross compile aware), date of build, and indication of success or failure. The output is indexed in many ways to simplify browsing.") - (home-page "http://josefsson.org/autobuild/") + (home-page "https://josefsson.org/autobuild/") (license gpl3+))) (define-public automake diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 3e8161a63f..f12a02af4b 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -531,13 +531,14 @@ (define-public libchop (define-public borg (package (name "borg") - (version "1.1.10") + (version "1.1.11") (source (origin (method url-fetch) (uri (pypi-uri "borgbackup" version)) (sha256 - (base32 "1pp70p4n5kamvcbl4d8021ggrxhyykmg9isjg4yd3wags8b19d7g")) + (base32 + "190gjzx83b6p64nqj840x382dgz9gfv0gm7wj585lnkrpa90j29n")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm index 84268e028b..1b342827c5 100644 --- a/gnu/packages/bash.scm +++ b/gnu/packages/bash.scm @@ -351,7 +351,7 @@ (define-public bash-tap (install-file "bash-tap" bin) (install-file "bash-tap-bootstrap" bin) (install-file "bash-tap-mock" bin))))))) - (home-page "http://www.illusori.co.uk/projects/bash-tap/") + (home-page "https://www.illusori.co.uk/projects/bash-tap/") (synopsis "Bash port of a Test::More/Test::Builder-style TAP-compliant test library") (description "Bash TAP is a TAP-compliant Test::More-style testing library diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 167cb00ece..4320bc0bb5 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -3605,14 +3605,14 @@ (define-public r-clusterprofiler (define-public r-mlinterfaces (package (name "r-mlinterfaces") - (version "1.66.4") + (version "1.66.5") (source (origin (method url-fetch) (uri (bioconductor-uri "MLInterfaces" version)) (sha256 (base32 - "19hlicdndy2p45y7w91gnwi3wgq5s465a646z3qqk8gmn5sn614q")))) + "05bg7qcrv485m03rkyq3qg5hrr1m3y7zx49bipwaivzqm3s1mbw5")))) (properties `((upstream-name . "MLInterfaces"))) (build-system r-build-system) (propagated-inputs @@ -5570,14 +5570,14 @@ (define-public r-ncdfflow (define-public r-ggcyto (package (name "r-ggcyto") - (version "1.14.0") + (version "1.14.1") (source (origin (method url-fetch) (uri (bioconductor-uri "ggcyto" version)) (sha256 (base32 - "165qszvy5z176h1l3dnjb5dcm279b6bjl5n5gzz8wfn4xpn8anc8")))) + "16jwdslhmj1nsa28wmaircy15cq7qn8nsyiawinjv711qiqhgw50")))) (properties `((upstream-name . "ggcyto"))) (build-system r-build-system) (propagated-inputs @@ -5591,6 +5591,8 @@ (define-public r-ggcyto ("r-rcolorbrewer" ,r-rcolorbrewer) ("r-rlang" ,r-rlang) ("r-scales" ,r-scales))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/RGLab/ggcyto/issues") (synopsis "Visualize Cytometry data with ggplot") (description @@ -6025,14 +6027,14 @@ (define-public r-rcistarget (define-public r-cicero (package (name "r-cicero") - (version "1.4.2") + (version "1.4.4") (source (origin (method url-fetch) (uri (bioconductor-uri "cicero" version)) (sha256 (base32 - "154djqd32w87814ycfmfz27ikp17bnampvmvw5hzi5p2x9l3h82r")))) + "1ay1g2r0la4grcp1y8vcp211lfwzjf7j819ajzdirsh5dab8whld")))) (build-system r-build-system) (propagated-inputs `(("r-assertthat" ,r-assertthat) @@ -6056,6 +6058,8 @@ (define-public r-cicero ("r-tibble" ,r-tibble) ("r-tidyr" ,r-tidyr) ("r-vgam" ,r-vgam))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/cicero/") (synopsis "Predict cis-co-accessibility from single-cell data") (description diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 5b9413f181..24467166c7 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2019 Maxim Cournoyer ;;; Copyright © 2019 Brian Leung ;;; Copyright © 2019 Brett Gilio +;;; Copyright © 2020 Björn Höfling ;;; ;;; This file is part of GNU Guix. ;;; @@ -784,13 +785,13 @@ (define-public bioawk (define-public python-pybedtools (package (name "python-pybedtools") - (version "0.8.0") + (version "0.8.1") (source (origin (method url-fetch) (uri (pypi-uri "pybedtools" version)) (sha256 (base32 - "1xl454ijvd4dzfvqgfahad49b49j7qy710fq9xh1rvk42z6x5ssf")))) + "14w5i40gi25clrr7h4wa2pcpnyipya8hrqi7nq77553zc5wf0df0")))) (build-system python-build-system) (arguments `(#:modules ((ice-9 ftw) @@ -817,6 +818,10 @@ (define-public python-pybedtools ;; (see: https://github.com/daler/pybedtools/issues/192). (("def test_getting_example_beds") "def _do_not_test_getting_example_beds")) + ;; This issue still occurs on python2 + (substitute* "pybedtools/test/test_issues.py" + (("def test_issue_303") + "def _test_issue_303")) #t)) ;; TODO: Remove phase after it's part of PYTHON-BUILD-SYSTEM. ;; build system. @@ -885,7 +890,12 @@ (define (cythonized? c/c++-file) (license license:gpl2+))) (define-public python2-pybedtools - (package-with-python2 python-pybedtools)) + (let ((pybedtools (package-with-python2 python-pybedtools))) + (package + (inherit pybedtools) + (native-inputs + `(("python2-pathlib" ,python2-pathlib) + ,@(package-native-inputs pybedtools)))))) (define-public python-biom-format (package @@ -2745,7 +2755,7 @@ (define-public eigensoft (define-public edirect (package (name "edirect") - (version "12.1.20190829") + (version "13.3.20200128") (source (origin (method url-fetch) (uri (string-append "ftp://ftp.ncbi.nlm.nih.gov/entrez/entrezdirect" @@ -2753,7 +2763,10 @@ (define-public edirect "/edirect-" version ".tar.gz")) (sha256 (base32 - "1xb330z28dgp7slrvp8r7rgncsasv9lpcpqim571yg728dq7xdik")))) + "093zp7klv81ph0y8mm8d78a9hnpfxbv2kdym70gzdf3vz176rw33")) + (modules '((guix build utils))) + (snippet + '(begin (delete-file "Mozilla-CA.tar.gz") #t)))) (build-system perl-build-system) (arguments `(#:phases @@ -8278,7 +8291,7 @@ (define-public r-motifrg (define-public r-qtl (package (name "r-qtl") - (version "1.45-11") + (version "1.46-2") (source (origin (method url-fetch) @@ -8286,7 +8299,7 @@ (define-public r-qtl version ".tar.gz")) (sha256 (base32 - "1d6qgj602fm6zia3djl4hmca0ri4v57ffp3g93p2yc3cabx2hq90")))) + "0rbwcnvyy96gq1dsgpxx03pv423qya26h6ws5y0blj3blfdmj83a")))) (build-system r-build-system) (home-page "https://rqtl.org/") (synopsis "R package for analyzing QTL experiments in genetics") @@ -12140,8 +12153,8 @@ (define-public java-forester-1.005 (version "1.005") (source (origin (method url-fetch) - (uri (string-append "http://search.maven.org/remotecontent?" - "filepath=org/biojava/thirdparty/forester/" + (uri (string-append "https://repo1.maven.org/maven2/" + "org/biojava/thirdparty/forester/" version "/forester-" version "-sources.jar")) (file-name (string-append name "-" version ".jar")) (sha256 @@ -12217,7 +12230,8 @@ (define-public java-forester-1.005 (method url-fetch) (uri (string-append "https://raw.githubusercontent.com/cmzmasek/forester/" "29e04321615da6b35c1e15c60e52caf3f21d8e6a/" - "forester/java/classes/resources/synth_look_and_feel_1.xml")) + "forester/java/classes/resources/" + "synth_look_and_feel_1.xml")) (file-name (string-append name "-synth-look-and-feel-" version ".xml")) (sha256 (base32 @@ -13509,14 +13523,14 @@ (define-public python-pypairix (define-public python-pyfaidx (package (name "python-pyfaidx") - (version "0.5.7") + (version "0.5.8") (source (origin (method url-fetch) (uri (pypi-uri "pyfaidx" version)) (sha256 (base32 - "02jvdx3ksy6w5gd29i1d0g0zsabbz7c14qg482ff7pza6sdl0b2i")))) + "038xi3a6zvrxbyyfpp64ka8pcjgsdq4fgw9cl5lpxbvmm1bzzw2q")))) (build-system python-build-system) (propagated-inputs `(("python-six" ,python-six))) @@ -13527,6 +13541,9 @@ (define-public python-pyfaidx fasta subsequences.") (license license:bsd-3))) +(define-public python2-pyfaidx + (package-with-python2 python-pyfaidx)) + (define-public python-cooler (package (name "python-cooler") diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm index 902e5ec6ff..afdbdbd15b 100644 --- a/gnu/packages/boost.scm +++ b/gnu/packages/boost.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2018 Arun Isaac ;;; Copyright © 2018, 2019 Ricardo Wurmus ;;; Copyright © 2018 Maxim Cournoyer -;;; Copyright © 2018 Efraim Flashner +;;; Copyright © 2018, 2020 Efraim Flashner ;;; Copyright © 2019 Mathieu Othacehe ;;; Copyright © 2019, 2020 Giacomo Leidi ;;; Copyright © 2020 Marius Bakke @@ -216,6 +216,29 @@ (define-public boost-static (symlink "libboost_python27.a" "libboost_python.a")) #t))))))))) +(define-public boost-1.69 + (package + (inherit boost) + (name "boost") + (version "1.69.0") + (source (origin + (method url-fetch) + (uri (let ((version-with-underscores + (string-map (lambda (x) (if (eq? x #\.) #\_ x)) version))) + (list (string-append "mirror://sourceforge/boost/boost/" version + "/boost_" version-with-underscores ".tar.bz2") + (string-append "https://dl.bintray.com/boostorg/release/" + version "/source/boost_" + version-with-underscores ".tar.bz2")))) + (sha256 + (base32 + "01j4n142dz20lcgqji8d8hspp04p1nv7m8i6dz8w5lchfdhx8clg")))) + (arguments + (substitute-keyword-arguments (package-arguments boost) + ((#:make-flags flags) + `(cons* "cxxflags=-std=c++14" ,flags)))) + (properties '((hidden? . #t))))) + (define-public boost-for-mysql ;; Older version for MySQL 5.7.23. (package diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index 64aa38d785..de8d089333 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -213,7 +213,7 @@ (define-public cdparanoia `(#:tests? #f ; there is no check target #:configure-flags ; Add $libdir to the RUNPATH of all the executables. (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib")))) - (home-page "http://www.xiph.org/paranoia/") + (home-page "https://www.xiph.org/paranoia/") (synopsis "Audio CD reading utility") (description "Cdparanoia retrieves audio tracks from CDDA capable CDROM drives. The data can be saved to a file or directed to standard output diff --git a/gnu/packages/certs.scm b/gnu/packages/certs.scm index 24831db5e6..2328012083 100644 --- a/gnu/packages/certs.scm +++ b/gnu/packages/certs.scm @@ -76,7 +76,7 @@ (define certdata2pem (define-public nss-certs (package (name "nss-certs") - (version "3.49.1") + (version "3.50") (source (origin (method url-fetch) (uri (let ((version-with-underscores @@ -87,7 +87,7 @@ (define-public nss-certs "nss-" version ".tar.gz"))) (sha256 (base32 - "0vh23g16ldvnsrn2dnvdl2i133kizi660r7ilb00vfq2kvj45anr")))) + "19rv0vp9nmvn6dy29qsv8f4v7wn5kizrpm59vbszahsjfwcz6p8q")))) (build-system gnu-build-system) (outputs '("out")) (native-inputs diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 692350cf5c..96d099fc94 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -79,7 +79,7 @@ (define-module (gnu packages check) (define-public check (package (name "check") - (version "0.13.0") + (version "0.14.0") (source (origin (method url-fetch) @@ -87,7 +87,7 @@ (define-public check version "/check-" version ".tar.gz")) (sha256 (base32 - "02crar51gniijrrl9p8f9maibnwc33n76kw5cqr7xk3s8hqnncy4")))) + "02zkfiyklckmivrfvdsrlzvzphkdsgjrz3igncw05dv5pshhq3xx")))) (build-system gnu-build-system) (home-page "https://libcheck.github.io/check/") (synopsis "Unit test framework for C") diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index 87ad84140f..a4697e34cd 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -307,7 +307,7 @@ (define-public trio (base32 "02pwd5m5vq7hbrffgm2na1dfc249z50yyr5jv73vdw15bd7ygl44")))) (build-system gnu-build-system) - (home-page "http://daniel.haxx.se/projects/trio/") + (home-page "https://daniel.haxx.se/projects/trio/") (synopsis "Portable and extendable printf and string functions") (description "Trio is a set of @code{printf} and string functions designed be used by diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 0dec28940b..dfec9ac277 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -780,7 +780,12 @@ (define-public lz4 (substitute* "tests/Makefile" (("^test: (.*) test-install" _ targets) (string-append "test: " targets))) - #t))))) + #t)) + (add-after 'install 'delete-static-library + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (delete-file (string-append out "/lib/liblz4.a")) + #t)))))) (home-page "https://www.lz4.org") (synopsis "Compression algorithm focused on speed") (description "LZ4 is a lossless compression algorithm, providing diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index ee4ad98d44..ea7a3908e8 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -10,7 +10,7 @@ ;;; Copyright © 2018 Sandeep Subramanian ;;; Copyright © 2018 Charlie Ritter ;;; Copyright © 2018 Konrad Hinsen -;;; Copyright © 2018 Mădălin Ionel Patrașcu +;;; Copyright © 2018, 2020 Mădălin Ionel Patrașcu ;;; Copyright © 2018 Laura Lazzati ;;; Copyright © 2018 Leo Famulari ;;; Copyright © 2018 Marius Bakke @@ -4066,20 +4066,22 @@ (define-public r-zeallot (define-public r-vctrs (package (name "r-vctrs") - (version "0.2.3") + (version "0.2.4") (source (origin (method url-fetch) (uri (cran-uri "vctrs" version)) (sha256 (base32 - "1pnjnxp1pwsr083qa6xp5akls6q0pnjz8pq2m9d7z3kc1886sw8w")))) + "15sgzs6afvmhssk6jcg41rn3bvmzmbm4sgca6f6x8lfrsazvdj6w")))) (build-system r-build-system) (propagated-inputs `(("r-digest" ,r-digest) ("r-ellipsis" ,r-ellipsis) ("r-glue" ,r-glue) ("r-rlang" ,r-rlang))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/r-lib/vctrs") (synopsis "Vector helpers") (description @@ -5168,14 +5170,14 @@ (define-public r-prroc (define-public r-vim (package (name "r-vim") - (version "5.1.0") + (version "5.1.1") (source (origin (method url-fetch) (uri (cran-uri "VIM" version)) (sha256 (base32 - "09600piny3qrxrmh8844iwrvgrhwan1c3nlh6irqy1vjha2w4gb3")))) + "0w22ir0gvym7gqd6nw2j7w5ivlb3az1dkfxv33imimkb7c83056a")))) (properties `((upstream-name . "VIM"))) (build-system r-build-system) (propagated-inputs @@ -5303,14 +5305,14 @@ (define-public r-dyn (define-public r-catdap (package (name "r-catdap") - (version "1.3.4") + (version "1.3.5") (source (origin (method url-fetch) (uri (cran-uri "catdap" version)) (sha256 (base32 - "0i877l61f6c75pczi235rzci67w29zv1d7z5zn5p5ymndclvlpl2")))) + "0fyhl69z2lznymvpzxra9qvcg85ggzkfjy68c6mzdmf1ja44d2k5")))) (build-system r-build-system) (native-inputs `(("gfortran" ,gfortran))) @@ -5843,6 +5845,8 @@ (define-public r-ggsignif (base32 "17j9hg967k1wp9xw3x84mqss58jkb8pvlrnlchz4i1hklgykxqbg")))) (build-system r-build-system) + (native-inputs + `(("r-knitr" ,r-knitr))) (propagated-inputs `(("r-ggplot2" ,r-ggplot2))) (home-page "https://github.com/const-ae/ggsignif") @@ -8583,20 +8587,19 @@ (define-public r-effectsize (define-public r-sjplot (package (name "r-sjplot") - (version "2.8.2") + (version "2.8.3") (source (origin (method url-fetch) (uri (cran-uri "sjPlot" version)) (sha256 - (base32 "16721a5006q0gv45zjcwnkykxhjkzpq5n35vhik0g0ixgm3a2vci")))) + (base32 "0ip1rkjlhyf3axlc8qqss1qq1f0xrda890c1jmcbhm98wwjw264f")))) (properties `((upstream-name . "sjPlot"))) (build-system r-build-system) (propagated-inputs `(("r-bayestestr" ,r-bayestestr) ("r-dplyr" ,r-dplyr) ("r-effectsize" ,r-effectsize) - ("r-forcats" ,r-forcats) ("r-ggeffects" ,r-ggeffects) ("r-ggplot2" ,r-ggplot2) ("r-insight" ,r-insight) @@ -8611,6 +8614,8 @@ (define-public r-sjplot ("r-sjmisc" ,r-sjmisc) ("r-sjstats" ,r-sjstats) ("r-tidyr" ,r-tidyr))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://strengejacke.github.io/sjPlot/") (synopsis "Data visualization for statistics in social science") (description @@ -9238,14 +9243,14 @@ (define-public r-rcpphnsw (define-public r-rcppparallel (package (name "r-rcppparallel") - (version "4.4.4") + (version "5.0.0") (source (origin (method url-fetch) (uri (cran-uri "RcppParallel" version)) (sha256 (base32 - "0p13f2mywjr7gmskf8ri4y8p5yr1bvr4xrpw2w11vdvafwz1vcia")))) + "1mhd6vp47xmfw533h0pkvydv96m57fspvd85g8m7iqb5rcxvhhdb")))) (properties `((upstream-name . "RcppParallel"))) (build-system r-build-system) (home-page "http://rcppcore.github.io/RcppParallel") @@ -9821,13 +9826,13 @@ (define-public r-colorramps (define-public r-tidytree (package (name "r-tidytree") - (version "0.3.1") + (version "0.3.2") (source (origin (method url-fetch) (uri (cran-uri "tidytree" version)) (sha256 - (base32 "1bnzs62z2l8ck2h9gabmxvayizv4nfn8dmyzry83fv0cspjbyiv7")))) + (base32 "0dx9jn19mfykn20camsmq1amlgg0w6z5hn5rdqygs1fk1l5aazad")))) (build-system r-build-system) (propagated-inputs `(("r-ape" ,r-ape) @@ -9836,6 +9841,8 @@ (define-public r-tidytree ("r-magrittr" ,r-magrittr) ("r-rlang" ,r-rlang) ("r-tibble" ,r-tibble))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/GuangchuangYu/tidytree") (synopsis "Tidy tool for phylogenetic tree data manipulation") (description @@ -11198,14 +11205,14 @@ (define-public r-fields (define-public r-spatialextremes (package (name "r-spatialextremes") - (version "2.0-7.2") + (version "2.0-8") (source (origin (method url-fetch) (uri (cran-uri "SpatialExtremes" version)) (sha256 (base32 - "0aqq9ryxi4xsdqjhc1lhb7ai8szs7m2vys6nn0ygps1w3pm4xwj8")))) + "0r2byz5xxc46zqnigdax28q7446ibmzmsmi10lmm2hdks3ml6sl3")))) (properties `((upstream-name . "SpatialExtremes"))) (build-system r-build-system) @@ -13243,13 +13250,13 @@ (define-public r-adegenet (define-public r-pegas (package (name "r-pegas") - (version "0.12") + (version "0.13") (source (origin (method url-fetch) (uri (cran-uri "pegas" version)) (sha256 - (base32 "0sb8cmz4d238mcb56hv9fa0cagm00k82r7aj4cj4lxa1flxlpy8p")))) + (base32 "002i7s4g0nhnq0v05gs0yssqiyhpq2f7rw2rhn31hsbgxc86frvy")))) (build-system r-build-system) (propagated-inputs `(("r-adegenet" ,r-adegenet) @@ -14075,19 +14082,21 @@ (define-public r-farver (define-public r-ggplotify (package (name "r-ggplotify") - (version "0.0.4") + (version "0.0.5") (source (origin (method url-fetch) (uri (cran-uri "ggplotify" version)) (sha256 (base32 - "0nv3wdmxnc5ww9m3xlgnb0jp30j45dg33nqc6gg3y36svg8anjcg")))) + "0pfnp4lrissf21z7867kdm6slr979kchyva8iaf83i1302kscph3")))) (build-system r-build-system) (propagated-inputs `(("r-ggplot2" ,r-ggplot2) ("r-gridgraphics" ,r-gridgraphics) ("r-rvcheck" ,r-rvcheck))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/GuangchuangYu/ggplotify") (synopsis "Convert plots to @code{grob} or @code{ggplot} object") (description @@ -15210,14 +15219,14 @@ (define-public r-plot3d (define-public r-ggfortify (package (name "r-ggfortify") - (version "0.4.8") + (version "0.4.9") (source (origin (method url-fetch) (uri (cran-uri "ggfortify" version)) (sha256 (base32 - "191q2z7w0l4v7swjlxs2hjgbjngw2838688s7ygnj0kigsm310f3")))) + "1p6knrbyaynaqwd939w09hpf1zz1gn95cb46sfgppl8l98krb2h5")))) (build-system r-build-system) (propagated-inputs `(("r-dplyr" ,r-dplyr) @@ -15227,6 +15236,8 @@ (define-public r-ggfortify ("r-stringr" ,r-stringr) ("r-tibble" ,r-tibble) ("r-tidyr" ,r-tidyr))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/sinhrks/ggfortify") (synopsis "Data visualization tools for statistical analysis results") (description @@ -15752,14 +15763,14 @@ (define-public r-systemfonts (define-public r-graphlayouts (package (name "r-graphlayouts") - (version "0.5.0") + (version "0.6.0") (source (origin (method url-fetch) (uri (cran-uri "graphlayouts" version)) (sha256 (base32 - "03dizbhhdhnzbj2i5zvqgs617kwcv4h2pha4f16adic0fph1rxl3")))) + "1la016m37kp79zk8p1yx9kaha8y6d4w52w39h0mzv1mfsi6d75w0")))) (properties `((upstream-name . "graphlayouts"))) (build-system r-build-system) (propagated-inputs @@ -15869,19 +15880,21 @@ (define-public r-assertr (define-public r-parameters (package (name "r-parameters") - (version "0.5.0") + (version "0.6.0") (source (origin (method url-fetch) (uri (cran-uri "parameters" version)) (sha256 (base32 - "19cblrq079svp5j3wgikw5fsdbsp1w0f2llm7kcf1rg5w1aagjr7")))) + "0zin3ikc013hc713n5zs0dbhc3m4nfw1vhc3924z0mrww8r241xn")))) (properties `((upstream-name . "parameters"))) (build-system r-build-system) (propagated-inputs `(("r-bayestestr" ,r-bayestestr) ("r-insight" ,r-insight))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://cran.r-project.org/web/packages/parameters") (synopsis "Processing of model parameters") (description @@ -20084,14 +20097,14 @@ (define-public r-semplot (define-public r-cdm (package (name "r-cdm") - (version "7.4-19") + (version "7.5-15") (source (origin (method url-fetch) (uri (cran-uri "CDM" version)) (sha256 (base32 - "1ln1r3rk004fmk55iy08bjh3vv4wnkb8zg2wj3r9rq7pi8jn8fv4")))) + "159ny2dz0rf1r3k1mqlfwambffc8rx425sggf5bn51nybpzanq3l")))) (properties `((upstream-name . "CDM"))) (build-system r-build-system) (propagated-inputs @@ -20118,14 +20131,14 @@ (define-public r-cdm (define-public r-tam (package (name "r-tam") - (version "3.3-10") + (version "3.4-26") (source (origin (method url-fetch) (uri (cran-uri "TAM" version)) (sha256 (base32 - "1rkjp5x6wrk1dfspp1imvfals0wvy4w1wb8a5mhfbnilc7vgnlbq")))) + "111d7qkxhwh1lfvldyh9d61pdb5vb6x8lr8n9h95ssvw07vjqvk9")))) (properties `((upstream-name . "TAM"))) (build-system r-build-system) (propagated-inputs @@ -20750,3 +20763,34 @@ (define-public r-ppcor calculate the higher-order partial and semi-partial correlations but also with statistics and p-values of the correlation coefficients.") (license license:gpl2))) + +(define-public r-hrbrthemes + (package + (name "r-hrbrthemes") + (version "0.8.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "hrbrthemes" version)) + (sha256 + (base32 "057h60b5p53dcyjyfwlgjc1ry968s9s64dw78p443w8717zk7zpc")))) + (properties `((upstream-name . "hrbrthemes"))) + (build-system r-build-system) + (propagated-inputs + `(("r-extrafont" ,r-extrafont) + ("r-gdtools" ,r-gdtools) + ("r-ggplot2" ,r-ggplot2) + ("r-htmltools" ,r-htmltools) + ("r-knitr" ,r-knitr) + ("r-magrittr" ,r-magrittr) + ("r-rmarkdown" ,r-rmarkdown) + ("r-scales" ,r-scales))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://github.com/hrbrmstr/hrbrthemes/") + (synopsis "Additional themes, theme components and utilities for @code{ggplot2}") + (description + "This package provides a compilation of extra @code{ggplot2} themes, +scales and utilities, including a spell check function for plot label fields +and an overall emphasis on typography.") + (license license:expat))) diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index bff9185260..a338c4d47a 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -134,7 +134,7 @@ (define-public libmd (define-public signify (package (name "signify") - (version "28") + (version "29") (home-page "https://github.com/aperezdc/signify") (source (origin (method url-fetch) @@ -142,7 +142,7 @@ (define-public signify "/download/v" version "/signify-" version ".tar.xz")) (sha256 (base32 - "05v970glhpaxv0m4cnidfxsdnsjp12nf2crzrdq4ml7g5a3g6hdq")))) + "1bzcax5kb4lr0rmpmrdpq5q0iq6b2dxzpl56li8aanbkck1c7hd9")))) (build-system gnu-build-system) ;; TODO Build with libwaive (described in README.md), to implement something ;; like OpenBSD's pledge(). diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm index cc5a410301..f263ddb909 100644 --- a/gnu/packages/cups.scm +++ b/gnu/packages/cups.scm @@ -58,7 +58,7 @@ (define-module (gnu packages cups) (define-public cups-filters (package (name "cups-filters") - (version "1.26.2") + (version "1.27.1") (source(origin (method url-fetch) (uri @@ -66,7 +66,7 @@ (define-public cups-filters "cups-filters-" version ".tar.xz")) (sha256 (base32 - "1a8x6zgw3m4717gw3842gsrgjl05q92xygy4rp5vwr1d1xjmyxp1")) + "0dpn4rkmrdprkhlnpih5dzrn4fxzj20k42d516kx4qx0g5l74lrm")) (modules '((guix build utils))) (snippet ;; install backends, banners and filters to cups-filters output @@ -420,14 +420,14 @@ (define-public cups-pk-helper (define-public hplip (package (name "hplip") - (version "3.20.2") + (version "3.20.3") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/hplip/hplip/" version "/hplip-" version ".tar.gz")) (sha256 (base32 - "1hkiyj29vzmz14cy68g94i617ymxinzvjvcsfdd78kcbd1s9vi4h")) + "0sh6cg7yjc11x1cm4477iaslj9n8ksghs85hqwgfbk7m5b2pw2a1")) (modules '((guix build utils))) (patches (search-patches "hplip-remove-imageprocessor.patch")) (snippet diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 679c409a7a..e4f170273f 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -690,7 +690,7 @@ (define-public mysql (define-public mariadb (package (name "mariadb") - (version "10.1.43") + (version "10.1.44") (source (origin (method url-fetch) (uri (string-append "https://downloads.mariadb.com/MariaDB" @@ -698,7 +698,7 @@ (define-public mariadb version ".tar.gz")) (sha256 (base32 - "1pxyq37q4p7515by7k8hs3l3css68f3bm3akx99vw4m1rxwwbm63")) + "0fah6d50hldq0farxwr8mj3jnniwdz0d1wsha07nx37fc79h7wi1")) (patches (search-patches "mariadb-client-test-32bit.patch")) (modules '((guix build utils))) (snippet @@ -790,6 +790,7 @@ (define-public mariadb ;; See . "main.join_cache" "main.explain_non_select" + "main.stat_tables" "main.stat_tables_innodb" "roles.acl_statistics" @@ -825,6 +826,10 @@ (define-public mariadb (("latin1_swedish_ci") "utf8_general_ci") (("\tlatin1") "\tutf8")) + (substitute* "mysql-test/suite/binlog/t/binlog_mysqlbinlog_stop_never.test" + (("/bin/bash") + (which "bash"))) + (substitute* "mysql-test/mysql-test-run.pl" (("/bin/ls") (which "ls")) (("/bin/sh") (which "sh"))) @@ -951,14 +956,14 @@ (define-public mariadb-connector-c (define-public postgresql (package (name "postgresql") - (version "10.11") + (version "10.12") (source (origin (method url-fetch) (uri (string-append "https://ftp.postgresql.org/pub/source/v" version "/postgresql-" version ".tar.bz2")) (sha256 (base32 - "02fcmvbh0mhplj3s2jd24s642ysx7bggnf0h8bs5amh7dgzi8p8d")) + "1rsab4zf4rx7pvvhlwhb04kb95aiad9cwazc4ksbvg2gij47z3rq")) (patches (search-patches "postgresql-disable-resolve_symlinks.patch")))) (build-system gnu-build-system) (arguments @@ -1220,7 +1225,7 @@ (define-public rocksdb ("lz4" ,lz4) ("snappy" ,snappy) ("zlib" ,zlib))) - (home-page "http://rocksdb.org/") + (home-page "https://rocksdb.org/") (synopsis "Persistent key-value store for fast storage") (description "RocksDB is a library that forms the core building block for a fast @@ -1852,7 +1857,7 @@ (define-public unqlite "1sbpvhg15gadq0mpcy16q7k3rkg4b4dicpnn5xifpkpn02sqik3s")))) (build-system gnu-build-system) (arguments `(#:tests? #f)) ;No check target - (home-page "http://www.unqlite.org") + (home-page "https://www.unqlite.org") (synopsis "In-memory key/value and document store") (description "UnQLite is an in-process software library which implements a diff --git a/gnu/packages/digest.scm b/gnu/packages/digest.scm index f76cbabcf8..1a9d58c0d3 100644 --- a/gnu/packages/digest.scm +++ b/gnu/packages/digest.scm @@ -25,7 +25,7 @@ (define-module (gnu packages digest) (define-public xxhash (package (name "xxhash") - (version "0.7.2") + (version "0.7.3") (source (origin (method git-fetch) @@ -34,7 +34,7 @@ (define-public xxhash (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1f9gl0cymmi92ihsfan0p4zmyf2hxwx4arjimpbmbp719nbcvdsx")))) + (base32 "0bin0jch6lbzl4f8y052a7azfgq2n7iwqihzgqmcccv5vq4vcx5a")))) (build-system gnu-build-system) (arguments `(#:make-flags diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 1a1aff9e05..0a9283a526 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -201,7 +201,7 @@ (define-public gptfdisk (install-file "fixparts.8" man) (install-file "gdisk.8" man) (install-file "sgdisk.8" man))))))) - (home-page "http://www.rodsbooks.com/gdisk/") + (home-page "https://www.rodsbooks.com/gdisk/") (synopsis "Low-level GPT disk partitioning and formatting") (description "GPT fdisk (aka gdisk) is a text-mode partitioning tool that works on Globally Unique Identifier (@dfn{GUID}) Partition Table (@dfn{GPT}) @@ -295,15 +295,14 @@ (define-public fatfsck/static (define-public sdparm (package (name "sdparm") - (version "1.10") + (version "1.11") (source (origin (method url-fetch) (uri (string-append "http://sg.danny.cz/sg/p/" - name "-" version ".tar.xz")) + "sdparm-" version ".tar.xz")) (sha256 - (base32 - "1jjq3lzgfy4r76rc26q02lv4wm5cb4dx5nh913h489zjrr4f3jbx")))) + (base32 "1nqjc4w2w47zavcbf5xmm53x1zbwgljaw1lpajcdi537cgy32fa8")))) (build-system gnu-build-system) (home-page "http://sg.danny.cz/sg/sdparm.html") (synopsis "Provide access to SCSI device parameters") diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm index b23e067888..7524a0dc1b 100644 --- a/gnu/packages/docker.scm +++ b/gnu/packages/docker.scm @@ -46,7 +46,7 @@ (define-module (gnu packages docker) #:use-module (gnu packages version-control) #:use-module (gnu packages virtualization)) -(define %docker-version "19.03.5") +(define %docker-version "19.03.7") (define-public python-docker-py (package @@ -315,7 +315,7 @@ (define-public docker (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1dlknwn0fh82nbzdzxdk6pfhqwph9vcw3vs3111wfr19y5hwncq9")) + (base32 "1sik109lxmiwgrsnvfip1nnal1xkh8z1mlvys6aknjyh29ll1iq8")) (patches (search-patches "docker-fix-tests.patch")))) (build-system gnu-build-system) @@ -588,7 +588,7 @@ (define-public docker-cli (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "07ldz46y74b3la4ah65v5bzbfx09yy6kncvxrr0zfx0s1214ar3m")))) + (base32 "164l33npy8acdbbrz8vcyiwx18vi55wwwikkasg0w43b5bdhz8sx")))) (build-system go-build-system) (arguments `(#:import-path "github.com/docker/cli" diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm index 136add4e82..46c7a03104 100644 --- a/gnu/packages/embedded.scm +++ b/gnu/packages/embedded.scm @@ -1125,7 +1125,7 @@ (define-public picprog (delete 'configure)))) (synopsis "Programs Microchip's PIC microcontrollers") (description "This program programs Microchip's PIC microcontrollers.") - (home-page "http://hyvatti.iki.fi/~jaakko/pic/picprog.html") + (home-page "https://hyvatti.iki.fi/~jaakko/pic/picprog.html") (license license:gpl3+))) (define-public fc-host-tools diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 7b82c91a58..3591b1740c 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -266,7 +266,7 @@ (define-public dosbox ("alsa-lib" ,alsa-lib) ("glu" ,glu) ("mesa" ,mesa))) - (home-page "http://www.dosbox.com") + (home-page "https://www.dosbox.com") (synopsis "X86 emulator with CGA/EGA/VGA/etc. graphics and sound") (description "DOSBox is a DOS-emulator that uses the SDL library. DOSBox also emulates CPU:286/386 realmode/protected mode, Directory @@ -308,7 +308,7 @@ (define-public emulation-station number of video game console emulators. It features an interface that is usable with any game controller that has at least 4 buttons, theming support, and a game metadata scraper.") - (home-page "http://www.emulationstation.org") + (home-page "https://emulationstation.org") (license license:expat)))) ;; Note: higan v107 has been released, but as explained by the dialog that @@ -1453,7 +1453,7 @@ (define-public mame ("sqlite" ,sqlite) ("utf8proc" ,utf8proc) ("zlib" ,zlib))) - (home-page "http://mamedev.org/") + (home-page "https://www.mamedev.org") (synopsis "Multi-purpose emulation framework") (description "MAME's purpose is to preserve decades of software history. As electronic technology continues to rush forward, MAME diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index c877c20500..fdce75c443 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -2321,7 +2321,7 @@ (define-public freecad ("python-pyside-2-tools" ,python-pyside-2-tools) ("python-shiboken-2" ,python-shiboken-2) ("python-wrapper" ,python-wrapper) - ("qtbase" ,qtbase-patched) + ("qtbase" ,qtbase) ("qtsvg" ,qtsvg) ("qtx11extras" ,qtx11extras) ("qtxmlpatterns" ,qtxmlpatterns) diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index 3fc9d522f4..322afde1c4 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -515,15 +515,12 @@ (define-public ephoto (name "ephoto") (version "1.5") (source - (origin - (method url-fetch) - (uri (list (string-append "http://www.smhouston.us/stuff/ephoto-" - version ".tar.xz") - (string-append "https://download.enlightenment.org/rel/" - "apps/ephoto/ephoto-" version ".tar.xz"))) - (sha256 - (base32 - "1q7v9abjp9jrs08xc7pqaac64yzax24dk1snjb9rciarzzh3mlzy")))) + (origin + (method url-fetch) + (uri (string-append "https://download.enlightenment.org/rel/" + "apps/ephoto/ephoto-" version ".tar.xz")) + (sha256 + (base32 "1q7v9abjp9jrs08xc7pqaac64yzax24dk1snjb9rciarzzh3mlzy")))) (build-system gnu-build-system) (arguments '(#:phases @@ -536,7 +533,7 @@ (define-public ephoto ("pkg-config" ,pkg-config))) (inputs `(("efl" ,efl))) - (home-page "http://smhouston.us/ephoto/") + (home-page "https://smhouston.us/projects/ephoto/") (synopsis "EFL image viewer/editor/manipulator/slideshow creator") (description "Ephoto is an image viewer and editor written using the @dfn{Enlightenment Foundation Libraries} (EFL). It focuses on simplicity and diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 5143b500ee..89a7ffe956 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -97,7 +97,7 @@ (define-module (gnu packages finance) (define-public bitcoin-core (package (name "bitcoin-core") - (version "0.19.0.1") + (version "0.19.1") (source (origin (method url-fetch) (uri @@ -105,7 +105,7 @@ (define-public bitcoin-core version "/bitcoin-" version ".tar.gz")) (sha256 (base32 - "1172dl4b8h2a80ilk9sfgbl8yi55k6hs4b1m07nic2ls4irgkjbs")))) + "1h3w7brc18145np920vy7j5ms5hym59hvr40swdjx34fbdaisngj")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) diff --git a/gnu/packages/flashing-tools.scm b/gnu/packages/flashing-tools.scm index f993912838..8e36da22ed 100644 --- a/gnu/packages/flashing-tools.scm +++ b/gnu/packages/flashing-tools.scm @@ -169,7 +169,7 @@ (define-public dfu-programmer `(("pkg-config" ,pkg-config))) (inputs `(("libusb" ,libusb))) - (home-page "http://dfu-programmer.github.io/") + (home-page "https://dfu-programmer.github.io/") (synopsis "Device firmware update programmer for Atmel chips") (description "Dfu-programmer is a multi-platform command-line programmer for diff --git a/gnu/packages/fltk.scm b/gnu/packages/fltk.scm index a214c531b3..d0f20b20fd 100644 --- a/gnu/packages/fltk.scm +++ b/gnu/packages/fltk.scm @@ -88,7 +88,7 @@ (define-public fltk (("-lpng") (string-append "-L" png "/lib -lpng")) (("-lz") (string-append "-L" zlib "/lib -lz")))) #t))))) - (home-page "http://www.fltk.org") + (home-page "https://www.fltk.org") (synopsis "3D C++ GUI library") (description "FLTK is a C++ GUI toolkit providing modern GUI functionality without the bloat. It supports 3D graphics via OpenGL and its built-in GLUT diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index edc77d3f00..8e82112f1b 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -383,7 +383,7 @@ (define-public t1lib metric information. But t1lib is in itself entirely independent of the X11-system or any other graphical user interface.") (license license:gpl2) - (home-page "http://www.t1lib.org/"))) + (home-page "https://www.t1lib.org/"))) (define-public teckit (package diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 92a50f94f3..5c158c0f99 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -182,14 +182,14 @@ (define-public libinput ;; Updating this will rebuild over 700 packages through libinput-minimal. (package (name "libinput") - (version "1.15.0") + (version "1.15.2") (source (origin (method url-fetch) (uri (string-append "https://freedesktop.org/software/libinput/" "libinput-" version ".tar.xz")) (sha256 (base32 - "1qa3b2fd4pv8ysf0mgwnyhqv9v48zgy3sy0q3a3vxcmwcvpizgxz")))) + "0ivpb4sghl80cs7jg3xrs53kckif6wy81cny3a8mry94nszky74p")))) (build-system meson-build-system) (arguments `(#:configure-flags '("-Ddocumentation=false") @@ -1386,14 +1386,15 @@ (define-public fprintd (define-public desktop-file-utils (package (name "desktop-file-utils") - (version "0.23") + (version "0.24") (source (origin (method url-fetch) - (uri (string-append "https://www.freedesktop.org/software/" name - "/releases/" name "-" version ".tar.xz")) + (uri (string-append "https://www.freedesktop.org/software/" + "desktop-file-utils/releases/" + "desktop-file-utils-" version ".tar.xz")) (sha256 (base32 - "119kj2w0rrxkhg4f9cf5waa55jz1hj8933vh47vcjipcplql02bc")))) + "1nc3bwjdrpcrkbdmzvhckq0yngbcxspwj2n1r7jr3gmx1jk5vpm1")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -1592,14 +1593,14 @@ (define-public uchardet (define-public udiskie (package (name "udiskie") - (version "2.0.4") + (version "2.1.0") (source (origin (method url-fetch) (uri (pypi-uri "udiskie" version)) (sha256 (base32 - "0gjjzz0k8dlsk03fl2882lbl88hbv031ww72qj02gr65yph0jqgc")) + "0smib8vbs9q37n7ynhzyw97q16fgdkcdw7fw69lci0xvyq00v1dz")) ;; Remove support for the libappindicator library of the ;; Unity desktop environment which is not in Guix. (patches (search-patches "udiskie-no-appindicator.patch")))) diff --git a/gnu/packages/ftp.scm b/gnu/packages/ftp.scm index 58d817853b..273128f631 100644 --- a/gnu/packages/ftp.scm +++ b/gnu/packages/ftp.scm @@ -130,7 +130,7 @@ (define-public ncftp (string-append "--prefix=" out)))))) #:tests? #f)) ;there are no tests (inputs `(("ncurses" ,ncurses))) - (home-page "http://www.ncftp.com/ncftp/") + (home-page "https://www.ncftp.com/ncftp/") (synopsis "Command-line File Transfer Protocol (FTP) client") (description "NcFTP Client (or just NcFTP) is a set of command-line programs to access diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 224ab7fb2d..3063851b73 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -46,6 +46,7 @@ ;;; Copyright © 2019, 2020 Timotej Lazar ;;; Copyright © 2019 Josh Holland ;;; Copyright © 2017, 2019 Hartmut Goebel +;;; Copyright © 2020 Alberto Eleuterio Flores Guerrero ;;; ;;; This file is part of GNU Guix. ;;; @@ -301,14 +302,14 @@ (define-public alex4 (define-public armagetronad (package (name "armagetronad") - (version "0.2.8.3.4") + (version "0.2.8.3.5") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/armagetronad/stable/" version "/armagetronad-" version ".src.tar.gz")) (sha256 (base32 - "1pgy0r80z702qdv94aw3ywdn4ynnr4cdi86ml558pljfc5ygasj4")))) + "1z266haq22n5b0733h7qsg1rpzhz8lvm82f7wd06r008iiar7jdl")))) (build-system gnu-build-system) (inputs `(("libxml2" ,libxml2) @@ -383,7 +384,7 @@ (define-public bastet (inputs `(("boost" ,boost) ("ncurses" ,ncurses))) - (home-page "http://fph.altervista.org/prog/bastet.html") + (home-page "https://fph.altervista.org/prog/bastet.html") (synopsis "Antagonistic Tetris-style falling brick game for text terminals") (description "Bastet (short for Bastard Tetris) is a simple ncurses-based falling brick @@ -1118,7 +1119,7 @@ (define-public ltris (define-public nethack (package (name "nethack") - (version "3.6.5") + (version "3.6.6") (source (origin (method url-fetch) @@ -1126,7 +1127,7 @@ (define-public nethack (string-append "https://www.nethack.org/download/" version "/nethack-" (string-join (string-split version #\.) "") "-src.tgz")) (sha256 - (base32 "0xifs8pqfffnmkbpmrcd1xf14yakcj06nl2bbhy4dyacg8myysmv")))) + (base32 "1liyckjp34j354qnxc1zn9730lh1p2dabrg1hap24z6xnqx0rpng")))) (inputs `(("ncurses" ,ncurses) ("bison" ,bison) @@ -3476,7 +3477,7 @@ (define-public grue-hunter ("tar" ,tar) ("gzip" ,gzip) ("tarball" ,source))) - (home-page "http://jxself.org/grue-hunter.shtml") + (home-page "https://jxself.org/grue-hunter.shtml") (synopsis "Text adventure game") (description "Grue Hunter is a text adventure game written in Perl. You must make @@ -6079,7 +6080,7 @@ (define-public fortune-mod ("perl-test-runvalgrind" ,perl-test-runvalgrind) ("cmake-rules" ,shlomif-cmake-modules) ("rinutils" ,rinutils))) - (home-page "http://www.shlomifish.org/open-source/projects/fortune-mod/") + (home-page "https://www.shlomifish.org/open-source/projects/fortune-mod/") (synopsis "The Fortune Cookie program from BSD games") (description "Fortune is a command-line utility which displays a random quotation from a collection of quotes.") @@ -10138,3 +10139,35 @@ (define-public stockfish ChessX.") (home-page "https://stockfishchess.org/") (license license:gpl3+))) + +(define-public barrage + (package + (name "barrage") + (version "1.0.5") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/lgames/barrage/" + "barrage-" version ".tar.gz")) + (sha256 + (base32 "0139wxyrir10cbkvkjn548xgmp84wax8mfwk80yxbxlcdamrg257")))) + (build-system gnu-build-system) + (inputs + `(("hicolor-icon-theme" ,hicolor-icon-theme) + ("sdl" ,sdl) + ("sdl-mixer" ,sdl-mixer))) + (arguments + `(#:configure-flags + (list + (string-append "CFLAGS=" + "-I" (assoc-ref %build-inputs "sdl-mixer") + "/include/SDL")))) + (home-page "http://lgames.sourceforge.net/Barrage/") + (synopsis "Violent point-and-click shooting game with nice effects") + (description + "Barrage is a rather destructive action game that puts you on a shooting +range with the objective to hit as many dummy targets as possible within +3 minutes. You control a gun that may either fire small or large grenades at +soldiers, jeeps and tanks. The gameplay is simple but it is not that easy to +get high scores.") + (license license:gpl2+))) diff --git a/gnu/packages/gd.scm b/gnu/packages/gd.scm index e336282546..444c76956a 100644 --- a/gnu/packages/gd.scm +++ b/gnu/packages/gd.scm @@ -84,7 +84,7 @@ (define-public gd (propagated-inputs `(("fontconfig" ,fontconfig) ("libjpeg" ,libjpeg-turbo))) - (home-page "http://www.libgd.org/") + (home-page "https://www.libgd.org/") (synopsis "Library for the dynamic creation of images by programmers") (description "GD is a library for the dynamic creation of images by programmers. GD diff --git a/gnu/packages/gdb.scm b/gnu/packages/gdb.scm index 310bb6c320..01f93f6def 100644 --- a/gnu/packages/gdb.scm +++ b/gnu/packages/gdb.scm @@ -37,25 +37,24 @@ (define-module (gnu packages gdb) #:use-module (guix build-system gnu) #:use-module (srfi srfi-1)) -(define-public gdb-8.3 +(define-public gdb-9.1 (package (name "gdb") - (version "8.3.1") + (version "9.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gdb/gdb-" version ".tar.xz")) (sha256 (base32 - "1i2pjwaafrlz7wqm40b4znr77ai32rjsxkpl2az38yyarpbv8m8y")))) - - ;; Hide this package so that end users get 'gdb/next' below. - (properties '((hidden? . #t))) + "0dqp1p7w836iwijg1zb4a784n0j4pyjiw5v6h8fg5lpx6b40x7k9")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; FIXME "make check" fails on single-processor systems. + #:out-of-source? #t + #:modules ((srfi srfi-1) ,@%gnu-build-system-modules) @@ -96,6 +95,7 @@ (define-public gdb-8.3 ("python" ,python) ("python-wrapper" ,python-wrapper) ("dejagnu" ,dejagnu) + ("source-highlight" ,source-highlight) ;; Allow use of XML-formatted syscall information. This enables 'catch ;; syscall' and similar commands. @@ -117,7 +117,7 @@ (define-public gdb-8.3 ;; . (define-public gdb-8.2 (package/inherit - gdb-8.3 + gdb-9.1 (version "8.2.1") (source (origin (method url-fetch) @@ -127,26 +127,7 @@ (define-public gdb-8.2 (base32 "00i27xqawjv282a07i73lp1l02n0a3ywzhykma75qg500wll6sha")))))) -;; The "next" version of GDB, to be merged with 'gdb' in the next rebuild cycle. -(define-public gdb/next - (package/inherit - gdb-8.3 - (version "9.1") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/gdb/gdb-" version ".tar.xz")) - (sha256 - (base32 - "0dqp1p7w836iwijg1zb4a784n0j4pyjiw5v6h8fg5lpx6b40x7k9")))) - (arguments - `(#:out-of-source? #t - ,@(package-arguments gdb-8.3))) - (inputs - `(("source-highlight" ,source-highlight) - ,@(package-inputs gdb-8.3))) - (properties (alist-delete 'hidden? (package-properties gdb-8.3))))) - (define-public gdb ;; This is the fixed version that packages depend on. Update it rarely ;; enough to avoid massive rebuilds. - gdb-8.3) + gdb-9.1) diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index 8a4d841142..f51d1c0cea 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -561,6 +561,14 @@ (define-public spatialite-gui ("sqlite" ,sqlite) ("wxwidgets" ,wxwidgets-2) ("zlib" ,zlib))) + (arguments + `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'fix-gui + (lambda _ + ;; Fix for the GUI not showing up. + (substitute* "Main.cpp" + (("Hide\\(\\);") "")) + #t))))) (synopsis "Graphical user interface for SpatiaLite") (description "Spatialite-gui provides a visual interface for viewing and maintaining a spatialite database. You can easily see the structure of the @@ -768,7 +776,7 @@ (define-public tegola "cmd/tegola_lambda/main.go") (("version not set") ,version))) #t))))) - (home-page "http://tegola.io") + (home-page "https://tegola.io") (synopsis "Vector tile server for maps") (description "Tegola is a free vector tile server written in Go. Tegola takes geospatial data and slices it into vector tiles that can be efficiently @@ -1507,3 +1515,29 @@ (define-public spatialite-tools tools supporting SpatiaLite.") (home-page "https://www.gaia-gis.it/fossil/spatialite-tools/index") (license license:gpl3+))) + +(define-public virtualpg + (package + (name "virtualpg") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.gaia-gis.it/gaia-sins/" + "virtualpg-" version ".tar.gz")) + (sha256 + (base32 "0kjipcd08vvn188xmwbs7sw41xcs06x47n2hbqshpjcr51mxbarp")))) + (build-system gnu-build-system) + (inputs + `(("postgresql" ,postgresql) + ("sqlite" ,sqlite))) + (synopsis "Allow SQLite/SpatiaLite to access PostgreSQL/PostGIS tables") + (description + "VirtualPG is a dynamic extension for the SQLite DBMS. It implements +the VirtualPostgres driver, allowing to directly exchange data between SQLite +and PostgreSQL; if SpatiaLite is available even PostGIS geometries can be +exchanged form one Spatial DBMS and the other.") + (home-page "https://www.gaia-gis.it/fossil/virtualpg/index") + (license (list license:gpl2+ + license:lgpl2.1+ + license:mpl1.1)))) diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index 9ff380e167..9995d445ab 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -90,7 +90,7 @@ (define-public babl (define-public gegl (package (name "gegl") - (version "0.4.20") + (version "0.4.22") (source (origin (method url-fetch) (uri (list (string-append "https://download.gimp.org/pub/gegl/" @@ -104,7 +104,7 @@ (define-public gegl "/gegl-" version ".tar.xz"))) (sha256 (base32 - "1zrxnxlhn0jmshg4n2m2xlgi886w059ynkiiihm7rpi05fs8pg93")))) + "0q9cckf90fb82qc5d496fjz459f1xw4j4p3rff1f57yivx0yr20q")))) (build-system meson-build-system) (arguments `(#:configure-flags @@ -135,7 +135,7 @@ (define-public gegl (define-public gimp (package (name "gimp") - (version "2.10.14") + (version "2.10.18") (source (origin (method url-fetch) (uri (string-append "https://download.gimp.org/pub/gimp/v" @@ -143,7 +143,7 @@ (define-public gimp "/gimp-" version ".tar.bz2")) (sha256 (base32 - "0m6wdnfvsxyhimdd4v3351g4r1fklllnbipbwcfym3h7q88hz6yz")))) + "05np26g61fyr72s7qjfrcck8v57r0yswq5ihvqyzvgzfx08y3gv5")))) (build-system gnu-build-system) (outputs '("out" "doc")) ; 9 MiB of gtk-doc HTML diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index b0e0a43761..b863283606 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -232,7 +232,7 @@ (define libva-without-mesa (define-public mesa (package (name "mesa") - (version "19.3.2") + (version "19.3.4") (source (origin (method url-fetch) @@ -244,7 +244,7 @@ (define-public mesa version "/mesa-" version ".tar.xz"))) (sha256 (base32 - "1hg1gvcwvayksrdh9z8rfz66h3z1ffspmm2qgyy2nd8n8qrfwfjf")) + "1r4giqq7q7zqbn23lbw7v5vswagxx8qj6ij2w8bsb697mvk6g90x")) (patches (search-patches "mesa-skip-disk-cache-test.patch")))) (build-system meson-build-system) @@ -268,7 +268,7 @@ (define-public mesa ("libxvmc" ,libxvmc) ,@(match (%current-system) ((or "x86_64-linux" "i686-linux") - `(("llvm" ,llvm-8))) + `(("llvm" ,llvm-9))) (_ `())) ("makedepend" ,makedepend) @@ -423,24 +423,6 @@ (define-public mesa from software emulation to complete hardware acceleration for modern GPUs.") (license license:x11))) -;; Mesa 19.3.2 causes a test failure in some packages, so add this newer -;; version separately until the next rebuild cycle. -(define-public mesa-19.3.3 - (package/inherit - mesa - (version "19.3.3") - (source (origin - (inherit (package-source mesa)) - (uri (list (string-append "https://mesa.freedesktop.org/archive/" - "mesa-" version ".tar.xz") - (string-append "ftp://ftp.freedesktop.org/pub/mesa/" - "mesa-" version ".tar.xz") - (string-append "ftp://ftp.freedesktop.org/pub/mesa/" - version "/mesa-" version ".tar.xz"))) - (sha256 - (base32 - "02czqdqf64i3az5p1allnxycyjad3x35cj0hz0017mi5pc84ikl1")))))) - (define-public mesa-opencl (package (inherit mesa) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 9a1085f4f6..67f0e47de1 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -246,6 +246,35 @@ (define-public brasero features to enable users to create their discs easily and quickly.") (license license:gpl2+))) +(define-public phodav + (package + (name "phodav") + (version "2.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1hxq8c5qfah3w7mxcyy3yhzdgswplll31a69p5mqdl04bsvw5pbx")))) + (build-system meson-build-system) + (native-inputs + `(("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") + ("gtk-doc" ,gtk-doc) + ("pkg-config" ,pkg-config))) + (inputs + `(("avahi" ,avahi) + ("libgudev" ,libgudev) + ("libsoup" ,libsoup))) + (synopsis "WebDav server implementation using libsoup") + (description "PhoDav was initially developed as a file-sharing mechanism for Spice, +but it is generic enough to be reused in other projects, +in particular in the GNOME desktop.") + (home-page "https://wiki.gnome.org/phodav") + (license license:lgpl2.1+))) + (define-public gnome-color-manager (package (name "gnome-color-manager") @@ -5322,7 +5351,7 @@ (define-public gusb (define-public simple-scan (package (name "simple-scan") - (version "3.34.4") + (version "3.36.0") (source (origin (method url-fetch) @@ -5330,7 +5359,7 @@ (define-public simple-scan (version-major+minor version) "/" "simple-scan-" version ".tar.xz")) (sha256 - (base32 "0xvy672zyl6jsdlnxma8nc2aqsx9k92jhp6wfxs0msj9ppp1nd3z")))) + (base32 "198l3yhqhb2wzfdcgi8fzbwycr0njn44583dazz6wy1gqbiqnzgm")))) (build-system meson-build-system) ;; TODO: Fix icons in home screen, About dialogue, and scan menu. (arguments @@ -9211,7 +9240,7 @@ (define-public soundconverter ("python-pygobject" ,python-pygobject) ("gstreamer" ,gstreamer) ("gst-plugins-base" ,gst-plugins-base))) - (home-page "http://soundconverter.org/") + (home-page "https://soundconverter.org/") (synopsis "Convert between audio formats with a graphical interface") (description "SoundConverter supports converting between many audio formats including diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 871b1fed2f..0d92139311 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -14,7 +14,7 @@ ;;; Copyright © 2018 Pierre Neidhardt ;;; Copyright @ 2018, 2019 Katherine Cox-Buday ;;; Copyright @ 2019 Giovanni Biscuolo -;;; Copyright @ 2019 Alex Griffin +;;; Copyright @ 2019, 2020 Alex Griffin ;;; Copyright © 2019 Arun Isaac ;;; Copyright © 2020 Jack Hill ;;; @@ -1166,7 +1166,7 @@ (define-public go-github-com-sirupsen-logrus (base32 "0g5z7al7kky11ai2dhac6gkp3b5pxsvx72yj3xg4wg3265gbn7yz")))) (build-system go-build-system) - (native-inputs + (propagated-inputs `(("go-golang-org-x-crypto" ,go-golang-org-x-crypto) ("go-github-com-stretchr-testify" @@ -1181,6 +1181,31 @@ (define-public go-github-com-sirupsen-logrus compatible with the standard library logger.") (license license:expat))) +(define-public go-github-com-rifflock-lfshook + (package + (name "go-github-com-rifflock-lfshook") + (version "2.4") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rifflock/lfshook.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0wxqjcjfg8c0klmdgmbw3ckagby3wg9rkga9ihd4fsf05x5scxrc")))) + (build-system go-build-system) + (arguments + `(#:import-path "github.com/rifflock/lfshook")) + (propagated-inputs + `(("go-github-com-sirupsen-logrus" ,go-github-com-sirupsen-logrus))) + (home-page "https://github.com/rifflock/lfshook") + (synopsis "Local File System hook for Logrus logger") + (description "This package provides a hook for Logrus to write directly to +a file on the filesystem. The log levels are dynamic at instantiation of the +hook, so it is capable of logging at some or all levels.") + (license license:expat))) + (define-public go-github-com-kardianos-osext (let ((commit "ae77be60afb1dcacde03767a8c37337fad28ac14") (revision "1")) @@ -3349,3 +3374,25 @@ (define-public go-github-com-golang-protobuf-proto data serialization format.") (home-page "https://github.com/golang/protobuf") (license license:bsd-3))) + +(define-public go-github-com-mattn-go-zglob + (package + (name "go-github-com-mattn-go-zglob") + (version "0.0.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mattn/go-zglob.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1sncdyq5fbd42al4amyy91h7vlzm3wm6c9vl8za2pjgfgsd581fz")))) + (build-system go-build-system) + (arguments + `(#:import-path "github.com/mattn/go-zglob")) + (home-page "https://github.com/mattn/go-zglob") + (synopsis "Glob library that descends into other directories") + (description " A glob library that implements descending into other +directories. It is optimized for filewalking. ") + (license license:expat))) diff --git a/gnu/packages/gps.scm b/gnu/packages/gps.scm index ac8deddad5..936c3aeda0 100644 --- a/gnu/packages/gps.scm +++ b/gnu/packages/gps.scm @@ -178,7 +178,7 @@ (define-public gama (define-public gpxsee (package (name "gpxsee") - (version "7.16") + (version "7.25") (source (origin (method git-fetch) (uri (git-reference @@ -187,7 +187,7 @@ (define-public gpxsee (file-name (git-file-name name version)) (sha256 (base32 - "1mkfhb2c9qafjpva600nyn6yik49l4q1k6id1xvrci37wsn6ijav")))) + "0lml3hz2zxljl9j5wnh7bn9bj8k9v3wf6bk3g77x9nnarsmw0fcx")))) (build-system gnu-build-system) (arguments '(#:phases @@ -208,8 +208,10 @@ (define-public gpxsee (home-page "https://www.gpxsee.org") (synopsis "GPS log file viewer and analyzer") (description - "GPXSee is a Qt-based GPS log file viewer and analyzer that supports -all common GPS log file formats.") + "GPXSee is a Qt-based GPS log file viewer and analyzer that supports all +common GPS log file formats. It can display multiple tracks on various on- +and off-line maps. You can easily add more maps and graph other captured data +such as elevation, speed, heart rate, power, temperature, and gear shifts.") (license license:gpl3))) (define-public gpsd diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index fcd5b0c6e2..48c2d0321b 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -88,14 +88,14 @@ (define-module (gnu packages graphics) (define-public blender (package (name "blender") - (version "2.82") + (version "2.82a") (source (origin (method url-fetch) (uri (string-append "https://download.blender.org/source/" "blender-" version ".tar.xz")) (sha256 (base32 - "0rgw8nilvn6k6r7p28y2l1rwpami1cc8xz473jaahn7wa4ndyah0")))) + "18zbdgas6qf2kmvvlimxgnq7y9kj7hdxcgixrs6fj50x40q01q2d")))) (build-system cmake-build-system) (arguments (let ((python-version (version-major+minor (package-version python)))) @@ -971,10 +971,7 @@ (define-public opensubdiv (native-inputs `(("xorg-server" ,xorg-server-for-tests))) (inputs - `(;; The test suite fails when using Mesa 19.3.2, so we provide this newer - ;; version. Remove this input when the 'mesa' package is updated. - ("mesa" ,mesa-19.3.3) - ("glew" ,glew) + `(("glew" ,glew) ("libxrandr" ,libxrandr) ("libxcursor" ,libxcursor) ("libxinerama" ,libxinerama) diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm index 33ecfce89b..9e89fe1e61 100644 --- a/gnu/packages/graphviz.scm +++ b/gnu/packages/graphviz.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2015 Ludovic Courtès -;;; Copyright © 2015 Efraim Flashner +;;; Copyright © 2015, 2020 Efraim Flashner ;;; Copyright © 2016 Theodoros Foradis ;;; Copyright © 2017, 2018, 2019 Ricardo Wurmus ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice @@ -236,6 +236,9 @@ (define-public python-pygraphviz structure and layout algorithms.") (license license:bsd-3))) +(define-public python2-pygraphviz + (package-with-python2 python-pygraphviz)) + (define-public gts (package (name "gts") diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index b01f4c704c..76766a1b1f 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -757,7 +757,7 @@ (define-public gtk+-2 (define-public gtk+ (package (inherit gtk+-2) (name "gtk+") - (version "3.24.13") + (version "3.24.14") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -765,7 +765,7 @@ (define-public gtk+ name "-" version ".tar.xz")) (sha256 (base32 - "1a9hi7k59q0kqx0n3xhsk1ly23w9g9ncllnay1756g0yrww5qxsc")) + "120yz5gxqbv7sgdbcy4i0b6ixm8jpjzialdrqs0gv15q7bwnjk8w")) (patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch" "gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch")))) (propagated-inputs @@ -1777,7 +1777,7 @@ (define-public graphene ("python-2" ,python-2) ("glib" ,glib) ("gobject-introspection" ,gobject-introspection))) - (home-page "http://ebassi.github.io/graphene") + (home-page "https://ebassi.github.io/graphene/") (synopsis "Thin layer of graphic data types") (description "This library provides graphic types and their relative API; it does not deal with windowing system surfaces, drawing, scene graphs, or diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index b71b0178d6..9f8173657e 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -21,7 +21,7 @@ ;;; Copyright © 2018 Pierre-Antoine Rouby ;;; Copyright © 2018 Eric Bavier ;;; Copyright © 2019 swedebugia -;;; Copyright © 2019 Amar Singh +;;; Copyright © 2019, 2020 Amar Singh ;;; Copyright © 2019 Timothy Sample ;;; ;;; This file is part of GNU Guix. @@ -3144,3 +3144,33 @@ (define-public guile3.0-xapian (inputs `(("guile" ,guile-next) ,@(alist-delete "guile" (package-inputs guile-xapian)))))) + +(define-public guile-torrent + (package + (name "guile-torrent") + (version "0.1.3") + (source (origin (method git-fetch) + (uri (git-reference + (url + "https://github.com/o-nly/torrent.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1yiagi55ncq1x7s9n7salzywjm4l96y3n7y3s47a9anvz87mrmim")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("guile" ,guile-2.2) + ("texinfo" ,texinfo) + ("perl" ,perl) + ("pkg-config" ,pkg-config))) + (propagated-inputs + `(("guile-gcrypt" ,guile-gcrypt))) + (home-page "https://github.com/o-nly/torrent") + (synopsis "Torrent library for GNU Guile") + (description "This package provides facilities for working with +@code{.torrent} or metainfo files. Implements a bencode reader and writer +according to Bitorrent BEP003.") + (license license:gpl3+))) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index b97f149391..17fa51a3c7 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -289,15 +289,6 @@ (define-public guile-3.0 (patches (append (search-patches "guile-3.0-crash.patch") (origin-patches (package-source guile-2.2)))))) - - (arguments - (substitute-keyword-arguments (package-arguments guile-2.2) - ;; XXX: On ARMv7, work around by disabling - ;; JIT. - ((#:configure-flags flags '()) - (if (target-arm32?) - `(cons "--disable-jit" ,flags) - flags)))) (native-search-paths (list (search-path-specification (variable "GUILE_LOAD_PATH") diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index e368082c03..418eb7cc46 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -3774,7 +3774,7 @@ (define-public ghc-extensible-exceptions (define-public ghc-extra (package (name "ghc-extra") - (version "1.6.18") + (version "1.7.1") (source (origin (method url-fetch) @@ -3784,12 +3784,13 @@ (define-public ghc-extra ".tar.gz")) (sha256 (base32 - "0jvd4l0hi8pf5899pxc32yc638y0mrc357w0rph99k3hm277i0cy")))) + "0zshxv9dnd8vksncmb8dj4wvq2wdybzwxyhmy2zp6a81icm4azx4")))) (build-system haskell-build-system) (inputs `(("ghc-clock" ,ghc-clock) ("ghc-semigroups" ,ghc-semigroups) - ("ghc-quickcheck" ,ghc-quickcheck))) + ("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-quickcheck-instances" ,ghc-quickcheck-instances))) (home-page "https://github.com/ndmitchell/extra") (synopsis "Extra Haskell functions") (description "This library provides extra functions for the standard diff --git a/gnu/packages/hyperledger.scm b/gnu/packages/hyperledger.scm index 158a66e898..f0b33e0deb 100644 --- a/gnu/packages/hyperledger.scm +++ b/gnu/packages/hyperledger.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2019 Pierre Neidhardt +;;; Copyright © 2019, 2020 Pierre Neidhardt ;;; Copyright © 2019 Tobias Geerinckx-Rice +;;; Copyright © 2020 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -19,18 +20,28 @@ (define-module (gnu packages hyperledger) #:use-module (ice-9 match) + #:use-module (guix build-system cmake) #:use-module (guix build-system go) - #:use-module (guix build-system trivial) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix licenses) #:use-module (gnu packages) #:use-module (gnu packages base) + #:use-module (gnu packages boost) + #:use-module (gnu packages check) #:use-module (gnu packages curl) + #:use-module (gnu packages databases) #:use-module (gnu packages docker) #:use-module (gnu packages golang) - #:use-module (gnu packages version-control)) + #:use-module (gnu packages logging) + #:use-module (gnu packages machine-learning) + #:use-module (gnu packages popt) + #:use-module (gnu packages pretty-print) + #:use-module (gnu packages protobuf) + #:use-module (gnu packages tbb) + #:use-module (gnu packages version-control) + #:use-module (gnu packages web)) (define-public hyperledger-fabric (package @@ -93,3 +104,112 @@ (define-public hyperledger-fabric and resiliency. It is designed to support pluggable implementations of different components.") (license asl2.0))) + +(define-public hyperledger-iroha-ed25519 + (package + (name "hyperledger-iroha-ed25519") + (version "2.0.2") + (home-page "https://github.com/hyperledger/iroha-ed25519") + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0kr1zwah8mhnpfrpk3h6hdafyqdl3ixhs7czdfscqv6vxqfiabc4")))) + (build-system cmake-build-system) + (native-inputs + `(("googletest" ,googletest))) + (arguments + `(#:tests? #f ; Tests don't build because CMake cannot find GTest main. + #:configure-flags '("-DHUNTER_ENABLED=OFF" + "-DBUILD=SHARED" + ;; TODO: x86_64 should use amd64-64-24k-pic but it + ;; fails to link when built as a shared library. + "-DEDIMPL=ref10" + "-DHASH=sha3_brainhub"))) + (synopsis "Ed25519 digital signature algorithm") + (description "This repository aims to provide modularized implementation +of the Ed25519 digital signature algorithm which is is described in +RFC8032 (@url{https://tools.ietf.org/html/rfc8032}). + +Originally Ed25519 consists of three modules: + +@itemize +@item digital signature algorithm itself +@item SHA512 hash function +@item random number generator, to generate keypairs +@end itemize + +This project offers at least two different C implementations for every +module. Every implementation can be replaced with another one at +link-time. New implementations can be added as well.") + (license asl2.0))) + +(define-public hyperledger-iroha + (package + (name "hyperledger-iroha") + (version "1.1.1") + (home-page "https://github.com/hyperledger/iroha") + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "014mbwq059yxwihw0mq8zgns53fsw8ckczi1lw8q9pz3pk86pa9b")) + (modules '((guix build utils))) + (snippet + '(begin + ;; https://github.com/hyperledger/iroha/commit/4dc710d2e9a067af866771318f673c7392797e48 + ;; Backport unversioned fmt dependency, remove next update: + (substitute* "libs/logger/logger.hpp" + (("fmt::v5") "fmt")) + #t)))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags + '("-DTESTING=OFF" ; The tests fail to link correctly to googletest. + ;; Don't install the shared libraries of the dependencies: + "-DENABLE_LIBS_PACKAGING=OFF") + #:tests? #f + ;; https://iroha.readthedocs.io/en/latest/build/index.html#running-tests-optional + #:test-target ".")) + ;; https://github.com/hyperledger/iroha/blob/master/vcpkg/VCPKG_DEPS_LIST + (native-inputs + `(("fmt" ,fmt) + ("googletest" ,googletest) + ("rapidjson" ,rapidjson) + ("rxcpp" ,rxcpp) + ("spdlog" ,spdlog))) + (inputs + `(("boost" ,boost-1.69) + ("gflags" ,gflags) + ("grpc" ,grpc) + ("hyperledger-iroha-ed25519" ,hyperledger-iroha-ed25519) + ("postgresql" ,postgresql) + ("protobuf" ,protobuf) + ("soci" ,soci) + ("tbb" ,tbb))) + (synopsis "Simple, decentralized ledger") + (description "Iroha is a distributed ledger technology (DLT). Iroha has +essential functionality for your asset, information and identity management +needs, at the same time being a crash fault-tolerant tool. + +Iroha has the following features: + +@itemize +@item Creation and management of custom fungible assets, such as currencies, +kilos of gold, etc. +@item Management of user accounts +@item Taxonomy of accounts based on domains in the system +@item The system of rights and verification of user permissions for the +execution of transactions and queries in the system +@item Validation of business rules for transactions and queries in the system +@item Multisignature transactions +@end itemize\n") + (license asl2.0))) diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm index 7e982db093..0adb3fb79a 100644 --- a/gnu/packages/imagemagick.scm +++ b/gnu/packages/imagemagick.scm @@ -48,14 +48,14 @@ (define-public imagemagick ;; The 7 release series has an incompatible API, while the 6 series is still ;; maintained. Don't update to 7 until we've made sure that the ImageMagick ;; users are ready for the 7-series API. - (version "6.9.10-87") + (version "6.9.10-95") (source (origin (method url-fetch) (uri (string-append "mirror://imagemagick/ImageMagick-" version ".tar.xz")) (sha256 (base32 - "09m0nx7y6j5cq13r583kp3lbsc357cc3q0kcvzbya54r5lx20a5p")))) + "0fcbcad95wn0q0pdfl0qgycm30f3a7xhskc0r5icldq6v6l4b3is")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch") @@ -170,7 +170,7 @@ (define-public perl-image-magick (define-public graphicsmagick (package (name "graphicsmagick") - (version "1.3.34") + (version "1.3.35") (source (origin (method url-fetch) @@ -183,7 +183,7 @@ (define-public graphicsmagick "/GraphicsMagick-" version ".tar.xz"))) (sha256 (base32 - "197pshms3m8mn2x1ryiag37ambm8qmb448spch66l3gdfd8rs06z")))) + "0l024l4hawm9s3jqrgi2j0lxgm61dqh8sgkj1017ma7y11hqv2hq")))) (build-system gnu-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/installers.scm b/gnu/packages/installers.scm index 9229359fdf..a8a5c36a18 100644 --- a/gnu/packages/installers.scm +++ b/gnu/packages/installers.scm @@ -34,14 +34,14 @@ (define (make-nsis machine target-arch nsis-target-type) (xgcc (cross-gcc triplet #:libc xlibc))) (package (name (string-append "nsis-" machine)) - (version "3.04") + (version "3.05") (source (origin (method url-fetch) (uri (string-append "http://prdownloads.sourceforge.net/nsis/nsis-" version "-src.tar.bz2")) (sha256 (base32 - "1xgllk2mk36ll2509hd31mfq6blgncmdzmwxj3ymrwshdh23d5b0")) + "1sbwx5vzpddharkb7nj4q5z3i5fbg4lan63ng738cw4hmc4v7qdn")) (patches (search-patches "nsis-env-passthru.patch")))) (build-system scons-build-system) (native-inputs `(("xgcc" ,xgcc) diff --git a/gnu/packages/ipfs.scm b/gnu/packages/ipfs.scm index 9fa3f144de..7ef7108c1f 100644 --- a/gnu/packages/ipfs.scm +++ b/gnu/packages/ipfs.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Pierre Neidhardt -;;; Copyright © 2019 Tobias Geerinckx-Rice +;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -104,7 +104,7 @@ (define-public go-github-com-ipfs-go-ipfs-api (define-public gx (package (name "gx") - (version "0.14.2") + (version "0.14.3") (source (origin (method git-fetch) @@ -113,7 +113,7 @@ (define-public gx (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "048bx6khzcwxnvz3lf7kgp6fkg8mxqcqchxh0jxm9fg2iwizsi0k")))) + (base32 "1sk20kv3rfsnizgwmcmmr69jb1b2iwzqh9wwwd6wg6x0pnqm8swc")))) (build-system go-build-system) (arguments '(#:import-path "github.com/whyrusleeping/gx")) diff --git a/gnu/packages/java-compression.scm b/gnu/packages/java-compression.scm index 3102c70d88..536e1e6530 100644 --- a/gnu/packages/java-compression.scm +++ b/gnu/packages/java-compression.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2017, 2018 Julien Lepiller ;;; Copyright © 2018 Marius Bakke ;;; Copyright © 2018 Mark H Weaver -;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -25,6 +25,7 @@ (define-module (gnu packages java-compression) #:use-module (guix utils) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix build-system ant) #:use-module (gnu packages) #:use-module (gnu packages compression) @@ -35,21 +36,26 @@ (define-module (gnu packages java-compression) (define-public java-snappy (package (name "java-snappy") - (version "1.1.7.2") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/xerial/snappy-java/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1p557vdv006ysgxbpp83krmq0066k46108vyiyka69w8i4i8rbbm")))) + (version "1.1.7.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/xerial/snappy-java") + (commit version))) + (sha256 + (base32 "07c145w1kv8g7dbwpy5xss142il7zr0qq78p2ih76azgl97n5cba")) + (file-name (git-file-name name version)))) (build-system ant-build-system) (arguments `(#:jar-name "snappy.jar" #:source-dir "src/main/java" #:phases (modify-phases %standard-phases + (add-after 'unpack 'make-git-checkout-writable + (lambda _ + (for-each make-file-writable (find-files ".")) + #t)) (add-before 'build 'remove-binaries (lambda _ (delete-file "lib/org/xerial/snappy/OSInfo.class") @@ -125,14 +131,17 @@ (define-public java-snappy (define-public java-snappy-1 (package (inherit java-snappy) + (name "java-snappy") (version "1.0.3-rc3") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/xerial/snappy-java/archive/" - "snappy-java-" version ".tar.gz")) - (sha256 - (base32 - "08hsxlqidiqck0q57fshwyv3ynyxy18vmhrai9fyc8mz17m7gsa3")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url (string-append "https://github.com/xerial/snappy-java")) + (commit (string-append "snappy-java-" version)))) + (sha256 + (base32 "0gbg3xmhniyh5p6w5zqj16fr15fa8j4raswd8pj00l4ixf5qa6m4")) + (file-name (git-file-name name version)))) (arguments `(#:jar-name "snappy.jar" #:source-dir "src/main/java" @@ -184,13 +193,15 @@ (define-public java-iq80-snappy (package (name "java-iq80-snappy") (version "0.4") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/dain/snappy/archive/snappy-" - version ".tar.gz")) - (sha256 - (base32 - "0rb3zhci7w9wzd65lfnk7p3ip0n6gb58a9qpx8n7r0231gahyamf")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dain/snappy") + (commit (string-append "snappy-" version)))) + (sha256 + (base32 "1mswh207065rdzbxk6rxaqlxhbg1ngxa0vjc20knsn31kqbq1bcz")) + (file-name (git-file-name name version)))) (build-system ant-build-system) (arguments `(#:jar-name "iq80-snappy.jar" diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 1a90dd71d8..6a7e66e01e 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -10,7 +10,7 @@ ;;; Copyright © 2018, 2019 Gábor Boskovits ;;; Copyright © 2018 Chris Marusich ;;; Copyright © 2018, 2019 Efraim Flashner -;;; Copyright © 2019 Björn Höfling +;;; Copyright © 2019, 2020 Björn Höfling ;;; ;;; This file is part of GNU Guix. ;;; @@ -4322,7 +4322,7 @@ (define-public java-asm (install-jars "dist"))))) (native-inputs `(("java-junit" ,java-junit))) - (home-page "http://asm.ow2.org/") + (home-page "https://asm.ow2.io/") (synopsis "Very small and fast Java bytecode manipulation framework") (description "ASM is an all purpose Java bytecode manipulation and analysis framework. It can be used to modify existing classes or dynamically @@ -7476,7 +7476,7 @@ (define-public java-osgi-namespace-contract (version "1.0.0") (source (origin (method url-fetch) - (uri (string-append "http://central.maven.org/maven2/org/osgi/" + (uri (string-append "https://repo1.maven.org/maven2/org/osgi/" "org.osgi.namespace.contract/" version "/org.osgi.namespace.contract-" version "-sources.jar")) diff --git a/gnu/packages/libffcall.scm b/gnu/packages/libffcall.scm index 3a231f30a0..0b27f88cfc 100644 --- a/gnu/packages/libffcall.scm +++ b/gnu/packages/libffcall.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2015 Joshua S. Grant ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2017, 2018 Efraim Flashner +;;; Copyright © 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,7 +28,7 @@ (define-module (gnu packages libffcall) (define-public libffcall (package (name "libffcall") - (version "2.1") + (version "2.2") (source (origin (method url-fetch) @@ -35,9 +36,11 @@ (define-public libffcall "mirror://gnu/libffcall/libffcall-" version ".tar.gz")) (sha256 (base32 - "0iwcad6w78jp84vd6xaz5fwqm84n3cb42bdf5m5cj5xzpa5zp4d0")))) + "0ixp7kbr7y8s34nsrsdfh77ig5c2zkwr6cfg9v1gm53cggwkgypb")))) (build-system gnu-build-system) - (arguments `(#:parallel-build? #f)) + (arguments + '(#:parallel-build? #f + #:configure-flags '("--disable-static"))) (synopsis "Foreign function calls from interpreters") (description "GNU Libffcall is a collection of libraries that can be used to build diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm index a0ae273b67..1bd96e16bd 100644 --- a/gnu/packages/libusb.scm +++ b/gnu/packages/libusb.scm @@ -303,6 +303,47 @@ (define-public python-pyusb (define-public python2-pyusb (package-with-python2 python-pyusb)) +(define-public python-capablerobot-usbhub + (package + (name "python-capablerobot-usbhub") + (version "0.2.7") + (source + (origin + (method url-fetch) + (uri (pypi-uri "capablerobot_usbhub" version)) + (sha256 + (base32 + "1priic4iq2vn1rc711kzxwhxrwa508rkxrr193qdz2lw26kdhvix")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'install-udev-rules + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (mkdir-p (string-append out "/lib/udev/rules.d")) + (copy-file "50-capablerobot-usbhub.rules" + (string-append out + "/lib/udev/rules.d/" + "50-capablerobot-usbhub.rules")) + #t)))))) + (propagated-inputs + `(("python-click" ,python-click) + ("python-construct" ,python-construct) + ("python-pyusb" ,python-pyusb) + ("python-pyyaml" ,python-pyyaml))) + (home-page + "https://github.com/CapableRobot/CapableRobot_USBHub_Driver") + (synopsis + "Host side driver for the Capable Robot Programmable USB Hub") + (description + "This package provides access to the internal state of the Capable Robot +USB Hub, allowing you to monitor and control the Hub from an upstream +computer. It also creates a transparent CircuitPython Bridge, allowing +unmodified CircuitPython code to run on the host computer and interact with +I2C and SPI devices attached to the USB Hub.") + (license license:expat))) + (define-public libplist (package (name "libplist") diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 977f448b56..acfee1ac02 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -36,7 +36,7 @@ ;;; Copyright © 2019, 2020 Maxim Cournoyer ;;; Copyright © 2019 Stefan Stefanović ;;; Copyright © 2019 Pierre Langlois -;;; Copyright © 2019 Brice Waegeneire +;;; Copyright © 2019, 2020 Brice Waegeneire ;;; Copyright © 2019 Kei Kebreau ;;; Copyright © 2020 Oleg Pykhalov ;;; Copyright © 2020 Pierre Neidhardt @@ -362,42 +362,42 @@ (define (%upstream-linux-source version hash) "linux-" version ".tar.xz")) (sha256 hash))) -(define-public linux-libre-5.4-version "5.4.24") +(define-public linux-libre-5.4-version "5.4.25") (define-public linux-libre-5.4-pristine-source (let ((version linux-libre-5.4-version) - (hash (base32 "1cvy3mxwzll4f9j8i3hfmi0i0zq75aiafq1jskp9n4kq9iwar83z"))) + (hash (base32 "09ay0adc3s3m7qk0nj5lkmrp5i0q76a9kax0xix8914d115rgvf0"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.4))) -(define-public linux-libre-4.19-version "4.19.108") +(define-public linux-libre-4.19-version "4.19.109") (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "18shyy1z2s8r26qb4rcz7gwl43dnmycjjywp9gss5zlfn2jyrbh9"))) + (hash (base32 "0kwnlv5336vqdf38dzn077ic17zkb4rl5khxmc47syzd9zm4fhnh"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) -(define-public linux-libre-4.14-version "4.14.172") +(define-public linux-libre-4.14-version "4.14.173") (define-public linux-libre-4.14-pristine-source (let ((version linux-libre-4.14-version) - (hash (base32 "0yi13cky6jdswca7nrjgcrdxk8rnqdbhblhy6mws103mjfms2613"))) + (hash (base32 "0kxp3mgiags8hdax15masab9zr89xraqvl9ri7zwgksx8ixav0m2"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.14))) -(define-public linux-libre-4.9-version "4.9.215") +(define-public linux-libre-4.9-version "4.9.216") (define-public linux-libre-4.9-pristine-source (let ((version linux-libre-4.9-version) - (hash (base32 "0j4z2al318654z40w4f8zhh73zwpgn8igjr5k4mz401phm3jyvr3"))) + (hash (base32 "0lgv5k8v5xz9z2z4k42566bh0akyk1gr0dx6s1m1rjrzsf9k86l6"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.9))) -(define-public linux-libre-4.4-version "4.4.215") +(define-public linux-libre-4.4-version "4.4.216") (define-public linux-libre-4.4-pristine-source (let ((version linux-libre-4.4-version) - (hash (base32 "00zy6cxwb16pqziiqs25pz5llryx2v2nbk9vvzpzxa8x43ad7g18"))) + (hash (base32 "1hjgh9brvxzi6ypgfnk07l3j28xsxgz88sdshnz19vj96bn1w70q"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.4))) @@ -1679,7 +1679,7 @@ (define-public ltrace (define-public alsa-lib (package (name "alsa-lib") - (version "1.2.1.2") + (version "1.2.2") (source (origin (method url-fetch) (uri (string-append @@ -1687,7 +1687,7 @@ (define-public alsa-lib version ".tar.bz2")) (sha256 (base32 - "0hvrx0ipzqbcx4y1cmr9bgm9niifzkrhsb1ddgzzdwbk6q72d3lm")))) + "1v5kb8jyvrpkvvq7dq8hfbmcj68lml97i4s0prxpfx2mh3c57s6q")))) (build-system gnu-build-system) (arguments '(#:configure-flags (list (string-append "LDFLAGS=-Wl,-rpath=" @@ -1703,14 +1703,14 @@ (define-public alsa-lib (define-public alsa-utils (package (name "alsa-utils") - (version "1.2.1") + (version "1.2.2") (source (origin (method url-fetch) (uri (string-append "ftp://ftp.alsa-project.org/pub/utils/" name "-" version ".tar.bz2")) (sha256 (base32 - "039c19b7091is0czl9jlrfczp7pp1jpdri0vvc4k07gl3skhn48b")))) + "1wz460by17rmxrcydn583rd4lhj6wlvqs6x1j5pdzxn5g3app024")))) (build-system gnu-build-system) (arguments ;; XXX: Disable man page creation until we have DocBook. @@ -1758,14 +1758,14 @@ (define-public alsa-utils (define-public alsa-plugins (package (name "alsa-plugins") - (version "1.2.1") + (version "1.2.2") (source (origin (method url-fetch) (uri (string-append "ftp://ftp.alsa-project.org/pub/plugins/" name "-" version ".tar.bz2")) (sha256 (base32 - "1nj8cpbi05rb62yzs01c1k7lymdn1ch229b599hbhd0psixdx52d")))) + "0z9k3ssbfk2ky2w13avgyf202j1drsz9sv3834bp33cj1i2hc3qw")))) (build-system gnu-build-system) ;; TODO: Split libavcodec and speex if possible. It looks like they can not ;; be split, there are references to both in files. @@ -2871,6 +2871,21 @@ (define-public eudev (or native-inputs inputs) "xsltproc") "/bin/xsltproc"))) #t)) + (add-after 'install 'move-static-library + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (static (assoc-ref outputs "static")) + (source (string-append out "/lib/libudev.a")) + (target (string-append static "/lib/libudev.a"))) + (mkdir-p (dirname target)) + (link source target) + (delete-file source) + ;; Remove reference to the static library from the .la file + ;; such that Libtool looks for it in the usual places. + (substitute* (string-append out "/lib/libudev.la") + (("old_library=.*") + "old_library=''\n")) + #t))) (add-after 'install 'build-hwdb (lambda* (#:key outputs #:allow-other-keys) ;; Build OUT/etc/udev/hwdb.bin. This allows 'lsusb' and @@ -2904,6 +2919,7 @@ (define-public eudev ;; which contains the rules to do that. `(("util-linux" ,util-linux "lib") ;for blkid ("kmod" ,kmod))) + (outputs '("out" "static")) (home-page "https://wiki.gentoo.org/wiki/Project:Eudev") (synopsis "Userspace device management") (description "Udev is a daemon which dynamically creates and removes @@ -3021,8 +3037,7 @@ (define-public lvm2-static (name "lvm2-static") ;; Propagate udev because libdevmapper.a depends on libudev. - (inputs (alist-delete "udev" (package-inputs lvm2))) - (propagated-inputs `(("udev" ,eudev))) + (propagated-inputs `(("udev:static" ,eudev "static"))) (arguments (substitute-keyword-arguments (package-arguments lvm2) @@ -3545,6 +3560,12 @@ (define-public singularity _ program) (string-append "/run/setuid-programs/singularity-" program "-helper"))) + + ;; These squashfs mount options are apparently no longer + ;; supported since Linux-libre 5.4.5. + (substitute* "src/lib/image/squashfs/mount.c" + (("\"errors=remount-ro\"") + "NULL")) #t)))) (build-system gnu-build-system) (arguments @@ -3557,7 +3578,19 @@ (define-public singularity (("if ! singularity_which mksquashfs") "if 0") (("if ! mksquashfs") (string-append "if ! " (which "mksquashfs")))) - #t))))) + #t)) + (add-after 'install 'set-PATH + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Have the 'singularity' and 'run-singularity' self-sufficient. + (let ((out (assoc-ref outputs "out")) + (coreutils (assoc-ref inputs "coreutils"))) + (wrap-program (string-append out "/bin/singularity") + `("PATH" ":" = (,(string-append coreutils "/bin")))) + (substitute* (string-append out "/bin/run-singularity") + (("/usr/bin/env singularity") + (string-append (which "env") " " + out "/bin/singularity"))) + #t)))))) (inputs `(("libarchive" ,libarchive) ("python" ,python-wrapper) @@ -3990,7 +4023,7 @@ (define-public multipath-tools (define-public libaio (package (name "libaio") - (version "0.3.111") + (version "0.3.112") (source (origin (method url-fetch) (uri (list @@ -3998,7 +4031,7 @@ (define-public libaio name "-" version ".tar.gz"))) (sha256 (base32 - "0ajhzbqjwsmz51gwccfyw6w9k4j4gmxcl2ph30sfn2gxv0d8gkv2")))) + "14mlqdapjqq1dhpkdgy5z83mvsaz36fcxca7a4z6hinmr7r6415b")))) (build-system gnu-build-system) (arguments `(#:make-flags @@ -4046,7 +4079,8 @@ (define-public sbc (define-public bluez (package (name "bluez") - (version "5.52") + (replacement bluez/fixed) + (version "5.53") (source (origin (method url-fetch) (uri (string-append @@ -4054,7 +4088,7 @@ (define-public bluez version ".tar.xz")) (sha256 (base32 - "02jng21lp6fb3c2bh6vf9y7cj4gaxwk29dfc32ncy0lj0gi4q57p")))) + "1g1qg6dz6hl3csrmz75ixr12lwv836hq3ckb259svvrg62l2vaiq")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -4111,6 +4145,14 @@ (define-public bluez is flexible, efficient and uses a modular implementation.") (license license:gpl2+))) +(define bluez/fixed + (package + (inherit bluez) + (source (origin + (inherit (package-source bluez)) + (patches (append (origin-patches (package-source bluez)) + (search-patches "bluez-CVE-2020-0556.patch"))))))) + (define-public fuse-exfat (package (name "fuse-exfat") @@ -5476,7 +5518,7 @@ (define (sbin-directory input-name) "wireless-tools")))))) bin-files) #t)))))) - (home-page "http://linrunner.de/en/tlp/tlp.html") + (home-page "https://linrunner.de/en/tlp/tlp.html") (synopsis "Power management tool for Linux") (description "TLP is a power management tool for Linux. It comes with a default configuration already optimized for battery life. Nevertheless, diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index b5d8fd30f3..2af0d78da3 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -797,7 +797,7 @@ (define-public confusion-mdl (define-public txr (package (name "txr") - (version "232") + (version "233") (source (origin (method git-fetch) @@ -808,7 +808,7 @@ (define-public txr (patches (search-patches "txr-shell.patch")) (sha256 (base32 - "1vcnask4a1rxrljp4rcbkfihrndkv25l256l125vv39gjhf315xp")))) + "14dwjgx9lbfajk3q539m3v3b9j047q83ldnqb4cagbs8ampvhfbv")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("cc=gcc") diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 3ff80a76da..9de8eefc76 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus -;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2016, 2020 Efraim Flashner ;;; Copyright © 2016, 2017 Marius Bakke ;;; Copyright © 2016 Hartmut Goebel ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice @@ -1285,6 +1285,7 @@ (define-public grpc (package (name "grpc") (version "1.16.1") + (outputs '("out" "static")) (source (origin (method git-fetch) (uri (git-reference @@ -1301,7 +1302,42 @@ (define-public grpc (list "-DgRPC_ZLIB_PROVIDER=package" "-DgRPC_CARES_PROVIDER=package" "-DgRPC_SSL_PROVIDER=package" - "-DgRPC_PROTOBUF_PROVIDER=package"))) + "-DgRPC_PROTOBUF_PROVIDER=package" + (string-append "-DCMAKE_INSTALL_PREFIX=" + (assoc-ref %outputs "out")) + "-DCMAKE_INSTALL_LIBDIR=lib" + (string-append "-DCMAKE_INSTALL_RPATH=" + (assoc-ref %outputs "out") "/lib") + "-DCMAKE_VERBOSE_MAKEFILE=ON") + #:phases + (modify-phases %standard-phases + (add-before 'configure 'configure-shared + (lambda* (#:key (configure-flags '()) #:allow-other-keys) + (mkdir "../build-shared") + (with-directory-excursion "../build-shared" + (apply invoke + "cmake" "../source" + "-DBUILD_SHARED_LIBS=ON" + configure-flags) + (apply invoke "make" + `("-j" ,(number->string (parallel-job-count))))))) + (add-after 'install 'install-shared-libraries + (lambda _ + (with-directory-excursion "../build-shared" + (invoke "make" "install")))) + (add-before 'strip 'move-static-libs + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (static (assoc-ref outputs "static"))) + (mkdir-p (string-append static "/lib")) + (with-directory-excursion + (string-append out "/lib") + (for-each + (lambda (file) + (rename-file file + (string-append static "/lib/" file))) + (find-files "." "\\.a$")))) + #t))))) (inputs `(("c-ares" ,c-ares/cmake) ("openssl" ,openssl) @@ -1731,6 +1767,7 @@ (define-public tensorflow (sha256 (base32 "161g9841rjfsy5pn52fcis0s9hdr7rxvb06pad38j5rppfihvign"))))) + ("grpc" ,grpc "static") ("googletest" ,googletest) ("swig" ,swig) ("unzip" ,unzip))) @@ -1752,7 +1789,7 @@ (define-public tensorflow ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("giflib" ,giflib) - ("grpc" ,grpc) + ("grpc:bin" ,grpc) ("jsoncpp" ,jsoncpp-for-tensorflow) ("snappy" ,snappy) ("sqlite" ,sqlite) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index e6c0bf1c65..a09c263697 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -27,7 +27,7 @@ ;;; Copyright © 2018, 2019 Pierre Langlois ;;; Copyright © 2018 Alex Vong ;;; Copyright © 2018 Gábor Boskovits -;;; Copyright © 2018, 2019 Ricardo Wurmus +;;; Copyright © 2018, 2019, 2020 Ricardo Wurmus ;;; Copyright © 2019 Tanguy Le Carrour ;;; ;;; This file is part of GNU Guix. @@ -2954,8 +2954,8 @@ (define-public tnef (license gpl2+))) (define-public mumi - (let ((commit "a933a62a4b8528b416319759b9985db80f3fce14") - (revision "6")) + (let ((commit "6653e2d525b945fcd671dbfbf7b42cc588a1cf4b") + (revision "7")) (package (name "mumi") (version (git-version "0.0.0" revision commit)) @@ -2967,7 +2967,7 @@ (define-public mumi (file-name (git-file-name name version)) (sha256 (base32 - "0vlda7vjzpd942iz5vb471hj7ypml5gwl9s1am92klv6nk2vnvcx")))) + "0h1q61yl01hm7wygv1bv47ncg7l7gcw7aq8ny61g3hr1acsqysjf")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) @@ -2999,6 +2999,7 @@ (define-public mumi `(("guile-debbugs" ,guile-debbugs) ("guile-email" ,guile-email) ("guile-json" ,guile-json-3) + ("guile-sqlite3" ,guile-sqlite3) ("guile-syntax-highlight" ,guile-syntax-highlight) ("gnutls" ,gnutls) ;needed to talk to https://debbugs.gnu.org ("guile" ,guile-2.2) diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm index c9207d07f3..a80848e38a 100644 --- a/gnu/packages/man.scm +++ b/gnu/packages/man.scm @@ -40,7 +40,7 @@ (define-module (gnu packages man) (define-public libpipeline (package (name "libpipeline") - (version "1.5.1") + (version "1.5.2") (source (origin (method url-fetch) (uri (string-append @@ -48,7 +48,7 @@ (define-public libpipeline version ".tar.gz")) (sha256 (base32 - "0bwh5xz5f2czwb7f564jz1mp4znm8pldnvf65fs0hpw4gmmp0cyn")))) + "1ysrn22ixd4nmggy6f7qcsm7waadmlbg2i0n9mh6g7dfq54wcngx")))) (build-system gnu-build-system) (home-page "http://libpipeline.nongnu.org/") (synopsis "C library for manipulating pipelines of subprocesses") diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 0ff98c796b..d72f884a8f 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -3462,7 +3462,7 @@ (define-public suitesparse ("lapack" ,lapack) ("metis" ,metis))) (native-inputs - `(("cmake" ,cmake) + `(("cmake" ,cmake-minimal) ("m4" ,m4))) (home-page "http://faculty.cse.tamu.edu/davis/suitesparse.html") (synopsis "Suite of sparse matrix software") @@ -4592,36 +4592,8 @@ (define-public dune-common (add-after 'build 'build-tests (lambda* (#:key make-flags #:allow-other-keys) (apply invoke "make" "build_tests" make-flags))) - ;; These tests fail because they require a fully functional MPI - ;; environment. - (add-after 'unpack 'disable-failing-tests - (lambda _ - (setenv "ARGS" - (string-append "--exclude-regex '(" - (string-join - (list - "remoteindicestest" - "remoteindicestest-mpi-2" - "syncertest" - "syncertest-mpi-2" - "variablesizecommunicatortest" - "variablesizecommunicatortest-mpi-2" - "arithmetictestsuitetest" - "assertandreturntest" - "assertandreturntest_ndebug" - "concept" - "debugaligntest" - "mpicollectivecommunication" - "mpicollectivecommunication-mpi-2" - "mpiguardtest" - "mpiguardtest-mpi-2" - "mpihelpertest" - "mpihelpertest-mpi-2" - "mpihelpertest2" - "mpihelpertest2-mpi-2") - "|") - ")'")) - #t))))) + (add-before 'check 'mpi-setup + ,%openmpi-setup)))) (inputs `(("gmp" ,gmp) ("metis" ,metis) @@ -4683,6 +4655,42 @@ (define-public dune-geometry ;; GPL version 2 with "runtime exception" (license license:gpl2))) +(define-public dune-uggrid + (package + (name "dune-uggrid") + (version "2.6.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://dune-project.org/download/" + version "/dune-uggrid-" version ".tar.gz")) + (sha256 + (base32 + "05l7a1gb78mny49anyxk6rjvn66rhgm30y72v5cjg0m5kfgr1a1f")))) + (build-system cmake-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'build 'build-tests + (lambda* (#:key make-flags #:allow-other-keys) + (apply invoke "make" "build_tests" make-flags)))))) + (inputs + `(("dune-common" ,dune-common) + ("openmpi" ,openmpi))) + (native-inputs + `(("gfortran" ,gfortran) + ("pkg-config" ,pkg-config))) + (home-page "https://dune-project.org/") + (synopsis "Distributed and Unified Numerics Environment") + (description "DUNE, the Distributed and Unified Numerics Environment is a +modular toolbox for solving @dfn{partial differential equations} (PDEs) with +grid-based methods. It supports the easy implementation of methods like +@dfn{Finite Elements} (FE), @dfn{Finite Volumes} (FV), and also @dfn{Finite +Differences} (FD). + +This package contains the DUNE UG grid classes.") + (license license:lgpl2.1))) + (define-public dune-grid (package (name "dune-grid") @@ -4702,54 +4710,8 @@ (define-public dune-grid (add-after 'build 'build-tests (lambda* (#:key make-flags #:allow-other-keys) (apply invoke "make" "build_tests" make-flags))) - ;; These tests fail because they require a fully functional MPI - ;; environment. - (add-after 'unpack 'disable-failing-tests - (lambda _ - (setenv "ARGS" - (string-append "--exclude-regex '(" - (string-join - (list - "scsgmappertest" - "conformvolumevtktest" - "gnuplottest" - "nonconformboundaryvtktest" - "subsamplingvtktest" - "vtktest" - "vtktest-mpi-2" - "vtksequencetest" - "gmshtest-onedgrid" - "test-dgf-yasp" - "test-dgf-yasp-offset" - "test-dgf-oned" - "test-geogrid-yaspgrid" - "test-gridinfo" - "test-identitygrid" - "testiteratorranges" - "test-hierarchicsearch" - "test-parallel-ug-mpi-2" - "test-yaspgrid-backuprestore-equidistant" - "test-yaspgrid-backuprestore-equidistant-mpi-2" - "test-yaspgrid-backuprestore-equidistantoffset" - "test-yaspgrid-backuprestore-equidistantoffset-mpi-2" - "test-yaspgrid-backuprestore-tensor" - "test-yaspgrid-backuprestore-tensor-mpi-2" - "test-yaspgrid-tensorgridfactory" - "test-yaspgrid-tensorgridfactory-mpi-2" - "test-yaspgrid-yaspfactory-1d" - "test-yaspgrid-yaspfactory-1d-mpi-2" - "test-yaspgrid-yaspfactory-2d" - "test-yaspgrid-yaspfactory-2d-mpi-2" - "test-yaspgrid-yaspfactory-3d" - "test-yaspgrid-yaspfactory-3d-mpi-2" - "globalindexsettest" - "persistentcontainertest" - "structuredgridfactorytest" - "tensorgridfactorytest" - "vertexordertest") - "|") - ")'")) - #t))))) + (add-before 'check 'mpi-setup + ,%openmpi-setup)))) (inputs `(("dune-common" ,dune-common) ("dune-geometry" ,dune-geometry) @@ -4758,6 +4720,8 @@ (define-public dune-grid ("openblas" ,openblas) ("openmpi" ,openmpi) ("python" ,python))) + (propagated-inputs + `(("dune-uggrid" ,dune-uggrid))) (native-inputs `(("gfortran" ,gfortran) ("pkg-config" ,pkg-config))) @@ -4792,29 +4756,14 @@ (define-public dune-istl (add-after 'build 'build-tests (lambda* (#:key make-flags #:allow-other-keys) (apply invoke "make" "build_tests" make-flags))) - ;; These tests fail because they require a fully functional MPI - ;; environment. - (add-after 'unpack 'disable-failing-tests - (lambda _ - (setenv "ARGS" - (string-append "--exclude-regex '(" - (string-join - (list - "galerkintest" - "hierarchytest" - "pamgtest" - "pamg_comm_repart_test" - "matrixredisttest" - "vectorcommtest" - "matrixmarkettest") - "|") - ")'")) - #t))))) + (add-before 'check 'mpi-setup + ,%openmpi-setup)))) (inputs `(("dune-common" ,dune-common) ("openmpi" ,openmpi) ;; Optional ("metis" ,metis) + ("suitesparse" ,suitesparse) ("superlu" ,superlu) ("openblas" ,openblas) ("gmp" ,gmp) @@ -4895,9 +4844,7 @@ (define-public dune-alugrid "1l9adgyjpra8mvwm445s0lpjshnb63jag85fb2hisbjn6bm320yj")))) (build-system cmake-build-system) (arguments - `(#:tests? #f ; 7 of 8 tests fail because they need a full MPI - ; environment - #:phases + `(#:phases (modify-phases %standard-phases (add-after 'unpack 'patch-include (lambda _ @@ -4909,7 +4856,9 @@ (define-public dune-alugrid (lambda* (#:key inputs make-flags #:allow-other-keys) (setenv "CPLUS_INCLUDE_PATH" (string-append (assoc-ref inputs "dune-grid") "/share")) - (apply invoke "make" "build_tests" make-flags)))))) + (apply invoke "make" "build_tests" make-flags))) + (add-before 'check 'mpi-setup + ,%openmpi-setup)))) (inputs `(("dune-common" ,dune-common) ("dune-geometry" ,dune-geometry) @@ -4932,6 +4881,49 @@ (define-public dune-alugrid cubes.") (license license:gpl2+))) +(define-public dune-subgrid + (package + (name "dune-subgrid") + (version "2.6.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.imp.fu-berlin.de/agnumpde/dune-subgrid") + (commit "releases/2.6-1"))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1gcv35rx3knqd54r4pp9rzd639db4j8w2r2ibq43w1mgwdcqhs64")))) + (build-system cmake-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'build 'build-tests + (lambda* (#:key make-flags #:allow-other-keys) + (apply invoke "make" "build_tests" make-flags))) + (add-before 'check 'mpi-setup + ,%openmpi-setup)))) + (inputs + `(("dune-common" ,dune-common) + ("dune-geometry" ,dune-geometry) + ("dune-grid" ,dune-grid) + ("openmpi" ,openmpi) + ;; Optional + ("metis" ,metis) + ("openblas" ,openblas) + ("gmp" ,gmp))) + (native-inputs + `(("gfortran" ,gfortran) + ("pkg-config" ,pkg-config))) + (home-page "http://numerik.mi.fu-berlin.de/dune-subgrid/index.php") + (synopsis "Distributed and Unified Numerics Environment") + (description "The dune-subgrid module allows to mark elements of +another hierarchical dune grid. The set of marked elements can then be +accessed as a hierarchical dune grid in its own right. Dune-Subgrid +provides the full grid interface including adaptive mesh refinement.") + (license license:gpl2+))) + (define-public dune-typetree (package (name "dune-typetree") @@ -4987,7 +4979,20 @@ (define-public dune-functions (base32 "1an8gb477n8j0kzpbrv7nr1snh8pxip0gsxq6w63jc83gg3dj200")))) (build-system cmake-build-system) - (arguments `(#:tests? #f)) ; FIXME: tests require dune-uugrid + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'disable-failing-tests + (lambda _ + (setenv "ARGS" + ;; unable to load GMSH file in this test + "--exclude-regex gridviewfunctionspacebasistest") + #t)) + (add-after 'build 'build-tests + (lambda* (#:key make-flags #:allow-other-keys) + (apply invoke "make" "build_tests" make-flags))) + (add-before 'check 'mpi-setup + ,%openmpi-setup)))) (inputs `(("dune-common" ,dune-common) ("dune-istl" ,dune-istl) diff --git a/gnu/packages/mingw.scm b/gnu/packages/mingw.scm index 88c8d41ef8..d0785c5067 100644 --- a/gnu/packages/mingw.scm +++ b/gnu/packages/mingw.scm @@ -45,14 +45,14 @@ (define* (make-mingw-w64 machine (package (name (string-append "mingw-w64" "-" machine (if with-winpthreads? "-winpthreads" ""))) - (version "6.0.0") + (version "7.0.0") (source (origin (method url-fetch) (uri (string-append "https://sourceforge.net/projects/mingw-w64/files/mingw-w64/" "mingw-w64-release/mingw-w64-v" version ".tar.bz2")) (sha256 - (base32 "1w28mynv500y03h92nh87rgw3fnp82qwnjbxrrzqkmr63q812pl0")) + (base32 "0a5njsa2zw2ssdz10jkb10mhrf3cb8qp9avs89zqmw4n6pzxy85a")) (patches (search-patches "mingw-w64-6.0.0-gcc.patch")))) (native-inputs `(("xgcc-core" ,(if xgcc xgcc (cross-gcc triplet))) ("xbinutils" ,(if xbinutils xbinutils (cross-binutils triplet))) diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm index af3cc2540f..ae234afa29 100644 --- a/gnu/packages/mp3.scm +++ b/gnu/packages/mp3.scm @@ -172,7 +172,7 @@ (define-public taglib '(#:tests? #f ; Tests are not ran with BUILD_SHARED_LIBS on. #:configure-flags (list "-DBUILD_SHARED_LIBS=ON"))) (inputs `(("zlib" ,zlib))) - (home-page "http://taglib.org") + (home-page "https://taglib.org") (synopsis "Library to access audio file meta-data") (description "TagLib is a C++ library for reading and editing the meta-data of several diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm index fc4950f519..ec0684168e 100644 --- a/gnu/packages/mpi.scm +++ b/gnu/packages/mpi.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2016 Andreas Enge ;;; Copyright © 2017 Dave Love ;;; Copyright © 2017 Efraim Flashner -;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice +;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2018 Paul Garlick ;;; Copyright © 2019 Ricardo Wurmus ;;; @@ -169,7 +169,7 @@ (define-public hwloc (define-public openmpi (package (name "openmpi") - (version "4.0.2") + (version "4.0.3") (source (origin (method url-fetch) @@ -177,7 +177,7 @@ (define-public openmpi (version-major+minor version) "/downloads/openmpi-" version ".tar.bz2")) (sha256 - (base32 "0ms0zvyxyy3pnx9qwib6zaljyp2b3ixny64xvq3czv3jpr8zf2wh")) + (base32 "00zxcw99gr5n693cmcmn4f6a47vx1ywna895p0x7p163v37gw0hl")) (patches (search-patches "openmpi-mtl-priorities.patch")))) (build-system gnu-build-system) (inputs @@ -264,7 +264,7 @@ (define-public openmpi (let ((out (assoc-ref outputs "out"))) (for-each delete-file (find-files out "config.log")) #t)))))) - (home-page "http://www.open-mpi.org") + (home-page "https://www.open-mpi.org") (synopsis "MPI-3 implementation") (description "The Open MPI Project is an MPI-3 implementation that is developed and diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index fa70e9d1ce..d0ea08fe6b 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -864,7 +864,7 @@ (define-public gtklick (define-public libgme (package (name "libgme") - (version "0.6.2") + (version "0.6.3") (source (origin (method url-fetch) (uri (string-append "https://bitbucket.org/mpyne/game-music-emu/" @@ -872,10 +872,10 @@ (define-public libgme ".tar.xz")) (sha256 (base32 - "0hkkmxbaas2sirlb5i4r10mgbbiaapjx8pazifabwba23m3wnijh")))) + "07857vdkak306d9s5g6fhmjyxk7vijzjhkmqb15s7ihfxx9lx8xb")))) (build-system cmake-build-system) (arguments - '(#:tests? #f)) ; no check target + '(#:tests? #f)) ; no check target (home-page "https://bitbucket.org/mpyne/game-music-emu") (synopsis "Video game music file playback library") (description @@ -4615,42 +4615,6 @@ (define-public demlo @end itemize\n") (license license:expat)))) -(define-public lpd8editor - (package - (name "lpd8editor") - (version "0.0.13") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/charlesfleche/lpd8editor.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0lsz3v493ilq2zr016m7kvymrplxd0n3pqv1pjglpq1h7sjw9764")))) - (build-system gnu-build-system) - (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'setenv - (lambda _ - (setenv "INSTALL_PREFIX" - (assoc-ref %outputs "out")))) - (delete 'configure) ; no configure script - (add-before 'build 'qmake - (lambda _ (invoke "qmake")))))) - (native-inputs - `(("pkg-config" ,pkg-config))) - (inputs - `(("alsa" ,alsa-lib) - ("qtbase" ,qtbase) - ("qtsvg" ,qtsvg))) - (synopsis "Graphical editor for the Akai LPD8 MIDI controller") - (description "lpd8editor is a graphical patch editor for the Akai LPD8 MIDI -controller.") - (home-page "https://github.com/charlesfleche/lpd8editor") - (license license:expat))) - (define-public fmit (package (name "fmit") diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index bd2481dc78..57dd86d177 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -23,7 +23,7 @@ ;;; Copyright © 2018 Tonton ;;; Copyright © 2018 Clément Lassieur ;;; Copyright © 2018 Theodoros Foradis -;;; Copyright © 2018 Marius Bakke +;;; Copyright © 2018, 2020 Marius Bakke ;;; Copyright © 2018, 2020 Oleg Pykhalov ;;; Copyright © 2018 Pierre Neidhardt ;;; Copyright © 2019 Maxim Cournoyer @@ -167,7 +167,7 @@ (define-public miredo (substitute* "src/Makefile" (("^TESTS = .*") "TESTS = \n")) #t))))) - (home-page "http://www.remlab.net/miredo/") + (home-page "https://www.remlab.net/miredo/") (synopsis "Teredo IPv6 tunneling software") (description "Miredo is an implementation (client, relay, server) of the Teredo @@ -342,33 +342,35 @@ (define-public czmq (license license:mpl2.0))) (define-public cppzmq - (let ((revision "0") - (commit "d9f0f016c07046742738c65e1eb84722ae32d7d4")) - (package - (name "cppzmq") - (version (string-append "4.2.2-" revision "." - (string-take commit 7))) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/zeromq/cppzmq") - (commit commit))) - (sha256 - (base32 - "1gmqlm00y6xpa5m6d4ajq3ww63n2w7h4sy997wj81vcqmqx45b1f")) - (file-name (string-append name "-" version "-checkout")))) - (build-system cmake-build-system) - (arguments '(#:tests? #f)) ; No tests. - (native-inputs - `(("pkg-config" ,pkg-config))) - (inputs - `(("zeromq" ,zeromq))) - (home-page "http://zeromq.org") - (synopsis "C++ bindings for the ØMQ messaging library") - (description - "This package provides header-only C++ bindings for ØMQ. The header + (package + (name "cppzmq") + (version "4.6.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/zeromq/cppzmq") + (commit (string-append "v" version)))) + (sha256 + (base32 + "19acx2bzi4n6fdnfgkja1nds7m1bwg8lw5vfcijrx9fv75pa7m8h")) + (file-name (git-file-name name version)))) + (build-system cmake-build-system) + (arguments + '(;; FIXME: The test suite requires downloading Catch and custom + ;; CMake targets, and refuses to use the system version. + ;; See . + #:tests? #f + #:configure-flags '("-DCPPZMQ_BUILD_TESTS=OFF"))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("zeromq" ,zeromq))) + (home-page "http://zeromq.org") + (synopsis "C++ bindings for the ØMQ messaging library") + (description + "This package provides header-only C++ bindings for ØMQ. The header files contain direct mappings of the abstractions provided by the ØMQ C API.") - (license license:expat)))) + (license license:expat))) (define-public librdkafka (package @@ -550,7 +552,7 @@ (define-public iodine ("zlib" ,zlib))) (native-inputs `(("check" ,check) ("pkg-config" ,pkg-config))) - (home-page "http://code.kryo.se/iodine/") + (home-page "https://code.kryo.se/iodine/") (synopsis "Tunnel IPv4 data through a DNS server") (description "Iodine tunnels IPv4 data through a DNS server. This can be useful in different situations where internet access is firewalled, but @@ -2707,14 +2709,14 @@ (define-public iwd (define-public batctl (package (name "batctl") - (version "2019.5") + (version "2020.0") (source (origin (method url-fetch) (uri (string-append "https://downloads.open-mesh.org/batman/releases/batman-adv-" version "/batctl-" version ".tar.gz")) (sha256 - (base32 "1b9w4636dq8m38nzr8j0v0j3b0vdsw84c58c2isc33h66dx8brgz")))) + (base32 "01414ywhlb2b9ng9d5kd5rr1s7wzvi234j8hj6ra2spn92qykvv0")))) (inputs `(("libnl" ,libnl))) (native-inputs diff --git a/gnu/packages/nss.scm b/gnu/packages/nss.scm index 62bf09c517..e423bdd3a2 100644 --- a/gnu/packages/nss.scm +++ b/gnu/packages/nss.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Mark H Weaver ;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice +;;; Copyright © 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -34,7 +35,7 @@ (define-module (gnu packages nss) (define-public nspr (package (name "nspr") - (version "4.24") + (version "4.25") (source (origin (method url-fetch) (uri (string-append @@ -42,13 +43,14 @@ (define-public nspr version "/src/nspr-" version ".tar.gz")) (sha256 (base32 - "1l0ksiny032jijgk0g76wf0kiq673i01izj7jrs2h5d1yq6rm9ch")))) + "0mjjk2b7ika3v4y99cnaqz3z1iq1a50r1psn9i3s87gr46z0khqb")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl))) (arguments `(#:tests? #f ; no check target - #:configure-flags (list "--enable-64bit" + #:configure-flags (list "--disable-static" + "--enable-64bit" (string-append "LDFLAGS=-Wl,-rpath=" (assoc-ref %outputs "out") "/lib")) @@ -70,7 +72,7 @@ (define-public nspr (define-public nss (package (name "nss") - (version "3.49.1") + (version "3.50") (source (origin (method url-fetch) (uri (let ((version-with-underscores @@ -81,11 +83,17 @@ (define-public nss "nss-" version ".tar.gz"))) (sha256 (base32 - "0vh23g16ldvnsrn2dnvdl2i133kizi660r7ilb00vfq2kvj45anr")) + "19rv0vp9nmvn6dy29qsv8f4v7wn5kizrpm59vbszahsjfwcz6p8q")) ;; Create nss.pc and nss-config. (patches (search-patches "nss-pkgconfig.patch" - "nss-freebl-stubs.patch" - "nss-increase-test-timeout.patch")))) + "nss-increase-test-timeout.patch")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Delete the bundled copy of these libraries. + (delete-file-recursively "nss/lib/zlib") + (delete-file-recursively "nss/lib/sqlite") + #t)))) (build-system gnu-build-system) (outputs '("out" "bin")) (arguments @@ -130,7 +138,7 @@ (define-public nss ;; leading to test failures: ;; . To ;; work around that, set the time to roughly the release date. - (invoke "faketime" "2020-01-01" "./nss/tests/all.sh"))) + (invoke "faketime" "2020-02-01" "./nss/tests/all.sh"))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) diff --git a/gnu/packages/onc-rpc.scm b/gnu/packages/onc-rpc.scm index 7e424dd185..5849b8deb4 100644 --- a/gnu/packages/onc-rpc.scm +++ b/gnu/packages/onc-rpc.scm @@ -35,7 +35,7 @@ (define-module (gnu packages onc-rpc) (define-public libtirpc (package (name "libtirpc") - (version "1.1.4") + (version "1.2.5") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/libtirpc/libtirpc/" @@ -43,7 +43,7 @@ (define-public libtirpc version ".tar.bz2")) (sha256 (base32 - "07anqypf7c719x9y683qz65cxllmzlgmlab2hlahrqcj4bq2k99c")))) + "1jl6a5kkw2vrp4gb6pmvf72rqimywvwfb9f7iz2xjg4wgq63bdpk")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--disable-static") diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index ea15378780..e585848405 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2016 Jessica Tallon ;;; Copyright © 2016 Andreas Enge ;;; Copyright © 2016 Lukas Gradl -;;; Copyright © 2016, 2019 Alex Griffin +;;; Copyright © 2016, 2019, 2020 Alex Griffin ;;; Copyright © 2017 Leo Famulari ;;; Copyright © 2017, 2018 Clément Lassieur ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice @@ -46,6 +46,7 @@ (define-module (gnu packages password-utils) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (guix build-system go) #:use-module (guix build-system trivial) #:use-module (guix download) #:use-module (guix git-download) @@ -65,6 +66,7 @@ (define-module (gnu packages password-utils) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) #:use-module (gnu packages gnupg) + #:use-module (gnu packages golang) #:use-module (gnu packages gtk) #:use-module (gnu packages guile) #:use-module (gnu packages kerberos) @@ -697,6 +699,82 @@ (define-public rofi-pass @end enumerate") (license license:gpl3))) +(define-public browserpass-native + (package + (name "browserpass-native") + (version "3.0.6") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/browserpass/browserpass-native.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0q3bsla07zjl6i69nj1axbkg2ia89pvh0jg6nlqgbm2kpzzbn0pz")))) + (build-system go-build-system) + (arguments + `(#:import-path "github.com/browserpass/browserpass-native" + #:install-source? #f + #:phases + (modify-phases %standard-phases + (add-before 'build 'patch-makefile + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + ;; This doesn't go in #:make-flags because the Makefile itself + ;; gets installed. + (substitute* + "src/github.com/browserpass/browserpass-native/Makefile" + (("PREFIX \\?= /usr") + (string-append "PREFIX ?= " out))) + #t))) + (add-before 'build 'configure + (lambda _ + (with-directory-excursion + "src/github.com/browserpass/browserpass-native" + (invoke "make" "configure")) + #t)) + (replace 'build + (lambda _ + (with-directory-excursion + "src/github.com/browserpass/browserpass-native" + (invoke "make")) + #t)) + (replace 'install + (lambda _ + (with-directory-excursion + "src/github.com/browserpass/browserpass-native" + (invoke "make" "install")) + #t)) + (add-after 'install 'wrap-executable + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (gnupg (assoc-ref inputs "gnupg"))) + (wrap-program (string-append out "/bin/browserpass") + `("PATH" ":" prefix + (,(string-append gnupg "/bin")))) + #t)))))) + (native-inputs + `(("which" ,which))) + (inputs + `(("gnupg" ,gnupg) + ("go-github-com-mattn-go-zglob" ,go-github-com-mattn-go-zglob) + ("go-github-com-rifflock-lfshook" ,go-github-com-rifflock-lfshook) + ("go-github-com-sirupsen-logrus" ,go-github-com-sirupsen-logrus) + ("go-golang-org-x-sys" ,go-golang-org-x-sys))) + (home-page "https://github.com/browserpass/browserpass-native") + (synopsis "Browserpass native messaging host") + (description "Browserpass is a browser extension for pass, a +UNIX-based password store manager. It allows you to auto-fill or copy to +clipboard credentials for the current domain, protecting you from phishing +attacks. + +This package only contains the Browserpass native messaging host. You must +also install the browser extension for GNU IceCat or ungoogled-chromium +separately.") + (license license:isc))) + (define-public argon2 (package (name "argon2") diff --git a/gnu/packages/patches/bluez-CVE-2020-0556.patch b/gnu/packages/patches/bluez-CVE-2020-0556.patch new file mode 100644 index 0000000000..7c34459a3a --- /dev/null +++ b/gnu/packages/patches/bluez-CVE-2020-0556.patch @@ -0,0 +1,180 @@ +Fix CVE-2020-0556: + +https://lore.kernel.org/linux-bluetooth/20200310023516.209146-1-alainm@chromium.org/ +https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00352.html +http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-0556 + +Patches copied from upstream source repository: + +https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/?id=3cccdbab2324086588df4ccf5f892fb3ce1f1787 +https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/?id=8cdbd3b09f29da29374e2f83369df24228da0ad1 + +From 3cccdbab2324086588df4ccf5f892fb3ce1f1787 Mon Sep 17 00:00:00 2001 +From: Alain Michaud +Date: Tue, 10 Mar 2020 02:35:18 +0000 +Subject: [PATCH] HID accepts bonded device connections only. + +This change adds a configuration for platforms to choose a more secure +posture for the HID profile. While some older mice are known to not +support pairing or encryption, some platform may choose a more secure +posture by requiring the device to be bonded and require the +connection to be encrypted when bonding is required. + +Reference: +https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00352.html +--- + profiles/input/device.c | 23 ++++++++++++++++++++++- + profiles/input/device.h | 1 + + profiles/input/input.conf | 8 ++++++++ + profiles/input/manager.c | 13 ++++++++++++- + 4 files changed, 43 insertions(+), 2 deletions(-) + +diff --git a/profiles/input/device.c b/profiles/input/device.c +index 2cb3811c8..d89da2d7c 100644 +--- a/profiles/input/device.c ++++ b/profiles/input/device.c +@@ -92,6 +92,7 @@ struct input_device { + + static int idle_timeout = 0; + static bool uhid_enabled = false; ++static bool classic_bonded_only = false; + + void input_set_idle_timeout(int timeout) + { +@@ -103,6 +104,11 @@ void input_enable_userspace_hid(bool state) + uhid_enabled = state; + } + ++void input_set_classic_bonded_only(bool state) ++{ ++ classic_bonded_only = state; ++} ++ + static void input_device_enter_reconnect_mode(struct input_device *idev); + static int connection_disconnect(struct input_device *idev, uint32_t flags); + +@@ -970,8 +976,18 @@ static int hidp_add_connection(struct input_device *idev) + if (device_name_known(idev->device)) + device_get_name(idev->device, req->name, sizeof(req->name)); + ++ /* Make sure the device is bonded if required */ ++ if (classic_bonded_only && !device_is_bonded(idev->device, ++ btd_device_get_bdaddr_type(idev->device))) { ++ error("Rejected connection from !bonded device %s", dst_addr); ++ goto cleanup; ++ } ++ + /* Encryption is mandatory for keyboards */ +- if (req->subclass & 0x40) { ++ /* Some platforms may choose to require encryption for all devices */ ++ /* Note that this only matters for pre 2.1 devices as otherwise the */ ++ /* device is encrypted by default by the lower layers */ ++ if (classic_bonded_only || req->subclass & 0x40) { + if (!bt_io_set(idev->intr_io, &gerr, + BT_IO_OPT_SEC_LEVEL, BT_IO_SEC_MEDIUM, + BT_IO_OPT_INVALID)) { +@@ -1203,6 +1219,11 @@ static void input_device_enter_reconnect_mode(struct input_device *idev) + DBG("path=%s reconnect_mode=%s", idev->path, + reconnect_mode_to_string(idev->reconnect_mode)); + ++ /* Make sure the device is bonded if required */ ++ if (classic_bonded_only && !device_is_bonded(idev->device, ++ btd_device_get_bdaddr_type(idev->device))) ++ return; ++ + /* Only attempt an auto-reconnect when the device is required to + * accept reconnections from the host. + */ +diff --git a/profiles/input/device.h b/profiles/input/device.h +index 51a9aee18..3044db673 100644 +--- a/profiles/input/device.h ++++ b/profiles/input/device.h +@@ -29,6 +29,7 @@ struct input_conn; + + void input_set_idle_timeout(int timeout); + void input_enable_userspace_hid(bool state); ++void input_set_classic_bonded_only(bool state); + + int input_device_register(struct btd_service *service); + void input_device_unregister(struct btd_service *service); +diff --git a/profiles/input/input.conf b/profiles/input/input.conf +index 3e1d65aae..166aff4a4 100644 +--- a/profiles/input/input.conf ++++ b/profiles/input/input.conf +@@ -11,3 +11,11 @@ + # Enable HID protocol handling in userspace input profile + # Defaults to false (HIDP handled in HIDP kernel module) + #UserspaceHID=true ++ ++# Limit HID connections to bonded devices ++# The HID Profile does not specify that devices must be bonded, however some ++# platforms may want to make sure that input connections only come from bonded ++# device connections. Several older mice have been known for not supporting ++# pairing/encryption. ++# Defaults to false to maximize device compatibility. ++#ClassicBondedOnly=true +diff --git a/profiles/input/manager.c b/profiles/input/manager.c +index 1d31b0652..5cd27b839 100644 +--- a/profiles/input/manager.c ++++ b/profiles/input/manager.c +@@ -96,7 +96,7 @@ static int input_init(void) + config = load_config_file(CONFIGDIR "/input.conf"); + if (config) { + int idle_timeout; +- gboolean uhid_enabled; ++ gboolean uhid_enabled, classic_bonded_only; + + idle_timeout = g_key_file_get_integer(config, "General", + "IdleTimeout", &err); +@@ -114,6 +114,17 @@ static int input_init(void) + input_enable_userspace_hid(uhid_enabled); + } else + g_clear_error(&err); ++ ++ classic_bonded_only = g_key_file_get_boolean(config, "General", ++ "ClassicBondedOnly", &err); ++ ++ if (!err) { ++ DBG("input.conf: ClassicBondedOnly=%s", ++ classic_bonded_only ? "true" : "false"); ++ input_set_classic_bonded_only(classic_bonded_only); ++ } else ++ g_clear_error(&err); ++ + } + + btd_profile_register(&input_profile); +-- +2.25.1 + +From 8cdbd3b09f29da29374e2f83369df24228da0ad1 Mon Sep 17 00:00:00 2001 +From: Alain Michaud +Date: Tue, 10 Mar 2020 02:35:16 +0000 +Subject: [PATCH] HOGP must only accept data from bonded devices. + +HOGP 1.0 Section 6.1 establishes that the HOGP must require bonding. + +Reference: +https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00352.htm +--- + profiles/input/hog.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/profiles/input/hog.c b/profiles/input/hog.c +index 83c017dcb..dfac68921 100644 +--- a/profiles/input/hog.c ++++ b/profiles/input/hog.c +@@ -186,6 +186,10 @@ static int hog_accept(struct btd_service *service) + return -EINVAL; + } + ++ /* HOGP 1.0 Section 6.1 requires bonding */ ++ if (!device_is_bonded(device, btd_device_get_bdaddr_type(device))) ++ return -ECONNREFUSED; ++ + /* TODO: Replace GAttrib with bt_gatt_client */ + bt_hog_attach(dev->hog, attrib); + +-- +2.25.1 + diff --git a/gnu/packages/patches/nss-freebl-stubs.patch b/gnu/packages/patches/nss-freebl-stubs.patch deleted file mode 100644 index 3f7b47b029..0000000000 --- a/gnu/packages/patches/nss-freebl-stubs.patch +++ /dev/null @@ -1,20 +0,0 @@ -This patch is required for Makefile-based builds of NSS 3.45 on armhf-linux. - -Taken from upstream bug tracker: -https://bugzilla.mozilla.org/show_bug.cgi?id=1571316 - -diff --git a/nss/lib/freebl/ecl/curve25519_32.c b/nss/lib/freebl/ecl/curve25519_32.c ---- a/nss/lib/freebl/ecl/curve25519_32.c -+++ b/nss/lib/freebl/ecl/curve25519_32.c -@@ -29,6 +29,10 @@ - * 1. Convert custom integer types to stdint.h types - */ - -+#ifdef FREEBL_NO_DEPEND -+#include "../stubs.h" -+#endif -+ - #include "ecl-priv.h" - - /* fe means field element. Here the field is \Z/(2^255-19). An element t, - diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index c5001ff086..700968d60a 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -677,26 +677,14 @@ (define-public mupdf (define-public qpdf (package (name "qpdf") - (version "9.1.0") + (version "9.1.1") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/qpdf/qpdf/" version "/qpdf-" version ".tar.gz")) (sha256 (base32 - "0ygd80wxcmh613n04x2kmf8wlsl0drxyd5wwdcrm1rzj0xwvpfrs")) - (modules '((guix build utils))) - (snippet - ;; Replace shebang with the bi-lingual shell/Perl trick to remove - ;; dependency on Perl. - '(begin - (substitute* "qpdf/fix-qdf" - (("#!/usr/bin/env perl") - "\ -eval '(exit $?0)' && eval 'exec perl -wS \"$0\" ${1+\"$@\"}' - & eval 'exec perl -wS \"$0\" $argv:q' - if 0;\n")) - #t)))) + "0dj27wb9xg6pg95phbflfvy9rwxn1gh3kc4n175g0pf41r0zrim2")))) (build-system gnu-build-system) (arguments `(#:disallowed-references (,perl) diff --git a/gnu/packages/perl-check.scm b/gnu/packages/perl-check.scm index 9944c31305..67bdfd81c4 100644 --- a/gnu/packages/perl-check.scm +++ b/gnu/packages/perl-check.scm @@ -66,9 +66,9 @@ (define-public perl-mock-config lexically, just dynamically.") (license artistic2.0))) -(define-public perl-test2-bundle-extended +(define-public perl-test2-suite (package - (name "perl-test2-bundle-extended") + (name "perl-test2-suite") (version "0.000072") (source (origin @@ -88,7 +88,7 @@ (define-public perl-test2-bundle-extended `(("perl-importer" ,perl-importer) ("perl-term-table" ,perl-term-table) ("perl-sub-info" ,perl-sub-info))) - (home-page "https://metacpan.org/pod/Test2::Bundle::Extended") + (home-page "https://metacpan.org/pod/Test2-Suite") (synopsis "Full set of tools for Test2::Suite") (description "This package provides a rich set of tools, plugins, bundles, etc built upon the Test2 testing library.") @@ -107,8 +107,10 @@ (define-public perl-test2-plugin-nowarnings (base32 "002qk6qsm0l6r2kaxywvc38w0yf0mlavgywq8li076pn6kcw3242")))) (build-system perl-build-system) + (native-inputs + `(("perl-ipc-run3" ,perl-ipc-run3))) (propagated-inputs - `(("perl-test2-bundle-extended" ,perl-test2-bundle-extended))) + `(("perl-test2-suite" ,perl-test2-suite))) (home-page "https://metacpan.org/release/Test2-Plugin-NoWarnings") (synopsis "Fail if tests warn") (description "Loading this plugin causes your tests to fail if there any @@ -243,7 +245,6 @@ (define-public perl-test-cleannamespaces ("perl-test-requires" ,perl-test-requires) ("perl-test-deep" ,perl-test-deep) ("perl-test-warnings" ,perl-test-warnings) - ("perl-test-tester" ,perl-test-tester) ("perl-test-needs" ,perl-test-needs))) (propagated-inputs `(("perl-namespace-clean" ,perl-namespace-clean) @@ -349,8 +350,7 @@ (define-public perl-test-deep (base32 "1kdy06r0yg7zwarqglc9163vbfb0sfc4s6ld4pw5q7i9f7mghzi0")))) (build-system perl-build-system) - (inputs `(("perl-test-tester" ,perl-test-tester) - ("perl-test-nowarnings" ,perl-test-nowarnings))) + (inputs `(("perl-test-nowarnings" ,perl-test-nowarnings))) (synopsis "Flexible deep comparison for the Test::Builder framework") (description "Test::Deep compares two structures by going through each level, ensuring @@ -997,7 +997,6 @@ (define-public perl-test-nowarnings (base32 "0v385ch0hzz9naqwdw2az3zdqi15gka76pmiwlgsy6diiijmg2k3")))) (build-system perl-build-system) - (inputs `(("perl-test-tester" ,perl-test-tester))) (synopsis "Ensure no warnings are produced while testing") (description "This modules causes any warnings during testing to be captured and @@ -1045,7 +1044,6 @@ (define-public perl-test-output (build-system perl-build-system) (propagated-inputs `(("perl-capture-tiny" ,perl-capture-tiny) - ("perl-test-tester" ,perl-test-tester) ("perl-sub-exporter" ,perl-sub-exporter))) (synopsis "Utilities to test STDOUT and STDERR messages") (description @@ -1239,14 +1237,14 @@ (define-public perl-test-sharedfork (define-public perl-test-simple (package (name "perl-test-simple") - (version "1.302169") + (version "1.302171") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/EX/EXODIST/" "Test-Simple-" version ".tar.gz")) (sha256 (base32 - "08y7b817045w9bc1k9y01l5shl162q9fdc2g5qf7ny0gdxvh85s1")))) + "12in730hr51h42dwd3c5k7ysyp0xyk17583mfvx6zg56nb990zz2")))) (build-system perl-build-system) (synopsis "Basic utilities for writing tests") (description @@ -1341,8 +1339,7 @@ (define-public perl-test-trap `(("perl-module-build" ,perl-module-build) ("perl-test-simple" ,perl-test-simple))) (propagated-inputs - `(("perl-test-tester" ,perl-test-tester) - ("perl-data-dump" ,perl-data-dump))) + `(("perl-data-dump" ,perl-data-dump))) (home-page "https://metacpan.org/release/Test-Trap") (synopsis "Trap exit codes, exceptions, output, and so on") (description "This module is primarily (but not exclusively) for use in diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 8ebefa86b9..211e7f51ad 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -4674,15 +4674,15 @@ (define-public perl-ipc-sharelite (define-public perl-ipc-system-simple (package (name "perl-ipc-system-simple") - (version "1.25") + (version "1.26") (source (origin (method url-fetch) (uri (string-append - "mirror://cpan/authors/id/P/PJ/PJF/IPC-System-Simple-" + "mirror://cpan/authors/id/J/JK/JKEENAN/IPC-System-Simple-" version ".tar.gz")) (sha256 (base32 - "0fsdb81shjj4hifyyzvj7vpkhq5jrfhlcpw2xbjfi1mqz8fsmdpi")))) + "1zb5ni8ikaq6s60amwdsq69nz8gxl484yiga6ax5nqp8v0hpy5sp")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/IPC-System-Simple") (synopsis "Run commands simply, with detailed diagnostics") @@ -7192,8 +7192,8 @@ (define-public perl-params-validationcompiler (native-inputs ;; For tests. `(("perl-test-without-module" ,perl-test-without-module) - ("perl-test2-bundle-extended" ,perl-test2-bundle-extended) ("perl-test2-plugin-nowarnings" ,perl-test2-plugin-nowarnings) + ("perl-test2-suite" ,perl-test2-suite) ("perl-type-tiny" ,perl-type-tiny))) (propagated-inputs `(("perl-eval-closure" ,perl-eval-closure) @@ -8578,7 +8578,7 @@ (define-public perl-term-progressbar-simple (define-public perl-term-readkey (package (name "perl-term-readkey") - (version "2.37") + (version "2.38") (source (origin (method url-fetch) @@ -8586,7 +8586,7 @@ (define-public perl-term-readkey "TermReadKey-" version ".tar.gz")) (sha256 (base32 - "0hdj5mldpj3pyprd4hbbalfx9yjgi5p59gg2ixk9808f5v7q74sa")))) + "143jlibah1g14bym7sj3gphvqkpj1w4vn7sqc4vc62jpviw5hr2s")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/TermReadKey") (synopsis "Simple terminal control") diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm index f71e2824f1..7a7f30e255 100644 --- a/gnu/packages/plotutils.scm +++ b/gnu/packages/plotutils.scm @@ -194,14 +194,14 @@ (define-public ploticus (define-public asymptote (package (name "asymptote") - (version "2.62") - (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/asymptote/" - version "/asymptote-" version ".src.tgz")) - (sha256 - (base32 - "0510vnlpfyrvshsxr5lh3klwyhmn2cf4ba1ja476mbv5dcqqbc30")))) + (version "2.64") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/asymptote/" + version "/asymptote-" version ".src.tgz")) + (sha256 + (base32 "1x4nmzklzd2xfmm03mgnpg0345dwrwr5czk9gkfl5sx7x1cgx4c0")))) (build-system gnu-build-system) ;; Note: The 'asy' binary retains a reference to docdir for use with its ;; "help" command in interactive mode, so adding a "doc" output is not diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index d294e43d45..07c1ceb2db 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -1834,7 +1834,7 @@ (define-public python-cookies `(;; test are broken: https://gitlab.com/sashahart/cookies/issues/3 #:tests? #f)) (native-inputs - `(("python-pytest" ,python2-pytest))) + `(("python-pytest" ,python-pytest))) (synopsis "HTTP cookie parser and renderer") (description "A RFC 6265-compliant HTTP cookie parser and renderer in Python.") diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 50d1f4296f..6a191f6f64 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -19,7 +19,7 @@ ;;; Copyright © 2015, 2016 Chris Marusich ;;; Copyright © 2016 Danny Milosavljevic ;;; Copyright © 2016 Lukas Gradl -;;; Copyright © 2016, 2018-2019 Hartmut Goebel +;;; Copyright © 2016, 2018, 2019 Hartmut Goebel ;;; Copyright © 2016 Daniel Pimentel ;;; Copyright © 2016 Sou Bunnbu ;;; Copyright © 2016, 2017 Troy Sankey @@ -28,7 +28,6 @@ ;;; Copyright © 2016 David Craven ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Marius Bakke ;;; Copyright © 2016, 2017 Stefan Reichör -;;; Copyright © 2016 Dylan Jeffers ;;; Copyright © 2016, 2017, 2019 Alex Vong ;;; Copyright © 2016, 2017, 2018 Arun Isaac ;;; Copyright © 2016, 2017, 2018, 2020 Julien Lepiller @@ -327,14 +326,14 @@ (define-public python2-clyent (define-public python-babel (package (name "python-babel") - (version "2.7.0") + (version "2.8.0") (source (origin (method url-fetch) (uri (pypi-uri "Babel" version)) (sha256 (base32 - "0a7wawx8vsg7igvz6p3x909fskhg4b2y1910xk4f4c8y22p3aqg8")))) + "0f0f2vvs1mpdpz2c0mg1mnc3sih8bizmc1h9m67kdsnqs3i2mb0s")))) (build-system python-build-system) (native-inputs `(("python-freezegun" ,python-freezegun) @@ -2398,14 +2397,14 @@ (define-public python-vine (define-public python-virtualenv (package (name "python-virtualenv") - (version "20.0.8") + (version "20.0.10") (source (origin (method url-fetch) (uri (pypi-uri "virtualenv" version)) (sha256 (base32 - "096r7g5cv85vxymg9iqbn5z749613snlvd6p3rf1nxnrd386j0qz")))) + "0y6x41l3ja891993i4adylbbyly0r4m52n2d0a0y9y4h3lzyh4l5")))) (build-system python-build-system) (native-inputs `(("python-mock" ,python-mock) @@ -2426,10 +2425,39 @@ (define-public python-virtualenv (synopsis "Virtual Python environment builder") (description "Virtualenv is a tool to create isolated Python environments.") + (properties `((python2-variant . ,(delay python2-virtualenv)))) (license license:expat))) (define-public python2-virtualenv - (package-with-python2 python-virtualenv)) + (let ((base (package-with-python2 (strip-python2-variant python-virtualenv)))) + (package + (inherit base) + (arguments + `(#:python ,python-2 + #:phases + (modify-phases %standard-phases + (add-after 'set-paths 'adjust-PYTHONPATH + (lambda* (#:key inputs #:allow-other-keys) + (let* ((python (assoc-ref inputs "python")) + (python-sitedir (string-append python "/lib/python2.7" + "/site-packages"))) + ;; XXX: 'python2' always comes first on PYTHONPATH + ;; and shadows the 'setuptools' input. Move python2 + ;; last: this should be fixed in python-build-system + ;; in a future rebuild cycle. + (setenv "PYTHONPATH" + (string-append (string-join (delete python-sitedir + (string-split + (getenv "PYTHONPATH") + #\:)) + ":") + ":" python-sitedir)) + (format #t "environment variable `PYTHONPATH' changed to `~a'~%" + (getenv "PYTHONPATH")) + #t)))))) + (propagated-inputs + `(("python-contextlib2" ,python2-contextlib2) + ,@(package-propagated-inputs base)))))) (define-public python-markupsafe (package @@ -2474,15 +2502,29 @@ (define-public python2-markupsafe (define-public python-jinja2 (package (name "python-jinja2") - (version "2.10.1") + (version "2.11.1") (source (origin (method url-fetch) (uri (pypi-uri "Jinja2" version)) (sha256 (base32 - "04shqrs56aj04ipyqykj512rw2l0zfammvj9krawzxz7xc14yp06")))) + "0l72c11n959yzb8d3ankckb6yhjhm6x729zm7rkpk040qzxpy64k")))) (build-system python-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (begin + (setenv "PYTHONPATH" + (string-append "./build/lib:" + (getenv "PYTHONPATH"))) + (invoke "pytest" "-vv")) + (format #t "test suite not run~%")) + #t))))) + (native-inputs + `(("python-pytest" ,python-pytest))) (propagated-inputs `(("python-markupsafe" ,python-markupsafe))) (home-page "http://jinja.pocoo.org/") @@ -2659,17 +2701,23 @@ (define-public python-anytree (define-public python-docutils (package (name "python-docutils") - (version "0.14") + (version "0.16") (source (origin (method url-fetch) (uri (pypi-uri "docutils" version)) (sha256 (base32 - "0x22fs3pdmr42kvz6c654756wja305qv6cx1zbhwlagvxgr4xrji")))) + "1z3qliszqca9m719q3qhdkh0ghh90g500avzdgi7pl77x5h3mpn2")))) (build-system python-build-system) (arguments - '(#:tests? #f)) ; no setup.py test command + '(#:phases (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (invoke "python" "test/alltests.py") + (format #t "test suite not run~%")) + #t))))) (home-page "http://docutils.sourceforge.net/") (synopsis "Python Documentation Utilities") (description @@ -2683,6 +2731,18 @@ (define-public python-docutils (define-public python2-docutils (package-with-python2 python-docutils)) +;; python2-sphinx fails its test suite with newer versions. +(define-public python2-docutils-0.14 + (package + (inherit python2-docutils) + (version "0.14") + (source (origin + (method url-fetch) + (uri (pypi-uri "docutils" version)) + (sha256 + (base32 + "0x22fs3pdmr42kvz6c654756wja305qv6cx1zbhwlagvxgr4xrji")))))) + (define-public python-pygments (package (name "python-pygments") @@ -3346,14 +3406,14 @@ (define-public mallard-ducktype (define-public python-cython (package (name "python-cython") - (version "0.29.13") + (version "0.29.15") (source (origin (method url-fetch) (uri (pypi-uri "Cython" version)) (sha256 (base32 - "13k37lrcgagwwnzr5bzririsscb793vndj234d475x1h9ad0d7f2")))) + "0c5cjyxfvba6c0vih1fvhywp8bpz30vwvbjqdm1q1k55xzhmkn30")))) (build-system python-build-system) ;; we need the full python package and not just the python-wrapper ;; because we need libpython3.3m.so @@ -3365,24 +3425,6 @@ (define-public python-cython (add-before 'check 'set-HOME ;; some tests require access to "$HOME/.cython" (lambda _ (setenv "HOME" "/tmp") #t)) - - ;; FIXME: These tests started failing on armhf after the 0.28 update - ;; (commit c69d11c5930), both with an error such as this: - ;; compiling (cpp) and running dictcomp ... - ;; === C/C++ compiler error output: === - ;; ‘ - ;; dictcomp.cpp:5221: confused by earlier errors, bailing out - ;; See for logs. - ,@(if (target-arm32?) - `((add-before 'check 'disable-failing-tests - (lambda _ - (let ((disabled-tests (open-file "tests/bugs.txt" "a"))) - (for-each (lambda (test) - (format disabled-tests "~a\n" test)) - '("memslice" "dictcomp")) - (close-port disabled-tests))))) - '()) - (replace 'check (lambda _ ;; Disable compiler optimizations to greatly reduce the running @@ -4388,18 +4430,37 @@ (define-public python2-pycodestyle (define-public python-multidict (package (name "python-multidict") - (version "4.2.0") + (version "4.7.5") (source (origin (method url-fetch) (uri (pypi-uri "multidict" version)) (sha256 (base32 - "1vf5bq8hn5a9rvhr5v4fwbmarfsp35hhr8gs74kqfijy34j2f194")))) + "07ikq2c72kd263hpldw55y0px2l3g34hjk66ml9lryh1jv287qmf")))) (build-system python-build-system) + (arguments + '(#:modules ((ice-9 ftw) + (srfi srfi-1) + (srfi srfi-26) + (guix build utils) + (guix build python-build-system)) + #:phases (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (begin + (let ((libdir (find (cut string-prefix? "lib." <>) + (scandir "build")))) + (setenv "PYTHONPATH" + (string-append "./build/" libdir ":" + (getenv "PYTHONPATH"))) + (invoke "pytest" "-vv"))) + (format #t "test suite not run~%")) + #t))))) (native-inputs `(("python-pytest" ,python-pytest) - ("python-pytest-runner" ,python-pytest-runner))) + ("python-pytest-cov" ,python-pytest-cov))) (home-page "https://github.com/aio-libs/multidict/") (synopsis "Multidict implementation") (description "Multidict is dict-like collection of key-value pairs @@ -5507,36 +5568,34 @@ (define-public python-ipykernel (synopsis "IPython Kernel for Jupyter") (description "This package provides the IPython kernel for Jupyter.") + (properties `((python2-variant . ,(delay python2-ipykernel)))) (license license:bsd-3))) -;; Version 5.1.1 and above no longer support Python 2. +;; Version 5.x and above no longer support Python 2. (define-public python2-ipykernel (package (name "python2-ipykernel") - (version "5.1.0") + (version "4.10.1") (source (origin (method url-fetch) (uri (pypi-uri "ipykernel" version)) (sha256 - (base32 "0br95qhrd5k65g10djngiy27hs0642301hlf2q142i8djabvzh0g")))) + (base32 "1yzmdiy1djsszqp54jzd8ym8h4hpl67zjq83j2kxbkp0rwmlpdzf")))) (build-system python-build-system) (arguments - `(#:python ,python-2 - #:phases - (modify-phases %standard-phases - (replace 'check - (lambda _ - (setenv "HOME" "/tmp") - (invoke "pytest" "-v") - #t))))) + `(#:python ,python-2)) (propagated-inputs `(("python2-ipython" ,python2-ipython) ;; imported at runtime during connect - ("python2-jupyter-client" ,python2-jupyter-client))) + ("python2-jupyter-client" ,python2-jupyter-client) + ("python2-tornado" ,python2-tornado) + ("python2-traitlets" ,python2-traitlets))) (native-inputs - `(("python2-pytest" ,python2-pytest) - ("python2-nose" ,python2-nose))) + `(("python2-mock" ,python2-mock) + ("python2-nose" ,python2-nose) + ("python2-pytest" ,python2-pytest) + ("python2-pytest-cov" ,python2-pytest-cov))) (home-page "https://ipython.org") (synopsis "IPython Kernel for Jupyter") (description @@ -5590,69 +5649,6 @@ (define-public python-backcall callback signature using a prototype function.") (license license:bsd-3))) -;; This is the latest release of the LTS version of ipython with support for -;; Python 2.7 and Python 3.x. Later non-LTS versions starting from 6.0 have -;; dropped support for Python 2.7. -(define-public python2-ipython - (package - (name "python2-ipython") - (version "5.8.0") - (source - (origin - (method url-fetch) - (uri (pypi-uri "ipython" version ".tar.gz")) - (sha256 - (base32 "01l93i4hspf0lvhmycvc8j378bslm9rw30mwfspsl6v1ayc69b2b")))) - (build-system python-build-system) - (propagated-inputs - `(("python2-backports-shutil-get-terminal-size" - ,python2-backports-shutil-get-terminal-size) - ("python2-pathlib2" ,python2-pathlib2) - ("python2-pyzmq" ,python2-pyzmq) - ("python2-prompt-toolkit" ,python2-prompt-toolkit-1) - ("python2-terminado" ,python2-terminado) - ("python2-matplotlib" ,python2-matplotlib) - ("python2-numpy" ,python2-numpy) - ("python2-numpydoc" ,python2-numpydoc) - ("python2-jinja2" ,python2-jinja2) - ("python2-mistune" ,python2-mistune) - ("python2-pexpect" ,python2-pexpect) - ("python2-pickleshare" ,python2-pickleshare) - ("python2-simplegeneric" ,python2-simplegeneric) - ("python2-jsonschema" ,python2-jsonschema) - ("python2-traitlets" ,python2-traitlets) - ("python2-nbformat" ,python2-nbformat) - ("python2-pygments" ,python2-pygments))) - (inputs - `(("readline" ,readline) - ("which" ,which))) - (native-inputs - `(("graphviz" ,graphviz) - ("pkg-config" ,pkg-config) - ("python2-requests" ,python2-requests) ;; for tests - ("python2-testpath" ,python2-testpath) - ("python2-mock" ,python2-mock) - ("python2-nose" ,python2-nose))) - (arguments - `(#:python ,python-2 - #:phases - (modify-phases %standard-phases - (add-before 'check 'delete-broken-tests - (lambda* (#:key inputs #:allow-other-keys) - ;; These tests throw errors for unknown reasons. - (delete-file "IPython/core/tests/test_profile.py") - (delete-file "IPython/core/tests/test_interactiveshell.py") - (delete-file "IPython/core/tests/test_magic.py") - #t))))) - (home-page "https://ipython.org") - (synopsis "IPython is a tool for interactive computing in Python") - (description - "IPython provides a rich architecture for interactive computing with: -Powerful interactive shells, a browser-based notebook, support for interactive -data visualization, embeddable interpreters and tools for parallel -computing.") - (license license:bsd-3))) - (define-public python-ipython (package (name "python-ipython") @@ -5735,6 +5731,70 @@ (define-public python-ipython "IPython provides a rich architecture for interactive computing with: Powerful interactive shells, a browser-based notebook, support for interactive data visualization, embeddable interpreters and tools for parallel +computing.") + (properties `((python2-variant . ,(delay python2-ipython)))) + (license license:bsd-3))) + +;; This is the latest release of the LTS version of ipython with support for +;; Python 2.7 and Python 3.x. Later non-LTS versions starting from 6.0 have +;; dropped support for Python 2.7. +(define-public python2-ipython + (package + (name "python2-ipython") + (version "5.8.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "ipython" version ".tar.gz")) + (sha256 + (base32 "01l93i4hspf0lvhmycvc8j378bslm9rw30mwfspsl6v1ayc69b2b")))) + (build-system python-build-system) + (propagated-inputs + `(("python2-backports-shutil-get-terminal-size" + ,python2-backports-shutil-get-terminal-size) + ("python2-pathlib2" ,python2-pathlib2) + ("python2-pyzmq" ,python2-pyzmq) + ("python2-prompt-toolkit" ,python2-prompt-toolkit-1) + ("python2-terminado" ,python2-terminado) + ("python2-matplotlib" ,python2-matplotlib) + ("python2-numpy" ,python2-numpy) + ("python2-numpydoc" ,python2-numpydoc) + ("python2-jinja2" ,python2-jinja2) + ("python2-mistune" ,python2-mistune) + ("python2-pexpect" ,python2-pexpect) + ("python2-pickleshare" ,python2-pickleshare) + ("python2-simplegeneric" ,python2-simplegeneric) + ("python2-jsonschema" ,python2-jsonschema) + ("python2-traitlets" ,python2-traitlets) + ("python2-nbformat" ,python2-nbformat) + ("python2-pygments" ,python2-pygments))) + (inputs + `(("readline" ,readline) + ("which" ,which))) + (native-inputs + `(("graphviz" ,graphviz) + ("pkg-config" ,pkg-config) + ("python2-requests" ,python2-requests) ;; for tests + ("python2-testpath" ,python2-testpath) + ("python2-mock" ,python2-mock) + ("python2-nose" ,python2-nose))) + (arguments + `(#:python ,python-2 + #:phases + (modify-phases %standard-phases + (add-before 'check 'delete-broken-tests + (lambda* (#:key inputs #:allow-other-keys) + ;; These tests throw errors for unknown reasons. + (delete-file "IPython/core/tests/test_displayhook.py") + (delete-file "IPython/core/tests/test_magic_terminal.py") + (delete-file "IPython/core/tests/test_profile.py") + #t))))) + (home-page "https://ipython.org") + (synopsis "IPython is a tool for interactive computing in Python") + (description + "IPython provides a rich architecture for interactive computing with: +Powerful interactive shells, a browser-based notebook, support for interactive +data visualization, embeddable interpreters and tools for parallel computing.") (license license:bsd-3))) @@ -8164,6 +8224,7 @@ (define-public python-jupyter-console (description "This package provides a terminal-based console frontend for Jupyter kernels. It also allows for console-based interaction with non-Python Jupyter kernels such as IJulia and IRKernel.") + (properties `((python2-variant . ,(delay python2-jupyter-console)))) (license license:bsd-3))) (define-public python2-jupyter-console @@ -8178,8 +8239,9 @@ (define-public python2-jupyter-console (base32 "1kam1qzgwr7srhm5r6aj90di5sws4bq0jmiw15452ddamb9yspal")))) (build-system python-build-system) - ;; Tests only run in an TTY. - (arguments `(#:tests? #f)) + (arguments + `(#:python ,python-2 + #:tests? #f)) ; Tests only run in a TTY. (propagated-inputs `(("python2-ipykernel" ,python2-ipykernel) ("python2-jupyter-client" ,python2-jupyter-client) @@ -8520,14 +8582,14 @@ (define-public python-argparse-manpage (define-public python-contextlib2 (package (name "python-contextlib2") - (version "0.5.5") + (version "0.6.0.post1") (source (origin (method url-fetch) (uri (pypi-uri "contextlib2" version)) (sha256 (base32 - "0j6ad6lwwyc9kv71skj098v5l7x5biyj2hs4lc5x1kcixqcr97sh")))) + "0bhnr2ac7wy5l85ji909gyljyk85n92w8pdvslmrvc8qih4r1x01")))) (build-system python-build-system) (home-page "https://contextlib2.readthedocs.org/") (synopsis "Tools for decorators and context managers") @@ -9223,14 +9285,14 @@ (define-public python2-xdo (define-public python-mako (package (name "python-mako") - (version "1.1.0") + (version "1.1.1") (source (origin (method url-fetch) (uri (pypi-uri "Mako" version)) (sha256 (base32 - "0jqa3qfpykyn4fmkn0kh6043sfls7br8i2bsdbccazcvk9cijsd3")))) + "193mds7lv91pphnvn6c1n55rhjkgq94asdzgrsb2fiqx7rrsd119")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -10776,26 +10838,24 @@ (define-public python2-cleo (define-public python-tomlkit (package (name "python-tomlkit") - (version "0.5.8") + (version "0.5.11") (source (origin (method url-fetch) (uri (pypi-uri "tomlkit" version)) (sha256 - (base32 - "0sf2a4q61kf344hjbw8kb6za1hlccl89j9lzqw0l2zpddp0hrh9j")))) + (base32 "1kq1663iqxgwrmb883n55ypi5axnixla2hrby9g2x227asifsi7h")))) (build-system python-build-system) (native-inputs `(("python-pytest" ,python-pytest))) - (home-page - "https://github.com/sdispater/tomlkit") - (synopsis "Style preserving TOML library") + (home-page "https://github.com/sdispater/tomlkit") + (synopsis "Style-preserving TOML library") (description "TOML Kit is a 0.5.0-compliant TOML library. It includes a parser that preserves all comments, indentations, whitespace and internal element ordering, and makes them accessible and editable via an intuitive API. It can also create new TOML documents from scratch using the provided helpers. Part of the -implementation as been adapted, improved and fixed from Molten.") +implementation has been adapted, improved, and fixed from Molten.") (license license:expat))) (define-public python-shellingham @@ -11856,13 +11916,13 @@ (define-public python-nautilus (define-public python-snowballstemmer (package (name "python-snowballstemmer") - (version "1.2.1") + (version "2.0.0") (source (origin (method url-fetch) (uri (pypi-uri "snowballstemmer" version)) (sha256 (base32 - "0a0idq4y5frv7qsg2x62jd7rd272749xk4x99misf5rcifk2d7wi")))) + "0ligk61idlz8kkgd5hpip5whm172riwglb6xydii7h62yhysqfyz")))) (build-system python-build-system) (arguments `(;; No tests exist @@ -12047,14 +12107,14 @@ (define-public python2-pyev (define-public python-imagesize (package (name "python-imagesize") - (version "1.1.0") + (version "1.2.0") (source (origin (method url-fetch) (uri (pypi-uri "imagesize" version)) (sha256 (base32 - "1dg3wn7qpwmhgqc0r9na2ding1wif9q5spz3j9zn2riwphc2k0zk")))) + "1cd24x0vqbd6c8ym1n21qc0aj54mfb7rzdqglmwk9xxixajbbxmi")))) (build-system python-build-system) (home-page "https://github.com/shibukawa/imagesize_py") (synopsis "Gets image size of files in various formats in Python") @@ -13516,10 +13576,17 @@ (define-public python-radon @item Halstead metrics (all of them) @item the Maintainability Index (a Visual Studio metric) @end itemize") + (properties `((python2-variant . ,(delay python2-radon)))) (license license:expat))) (define-public python2-radon - (package-with-python2 python-radon)) + (let ((base (package-with-python2 (strip-python2-variant python-radon)))) + (package + (inherit base) + (propagated-inputs + `(("python-configparser" ,python2-configparser) + ("python-future" ,python2-future) + ,@(package-propagated-inputs base)))))) (define-public python-sure (package diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index d5fcf5d520..2d70e133d5 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -351,7 +351,8 @@ (define-public qtbase (base32 "0pb68d30clksdhgy8n6rrs838bb3qcsfq4pv463yy2nr4p5kk2di")) ;; Use TZDIR to avoid depending on package "tzdata". - (patches (search-patches "qtbase-use-TZDIR.patch")) + (patches (search-patches "qtbase-use-TZDIR.patch" + "qtbase-QTBUG-81715.patch")) (modules '((guix build utils))) (snippet ;; corelib uses bundled harfbuzz, md4, md5, sha3 @@ -598,24 +599,9 @@ (define-public qtbase developers using C++ or QML, a CSS & JavaScript like language.") (license (list license:lgpl2.1 license:lgpl3)))) -;; This variant fixes a problem with the CMake macros shipped by qtbase. See -;; discussion at . -(define-public qtbase-patched - (let ((src (package-source qtbase))) - (hidden-package - (package - (inherit qtbase) - (source - (origin - (inherit src) - (patches - (append (search-patches "qtbase-QTBUG-81715.patch") - (origin-patches src))))))))) - ;; qt used to refer to the monolithic Qt 5.x package (define-deprecated qt qtbase) - (define-public qtsvg (package (inherit qtbase) (name "qtsvg") diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 34fee29887..0e7d35f44f 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -3410,7 +3410,7 @@ (define-public ruby-minitest-rg (synopsis "Coloured output for Minitest") (description "@code{minitest-rg} changes the colour of the output from Minitest.") - (home-page "http://blowmage.com/minitest-rg") + (home-page "https://blowmage.com/minitest-rg/") (license license:expat))) (define-public ruby-minitest-hooks diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index 90fbabdabb..3605cef7a4 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -801,7 +801,7 @@ (define-public scm (inputs `(("slib" ,slib))) (native-inputs `(("unzip" ,unzip) ("texinfo" ,texinfo))) - (home-page "http://people.csail.mit.edu/jaffer/SCM") + (home-page "https://people.csail.mit.edu/jaffer/SCM") (synopsis "Scheme implementation conforming to R5RS and IEEE P1178") (description "GNU SCM is an implementation of Scheme. This implementation includes Hobbit, a Scheme-to-C compiler, which can diff --git a/gnu/packages/search.scm b/gnu/packages/search.scm index e8a72fa935..a87e1e74b6 100644 --- a/gnu/packages/search.scm +++ b/gnu/packages/search.scm @@ -249,7 +249,7 @@ (define-public hyperestraier `(#:configure-flags (list (string-append "LDFLAGS=-Wl,-rpath=" (assoc-ref %outputs "out") "/lib")))) - (home-page "http://fallabs.com/hyperestraier") + (home-page "https://fallabs.com/hyperestraier") (synopsis "Full-text search system") (description "Hyper Estraier can be used to integrate full-text search into applications, using either the provided command line and CGI diff --git a/gnu/packages/skarnet.scm b/gnu/packages/skarnet.scm index 829af9d000..31768c814e 100644 --- a/gnu/packages/skarnet.scm +++ b/gnu/packages/skarnet.scm @@ -30,14 +30,14 @@ (define-module (gnu packages skarnet) (define-public skalibs (package (name "skalibs") - (version "2.9.1.0") + (version "2.9.2.0") (source (origin (method url-fetch) - (uri (string-append "http://skarnet.org/software/skalibs/skalibs-" + (uri (string-append "https://skarnet.org/software/skalibs/skalibs-" version ".tar.gz")) (sha256 - (base32 "19c6s3f7vxi96l2yqzjk9x9i4xkfg4fdzxhn1jg6bfb2qjph9cnk")))) + (base32 "1i9d7w031kh338aq6xdsf8vl5amxbwxbny8lnrxlzydqvn8nxhz4")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; no tests exist @@ -62,14 +62,14 @@ (define-public skalibs (define-public execline (package (name "execline") - (version "2.5.1.0") + (version "2.6.0.0") (source (origin (method url-fetch) - (uri (string-append "http://skarnet.org/software/execline/execline-" + (uri (string-append "https://skarnet.org/software/execline/execline-" version ".tar.gz")) (sha256 - (base32 "0xr6yb50wm6amj1wc7jmxyv7hvlx2ypbnww1vc288j275625d9xi")))) + (base32 "1m6pvawxqaqjr49456vyjyl8dnqwvr19v77sjj7dnglfijwza5al")))) (build-system gnu-build-system) (inputs `(("skalibs" ,skalibs))) (arguments @@ -104,14 +104,14 @@ (define-public execline (define-public s6 (package (name "s6") - (version "2.9.0.1") + (version "2.9.1.0") (source (origin (method url-fetch) - (uri (string-append "http://skarnet.org/software/s6/s6-" + (uri (string-append "https://skarnet.org/software/s6/s6-" version ".tar.gz")) (sha256 - (base32 "0mvcjrz8nlj9p2zclmcv22b4y6bqzd2iz38arhgc989vdvrbmkg0")))) + (base32 "1xqzl2wnvcmcyhppk7mc10h1ac7fkik3i6gpyliwpf3d5i9mkqh5")))) (build-system gnu-build-system) (inputs `(("skalibs" ,skalibs) ("execline" ,execline))) @@ -150,14 +150,14 @@ (define-public s6 (define-public s6-dns (package (name "s6-dns") - (version "2.3.1.1") + (version "2.3.2.0") (source (origin (method url-fetch) - (uri (string-append "http://skarnet.org/software/s6-dns/s6-dns-" + (uri (string-append "https://skarnet.org/software/s6-dns/s6-dns-" version ".tar.gz")) (sha256 - (base32 "0clib10dk3r9rcxv1yfr6gdvqqrx0arzivjpmhz9p8xaif53wpj1")))) + (base32 "09hyb1xv9glqq0yy7wy8hiwvlr78kwv552pags8ancgamag15di7")))) (build-system gnu-build-system) (inputs `(("skalibs" ,skalibs))) (arguments @@ -183,7 +183,7 @@ (define-public s6-networking (source (origin (method url-fetch) - (uri (string-append "http://skarnet.org/software/s6-networking/s6-networking-" + (uri (string-append "https://skarnet.org/software/s6-networking/s6-networking-" version ".tar.gz")) (sha256 (base32 "1029bgwfmv903y5ji93j75m7p2jgchdxya1khxzb42q2z7yxnlyr")))) @@ -226,7 +226,7 @@ (define-public s6-rc (source (origin (method url-fetch) - (uri (string-append "http://skarnet.org/software/s6-rc/s6-rc-" + (uri (string-append "https://skarnet.org/software/s6-rc/s6-rc-" version ".tar.gz")) (sha256 (base32 "18m8jsx3bkj566p6xwwnsvdckk10n8wqnhp0na2k88i295h4rnjp")))) @@ -268,7 +268,7 @@ (define-public s6-portable-utils (origin (method url-fetch) (uri (string-append - "http://skarnet.org/software/s6-portable-utils/s6-portable-utils-" + "https://skarnet.org/software/s6-portable-utils/s6-portable-utils-" version ".tar.gz")) (sha256 (base32 "1k3la37q46n93vjwk9wm9ym4w87z6lqzv43f03qd0vqj9k94mpv3")))) @@ -300,7 +300,7 @@ (define-public s6-linux-init (origin (method url-fetch) (uri (string-append - "http://skarnet.org/software/s6-linux-init/s6-linux-init-" + "https://skarnet.org/software/s6-linux-init/s6-linux-init-" version ".tar.gz")) (sha256 (base32 "176mgkqxlp6gb6my66dv73xsp7adfxbjp5hjyh35sykqkr4kfyfy")))) @@ -345,7 +345,7 @@ (define-public s6-linux-utils (origin (method url-fetch) (uri (string-append - "http://skarnet.org/software/s6-linux-utils/s6-linux-utils-" + "https://skarnet.org/software/s6-linux-utils/s6-linux-utils-" version ".tar.gz")) (sha256 (base32 "0w4jms9qyb5kx9zcyd3gzri60rrii2rbmh08s59ckg4awy27py86")))) diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm index 323d5b4457..ff5d8e5de7 100644 --- a/gnu/packages/sphinx.scm +++ b/gnu/packages/sphinx.scm @@ -137,7 +137,7 @@ (define-public python2-sphinx ,python2-sphinx-alabaster-theme) ("python2-babel" ,python2-babel-2.6) ("python2-snowballstemmer" ,python2-snowballstemmer) - ("python2-docutils" ,python2-docutils) + ("python2-docutils" ,python2-docutils-0.14) ("python2-jinja2" ,python2-jinja2) ("python2-packaging" ,python2-packaging) ("python2-pygments" ,python2-pygments) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index ef95a5612e..4537f3eaea 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus ;;; Copyright © 2015 Vicente Vera Parra ;;; Copyright © 2016 Andreas Enge ;;; Copyright © 2016, 2017, 2019 Efraim Flashner @@ -1983,20 +1983,21 @@ (define-public r-ade4 (define-public r-xml2 (package (name "r-xml2") - (version "1.2.2") + (version "1.2.5") (source (origin (method url-fetch) (uri (cran-uri "xml2" version)) (sha256 (base32 - "1x3q3a0xv8j0nx3hs4d3pfjm5g9nvaxmfrapba9f4nrkqi3z2l1h")))) + "0mp61gg8s3zfq10g10vjk0mrcx6d5gm81n4ji8an2my11g61yq94")))) (build-system r-build-system) (inputs `(("libxml2" ,libxml2) ("zlib" ,zlib))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + ("r-knitr" ,r-knitr))) (propagated-inputs `(("r-rcpp" ,r-rcpp))) (home-page "https://github.com/hadley/xml2") @@ -2263,19 +2264,20 @@ (define-public r-commonmark (define-public r-roxygen2 (package (name "r-roxygen2") - (version "7.0.2") + (version "7.1.0") (source (origin (method url-fetch) (uri (cran-uri "roxygen2" version)) (sha256 (base32 - "162xag27hwwyadfwm5zpyy15nxwhw2vbhwapx3jmi9cfyryr68sq")))) + "00s1wzx5960k8pzgpz4kikjf4k061hyhnd278y65q6n0wzv3d6vy")))) (build-system r-build-system) (propagated-inputs `(("r-brew" ,r-brew) ("r-commonmark" ,r-commonmark) ("r-desc" ,r-desc) ("r-digest" ,r-digest) + ("r-knitr" ,r-knitr) ("r-pkgload" ,r-pkgload) ("r-purrr" ,r-purrr) ("r-r6" ,r-r6) @@ -2284,8 +2286,6 @@ (define-public r-roxygen2 ("r-stringi" ,r-stringi) ("r-stringr" ,r-stringr) ("r-xml2" ,r-xml2))) - (native-inputs - `(("r-knitr" ,r-knitr))) ; for vignettes (home-page "https://github.com/klutometis/roxygen") (synopsis "In-source documentation system for R") (description @@ -5101,14 +5101,14 @@ (define-public r-quantreg (define-public r-nloptr (package (name "r-nloptr") - (version "1.2.2") + (version "1.2.2.1") (source (origin (method url-fetch) (uri (cran-uri "nloptr" version)) (sha256 (base32 - "19k7nd3a7cg35k5i1cwj1lhgfs02jb7bc2gwlammpq6j41rh4vr7")))) + "1bhh2v14phzndjhiq7yw9vych6vzn5yy3vk9q35zcp3jhjjbwdyh")))) (build-system r-build-system) (native-inputs `(("r-knitr" ,r-knitr) ; for building vignettes @@ -5204,13 +5204,13 @@ (define-public r-cardata (define-public r-car (package (name "r-car") - (version "3.0-6") + (version "3.0-7") (source (origin (method url-fetch) (uri (cran-uri "car" version)) (sha256 - (base32 "0yv5mwaa0ymrbis9590mx0zcj3w6j4drhs6ab13zhx4zc3x1b7b6")))) + (base32 "11sfk1l41j27mrfy16g7b02c570n3gy9icvpcrfjh1biykqa565d")))) (build-system r-build-system) (propagated-inputs `(("r-abind" ,r-abind) @@ -5224,6 +5224,8 @@ (define-public r-car ("r-pbkrtest" ,r-pbkrtest) ("r-quantreg" ,r-quantreg) ("r-rio" ,r-rio))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://r-forge.r-project.org/projects/car/") (synopsis "Companion to applied regression") (description @@ -5392,14 +5394,14 @@ (define-public r-tsne (define-public r-cairo (package (name "r-cairo") - (version "1.5-10") + (version "1.5-11") (source (origin (method url-fetch) (uri (cran-uri "Cairo" version)) (sha256 (base32 - "1mdmd5zmjkh1b0x928zizgzh42x8swbajffb88rvnjfdhk1z0dvq")))) + "1k9kpxcg5n4g6x2gydv344f4w0snqbhww14fnbbj1bny0mmv28xg")))) (properties `((upstream-name . "Cairo"))) (build-system r-build-system) (inputs diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm index 1be7c69154..8510c6d1d0 100644 --- a/gnu/packages/textutils.scm +++ b/gnu/packages/textutils.scm @@ -561,7 +561,7 @@ (define-public catdoc (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) (mkdir-p (string-append out "/share/man/man1")))))))) - (home-page "http://www.wagner.pp.ru/~vitus/software/catdoc/") + (home-page "https://www.wagner.pp.ru/~vitus/software/catdoc/") (synopsis "MS-Word to TeX or plain text converter") (description "@command{catdoc} extracts text from MS-Word files, trying to preserve as many special printable characters as possible. It supports diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 61bbe424e2..f94c2a1077 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2016, 2017, 2018 ng0 ;;; Copyright © 2016 Hartmut Goebel ;;; Copyright © 2017 Ricardo Wurmus -;;; Copyright © 2017, 2018, 2019 Marius Bakke +;;; Copyright © 2017, 2018, 2019, 2020 Marius Bakke ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2017 Rutger Helling ;;; Copyright © 2018 Clément Lassieur @@ -537,13 +537,13 @@ (define-public python-acme (package (name "python-acme") ;; Remember to update the hash of certbot when updating python-acme. - (version "1.2.0") + (version "1.3.0") (source (origin (method url-fetch) (uri (pypi-uri "acme" version)) (sha256 (base32 - "1ar6mjax7cyvq3zgh64yrg485l02dy6zqddxjxg99nlvsi0cfc06")))) + "03fjmg0fgfy7xfn3i8rzn9i0i4amajmijkash84qb8mlphgrxpn0")))) (build-system python-build-system) (arguments `(#:phases @@ -594,7 +594,7 @@ (define-public certbot (uri (pypi-uri "certbot" version)) (sha256 (base32 - "0g1p4nkaid6davjm5qz8lsln92dhjhlv3rrg8hcfpr7qhphbmp4m")))) + "1n5i0k6kwmd6wvivshfl3k4djwcpwx390c39xmr2hhrgpk5r285w")))) (build-system python-build-system) (arguments `(,@(substitute-keyword-arguments (package-arguments python-acme) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index a798892e40..6451037fdb 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -27,6 +27,7 @@ ;;; Copyright © 2019 Alex Griffin ;;; Copyright © 2020 Roel Janssen ;;; Copyright © 2020 Brice Waegeneire +;;; Copyright © 2020 John D. Boy ;;; ;;; This file is part of GNU Guix. ;;; @@ -551,6 +552,75 @@ (define-public git-minimal ("perl" ,perl) ("zlib" ,zlib))))) +(define-public gitless + (package + (name "gitless") + (version "0.8.8") + (source + (origin + ;; The PyPI package lacks a test suite. Build directly from git. + (method git-fetch) + (uri (git-reference + (url "https://github.com/gitless-vcs/gitless") + (commit (string-append "v" version)))) + (sha256 + (base32 "048kl27zjr68hgs70g3l98ci9765wxva6azzrhcdys7nsdd493n6")) + (file-name (git-file-name name version)))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'build 'loosen-requirements + (lambda _ + (substitute* "setup.py" + ;; Using Guix's python-pygit2 1.1.0 appears to work fine… + (("pygit2==") "pygit2>=")) + #t)) + (add-before 'check 'prepare-for-tests + (lambda _ + ;; Find the 'gl' command. + (rename-file "gl.py" "gl") + (setenv "PATH" (string-append (getcwd) ":" (getenv "PATH"))) + + ;; The tests try to run git as if it were already set up. + (setenv "HOME" (getcwd)) + (invoke "git" "config" "--global" "user.email" "git@example.com") + (invoke "git" "config" "--global" "user.name" "Guix"))) + (replace 'wrap + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (git (assoc-ref inputs "git"))) + (wrap-program (string-append out "/bin/gl") + `("PATH" ":" prefix (,(string-append git "/bin"))) + `("PYTHONPATH" ":" = + (,(string-append out "/lib/python" + ,(version-major+minor + (package-version python)) + "/site-packages:") + ,(getenv "PYTHONPATH")))) + #t)))))) + (native-inputs + `(("git-for-tests" ,git-minimal))) + (inputs + `(("git" ,git-minimal) + ("python-clint" ,python-clint) + ("python-pygit2" ,python-pygit2) + ("python-sh" ,python-sh))) + (home-page "https://gitless.com") + (synopsis "Simple version control system built on top of Git") + (description + "Gitless is a Git-compatible version control system that aims to be easy to +learn and use. It simplifies the common workflow by committing changes to +tracked files by default and saving any uncommitted changes as part of a branch. + +The friendly @command{gl} command-line interface gives feedback and helps you +figure out what to do next. + +Gitless is implemented on top of Git and its commits and repositories are +indistinguishable from Git's. You (or other contributors) can always fall back +on @command{git}, and use any regular Git hosting service.") + (license license:expat))) + (define-public libgit2 (package (name "libgit2") @@ -1097,7 +1167,7 @@ (define-public git-flow "gitflow-shFlags"))))) (delete 'configure) (delete 'build)))) - (home-page "http://nvie.com/posts/a-successful-git-branching-model/") + (home-page "https://nvie.com/posts/a-successful-git-branching-model/") (synopsis "Git extensions for Vincent Driessen's branching model") (description "Vincent Driessen's branching model is a git branching and release diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 8403d956bc..49003d7310 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -25,7 +25,7 @@ ;;; Copyright © 2018 Roel Janssen ;;; Copyright © 2018, 2019, 2020 Marius Bakke ;;; Copyright © 2018, 2019 Pierre Neidhardt -;;; Copyright © 2018, 2019 Leo Famulari +;;; Copyright © 2018, 2019, 2020 Leo Famulari ;;; Copyright © 2018 Brendan Tildesley ;;; Copyright © 2018 Arun Isaac ;;; Copyright © 2018 Björn Höfling @@ -1687,7 +1687,7 @@ (define-public youtube-dl-gui (define-public you-get (package (name "you-get") - (version "0.4.1403") + (version "0.4.1410") (source (origin (method git-fetch) (uri (git-reference @@ -1696,7 +1696,7 @@ (define-public you-get (file-name (git-file-name name version)) (sha256 (base32 - "04viy19x4g9dngml82nf9j94ys3p47bs62c2q2cn1barkybaa3as")))) + "1v4lfldcijgngg0s4q5w4ixa0k8k75dwmkhf57pgb31bqlrr8h0s")))) (build-system python-build-system) (inputs `(("ffmpeg" ,ffmpeg))) ; for multi-part and >=1080p videos @@ -2580,7 +2580,7 @@ (define-public libsmpeg ("automake" ,automake))) (inputs `(("sdl" ,sdl2))) - (home-page "http://icculus.org/smpeg/") + (home-page "https://icculus.org/smpeg/") (synopsis "SDL MPEG decoding library") (description "SMPEG (SDL MPEG Player Library) is a free MPEG1 video player library @@ -3493,7 +3493,7 @@ (define-public vidstab (define-public libopenshot (package (name "libopenshot") - (version "0.2.3") + (version "0.2.5") (source (origin (method git-fetch) (uri (git-reference @@ -3502,7 +3502,7 @@ (define-public libopenshot (file-name (git-file-name name version)) (sha256 (base32 - "0r1qmr8ar5n72603xkj9h065vbpznrqsq88kxxmn9n8djyyvk03k")) + "1mxjkgjmjzgf628y3rscc6rqf55hxgjpmvwxlncfk1216i5xskwp")) (modules '((guix build utils))) (snippet '(begin ;; Allow overriding of the python installation dir @@ -3793,3 +3793,40 @@ (define-public dvdbackup DVD using @command{libdvdcss}, but does @strong{not} demux, remux, transcode or reformat the videos in any way, producing perfect backups.") (license license:gpl3+))) + +(define-public svt-av1 + (package + (name "svt-av1") + (version "0.8.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/OpenVisualCloud/SVT-AV1.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "08sx9zhhks8wzq05f67jqmc1zqmmi7hqkgg2gyjpcsan5qc5476w")))) + (build-system cmake-build-system) + ;; SVT-AV1 only supports Intel-compatible CPUs. + (supported-systems '("x86_64-linux" "i686-linux")) + (arguments + ;; The test suite tries to download test data and git clone a 3rd-party + ;; fork of libaom. Skip it. + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'install 'install-documentation + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref %outputs "out")) + (doc (string-append out "/share/doc/svt-av1-" ,version))) + (copy-recursively "../source/Docs" doc) + #t)))))) + (native-inputs + `(("yasm" ,yasm))) + (synopsis "AV1 video codec") + (description "SVT-AV1 is an AV1 codec implementation. The encoder is a +work-in-progress, aiming to support video-on-demand and live streaming +applications. It only supports Intel-compatible CPUs (x86).") + (home-page "https://github.com/OpenVisualCloud/SVT-AV1") + (license license:bsd-2))) diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index 5b03124e38..7bea7fa791 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -398,7 +398,7 @@ (define-public vim-scheme (synopsis "Scheme syntax for Vim") (description "@code{vim-scheme} provides Scheme support for Vim (R7RS and CHICKEN).") - (home-page "http://foldling.org/git/vim-scheme.git/") + (home-page "https://foldling.org/git/vim-scheme.git/") (license license:public-domain)))) (define-public vim-luna diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index b4c0785180..db10cbf3e9 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -223,14 +223,14 @@ (define-public nginx ;; ’stable’ and recommends that “in general you deploy the NGINX mainline ;; branch at all times” (https://www.nginx.com/blog/nginx-1-6-1-7-released/) ;; Consider updating the nginx-documentation package together with this one. - (version "1.17.8") + (version "1.17.9") (source (origin (method url-fetch) (uri (string-append "https://nginx.org/download/nginx-" version ".tar.gz")) (sha256 (base32 - "0nwn4md8sxhks2j77qq1nvk5pfz3yykfhh2b507b6l2idp7kxllp")))) + "12dnrdxwnlid0wr797vdxj9z1fmxnk7ib55bznvl2g3mbi05vmkx")))) (build-system gnu-build-system) (inputs `(("openssl" ,openssl) ("pcre" ,pcre) @@ -1131,7 +1131,7 @@ (define-public libwebsockets "Libwebsockets is a library that allows C programs to establish client and server WebSockets connections---a protocol layered above HTTP that allows for efficient socket-like bidirectional reliable communication channels.") - (home-page "http://libwebsockets.org/") + (home-page "https://libwebsockets.org") ;; This is LGPLv2.1-only with extra exceptions specified in 'LICENSE'. (license license:lgpl2.1))) @@ -2625,7 +2625,7 @@ (define-public perl-catalystx-script-server-starman (define-public perl-cgi (package (name "perl-cgi") - (version "4.44") + (version "4.46") (source (origin (method url-fetch) @@ -2633,7 +2633,7 @@ (define-public perl-cgi "CGI-" version ".tar.gz")) (sha256 (base32 - "020jrygslqixrxd2nzc2l8ac39ynqzsy83nnnr3mqn6kxfvmyhqj")))) + "16225vmdsfa2y7i1ydv7634nd0qxxb0ccwnfszjq58rwqgfri2bq")))) (build-system perl-build-system) (native-inputs `(("perl-test-deep" ,perl-test-deep) @@ -3248,15 +3248,15 @@ (define-public perl-http-daemon (define-public perl-http-date (package (name "perl-http-date") - (version "6.02") + (version "6.05") (source (origin (method url-fetch) (uri (string-append - "mirror://cpan/authors/id/G/GA/GAAS/HTTP-Date-" + "mirror://cpan/authors/id/O/OA/OALDERS/HTTP-Date-" version ".tar.gz")) (sha256 (base32 - "0cz357kafhhzw7w59iyi0wvhw7rlh5g1lh38230ckw7rl0fr9fg8")))) + "0awjdbz7x0jd5pna55dwxhs3k6xp3sw6b2zg3p2yndxxvya64p9n")))) (build-system perl-build-system) (license license:perl-license) (synopsis "Perl date conversion routines") @@ -3615,16 +3615,18 @@ (define-public perl-lwp-online (define-public perl-lwp-mediatypes (package (name "perl-lwp-mediatypes") - (version "6.02") + (version "6.04") (source (origin (method url-fetch) (uri (string-append - "mirror://cpan/authors/id/G/GA/GAAS/LWP-MediaTypes-" + "mirror://cpan/authors/id/O/OA/OALDERS/LWP-MediaTypes-" version ".tar.gz")) (sha256 (base32 - "0xmnblp962qy02akah30sji8bxrqcyqlff2w95l199ghql60ny8q")))) + "1n8rg6csv3dsvymg06cmxipimr6cb1g9r903ghm1qsmiv89cl6wg")))) (build-system perl-build-system) + (native-inputs + `(("perl-test-fatal" ,perl-test-fatal))) (license license:perl-license) (synopsis "Perl module to guess the media type for a file or a URL") (description @@ -6101,10 +6103,10 @@ (define-public cadaver (inputs `(("expat" ,expat) ("openssl" ,openssl))) - (home-page "http://www.webdav.org/cadaver") + (home-page "http://www.webdav.org/cadaver/") (synopsis "Command-line WebDAV client") (description - "Cadaver is a command-line WebDAV client for Unix. It supports + "Cadaver is a command-line WebDAV client for Unix. It supports file upload, download, on-screen display, namespace operations (move/copy), collection creation and deletion, and locking operations.") (license license:gpl2))) @@ -7192,7 +7194,7 @@ (define-public httrack getting HTML, images, and other files from the server to your computer. HTTrack arranges the original site's relative link-structure. Simply open -a page of the ``mirrored'' website in your browser, and you can browse the +a page of the @code{mirrored} website in your browser, and you can browse the site from link to link, as if you were viewing it online. HTTrack can also update an existing mirrored site, and resume interrupted downloads. diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index 790d2fa83a..808790e0a5 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -121,14 +121,14 @@ (define-public wpebackend-fdo (define-public webkitgtk (package (name "webkitgtk") - (version "2.26.4") + (version "2.28.0") (source (origin (method url-fetch) (uri (string-append "https://www.webkitgtk.org/releases/" "webkitgtk-" version ".tar.xz")) (sha256 (base32 - "0gqi9f9njrdn8vad1zvr59b25arwc8r0n8bp25sgkbfz2c3r11j3")))) + "12qfs9w93c5kiyi14ynm4rf4ad3c213dvzmdrc9c3ab2iwbks7rn")))) (build-system cmake-build-system) (outputs '("out" "doc")) (arguments diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index f9b6ef9880..f5b9e62afe 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -691,14 +691,14 @@ (define-public xmonad (define-public xmobar (package (name "xmobar") - (version "0.32") + (version "0.33") (source (origin (method url-fetch) (uri (string-append "mirror://hackage/package/xmobar/" "xmobar-" version ".tar.gz")) (sha256 (base32 - "0x2ki3v0pmhl4bva3qi1xx21axayc4sx1nkzhmk2ap4l0cj52jrd")))) + "1hr3qqykc5givcpcwrr9f2y920jmiinmxm5mcy6qgpgymgwqb618")))) (build-system haskell-build-system) (native-inputs `(("ghc-hspec" ,ghc-hspec) diff --git a/gnu/packages/wxwidgets.scm b/gnu/packages/wxwidgets.scm index 69257a6e59..b48a116201 100644 --- a/gnu/packages/wxwidgets.scm +++ b/gnu/packages/wxwidgets.scm @@ -225,7 +225,7 @@ (define-public python-wxpython `(("python-numpy" ,python-numpy) ("python-pillow" ,python-pillow) ("python-six" ,python-six))) - (home-page "http://wxPython.org/") + (home-page "https://wxpython.org/") (synopsis "Cross platform GUI toolkit for Python") (description "wxPython is a cross-platform GUI toolkit for the Python programming language. It is implemented as a set of Python extension modules diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 238cb76b9e..b54f7cadb5 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -33,6 +33,7 @@ ;;; Copyright © 2020 David Wilson ;;; Copyright © 2020 Ivan Vilata i Balaguer ;;; Copyright © 2020 Brice Waegeneire +;;; Copyright © 2020 Damien Cassou ;;; ;;; This file is part of GNU Guix. ;;; @@ -526,7 +527,7 @@ (define-public libdrm (define-public mtdev (package (name "mtdev") - (version "1.1.5") + (version "1.1.6") (source (origin (method url-fetch) @@ -535,8 +536,9 @@ (define-public mtdev version ".tar.bz2")) (sha256 (base32 - "0zxs7shzgbalkvlaiibi25bd902rbmkv9n1lww6q8j3ri9qdaxv6")))) + "1q700h9dqcm3zl6c3gj0qxxjcx6ibw2c51wjijydhwdcm26v5mqm")))) (build-system gnu-build-system) + (arguments '(#:configure-flags '("--disable-static"))) (home-page "http://bitmath.org/code/mtdev/") (synopsis "Multitouch protocol translation library") (description "Mtdev is a stand-alone library which transforms all @@ -818,7 +820,7 @@ (define-public xbanish (define-public xlockmore (package (name "xlockmore") - (version "5.59") + (version "5.62") (source (origin (method url-fetch) (uri (list (string-append "http://sillycycle.com/xlock/" @@ -829,7 +831,7 @@ (define-public xlockmore "xlockmore-" version ".tar.xz"))) (sha256 (base32 - "0lajc5a4lki33b9mzfsi74q4hbivbmhwysp7mib4ivnyxianhaid")))) + "0b05wgj4mpssy4hd7km5c48i454dfg45p11mfmsr7xjd2gnz5gqi")))) (build-system gnu-build-system) (arguments '(#:configure-flags (list (string-append "--enable-appdefaultdir=" @@ -841,7 +843,7 @@ (define-public xlockmore ("libXext" ,libxext) ("libXt" ,libxt) ("linux-pam" ,linux-pam))) - (home-page "http://sillycycle.com/xlockmore.html") + (home-page "https://sillycycle.com/xlockmore.html") (synopsis "Screen locker for the X Window System") (description "XLockMore is a classic screen locker and screen saver for the @@ -1972,7 +1974,7 @@ (define-public autocutsel (define-public jgmenu (package (name "jgmenu") - (version "4.0.1") + (version "4.1.0") (source (origin (method git-fetch) @@ -1982,7 +1984,7 @@ (define-public jgmenu (file-name (git-file-name name version)) (sha256 (base32 - "1q0rpg2d96sn3rrdi8m7bngnxxqyxilpjxi7skiw4gvpiv1akxjp")))) + "1wsh37rapb1bszlq36hvwxqvfds39hbvbl152m8as4zlh93wfvvk")))) (build-system gnu-build-system) (native-inputs `(("cppcheck" ,cppcheck) @@ -2118,3 +2120,115 @@ (define-public xsettingsd not running. With a simple @file{.xsettingsd} configuration file one can avoid configuring visual settings in different UI toolkits separately.") (license license:bsd-3))) + +(define-public clipnotify + (package + (name "clipnotify") + (version "1.0.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cdown/clipnotify.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1v3ydm5ljy8z1savmdxrjyx7a5bm5013rzw80frp3qbbjaci0wbg")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (doc (string-append %output "/share/doc/" ,name "-" ,version))) + (install-file "clipnotify" bin) + (install-file "README.md" doc) + #t)))) + #:make-flags (list "CC=gcc") + #:tests? #f)) + (inputs + `(("libx11" ,libx11) + ("libXfixes" ,libxfixes))) + (home-page "https://github.com/cdown/clipnotify") + (synopsis "Notify on new X clipboard events") + (description "@command{clipnotify} is a simple program that, using the +XFIXES extension to X11, waits until a new selection is available and then +exits. + +It was primarily designed for clipmenu, to avoid polling for new selections. + +@command{clipnotify} doesn't try to print anything about the contents of the +selection, it just exits when it changes. This is intentional -- X11's +selection API is verging on the insane, and there are plenty of others who +have already lost their sanity to bring us xclip/xsel/etc. Use one of those +tools to complement clipnotify.") + (license license:public-domain))) + +(define-public clipmenu + (let ((commit "a495bcc7a4ab125182a661c5808364f66938a87c") + (revision "1")) + (package + (name "clipmenu") + (version (string-append "5.6.0-" + revision "." (string-take commit 7))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cdown/clipnotify.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "12vvircdhl4psqi51cnfd6bqy85v2vwfcmdq1mimjgng727nwzys")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-hardcoded-paths + (lambda _ + (substitute* "clipmenud" + (("has_clipnotify=0") + "has_clipnotify=1") + (("command -v clipnotify >/dev/null 2>&1 && has_clipnotify=1") + "") + (("clipnotify \\|\\| .*") + (string-append (which "clipnotify") "\n")) + (("xsel --logfile") + (string-append (which "xsel") " --logfile"))) + (substitute* "clipmenu" + (("xsel --logfile") + (string-append (which "xsel") " --logfile"))) + #t)) + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (doc (string-append %output "/share/doc/" + ,name "-" ,version))) + (install-file "clipdel" bin) + (install-file "clipmenu" bin) + (install-file "clipmenud" bin) + (install-file "README.md" doc) + #t)))) + #:tests? #f)) + (inputs + `(("clipnotify" ,clipnotify) + ("xsel" ,xsel))) + (home-page "https://github.com/cdown/clipmenu") + (synopsis "Simple clipboard manager using dmenu or rofi and xsel") + (description "Start @command{clipmenud}, then run @command{clipmenu} to +select something to put on the clipboard. + +When @command{clipmenud} detects changes to the clipboard contents, it writes +them out to the cache directory. @command{clipmenu} reads the cache directory +to find all available clips and launches @command{dmenu} (or @command{rofi}, +depending on the value of @code{CM_LAUNCHER}) to let the user select a clip. +After selection, the clip is put onto the PRIMARY and CLIPBOARD X selections.") + (license license:public-domain)))) diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index 7f97c2a0cb..b6eba0a72c 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -72,7 +72,7 @@ (define-public gtk-xfce-engine (version "2.10.1") (source (origin (method url-fetch) - (uri (string-append "http://archive.xfce.org/src/xfce/" + (uri (string-append "https://archive.xfce.org/src/xfce/" name "/" (version-major+minor version) "/" name "-" version ".tar.bz2")) (sha256 @@ -499,7 +499,7 @@ (define-public xfce4-xkb-plugin (version "0.8.1") (source (origin (method url-fetch) - (uri (string-append "http://archive.xfce.org/src/panel-plugins/" + (uri (string-append "https://archive.xfce.org/src/panel-plugins/" name "/" (version-major+minor version) "/" name "-" version ".tar.bz2")) (sha256 @@ -609,7 +609,7 @@ (define-public xfce4-settings (version "4.14.0") (source (origin (method url-fetch) - (uri (string-append "http://archive.xfce.org/src/xfce/" + (uri (string-append "https://archive.xfce.org/src/xfce/" name "/" (version-major+minor version) "/" name "-" version ".tar.bz2")) (sha256 @@ -648,7 +648,7 @@ (define-public thunar (version "1.8.12") (source (origin (method url-fetch) - (uri (string-append "http://archive.xfce.org/src/xfce/" + (uri (string-append "https://archive.xfce.org/src/xfce/" "thunar/" (version-major+minor version) "/" "thunar-" version ".tar.bz2")) (sha256 @@ -917,7 +917,7 @@ (define-public ristretto (version "0.10.0") (source (origin (method url-fetch) - (uri (string-append "http://archive.xfce.org/src/apps/ristretto/" + (uri (string-append "https://archive.xfce.org/src/apps/ristretto/" (version-major+minor version) "/" "ristretto-" version ".tar.bz2")) (sha256 @@ -979,7 +979,7 @@ (define-public orage (version "4.12.1") (source (origin (method url-fetch) - (uri (string-append "http://archive.xfce.org/src/apps/" + (uri (string-append "https://archive.xfce.org/src/apps/" name "/" (version-major+minor version) "/" name "-" version ".tar.bz2")) (sha256 @@ -1050,7 +1050,7 @@ (define-public xfburn (version "0.6.2") (source (origin (method url-fetch) - (uri (string-append "http://archive.xfce.org/src/apps/xfburn/" + (uri (string-append "https://archive.xfce.org/src/apps/xfburn/" (version-major+minor version) "/" "xfburn-" version ".tar.bz2")) (sha256 @@ -1086,7 +1086,7 @@ (define-public mousepad (version "0.4.2") (source (origin (method url-fetch) - (uri (string-append "http://archive.xfce.org/src/apps/mousepad/" + (uri (string-append "https://archive.xfce.org/src/apps/mousepad/" (version-major+minor version) "/mousepad-" version ".tar.bz2")) (sha256 @@ -1128,7 +1128,7 @@ (define-public xfce4-screenshooter (version "1.9.7") (source (origin (method url-fetch) - (uri (string-append "http://archive.xfce.org/src/apps/" + (uri (string-append "https://archive.xfce.org/src/apps/" "xfce4-screenshooter/" (version-major+minor version) "/xfce4-screenshooter-" @@ -1161,7 +1161,7 @@ (define-public xfce4-screensaver (version "0.1.8") (source (origin (method url-fetch) - (uri (string-append "http://archive.xfce.org/src/apps/" + (uri (string-append "https://archive.xfce.org/src/apps/" "xfce4-screensaver/" (version-major+minor version) "/xfce4-screensaver-" @@ -1237,7 +1237,7 @@ (define-public xfce4-cpugraph-plugin (version "1.1.0") (source (origin (method url-fetch) - (uri (string-append "http://archive.xfce.org/src/panel-plugins/" + (uri (string-append "https://archive.xfce.org/src/panel-plugins/" "xfce4-cpugraph-plugin/" (version-major+minor version) "/xfce4-cpugraph-plugin-" version ".tar.bz2")) @@ -1270,7 +1270,7 @@ (define-public xfce4-eyes-plugin (version "4.5.0") (source (origin (method url-fetch) - (uri (string-append "http://archive.xfce.org/src/panel-plugins/" + (uri (string-append "https://archive.xfce.org/src/panel-plugins/" "xfce4-eyes-plugin/" (version-major+minor version) "/xfce4-eyes-plugin-" version ".tar.bz2")) @@ -1297,7 +1297,7 @@ (define-public xfce4-equake-plugin (version "1.3.8") (source (origin (method url-fetch) - (uri (string-append "http://archive.xfce.org/src/panel-plugins/" + (uri (string-append "https://archive.xfce.org/src/panel-plugins/" "xfce4-equake-plugin/" (version-major+minor version) "/xfce4-equake-plugin-" version ".tar.bz2")) @@ -1326,7 +1326,7 @@ (define-public xfce4-datetime-plugin (version "0.8.0") (source (origin (method url-fetch) - (uri (string-append "http://archive.xfce.org/src/panel-plugins/" + (uri (string-append "https://archive.xfce.org/src/panel-plugins/" "xfce4-datetime-plugin/" (version-major+minor version) "/xfce4-datetime-plugin-" version ".tar.bz2")) @@ -1353,7 +1353,7 @@ (define-public xfce4-calculator-plugin (version "0.7.0") (source (origin (method url-fetch) - (uri (string-append "http://archive.xfce.org/src/panel-plugins/" + (uri (string-append "https://archive.xfce.org/src/panel-plugins/" "xfce4-calculator-plugin/" (version-major+minor version) "/xfce4-calculator-plugin-" version ".tar.bz2")) @@ -1381,7 +1381,7 @@ (define-public xfce4-cpufreq-plugin (version "1.2.1") (source (origin (method url-fetch) - (uri (string-append "http://archive.xfce.org/src/panel-plugins/" + (uri (string-append "https://archive.xfce.org/src/panel-plugins/" "xfce4-cpufreq-plugin/" (version-major+minor version) "/xfce4-cpufreq-plugin-" version ".tar.bz2")) @@ -1408,7 +1408,7 @@ (define-public xfce4-diskperf-plugin (version "2.6.2") (source (origin (method url-fetch) - (uri (string-append "http://archive.xfce.org/src/panel-plugins/" + (uri (string-append "https://archive.xfce.org/src/panel-plugins/" "xfce4-diskperf-plugin/" (version-major+minor version) "/xfce4-diskperf-plugin-" version ".tar.bz2")) @@ -1435,7 +1435,7 @@ (define-public xfce4-embed-plugin (version "1.6.0") (source (origin (method url-fetch) - (uri (string-append "http://archive.xfce.org/src/panel-plugins/" + (uri (string-append "https://archive.xfce.org/src/panel-plugins/" "xfce4-embed-plugin/" (version-major+minor version) "/xfce4-embed-plugin-" version ".tar.bz2")) @@ -1470,7 +1470,7 @@ (define-public xfce4-fsguard-plugin (version "1.1.1") (source (origin (method url-fetch) - (uri (string-append "http://archive.xfce.org/src/panel-plugins/" + (uri (string-append "https://archive.xfce.org/src/panel-plugins/" "xfce4-fsguard-plugin/" (version-major+minor version) "/xfce4-fsguard-plugin-" version ".tar.bz2")) @@ -1500,7 +1500,7 @@ (define-public xfce4-genmon-plugin (version "4.0.2") (source (origin (method url-fetch) - (uri (string-append "http://archive.xfce.org/src/panel-plugins/" + (uri (string-append "https://archive.xfce.org/src/panel-plugins/" "xfce4-genmon-plugin/" (version-major+minor version) "/xfce4-genmon-plugin-" version ".tar.bz2")) @@ -1531,7 +1531,7 @@ (define-public xfce4-kbdleds-plugin (version "0.0.6") (source (origin (method url-fetch) - (uri (string-append "http://archive.xfce.org/src/panel-plugins/" + (uri (string-append "https://archive.xfce.org/src/panel-plugins/" "xfce4-kbdleds-plugin/" (version-major+minor version) "/xfce4-kbdleds-plugin-" version ".tar.bz2")) @@ -1559,7 +1559,7 @@ (define-public xfce4-mailwatch-plugin (version "1.2.0") (source (origin (method url-fetch) - (uri (string-append "http://archive.xfce.org/src/panel-plugins/" + (uri (string-append "https://archive.xfce.org/src/panel-plugins/" "xfce4-mailwatch-plugin/" (version-major+minor version) "/xfce4-mailwatch-plugin-" version ".tar.bz2")) @@ -1597,7 +1597,7 @@ (define-public xfce4-mpc-plugin (version "0.5.2") (source (origin (method url-fetch) - (uri (string-append "http://archive.xfce.org/src/panel-plugins/" + (uri (string-append "https://archive.xfce.org/src/panel-plugins/" "xfce4-mpc-plugin/" (version-major+minor version) "/xfce4-mpc-plugin-" version ".tar.bz2")) @@ -1640,7 +1640,7 @@ (define-public xfce4-mount-plugin (version "1.1.3") (source (origin (method url-fetch) - (uri (string-append "http://archive.xfce.org/src/panel-plugins/" + (uri (string-append "https://archive.xfce.org/src/panel-plugins/" "xfce4-mount-plugin/" (version-major+minor version) "/xfce4-mount-plugin-" version ".tar.bz2")) @@ -1669,7 +1669,7 @@ (define-public xfce4-netload-plugin (version "1.3.2") (source (origin (method url-fetch) - (uri (string-append "http://archive.xfce.org/src/panel-plugins/" + (uri (string-append "https://archive.xfce.org/src/panel-plugins/" "xfce4-netload-plugin/" (version-major+minor version) "/xfce4-netload-plugin-" version ".tar.bz2")) @@ -1696,7 +1696,7 @@ (define-public xfce4-places-plugin (version "1.8.1") (source (origin (method url-fetch) - (uri (string-append "http://archive.xfce.org/src/panel-plugins/" + (uri (string-append "https://archive.xfce.org/src/panel-plugins/" "xfce4-places-plugin/" (version-major+minor version) "/xfce4-places-plugin-" version ".tar.bz2")) @@ -1738,7 +1738,7 @@ (define-public xfce4-smartbookmark-plugin (version "0.5.1") (source (origin (method url-fetch) - (uri (string-append "http://archive.xfce.org/src/panel-plugins/" + (uri (string-append "https://archive.xfce.org/src/panel-plugins/" "xfce4-smartbookmark-plugin/" (version-major+minor version) "/xfce4-smartbookmark-plugin-" version ".tar.bz2")) @@ -1763,16 +1763,16 @@ (define-public xfce4-smartbookmark-plugin (define-public xfce4-statusnotifier-plugin (package (name "xfce4-statusnotifier-plugin") - (version "0.2.1") + (version "0.2.2") (source (origin (method url-fetch) - (uri (string-append "http://archive.xfce.org/src/panel-plugins/" + (uri (string-append "https://archive.xfce.org/src/panel-plugins/" "xfce4-statusnotifier-plugin/" (version-major+minor version) "/xfce4-statusnotifier-plugin-" version ".tar.bz2")) (sha256 (base32 - "154b0q9pmlbjh30vvx4c48msdfxp4pq8x4mbn71mk7pibk018hsj")))) + "1yic99jx7013pywpd0k31pxab8s8lv3wcq364iha99qhsm25k42c")))) (build-system gnu-build-system) (native-inputs `(("intltool" ,intltool) @@ -1798,7 +1798,7 @@ (define-public xfce4-stopwatch-plugin (version "0.3.1") (source (origin (method url-fetch) - (uri (string-append "http://archive.xfce.org/src/panel-plugins/" + (uri (string-append "https://archive.xfce.org/src/panel-plugins/" "xfce4-stopwatch-plugin/" (version-major+minor version) "/xfce4-stopwatch-plugin-" version ".tar.bz2")) @@ -1827,7 +1827,7 @@ (define-public xfce4-systemload-plugin (version "1.2.3") (source (origin (method url-fetch) - (uri (string-append "http://archive.xfce.org/src/panel-plugins/" + (uri (string-append "https://archive.xfce.org/src/panel-plugins/" "xfce4-systemload-plugin/" (version-major+minor version) "/xfce4-systemload-plugin-" version ".tar.bz2")) @@ -1855,7 +1855,7 @@ (define-public xfce4-time-out-plugin (version "1.1.0") (source (origin (method url-fetch) - (uri (string-append "http://archive.xfce.org/src/panel-plugins/" + (uri (string-append "https://archive.xfce.org/src/panel-plugins/" "xfce4-time-out-plugin/" (version-major+minor version) "/xfce4-time-out-plugin-" version ".tar.bz2")) @@ -1885,7 +1885,7 @@ (define-public xfce4-timer-plugin (version "1.7.0") (source (origin (method url-fetch) - (uri (string-append "http://archive.xfce.org/src/panel-plugins/" + (uri (string-append "https://archive.xfce.org/src/panel-plugins/" "xfce4-timer-plugin/" (version-major+minor version) "/xfce4-timer-plugin-" version ".tar.bz2")) @@ -1913,7 +1913,7 @@ (define-public xfce4-verve-plugin (version "2.0.0") (source (origin (method url-fetch) - (uri (string-append "http://archive.xfce.org/src/panel-plugins/" + (uri (string-append "https://archive.xfce.org/src/panel-plugins/" "xfce4-verve-plugin/" (version-major+minor version) "/xfce4-verve-plugin-" version ".tar.bz2")) @@ -1947,7 +1947,7 @@ (define-public xfce4-wavelan-plugin (version "0.6.1") (source (origin (method url-fetch) - (uri (string-append "http://archive.xfce.org/src/panel-plugins/" + (uri (string-append "https://archive.xfce.org/src/panel-plugins/" "xfce4-wavelan-plugin/" (version-major+minor version) "/xfce4-wavelan-plugin-" version ".tar.bz2")) @@ -1974,7 +1974,7 @@ (define-public xfce4-weather-plugin (version "0.10.1") (source (origin (method url-fetch) - (uri (string-append "http://archive.xfce.org/src/panel-plugins/" + (uri (string-append "https://archive.xfce.org/src/panel-plugins/" "xfce4-weather-plugin/" (version-major+minor version) "/xfce4-weather-plugin-" version ".tar.bz2")) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index b57fa29466..2ec151fd01 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -13,7 +13,7 @@ ;;; Copyright © 2016, 2017 John Darrington ;;; Copyright © 2017, 2018, 2019 Marius Bakke ;;; Copyright © 2017, 2018, 2019 Rutger Helling -;;; Copyright © 2017 Arun Isaac +;;; Copyright © 2017, 2020 Arun Isaac ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2018 Kei Kebreau ;;; Copyright © 2018 Oleg Pykhalov @@ -2402,7 +2402,7 @@ (define-public xextproto (define-public libevdev (package (name "libevdev") - (version "1.5.9") + (version "1.8.0") (source (origin (method url-fetch) @@ -2410,10 +2410,11 @@ (define-public libevdev name "-" version ".tar.xz")) (sha256 (base32 - "0xca343ff12wh6nsq76r0nbsfrm8dypjrzm4fqz9vv9v8i8kfrp1")))) + "04a2klvii0in9ln8r85mk2cm73jq8ry2m3yzmf2z8xyjxzjcmlr0")))) (build-system gnu-build-system) (arguments - `(#:phases (modify-phases %standard-phases + `(#:configure-flags '("--disable-static") + #:phases (modify-phases %standard-phases (add-before 'configure 'pedantry (lambda _ ;; XXX: libevdev includes kernel headers, which causes this @@ -3858,7 +3859,7 @@ (define-public xkbutils (define-public xkeyboard-config (package (name "xkeyboard-config") - (version "2.28") + (version "2.29") (source (origin (method url-fetch) @@ -3868,15 +3869,16 @@ (define-public xkeyboard-config ".tar.bz2")) (sha256 (base32 - "1kmxc8hdw4qpvdlzp4ag8ygl34lqhs6sn3pcz1sl0kn61xdv5bb9")))) + "00hqc8nykvy8c09b8vab64dcd0ij3n5klxjn6rl00q7hickpah8x")))) (build-system gnu-build-system) (inputs - `(("gettext" ,gettext-minimal) - ("libx11" ,libx11) + `(("libx11" ,libx11) ("xkbcomp-intermediate" ,xkbcomp-intermediate))) (native-inputs - `(("intltool" ,intltool) - ("pkg-config" ,pkg-config))) + `(("gettext" ,gettext-minimal) + ("perl" ,perl) + ("pkg-config" ,pkg-config) + ("python" ,python))) (home-page "https://www.x.org/wiki/") (synopsis "Xorg XKB configuration files") (description @@ -6224,8 +6226,7 @@ (define-public uim (guix build emacs-utils)) #:configure-flags (list "--with-anthy-utf8" - (string-append "--with-lispdir=" %output - "/share/emacs/site-lisp/guix.d") + (string-append "--with-lispdir=" %output "/share/emacs") ;; Set proper runpath (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib")) #:phases @@ -6233,13 +6234,22 @@ (define-public uim ;; Set path of uim-el-agent and uim-el-helper-agent executables (add-after 'configure 'configure-uim-el (lambda* (#:key outputs #:allow-other-keys) - (substitute* "emacs/uim-var.el" - (("\"(uim-el-agent|uim-el-helper-agent)\"" _ executable) - (string-append "\"" (assoc-ref outputs "out") - "/bin/" executable "\""))) + (let ((out (assoc-ref outputs "out"))) + (emacs-substitute-variables "emacs/uim-var.el" + ("uim-el-agent" (string-append out "/bin/uim-el-agent")) + ("uim-el-helper-agent" (string-append out "/bin/uim-el-helper-agent")))) + #t)) + ;; Fix installation path by renaming share/emacs/uim-el to + ;; share/emacs/site-lisp + (add-after 'install 'fix-install-path + (lambda* (#:key outputs #:allow-other-keys) + (let ((share-emacs (string-append (assoc-ref outputs "out") + "/share/emacs"))) + (rename-file (string-append share-emacs "/uim-el") + (string-append share-emacs "/site-lisp"))) #t)) ;; Generate emacs autoloads for uim.el - (add-after 'install 'make-autoloads + (add-after 'fix-install-path 'make-autoloads (lambda* (#:key outputs #:allow-other-keys) (emacs-generate-autoloads ,name (string-append (assoc-ref outputs "out") diff --git a/gnu/packages/zile.scm b/gnu/packages/zile.scm index eea0dba272..2718232e27 100644 --- a/gnu/packages/zile.scm +++ b/gnu/packages/zile.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2014 Eric Bavier ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -51,7 +52,7 @@ (define-public zile "0x3byaddms8l3g7igx6njycqsq98wgapysdb5c7lhcnajlkp8y3s")))) (build-system gnu-build-system) (arguments - '(#:phases + `(#:phases (modify-phases %standard-phases (add-before 'configure 'patch-/bin/sh (lambda* (#:key inputs #:allow-other-keys) @@ -60,7 +61,18 @@ (define-public zile (substitute* '("lib/spawni.c" "src/funcs.c") (("/bin/sh") (string-append bash "/bin/sh"))) - #t)))))) + #t))) + ;; Zile generates its manual pages by calling the built Zile + ;; with the --help argument. That does not work when cross- + ;; compiling; use the native Zile added below in that case. + ,@(if (%current-target-system) + '((add-before 'build 'use-native-zile-for-documentation + (lambda _ + (substitute* "build-aux/zile-help2man-wrapper" + (("src/zile") + (which "zile"))) + #t))) + '())))) (inputs `(("boehm-gc" ,libgc) ("ncurses" ,ncurses) @@ -68,6 +80,11 @@ (define-public zile (native-inputs `(("perl" ,perl) ("help2man" ,help2man) + ;; When cross-compiling, Zile needs a native version of itself to + ;; generate the manual pages (see the related phase above). + ,@(if (%current-target-system) + `(("self" ,this-package)) + '()) ("pkg-config" ,pkg-config))) (home-page "https://www.gnu.org/software/zile/") (synopsis "Lightweight Emacs clone") diff --git a/gnu/services/web.scm b/gnu/services/web.scm index 075140816a..d093f60c8d 100644 --- a/gnu/services/web.scm +++ b/gnu/services/web.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2017, 2018, 2019 Christopher Baines ;;; Copyright © 2018 Marius Bakke ;;; Copyright © 2019 Florian Pelz +;;; Copyright © 2020 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -1670,12 +1671,14 @@ (define %mumi-activation #~(begin (use-modules (guix build utils)) + (mkdir-p "/var/mumi/db") (mkdir-p "/var/mumi/mails") (let* ((pw (getpwnam "mumi")) (uid (passwd:uid pw)) (gid (passwd:gid pw))) (chown "/var/mumi" uid gid) - (chown "/var/mumi/mails" uid gid))))) + (chown "/var/mumi/mails" uid gid) + (chown "/var/mumi/db" uid gid))))) (define %mumi-accounts (list (user-group (name "mumi") (system? #t)) @@ -1696,6 +1699,15 @@ (define (mumi-shepherd-services mumi) '(#$(file-append mumi "/bin/mumi")) #:user "mumi" #:group "mumi" #:log-file "/var/log/mumi.log")) + (stop #~(make-kill-destructor))) + (shepherd-service + (provision '(mumi-worker)) + (documentation "Mumi bug-tracking web interface.") + (requirement '(networking)) + (start #~(make-forkexec-constructor + '(#$(file-append mumi "/bin/mumi") "--worker") + #:user "mumi" #:group "mumi" + #:log-file "/var/log/mumi.worker.log")) (stop #~(make-kill-destructor))))) (define mumi-service-type diff --git a/guix/build/download.scm b/guix/build/download.scm index 0f2d5f402a..c647d00f6b 100644 --- a/guix/build/download.scm +++ b/guix/build/download.scm @@ -457,135 +457,6 @@ (define (close-connection port) ;deprecated 'set-port-encoding! (lambda (p e) #f)) -;; XXX: Work around , fixed in Guile commit -;; 16050431f29d56f80c4a8253506fc851b8441840. Guile's date validation -;; procedure rejects dates in which the hour is not padded with a zero but -;; with whitespace. -(begin - (define-syntax string-match? - (lambda (x) - (syntax-case x () - ((_ str pat) (string? (syntax->datum #'pat)) - (let ((p (syntax->datum #'pat))) - #`(let ((s str)) - (and - (= (string-length s) #,(string-length p)) - #,@(let lp ((i 0) (tests '())) - (if (< i (string-length p)) - (let ((c (string-ref p i))) - (lp (1+ i) - (case c - ((#\.) ; Whatever. - tests) - ((#\d) ; Digit. - (cons #`(char-numeric? (string-ref s #,i)) - tests)) - ((#\a) ; Alphabetic. - (cons #`(char-alphabetic? (string-ref s #,i)) - tests)) - (else ; Literal. - (cons #`(eqv? (string-ref s #,i) #,c) - tests))))) - tests))))))))) - - (define (parse-rfc-822-date str space zone-offset) - (let ((parse-non-negative-integer (@@ (web http) parse-non-negative-integer)) - (parse-month (@@ (web http) parse-month)) - (bad-header (@@ (web http) bad-header))) - ;; We could verify the day of the week but we don't. - (cond ((string-match? (substring str 0 space) "aaa, dd aaa dddd dd:dd:dd") - (let ((date (parse-non-negative-integer str 5 7)) - (month (parse-month str 8 11)) - (year (parse-non-negative-integer str 12 16)) - (hour (parse-non-negative-integer str 17 19)) - (minute (parse-non-negative-integer str 20 22)) - (second (parse-non-negative-integer str 23 25))) - (make-date 0 second minute hour date month year zone-offset))) - ((string-match? (substring str 0 space) "aaa, d aaa dddd dd:dd:dd") - (let ((date (parse-non-negative-integer str 5 6)) - (month (parse-month str 7 10)) - (year (parse-non-negative-integer str 11 15)) - (hour (parse-non-negative-integer str 16 18)) - (minute (parse-non-negative-integer str 19 21)) - (second (parse-non-negative-integer str 22 24))) - (make-date 0 second minute hour date month year zone-offset))) - - ;; The next two clauses match dates that have a space instead of - ;; a leading zero for hours, like " 8:49:37". - ((string-match? (substring str 0 space) "aaa, dd aaa dddd d:dd:dd") - (let ((date (parse-non-negative-integer str 5 7)) - (month (parse-month str 8 11)) - (year (parse-non-negative-integer str 12 16)) - (hour (parse-non-negative-integer str 18 19)) - (minute (parse-non-negative-integer str 20 22)) - (second (parse-non-negative-integer str 23 25))) - (make-date 0 second minute hour date month year zone-offset))) - ((string-match? (substring str 0 space) "aaa, d aaa dddd d:dd:dd") - (let ((date (parse-non-negative-integer str 5 6)) - (month (parse-month str 7 10)) - (year (parse-non-negative-integer str 11 15)) - (hour (parse-non-negative-integer str 17 18)) - (minute (parse-non-negative-integer str 19 21)) - (second (parse-non-negative-integer str 22 24))) - (make-date 0 second minute hour date month year zone-offset))) - - (else - (bad-header 'date str) ; prevent tail call - #f)))) - (module-set! (resolve-module '(web http)) - 'parse-rfc-822-date parse-rfc-822-date)) - -;; XXX: Work around broken proxy handling on Guile 2.2 <= 2.2.2, fixed in -;; Guile commits 7d0d9e2c25c1e872cfc7d14ab5139915f1813d56 and -;; 6ad28ae3bc6a6d9e95ab7d70510d12c97673a143. See bug report at -;; . -(cond-expand - (guile-2.2 - (when (<= (string->number (micro-version)) 2) - (let () - (define put-symbol (@@ (web http) put-symbol)) - (define put-non-negative-integer - (@@ (web http) put-non-negative-integer)) - (define write-http-version - (@@ (web http) write-http-version)) - - (define (write-request-line method uri version port) - "Write the first line of an HTTP request to PORT." - (put-symbol port method) - (put-char port #\space) - (when (http-proxy-port? port) - (let ((scheme (uri-scheme uri)) - (host (uri-host uri)) - (host-port (uri-port uri))) - (when (and scheme host) - (put-symbol port scheme) - (put-string port "://") - (cond - ((string-index host #\:) ;<---- The fix is here! - (put-char port #\[) ;<---- And here! - (put-string port host) - (put-char port #\])) - (else - (put-string port host))) - (unless ((@@ (web uri) default-port?) scheme host-port) - (put-char port #\:) - (put-non-negative-integer port host-port))))) - (let ((path (uri-path uri)) - (query (uri-query uri))) - (if (string-null? path) - (put-string port "/") - (put-string port path)) - (when query - (put-string port "?") - (put-string port query))) - (put-char port #\space) - (write-http-version version port) - (put-string port "\r\n")) - - (module-set! (resolve-module '(web http)) 'write-request-line - write-request-line)))) - (else #t)) - (define (resolve-uri-reference ref base) "Resolve the URI reference REF, interpreted relative to the BASE URI, into a target URI, according to the algorithm specified in RFC 3986 section 5.2.2. diff --git a/guix/gexp.scm b/guix/gexp.scm index 8a59599c28..5912511530 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -82,6 +82,9 @@ (define-module (guix gexp) raw-derivation-file raw-derivation-file? + with-parameters + parameterized? + load-path-expression gexp-modules @@ -523,6 +526,62 @@ (define-gexp-compiler file-append-compiler (base (expand base lowered output))) (string-append base (string-concatenate suffix))))))) +;; Representation of SRFI-39 parameter settings in the dynamic scope of an +;; object lowering. +(define-record-type + (parameterized bindings thunk) + parameterized? + (bindings parameterized-bindings) ;list of parameter/value pairs + (thunk parameterized-thunk)) ;thunk + +(define-syntax-rule (with-parameters ((param value) ...) body ...) + "Bind each PARAM to the corresponding VALUE for the extent during which BODY +is lowered. Consider this example: + + (with-parameters ((%current-system \"x86_64-linux\")) + coreutils) + +It returns a object that ensures %CURRENT-SYSTEM is set to +x86_64-linux when COREUTILS is lowered." + (parameterized (list (list param (lambda () value)) ...) + (lambda () + body ...))) + +(define-gexp-compiler compile-parameterized + compiler => + (lambda (parameterized system target) + (match (parameterized-bindings parameterized) + (((parameters values) ...) + (let ((fluids (map parameter-fluid parameters)) + (thunk (parameterized-thunk parameterized))) + ;; Install the PARAMETERS for the dynamic extent of THUNK. + (with-fluids* fluids + (map (lambda (thunk) (thunk)) values) + (lambda () + ;; Special-case '%current-system' and '%current-target-system' to + ;; make sure we get the desired effect. + (let ((system (if (memq %current-system parameters) + (%current-system) + system)) + (target (if (memq %current-target-system parameters) + (%current-target-system) + target))) + (lower-object (thunk) system #:target target)))))))) + + expander => (lambda (parameterized lowered output) + (match (parameterized-bindings parameterized) + (((parameters values) ...) + (let ((fluids (map parameter-fluid parameters)) + (thunk (parameterized-thunk parameterized))) + ;; Install the PARAMETERS for the dynamic extent of THUNK. + (with-fluids* fluids + (map (lambda (thunk) (thunk)) values) + (lambda () + ;; Delegate to the expander of the wrapped object. + (let* ((base (thunk)) + (expand (lookup-expander base))) + (expand base lowered output))))))))) + ;;; ;;; Inputs & outputs. diff --git a/guix/import/cpan.scm b/guix/import/cpan.scm index 7a97c7f8e8..6bcd2ce9eb 100644 --- a/guix/import/cpan.scm +++ b/guix/import/cpan.scm @@ -181,9 +181,9 @@ (define (cpan-fetch name) or #f on failure. MODULE should be the distribution name, such as \"Test-Script\" for the \"Test::Script\" module." ;; This API always returns the latest release of the module. - (json->cpan-release - (json-fetch (string-append (%metacpan-base-url) "/release/" - name)))) + (and=> (json-fetch (string-append (%metacpan-base-url) "/release/" + name)) + json->cpan-release)) (define (cpan-home name) (string-append "https://metacpan.org/release/" name)) diff --git a/guix/import/pypi.scm b/guix/import/pypi.scm index 10450155a0..f93fa8831f 100644 --- a/guix/import/pypi.scm +++ b/guix/import/pypi.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 David Thompson ;;; Copyright © 2015 Cyril Roelandt -;;; Copyright © 2015, 2016, 2017, 2019 Ludovic Courtès +;;; Copyright © 2015, 2016, 2017, 2019, 2020 Ludovic Courtès ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2018 Ricardo Wurmus ;;; Copyright © 2019 Maxim Cournoyer @@ -43,6 +43,7 @@ (define-module (guix import pypi) #:use-module (guix import utils) #:use-module ((guix download) #:prefix download:) #:use-module (guix import json) + #:use-module (guix json) #:use-module (guix packages) #:use-module (guix upstream) #:use-module ((guix licenses) #:prefix license:) @@ -55,10 +56,67 @@ (define-module (guix import pypi) pypi->guix-package %pypi-updater)) +;; The PyPI API (notice the rhyme) is "documented" at: +;; . + +(define non-empty-string-or-false + (match-lambda + ("" #f) + ((? string? str) str) + ((or #nil #f) #f))) + +;; PyPI project. +(define-json-mapping make-pypi-project pypi-project? + json->pypi-project + (info pypi-project-info "info" json->project-info) ; + (last-serial pypi-project-last-serial "last_serial") ;integer + (releases pypi-project-releases "releases" ;string/* pairs + (match-lambda + (((versions . dictionaries) ...) + (map (lambda (version vector) + (cons version + (map json->distribution + (vector->list vector)))) + versions dictionaries)))) + (distributions pypi-project-distributions "urls" ;* + (lambda (vector) + (map json->distribution (vector->list vector))))) + +;; Project metadata. +(define-json-mapping make-project-info project-info? + json->project-info + (name project-info-name) ;string + (author project-info-author) ;string + (maintainer project-info-maintainer) ;string + (classifiers project-info-classifiers ;list of strings + "classifiers" vector->list) + (description project-info-description) ;string + (summary project-info-summary) ;string + (keywords project-info-keywords) ;string + (license project-info-license) ;string + (download-url project-info-download-url ;string | #f + "download_url" non-empty-string-or-false) + (home-page project-info-home-page ;string + "home_page") + (url project-info-url "project_url") ;string + (release-url project-info-release-url "release_url") ;string + (version project-info-version)) ;string + +;; Distribution: a URL along with cryptographic hashes and metadata. +(define-json-mapping make-distribution distribution? + json->distribution + (url distribution-url) ;string + (digests distribution-digests) ;list of string pairs + (file-name distribution-file-name "filename") ;string + (has-signature? distribution-has-signature? "hash_sig") ;Boolean + (package-type distribution-package-type "packagetype") ;"bdist_wheel" | ... + (python-version distribution-package-python-version + "python_version")) + (define (pypi-fetch name) - "Return an alist representation of the PyPI metadata for the package NAME, -or #f on failure." - (json-fetch (string-append "https://pypi.org/pypi/" name "/json"))) + "Return a record for package NAME, or #f on failure." + (and=> (json-fetch (string-append "https://pypi.org/pypi/" name "/json")) + json->pypi-project)) ;; For packages found on PyPI that lack a source distribution. (define-condition-type &missing-source-error &error @@ -67,22 +125,24 @@ (define-condition-type &missing-source-error &error (define (latest-source-release pypi-package) "Return the latest source release for PYPI-PACKAGE." - (let ((releases (assoc-ref* pypi-package "releases" - (assoc-ref* pypi-package "info" "version")))) + (let ((releases (assoc-ref (pypi-project-releases pypi-package) + (project-info-version + (pypi-project-info pypi-package))))) (or (find (lambda (release) - (string=? "sdist" (assoc-ref release "packagetype"))) - (vector->list releases)) + (string=? "sdist" (distribution-package-type release))) + releases) (raise (condition (&missing-source-error (package pypi-package))))))) (define (latest-wheel-release pypi-package) "Return the url of the wheel for the latest release of pypi-package, or #f if there isn't any." - (let ((releases (assoc-ref* pypi-package "releases" - (assoc-ref* pypi-package "info" "version")))) + (let ((releases (assoc-ref (pypi-project-releases pypi-package) + (project-info-version + (pypi-project-info pypi-package))))) (or (find (lambda (release) - (string=? "bdist_wheel" (assoc-ref release "packagetype"))) - (vector->list releases)) + (string=? "bdist_wheel" (distribution-package-type release))) + releases) #f))) (define (python->package-name name) @@ -411,23 +471,25 @@ (define pypi->guix-package (lambda* (package-name) "Fetch the metadata for PACKAGE-NAME from pypi.org, and return the `package' s-expression corresponding to that package, or #f on failure." - (let ((package (pypi-fetch package-name))) - (and package + (let* ((project (pypi-fetch package-name)) + (info (and project (pypi-project-info project)))) + (and project (guard (c ((missing-source-error? c) (let ((package (missing-source-error-package c))) (leave (G_ "no source release for pypi package ~a ~a~%") - (assoc-ref* package "info" "name") - (assoc-ref* package "info" "version"))))) - (let ((name (assoc-ref* package "info" "name")) - (version (assoc-ref* package "info" "version")) - (release (assoc-ref (latest-source-release package) "url")) - (wheel (assoc-ref (latest-wheel-release package) "url")) - (synopsis (assoc-ref* package "info" "summary")) - (description (assoc-ref* package "info" "summary")) - (home-page (assoc-ref* package "info" "home_page")) - (license (string->license (assoc-ref* package "info" "license")))) - (make-pypi-sexp name version release wheel home-page synopsis - description license)))))))) + (project-info-name info) + (project-info-version info))))) + (make-pypi-sexp (project-info-name info) + (project-info-version info) + (and=> (latest-source-release project) + distribution-url) + (and=> (latest-wheel-release project) + distribution-url) + (project-info-home-page info) + (project-info-summary info) + (project-info-summary info) + (string->license + (project-info-license info))))))))) (define (pypi-recursive-import package-name) (recursive-import package-name #f @@ -472,9 +534,10 @@ (define (latest-release package) (pypi-package (pypi-fetch pypi-name))) (and pypi-package (guard (c ((missing-source-error? c) #f)) - (let* ((metadata pypi-package) - (version (assoc-ref* metadata "info" "version")) - (url (assoc-ref (latest-source-release metadata) "url"))) + (let* ((info (pypi-project-info pypi-package)) + (version (project-info-version info)) + (url (distribution-url + (latest-source-release pypi-package)))) (upstream-source (package (package-name package)) (version version) diff --git a/guix/import/utils.scm b/guix/import/utils.scm index d17d400ddf..94c8cb040b 100644 --- a/guix/import/utils.scm +++ b/guix/import/utils.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2018, 2019 Ludovic Courtès +;;; Copyright © 2012, 2013, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2016 Jelle Licht ;;; Copyright © 2016 David Craven ;;; Copyright © 2017, 2019 Ricardo Wurmus @@ -47,7 +47,6 @@ (define-module (guix import utils) #:export (factorize-uri flatten - assoc-ref* url-fetch guix-hash-url @@ -110,13 +109,6 @@ (define (flatten lst) (cons elem memo))) '() lst)) -(define (assoc-ref* alist key . rest) - "Return the value for KEY from ALIST. For each additional key specified, -recursively apply the procedure to the sub-list." - (if (null? rest) - (assoc-ref alist key) - (apply assoc-ref* (assoc-ref alist key) rest))) - (define (url-fetch url file-name) "Save the contents of URL to FILE-NAME. Return #f on failure." (parameterize ((current-output-port (current-error-port))) diff --git a/guix/inferior.scm b/guix/inferior.scm index 0236fb61ad..6b685ece30 100644 --- a/guix/inferior.scm +++ b/guix/inferior.scm @@ -63,6 +63,9 @@ (define-module (guix inferior) inferior-eval inferior-eval-with-store inferior-object? + inferior-exception? + inferior-exception-arguments + inferior-exception-inferior read-repl-response inferior-packages @@ -195,8 +198,15 @@ (define (write-inferior-object object port) (set-record-type-printer! write-inferior-object) -(define (read-repl-response port) - "Read a (guix repl) response from PORT and return it as a Scheme object." +;; Reified exception thrown by an inferior. +(define-condition-type &inferior-exception &error + inferior-exception? + (arguments inferior-exception-arguments) ;key + arguments + (inferior inferior-exception-inferior)) ; | #f + +(define* (read-repl-response port #:optional inferior) + "Read a (guix repl) response from PORT and return it as a Scheme object. +Raise '&inferior-exception' when an exception is read from PORT." (define sexp->object (match-lambda (('value value) @@ -208,10 +218,13 @@ (define sexp->object (('values objects ...) (apply values (map sexp->object objects))) (('exception key objects ...) - (apply throw key (map sexp->object objects))))) + (raise (condition (&inferior-exception + (arguments (cons key (map sexp->object objects))) + (inferior inferior))))))) (define (read-inferior-response inferior) - (read-repl-response (inferior-socket inferior))) + (read-repl-response (inferior-socket inferior) + inferior)) (define (send-inferior-request exp inferior) (write exp (inferior-socket inferior)) diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm index c8d8546e29..652b4c63c4 100644 --- a/guix/scripts/pack.scm +++ b/guix/scripts/pack.scm @@ -365,6 +365,21 @@ (define build (define database #+database) (define entry-point #$entry-point) + (define (mksquashfs args) + (apply invoke "mksquashfs" + `(,@args + + ;; Do not create a "recovery file" when appending to the + ;; file system since it's useless in this case. + "-no-recovery" + + ;; Set file times and the file system creation time to + ;; one second after the Epoch. + "-all-time" "1" "-mkfs-time" "1" + + ;; Reset all UIDs and GIDs. + "-force-uid" "0" "-force-gid" "0"))) + (setenv "PATH" (string-append #$archiver "/bin")) ;; We need an empty file in order to have a valid file argument when @@ -376,92 +391,90 @@ (define entry-point #$entry-point) ;; Add all store items. Unfortunately mksquashfs throws away all ;; ancestor directories and only keeps the basename. We fix this ;; in the following invocations of mksquashfs. - (apply invoke "mksquashfs" - `(,@(map store-info-item - (call-with-input-file "profile" - read-reference-graph)) - #$environment - ,#$output + (mksquashfs `(,@(map store-info-item + (call-with-input-file "profile" + read-reference-graph)) + #$environment + ,#$output - ;; Do not perform duplicate checking because we - ;; don't have any dupes. - "-no-duplicates" - "-comp" - ,#+(compressor-name compressor))) + ;; Do not perform duplicate checking because we + ;; don't have any dupes. + "-no-duplicates" + "-comp" + ,#+(compressor-name compressor))) ;; Here we reparent the store items. For each sub-directory of ;; the store prefix we need one invocation of "mksquashfs". (for-each (lambda (dir) - (apply invoke "mksquashfs" - `(".empty" - ,#$output - "-root-becomes" ,dir))) + (mksquashfs `(".empty" + ,#$output + "-root-becomes" ,dir))) (reverse (string-tokenize (%store-directory) (char-set-complement (char-set #\/))))) ;; Add symlinks and mount points. - (apply invoke "mksquashfs" - `(".empty" - ,#$output - ;; Create SYMLINKS via pseudo file definitions. - ,@(append-map - (match-lambda - ((source '-> target) - ;; Create relative symlinks to work around a bug in - ;; Singularity 2.x: - ;; https://bugs.gnu.org/34913 - ;; https://github.com/sylabs/singularity/issues/1487 - (let ((target (string-append #$profile "/" target))) - (list "-p" - (string-join - ;; name s mode uid gid symlink - (list source - "s" "777" "0" "0" - (relative-file-name (dirname source) - target))))))) - '#$symlinks*) + (mksquashfs + `(".empty" + ,#$output + ;; Create SYMLINKS via pseudo file definitions. + ,@(append-map + (match-lambda + ((source '-> target) + ;; Create relative symlinks to work around a bug in + ;; Singularity 2.x: + ;; https://bugs.gnu.org/34913 + ;; https://github.com/sylabs/singularity/issues/1487 + (let ((target (string-append #$profile "/" target))) + (list "-p" + (string-join + ;; name s mode uid gid symlink + (list source + "s" "777" "0" "0" + (relative-file-name (dirname source) + target))))))) + '#$symlinks*) - "-p" "/.singularity.d d 555 0 0" + "-p" "/.singularity.d d 555 0 0" - ;; Create the environment file. - "-p" "/.singularity.d/env d 555 0 0" - "-p" ,(string-append - "/.singularity.d/env/90-environment.sh s 777 0 0 " - (relative-file-name "/.singularity.d/env" - #$environment)) + ;; Create the environment file. + "-p" "/.singularity.d/env d 555 0 0" + "-p" ,(string-append + "/.singularity.d/env/90-environment.sh s 777 0 0 " + (relative-file-name "/.singularity.d/env" + #$environment)) - ;; Create /.singularity.d/actions, and optionally the 'run' - ;; script, used by 'singularity run'. - "-p" "/.singularity.d/actions d 555 0 0" + ;; Create /.singularity.d/actions, and optionally the 'run' + ;; script, used by 'singularity run'. + "-p" "/.singularity.d/actions d 555 0 0" - ,@(if entry-point - `(;; This one if for Singularity 2.x. - "-p" - ,(string-append - "/.singularity.d/actions/run s 777 0 0 " - (relative-file-name "/.singularity.d/actions" - (string-append #$profile "/" - entry-point))) + ,@(if entry-point + `(;; This one if for Singularity 2.x. + "-p" + ,(string-append + "/.singularity.d/actions/run s 777 0 0 " + (relative-file-name "/.singularity.d/actions" + (string-append #$profile "/" + entry-point))) - ;; This one is for Singularity 3.x. - "-p" - ,(string-append - "/.singularity.d/runscript s 777 0 0 " - (relative-file-name "/.singularity.d" - (string-append #$profile "/" - entry-point)))) - '()) + ;; This one is for Singularity 3.x. + "-p" + ,(string-append + "/.singularity.d/runscript s 777 0 0 " + (relative-file-name "/.singularity.d" + (string-append #$profile "/" + entry-point)))) + '()) - ;; Create empty mount points. - "-p" "/proc d 555 0 0" - "-p" "/sys d 555 0 0" - "-p" "/dev d 555 0 0" - "-p" "/home d 555 0 0")) + ;; Create empty mount points. + "-p" "/proc d 555 0 0" + "-p" "/sys d 555 0 0" + "-p" "/dev d 555 0 0" + "-p" "/home d 555 0 0")) (when database ;; Initialize /var/guix. (install-database-and-gc-roots "var-etc" database #$profile) - (invoke "mksquashfs" "var-etc" #$output))))) + (mksquashfs `("var-etc" ,#$output)))))) (gexp->derivation (string-append name (compressor-extension compressor) diff --git a/guix/scripts/weather.scm b/guix/scripts/weather.scm index 629844768a..a9e0cba92a 100644 --- a/guix/scripts/weather.scm +++ b/guix/scripts/weather.scm @@ -175,8 +175,11 @@ (define queued #f ;no derivation information (lset-intersection string=? queued items))) -(define (report-server-coverage server items) - "Report the subset of ITEMS available as substitutes on SERVER." +(define* (report-server-coverage server items + #:key display-missing?) + "Report the subset of ITEMS available as substitutes on SERVER. +When DISPLAY-MISSING? is true, display the list of missing substitutes. +Return the coverage ratio, an exact number between 0 and 1." (define MiB (* (expt 2 20) 1.)) (format #t (G_ "looking for ~h store items on ~a...~%") @@ -260,7 +263,16 @@ (define MiB (* (expt 2 20) 1.)) system (* (throughput builds build-timestamp) 3600.)))) - (histogram build-system cons '() latest))))))) + (histogram build-system cons '() latest)))) + + (when (and display-missing? (not (null? missing))) + (newline) + (format #t (G_ "Substitutes are missing for the following items:~%")) + (format #t "~{ ~a~%~}" missing)) + + ;; Return the coverage ratio. + (let ((total (length items))) + (/ (- total (length missing)) total))))) ;;; @@ -280,6 +292,8 @@ (define (show-help) -c, --coverage[=COUNT] show substitute coverage for packages with at least COUNT dependents")) + (display (G_ " + --display-missing display the list of missing substitutes")) (display (G_ " -s, --system=SYSTEM consider substitutes for SYSTEM--e.g., \"i686-linux\"")) (newline) @@ -318,6 +332,9 @@ (define %options (alist-cons 'coverage (if arg (string->number* arg) 0) result))) + (option '("display-missing") #f #f + (lambda (opt name arg result) + (alist-cons 'display-missing? #t result))) (option '(#\s "system") #t #f (lambda (opt name arg result) (alist-cons 'system arg result))))) @@ -487,17 +504,19 @@ (define* (report-package-coverage server packages systems (define (guix-weather . args) (define (package-list opts) ;; Return the package list specified by OPTS. - (let ((file (assoc-ref opts 'manifest)) - (base (filter-map (match-lambda - (('argument . spec) - (specification->package spec)) - (_ - #f)) - opts))) - (if (and (not file) (null? base)) + (let ((files (filter-map (match-lambda + (('manifest . file) file) + (_ #f)) + opts)) + (base (filter-map (match-lambda + (('argument . spec) + (specification->package spec)) + (_ + #f)) + opts))) + (if (and (null? files) (null? base)) (all-packages) - (append base - (if file (load-manifest file) '()))))) + (append base (append-map load-manifest files))))) (with-error-handling (parameterize ((current-terminal-columns (terminal-columns)) @@ -524,14 +543,24 @@ (define (package-list opts) (lambda (system) (package-outputs packages system)) systems)))))) - (for-each (lambda (server) - (report-server-coverage server items) - (match (assoc-ref opts 'coverage) - (#f #f) - (threshold - (report-package-coverage server packages systems - #:threshold threshold)))) - urls))))) + (exit + (every (lambda (server) + (define coverage + (report-server-coverage server items + #:display-missing? + (assoc-ref opts 'display-missing?))) + (match (assoc-ref opts 'coverage) + (#f #f) + (threshold + ;; PACKAGES may include non-package objects coming from a + ;; manifest. Filter them out. + (report-package-coverage server + (filter package? packages) + systems + #:threshold threshold))) + + (= 1 coverage)) + urls)))))) ;;; Local Variables: ;;; eval: (put 'let/time 'scheme-indent-function 1) diff --git a/guix/ui.scm b/guix/ui.scm index fbe2b70485..6f1ca9c0b2 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -1218,16 +1218,23 @@ (define (maybe-break chr result) ;;; (define %text-width - (make-parameter (terminal-columns))) + ;; '*line-width*' was introduced in Guile 2.2.7/3.0.1. On older versions of + ;; Guile, monkey-patch 'wrap*' below. + (if (defined? '*line-width*) + (let ((parameter (fluid->parameter *line-width*))) + (parameter (terminal-columns)) + parameter) + (make-parameter (terminal-columns)))) -(set! (@@ (texinfo plain-text) wrap*) - ;; XXX: Monkey patch this private procedure to let 'package->recutils' - ;; parameterize the fill of description field correctly. - (lambda strings - (let ((indent (fluid-ref (@@ (texinfo plain-text) *indent*)))) - (fill-string (string-concatenate strings) - #:line-width (%text-width) #:initial-indent indent - #:subsequent-indent indent)))) +(unless (defined? '*line-width*) ;Guile < 2.2.7 + (set! (@@ (texinfo plain-text) wrap*) + ;; XXX: Monkey patch this private procedure to let 'package->recutils' + ;; parameterize the fill of description field correctly. + (lambda strings + (let ((indent (fluid-ref (@@ (texinfo plain-text) *indent*)))) + (fill-string (string-concatenate strings) + #:line-width (%text-width) #:initial-indent indent + #:subsequent-indent indent))))) (define (texi->plain-text str) "Return a plain-text representation of texinfo fragment STR." diff --git a/nix/local.mk b/nix/local.mk index dc5a8398b2..a64bdd2137 100644 --- a/nix/local.mk +++ b/nix/local.mk @@ -164,6 +164,16 @@ etc/guix-%.service: etc/guix-%.service.in \ "$<" > "$@.tmp"; \ mv "$@.tmp" "$@" +sysvinitservicedir = $(sysconfdir)/init.d +nodist_sysvinitservice_DATA = etc/init.d/guix-daemon + +etc/init.d/guix-daemon: etc/init.d/guix-daemon.in \ + $(top_builddir)/config.status + $(AM_V_GEN)$(MKDIR_P) "`dirname $@`"; \ + $(SED) -e 's|@''localstatedir''@|$(localstatedir)|' < \ + "$<" > "$@.tmp"; \ + mv "$@.tmp" "$@" + # The '.conf' jobs for Upstart. upstartjobdir = $(libdir)/upstart/system nodist_upstartjob_DATA = etc/guix-daemon.conf etc/guix-publish.conf @@ -177,7 +187,8 @@ etc/guix-%.conf: etc/guix-%.conf.in \ CLEANFILES += \ $(nodist_systemdservice_DATA) \ - $(nodist_upstartjob_DATA) + $(nodist_upstartjob_DATA) \ + $(nodist_sysvinitservice_DATA) EXTRA_DIST += \ %D%/AUTHORS \ @@ -185,7 +196,8 @@ EXTRA_DIST += \ etc/guix-daemon.service.in \ etc/guix-daemon.conf.in \ etc/guix-publish.service.in \ - etc/guix-publish.conf.in + etc/guix-publish.conf.in \ + etc/init.d/guix-daemon.in if CAN_RUN_TESTS diff --git a/tests/gexp.scm b/tests/gexp.scm index 9e38816c3d..6a42d3eb57 100644 --- a/tests/gexp.scm +++ b/tests/gexp.scm @@ -284,6 +284,44 @@ (define (match-input thing) (((thing "out")) (eq? thing file)))))) +(test-assertm "with-parameters for %current-system" + (mlet* %store-monad ((system -> (match (%current-system) + ("aarch64-linux" "x86_64-linux") + (_ "aarch64-linux"))) + (drv (package->derivation coreutils system)) + (obj -> (with-parameters ((%current-system system)) + coreutils)) + (result (lower-object obj))) + (return (string=? (derivation-file-name drv) + (derivation-file-name result))))) + +(test-assertm "with-parameters for %current-target-system" + (mlet* %store-monad ((target -> "riscv64-linux-gnu") + (drv (package->cross-derivation coreutils target)) + (obj -> (with-parameters + ((%current-target-system target)) + coreutils)) + (result (lower-object obj))) + (return (string=? (derivation-file-name drv) + (derivation-file-name result))))) + +(test-assert "with-parameters + file-append" + (let* ((system (match (%current-system) + ("aarch64-linux" "x86_64-linux") + (_ "aarch64-linux"))) + (drv (package-derivation %store coreutils system)) + (param (make-parameter 7)) + (exp #~(here we go #$(with-parameters ((%current-system system) + (param 42)) + (if (= (param) 42) + (file-append coreutils "/bin/touch") + %bootstrap-guile))))) + (match (gexp->sexp* exp) + (('here 'we 'go (? string? result)) + (string=? result + (string-append (derivation->output-path drv) + "/bin/touch")))))) + (test-assert "ungexp + ungexp-native" (let* ((exp (gexp (list (ungexp-native %bootstrap-guile) (ungexp coreutils) diff --git a/tests/inferior.scm b/tests/inferior.scm index f54b6d6037..b4417d8629 100644 --- a/tests/inferior.scm +++ b/tests/inferior.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2018, 2019 Ludovic Courtès +;;; Copyright © 2018, 2019, 2020 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -61,6 +61,17 @@ (define (manifest-entry->list entry) (close-inferior inferior) (list a (inferior-object? b)))))) +(test-equal "&inferior-exception" + '(a b c d) + (let ((inferior (open-inferior %top-builddir + #:command "scripts/guix"))) + (guard (c ((inferior-exception? c) + (close-inferior inferior) + (and (eq? inferior (inferior-exception-inferior c)) + (inferior-exception-arguments c)))) + (inferior-eval '(throw 'a 'b 'c 'd) inferior) + 'badness))) + (test-equal "inferior-packages" (take (sort (fold-packages (lambda (package lst) (cons (list (package-name package) diff --git a/tests/pypi.scm b/tests/pypi.scm index 43d45f1dd8..19af6e61fb 100644 --- a/tests/pypi.scm +++ b/tests/pypi.scm @@ -38,7 +38,10 @@ (define test-json \"license\": \"GNU LGPL\", \"summary\": \"summary\", \"home_page\": \"http://example.com\", + \"classifiers\": [], + \"download_url\": \"\" }, + \"urls\": [], \"releases\": { \"1.0.0\": [ {