From 1e4cde941e11fe6a0447414f692a8815d8d3adbc Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 17 Oct 2023 10:57:02 +0200 Subject: [PATCH] python311Packages.dns-lexicon: 3.14.0 -> 3.16.0 Diff: https://github.com/Analogj/lexicon/compare/refs/tags/v3.16.0...v3.16.0 Changelog: https://github.com/AnalogJ/lexicon/blob/v3.16.0/CHANGELOG.md --- .../python-modules/dns-lexicon/default.nix | 112 ++++++++++++------ 1 file changed, 73 insertions(+), 39 deletions(-) diff --git a/pkgs/development/python-modules/dns-lexicon/default.nix b/pkgs/development/python-modules/dns-lexicon/default.nix index bef030ca604d..e8763988fdb9 100644 --- a/pkgs/development/python-modules/dns-lexicon/default.nix +++ b/pkgs/development/python-modules/dns-lexicon/default.nix @@ -1,62 +1,88 @@ -{ buildPythonPackage -, fetchFromGitHub -, poetry-core +{ lib , beautifulsoup4 +, boto3 +, buildPythonPackage , cryptography +, dnspython +, fetchFromGitHub , importlib-metadata +, localzone +, oci +, poetry-core +, pyotp +, pytest-vcr +, pytestCheckHook +, pythonOlder , pyyaml , requests -, tldextract -, pytestCheckHook -, pytest-vcr -# Optional depedencies -, boto3 -, localzone , softlayer +, tldextract , zeep -, dnspython -, oci -, lib }: buildPythonPackage rec { pname = "dns_lexicon"; - version = "3.14.1"; - format = "pyproject"; + version = "3.16.0"; + pyproject = true; + + disabled = pythonOlder "3.8"; src = fetchFromGitHub { owner = "Analogj"; repo = "lexicon"; - rev = "v${version}"; - hash = "sha256-flK2G9mdUWMUACQPo6TqYZ388EacIqkq//tCzUS+Eo8="; + rev = "refs/tags/v${version}"; + hash = "sha256-GUYsTZPvsqGemViSqgEvYhyjTEut42akMq2ZK2P1fX0="; }; - nativeBuildInputs = [ poetry-core ]; + nativeBuildInputs = [ + poetry-core + ]; + + propagatedBuildInputs = [ + beautifulsoup4 + cryptography + pyotp + pyyaml + requests + tldextract + ] ++ lib.optionals (pythonOlder "3.10") [ + importlib-metadata + ]; + + passthru.optional-dependencies = { + route53 = [ + boto3 + ]; + localzone = [ + localzone + ]; + softlayer = [ + softlayer + ]; + ddns = [ + dnspython + ]; + duckdns = [ + dnspython + ]; + oci = [ + oci + ]; + full = [ + boto3 + dnspython + localzone + oci + softlayer + zeep + ]; + }; nativeCheckInputs = [ pytestCheckHook pytest-vcr ] ++ passthru.optional-dependencies.full; - propagatedBuildInputs = [ - beautifulsoup4 - cryptography - importlib-metadata - pyyaml - requests - tldextract - ]; - - passthru.optional-dependencies = { - route53 = [ boto3 ]; - localzone = [ localzone ]; - softlayer = [ softlayer ]; - ddns = [ dnspython ]; - duckdns = [ dnspython ]; - oci = [ oci ]; - full = [ boto3 localzone softlayer zeep dnspython oci ]; - }; - pytestFlagsArray = [ "tests/" ]; @@ -64,11 +90,20 @@ buildPythonPackage rec { disabledTestPaths = [ # Needs network access "tests/providers/test_auto.py" - # Needs network access (and an API token) "tests/providers/test_namecheap.py" ]; + disabledTests = [ + # Tests want to download Public Suffix List + "test_client_legacy_init" + "test_client_basic_init" + "test_client_init" + "test_client_parse_env" + "test_missing" + "action_is_correctly" + ]; + pythonImportsCheck = [ "lexicon" ]; @@ -77,8 +112,7 @@ buildPythonPackage rec { description = "Manipulate DNS records on various DNS providers in a standardized way"; homepage = "https://github.com/AnalogJ/lexicon"; changelog = "https://github.com/AnalogJ/lexicon/blob/v${version}/CHANGELOG.md"; - maintainers = with maintainers; [ aviallon ]; license = with licenses; [ mit ]; + maintainers = with maintainers; [ aviallon ]; }; - }