about summary refs log tree commit diff
diff options
context:
space:
mode:
authorWeijia Wang2024-11-15 15:32:48 +0100
committerGitHub2024-11-15 15:32:48 +0100
commite7ca9e1635f4c3097c730cd98cbb1f9c748a74e0 (patch)
tree6910801632b4dc36fbaeaaee91574e0ad9670b27
parent3c72477b3e344966c01fa177e187b683d6f2021d (diff)
parentaae6b971d686ff2a32cad9c27b35d5f7f0e5a46e (diff)
python3Packages.jenkins-job-builder: fix build (#355878)
-rw-r--r--pkgs/development/python-modules/jenkins-job-builder/default.nix30
1 files changed, 23 insertions, 7 deletions
diff --git a/pkgs/development/python-modules/jenkins-job-builder/default.nix b/pkgs/development/python-modules/jenkins-job-builder/default.nix
index a1ac389acdee..479abaffd66f 100644
--- a/pkgs/development/python-modules/jenkins-job-builder/default.nix
+++ b/pkgs/development/python-modules/jenkins-job-builder/default.nix
@@ -9,23 +9,36 @@
   pyyaml,
   six,
   stevedore,
+  pytestCheckHook,
+  setuptools,
+  fetchpatch,
+  testtools,
+  pytest-mock,
 }:
 
 buildPythonPackage rec {
   pname = "jenkins-job-builder";
   version = "6.4.1";
-  format = "setuptools";
+
+  build-system = [ setuptools ];
 
   src = fetchPypi {
     inherit pname version;
     hash = "sha256-Re7rNAcm0cpSx1tmSzTjfDlW7y236lzFKFjVw0uUTmw=";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://opendev.org/jjb/jenkins-job-builder/commit/7bf0dacd80d6da7b8562db05f9187140e42947c8.patch";
+      hash = "sha256-2z7axGgVV5Z7A11JiQhlrjjXDKYe+X6NrJEuXd986Do=";
+    })
+  ];
+
   postPatch = ''
     export HOME=$(mktemp -d)
   '';
 
-  propagatedBuildInputs = [
+  dependencies = [
     pbr
     python-jenkins
     pyyaml
@@ -35,14 +48,17 @@ buildPythonPackage rec {
     jinja2
   ];
 
-  # Need to fix test deps, relies on stestr and a few other packages that aren't available on nixpkgs
-  checkPhase = "$out/bin/jenkins-jobs --help";
+  nativeCheckInputs = [
+    pytestCheckHook
+    testtools
+    pytest-mock
+  ];
 
-  meta = with lib; {
+  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 = licenses.asl20;
-    maintainers = [ ];
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ bot-wxt1221 ];
   };
 }