commit:     f830be2016a1d4773032d7d821dea6c61c496937
Author:     Davide Pesavento <pesa <AT> gentoo <DOT> org>
AuthorDate: Sat May 30 01:57:31 2015 +0000
Commit:     Davide Pesavento <pesa <AT> gentoo <DOT> org>
CommitDate: Sat May 30 01:57:31 2015 +0000
URL:        https://gitweb.gentoo.org/proj/qt.git/commit/?id=f830be20

[dev-qt/qtwebkit23] Several fixes and enhancements.

  * Implement debug USE flag
  * Relaxed and simplified some deps
  * Drop qtsvg, qtxmlpatterns, freetype, libXext deps as they don't seem
    to be used directly by this module
  * USE=sqlite is required for qtsql
  * Rewrite multilib_src_compile using a bash array so that we can print
    the command before executing it
  * Pass more QMAKE_* variables to the build system, similarly to eqmake4
  * Other minor cleanups

Package-Manager: portage-2.2.20

 dev-qt/qtwebkit23/metadata.xml            |   3 +
 dev-qt/qtwebkit23/qtwebkit23-2.3.4.ebuild | 106 ++++++++++++++++--------------
 2 files changed, 61 insertions(+), 48 deletions(-)

diff --git a/dev-qt/qtwebkit23/metadata.xml b/dev-qt/qtwebkit23/metadata.xml
index afb3b43..37dc834 100644
--- a/dev-qt/qtwebkit23/metadata.xml
+++ b/dev-qt/qtwebkit23/metadata.xml
@@ -2,6 +2,9 @@
 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
 <pkgmetadata>
        <herd>qt</herd>
+       <use>
+               <flag name="gstreamer">Enable HTML5 audio/video support via 
<pkg>media-libs/gstreamer:1.0</pkg></flag>
+       </use>
        <upstream>
                <bugs-to>https://bugreports.qt.io/</bugs-to>
                <doc>http://doc.qt.io/</doc>

diff --git a/dev-qt/qtwebkit23/qtwebkit23-2.3.4.ebuild 
b/dev-qt/qtwebkit23/qtwebkit23-2.3.4.ebuild
index 3148278..f375165 100644
--- a/dev-qt/qtwebkit23/qtwebkit23-2.3.4.ebuild
+++ b/dev-qt/qtwebkit23/qtwebkit23-2.3.4.ebuild
@@ -3,9 +3,8 @@
 # $Header: /var/cvsroot/gentoo-x86/dev-qt/qtwebkit/qtwebkit-4.8.6-r1.ebuild,v 
1.1 2014/11/15 02:38:53 pesa Exp $
 
 EAPI=5
-
 PYTHON_COMPAT=( python2_7 )
-inherit eutils multibuild multilib python-any-r1 qmake-utils toolchain-funcs 
multilib-minimal
+inherit eutils multilib python-any-r1 qmake-utils toolchain-funcs 
multilib-minimal
 
 DESCRIPTION="The WebKit module for the Qt toolkit"
 HOMEPAGE="https://www.qt.io/";
@@ -14,34 +13,30 @@ 
SRC_URI="http://dev.gentoo.org/~kensington/distfiles/${P}.tar.xz";
 LICENSE="|| ( LGPL-2.1 GPL-3 )"
 SLOT="4"
 KEYWORDS="~amd64"
-IUSE="+gstreamer"
+IUSE="debug +gstreamer"
 
 RDEPEND="
-       >=dev-db/sqlite-3.8.9:3[${MULTILIB_USEDEP}]
-       >=dev-libs/libxml2-2.9.2-r1:2[${MULTILIB_USEDEP}]
-       >=dev-libs/libxslt-1.1.28-r4[${MULTILIB_USEDEP}]
+       >=dev-db/sqlite-3.8.3:3[${MULTILIB_USEDEP}]
+       dev-libs/libxml2:2[${MULTILIB_USEDEP}]
+       dev-libs/libxslt[${MULTILIB_USEDEP}]
        >=dev-qt/qtcore-4.8.6-r1:4[ssl,${MULTILIB_USEDEP}]
        >=dev-qt/qtdeclarative-4.8.6-r1:4[${MULTILIB_USEDEP}]
-       >=dev-qt/qtgui-4.8.6-r2:4[${MULTILIB_USEDEP}]
+       >=dev-qt/qtgui-4.8.6-r1:4[${MULTILIB_USEDEP}]
        >=dev-qt/qtopengl-4.8.6-r1:4[${MULTILIB_USEDEP}]
        >=dev-qt/qtscript-4.8.6-r1:4[${MULTILIB_USEDEP}]
-       >=dev-qt/qtsql-4.8.6-r1:4[${MULTILIB_USEDEP}]
-       >=dev-qt/qtsvg-4.8.6-r1:4[${MULTILIB_USEDEP}]
-       >=dev-qt/qtxmlpatterns-4.8.6-r1:4[${MULTILIB_USEDEP}]
-       >=media-libs/fontconfig-2.11.1-r2[${MULTILIB_USEDEP}]
-       >=media-libs/freetype-2.5.5[${MULTILIB_USEDEP}]
-       >=media-libs/libpng-1.6.16:0=[${MULTILIB_USEDEP}]
+       >=dev-qt/qtsql-4.8.6-r1:4[sqlite,${MULTILIB_USEDEP}]
+       >=media-libs/fontconfig-2.10.2-r1[${MULTILIB_USEDEP}]
+       media-libs/libpng:0=[${MULTILIB_USEDEP}]
        >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
        virtual/jpeg:0[${MULTILIB_USEDEP}]
