summaryrefslogtreecommitdiff
path: root/pkgs/development/python-modules/pan-os-python/default.nix
blob: e4f79008a8d8a62677c882aeaae17b2c84c27e7d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
{
  lib,
  buildPythonPackage,
  fetchPypi,
  packaging,
  pan-python,
  poetry-core,
}:

buildPythonPackage rec {
  pname = "pan-os-python";
  version = "1.12.3";
  pyproject = true;

  src = fetchPypi {
    pname = "pan_os_python";
    inherit version;
    hash = "sha256-b3jHu//GX031UbApDzYjCUXpI5MOdHwk9mXVymsFttk=";
  };

  postPatch = ''
    # Modernize project definition
    substituteInPlace pyproject.toml \
      --replace-fail 'poetry.masonry.api' 'poetry.core.masonry.api' \
      --replace-fail 'poetry>=0.12' 'poetry-core' \
      --replace-fail 'pan-python = "^0.17.0"' 'pan-python = "^0.25.0"'
    substituteInPlace panos/__init__.py \
      --replace-fail "from distutils.version import LooseVersion" "from packaging.version import Version as LooseVersion"
  '';

  dependencies = [
    packaging
    pan-python
  ];

  build-system = [ poetry-core ];

  pythonImportsCheck = [ "panos" ];

  meta = {
    description = "Palo Alto Networks PAN-OS SDK for Python";
    homepage = "https://github.com/PaloAltoNetworks/pan-os-python";
    changelog = "https://github.com/PaloAltoNetworks/pan-os-python/releases/tag/v${version}";
    license = lib.licenses.isc;
    maintainers = with lib.maintainers; [ jherland ];
  };
}