summaryrefslogtreecommitdiff
path: root/net-proxy/sshuttle
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-02-11 16:09:52 +0000
committerV3n3RiX <venerix@redcorelinux.org>2018-02-11 16:09:52 +0000
commitf78108598211053d41752a83e0345441bb9014ae (patch)
treedd2fc7ae0a1aea7bda4942ab0c453d1e55284b37 /net-proxy/sshuttle
parentdc45b83b28fb83e9659492066e347b8dc60bc9e3 (diff)
gentoo resync : 11.02.2018
Diffstat (limited to 'net-proxy/sshuttle')
-rw-r--r--net-proxy/sshuttle/Manifest2
-rw-r--r--net-proxy/sshuttle/files/sshuttle-0.78.3-remote-python.patch70
-rw-r--r--net-proxy/sshuttle/sshuttle-0.78.3-r2.ebuild55
3 files changed, 127 insertions, 0 deletions
diff --git a/net-proxy/sshuttle/Manifest b/net-proxy/sshuttle/Manifest
index f3daebbca2d0..3133a22b345c 100644
--- a/net-proxy/sshuttle/Manifest
+++ b/net-proxy/sshuttle/Manifest
@@ -1,3 +1,5 @@
+AUX sshuttle-0.78.3-remote-python.patch 2297 BLAKE2B edb955c130d3ec230ea2c5395f6479d11192b95ac40bc30808d709109b9f596c476763955ce62d087c1f29e4b70525e11d32002d8a0a2826519ec0b540ea2e43 SHA512 3636d33f2dabb4ea2bfdabc5e68a110412db6bacddf083509fdaf7a9d12f4b9eee75ca9a62d9991c54f2d952f774e79ce2346009ae4189c2d08b9a1e750e75bc
DIST sshuttle-0.78.3.tar.gz 69460 BLAKE2B af6835ac6ca8d2d4d94f86067b2d9024ad531de2c35f07432f4b7319c5ff133349c8975a15d30486bf5cc0e9d9a71798ec2d3ecab943b5992f66b5c371b45de1 SHA512 581955d9868bdd369a37386b273d53448944b1fb5458a25d5930b348630521cadcaea8cf45371942f96c789889d2a405e8bbe824af3d0c6def73f017f1149a1e
+EBUILD sshuttle-0.78.3-r2.ebuild 1295 BLAKE2B e3a6b22fd8bb3fba3694796b3aff280f233a3a929ab2a918eba0830532dfb49278a553a86258ee464f89bb0dfeb40e1fbafd313d7c8556a89c5ba7663669e04f SHA512 31b158ce96be52ec9a3c7e81e9fa7bcf8b8724871f28e718b6e9c8566daf38df8841389e21c79421bd99917debd704ff08d0d8ad05c740ceb0a3e944bcc35015
EBUILD sshuttle-0.78.3.ebuild 1040 BLAKE2B 0074d8133777bc68ab01304c914079c8a0754ab382f43d03f0d8eceb30bdb6bbf23210027a26780530efdf3a01a7936ad9d54e5e94592afeddd6353794699cc7 SHA512 1b5176e1e6a154922a93102f36822ac2ffdf1ede3abdd9e31d212bad8093af202ec5db77f7e7f6ded46bf70499935cfc53831d3f42b36764be6b6f711ae8b2cd
MISC metadata.xml 386 BLAKE2B 5a94094f59d57f94569067c3ef424b46cec97b8c6f552422ca4b5baa910f9b5f547215c49647f8e2b4ab7f008abc57e4fc407f38f8fab252d17dfb072993a496 SHA512 988f65a4a15eac0630b83d0e090749c12ef58ca1284ed94f45f6eb9c4a5ff0678a481519f435a992f572b98a8878fbfeb7bf573443c128cd29e5c365a8eb2e32
diff --git a/net-proxy/sshuttle/files/sshuttle-0.78.3-remote-python.patch b/net-proxy/sshuttle/files/sshuttle-0.78.3-remote-python.patch
new file mode 100644
index 000000000000..c8138f732771
--- /dev/null
+++ b/net-proxy/sshuttle/files/sshuttle-0.78.3-remote-python.patch
@@ -0,0 +1,70 @@
+From 9b7ce2811ec3ef35b9b7f7dfc157127bc46ece47 Mon Sep 17 00:00:00 2001
+From: vieira <vieira@yubo.be>
+Date: Fri, 20 Oct 2017 22:52:06 +0000
+Subject: [PATCH] Use versions of python3 greater than 3.5 when available (e.g.
+ 3.6)
+
+Some Linux distros, like Alpine, Arch, etc and some BSDs, like FreeBSD, are
+now shipping with python3.6 as the default python3. Both the client and the
+server are failing to run in this distros, because we are specifically looking
+for python3.5.
+
+These changes make the run shell script use python3 if the version is greater
+than 3.5, otherwise falling back as usual.
+
+On the server any version of python3 will do, use it before falling back to
+python, as the server code can run with any version of python3.
+---
+ run | 28 +++++++++++++++++-----------
+ sshuttle/ssh.py | 2 +-
+ 2 files changed, 18 insertions(+), 12 deletions(-)
+
+diff --git a/run b/run
+index ec2d3f0..a14d831 100755
+--- a/run
++++ b/run
+@@ -1,11 +1,17 @@
+-#!/bin/sh
+-source_dir="$(dirname $0)"
+-(cd "$source_dir" && "$source_dir/setup.py" --version > /dev/null)
+-export PYTHONPATH="$source_dir:$PYTHONPATH"
+-if python3.5 -V >/dev/null 2>&1; then
+- exec python3.5 -m "sshuttle" "$@"
+-elif python2.7 -V >/dev/null 2>&1; then
+- exec python2.7 -m "sshuttle" "$@"
+-else
+- exec python -m "sshuttle" "$@"
+-fi
++#!/usr/bin/env sh
++set -e
++export PYTHONPATH="$(dirname $0):$PYTHONPATH"
++
++python_best_version() {
++ if [ -x "$(command -v python3)" ]; then
++ if python3 -c "import sys; sys.exit(not sys.version_info > (3, 5))"; then
++ exec python3 "$@"
++ fi
++ elif [ -x "$(command -v python2.7)" ]; then
++ exec python2.7 "$@"
++ else
++ exec python "$@"
++ fi
++}
++
++python_best_version -m "sshuttle" "$@"
+diff --git a/sshuttle/ssh.py b/sshuttle/ssh.py
+index f4c84cc..a1f2997 100644
+--- a/sshuttle/ssh.py
++++ b/sshuttle/ssh.py
+@@ -116,7 +116,7 @@ def connect(ssh_cmd, rhostport, python, stderr, options):
+ if python:
+ pycmd = "'%s' -c '%s'" % (python, pyscript)
+ else:
+- pycmd = ("P=python3.5; $P -V 2>/dev/null || P=python; "
++ pycmd = ("P=python3; $P -V 2>/dev/null || P=python; "
+ "exec \"$P\" -c %s") % quote(pyscript)
+ pycmd = ("exec /bin/sh -c %s" % quote(pycmd))
+ argv = (sshl +
+--
+2.16.1
+
diff --git a/net-proxy/sshuttle/sshuttle-0.78.3-r2.ebuild b/net-proxy/sshuttle/sshuttle-0.78.3-r2.ebuild
new file mode 100644
index 000000000000..254601915e1c
--- /dev/null
+++ b/net-proxy/sshuttle/sshuttle-0.78.3-r2.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_5,3_6} )
+
+inherit linux-info distutils-r1
+
+DESCRIPTION="Transparent proxy server that works as a poor man's VPN using ssh"
+HOMEPAGE="https://github.com/sshuttle/sshuttle https://pypi.python.org/pypi/sshuttle"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ net-firewall/iptables
+"
+DEPEND="
+ dev-python/sphinx
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/setuptools_scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
+
+CONFIG_CHECK="~NETFILTER_XT_TARGET_HL ~IP_NF_TARGET_REDIRECT ~IP_NF_MATCH_TTL ~NF_NAT"
+
+PATCHES=( "${FILESDIR}"/${P}-remote-python.patch )
+
+python_prepare_all() {
+ # don't run tests via setup.py pytest
+ sed -i "/setup_requires=/s/'pytest-runner'//" setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ emake -C docs html man
+}
+
+python_test() {
+ py.test || die "Tests fail under ${EPYTHON}"
+}
+
+python_install_all() {
+ HTML_DOCS=( "${S}"/docs/_build/html/. )
+ doman "${S}"/docs/_build/man/*
+ distutils-r1_python_install_all
+}