Unverified Commit 0b4e2190 authored by Fabian Affolter's avatar Fabian Affolter Committed by GitHub
Browse files

Merge pull request #254275 from fabaff/checkdmarc

 python311Packages.checkdmarc: init at 4.8.0, python311Packages.pyleri: init at 1.4.2
parents 9b071982 1270c985
Loading
Loading
Loading
Loading
+76 −0
Original line number Diff line number Diff line
{ lib
, buildPythonPackage
, cryptography
, dnspython
, expiringdict
, fetchFromGitHub
, hatchling
, publicsuffixlist
, pyleri
, iana-etc
, pytestCheckHook
, pythonOlder
, requests
, timeout-decorator
}:

buildPythonPackage rec {
  pname = "checkdmarc";
  version = "4.8.0";
  format = "pyproject";

  disabled = pythonOlder "3.7";

  src = fetchFromGitHub {
    owner = "domainaware";
    repo = "checkdmarc";
    # https://github.com/domainaware/checkdmarc/issues/102
    rev = "d0364ceef3cfd41052273913369e3831cb6fe4fd";
    hash = "sha256-OSljewDeyJtoxkCQjPU9wIsNhhxumHmeu9GHvRD4DRY=";
  };

  nativeBuildInputs = [
    hatchling
  ];

  propagatedBuildInputs = [
    cryptography
    dnspython
    expiringdict
    publicsuffixlist
    pyleri
    requests
    timeout-decorator
  ];

  nativeCheckInputs = [
    pytestCheckHook
  ];

  pythonImportsCheck = [
    "checkdmarc"
  ];

  pytestFlagsArray = [
    "tests.py"
  ];

  disabledTests = [
    # Tests require network access
    "testDMARCPctLessThan100Warning"
    "testSPFMissingARecord"
    "testSPFMissingMXRecord"
    "testSplitSPFRecord"
    "testTooManySPFDNSLookups"
    "testTooManySPFVoidDNSLookups"
  ];

  meta = with lib; {
    description = "A parser for SPF and DMARC DNS records";
    homepage = "https://github.com/domainaware/checkdmarc";
    changelog = "https://github.com/domainaware/checkdmarc/blob/${version}/CHANGELOG.md";
    license = licenses.asl20;
    maintainers = with maintainers; [ fab ];
  };
}
+37 −0
Original line number Diff line number Diff line
{ lib
, buildPythonPackage
, fetchFromGitHub
, pythonOlder
, unittestCheckHook
}:

buildPythonPackage rec {
  pname = "pyleri";
  version = "1.4.2";
  format = "setuptools";

  disabled = pythonOlder "3.7";

  src = fetchFromGitHub {
    owner = "cesbit";
    repo = "pyleri";
    rev = "refs/tags/${version}";
    hash = "sha256-52Q2iTrXFNbDzXL0FM+Gypipvo5ciNqAtZa5sKOwQRc=";
  };

  nativeCheckInputs = [
    unittestCheckHook
  ];

  pythonImportsCheck = [
    "pyleri"
  ];

  meta = with lib; {
    description = "Module to parse SiriDB";
    homepage = "https://github.com/cesbit/pyleri";
    changelog = "https://github.com/cesbit/pyleri/releases/tag/${version}";
    license = licenses.mit;
    maintainers = with maintainers; [ fab ];
  };
}
+4 −0
Original line number Diff line number Diff line
@@ -1901,6 +1901,8 @@ self: super: with self; {

  check-manifest = callPackage ../development/python-modules/check-manifest { };

  checkdmarc = callPackage ../development/python-modules/checkdmarc { };

  cheetah3 = callPackage ../development/python-modules/cheetah3 { };

  cheroot = callPackage ../development/python-modules/cheroot { };
@@ -9358,6 +9360,8 @@ self: super: with self; {

  pyld = callPackage ../development/python-modules/pyld { };

  pyleri = callPackage ../development/python-modules/pyleri { };

  pylev = callPackage ../development/python-modules/pylev { };

  pylgnetcast = callPackage ../development/python-modules/pylgnetcast { };