diff options
author | Andrew Clemons <andrew.clemons@gmail.com> | 2022-02-09 22:41:17 +1300 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2022-02-12 00:29:41 +0700 |
commit | cd2ef9761781901c01198c73c48a4dfc48c6f479 (patch) | |
tree | c2ecda1b3ff66d1c4ded5b00f8755b1f7c6587bb | |
parent | df4230016025f0f8ea2f08c383b3c29bd2d633b5 (diff) |
python/pycryptopp: Fix build on newer gcc.
Signed-off-by: Andrew Clemons <andrew.clemons@gmail.com>
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
-rw-r--r-- | python/pycryptopp/pycryptopp-0.7.1-abi-change.patch | 55 | ||||
-rw-r--r-- | python/pycryptopp/pycryptopp.SlackBuild | 7 |
2 files changed, 62 insertions, 0 deletions
diff --git a/python/pycryptopp/pycryptopp-0.7.1-abi-change.patch b/python/pycryptopp/pycryptopp-0.7.1-abi-change.patch new file mode 100644 index 0000000000000..d6edd2ecc630b --- /dev/null +++ b/python/pycryptopp/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/python/pycryptopp/pycryptopp.SlackBuild b/python/pycryptopp/pycryptopp.SlackBuild index d7a936377b0bd..70ae017884f5d 100644 --- a/python/pycryptopp/pycryptopp.SlackBuild +++ b/python/pycryptopp/pycryptopp.SlackBuild @@ -76,6 +76,8 @@ cd $TMP rm -rf $PRGNAM-$VERSION tar xvf $CWD/$PRGNAM-$VERSION.tar.gz cd $PRGNAM-$VERSION +# thanks arch maintainers +patch -p1 -i $CWD/pycryptopp-0.7.1-abi-change.patch chown -R root:root . find -L . \ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ @@ -83,6 +85,11 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; +export PYCRYPTOPP_DISABLE_EMBEDDED_CRYPTOPP=1 + +CFLAGS="$SLKCFLAGS -fno-strict-aliasing" \ +CXXFLAGS="$SLKCFLAGS -fno-strict-aliasing" \ +python setup.py build python setup.py install --root=$PKG find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ |