commit:     3fd03fd010e224ebbdb1586e7d5ef70b5b525400
Author:     Uwe L. Korn <uwelk <AT> xhochy <DOT> com>
AuthorDate: Sat Sep 27 12:52:46 2014 +0000
Commit:     Davide Pesavento <pesa <AT> gentoo <DOT> org>
CommitDate: Sun Sep 28 15:57:33 2014 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/qt.git;a=commit;h=3fd03fd0

[dev-qt/qtwebkit] Rework HTML5 A/V backend

 * Fixes bug #523518
 * Instead of simply depending on gstreamer, add a separate USE for
   gstreamer:0.10 to clearly specify which slot should be linked to.
 * Specifying multimedia while having gstreamer* selected does not
   enable the use of qtmultimedia. It will only be selected if we build
   with neither of both gstreamer versions

---
 .../files/qtwebkit-5.3.2-use-gstreamer010.patch      | 18 ++++++++++++++++++
 dev-qt/qtwebkit/metadata.xml                         |  3 ++-
 dev-qt/qtwebkit/qtwebkit-5.3.9999.ebuild             | 20 +++++++++++++++-----
 dev-qt/qtwebkit/qtwebkit-5.4.0_alpha.ebuild          | 20 +++++++++++++++-----
 dev-qt/qtwebkit/qtwebkit-5.4.9999.ebuild             | 20 +++++++++++++++-----
 dev-qt/qtwebkit/qtwebkit-5.9999.ebuild               | 20 +++++++++++++++-----
 6 files changed, 80 insertions(+), 21 deletions(-)

