about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorAtemu <atemu.main@gmail.com>2024-04-02 21:32:02 +0200
committerGitHub <noreply@github.com>2024-04-02 21:32:02 +0200
commit7e856e3afc3a94049fa22b3cf4354d450d61beb0 (patch)
tree4b7f0f5fda4d91fa561ebe60f4e153c94771b500 /pkgs
parent4de5a040c8fe5aef8fe297be001f48b47f8f62b0 (diff)
parent9a2a9ff69fa83953687d9f4df2b6dd4cd2192cd8 (diff)
Merge pull request #290631 from Melkor333/init-ansible-navigator
ansible-navigator: init at 24.2.0; ansible-builder: init at 3.0.1; bindep: init at 2.11.0; onigurumacffi: init at 1.3.0
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/python-modules/ansible-builder/default.nix45
-rw-r--r--pkgs/development/python-modules/ansible-navigator/default.nix47
-rw-r--r--pkgs/development/python-modules/bindep/default.nix41
-rw-r--r--pkgs/development/python-modules/onigurumacffi/default.nix24
-rw-r--r--pkgs/top-level/all-packages.nix4
-rw-r--r--pkgs/top-level/python-packages.nix8
6 files changed, 169 insertions, 0 deletions
diff --git a/pkgs/development/python-modules/ansible-builder/default.nix b/pkgs/development/python-modules/ansible-builder/default.nix
new file mode 100644
index 0000000000000..e9ddfe5bc2870
--- /dev/null
+++ b/pkgs/development/python-modules/ansible-builder/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, python3Packages
+, podman
+, fetchPypi
+, bindep
+}:
+python3Packages.buildPythonPackage rec {
+  pname = "ansible-builder";
+  version = "3.0.1";
+  format = "pyproject";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-rxyhgj9Cad751tPAptCTLCtXQLUXaRYv39bkoFzzjOk=";
+  };
+
+  nativeBuildInputs = with python3Packages; [
+    setuptools
+    setuptools-scm
+  ];
+
+  buildInputs = [
+    bindep
+  ];
+
+  propagatedBuildInputs = with python3Packages; [
+    podman
+    jsonschema
+    requirements-parser
+    pyyaml
+  ];
+
+  patchPhase = ''
+    # the upper limits of setuptools are unnecessary
+    # See https://github.com/ansible/ansible-builder/issues/639
+    sed -i 's/, <=[0-9.]*//g' pyproject.toml
+  '';
+
+  meta = with lib; {
+    description = "An Ansible execution environment builder";
+    homepage = "https://ansible-builder.readthedocs.io/en/stable/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ melkor333 ];
+  };
+}
diff --git a/pkgs/development/python-modules/ansible-navigator/default.nix b/pkgs/development/python-modules/ansible-navigator/default.nix
new file mode 100644
index 0000000000000..5c21792534365
--- /dev/null
+++ b/pkgs/development/python-modules/ansible-navigator/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, pkgs
+, python3Packages
+, podman
+, oniguruma
+, fetchPypi
+, buildPythonPackage
+}:
+buildPythonPackage rec {
+  pname = "ansible-navigator";
+  version = "24.2.0";
+  format = "pyproject";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-qXBhM63fFwPwo0pmEhZnZnGC8Eht8eFPfVbDkY98MGM=";
+  };
+
+  buildInputs = with python3Packages; [
+    setuptools
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = with python3Packages; [
+    ansible-builder
+    ansible-runner
+    podman
+    pkgs.ansible-lint
+    jinja2
+    jsonschema
+    tzdata
+    onigurumacffi
+  ];
+
+  patchPhase = ''
+    # scm_git_archive doesn't exist anymore. Fixed upstream but unreleased
+    # Rev: https://github.com/ansible/ansible-navigator/pull/1716
+    sed -i '/setuptools_scm_git_archive/d' pyproject.toml
+  '';
+
+  meta = with lib; {
+    description = "A text-based user interface (TUI) for Ansible.";
+    homepage = "https://ansible.readthedocs.io/projects/navigator/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ melkor333 ];
+  };
+}
diff --git a/pkgs/development/python-modules/bindep/default.nix b/pkgs/development/python-modules/bindep/default.nix
new file mode 100644
index 0000000000000..4a27f56a3bcd2
--- /dev/null
+++ b/pkgs/development/python-modules/bindep/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, python3Packages
+, fetchPypi
+}:
+python3Packages.buildPythonPackage rec {
+  pname = "bindep";
+  version = "2.11.0";
+  format = "pyproject";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-rLLyWbzh/RUIhzR5YJu95bmq5Qg3hHamjWtqGQAufi8=";
+  };
+
+  buildInputs = with python3Packages; [
+    distro
+    pbr
+    setuptools
+  ];
+
+  propagatedBuildInputs = with python3Packages; [
+    parsley
+    pbr
+    packaging
+    distro
+  ];
+
+  patchPhase = ''
+    # Setting the pbr version will skip any version checking logic
+    # This is required because pbr thinks it gets it's own version from git tags
+    # See https://docs.openstack.org/pbr/latest/user/packagers.html
+    export PBR_VERSION=5.11.1
+  '';
+
+  meta = with lib; {
+    description = "Bindep is a tool for checking the presence of binary packages needed to use an application / library";
+    homepage = "https://docs.opendev.org/opendev/bindep/latest/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ melkor333 ];
+  };
+}
diff --git a/pkgs/development/python-modules/onigurumacffi/default.nix b/pkgs/development/python-modules/onigurumacffi/default.nix
new file mode 100644
index 0000000000000..5bb8abcff64d5
--- /dev/null
+++ b/pkgs/development/python-modules/onigurumacffi/default.nix
@@ -0,0 +1,24 @@
+{ lib, python3Packages, fetchPypi, oniguruma }:
+python3Packages.buildPythonPackage rec {
+  pname = "onigurumacffi";
+  version = "1.3.0";
+  format = "pyproject";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-d0XNxWCWrOyIofOwhmCiKwnGWe040/WdtsHK12qXa+8=";
+  };
+
+  buildInputs = with python3Packages; [
+    oniguruma
+    setuptools
+    cffi
+  ];
+
+  meta = with lib; {
+    description = "Python cffi bindings for the oniguruma regex engine";
+    homepage = "https://github.com/asottile/onigurumacffi";
+    license = licenses.mit;
+    maintainers = with maintainers; [ melkor333 ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index dae07d1a00d50..ac9d506dd3e5d 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -18060,8 +18060,12 @@ with pkgs;
     };
   }));
 
