diff --git a/dev-python/impacket/Manifest b/dev-python/impacket/Manifest index 05ca065c1..0e45e1144 100644 --- a/dev-python/impacket/Manifest +++ b/dev-python/impacket/Manifest @@ -1,2 +1,3 @@ DIST impacket-0.12.0.tar.gz 1585562 BLAKE2B f97f27e64b4d670c253fa311777196e3fd3e6e3126602b5925a50923cc1dc6e8f57c84d2bf50a382c03c463cff2591ca2de80105ccc88ed4d482c5aa576868c4 SHA512 3d30209f6ef73dd002fb5619af3366cc403c9a3d8ce7bc47b88f33facb1bc752266c148c8c7389fbd5720a10adf60f0d90334c33687a49a7d9a8051987648e63 DIST impacket-0.12.0_p20250516.gh.tar.gz 1609508 BLAKE2B 393a356f8054a89012246dc4853db653753b0257379378d34b5ae65fb0c15751256262c0df047e74f480d0a5fe7567d76ca9e463ebd0ddbda8759cd29551b3b7 SHA512 ca2035a41c9047401b0980bd1c786c5c5cfa62dada80792e5ef010f92cd8d4519038c95d526d3f090193e6f137c02981d39bd44b5f417dbea70cf3c6ec422443 +DIST impacket-0.13.0.tar.gz 1664694 BLAKE2B 0ddd8fbc8abf92ed559f65b1a949d7146d23c94cfeb9a5f8adab285f16642e10c1a0bb5ed9b5e678e355b2265c31e4eb186e2cdda451f6a25840fb843925062e SHA512 a02324d4b3370f501a9f3cd24704eaf04ce17e5c01fe843ce5199d053186003e4c2dd5e4cd1674c1313c8c9ef3fd8738f2d8cc4351a97b1d3deb2d658102b182 diff --git a/dev-python/impacket/impacket-0.12.0.ebuild b/dev-python/impacket/impacket-0.12.0.ebuild index 839484cd1..cd0f87987 100644 --- a/dev-python/impacket/impacket-0.12.0.ebuild +++ b/dev-python/impacket/impacket-0.12.0.ebuild @@ -21,7 +21,7 @@ IUSE="examples" # use pycryptodome instead of pycryptodomex, as pycryptodomex is not in Gentoo # repository. it's used only to replace the old PyCrypto package. RDEPEND=" - >dev-python/ldap3-2.6.0[${PYTHON_USEDEP}] + >=dev-python/ldap3-2.6.0[${PYTHON_USEDEP}] >=dev-python/flask-1.0[${PYTHON_USEDEP}] >=dev-python/ldapdomaindump-0.9.0[${PYTHON_USEDEP}] >=dev-python/pyasn1-0.2.3[${PYTHON_USEDEP}] diff --git a/dev-python/impacket/impacket-0.12.0_p20250516.ebuild b/dev-python/impacket/impacket-0.12.0_p20250516.ebuild index 3125f604a..ccd6b100e 100644 --- a/dev-python/impacket/impacket-0.12.0_p20250516.ebuild +++ b/dev-python/impacket/impacket-0.12.0_p20250516.ebuild @@ -30,7 +30,7 @@ KEYWORDS="amd64 ~arm64 x86" IUSE="examples" RDEPEND=" - >dev-python/ldap3-2.6.0[${PYTHON_USEDEP}] + >=dev-python/ldap3-2.6.0[${PYTHON_USEDEP}] >=dev-python/flask-1.0[${PYTHON_USEDEP}] >=dev-python/ldapdomaindump-0.9.0[${PYTHON_USEDEP}] >=dev-python/pyasn1-0.2.3[${PYTHON_USEDEP}] diff --git a/dev-python/impacket/impacket-0.13.0.ebuild b/dev-python/impacket/impacket-0.13.0.ebuild new file mode 100644 index 000000000..5f0006f11 --- /dev/null +++ b/dev-python/impacket/impacket-0.13.0.ebuild @@ -0,0 +1,104 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{12..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="A collection of Python classes focused on providing access to network packets" +HOMEPAGE="https://github.com/fortra/impacket" + +#S="${WORKDIR}/${PN}-${PN}_${PV//./_}" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 ~arm64 x86" +IUSE="examples" + +# use pycryptodome instead of pycryptodomex, as pycryptodomex is not in Gentoo +# repository. it's used only to replace the old PyCrypto package. +RDEPEND=" + >=dev-python/pyasn1-0.2.3[${PYTHON_USEDEP}] + dev-python/pyasn1-modules[${PYTHON_USEDEP}] + dev-python/pycryptodome[${PYTHON_USEDEP}] + dev-python/pyopenssl[${PYTHON_USEDEP}] + dev-python/six[${PYTHON_USEDEP}] + dev-python/ldap3[${PYTHON_USEDEP}] + >=dev-python/ldapdomaindump-0.9.0[${PYTHON_USEDEP}] + >=dev-python/flask-1.0[${PYTHON_USEDEP}] + dev-python/charset-normalizer[${PYTHON_USEDEP}] +" + +# use a local server +EPYTEST_DESELECT=( + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServerFuncTests::test_smbserver_connect_disconnect_tree' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServerFuncTests::test_smbserver_create_directory' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServerFuncTests::test_smbserver_delete_file' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServerFuncTests::test_smbserver_get_file' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServerFuncTests::test_smbserver_get_unicode_file' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServerFuncTests::test_smbserver_list_path' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServerFuncTests::test_smbserver_list_shares' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServerFuncTests::test_smbserver_login_invalid' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServerFuncTests::test_smbserver_login_valid' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServerFuncTests::test_smbserver_open_close_file' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServerFuncTests::test_smbserver_put' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServerFuncTests::test_smbserver_query_info_file' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServerFuncTests::test_smbserver_rename_file' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServerFuncTests::test_smbserver_unicode_login' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTestsClientFallBack::test_smbserver_connect_disconnect_tree' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTestsClientFallBack::test_smbserver_create_directory' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTestsClientFallBack::test_smbserver_delete_file' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTestsClientFallBack::test_smbserver_get_file' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTestsClientFallBack::test_smbserver_get_unicode_file' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTestsClientFallBack::test_smbserver_list_path' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTestsClientFallBack::test_smbserver_list_shares' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTestsClientFallBack::test_smbserver_login_invalid' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTestsClientFallBack::test_smbserver_login_valid' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTestsClientFallBack::test_smbserver_open_close_file' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTestsClientFallBack::test_smbserver_put' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTestsClientFallBack::test_smbserver_query_info_file' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTestsClientFallBack::test_smbserver_rename_file' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTestsClientFallBack::test_smbserver_unicode_login' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTests::test_smbserver_connect_disconnect_tree' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTests::test_smbserver_create_directory' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTests::test_smbserver_delete_directory' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTests::test_smbserver_delete_file' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTests::test_smbserver_get_file' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTests::test_smbserver_get_unicode_file' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTests::test_smbserver_list_path' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTests::test_smbserver_list_shares' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTests::test_smbserver_login_invalid' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTests::test_smbserver_login_valid' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTests::test_smbserver_open_close_file' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTests::test_smbserver_put' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTests::test_smbserver_query_info_file' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTests::test_smbserver_rename_file' + 'tests/SMB_RPC/test_smbserver.py::SimpleSMBServer2FuncTests::test_smbserver_unicode_login' +) + +distutils_enable_tests pytest + +python_prepare_all() { + # do not install data files under Gentoo + sed -i -e 's|Darwin|Linux|' setup.py || die + #use pycryptodome instead of pycryptodomex + #the only thing different appears to be the namespace and gentoo is removing pycryptodomex + sed -i -e 's#Cryptodome#Crypto#' $(grep -r --color=never 'Cryptodome' | awk -F':' '{print $1}') || die + distutils-r1_python_prepare_all +} + +python_install_all() { + if use examples; then + dodoc -r examples + docompress -x /usr/share/doc/${PF}/examples + fi + + distutils-r1_python_install_all +} + +python_test() { + epytest -m 'not remote' +}