commit:     a4bd272fba3feab333eced74d266dcc6e828f80a
Author:     Chí-Thanh Christopher Nguyễn <chithanh <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 24 20:30:10 2016 +0000
Commit:     Chí-Thanh Christopher Nguyễn <chithanh <AT> gentoo <DOT> org>
CommitDate: Sun Apr 24 20:30:10 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a4bd272f

www-plugins/gnash: fix building against newer libva, address repoman warnings

Bug: https://bugs.gentoo.org/show_bug.cgi?id=546584

Package-Manager: portage-2.2.26

 .../gnash/files/gnash-0.8.10-libva-1.6_0000.patch  | 43 ++++++++++++++++++++++
 .../gnash/files/gnash-0.8.10-libva-1.6_0001.patch  | 28 ++++++++++++++
 www-plugins/gnash/gnash-0.8.10_p20150316.ebuild    | 26 ++++++++-----
 3 files changed, 87 insertions(+), 10 deletions(-)

diff --git a/www-plugins/gnash/files/gnash-0.8.10-libva-1.6_0000.patch 
b/www-plugins/gnash/files/gnash-0.8.10-libva-1.6_0000.patch
new file mode 100644
index 0000000..d914f4a
--- /dev/null
+++ b/www-plugins/gnash/files/gnash-0.8.10-libva-1.6_0000.patch
@@ -0,0 +1,43 @@
+From e5c08131abde15f7a1e048e35d1a9ff12b2acdaa Mon Sep 17 00:00:00 2001
+From: Bastiaan Jacques <basti...@bjacques.org>
+Date: Thu, 26 Mar 2015 15:24:21 +0000
+Subject: Build fix: adjust smart pointers to unique_ptr API.
+
+---
+diff --git a/libdevice/vaapi/VaapiContext.h b/libdevice/vaapi/VaapiContext.h
+index 8d9de72..c49d48a 100644
+--- a/libdevice/vaapi/VaapiContext.h
++++ b/libdevice/vaapi/VaapiContext.h
+@@ -84,7 +84,7 @@ public:
+     void releaseSurface(std::shared_ptr<VaapiSurface> surface);
+ 
+     /// Set user data
+-    void setData(std::unique_ptr<VaapiContextData> user_data) { _user_data = 
user_data; }
++    void setData(std::unique_ptr<VaapiContextData> user_data) { _user_data = 
std::move(user_data); }
+ 
+     /// Get user data
+     VaapiContextData *getData() const { return _user_data.get(); }
+diff --git a/libdevice/vaapi/VaapiGlobalContext.cpp 
b/libdevice/vaapi/VaapiGlobalContext.cpp
+index c19ed07..5127a27 100644
+--- a/libdevice/vaapi/VaapiGlobalContext.cpp
++++ b/libdevice/vaapi/VaapiGlobalContext.cpp
+@@ -33,7 +33,7 @@
+ namespace gnash {
+ 
+ VaapiGlobalContext::VaapiGlobalContext(std::unique_ptr<VaapiDisplay> display)
+-    : _display(display)
++    : _display(std::move(display))
+ {
+     GNASH_REPORT_FUNCTION;
+ 
+@@ -145,7 +145,7 @@ VaapiGlobalContext *VaapiGlobalContext::get()
+             if (!dpy.get()) {
+                 return NULL;
+             }
+-            vaapi_global_context.reset(new VaapiGlobalContext(dpy));
++            vaapi_global_context.reset(new 
VaapiGlobalContext(std::move(dpy)));
+         }
+         catch (...) {
+             vaapi_set_is_enabled(false);
+--
+cgit v0.9.0.2

diff --git a/www-plugins/gnash/files/gnash-0.8.10-libva-1.6_0001.patch 
b/www-plugins/gnash/files/gnash-0.8.10-libva-1.6_0001.patch
new file mode 100644
index 0000000..4c25a98
--- /dev/null
+++ b/www-plugins/gnash/files/gnash-0.8.10-libva-1.6_0001.patch
@@ -0,0 +1,28 @@
+From f5016cc9399c9ffd3c5d32c67bb28fac285559c6 Mon Sep 17 00:00:00 2001
+From: Bastiaan Jacques <basti...@bjacques.org>
+Date: Wed, 09 Sep 2015 19:25:31 +0000
+Subject: Compilation fix. See Savannah #44636.
+
+Also skip useless NULL check.
+---
+diff --git a/gui/gtk/gtk_glue_agg_vaapi.cpp b/gui/gtk/gtk_glue_agg_vaapi.cpp
+index 1eda283..6209e89 100644
+--- a/gui/gtk/gtk_glue_agg_vaapi.cpp
++++ b/gui/gtk/gtk_glue_agg_vaapi.cpp
+@@ -301,11 +301,9 @@ 
GtkAggVaapiGlue::getVideoWindow(std::shared_ptr<VaapiSurface> surface,
+         return NULL;
+ 
+     if (!context->getData()) {
+-        std::unique_ptr<VaapiContextData> contextData;
+-        contextData.reset(new VaapiVideoWindow(parent_window, rect));
+-        if (!contextData.get())
+-            return NULL;
+-        context->setData(contextData);
++        context->setData(
++            std::unique_ptr<VaapiContextData>(
++                new VaapiVideoWindow(parent_window, rect)));
+     }
+     return dynamic_cast<VaapiVideoWindow *>(context->getData());
+ }
+--
+cgit v0.9.0.2

diff --git a/www-plugins/gnash/gnash-0.8.10_p20150316.ebuild 
b/www-plugins/gnash/gnash-0.8.10_p20150316.ebuild
index 441d7ba..0ac3743 100644
--- a/www-plugins/gnash/gnash-0.8.10_p20150316.ebuild
+++ b/www-plugins/gnash/gnash-0.8.10_p20150316.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -41,8 +41,8 @@ REQUIRED_USE="dump? ( agg ffmpeg )
 RDEPEND=">=dev-libs/boost-1.41.0:0=
        dev-libs/expat
        dev-libs/libxml2
-       virtual/jpeg
-       media-libs/libpng
+       virtual/jpeg:0
+       media-libs/libpng:0
        net-misc/curl
        x11-libs/libX11
        x11-libs/libXi
@@ -65,16 +65,17 @@ RDEPEND=">=dev-libs/boost-1.41.0:0=
        fbcon? (
                x11-libs/tslib
        )
-       ffmpeg? (
-               virtual/ffmpeg[vaapi?]
-       )
+       ffmpeg? ( || (
+               !vaapi? ( media-video/libav )
+               media-video/ffmpeg[vaapi?]
+       ) )
        gconf? (
                gnome-base/gconf
        )
        gstreamer? (
-               media-plugins/gst-plugins-ffmpeg
-               media-plugins/gst-plugins-mad
-               media-plugins/gst-plugins-meta
+               media-plugins/gst-plugins-ffmpeg:*
+               media-plugins/gst-plugins-mad:*
+               media-plugins/gst-plugins-meta:*
        )
        gtk? (
                x11-libs/gtk+:2
@@ -99,7 +100,7 @@ RDEPEND=">=dev-libs/boost-1.41.0:0=
        lirc? ( app-misc/lirc )
        dbus? ( sys-apps/dbus )
        ssh?  ( >=net-libs/libssh-0.4[server] )
-       ssl? ( dev-libs/openssl )
+       ssl? ( dev-libs/openssl:0 )
        vaapi? ( x11-libs/libva[opengl?] )
        "
 DEPEND="${RDEPEND}
@@ -147,6 +148,11 @@ src_prepare() {
        # See https://savannah.gnu.org/bugs/?46148
        epatch "${FILESDIR}"/${P}-boost-1.60.patch
 
+       # Fix vaapi build, bug #546584
+       # See https://savannah.gnu.org/bugs/?44636
+       epatch "${FILESDIR}"/${PN}-0.8.10-libva-1.6_0000.patch
+       epatch "${FILESDIR}"/${PN}-0.8.10-libva-1.6_0001.patch
+
        eautoreconf
 }
 src_configure() {

Reply via email to