Files
nixpkgs/pkgs/development/python-modules/impacket/default.nix
T
2026-01-26 05:14:35 +01:00

92 lines
1.7 KiB
Nix

{
lib,
buildPythonPackage,
charset-normalizer,
dsinternals,
fetchPypi,
flask,
ldap3,
ldapdomaindump,
pyasn1,
pyasn1-modules,
pycryptodomex,
pyopenssl,
setuptools,
pytestCheckHook,
six,
writeText,
}:
let
opensslConf = writeText "openssl.conf" ''
openssl_conf = openssl_init
[openssl_init]
providers = provider_sect
[provider_sect]
default = default_sect
legacy = legacy_sect
[default_sect]
activate = 1
[legacy_sect]
activate = 1
'';
in
buildPythonPackage rec {
pname = "impacket";
version = "0.13.0";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-0JpSvvxU24IDM2BWfetwxIoIGBPQiiIhstGiWc1+Tjo=";
};
pythonRelaxDeps = [ "pyopenssl" ];
build-system = [ setuptools ];
dependencies = [
charset-normalizer
dsinternals
flask
ldap3
ldapdomaindump
pyasn1
pyasn1-modules
pycryptodomex
pyopenssl
setuptools
six
];
nativeCheckInputs = [ pytestCheckHook ];
makeWrapperArgs = [ "--set-default OPENSSL_CONF ${opensslConf}" ];
pythonImportsCheck = [
"impacket"
"impacket.msada_guids"
];
disabledTestPaths = [
# Skip all RPC related tests
"tests/dcerpc/"
"tests/SMB_RPC/"
];
meta = {
description = "Network protocols Constructors and Dissectors";
homepage = "https://github.com/SecureAuthCorp/impacket";
changelog =
"https://github.com/fortra/impacket/releases/tag/impacket_"
+ lib.replaceStrings [ "." ] [ "_" ] version;
# Modified Apache Software License, Version 1.1
license = lib.licenses.free;
maintainers = with lib.maintainers; [ fab ];
};
}