diff --git a/python-crypto-64bit-unclean.patch b/python-crypto-64bit-unclean.patch new file mode 100644 index 0000000..41486a0 --- /dev/null +++ b/python-crypto-64bit-unclean.patch @@ -0,0 +1,75 @@ +diff -Naur pycrypto-2.0.org/src/RIPEMD.c pycrypto-2.0/src/RIPEMD.c +--- pycrypto-2.0.org/src/RIPEMD.c 2005-05-05 14:28:28.000000000 +0200 ++++ pycrypto-2.0/src/RIPEMD.c 2005-05-05 14:39:12.000000000 +0200 +@@ -25,6 +25,8 @@ + #include + #endif + ++#include ++ + #include "Python.h" + + #define MODULE_NAME RIPEMD +@@ -100,11 +102,7 @@ + } + + typedef unsigned char byte; /* unsigned 8-bit integer */ +-#ifdef __alpha__ +-typedef unsigned int word; /* unsigned 32-bit integer */ +-#else +-typedef unsigned long word; /* unsigned 32-bit integer */ +-#endif ++typedef uint32_t word; /* unsigned 32-bit integer */ + typedef unsigned char BYTE; + #define RMD_DATASIZE 64 + #define RMD_DIGESTSIZE 20 +diff -Naur pycrypto-2.0.org/src/SHA256.c pycrypto-2.0/src/SHA256.c +--- pycrypto-2.0.org/src/SHA256.c 2005-05-05 14:28:28.000000000 +0200 ++++ pycrypto-2.0/src/SHA256.c 2005-05-05 14:41:37.000000000 +0200 +@@ -9,22 +9,23 @@ + * Revised Code: Complies to SHA-256 standard now. + * + * Tom St Denis -- http://tomstdenis.home.dhs.org +- * */ ++ * */ ++#include + #include "Python.h" + #define MODULE_NAME SHA256 + #define DIGEST_SIZE 32 + + typedef unsigned char U8; +-typedef unsigned int U32; ++typedef uint32_t U32; + + typedef struct { +- unsigned long state[8], length, curlen; +- unsigned char buf[64]; ++ U32 state[8], length, curlen; ++ U8 buf[64]; + } + hash_state; + + /* the K array */ +-static const unsigned long K[64] = { ++static const U32 K[64] = { + 0x428a2f98UL, 0x71374491UL, 0xb5c0fbcfUL, 0xe9b5dba5UL, 0x3956c25bUL, + 0x59f111f1UL, 0x923f82a4UL, 0xab1c5ed5UL, 0xd807aa98UL, 0x12835b01UL, + 0x243185beUL, 0x550c7dc3UL, 0x72be5d74UL, 0x80deb1feUL, 0x9bdc06a7UL, +@@ -53,7 +54,7 @@ + /* compress 512-bits */ + static void sha_compress(hash_state * md) + { +- unsigned long S[8], W[64], t0, t1; ++ U32 S[8], W[64], t0, t1; + int i; + + /* copy state into S */ +@@ -104,7 +105,7 @@ + md->state[7] = 0x5BE0CD19UL; + } + +-void sha_process(hash_state * md, unsigned char *buf, int len) ++void sha_process(hash_state * md, unsigned char *buf, U32 len) + { + while (len--) { + /* copy byte */ diff --git a/python-crypto.spec b/python-crypto.spec index 0a86db0..b6ce82f 100644 --- a/python-crypto.spec +++ b/python-crypto.spec @@ -4,12 +4,13 @@ Summary: Cryptography library for Python Name: python-crypto Version: 2.0 -Release: 3 +Release: 4 License: Python License (CNRI Python License) Group: Development/Libraries URL: http://www.amk.ca/python/code/crypto.html Source: http://www.amk.ca/files/python/crypto/pycrypto-2.0.tar.gz Patch0: %{name}-x86_64-buildfix.patch +Patch1: %{name}-64bit-unclean.patch BuildRequires: python >= 2.2 BuildRequires: python-devel >= 2.2 BuildRequires: gmp-devel >= 4.1 @@ -27,6 +28,7 @@ etc.). %ifarch x86_64 %patch0 -b .patch0 %endif +%patch1 -b .patch1 -p 1 # The build section. %build @@ -76,6 +78,9 @@ rm -rf $RPM_BUILD_ROOT %dir %{python_sitearch}/Crypto/Util/ %changelog +* Thu May 05 2005 Thorsten Leemhuis - 0:2.0-4 +- add python-crypto-64bit-unclean.patch (#156173) + * Mon Mar 21 2005 Seth Vidal - 0:2.0-3 - iterate release for build on python 2.4 based systems