diff options
Diffstat (limited to 'dev-python/m2crypto/m2crypto-0.37.1-r1.ebuild')
-rw-r--r-- | dev-python/m2crypto/m2crypto-0.37.1-r1.ebuild | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/dev-python/m2crypto/m2crypto-0.37.1-r1.ebuild b/dev-python/m2crypto/m2crypto-0.37.1-r1.ebuild new file mode 100644 index 000000000000..c650101f6d32 --- /dev/null +++ b/dev-python/m2crypto/m2crypto-0.37.1-r1.ebuild @@ -0,0 +1,69 @@ +# Copyright 2018-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{7..9} ) +PYTHON_REQ_USE="threads(+)" + +inherit distutils-r1 toolchain-funcs + +MY_PN="M2Crypto" +DESCRIPTION="A Python crypto and SSL toolkit" +HOMEPAGE="https://gitlab.com/m2crypto/m2crypto https://pypi.org/project/M2Crypto/" +SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz" +S="${WORKDIR}/${MY_PN}-${PV}" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos" +IUSE="libressl test" +RESTRICT="!test? ( test )" + +BDEPEND=" + >=dev-lang/swig-2.0.9 + test? ( dev-python/parameterized[${PYTHON_USEDEP}] ) +" +RDEPEND=" + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= ) +" +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}/${P}-openssl-fixes.patch" +) + +swig_define() { + local x + for x; do + if tc-cpp-is-true "defined(${x})"; then + SWIG_FEATURES+=" -D${x}" + fi + done +} + +src_prepare() { + # TODO + sed -e 's:test_server_simple_timeouts:_&:' \ + -i tests/test_ssl.py || die + distutils-r1_src_prepare +} + +python_compile() { + # setup.py looks at platform.machine() to determine swig options. + # For exotic ABIs, we need to give swig a hint. + local -x SWIG_FEATURES= + + # https://bugs.gentoo.org/617946 + swig_define __ILP32__ + + # https://bugs.gentoo.org/674112 + swig_define __ARM_PCS_VFP + + distutils-r1_python_compile --openssl="${ESYSROOT}"/usr +} + +python_test() { + esetup.py test +} |