]> git.pld-linux.org Git - packages/smalltalk.git/commitdiff
- added gmp5.patch (from smalltalk git)
authorSzymon Siwek <sls@pld-linux.org>
Wed, 7 Apr 2010 21:23:00 +0000 (21:23 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    gmp5.patch -> 1.1
    smalltalk.spec -> 1.89

gmp5.patch [new file with mode: 0644]
smalltalk.spec

diff --git a/gmp5.patch b/gmp5.patch
new file mode 100644 (file)
index 0000000..d269017
--- /dev/null
@@ -0,0 +1,84 @@
+From 04ac00a8126a0b328e231e01ab4b257b28c5da3c Mon Sep 17 00:00:00 2001
+From: Paolo Bonzini <bonzini@gnu.org>
+Date: Fri, 8 Jan 2010 16:00:36 +0100
+Subject: [PATCH] hack to build with GMP 5
+
+libgst:
+2010-01-08  Paolo Bonzini  <bonzini@gnu.org>
+
+       * libgst/mpz.c: Hack to build with GMP 5.
+---
+ libgst/ChangeLog |    4 ++++
+ libgst/mpz.c     |   20 ++++++++++++++++++--
+ 2 files changed, 22 insertions(+), 2 deletions(-)
+
+diff --git a/libgst/mpz.c b/libgst/mpz.c
+index eaee0e8..d8e8b6b 100644
+--- a/libgst/mpz.c
++++ b/libgst/mpz.c
+@@ -1513,13 +1513,21 @@ _gst_mpz_xor (gst_mpz *res, const gst_mpz *op1, const gst_mpz *op2)
+   }
+ }
++#if __GNU_MP_VERSION >= 5
++extern void __gmpn_divexact (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t);
++#endif
++
+ void
+ _gst_mpz_divexact (gst_mpz *quot, const gst_mpz *num, const gst_mpz *den)
+ {
+-  mp_ptr qp, tp;
++  mp_ptr qp;
+   mp_srcptr np, dp;
+-  mp_size_t nsize, dsize, qsize, d_zero_limbs;
++  mp_size_t nsize, dsize, qsize;
++#if __GNU_MP_VERSION < 5
++  mp_ptr tp;
++  mp_size_t d_zero_limbs;
+   int d_zero_bits;
++#endif
+   nsize = ABS (num->size);
+   dsize = ABS (den->size);
+@@ -1542,6 +1550,7 @@ _gst_mpz_divexact (gst_mpz *quot, const gst_mpz *num, const gst_mpz *den)
+       return;
+     }
++#if __GNU_MP_VERSION < 5
+   /* Avoid quadratic behaviour, but do it conservatively.  */
+   if (nsize - dsize > 1500)
+     {
+@@ -1560,6 +1569,7 @@ _gst_mpz_divexact (gst_mpz *quot, const gst_mpz *num, const gst_mpz *den)
+   dsize -= d_zero_limbs;
+   np += d_zero_limbs;
+   nsize -= d_zero_limbs;
++#endif
+   /* Allocate where we place the result.  It must be nsize limbs big
+      because it also acts as a temporary area.  */
+@@ -1567,6 +1577,7 @@ _gst_mpz_divexact (gst_mpz *quot, const gst_mpz *num, const gst_mpz *den)
+     gst_mpz_realloc (quot, nsize);
+   qp = quot->d;
++#if __GNU_MP_VERSION < 5
+   if (d_zero_bits != 0)
+     {
+       tp = (mp_ptr) alloca (dsize * SIZEOF_MP_LIMB_T);
+@@ -1579,9 +1590,14 @@ _gst_mpz_divexact (gst_mpz *quot, const gst_mpz *num, const gst_mpz *den)
+     }
+   else
+     MPN_COPY(qp, np, nsize);
++#endif
+   qsize = nsize - dsize + 1;
++#if __GNU_MP_VERSION < 5
+   mpn_bdivmod (qp, qp, nsize, dp, dsize, qsize * GMP_NUMB_BITS);
++#else
++  __gmpn_divexact (qp, np, nsize, dp, dsize);
++#endif
+   quot->size = (num->size ^ den->size) >= 0 ? qsize : -qsize;
+ }
+-- 
+1.6.5
+
index 88af0a27a0cfae089230596d3c5cda64da8e7e33..666bce3afd9cc25f1e33d45f4f5dfb6256fe44a2 100644 (file)
@@ -17,6 +17,7 @@ Source0:      ftp://ftp.gnu.org/pub/gnu/smalltalk/%{name}-%{version}.tar.gz
 Source1:       %{name}.desktop
 Source2:       %{name}.png
 Patch0:                %{name}-proc.patch
+Patch1:                gmp5.patch
 URL:           http://www.gnu.org/software/smalltalk/
 BuildRequires: OpenGL-devel
 BuildRequires: OpenGL-glut-devel
@@ -160,6 +161,7 @@ ModuĊ‚ OpenGL dla GNU Smalltalka.
 %prep
 %setup -q
 %patch0 -p1
+%patch1 -p1
 
 %build
 %configure \
This page took 0.123555 seconds and 4 git commands to generate.