diff --git a/pkgs/development/python-modules/bloodyad/default.nix b/pkgs/development/python-modules/bloodyad/default.nix index 1b068439ba19..9302f160aa8f 100644 --- a/pkgs/development/python-modules/bloodyad/default.nix +++ b/pkgs/development/python-modules/bloodyad/default.nix @@ -1,5 +1,6 @@ { lib, + stdenv, buildPythonPackage, fetchFromGitHub, @@ -8,10 +9,10 @@ # dependencies asn1crypto, + badldap, cryptography, dnspython, kerbad, - badldap, winacl, # test @@ -21,14 +22,14 @@ buildPythonPackage rec { pname = "bloodyad"; - version = "2.1.21"; + version = "2.5.0"; pyproject = true; src = fetchFromGitHub { owner = "CravateRouge"; repo = "bloodyAD"; tag = "v${version}"; - hash = "sha256-9yzKYSEmaPMv6AWhgr4UPPEx8s75Pg/hwqJnV29WocM="; + hash = "sha256-WKD8R1pH1dIAxMIM2SLPV+AoFi3z1O96U8XK2QyVYxQ="; }; pythonRelaxDeps = [ "cryptography" ]; @@ -40,12 +41,21 @@ buildPythonPackage rec { build-system = [ hatchling ]; + # Upstream provides two package scripts: bloodyad and bloodyAD, + # but this causes a FileAlreadyExists error during installation + # on Darwin (case-insensitive filesystem). + # https://github.com/CravateRouge/bloodyAD/issues/99 + postPatch = lib.optionals stdenv.hostPlatform.isDarwin '' + substituteInPlace pyproject.toml \ + --replace-fail "bloodyAD = \"bloodyAD.main:main\"" "" + ''; + dependencies = [ asn1crypto + badldap cryptography dnspython kerbad - badldap winacl ]; @@ -65,6 +75,13 @@ buildPythonPackage rec { "test_04ComputerRbcdGetSetAttribute" "test_06AddRemoveGetDnsRecord" "test_certificate_authentications" + "test_04ComputerRbcdRestoreGetSetAttribute" + ]; + + disabledTestPaths = [ + # TypeError: applyFormatters() takes 1 positional argument but 2 were given + # https://github.com/CravateRouge/bloodyAD/issues/98 + "tests/test_formatters.py" ]; meta = {