60 lines
1.7 KiB
Bash
60 lines
1.7 KiB
Bash
# Copyright 1999-2021 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
# We could depend on dev-python/cherrypy when USE=server, but
|
|
# that is an optional component ...
|
|
# Same for www-servers/tornado and USE=client ... so why not???
|
|
# pypy is viable but better with a cutdown set of deps
|
|
|
|
EAPI=7
|
|
|
|
PYTHON_COMPAT=( python3_{7,8,9} )
|
|
PYTHON_REQ_USE="threads(+)?"
|
|
|
|
MY_PN="WebSocket-for-Python"
|
|
|
|
inherit distutils-r1
|
|
|
|
if [[ ${PV} == "9999" ]] ; then
|
|
EGIT_REPO_URI="https://github.com/Lawouach/${MY_PN}.git"
|
|
inherit git-r3
|
|
else
|
|
SRC_URI="https://github.com/Lawouach/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
|
KEYWORDS="amd64 arm x86"
|
|
S="${WORKDIR}/${MY_PN}-${PV}"
|
|
fi
|
|
|
|
DESCRIPTION="WebSocket client and server library for Python 2 and 3 as well as PyPy"
|
|
HOMEPAGE="https://github.com/Lawouach/WebSocket-for-Python"
|
|
|
|
LICENSE="BSD"
|
|
SLOT="0"
|
|
IUSE="+client +server test +threads"
|
|
RESTRICT="!test? ( test )"
|
|
# doc build requires sphinxcontrib ext packages absent from portage
|
|
|
|
RDEPEND=">=dev-python/greenlet-0.4.1[${PYTHON_USEDEP}]
|
|
>=dev-python/cython-0.19.1[${PYTHON_USEDEP}]
|
|
client? ( >=www-servers/tornado-3.1[${PYTHON_USEDEP}] )
|
|
server? ( >=dev-python/cherrypy-3.2.4[${PYTHON_USEDEP}] )"
|
|
|
|
DEPEND="test? (
|
|
>=dev-python/cherrypy-3.2.4[${PYTHON_USEDEP}]
|
|
dev-python/unittest2[${PYTHON_USEDEP}]
|
|
>=dev-python/mock-1.0.1[${PYTHON_USEDEP}]
|
|
)"
|
|
|
|
PATCHES=(
|
|
"${FILESDIR}"/${PN}-0.5.1-python3.7+-compatibility.patch
|
|
)
|
|
|
|
python_test() {
|
|
# testsuite displays an issue with mock under py3 but is non fatal
|
|
"${EPYTHON}" -m unittest discover || die "Tests failed under ${EPYTHON}"
|
|
}
|
|
|
|
python_install() {
|
|
distutils-r1_python_install
|
|
use client || rm -rf "${D}$(python_get_sitedir)"/ws4py/client
|
|
use server || rm -rf "${D}$(python_get_sitedir)"/ws4py/server
|
|
}
|