diff options
author | Sandro <sandro.jaeckel@gmail.com> | 2021-06-22 18:26:45 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-22 18:26:45 +0200 |
commit | bb8c2116dd2d03775c96e0695bfbace7074308b4 (patch) | |
tree | 40a669922b0b59951f14a1f9b7b5cae227d11b9d /pkgs/applications | |
parent | c601d56e19dd2ed71b23d8aa76be8437d043d4c5 (diff) | |
parent | 5aad4e73b6c1152f381865ae138c4f5c883a4e75 (diff) | |
download | nixpkgs-bb8c2116dd2d03775c96e0695bfbace7074308b4.tar nixpkgs-bb8c2116dd2d03775c96e0695bfbace7074308b4.tar.gz nixpkgs-bb8c2116dd2d03775c96e0695bfbace7074308b4.tar.bz2 nixpkgs-bb8c2116dd2d03775c96e0695bfbace7074308b4.tar.lz nixpkgs-bb8c2116dd2d03775c96e0695bfbace7074308b4.tar.xz nixpkgs-bb8c2116dd2d03775c96e0695bfbace7074308b4.tar.zst nixpkgs-bb8c2116dd2d03775c96e0695bfbace7074308b4.zip |
Merge pull request #127599 from Ma27/bump-privacyidea
Diffstat (limited to 'pkgs/applications')
-rw-r--r-- | pkgs/applications/misc/privacyidea/default.nix | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/pkgs/applications/misc/privacyidea/default.nix b/pkgs/applications/misc/privacyidea/default.nix new file mode 100644 index 00000000000..7545253d506 --- /dev/null +++ b/pkgs/applications/misc/privacyidea/default.nix @@ -0,0 +1,73 @@ +{ lib, fetchFromGitHub, cacert, openssl, nixosTests +, python3 +}: + +let + python3' = python3.override { + packageOverrides = self: super: { + sqlalchemy = super.sqlalchemy.overridePythonAttrs (oldAttrs: rec { + version = "1.3.24"; + src = oldAttrs.src.override { + inherit version; + sha256 = "ebbb777cbf9312359b897bf81ba00dae0f5cb69fba2a18265dcc18a6f5ef7519"; + }; + }); + }; + }; +in +python3'.pkgs.buildPythonPackage rec { + pname = "privacyIDEA"; + version = "3.6"; + + src = fetchFromGitHub { + owner = pname; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-yywkQ3TdBzRMbJGY0Seaprztgt0JrCAbgqosMQ5fcQM="; + fetchSubmodules = true; + }; + + propagatedBuildInputs = with python3'.pkgs; [ + cryptography pyrad pymysql python-dateutil flask-versioned flask_script + defusedxml croniter flask_migrate pyjwt1 configobj sqlsoup pillow + python-gnupg passlib pyopenssl beautifulsoup4 smpplib flask-babel + ldap3 huey pyyaml qrcode oauth2client requests lxml cbor2 psycopg2 + pydash ecdsa google-auth importlib-metadata + ]; + + passthru.tests = { inherit (nixosTests) privacyidea; }; + + checkInputs = with python3'.pkgs; [ openssl mock pytestCheckHook responses testfixtures ]; + disabledTests = [ + "AESHardwareSecurityModuleTestCase" + "test_01_cert_request" + "test_01_loading_scripts" + "test_02_api_push_poll" + "test_02_cert_enrolled" + "test_02_enroll_rights" + "test_02_get_resolvers" + "test_02_success" + "test_03_get_identifiers" + "test_04_remote_user_auth" + "test_14_convert_timestamp_to_utc" + ]; + + pythonImportsCheck = [ "privacyidea" ]; + + postPatch = '' + substituteInPlace privacyidea/lib/resolvers/LDAPIdResolver.py --replace \ + "/etc/privacyidea/ldap-ca.crt" \ + "${cacert}/etc/ssl/certs/ca-bundle.crt" + ''; + + postInstall = '' + rm -r $out/${python3'.sitePackages}/tests + ''; + + meta = with lib; { + description = "Multi factor authentication system (2FA, MFA, OTP Server)"; + license = licenses.agpl3Plus; + homepage = "http://www.privacyidea.org"; + maintainers = with maintainers; [ globin ma27 ]; + }; +} |