blob: 5a2a4a736fd8748aee43b7734e7a33ae2eda29de (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
|
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="5"
PYTHON_COMPAT=( python2_7 )
PYTHON_REQ_USE="xml"
inherit eutils java-pkg-opt-2 linux-info python-any-r1 readme.gentoo
DESCRIPTION="Free client for Cisco AnyConnect SSL VPN software"
HOMEPAGE="http://www.infradead.org/openconnect.html"
VPNC_VER=20140806
SRC_URI="ftp://ftp.infradead.org/pub/${PN}/${P}.tar.gz
ftp://ftp.infradead.org/pub/vpnc-scripts/vpnc-scripts-${VPNC_VER}.tar.gz"
LICENSE="LGPL-2.1 GPL-2"
SLOT="0/5"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
IUSE="doc +gnutls gssapi java libressl libproxy nls smartcard static-libs"
ILINGUAS="ar cs de el en_GB en_US es eu fi fr gl id lt nl pa pl pt pt_BR sk sl tg ug uk zh_CN zh_TW"
for lang in $ILINGUAS; do
IUSE="${IUSE} linguas_${lang}"
done
DEPEND="dev-libs/libxml2
sys-libs/zlib
!gnutls? (
!libressl? ( >=dev-libs/openssl-1.0.1h:0[static-libs?] )
libressl? ( dev-libs/libressl[static-libs?] )
)
gnutls? (
>=net-libs/gnutls-3[static-libs?] dev-libs/nettle
app-misc/ca-certificates
)
gssapi? ( virtual/krb5 )
libproxy? ( net-libs/libproxy )
nls? ( virtual/libintl )
smartcard? ( sys-apps/pcsc-lite:0= )"
RDEPEND="${DEPEND}
sys-apps/iproute2
!<sys-apps/openrc-0.13"
DEPEND="${DEPEND}
virtual/pkgconfig
doc? ( ${PYTHON_DEPS} sys-apps/groff )
java? ( >=virtual/jdk-1.6 )
nls? ( sys-devel/gettext )"
CONFIG_CHECK="~TUN"
pkg_pretend() {
check_extra_config
}
pkg_setup() {
java-pkg-opt-2_pkg_setup
if use doc; then
python-any-r1_pkg_setup
fi
}
src_configure() {
strip-linguas $ILINGUAS
echo ${LINGUAS} > po/LINGUAS
if ! use doc; then
# If the python cannot be found, the docs will not build
sed -e 's#"${ac_cv_path_PYTHON}"#""#' -i configure || die
fi
# stoken and liboath not in portage
econf \
--with-vpnc-script="${EPREFIX}/etc/openconnect/openconnect.sh" \
$(use_enable static-libs static) \
$(use_enable nls ) \
$(use_with !gnutls openssl) \
$(use_with gnutls ) \
$(use_with libproxy) \
--without-stoken \
$(use_with gssapi) \
$(use_with smartcard libpcsclite) \
$(use_with java)
}
DOC_CONTENTS="The init script for openconnect supports multiple vpn tunnels.
You need to create a symbolic link to /etc/init.d/openconnect in /etc/init.d
instead of calling it directly:
ln -s /etc/init.d/openconnect /etc/init.d/openconnect.vpn0
You can then start the vpn tunnel like this:
/etc/init.d/openconnect.vpn0 start
If you would like to run preup, postup, predown, and/or postdown scripts,
You need to create a directory in /etc/openconnect with the name of the vpn:
mkdir /etc/openconnect/vpn0
Then add executable shell files:
mkdir /etc/openconnect/vpn0
cd /etc/openconnect/vpn0
echo '#!/bin/sh' > preup.sh
cp preup.sh predown.sh
cp preup.sh postup.sh
cp preup.sh postdown.sh
chmod 755 /etc/openconnect/vpn0/*
"
src_install() {
emake DESTDIR="${D}" install
dodoc AUTHORS TODO
newinitd "${FILESDIR}"/openconnect.init.in-r4 openconnect
dodir /etc/openconnect
insinto /etc/openconnect
newconfd "${FILESDIR}"/openconnect.conf.in openconnect
exeinto /etc/openconnect
newexe "${WORKDIR}"/vpnc-scripts-${VPNC_VER}/vpnc-script openconnect.sh
insinto /etc/logrotate.d
newins "${FILESDIR}"/openconnect.logrotate openconnect
keepdir /var/log/openconnect
# Remove useless .la files
prune_libtool_files --all
readme.gentoo_create_doc
}
pkg_postinst() {
readme.gentoo_print_elog
if [[ -z ${REPLACING_VERSIONS} ]]; then
elog
elog "You may want to consider installing the following optional packages."
optfeature "resolvconf support" net-dns/openresolv
fi
}
|