Merge branch 'master' into staging
authorMarius Bakke <mbakke@fastmail.com>
Wed, 23 Oct 2019 18:48:55 +0000 (20:48 +0200)
committerMarius Bakke <mbakke@fastmail.com>
Wed, 23 Oct 2019 18:48:55 +0000 (20:48 +0200)
1  2 
gnu/local.mk
gnu/packages/cran.scm
gnu/packages/databases.scm
gnu/packages/emacs-xyz.scm
gnu/packages/linux.scm
gnu/packages/pdf.scm
gnu/packages/python-xyz.scm
gnu/packages/tls.scm
gnu/packages/video.scm
gnu/packages/web.scm

diff --combined gnu/local.mk
@@@ -425,6 -425,7 +425,7 @@@ GNU_SYSTEM_MODULES =                               
    %D%/packages/ruby.scm                               \
    %D%/packages/rush.scm                               \
    %D%/packages/rust.scm                               \
+   %D%/packages/rust-cbindgen.scm              \
    %D%/packages/samba.scm                      \
    %D%/packages/sagemath.scm                   \
    %D%/packages/sawfish.scm                    \
    %D%/system/vm.scm                           \
                                                \
    %D%/machine.scm                             \
+   %D%/machine/digital-ocean.scm                       \
    %D%/machine/ssh.scm                         \
                                                \
    %D%/build/accounts.scm                      \
@@@ -704,6 -706,7 +706,7 @@@ dist_patch_DATA =                                          
    %D%/packages/patches/ath9k-htc-firmware-objcopy.patch               \
    %D%/packages/patches/audacity-build-with-system-portaudio.patch \
    %D%/packages/patches/automake-skip-amhello-tests.patch      \
+   %D%/packages/patches/avahi-CVE-2018-1000845.patch           \
    %D%/packages/patches/avahi-localstatedir.patch              \
    %D%/packages/patches/avogadro-boost148.patch                        \
    %D%/packages/patches/avogadro-eigen3-update.patch           \
    %D%/packages/patches/guile-relocatable.patch                        \
    %D%/packages/patches/guile-rsvg-pkgconfig.patch             \
    %D%/packages/patches/guile-emacs-fix-configure.patch                \
 -  %D%/packages/patches/gstreamer-buffer-reset-offset.patch    \
    %D%/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch      \
    %D%/packages/patches/gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch \
    %D%/packages/patches/gtk2-theme-paths.patch                 \
    %D%/packages/patches/kodi-increase-test-timeout.patch               \
    %D%/packages/patches/kodi-set-libcurl-ssl-parameters.patch          \
    %D%/packages/patches/kodi-skip-test-449.patch               \
 +  %D%/packages/patches/kwindowsystem-qt-compat.patch          \
    %D%/packages/patches/laby-make-install.patch                        \
    %D%/packages/patches/lcalc-default-parameters-1.patch               \
    %D%/packages/patches/lcalc-default-parameters-2.patch               \
    %D%/packages/patches/mcrypt-CVE-2012-4426.patch                     \
    %D%/packages/patches/mcrypt-CVE-2012-4527.patch                     \
    %D%/packages/patches/mesa-skip-disk-cache-test.patch                \
 +  %D%/packages/patches/mesa-timespec-test-32bit.patch         \
    %D%/packages/patches/mescc-tools-boot.patch                 \
    %D%/packages/patches/meson-for-build-rpath.patch            \
    %D%/packages/patches/metabat-fix-compilation.patch          \
    %D%/packages/patches/openssl-c-rehash-in.patch              \
    %D%/packages/patches/openssl-CVE-2019-1559.patch            \
    %D%/packages/patches/open-zwave-hidapi.patch                        \
 +  %D%/packages/patches/orc-typedef-enum.patch                 \
    %D%/packages/patches/orpheus-cast-errors-and-includes.patch \
    %D%/packages/patches/osip-CVE-2017-7853.patch                       \
    %D%/packages/patches/ots-no-include-missing-file.patch      \
    %D%/packages/patches/pygpgme-disable-problematic-tests.patch  \
    %D%/packages/patches/pyqt-configure.patch                   \
    %D%/packages/patches/pyqt-public-sip.patch                  \
 +  %D%/packages/patches/pyqt-unbundled-qt.patch                        \
    %D%/packages/patches/python-2-deterministic-build-info.patch        \
    %D%/packages/patches/python-2.7-adjust-tests.patch          \
    %D%/packages/patches/python-2.7-search-paths.patch          \
    %D%/packages/patches/python-waitress-fix-tests.patch                \
    %D%/packages/patches/qemu-glibc-2.27.patch                  \
    %D%/packages/patches/qt4-ldflags.patch                      \
 -  %D%/packages/patches/qtbase-old-kernel.patch                        \
    %D%/packages/patches/qtbase-use-TZDIR.patch                 \
    %D%/packages/patches/qtscript-disable-tests.patch           \
    %D%/packages/patches/quagga-reproducible-build.patch          \
    %D%/packages/patches/rust-coresimd-doctest.patch            \
    %D%/packages/patches/rust-reproducible-builds.patch          \
    %D%/packages/patches/rxvt-unicode-escape-sequences.patch    \
+   %D%/packages/patches/sbcl-graph-asdf-definitions.patch      \
    %D%/packages/patches/scalapack-blacs-mpi-deprecations.patch \
    %D%/packages/patches/scheme48-tests.patch                   \
    %D%/packages/patches/scotch-build-parallelism.patch         \
    %D%/packages/patches/scotch-integer-declarations.patch      \
    %D%/packages/patches/sdl-libx11-1.6.patch                   \
 +  %D%/packages/patches/sdl2-mesa-compat.patch                 \
+   %D%/packages/patches/seahorse-gkr-use-0-on-empty-flags.patch        \
    %D%/packages/patches/seq24-rename-mutex.patch                       \
    %D%/packages/patches/sharutils-CVE-2018-1000097.patch               \
    %D%/packages/patches/shishi-fix-libgcrypt-detection.patch   \
    %D%/packages/patches/wavpack-CVE-2018-6767.patch            \
    %D%/packages/patches/wavpack-CVE-2018-7253.patch            \
    %D%/packages/patches/wavpack-CVE-2018-7254.patch            \
+   %D%/packages/patches/weasyprint-library-paths.patch         \
    %D%/packages/patches/wicd-bitrate-none-fix.patch            \
    %D%/packages/patches/wicd-get-selected-profile-fix.patch    \
    %D%/packages/patches/wicd-urwid-1.3.patch                   \
diff --combined gnu/packages/cran.scm
@@@ -2688,8 -2688,7 +2688,8 @@@ dimensioned arrays."
      (properties `((upstream-name . "RMySQL")))
      (build-system r-build-system)
      (inputs
 -     `(("mariadb" ,mariadb)
 +     `(("mariadb" ,mariadb "lib")
 +       ("mariadb-dev" ,mariadb "dev")
         ("zlib" ,zlib)))
      (propagated-inputs
       `(("r-dbi" ,r-dbi)))
@@@ -3089,14 -3088,13 +3089,13 @@@ color labels, layout, etc."
  (define-public r-stringdist
    (package
      (name "r-stringdist")
-     (version "0.9.5.3")
+     (version "0.9.5.5")
      (source
       (origin
         (method url-fetch)
         (uri (cran-uri "stringdist" version))
         (sha256
-         (base32
-          "1vbhn6qwj3bzplhq06bw1yqqq1qpf1zinnj27cr7pf1nqsbyx2nq"))))
+         (base32 "1dqfakclzaf878x7mhwmqrcpcql2h9cv19fz5f3ygpajf3si5kqi"))))
      (build-system r-build-system)
      (home-page "https://github.com/markvanderloo/stringdist")
      (synopsis "Approximate string matching and string distance functions")
