guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

03/06: gnu: libvpx: Update to 1.8.0.


From: guix-commits
Subject: 03/06: gnu: libvpx: Update to 1.8.0.
Date: Sat, 9 Feb 2019 15:06:43 -0500 (EST)

mbakke pushed a commit to branch master
in repository guix.

commit 037d59136763c03243e76ebe5d6e40bed6653333
Author: Marius Bakke <address@hidden>
Date:   Sat Feb 9 17:15:13 2019 +0100

    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.
---
 gnu/local.mk                                       |  1 +
 gnu/packages/gnuzilla.scm                          |  2 +-
 gnu/packages/gstreamer.scm                         |  4 +-
 .../patches/gst-plugins-good-libvpx-compat.patch   | 58 ++++++++++++++++++++++
 gnu/packages/video.scm                             | 28 +++++++++--
 5 files changed, 86 insertions(+), 7 deletions(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index 1ea8069..cf8d29e 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 ef88510..1f299a2 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 7559042..48a4dff 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 0000000..8306c79
--- /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 f98b6e7..c0f439e 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -23,7 +23,7 @@
 ;;; Copyright © 2017 Gregor Giesen <address@hidden>
 ;;; Copyright © 2017, 2018, 2019 Rutger Helling <address@hidden>
 ;;; Copyright © 2018 Roel Janssen <address@hidden>
-;;; Copyright © 2018 Marius Bakke <address@hidden>
+;;; Copyright © 2018, 2019 Marius Bakke <address@hidden>
 ;;; Copyright © 2018 Pierre Neidhardt <address@hidden>
 ;;; Copyright © 2018 Leo Famulari <address@hidden>
 ;;; Copyright © 2018 Brendan Tildesley <address@hidden>
@@ -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")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]