summary refs log tree commit diff
path: root/pkgs/tools
diff options
context:
space:
mode:
authorOrivej Desh <orivej@gmx.fr>2017-11-03 00:00:52 +0000
committerGitHub <noreply@github.com>2017-11-03 00:00:52 +0000
commitc0a0d8b651cac16e0d15c1399bec3644971c83b0 (patch)
treebf2efbca673ad19d22d80e336fd76eaac92d7431 /pkgs/tools
parent00beaf54e4fa34ac3acfa319818c68257937622e (diff)
parent998027a531b0fce8e1be96da7782ff56b4607772 (diff)
downloadnixlib-c0a0d8b651cac16e0d15c1399bec3644971c83b0.tar
nixlib-c0a0d8b651cac16e0d15c1399bec3644971c83b0.tar.gz
nixlib-c0a0d8b651cac16e0d15c1399bec3644971c83b0.tar.bz2
nixlib-c0a0d8b651cac16e0d15c1399bec3644971c83b0.tar.lz
nixlib-c0a0d8b651cac16e0d15c1399bec3644971c83b0.tar.xz
nixlib-c0a0d8b651cac16e0d15c1399bec3644971c83b0.tar.zst
nixlib-c0a0d8b651cac16e0d15c1399bec3644971c83b0.zip
Merge pull request #31108 from benley/openvpn-auth-ldap
openvpn-auth-ldap: init at 2.0.3
Diffstat (limited to 'pkgs/tools')
-rw-r--r--pkgs/tools/networking/openvpn/openvpn-auth-ldap.nix76
1 files changed, 76 insertions, 0 deletions
diff --git a/pkgs/tools/networking/openvpn/openvpn-auth-ldap.nix b/pkgs/tools/networking/openvpn/openvpn-auth-ldap.nix
new file mode 100644
index 000000000000..3d1055be02b8
--- /dev/null
+++ b/pkgs/tools/networking/openvpn/openvpn-auth-ldap.nix
@@ -0,0 +1,76 @@
+{ stdenv, lib, fetchFromGitHub, fetchpatch,
+  autoreconfHook, re2c, openldap, openvpn, gnustep, check
+}:
+
+let
+  srcName = "openvpn-auth-ldap";
+  srcVersion = "2.0.3";
+  debianRev = "6.1";
+
+  fetchPatchFromDebian =
+    {patch, sha256}:
+    fetchpatch {
+      inherit sha256;
+      url = "http://sources.debian.net/data/main/o/${srcName}/${srcVersion}-${debianRev}/debian/patches/${patch}";
+    };
+in
+
+stdenv.mkDerivation rec {
+  name = "${srcName}-${version}";
+  version = "${srcVersion}+deb${debianRev}";
+
+  srcs = fetchFromGitHub {
+    owner = "threerings";
+    repo = srcName;
+    rev = "auth-ldap-${version}";
+    sha256 = "1v635ylzf5x3l3lirf3n6173q1w8g0ssjjkf27qqw98c3iqp63sq";
+  };
+
+  patches = map fetchPatchFromDebian [
+    {patch = "STARTTLS_before_auth.patch";
+     sha256 = "14d2vy366rhzggxb1zb3ld00wmaqxi2gq885vxhlldnwpgig0jx0";}
+    {patch = "gobjc_4.7_runtime.patch";
+     sha256 = "11hpmd4i1cm3m27x8c77d9jrwxpir4cy5d74k2kxq0q77rawnxcm";}
+    {patch = "openvpn_ldap_simpler_add_handler_4";
+     sha256 = "0qj7v2w921489c18mfrs5bmipzn1mcjj9avyp15x4531ss0lyanb";}
+    {patch = "auth-ldap-gnustep.patch";
+     sha256 = "0cz3jgyzgzi2p9bavd4lh69pnlnf4s7n9ihwg6zmmh6vqsynqss3";}
+  ];
+
+  nativeBuildInputs = [
+    autoreconfHook
+  ];
+
+  buildInputs = [
+    check
+    gnustep.base
+    gnustep.libobjc
+    gnustep.make
+    openldap
+    openvpn
+    re2c
+  ];
+
+  configureFlags = [
+    "--with-objc-runtime=modern"
+    "--with-openvpn=${openvpn}/include"
+    "--libdir=$(out)/lib/openvpn"
+  ];
+
+  preInstall = ''
+    mkdir -p $out/lib/openvpn $out/share/doc/openvpn/examples
+    cp README $out/share/doc/openvpn/
+    cp auth-ldap.conf $out/share/doc/openvpn/examples/
+  '';
+
+  meta = with lib; {
+    description = "LDAP authentication plugin for OpenVPN";
+    homepage = https://github.com/threerings/openvpn-auth-ldap;
+    license = [
+      licenses.asl20
+      licenses.bsd3
+    ];
+    maintainers = [ maintainers.benley ];
+    platforms = platforms.unix;
+  };
+}