2024-09-19 14:19:46 +00:00
|
|
|
{
|
|
|
|
lib,
|
|
|
|
fetchgit,
|
|
|
|
unstableGitUpdater,
|
|
|
|
stdenv,
|
|
|
|
doxygen,
|
|
|
|
graphviz,
|
|
|
|
python3Packages,
|
|
|
|
}:
|
|
|
|
|
|
|
|
stdenv.mkDerivation {
|
|
|
|
pname = "xtf";
|
2024-09-26 11:04:55 +00:00
|
|
|
version = "0-unstable-2024-09-13";
|
2024-09-19 14:19:46 +00:00
|
|
|
|
|
|
|
outputs = [
|
|
|
|
"out" # xtf-runner and test suite.
|
|
|
|
"doc" # Autogenerated HTML documentation website.
|
|
|
|
"dev" # Development headers.
|
|
|
|
];
|
|
|
|
|
|
|
|
src = fetchgit {
|
|
|
|
url = "https://xenbits.xenproject.org/git-http/xtf.git";
|
2024-09-26 11:04:55 +00:00
|
|
|
rev = "c9a5e404e70c21c7621db4b8cabdf68261db7e1c";
|
|
|
|
hash = "sha256-FMFbAdgH5KCpocAzUXb7nM3wpn4xs/gk/0M8AUVxXv0=";
|
2024-09-19 14:19:46 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
nativeBuildInputs =
|
|
|
|
(with python3Packages; [
|
|
|
|
python
|
|
|
|
wrapPython
|
|
|
|
])
|
|
|
|
++ [
|
|
|
|
doxygen
|
|
|
|
graphviz
|
|
|
|
];
|
|
|
|
|
|
|
|
buildFlags = [ "doxygen" ];
|
|
|
|
|
|
|
|
installFlags = [
|
|
|
|
"xtfdir=$(out)/share/xtf"
|
|
|
|
];
|
|
|
|
|
|
|
|
postInstall =
|
|
|
|
# Much like Xen, XTF installs its files to dist/nix/store/*/*,
|
|
|
|
# so we need to copy them to the right place.
|
|
|
|
''
|
|
|
|
mkdir -p ''${!outputBin}/share
|
|
|
|
cp -prvd dist/nix/store/*/* ''${!outputBin}
|
|
|
|
''
|
|
|
|
# The documentation and development headers aren't in the dist/
|
|
|
|
# folder, so we copy those too.
|
|
|
|
+ ''
|
|
|
|
mkdir -p ''${!outputDoc}/share/doc/xtf
|
|
|
|
cp -prvd docs/autogenerated/html ''${!outputDoc}/share/doc/xtf
|
|
|
|
|
|
|
|
mkdir -p ''${!outputDev}/include
|
|
|
|
cp -prvd include ''${!outputDev}
|
|
|
|
''
|
|
|
|
# Wrap xtf-runner, and link it to $out/bin.
|
|
|
|
# This is necessary because the real xtf-runner should
|
|
|
|
# be in the same directory as the tests/ directory.
|
|
|
|
+ ''
|
|
|
|
wrapPythonProgramsIn "''${!outputBin}/share/xtf" "''${!outputBin} $pythonPath"
|
|
|
|
mkdir -p ''${!outputBin}/bin
|
|
|
|
ln -s ''${!outputBin}/share/xtf/xtf-runner ''${!outputBin}/bin/xtf-runner
|
|
|
|
'';
|
|
|
|
|
|
|
|
passthru.updateScript = unstableGitUpdater { };
|
|
|
|
|
|
|
|
meta = {
|
|
|
|
description = "Xen Test Framework and Suite for creating microkernel-based tests";
|
|
|
|
homepage = "https://xenbits.xenproject.org/docs/xtf/index.html";
|
|
|
|
license = lib.licenses.bsd2;
|
2024-10-04 16:56:33 +00:00
|
|
|
maintainers = lib.teams.xen.members;
|
2024-09-19 14:19:46 +00:00
|
|
|
mainProgram = "xtf-runner";
|
|
|
|
platforms = lib.lists.intersectLists lib.platforms.linux lib.platforms.x86_64;
|
|
|
|
};
|
|
|
|
}
|