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
23 build-system = [ setuptools ];
24
25 src = fetchPypi {
26 inherit pname version;
27 hash = "sha256-G+DVRd6o3GwTdFNnJkotIidrxexJZSdgCGXTA4KnJJA=";
28 };
29
30 postPatch = ''
31 export HOME=$(mktemp -d)
32 '';
33
34 dependencies = [
35 pbr
36 python-jenkins
37 pyyaml
38 six
39 stevedore
40 fasteners
41 jinja2
42 ];
43
44 nativeCheckInputs = [
45 pytestCheckHook
46 testtools
47 pytest-mock
48 ];
49
50 passthru.tests = { inherit (nixosTests) jenkins; };
51
52 meta = {
53 description = "Jenkins Job Builder is a system for configuring Jenkins jobs using simple YAML files stored in Git";
54 mainProgram = "jenkins-jobs";
55 homepage = "https://jenkins-job-builder.readthedocs.io/en/latest/";
56 license = lib.licenses.asl20;
57 maintainers = with lib.maintainers; [ bot-wxt1221 ];
58 };
59}