summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/algebra.scm27
-rw-r--r--gnu/packages/audio.scm6
-rw-r--r--gnu/packages/linux.scm16
-rw-r--r--gnu/packages/lisp.scm2
-rw-r--r--gnu/packages/machine-learning.scm60
-rw-r--r--gnu/packages/mail.scm14
-rw-r--r--gnu/packages/maths.scm4
-rw-r--r--gnu/packages/monitoring.scm6
-rw-r--r--gnu/packages/package-management.scm6
-rw-r--r--gnu/packages/patches/libopenshot-fixup-tests.patch148
-rw-r--r--gnu/packages/patches/libopenshot-tests-with-system-libs.patch95
-rw-r--r--gnu/packages/protobuf.scm14
-rw-r--r--gnu/packages/serialization.scm20
-rw-r--r--gnu/packages/video.scm48
-rw-r--r--gnu/packages/vpn.scm4
15 files changed, 182 insertions, 288 deletions
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 205eb29863..9b4c7b8e27 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -56,6 +56,7 @@
   #:use-module (guix build-system python)
   #:use-module (guix download)
   #:use-module (guix git-download)
+  #:use-module (guix hg-download)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix utils))
@@ -857,6 +858,32 @@ features, and more.")
     ;; See 'COPYING.README' for details.
     (license license:mpl2.0)))
 
