Files
nixpkgs/pkgs/by-name/pm/pmbootstrap/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

91 lines
1.8 KiB
Nix

{
stdenv,
lib,
git,
multipath-tools,
openssl,
ps,
fetchFromGitLab,
sudo,
python3Packages,
gitUpdater,
util-linux,
versionCheckHook,
}:
python3Packages.buildPythonApplication rec {
pname = "pmbootstrap";
version = "3.5.2";
pyproject = true;
src = fetchFromGitLab {
owner = "postmarketOS";
repo = "pmbootstrap";
tag = version;
hash = "sha256-fkzDVMO0huAuJDJIt0dyNGnRD6Go7XZ/YRv/JMtlbss=";
domain = "gitlab.postmarketos.org";
};
pmb_test = "${src}/test";
# Tests depend on sudo
doCheck = stdenv.hostPlatform.isLinux;
build-system = [
python3Packages.setuptools
];
nativeCheckInputs = [
git
multipath-tools
openssl
ps
python3Packages.pytestCheckHook
sudo
util-linux
versionCheckHook
];
# Add test dependency in PATH
preCheck = ''
export PYTHONPATH=$PYTHONPATH:${pmb_test}
'';
# skip impure tests
disabledTests = [
"test_pkgrepo_pmaports"
"test_random_valid_deviceinfos"
]
++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) [
# assert chroot.type == ChrootType.BUILDROOT
# AssertionError: assert <ChrootType.NATIVE: 'native'> == <ChrootType.BUILDROOT: 'buildroot'>
"test_valid_chroots"
];
versionCheckProgramArg = "--version";
makeWrapperArgs = [
"--prefix PATH : ${
lib.makeBinPath [
git
openssl
multipath-tools
util-linux
]
}"
];
passthru.updateScript = gitUpdater { };
meta = {
description = "Sophisticated chroot/build/flash tool to develop and install postmarketOS";
homepage = "https://gitlab.postmarketos.org/postmarketOS/pmbootstrap";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [
onny
lucasew
];
mainProgram = "pmbootstrap";
};
}