summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/pycryptodomex/pycryptodomex-3.9.9.ebuild')
-rw-r--r--dev-python/pycryptodomex/pycryptodomex-3.9.9.ebuild53
1 files changed, 53 insertions, 0 deletions
diff --git a/dev-python/pycryptodomex/pycryptodomex-3.9.9.ebuild b/dev-python/pycryptodomex/pycryptodomex-3.9.9.ebuild
new file mode 100644
index 000000000000..b3b8e7593c3d
--- /dev/null
+++ b/dev-python/pycryptodomex/pycryptodomex-3.9.9.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..9} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1
+
+MY_P=${P/x/}
+DESCRIPTION="A self-contained cryptographic library for Python"
+HOMEPAGE="https://www.pycryptodome.org
+ https://github.com/Legrandin/pycryptodome/
+ https://pypi.org/project/pycryptodomex/"
+SRC_URI="
+ https://github.com/Legrandin/pycryptodome/archive/v${PV}.tar.gz
+ -> ${MY_P}.tar.gz"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD-2 Unlicense"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+DEPEND="
+ dev-libs/gmp:0"
+BDEPEND="
+ virtual/python-cffi[${PYTHON_USEDEP}]"
+RDEPEND="
+ ${DEPEND}
+ ${BDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/pycryptodome-3.9.4-parallel-make.patch"
+)
+
+distutils_enable_tests setup.py
+
+python_prepare_all() {
+ # parallel make fixes
+ # Multiple targets were compiling the same file, setuptools doesn't
+ # understand this and you get race conditions where a file gets
+ # overwritten while it's linking. This makes the files look like separate
+ # files so this race won't happen
+ ln src/blowfish.c src/blowfish_eks.c || die
+ ln src/mont.c src/mont_math.c || die
+
+ # create the magic file to build cryptodomex from the sources
+ echo > .separate_namespace || die
+
+ distutils-r1_python_prepare_all
+}