about summary refs log tree commit diff
path: root/pkgs/development/python-modules/privacyidea/default.nix
diff options
context:
space:
mode:
authorFrederik Rietdijk <fridh@fridh.nl>2020-05-14 09:25:16 +0200
committerFrederik Rietdijk <fridh@fridh.nl>2020-05-14 09:25:25 +0200
commit92a26320e7b9bbfe781e222a17c518443f63316a (patch)
treedb6e4fe7706ec8c065d7efe10e93b38ea1b149ba /pkgs/development/python-modules/privacyidea/default.nix
parent2006fd4fc5a20c72ab2166b2b4039307f4f54bcb (diff)
parent85a05878846b75254f97b8690c18a470cfe982f0 (diff)
downloadnixlib-92a26320e7b9bbfe781e222a17c518443f63316a.tar
nixlib-92a26320e7b9bbfe781e222a17c518443f63316a.tar.gz
nixlib-92a26320e7b9bbfe781e222a17c518443f63316a.tar.bz2
nixlib-92a26320e7b9bbfe781e222a17c518443f63316a.tar.lz
nixlib-92a26320e7b9bbfe781e222a17c518443f63316a.tar.xz
nixlib-92a26320e7b9bbfe781e222a17c518443f63316a.tar.zst
nixlib-92a26320e7b9bbfe781e222a17c518443f63316a.zip
Merge master into staging-next
Diffstat (limited to 'pkgs/development/python-modules/privacyidea/default.nix')
-rw-r--r--pkgs/development/python-modules/privacyidea/default.nix51
1 files changed, 51 insertions, 0 deletions
diff --git a/pkgs/development/python-modules/privacyidea/default.nix b/pkgs/development/python-modules/privacyidea/default.nix
new file mode 100644
index 000000000000..84cc4530b34e
--- /dev/null
+++ b/pkgs/development/python-modules/privacyidea/default.nix
@@ -0,0 +1,51 @@
+{ lib, buildPythonPackage, fetchFromGitHub, cacert, openssl, python
+
+, cryptography, pyrad, pymysql, python-dateutil, flask-versioned, flask_script
+, defusedxml, croniter, flask_migrate, pyjwt, configobj, sqlsoup, pillow
+, python-gnupg, passlib, pyopenssl, beautifulsoup4, smpplib, flask-babel
+, ldap3, huey, pyyaml, qrcode, oauth2client, requests, lxml, cbor2, psycopg2
+
+, mock, pytest, responses, testfixtures
+}:
+
+buildPythonPackage rec {
+  pname = "privacyIDEA";
+  version = "3.3";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "188ki924dig899wlih45xfsm0s7mjkya56vii26bg02h91izrb4b";
+  };
+
+  propagatedBuildInputs = [
+    cryptography pyrad pymysql python-dateutil flask-versioned flask_script
+    defusedxml croniter flask_migrate pyjwt configobj sqlsoup pillow
+    python-gnupg passlib pyopenssl beautifulsoup4 smpplib flask-babel
+    ldap3 huey pyyaml qrcode oauth2client requests lxml cbor2 psycopg2
+  ];
+
+  checkInputs = [ openssl mock pytest responses testfixtures ];
+  # issues with hardware token tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "privacyidea" ];
+
+  postPatch = ''
+    substituteInPlace privacyidea/lib/resolvers/LDAPIdResolver.py --replace \
+      "/etc/privacyidea/ldap-ca.crt" \
+      "${cacert}/etc/ssl/certs/ca-bundle.crt"
+  '';
+
+  postInstall = ''
+    rm -rf $out/${python.sitePackages}/tests
+  '';
+
+  meta = with lib; {
+    description = "Multi factor authentication system (2FA, MFA, OTP Server)";
+    license = licenses.agpl3Plus;
+    homepage = "http://www.privacyidea.org";
+    maintainers = [ maintainers.globin ];
+  };
+}