summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/mpfr')
-rw-r--r--dev-libs/mpfr/files/2.3.2/mpfr-2.3.2-svn5664.patch180
-rw-r--r--dev-libs/mpfr/files/2.3.2/mpfr-2.3.2-svn5752.patch389
-rw-r--r--dev-libs/mpfr/files/2.4.0/patch01359
-rw-r--r--dev-libs/mpfr/mpfr-2.3.2-r1.ebuild49
-rw-r--r--dev-libs/mpfr/mpfr-2.4.0.ebuild49
-rw-r--r--dev-libs/mpfr/mpfr-2.4.0_p1.ebuild49
-rw-r--r--dev-libs/mpfr/mpfr-2.4.1.ebuild49
7 files changed, 0 insertions, 1124 deletions
diff --git a/dev-libs/mpfr/files/2.3.2/mpfr-2.3.2-svn5664.patch b/dev-libs/mpfr/files/2.3.2/mpfr-2.3.2-svn5664.patch
deleted file mode 100644
index e71022dc0584..000000000000
--- a/dev-libs/mpfr/files/2.3.2/mpfr-2.3.2-svn5664.patch
+++ /dev/null
@@ -1,180 +0,0 @@
-fix from upstream:
-
-Incorrect directed rounding in mpfr_strtofr. In mpfr_strtofr, rounding
-"1.00000000000000000006" upward to 32 bits returns 1 with ternary value 0
-instead of 1+ with positive ternary value. This bug also affects the result of
-mpfr_set_str (as it is based on mpfr_strtofr).
-[Changesets: 5664 5752]
-
-https://gforge.inria.fr/tracker/index.php?func=detail&aid=6604&group_id=136&atid=619
-
-Index: branches/2.3/strtofr.c
-===================================================================
---- branches/2.3/strtofr.c (revision 5663)
-+++ branches/2.3/strtofr.c (revision 5664)
-@@ -473,7 +473,7 @@ parsed_string_to_mpfr (mpfr_t x, struct
-
- if (pstr_size >= pstr->prec)
- pstr_size = pstr->prec;
-- MPFR_ASSERTD ((mp_exp_t) pstr_size == (mp_exp_t) pstr_size);
-+ MPFR_ASSERTD (pstr_size == (mp_exp_t) pstr_size);
-
- /* convert str into binary */
- real_ysize = mpn_set_str (y, pstr->mant, pstr_size, pstr->base);
-@@ -656,6 +656,19 @@ parsed_string_to_mpfr (mpfr_t x, struct
- err = 0;
- }
-
-+ if (pstr_size < pstr->prec && exact
-+ && ((rnd == GMP_RNDN)
-+ || ((rnd == GMP_RNDD && pstr->negative)
-+ || (rnd == GMP_RNDU && !pstr->negative))))
-+ {
-+ /* Some significant digits might have been forgotten, if so result
-+ is not exact. */
-+ size_t i;
-+
-+ for (i = pstr_size; exact && i < pstr->prec; i++)
-+ exact = pstr->mant[i] == 0;
-+ }
-+
- /* test if rounding is possible, and if so exit the loop */
- if (exact || mpfr_can_round_raw (result, ysize,
- (pstr->negative) ? -1 : 1,
-Index: branches/2.3/tests/tstrtofr.c
-===================================================================
---- branches/2.3/tests/tstrtofr.c (revision 5663)
-+++ branches/2.3/tests/tstrtofr.c (revision 5664)
-@@ -27,28 +27,7 @@ MA 02110-1301, USA. */
-
- #include "mpfr-test.h"
-
--static void check_reftable (void);
--static void check_special (void);
--static void check_retval (void);
--static void check_overflow (void);
--static void check_parse (void);
--
--int
--main (int argc, char *argv[])
--{
-- tests_start_mpfr ();
--
-- check_special();
-- check_reftable ();
-- check_parse ();
-- check_overflow ();
-- check_retval ();
--
-- tests_end_mpfr ();
-- return 0;
--}
--
--void
-+static void
- check_special (void)
- {
- mpfr_t x, y;
-@@ -551,8 +530,7 @@ static struct dymmy_test {
- "1.001000010110011011000101100000101111101001100011101101001111110111000010010110010001100e-16920"}
- };
-
--
--void
-+static void
- check_reftable ()
- {
- int i, base;
-@@ -597,7 +575,7 @@ check_reftable ()
- mpfr_clear (x);
- }
-
--void
-+static void
- check_parse (void)
- {
- mpfr_t x;
-@@ -951,3 +929,46 @@ check_retval (void)
-
- mpfr_clear (x);
- }
-+
-+/* Bug found by Christoph Lauter (in mpfr_set_str). */
-+static void
-+bug20081028 (void)
-+{
-+ mpfr_t x;
-+ const char *s = "0.10000000000000000000000000000001E1";
-+ int res, err = 0;
-+
-+ mpfr_init2 (x, 32);
-+ res = mpfr_strtofr (x, "1.00000000000000000006", NULL, 10, GMP_RNDU);
-+ if (res <= 0)
-+ {
-+ printf ("Error in bug20081028: expected positive ternary value,"
-+ " got %d\n", res);
-+ err = 1;
-+ }
-+ if (! mpfr_greater_p (x, __gmpfr_one))
-+ {
-+ printf ("Error in bug20081028:\nExpected %s\nGot ", s);
-+ mpfr_dump (x);
-+ err = 1;
-+ }
-+ mpfr_clear (x);
-+ if (err)
-+ exit (1);
-+}
-+
-+int
-+main (int argc, char *argv[])
-+{
-+ tests_start_mpfr ();
-+
-+ check_special();
-+ check_reftable ();
-+ check_parse ();
-+ check_overflow ();
-+ check_retval ();
-+ bug20081028 ();
-+
-+ tests_end_mpfr ();
-+ return 0;
-+}
-Index: branches/2.3/tests/tset_str.c
-===================================================================
---- branches/2.3/tests/tset_str.c (revision 5663)
-+++ branches/2.3/tests/tset_str.c (revision 5664)
-@@ -81,6 +81,24 @@ check_underflow (void)
- mpfr_clear (a);
- }
-
-+/* Bug found by Christoph Lauter. */
-+static void
-+bug20081028 (void)
-+{
-+ mpfr_t x;
-+ const char *s = "0.10000000000000000000000000000001E1";
-+
-+ mpfr_init2 (x, 32);
-+ mpfr_set_str (x, "1.00000000000000000006", 10, GMP_RNDU);
-+ if (! mpfr_greater_p (x, __gmpfr_one))
-+ {
-+ printf ("Error in bug20081028:\nExpected %s\nGot ", s);
-+ mpfr_dump (x);
-+ exit (1);
-+ }
-+ mpfr_clear (x);
-+}
-+
- int
- main (int argc, char *argv[])
- {
-@@ -845,6 +863,7 @@ main (int argc, char *argv[])
- mpfr_clear (y);
-
- check_underflow ();
-+ bug20081028 ();
-
- tests_end_mpfr ();
- return 0;
diff --git a/dev-libs/mpfr/files/2.3.2/mpfr-2.3.2-svn5752.patch b/dev-libs/mpfr/files/2.3.2/mpfr-2.3.2-svn5752.patch
deleted file mode 100644
index 82f2b5bda411..000000000000
--- a/dev-libs/mpfr/files/2.3.2/mpfr-2.3.2-svn5752.patch
+++ /dev/null
@@ -1,389 +0,0 @@
-fix from upstream:
-
-Incorrect directed rounding in mpfr_strtofr. In mpfr_strtofr, rounding
-"1.00000000000000000006" upward to 32 bits returns 1 with ternary value 0
-instead of 1+ with positive ternary value. This bug also affects the result of
-mpfr_set_str (as it is based on mpfr_strtofr).
-[Changesets: 5664 5752]
-
-https://gforge.inria.fr/tracker/index.php?func=detail&aid=6604&group_id=136&atid=619
-
-Index: branches/2.3/strtofr.c
-===================================================================
---- branches/2.3/strtofr.c (revision 5751)
-+++ branches/2.3/strtofr.c (revision 5752)
-@@ -31,14 +31,24 @@ MA 02110-1301, USA. */
- #define MPFR_MAX_BASE 62
-
- struct parsed_string {
-- int negative;
-- int base;
-- unsigned char *mantissa, *mant;
-- size_t prec, alloc;
-- mp_exp_t exp_base, exp_bin;
-+ int negative; /* non-zero iff the number is negative */
-+ int base; /* base of the string */
-+ unsigned char *mantissa; /* raw significand (without any point) */
-+ unsigned char *mant; /* stripped significand (without starting and
-+ ending zeroes) */
-+ size_t prec; /* length of mant (zero for +/-0) */
-+ size_t alloc; /* allocation size of mantissa */
-+ mp_exp_t exp_base; /* number of digits before the point */
-+ mp_exp_t exp_bin; /* exponent in case base=2 or 16, and the pxxx
-+ format is used (i.e., exponent is given in
-+ base 10) */
- };
-
--/* This table has been generated by the following program */
-+/* This table has been generated by the following program.
-+ For 2 <= b <= MPFR_MAX_BASE,
-+ RedInvLog2Table[b-2][0] / RedInvLog2Table[b-2][1]
-+ is an upper approximation of log(2)/log(b).
-+*/
- static const unsigned long RedInvLog2Table[MPFR_MAX_BASE-1][2] = {
- {1UL, 1UL},
- {53UL, 84UL},
-@@ -441,7 +451,7 @@ parsed_string_to_mpfr (mpfr_t x, struct
- MPFR_ZIV_DECL (loop);
- MPFR_TMP_DECL (marker);
-
-- /* determine the minimal precision for the computation */
-+ /* initialize the working precision */
- prec = MPFR_PREC (x) + MPFR_INT_CEIL_LOG2 (MPFR_PREC (x));
-
- /* compute y as long as rounding is not possible */
-@@ -449,60 +459,88 @@ parsed_string_to_mpfr (mpfr_t x, struct
- MPFR_ZIV_INIT (loop, prec);
- for (;;)
- {
-- /* initialize y to the value of 0.mant_s[0]...mant_s[pr-1] */
-+ /* Set y to the value of the ~prec most significant bits of pstr->mant
-+ (as long as we guarantee correct rounding, we don't need to get
-+ exactly prec bits). */
- ysize = (prec - 1) / BITS_PER_MP_LIMB + 1;
-+ /* prec bits corresponds to ysize limbs */
- ysize_bits = ysize * BITS_PER_MP_LIMB;
-+ /* and to ysize_bits >= prec > MPFR_PREC (x) bits */
- y = (mp_limb_t*) MPFR_TMP_ALLOC ((2 * ysize + 1) * sizeof (mp_limb_t));
-- y += ysize;
-+ y += ysize; /* y has (ysize+1) allocated limbs */
-
-- /* required precision for str to have ~ysize limbs
-- We must have (2^(BITS_PER_MP_LIMB))^ysize ~= base^pstr_size
-- aka pstr_size = ceil (ysize*BITS_PER_MP_LIMB/log2(base))
-- ysize ~ prec/BITS_PER_MP_LIMB and prec < Umax/2 =>
-+ /* pstr_size is the number of characters we read in pstr->mant
-+ to have at least ysize full limbs.
-+ We must have base^(pstr_size-1) >= (2^(BITS_PER_MP_LIMB))^ysize
-+ (in the worst case, the first digit is one and all others are zero).
-+ i.e., pstr_size >= 1 + ysize*BITS_PER_MP_LIMB/log2(base)
-+ Since ysize ~ prec/BITS_PER_MP_LIMB and prec < Umax/2 =>
- ysize*BITS_PER_MP_LIMB can not overflow.
-- Compute pstr_size = ysize_bits * Num / Den
-- Where Num/Den ~ 1/log2(base)
-+ We compute pstr_size = 1 + ceil(ysize_bits * Num / Den)
-+ where Num/Den >= 1/log2(base)
- It is not exactly ceil(1/log2(base)) but could be one more (base 2)
-- Quite ugly since it tries to avoid overflow */
-- pstr_size = ( ysize_bits / RedInvLog2Table[pstr->base-2][1]
-- * RedInvLog2Table[pstr->base-2][0] )
-- + (( ysize_bits % RedInvLog2Table[pstr->base-2][1])
-- * RedInvLog2Table[pstr->base-2][0]
-- / RedInvLog2Table[pstr->base-2][1] )
-- + 1;
-+ Quite ugly since it tries to avoid overflow:
-+ let Num = RedInvLog2Table[pstr->base-2][0]
-+ and Den = RedInvLog2Table[pstr->base-2][1],
-+ and ysize_bits = a*Den+b,
-+ then ysize_bits * Num/Den = a*Num + (b * Num)/Den,
-+ thus ceil(ysize_bits * Num/Den) = a*Num + floor(b * Num + Den - 1)/Den
-+ */
-+ {
-+ unsigned long Num = RedInvLog2Table[pstr->base-2][0];
-+ unsigned long Den = RedInvLog2Table[pstr->base-2][1];
-+ pstr_size = ((ysize_bits / Den) * Num)
-+ + (((ysize_bits % Den) * Num + Den - 1) / Den)
-+ + 1;
-+ }
-+
-+ /* since pstr_size corresponds to at least ysize_bits full bits,
-+ and ysize_bits > prec, the weight of the neglected part of
-+ pstr->mant (if any) is < ulp(y) < ulp(x) */
-
-+ /* if the number of wanted characters is more than what we have in
-+ pstr->mant, round it down */
- if (pstr_size >= pstr->prec)
- pstr_size = pstr->prec;
- MPFR_ASSERTD (pstr_size == (mp_exp_t) pstr_size);
-
-- /* convert str into binary */
-+ /* convert str into binary: note that pstr->mant is big endian,
-+ thus no offset is needed */
- real_ysize = mpn_set_str (y, pstr->mant, pstr_size, pstr->base);
-- MPFR_ASSERTD ( real_ysize <= ysize+1);
-+ MPFR_ASSERTD (real_ysize <= ysize+1);
-
- /* normalize y: warning we can get even get ysize+1 limbs! */
-- MPFR_ASSERTD (y[real_ysize - 1] != 0);
-+ MPFR_ASSERTD (y[real_ysize - 1] != 0); /* mpn_set_str guarantees this */
- count_leading_zeros (count, y[real_ysize - 1]);
-- exact = (real_ysize <= ysize);
-- if (exact != 0) /* shift y to the left in that case y should be exact */
-+ /* exact means that the number of limbs of the output of mpn_set_str
-+ is less or equal to ysize */
-+ exact = real_ysize <= ysize;
-+ if (exact) /* shift y to the left in that case y should be exact */
- {
-+ /* we have enough limbs to store {y, real_ysize} */
- /* shift {y, num_limb} for count bits to the left */
- if (count != 0)
-- mpn_lshift (y, y, real_ysize, count);
-- /* shift {y, num_limb} for (ysize-num_limb) limbs to the left */
-+ mpn_lshift (y + ysize - real_ysize, y, real_ysize, count);
- if (real_ysize != ysize)
- {
-- MPN_COPY_DECR (y + ysize - real_ysize, y, real_ysize);
-+ if (count == 0)
-+ MPN_COPY_DECR (y + ysize - real_ysize, y, real_ysize);
- MPN_ZERO (y, ysize - real_ysize);
- }
- /* for each bit shift decrease exponent of y */
- /* (This should not overflow) */
- exp = - ((ysize - real_ysize) * BITS_PER_MP_LIMB + count);
- }
-- else /* shift y for the right */
-+ else /* shift y to the right, by doing this we might lose some
-+ bits from the result of mpn_set_str (in addition to the
-+ characters neglected from pstr->mant) */
- {
- /* shift {y, num_limb} for (BITS_PER_MP_LIMB - count) bits
-- to the right */
-- mpn_rshift (y, y, real_ysize, BITS_PER_MP_LIMB - count);
-+ to the right. FIXME: can we prove that count cannot be zero here,
-+ since mpn_rshift does not accept a shift of BITS_PER_MP_LIMB? */
-+ MPFR_ASSERTD (count != 0);
-+ exact = mpn_rshift (y, y, real_ysize, BITS_PER_MP_LIMB - count) ==
-+ MPFR_LIMB_ZERO;
- /* for each bit shift increase exponent of y */
- exp = BITS_PER_MP_LIMB - count;
- }
-@@ -542,7 +580,7 @@ parsed_string_to_mpfr (mpfr_t x, struct
- result = y;
- err = 0;
- }
-- /* case pstr->exp_base > pstr_size */
-+ /* case non-power-of-two-base, and pstr->exp_base > pstr_size */
- else if (pstr->exp_base > (mp_exp_t) pstr_size)
- {
- mp_limb_t *z;
-@@ -559,6 +597,13 @@ parsed_string_to_mpfr (mpfr_t x, struct
- goto overflow;
- exact = exact && (err == -1);
-
-+ /* If exact is non zero, then z equals exactly the value of the
-+ pstr_size most significant digits from pstr->mant, i.e., the
-+ only difference can come from the neglected pstr->prec-pstr_size
-+ least significant digits of pstr->mant.
-+ If exact is zero, then z is rounded towards zero with respect
-+ to that value. */
-+
- /* multiply(y = 0.mant_s[0]...mant_s[pr-1])_base by base^(exp_s-g) */
- mpn_mul_n (result, y, z, ysize);
-
-@@ -588,6 +633,8 @@ parsed_string_to_mpfr (mpfr_t x, struct
- exp --;
- }
-
-+ /* if the low ysize limbs of {result, 2*ysize} are all zero,
-+ then the result is still "exact" (if it was before) */
- exact = exact && (mpn_scan1 (result, 0)
- >= (unsigned long) ysize_bits);
- result += ysize;
-@@ -598,7 +645,7 @@ parsed_string_to_mpfr (mpfr_t x, struct
- mp_limb_t *z;
- mp_exp_t exp_z;
-
-- result = (mp_limb_t*) MPFR_TMP_ALLOC ( (3*ysize+1) * BYTES_PER_MP_LIMB);
-+ result = (mp_limb_t*) MPFR_TMP_ALLOC ((3*ysize+1) * BYTES_PER_MP_LIMB);
-
- /* set y to y * K^ysize */
- y = y - ysize; /* we have allocated ysize limbs at y - ysize */
-@@ -622,7 +669,7 @@ parsed_string_to_mpfr (mpfr_t x, struct
- /* compute y / z */
- /* result will be put into result + n, and remainder into result */
- mpn_tdiv_qr (result + ysize, result, (mp_size_t) 0, y,
-- 2*ysize, z, ysize);
-+ 2 * ysize, z, ysize);
-
- /* exp -= exp_z + ysize_bits with overflow checking
- and check that we can add/substract 2 to exp without overflow */
-@@ -635,6 +682,8 @@ parsed_string_to_mpfr (mpfr_t x, struct
- MPFR_EXP_MIN+2, MPFR_EXP_MAX-2,
- goto overflow, goto underflow);
- err += 2;
-+ /* if the remainder of the division is zero, then the result is
-+ still "exact" if it was before */
- exact = exact && (mpn_popcount (result, ysize) == 0);
-
- /* normalize result */
-@@ -648,7 +697,7 @@ parsed_string_to_mpfr (mpfr_t x, struct
- }
- result += ysize;
- }
-- /* case exp_base = pstr_size */
-+ /* case exp_base = pstr_size: no multiplication or division needed */
- else
- {
- /* base^(exp_s-pr) = 1 nothing to compute */
-@@ -656,18 +705,16 @@ parsed_string_to_mpfr (mpfr_t x, struct
- err = 0;
- }
-
-- if (pstr_size < pstr->prec && exact
-- && ((rnd == GMP_RNDN)
-- || ((rnd == GMP_RNDD && pstr->negative)
-- || (rnd == GMP_RNDU && !pstr->negative))))
-- {
-- /* Some significant digits might have been forgotten, if so result
-- is not exact. */
-- size_t i;
--
-- for (i = pstr_size; exact && i < pstr->prec; i++)
-- exact = pstr->mant[i] == 0;
-- }
-+ /* If result is exact, we still have to consider the neglected part
-+ of the input string. For a directed rounding, in that case we could
-+ still correctly round, since the neglected part is less than
-+ one ulp, but that would make the code more complex, and give a
-+ speedup for rare cases only. */
-+ exact = exact && (pstr_size == pstr->prec);
-+
-+ /* at this point, result is an approximation rounded towards zero
-+ of the pstr_size most significant digits of pstr->mant, with
-+ equality in case exact is non-zero. */
-
- /* test if rounding is possible, and if so exit the loop */
- if (exact || mpfr_can_round_raw (result, ysize,
-@@ -692,6 +739,13 @@ parsed_string_to_mpfr (mpfr_t x, struct
- exp ++;
- }
-
-+ if (res == 0) /* fix ternary value */
-+ {
-+ exact = exact && (pstr_size == pstr->prec);
-+ if (!exact)
-+ res = (pstr->negative) ? 1 : -1;
-+ }
-+
- /* Set sign of x before exp since check_range needs a valid sign */
- (pstr->negative) ? MPFR_SET_NEG (x) : MPFR_SET_POS (x);
-
-Index: branches/2.3/tests/tstrtofr.c
-===================================================================
---- branches/2.3/tests/tstrtofr.c (revision 5751)
-+++ branches/2.3/tests/tstrtofr.c (revision 5752)
-@@ -931,30 +931,88 @@ check_retval (void)
- }
-
- /* Bug found by Christoph Lauter (in mpfr_set_str). */
-+static struct bug20081025_test {
-+ mpfr_rnd_t rnd;
-+ int inexact;
-+ const char *str;
-+ const char *binstr;
-+} Bug20081028Table[] = {
-+ {GMP_RNDN, -1, "1.00000000000000000006", "1"},
-+ {GMP_RNDZ, -1, "1.00000000000000000006", "1"},
-+ {GMP_RNDU, +1, "1.00000000000000000006",
-+ "10000000000000000000000000000001e-31"},
-+ {GMP_RNDD, -1, "1.00000000000000000006", "1"},
-+
-+
-+ {GMP_RNDN, +1, "-1.00000000000000000006", "-1"},
-+ {GMP_RNDZ, +1, "-1.00000000000000000006", "-1"},
-+ {GMP_RNDU, +1, "-1.00000000000000000006", "-1"},
-+ {GMP_RNDD, -1, "-1.00000000000000000006",
-+ "-10000000000000000000000000000001e-31"},
-+
-+ {GMP_RNDN, +1, "0.999999999999999999999999999999999999999999999", "1"},
-+ {GMP_RNDZ, -1, "0.999999999999999999999999999999999999999999999",
-+ "11111111111111111111111111111111e-32"},
-+ {GMP_RNDU, +1, "0.999999999999999999999999999999999999999999999", "1"},
-+ {GMP_RNDD, -1, "0.999999999999999999999999999999999999999999999",
-+ "11111111111111111111111111111111e-32"},
-+
-+ {GMP_RNDN, -1, "-0.999999999999999999999999999999999999999999999", "-1"},
-+ {GMP_RNDZ, +1, "-0.999999999999999999999999999999999999999999999",
-+ "-11111111111111111111111111111111e-32"},
-+ {GMP_RNDU, +1, "-0.999999999999999999999999999999999999999999999",
-+ "-11111111111111111111111111111111e-32"},
-+ {GMP_RNDD, -1, "-0.999999999999999999999999999999999999999999999", "-1"}
-+};
-+
- static void
- bug20081028 (void)
- {
-- mpfr_t x;
-- const char *s = "0.10000000000000000000000000000001E1";
-- int res, err = 0;
-+ int i;
-+ int inexact, res;
-+ mpfr_rnd_t rnd;
-+ mpfr_t x, y;
-+ char *s;
-
- mpfr_init2 (x, 32);
-- res = mpfr_strtofr (x, "1.00000000000000000006", NULL, 10, GMP_RNDU);
-- if (res <= 0)
-- {
-- printf ("Error in bug20081028: expected positive ternary value,"
-- " got %d\n", res);
-- err = 1;
-- }
-- if (! mpfr_greater_p (x, __gmpfr_one))
-+ mpfr_init2 (y, 32);
-+ for (i = 0 ; i < numberof (Bug20081028Table) ; i++)
- {
-- printf ("Error in bug20081028:\nExpected %s\nGot ", s);
-- mpfr_dump (x);
-- err = 1;
-+ rnd = Bug20081028Table[i].rnd;
-+ inexact = Bug20081028Table[i].inexact;
-+ mpfr_set_str_binary (x, Bug20081028Table[i].binstr);
-+ res = mpfr_strtofr (y, Bug20081028Table[i].str, &s, 10, rnd);
-+ if (s == NULL || *s != 0)
-+ {
-+ printf ("Error in Bug20081028: strtofr didn't parse entire input\n"
-+ "for (i=%d) Str=\"%s\"", i, Bug20081028Table[i].str);
-+ exit (1);
-+ }
-+ if (! SAME_SIGN (res, inexact))
-+ {
-+ printf ("Error in Bug20081028: expected %s ternary value, "
-+ "got %d\nfor (i=%d) Rnd=%s Str=\"%s\"\n Set binary gives: ",
-+ inexact > 0 ? "positive" : "negative",
-+ res, i, mpfr_print_rnd_mode(rnd), Bug20081028Table[i].str);
-+ mpfr_dump (x);
-+ printf (" strtofr gives: ");
-+ mpfr_dump (y);
-+ exit (1);
-+ }
-+ if (mpfr_cmp (x, y))
-+ {
-+ printf ("Error in Bug20081028: Results differ between strtofr and "
-+ "set_binary\nfor (i=%d) Rnd=%s Str=\"%s\"\n"
-+ " Set binary gives: ",
-+ i, mpfr_print_rnd_mode(rnd), Bug20081028Table[i].str);
-+ mpfr_dump (x);
-+ printf (" strtofr gives: ");
-+ mpfr_dump (y);
-+ exit (1);
-+ }
- }
-+ mpfr_clear (y);
- mpfr_clear (x);
-- if (err)
-- exit (1);
- }
-
- int
diff --git a/dev-libs/mpfr/files/2.4.0/patch01 b/dev-libs/mpfr/files/2.4.0/patch01
deleted file mode 100644
index e2a9f81e92dd..000000000000
--- a/dev-libs/mpfr/files/2.4.0/patch01
+++ /dev/null
@@ -1,359 +0,0 @@
-diff -Naurd mpfr-2.4.0-a/PATCHES mpfr-2.4.0-b/PATCHES
---- mpfr-2.4.0-a/PATCHES 2009-01-26 12:52:01.000000000 +0000
-+++ mpfr-2.4.0-b/PATCHES 2009-02-20 17:27:44.000000000 +0000
-@@ -0,0 +1 @@
-+printf-hh-ll
-diff -Naurd mpfr-2.4.0-a/VERSION mpfr-2.4.0-b/VERSION
---- mpfr-2.4.0-a/VERSION 2009-01-26 12:52:01.000000000 +0000
-+++ mpfr-2.4.0-b/VERSION 2009-02-20 17:27:44.000000000 +0000
-@@ -1 +1 @@
--2.4.0
-+2.4.0-p1
-diff -Naurd mpfr-2.4.0-a/acinclude.m4 mpfr-2.4.0-b/acinclude.m4
---- mpfr-2.4.0-a/acinclude.m4 2009-01-26 12:52:01.000000000 +0000
-+++ mpfr-2.4.0-b/acinclude.m4 2009-01-26 12:52:01.000000000 +0000
-@@ -722,6 +722,16 @@
- [AC_DEFINE([NPRINTF_J], 1, [gmp_printf cannot read intmax_t])])
- fi
-
-+MPFR_FUNC_PRINTF_SPEC([%hhd], [char], [
-+#include <gmp.h>
-+ ], [gmp_],,
-+ [AC_DEFINE([NPRINTF_HH], 1, [gmp_printf cannot use 'hh' length modifier])])
-+
-+MPFR_FUNC_PRINTF_SPEC([%lld], [long long int], [
-+#include <gmp.h>
-+ ], [gmp_],,
-+ [AC_DEFINE([NPRINTF_LL], 1, [gmp_printf cannot read long long int])])
-+
- MPFR_FUNC_PRINTF_SPEC([%.0Lf], [long double], [
- #include <gmp.h>
- ], [gmp_],,
-diff -Naurd mpfr-2.4.0-a/configure mpfr-2.4.0-b/configure
---- mpfr-2.4.0-a/configure 2009-01-26 12:54:36.000000000 +0000
-+++ mpfr-2.4.0-b/configure 2009-02-20 17:38:36.000000000 +0000
-@@ -24874,6 +24874,170 @@
- fi
-
-
-+{ $as_echo "$as_me:$LINENO: checking if gmp_printf supports \"%hhd\"" >&5
-+$as_echo_n "checking if gmp_printf supports \"%hhd\"... " >&6; }
-+if test "$cross_compiling" = yes; then
-+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-+{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-+See \`config.log' for more details." >&5
-+$as_echo "$as_me: error: cannot run test program while cross compiling
-+See \`config.log' for more details." >&2;}
-+ { (exit 1); exit 1; }; }; }
-+else
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+
-+#include <stdio.h>
-+
-+#include <gmp.h>
-+
-+
-+int
-+main ()
-+{
-+
-+ char s[256];
-+ char a = 0;
-+ return (gmp_sprintf (s, "%hhd", a) != 1) ? 1 : 0;
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest$ac_exeext
-+if { (ac_try="$ac_link"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-+ (eval "$ac_link") 2>&5
-+ ac_status=$?
-+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-+ { (case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-+ (eval "$ac_try") 2>&5
-+ ac_status=$?
-+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ { $as_echo "$as_me:$LINENO: result: yes" >&5
-+$as_echo "yes" >&6; }
-+
-+else
-+ $as_echo "$as_me: program exited with status $ac_status" >&5
-+$as_echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+( exit $ac_status )
-+{ $as_echo "$as_me:$LINENO: result: no" >&5
-+$as_echo "no" >&6; }
-+
-+cat >>confdefs.h <<\_ACEOF
-+#define NPRINTF_HH 1
-+_ACEOF
-+
-+fi
-+rm -rf conftest.dSYM
-+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-+fi
-+
-+
-+
-+
-+
-+{ $as_echo "$as_me:$LINENO: checking if gmp_printf supports \"%lld\"" >&5
-+$as_echo_n "checking if gmp_printf supports \"%lld\"... " >&6; }
-+if test "$cross_compiling" = yes; then
-+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-+{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-+See \`config.log' for more details." >&5
-+$as_echo "$as_me: error: cannot run test program while cross compiling
-+See \`config.log' for more details." >&2;}
-+ { (exit 1); exit 1; }; }; }
-+else
-+ cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h. */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h. */
-+
-+#include <stdio.h>
-+
-+#include <gmp.h>
-+
-+
-+int
-+main ()
-+{
-+
-+ char s[256];
-+ long long int a = 0;
-+ return (gmp_sprintf (s, "%lld", a) != 1) ? 1 : 0;
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+rm -f conftest$ac_exeext
-+if { (ac_try="$ac_link"
-+case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-+ (eval "$ac_link") 2>&5
-+ ac_status=$?
-+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-+ { (case "(($ac_try" in
-+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+ *) ac_try_echo=$ac_try;;
-+esac
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-+ (eval "$ac_try") 2>&5
-+ ac_status=$?
-+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }; then
-+ { $as_echo "$as_me:$LINENO: result: yes" >&5
-+$as_echo "yes" >&6; }
-+
-+else
-+ $as_echo "$as_me: program exited with status $ac_status" >&5
-+$as_echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+( exit $ac_status )
-+{ $as_echo "$as_me:$LINENO: result: no" >&5
-+$as_echo "no" >&6; }
-+
-+cat >>confdefs.h <<\_ACEOF
-+#define NPRINTF_LL 1
-+_ACEOF
-+
-+fi
-+rm -rf conftest.dSYM
-+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-+fi
-+
-+
-+
-+
-+
- { $as_echo "$as_me:$LINENO: checking if gmp_printf supports \"%.0Lf\"" >&5
- $as_echo_n "checking if gmp_printf supports \"%.0Lf\"... " >&6; }
- if test "$cross_compiling" = yes; then
-diff -Naurd mpfr-2.4.0-a/mpfr.h mpfr-2.4.0-b/mpfr.h
---- mpfr-2.4.0-a/mpfr.h 2009-01-26 12:52:01.000000000 +0000
-+++ mpfr-2.4.0-b/mpfr.h 2009-02-20 17:27:44.000000000 +0000
-@@ -27,7 +27,7 @@
- #define MPFR_VERSION_MAJOR 2
- #define MPFR_VERSION_MINOR 4
- #define MPFR_VERSION_PATCHLEVEL 0
--#define MPFR_VERSION_STRING "2.4.0"
-+#define MPFR_VERSION_STRING "2.4.0-p1"
-
- /* Macros dealing with MPFR VERSION */
- #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
-diff -Naurd mpfr-2.4.0-a/tests/tfprintf.c mpfr-2.4.0-b/tests/tfprintf.c
---- mpfr-2.4.0-a/tests/tfprintf.c 2009-01-26 12:52:00.000000000 +0000
-+++ mpfr-2.4.0-b/tests/tfprintf.c 2009-02-20 16:31:02.000000000 +0000
-@@ -146,6 +146,7 @@
- short sh = -1;
- unsigned short ush = 1;
- int i = -1;
-+ int j = 1;
- unsigned int ui = 1;
- long lo = -1;
- unsigned long ulo = 1;
-@@ -179,12 +180,11 @@
-
- limb[0] = limb[1] = limb[2] = ~ (mp_limb_t) 0;
-
-- check_vfprintf (fout, "a. %Ra, b. %hhu, c. %u, d. %lx%hhn", mpfr, uch, ui,
-- ulo, &uch);
-- check_length (1, uch, 28, hhu);
-- check_vfprintf (fout, "a. %hhi, b. %Rb, c. %u, d. %li%ln", sch, mpfr, i,
-+ check_vfprintf (fout, "a. %Ra, b. %u, c. %lx%n", mpfr, ui, ulo, &j);
-+ check_length (1, j, 22, d);
-+ check_vfprintf (fout, "a. %c, b. %Rb, c. %u, d. %li%ln", i, mpfr, i,
- lo, &ulo);
-- check_length (2, ulo, 37, lu);
-+ check_length (2, ulo, 36, lu);
- check_vfprintf (fout, "a. %hi, b. %*f, c. %Re%hn", ush, 3, f, mpfr, &ush);
- check_length (3, ush, 29, hu);
- check_vfprintf (fout, "a. %hi, b. %f, c. %#.2Rf%n", sh, d, mpfr, &i);
-@@ -208,13 +208,18 @@
- check_length (9, sz, 30, zu);
- #endif
-
-+#ifndef NPRINTF_HH
-+ check_vfprintf (fout, "a. %hhi, b.%RA, c. %hhu%hhn", sch, mpfr, uch, &uch);
-+ check_length (10, uch, 21, hhu);
-+#endif
-+
- #if (__GNU_MP_VERSION * 10 + __GNU_MP_VERSION_MINOR) >= 42
- /* The 'M' specifier was added in gmp 4.2.0 */
- check_vfprintf (fout, "a. %Mx b. %Re%Mn", limb[0], mpfr, &limb[0]);
- if (limb[0] != 14 + BITS_PER_MP_LIMB / 4 || limb[1] != ~ (mp_limb_t) 0
- || limb[2] != ~ (mp_limb_t) 0)
- {
-- printf ("Error in test #10: mpfr_vfprintf did not print %d characters"
-+ printf ("Error in test #11: mpfr_vfprintf did not print %d characters"
- " as expected\n", 14 + (int) BITS_PER_MP_LIMB / 4);
- exit (1);
- }
-@@ -227,13 +232,13 @@
- if (limb[0] != 14 + 3 * BITS_PER_MP_LIMB / 4 || limb[1] != (mp_limb_t) 0
- || limb[2] != ~ (mp_limb_t) 0)
- {
-- printf ("Error in test #11: mpfr_vfprintf did not print %d characters"
-+ printf ("Error in test #12: mpfr_vfprintf did not print %d characters"
- " as expected\n", 14 + (int) BITS_PER_MP_LIMB / 4);
- exit (1);
- }
- #endif
-
--#ifdef HAVE_LONG_LONG
-+#if defined(HAVE_LONG_LONG) && !defined(NPRINTF_LL)
- {
- long long llo = -1;
- unsigned long long ullo = 1;
-diff -Naurd mpfr-2.4.0-a/tests/tprintf.c mpfr-2.4.0-b/tests/tprintf.c
---- mpfr-2.4.0-a/tests/tprintf.c 2009-01-26 12:52:00.000000000 +0000
-+++ mpfr-2.4.0-b/tests/tprintf.c 2009-02-20 16:31:02.000000000 +0000
-@@ -150,6 +150,7 @@
- short sh = -1;
- unsigned short ush = 1;
- int i = -1;
-+ int j = 1;
- unsigned int ui = 1;
- long lo = -1;
- unsigned long ulo = 1;
-@@ -178,11 +179,10 @@
- mpfr_set_f (mpfr, mpf, GMP_RNDN);
- prec = mpfr_get_prec (mpfr);
-
-- check_vprintf ("a. %Ra, b. %hhu, c. %u, d. %lx%hhn", mpfr, uch, ui, ulo,
-- &uch);
-- check_length (1, uch, 28, hhu);
-- check_vprintf ("a. %hhi, b. %Rb, c. %u, d. %li%ln", sch, mpfr, i, lo, &ulo);
-- check_length (2, ulo, 37, lu);
-+ check_vprintf ("a. %Ra, b. %u, c. %lx%n", mpfr, ui, ulo, &j);
-+ check_length (1, j, 22, d);
-+ check_vprintf ("a. %c, b. %Rb, c. %u, d. %li%ln", i, mpfr, i, lo, &ulo);
-+ check_length (2, ulo, 36, lu);
- check_vprintf ("a. %hi, b. %*f, c. %Re%hn", ush, 3, f, mpfr, &ush);
- check_length (3, ush, 29, hu);
- check_vprintf ("a. %hi, b. %f, c. %#.2Rf%n", sh, d, mpfr, &i);
-@@ -204,7 +204,12 @@
- check_length (9, sz, 30, zu);
- #endif
-
--#ifdef HAVE_LONG_LONG
-+#ifndef NPRINTF_HH
-+ check_vprintf ("a. %hhi, b. %Ra, c. %hhu%hhn", sch, mpfr, uch, &uch);
-+ check_length (10, uch, 22, hhu);
-+#endif
-+
-+#if defined(HAVE_LONG_LONG) && !defined(NPRINTF_LL)
- {
- long long llo = -1;
- unsigned long long ullo = 1;
-diff -Naurd mpfr-2.4.0-a/vasprintf.c mpfr-2.4.0-b/vasprintf.c
---- mpfr-2.4.0-a/vasprintf.c 2009-01-26 12:52:01.000000000 +0000
-+++ mpfr-2.4.0-b/vasprintf.c 2009-02-20 16:31:02.000000000 +0000
-@@ -235,10 +235,14 @@
- break;
- case 'h':
- if (*++format == 'h')
-+#ifndef NPRINTF_HH
- {
- ++format;
- specinfo->arg_type = CHAR_ARG;
- }
-+#else
-+ specinfo->arg_type = UNSUPPORTED;
-+#endif
- else
- specinfo->arg_type = SHORT_ARG;
- break;
-@@ -246,7 +250,7 @@
- if (*++format == 'l')
- {
- ++format;
--#ifdef HAVE_LONG_LONG
-+#if defined (HAVE_LONG_LONG) && !defined(NPRINTF_LL)
- specinfo->arg_type = LONG_LONG_ARG;
- #else
- specinfo->arg_type = UNSUPPORTED;
-diff -Naurd mpfr-2.4.0-a/version.c mpfr-2.4.0-b/version.c
---- mpfr-2.4.0-a/version.c 2009-01-26 12:52:01.000000000 +0000
-+++ mpfr-2.4.0-b/version.c 2009-02-20 17:27:44.000000000 +0000
-@@ -25,5 +25,5 @@
- const char *
- mpfr_get_version (void)
- {
-- return "2.4.0";
-+ return "2.4.0-p1";
- }
diff --git a/dev-libs/mpfr/mpfr-2.3.2-r1.ebuild b/dev-libs/mpfr/mpfr-2.3.2-r1.ebuild
deleted file mode 100644
index ee56cbeedf4c..000000000000
--- a/dev-libs/mpfr/mpfr-2.3.2-r1.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2009 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/mpfr/mpfr-2.3.2-r1.ebuild,v 1.1 2009/01/16 19:48:19 vapier Exp $
-
-# NOTE: we cannot depend on autotools here starting with gcc-4.3.x
-inherit eutils
-
-MY_PV=${PV/_p*}
-MY_P=${PN}-${MY_PV}
-PLEVEL=${PV/*p}
-DESCRIPTION="library for multiple-precision floating-point computations with exact rounding"
-HOMEPAGE="http://www.mpfr.org/"
-SRC_URI="http://www.mpfr.org/mpfr-current/${MY_P}.tar.lzma"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd"
-IUSE=""
-
-RDEPEND=">=dev-libs/gmp-4.1.4-r2"
-DEPEND="${RDEPEND}
- app-arch/lzma-utils"
-
-S=${WORKDIR}/${MY_P}
-
-src_unpack() {
- unpack ${A}
- cd "${S}"
- [[ -d ${FILESDIR}/${PV} ]] && epatch "${FILESDIR}"/${PV}/*.patch
- [[ ${PLEVEL} == ${PV} ]] && return 0
- for ((i=1; i<=PLEVEL; ++i)) ; do
- patch=patch$(printf '%02d' ${i})
- if [[ -f ${FILESDIR}/${MY_PV}/${patch} ]] ; then
- epatch "${FILESDIR}"/${MY_PV}/${patch}
- elif [[ -f ${DISTDIR}/${PN}-${MY_PV}_p${i} ]] ; then
- epatch "${DISTDIR}"/${PN}-${MY_PV}_p${i}
- else
- ewarn "${DISTDIR}/${PN}-${MY_PV}_p${i}"
- die "patch ${i} missing - please report to bugs.gentoo.org"
- fi
- done
- find . -type f -print0 | xargs -0 touch -r configure
-}
-
-src_install() {
- emake install DESTDIR="${D}" || die
- dodoc AUTHORS BUGS ChangeLog NEWS README TODO
- dohtml *.html
-}
diff --git a/dev-libs/mpfr/mpfr-2.4.0.ebuild b/dev-libs/mpfr/mpfr-2.4.0.ebuild
deleted file mode 100644
index e5baebcce77d..000000000000
--- a/dev-libs/mpfr/mpfr-2.4.0.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2009 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/mpfr/mpfr-2.4.0.ebuild,v 1.1 2009/01/26 17:47:26 vapier Exp $
-
-# NOTE: we cannot depend on autotools here starting with gcc-4.3.x
-inherit eutils
-
-MY_PV=${PV/_p*}
-MY_P=${PN}-${MY_PV}
-PLEVEL=${PV/*p}
-DESCRIPTION="library for multiple-precision floating-point computations with exact rounding"
-HOMEPAGE="http://www.mpfr.org/"
-SRC_URI="http://www.mpfr.org/mpfr-current/${MY_P}.tar.lzma"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd"
-IUSE=""
-
-RDEPEND=">=dev-libs/gmp-4.1.4-r2"
-DEPEND="${RDEPEND}
- app-arch/lzma-utils"
-
-S=${WORKDIR}/${MY_P}
-
-src_unpack() {
- unpack ${A}
- cd "${S}"
- [[ -d ${FILESDIR}/${PV} ]] && epatch "${FILESDIR}"/${PV}/*.patch
- [[ ${PLEVEL} == ${PV} ]] && return 0
- for ((i=1; i<=PLEVEL; ++i)) ; do
- patch=patch$(printf '%02d' ${i})
- if [[ -f ${FILESDIR}/${MY_PV}/${patch} ]] ; then
- epatch "${FILESDIR}"/${MY_PV}/${patch}
- elif [[ -f ${DISTDIR}/${PN}-${MY_PV}_p${i} ]] ; then
- epatch "${DISTDIR}"/${PN}-${MY_PV}_p${i}
- else
- ewarn "${DISTDIR}/${PN}-${MY_PV}_p${i}"
- die "patch ${i} missing - please report to bugs.gentoo.org"
- fi
- done
- find . -type f -print0 | xargs -0 touch -r configure
-}
-
-src_install() {
- emake install DESTDIR="${D}" || die
- dodoc AUTHORS BUGS ChangeLog NEWS README TODO
- dohtml *.html
-}
diff --git a/dev-libs/mpfr/mpfr-2.4.0_p1.ebuild b/dev-libs/mpfr/mpfr-2.4.0_p1.ebuild
deleted file mode 100644
index 8a3c4ef3abe6..000000000000
--- a/dev-libs/mpfr/mpfr-2.4.0_p1.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2009 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/mpfr/mpfr-2.4.0_p1.ebuild,v 1.1 2009/02/21 22:24:08 vapier Exp $
-
-# NOTE: we cannot depend on autotools here starting with gcc-4.3.x
-inherit eutils
-
-MY_PV=${PV/_p*}
-MY_P=${PN}-${MY_PV}
-PLEVEL=${PV/*p}
-DESCRIPTION="library for multiple-precision floating-point computations with exact rounding"
-HOMEPAGE="http://www.mpfr.org/"
-SRC_URI="http://www.mpfr.org/mpfr-current/${MY_P}.tar.lzma"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd"
-IUSE=""
-
-RDEPEND=">=dev-libs/gmp-4.1.4-r2"
-DEPEND="${RDEPEND}
- app-arch/lzma-utils"
-
-S=${WORKDIR}/${MY_P}
-
-src_unpack() {
- unpack ${A}
- cd "${S}"
- [[ -d ${FILESDIR}/${PV} ]] && epatch "${FILESDIR}"/${PV}/*.patch
- [[ ${PLEVEL} == ${PV} ]] && return 0
- for ((i=1; i<=PLEVEL; ++i)) ; do
- patch=patch$(printf '%02d' ${i})
- if [[ -f ${FILESDIR}/${MY_PV}/${patch} ]] ; then
- epatch "${FILESDIR}"/${MY_PV}/${patch}
- elif [[ -f ${DISTDIR}/${PN}-${MY_PV}_p${i} ]] ; then
- epatch "${DISTDIR}"/${PN}-${MY_PV}_p${i}
- else
- ewarn "${DISTDIR}/${PN}-${MY_PV}_p${i}"
- die "patch ${i} missing - please report to bugs.gentoo.org"
- fi
- done
- find . -type f -print0 | xargs -0 touch -r configure
-}
-
-src_install() {
- emake install DESTDIR="${D}" || die
- dodoc AUTHORS BUGS ChangeLog NEWS README TODO
- dohtml *.html
-}
diff --git a/dev-libs/mpfr/mpfr-2.4.1.ebuild b/dev-libs/mpfr/mpfr-2.4.1.ebuild
deleted file mode 100644
index 0cbde6ed947c..000000000000
--- a/dev-libs/mpfr/mpfr-2.4.1.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2009 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/mpfr/mpfr-2.4.1.ebuild,v 1.1 2009/02/26 03:08:40 vapier Exp $
-
-# NOTE: we cannot depend on autotools here starting with gcc-4.3.x
-inherit eutils
-
-MY_PV=${PV/_p*}
-MY_P=${PN}-${MY_PV}
-PLEVEL=${PV/*p}
-DESCRIPTION="library for multiple-precision floating-point computations with exact rounding"
-HOMEPAGE="http://www.mpfr.org/"
-SRC_URI="http://www.mpfr.org/mpfr-current/${MY_P}.tar.lzma"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd"
-IUSE=""
-
-RDEPEND=">=dev-libs/gmp-4.1.4-r2"
-DEPEND="${RDEPEND}
- app-arch/lzma-utils"
-
-S=${WORKDIR}/${MY_P}
-
-src_unpack() {
- unpack ${A}
- cd "${S}"
- [[ -d ${FILESDIR}/${PV} ]] && epatch "${FILESDIR}"/${PV}/*.patch
- [[ ${PLEVEL} == ${PV} ]] && return 0
- for ((i=1; i<=PLEVEL; ++i)) ; do
- patch=patch$(printf '%02d' ${i})
- if [[ -f ${FILESDIR}/${MY_PV}/${patch} ]] ; then
- epatch "${FILESDIR}"/${MY_PV}/${patch}
- elif [[ -f ${DISTDIR}/${PN}-${MY_PV}_p${i} ]] ; then
- epatch "${DISTDIR}"/${PN}-${MY_PV}_p${i}
- else
- ewarn "${DISTDIR}/${PN}-${MY_PV}_p${i}"
- die "patch ${i} missing - please report to bugs.gentoo.org"
- fi
- done
- find . -type f -print0 | xargs -0 touch -r configure
-}
-
-src_install() {
- emake install DESTDIR="${D}" || die
- dodoc AUTHORS BUGS ChangeLog NEWS README TODO
- dohtml *.html
-}