diff options
author | Davide Pesavento <pesa@gentoo.org> | 2015-05-30 03:57:31 +0200 |
---|---|---|
committer | Davide Pesavento <pesa@gentoo.org> | 2015-05-30 03:57:31 +0200 |
commit | f830be2016a1d4773032d7d821dea6c61c496937 (patch) | |
tree | 4792606f0de104670310c725c6ce2df2c99a6627 | |
parent | [dev-qt/qtwebkit23] enable multilib support (diff) | |
download | qt-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.xml | 3 | ||||
-rw-r--r-- | 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 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) } |