summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-vpn/openconnect')
-rw-r--r--net-vpn/openconnect/Manifest2
-rw-r--r--net-vpn/openconnect/openconnect-9.10.ebuild163
-rw-r--r--net-vpn/openconnect/openconnect-9999.ebuild18
3 files changed, 180 insertions, 3 deletions
diff --git a/net-vpn/openconnect/Manifest b/net-vpn/openconnect/Manifest
index a855a2300764..aa92a3417bd2 100644
--- a/net-vpn/openconnect/Manifest
+++ b/net-vpn/openconnect/Manifest
@@ -1 +1,3 @@
DIST openconnect-9.01.tar.gz 2718526 BLAKE2B e346b30ed8a299bcdd1fc88868d59b4d501c48bc5c02092e92e7ded0cd36e4de6a5b65aae4f6bf8c9aa60cf70f5466b110b64889df8d286016c9a1b4d9f46ff7 SHA512 b7428847a90f8ca9d1f1f61653c1f2486f0a07989f3b7435b746c5e901998194f4ee2b4f9569a548a23bba368bb1e9f273674c0759aac9df30208d2a6a303c34
+DIST openconnect-9.10.tar.gz 2843858 BLAKE2B 03349acaf2420fc1acb4e5787159a7185708e9e2fe8f7e3b54141342da361b304967a27d60ea3b3bede62b9e74718cbcc734c33c36bf49a7ab4ca8ee5d96bbbf SHA512 64d10ad67fccd11d1aaae23a77c6cfd8200bbba0eae21a7d01c604688ec9c35b5f19eeb9a47de14d383780eba64a2f6c06daccd4c1fae6289efdb0dc2fb7c536
+DIST openconnect-9.10.tar.gz.asc 833 BLAKE2B 37ac92d70b415ba4d80c6a9028610e5660eecf7bd826d8ea708c8c59b60ff2fc8dcdc583dbc163ad5929c34b034e44273dc91d966b81397daaa8edda6407f5bc SHA512 4ed8be3a8aa1a0bdedff94910b2de792c93025498f83b50033df9ef25fd0a9dd86ab3011183657b49bbc3c2b70a5acb9605bdfa722e2bb2f2318540d1047f730
diff --git a/net-vpn/openconnect/openconnect-9.10.ebuild b/net-vpn/openconnect/openconnect-9.10.ebuild
new file mode 100644
index 000000000000..bda422a32553
--- /dev/null
+++ b/net-vpn/openconnect/openconnect-9.10.ebuild
@@ -0,0 +1,163 @@
+# Copyright 2011-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_REQ_USE="xml(+)"
+
+inherit linux-info python-any-r1
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://gitlab.com/openconnect/openconnect.git"
+ inherit git-r3 autotools
+else
+ inherit verify-sig
+ SRC_URI="https://www.infradead.org/openconnect/download/${P}.tar.gz
+ verify-sig? ( https://www.infradead.org/openconnect/download/${P}.tar.gz.asc )"
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+fi
+
+DESCRIPTION="Free client for Cisco AnyConnect SSL VPN software"
+HOMEPAGE="https://www.infradead.org/openconnect/"
+
+LICENSE="LGPL-2.1 GPL-2"
+SLOT="0/5"
+IUSE="doc +gnutls gssapi libproxy lz4 nls pskc selinux smartcard stoken test"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ dev-libs/json-parser:0=
+ dev-libs/libxml2
+ sys-libs/zlib
+ app-crypt/p11-kit
+ !gnutls? (
+ >=dev-libs/openssl-1.0.1h:0=
+ dev-libs/libp11
+ )
+ gnutls? (
+ app-crypt/trousers
+ app-misc/ca-certificates
+ dev-libs/nettle
+ >=net-libs/gnutls-3.6.13:0=
+ dev-libs/libtasn1:0=
+ app-crypt/tpm2-tss:=
+ )
+ gssapi? ( virtual/krb5 )
+ libproxy? ( net-libs/libproxy )
+ lz4? ( app-arch/lz4:= )
+ nls? ( virtual/libintl )
+ pskc? ( sys-auth/oath-toolkit[pskc(+)] )
+ smartcard? ( sys-apps/pcsc-lite:0= )
+ stoken? ( app-crypt/stoken )
+"
+DEPEND="${COMMON_DEPEND}
+ test? (
+ net-libs/socket_wrapper
+ sys-libs/uid_wrapper
+ !gnutls? ( dev-libs/openssl:0[weak-ssl-ciphers(-)] )
+ )
+"
+RDEPEND="${COMMON_DEPEND}
+ sys-apps/iproute2
+ >=net-vpn/vpnc-scripts-20210402-r1
+ selinux? ( sec-policy/selinux-vpn )
+"
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( ${PYTHON_DEPS} sys-apps/groff )
+ nls? ( sys-devel/gettext )
+ test? ( net-vpn/ocserv )
+"
+
+if [[ ${PV} != 9999 ]]; then
+ BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-dwmw2 )"
+ VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}/usr/share/openpgp-keys/dwmw2@kernel.org.key"
+fi
+
+CONFIG_CHECK="~TUN"
+
+pkg_pretend() {
+ check_extra_config
+}
+
+pkg_setup() {
+ :
+}
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]]; then
+ git-r3_src_unpack
+ else
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}/${P}".tar.gz{,.asc}
+ fi
+ unpack "${P}.tar.gz"
+ fi
+}
+
+src_prepare() {
+ default
+ if [[ ${PV} == 9999 ]]; then
+ eautoreconf
+ fi
+}
+
+src_configure() {
+ if use doc; then
+ python_setup
+ else
+ export ac_cv_path_PYTHON=
+ fi
+
+ # Used by tests if userpriv is disabled
+ addwrite /run/netns
+
+ local myconf=(
+ --disable-dsa-tests
+ $(use_enable nls)
+ --disable-static
+ $(use_with !gnutls openssl)
+ $(use_with gnutls)
+ $(use_with libproxy)
+ $(use_with lz4)
+ $(use_with gssapi)
+ $(use_with pskc libpskc)
+ $(use_with smartcard libpcsclite)
+ $(use_with stoken)
+ --with-vpnc-script="${EPREFIX}/etc/vpnc/vpnc-script"
+ --without-builtin-json
+ --without-java
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_test() {
+ local charset
+ for charset in UTF-8 ISO-8859-2; do
+ if [[ $(LC_ALL=cs_CZ.${charset} locale charmap 2>/dev/null) != ${charset} ]]; then
+ # If we don't have valid cs_CZ locale data, auth-nonascii will fail.
+ # Force a test skip by exiting with status 77.
+ sed -i -e '2i exit 77' tests/auth-nonascii || die
+ break
+ fi
+ done
+ addwrite /proc
+ default
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+
+ dodoc "${FILESDIR}"/README.OpenRC
+
+ newconfd "${FILESDIR}"/openconnect.confd openconnect
+ newinitd "${FILESDIR}"/openconnect.initd openconnect
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/openconnect.logrotate openconnect
+
+ keepdir /var/log/openconnect
+}
diff --git a/net-vpn/openconnect/openconnect-9999.ebuild b/net-vpn/openconnect/openconnect-9999.ebuild
index 1128cd29c582..bda422a32553 100644
--- a/net-vpn/openconnect/openconnect-9999.ebuild
+++ b/net-vpn/openconnect/openconnect-9999.ebuild
@@ -12,8 +12,10 @@ if [[ ${PV} == 9999 ]]; then
EGIT_REPO_URI="https://gitlab.com/openconnect/openconnect.git"
inherit git-r3 autotools
else
- SRC_URI="ftp://ftp.infradead.org/pub/${PN}/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+ inherit verify-sig
+ SRC_URI="https://www.infradead.org/openconnect/download/${P}.tar.gz
+ verify-sig? ( https://www.infradead.org/openconnect/download/${P}.tar.gz.asc )"
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
fi
DESCRIPTION="Free client for Cisco AnyConnect SSL VPN software"
@@ -68,6 +70,11 @@ BDEPEND="
test? ( net-vpn/ocserv )
"
+if [[ ${PV} != 9999 ]]; then
+ BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-dwmw2 )"
+ VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}/usr/share/openpgp-keys/dwmw2@kernel.org.key"
+fi
+
CONFIG_CHECK="~TUN"
pkg_pretend() {
@@ -81,8 +88,12 @@ pkg_setup() {
src_unpack() {
if [[ ${PV} == 9999 ]]; then
git-r3_src_unpack
+ else
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}/${P}".tar.gz{,.asc}
+ fi
+ unpack "${P}.tar.gz"
fi
- default
}
src_prepare() {
@@ -132,6 +143,7 @@ src_test() {
break
fi
done
+ addwrite /proc
default
}