diff options
123 files changed, 2514 insertions, 1203 deletions
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 <ludo@gnu.org> -;;; -;;; 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 <http://www.gnu.org/licenses/>. - -;;; -;;; 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 <ludo@gnu.org> +;;; +;;; 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 <http://www.gnu.org/licenses/>. + +;;; 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 @@ #: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 <ben@sturm.com.au> ;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com> ;;; Copyright © 2017 Christopher Allan Webber <cwebber@dustycloud.org> -;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2017, 2018, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018, 2019 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr> ;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com> @@ -813,12 +813,17 @@ connection alive.") (("^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 @@ late.") 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 <mbakke@fastmail.com> ;;; Copyright © 2017, 2019 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> +;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -866,8 +867,8 @@ the la4j library are: (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 @@ that can store up to 263 elements.") (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 <hoonandon@gmail.com> ;;; Copyright © 2019 Andy Tai <atai@atai.org> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> +;;; Copyright © 2020 Christopher Lemmer Webber <cwebber@dustycloud.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -342,3 +343,31 @@ Supported architectures are: @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 @@ PS, and DAB+.") #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 @@ buffers, and audio capture.") `(("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 @@ synthesizer written in C++.") (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 @@ surround).") (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 @@ surround).") (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 @@ Autobuild generates an HTML summary file, containing links to each build log. 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 @@ detection, and lossless compression.") (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 @@ completion for many common commands.") (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 @@ profiles (GO and KEGG) of gene and gene clusters.") (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 @@ manipulation of flow cytometry data.") (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 @@ manipulation of flow cytometry data.") ("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 @@ genes in the gene-set that are ranked above the leading edge).") (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 @@ genes in the gene-set that are ranked above the leading edge).") ("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 <maxim.cournoyer@gmail.com> ;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com> ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org> +;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -784,13 +785,13 @@ intended to behave exactly the same as the original BWK awk.") (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 @@ intended to behave exactly the same as the original BWK awk.") ;; (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 @@ Python.") (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 @@ quantitative phenotypes.") (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 @@ quantitative phenotypes.") "/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 @@ throughput genetic sequencing data sets using regression methods.") (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 @@ throughput genetic sequencing data sets using regression methods.") 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 @@ reading, writing, and exporting phylogenetic trees.") (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 @@ reading, writing, and exporting phylogenetic trees.") (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 @@ bgzipped text file that contains a pair of genomic coordinates per line.") (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 @@ bgzipped text file that contains a pair of genomic coordinates per line.") 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 <arunisaac@systemreboot.net> ;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com> -;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2018, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2019, 2020 Giacomo Leidi <goodoldpaul@autistici.org> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> @@ -216,6 +216,29 @@ across a broad spectrum of applications.") (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 @@ files.") `(#: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-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 @@ "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-public check (package (name "check") - (version "0.13.0") + (version "0.14.0") (source (origin (method url-fetch) @@ -87,7 +87,7 @@ 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 @@ tools such as @command{grep}.") (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 @@ decompression of some loosely related file formats used by Microsoft.") (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 <sandeepsubramanian94@gmail.com> ;;; Copyright © 2018 Charlie Ritter <chewzeirta@posteo.net> ;;; Copyright © 2018 Konrad Hinsen <konrad.hinsen@fastmail.net> -;;; Copyright © 2018 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de> +;;; Copyright © 2018, 2020 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de> ;;; Copyright © 2018 Laura Lazzati <laura.lazzati.15@gmail.com> ;;; Copyright © 2018 Leo Famulari <leo@famulari.name> ;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com> @@ -4066,20 +4066,22 @@ to variables on the left-hand side of the assignment.") (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 @@ specific S3-method.") (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 @@ contain lags, diffs and missing values.") (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 @@ movies, and TV shows.") (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 @@ conversion of indices such as Cohen's d, r, odds, etc.") (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 @@ conversion of indices such as Cohen's d, r, odds, etc.") ("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 @@ package provides a minimal R interface by relying on the Rcpp package.") (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 @@ maps.") (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 @@ maps.") ("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 @@ covariance functions for large data sets.") (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 @@ also provided to illustrate various methods.") (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 @@ package.") (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 @@ includes data sets from oceanography.") (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 @@ includes data sets from oceanography.") ("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 @@ be used further by e.g. graphic devices.") (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 @@ in pipelines.") (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 @@ translated to input syntax for the R packages @code{sem} and @code{lavaan}.") (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 @@ well as Ravand and Robitzsch (2015).") (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 @@ containing elevation data.") 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 @@ communication, encryption, decryption, signatures, etc.") (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 @@ communication, encryption, decryption, signatures, etc.") "/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-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 @@ "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 @@ should only be used as part of the Guix cups-pk-helper service.") (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 @@ Language.") (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 @@ Language.") version ".tar.gz")) (sha256 (base32 - "1pxyq37q4p7515by7k8hs3l3css68f3bm3akx99vw4m1rxwwbm63")) + "0fah6d50hldq0farxwr8mj3jnniwdz0d1wsha07nx37fc79h7wi1")) (patches (search-patches "mariadb-client-test-32bit.patch")) (modules '((guix build utils))) (snippet @@ -790,6 +790,7 @@ Language.") ;; See <https://jira.mariadb.org/browse/MDEV-7761>. "main.join_cache" "main.explain_non_select" + "main.stat_tables" "main.stat_tables_innodb" "roles.acl_statistics" @@ -825,6 +826,10 @@ Language.") (("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 @@ developed in C/C++ to MariaDB and MySQL databases.") (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 @@ including field and record folding."))) ("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 @@ Driver.") "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-public xxhash (package (name "xxhash") - (version "0.7.2") + (version "0.7.3") (source (origin (method git-fetch) @@ -34,7 +34,7 @@ (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 @@ tables, and it understands a variety of different formats.") (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 @@ and a @command{fsck.vfat} compatibility symlink for use in an initrd.") (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 @@ #: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 @@ built-in registry server of 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 @@ provisioning etc.") (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 @@ SPI, I2C, JTAG.") (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 @@ turbo speed, networked multiplayer, and graphical enhancements.") ("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 @@ older games.") 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 @@ play them on systems for which they were never designed!") ("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 @@ full programmatic control over your models.") ("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 @@ and in creating applications based on the Enlightenment Foundation Library suite (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 @@ and in creating applications based on the Enlightenment Foundation Library suite ("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-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 @@ 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 @@ programming} technique.") `(("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 @@ (("-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 @@ describe character bitmaps. It contains the bitmap data as well as some 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 @@ freedesktop.org project.") ;; 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 @@ to applications simultaneously competing for fingerprint readers.") (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 @@ encoding names are iconv-compatible.") (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 @@ reliability in mind.") (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 <timotej.lazar@araneo.si> ;;; Copyright © 2019 Josh Holland <josh@inv.alid.pw> ;;; Copyright © 2017, 2019 Hartmut Goebel <h.goebel@crazy-compilers.com> +;;; Copyright © 2020 Alberto Eleuterio Flores Guerrero <barbanegra+guix@posteo.mx> ;;; ;;; This file is part of GNU Guix. ;;; @@ -301,14 +302,14 @@ The game includes a built-in editor so you can design and share your own maps.") (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 @@ physics settings to tweak as well.") (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 @@ watch your CPU playing while enjoying a cup of tea!") (define-public nethack (package (name "nethack") - (version "3.6.5") + (version "3.6.6") (source (origin (method url-fetch) @@ -1126,7 +1127,7 @@ watch your CPU playing while enjoying a cup of tea!") (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 @@ Red Eclipse provides fast paced and accessible gameplay.") ("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 @@ original.") ("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 @@ best human chess grandmasters. It can be used with UCI-compatible GUIs like 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 @@ (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 @@ #: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 @@ ("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 @@ written in C, C++, Ada, Objective-C, Pascal and more.") ;; <https://bugs.gnu.org/37810>. (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 @@ written in C, C++, Ada, Objective-C, Pascal and more.") (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 @@ development.") ("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 @@ extension.") "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 @@ input file (in @code{.osm} or @code{.osm.pbf} format).") 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 @@ provided, as well as a framework to add new color models and data types.") (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 @@ provided, as well as a framework to add new color models and data types.") "/gegl-" version ".tar.xz"))) (sha256 (base32 - "1zrxnxlhn0jmshg4n2m2xlgi886w059ynkiiihm7rpi05fs8pg93")))) + "0q9cckf90fb82qc5d496fjz459f1xw4j4p3rff1f57yivx0yr20q")))) (build-system meson-build-system) (arguments `(#:configure-flags @@ -135,7 +135,7 @@ buffers.") (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 @@ buffers.") "/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 @@ also known as DXTn or DXTC) for Mesa.") (define-public mesa (package (name "mesa") - (version "19.3.2") + (version "19.3.4") (source (origin (method url-fetch) @@ -244,7 +244,7 @@ also known as DXTn or DXTC) for 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 @@ also known as DXTn or DXTC) for Mesa.") ("libxvmc" ,libxvmc) ,@(match (%current-system) ((or "x86_64-linux" "i686-linux") - `(("llvm" ,llvm-8))) + `(("llvm" ,llvm-9))) (_ `())) ("makedepend" ,makedepend) @@ -423,24 +423,6 @@ device drivers allows Mesa to be used in many different environments ranging 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 @@ Desktop. It is designed to be as simple as possible and has some unique 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 @@ USB transfers with your high-level application or system daemon.") (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 @@ USB transfers with your high-level application or system daemon.") (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 @@ mp3, Ogg Vorbis and FLAC") ("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 <mail@ambrevar.xyz> ;;; Copyright @ 2018, 2019 Katherine Cox-Buday <cox.katherine.e@gmail.com> ;;; Copyright @ 2019 Giovanni Biscuolo <g@xelera.eu> -;;; Copyright @ 2019 Alex Griffin <a@ajgrf.com> +;;; Copyright @ 2019, 2020 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2019 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us> ;;; @@ -1166,7 +1166,7 @@ GNU extensions} to the POSIX recommendations for command-line options.") (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 @@ GNU extensions} to the POSIX recommendations for command-line options.") 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 @@ test results.") 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 @@ coordinates as well as partial support for adjustments in global coordinate syst (define-public gpxsee (package (name "gpxsee") - (version "7.16") + (version "7.25") (source (origin (method git-fetch) (uri (git-reference @@ -187,7 +187,7 @@ coordinates as well as partial support for adjustments in global coordinate syst (file-name (git-file-name name version)) (sha256 (base32 - "1mkfhb2c9qafjpva600nyn6yik49l4q1k6id1xvrci37wsn6ijav")))) + "0lml3hz2zxljl9j5wnh7bn9bj8k9v3wf6bk3g77x9nnarsmw0fcx")))) (build-system gnu-build-system) (arguments '(#:phases @@ -208,8 +208,10 @@ coordinates as well as partial support for adjustments in global coordinate syst (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-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 @@ requirements.") (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 <ludo@gnu.org> -;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Theodoros Foradis <theodoros@foradis.org> ;;; Copyright © 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> @@ -236,6 +236,9 @@ write, and draw graphs using Python to access the Graphviz graph data 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 @@ application suites.") (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 @@ application suites.") 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 @@ Parcellite and adds bugfixes and features.") ("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 <pierre-antoine.rouby@inria.fr> ;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2019 swedebugia <swedebugia@riseup.net> -;;; Copyright © 2019 Amar Singh <nly@disroot.org> +;;; Copyright © 2019, 2020 Amar Singh <nly@disroot.org> ;;; Copyright © 2019 Timothy Sample <samplet@ngyro.com> ;;; ;;; This file is part of GNU Guix. @@ -3144,3 +3144,33 @@ models and also supports a rich set of boolean query operators.") (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 @@ without requiring the source code to be rewritten.") (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 <https://bugs.gnu.org/39208> 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 @@ versions of GHC (i.e., < 6.10).") (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 @@ versions of GHC (i.e., < 6.10).") ".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 <mail@ambrevar.xyz> +;;; Copyright © 2019, 2020 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; 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 @@ solutions, underpinned by a modular architecture focusing on confidentiality 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 @@ ;; 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 @@ script.") (define-public graphicsmagick (package (name "graphicsmagick") - (version "1.3.34") + (version "1.3.35") (source (origin (method url-fetch) @@ -183,7 +183,7 @@ script.") "/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 @@ (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 <mail@ambrevar.xyz> -;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -104,7 +104,7 @@ that are shared between @command{go-ipfs/commands} and its rewrite (define-public gx (package (name "gx") - (version "0.14.2") + (version "0.14.3") (source (origin (method git-fetch) @@ -113,7 +113,7 @@ that are shared between @command{go-ipfs/commands} and its rewrite (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 <julien@lepiller.eu> ;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -25,6 +25,7 @@ #: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-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 @@ compressor/decompressor.") (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 @@ compressor/decompressor.") (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 <boskovits@gmail.com> ;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2018, 2019 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2019 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> +;;; Copyright © 2019, 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -4322,7 +4322,7 @@ on the XPP3 API (XML Pull Parser)."))) (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 @@ the definition of common types in osgi packages.") (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 <jgrant@parenthetical.io> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,7 +28,7 @@ (define-public libffcall (package (name "libffcall") - (version "2.1") + (version "2.2") (source (origin (method url-fetch) @@ -35,9 +36,11 @@ "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 @@ wrapper for accessing libusb-1.0.") (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 <maxim.cournoyer@gmail.com> ;;; Copyright © 2019 Stefan Stefanović <stefanx2ovic@gmail.com> ;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com> -;;; Copyright © 2019 Brice Waegeneire <brice@waegenei.re> +;;; Copyright © 2019, 2020 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2019 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz> @@ -362,42 +362,42 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." "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 @@ intercept and print the system calls executed by the program.") (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 @@ intercept and print the system calls executed by the program.") 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 @@ MIDI functionality to the Linux-based operating system.") (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 @@ MIDI functionality to the Linux-based operating system.") (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 @@ to the in-kernel OOM killer.") (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 @@ to the in-kernel OOM killer.") ;; 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 @@ mapper. Kernel components are part of Linux-libre.") (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 @@ thanks to the use of namespaces.") _ 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 @@ thanks to the use of namespaces.") (("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 @@ Linux Device Mapper multipathing driver: (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 @@ Linux Device Mapper multipathing driver: name "-" version ".tar.gz"))) (sha256 (base32 - "0ajhzbqjwsmz51gwccfyw6w9k4j4gmxcl2ph30sfn2gxv0d8gkv2")))) + "14mlqdapjqq1dhpkdgy5z83mvsaz36fcxca7a4z6hinmr7r6415b")))) (build-system gnu-build-system) (arguments `(#:make-flags @@ -4046,7 +4079,8 @@ Bluetooth audio output devices like headphones or loudspeakers.") (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 @@ Bluetooth audio output devices like headphones or loudspeakers.") version ".tar.xz")) (sha256 (base32 - "02jng21lp6fb3c2bh6vf9y7cj4gaxwk29dfc32ncy0lj0gi4q57p")))) + "1g1qg6dz6hl3csrmz75ixr12lwv836hq3ckb259svvrg62l2vaiq")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -4111,6 +4145,14 @@ Bluetooth audio output devices like headphones or loudspeakers.") 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 @@ interface in sysfs, which can be accomplished with the included udev rules.") "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 @@ enough to play the original mainframe Zork all the way through.") (define-public txr (package (name "txr") - (version "232") + (version "233") (source (origin (method git-fetch) @@ -808,7 +808,7 @@ enough to play the original mainframe Zork all the way through.") (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 <rekado@elephly.net> -;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> @@ -1285,6 +1285,7 @@ Python.") (package (name "grpc") (version "1.16.1") + (outputs '("out" "static")) (source (origin (method git-fetch) (uri (git-reference @@ -1301,7 +1302,42 @@ Python.") (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 @@ INSTALL_RPATH " (assoc-ref outputs "out") "/lib)\n"))) (sha256 (base32 "161g9841rjfsy5pn52fcis0s9hdr7rxvb06pad38j5rppfihvign"))))) + ("grpc" ,grpc "static") ("googletest" ,googletest) ("swig" ,swig) ("unzip" ,unzip))) @@ -1752,7 +1789,7 @@ INSTALL_RPATH " (assoc-ref outputs "out") "/lib)\n"))) ("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 <pierre.langlois@gmx.com> ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com> -;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org> ;;; ;;; This file is part of GNU Guix. @@ -2954,8 +2954,8 @@ replacement for the @code{urlview} program.") (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 @@ replacement for the @code{urlview} program.") (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 @@ replacement for the @code{urlview} program.") `(("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-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 @@ 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 @@ Fresnel integrals, and similar related functions as well.") ("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 @@ linear algebra primitives specifically targeting graph analytics.") (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 @@ This package contains the basic DUNE geometry classes.") ;; 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 @@ This package contains the basic DUNE geometry classes.") (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 @@ This package contains the basic DUNE geometry classes.") ("openblas" ,openblas) ("openmpi" ,openmpi) ("python" ,python))) + (propagated-inputs + `(("dune-uggrid" ,dune-uggrid))) (native-inputs `(("gfortran" ,gfortran) ("pkg-config" ,pkg-config))) @@ -4792,29 +4756,14 @@ This package contains the basic DUNE grid classes.") (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 @@ assemble global function spaces on finite-element grids.") "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 @@ assemble global function spaces on finite-element grids.") (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 @@ implementation of the DUNE grid interface supporting either simplices or 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 @@ operating on statically typed trees of objects.") (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 @@ specified, recurse and return a mingw-w64 with support for winpthreads." (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 @@ a highly stable and efficient implementation.") '(#: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 <andreas@enge.fr> ;;; Copyright © 2017 Dave Love <fx@gnu.org> ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Paul Garlick <pgarlick@tourbillion-technology.com> ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net> ;;; @@ -169,7 +169,7 @@ bind processes, and much more.") (define-public openmpi (package (name "openmpi") - (version "4.0.2") + (version "4.0.3") (source (origin (method url-fetch) @@ -177,7 +177,7 @@ bind processes, and much more.") (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 @@ bind processes, and much more.") (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 @@ interface. It is implemented as a frontend to @code{klick}.") (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 @@ interface. It is implemented as a frontend to @code{klick}.") ".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 @@ discard bad quality ones. @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 <tonton@riseup.net> ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2018 Theodoros Foradis <theodoros@foradis.org> -;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2018, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018, 2020 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com> @@ -167,7 +167,7 @@ or, more generally, MAC addresses of the same category of hardware.") (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 @@ between different versions of ØMQ.") (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 <https://github.com/zeromq/cppzmq/issues/334>. + #: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 @@ test_parse_format_ipv(4(|_listen_all|_mapped_ipv6)|6)\\);") ("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 @@ maximum extent possible.") (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 <mhw@netris.org> ;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -34,7 +35,7 @@ (define-public nspr (package (name "nspr") - (version "4.24") + (version "4.25") (source (origin (method url-fetch) (uri (string-append @@ -42,13 +43,14 @@ 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 @@ in the Mozilla clients.") (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 @@ in the Mozilla clients.") "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 @@ in the Mozilla clients.") ;; leading to test failures: ;; <https://bugzilla.mozilla.org/show_bug.cgi?id=609734>. 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-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 @@ 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 <tsyesika@tsyesika.se> ;;; Copyright © 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org> -;;; Copyright © 2016, 2019 Alex Griffin <a@ajgrf.com> +;;; Copyright © 2016, 2019, 2020 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> @@ -46,6 +46,7 @@ #: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 @@ #: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 @@ using password-store through rofi interface: @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 <alainm@chromium.org> +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 <alainm@chromium.org> +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 @@ line tools for batch rendering @command{pdfdraw}, rewriting files (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 @@ implementation as used in cperl. It does not store the mocked overrides 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 @@ lexically, just dynamically.") `(("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 @@ etc built upon the Test2 testing library.") (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 @@ using @code{Test::Class}.") ("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 @@ specification.") (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 @@ code.") (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 @@ usually called epsilon. This module provides such a function for use with (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 @@ makes fork(2) safe to use in test cases.") (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 @@ cause a test fail unless it is exactly as @code{perltidy} would like it to be.") `(("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 @@ allowing data to be efficiently communicated between processes.") (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 @@ function call parameters to an arbitrary level of specificity.") (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 @@ done, how much is left to do, and estimate how long it will take.") (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 @@ done, how much is left to do, and estimate how long it will take.") "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 @@ colors, styles, options and details.") (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 @@ for overriding static files.") `(;; 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 <cmmarusich@gmail.com> ;;; Copyright © 2016 Danny Milosavljevic <dannym+a@scratchpost.org> ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org> -;;; Copyright © 2016, 2018-2019 Hartmut Goebel <h.goebel@crazy-compilers.com> +;;; Copyright © 2016, 2018, 2019 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2016 Daniel Pimentel <d4n1@d4n1.org> ;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2016, 2017 Troy Sankey <sankeytms@gmail.com> @@ -28,7 +28,6 @@ ;;; Copyright © 2016 David Craven <david@craven.ch> ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2016, 2017 Stefan Reichör <stefan@xsteve.at> -;;; Copyright © 2016 Dylan Jeffers <sapientech@sapientech@openmailbox.org> ;;; Copyright © 2016, 2017, 2019 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2016, 2017, 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2016, 2017, 2018, 2020 Julien Lepiller <julien@lepiller.eu> @@ -327,14 +326,14 @@ by @code{binstar}, @code{binstar-build} and @code{chalmers}.") (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 @@ e.g. filters, callbacks and errbacks can all be promises.") (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 @@ e.g. filters, callbacks and errbacks can all be promises.") (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 @@ for Python.") (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 @@ structure for Python.") (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 @@ reStructuredText.") (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 @@ provides additional functionality on the produced Mallard documents.") (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 @@ provides additional functionality on the produced Mallard documents.") (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 <https://hydra.gnu.org/build/2948724> 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 @@ Python code against some of the style conventions in (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 @@ installing @code{kernelspec}s for use with Jupyter frontends.") (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 @@ you're careful. The @code{backcall} package provides a way of specifying the 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") @@ -5736,6 +5732,70 @@ computing.") 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))) (define-public python-ipython-documentation @@ -8164,6 +8224,7 @@ in the data.") (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 @@ Jupyter kernels such as IJulia and IRKernel.") (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 @@ be set via config files and/or environment variables.") (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 @@ python-xdo for newer bindings.)") (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 @@ docstring and colored output.") (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 @@ focus on building massively scalable web applications.") (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 @@ Record Format (DWARF).") (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 @@ Supported metrics are: @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 @@ developers using C++ or QML, a CSS & JavaScript like language.") (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 @@ developers using C++ or QML, a CSS & JavaScript like language.") 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 <https://lists.gnu.org/archive/html/guix-devel/2020-02/msg00308.html>. -(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 @@ reporter.") (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 @@ utility functions for all standard Scheme implementations.") (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 @@ for parsing HTML files.") `(#: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-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 @@ and file system operations. It is used by all skarnet.org software.") (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 @@ complexity."))) (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 @@ functionality with a very small amount of code."))) (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 @@ as an alternative to the BIND, djbdns or other DNS clients."))) (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 @@ clock synchronization."))) (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 @@ environment."))) (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 @@ systems and other constrained environments, but they work everywhere."))) (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 @@ all the details."))) (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 @@ sources.") ,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 <rekado@elephly.net> +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015 Vicente Vera Parra <vicentemvp@gmail.com> ;;; Copyright © 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il> @@ -1983,20 +1983,21 @@ and environmental data in the framework of Euclidean exploratory methods.") (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 @@ tables, autolinks and strikethrough text.") (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 @@ tables, autolinks and strikethrough text.") ("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 @@ expected shortfall risk are also included.") (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 @@ Companion to Applied Regression, Third Edition, Sage.") (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 @@ Companion to Applied Regression, Third Edition, Sage.") ("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 @@ genome-wide association studies can be analyzed efficiently.") (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 @@ runs Word\".") (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 <ng0@n0.is> ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2017, 2018, 2019, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org> @@ -537,13 +537,13 @@ netcat implementation that supports TLS.") (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 @@ netcat implementation that supports TLS.") (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 <a@ajgrf.com> ;;; Copyright © 2020 Roel Janssen <roel@gnu.org> ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> +;;; Copyright © 2020 John D. Boy <jboy@bius.moe> ;;; ;;; This file is part of GNU Guix. ;;; @@ -551,6 +552,75 @@ everything from small to very large projects with speed and efficiency.") ("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 @@ will work.") "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 <roel@gnu.org> ;;; Copyright © 2018, 2019, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz> -;;; Copyright © 2018, 2019 Leo Famulari <leo@famulari.name> +;;; Copyright © 2018, 2019, 2020 Leo Famulari <leo@famulari.name> ;;; Copyright © 2018 Brendan Tildesley <mail@brendan.scot> ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> @@ -1687,7 +1687,7 @@ other site that youtube-dl supports.") (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 @@ other site that youtube-dl supports.") (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 @@ Other features include a live preview and live streaming.") ("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 @@ create smoother and stable videos.") (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 @@ create smoother and stable videos.") (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 @@ Theora videos. Theorafile was written to be used for FNA's VideoPlayer.") 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 @@ trouble using them, because you do not have to remember each snippet name.") (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 @@ Interface} specification.") ;; ’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 @@ parser written in ANSI C and a small validating JSON generator.") "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 @@ development server with Starman.") (define-public perl-cgi (package (name "perl-cgi") - (version "4.44") + (version "4.46") (source (origin (method url-fetch) @@ -2633,7 +2633,7 @@ development server with Starman.") "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 @@ IO::Socket::INET, so you can perform socket operations directly on it too.") (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 @@ not have DNS. We might not have a network card at all!") (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 @@ file links.") (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 @@ the Internet to a local directory, building recursively all directories, 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 @@ engine that uses Wayland for graphics output.") (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 @@ tiled on several screens.") (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 @@ and many other languages.") `(("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 <david@daviwil.com> ;;; Copyright © 2020 Ivan Vilata i Balaguer <ivan@selidor.net> ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> +;;; Copyright © 2020 Damien Cassou <damien@cassou.me> ;;; ;;; This file is part of GNU Guix. ;;; @@ -526,7 +527,7 @@ and Matrox.") (define-public mtdev (package (name "mtdev") - (version "1.1.5") + (version "1.1.6") (source (origin (method url-fetch) @@ -535,8 +536,9 @@ and Matrox.") 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 @@ shows it again when the mouse cursor moves or a mouse button is pressed.") (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 @@ shows it again when the mouse cursor moves or a mouse button is pressed.") "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 @@ shows it again when the mouse cursor moves or a mouse button is pressed.") ("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 @@ The cutbuffer and clipboard selection are always synchronized.") (define-public jgmenu (package (name "jgmenu") - (version "4.0.1") + (version "4.1.0") (source (origin (method git-fetch) @@ -1982,7 +1984,7 @@ The cutbuffer and clipboard selection are always synchronized.") (file-name (git-file-name name version)) (sha256 (base32 - "1q0rpg2d96sn3rrdi8m7bngnxxqyxilpjxi7skiw4gvpiv1akxjp")))) + "1wsh37rapb1bszlq36hvwxqvfds39hbvbl152m8as4zlh93wfvvk")))) (build-system gnu-build-system) (native-inputs `(("cppcheck" ,cppcheck) @@ -2118,3 +2120,115 @@ font and theme settings when a complete desktop environment (GNOME, KDE) is 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 @@ (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 @@ applications, and includes a search bar to search for applications.") (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 @@ allows you to shutdown the computer from Xfce.") (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 @@ like appearance, display, keyboard and mouse settings.") (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 @@ inhibit interface which allows applications to prevent automatic sleep.") (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 @@ memory usage graphically, and it can display processes as a tree.") (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 @@ sending standard messages over D-Bus using the (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 @@ of data to either CD/DVD/BD.") (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 @@ of data to either CD/DVD/BD.") (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 @@ A plugin for the Xfce panel is also available.") (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 @@ A plugin for the Xfce panel is also available.") (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 @@ core or CPU.") (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 @@ watch your every step.") (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 @@ each time a new earthquake occurs.") (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 @@ and a calendar appears when you left-click on it.") (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 @@ precedence rules, and the following functions and common constants.") (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 @@ governor and frequencies supported and used by your system.") (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 @@ performance (bytes transferred per second).") (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 @@ this very convenient.") (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 @@ be clicked to open the chosen mount point.") (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 @@ button and a personalized tooltip.") (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 @@ Caps, Scroll and Num Lock in Xfce panel.") (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 @@ multi-mailbox mail watcher. Currently, the protocols supported are: (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 @@ right-click menu (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 @@ mounted or when unmounting fails.") (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 @@ interfaces of your choice in the panel.") (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 @@ opens up a menu with the following: (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 @@ favorite search engine or bug tracker right from the Xfce panel.") (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 @@ freedesktop.org specification.") (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 @@ freedesktop.org specification.") (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 @@ swap space and the system uptime in the Xfce4 panel.") (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 @@ time.") (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 @@ period.") (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 @@ for the Xfce panel. It supports several features, such as: (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 @@ lan interface (signal state, signal quality, network name (SSID)).") (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 <jmd@gnu.org> ;;; Copyright © 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com> -;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net> +;;; Copyright © 2017, 2020 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com> @@ -2402,7 +2402,7 @@ XC-APPGROUP, XTEST.") (define-public libevdev (package (name "libevdev") - (version "1.5.9") + (version "1.8.0") (source (origin (method url-fetch) @@ -2410,10 +2410,11 @@ XC-APPGROUP, XTEST.") 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 @@ extension to the X11 protocol. It includes: (define-public xkeyboard-config (package (name "xkeyboard-config") - (version "2.28") + (version "2.29") (source (origin (method url-fetch) @@ -3868,15 +3869,16 @@ extension to the X11 protocol. It includes: ".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 @@ X11 servers, Windows, or macOS.") (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 @@ X11 servers, Windows, or macOS.") ;; 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 <bavier@member.fsf.org> ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -51,7 +52,7 @@ "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 @@ (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 @@ (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 <mail@cbaines.net> ;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2019 Florian Pelz <pelzflorian@pelzflorian.de> +;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1670,12 +1671,14 @@ WSGIPassAuthorization On #~(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 @@ WSGIPassAuthorization On '(#$(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 @@ VERIFY-CERTIFICATE? is true, verify HTTPS server certificates." 'set-port-encoding! (lambda (p e) #f)) -;; XXX: Work around <http://bugs.gnu.org/23421>, 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 -;; <https://lists.gnu.org/archive/html/guix-devel/2017-11/msg00070.html>. -(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 @@ raw-derivation-file raw-derivation-file? + with-parameters + parameterized? + load-path-expression gexp-modules @@ -523,6 +526,62 @@ SUFFIX." (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> + (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 <parameterized> 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 <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 @@ return \"Test-Simple\"" 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 <davet@gnu.org> ;;; Copyright © 2015 Cyril Roelandt <tipecaml@gmail.com> -;;; Copyright © 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2015, 2016, 2017, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com> @@ -43,6 +43,7 @@ #: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 @@ pypi->guix-package %pypi-updater)) +;; The PyPI API (notice the rhyme) is "documented" at: +;; <https://warehouse.readthedocs.io/api-reference/json/>. + +(define non-empty-string-or-false + (match-lambda + ("" #f) + ((? string? str) str) + ((or #nil #f) #f))) + +;; PyPI project. +(define-json-mapping <pypi-project> make-pypi-project pypi-project? + json->pypi-project + (info pypi-project-info "info" json->project-info) ;<project-info> + (last-serial pypi-project-last-serial "last_serial") ;integer + (releases pypi-project-releases "releases" ;string/<distribution>* pairs + (match-lambda + (((versions . dictionaries) ...) + (map (lambda (version vector) + (cons version + (map json->distribution + (vector->list vector)))) + versions dictionaries)))) + (distributions pypi-project-distributions "urls" ;<distribution>* + (lambda (vector) + (map json->distribution (vector->list vector))))) + +;; Project metadata. +(define-json-mapping <project-info> 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 <distribution> 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 <pypi-project> 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 @@ or #f on failure." (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 @@ VERSION, SOURCE-URL, HOME-PAGE, SYNOPSIS, DESCRIPTION, and LICENSE." (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 @@ VERSION, SOURCE-URL, HOME-PAGE, SYNOPSIS, DESCRIPTION, and LICENSE." (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 <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016 Jelle Licht <jlicht@fsfe.org> ;;; Copyright © 2016 David Craven <david@craven.ch> ;;; Copyright © 2017, 2019 Ricardo Wurmus <rekado@elephly.net> @@ -47,7 +47,6 @@ #:export (factorize-uri flatten - assoc-ref* url-fetch guix-hash-url @@ -110,13 +109,6 @@ of the string VERSION is replaced by the symbol 'version." (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 @@ 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 @@ equivalent. Return #f if the inferior could not be launched." (set-record-type-printer! <inferior-object> 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)) ;<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 @@ equivalent. Return #f if the inferior could not be launched." (('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 @@ added to the pack." (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 @@ added to the pack." ;; 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 - - ;; Do not perform duplicate checking because we - ;; don't have any dupes. - "-no-duplicates" - "-comp" - ,#+(compressor-name compressor))) + (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))) ;; 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*) - - "-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 /.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))) - - ;; 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")) + (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" + + ;; 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" + + ,@(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)))) + '()) + + ;; 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 @@ about the derivations queued, as is the case with Hydra." #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 @@ are queued~%") 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))))) ;;; @@ -281,6 +293,8 @@ Report the availability of substitutes.\n")) 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) (display (G_ " @@ -318,6 +332,9 @@ Report the availability of substitutes.\n")) (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 @@ SERVER. Display information for packages with at least THRESHOLD dependents." (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 @@ SERVER. Display information for packages with at least THRESHOLD dependents." (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 @@ converted to a space; sequences of more than one line break are preserved." ;;; (define %text-width - (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)))) + ;; '*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)))) + +(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 @@ (((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 <ludo@gnu.org> +;;; Copyright © 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -61,6 +61,17 @@ (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 @@ \"license\": \"GNU LGPL\", \"summary\": \"summary\", \"home_page\": \"http://example.com\", + \"classifiers\": [], + \"download_url\": \"\" }, + \"urls\": [], \"releases\": { \"1.0.0\": [ { |