ff1a94e523
The nixpkgs-unstable channel's programs.sqlite was used to identify packages producing exactly one binary, and these automatically added to their package definitions wherever possible.
93 lines
2.0 KiB
Nix
93 lines
2.0 KiB
Nix
{ lib
|
|
, stdenv
|
|
, buildPythonPackage
|
|
, fetchPypi
|
|
, pythonOlder
|
|
, colorlog
|
|
, pyvmomi
|
|
, requests
|
|
, verboselogs
|
|
, pyopenssl
|
|
, setuptools
|
|
, mock
|
|
, pytest-mock
|
|
, pytestCheckHook
|
|
, qemu
|
|
}:
|
|
|
|
buildPythonPackage rec {
|
|
pname = "cot";
|
|
version = "2.2.1";
|
|
format = "setuptools";
|
|
|
|
disabled = pythonOlder "3.7";
|
|
|
|
src = fetchPypi {
|
|
inherit pname version;
|
|
hash = "sha256-9LNVNBX5DarGVvidPoLnmz11F5Mjm7FzpoO0zAzrJjU=";
|
|
};
|
|
|
|
propagatedBuildInputs = [
|
|
colorlog
|
|
pyvmomi
|
|
requests
|
|
verboselogs
|
|
pyopenssl
|
|
setuptools
|
|
];
|
|
|
|
nativeCheckInputs = [
|
|
mock
|
|
pytestCheckHook
|
|
pytest-mock
|
|
qemu
|
|
];
|
|
|
|
prePatch = ''
|
|
# argparse is part of the standardlib
|
|
substituteInPlace setup.py \
|
|
--replace "'argparse'," ""
|
|
'';
|
|
|
|
disabledTests = [
|
|
# 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
|
|
"HelperGenericTest"
|
|
"TestCOTAddDisk"
|
|
"TestCOTAddFile"
|
|
"TestCOTEditHardware"
|
|
"TestCOTEditProduct"
|
|
"TestCOTEditProperties"
|
|
"TestCOTInjectConfig"
|
|
"TestISO"
|
|
"TestOVFAPI"
|
|
"TestQCOW2"
|
|
"TestRAW"
|
|
"TestVMDKConversion"
|
|
# CLI test fails with AssertionError
|
|
"test_help"
|
|
# Failing TestCOTDeployESXi tests
|
|
"test_serial_fixup_stubbed"
|
|
"test_serial_fixup_stubbed_create"
|
|
"test_serial_fixup_stubbed_vm_not_found"
|
|
] ++ lib.optionals stdenv.isDarwin [
|
|
"test_serial_fixup_invalid_host"
|
|
];
|
|
|
|
pythonImportsCheck = [
|
|
"COT"
|
|
];
|
|
|
|
meta = with lib; {
|
|
description = "Common OVF Tool";
|
|
mainProgram = "cot";
|
|
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 ];
|
|
};
|
|
}
|