commit: 66ca2f7ff2c8a8f51193d5d75d7f1cc0b77e5a44 Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org> AuthorDate: Mon Oct 1 16:59:43 2018 +0000 Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org> CommitDate: Mon Oct 1 16:59:43 2018 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=66ca2f7f
dev-python/pycryptopp: fix building with crypto++-7+ Closes: https://bugs.gentoo.org/654614 Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org> Package-Manager: Portage-2.3.50, Repoman-2.3.11 .../files/pycryptopp-0.7.1-abi-change.patch | 55 ++++++++++++++++++++++ ...opp-0.7.1.ebuild => pycryptopp-0.7.1-r1.ebuild} | 6 ++- 2 files changed, 59 insertions(+), 2 deletions(-) diff --git a/dev-python/pycryptopp/files/pycryptopp-0.7.1-abi-change.patch b/dev-python/pycryptopp/files/pycryptopp-0.7.1-abi-change.patch new file mode 100644 index 00000000000..d6edd2ecc63 --- /dev/null +++ b/dev-python/pycryptopp/files/pycryptopp-0.7.1-abi-change.patch @@ -0,0 +1,55 @@ +https://github.com/tahoe-lafs/pycryptopp/issues/42 + +--- old/src/pycryptopp/cipher/aesmodule.cpp ++++ old/src/pycryptopp/cipher/aesmodule.cpp +@@ -20,6 +20,8 @@ + #include <src-cryptopp/aes.h> + #endif + ++typedef unsigned char byte; ++ + static const char*const aes___doc__ = "_aes counter mode cipher\n\ + You are advised to run aes.start_up_self_test() after importing this module."; + +--- old/src/pycryptopp/cipher/xsalsa20module.cpp ++++ old/src/pycryptopp/cipher/xsalsa20module.cpp +@@ -16,6 +16,8 @@ + #include <src-cryptopp/salsa.h> + #endif + ++typedef unsigned char byte; ++ + static const char* const xsalsa20__doc__ = "_xsalsa20 cipher"; + + static PyObject *xsalsa20_error; +--- old/src/pycryptopp/hash/sha256module.cpp ++++ old/src/pycryptopp/hash/sha256module.cpp +@@ -21,6 +21,8 @@ + #include <src-cryptopp/filters.h> + #endif + ++typedef unsigned char byte; ++ + static const char*const sha256___doc__ = "_sha256 hash function"; + + static PyObject *sha256_error; +--- old/src/pycryptopp/publickey/rsamodule.cpp ++++ old/src/pycryptopp/publickey/rsamodule.cpp +@@ -87,7 +87,7 @@ + VerifyingKey_serialize(VerifyingKey *self, PyObject *dummy) { + std::string outstr; + StringSink ss(outstr); +- self->k->DEREncode(ss); ++ self->k->GetMaterial().Save(ss); + PyStringObject* result = reinterpret_cast<PyStringObject*>(PyString_FromStringAndSize(outstr.c_str(), outstr.size())); + if (!result) + return NULL; +@@ -216,7 +216,7 @@ + SigningKey_serialize(SigningKey *self, PyObject *dummy) { + std::string outstr; + StringSink ss(outstr); +- self->k->DEREncode(ss); ++ self->k->GetMaterial().Save(ss); + PyStringObject* result = reinterpret_cast<PyStringObject*>(PyString_FromStringAndSize(outstr.c_str(), outstr.size())); + if (!result) + return NULL; diff --git a/dev-python/pycryptopp/pycryptopp-0.7.1.ebuild b/dev-python/pycryptopp/pycryptopp-0.7.1-r1.ebuild similarity index 89% rename from dev-python/pycryptopp/pycryptopp-0.7.1.ebuild rename to dev-python/pycryptopp/pycryptopp-0.7.1-r1.ebuild index 3a4257ebfa7..400c5ec5bc8 100644 --- a/dev-python/pycryptopp/pycryptopp-0.7.1.ebuild +++ b/dev-python/pycryptopp/pycryptopp-0.7.1-r1.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2018 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI="5" +EAPI="6" PYTHON_COMPAT=( python2_7 ) inherit distutils-r1 vcs-snapshot @@ -25,6 +25,8 @@ DEPEND="${RDEPEND} DOCS="NEWS.rst" +PATCHES=( "${FILESDIR}"/${PN}-0.7.1-abi-change.patch ) + S="${WORKDIR}/${MY_P}" python_prepare_all() {