Skip to content

Commit

Permalink
media-libs/qt-gstreamer: Fix build with >=gstreamer-16 and clang
Browse files Browse the repository at this point in the history
Fix BDEPEND while at it.

Thanks-to: Peter Levine <[email protected]>
Closes: https://bugs.gentoo.org/698022
Package-Manager: Portage-2.3.77, Repoman-2.3.17
Signed-off-by: Andreas Sturmlechner <[email protected]>
  • Loading branch information
a17r committed Oct 19, 2019
1 parent 9640f2f commit fec3ff9
Show file tree
Hide file tree
Showing 3 changed files with 98 additions and 3 deletions.
67 changes: 67 additions & 0 deletions media-libs/qt-gstreamer/files/qt-gstreamer-1.2.0-clang-38.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
From fc159e5c4c8ffeabdc7319514c6bb19c9c9e1d3b Mon Sep 17 00:00:00 2001
From: Aleix Pol <[email protected]>
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));

25 changes: 25 additions & 0 deletions media-libs/qt-gstreamer/files/qt-gstreamer-1.2.0-gstreamer16.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
From 6e4fb2f3fcfb453c5522c66457ac5ed8c3b1b05c Mon Sep 17 00:00:00 2001
From: George Kiagiadakis <[email protected]>
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)
9 changes: 6 additions & 3 deletions media-libs/qt-gstreamer/qt-gstreamer-1.2.0-r4.ebuild
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down

0 comments on commit fec3ff9

Please sign in to comment.