aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/gnuzilla.scm2
-rw-r--r--gnu/packages/gstreamer.scm4
-rw-r--r--gnu/packages/patches/gst-plugins-good-libvpx-compat.patch58
-rw-r--r--gnu/packages/video.scm28
5 files changed, 86 insertions, 7 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 1ea8069308..cf8d29e4ce 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -845,6 +845,7 @@ dist_patch_DATA = \
%D%/packages/patches/grub-check-error-efibootmgr.patch \
%D%/packages/patches/gsl-test-i686.patch \
%D%/packages/patches/gspell-dash-test.patch \
+ %D%/packages/patches/gst-plugins-good-libvpx-compat.patch \
%D%/packages/patches/guile-1.8-cpp-4.5.patch \
%D%/packages/patches/guile-2.2-default-utf8.patch \
%D%/packages/patches/guile-default-utf8.patch \
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index ef88510a2a..1f299a2b13 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -827,7 +827,7 @@ from forcing GEXP-PROMISE."
("libxt" ,libxt)
("libffi" ,libffi)
("ffmpeg" ,ffmpeg)
- ("libvpx" ,libvpx)
+ ("libvpx" ,libvpx-1.7)
("icu4c" ,icu4c)
("pixman" ,pixman)
("pulseaudio" ,pulseaudio)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 755904231b..48a4dffa46 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -216,6 +216,7 @@ for the GStreamer multimedia library.")
(uri (string-append
"https://gstreamer.freedesktop.org/src/" name "/"
name "-" version ".tar.xz"))
+ (patches (search-patches "gst-plugins-good-libvpx-compat.patch"))
(sha256
(base32
"0y89qynb4b6fry3h43z1r99qslmi3m8xhlq0i5baq2nbc0r5b2sz"))))
@@ -249,7 +250,8 @@ for the GStreamer multimedia library.")
("pkg-config" ,pkg-config)
("python-wrapper" ,python-wrapper)))
(arguments
- `(#:phases
+ `(#:make-flags '("CFLAGS=-DHAVE_VPX_1_8") ;XXX: Remove for >1.14.
+ #:phases
(modify-phases %standard-phases
(add-after
'unpack 'disable-failing-tests
diff --git a/gnu/packages/patches/gst-plugins-good-libvpx-compat.patch b/gnu/packages/patches/gst-plugins-good-libvpx-compat.patch
new file mode 100644
index 0000000000..8306c79e56
--- /dev/null
+++ b/gnu/packages/patches/gst-plugins-good-libvpx-compat.patch
@@ -0,0 +1,58 @@
+Fix build with libvpx 1.8.
+
+Taken from this upstream commit:
+https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/commit/b6e6f1ae73375ef66a5748069843aaed1a83e6a6
+
+Note: Remove the HAVE_VPX_1_8 build flag with this patch. It was added
+to avoid re-creating the configure script.
+
+diff --git a/configure.ac b/configure.ac
+index 5e4cff126..8c20e5081 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1054,6 +1054,10 @@ AG_GST_CHECK_FEATURE(VPX, [VPX decoder], vpx, [
+ AC_DEFINE(HAVE_VPX_1_4, 1, [Defined if the VPX library version is 1.4 or bigger])
+ ], [true])
+
++ PKG_CHECK_MODULES(VPX_180, vpx >= 1.8.0, [
++ AC_DEFINE(HAVE_VPX_1_8, 1, [Defined if the VPX library version is 1.8 or bigger])
++ ], [true])
++
+ LIBS="$OLD_LIBS"
+ CFLAGS="$OLD_CFLAGS"
+ fi
+diff --git a/ext/vpx/gstvpxdec.c b/ext/vpx/gstvpxdec.c
+index c3f0f625f..da4322513 100644
+--- a/ext/vpx/gstvpxdec.c
++++ b/ext/vpx/gstvpxdec.c
+@@ -62,6 +62,7 @@ gst_vpx_dec_post_processing_flags_get_type (void)
+ {C_FLAGS (VP8_DEBLOCK), "Deblock", "deblock"},
+ {C_FLAGS (VP8_DEMACROBLOCK), "Demacroblock", "demacroblock"},
+ {C_FLAGS (VP8_ADDNOISE), "Add noise", "addnoise"},
++#ifndef HAVE_VPX_1_8
+ {C_FLAGS (VP8_DEBUG_TXT_FRAME_INFO),
+ "Print frame information",
+ "visualize-frame-info"},
+@@ -74,6 +75,7 @@ gst_vpx_dec_post_processing_flags_get_type (void)
+ {C_FLAGS (VP8_DEBUG_TXT_RATE_INFO),
+ "Print video rate info",
+ "visualize-rate-info"},
++#endif
+ {C_FLAGS (VP8_MFQE), "Multi-frame quality enhancement", "mfqe"},
+ {0, NULL, NULL}
+ };
+diff --git a/ext/vpx/meson.build b/ext/vpx/meson.build
+index 6ed440728..0d2340b32 100644
+--- a/ext/vpx/meson.build
++++ b/ext/vpx/meson.build
+@@ -48,6 +48,10 @@ if vpx_dep.found()
+ vpx_args += '-DHAVE_VPX_1_4'
+ endif
+
++ if dependency('vpx', version : '>=1.8.0', required : false).found()
++ vpx_args += '-DHAVE_VPX_1_8'
++ endif
++
+ gstvpx = library('gstvpx',
+ vpx_sources,
+ c_args : gst_plugins_good_args + vpx_args,
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index f98b6e796c..c0f439ea93 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -23,7 +23,7 @@
;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net>
;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Roel Janssen <roel@gnu.org>
-;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2018, 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2018 Brendan Tildesley <brendan.tildesley@openmailbox.org>
@@ -1301,7 +1301,7 @@ access to mpv's powerful playback capabilities.")
(define-public libvpx
(package
(name "libvpx")
- (version "1.7.0")
+ (version "1.8.0")
(source (origin
;; XXX: Upstream does not provide tarballs for > 1.6.1.
(method git-fetch)
@@ -1311,9 +1311,8 @@ access to mpv's powerful playback capabilities.")
(file-name (git-file-name name version))
(sha256
(base32
- "0vvh89hvp8qg9an9vcmwb7d9k3nixhxaz6zi65qdjnd0i56kkcz6"))
- (patches (search-patches "libvpx-use-after-free-in-postproc.patch"
- "libvpx-CVE-2016-2818.patch"))))
+ "079pb80am08lj8y5rx99vdr99mdqis9067f172zq12alkz849n93"))
+ (patches (search-patches "libvpx-CVE-2016-2818.patch"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags (list "--enable-shared"
@@ -1338,6 +1337,25 @@ access to mpv's powerful playback capabilities.")
(license license:bsd-3)
(home-page "https://www.webmproject.org/")))
+;; GNU IceCat fails to build against 1.8.0, so keep this version for now.
+(define-public libvpx-1.7
+ (package
+ (inherit libvpx)
+ (version "1.7.0")
+ (source (origin
+ (inherit (package-source libvpx))
+ (uri (git-reference
+ (url "https://chromium.googlesource.com/webm/libvpx")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "libvpx" version))
+ (sha256
+ (base32
+ "0vvh89hvp8qg9an9vcmwb7d9k3nixhxaz6zi65qdjnd0i56kkcz6"))
+ (patches
+ (append
+ (origin-patches (package-source libvpx))
+ (search-patches "libvpx-use-after-free-in-postproc.patch")))))))
+
(define-public youtube-dl
(package
(name "youtube-dl")