diff options
-rw-r--r-- | net-proxy/sshuttle/Manifest | 2 | ||||
-rw-r--r-- | net-proxy/sshuttle/sshuttle-1.1.2.ebuild | 78 |
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 +} |