From fec3ff95d51445705b18ffa921880d55442c2355 Mon Sep 17 00:00:00 2001 From: Andreas Sturmlechner Date: Sat, 19 Oct 2019 16:51:35 +0200 Subject: [PATCH] media-libs/qt-gstreamer: Fix build with >=gstreamer-16 and clang Fix BDEPEND while at it. Thanks-to: Peter Levine Closes: https://bugs.gentoo.org/698022 Package-Manager: Portage-2.3.77, Repoman-2.3.17 Signed-off-by: Andreas Sturmlechner --- .../files/qt-gstreamer-1.2.0-clang-38.patch | 67 +++++++++++++++++++ .../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(-) create mode 100644 media-libs/qt-gstreamer/files/qt-gstreamer-1.2.0-clang-38.patch create mode 100644 media-libs/qt-gstreamer/files/qt-gstreamer-1.2.0-gstreamer16.patch 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 000000000000..977a09d7f6ce --- /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 +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(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 000000000000..6bb24048f6c1 --- /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 +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(), gst_caps_copy(caps2)); ++ const GstCaps * caps2ptr = caps2; ++ gst_caps_append(object(), 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 72741f9402e7..5732c4739674 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 -- 2.26.2