From 9dadd151e8b96a71f79ce16902d99c7cc2da3fb6 Mon Sep 17 00:00:00 2001 From: Kevin Amado Date: Wed, 15 Jan 2020 14:48:33 -0500 Subject: [PATCH] fluidasserts: init at 20.1.22554 --- .../python-modules/fluidasserts/default.nix | 187 ++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + pkgs/top-level/python-packages.nix | 2 + 3 files changed, 191 insertions(+) create mode 100644 pkgs/development/python-modules/fluidasserts/default.nix diff --git a/pkgs/development/python-modules/fluidasserts/default.nix b/pkgs/development/python-modules/fluidasserts/default.nix new file mode 100644 index 00000000000..da0d2d41407 --- /dev/null +++ b/pkgs/development/python-modules/fluidasserts/default.nix @@ -0,0 +1,187 @@ +{ buildPythonPackage +, fetchPypi +, isPy37 +, lib + +# pythonPackages +, aiohttp +, androguard +, azure-identity +, azure-keyvault-keys +, azure-keyvault-secrets +, azure-mgmt-compute +, azure-mgmt-keyvault +, azure-mgmt-network +, azure-mgmt-storage +, azure-mgmt-web +, azure-storage-file +, bandit +, bcrypt +, beautifulsoup4 +, boto3 +, cfn-flip +, cython +, dnspython +, colorama +, configobj +, defusedxml +, GitPython +, google_api_python_client +, kubernetes +, ldap3 +, mixpanel +, mysql-connector +, names +, ntplib +, oyaml +, paramiko +, pillow +, psycopg2 +, pycrypto +, pygments +, pyjks +, pynacl +, pyopenssl +, pypdf2 +, pysmb +, python_magic +, pytz +, requirements-detector +, selenium +, tlslite-ng +, viewstate + +# pythonPackages to test the derivation +, pytest +}: + +buildPythonPackage rec { + pname = "fluidasserts"; + version = "20.1.22554"; + disabled = !isPy37; + + src = fetchPypi { + inherit pname version; + extension = "zip"; + sha256 = "0j7zppwingi9m58z51phy40d69jlskx1vgyz1gj9miqhbjfdymhi"; + }; + + patchPhase = '' + # Version mismatches between current FluidAsserts and Nixpkgs + substituteInPlace ./setup.py \ + --replace 'tlslite-ng==0.8.0-alpha29' 'tlslite-ng==0.7.5' \ + --replace 'boto3==1.10.17' 'boto3==1.10.1' \ + --replace 'cfn-flip==1.2.2' 'cfn-flip==1.1.0.post1' \ + --replace 'azure-mgmt-storage==7.1.0' 'azure-mgmt-storage==7.0.0' \ + + # Functionality that will be not present for the momment + # but that we'll work to add in the future + # Just a minimal portion of fluidasserts use this + substituteInPlace ./setup.py \ + --replace "'azure-storage-file-share==12.0.0'," "" \ + --replace "'pymssql==2.1.4'," "" \ + --replace "'pytesseract==0.3.0'," "" \ + --replace "'pywinrm==0.4.1'," "" \ + + ''; + + propagatedBuildInputs = [ + # pythonPackages + aiohttp + androguard + azure-identity + azure-keyvault-keys + azure-keyvault-secrets + azure-mgmt-compute + azure-mgmt-keyvault + azure-mgmt-network + azure-mgmt-storage + azure-mgmt-web + azure-storage-file + bandit + bcrypt + beautifulsoup4 + boto3 + cfn-flip + cython + dnspython + colorama + configobj + defusedxml + GitPython + google_api_python_client + kubernetes + ldap3 + mixpanel + mysql-connector + names + ntplib + oyaml + paramiko + pillow + psycopg2 + pycrypto + pygments + pyjks + pynacl + pyopenssl + pypdf2 + pysmb + python_magic + pytz + requirements-detector + selenium + tlslite-ng + viewstate + ]; + + checkInputs = [ + pytest + ]; + + checkPhase = '' + # This file launches mock docker containers and servers + # let's remove it to create a custom test environment + rm test/conftest.py + + pytest \ + test/test_cloud_aws_cloudformation_cloudfront.py \ + test/test_cloud_aws_cloudformation_dynamodb.py \ + test/test_cloud_aws_cloudformation_ec2.py \ + test/test_cloud_aws_cloudformation_elb.py \ + test/test_cloud_aws_cloudformation_elb2.py \ + test/test_cloud_aws_cloudformation_fsx.py \ + test/test_cloud_aws_cloudformation_iam.py \ + test/test_cloud_aws_cloudformation_kms.py \ + test/test_cloud_aws_cloudformation_rds.py \ + test/test_cloud_aws_cloudformation_s3.py \ + test/test_cloud_aws_cloudformation_secretsmanager.py \ + test/test_format_apk.py \ + test/test_format_file.py \ + test/test_format_jks.py \ + test/test_format_jwt.py \ + test/test_format_pdf.py \ + test/test_format_pkcs12.py \ + test/test_format_string.py \ + test/test_helper_asynchronous.py \ + test/test_helper_crypto.py \ + test/test_lang_core.py \ + test/test_lang_csharp.py \ + test/test_lang_docker.py \ + test/test_lang_dotnetconfig.py \ + test/test_lang_html.py \ + test/test_lang_php.py \ + test/test_lang_python.py \ + test/test_lang_rpgle.py \ + + ''; + + meta = with lib; { + description = "Assertion Library for Security Assumptions"; + homepage = "https://gitlab.com/fluidattacks/asserts"; + license = licenses.mpl20; + maintainers = with maintainers; [ + kamadorueda + ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7ec1ff7833c..b1dda91735b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3242,6 +3242,8 @@ in stdenv = gccStdenv; }; + fluidasserts = with python37Packages; toPythonApplication fluidasserts; + flux = callPackage ../development/compilers/flux { }; fido2luks = callPackage ../tools/security/fido2luks {}; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 4905d4d8c68..d402e3f07a4 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -674,6 +674,8 @@ in { flufl_lock = callPackage ../development/python-modules/flufl/lock.nix { }; + fluidasserts = callPackage ../development/python-modules/fluidasserts { }; + foxdot = callPackage ../development/python-modules/foxdot { }; fsspec = callPackage ../development/python-modules/fsspec { };