From 43a761da72af3c70d4087085c3ed608c54d76baf Mon Sep 17 00:00:00 2001 From: Thibault Gagnaux Date: Fri, 18 Oct 2019 10:16:31 +0200 Subject: [PATCH] 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). --- maintainers/maintainer-list.nix | 6 +++++ pkgs/tools/networking/openconnect/default.nix | 26 ++++++++++++------- 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 142d36fe7619..60df8313fdcf 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -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"; diff --git a/pkgs/tools/networking/openconnect/default.nix b/pkgs/tools/networking/openconnect/default.nix index 7244653e493b..c4faf50cbb95 100644 --- a/pkgs/tools/networking/openconnect/default.nix +++ b/pkgs/tools/networking/openconnect/default.nix @@ -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; }; }