summaryrefslogtreecommitdiff
path: root/extra/chmlib
diff options
context:
space:
mode:
authorNicolas Reynolds <fauno@kiwwwi.com.ar>2011-07-05 02:31:06 -0300
committerNicolas Reynolds <fauno@kiwwwi.com.ar>2011-07-05 02:31:06 -0300
commit79c90303b271fc9e9b6cadb00dbee76eff04567c (patch)
tree44a9cdaabaf7f5b297f1b50e5991682880c09f3b /extra/chmlib
parent224c60d01361115dde84dd2e0f9b6f70feb9122a (diff)
Today's patches and updates
Diffstat (limited to 'extra/chmlib')
-rw-r--r--extra/chmlib/PKGBUILD11
-rw-r--r--extra/chmlib/src_chm_lib.c.diff58
2 files changed, 67 insertions, 2 deletions
diff --git a/extra/chmlib/PKGBUILD b/extra/chmlib/PKGBUILD
index ef09b6e89..04c8de5a6 100644
--- a/extra/chmlib/PKGBUILD
+++ b/extra/chmlib/PKGBUILD
@@ -12,11 +12,18 @@ url="http://morte.jedrea.com/~jedwin/projects/chmlib/"
options=('!libtool')
license=('LGPL')
depends=('glibc')
-source=("http://morte.jedrea.com/~jedwin/projects/${pkgname}/${pkgname}-${pkgver}.tar.bz2")
-md5sums=('7ea49ed8c335215c1edc6fae83e6b912')
+source=("http://morte.jedrea.com/~jedwin/projects/${pkgname}/${pkgname}-${pkgver}.tar.bz2"
+ 'src_chm_lib.c.diff')
+md5sums=('7ea49ed8c335215c1edc6fae83e6b912'
+ '08fe9d62302a50f23cffb6c2a7524b6d')
build() {
cd "${srcdir}"/${pkgname}-${pkgver}
+
+# Patch from debian
+ [ "$CARCH" = "mips64el" ] && \
+ patch -Np1 -i $srcdir/src_chm_lib.c.diff
+
./configure --prefix=/usr \
--enable-examples=yes
make
diff --git a/extra/chmlib/src_chm_lib.c.diff b/extra/chmlib/src_chm_lib.c.diff
new file mode 100644
index 000000000..742e0e521
--- /dev/null
+++ b/extra/chmlib/src_chm_lib.c.diff
@@ -0,0 +1,58 @@
+Patch to fix integer types problem by Goswin von Brederlow
+<brederlo@informatik.uni-tuebingen.de> (#258444)
+--- chmlib-0.39.orig/src/chm_lib.c
++++ chmlib-0.39/src/chm_lib.c
+@@ -56,6 +56,7 @@
+
+ #include "lzx.h"
+
++#include <stdint.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #ifdef CHM_DEBUG
+@@ -149,22 +150,9 @@
+ typedef __int64 Int64;
+ typedef unsigned __int64 UInt64;
+
+-/* I386, 32-bit, non-Windows */
+-/* Sparc */
+-/* MIPS */
+-/* PPC */
+-#elif __i386__ || __sun || __sgi || __ppc__
+-typedef unsigned char UChar;
+-typedef short Int16;
+-typedef unsigned short UInt16;
+-typedef long Int32;
+-typedef unsigned long UInt32;
+-typedef long long Int64;
+-typedef unsigned long long UInt64;
+-
+ /* x86-64 */
+ /* Note that these may be appropriate for other 64-bit machines. */
+-#elif __x86_64__ || __ia64__
++#elif defined(__LP64__)
+ typedef unsigned char UChar;
+ typedef short Int16;
+ typedef unsigned short UInt16;
+@@ -173,10 +161,18 @@
+ typedef long Int64;
+ typedef unsigned long UInt64;
+
++/* I386, 32-bit, non-Windows */
++/* Sparc */
++/* MIPS */
++/* PPC */
+ #else
+-
+-/* yielding an error is preferable to yielding incorrect behavior */
+-#error "Please define the sized types for your platform in chm_lib.c"
++typedef unsigned char UChar;
++typedef short Int16;
++typedef unsigned short UInt16;
++typedef long Int32;
++typedef unsigned long UInt32;
++typedef long long Int64;
++typedef unsigned long long UInt64;
+ #endif
+
+ /* GCC */