commit:     da3e2c75f7d0b1088766c70ff9b861902d50d874
Author:     Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 22 18:52:17 2024 +0000
Commit:     Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Fri Nov 22 18:58:39 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=da3e2c75

net-vpn/gsocket: add 1.4.43-r1 with gs-socks-proxy.service

Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>

 net-vpn/gsocket/files/gs-socks-proxy.service | 22 +++++++++
 net-vpn/gsocket/gsocket-1.4.43-r1.ebuild     | 68 ++++++++++++++++++++++++++++
 2 files changed, 90 insertions(+)

diff --git a/net-vpn/gsocket/files/gs-socks-proxy.service 
b/net-vpn/gsocket/files/gs-socks-proxy.service
new file mode 100644
index 000000000000..ce9d180641b3
--- /dev/null
+++ b/net-vpn/gsocket/files/gs-socks-proxy.service
@@ -0,0 +1,22 @@
+[Unit]
+Description=Global Socket Socks Proxy
+After=network-online.target
+Wants=network-online.target
+
+[Service]
+Restart=always
+RestartSec=10
+RestartSteps=10
+RestartMaxDelaySec=30m
+
+DynamicUser=yes
+RuntimeDirectory=gs-socks-proxy
+
+ExecStartPre=+gs-init-secret /etc/gsocket/gs-socks-proxy-key
+ExecStartPre=+install --owner %u /etc/gsocket/gs-socks-proxy-key 
/run/gs-socks-proxy/key
+
+ExecStart=gs-netcat -k /run/gs-socks-proxy/key -lS
+
+
+[Install]
+WantedBy=multi-user.target

diff --git a/net-vpn/gsocket/gsocket-1.4.43-r1.ebuild 
b/net-vpn/gsocket/gsocket-1.4.43-r1.ebuild
new file mode 100644
index 000000000000..74426aaafe23
--- /dev/null
+++ b/net-vpn/gsocket/gsocket-1.4.43-r1.ebuild
@@ -0,0 +1,68 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools systemd
+
+DESCRIPTION="Allow firewalled/NATed host to establish a secure connection"
+HOMEPAGE="https://www.gsocket.io/";
+
+if [[ ${PV} == 9999 ]]; then
+       inherit git-r3
+       EGIT_REPO_URI="https://github.com/hackerschoice/gsocket.git";
+else
+       SRC_URI="https://github.com/hackerschoice/gsocket/archive/v${PV}.tar.gz 
-> ${P}.tar.gz"
+       KEYWORDS="~amd64 ~arm64 ~riscv"
+fi
+
+LICENSE="BSD-2"
+SLOT="0"
+
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="dev-libs/openssl:="
+DEPEND="
+       ${COMMON_DEPEND}
+       test? (
+               net-analyzer/netcat
+               net-misc/socat
+       )
+"
+RDEPEND="${COMMON_DEPEND}"
+
+PATCHES=(
+       # https://github.com/hackerschoice/gsocket/pull/104
+       "${FILESDIR}"/gsocket-1.4.43-gs-init-secret.patch
+)
+
+src_prepare() {
+       default
+
+       # Patch in the correct libdir
+       sed -i \
+               "s;arrayContains 
\"/usr/lib\".*;DL+=(\"${EPREFIX}/usr/$(get_libdir)\");" \
+               tools/gs_funcs || die "Failed to patch libdir in gs_funcs"
+
+       eautoreconf
+}
+
+src_configure() {
+       econf $(use_enable test tests)
+}
+
+src_test() {
+       cd tests || die
+
+       ./run_ft_tests.sh || die
+       # Most of the "gs_tests" seem to fail (probably due the sandbox).
+       ./run_gs_tests.sh 4.1 || die
+}
+
+src_install() {
+       default
+
+       systemd_dounit examples/systemd-root-shell/gs-root-shell.service
+       systemd_dounit "${FILESDIR}"/gs-socks-proxy.service
+}

Reply via email to