aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavide Pesavento <pesa@gentoo.org>2015-05-30 03:57:31 +0200
committerDavide Pesavento <pesa@gentoo.org>2015-05-30 03:57:31 +0200
commitf830be2016a1d4773032d7d821dea6c61c496937 (patch)
tree4792606f0de104670310c725c6ce2df2c99a6627
parent[dev-qt/qtwebkit23] enable multilib support (diff)
downloadqt-f830be20.tar.gz
qt-f830be20.tar.bz2
qt-f830be20.zip
[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
-rw-r--r--dev-qt/qtwebkit23/metadata.xml3
-rw-r--r--dev-qt/qtwebkit23/qtwebkit23-2.3.4.ebuild106
2 files changed, 61 insertions, 48 deletions
diff --git a/dev-qt/qtwebkit23/metadata.xml b/dev-qt/qtwebkit23/metadata.xml
index afb3b434..37dc8340 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 31482781..f3751658 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)
}