@@@ -8728,21 -8726,20 +8727,20 @@@ and related methods."
  (define-public r-rcppgsl
    (package
      (name "r-rcppgsl")
-     (version "0.3.6")
+     (version "0.3.7")
      (source
       (origin
         (method url-fetch)
         (uri (cran-uri "RcppGSL" version))
         (sha256
-         (base32
-          "16pdapq31729db53agnb48jkvdm97167n3bigy5zazc3q3isis1m"))))
+         (base32 "0cnw2k7cfqrm79r6j283aybflxig80x4n4rjkfp2317wf10mrsa5"))))
      (properties `((upstream-name . "RcppGSL")))
      (build-system r-build-system)
      (propagated-inputs
       `(("r-rcpp" ,r-rcpp)
         ("gsl" ,gsl)))
      (native-inputs
-      `(("r-knitr" ,r-knitr))) ; for vignettes
+      `(("r-knitr" ,r-knitr)))           ; for vignettes
      (home-page "https://cran.r-project.org/web/packages/RcppGSL/")
      (synopsis "Rcpp integration for GSL vectors and matrices")
      (description
@@@ -216,6 -216,68 +216,68 @@@ standard Go idioms."
      (home-page "http://labix.org/mgo")
      (license license:bsd-2)))
  
+ (define-public ephemeralpg
+   (package
+     (name "ephemeralpg")
+     (version "2.8")
+     (source
+      (origin
+        (method url-fetch)
+        (uri (string-append
+              "http://eradman.com/ephemeralpg/code/ephemeralpg-"
+              version ".tar.gz"))
+        (sha256
+         (base32 "1dpfxsd8a52psx3zlfbqkw53m35w28qwyb87a8anz143x6gnkkr4"))))
+     (build-system gnu-build-system)
+     (arguments
+      '(#:make-flags (list "CC=gcc"
+                           (string-append "PREFIX=" %output))
+        #:phases
+        (modify-phases %standard-phases
+          (delete 'configure)
+          (replace 'check
+            (lambda* (#:key inputs #:allow-other-keys)
+              ;; The intention for one test is to test without PostgreSQL on
+              ;; the $PATH, so replace the test $PATH with just the util-linux
+              ;; bin, which contains getopt. It will hopefully be possible to
+              ;; remove this for releases after 2.8.
+              (substitute* "test.rb"
+                (("/bin:/usr/bin")
+                 (string-append (assoc-ref inputs "util-linux")
+                                "/bin")))
+              ;; Set the LC_ALL=C as some tests use sort, and the locale
+              ;; affects the order. It will hopefully be possible to remove
+              ;; this for releases after 2.8.
+              (setenv "LC_ALL" "C")
+              (invoke "ruby" "test.rb")
+              #t))
+          (add-after 'install 'wrap
+            (lambda* (#:key inputs outputs #:allow-other-keys)
+              (let ((out (assoc-ref outputs "out")))
+                (wrap-program (string-append out "/bin/pg_tmp")
+                  `("PATH" ":" prefix
+                    (,(string-append (assoc-ref inputs "util-linux")
+                                     "/bin")
+                     ,(string-append (assoc-ref inputs "postgresql")
+                                     "/bin")
+                     ;; For getsocket
+                     ,(string-append out "/bin")))))
+              #t)))))
+     (inputs
+      `(("postgresql" ,postgresql)
+        ("util-linux" ,util-linux)))
+     (native-inputs
+      `(("ruby" ,ruby)))
+     (home-page "http://eradman.com/ephemeralpg/")
+     (synopsis "Run temporary PostgreSQL databases")
+     (description
+      "@code{pg_tmp} creates temporary PostgreSQL databases, suitable for tasks
+ like running software test suites.  Temporary databases created with
+ @code{pg_tmp} have a limited shared memory footprint and are automatically
+ garbage-collected after a configurable number of seconds (the default is
+ 60).")
+     (license license:isc)))
  (define-public es-dump-restore
    (package
      (name "es-dump-restore")
@@@ -436,7 -498,7 +498,7 @@@ replacement for the code@{python-memcac
                  (search-patch "mongodb-support-unknown-linux-distributions.patch")))))
      (build-system scons-build-system)
      (inputs
-      `(("openssl" ,openssl)
+      `(("openssl" ,openssl-1.0)
         ("pcre" ,pcre)
          ,@(match (%current-system)
              ((or "x86_64-linux" "aarch64-linux" "mips64el-linux")
                  ,(format #f "--jobs=~a" (parallel-job-count))
                  "--ssl")))
           (modify-phases %standard-phases
+            (add-after 'unpack 'patch
+              (lambda _
+                ;; Remove use of GNU extensions in parse_number_test.cpp, to
+                ;; allow compiling with GCC 7 or later
+                ;; https://jira.mongodb.org/browse/SERVER-28063
+                (substitute* "src/mongo/base/parse_number_test.cpp"
+                  (("0xabcab\\.defdefP-10")
+                   "687.16784283419838"))
+                #t))
             (add-after 'unpack 'scons-propagate-environment
               (lambda _
                 ;; Modify the SConstruct file to arrange for
@@@ -644,11 -715,9 +715,11 @@@ Language."
                                      (find-files "pcre") (find-files "zlib")))
                    #t))))
      (build-system cmake-build-system)
 +    (outputs '("out" "lib" "dev"))
      (arguments
       `(#:configure-flags
 -       '("-DBUILD_CONFIG=mysql_release"
 +       (list
 +         "-DBUILD_CONFIG=mysql_release"
           ;; Linking with libarchive fails, like this:
  
           ;; ld: /gnu/store/...-libarchive-3.2.2/lib/libarchive.a(archive_entry.o):
           "-DDEFAULT_COLLATION=utf8_general_ci"
           "-DMYSQL_DATADIR=/var/lib/mysql"
           "-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock"
 -         "-DINSTALL_INFODIR=share/mysql/docs"
 -         "-DINSTALL_MANDIR=share/man"
 +         (string-append "-DCMAKE_INSTALL_PREFIX=" (assoc-ref %outputs "lib"))
 +         (string-append "-DCMAKE_INSTALL_RPATH=" (assoc-ref %outputs "lib")
 +                        "/lib")
 +         (string-append "-DINSTALL_INFODIR=" (assoc-ref %outputs "out")
 +                        "/share/mysql/docs")
 +         (string-append "-DINSTALL_MANDIR=" (assoc-ref %outputs "out")
 +                        "/share/man")
 +         (string-append "-DINSTALL_SCRIPTDIR=" (assoc-ref %outputs "out") "/bin")
 +         (string-append "-DINSTALL_BINDIR=" (assoc-ref %outputs "out") "/bin")
 +         "-DCMAKE_INSTALL_LIBDIR=lib"
           "-DINSTALL_PLUGINDIR=lib/mysql/plugin"
 -         "-DINSTALL_SCRIPTDIR=bin"
 -         "-DINSTALL_INCLUDEDIR=include/mysql"
 -         "-DINSTALL_DOCREADMEDIR=share/mysql/docs"
 -         "-DINSTALL_SUPPORTFILESDIR=share/mysql/support-files"
 +         (string-append "-DINSTALL_INCLUDEDIR=" (assoc-ref %outputs "dev")
 +                        "/include/mysql")
 +         (string-append "-DINSTALL_DOCREADMEDIR=" (assoc-ref %outputs "out")
 +                        "/share/mysql/docs")
 +         (string-append "-DINSTALL_DOCDIR=" (assoc-ref %outputs "out")
 +                        "/share/mysql/docs")
 +         (string-append "-DINSTALL_SUPPORTFILESDIR=" (assoc-ref %outputs "out")
 +                        "/share/mysql/support-files")
           "-DINSTALL_MYSQLSHAREDIR=share/mysql"
 -         "-DINSTALL_DOCDIR=share/mysql/docs"
           "-DINSTALL_SHAREDIR=share")
         #:phases
         (modify-phases %standard-phases
            'install 'post-install
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out     (assoc-ref outputs "out"))
 -                   (test    (assoc-ref outputs "test")))
 +                   (dev     (assoc-ref outputs "dev"))
 +                   (lib     (assoc-ref outputs "lib")))
                (substitute* (string-append out "/bin/mysql_install_db")
                  (("basedir=\"\"")
                   (string-append "basedir=\"" out "\"")))
                ;; Remove unneeded files for testing.
 -              (with-directory-excursion out
 +              (with-directory-excursion lib
                  (for-each delete-file-recursively
 -                          '("data" "mysql-test" "sql-bench"
 -                            "share/man/man1/mysql-test-run.pl.1"))
 -                ;; Delete huge and unnecessary executables.
 -                (for-each delete-file (find-files "bin" "(test|embedded)"))
 +                          '("data" "mysql-test" "sql-bench"))
                  ;; And static libraries.
                  (for-each delete-file (find-files "lib" "\\.a$")))
 +              (with-directory-excursion out
 +                (delete-file "share/man/man1/mysql-test-run.pl.1")
 +                ;; Delete huge and unnecessary executables.
 +                (for-each delete-file (find-files "bin" "(test|embedded)")))
 +              (mkdir-p (string-append dev "/share"))
 +              (mkdir-p (string-append dev "/bin"))
 +              (rename-file (string-append lib "/bin/mysqld")
 +                           (string-append out "/bin/mysqld"))
 +              (rename-file (string-append lib "/share/pkgconfig")
 +                           (string-append dev "/share/pkgconfig"))
 +              (rename-file (string-append out "/bin/mysql_config")
 +                           (string-append dev "/bin/mysql_config"))
                #t))))))
      (native-inputs
       `(("bison" ,bison)
@@@ -1561,8 -1609,7 +1632,8 @@@ columns, primary keys, unique constrain
         #:tests? #f))
      (propagated-inputs
       `(("perl-dbi" ,perl-dbi)
 -       ("mysql" ,mariadb)))
 +       ("mysql" ,mariadb "lib")
 +       ("mysql-dev" ,mariadb "dev")))
      (home-page "https://metacpan.org/release/DBD-mysql")
      (synopsis "DBI MySQL interface")
      (description "This package provides a MySQL driver for the Perl5
@@@ -2680,8 -2727,7 +2751,8 @@@ database)."
         ("mock" ,python-mock)
         ("py.test" ,python-pytest)))
      (inputs
 -     `(("mysql" ,mariadb)
 +     `(("mysql" ,mariadb "lib")
 +       ("mysql-dev" ,mariadb "dev")
         ("libz" ,zlib)
         ("openssl" ,openssl)))
      (home-page "https://github.com/PyMySQL/mysqlclient-python")
@@@ -7541,6 -7541,31 +7541,31 @@@ end of a line and increment or decremen
  a popup window for previewing candidates.")
        (license license:gpl3+))))
  
+ (define-public emacs-evil-args
+   (let ((commit "758ad5ae54ad34202064fec192c88151c08cb387")
+         (revision "1"))
+     (package
+       (name "emacs-evil-args")
+       (version (git-version "1.0" revision commit))
+       (source
+        (origin
+          (method git-fetch)
+          (uri (git-reference
+                (url "https://github.com/wcsmith/evil-args.git")
+                (commit commit)))
+          (file-name (git-file-name name version))
+          (sha256
+           (base32
+            "0k35glgsirc3cph8v5hhjrqfh4ndwh8a28qbr03y3jl8s453xcj7"))))
+       (build-system emacs-build-system)
+       (propagated-inputs `(("emacs-evil" ,emacs-evil)))
+       (home-page "https://github.com/wcsmith/evil-args")
+       (synopsis "Motions and text objects for delimited arguments in Evil")
+       (description
+        "This package provides motions and text objects for delimited
+ arguments, such as arguments separated by commas and semicolons.")
+       (license license:expat))))
  (define-public emacs-evil-exchange
    (let ((commit "47691537815150715e64e6f6ec79be7746c96120")
          (version "0.41")
@@@ -11602,6 -11627,34 +11627,34 @@@ close, copy, cut, paste, undo, redo."
  standard Unix password manager\").")
      (license license:gpl2+)))
  
+ (define-public emacs-auth-source-pass
+   (let ((commit "847a1f54ed48856b4dfaaa184583ef2c84173edf")
+         (revision "1"))
+     (package
+       (name "emacs-auth-source-pass")
+       (version (git-version "5.0.0" revision commit))
+       (source
+        (origin
+          (method git-fetch)
+          (uri (git-reference
+                (url "https://github.com/NicolasPetton/auth-password-store.git")
+                (commit commit)))
+          (file-name (git-file-name name version))
+          (sha256
+           (base32 "0g48z5w6n3c54zqfpx65dfyl9jqbl15idvbb1hhw2pd9f9r8fykk"))))
+       (build-system emacs-build-system)
+       (arguments
+        `(#:tests? #t
+          #:test-command '("emacs" "--batch"
+                           "-L" "."
+                           "-l" "test/auth-source-pass-tests.el"
+                           "-f" "ert-run-tests-batch-and-exit")))
+       (home-page "https://github.com/NicolasPetton/auth-password-store")
+       (synopsis "Integrate @code{auth-source} with @code{password-store}")
+       (description "This package helps Emacs integrate with the Unix
+ @code{password-store} application.")
+       (license license:gpl3+))))
  (define-public emacs-pass
    (package
      (name "emacs-pass")
@@@ -11781,8 -11834,7 +11834,8 @@@ object has been freed."
               #t)))))
      (inputs
       `(("emacs-minimal" ,emacs-minimal)
 -       ("mariadb" ,mariadb)
 +       ("mariadb" ,mariadb "lib")
 +       ("mariadb-dev" ,mariadb "dev")
         ("postgresql" ,postgresql)))
      (propagated-inputs
       `(("emacs-finalize" ,emacs-finalize)
@@@ -12195,50 -12247,48 +12248,48 @@@ according to a parsing expression gramm
      (license license:gpl3+)))
  
  (define-public emacs-org-ql
-   (let ((commit "949a06c3ab50482b749fd2d4350837a197660d96")
-         (revision "3"))
-     (package
-       (name "emacs-org-ql")
-       (version (git-version "0.3.1" revision commit))
-       (source (origin
-                 (method git-fetch)
-                 (uri (git-reference
-                       (url "https://github.com/alphapapa/org-ql")
-                       (commit commit)))
-                 (sha256
-                  (base32
-                   "0apcg63xm0242mjgsgw0jrcda4p4iqj7fy3sgh0p7khi4hrs5ch0"))
-                 (file-name (git-file-name name version))))
-       (build-system emacs-build-system)
-       (propagated-inputs
-        `(("emacs-s" ,emacs-s)
-          ("emacs-f" ,emacs-f)
-          ("emacs-ov" ,emacs-ov)
-          ("emacs-peg" ,emacs-peg)
-          ("emacs-org-super-agenda" ,emacs-org-super-agenda)
-          ("emacs-ts" ,emacs-ts)
-          ("emacs-org" ,emacs-org)
-          ("emacs-helm" ,emacs-helm)
-          ("emacs-helm-org" ,emacs-helm-org)
-          ("emacs-dash" ,emacs-dash)))
-       (native-inputs
-        `(("emacs-buttercup" ,emacs-buttercup)))
-       (arguments
-        `(#:phases
-          (modify-phases %standard-phases
-            (add-after 'unpack 'require-helm
-              (lambda _
-                (substitute* "helm-org-ql.el"
-                  (("^;;;; Requirements")
-                   ";;;; Requirements\n(require 'helm)\n(require 'helm-org)"))
-                #t)))
-          #:tests? #t
-          #:test-command '("buttercup" "-L" ".")))
-       (home-page "https://github.com/alphapapa/org-ql/")
-       (synopsis "Query language for Org buffers")
-       (description "This package provides a Lispy query language for Org
+   (package
+     (name "emacs-org-ql")
+     (version "0.3.2")
+     (source (origin
+               (method git-fetch)
+               (uri (git-reference
+                     (url "https://github.com/alphapapa/org-ql")
+                     (commit version)))
+               (sha256
+                (base32
+                 "11bhpi2l28vp8mm9nx18jljbqdnh9vxpv9kp1dn9lpsgivcdbc34"))
+               (file-name (git-file-name name version))))
+     (build-system emacs-build-system)
+     (propagated-inputs
+      `(("emacs-s" ,emacs-s)
+        ("emacs-f" ,emacs-f)
+        ("emacs-ov" ,emacs-ov)
+        ("emacs-peg" ,emacs-peg)
+        ("emacs-org-super-agenda" ,emacs-org-super-agenda)
+        ("emacs-ts" ,emacs-ts)
+        ("emacs-org" ,emacs-org)
+        ("emacs-helm" ,emacs-helm)
+        ("emacs-helm-org" ,emacs-helm-org)
+        ("emacs-dash" ,emacs-dash)))
+     (native-inputs
+      `(("emacs-buttercup" ,emacs-buttercup)))
+     (arguments
+      `(#:phases
+        (modify-phases %standard-phases
+          (add-after 'unpack 'require-helm
+            (lambda _
+              (substitute* "helm-org-ql.el"
+                (("^;;;; Requirements")
+                 ";;;; Requirements\n(require 'helm)\n(require 'helm-org)"))
+              #t)))
+        #:tests? #t
+        #:test-command '("buttercup" "-L" ".")))
+     (home-page "https://github.com/alphapapa/org-ql/")
+     (synopsis "Query language for Org buffers")
+     (description "This package provides a Lispy query language for Org
  files, allowing for actions to be performed based on search criteria.")
-       (license license:gpl3+))))
+     (license license:gpl3+)))
  
  (define-public emacs-org-auto-expand
    (let ((commit "4938d5f6460e2f8f051ba9ac000b291bfa43ef62")
@@@ -12537,6 -12587,11 +12588,11 @@@ orient yourself in the code, and tell w
         (sha256
          (base32 "1kykbb1sil5cycfa5aj8dhsxc5yrx1641i2np5kwdjid6ahdlz5r"))))
      (build-system emacs-build-system)
+     (native-inputs
+      `(("emacs-buttercup" ,emacs-buttercup)))
+     (arguments
+      `(#:tests? #t
+        #:test-command '("buttercup" "-L" ".")))
      (home-page "https://github.com/DamienCassou/hierarchy")
      (synopsis "Library to create and display hierarchy structures")
      (description "This package provides an Emacs library to create, query,
@@@ -14960,7 -15015,7 +15016,7 @@@ Org-mode.  It features
         (method git-fetch)
         (uri (git-reference (url home-page)
                             (commit (string-append "v" version))))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (file-name (git-file-name name version))
         (sha256
          (base32
           "1wi70r56pd5z0x4dp4m58p9asq03j74kdm4fi9vai83vsl2z9amq"))))
@@@ -16219,7 -16274,7 +16275,7 @@@ backends, including the @command{wordne
  (define-public emacs-editorconfig
    (package
      (name "emacs-editorconfig")
-     (version "0.8.0")
+     (version "0.8.1")
      (source
       (origin
         (method git-fetch)
         (file-name (git-file-name name version))
         (sha256
          (base32
-          "1b2cpqz75pivl323bs60j5rszwi787x6vy68csycikqz9mhpmjn9"))))
+          "1djlhkap7zddknzvjsjz0agpfsms1ih05zcpg1bikid2vs4gddyr"))))
      (build-system emacs-build-system)
      (home-page "https://github.com/editorconfig/editorconfig-emacs")
      (synopsis "Define and maintain consistent coding styles between different
@@@ -18482,8 -18537,8 +18538,8 @@@ Dash docsets."
        (license license:gpl3+))))
  
  (define-public emacs-counsel-dash
-   (let ((commit "24d370be9e94e90d045c49967e19484b9903fce9")
-         (revision "2"))
+   (let ((commit "7027868d483b51d949b9f20fb8f34b122ca61520")
+         (revision "3"))
      (package
        (name "emacs-counsel-dash")
        (version (git-version "0.1.3" revision commit))
           (file-name (git-file-name name version))
           (sha256
            (base32
-            "18gp7hhgng271c7bh06k9p24zqic0f64j5cicivljmyk9c3nh7an"))))
+            "0h3f5pxnmb21pq4hh7k4w8jzflz1k2ap7nwpjc222w0q6x6jrbjp"))))
        (build-system emacs-build-system)
        (propagated-inputs
         `(("emacs-dash-docs" ,emacs-dash-docs)
           ("emacs-ivy" ,emacs-ivy)))
+       (arguments
+        `(#:phases
+          (modify-phases %standard-phases
+            (add-after 'unpack 'require-ivy
+              (lambda _
+                (substitute* "counsel-dash.el"
+                  (("^\\(require 'cl-lib\\)")
+                   "(require 'cl-lib)\n(require 'ivy)\n(require 'subr-x)"))
+                #t)))))
        (home-page "https://github.com/dash-docs-el/counsel-dash")
        (synopsis "Offline documentation browser for APIs using Dash docsets")
        (description "This package uses @code{ivy-mode} to install and navigate
diff --combined gnu/packages/linux.scm
@@@ -2919,7 -2919,7 +2919,7 @@@ country-specific regulations for the wi
  (define-public lm-sensors
    (package
      (name "lm-sensors")
-     (version "3.5.0")
+     (version "3.6.0")
      (source
       (origin
         (method git-fetch)
                                           (string-split version #\.) "-")))))
         (file-name (git-file-name name version))
         (sha256
-         (base32 "1mdrnb9r01z1xfdm6dpkywvf9yy9a4yzb59paih9sijwmigv19fj"))
+         (base32 "1ipf6wjx037sqyhy0r5jh4983h216anq9l68ckn2x5c3qc4wfmzn"))
         (patches (search-patches "lm-sensors-hwmon-attrs.patch"))))
      (build-system gnu-build-system)
      (inputs `(("rrdtool" ,rrdtool)
                       ("flex" ,flex)
                       ("bison" ,bison)
                       ("which" ,which)))
-     (outputs '("lib"              ;avoid perl in closure
+     (outputs '("lib"                    ; avoid perl in closure
                 "out"))
      (arguments
-      `(#:tests? #f  ; no 'check' target
+      `(#:tests? #f                      ; no 'check' target
         #:make-flags (list (string-append "PREFIX=" %output)
                            (string-append "ETCDIR=" (assoc-ref %outputs "lib") "/etc")
                            (string-append "INCLUDEDIR="
@@@ -3694,7 -3694,7 +3694,7 @@@ Bluetooth audio output devices like hea
  (define-public bluez
    (package
      (name "bluez")
 -    (version "5.50")
 +    (version "5.51")
      (source (origin
                (method url-fetch)
                (uri (string-append
                      version ".tar.xz"))
                (sha256
                 (base32
 -                "048r91vx9gs5nwwbah2s0xig04nwk14c5s0vb7qmaqdvighsmz2z"))))
 +                "1fpbsl9kkfq6mn6n0dg4h0il4c7fzhwhn79gh907k5b2kwszpvgb"))))
      (build-system gnu-build-system)
      (arguments
       `(#:configure-flags
diff --combined gnu/packages/pdf.scm
@@@ -7,7 -7,7 +7,7 @@@
  ;;; Copyright Â© 2016 ng0 <ng0@n0.is>
  ;;; Copyright Â© 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
  ;;; Copyright Â© 2016, 2017 Marius Bakke <mbakke@fastmail.com>
- ;;; Copyright Â© 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+ ;;; Copyright Â© 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
  ;;; Copyright Â© 2016 Julien Lepiller <julien@lepiller.eu>
  ;;; Copyright Â© 2016, 2019 Arun Isaac <arunisaac@systemreboot.net>
  ;;; Copyright Â© 2017, 2018 Leo Famulari <leo@famulari.name>
@@@ -15,6 -15,8 +15,8 @@@
  ;;; Copyright Â© 2017, 2018 Rene Saavedra <pacoon@protonmail.com>
  ;;; Copyright Â© 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
  ;;; Copyright Â© 2019 Alex Griffin <a@ajgrf.com>
+ ;;; Copyright Â© 2019 Ben Sturmfels <ben@sturm.com.au>
+ ;;; Copyright Â© 2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
  ;;;
  ;;; This file is part of GNU Guix.
  ;;;
@@@ -65,6 -67,7 +67,7 @@@
    #:use-module (gnu packages imagemagick)
    #:use-module (gnu packages javascript)
    #:use-module (gnu packages lesstif)
+   #:use-module (gnu packages libffi)
    #:use-module (gnu packages linux)
    #:use-module (gnu packages lua)
    #:use-module (gnu packages pcre)
@@@ -72,6 -75,8 +75,8 @@@
    #:use-module (gnu packages photo)
    #:use-module (gnu packages pkg-config)
    #:use-module (gnu packages python)
+   #:use-module (gnu packages python-check)
+   #:use-module (gnu packages python-web)
    #:use-module (gnu packages python-xyz)
    #:use-module (gnu packages qt)
    #:use-module (gnu packages sdl)
@@@ -665,14 -670,14 +670,14 @@@ line tools for batch rendering @command
  (define-public qpdf
    (package
     (name "qpdf")
 -   (version "8.4.1")
 +   (version "9.0.1")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://sourceforge/qpdf/qpdf/" version
                                  "/qpdf-" version ".tar.gz"))
              (sha256
               (base32
 -              "1fsfy38dnm9cy1j40jw5x8vn84l6f2kgb68rdjl0wxignfw05z87"))
 +              "0lhgb82s2402ad2yiswkj227vjlw9zypphdfdivfkbril7dg6495"))
              (modules '((guix build utils)))
              (snippet
               ;; Replace shebang with the bi-lingual shell/Perl trick to remove
@@@ -975,6 -980,50 +980,50 @@@ Note: This module isn't maintained anym
  python-pypdf2 instead.")
      (license license:bsd-3)))
  
+ (define-public pdfarranger
+   (package
+     (name "pdfarranger")
+     (version "1.3.1")
+     (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+              (url "https://github.com/jeromerobert/pdfarranger.git")
+              (commit version)))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32 "1f8m8r81322i97wkqpmf7a4kiwnq244n6cnbldh03jc49vwq2kxx"))))
+     (build-system python-build-system)
+     (arguments
+      '(#:tests? #f                                ;no tests
+        #:phases (modify-phases %standard-phases
+                   (add-after 'install 'wrap-for-typelib
+                     (lambda* (#:key inputs outputs #:allow-other-keys)
+                       (let* ((out     (assoc-ref outputs "out"))
+                              (program (string-append out "/bin/pdfarranger")))
+                         (wrap-program program
+                           `("GI_TYPELIB_PATH" ":" prefix
+                             (,(getenv "GI_TYPELIB_PATH"))))
+                         #t))))))
+     (native-inputs
+      `(("intltool" ,intltool)
+        ("python-distutils-extra" ,python-distutils-extra)))
+     (propagated-inputs
+      `(("gtk+" ,gtk+)
+        ("poppler" ,poppler)
+        ("python-pycairo" ,python-pycairo)
+        ("python-pygobject" ,python-pygobject)
+        ("python-pypdf2" ,python-pypdf2)))
+     (home-page "https://github.com/jeromerobert/pdfarranger")
+     (synopsis "Merge, split and re-arrange pages from PDF documents")
+     (description
+      "PDF Arranger is a small application which allows one to merge or split
+ PDF documents and rotate, crop and rearrange their pages using an interactive
+ and intuitive graphical interface.
+ PDF Arranger was formerly known as PDF-Shuffler.")
+     (license license:gpl3+)))
  (define-public pdfposter
    (package
      (name "pdfposter")
@@@ -1155,3 -1204,80 +1204,80 @@@ manipulating PDF documents from the com
  @item displaying the mapping between logical and physical page numbers
  @end itemize")
      (license license:bsd-3)))
+ (define-public weasyprint
+   (package
+     (name "weasyprint")
+     (version "50")
+     (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "WeasyPrint" version))
+        (sha256
+         (base32 "0invs96zvmcr6wh5klj52jrcnr9qg150v9wpmbhcsf3vv1d1hbcw"))
+        (patches (search-patches "weasyprint-library-paths.patch"))))
+     (build-system python-build-system)
+     (arguments
+      `(#:phases
+        (modify-phases %standard-phases
+          (add-after 'unpack 'patch-library-paths
+            (lambda* (#:key inputs #:allow-other-keys)
+              (let ((fontconfig (assoc-ref inputs "fontconfig"))
+                    (glib (assoc-ref inputs "glib"))
+                    (pango (assoc-ref inputs "pango"))
+                    (pangoft2 (assoc-ref inputs "pangoft2")))
+                (substitute* "weasyprint/fonts.py"
+                  (("@fontconfig@")
+                   (string-append fontconfig "/lib/libfontconfig.so"))
+                  (("@pangoft2@")
+                   (string-append pango "/lib/libpangoft2-1.0.so")))
+                (substitute* "weasyprint/text.py"
+                  (("@gobject@")
+                   (string-append glib "/lib/libgobject-2.0.so"))
+                  (("@pango@")
+                   (string-append pango "/lib/libpango-1.0.so"))
+                  (("@pangocairo@")
+                   (string-append pango "/lib/libpangocairo-1.0.so"))))))
+          (add-after 'unpack 'remove-pytest-options
+            (lambda _
+              (substitute* "setup.cfg"
+                ;; flake8 and isort syntax checks fail, which is not our
+                ;; business
+                (("addopts = --flake8 --isort") ""))))
+          (replace 'check
+            (lambda _
+              ;; run pytest, excluding one failing test
+              (invoke "pytest" "-k" "not test_flex_column_wrap_reverse"))))))
+     (inputs
+      `(("fontconfig" ,fontconfig)
+        ("glib" ,glib)
+        ("pango" ,pango)))
+     (propagated-inputs
+      `(("gdk-pixbuf" ,gdk-pixbuf)
+        ("python-cairocffi" ,python-cairocffi)
+        ("python-cairosvg" ,python-cairosvg)
+        ("python-cffi" ,python-cffi)
+        ("python-cssselect2" ,python-cssselect2)
+        ("python-html5lib" ,python-html5lib)
+        ("python-pyphen" ,python-pyphen)
+        ("python-tinycss2" ,python-tinycss2)))
+     (native-inputs
+      `(("python-pytest-cov" ,python-pytest-cov)
+        ("python-pytest-runner" ,python-pytest-runner)))
+     (home-page "https://weasyprint.org/")
+     (synopsis "Document factory for creating PDF files from HTML")
+     (description "WeasyPrint helps web developers to create PDF documents.  It
+ turns simple HTML pages into gorgeous statistical reports, invoices, tickets,
+ etc.
+ From a technical point of view, WeasyPrint is a visual rendering engine for
+ HTML and CSS that can export to PDF and PNG.  It aims to support web standards
+ for printing.
+ It is based on various libraries but not on a full rendering engine like
+ WebKit or Gecko.  The CSS layout engine is written in Python, designed for
+ pagination, and meant to be easy to hack on.  Weasyprint can also be used as a
+ python library.
+ Keywords: html2pdf, htmltopdf")
+     (license license:bsd-3)))
  (define-public python-psutil
    (package
      (name "python-psutil")
-     (version "5.6.2")
+     (version "5.6.3")
      (source
       (origin
         (method url-fetch)
         (uri (pypi-uri "psutil" version))
         (sha256
-         (base32
-          "1v95vb5385qscfdvphv8l2w22bmir3d7yhpi02n58v3mlqy1r3l2"))))
+         (base32 "1wv31zly44qj0rp2acg58xbnc7bf6ffyadasq093l455q30qafl6"))))
      (build-system python-build-system)
      (arguments
       ;; FIXME: some tests does not return and times out.
@@@ -1924,13 -1923,13 +1923,13 @@@ files."
  (define-public python-pyld
    (package
      (name "python-pyld")
-     (version "1.0.3")
+     (version "1.0.5")
      (source (origin
                (method url-fetch)
                (uri (pypi-uri "PyLD" version))
                (sha256
                 (base32
-                 "12i2g6xdj30k7xxcibg3sc5y76snwq8l6n8fy9lyi577kgy0h2pm"))))
+                 "1ywbdbsrkg533qh8xn9ifjh2mvam6v5msrjyqq73jfpvcp89qvff"))))
      (build-system python-build-system)
      (home-page "https://github.com/digitalbazaar/pyld")
      (synopsis "Python implementation of the JSON-LD specification")
@@@ -3000,14 -2999,13 +2999,13 @@@ receive files via the SCP1 protocol, a
  (define-public python-rst.linker
    (package
      (name "python-rst.linker")
-     (version "1.10")
+     (version "1.11")
      (source
       (origin
         (method url-fetch)
         (uri (pypi-uri "rst.linker" version))
         (sha256
-         (base32
-          "0iqaacp7pj1s8avs4kc0qg0r7dscywaq37y6l9j14glqdikk0wdj"))))
+         (base32 "0pqsfqqx8h0pq21k8l3k62kznrgaj2ala93c64s4d9rpbr4mgkd2"))))
      (build-system python-build-system)
      (propagated-inputs
       `(("python-dateutil" ,python-dateutil)
@@@ -6146,13 -6144,13 +6144,13 @@@ Python."
  (define-public snakemake
    (package
      (name "snakemake")
-     (version "5.2.4")
+     (version "5.7.1")
      (source
       (origin
         (method url-fetch)
         (uri (pypi-uri "snakemake" version))
         (sha256
-         (base32 "0gj0xxgiq3mp9qyyrbfzldiaq1giliqw0in64nqiz7vx49myqj7z"))))
+         (base32 "1pnpvvn8n2a78cg360wz3ldmpqrsm2wzi0c0dmvki9fnsw6fxdas"))))
      (build-system python-build-system)
      (arguments
       ;; TODO: Package missing test dependencies.
                                 "/bin/snakemake")))
               #t)))))
      (propagated-inputs
-      `(("python-gitpython" ,python-gitpython)
-        ("python-wrapt" ,python-wrapt)
-        ("python-requests" ,python-requests)
-        ("python-appdirs" ,python-appdirs)
+      `(("python-appdirs" ,python-appdirs)
         ("python-configargparse" ,python-configargparse)
         ("python-datrie" ,python-datrie)
         ("python-docutils" ,python-docutils)
+        ("python-gitpython" ,python-gitpython)
         ("python-jinja2" ,python-jinja2)
         ("python-jsonschema" ,python-jsonschema)
         ("python-networkx" ,python-networkx)
+        ("python-psutil" ,python-psutil)
         ("python-pyyaml" ,python-pyyaml)
-        ("python-ratelimiter" ,python-ratelimiter)))
+        ("python-ratelimiter" ,python-ratelimiter)
+        ("python-requests" ,python-requests)
+        ("python-wrapt" ,python-wrapt)))
      (home-page "https://snakemake.readthedocs.io")
      (synopsis "Python-based execution environment for make-like workflows")
      (description
@@@ -6190,24 -6189,6 +6189,6 @@@ providing a clean and modern domain spe
  Python style, together with a fast and comfortable execution environment.")
      (license license:expat)))
  
- ;; This is currently needed for the pigx-* packages.
- (define-public snakemake-4
-   (package (inherit snakemake)
-     (version "4.4.0")
-     (source
-      (origin
-        (method url-fetch)
-        (uri (pypi-uri "snakemake" version))
-        (sha256
-         (base32 "0g0paia4z7w3srnqdmavq3hrb2x7qnpf81jx50njl0p7y4y0j8jv"))))
-     (propagated-inputs
-      `(("python-wrapt" ,python-wrapt)
-        ("python-requests" ,python-requests)
-        ("python-appdirs" ,python-appdirs)
-        ("python-configargparse" ,python-configargparse)
-        ("python-pyyaml" ,python-pyyaml)
-        ("python-ratelimiter" ,python-ratelimiter)))))
  (define-public python-pyqrcode
    (package
      (name "python-pyqrcode")
@@@ -13050,14 -13031,14 +13031,14 @@@ several utilities, as well as an API fo
  (define-public python-packaging
    (package
      (name "python-packaging")
 -    (version "19.0")
 +    (version "19.2")
      (source
        (origin
          (method url-fetch)
          (uri (pypi-uri "packaging" version))
          (sha256
           (base32
 -          "1brjhygq9dz6x1kdljivkjfldi3qf5rbkqgck1bpgv9qpv8ab60c"))))
 +          "0izwlz9h0bw171a1chr311g2y7n657zjaf4mq4rgm8pp9lbj9f98"))))
      (build-system python-build-system)
      (arguments
       `(#:phases (modify-phases %standard-phases
@@@ -14854,14 -14835,13 +14835,13 @@@ Included are implementations of
  (define-public bpython
    (package
      (name "bpython")
-     (version "0.17.1")
+     (version "0.18")
      (source
       (origin
         (method url-fetch)
         (uri (pypi-uri "bpython" version))
         (sha256
-         (base32
-          "0bxhxi5zxdkrf8b4gwn0d363kdz3qnypjwhm1aydki53ph8ca1w9"))))
+         (base32 "1hl6frgvr2lqaxqczl8amg9xih32b3gzv429vs0qrjb8wpdj1k2n"))))
      (build-system python-build-system)
      (arguments
       `(#:phases
      (propagated-inputs
       `(("python-pygments" ,python-pygments)
         ("python-requests" ,python-requests)
-        ("python-babel" ,python-babel) ; optional, for internationalization
+        ("python-babel" ,python-babel)   ; optional, for internationalization
         ("python-curtsies" ,python-curtsies) ; >= 0.1.18
         ("python-greenlet" ,python-greenlet)
-        ("python-urwid" ,python-urwid) ; for bpython-urwid only
+        ("python-urwid" ,python-urwid)   ; for bpython-urwid only
         ("python-six" ,python-six)))
      (native-inputs
       `(("python-sphinx" ,python-sphinx)
@@@ -16610,3 -16590,57 +16590,57 @@@ It is the recommended replacement for P
  @code{distro} also provides a command-line interface to output the platform
  information in various formats.")
      (license license:asl2.0)))
+ (define-public python-cairosvg
+   (package
+     (name "python-cairosvg")
+     (version "2.4.2")
+     (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "CairoSVG" version))
+        (sha256
+         (base32 "1bb7irxbaxxb9ahm3z5wsx1q96mm5gzskc7b6q07h9ikcnb8yrjf"))))
+     (build-system python-build-system)
+     (arguments
+      `(#:phases
+        (modify-phases %standard-phases
+          (replace 'check
+            (lambda _ (invoke "pytest"))))))
+     (propagated-inputs
+      `(("python-cairocffi" ,python-cairocffi)
+        ("python-cssselect2" ,python-cssselect2)
+        ("python-defusedxml" ,python-defusedxml)
+        ("python-pillow" ,python-pillow)
+        ("python-tinycss2" ,python-tinycss2)))
+     (native-inputs
+      `(("python-pytest-flake8" ,python-pytest-flake8)
+        ("python-pytest-isort" ,python-pytest-isort)
+        ("python-pytest-runner" ,python-pytest-runner)))
+     (home-page "https://cairosvg.org/")
+     (synopsis "SVG to PDF/PS/PNG converter based on Cairo")
+     (description "CairoSVG is a SVG converter based on Cairo.  It can export
+ SVG files to PDF, PostScript and PNG files.  The main part of CairoSVG is a
+ SVG parser, trying to follow the SVG 1.1 recommendation from the W3C.  Once
+ parsed, the result is drawn to a Cairo surface that can be exported to
+ qvarious formats: PDF, PostScript, PNG and even SVG.")
+     (license license:lgpl3+)))
+ (define-public python-pyphen
+   (package
+     (name "python-pyphen")
+     (version "0.9.5")
+     (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "Pyphen" version))
+        (sha256
+         (base32 "08c9y69ry9d6m4zalhnalg86lsp9v2j5n1ziw5vxfmiihx83lqrv"))))
+     (build-system python-build-system)
+     ;; TODO: Use the Guix system hyphenation packages hyphen-* rather than the
+     ;; embedded set provided by upstream - like Debian does.
+     (home-page "https://github.com/Kozea/Pyphen")
+     (synopsis "Pure Python module to hyphenate text")
+     (description "Pyphen is a pure Python module to hyphenate text using
+ existing Hunspell hyphenation dictionaries.")
+     (license (list license:gpl2 license:lgpl2.1 license:mpl1.1))))
diff --combined gnu/packages/tls.scm
@@@ -391,7 -391,8 +391,7 @@@ required structures."
    (package
      (inherit openssl)
      (name "openssl")
 -    (version "1.0.2s")
 -    (replacement openssl-1.0.2t)
 +    (version "1.0.2t")
      (source (origin
                (method url-fetch)
                (uri (list (string-append "https://www.openssl.org/source/openssl-"
                                          "/openssl-" version ".tar.gz")))
                (sha256
                 (base32
 -                "15mbmg8hf7s12vr3v2bdc0pi9y4pdbnsxhzk4fyyap42jaa5rgfa"))
 +                "1g67ra0ph7gpz6fgvv1i96d792jmd6ymci5kk53vbikszr74djql"))
                (patches (search-patches "openssl-runpath.patch"
                                         "openssl-c-rehash-in.patch"))))
      (outputs '("out"
                 "static"))               ;6MiB of .a files
      (arguments
       (substitute-keyword-arguments (package-arguments openssl)
 +       ;; Parallel build is not supported in 1.0.x.
 +       ((#:parallel-build? _ #f) #f)
         ((#:phases phases)
          `(modify-phases ,phases
             (add-before 'patch-source-shebangs 'patch-tests
                                                           ,version "/misc"))
                   #t)))))))))
  
 -(define openssl-1.0.2t
 -  (package
 -    (inherit openssl)
 -    (version "1.0.2t")
 -    (source (origin
 -              (inherit (package-source openssl-1.0))
 -              (uri (list (string-append "https://www.openssl.org/source/openssl-"
 -                                        version ".tar.gz")
 -                         (string-append "ftp://ftp.openssl.org/source/"
 -                                        "openssl-" version ".tar.gz")
 -                         (string-append "ftp://ftp.openssl.org/source/old/"
 -                                        (string-trim-right version char-set:letter)
 -                                        "/openssl-" version ".tar.gz")))
 -              (sha256
 -               (base32
 -                "1g67ra0ph7gpz6fgvv1i96d792jmd6ymci5kk53vbikszr74djql"))))
 -    (arguments
 -     (substitute-keyword-arguments (package-arguments openssl-1.0)
 -       ;; Parallel build is not supported in 1.0.x.
 -       ((#:parallel-build? _ #f) #f)))))
 -
  (define-public libressl
    (package
      (name "libressl")
@@@ -522,13 -542,13 +522,13 @@@ netcat implementation that supports TLS
    (package
      (name "python-acme")
      ;; Remember to update the hash of certbot when updating python-acme.
-     (version "0.37.2")
+     (version "0.39.0")
      (source (origin
                (method url-fetch)
                (uri (pypi-uri "acme" version))
                (sha256
                 (base32
-                 "0p3zqhna9p8iy5i9mfhzdf5bmjigs05r6rlwnxykk4n67fp8yyc8"))))
+                 "021nyzld949ahrhamlcgmzmk8r1gxrbs8wypnks08s6y2rfvgz52"))))
      (build-system python-build-system)
      (arguments
       `(#:phases
                (uri (pypi-uri "certbot" version))
                (sha256
                 (base32
-                 "1xbfv4fwkgfp9qqzlk8wxbhchc61349m26q9fg35j9fnm253cm74"))))
+                 "1q6zmnfyyk4rhsjg9s2gxx1ciink57ybnv32dgw8m2059lffwp48"))))
      (build-system python-build-system)
      (arguments
       `(,@(substitute-keyword-arguments (package-arguments python-acme)
         ("python-pyopenssl" ,python-pyopenssl)
         ("python-configobj" ,python-configobj)
         ("python-configargparse" ,python-configargparse)
+        ("python-distro" ,python-distro)
         ("python-zope-component" ,python-zope-component)
         ("python-parsedatetime" ,python-parsedatetime)
         ("python-six" ,python-six)
diff --combined gnu/packages/video.scm
@@@ -688,8 -688,8 +688,8 @@@ streams."
      (source (origin
                (method url-fetch)
                (uri (string-append
-                     "mirror://sourceforge/" name "/" name "/"
-                     version "/" name "-" version ".tar.gz"))
+                     "mirror://sourceforge/libdv/libdv/"
+                     version "/libdv-" version ".tar.gz"))
                (sha256
                 (base32
                  "1fl96f2xh2slkv1i1ix7kqk576a0ak1d33cylm0mbhm96d0761d3"))))
@@@ -2344,18 -2344,17 +2344,18 @@@ and JACK."
  (define-public libvdpau
    (package
      (name "libvdpau")
 -    (version "1.2")
 +    (version "1.3")
      (source
        (origin
 -        (method url-fetch)
 -        (uri (string-append "https://gitlab.freedesktop.org/vdpau/libvdpau"
 -                            "/uploads/14b620084c027d546fa0b3f083b800c6/"
 -                            "libvdpau-" version ".tar.bz2"))
 +        (method git-fetch)
 +        (uri (git-reference
 +              (url "https://gitlab.freedesktop.org/vdpau/libvdpau.git")
 +              (commit version)))
 +        (file-name (git-file-name name version))
          (sha256
           (base32
 -          "01ps6g6p6q7j2mjm9vn44pmzq3g75mm7mdgmnhb1qkjjdwc9njba"))))
 -    (build-system gnu-build-system)
 +          "1fb1nh5apr9kzx9bm2lysjwpyva1s60b2l2p230nqgvb11q25hd2"))))
 +    (build-system meson-build-system)
      (native-inputs
       `(("pkg-config" ,pkg-config)))
      (inputs
diff --combined gnu/packages/web.scm
@@@ -2363,14 -2363,14 +2363,14 @@@ HTTP requests."
  (define-public perl-cgi-simple
    (package
      (name "perl-cgi-simple")
-     (version "1.21")
+     (version "1.22")
      (source
       (origin
         (method url-fetch)
         (uri (string-append "mirror://cpan/authors/id/M/MA/MANWAR/"
                             "CGI-Simple-" version ".tar.gz"))
         (sha256
-         (base32 "1wzc2igs4khmj7zfahvs87c24p9ks8hnqhhsyviyiix53xx2y6sg"))))
+         (base32 "13c7iwnnavky10ab87pi8jc1kqph03s0rhvj7myn7szhbfisc4gn"))))
      (build-system perl-build-system)
      (native-inputs
       `(("perl-io-stringy" ,perl-io-stringy) ; for IO::Scalar
@@@ -4044,11 -4044,11 +4044,11 @@@ CDF, Atom 0.3, and Atom 1.0 feeds."
                    "0awfvps7k9bpg3gpgc93y401g7pjabx7mr9960vigad8vddhixqi"))))
        (build-system gnu-build-system)
        (arguments
-        '(#:tests? #f                    ; TODO Tests require PostgreSQL
-          #:modules ((guix build utils)
+        '(#:modules ((guix build utils)
                      (guix build gnu-build-system)
                      (ice-9 rdelim)
                      (ice-9 popen))
+          #:test-target "check-with-tmp-database"
           #:phases
           (modify-phases %standard-phases
             (add-after 'set-paths 'set-GUIX_ENVIRONMENT
         `(("guile" ,guile-2.2)
           ("autoconf" ,autoconf)
           ("automake" ,automake)
+          ("ephemeralpg" ,ephemeralpg)
           ("emacs-with-modules" ,(directory-union
                                   "emacs-union"
                                   (list emacs-no-x
@@@ -5712,27 -5713,27 +5713,27 @@@ encoder/decoder based on the draft-12 s
  (define-public java-tomcat
    (package
      (name "java-tomcat")
 -    (version "8.5.38")
 +    (version "8.5.46")
      (source (origin
                (method url-fetch)
                (uri (string-append "mirror://apache/tomcat/tomcat-8/v"
                                    version "/src/apache-tomcat-" version "-src.tar.gz"))
                (sha256
                 (base32
 -                "13pbsyk39g1qph82nngp54mqycmg60rxlxwy4yszsssahrqnggb2"))
 +                "0fb49gsqa3r6jrwc54yynvsakq9qbzr2pbxr7a29c2zvja2v65iq"))
                (modules '((guix build utils)))
                ;; Delete bundled jars.
                (snippet
                 '(begin
                    (for-each delete-file (find-files "." "\\.jar$"))
 +                  (for-each delete-file (find-files "." "\\.bat$"))
                    #t))))
      (build-system ant-build-system)
      (inputs
 -     `(("java-eclipse-jdt-core" ,java-eclipse-jdt-core)))
 -    (native-inputs
 -     `(("java-junit" ,java-junit)))
 +     `(("java-commons-daemon" ,java-commons-daemon)
 +       ("java-ecj" ,java-ecj)))
      (arguments
 -     `(#:build-target "package"
 +     `(#:build-target "deploy"
         #:tests? #f; requires downloading some files.
         #:phases
         (modify-phases %standard-phases
                 (("<filter token=\"VERSION_BUILT\" value=.*")
                  "<filter token=\"VERSION_BUILT\" value=\"Jan 1 1970 00:00:00 UTC\"/>"))
               #t))
 +         (add-after 'unpack 'modify-deploy
 +           (lambda _
 +             ;; The Tomcat build downloads and copies these files to the
 +             ;; bin and lib directory.
 +             ;; We instead symlink to the input (see below).
 +             (substitute* "build.xml"
 +               (("<copy tofile=\"\\$\\{tomcat.build\\}/bin/commons-daemon.jar.*") "")
 +               (("<copy file=\"\\$\\{jdt.jar\\}\" todir=\"\\$\\{tomcat.build\\}/lib\"/>")
 +                ""))
 +             #t))
 +         (add-after 'install 'symlink-commons-daemon
 +           (lambda* (#:key inputs outputs #:allow-other-keys)
 +             (let* ((commons-daemon (assoc-ref inputs "java-commons-daemon"))
 +                    (files (find-files commons-daemon "commons-daemon-.*\\.jar"))
 +                    (daemon-jar (car files))
 +                    (out-bin (string-append (assoc-ref outputs "out") "/bin"))
 +                    (target (string-append out-bin "/commons-daemon.jar")))
 +               (symlink daemon-jar target)
 +               #t)))
 +         (add-after 'install 'symlink-java-ecj
 +           (lambda* (#:key inputs outputs #:allow-other-keys)
 +             (let* ((java-ecj (assoc-ref inputs "java-ecj"))
 +                    (files (find-files java-ecj "ecj.*\\.jar"))
 +                    (java-ecj-jar (car files))
 +                    (out-lib (string-append (assoc-ref outputs "out") "/lib"))
 +                    (target (string-append out-lib "/java-ecj.jar")))
 +               (symlink java-ecj-jar target)
 +               #t)))
           (add-after 'unpack 'generate-properties
             (lambda _
               ;; This could have been passed to make-flags, but getcwd returns
                     (string-append "base.path=" (getcwd) "/downloads\n"))))
               #t))
           (replace 'install
 -           (install-jars "output/build/lib")))))
 +           (lambda* (#:key outputs #:allow-other-keys)
 +             (let ((out (assoc-ref outputs "out")))
 +               (copy-recursively "output/build" out))
 +             #t)))))
      (home-page "https://tomcat.apache.org")
      (synopsis "Java Servlet, JavaServer Pages, Java Expression Language and Java
  WebSocket")
@@@ -5907,7 -5877,7 +5908,7 @@@ Web Server."
               #t)))))
      (inputs
       `(("slf4j" ,java-slf4j-api)
 -       ("servlet" ,java-tomcat)))
 +       ("servlet" ,java-javaee-servletapi)))
      (native-inputs
       `(("junit" ,java-junit)
         ("hamcrest" ,java-hamcrest-all)
@@@ -6095,7 -6065,7 +6096,7 @@@ or embedded instantiation.  This packag
               #t)))))
      (inputs
       `(("slf4j" ,java-slf4j-api)
 -       ("servlet" ,java-tomcat)
 +       ("java-javaee-servletapi" ,java-javaee-servletapi)
         ("http" ,java-eclipse-jetty-http)
         ("io" ,java-eclipse-jetty-io)
         ("util" ,java-eclipse-jetty-util)))))
@@@ -6190,7 -6160,7 +6191,7 @@@ artifact."))
               #t)))))
      (inputs
       `(("slf4j" ,java-slf4j-api)
 -       ("servlet" ,java-tomcat)
 +       ("servlet" ,java-javaee-servletapi)
         ("http" ,java-eclipse-jetty-http)
         ("server" ,java-eclipse-jetty-server)
         ("util" ,java-eclipse-jetty-util)))
@@@ -6233,7 -6203,7 +6234,7 @@@ infrastructure"))
               #t)))))
      (inputs
       `(("slf4j" ,java-slf4j-api)
 -       ("servlet" ,java-tomcat)
 +       ("java-javaee-servletapi" ,java-javaee-servletapi)
         ("http" ,java-eclipse-jetty-http)
         ("http-test" ,java-eclipse-jetty-http-test-classes)
         ("io" ,java-eclipse-jetty-io)
@@@ -6368,7 -6338,7 +6369,7 @@@ container."))
         ("java-eclipse-jetty-servlet-9.2" ,java-eclipse-jetty-servlet-9.2)
         ("java-eclipse-jetty-security-9.2" ,java-eclipse-jetty-security-9.2)
         ("java-eclipse-jetty-xml-9.2" ,java-eclipse-jetty-xml-9.2)
 -       ("java-tomcat" ,java-tomcat)
 +       ("java-javaee-servletapi" ,java-javaee-servletapi)
         ,@(package-inputs java-eclipse-jetty-util-9.2)))
      (native-inputs
       `(("java-eclipse-jetty-io-9.2" ,java-eclipse-jetty-io-9.2)