python312Packages.cement: 3.0.10 -> 3.0.12 (#356440)

This commit is contained in:
kirillrdy 2024-12-07 19:27:48 +11:00 committed by GitHub
commit e7fce9e437
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 97 additions and 45 deletions

View File

@ -2,34 +2,31 @@
lib,
python3,
fetchFromGitHub,
fetchPypi,
git,
}:
let
changeVersion =
overrideFunc: version: hash:
overrideFunc (oldAttrs: rec {
inherit version;
src = oldAttrs.src.override {
inherit version hash;
};
});
localPython = python3.override {
self = localPython;
python = python3.override {
packageOverrides = self: super: {
cement =
changeVersion super.cement.overridePythonAttrs "2.10.14"
"sha256-NC4n21SmYW3RiS7QuzWXoifO4z3C2FVgQm3xf8qQcFg=";
cement = super.cement.overridePythonAttrs (old: rec {
pname = "cement";
version = "2.10.14";
src = fetchPypi {
inherit pname version;
hash = "sha256-NC4n21SmYW3RiS7QuzWXoifO4z3C2FVgQm3xf8qQcFg=";
};
build-system = old.build-system or [ ] ++ (with python.pkgs; [ setuptools ]);
doCheck = false;
});
};
};
in
localPython.pkgs.buildPythonApplication rec {
python.pkgs.buildPythonApplication rec {
pname = "awsebcli";
version = "3.21";
format = "setuptools";
pyproject = true;
src = fetchFromGitHub {
owner = "aws";
@ -38,12 +35,23 @@ localPython.pkgs.buildPythonApplication rec {
hash = "sha256-VU8bXvS4m4eIamjlgGmHE2qwDXWAXvWTa0QHomXR5ZE=";
};
pythonRelaxDeps = [
"botocore"
"colorama"
"pathspec"
"PyYAML"
"six"
"termcolor"
"urllib3"
];
postPatch = ''
# https://github.com/aws/aws-elastic-beanstalk-cli/pull/469
substituteInPlace setup.py --replace-fail "scripts=['bin/eb']," ""
substituteInPlace setup.py \
--replace-fail "scripts=['bin/eb']," ""
'';
propagatedBuildInputs = with localPython.pkgs; [
dependencies = with python.pkgs; [
blessed
botocore
cement
@ -59,20 +67,11 @@ localPython.pkgs.buildPythonApplication rec {
websocket-client
];
pythonRelaxDeps = [
"botocore"
"colorama"
"pathspec"
"PyYAML"
"six"
"termcolor"
];
nativeCheckInputs = with localPython.pkgs; [
pytestCheckHook
pytest-socket
mock
nativeCheckInputs = with python.pkgs; [
git
mock
pytest-socket
pytestCheckHook
];
pytestFlagsArray = [
@ -92,11 +91,11 @@ localPython.pkgs.buildPythonApplication rec {
];
meta = with lib; {
homepage = "https://aws.amazon.com/elasticbeanstalk/";
description = "Command line interface for Elastic Beanstalk";
homepage = "https://aws.amazon.com/elasticbeanstalk/";
changelog = "https://github.com/aws/aws-elastic-beanstalk-cli/blob/${version}/CHANGES.rst";
maintainers = with maintainers; [ kirillrdy ];
license = licenses.asl20;
maintainers = with maintainers; [ kirillrdy ];
mainProgram = "eb";
};
}

View File

@ -1,33 +1,86 @@
{
lib,
stdenv,
buildPythonPackage,
fetchPypi,
colorlog,
fetchFromGitHub,
jinja2,
mock,
pdm-backend,
pylibmc,
pystache,
pytest-cov-stub,
pytestCheckHook,
pythonOlder,
pyyaml,
redis,
requests,
tabulate,
watchdog,
}:
buildPythonPackage rec {
pname = "cement";
version = "3.0.10";
format = "setuptools";
version = "3.0.12";
pyproject = true;
disabled = pythonOlder "3.5";
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
hash = "sha256-c9EBXr+bjfE+a8mH7fDUvj8ci0Q4kh7qjWbLtVBK7hU=";
src = fetchFromGitHub {
owner = "datafolklabs";
repo = "cement";
rev = "refs/tags/${version}";
hash = "sha256-weBqmNEjeSh5YQfHK48VVFW3UbZQmV4MiIQ3UPQKTTI=";
};
# Disable test tests since they depend on a memcached server running on
# 127.0.0.1:11211.
doCheck = false;
build-system = [ pdm-backend ];
optional-dependencies = {
colorlog = [ colorlog ];
jinja2 = [ jinja2 ];
mustache = [ pystache ];
generate = [ pyyaml ];
redis = [ redis ];
memcached = [ pylibmc ];
tabulate = [ tabulate ];
watchdog = [ watchdog ];
yaml = [ pyyaml ];
cli = [
jinja2
pyyaml
];
};
nativeCheckInputs = [
mock
pytest-cov-stub
pytestCheckHook
requests
] ++ lib.flatten (builtins.attrValues optional-dependencies);
pythonImportsCheck = [ "cement" ];
# Tests are failing on Darwin
doCheck = !stdenv.hostPlatform.isDarwin;
disabledTests = [
# Test only works with the source from PyPI
"test_get_version"
];
disabledTestPaths = [
# Tests require network access
"tests/ext/test_ext_memcached.py"
"tests/ext/test_ext_redis.py"
"tests/ext/test_ext_smtp.py"
];
meta = with lib; {
description = "CLI Application Framework for Python";
mainProgram = "cement";
homepage = "https://builtoncement.com/";
changelog = "https://github.com/datafolklabs/cement/blob/${version}/CHANGELOG.md";
license = licenses.bsd3;
maintainers = with maintainers; [ eqyiel ];
mainProgram = "cement";
};
}