-       virtual/libudev[${MULTILIB_USEDEP}]
+       virtual/libudev:=[${MULTILIB_USEDEP}]
        >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}]
-       >=x11-libs/libXext-1.3.3[${MULTILIB_USEDEP}]
-       >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
-       >=x11-libs/libXrender-0.9.8[${MULTILIB_USEDEP}]
+       x11-libs/libX11[${MULTILIB_USEDEP}]
+       x11-libs/libXrender[${MULTILIB_USEDEP}]
        gstreamer? (
-               >=dev-libs/glib-2.42.2:2[${MULTILIB_USEDEP}]
-               >=media-libs/gstreamer-1.4.5:1.0[${MULTILIB_USEDEP}]
-               >=media-libs/gst-plugins-base-1.4.5:1.0[${MULTILIB_USEDEP}]
+               dev-libs/glib:2[${MULTILIB_USEDEP}]
+               media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+               media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}]
        )
 "
 DEPEND="${RDEPEND}
@@ -51,47 +46,62 @@ DEPEND="${RDEPEND}
        dev-util/gperf
        sys-devel/bison
        sys-devel/flex
+       virtual/perl-Digest-MD5
        virtual/perl-File-Spec
        virtual/perl-Getopt-Long
 "
 
 src_prepare() {
-       # bug 458222
+       # examples cause a sandbox violation (bug 458222)
        sed -i -e '/SUBDIRS += examples/d' Source/QtWebKit.pro || die
-       sed -i -e "/QMAKE_CXXFLAGS_RELEASE/d" Source/WTF/WTF.pro 
Source/JavaScriptCore/Target.pri || die
+
+       # respect CXXFLAGS
+       sed -i -e '/QMAKE_CXXFLAGS_RELEASE.*=/d' \
+               Source/WTF/WTF.pro \
+               Source/JavaScriptCore/Target.pri || die
 
        epatch "${FILESDIR}"/${PN}-2.3.4-use-correct-typedef.patch
+       epatch_user
 }
 
 multilib_src_compile() {
-       # Change the build dir
-       # Trick stolen from Fedora 21 SRPM
-       export WEBKITOUTPUTDIR="$PWD"
+       local -x \
+               QTDIR=${EPREFIX}/usr/$(get_libdir)/qt4 \
+               WEBKITOUTPUTDIR=${BUILD_DIR}
 
-       export QTDIR=/usr/$(get_libdir)/qt4/
-       export CC=$(tc-getCC)
-       export CXX=$(tc-getCXX)
-       # --qmake is needed to force the build system to use the qmake
-       # compiled for the correct architecture. For example using the amd64
-       # qmake to compile the x86 qtwebkit will try to link it against
-       # amd64 qt libs, causing the build to fail
-       "${S}"/Tools/Scripts/build-webkit \
-               --qt --release --no-webkit2 \
-               --qmake=$(qt4_get_bindir)/qmake \
-               $(use gstreamer || echo --no-video) \
-               --makeargs="${MAKEOPTS}" \
-               --qmakearg="CONFIG+=production_build CONFIG+=nostrip 
DEFINES+=HAVE_QTTESTLIB=0" \
-               QMAKE_CC=\"$(tc-getCC)\" \
-               QMAKE_CFLAGS=\"${CFLAGS}\" \
-               QMAKE_CFLAGS_RELEASE=\"\" \
-               QMAKE_CXX=\"$(tc-getCXX)\" \
-               QMAKE_CXXFLAGS=\"${CXXFLAGS}\" \
-               QMAKE_CXXFLAGS_RELEASE=\"\" \
-               QMAKE_LINK=\"$(tc-getCXX)\" \
-               QMAKE_LFLAGS+=\"${LDFLAGS}\" \
-               || die
+       local myconf=(
+               "${S}"/Tools/Scripts/build-webkit
+               --qt
+               # tell the build system where to find the qmake binary for the 
current ABI
+               --qmake="$(qt4_get_bindir)"/qmake
+               --qmakearg="CONFIG+=nostrip CONFIG+=production_build 
DEFINES+=HAVE_QTTESTLIB=0"
+               --makeargs="${MAKEOPTS}"
+               --$(usex debug debug release)
+               --$(usex gstreamer video no-video)
+               --no-webkit2
+               # copied from eqmake4
+               QMAKE_AR="'$(tc-getAR) cqs'"
+               QMAKE_CC="'$(tc-getCC)'"
+               QMAKE_CXX="'$(tc-getCXX)'"
+               QMAKE_LINK="'$(tc-getCXX)'"
+               QMAKE_LINK_C="'$(tc-getCC)'"
+               QMAKE_OBJCOPY="'$(tc-getOBJCOPY)'"
+               QMAKE_RANLIB=
+               QMAKE_STRIP=
+               QMAKE_CFLAGS="'${CFLAGS}'"
+               QMAKE_CFLAGS_RELEASE=
+               QMAKE_CFLAGS_DEBUG=
+               QMAKE_CXXFLAGS="'${CXXFLAGS}'"
+               QMAKE_CXXFLAGS_RELEASE=
+               QMAKE_CXXFLAGS_DEBUG=
+               QMAKE_LFLAGS="'${LDFLAGS}'"
+               QMAKE_LFLAGS_RELEASE=
+               QMAKE_LFLAGS_DEBUG=
+       )
+       echo "${myconf[@]}"
+       "${myconf[@]}" || die
 }
 
 multilib_src_install() {
-       emake INSTALL_ROOT="${D}" install -C Release
+       emake INSTALL_ROOT="${D}" install -C $(usex debug Debug Release)
 }

Reply via email to