+  ansible-builder = with python3Packages; toPythonApplication ansible-builder;
+
   ansible-doctor = callPackage ../tools/admin/ansible/doctor.nix { };
 
+  ansible-navigator = with python3Packages; toPythonApplication ansible-navigator;
+
   dbus-test-runner = callPackage ../development/tools/dbus-test-runner { };
 
   doq = callPackage ../development/tools/misc/doq { };
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index ad629d03a3665..f9a87744e2d5b 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -585,12 +585,16 @@ self: super: with self; {
 
   ansible = callPackage ../development/python-modules/ansible { };
 
+  ansible-builder = callPackage ../development/python-modules/ansible-builder { };
+
   ansible-compat = callPackage ../development/python-modules/ansible-compat { };
 
   ansible-core = callPackage ../development/python-modules/ansible/core.nix { };
 
   ansible-kernel = callPackage ../development/python-modules/ansible-kernel { };
 
+  ansible-navigator = callPackage ../development/python-modules/ansible-navigator { };
+
   ansible-pylibssh = callPackage ../development/python-modules/ansible-pylibssh { };
 
   ansible-runner = callPackage ../development/python-modules/ansible-runner { };
@@ -1507,6 +1511,8 @@ self: super: with self; {
 
   bincopy = callPackage ../development/python-modules/bincopy { };
 
+  bindep = callPackage ../development/python-modules/bindep { };
+
   binho-host-adapter = callPackage ../development/python-modules/binho-host-adapter { };
 
   binwalk = callPackage ../development/python-modules/binwalk { };
@@ -8935,6 +8941,8 @@ self: super: with self; {
 
   onetimepass = callPackage ../development/python-modules/onetimepass { };
 
+  onigurumacffi = callPackage ../development/python-modules/onigurumacffi { };
+
   onkyo-eiscp = callPackage ../development/python-modules/onkyo-eiscp { };
 
   online-judge-api-client = callPackage ../development/python-modules/online-judge-api-client { };