diff --git a/pkgs/applications/networking/cloudflare-dyndns/default.nix b/pkgs/applications/networking/cloudflare-dyndns/default.nix new file mode 100644 index 00000000000..ee7573cf713 --- /dev/null +++ b/pkgs/applications/networking/cloudflare-dyndns/default.nix @@ -0,0 +1,53 @@ +{ buildPythonApplication +, attrs +, click +, cloudflare +, fetchFromGitHub +, lib +, poetry +, pydantic +, pytestCheckHook +, requests +}: + +buildPythonApplication rec { + pname = "cloudflare-dyndns"; + version = "4.1"; + + src = fetchFromGitHub { + owner = "kissgyorgy"; + repo = pname; + rev = "v${version}"; + hash = "sha256-6Q5fpJ+HuQ+hc3xTtB5tR43pn9WZ0nZZR723iLAkpis="; + }; + + format = "pyproject"; + + nativeBuildInputs = [ poetry ]; + + propagatedBuildInputs = [ + attrs + click + cloudflare + pydantic + requests + ]; + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace 'click = "^7.0"' 'click = "*"' + ''; + + checkInputs = [ pytestCheckHook ]; + + disabledTests = [ + "test_get_ipv4" + ]; + + meta = with lib; { + description = " CloudFlare Dynamic DNS client "; + homepage = "https://github.com/kissgyorgy/cloudflare-dyndns"; + license = licenses.mit; + maintainers = with maintainers; [ lovesegfault ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bfca44e2701..c03ef027108 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2961,6 +2961,8 @@ with pkgs; cloudflared = callPackage ../applications/networking/cloudflared { }; + cloudflare-dyndns = python3Packages.cloudflare-dyndns; + cloudmonkey = callPackage ../tools/virtualization/cloudmonkey { }; clib = callPackage ../tools/package-management/clib { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 12b1515dbcd..7a703876eb6 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1735,6 +1735,8 @@ in { cloudflare = callPackage ../development/python-modules/cloudflare { }; + cloudflare-dyndns = callPackage ../applications/networking/cloudflare-dyndns { }; + cloudpickle = callPackage ../development/python-modules/cloudpickle { }; cloudscraper = callPackage ../development/python-modules/cloudscraper { };