+(define-public eigen-for-tensorflow
+  (let ((changeset "fd6845384b86")
+        (revision "1"))
+    (package (inherit eigen)
+      (name "eigen-for-tensorflow")
+      (version (string-append "3.3.5-" revision "." changeset))
+      (source (origin
+                (method hg-fetch)
+                (uri (hg-reference
+                      (url "https://bitbucket.org/eigen/eigen")
+                      (changeset changeset)))
+                (sha256
+                 (base32
+                  "12cwgah63wqwb66xji048hcxc1z5zjg8a7701zlia5zbilnnk1n5"))
+                (file-name (string-append name "-" version "-checkout"))
+                (modules '((guix build utils)))
+                (snippet
+                 ;; There are 3 test failures in the "unsupported" directory,
+                 ;; but maintainers say it's a known issue and it's unsupported
+                 ;; anyway, so just skip them.
+                 '(begin
+                    (substitute* "unsupported/CMakeLists.txt"
+                      (("add_subdirectory\\(test.*")
+                       "# Do not build the tests for unsupported features.\n"))
+                    #t)))))))
+
 (define-public xtensor
   (package
     (name "xtensor")
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 5f034e7093..4d2e260e7c 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -4,7 +4,7 @@
 ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
 ;;; Copyright © 2015, 2016 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016, 2017 Alex Griffin <a@ajgrf.com>
 ;;; Copyright © 2016 ng0 <ng0@n0.is>
 ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
@@ -3658,7 +3658,7 @@ surround).")
 (define-public libopenshot-audio
   (package
     (name "libopenshot-audio")
-    (version "0.1.7")
+    (version "0.1.8")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -3667,7 +3667,7 @@ surround).")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "08a8wbi28kwrdz4h0rs1b9vsr28ldfi8g75q54rj676y1vwg3qys"))))
+                "1fvp6nmf30xzkmcznakh8dv5vn9d7nq051pqcqv638hsfppkmcrl"))))
     (build-system cmake-build-system)
     (inputs
      `(("alsa-lib" ,alsa-lib)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 4a85859c6d..6d289b7a0f 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -424,8 +424,8 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
 It has been modified to remove all non-free binary blobs.")
     (license license:gpl2)))
 
-(define %linux-libre-version "5.0.6")
-(define %linux-libre-hash "0zznxchsdljw4swnr4i0qlvdww7cxskmil1691baj53xjv3wsh3n")
+(define %linux-libre-version "5.0.7")
+(define %linux-libre-hash "0c8g20crv03xxxpirj0jylcxxy33dn9f9x7viv451rzh9frc5mal")
 
 (define %linux-libre-5.0-patches
   (list %boot-logo-patch
@@ -438,8 +438,8 @@ It has been modified to remove all non-free binary blobs.")
                     #:patches %linux-libre-5.0-patches
                     #:configuration-file kernel-config))
 
-(define %linux-libre-4.19-version "4.19.33")
-(define %linux-libre-4.19-hash "147ksl3ksxdv2ifr18cbzq4647n9d7yr7kbxg02sljia7z3b70cm")
+(define %linux-libre-4.19-version "4.19.34")
+(define %linux-libre-4.19-hash "0rmpyj2qb651p2k2srpjndjxry87hr5vq0jkk4rvxjhm5y3sb65l")
 
 (define %linux-libre-4.19-patches
   (list %boot-logo-patch
@@ -452,8 +452,8 @@ It has been modified to remove all non-free binary blobs.")
                     #:patches %linux-libre-4.19-patches
                     #:configuration-file kernel-config))
 
-(define %linux-libre-4.14-version "4.14.110")
-(define %linux-libre-4.14-hash "05cfb1wb4ml5a1vfakq5v6192f584j3701d2mf03mv5fzxb7l2dx")
+(define %linux-libre-4.14-version "4.14.111")
+(define %linux-libre-4.14-hash "1b34f96yigdxxh5wg798933nrv7rak1w0v0q1jfviyrllrg3hkmq")
 
 (define-public linux-libre-4.14
   (make-linux-libre %linux-libre-4.14-version
@@ -462,8 +462,8 @@ It has been modified to remove all non-free binary blobs.")
                     #:configuration-file kernel-config))
 
 (define-public linux-libre-4.9
-  (make-linux-libre "4.9.167"
-                    "16428a6mxxi6k4ag7pj6jl01d3a3yshynn3b9jf3vjip6kcrhw03"
+  (make-linux-libre "4.9.168"
+                    "1nli5di7i7x4jyad7nappm1awz207rg18n08wb82b1w8rwqyqgy3"
                     '("x86_64-linux" "i686-linux")
                     #:configuration-file kernel-config))
 
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 3039feb62d..5a30e7c1dd 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -3868,7 +3868,7 @@ gone wrong.  As such, each Lisp has developed its own notion of what to
 display, how to display it, and what sort of arguments can be used to
 customize it.  @code{trivial-backtrace} is a simple solution to generating a
 backtrace portably.")
-     (license license:bsd-style))))
+     (license license:expat))))
 
 (define-public cl-trivial-backtrace
   (sbcl-package->cl-source-package sbcl-trivial-backtrace))
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 62b3507b67..10aff22206 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -70,7 +70,8 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
-  #:use-module (gnu packages xorg))
+  #:use-module (gnu packages xorg)
+  #:use-module (ice-9 match))
 
 (define-public fann
   ;; The last release is >100 commits behind, so we package from git.
@@ -626,6 +627,63 @@ adaptive sparsity and the Wong algorithm for adaptively sparse gaussian
 geometric models.")
     (license license:lgpl3+)))
 
+(define-public gemmlowp-for-tensorflow
+  ;; The commit hash is taken from "tensorflow/workspace.bzl".
+  (let ((commit "38ebac7b059e84692f53e5938f97a9943c120d98")
+        (revision "2"))
+    (package
+      (name "gemmlowp")
+      (version (git-version "0" revision commit))
+      (source (origin
+                (method url-fetch)
+                (uri (string-append "https://mirror.bazel.build/"
+                                    "github.com/google/gemmlowp/archive/"
+                                    commit ".zip"))
+                (file-name (string-append "gemmlowp-" version ".zip"))
+                (sha256
+                 (base32
+                  "0n56s2g8hrssm4w8qj1v58gfm56a04n9v992ixkmvk6zjiralzxq"))))
+      (build-system cmake-build-system)
+      (arguments
+       `(#:configure-flags
+         (list ,@(match (%current-system)
+                   ((or "x86_64-linux" "i686-linux")
+                    '("-DCMAKE_CXX_FLAGS=-msse4.1"))
+                   (_ '())))
+         #:phases
+         (modify-phases %standard-phases
+           ;; This directory contains the CMakeLists.txt.
+           (add-after 'unpack 'chdir
+             (lambda _ (chdir "contrib") #t))
+           ;; There is no install target
+           (replace 'install
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out"))
+                      (lib (string-append out "/lib/"))
+                      (inc (string-append out "/include/")))
+                 (install-file "../build/libeight_bit_int_gemm.so" lib)
+                 (for-each (lambda (dir)
+                             (let ((target (string-append inc "/" dir)))
+                               (mkdir-p target)
+                               (for-each (lambda (h)
+                                           (install-file h target))
+                                         (find-files (string-append "../" dir)
+                                                     "\\.h$"))))
+                           '("meta" "profiling" "public" "fixedpoint"
+                             "eight_bit_int_gemm" "internal"))
+                 #t))))))
+      (native-inputs
+       `(("unzip" ,unzip)))
+      (home-page "https://github.com/google/gemmlowp")
+      (synopsis "Small self-contained low-precision GEMM library")
+      (description
+       "This is a small self-contained low-precision @dfn{general matrix
+multiplication} (GEMM) library.  It is not a full linear algebra library.
+Low-precision means that the input and output matrix entries are integers on
+at most 8 bits.  To avoid overflow, results are internally accumulated on more
+than 8 bits, and at the end only some significant 8 bits are kept.")
+      (license license:asl2.0))))
+
 (define-public dlib
   (package
     (name "dlib")
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index a2971a5e67..d78efbf09c 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -24,7 +24,7 @@
 ;;; Copyright © 2017 Kyle Meyer <kyle@kyleam.com>
 ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2017, 2018 Rene Saavedra <pacoon@protonmail.com>
-;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
+;;; 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>
@@ -675,27 +675,27 @@ security functionality including PGP, S/MIME, SSH, and SSL.")
 (define-public mu
   (package
     (name "mu")
-    (version "1.0")
+    (version "1.2.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/djcb/mu/releases/"
-                                  "download/v" version "/mu-"
-                                  version ".tar.xz"))
+                                  "download/" (version-major+minor version) "/"
+                                  "mu-" version ".tar.xz"))
               (sha256
                (base32
-                "04x5azl19gszw2h7argq666gf9xs4hy9q7w9cbqxvy08n56xqsln"))))
+                "0fh5bxvhjqv1p9z783lym8y1k3p4jcc3wg6wf7zl8s6w8krcfd7n"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("glib" ,glib "bin")             ; for gtester
        ("emacs" ,emacs-minimal)
-       ("tzdata" ,tzdata-for-tests)))   ;for mu/test/test-mu-query.c
+       ("tzdata" ,tzdata-for-tests)))   ; for mu/test/test-mu-query.c
     ;; TODO: Add webkit and gtk to build the mug GUI.
     (inputs
      `(("xapian" ,xapian)
        ("guile" ,guile-2.2)
        ("glib" ,glib)
-       ("gmime" ,gmime-2.6)))
+       ("gmime" ,gmime)))
     (arguments
      `(#:modules ((guix build gnu-build-system)
                   (guix build utils)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 90fdb468f9..6746013fad 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -606,8 +606,8 @@ problems in numerical linear algebra.")
 routines on parallel distributed memory machines.  ScaLAPACK solves dense and
 banded linear systems, least squares problems, eigenvalue problems, and
 singular value problems.")
-    (license (license:bsd-style "file://LICENSE"
-                                "See LICENSE in the distribution."))))
+    (license (license:non-copyleft "file://LICENSE"
+                                   "See LICENSE in the distribution."))))
 
 (define-public gnuplot
   (package
diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm
index 4384406227..d7bc459ed4 100644
--- a/gnu/packages/monitoring.scm
+++ b/gnu/packages/monitoring.scm
@@ -4,7 +4,7 @@
 ;;; Copyright © 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
-;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
+;;; Copyright © 2018, 2019 Oleg Pykhalov <go.wigust@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -152,7 +152,7 @@ etc. via a Web interface.  Features include:
 (define-public zabbix-agentd
   (package
     (name "zabbix-agentd")
-    (version "4.0.2")
+    (version "4.2.0")
     (source
      (origin
        (method url-fetch)
@@ -161,7 +161,7 @@ etc. via a Web interface.  Features include:
              "/zabbix-" version ".tar.gz"))
        (sha256
         (base32
-         "033qb4b9y02jp2ijj8ny0a0yk1mzj0a8ihxrv11h7ln8kpl55vqw"))))
+         "1b9wx6z15jfg8yakb7mlaqqri1ia9i12rgk58c3nparzsjdd9p2c"))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index ad0b8f06f8..4808687227 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -110,8 +110,8 @@
   ;; Note: the 'update-guix-package.scm' script expects this definition to
   ;; start precisely like this.
   (let ((version "0.16.0")
-        (commit "f970946c1d3dc6d20bd48ec6f42c82a43bb7696f")
-        (revision 11))
+        (commit "d78bfd27bdc449cf93fe4c5497d242c2da1aeac8")
+        (revision 12))
     (package
       (name "guix")
 
@@ -127,7 +127,7 @@
                       (commit commit)))
                 (sha256
                  (base32
-                  "0v7qj2i9n52l1di8vk15nqdrlapfc22pcf5jl56fp4mqpq48ddrj"))
+                  "1i24snn7dq7r8c3mf4waz13k11lglhgvx0zb6xqiqiplmb6f7q6n"))
                 (file-name (string-append "guix-" version "-checkout"))))
       (build-system gnu-build-system)
       (arguments
diff --git a/gnu/packages/patches/libopenshot-fixup-tests.patch b/gnu/packages/patches/libopenshot-fixup-tests.patch
deleted file mode 100644
index 9a0bcc5e8f..0000000000
--- a/gnu/packages/patches/libopenshot-fixup-tests.patch
+++ /dev/null
@@ -1,148 +0,0 @@
-From 691536f2f8a9ed7322fedb24d489db08c70705b9 Mon Sep 17 00:00:00 2001
-From: "Dr. Tobias Quathamer" <toddy@debian.org>
-Date: Sat, 18 Nov 2017 13:54:22 +0100
-Subject: [PATCH] This the combination of two patches:
- https://sources.debian.org/data/main/libo/libopenshot/0.2.2+dfsg1-1/debian/patches/0003-Fix-failing-tests-by-using-a-fault-tolerance.patch
- https://sources.debian.org/data/main/libo/libopenshot/0.2.2+dfsg1-1/debian/patches/0004-Add-some-more-fault-tolerance-for-arm64.patch
-
-Together they should fix the test suite on all architectures
----
- tests/FFmpegReader_Tests.cpp |  9 ++++-----
- tests/ImageWriter_Tests.cpp  |  8 ++++----
- tests/Timeline_Tests.cpp     | 28 ++++++++++++++--------------
- 3 files changed, 22 insertions(+), 23 deletions(-)
-
-diff --git a/tests/FFmpegReader_Tests.cpp b/tests/FFmpegReader_Tests.cpp
-index 53563ca..07fc41e 100644
---- a/tests/FFmpegReader_Tests.cpp
-+++ b/tests/FFmpegReader_Tests.cpp
-@@ -95,8 +95,8 @@ TEST(FFmpegReader_Check_Video_File)
- 	int pixel_index = 112 * 4; // pixel 112 (4 bytes per pixel)
- 
- 	// Check image properties on scanline 10, pixel 112
--	CHECK_EQUAL(21, (int)pixels[pixel_index]);
--	CHECK_EQUAL(191, (int)pixels[pixel_index + 1]);
-+	CHECK_CLOSE(21, (int)pixels[pixel_index], 1);
-+	CHECK_CLOSE(191, (int)pixels[pixel_index + 1], 2);
- 	CHECK_EQUAL(0, (int)pixels[pixel_index + 2]);
- 	CHECK_EQUAL(255, (int)pixels[pixel_index + 3]);
- 
-@@ -109,8 +109,8 @@ TEST(FFmpegReader_Check_Video_File)
- 
- 	// Check image properties on scanline 10, pixel 112
- 	CHECK_EQUAL(0, (int)pixels[pixel_index]);
--	CHECK_EQUAL(96, (int)pixels[pixel_index + 1]);
--	CHECK_EQUAL(188, (int)pixels[pixel_index + 2]);
-+	CHECK_CLOSE(96, (int)pixels[pixel_index + 1], 1);
-+	CHECK_CLOSE(188, (int)pixels[pixel_index + 2], 1);
- 	CHECK_EQUAL(255, (int)pixels[pixel_index + 3]);
- 
- 	// Close reader
-@@ -209,4 +209,3 @@ TEST(FFmpegReader_Multiple_Open_and_Close)
- 	// Close reader
- 	r.Close();
- }
--
-diff --git a/tests/ImageWriter_Tests.cpp b/tests/ImageWriter_Tests.cpp
-index 107ee39..d10c8bd 100644
---- a/tests/ImageWriter_Tests.cpp
-+++ b/tests/ImageWriter_Tests.cpp
-@@ -73,9 +73,9 @@ TEST(ImageWriter_Test_Gif)
- 	int pixel_index = 230 * 4; // pixel 230 (4 bytes per pixel)
- 
- 	// Check image properties
--	CHECK_EQUAL(20, (int)pixels[pixel_index]);
--	CHECK_EQUAL(18, (int)pixels[pixel_index + 1]);
--	CHECK_EQUAL(11, (int)pixels[pixel_index + 2]);
-+	CHECK_CLOSE(20, (int)pixels[pixel_index], 5);
-+	CHECK_CLOSE(18, (int)pixels[pixel_index + 1], 2);
-+	CHECK_CLOSE(11, (int)pixels[pixel_index + 2], 2);
- 	CHECK_EQUAL(255, (int)pixels[pixel_index + 3]);
- }
--#endif
-\ No newline at end of file
-+#endif
-diff --git a/tests/Timeline_Tests.cpp b/tests/Timeline_Tests.cpp
-index 8c81579..4d861a6 100644
---- a/tests/Timeline_Tests.cpp
-+++ b/tests/Timeline_Tests.cpp
-@@ -119,8 +119,8 @@ TEST(Timeline_Check_Two_Track_Video)
- 	int pixel_index = 230 * 4; // pixel 230 (4 bytes per pixel)
- 
- 	// Check image properties
--	CHECK_EQUAL(21, (int)f->GetPixels(pixel_row)[pixel_index]);
--	CHECK_EQUAL(191, (int)f->GetPixels(pixel_row)[pixel_index + 1]);
-+	CHECK_CLOSE(21, (int)f->GetPixels(pixel_row)[pixel_index], 2);
-+	CHECK_CLOSE(191, (int)f->GetPixels(pixel_row)[pixel_index + 1], 2);
- 	CHECK_EQUAL(0, (int)f->GetPixels(pixel_row)[pixel_index + 2]);
- 	CHECK_EQUAL(255, (int)f->GetPixels(pixel_row)[pixel_index + 3]);
- 
-@@ -128,17 +128,17 @@ TEST(Timeline_Check_Two_Track_Video)
- 	f = t.GetFrame(2);
- 
- 	// Check image properties
--	CHECK_EQUAL(176, (int)f->GetPixels(pixel_row)[pixel_index]);
-+	CHECK_CLOSE(176, (int)f->GetPixels(pixel_row)[pixel_index], 1);
- 	CHECK_EQUAL(0, (int)f->GetPixels(pixel_row)[pixel_index + 1]);
--	CHECK_EQUAL(186, (int)f->GetPixels(pixel_row)[pixel_index + 2]);
-+	CHECK_CLOSE(186, (int)f->GetPixels(pixel_row)[pixel_index + 2], 1);
- 	CHECK_EQUAL(255, (int)f->GetPixels(pixel_row)[pixel_index + 3]);
- 
- 	// Get frame
- 	f = t.GetFrame(3);
- 
- 	// Check image properties
--	CHECK_EQUAL(23, (int)f->GetPixels(pixel_row)[pixel_index]);
--	CHECK_EQUAL(190, (int)f->GetPixels(pixel_row)[pixel_index + 1]);
-+	CHECK_CLOSE(23, (int)f->GetPixels(pixel_row)[pixel_index], 1);
-+	CHECK_CLOSE(190, (int)f->GetPixels(pixel_row)[pixel_index + 1], 2);
- 	CHECK_EQUAL(0, (int)f->GetPixels(pixel_row)[pixel_index + 2]);
- 	CHECK_EQUAL(255, (int)f->GetPixels(pixel_row)[pixel_index + 3]);
- 
-@@ -146,8 +146,8 @@ TEST(Timeline_Check_Two_Track_Video)
- 	f = t.GetFrame(24);
- 
- 	// Check image properties
--	CHECK_EQUAL(186, (int)f->GetPixels(pixel_row)[pixel_index]);
--	CHECK_EQUAL(106, (int)f->GetPixels(pixel_row)[pixel_index + 1]);
-+	CHECK_CLOSE(186, (int)f->GetPixels(pixel_row)[pixel_index], 1);
-+	CHECK_CLOSE(106, (int)f->GetPixels(pixel_row)[pixel_index + 1], 1);
- 	CHECK_EQUAL(0, (int)f->GetPixels(pixel_row)[pixel_index + 2]);
- 	CHECK_EQUAL(255, (int)f->GetPixels(pixel_row)[pixel_index + 3]);
- 
-@@ -155,8 +155,8 @@ TEST(Timeline_Check_Two_Track_Video)
- 	f = t.GetFrame(5);
- 
- 	// Check image properties
--	CHECK_EQUAL(23, (int)f->GetPixels(pixel_row)[pixel_index]);
--	CHECK_EQUAL(190, (int)f->GetPixels(pixel_row)[pixel_index + 1]);
-+	CHECK_CLOSE(23, (int)f->GetPixels(pixel_row)[pixel_index], 1);
-+	CHECK_CLOSE(190, (int)f->GetPixels(pixel_row)[pixel_index + 1], 2);
- 	CHECK_EQUAL(0, (int)f->GetPixels(pixel_row)[pixel_index + 2]);
- 	CHECK_EQUAL(255, (int)f->GetPixels(pixel_row)[pixel_index + 3]);
- 
-@@ -165,17 +165,17 @@ TEST(Timeline_Check_Two_Track_Video)
- 
- 	// Check image properties
- 	CHECK_EQUAL(0, (int)f->GetPixels(pixel_row)[pixel_index]);
--	CHECK_EQUAL(94, (int)f->GetPixels(pixel_row)[pixel_index + 1]);
--	CHECK_EQUAL(186, (int)f->GetPixels(pixel_row)[pixel_index + 2]);
-+	CHECK_CLOSE(94, (int)f->GetPixels(pixel_row)[pixel_index + 1], 1);
-+	CHECK_CLOSE(186, (int)f->GetPixels(pixel_row)[pixel_index + 2], 1);
- 	CHECK_EQUAL(255, (int)f->GetPixels(pixel_row)[pixel_index + 3]);
- 
- 	// Get frame
- 	f = t.GetFrame(4);
- 
- 	// Check image properties
--	CHECK_EQUAL(176, (int)f->GetPixels(pixel_row)[pixel_index]);
-+	CHECK_CLOSE(176, (int)f->GetPixels(pixel_row)[pixel_index], 1);
- 	CHECK_EQUAL(0, (int)f->GetPixels(pixel_row)[pixel_index + 1]);
--	CHECK_EQUAL(186, (int)f->GetPixels(pixel_row)[pixel_index + 2]);
-+	CHECK_CLOSE(186, (int)f->GetPixels(pixel_row)[pixel_index + 2], 1);
- 	CHECK_EQUAL(255, (int)f->GetPixels(pixel_row)[pixel_index + 3]);
- 
- 	// Close reader
--- 
-2.21.0
-
diff --git a/gnu/packages/patches/libopenshot-tests-with-system-libs.patch b/gnu/packages/patches/libopenshot-tests-with-system-libs.patch
deleted file mode 100644
index a18c4b8bba..0000000000
--- a/gnu/packages/patches/libopenshot-tests-with-system-libs.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-Combination of two patches that fix libopenshot tests when built with
-system-provided ffmpeg and jsoncpp.  See
-
-  https://github.com/OpenShot/libopenshot/pull/163
-
-From 0d7691ab53433e1583f6a66ea96683b0f7af8a57 Mon Sep 17 00:00:00 2001
-From: "FeRD (Frank Dana)" <ferdnyc@gmail.com>
-Date: Mon, 17 Sep 2018 14:04:40 -0400
-Subject: [PATCH] tests/CMakeFiles: Use FFMpeg like src/
-
----
- tests/CMakeLists.txt | 32 +++++++++++++++++++++++++++++++-
- 1 file changed, 31 insertions(+), 1 deletion(-)
-
-diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
-index 2c45550..4df8464 100644
---- a/tests/CMakeLists.txt
-+++ b/tests/CMakeLists.txt
-@@ -79,7 +79,37 @@ ENDIF (ImageMagick_FOUND)
- FIND_PACKAGE(FFmpeg REQUIRED)
- 
- # Include FFmpeg headers (needed for compile)
--include_directories(${FFMPEG_INCLUDE_DIR})
-+message('AVCODEC_FOUND: ${AVCODEC_FOUND}')
-+message('AVCODEC_INCLUDE_DIRS: ${AVCODEC_INCLUDE_DIRS}')
-+message('AVCODEC_LIBRARIES: ${AVCODEC_LIBRARIES}')
-+
-+IF (AVCODEC_FOUND)
-+	include_directories(${AVCODEC_INCLUDE_DIRS})
-+ENDIF (AVCODEC_FOUND)
-+IF (AVDEVICE_FOUND)
-+	include_directories(${AVDEVICE_INCLUDE_DIRS})
-+ENDIF (AVDEVICE_FOUND)
-+IF (AVFORMAT_FOUND)
-+	include_directories(${AVFORMAT_INCLUDE_DIRS})
-+ENDIF (AVFORMAT_FOUND)
-+IF (AVFILTER_FOUND)
-+	include_directories(${AVFILTER_INCLUDE_DIRS})
-+ENDIF (AVFILTER_FOUND)
-+IF (AVUTIL_FOUND)
-+	include_directories(${AVUTIL_INCLUDE_DIRS})
-+ENDIF (AVUTIL_FOUND)
-+IF (POSTPROC_FOUND)
-+	include_directories(${POSTPROC_INCLUDE_DIRS})
-+ENDIF (POSTPROC_FOUND)
-+IF (SWSCALE_FOUND)
-+	include_directories(${SWSCALE_INCLUDE_DIRS})
-+ENDIF (SWSCALE_FOUND)
-+IF (SWRESAMPLE_FOUND)
-+	include_directories(${SWRESAMPLE_INCLUDE_DIRS})
-+ENDIF (SWRESAMPLE_FOUND)
-+IF (AVRESAMPLE_FOUND)
-+	include_directories(${AVRESAMPLE_INCLUDE_DIRS})
-+ENDIF (AVRESAMPLE_FOUND)
- 
- ################# LIBOPENSHOT-AUDIO ###################
- # Find JUCE-based openshot Audio libraries
-
-
-From e9e85cdfd036587adb86341f7f81619dc69f102c Mon Sep 17 00:00:00 2001
-From: "FeRD (Frank Dana)" <ferdnyc@gmail.com>
-Date: Mon, 17 Sep 2018 19:23:25 -0400
-Subject: [PATCH] Use system jsoncpp in tests, too
-
-The tests/ build needs to use the same jsoncpp as the src/ build,
-or tests in Clip_Tests.cpp can fail.
----
- tests/CMakeLists.txt | 10 ++++++++--
- 1 file changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
-index 4df8464..a1a0356 100644
---- a/tests/CMakeLists.txt
-+++ b/tests/CMakeLists.txt
-@@ -180,12 +180,18 @@ endif(OPENMP_FOUND)
- # Find ZeroMQ library (used for socket communication & logging)
- FIND_PACKAGE(ZMQ REQUIRED)
- 
--# Include FFmpeg headers (needed for compile)
-+# Include ZeroMQ headers (needed for compile)
- include_directories(${ZMQ_INCLUDE_DIRS})
- 
- ################### JSONCPP #####################
- # Include jsoncpp headers (needed for JSON parsing)
--include_directories("../thirdparty/jsoncpp/include")
-+if (USE_SYSTEM_JSONCPP)
-+	find_package(JsonCpp REQUIRED)
-+	include_directories(${JSONCPP_INCLUDE_DIRS})
-+else()
-+	message("Using embedded JsonCpp")
-+	include_directories("../thirdparty/jsoncpp/include")
-+endif(USE_SYSTEM_JSONCPP)
- 
- IF (NOT DISABLE_TESTS)
- 	###############  SET TEST SOURCE FILES  #################
diff --git a/gnu/packages/protobuf.scm b/gnu/packages/protobuf.scm
index c4e52fbaf6..b30461e153 100644
--- a/gnu/packages/protobuf.scm
+++ b/gnu/packages/protobuf.scm
@@ -2,7 +2,7 @@
 ;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2016 Daniel Pimentel <d4n1@d4n1.org>
 ;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
-;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -210,6 +210,18 @@ mechanism for serializing structured data.")
 (define-public python2-protobuf
   (package-with-python2 python-protobuf))
 
+(define-public python-protobuf-next
+  (package (inherit python-protobuf)
+    (name "python-protobuf")
+    (version (package-version protobuf-next) )
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "protobuf" version))
+       (sha256
+        (base32
+         "04bqb12smlckzmgkj6vgmpbr3cby0n6726cmz33bqr7kn1vb728l"))))))
+
 (define-public emacs-protobuf-mode
   (package
     (name "emacs-protobuf-mode")
diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm
index 05e0d1d833..ae1ef9749b 100644
--- a/gnu/packages/serialization.scm
+++ b/gnu/packages/serialization.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2017, 2019 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
 ;;; Copyright © 2016 David Craven <david@craven.ch>
 ;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
@@ -30,6 +30,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix utils)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
@@ -317,6 +318,23 @@ preserve existing comment in unserialization/serialization steps, making
 it a convenient format to store user input files.")
     (license license:expat)))
 
+;; Tensorflow does not build with jsoncpp 1.8.x.  It is built with commit
+;; 4356d9bba191e1e16ce7a92073cbf3e63564e973, which lies between version 1.7.2
+;; and 1.7.3.
+(define-public jsoncpp-for-tensorflow
+  (package (inherit jsoncpp)
+    (name "jsoncpp")
+    (version "1.7.3")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/open-source-parsers/jsoncpp.git")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1180ln8blrb0mwzpcf78k49hlki6di65q77rsvglf83kfcyh4d7z"))))))
+
 (define-public capnproto
   (package
     (name "capnproto")
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 0b9e7d0bc4..2993e7dea3 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -91,6 +91,7 @@
   #:use-module (gnu packages elf)
   #:use-module (gnu packages file)
   #:use-module (gnu packages flex)
+  #:use-module (gnu packages fonts)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages fribidi)
@@ -1326,6 +1327,14 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
     (arguments
      '(#:phases
        (modify-phases %standard-phases
+         (add-after
+          'unpack 'patch-paths
+          (lambda* (#:key inputs #:allow-other-keys)
+            (let ((ytdl (assoc-ref inputs "youtube-dl")))
+              (substitute* "player/lua/ytdl_hook.lua"
+                (("\"youtube-dl\",")
+                 (string-append "\"" ytdl "/bin/youtube-dl\",")))
+              #t)))
          (add-before
           'configure 'setup-waf
           (lambda* (#:key inputs #:allow-other-keys)
@@ -3293,7 +3302,7 @@ create smoother and stable videos.")
 (define-public libopenshot
   (package
     (name "libopenshot")
-    (version "0.2.2")
+    (version "0.2.3")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -3302,7 +3311,7 @@ create smoother and stable videos.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1x4kv05pdq1pglb6y056aa7llc6iyibyhzg93k7zwj0q08cp5ixd"))
+                "0r1qmr8ar5n72603xkj9h065vbpznrqsq88kxxmn9n8djyyvk03k"))
               (modules '((guix build utils)))
               (snippet '(begin
                           ;; Allow overriding of the python installation dir
@@ -3311,9 +3320,7 @@ create smoother and stable videos.")
                              (string-append set " CACHE PATH "
                                             "\"Python bindings directory\")")))
                           (delete-file-recursively "thirdparty")
-                          #t))
-              (patches (search-patches "libopenshot-fixup-tests.patch"
-                                       "libopenshot-tests-with-system-libs.patch"))))
+                          #t))))
     (build-system cmake-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
@@ -3357,7 +3364,7 @@ API.  It includes bindings for Python, Ruby, and other languages.")
 (define-public openshot
   (package
     (name "openshot")
-    (version "2.4.3")
+    (version "2.4.4")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -3366,10 +3373,15 @@ API.  It includes bindings for Python, Ruby, and other languages.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1qdw1mli4y9qhrnllnkaf6ydgw5vfvdb90chs4i679k0x0jyb9a2"))))
+                "0mg63v36h7l8kv2sgf6x8c1n3ygddkqqwlciz7ccxpbm4x1idqba"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           (delete-file-recursively "src/images/fonts") #t))))
     (build-system python-build-system)
     (inputs
      `(("ffmpeg" ,ffmpeg)
+       ("font-ubuntu" ,font-ubuntu)
        ("libopenshot" ,libopenshot)
        ("python" ,python)
        ("python-pyqt" ,python-pyqt)
@@ -3378,8 +3390,20 @@ API.  It includes bindings for Python, Ruby, and other languages.")
        ("qtsvg" ,qtsvg)))
     (arguments
      `(#:tests? #f                      ;no tests
+       #:modules ((guix build python-build-system)
+                  (guix build qt-utils)
+                  (guix build utils))
+       #:imported-modules (,@%python-build-system-modules
+                            (guix build qt-utils))
        #:phases (modify-phases %standard-phases
                   (delete 'build)       ;install phase does all the work
+                  (add-after 'unpack 'patch-font-location
+                    (lambda* (#:key inputs #:allow-other-keys)
+                      (let ((font (assoc-ref inputs "font-ubuntu")))
+                        (substitute* "src/classes/app.py"
+                          (("info.IMAGES_PATH") (string-append "\"" font "\""))
+                          (("fonts") "share/fonts/truetype")))
+                      #t))
                   (add-before 'install 'set-tmp-home
                     (lambda _
                       ;; src/classes/info.py "needs" to create several
@@ -3387,12 +3411,10 @@ API.  It includes bindings for Python, Ruby, and other languages.")
                       (setenv "HOME" "/tmp")
                       #t))
                   (add-after 'install 'wrap-program
-                    (lambda* (#:key inputs outputs #:allow-other-keys)
-                      (wrap-program (string-append (assoc-ref outputs "out")
-                                                   "/bin/openshot-qt")
-                        `("QT_PLUGIN_PATH" prefix
-                          ,(list (string-append (assoc-ref inputs "qtsvg")
-                                                "/lib/qt5/plugins/")))))))))
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      (let ((out (assoc-ref outputs "out")))
+                        (wrap-qt-program out "openshot-qt"))
+                      #t)))))
     (home-page "https://openshot.org")
     (synopsis "Video editor")
     (description "OpenShot takes your videos, photos, and music files and
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index 99edf3df01..bfe5b876de 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -456,14 +456,14 @@ The peer-to-peer VPN implements a Layer 2 (Ethernet) network between the peers
 (define-public wireguard
   (package
     (name "wireguard")
-    (version "0.0.20190227")
+    (version "0.0.20190406")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://git.zx2c4.com/WireGuard/snapshot/"
                                   "WireGuard-" version ".tar.xz"))
               (sha256
                (base32
-                "0ybzycpjjidyiz88kkh67abvp3y30f34252dwpgf3ncj4vyjdnzw"))))
+                "0ns1s31mfkj7nmapsnx126rj7xlydv7jv8infx5fg58byynz61ig"))))
     (build-system gnu-build-system)
     (outputs '("out" ; The WireGuard userspace tools
                "kernel-patch")) ; A patch to build Linux with WireGuard support