diff --git a/dev-qt/qtwebkit/files/qtwebkit-5.3.2-use-gstreamer010.patch 
b/dev-qt/qtwebkit/files/qtwebkit-5.3.2-use-gstreamer010.patch
new file mode 100644
index 0000000..1c02e45
--- /dev/null
+++ b/dev-qt/qtwebkit/files/qtwebkit-5.3.2-use-gstreamer010.patch
@@ -0,0 +1,18 @@
+--- Tools/qmake/mkspecs/features/features.prf  2014-09-27 11:09:50.010617142 
+0100
++++ Tools/qmake/mkspecs/features/features.prf  2014-09-27 11:17:10.741678989 
+0100
+@@ -96,14 +96,8 @@
+     use?(3d_graphics): WEBKIT_CONFIG += webgl
+ 
+     # HTML5 Media Support for builds with GStreamer
+-    unix:!mac:!contains(QT_CONFIG, no-pkg-config) {
+-        packagesExist("glib-2.0 gio-2.0 gstreamer-1.0 
gstreamer-plugins-base-1.0") {
+-            WEBKIT_CONFIG += video use_gstreamer
+-        } else: packagesExist("glib-2.0 gio-2.0 \'gstreamer-0.10 >= 0.10.30\' 
\'gstreamer-plugins-base-0.10 >= 0.10.30\'") {
+-            WEBKIT_CONFIG += video use_gstreamer use_gstreamer010
+-        }
++        WEBKIT_CONFIG += video use_gstreamer use_gstreamer010
+         use?(gstreamer): WEBKIT_CONFIG += use_native_fullscreen_video
+-    }
+ 
+     !enable?(video):qtHaveModule(multimediawidgets) {
+         WEBKIT_CONFIG += video use_qt_multimedia

diff --git a/dev-qt/qtwebkit/metadata.xml b/dev-qt/qtwebkit/metadata.xml
index 952e31f..5a4718c 100644
--- a/dev-qt/qtwebkit/metadata.xml
+++ b/dev-qt/qtwebkit/metadata.xml
@@ -5,7 +5,8 @@
        <use>
                <flag name="exceptions">Add support for exceptions - like 
catching them
                        inside the event loop (recommended by Nokia)</flag>
-               <flag name="gstreamer">Enable HTML5 audio/video support via 
<pkg>media-libs/gstreamer</pkg></flag>
+               <flag name="gstreamer">Enable HTML5 audio/video support via 
<pkg>media-libs/gstreamer:1.0</pkg></flag>
+               <flag name="gstreamer010">Enable HTML5 audio/video support via 
<pkg>media-libs/gstreamer:0.10</pkg></flag>
                <flag name="libxml2">Use <pkg>dev-libs/libxml2</pkg> for XML 
parsing</flag>
                <flag name="multimedia">Enable HTML5 audio/video support via 
<pkg>dev-qt/qtmultimedia</pkg></flag>
                <flag name="printsupport">Enable printing via 
<pkg>dev-qt/qtprintsupport</pkg></flag>

diff --git a/dev-qt/qtwebkit/qtwebkit-5.3.9999.ebuild 
b/dev-qt/qtwebkit/qtwebkit-5.3.9999.ebuild
index 0238091..f59c599 100644
--- a/dev-qt/qtwebkit/qtwebkit-5.3.9999.ebuild
+++ b/dev-qt/qtwebkit/qtwebkit-5.3.9999.ebuild
@@ -18,7 +18,8 @@ fi
 
 # TODO: qttestlib, geolocation, orientation/sensors
 
-IUSE="gstreamer libxml2 multimedia opengl printsupport qml udev webp xslt"
+IUSE="gstreamer gstreamer010 libxml2 multimedia opengl printsupport qml udev 
webp xslt"
+REQUIRED_USE="?? ( gstreamer gstreamer010 multimedia )"
 
 RDEPEND="
        dev-db/sqlite:3
@@ -38,11 +39,16 @@ RDEPEND="
        x11-libs/libXrender
        gstreamer? (
                dev-libs/glib:2
-               >=media-libs/gstreamer-0.10.30:0.10
-               >=media-libs/gst-plugins-base-0.10.30:0.10
+               media-libs/gstreamer:1.0
+               media-libs/gst-plugins-base:1.0
+       )
+       gstreamer010? (
+               dev-libs/glib:2
+               media-libs/gstreamer:0.10
+               media-libs/gst-plugins-base:0.10
        )
        libxml2? ( dev-libs/libxml2:2 )
-       multimedia? ( >=dev-qt/qtmultimedia-${PV}:5[debug=] )
+       multimedia? ( >=dev-qt/qtmultimedia-${PV}:5[debug=,widgets] )
        opengl? ( >=dev-qt/qtopengl-${PV}:5[debug=] )
        printsupport? ( >=dev-qt/qtprintsupport-${PV}:5[debug=] )
        qml? ( >=dev-qt/qtdeclarative-${PV}:5[debug=] )
@@ -61,7 +67,11 @@ DEPEND="${RDEPEND}
 "
 
 src_prepare() {
-       use gstreamer    || epatch 
"${FILESDIR}/${PN}-5.2.1-disable-gstreamer.patch"
+       if use gstreamer010; then
+               epatch "${FILESDIR}/${PN}-5.3.2-use-gstreamer010.patch"
+       elif ! use gstreamer; then
+               epatch "${FILESDIR}/${PN}-5.2.1-disable-gstreamer.patch"
+       fi
        use libxml2      || sed -i -e '/config_libxml2: WEBKIT_CONFIG += 
use_libxml2/d' \
                Tools/qmake/mkspecs/features/features.prf || die
        use multimedia   || sed -i -e '/WEBKIT_CONFIG += video 
use_qt_multimedia/d' \

diff --git a/dev-qt/qtwebkit/qtwebkit-5.4.0_alpha.ebuild 
b/dev-qt/qtwebkit/qtwebkit-5.4.0_alpha.ebuild
index 0238091..f59c599 100644
--- a/dev-qt/qtwebkit/qtwebkit-5.4.0_alpha.ebuild
+++ b/dev-qt/qtwebkit/qtwebkit-5.4.0_alpha.ebuild
@@ -18,7 +18,8 @@ fi
 
 # TODO: qttestlib, geolocation, orientation/sensors
 
-IUSE="gstreamer libxml2 multimedia opengl printsupport qml udev webp xslt"
+IUSE="gstreamer gstreamer010 libxml2 multimedia opengl printsupport qml udev 
webp xslt"
+REQUIRED_USE="?? ( gstreamer gstreamer010 multimedia )"
 
 RDEPEND="
        dev-db/sqlite:3
@@ -38,11 +39,16 @@ RDEPEND="
        x11-libs/libXrender
        gstreamer? (
                dev-libs/glib:2
-               >=media-libs/gstreamer-0.10.30:0.10
-               >=media-libs/gst-plugins-base-0.10.30:0.10
+               media-libs/gstreamer:1.0
+               media-libs/gst-plugins-base:1.0
+       )
+       gstreamer010? (
+               dev-libs/glib:2
+               media-libs/gstreamer:0.10
+               media-libs/gst-plugins-base:0.10
        )
        libxml2? ( dev-libs/libxml2:2 )
-       multimedia? ( >=dev-qt/qtmultimedia-${PV}:5[debug=] )
+       multimedia? ( >=dev-qt/qtmultimedia-${PV}:5[debug=,widgets] )
        opengl? ( >=dev-qt/qtopengl-${PV}:5[debug=] )
        printsupport? ( >=dev-qt/qtprintsupport-${PV}:5[debug=] )
        qml? ( >=dev-qt/qtdeclarative-${PV}:5[debug=] )
@@ -61,7 +67,11 @@ DEPEND="${RDEPEND}
 "
 
 src_prepare() {
-       use gstreamer    || epatch 
"${FILESDIR}/${PN}-5.2.1-disable-gstreamer.patch"
+       if use gstreamer010; then
+               epatch "${FILESDIR}/${PN}-5.3.2-use-gstreamer010.patch"
+       elif ! use gstreamer; then
+               epatch "${FILESDIR}/${PN}-5.2.1-disable-gstreamer.patch"
+       fi
        use libxml2      || sed -i -e '/config_libxml2: WEBKIT_CONFIG += 
use_libxml2/d' \
                Tools/qmake/mkspecs/features/features.prf || die
        use multimedia   || sed -i -e '/WEBKIT_CONFIG += video 
use_qt_multimedia/d' \

diff --git a/dev-qt/qtwebkit/qtwebkit-5.4.9999.ebuild 
b/dev-qt/qtwebkit/qtwebkit-5.4.9999.ebuild
index 0238091..f59c599 100644
--- a/dev-qt/qtwebkit/qtwebkit-5.4.9999.ebuild
+++ b/dev-qt/qtwebkit/qtwebkit-5.4.9999.ebuild
@@ -18,7 +18,8 @@ fi
 
 # TODO: qttestlib, geolocation, orientation/sensors
 
-IUSE="gstreamer libxml2 multimedia opengl printsupport qml udev webp xslt"
+IUSE="gstreamer gstreamer010 libxml2 multimedia opengl printsupport qml udev 
webp xslt"
+REQUIRED_USE="?? ( gstreamer gstreamer010 multimedia )"
 
 RDEPEND="
        dev-db/sqlite:3
@@ -38,11 +39,16 @@ RDEPEND="
        x11-libs/libXrender
        gstreamer? (
                dev-libs/glib:2
-               >=media-libs/gstreamer-0.10.30:0.10
-               >=media-libs/gst-plugins-base-0.10.30:0.10
+               media-libs/gstreamer:1.0
+               media-libs/gst-plugins-base:1.0
+       )
+       gstreamer010? (
+               dev-libs/glib:2
+               media-libs/gstreamer:0.10
+               media-libs/gst-plugins-base:0.10
        )
        libxml2? ( dev-libs/libxml2:2 )
-       multimedia? ( >=dev-qt/qtmultimedia-${PV}:5[debug=] )
+       multimedia? ( >=dev-qt/qtmultimedia-${PV}:5[debug=,widgets] )
        opengl? ( >=dev-qt/qtopengl-${PV}:5[debug=] )
        printsupport? ( >=dev-qt/qtprintsupport-${PV}:5[debug=] )
        qml? ( >=dev-qt/qtdeclarative-${PV}:5[debug=] )
@@ -61,7 +67,11 @@ DEPEND="${RDEPEND}
 "
 
 src_prepare() {
-       use gstreamer    || epatch 
"${FILESDIR}/${PN}-5.2.1-disable-gstreamer.patch"
+       if use gstreamer010; then
+               epatch "${FILESDIR}/${PN}-5.3.2-use-gstreamer010.patch"
+       elif ! use gstreamer; then
+               epatch "${FILESDIR}/${PN}-5.2.1-disable-gstreamer.patch"
+       fi
        use libxml2      || sed -i -e '/config_libxml2: WEBKIT_CONFIG += 
use_libxml2/d' \
                Tools/qmake/mkspecs/features/features.prf || die
        use multimedia   || sed -i -e '/WEBKIT_CONFIG += video 
use_qt_multimedia/d' \

diff --git a/dev-qt/qtwebkit/qtwebkit-5.9999.ebuild 
b/dev-qt/qtwebkit/qtwebkit-5.9999.ebuild
index 0238091..f59c599 100644
--- a/dev-qt/qtwebkit/qtwebkit-5.9999.ebuild
+++ b/dev-qt/qtwebkit/qtwebkit-5.9999.ebuild
@@ -18,7 +18,8 @@ fi
 
 # TODO: qttestlib, geolocation, orientation/sensors
 
-IUSE="gstreamer libxml2 multimedia opengl printsupport qml udev webp xslt"
+IUSE="gstreamer gstreamer010 libxml2 multimedia opengl printsupport qml udev 
webp xslt"
+REQUIRED_USE="?? ( gstreamer gstreamer010 multimedia )"
 
 RDEPEND="
        dev-db/sqlite:3
@@ -38,11 +39,16 @@ RDEPEND="
        x11-libs/libXrender
        gstreamer? (
                dev-libs/glib:2
-               >=media-libs/gstreamer-0.10.30:0.10
-               >=media-libs/gst-plugins-base-0.10.30:0.10
+               media-libs/gstreamer:1.0
+               media-libs/gst-plugins-base:1.0
+       )
+       gstreamer010? (
+               dev-libs/glib:2
+               media-libs/gstreamer:0.10
+               media-libs/gst-plugins-base:0.10
        )
        libxml2? ( dev-libs/libxml2:2 )
-       multimedia? ( >=dev-qt/qtmultimedia-${PV}:5[debug=] )
+       multimedia? ( >=dev-qt/qtmultimedia-${PV}:5[debug=,widgets] )
        opengl? ( >=dev-qt/qtopengl-${PV}:5[debug=] )
        printsupport? ( >=dev-qt/qtprintsupport-${PV}:5[debug=] )
        qml? ( >=dev-qt/qtdeclarative-${PV}:5[debug=] )
@@ -61,7 +67,11 @@ DEPEND="${RDEPEND}
 "
 
 src_prepare() {
-       use gstreamer    || epatch 
"${FILESDIR}/${PN}-5.2.1-disable-gstreamer.patch"
+       if use gstreamer010; then
+               epatch "${FILESDIR}/${PN}-5.3.2-use-gstreamer010.patch"
+       elif ! use gstreamer; then
+               epatch "${FILESDIR}/${PN}-5.2.1-disable-gstreamer.patch"
+       fi
        use libxml2      || sed -i -e '/config_libxml2: WEBKIT_CONFIG += 
use_libxml2/d' \
                Tools/qmake/mkspecs/features/features.prf || die
        use multimedia   || sed -i -e '/WEBKIT_CONFIG += video 
use_qt_multimedia/d' \

Reply via email to