summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net-proxy/sshuttle/Manifest2
-rw-r--r--net-proxy/sshuttle/sshuttle-1.1.2.ebuild78
2 files changed, 80 insertions, 0 deletions
diff --git a/net-proxy/sshuttle/Manifest b/net-proxy/sshuttle/Manifest
index 30b03be5c7f1..36fd5e723838 100644
--- a/net-proxy/sshuttle/Manifest
+++ b/net-proxy/sshuttle/Manifest
@@ -1,2 +1,4 @@
DIST sshuttle-1.1.1-docs.tar.xz 8048 BLAKE2B f6318110f67a4882a733d9b389c52eefd2e769b70f3282e7699425b6e6d3a9c5a60219978e248aaf1e7f184491db9aea4aab2efad09eb0af3ee095e0cf527d54 SHA512 c2ef822f872f6afd1d9c64e7a412ad65cca0486115dcfa0673a7a1b0554bfd1413f673248e30fa01759daaf1a1a0061f48a42170d7b234448093d3562f757cd9
DIST sshuttle-1.1.1.tar.gz 93639 BLAKE2B 63725146dd5fcd07f4b291f981ca947a514735014f4f8173023d3982796ce4ef96b9defb39beef026d32b2162d11951742c57dee1f04cd453cf85ca08c8d2468 SHA512 07a3371c4998f37410692f9c5eaa456ff28b2dbffff731a0be3877d96c820b42c83cb386ec3ab54b524d4b333edd1a2289cd949c7d59b98a11b1ee2d6867da4f
+DIST sshuttle-1.1.2-docs.tar.xz 8300 BLAKE2B efbffcda40422b76e18ad8e85b1ccd392a5ca342897d3a179b31b5f000954b2021c877680eda6a0aae70c8594704afb8a81599f2c79dd1c954665c437ad789f2 SHA512 b48896b48da2540e561fec10ae20a8b53ffc8df59c7917e7166f138b6c2ad2d3555949d9f10934886e3c6d5a062e20460e985c064b1502a3951149265c332956
+DIST sshuttle-1.1.2.gh.tar.gz 111767 BLAKE2B 7f2a63df0a6e2815e8787c6e02cd81924ff3d80d4b2309d8ebb875b49db33ff5b7b8c8249760b27a942f69db049c862041433099a06f009fe3532c4cb4493bac SHA512 c24a6490c1877b9ded8f5f4f44571953c4c204c33f0238c709ca32c7a581ddc919bfc48beb4fafd3a4d346cccd9b02dc7051b6233ff989a0ad329d55c1c5ec47
diff --git a/net-proxy/sshuttle/sshuttle-1.1.2.ebuild b/net-proxy/sshuttle/sshuttle-1.1.2.ebuild
new file mode 100644
index 000000000000..8bde64af7644
--- /dev/null
+++ b/net-proxy/sshuttle/sshuttle-1.1.2.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2024 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=poetry
+PYTHON_COMPAT=( python3_{10..12} )
+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/"
+# No tests in sdist
+SRC_URI=" https://github.com/sshuttle/sshuttle/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.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
+ dev-python/furo
+ )
+ 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
+}