2022-01-19 23:45:15 +00:00
|
|
|
{ lib
|
|
|
|
, stdenv
|
|
|
|
, buildPythonPackage
|
|
|
|
, fetchPypi
|
|
|
|
, pythonOlder
|
|
|
|
, colorlog
|
|
|
|
, pyvmomi
|
|
|
|
, requests
|
|
|
|
, verboselogs
|
|
|
|
, pyopenssl
|
|
|
|
, setuptools
|
|
|
|
, mock
|
|
|
|
, pytest-mock
|
|
|
|
, pytestCheckHook
|
|
|
|
, qemu
|
2020-08-20 17:08:02 +00:00
|
|
|
}:
|
|
|
|
|
|
|
|
buildPythonPackage rec {
|
|
|
|
pname = "cot";
|
|
|
|
version = "2.2.1";
|
2022-01-19 23:45:15 +00:00
|
|
|
format = "setuptools";
|
|
|
|
|
|
|
|
disabled = pythonOlder "3.7";
|
2020-08-20 17:08:02 +00:00
|
|
|
|
|
|
|
src = fetchPypi {
|
|
|
|
inherit pname version;
|
2022-01-19 23:45:15 +00:00
|
|
|
hash = "sha256-9LNVNBX5DarGVvidPoLnmz11F5Mjm7FzpoO0zAzrJjU=";
|
2020-08-20 17:08:02 +00:00
|
|
|
};
|
|
|
|
|
2022-01-19 23:45:15 +00:00
|
|
|
propagatedBuildInputs = [
|
|
|
|
colorlog
|
|
|
|
pyvmomi
|
|
|
|
requests
|
|
|
|
verboselogs
|
|
|
|
pyopenssl
|
|
|
|
setuptools
|
|
|
|
];
|
2020-08-20 17:08:02 +00:00
|
|
|
|
2023-02-02 18:25:31 +00:00
|
|
|
nativeCheckInputs = [
|
2022-01-19 23:45:15 +00:00
|
|
|
mock
|
|
|
|
pytestCheckHook
|
|
|
|
pytest-mock
|
|
|
|
qemu
|
|
|
|
];
|
|
|
|
|
|
|
|
prePatch = ''
|
|
|
|
# argparse is part of the standardlib
|
|
|
|
substituteInPlace setup.py \
|
|
|
|
--replace "'argparse'," ""
|
|
|
|
'';
|
2020-08-20 17:08:02 +00:00
|
|
|
|
|
|
|
disabledTests = [
|
2022-01-19 23:45:15 +00:00
|
|
|
# Many tests require network access and/or ovftool (https://code.vmware.com/web/tool/ovf)
|
|
|
|
# try enabling these tests with ovftool once/if it is added to nixpkgs
|
2020-08-20 17:08:02 +00:00
|
|
|
"HelperGenericTest"
|
|
|
|
"TestCOTAddDisk"
|
|
|
|
"TestCOTAddFile"
|
|
|
|
"TestCOTEditHardware"
|
|
|
|
"TestCOTEditProduct"
|
|
|
|
"TestCOTEditProperties"
|
|
|
|
"TestCOTInjectConfig"
|
|
|
|
"TestISO"
|
|
|
|
"TestOVFAPI"
|
|
|
|
"TestQCOW2"
|
|
|
|
"TestRAW"
|
|
|
|
"TestVMDKConversion"
|
2022-01-19 23:45:15 +00:00
|
|
|
# CLI test fails with AssertionError
|
|
|
|
"test_help"
|
2023-02-16 17:41:37 +00:00
|
|
|
# Failing TestCOTDeployESXi tests
|
|
|
|
"test_serial_fixup_stubbed"
|
|
|
|
"test_serial_fixup_stubbed_create"
|
|
|
|
"test_serial_fixup_stubbed_vm_not_found"
|
2021-01-17 00:15:33 +00:00
|
|
|
] ++ lib.optionals stdenv.isDarwin [
|
|
|
|
"test_serial_fixup_invalid_host"
|
2020-08-20 17:08:02 +00:00
|
|
|
];
|
|
|
|
|
2022-01-19 23:45:15 +00:00
|
|
|
pythonImportsCheck = [
|
|
|
|
"COT"
|
|
|
|
];
|
2020-08-20 17:08:02 +00:00
|
|
|
|
2021-01-15 22:18:51 +00:00
|
|
|
meta = with lib; {
|
2020-08-20 17:08:02 +00:00
|
|
|
description = "Common OVF Tool";
|
2024-04-21 15:54:59 +00:00
|
|
|
mainProgram = "cot";
|
2020-08-20 17:08:02 +00:00
|
|
|
longDescription = ''
|
|
|
|
COT (the Common OVF Tool) is a tool for editing Open Virtualization Format (.ovf, .ova) virtual appliances,
|
|
|
|
with a focus on virtualized network appliances such as the Cisco CSR 1000V and Cisco IOS XRv platforms.
|
|
|
|
'';
|
|
|
|
homepage = "https://github.com/glennmatthews/cot";
|
|
|
|
license = licenses.mit;
|
|
|
|
maintainers = with maintainers; [ evanjs ];
|
|
|
|
};
|
|
|
|
}
|