summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'www-client/phantomjs/phantomjs-2.1.1.ebuild')
-rw-r--r--www-client/phantomjs/phantomjs-2.1.1.ebuild99
1 files changed, 99 insertions, 0 deletions
diff --git a/www-client/phantomjs/phantomjs-2.1.1.ebuild b/www-client/phantomjs/phantomjs-2.1.1.ebuild
new file mode 100644
index 000000000000..cf2bef6794e1
--- /dev/null
+++ b/www-client/phantomjs/phantomjs-2.1.1.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python{2_7,3_{4,5,6}} pypy{,3} )
+QTB_PV="5.5.1"
+QTB_P="qtbase-opensource-src-${QTB_PV}"
+QTW_PV="5.7.1"
+QTW_P="qtwebkit-opensource-src-${QTW_PV}"
+
+DESCRIPTION="A headless WebKit scriptable with a JavaScript API"
+HOMEPAGE="http://phantomjs.org/"
+SRC_URI="https://github.com/ariya/phantomjs/archive/${PV}.tar.gz -> ${P}.tar.gz
+ https://download.qt.io/archive/qt/${QTB_PV%.*}/${QTB_PV}/submodules/${QTB_P}.tar.xz
+ https://download.qt.io/community_releases/${QTW_PV%.*}/${QTW_PV}/${QTW_P}.tar.xz
+ mirror://gentoo/gentoo-${PN}-patchset-0.01.tar.bz2"
+
+inherit eutils toolchain-funcs pax-utils multiprocessing
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples fontconfig libressl truetype"
+RESTRICT="mirror"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+EPATCH_SUFFIX="patch"
+PATCHES=( "${WORKDIR}/${PN}-patchset" )
+
+RDEPEND="dev-libs/icu:=
+ fontconfig? ( media-libs/fontconfig )
+ !libressl? ( dev-libs/openssl:0 )
+ libressl? ( dev-libs/libressl )
+ truetype? ( media-libs/freetype )
+ dev-db/sqlite:3"
+DEPEND="${RDEPEND}
+ net-misc/openssh[-bindist]
+ app-arch/unzip
+ dev-lang/ruby
+ virtual/pkgconfig"
+
+src_prepare() {
+ ebegin "Moving third-party libraries into position for build"
+ mv -T "${WORKDIR}/${QTB_P}" "${S}/src/qt/qtbase/" || die "QT base ${QTB_PV} failed"
+ mv -T "${WORKDIR}/${QTW_P}" "${S}/src/qt/qtwebkit/" || die "QT webkit ${QTW_PV} failed"
+ eend "$?"
+
+ ebegin "Instilling C/CXX/LDFLAGS respect in main source"
+ # Respect CC, CXX, {C,CXX,LD}FLAGS in .qmake.cache
+ sed -i \
+ -e "/^SYSTEM_VARIABLES=/i \
+ CC='$(tc-getCC)'\n\
+ CXX='$(tc-getCXX)'\n\
+ CFLAGS='${CFLAGS}'\n\
+ CXXFLAGS='${CXXFLAGS}'\n\
+ LDFLAGS='${LDFLAGS}'\n\
+ QMakeVar set QMAKE_CFLAGS_RELEASE\n\
+ QMakeVar set QMAKE_CFLAGS_DEBUG\n\
+ QMakeVar set QMAKE_CXXFLAGS_RELEASE\n\
+ QMakeVar set QMAKE_CXXFLAGS_DEBUG\n\
+ QMakeVar set QMAKE_LFLAGS_RELEASE\n\
+ QMakeVar set QMAKE_LFLAGS_DEBUG\n"\
+ src/qt/qtbase/configure \
+ || die
+ eend $?
+
+ ebegin "Instilling C/CXX/LDFLAGS respect in test suite"
+ # Respect CC, CXX, LINK and *FLAGS in config.tests
+ find src/qt/qtbase/config.tests/unix -name '*.test' -type f -exec \
+ sed -i -e "/bin\/qmake/ s: \"\$SRCDIR/: \
+ 'QMAKE_CC=$(tc-getCC)' 'QMAKE_CXX=$(tc-getCXX)' 'QMAKE_LINK=$(tc-getCXX)' \
+ 'QMAKE_CFLAGS+=${CFLAGS}' 'QMAKE_CXXFLAGS+=${CXXFLAGS}' 'QMAKE_LFLAGS+=${LDFLAGS}'&:" \
+ {} + || die
+ eend $?
+
+ default
+}
+
+src_compile() {
+ ./build.py \
+ --confirm \
+ --jobs $(makeopts_jobs) \
+ || die
+}
+
+src_test() {
+ ./bin/phantomjs test/run-tests.js || die
+}
+
+src_install() {
+ pax-mark m bin/phantomjs || die
+ dobin bin/phantomjs
+ dodoc ChangeLog README.md
+ if use examples ; then
+ docinto examples
+ dodoc examples/*
+ fi
+}