media-libs/qt-gstreamer: Fix build with >=gstreamer-16 and clang
authorAndreas Sturmlechner <asturm@gentoo.org>
Sat, 19 Oct 2019 14:51:35 +0000 (16:51 +0200)
committerAndreas Sturmlechner <asturm@gentoo.org>
Sat, 19 Oct 2019 15:51:38 +0000 (17:51 +0200)
Fix BDEPEND while at it.

Thanks-to: Peter Levine <plevine457@gmail.com>
Closes: https://bugs.gentoo.org/698022
Package-Manager: Portage-2.3.77, Repoman-2.3.17
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
media-libs/qt-gstreamer/files/qt-gstreamer-1.2.0-clang-38.patch [new file with mode: 0644]
media-libs/qt-gstreamer/files/qt-gstreamer-1.2.0-gstreamer16.patch [new file with mode: 0644]
media-libs/qt-gstreamer/qt-gstreamer-1.2.0-r4.ebuild

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 (file)
index 0000000..977a09d
--- /dev/null
@@ -0,0 +1,67 @@
+From fc159e5c4c8ffeabdc7319514c6bb19c9c9e1d3b Mon Sep 17 00:00:00 2001
+From: Aleix Pol <aleixpol@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 (file)
index 0000000..6bb2404
--- /dev/null
@@ -0,0 +1,25 @@
+From 6e4fb2f3fcfb453c5522c66457ac5ed8c3b1b05c Mon Sep 17 00:00:00 2001
+From: George Kiagiadakis <george.kiagiadakis@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)
index 72741f9402e7dde29492dd4f982b35870ccd8b58..5732c47396745294d2e7bb66344473de9d9d3f3b 100644 (file)
@@ -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