Browse code

python2 compat

Hanno Böck authored on24/09/2020 11:15:51
Showing4 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,2 @@
1
+DIST cffi-1.14.0.tar.gz 463065 BLAKE2B 4d1e8a92241db801848ef8bd05ea15a31c7f61ea426ce4da184aff00df786348d2c76de9dc48898c814478aed9750b665868df24ad39435062cd7e1c84163e52 SHA512 4c5451eeede1d48a8f4b40e25b845ad1863b8bf3bd39624e6c693c2800d89a13efedc4c43b37e317a035613bffc2e3fd5f7e583c46cb283cb5cb930356f86253
2
+EBUILD cffi-1.14.0-r2.ebuild 1349 BLAKE2B 51d75557181e50a0cf4b23d7358e23f8b56bd05d76efe18a9d5685328c5197060eb45e9ffe894fbc5f05baa2e35275eef205d148b080ff6e774ce09da8cb6743 SHA512 510887308c5068c4d7b9f44c9e297cd854202b1651ba2661b2339dcf91fc438b476e1f1f6c30cbc95267e675dd00a98979a24482d5cc9aed99db6c89d9c555c9
0 3
new file mode 100644
... ...
@@ -0,0 +1,47 @@
1
+# Copyright 1999-2020 Gentoo Authors
2
+# Distributed under the terms of the GNU General Public License v2
3
+
4
+EAPI=7
5
+
6
+# DO NOT ADD pypy to PYTHON_COMPAT
7
+# pypy bundles a modified version of cffi. Use python_gen_cond_dep instead.
8
+DISTUTILS_USE_SETUPTOOLS=rdepend
9
+PYTHON_COMPAT=( python2_7 python3_{6,7,8,9} )
10
+
11
+inherit distutils-r1 toolchain-funcs
12
+
13
+DESCRIPTION="Foreign Function Interface for Python calling C code"
14
+HOMEPAGE="https://cffi.readthedocs.io/ https://pypi.org/project/cffi/"
15
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
16
+
17
+LICENSE="MIT"
18
+SLOT="0/${PV}"
19
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
20
+IUSE="test"
21
+RESTRICT="!test? ( test )"
22
+
23
+DEPEND="dev-libs/libffi:="
24
+RDEPEND="${DEPEND}
25
+	dev-python/pycparser[${PYTHON_USEDEP}]"
26
+BDEPEND="${RDEPEND}
27
+	virtual/pkgconfig
28
+	test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
29
+
30
+distutils_enable_sphinx doc/source
31
+
32
+PATCHES=(
33
+	"${FILESDIR}"/cffi-0.14.0-g-line.patch
34
+)
35
+
36
+src_configure() {
37
+	tc-export PKG_CONFIG
38
+}
39
+
40
+python_test() {
41
+	"${EPYTHON}" -c "import _cffi_backend as backend" || die
42
+	pytest -x -vv \
43
+		--ignore testing/test_zintegration.py \
44
+		--ignore testing/embedding \
45
+		c/ testing/ \
46
+		|| die "Testing failed with ${EPYTHON}"
47
+}
0 48
new file mode 100644
... ...
@@ -0,0 +1,2 @@
1
+DIST pycryptodome-3.9.8.tar.gz 15633268 BLAKE2B 8c4f8d4839be0fb09556677514ee6c7f832684f20eb4e355cee87eb5b52a5c09e12712c1865ff89fb5dd6c628ca027374c7cab8a2287aafa4eecedf1095f1a12 SHA512 894e763720df284804fd686d5805980853b86773bb3097bf03d929818b9944e5a257e47414275f302966864751e50ae34dea19ad749910f1ceac31833a53ef7c
2
+EBUILD pycryptodome-3.9.8.ebuild 1330 BLAKE2B 97e78373d4e5d2d7065d0ca60fa8374d225c48ccf89b51fd51d8bbd68897d5ed37ba237f346bd9347a6cdb3204b5b7b43a28426fa593e3d039259a4664ac4e60 SHA512 3596bf56db6f47c1e9c0ce9568988566a858541128e2962af886d1260f059a6542ec5588bf651c343db73a42e483b64e44ab8fdafacfdd6aa6f53cd46dc1df4f
0 3
new file mode 100644
... ...
@@ -0,0 +1,41 @@
1
+# Copyright 1999-2020 Gentoo Authors
2
+# Distributed under the terms of the GNU General Public License v2
3
+
4
+EAPI=7
5
+
6
+PYTHON_COMPAT=( python2_7 python3_{6,7,8,9} pypy3 )
7
+PYTHON_REQ_USE="threads(+)"
8
+
9
+inherit distutils-r1
10
+
11
+DESCRIPTION="A self-contained cryptographic library for Python"
12
+HOMEPAGE="https://www.pycryptodome.org https://github.com/Legrandin/pycryptodome https://pypi.org/project/pycryptodome/"
13
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
14
+
15
+LICENSE="BSD-2 Unlicense"
16
+SLOT="0"
17
+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"
18
+IUSE=""
19
+
20
+RDEPEND="dev-libs/gmp:0
21
+	virtual/python-cffi[${PYTHON_USEDEP}]
22
+	!dev-python/pycrypto"
23
+BDEPEND="${RDEPEND}"
24
+
25
+PATCHES=(
26
+	"${FILESDIR}/pycryptodome-3.9.4-parallel-make.patch"
27
+)
28
+
29
+distutils_enable_tests setup.py
30
+
31
+python_prepare_all() {
32
+	# parallel make fixes
33
+	#  Multiple targets were compiling the same file, setuptools doesn't
34
+	#  understand this and you get race conditions where a file gets
35
+	#  overwritten while it's linking. This makes the files look like separate
36
+	#  files so this race won't happen
37
+	ln src/blowfish.c src/blowfish_eks.c || die
38
+	ln src/mont.c src/mont_math.c || die
39
+
40
+	distutils-r1_python_prepare_all
41
+}