summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-ruby/poltergeist/Manifest1
-rw-r--r--dev-ruby/poltergeist/metadata.xml11
-rw-r--r--dev-ruby/poltergeist/poltergeist-1.14.0.ebuild46
-rw-r--r--profiles/package.mask8
-rw-r--r--www-client/phantomjs/Manifest5
-rw-r--r--www-client/phantomjs/metadata.xml12
-rw-r--r--www-client/phantomjs/phantomjs-2.1.1-r1.ebuild99
-rw-r--r--www-client/phantomjs/phantomjs-2.1.1.ebuild99
8 files changed, 281 insertions, 0 deletions
diff --git a/dev-ruby/poltergeist/Manifest b/dev-ruby/poltergeist/Manifest
new file mode 100644
index 000000000000..6362d5799832
--- /dev/null
+++ b/dev-ruby/poltergeist/Manifest
@@ -0,0 +1 @@
+DIST poltergeist-1.14.0.tar.gz 185946 BLAKE2B 0f5d95437ad5c2509264ef0230624ac257e8901e98bd4494576c3dc6895fc38c64572b287eb9842c8af2ddbaf0b3c48ecb0a1fb4a2cb72711abba40646dcaeec SHA512 82ab8aec7e5e091fa2924765e077d8b9816319833d438d9246f8ef3d0045d158de6bce1d14e929cc5cb8d0970ea380d44a51511b17623479f3cd64853580ce71
diff --git a/dev-ruby/poltergeist/metadata.xml b/dev-ruby/poltergeist/metadata.xml
new file mode 100644
index 000000000000..1ec3a890fb3a
--- /dev/null
+++ b/dev-ruby/poltergeist/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ruby@gentoo.org</email>
+ <name>Gentoo Ruby Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">jonleighton/poltergeist</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-ruby/poltergeist/poltergeist-1.14.0.ebuild b/dev-ruby/poltergeist/poltergeist-1.14.0.ebuild
new file mode 100644
index 000000000000..4dfa4cf7439d
--- /dev/null
+++ b/dev-ruby/poltergeist/poltergeist-1.14.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+USE_RUBY="ruby21 ruby22 ruby23"
+
+# There are tests but they require several unpackaged dependencies.
+RUBY_FAKEGEM_RECIPE_TEST="rspec3"
+
+RUBY_FAKEGEM_TASK_DOC=""
+RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md"
+
+RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
+
+inherit ruby-fakegem
+
+DESCRIPTION="A PhantomJS driver for Capybara"
+HOMEPAGE="https://github.com/jonleighton/poltergeist"
+SRC_URI="https://github.com/jonleighton/poltergeist/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+RDEPEND+=" www-client/phantomjs"
+
+ruby_add_rdepend ">=dev-ruby/cliver-0.3.1
+ >=dev-ruby/capybara-2.1
+ >=dev-ruby/websocket-driver-0.2.0"
+
+ruby_add_bdepend "test? ( dev-ruby/sinatra:0 )"
+
+all_ruby_prepare() {
+ # Fix cliver versioning to accept all 0.x versions
+ sed -i -e 's/0.3.1/0.3/' ${RUBY_FAKEGEM_GEMSPEC} || die
+
+ sed -i -e '/bundler/ s:^:#:' spec/spec_helper.rb || die
+ sed -i -e '2igem "sinatra", "~>1.0"; gem "rack", "~>1.5"' spec/spec_helper.rb || die
+
+ # Remove integration tests for now since they require additional dependencies.
+ rm -rf spec/integration
+
+ # Avoid a spec failing only in our ebuild test environment
+ sed -i -e '/can pause indefinitely/,/^ end/ s:^:#:' spec/unit/driver_spec.rb || die
+}
diff --git a/profiles/package.mask b/profiles/package.mask
index ee3815b16a88..65fac9ba71e2 100644
--- a/profiles/package.mask
+++ b/profiles/package.mask
@@ -331,6 +331,14 @@ sys-devel/automake:1.8
# upstream.
>=app-text/jabref-bin-4.0
+# Hans de Graaff <graaff@gentoo.org> (05 Jun 2017)
+# Bundles obsolete and vulnerable webkit version.
+# Upstream has stopped development and recommends using
+# headless mode in >=www-client/chromium-59.
+# Masked for removal in 90 days. Bug #589994.
+www-client/phantomjs
+dev-ruby/poltergeist
+
# Michał Górny <mgorny@gentoo.org> (22 May 2017)
# for Maciej S. Szmigiero <mail@maciej.szmigiero.name>
# Any version above 5.100.138 breaks b43 driver in various ways.
diff --git a/www-client/phantomjs/Manifest b/www-client/phantomjs/Manifest
new file mode 100644
index 000000000000..014f959a009f
--- /dev/null
+++ b/www-client/phantomjs/Manifest
@@ -0,0 +1,5 @@
+DIST gentoo-phantomjs-patchset-0.01.tar.bz2 7537 BLAKE2B 4a0fe19ae338ebb1846e2f04c3a6ea2f790d3835044d089304f7eba1d1f3bf0af41148d87b6f4a32103a5613cb1b470a8572189653bb3c38a64fb0c12e475feb SHA512 3e85fe068da41fa620ad89f9b0450fa7aa405778c2011d4b0f046edd9c921702125adf01075cd90d70cd21d9704081a67be18c1f9eece4070a26407a6a56a5df
+DIST gentoo-phantomjs-patchset-0.02.tar.bz2 8017 BLAKE2B 0bde29dab19ced08afeab0484e0d88f9fee35306ddba0aeda3cef158ad0f818a7f93f6d1462766399231513d1279dc1071bde4e82d82c67e156eaeb0c52d6f87 SHA512 88e8acb47842b108c4f01bc778c25d95011462b9d6732e6cca20372824a93321731d1976b19736a87d6e51737dffa0c76a15983d4b0739e97c7dc55ea065e791
+DIST phantomjs-2.1.1.tar.gz 1880406 BLAKE2B e54e8a1d42cdbf6fb98c90283a0ebcb4145350bc34d76b8a0d01163fcca15b7e6bbf7043e2d17bbf21c5d01e7fd0e76a4386f9c01dfc8727998f8d0f17da9291 SHA512 07b769133957c5194c9afdaa347bd9a019ebe47653f98adf17a35d3dd12714d2f8e3773ced91d7d99f31cb18d7f73167022d5b0a3906d9aac0732ef96341f5ec
+DIST qtbase-opensource-src-5.5.1.tar.xz 46389212 BLAKE2B 2fd956a2d8cb64e31bff107497191bc601048fe173fe3361a5baf3f5987c9dea035c9c1829595531c5d09eb5168acbabc10a361adea943e597daa781008212dd SHA512 4d31de136870025dfb7544f255798884af1ad4f3060b0c00a0467c98af1f7de368eb298d4c52ba6d1ad27e36060b30c0314ce7ba0744b15642420ec89587a575
+DIST qtwebkit-opensource-src-5.7.1.tar.xz 35298736 BLAKE2B 74819c28ab00b09d090a77f10d5338e04381432130e0420cf006b8dba75da2426b047cf449a708343eae76e06a9230d962e724dc5d34f8c799947de2e5079581 SHA512 538928ada8fd25c01f0b78efac79e004904e6e4ec110108c492877e334acd5d9253653d3b207e535d1e08d092af2833a7566cebb2bf8b90069944634bf24f60a
diff --git a/www-client/phantomjs/metadata.xml b/www-client/phantomjs/metadata.xml
new file mode 100644
index 000000000000..748968f236d5
--- /dev/null
+++ b/www-client/phantomjs/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>chainsaw@gentoo.org</email>
+ <name>Tony Vroon</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="google-code">phantomjs</remote-id>
+ <remote-id type="bitbucket">ariya/phantomjs</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/www-client/phantomjs/phantomjs-2.1.1-r1.ebuild b/www-client/phantomjs/phantomjs-2.1.1-r1.ebuild
new file mode 100644
index 000000000000..c9a611bdeb3e
--- /dev/null
+++ b/www-client/phantomjs/phantomjs-2.1.1-r1.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2018 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.02.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
+}
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
+}