[qtwebkit] build against GStreamer1 on F21+ (#1092642, patch from openSUSE)
Kevin Kofler
kkofler at fedoraproject.org
Sun Jul 20 01:39:59 UTC 2014
commit 4564ccf943eb2dea00631397e2e4d8fdca3c9b7a
Author: Kevin Kofler <Kevin at tigcc.ticalc.org>
Date: Sun Jul 20 03:40:14 2014 +0200
build against GStreamer1 on F21+ (#1092642, patch from openSUSE)
* Sun Jul 20 2014 Kevin Kofler <Kevin at tigcc.ticalc.org> 2.3.3-16
- build against GStreamer1 on F21+ (#1092642, patch from openSUSE)
qtwebkit-2.3.3-gstreamer1.patch | 65 +++++++++++++++++++++++++++++++++++++++
qtwebkit.spec | 20 +++++++++++-
2 files changed, 84 insertions(+), 1 deletions(-)
---
diff --git a/qtwebkit-2.3.3-gstreamer1.patch b/qtwebkit-2.3.3-gstreamer1.patch
new file mode 100644
index 0000000..07c5440
--- /dev/null
+++ b/qtwebkit-2.3.3-gstreamer1.patch
@@ -0,0 +1,65 @@
+diff -urNB webkit-qtwebkit-23/Source/WebCore/WebCore.pri new/Source/WebCore/WebCore.pri
+--- webkit-qtwebkit-23/Source/WebCore/WebCore.pri 2013-02-15 16:46:12.000000000 +0100
++++ new/Source/WebCore/WebCore.pri 2013-02-21 15:46:00.298855975 +0100
+@@ -197,8 +197,10 @@
+
+ contains(DEFINES, WTF_USE_GSTREAMER=1) {
+ DEFINES += ENABLE_GLIB_SUPPORT=1
+- PKGCONFIG += glib-2.0 gio-2.0 gstreamer-0.10 gstreamer-app-0.10 gstreamer-base-0.10 gstreamer-interfaces-0.10 gstreamer-pbutils-0.10 gstreamer-plugins-base-0.10 gstreamer-video-0.10
+-}
++ DEFINES += GST_API_VERSION=1.0
++ DEFINES += GST_API_VERSION_1
++ PKGCONFIG += glib-2.0 gio-2.0 gstreamer-1.0 gstreamer-app-1.0 gstreamer-base-1.0 gstreamer-pbutils-1.0 gstreamer-plugins-base-1.0 gstreamer-video-1.0 gstreamer-audio-1.0
++ }
+
+ contains(DEFINES, ENABLE_VIDEO=1) {
+ contains(DEFINES, WTF_USE_QTKIT=1) {
+@@ -233,7 +235,7 @@
+ contains(DEFINES, WTF_USE_GSTREAMER=1) {
+ DEFINES += WTF_USE_WEBAUDIO_GSTREAMER=1
+ INCLUDEPATH += $$SOURCE_DIR/platform/audio/gstreamer
+- PKGCONFIG += gstreamer-audio-0.10 gstreamer-fft-0.10
++ PKGCONFIG += gstreamer-audio-1.0 gstreamer-fft-1.0
+ }
+ }
+
+diff -urNB webkit-qtwebkit-23/Source/WebKit/qt/WebCoreSupport/ChromeClientQt.h new/Source/WebKit/qt/WebCoreSupport/ChromeClientQt.h
+--- webkit-qtwebkit-23/Source/WebKit/qt/WebCoreSupport/ChromeClientQt.h 2013-02-15 16:46:12.000000000 +0100
++++ new/Source/WebKit/qt/WebCoreSupport/ChromeClientQt.h 2013-02-21 15:46:00.298855975 +0100
+@@ -157,7 +157,7 @@
+ virtual void needTouchEvents(bool) { }
+ #endif
+
+-#if ENABLE(VIDEO) && (USE(GSTREAMER) || USE(QT_MULTIMEDIA) || USE(QTKIT))
++#if ENABLE(VIDEO) && ((USE(GSTREAMER) && !defined(GST_API_VERSION_1)) || USE(QT_MULTIMEDIA) || USE(QTKIT))
+ virtual bool supportsFullscreenForNode(const Node*);
+ virtual void enterFullscreenForNode(Node*);
+ virtual void exitFullscreenForNode(Node*);
+diff -urNB webkit-qtwebkit-23/Source/WebKit/qt/WebCoreSupport/FullScreenVideoQt.h new/Source/WebKit/qt/WebCoreSupport/FullScreenVideoQt.h
+--- webkit-qtwebkit-23/Source/WebKit/qt/WebCoreSupport/FullScreenVideoQt.h 2013-02-15 16:46:12.000000000 +0100
++++ new/Source/WebKit/qt/WebCoreSupport/FullScreenVideoQt.h 2013-02-21 15:52:57.400847675 +0100
+@@ -106,10 +106,10 @@
+ private:
+ ChromeClientQt* m_chromeClient;
+ HTMLVideoElement* m_videoElement;
+-#if USE(QT_MULTIMEDIA)
++#if USE(QT_MULTIMEDIA) && !defined(GST_API_VERSION_1)
+ QWebFullScreenVideoHandler* m_FullScreenVideoHandler;
+ #endif
+-#if USE(GSTREAMER)
++#if USE(GSTREAMER) && !defined(GST_API_VERSION_1)
+ GStreamerFullScreenVideoHandler* m_FullScreenVideoHandlerGStreamer;
+ #endif
+ #if USE(QTKIT)
+diff -urNB webkit-qtwebkit-23/Tools/qmake/mkspecs/features/features.prf new/Tools/qmake/mkspecs/features/features.prf
+--- webkit-qtwebkit-23/Tools/qmake/mkspecs/features/features.prf 2013-02-15 16:46:12.000000000 +0100
++++ new/Tools/qmake/mkspecs/features/features.prf 2013-02-21 15:46:00.297855972 +0100
+@@ -186,7 +186,7 @@
+ DEFINES += WTF_USE_QTKIT=1
+ }
+ } else: linux-*:!contains(DEFINES, USE_QTMULTIMEDIA=1) {
+- !contains(QT_CONFIG, no-pkg-config):system(pkg-config --exists glib-2.0 gio-2.0 \'gstreamer-0.10 >= 0.10.30\' \'gstreamer-plugins-base-0.10 >= 0.10.30\'): {
++ !contains(QT_CONFIG, no-pkg-config):packagesExist("glib-2.0 gio-2.0 gstreamer-1.0 gstreamer-plugins-base-1.0") {
+ DEFINES += ENABLE_VIDEO=1
+ DEFINES += WTF_USE_GSTREAMER=1
+ } else {
diff --git a/qtwebkit.spec b/qtwebkit.spec
index d739f0a..50332f6 100644
--- a/qtwebkit.spec
+++ b/qtwebkit.spec
@@ -2,7 +2,7 @@ Name: qtwebkit
Summary: Qt WebKit bindings
Version: 2.3.3
-Release: 15%{?dist}
+Release: 16%{?dist}
License: LGPLv2 with exceptions or GPLv3 with exceptions
URL: http://trac.webkit.org/wiki/QtWebKit
@@ -54,6 +54,9 @@ Patch14: webkit-qtwebkit-23-no_rpath.patch
# ppc64le support
Patch15: qtwebkit-23-ppc64le.patch
+# patch from openSUSE to support GStreamer 1.x (#1092642)
+Patch16: qtwebkit-2.3.3-gstreamer1.patch
+
## upstream patches
Patch102: 0002-Texmap-GTK-The-poster-circle-doesn-t-appear.patch
Patch103: 0003-Qt-Tiled-backing-store-not-clipped-to-frame-or-visib.patch
@@ -82,7 +85,15 @@ BuildRequires: libjpeg-devel
BuildRequires: pkgconfig(gio-2.0) pkgconfig(glib-2.0)
BuildRequires: pkgconfig(fontconfig)
# gstreamer media support
+%if 0%{?fedora} > 20 || 0%{?rhel} > 7
+%global gstreamer1 1
+BuildRequires: pkgconfig(gstreamer-1.0) pkgconfig(gstreamer-app-1.0)
+%else
+# We don't want to use GStreamer 1 where the rest of the Qt 4 stack doesn't,
+# or we run into symbol conflicts. So build against GStreamer 0.10 on Fedora up
+# to 20 and RHEL up to 7. (Up to RHEL 6, GStreamer 0.10 is the only option.)
BuildRequires: pkgconfig(gstreamer-0.10) pkgconfig(gstreamer-app-0.10)
+%endif
BuildRequires: pkgconfig(libpcre)
BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(libwebp)
@@ -155,6 +166,10 @@ Provides: qt4-webkit-devel%{?_isa} = 2:%{version}-%{release}
%patch13 -p1 -b .aarch64
%patch14 -p1 -b .no_rpath
+%if 0%{?gstreamer1}
+%patch16 -p1 -b .gstreamer1
+%endif
+
## Apply this last patch, as it deps so aarch stuffs
%ifarch ppc64le
%patch10 -p1 -b .system-malloc
@@ -239,6 +254,9 @@ popd
%changelog
+* Sun Jul 20 2014 Kevin Kofler <Kevin at tigcc.ticalc.org> 2.3.3-16
+- build against GStreamer1 on F21+ (#1092642, patch from openSUSE)
+
* Fri Jun 20 2014 Rex Dieter <rdieter at fedoraproject.org> 2.3.3-15
- use pkgconfig deps for qt-mobility
More information about the scm-commits
mailing list