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 000000000000..e9ddfe5bc287 --- /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 000000000000..5c2179253436 --- /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 000000000000..4a27f56a3bcd --- /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 000000000000..5bb8abcff64d --- /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 dae07d1a00d5..ac9d506dd3e5 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 ad629d03a366..f9a87744e2d5 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 { };