diff options
Diffstat (limited to 'net-proxy/sshuttle/sshuttle-1.1.1.ebuild')
-rw-r--r-- | net-proxy/sshuttle/sshuttle-1.1.1.ebuild | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/net-proxy/sshuttle/sshuttle-1.1.1.ebuild b/net-proxy/sshuttle/sshuttle-1.1.1.ebuild new file mode 100644 index 000000000000..c9cdc03543a1 --- /dev/null +++ b/net-proxy/sshuttle/sshuttle-1.1.1.ebuild @@ -0,0 +1,75 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-sshuttle-docs +# Set to 1 if prebuilt, 0 if not +# (the construct below is to allow overriding from env for script) +: ${SSHUTTLE_DOCS_PREBUILT:=1} + +SSHUTTLE_DOCS_PREBUILT_DEV=sam +SSHUTTLE_DOCS_VERSION=${PV} +# Default to generating docs (inc. man pages) if no prebuilt; overridden later +SSHUTTLE_DOCS_USEFLAG="+doc" + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{8..11} ) +inherit distutils-r1 linux-info + +DESCRIPTION="Transparent proxy server that works as a poor man's VPN using ssh" +HOMEPAGE="https://github.com/sshuttle/sshuttle https://pypi.org/project/sshuttle/" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" +if [[ ${SSHUTTLE_DOCS_PREBUILT} == 1 ]] ; then + SRC_URI+=" !doc? ( https://dev.gentoo.org/~${SSHUTTLE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${SSHUTTLE_DOCS_VERSION}-docs.tar.xz )" + + SSHUTTLE_DOCS_USEFLAG="doc" +fi + +LICENSE="LGPL-2.1+" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="${SSHUTTLE_DOCS_USEFLAG}" + +BDEPEND=" + doc? ( dev-python/sphinx ) + test? ( + dev-python/mock[${PYTHON_USEDEP}] + ) +" +RDEPEND=" + dev-python/psutil[${PYTHON_USEDEP}] + || ( net-firewall/iptables net-firewall/nftables ) +" + +CONFIG_CHECK="~NETFILTER_XT_TARGET_HL ~IP_NF_TARGET_REDIRECT ~IP_NF_MATCH_TTL ~NF_NAT" + +distutils_enable_tests pytest + +python_prepare_all() { + # Don't run tests via setup.py pytest + sed -i "/setup_requires=/s/'pytest-runner'//" setup.py || die + + # Don't require pytest-cov when running tests + sed -i "s/^addopts =/#\0/" setup.cfg || die + + distutils-r1_python_prepare_all +} + +python_compile_all() { + if use doc ; then + emake -j1 -C docs html man + fi +} + +python_install_all() { + # If USE=doc, there'll be newly generated docs which we install instead. + if ! use doc && [[ ${SSHUTTLE_DOCS_PREBUILT} == 1 ]] ; then + doman "${WORKDIR}"/${PN}-${SSHUTTLE_DOCS_VERSION}-docs/sshuttle.1 + else + HTML_DOCS=( docs/_build/html/. ) + doman docs/_build/man/* + fi + + distutils-r1_python_install_all +} |