From b590c8d7572b727d565cc0b8ff660d43569845de Mon Sep 17 00:00:00 2001 From: root Date: Fri, 12 Jun 2026 19:09:37 -0500 Subject: Adding metadata --- dev-python/pycryptodome/Manifest | 1 + .../pycryptodome-3.10.1-system-libtomcrypt.patch | 50 ++++++++++++++++++ dev-python/pycryptodome/metadata.xml | 12 +++++ dev-python/pycryptodome/pycryptodome-3.23.0.ebuild | 60 ++++++++++++++++++++++ 4 files changed, 123 insertions(+) create mode 100644 dev-python/pycryptodome/Manifest create mode 100644 dev-python/pycryptodome/files/pycryptodome-3.10.1-system-libtomcrypt.patch create mode 100644 dev-python/pycryptodome/metadata.xml create mode 100644 dev-python/pycryptodome/pycryptodome-3.23.0.ebuild (limited to 'dev-python/pycryptodome') diff --git a/dev-python/pycryptodome/Manifest b/dev-python/pycryptodome/Manifest new file mode 100644 index 000000000000..53da12dc32c3 --- /dev/null +++ b/dev-python/pycryptodome/Manifest @@ -0,0 +1 @@ +DIST pycryptodome-3.23.0.gh.tar.gz 19732639 BLAKE2B 55ba3bea9d215dfd1f20262f9e333c78c126a7bb07b4f0ed795bb354a609082aea5ba1571fd29c76c716cfd7c74a6187509de7a8cc0e1eb03e27a2068c7aacb3 SHA512 564bad0257f50eaf9f4318c39bc224b79fe0051b4e2d6cff4c1070d2065cf9eb03bce661f9d21346414f9942bbc10a9f40e976eee104231718d1b9484fcbb022 diff --git a/dev-python/pycryptodome/files/pycryptodome-3.10.1-system-libtomcrypt.patch b/dev-python/pycryptodome/files/pycryptodome-3.10.1-system-libtomcrypt.patch new file mode 100644 index 000000000000..51a5766c15f3 --- /dev/null +++ b/dev-python/pycryptodome/files/pycryptodome-3.10.1-system-libtomcrypt.patch @@ -0,0 +1,50 @@ +diff -dupr a/setup.py b/setup.py +--- a/setup.py 2021-02-09 13:49:46.356455141 +0100 ++++ b/setup.py 2021-02-09 13:50:49.351076275 +0100 +@@ -367,13 +367,15 @@ ext_modules = [ + sources=["src/CAST.c"], + py_limited_api=True), + Extension("Crypto.Cipher._raw_des", +- include_dirs=['src/', 'src/libtom/'], ++ include_dirs=['src/'], + sources=["src/DES.c"], +- py_limited_api=True), ++ py_limited_api=True, ++ extra_link_args=["-ltomcrypt"]), + Extension("Crypto.Cipher._raw_des3", +- include_dirs=['src/', 'src/libtom/'], ++ include_dirs=['src/'], + sources=["src/DES3.c"], +- py_limited_api=True), ++ py_limited_api=True, ++ extra_link_args=["-ltomcrypt"]), + Extension("Crypto.Util._cpuid_c", + include_dirs=['src/'], + sources=['src/cpuid.c'], +@@ -410,9 +412,10 @@ ext_modules = [ + sources=["src/ARC4.c"], + py_limited_api=True), + Extension("Crypto.Cipher._Salsa20", +- include_dirs=['src/', 'src/libtom/'], ++ include_dirs=['src/'], + sources=["src/Salsa20.c"], +- py_limited_api=True), ++ py_limited_api=True, ++ extra_link_args=["-ltomcrypt"]), + Extension("Crypto.Cipher._chacha20", + include_dirs=['src/'], + sources=["src/chacha20.c"], +Only in b: setup.py.orig +Only in b: setup.py.rej +diff -dupr a/src/DES.c b/src/DES.c +--- a/src/DES.c 2021-02-09 13:49:46.336454729 +0100 ++++ b/src/DES.c 2021-02-09 13:50:02.640123617 +0100 +@@ -39,7 +39,7 @@ FAKE_INIT(raw_des3) + + /* Include the actial DES implementation */ + #define LTC_NO_PROTOTYPES +-#include "libtom/tomcrypt_des.c" ++#include + + struct block_state { + symmetric_key sk; diff --git a/dev-python/pycryptodome/metadata.xml b/dev-python/pycryptodome/metadata.xml new file mode 100644 index 000000000000..60f614fec9e0 --- /dev/null +++ b/dev-python/pycryptodome/metadata.xml @@ -0,0 +1,12 @@ + + + + + python@gentoo.org + Python project + + + cpe:/a:python:pycryptodome + + baldeagleos-repo + diff --git a/dev-python/pycryptodome/pycryptodome-3.23.0.ebuild b/dev-python/pycryptodome/pycryptodome-3.23.0.ebuild new file mode 100644 index 000000000000..668a592d5a53 --- /dev/null +++ b/dev-python/pycryptodome/pycryptodome-3.23.0.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2025 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 distutils-r1 + +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 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:= + >=dev-libs/libtomcrypt-1.18.2-r1:= +" +BDEPEND=" + $(python_gen_cond_dep 'dev-python/cffi[${PYTHON_USEDEP}]' 'python*') +" +RDEPEND=" + ${DEPEND} + ${BDEPEND} +" + +PATCHES=( + "${FILESDIR}/pycryptodome-3.10.1-system-libtomcrypt.patch" +) + +python_prepare_all() { + # make sure we're unbundling it correctly + rm -r src/libtom || die + + distutils-r1_python_prepare_all +} + +python_test() { + local -x PYTHONPATH=${S}/test_vectors:${PYTHONPATH} + "${EPYTHON}" - <<-EOF || die + import sys + from Crypto import SelfTest + SelfTest.run(verbosity=2, stream=sys.stdout) + EOF + + # TODO: run cmake tests from src/test? +} -- cgit v1.3