summary refs log tree commit diff
path: root/pkgs/tools/networking/openconnect/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/networking/openconnect/default.nix')
-rw-r--r--pkgs/tools/networking/openconnect/default.nix41
1 files changed, 41 insertions, 0 deletions
diff --git a/pkgs/tools/networking/openconnect/default.nix b/pkgs/tools/networking/openconnect/default.nix
new file mode 100644
index 00000000000..d9e3063f5c1
--- /dev/null
+++ b/pkgs/tools/networking/openconnect/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl, pkgconfig, vpnc, openssl ? null, gnutls ? null, libxml2, zlib } :
+
+let
+  xor = a: b: (a || b) && (!(a && b));
+in
+
+assert xor (openssl != null) (gnutls != null);
+
+stdenv.mkDerivation rec {
+  name = "openconnect-7.08";
+
+  src = fetchurl {
+    urls = [
+      "ftp://ftp.infradead.org/pub/openconnect/${name}.tar.gz"
+    ];
+    sha256 = "00wacb79l2c45f94gxs63b9z25wlciarasvjrb8jb8566wgyqi0w";
+  };
+
+  preConfigure = ''
+      export PKG_CONFIG=${pkgconfig}/bin/pkg-config
+      export LIBXML2_CFLAGS="-I ${libxml2.dev}/include/libxml2"
+      export LIBXML2_LIBS="-L${libxml2.out}/lib -lxml2"
+    '';
+
+  configureFlags = [
+    "--with-vpnc-script=${vpnc}/etc/vpnc/vpnc-script"
+    "--disable-nls"
+    "--without-openssl-version-check"
+  ];
+
+  buildInputs = [ pkgconfig ];
+  propagatedBuildInputs = [ vpnc openssl gnutls libxml2 zlib ];
+
+  meta = {
+    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;
+  };
+}