# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ EAPI=5 PYTHON_COMPAT=( python2_7 ) inherit eutils multilib python-any-r1 qmake-utils toolchain-funcs multilib-minimal MY_PV=${PV/4.10/2.3} DESCRIPTION="The WebKit module for the Qt toolkit" HOMEPAGE="https://www.qt.io/ http://trac.webkit.org/wiki/QtWebKit" SRC_URI="mirror://kde/stable/${PN}-2.3/${MY_PV}/src/${PN}-${MY_PV}.tar.gz" LICENSE="|| ( LGPL-2.1 GPL-3 )" SLOT="4" KEYWORDS="~amd64" IUSE="debug +gstreamer" RDEPEND=" >=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-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[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/opengl-7.0-r1[${MULTILIB_USEDEP}] x11-libs/libX11[${MULTILIB_USEDEP}] x11-libs/libXrender[${MULTILIB_USEDEP}] gstreamer? ( dev-libs/glib:2[${MULTILIB_USEDEP}] media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}] ) " DEPEND="${RDEPEND} ${PYTHON_DEPS} dev-lang/perl dev-lang/ruby dev-util/gperf sys-devel/bison sys-devel/flex virtual/perl-Digest-MD5 virtual/perl-File-Spec virtual/perl-Getopt-Long virtual/pkgconfig[${MULTILIB_USEDEP}] " S=${WORKDIR} PATCHES=( "${FILESDIR}/${PV}-gcc5.patch" "${FILESDIR}/${PV}-use-correct-icu-typedef.patch" ) src_prepare() { # examples cause a sandbox violation (bug 458222) sed -i -e '/SUBDIRS += examples/d' Source/QtWebKit.pro || die # respect CXXFLAGS sed -i -e '/QMAKE_CXXFLAGS_RELEASE.*=/d' \ Source/WTF/WTF.pro \ Source/JavaScriptCore/Target.pri || die # fix perl shebang sed -i -r -e "1s,/usr,${EPREFIX}/usr," \ Tools/Scripts/build-webkit || die # apply patches [[ ${PATCHES[@]} ]] && epatch "${PATCHES[@]}" epatch_user } multilib_src_compile() { local -x \ QTDIR=${EPREFIX}/usr/$(get_libdir)/qt4 \ WEBKITOUTPUTDIR=${BUILD_DIR} 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 DEFINES+=HAVE_QTTESTLIB=0" --makeargs="${MAKEOPTS}" --$(usex debug debug release) --$(usex gstreamer video no-video) # disable WebKit2 since it requires Qt5 --no-webkit2 # prevent automagic dependency on qt-mobility (bug 547350) --no-geolocation --no-device-orientation --no-orientation-events # 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 $(usex debug Debug Release) # move pkgconfig file to the correct location mv "${ED}"/usr/$(get_libdir){/qt4/pkgconfig,} || die }