2022-11-02 22:02:43 +00:00
|
|
|
{ lib
|
|
|
|
, fetchFromGitHub
|
|
|
|
, buildPythonPackage
|
|
|
|
, pythonOlder
|
|
|
|
, cryptography
|
|
|
|
, jinja2
|
2023-03-15 16:39:30 +00:00
|
|
|
, mako
|
2022-11-02 22:02:43 +00:00
|
|
|
, passlib
|
|
|
|
, pytest
|
|
|
|
, pyyaml
|
|
|
|
, requests
|
|
|
|
, rtoml
|
|
|
|
, setuptools
|
|
|
|
, tomlkit
|
|
|
|
, librouteros
|
|
|
|
, pytestCheckHook
|
|
|
|
}:
|
|
|
|
|
|
|
|
buildPythonPackage rec {
|
|
|
|
pname = "bundlewrap";
|
2023-05-24 13:37:59 +00:00
|
|
|
version = "4.17.2";
|
2023-03-15 16:39:30 +00:00
|
|
|
format = "setuptools";
|
2022-11-02 22:02:43 +00:00
|
|
|
|
|
|
|
disabled = pythonOlder "3.7";
|
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "bundlewrap";
|
|
|
|
repo = "bundlewrap";
|
2023-03-15 16:39:30 +00:00
|
|
|
rev = "refs/tags/${version}";
|
2023-05-24 13:37:59 +00:00
|
|
|
hash = "sha256-0yg8+OflTF3pNYz2TPNUW8ubTZjrEgtihV/21PpJUlM=";
|
2022-11-02 22:02:43 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
nativeBuildInputs = [ setuptools ];
|
|
|
|
propagatedBuildInputs = [
|
2023-03-15 16:39:30 +00:00
|
|
|
setuptools cryptography jinja2 mako passlib pyyaml requests tomlkit librouteros
|
2022-12-17 10:02:37 +00:00
|
|
|
] ++ lib.optionals (pythonOlder "3.11") [ rtoml ];
|
2022-11-02 22:02:43 +00:00
|
|
|
|
|
|
|
pythonImportsCheck = [ "bundlewrap" ];
|
|
|
|
|
2023-02-02 18:25:31 +00:00
|
|
|
nativeCheckInputs = [ pytestCheckHook ];
|
2022-11-02 22:02:43 +00:00
|
|
|
|
|
|
|
pytestFlagsArray = [
|
|
|
|
# only unit tests as integration tests need a OpenSSH client/server setup
|
|
|
|
"tests/unit"
|
|
|
|
];
|
|
|
|
|
|
|
|
meta = with lib; {
|
|
|
|
homepage = "https://bundlewrap.org/";
|
|
|
|
description = "Easy, Concise and Decentralized Config management with Python";
|
|
|
|
license = [ licenses.gpl3 ] ;
|
|
|
|
maintainers = with maintainers; [ wamserma ];
|
|
|
|
};
|
|
|
|
}
|