summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Black <dragonheart@gentoo.org>2006-01-07 00:46:10 +0000
committerDaniel Black <dragonheart@gentoo.org>2006-01-07 00:46:10 +0000
commit43acbd830e6007b587bbc5fcb8b8fd4065196193 (patch)
tree1e3834408e1ec556d6955caf0bd3fff2639bb354 /dev-libs/mpfr
parenttrim whitespace (diff)
downloadgentoo-2-43acbd830e6007b587bbc5fcb8b8fd4065196193.tar.gz
gentoo-2-43acbd830e6007b587bbc5fcb8b8fd4065196193.tar.bz2
gentoo-2-43acbd830e6007b587bbc5fcb8b8fd4065196193.zip
added more patches from upstream
(Portage version: 2.1_pre3-r1)
Diffstat (limited to 'dev-libs/mpfr')
-rw-r--r--dev-libs/mpfr/ChangeLog8
-rw-r--r--dev-libs/mpfr/Manifest16
-rw-r--r--dev-libs/mpfr/files/2.2.0/patch0625
-rw-r--r--dev-libs/mpfr/files/2.2.0/patch0736
-rw-r--r--dev-libs/mpfr/files/digest-mpfr-2.2.0_p72
-rw-r--r--dev-libs/mpfr/mpfr-2.2.0_p7.ebuild52
6 files changed, 127 insertions, 12 deletions
diff --git a/dev-libs/mpfr/ChangeLog b/dev-libs/mpfr/ChangeLog
index b556cf7fbea1..139a5346b6bb 100644
--- a/dev-libs/mpfr/ChangeLog
+++ b/dev-libs/mpfr/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for dev-libs/mpfr
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/mpfr/ChangeLog,v 1.6 2006/01/03 04:54:33 kumba Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/mpfr/ChangeLog,v 1.7 2006/01/07 00:46:09 dragonheart Exp $
+
+*mpfr-2.2.0_p7 (07 Jan 2006)
+
+ 07 Jan 2006; Daniel Black <dragonheart@gentoo.org> +files/2.2.0/patch06
+ +files/2.2.0/patch07, +mpfr-2.2.0_p7.ebuild:
+ added more patches from upstream
03 Jan 2006; Joshua Kinard <kumba@gentoo.org> mpfr-2.2.0_p4.ebuild:
Add ~mips to KEYWORDS.
diff --git a/dev-libs/mpfr/Manifest b/dev-libs/mpfr/Manifest
index 580b3efe4367..eddfd4b54486 100644
--- a/dev-libs/mpfr/Manifest
+++ b/dev-libs/mpfr/Manifest
@@ -1,18 +1,12 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
-MD5 a6bd6377546ee2060a2a0c146f6d9592 ChangeLog 903
+MD5 9d87482dd492f6c1164e8c40074f84eb ChangeLog 1113
MD5 8104d29f4f544ed24fc54349b3c50968 files/2.2.0/patch01 1248
MD5 34ae93cd0ed0b3adcb49cfdc68c18b75 files/2.2.0/patch02 2177
MD5 a7af9750238fdf49c8dffcf151f57049 files/2.2.0/patch03 407
MD5 2244e0aef66bc63773899b1758b8e812 files/2.2.0/patch04 811
+MD5 a8925f41bbdfe0bbf5318e47ce50a160 files/2.2.0/patch06 835
+MD5 8b51f44fc908bad70ea0d458bac47fb9 files/2.2.0/patch07 1651
MD5 f6dac72eea74ed7475bfcb5461ebe3af files/digest-mpfr-2.2.0_p4 63
+MD5 868ae437254277cb5364323564dc124d files/digest-mpfr-2.2.0_p7 120
MD5 567094e03359ffc1c95af7356395228d metadata.xml 162
MD5 69440ff8d7609c44fc1569e999970150 mpfr-2.2.0_p4.ebuild 988
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.2 (GNU/Linux)
-
-iD8DBQFDvhnH2+ySkm8kpY0RApDyAJ9YtgkkhsieZAdjZgOecD+IIRL54ACfdTTB
-hud4x0AWiec1unrHb2mvCfg=
-=ngCy
------END PGP SIGNATURE-----
+MD5 f117db2732cc7bb690d37e632aeb86ab mpfr-2.2.0_p7.ebuild 1311
diff --git a/dev-libs/mpfr/files/2.2.0/patch06 b/dev-libs/mpfr/files/2.2.0/patch06
new file mode 100644
index 000000000000..5294677ada37
--- /dev/null
+++ b/dev-libs/mpfr/files/2.2.0/patch06
@@ -0,0 +1,25 @@
+diff -Naurd mpfr-2.2.0-p5/div.c mpfr-2.2.0-p6/div.c
+--- mpfr-2.2.0-p5/div.c 2005-08-18 17:03:05.000000000 +0000
++++ mpfr-2.2.0-p6/div.c 2005-11-24 21:39:31.000000000 +0000
+@@ -298,17 +298,16 @@
+ MPN_COPY(bp, vp, vsize);
+ }
+ sticky_v = sticky_v || mpn_cmpzero (vp, k);
++ k = 0;
+ }
+- else /* vsize < qsize */
++ else /* vsize < qsize: small divisor case */
+ {
++ bp = vp;
+ k = qsize - vsize;
+- bp = (mp_ptr) MPFR_TMP_ALLOC (qsize * sizeof(mp_limb_t));
+- MPN_COPY(bp + k, vp, vsize);
+- MPN_ZERO(bp, k);
+ }
+
+ /* we now can perform the division */
+- qh = mpn_divrem (qp, 0, ap, qqsize, bp, qsize);
++ qh = mpn_divrem (qp, 0, ap + k, qqsize - k, bp, qsize - k);
+ /* warning: qh may be 1 if u1 == v1, but u < v */
+ #ifdef DEBUG
+ printf ("q="); mpn_print (qp, qsize);
diff --git a/dev-libs/mpfr/files/2.2.0/patch07 b/dev-libs/mpfr/files/2.2.0/patch07
new file mode 100644
index 000000000000..61b48e38acb2
--- /dev/null
+++ b/dev-libs/mpfr/files/2.2.0/patch07
@@ -0,0 +1,36 @@
+diff -Naurd mpfr-2.2.0-p6/sin.c mpfr-2.2.0-p7/sin.c
+--- mpfr-2.2.0-p6/sin.c 2005-08-18 17:03:11.000000000 +0000
++++ mpfr-2.2.0-p7/sin.c 2005-12-24 15:17:54.000000000 +0000
+@@ -162,10 +162,12 @@
+ {
+ /* the absolute error on c is at most 2^(3-m-EXP(c)) */
+ e = 2 * MPFR_GET_EXP (c) + m - 3;
+- if (mpfr_can_round (c, e, GMP_RNDZ, GMP_RNDZ,
++ if (mpfr_can_round (c, e, GMP_RNDN, GMP_RNDZ,
+ precy + (rnd_mode == GMP_RNDN)))
+- /* WARNING: need one more bit for rounding to nearest,
+- to be able to get the inexact flag correct */
++ /* WARNING: even if we know c <= sin(x), don't give GMP_RNDZ
++ as 3rd argument to mpfr_can_round, since if c is exactly
++ representable to the target precision (inexact = 0 below),
++ we would have to add one ulp when rounding away from 0. */
+ break;
+
+ /* check for huge cancellation (Near 0) */
+@@ -183,14 +185,8 @@
+ MPFR_ZIV_FREE (loop);
+
+ inexact = mpfr_set (y, c, rnd_mode);
+-
+- /* sin(x) is exact only for x = 0, which was treated apart above;
+- nevertheless, we can have inexact = 0 here if the approximation c
+- is exactly representable with PREC(y) bits. Since c is an approximation
+- towards zero, in that case the inexact flag should have the opposite sign
+- as y. */
+- if (MPFR_UNLIKELY (inexact == 0))
+- inexact = -MPFR_INT_SIGN (y);
++ /* inexact cannot be 0, since this would mean that c was representable
++ within the target precision, but in that case mpfr_can_round will fail */
+
+ mpfr_clear (c);
+
diff --git a/dev-libs/mpfr/files/digest-mpfr-2.2.0_p7 b/dev-libs/mpfr/files/digest-mpfr-2.2.0_p7
new file mode 100644
index 000000000000..caf7ea23d636
--- /dev/null
+++ b/dev-libs/mpfr/files/digest-mpfr-2.2.0_p7
@@ -0,0 +1,2 @@
+MD5 1a81f721ee78cb027f6c41a243d3a33d mpfr-2.2.0.tar.bz2 728490
+MD5 5c4db32dfaef7d032e2f359cacebf7ce mpfr-2.2.0_p5 27251
diff --git a/dev-libs/mpfr/mpfr-2.2.0_p7.ebuild b/dev-libs/mpfr/mpfr-2.2.0_p7.ebuild
new file mode 100644
index 000000000000..ffb303a3ff59
--- /dev/null
+++ b/dev-libs/mpfr/mpfr-2.2.0_p7.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/mpfr/mpfr-2.2.0_p7.ebuild,v 1.1 2006/01/07 00:46:09 dragonheart Exp $
+
+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.bz2
+ mirror://gentoo/mpfr-2.2.0_p5"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~ppc64 s390 ~sh ~sparc ~x86"
+IUSE=""
+
+DEPEND=">=dev-libs/gmp-4.1.4-r2"
+
+S=${WORKDIR}/${MY_P}
+
+src_unpack() {
+ unpack "${MY_P}.tar.bz2"
+ cd "${S}"
+ 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}-2.2.0_p${i}" ]; then
+ epatch "${DISTDIR}/${PN}-2.2.0_p${i}"
+ else
+ ewarn "${DISTDIR}/${PN}-2.2.0_p${i}"
+ die "patch ${i} missing - please report to bugs.gentoo.org"
+ fi
+ done
+}
+
+src_compile() {
+ econf \
+ --enable-shared \
+ --enable-static \
+ || die
+ emake || die
+}
+
+src_install() {
+ make install DESTDIR="${D}" || die
+ dodoc AUTHORS BUGS ChangeLog NEWS README TODO
+ dohtml *.html
+}