diff options
author | Mike Frysinger <vapier@gentoo.org> | 2009-03-18 22:45:39 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2009-03-18 22:45:39 +0000 |
commit | b5575d84dce9e86c14a133569eb99a73e72142db (patch) | |
tree | ac1e60d6c29d982b25f9b44a302d6c2d6ddbe444 /dev-libs/mpfr | |
parent | Bump to 0.14. (diff) | |
download | gentoo-2-b5575d84dce9e86c14a133569eb99a73e72142db.tar.gz gentoo-2-b5575d84dce9e86c14a133569eb99a73e72142db.tar.bz2 gentoo-2-b5575d84dce9e86c14a133569eb99a73e72142db.zip |
old
Diffstat (limited to 'dev-libs/mpfr')
-rw-r--r-- | dev-libs/mpfr/files/2.3.2/mpfr-2.3.2-svn5664.patch | 180 | ||||
-rw-r--r-- | dev-libs/mpfr/files/2.3.2/mpfr-2.3.2-svn5752.patch | 389 | ||||
-rw-r--r-- | dev-libs/mpfr/files/2.4.0/patch01 | 359 | ||||
-rw-r--r-- | dev-libs/mpfr/mpfr-2.3.2-r1.ebuild | 49 | ||||
-rw-r--r-- | dev-libs/mpfr/mpfr-2.4.0.ebuild | 49 | ||||
-rw-r--r-- | dev-libs/mpfr/mpfr-2.4.0_p1.ebuild | 49 | ||||
-rw-r--r-- | dev-libs/mpfr/mpfr-2.4.1.ebuild | 49 |
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 -} |