summaryrefslogtreecommitdiff
path: root/dev-python/scrapy/scrapy-1.4.0.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/scrapy/scrapy-1.4.0.ebuild')
-rw-r--r--dev-python/scrapy/scrapy-1.4.0.ebuild80
1 files changed, 80 insertions, 0 deletions
diff --git a/dev-python/scrapy/scrapy-1.4.0.ebuild b/dev-python/scrapy/scrapy-1.4.0.ebuild
new file mode 100644
index 000000000000..e26e409f3d1a
--- /dev/null
+++ b/dev-python/scrapy/scrapy-1.4.0.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
+PYTHON_REQ_USE="sqlite(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="A high-level Python Screen Scraping framework"
+HOMEPAGE="https://github.com/scrapy/scrapy/ https://pypi.python.org/pypi/Scrapy/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="boto doc ibl test ssl"
+
+RDEPEND="
+ >=dev-python/six-1.5.2[${PYTHON_USEDEP}]
+ dev-libs/libxml2[python,${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ >=dev-python/parsel-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-3.4[${PYTHON_USEDEP}]
+ ibl? ( dev-python/numpy[${PYTHON_USEDEP}] )
+ ssl? (
+ >=dev-python/pyopenssl-0.14[${PYTHON_USEDEP}]
+ dev-python/cryptography[${PYTHON_USEDEP}] )
+ boto? ( dev-python/boto3[${PYTHON_USEDEP}] )
+ >=dev-python/twisted-14.0[${PYTHON_USEDEP}]
+ >=dev-python/w3lib-1.8.0[${PYTHON_USEDEP}]
+ dev-python/queuelib[${PYTHON_USEDEP}]
+ >=dev-python/cssselect-0.9[${PYTHON_USEDEP}]
+ >=dev-python/six-1.5.2[${PYTHON_USEDEP}]
+ dev-python/service_identity[${PYTHON_USEDEP}]
+ "
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( ${RDEPEND}
+ dev-python/mock[${PYTHON_USEDEP}]
+ =net-proxy/mitmproxy-0.10.1[${PYTHON_USEDEP}]
+ =dev-python/netlib-0.10.1[${PYTHON_USEDEP}]
+ dev-python/jmespath[${PYTHON_USEDEP}]
+ dev-python/testfixtures[${PYTHON_USEDEP}]
+ net-ftp/vsftpd
+ )"
+# pytest-twisted listed as a test dep but not in portage.
+# Testsuite currently survives without it, so appears optional
+
+REQUIRED_USE="test? ( ssl boto )"
+
+python_prepare_all() {
+ # https://github.com/scrapy/scrapy/issues/1464
+ # Disable failing tests known to pass according to upstream
+ # Awaiting a fix planned by package owner.
+ sed -e 's:test_https_connect_tunnel:_&:' \
+ -e 's:test_https_connect_tunnel_error:_&:' \
+ -e 's:test_https_tunnel_auth_error:_&:' \
+ -e 's:test_https_tunnel_without_leak_proxy_authorization_header:_&:' \
+ -i tests/test_proxy_connect.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc; then
+ PYTHONPATH="${S}" emake -C docs html || die "emake html failed"
+ fi
+}
+
+python_test() {
+ py.test ${PN} tests || die "tests failed"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/build/html/. )
+ distutils-r1_python_install_all
+}