You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
80 lines
2.4 KiB
80 lines
2.4 KiB
# Copyright 1999-2015 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
# $Id$
|
|
|
|
EAPI=5
|
|
|
|
PYTHON_COMPAT=( python2_7 )
|
|
PYTHON_REQ_USE="sqlite(+)"
|
|
|
|
inherit vcs-snapshot distutils-r1
|
|
|
|
DESCRIPTION="A high-level Python Screen Scraping framework"
|
|
HOMEPAGE="https://github.com/scrapy/scrapy/ http://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}]
|
|
virtual/python-imaging[${PYTHON_USEDEP}]
|
|
dev-python/lxml[${PYTHON_USEDEP}]
|
|
ibl? ( dev-python/numpy[${PYTHON_USEDEP}] )
|
|
ssl? ( dev-python/pyopenssl[${PYTHON_USEDEP}] )
|
|
boto? ( dev-python/boto[${PYTHON_USEDEP}] )
|
|
dev-python/twisted-core[${PYTHON_USEDEP}]
|
|
dev-python/twisted-conch[${PYTHON_USEDEP}]
|
|
dev-python/twisted-mail[${PYTHON_USEDEP}]
|
|
dev-python/twisted-web[${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
|
|
}
|