gnu: libvpx: Update to 1.8.0.

* gnu/packages/patches/gst-plugins-good-libvpx-compat.patch: New file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/video.scm (libvpx): Update to 1.8.0.
[source](patches): Remove obsolete patch.
(libvpx-1.7): New public variable.
* gnu/packages/gnuzilla.scm (icecat)[inputs]: Use LIBVPX-1.7 instead of LIBVPX.
* gnu/packages/gstreamer.scm (gst-plugins-good)[source](patches): New field.
[arguments]: Add #:make-flags.
This commit is contained in:
Marius Bakke 2019-02-09 17:15:13 +01:00
parent 4a3436449b
commit 037d591367
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA
5 changed files with 86 additions and 7 deletions

View file

@ -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 \

View file

@ -827,7 +827,7 @@ (define-public icecat
("libxt" ,libxt)
("libffi" ,libffi)
("ffmpeg" ,ffmpeg)
("libvpx" ,libvpx)
("libvpx" ,libvpx-1.7)
("icu4c" ,icu4c)
("pixman" ,pixman)
("pulseaudio" ,pulseaudio)

View file

@ -216,6 +216,7 @@ (define-public gst-plugins-good
(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 @@ (define-public gst-plugins-good
("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

View file

@ -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,

View file

@ -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 @@ (define-public gnome-mpv
(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 @@ (define-public libvpx
(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 @@ (define-public libvpx
(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")