summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkos Chandras <hwoarang@gentoo.org>2013-01-04 22:20:14 +0000
committerMarkos Chandras <hwoarang@gentoo.org>2013-01-04 22:20:14 +0000
commit1e96b621506eb94df2ecbee2908a1a269187ec13 (patch)
tree37f7b9929713864de4b151b67a06a8970c90b440 /net-misc/openconnect
parentStable for x86, wrt bug #437854 (diff)
downloadgentoo-2-1e96b621506eb94df2ecbee2908a1a269187ec13.tar.gz
gentoo-2-1e96b621506eb94df2ecbee2908a1a269187ec13.tar.bz2
gentoo-2-1e96b621506eb94df2ecbee2908a1a269187ec13.zip
rework gnutls, ssl use flags logic. Bug #448436. Thanks to Matthew Schultz <mattsch@gmail.com>
(Portage version: 2.2.0_alpha149/cvs/Linux x86_64, signed Manifest commit with key B4AFF2C2)
Diffstat (limited to 'net-misc/openconnect')
-rw-r--r--net-misc/openconnect/ChangeLog11
-rw-r--r--net-misc/openconnect/openconnect-4.07-r3.ebuild144
2 files changed, 153 insertions, 2 deletions
diff --git a/net-misc/openconnect/ChangeLog b/net-misc/openconnect/ChangeLog
index 3e47ff37f150..ec01f86b9e16 100644
--- a/net-misc/openconnect/ChangeLog
+++ b/net-misc/openconnect/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for net-misc/openconnect
-# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/openconnect/ChangeLog,v 1.6 2012/12/22 19:21:06 hwoarang Exp $
+# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/openconnect/ChangeLog,v 1.7 2013/01/04 22:20:14 hwoarang Exp $
+
+*openconnect-4.07-r3 (04 Jan 2013)
+
+ 04 Jan 2013; Markos Chandras <hwoarang@gentoo.org>
+ +openconnect-4.07-r3.ebuild:
+ rework gnutls, ssl use flags logic. Bug #448436. Thanks to Matthew Schultz
+ <mattsch@gmail.com>
22 Dec 2012; Markos Chandras <hwoarang@gentoo.org>
-openconnect-4.07-r1.ebuild, -openconnect-4.07.ebuild:
diff --git a/net-misc/openconnect/openconnect-4.07-r3.ebuild b/net-misc/openconnect/openconnect-4.07-r3.ebuild
new file mode 100644
index 000000000000..54e0b2195efe
--- /dev/null
+++ b/net-misc/openconnect/openconnect-4.07-r3.ebuild
@@ -0,0 +1,144 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/openconnect/openconnect-4.07-r3.ebuild,v 1.1 2013/01/04 22:20:14 hwoarang Exp $
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_{6,7} )
+
+inherit eutils linux-info python-any-r1
+
+DESCRIPTION="Free client for Cisco AnyConnect SSL VPN software"
+HOMEPAGE="http://www.infradead.org/openconnect.html"
+# New versions of openconnect-script can be found here:
+# http://git.infradead.org/users/dwmw2/vpnc-scripts.git/history/HEAD:/vpnc-script
+SRC_URI="ftp://ftp.infradead.org/pub/${PN}/${P}.tar.gz
+ http://dev.gentoo.org/~hwoarang/distfiles/openconnect-script-20121108205904.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc static-libs nls -gnutls"
+ILINGUAS="ar as ast bg bg_BG bn bn_IN bs ca ca@valencia cs da de el en_GB en_US eo es es_CR
+ es_MX et eu fa fi fr gd gl gu he hi hi_IN hu id it ja km kn ko ku lo lt lv ml mr
+ ms nb nl nn no or pa pl pt pt_BR pt_PT ro ru sk sl sq sr sr@latin sv ta te
+ tg th tl tr ug uk ur_PK vi vi_VN wa zh_CN zh_HK zh_TW"
+for lang in $ILINGUAS; do
+ IUSE="${IUSE} linguas_${lang}"
+done
+
+DEPEND="dev-libs/libxml2
+ net-libs/libproxy
+ sys-libs/zlib
+ !gnutls? ( dev-libs/openssl[static-libs?] )
+ gnutls? (
+ || (
+ ( >=net-libs/gnutls-3[static-libs?] dev-libs/nettle )
+ ( =net-libs/gnutls-2.12*[nettle,static-libs?] dev-libs/nettle )
+ ( =net-libs/gnutls-2.12*[-nettle,static-libs?] dev-libs/libgcrypt[static-libs?] )
+ )
+ app-misc/ca-certificates
+ )
+ doc? ( ${PYTHON_DEPS} )"
+
+RDEPEND="${DEPEND}
+ sys-apps/iproute2"
+
+tun_tap_check() {
+ ebegin "Checking for TUN/TAP support"
+ if { ! linux_chkconfig_present TUN; }; then
+ eerror "Please enable TUN/TAP support in your kernel config, found at:"
+ eerror
+ eerror " Device Drivers --->"
+ eerror " [*] Network device support --->"
+ eerror " <*> Universal TUN/TAP device driver support"
+ eerror
+ eerror "and recompile your kernel ..."
+ die "no CONFIG_TUN support detected!"
+ fi
+ eend $?
+}
+
+pkg_setup() {
+ if use doc; then
+ python-any-r1_pkg_setup
+ fi
+
+ if use kernel_linux; then
+ get_version
+ if linux_config_exists; then
+ tun_tap_check
+ else
+ ewarn "Was unable to determine your kernel .config"
+ ewarn "Please note that OpenConnect requires CONFIG_TUN to be set in your"
+ ewarn "kernel .config, Without it, it will not work correctly."
+ # We don't die here, so it's possible to compile this package without
+ # kernel sources available. Required for cross-compilation.
+ fi
+ fi
+}
+
+src_configure() {
+ strip-linguas $ILINGUAS
+ echo ${LINGUAS} > po/LINGUAS
+ # Override vpn-script test since the build system violates the sandbox and
+ # needs the path set to the real default path after it's installed
+ sed -e "s#-x \"\$with_vpnc_script\"#-n \"${WORKDIR}/openconnect-script\"#" \
+ -i configure || die
+ 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
+ econf \
+ --with-vpnc-script=/etc/openconnect/openconnect.sh \
+ $(use_enable static-libs static) \
+ $(use_enable nls ) \
+ $(use_with !gnutls openssl) \
+ $(use_with gnutls )
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ dodoc AUTHORS TODO
+ newinitd "${FILESDIR}"/openconnect.init.in openconnect
+ dodir /etc/openconnect
+ insinto /etc/openconnect
+ newconfd "${FILESDIR}"/openconnect.conf.in openconnect
+ exeinto /etc/openconnect
+ newexe "${WORKDIR}"/openconnect-script openconnect.sh
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/openconnect.logrotate openconnect
+ keepdir /var/log/openconnect
+
+ # Remove useless .la files
+ find "${D}" -name '*.la' -delete || die "la file removal failed"
+}
+
+pkg_postinst() {
+ elog "The init script for openconnect has changed and now supports multiple vpn tunnels."
+ elog
+ elog "You need to create a symbolic link to /etc/init.d/openconnect in /etc/init.d"
+ elog "instead of calling it directly:"
+ elog
+ elog "ln -s /etc/init.d/openconnect /etc/init.d/openconnect.vpn0"
+ elog
+ elog "You can then start the vpn tunnel like this:"
+ elog
+ elog "/etc/init.d/openconnect.vpn0 start"
+ elog
+ elog "If you would like to run preup, postup, predown, and/or postdown scripts,"
+ elog "You need to create a directory in /etc/openconnect with the name of the vpn:"
+ elog
+ elog "mkdir /etc/openconnect/vpn0"
+ elog
+ elog "Then add executable shell files:"
+ elog
+ elog "mkdir /etc/openconnect/vpn0"
+ elog "cd /etc/openconnect/vpn0"
+ elog "echo '#!/bin/sh' > preup.sh"
+ elog "cp preup.sh predown.sh"
+ elog "cp preup.sh postup.sh"
+ elog "cp preup.sh postdown.sh"
+ elog "chmod 755 /etc/openconnect/vpn0/*"
+}