# Copyright 2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

CRATES="
"
RUST_MIN_VER="1.88.0"

inherit cargo

# last update of Cargo.lock
CRATES_PV="10.5.4"
DESCRIPTION="Tunnel all your traffic over Websocket or HTTP2 - Bypass firewalls/DPI"
HOMEPAGE="https://github.com/erebe/wstunnel/"
SRC_URI="https://github.com/erebe/wstunnel/archive/v${PV}.tar.gz -> ${P}.tar.gz"
SRC_URI+=" https://raw.githubusercontent.com/PPN-SD/vendor/refs/tags/${PN}-${CRATES_PV}/${PN}-${CRATES_PV}-crates.tar.xz"

LICENSE="BSD"
# Autogenerated by pycargoebuild
# Dependent crate licenses
LICENSE+=" Apache-2.0 BSD CC0-1.0 ISC MIT openssl Unicode-3.0 ZLIB"
SLOT="0"
KEYWORDS="~amd64"

QA_FLAGS_IGNORED="usr/bin/wstunnel"

pkg_setup() {
	# see bug #965963
	export CARGO_PROFILE_RELEASE_LTO=off

	rust_pkg_setup
}

src_compile() {
	cargo_src_compile --package wstunnel-cli
}

src_test() {
	local CARGO_SKIP_TESTS=(
		# needs docker
		tests::test_proxy_connection
	)
	cargo_src_test --no-fail-fast
}

src_install() {
	cargo_src_install --path wstunnel-cli
	local DOCS+=( README.md docs/*.md )
	einstalldocs
}