diff options
Diffstat (limited to 'dev-python/pycryptodome')
| -rw-r--r-- | dev-python/pycryptodome/Manifest | 1 | ||||
| -rw-r--r-- | dev-python/pycryptodome/pycryptodome-4.1.0.ebuild | 86 |
2 files changed, 87 insertions, 0 deletions
diff --git a/dev-python/pycryptodome/Manifest b/dev-python/pycryptodome/Manifest index 70cf2236f500..493b515ac5cb 100644 --- a/dev-python/pycryptodome/Manifest +++ b/dev-python/pycryptodome/Manifest @@ -1,3 +1,4 @@ DIST pycryptodome-3.24.1.gh.tar.gz 19739898 BLAKE2B 7db01c5bd78f14d61620272d6a15105e3c640b933263a4720d5d047c55a0bd57e984fc150f96469aa29b7947b0fb62dbbe3e199587d146b08f30af28d781600b SHA512 90df69c1f003d9a06391709e09d1cb3124053c4eb4a062cba01e6048c1fc07ba29db36b94dbafc6e5f7f6f173321b8e687358d8a3cca88921234e74f46c17c37 DIST pycryptodome-4.0.0.gh.tar.gz 16296945 BLAKE2B e6380f4638013d528aeb45d9db1e5c6509de0301bb7bdde07dfb363d0bc833dea72edcb43cc0a1c4ce2b39ef6edf67287494c90d7f68fb0d6697ce1f77f7c3fa SHA512 536522d15b29646cdfbeae1d3d4d23261fe112392858809df117b71f3293af4b7705f9a8421a4ddd7dbf5a5df117852ce4bc506dbe30b241de0ded36c7ce6033 DIST pycryptodome-4.0.1.gh.tar.gz 16299237 BLAKE2B 74e0e2acca917f66c949a9da0e01e2bf0d22b67587354276aebe379e001acdd9a75c7b8d504e8d6b9c2baaaac9b8c13194a56d60d5658782e4072c783ac6da88 SHA512 ece24a54049190ac6131c4712f48f49290d910524bfe7ff5d1bd675ccf28bc6eb17ca7e642eabd9bfa1fd664a25bbc75e6f9fef92c7231a175ac8409082b8fdd +DIST pycryptodome-4.1.0.gh.tar.gz 26032340 BLAKE2B 0ac96edd8df4b4b0055a1f736faab428dcaf10428e21a21e844e479355a850e7510ac4ee8b15d3a43796b6752cc764683dabb1524890726da235926143b8a4af SHA512 898c721a1e5361e2e0945f993101a3096b2e935615773d1eb68f0148468cd7da34c2ea5cbe63c1ca024ee2454c8f7c648f6727e45e5f115987c10b17aee7e6c3 diff --git a/dev-python/pycryptodome/pycryptodome-4.1.0.ebuild b/dev-python/pycryptodome/pycryptodome-4.1.0.ebuild new file mode 100644 index 000000000000..2b4914b240d2 --- /dev/null +++ b/dev-python/pycryptodome/pycryptodome-4.1.0.ebuild @@ -0,0 +1,86 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{13..14} ) +PYTHON_REQ_USE="threads(+)" + +inherit cmake distutils-r1 toolchain-funcs + +DESCRIPTION="A self-contained cryptographic library for Python" +HOMEPAGE=" + https://www.pycryptodome.org/ + https://github.com/Legrandin/pycryptodome/ + https://pypi.org/project/pycryptodome/ +" +SRC_URI=" + https://github.com/Legrandin/pycryptodome/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="BSD-2 MIT Unlicense" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" + +DEPEND=" + dev-libs/gmp:= +" +BDEPEND=" + dev-python/cffi[${PYTHON_USEDEP}] +" +RDEPEND=" + ${DEPEND} + ${BDEPEND} +" + +EPYTEST_PLUGINS=() +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +CMAKE_USE_DIR=${S}/src/test + +src_prepare() { + cmake_src_prepare + distutils-r1_src_prepare + + # force sanitizer detection to fail, they break tests x_x + sed -i -e 's:-fsanitize=[a-z]*::g' src/test/CMakeLists.txt || die +} + +check_x86_opt() { + local macro=${1} + + if { use amd64 || use x86; } && + tc-cpp-is-true "defined(${macro})" ${CFLAGS} ${CPPFLAGS} + then + echo ON + else + echo OFF + fi +} + +src_test() { + local mycmakeargs=( + # TODO: grab these off CFLAGS, they enable extra tests + -DAESNI="$(check_x86_opt __AES__)" + -DSSE="$(check_x86_opt __SSSE3__)" + + -DVALGRIND=VALGRIND_NOT_FOUND + ) + + cmake_src_configure + cmake_src_compile + cmake_src_test + + distutils-r1_src_test +} + +python_test() { + local -x PYTHONPATH=${S}/test_vectors:${PYTHONPATH} + epytest --pyargs Crypto + + # TODO: run cmake tests from src/test? +} |
