commit:     fec3ff95d51445705b18ffa921880d55442c2355
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 19 14:51:35 2019 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Oct 19 15:51:38 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fec3ff95

media-libs/qt-gstreamer: Fix build with >=gstreamer-16 and clang

Fix BDEPEND while at it.

Thanks-to: Peter Levine <plevine457 <AT> gmail.com>
Closes: https://bugs.gentoo.org/698022
Package-Manager: Portage-2.3.77, Repoman-2.3.17
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../files/qt-gstreamer-1.2.0-clang-38.patch        | 67 ++++++++++++++++++++++
 .../files/qt-gstreamer-1.2.0-gstreamer16.patch     | 25 ++++++++
 .../qt-gstreamer/qt-gstreamer-1.2.0-r4.ebuild      |  9 ++-
 3 files changed, 98 insertions(+), 3 deletions(-)

diff --git a/media-libs/qt-gstreamer/files/qt-gstreamer-1.2.0-clang-38.patch 
b/media-libs/qt-gstreamer/files/qt-gstreamer-1.2.0-clang-38.patch
new file mode 100644
index 00000000000..977a09d7f6c
--- /dev/null
+++ b/media-libs/qt-gstreamer/files/qt-gstreamer-1.2.0-clang-38.patch
@@ -0,0 +1,67 @@
+From fc159e5c4c8ffeabdc7319514c6bb19c9c9e1d3b Mon Sep 17 00:00:00 2001
+From: Aleix Pol <aleix...@kde.org>
+Date: Mon, 13 Jun 2016 10:36:34 +0200
+Subject: [PATCH] Fix build with Clang 3.8
+
+error: invalid suffix on literal; C++11 requires a space between literal and 
identifier
+
+https://bugzilla.gnome.org/show_bug.cgi?id=767578
+---
+ elements/gstqtvideosink/delegates/basedelegate.cpp             | 2 +-
+ elements/gstqtvideosink/delegates/qwidgetvideosinkdelegate.cpp | 2 +-
+ elements/gstqtvideosink/gstqtquick2videosink.cpp               | 2 +-
+ elements/gstqtvideosink/gstqtvideosinkbase.cpp                 | 2 +-
+ 4 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/elements/gstqtvideosink/delegates/basedelegate.cpp 
b/elements/gstqtvideosink/delegates/basedelegate.cpp
+index 7dde59c..65f364c 100644
+--- a/elements/gstqtvideosink/delegates/basedelegate.cpp
++++ b/elements/gstqtvideosink/delegates/basedelegate.cpp
+@@ -155,7 +155,7 @@ bool BaseDelegate::event(QEvent *event)
+         BufferEvent *bufEvent = dynamic_cast<BufferEvent*>(event);
+         Q_ASSERT(bufEvent);
+ 
+-        GST_TRACE_OBJECT(m_sink, "Received buffer %"GST_PTR_FORMAT, 
bufEvent->buffer);
++        GST_TRACE_OBJECT(m_sink, "Received buffer %" GST_PTR_FORMAT, 
bufEvent->buffer);
+ 
+         if (isActive()) {
+             gst_buffer_replace (&m_buffer, bufEvent->buffer);
+diff --git a/elements/gstqtvideosink/delegates/qwidgetvideosinkdelegate.cpp 
b/elements/gstqtvideosink/delegates/qwidgetvideosinkdelegate.cpp
+index 8f23dc2..c42513f 100644
+--- a/elements/gstqtvideosink/delegates/qwidgetvideosinkdelegate.cpp
++++ b/elements/gstqtvideosink/delegates/qwidgetvideosinkdelegate.cpp
+@@ -36,7 +36,7 @@ QWidget *QWidgetVideoSinkDelegate::widget() const
+ 
+ void QWidgetVideoSinkDelegate::setWidget(QWidget *widget)
+ {
+-    GST_LOG_OBJECT(m_sink, "Setting \"widget\" property to %"GST_PTR_FORMAT, 
widget);
++    GST_LOG_OBJECT(m_sink, "Setting \"widget\" property to %" GST_PTR_FORMAT, 
widget);
+ 
+     if (m_widget) {
+         m_widget.data()->removeEventFilter(this);
+diff --git a/elements/gstqtvideosink/gstqtquick2videosink.cpp 
b/elements/gstqtvideosink/gstqtquick2videosink.cpp
+index 7889fbf..bedc074 100644
+--- a/elements/gstqtvideosink/gstqtquick2videosink.cpp
++++ b/elements/gstqtvideosink/gstqtquick2videosink.cpp
+@@ -248,7 +248,7 @@ gst_qt_quick2_video_sink_show_frame(GstVideoSink *sink, 
GstBuffer *buffer)
+ {
+     GstQtQuick2VideoSink *self = GST_QT_QUICK2_VIDEO_SINK (sink);
+ 
+-    GST_TRACE_OBJECT(self, "Posting new buffer (%"GST_PTR_FORMAT") for 
rendering.", buffer);
++    GST_TRACE_OBJECT(self, "Posting new buffer (%" GST_PTR_FORMAT ") for 
rendering.", buffer);
+ 
+     QCoreApplication::postEvent(self->priv->delegate, new 
BaseDelegate::BufferEvent(buffer));
+ 
+diff --git a/elements/gstqtvideosink/gstqtvideosinkbase.cpp 
b/elements/gstqtvideosink/gstqtvideosinkbase.cpp
+index 118d0a2..a707e02 100644
+--- a/elements/gstqtvideosink/gstqtvideosinkbase.cpp
++++ b/elements/gstqtvideosink/gstqtvideosinkbase.cpp
+@@ -207,7 +207,7 @@ GstFlowReturn GstQtVideoSinkBase::show_frame(GstVideoSink 
*video_sink, GstBuffer
+ {
+     GstQtVideoSinkBase *sink = GST_QT_VIDEO_SINK_BASE(video_sink);
+ 
+-    GST_TRACE_OBJECT(sink, "Posting new buffer (%"GST_PTR_FORMAT") for 
rendering.", buffer);
++    GST_TRACE_OBJECT(sink, "Posting new buffer (%" GST_PTR_FORMAT ") for 
rendering.", buffer);
+ 
+     QCoreApplication::postEvent(sink->delegate, new 
BaseDelegate::BufferEvent(buffer));
+ 

diff --git a/media-libs/qt-gstreamer/files/qt-gstreamer-1.2.0-gstreamer16.patch 
b/media-libs/qt-gstreamer/files/qt-gstreamer-1.2.0-gstreamer16.patch
new file mode 100644
index 00000000000..6bb24048f6c
--- /dev/null
+++ b/media-libs/qt-gstreamer/files/qt-gstreamer-1.2.0-gstreamer16.patch
@@ -0,0 +1,25 @@
+From 6e4fb2f3fcfb453c5522c66457ac5ed8c3b1b05c Mon Sep 17 00:00:00 2001
+From: George Kiagiadakis <george.kiagiada...@collabora.com>
+Date: Sat, 7 Sep 2019 10:49:38 +0300
+Subject: [PATCH] QGst/caps: compilation fix from
+ https://bugs.kde.org/show_bug.cgi?id=406676#c2
+
+Because the macro version of gst_caps_copy() confuses the C++ compiler
+---
+ src/QGst/caps.cpp | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/QGst/caps.cpp b/src/QGst/caps.cpp
+index 3824d82..a15b701 100644
+--- a/src/QGst/caps.cpp
++++ b/src/QGst/caps.cpp
+@@ -54,7 +54,8 @@ QString Caps::toString() const
+ 
+ void Caps::append(const CapsPtr & caps2)
+ {
+-    gst_caps_append(object<GstCaps>(), gst_caps_copy(caps2));
++    const GstCaps * caps2ptr = caps2;
++    gst_caps_append(object<GstCaps>(), gst_caps_copy(caps2ptr));
+ }
+ 
+ CapsPtr Caps::merge(CapsPtr & caps2)

diff --git a/media-libs/qt-gstreamer/qt-gstreamer-1.2.0-r4.ebuild 
b/media-libs/qt-gstreamer/qt-gstreamer-1.2.0-r4.ebuild
index 72741f9402e..5732c473967 100644
--- a/media-libs/qt-gstreamer/qt-gstreamer-1.2.0-r4.ebuild
+++ b/media-libs/qt-gstreamer/qt-gstreamer-1.2.0-r4.ebuild
@@ -19,6 +19,9 @@ LICENSE="LGPL-2.1"
 SLOT="0"
 IUSE="test"
 
+BDEPEND="
+       dev-util/glib-utils
+"
 RDEPEND="
        dev-libs/boost:=
        dev-libs/glib:2
@@ -30,16 +33,16 @@ RDEPEND="
        media-libs/gstreamer:1.0
        media-libs/gst-plugins-base:1.0
 "
-DEPEND="${RDEPEND}"
-BDEPEND="
-       dev-util/glib-utils
+DEPEND="${RDEPEND}
        test? ( dev-qt/qttest:5 )
 "
 
 PATCHES=(
        "${FILESDIR}/${P}-gstreamer15.patch"
+       "${FILESDIR}/${P}-gstreamer16.patch"
        "${FILESDIR}/${P}-boost157.patch"
        "${FILESDIR}/${P}-qt-5.11b3.patch"
+       "${FILESDIR}/${P}-clang-38.patch"
 )
 
 # bug 497880

Reply via email to