openconnect: Add darwin support

The old build was failing on darwin because yubikey needs the PCSC framework dependency. I also upgraded to the latest vpnc-script as recommended on the openconnect homepage (see: https://www.infradead.org/openconnect/platforms.html). Lastly, I moved all dependencies which are not used at runtime from propagatedBuildInputs to buildInputs (Please correct me if that is wrong).
This commit is contained in:
Thibault Gagnaux 2019-10-18 10:16:31 +02:00
parent 407fcf1afc
commit 43a761da72
2 changed files with 23 additions and 9 deletions

View file

@ -6646,6 +6646,12 @@
githubId = 1312290;
name = "Trevor Joynson";
};
tricktron = {
email = "tgagnaux@gmail.com";
github = "tricktron";
githubId = 16036882;
name = "Thibault Gagnaux";
};
trino = {
email = "muehlhans.hubert@ekodia.de";
github = "hmuehlhans";

View file

@ -1,8 +1,14 @@
{ stdenv, fetchurl, pkgconfig, vpnc, openssl ? null, gnutls ? null, gmp, libxml2, stoken, zlib } :
{ stdenv, fetchurl, pkgconfig, openssl ? null, gnutls ? null, gmp, libxml2, stoken, zlib, fetchgit, darwin } :
assert (openssl != null) == (gnutls == null);
stdenv.mkDerivation rec {
let vpnc = fetchgit {
url = "git://git.infradead.org/users/dwmw2/vpnc-scripts.git";
rev = "c84fb8e5a523a647a01a1229a9104db934e19f00";
sha256 = "01xdclx0y3x66mpbdr77n4ilapwzjz475h32q88ml9gnq6phjxrs";
};
in stdenv.mkDerivation rec {
pname = "openconnect";
version = "8.05";
@ -14,21 +20,23 @@ stdenv.mkDerivation rec {
};
outputs = [ "out" "dev" ];
configureFlags = [
"--with-vpnc-script=${vpnc}/etc/vpnc/vpnc-script"
"--with-vpnc-script=${vpnc}/vpnc-script"
"--disable-nls"
"--without-openssl-version-check"
];
buildInputs = [ openssl gnutls gmp libxml2 stoken zlib ]
++ stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.PCSC;
nativeBuildInputs = [ pkgconfig ];
propagatedBuildInputs = [ vpnc openssl gnutls gmp libxml2 stoken zlib ];
propagatedBuildInputs = [ vpnc ];
meta = {
meta = with stdenv.lib; {
description = "VPN Client for Cisco's AnyConnect SSL VPN";
homepage = http://www.infradead.org/openconnect/;
license = stdenv.lib.licenses.lgpl21;
maintainers = with stdenv.lib.maintainers; [ pradeepchhetri ];
platforms = stdenv.lib.platforms.linux;
license = licenses.lgpl21;
maintainers = with maintainers; [ pradeepchhetri tricktron ];
platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
};
}