1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 fasteners,
6 jinja2,
7 pbr,
8 python-jenkins,
9 pyyaml,
10 six,
11 stevedore,
12 pytestCheckHook,
13 setuptools,
14 testtools,
15 pytest-mock,
16 nixosTests,
17}:
18
19buildPythonPackage rec {
20 pname = "jenkins-job-builder";
21 version = "6.4.2";
22 format = "setuptools";
23
24 build-system = [ setuptools ];
25
26 src = fetchPypi {
27 inherit pname version;
28 hash = "sha256-G+DVRd6o3GwTdFNnJkotIidrxexJZSdgCGXTA4KnJJA=";
29 };
30
31 postPatch = ''
32 export HOME=$(mktemp -d)
33 '';
34
35 dependencies = [
36 pbr
37 python-jenkins
38 pyyaml
39 six
40 stevedore
41 fasteners
42 jinja2
43 ];
44
45 nativeCheckInputs = [
46 pytestCheckHook
47 testtools
48 pytest-mock
49 ];
50
51 passthru.tests = { inherit (nixosTests) jenkins; };
52
53 meta = {
54 description = "Jenkins Job Builder is a system for configuring Jenkins jobs using simple YAML files stored in Git";
55 mainProgram = "jenkins-jobs";
56 homepage = "https://jenkins-job-builder.readthedocs.io/en/latest/";
57 license = lib.licenses.asl20;
58 maintainers = with lib.maintainers; [ bot-wxt1221 ];
59 };
60}