Merge pull request #156609 from fabaff/cfripper

cfripper: init at 1.3.1
This commit is contained in:
Fabian Affolter 2022-01-28 23:26:46 +01:00 committed by GitHub
commit 8355744c7a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 162 additions and 31 deletions

View File

@ -1,25 +1,25 @@
{ buildPythonPackage
, fetchFromGitHub
, lib
# pythonPackages
{ lib
, buildPythonPackage
, click
, pytest
, pytest-cov
, pytest-runner
, fetchFromGitHub
, pytestCheckHook
, pythonOlder
, pyyaml
, six
}:
buildPythonPackage rec {
pname = "cfn-flip";
version = "1.2.2";
version = "1.3.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "awslabs";
repo = "aws-cfn-template-flip";
rev = version;
sha256 = "05fk725a1i3zl3idik2hxl3w6k1ln0j33j3jdq1gvy1sfyc79ifm";
hash = "sha256-1cV0mHc6+P0CbnLIMSSwNEzDB+1QzNjioH/EoIo40xU=";
};
propagatedBuildInputs = [
@ -29,27 +29,27 @@ buildPythonPackage rec {
];
checkInputs = [
pytest
pytest-cov
pytest-runner
pytestCheckHook
];
checkPhase = ''
py.test \
--cov=cfn_clean \
--cov=cfn_flip \
--cov=cfn_tools \
--cov-report term-missing \
--cov-report html
postPatch = ''
sed -i "/--cov/d" tox.ini
'';
disabledTests = [
# TypeError: load() missing 1 required positional argument: 'Loader'
"test_flip_to_yaml_with_longhand_functions"
"test_yaml_no_ordered_dict"
];
pythonImportsCheck = [
"cfn_flip"
];
meta = with lib; {
description = "Tool for converting AWS CloudFormation templates between JSON and YAML formats";
homepage = "https://github.com/awslabs/aws-cfn-template-flip";
license = licenses.asl20;
maintainers = with maintainers; [
kamadorueda
psyanticy
];
maintainers = with maintainers; [ kamadorueda psyanticy ];
};
}

View File

@ -0,0 +1,48 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, httpx
, pydantic
, pytestCheckHook
, pythonOlder
}:
buildPythonPackage rec {
pname = "pycfmodel";
version = "0.13.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "Skyscanner";
repo = pname;
rev = version;
hash = "sha256-BlnLf0C/wxPXhoAH0SRB22eGWbbZ05L20rNy6qfOI+A=";
};
propagatedBuildInputs = [
pydantic
];
checkInputs = [
httpx
pytestCheckHook
];
disabledTests = [
# Test require network access
"test_cloudformation_actions"
];
pythonImportsCheck = [
"pycfmodel"
];
meta = with lib; {
description = "Model for Cloud Formation scripts";
homepage = "https://github.com/Skyscanner/pycfmodel";
license = licenses.asl20;
maintainers = with maintainers; [ fab ];
};
}

View File

@ -1,23 +1,46 @@
{ lib, buildPythonPackage, fetchFromGitHub, mock, pytestCheckHook, invoke }:
{ lib
, buildPythonPackage
, fetchFromGitHub
, invoke
, mock
, pytestCheckHook
, pythonOlder
, sphinx_rtd_theme
}:
buildPythonPackage rec {
pname = "pydash";
version = "4.9.3";
version = "5.1.0";
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "dgilland";
repo = pname;
rev = "v${version}";
sha256 = "sha256-BAyiSnILvujUOFOAkiXSgyozs2Q809pYihHwa+6BHcQ=";
hash = "sha256-BAyiSnILvujUOFOAkiXSgyozs2Q809pYihHwa+6BHcQ=";
};
patches = [ ./0001-Only-build-unit-tests.patch ];
checkInputs = [
invoke
mock
sphinx_rtd_theme
pytestCheckHook
];
checkInputs = [ mock pytestCheckHook invoke ];
postPatch = ''
sed -i "/--cov/d" setup.cfg
sed -i "/--no-cov/d" setup.cfg
'';
pythonImportsCheck = [
"pydash"
];
meta = with lib; {
homepage = "https://github.com/dgilland/pydash";
description = "The kitchen sink of Python utility libraries for doing \"stuff\" in a functional way. Based on the Lo-Dash Javascript library.";
description = "Python utility libraries for doing stuff in a functional way";
homepage = "https://pydash.readthedocs.io";
license = licenses.mit;
maintainers = with maintainers; [ ma27 ];
};

View File

@ -0,0 +1,56 @@
{ lib
, fetchFromGitHub
, python3
}:
python3.pkgs.buildPythonApplication rec {
pname = "cfripper";
version = "1.3.1";
src = fetchFromGitHub {
owner = "Skyscanner";
repo = pname;
rev = version;
hash = "sha256-BWdXSHIicMa3PgGoF4GGAOh2LAJWt+7svMLFGhWIkn0=";
};
propagatedBuildInputs = with python3.pkgs; [
boto3
cfn-flip
click
pluggy
pycfmodel
pydash
pyyaml
setuptools
];
checkInputs = with python3.pkgs; [
moto
pytestCheckHook
];
postPatch = ''
substituteInPlace setup.py \
--replace "click~=7.1.1" "click" \
--replace "pluggy~=0.13.1" "pluggy" \
--replace "pydash~=4.7.6" "pydash"
'';
disabledTestPaths = [
# Tests are failing
"tests/test_boto3_client.py"
"tests/config/test_pluggy.py"
];
pythonImportsCheck = [
"cfripper"
];
meta = with lib; {
description = "Tool for analysing CloudFormation templates";
homepage = "https://github.com/Skyscanner/cfripper";
license = with licenses; [ asl20 ];
maintainers = with maintainers; [ fab ];
};
}

View File

@ -14450,6 +14450,8 @@ with pkgs;
cfr = callPackage ../development/tools/java/cfr { };
cfripper = callPackage ../tools/security/cfripper { };
checkra1n = callPackage ../development/mobile/checkra1n { };
checkstyle = callPackage ../development/tools/analysis/checkstyle { };

View File

@ -6588,6 +6588,8 @@ in {
inherit (pkgs) graphviz;
};
pycfmodel = callPackage ../development/python-modules/pycfmodel { };
pychannels = callPackage ../development/python-modules/pychannels { };
pychart = callPackage ../development/python-modules/pychart { };