Files
nixpkgs/pkgs/by-name/bu/buildstream/package.nix
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

142 lines
3.4 KiB
Nix

{
lib,
python3Packages,
fetchFromGitHub,
fetchpatch,
# buildInputs
buildbox,
fuse3,
lzip,
patch,
# tests
addBinToPathHook,
gitMinimal,
versionCheckHook,
# Optional features
enableBuildstreamPlugins ? true,
}:
python3Packages.buildPythonApplication rec {
pname = "buildstream";
version = "2.5.0";
pyproject = true;
src = fetchFromGitHub {
owner = "apache";
repo = "buildstream";
tag = version;
hash = "sha256-/kGmAHx10//iVeqLXwcIWNI9FGIi0LlNJW+s6v0yU3Q=";
};
# FIXME: To be removed in v2.6.0 of Buildstream.
patches = [
(fetchpatch {
url = "https://github.com/apache/buildstream/commit/9c4378ab2ec71b6b79ef90ee4bd950dd709a0310.patch?full_index=1";
hash = "sha256-po3Dn7gCv7o7h3k8qhmoH/b6Vv6ikKO/pkA20RvdU1g=";
})
(fetchpatch {
url = "https://github.com/apache/buildstream/commit/456a464b2581c52cad2b0b48596f5c19ad1db23f.patch?full_index=1";
hash = "sha256-0oFENx4AUhd1uJxRzbKzO5acGDosCc4vFJaSJ6urvhk=";
})
];
build-system = with python3Packages; [
cython
pdm-pep517
setuptools
setuptools-scm
];
dependencies = [
buildbox
]
++ (with python3Packages; [
click
dulwich
grpcio
jinja2
markupsafe
packaging
pluginbase
protobuf
psutil
pyroaring
requests
ruamel-yaml
ruamel-yaml-clib
tomlkit
ujson
])
++ lib.optionals enableBuildstreamPlugins [
python3Packages.buildstream-plugins
];
buildInputs = [
fuse3
lzip
patch
];
pythonImportsCheck = [ "buildstream" ];
nativeCheckInputs = [
addBinToPathHook
buildbox
gitMinimal
python3Packages.pexpect
python3Packages.pyftpdlib
python3Packages.pytest-datafiles
python3Packages.pytest-env
python3Packages.pytest-timeout
python3Packages.pytest-xdist
python3Packages.pytestCheckHook
versionCheckHook
];
disabledTests = [
# ValueError: Unexpected comparison between all and ''
"test_help"
# Error loading project: project.conf [line 37 column 2]: Failed to load source-mirror plugin 'mirror': No package metadata was found for sample-plugins
"test_source_mirror_plugin"
# AssertionError: assert '1a5528cad211...0bbe5ee314c14' == '2ccfee62a657...52dbc47203a88'
"test_fixed_cas_import"
"test_random_cas_import"
# Runtime error: The FUSE stager child process unexpectedly died with exit code 2
"test_patch_sources_cached_1"
"test_patch_sources_cached_2"
"test_source_cache_key"
"test_custom_transform_source"
# Blob not found in the local CAS
"test_source_pull_partial_fallback_fetch"
# FAILED tests/sources/tar.py::test_out_of_basedir_hardlinks - AssertionError
# FIXME: To be removed in v2.6.0 of Buildstream.
"test_out_of_basedir_hardlinks"
];
disabledTestPaths = [
# FileNotFoundError: [Errno 2] No such file or directory: '/build/source/tmp/popen-gw1/test_report_when_cascache_exit0/buildbox-casd'
"tests/internals/cascache.py"
];
versionCheckProgram = "${placeholder "out"}/bin/bst";
versionCheckProgramArg = "--version";
meta = {
description = "Powerful software integration tool";
downloadPage = "https://buildstream.build/install.html";
homepage = "https://buildstream.build";
license = lib.licenses.asl20;
platforms = lib.platforms.linux;
mainProgram = "bst";
maintainers = with lib.maintainers; [ shymega ];
};
}