Martin Weinelt ae4a1a485a
treewide: add explicit format attribute for Python packages
If a Python package does not come with either `format` or `pyproject` we
consider it a setuptools build, that calls `setup.py` directly, which is
deprecated.

This change, as a first step, migrates a large chunk of these packages to
set setuptools as their explicit format

This is so we can unify the problem space for the next step of the
migration.
2025-07-02 05:56:47 +02:00

61 lines
1.1 KiB
Nix

{
lib,
buildPythonPackage,
fetchPypi,
fasteners,
jinja2,
pbr,
python-jenkins,
pyyaml,
six,
stevedore,
pytestCheckHook,
setuptools,
testtools,
pytest-mock,
nixosTests,
}:
buildPythonPackage rec {
pname = "jenkins-job-builder";
version = "6.4.2";
format = "setuptools";
build-system = [ setuptools ];
src = fetchPypi {
inherit pname version;
hash = "sha256-G+DVRd6o3GwTdFNnJkotIidrxexJZSdgCGXTA4KnJJA=";
};
postPatch = ''
export HOME=$(mktemp -d)
'';
dependencies = [
pbr
python-jenkins
pyyaml
six
stevedore
fasteners
jinja2
];
nativeCheckInputs = [
pytestCheckHook
testtools
pytest-mock
];
passthru.tests = { inherit (nixosTests) jenkins; };
meta = {
description = "Jenkins Job Builder is a system for configuring Jenkins jobs using simple YAML files stored in Git";
mainProgram = "jenkins-jobs";
homepage = "https://jenkins-job-builder.readthedocs.io/en/latest/";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ bot-wxt1221 ];
};
}