depot/third_party/nixpkgs/pkgs/development/python-modules/qemu/default.nix
Default email fa5436e0a7 Project import generated by Copybara.
GitOrigin-RevId: e8057b67ebf307f01bdcc8fba94d94f75039d1f6
2024-06-05 17:53:02 +02:00

74 lines
1.5 KiB
Nix

{
lib,
buildPythonPackage,
pythonOlder,
qemu,
setuptools,
fuseSupport ? false,
fusepy,
tuiSupport ? false,
urwid,
urwid-readline,
pygments,
}:
buildPythonPackage {
pname = "qemu";
version = "0.6.1.0a1";
pyproject = true;
disabled = pythonOlder "3.6";
src = qemu.src;
prePatch = ''
cd python
'';
# ensure the version matches qemu-xxx/python/VERSION
preConfigure = ''
if [ "$version" != "$(cat ./VERSION)" ]; then
echo "The nix package version attribute is not in sync with the QEMU source version" > /dev/stderr
echo "Please update the version attribute in the nix expression of python3Packages.qemu to '$version'" > /dev/stderr
exit 1
fi
'';
buildInputs = [ setuptools ];
propagatedBuildInputs =
[ ]
++ lib.optionals fuseSupport [ fusepy ]
++ lib.optionals tuiSupport [
urwid
urwid-readline
pygments
];
# Project requires avocado-framework for testing, therefore replacing check phase
checkPhase = ''
for bin in $out/bin/*; do
$bin --help
done
'';
pythonImportsCheck = [ "qemu" ];
preFixup =
(lib.optionalString (!tuiSupport) ''
rm $out/bin/qmp-tui
'')
+ (lib.optionalString (!fuseSupport) ''
rm $out/bin/qom-fuse
'');
meta = with lib; {
homepage = "http://www.qemu.org/";
description = "Python tooling used by the QEMU project to build, configure, and test QEMU";
license = licenses.gpl2Plus;
maintainers = with maintainers; [
devplayer0
davhau
];
};
}