build against GStreamer1 on F21+ (#1092642, patch from openSUSE)

* Sun Jul 20 2014 Kevin Kofler <Kevin@tigcc.ticalc.org> 2.3.3-16
- build against GStreamer1 on F21+ (#1092642, patch from openSUSE)
This commit is contained in:
Kevin Kofler 2014-07-20 03:40:14 +02:00
parent 818fd64f3d
commit 4564ccf943
2 changed files with 84 additions and 1 deletions

View File

@ -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 {

View File

@ -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@tigcc.ticalc.org> 2.3.3-16
- build against GStreamer1 on F21+ (#1092642, patch from openSUSE)
* Fri Jun 20 2014 Rex Dieter <rdieter@fedoraproject.org> 2.3.3-15
- use pkgconfig deps for qt-mobility