Merge pull request #153 from marineam/updates

Update GCC and binutils
This commit is contained in:
Michael Marineau 2014-12-10 14:30:18 -08:00
commit 96aa5ada3a
367 changed files with 15135 additions and 1930 deletions

View File

@ -0,0 +1,787 @@
# ChangeLog for dev-libs/gmp
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/gmp/ChangeLog,v 1.210 2014/06/06 19:27:06 vapier Exp $
06 Jun 2014; Mike Frysinger <vapier@gentoo.org> -gmp-4.3.2.ebuild,
gmp-4.3.2-r1.ebuild:
Move the ABI-only ebuild into stable.
14 May 2014; Agostino Sarubbo <ago@gentoo.org> gmp-5.1.3-r1.ebuild:
Stable for sparc, wrt bug #505838
13 May 2014; Agostino Sarubbo <ago@gentoo.org> gmp-5.1.3-r1.ebuild:
Stable for ia64, wrt bug #505838
08 May 2014; Mike Frysinger <vapier@gentoo.org> gmp-5.1.0.ebuild,
gmp-5.1.1.ebuild, gmp-5.1.2.ebuild, gmp-5.1.3-r1.ebuild, gmp-5.1.3.ebuild,
gmp-6.0.0a.ebuild:
Fix typo in generated pgo header #509670 by Mikael Magnusson.
04 May 2014; Agostino Sarubbo <ago@gentoo.org> gmp-5.1.3-r1.ebuild:
Stable for x86, wrt bug #505838
20 Apr 2014; Agostino Sarubbo <ago@gentoo.org> gmp-5.1.3-r1.ebuild:
Stable for ppc64, wrt bug #505838
19 Apr 2014; Agostino Sarubbo <ago@gentoo.org> gmp-5.1.3-r1.ebuild:
Stable for alpha, wrt bug #505838
13 Apr 2014; Agostino Sarubbo <ago@gentoo.org> gmp-5.1.3-r1.ebuild:
Stable for ppc, wrt bug #505838
12 Apr 2014; Chema Alonso <nimiux@gentoo.org> gmp-5.1.3-r1.ebuild:
Stable for amd64 wrt bug #505838
01 Apr 2014; Markus Meier <maekke@gentoo.org> gmp-5.1.3-r1.ebuild:
arm stable, bug #505838
28 Mar 2014; Jeroen Roovers <jer@gentoo.org> gmp-5.1.3-r1.ebuild:
Stable for HPPA (bug #505838).
27 Mar 2014; Mike Frysinger <vapier@gentoo.org>
+files/6.0.0a/ppc64-build.diff, gmp-6.0.0a.ebuild:
Add fix from upstream for building on ppc64.
*gmp-6.0.0a (26 Mar 2014)
26 Mar 2014; Mike Frysinger <vapier@gentoo.org> +gmp-6.0.0a.ebuild:
Version bump.
26 Mar 2014; Mike Frysinger <vapier@gentoo.org> gmp-5.1.3-r1.ebuild:
Mark arm64/m68k/s390/sh stable #505838.
18 Jan 2014; Mike Frysinger <vapier@gentoo.org> gmp-5.1.2.ebuild,
gmp-5.1.3-r1.ebuild, gmp-5.1.3.ebuild:
Add arm64 love.
24 Dec 2013; Agostino Sarubbo <ago@gentoo.org> gmp-5.1.2.ebuild:
Stable for x86, wrt bug #487796
24 Dec 2013; Mike Frysinger <vapier@gentoo.org> gmp-5.1.3-r1.ebuild:
Drop use of -nopie and x86 tests as they pass now on x86/hardened systems
#487812 by Greg Turner.
24 Dec 2013; Mike Frysinger <vapier@gentoo.org> gmp-5.1.3-r1.ebuild:
Explicitly pass --enable-shared as the default is not as sane as expected
#476236 by Luke-Jr.
23 Dec 2013; Agostino Sarubbo <ago@gentoo.org> gmp-5.1.2.ebuild:
Stable for sparc, wrt bug #487796
23 Dec 2013; Mike Frysinger <vapier@gentoo.org> gmp-5.1.2.ebuild:
Mark ia64 stable #487796.
22 Dec 2013; Agostino Sarubbo <ago@gentoo.org> gmp-5.1.2.ebuild:
Stable for ppc64, wrt bug #487796
21 Dec 2013; Agostino Sarubbo <ago@gentoo.org> gmp-5.1.2.ebuild:
Stable for ppc, wrt bug #487796
03 Nov 2013; Matt Turner <mattst88@gentoo.org> gmp-5.1.2.ebuild:
alpha stable, bug 487796.
29 Oct 2013; Chema Alonso <nimiux@gentoo.org> gmp-5.1.2.ebuild:
Stable for amd64 wrt bug #487796
23 Oct 2013; Markus Meier <maekke@gentoo.org> gmp-5.1.2.ebuild:
arm stable, bug #487796
16 Oct 2013; Jeroen Roovers <jer@gentoo.org> gmp-5.1.2.ebuild:
Stable for HPPA (bug #487796).
13 Oct 2013; Michał Górny <mgorny@gentoo.org> gmp-5.1.3-r1.ebuild:
Explicitly call einstalldocs in multilib_src_install_all() to accomodate bug
#483304.
13 Oct 2013; Mike Gilbert <floppym@gentoo.org> gmp-5.1.3-r1.ebuild:
Steal more complete blocker set from sys-libs/gpm.
13 Oct 2013; Mike Gilbert <floppym@gentoo.org> gmp-5.1.3-r1.ebuild:
Make the blocker more specific.
13 Oct 2013; Mike Gilbert <floppym@gentoo.org> gmp-5.1.3-r1.ebuild:
Add blocker on old emul-linux-x86-baselibs.
*gmp-5.1.3-r1 (12 Oct 2013)
12 Oct 2013; Mike Frysinger <vapier@gentoo.org> +gmp-5.1.3-r1.ebuild:
Add multilib support #481306 by Alexis Ballier.
*gmp-5.1.3 (02 Oct 2013)
02 Oct 2013; Mike Frysinger <vapier@gentoo.org> +gmp-5.1.3.ebuild:
Version bump.
26 May 2013; Mike Frysinger <vapier@gentoo.org> gmp-5.1.0.ebuild,
gmp-5.1.1.ebuild, gmp-5.1.2.ebuild:
If USE=pgo tuning fails, ignore the results rather than aborting the build
#456346 by Justin Lecher.
*gmp-5.1.2 (21 May 2013)
21 May 2013; Mike Frysinger <vapier@gentoo.org> +gmp-5.1.2.ebuild:
Version bump.
21 Apr 2013; Mike Frysinger <vapier@gentoo.org> +files/gmp-5.1.0-armv4.patch,
gmp-5.1.0.ebuild, gmp-5.1.1.ebuild:
Fix builds for armv4 targets.
*gmp-5.1.1 (18 Feb 2013)
18 Feb 2013; Mike Frysinger <vapier@gentoo.org> +gmp-5.1.1.ebuild:
Version bump.
09 Feb 2013; Mike Frysinger <vapier@gentoo.org> gmp-5.1.0.ebuild,
metadata.xml:
Add support for USE=pgo #454912 by Richard Yao.
15 Jan 2013; Mike Frysinger <vapier@gentoo.org> gmp-5.1.0.ebuild:
Run tests in parallel.
10 Jan 2013; Mike Frysinger <vapier@gentoo.org>
+files/gmp-5.1.0-x32-support.patch, gmp-5.1.0.ebuild:
Fix x32 builds #451038 by Zenitur.
24 Dec 2012; Mike Frysinger <vapier@gentoo.org>
+files/gmp-5.1.0-x86-nopie-tests.patch, gmp-5.1.0.ebuild:
Update nopie test patch #448188 by Timo Kamph.
*gmp-5.1.0 (20 Dec 2012)
20 Dec 2012; Mike Frysinger <vapier@gentoo.org> +gmp-5.1.0.ebuild:
Version bump.
22 May 2012; Mike Frysinger <vapier@gentoo.org>
+files/gmp-5.0.5-x32-support.patch, gmp-5.0.5.ebuild:
Redo x32 patch for newer versions.
*gmp-5.0.5 (06 May 2012)
06 May 2012; Mike Frysinger <vapier@gentoo.org> +gmp-5.0.5.ebuild:
Version bump.
26 Apr 2012; Alexis Ballier <aballier@gentoo.org> gmp-5.0.4.ebuild:
keyword ~amd64-fbsd
13 Feb 2012; Kacper Kowalik <xarthisius@gentoo.org> gmp-5.0.2_p1.ebuild:
ppc64 stable wrt #395193
*gmp-5.0.4 (10 Feb 2012)
10 Feb 2012; Mike Frysinger <vapier@gentoo.org> +gmp-5.0.4.ebuild:
Version bump.
01 Feb 2012; Brent Baude <ranger@gentoo.org> gmp-5.0.2_p1.ebuild:
Marking gmp-5.0.2_p1 ppc for bug 395193
28 Jan 2012; Mike Frysinger <vapier@gentoo.org> gmp-5.0.3.ebuild:
Fix unpack with USE=doc #401161 by Marien Zwart.
*gmp-5.0.3 (27 Jan 2012)
27 Jan 2012; Mike Frysinger <vapier@gentoo.org> +gmp-5.0.3.ebuild:
Version bump.
03 Jan 2012; Mike Frysinger <vapier@gentoo.org> gmp-5.0.2_p1.ebuild:
Mung the libgmp.la references in libgmpxx.la #397389 by David Leverton.
01 Jan 2012; Raúl Porcel <armin76@gentoo.org> gmp-5.0.2_p1.ebuild:
ia64/m68k/s390/sh/sparc/x86 stable wrt #395193
26 Dec 2011; Markus Meier <maekke@gentoo.org> gmp-5.0.2_p1.ebuild:
arm stable, bug #395193
23 Dec 2011; Matt Turner <mattst88@gentoo.org> gmp-5.0.2_p1.ebuild:
alpha stable, bug #395193.
20 Dec 2011; Jeroen Roovers <jer@gentoo.org> gmp-5.0.2_p1.ebuild:
Stable for HPPA (bug #395193).
18 Dec 2011; Agostino Sarubbo <ago@gentoo.org> gmp-5.0.2_p1.ebuild:
Stable for AMD64, wrt bug #395193
18 Dec 2011; Mike Frysinger <vapier@gentoo.org> gmp-5.0.2.ebuild:
Mark ppc64 stable #380675.
08 Dec 2011; Mike Frysinger <vapier@gentoo.org>
files/gmp-5.0.2-x32-support.patch:
Tweak the x32 fix so it works for native builds too.
07 Dec 2011; Mike Frysinger <vapier@gentoo.org> gmp-5.0.2_p1.ebuild,
+files/gmp-5.0.2-x32-bugfix.patch, +files/gmp-5.0.2-x32-support.patch:
Add x32 ABI support.
13 Nov 2011; Mike Frysinger <vapier@gentoo.org> gmp-4.3.2.ebuild,
gmp-5.0.1.ebuild, gmp-5.0.2.ebuild, gmp-5.0.2_p1.ebuild:
Convert USE=nocxx to USE=cxx.
06 Nov 2011; Brent Baude <ranger@gentoo.org> gmp-5.0.2.ebuild:
Marking gmp-5.0.2 ppc for bug 380675
12 Oct 2011; Raúl Porcel <armin76@gentoo.org> gmp-5.0.2.ebuild:
alpha/ia64/m68k/s390/sh/sparc stable wrt #380675
*gmp-4.3.2-r1 (03 Oct 2011)
03 Oct 2011; Mike Frysinger <vapier@gentoo.org> +gmp-4.3.2-r1.ebuild:
Add ebuild for libgmp.so.3 ABI name.
03 Oct 2011; Mike Frysinger <vapier@gentoo.org> gmp-4.3.2.ebuild,
gmp-5.0.1.ebuild, gmp-5.0.2.ebuild, gmp-5.0.2_p1.ebuild:
Drop duplicate flag-o-matic include.
14 Sep 2011; Jeroen Roovers <jer@gentoo.org> gmp-5.0.2.ebuild:
Stable for HPPA (bug #380675).
04 Sep 2011; Markus Meier <maekke@gentoo.org> gmp-5.0.2.ebuild:
arm stable, bug #380675
04 Sep 2011; Pawel Hajdan jr <phajdan.jr@gentoo.org> gmp-5.0.2.ebuild:
x86 stable wrt bug #380675
26 Aug 2011; Tony Vroon <chainsaw@gentoo.org> gmp-5.0.2.ebuild:
Marked stable on AMD64 based on arch testing by Agostino "ago" Sarubbo in bug
#380675 filed by Mike "SpanKY" Frysinger.
*gmp-5.0.2_p1 (25 Aug 2011)
25 Aug 2011; Mike Frysinger <vapier@gentoo.org> +gmp-5.0.2_p1.ebuild,
+files/gmp-5.0.2-unnormalised-dividends.patch:
Add fix from upstream, add USE=static-libs support #378233 by Agostino
Sarubbo, restore USE=doc support, and trim .la files as needed.
05 Aug 2011; Jeremy Olexa <darkside@gentoo.org> gmp-4.3.2.ebuild,
gmp-5.0.1.ebuild, gmp-5.0.2.ebuild:
Fix missing sys-devel/m4 dep since m4 was removed from @system. See bug
377293
*gmp-5.0.2 (09 May 2011)
09 May 2011; Mike Frysinger <vapier@gentoo.org> +gmp-5.0.2.ebuild:
Version bump.
17 Nov 2010; Jeroen Roovers <jer@gentoo.org> gmp-4.3.2.ebuild:
Simply set GMPABI and remove other hackery (bug #344613).
16 Nov 2010; Jeroen Roovers <jer@gentoo.org> gmp-5.0.1.ebuild:
Simply set GMPABI and remove other hackery (bug #344613).
11 Nov 2010; Jeroen Roovers <jer@gentoo.org> gmp-5.0.1.ebuild:
Remove HPPA hack (bug #344613 by Christian Franke).
30 Aug 2010; Mike Frysinger <vapier@gentoo.org> gmp-5.0.1.ebuild,
+files/gmp-5.0.1-perfpow-test.patch:
Add test fix from upstream.
27 Jul 2010; Magnus Granberg <zorry@gentoo.org> gmp-5.0.1.ebuild,
+files/gmp-5.0.1-x86-nopie-tests.patch:
fix the TEXTREL #236054 thanks Joshua Pettett
09 Jul 2010; Mike Frysinger <vapier@gentoo.org> gmp-5.0.1.ebuild:
Move elibtoolize up so it patches configure correctly #327091 by Alan
Hourihane. Tweak wrapper syntax for crappy shells #327077 by vlad f
halilov. Drop old mpfr configure option as it no longer exists.
04 Jul 2010; Mike Frysinger <vapier@gentoo.org> gmp-5.0.1.ebuild:
Move into unstable.
06 May 2010; Lars Wendler <polynomial-c@gentoo.org> gmp-5.0.1.ebuild:
Let's preserve libgmp.so.3 or else gcc breaks after upgrading to this
version. Ebuild patch applied with kind permission from vapier.
16 Apr 2010; Brent Baude <ranger@gentoo.org> gmp-4.3.2.ebuild:
Marking gmp-4.3.2 ppc for bug 304083
04 Apr 2010; Markos Chandras <hwoarang@gentoo.org> gmp-4.3.2.ebuild:
Stable on amd64 wrt bug #304083
22 Mar 2010; Brent Baude <ranger@gentoo.org> gmp-4.3.2.ebuild:
Marking gmp-4.3.2 ppc64 for bug 304083
13 Feb 2010; Raúl Porcel <armin76@gentoo.org> gmp-4.3.2.ebuild:
alpha/arm/ia64/m68k/s390/sh/sparc stable wrt #304083
11 Feb 2010; Christian Faulhammer <fauli@gentoo.org> gmp-4.3.2.ebuild:
stable x86, bug 304083
09 Feb 2010; Jeroen Roovers <jer@gentoo.org> gmp-4.3.2.ebuild:
Stable for HPPA (bug #304083).
*gmp-5.0.1 (08 Feb 2010)
08 Feb 2010; Mike Frysinger <vapier@gentoo.org> +gmp-5.0.1.ebuild:
Version bump #304063 by Jeroen Roovers.
*gmp-5.0.0 (08 Jan 2010)
08 Jan 2010; Mike Frysinger <vapier@gentoo.org> +gmp-5.0.0.ebuild,
+files/gmp-5.0.0-s390.diff:
Version bump.
*gmp-4.3.2 (08 Jan 2010)
08 Jan 2010; Mike Frysinger <vapier@gentoo.org> +gmp-4.3.2.ebuild,
+files/gmp-4.3.2-ABI-multilib.patch:
Version bump.
15 Dec 2009; Mike Frysinger <vapier@gentoo.org> gmp-4.3.1.ebuild,
+files/gmp-4.3.1-fix-broken-ansi-check.patch:
Fix up ANSI configure test #296964 by Andrew Jeffery.
31 Oct 2009; Brent Baude <ranger@gentoo.org> gmp-4.3.1.ebuild:
Marking gmp-4.3.1 ppc64 for bug 287519
31 Oct 2009; Raúl Porcel <armin76@gentoo.org> gmp-4.3.1.ebuild:
ia64/m68k/s390/sh/sparc stable wrt #287519
30 Oct 2009; Markus Meier <maekke@gentoo.org> gmp-4.3.1.ebuild:
arm stable, bug #287519
24 Oct 2009; nixnut <nixnut@gentoo.org> gmp-4.3.1.ebuild:
ppc stable #287519
16 Oct 2009; Jeroen Roovers <jer@gentoo.org> gmp-4.3.1.ebuild:
Stable for HPPA (bug #287519).
11 Oct 2009; Tobias Klausmann <klausman@gentoo.org> gmp-4.3.1.ebuild:
Stable on alpha, bug #287519
09 Oct 2009; Markus Meier <maekke@gentoo.org> gmp-4.3.1.ebuild:
amd64/x86 stable, bug #287519
16 Aug 2009; Mike Frysinger <vapier@gentoo.org> gmp-4.3.1.ebuild:
Respect env CC #281223 by Steve Dibb.
*gmp-4.3.1 (23 May 2009)
23 May 2009; Mike Frysinger <vapier@gentoo.org> +gmp-4.3.1.ebuild:
Version bump #270810 by Arseny Solokha.
*gmp-4.3.0 (27 Apr 2009)
27 Apr 2009; Mike Frysinger <vapier@gentoo.org>
+files/gmp-4.3.0-ABI-multilib.patch, +gmp-4.3.0.ebuild:
Version bump #266445 by Gabriel Máculus.
21 Feb 2009; Mike Frysinger <vapier@gentoo.org> +files/4.2.4/mpf_eq.diff,
+files/4.2.4/mpf_set_str.c.4.diff, +files/4.2.4/perfpow.c.diff:
Grab fixes from upstream.
06 Feb 2009; Raúl Porcel <armin76@gentoo.org> gmp-4.2.4.ebuild:
arm/ia64/s390/sh/sparc stable wrt #255703
01 Feb 2009; nixnut <nixnut@gentoo.org> gmp-4.2.4.ebuild:
ppc stable #255703
01 Feb 2009; Tobias Klausmann <klausman@gentoo.org> gmp-4.2.4.ebuild:
Stable on alpha, bug #255703
24 Jan 2009; Markus Meier <maekke@gentoo.org> gmp-4.2.4.ebuild:
amd64/x86 stable, bug #255703
23 Jan 2009; Jeroen Roovers <jer@gentoo.org> gmp-4.2.4.ebuild:
Stable for HPPA (bug #255703).
23 Jan 2009; Brent Baude <ranger@gentoo.org> gmp-4.2.4.ebuild:
stable ppc64, bug 255703
*gmp-4.2.4 (25 Sep 2008)
25 Sep 2008; Mike Frysinger <vapier@gentoo.org> +gmp-4.2.4.ebuild:
Version bump.
25 Aug 2008; Raúl Porcel <armin76@gentoo.org> gmp-4.2.2-r2.ebuild:
ia64 stable wrt #235292
24 Aug 2008; Tobias Klausmann <klausman@gentoo.org> gmp-4.2.2-r2.ebuild:
Stable on alpha, bug #235292
24 Aug 2008; Markus Rothe <corsair@gentoo.org> gmp-4.2.2-r2.ebuild:
Stable on ppc64; bug #235292
22 Aug 2008; nixnut <nixnut@gentoo.org> gmp-4.2.2-r2.ebuild:
Stable on ppc wrt bug 235292
21 Aug 2008; Friedrich Oslage <bluebird@gentoo.org> gmp-4.2.2-r2.ebuild:
Stable on sparc, bug #235292
21 Aug 2008; Jeroen Roovers <jer@gentoo.org> gmp-4.2.2-r2.ebuild:
Stable for HPPA (bug #235292).
20 Aug 2008; Markus Meier <maekke@gentoo.org> gmp-4.2.2-r2.ebuild:
amd64/x86 stable, bug #235292
*gmp-4.2.3 (20 Aug 2008)
20 Aug 2008; Mike Frysinger <vapier@gentoo.org>
+files/gmp-4.2.3-ABI-multilib.patch, +gmp-4.2.3.ebuild:
Version bump.
*gmp-4.2.2-r2 (13 Jul 2008)
13 Jul 2008; Peter Alfredsen <loki_val@gentoo.org> -gmp-4.2.2-r1.ebuild,
+gmp-4.2.2-r2.ebuild:
D'oh, a version bump is needed here, since it's the installed header
that's causing problems.
12 Jul 2008; Peter Alfredsen <loki_val@gentoo.org>
+files/gmp-4.2.2-cstdio-stdfile.patch, gmp-4.2.2-r1.ebuild:
Fix include files for gcc-4.3 compat wrt bug #228915
02 May 2008; Mike Frysinger <vapier@gentoo.org>
files/gmp-4.1.4-noexecstack.patch:
Redo how we add noexecstack since #if checks do not work in .s files.
*gmp-4.2.2-r1 (02 May 2008)
02 May 2008; Mike Frysinger <vapier@gentoo.org>
+files/4.2.2/mpf_set_str.c.diff, +gmp-4.2.2-r1.ebuild:
Add fix from upstream.
26 Dec 2007; Samuli Suominen <drac@gentoo.org> gmp-4.2.2.ebuild:
amd64 stable wrt #202665
24 Dec 2007; Brent Baude <ranger@gentoo.org> gmp-4.2.2.ebuild:
Marking gmp-4.2.2 ppc64 for bug 202665
21 Dec 2007; nixnut <nixnut@gentoo.org> gmp-4.2.2.ebuild:
Stable on ppc wrt bug 202665
19 Dec 2007; Raúl Porcel <armin76@gentoo.org> gmp-4.2.2.ebuild:
alpha/ia64/sparc/x86 stable wrt #202665
18 Dec 2007; Jeroen Roovers <jer@gentoo.org> gmp-4.2.2.ebuild:
Stable for HPPA (bug #202665).
*gmp-4.2.2 (12 Nov 2007)
12 Nov 2007; Mike Frysinger <vapier@gentoo.org>
+files/gmp-4.2.2-ABI-multilib.patch, +gmp-4.2.2.ebuild:
Version bump #198851.
*gmp-4.2.1-r1 (04 Apr 2007)
04 Apr 2007; Mike Frysinger <vapier@gentoo.org>
files/gmp-4.1.4-noexecstack.patch, +files/4.2.1/mpz_set_d.diff,
+files/gmp-4.2.1-s390.diff, +files/4.2.1/gmpxx.h.ternary.diff,
+gmp-4.2.1-r1.ebuild:
Some more fixes from upstream and snipe a fix for s390x from SuSE.
22 Feb 2007; Simon Stelling <blubb@gentoo.org> gmp-4.2.1.ebuild:
replace some more ABIs with GMPABI; fix taken from kanaka's auto-multilib
overlay
20 Oct 2006; Bryan Østergaard <kloeri@gentoo.org> gmp-4.2.1.ebuild:
Stable on Alpha.
18 Oct 2006; Roy Marples <uberlord@gentoo.org> gmp-4.2.1.ebuild:
Added ~sparc-fbsd keyword.
29 Sep 2006; Mike Frysinger <vapier@gentoo.org> gmp-4.1.4.ebuild,
gmp-4.1.4-r1.ebuild, gmp-4.1.4-r2.ebuild, gmp-4.1.4-r3.ebuild,
gmp-4.2.ebuild, gmp-4.2.1.ebuild:
Dont filter -ffast-math; people who use this globally deserve what they get.
16 Sep 2006; Markus Rothe <corsair@gentoo.org> gmp-4.2.1.ebuild:
Stable on ppc64
03 Sep 2006; Joshua Kinard <kumba@gentoo.org> gmp-4.2.1.ebuild:
Marked stable on mips.
31 Aug 2006; Gustavo Zacarias <gustavoz@gentoo.org> gmp-4.2.1.ebuild:
Stable on sparc
30 Aug 2006; Chris Gianelloni <wolf31o2@gentoo.org> gmp-4.2.1.ebuild:
Stable on x86 for gcc 4.1.1 going stable.
19 Aug 2006; Herbie Hopkins <herbs@gentoo.org> gmp-4.2.1.ebuild:
Stable on amd64.
28 Jul 2006; Fabian Groffen <grobian@gentoo.org> gmp-4.1.4-r1.ebuild,
gmp-4.2.1.ebuild:
Marked 4.1.4-r1 ppc-macos stable (dependency of bug #139385), marked 4.2.1
~ppc-macos
27 Jun 2006; Luca Barbato <lu_zero@gentoo.org> gmp-4.2.1.ebuild:
Marked stable on ppc
25 Jun 2006; Guy Martin <gmsoft@gentoo.org> gmp-4.2.1.ebuild:
Stable on hppa.
*gmp-4.2.1 (18 Jun 2006)
18 Jun 2006; Mike Frysinger <vapier@gentoo.org>
+files/4.2.1/aix.m4-RW.diff, +files/4.2.1/ia64-popcount.diff,
+files/gmp-4.2.1-ABI-multilib.patch, +files/4.2.1/configure-ppc.diff,
+files/4.2.1/x86-fat.diff, +gmp-4.2.1.ebuild:
Version bump #136824 by Nuno Lopes.
23 Apr 2006; Markus Rothe <corsair@gentoo.org> gmp-4.2.ebuild:
gmp-4.1.4-ppc64-asm-dots.patch does not apply on top of 4.2, but is also no
longer needed: removed from ebuild
*gmp-4.2 (10 Apr 2006)
10 Apr 2006; Mike Frysinger <vapier@gentoo.org>
+files/gmp-4.2-ABI-multilib.patch, +gmp-4.2.ebuild:
Version bump #129007 by Raphael.
30 Mar 2006; Diego Pettenò <flameeyes@gentoo.org> gmp-4.1.4-r3.ebuild:
Add ~x86-fbsd keyword.
27 Feb 2006; Jeroen Roovers <jer@gentoo.org> gmp-4.1.4-r3.ebuild:
Stable on hppa (bug #121968).
26 Feb 2006; Joshua Kinard <kumba@gentoo.org> gmp-4.1.4-r3.ebuild:
Marked stable on mips.
17 Feb 2006; Michael Hanselmann <hansmi@gentoo.org> gmp-4.1.4-r3.ebuild:
Stable on ppc.
15 Feb 2006; Markus Rothe <corsair@gentoo.org> gmp-4.1.4-r3.ebuild:
Stable on ppc64; bug #121968
14 Feb 2006; Fabian Groffen <grobian@gentoo.org> gmp-4.1.4-r1.ebuild:
Marked ~ppc-macos (bugs #89644, #122760)
08 Feb 2006; Mark Loeser <halcy0n@gentoo.org> gmp-4.1.4-r3.ebuild:
Stable on x86; bug #121968
08 Feb 2006; Patrick McLean <chutzpah@gentoo.org> gmp-4.1.4-r3.ebuild:
Stable on amd64 (bug #121968).
08 Feb 2006; Gustavo Zacarias <gustavoz@gentoo.org> gmp-4.1.4-r3.ebuild:
Stable on sparc wrt #121968
03 Feb 2006; Aron Griffis <agriffis@gentoo.org> gmp-4.1.4-r3.ebuild:
Mark 4.1.4-r3 stable on ia64
03 Feb 2006; Mike Frysinger <vapier@gentoo.org>
+files/gmp-4.1.4-asm-dots.patch:
Add missing patch #121290 by Markus Rothe.
*gmp-4.1.4-r3 (29 Jan 2006)
29 Jan 2006; Mike Frysinger <vapier@gentoo.org>
+files/gmp-4.1.4-ABI-multilib.patch, +files/gmp-4.1.4-noexecstack.patch,
+files/gmp-4.1.4-ppc64-asm-dots.patch, +gmp-4.1.4-r3.ebuild:
Rewrite patches to not require autotools since we need gcc-4.x to DEPEND on
gmp.
29 Dec 2005; Daniel Black <dragonheart@gentoo.org>
+files/gmp-4.1.4-nostackexec.patch, gmp-4.1.4-r2.ebuild:
fixed executable stack as per bug #115038 thanks to Petteri Raty
*gmp-4.1.4-r2 (19 Oct 2005)
19 Oct 2005; Mike Frysinger <vapier@gentoo.org> +files/gmp-hppa-2.0.patch,
+files/4.1.4/gmp-impl.h.MPF_SIGNIFICANT_DIGITS.diff,
+files/4.1.4/gmp-impl.h.x86.ULONG_PARITY.diff,
+files/4.1.4/gmp-impl.h.MPN_SIZEINBASE.diff,
+files/4.1.4/mpn_rootrem.c.diff, +gmp-4.1.4-r2.ebuild:
Add more patches from upstream, track down the hppa issues, and fork mpfr
into a sep package like upstream suggests.
18 Oct 2005; Guy Martin <gmsoft@gentoo.org> gmp-4.1.4.ebuild,
gmp-4.1.4-r1.ebuild:
Forced the usage ot GMPABI 1.0 on hppa. ABI 2.0w is not supported by GNU AS
yet.
09 Oct 2005; Marcus D. Hanwell <cryos@gentoo.org> gmp-4.1.4-r1.ebuild:
Add doc USE flag, thanks to Lucas Chiesa <lucas.chiesa@gmail.com> for the
patch, closes bug 80031.
*gmp-4.1.4-r1 (14 Aug 2005)
14 Aug 2005; Diego Pettenò <flameeyes@gentoo.org> +gmp-4.1.4-r1.ebuild:
Don't build BSD's mp compatibility on FreeBSD libc (already present, would
break system).
21 Apr 2005; Daniel Black <dragonheart@gentoo.org> gmp-4.1.4.ebuild:
Updated minium libtool version as per bug #88616. Thanks Andrew Cowie
<andrew@operationaldynSPAMLESSamics.com>
15 Feb 2005; Jeremy Huddleston <eradicator@gentoo.org> gmp-4.1.4.ebuild:
Fix bug #79662. Always apply ${ABI} patch, and always rerun autoreconf.
15 Feb 2005; Daniel Black <dragonheart@gentoo.org> -files/longlong.patch,
-files/randraw.c.41.diff, -gmp-4.1.2.ebuild, -gmp-4.1.3.ebuild,
gmp-4.1.4.ebuild:
Cleaned out old versions. Fixed 4.1.4 with ABI=standard as suggested by Leo
Laursen <ll_news@stofanet.dk> in bug #81913. amd64 considerations as per
bug #79662.
27 Jan 2005; Jeremy Huddleston <eradicator@gentoo.org>
+files/gmp-4.1.4-multilib.patch, gmp-4.1.4.ebuild:
Multilib fixes and libtoolize --copy --force. No bump since it just affects
compilation.
21 Dec 2004; Bryan Østergaard <kloeri@gentoo.org> gmp-4.1.4.ebuild:
Stable on alpha.
20 Dec 2004; Dylan Carlson <absinthe@gentoo.org> gmp-4.1.4.ebuild:
Stable on amd64.
16 Dec 2004; Gustavo Zacarias <gustavoz@gentoo.org> gmp-4.1.4.ebuild:
Stable on sparc
28 Nov 2004; Simon Stelling <blubb@gentoo.org> +files/amd64.patch,
gmp-4.1.4.ebuild:
added a patch to fix -O3 and higher
issues; bug #66780
07 Nov 2004; Joshua Kinard <kumba@gentoo.org> gmp-4.1.4.ebuild:
Marked stable on mips.
06 Nov 2004; Bryan Østergaard <kloeri@gentoo.org> gmp-4.1.3.ebuild:
Stable on alpha.
01 Nov 2004; Lars Weiler <pylon@gentoo.org> gmp-4.1.4.ebuild:
Stable on ppc for PHP5, Bug #60442.
19 Oct 2004; Dylan Carlson <absinthe@gentoo.org> gmp-4.1.3.ebuild:
Stable on amd64.
18 Oct 2004; Gustavo Zacarias <gustavoz@gentoo.org> gmp-4.1.3.ebuild:
Stable on sparc
*gmp-4.1.4 (14 Oct 2004)
14 Oct 2004; Daniel Black <dragonheart@gentoo.org> -gmp-4.1-r1.ebuild,
gmp-4.1.3.ebuild, +gmp-4.1.4.ebuild:
version bump as per bug #67022. Thanks Thomas Weidner <3.14159@gmx.net>/ Clean
out old version. x86 keyword version 4.1.3
19 Aug 2004; Tom Gall <tgall@gentoo.org> gmp-4.1.3.ebuild, +ppc64-gmp-acinclude.patch:
stable on ppc64
01 Jul 2004; Jeremy Huddleston <eradicator@gentoo.org> gmp-4.1.2.ebuild,
gmp-4.1.3.ebuild:
virtual/glibc -> virtual/libc
20 Jun 2004; Daniel Black <dragonheart@gentoo.org> gmp-4.1.2.ebuild,
gmp-4.1.3.ebuild, gmp-4.1-r1.ebuild:
changed m4 dependancy (bug #54131 thanks Scott Taylor
<swtaylor@gentoo.org>). Added src_test functions. gmp-4.1.2 added
dependancies. gmp-4.1.3 - reintroducted fft as it is fixed in this
version (ref homepage).
11 May 2004; Michael McCabe <randy@gentoo.org> gmp-4.1.3.ebuild:
Added s390 keywords
*gmp-4.1.3 (08 May 2004)
08 May 2004; Daniel Black <dragonheart@gentoo.org> gmp-4.1-r1.ebuild,
gmp-4.1.2.ebuild, +gmp-4.1.3.ebuild:
QA fixes on 4.1-r1 and 4.1.2. Version bump thanks to Jory A. Pratt
<cyberspacecomputers@msn.com> in bug #50416
03 Apr 2004; Guy Martin <gmsoft@gentoo.org> gmp-4.1.2.ebuild:
Marked stable on hppa. CHOST forced to hppa-unknown-linux-gnu to fix detection
of ABI.
03 Apr 2004; Lars Weiler <pylon@gentoo.org> gmp-4.1.2.ebuild:
stable on ppc
24 Mar 2004; Jason Wever <weeve@gentoo.org> gmp-4.1.2.ebuild:
Stable on sparc.
22 Mar 2004; Chris Aniszczyk <zx@gentoo.org> gmp-4.1.2.ebuild, metadata.xml:
Added metadata.xml
22 Mar 2004; Chris Aniszczyk <zx@gentoo.org> gmp-4.1.2.ebuild:
Added support for ~hppa ;)
26 Feb 2004; Joshua Kinard <kumba@gentoo.org> gmp-4.1.2.ebuild:
Added ~mips to KEYWORDS to satisfy repoman deps.
24 Feb 2004; Seemant Kulleen <seemant@gentoo.org> gmp-3.1.1-r1.ebuild,
gmp-4.1-r1.ebuild, gmp-4.1.2.ebuild:
Disabling fft, per bug #42549 by qube99@hotmail.com
30 Jan 2004; Aron Griffis <agriffis@gentoo.org> gmp-4.1.2.ebuild:
stable on x86
18 Jan 2004; Adrian Almenar <strider@gentoo.org> gmp-4.1.2.ebuild:
Added ia64 keyword.
19 Oct 2003; Martin Holzer <mholzer@gentoo.org> gmp-4.1.2.ebuild:
corrected amd64 string. Closes #31436.
16 Oct 2003; Daniel Robbins <drobbins@gentoo.org> : Added longlong.patch
submitted by Kenneth Ayers <kba114@psu.edu>. Unmasked on amd64. Thanks
Kenneth!
15 Mar 2003; Martin Schlemmer <azarah@gentoo.org> :
Fix m4 DEPEND for m4-1.4 we are using now. Libtoolize.
*gmp-4.1.2 (22 Feb 2003)
09 Mar 2003; Aron Griffis <agriffis@gentoo.org> gmp-4.1.2.ebuild:
Mark stable on alpha
02 Mar 2003; Seemant Kulleen <seemant@gentoo.org> gmp-4.1.2.ebuild:
filter out -ffast-math, closing bug #16284 by David Cozatt
<yggsdrasil@hotmail.com>
23 Feb 2003; Aron Griffis <agriffis@gentoo.org> gmp-4.1.2.ebuild :
Only run "make check" when DEBUG is set
22 Feb 2003; Aron Griffis <agriffis@gentoo.org> gmp-4.1.2.ebuild files/digest-gmp-4.1.2 :
Update to 4.1.2 to close bug #12473
05 Feb 2003; Aron Griffis <agriffis@gentoo.org> gmp-4.1-r1.ebuild :
Mark stable on alpha
14 Jan 2003: Jason Wever <weeve@gentoo.org> gmp-4.1-r1.ebuild :
Removed --enable-mpfr from configure options for sparc only as with it
enabled, gmp would not compile on sparc.
17 Dec 2002; Aron Griffis <agriffis@gentoo.org> gmp-4.1-r1.ebuild :
Added ~alpha to KEYWORDS
06 Dec 2002; Rodney Rees <manson@gentoo.org> : changed sparc ~sparc keywords
*gmp-4.1-r1 (06 Jul 2002)
14 Aug 2002; Pieter Van den Abeele <pvdabeel@gentoo.org> :
Added ppc keyword
04 Aug 2002; Doug Goldstein <cardoe@gentoo.org> gmp-4.1-r1.ebuild :
seemant ./configure to econf and forgot to remove the params which are
automatically defined by econf so the package failed to compile on all
systems.
01 Aug 2002; Stuart Bouyer <stubear@gentoo.org> gmp-4.1-r1.ebuild :
Changed emake to make - fixed bug #5857. Also added LICENSE, SLOT and
KEYWORDS for QA.
06 Jul 2002; Aron Griffis <agriffis@gentoo.org> gmp-4.1-r1.ebuild:
Add patch to keep sawfish from dying left and right. The patch comes from
http://swox.com/gmp/#STATUS
*gmp-4.1 (05 Jul 2002)
05 Jul 2002; Nick Hadaway <raker@gentoo.org> gmp-4.1.ebuild:
Updated to latest version of gmp. Added a couple config options.
Removed nonexistant docs from ebuild.
*gmp-3.1.1-r1 (27 Mar 2002)
27 Mar 2002; Seemant Kulleen <seemant@gentoo.org> gmp-3.1.1-r1.ebuild :
Ungzipped HTML documentation.
*gmp-3.1.1-r1 (1 Feb 2002)
1 Feb 2002; G.Bevin <gbevin@gentoo.org> ChangeLog :
Added initial ChangeLog which should be updated whenever the package is
updated in any way. This changelog is targetted to users. This means that the
comments should well explained and written in clean English. The details about
writing correct changelogs are explained in the skel.ChangeLog file which you
can find in the root directory of the portage repository.

View File

@ -1,2 +1,69 @@
DIST gmp-5.0.2.tar.bz2 2024576 RMD160 fce06e3246f067301a54f3457960f1d6d71adfc2 SHA1 2968220e1988eabb61f921d11e5d2db5431e0a35 SHA256 dbc2db76fdd4e99f85d5e35aa378ed62c283e0d586b91bd8703aff75a7804c28
DIST gmp-man-5.0.2.pdf 1024222 RMD160 8b109ab46248d2cc3eaa383a10921558c6eb657f SHA1 bccd7089b9a355c102770ce98534d581af8a1a42 SHA256 fcdd621dea0215b8920bdbfacf374ae8ef4f548a2d0c3e8d65d904f1b9d174d4
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
AUX 6.0.0a/ppc64-build.diff 668 SHA256 1cef5211efa36956a263b81db2fd2a3af8016942512f76fb67b88328b80c7792 SHA512 ab37e9205da14479b852b932285d16cce02d4c266a3b431d1ad65feabd0e36bdd71da762ee15a783576c6551c080fc212ca27146fb8b8d9c7c77df6aacb7e85e WHIRLPOOL 2f3a3079fa4a7ce73a1ffdbabdc1495b02e6354296eda97b9a4a14045aa934233a62598a8de2d397f404b37252fab28a703a2e709a2c58a716e83e09e690401a
AUX gmp-4.1.4-noexecstack.patch 474 SHA256 68601777151a1628d7bc839eddd037685c5d2e76c9453166890a5eb3cf6000c3 SHA512 74b8b68061a1a5ac0f8b163974834465e86e930884e1a9cd15c4c948fdae95ffdcbb6e0210d56df6d0dcf1ccbe13dbdfe45552e645c3fdea6454747731b63bc8 WHIRLPOOL d8a0f81d4e97f6996bf68dd3d5488762e221f43a26e1cbff27adb372a40075d35fbb0e956ccd45c8b320a900d284f16d0649293cc907daab45d02cb30e74373b
AUX gmp-4.2.1-s390.diff 1848 SHA256 13c6b01e71534af2c353d79b7afd171f158b8fa6e3299e0f7c0335e516ce67ec SHA512 ab13186cfdb2a217edb5bd77379d68442685319ec3ca5b9ccadd67a68356f56881ea5feb7dbd40821d6587553d46b63b19ba454a9e3ede27baf72a6857169c44 WHIRLPOOL c2c4727cd1e9a18529ecd44e1d7b2eb758bf0b6f81706024fd271d368ec9f6c0c36ffef352191168d9511a104ab40f51df730c287e03f8acda2ba572079abdf8
AUX gmp-4.3.2-ABI-multilib.patch 8883 SHA256 772c003810d5f8073e6c2b6fea4ba7dfe38d7f7b14c25995be7d1ee7f45ab59f SHA512 784b90318185a9801b02ef041ce642bb21928fcd3cf8bc9d9e2e6036a68b486a5f7c8ddd7a1460413035b715508ad4eeda18c5b3be434abf1ed4cc72be0c31b6 WHIRLPOOL 193b1d3c5d2dd534a5a01d511adca8dfcddbab91ebee0bfe65e01c6b0fdf99152e2697380638505e8dc3632098ef4d189dbea602a01dec07511976ca0761f528
AUX gmp-5.0.0-s390.diff 1839 SHA256 e4ca88304a072ad29387ad7893efc28ee2ce600dfe020f35f80e939c83c31b0c SHA512 eaca6e4e201b6e76db7f6eeb446379d4cb18fa259b1370be6a5867007ea1de114eb7f234b465695e44547f0c8943450de056215f0637ab2dbe24f60dc630dcc1 WHIRLPOOL 2deecc79153ca98042180b589d94758cfeb63f685d9d4a134666eb3c646729ec5b2f82a291166224c16541ec1fec0d310091488f5e32f706f8fbfe93e50037ed
AUX gmp-5.0.1-perfpow-test.patch 1071 SHA256 a2fec6646f36d49dbeda9a520d682a26e560d1c3a5f78f3537d1889a71eb8e1f SHA512 c5919bbb05ed3ec73516b685b8a7352b25b3ffc384abf31d873e8bc8952e7bb723a215fa5a5ff71e69829e22e249fe014b50461841074bba3b3a108d2c01a0ec WHIRLPOOL aa485410086f57de79d7ef6f5d1a44ee3ab8df9660cfa8259f8835b80b6d7ec82cad2cdef7b0858bd1807f38ff3287426c2a3a51bab9f214e0c5514ff480c181
AUX gmp-5.0.1-x86-nopie-tests.patch 3798 SHA256 3f108ece1cf1f18afd8a36f2b9f03eeb32afa9c4937c707bce840bd62824a61a SHA512 5f6d8621a25605001dc8a16fe9de5f01ad840c9ef086867025d6a6fe4066b3a58ed4b0d4d67fe0d5add12a7eb9d5c3596eb0cb17994e2a97b12cd75f0c3acbd3 WHIRLPOOL aec85d5c1333f701bd123cd47530aa96920b316ac33e4244c5dcb70ea4ee1c71ffb394397d75d2362a448fd1298d1aea1c389bfcde5d5dec3452384d6af74ff7
AUX gmp-5.0.2-unnormalised-dividends.patch 682 SHA256 6d7c4f4d9eaba14ac6d3364f26e849963be3149727cbfe5ee64cc588587dd8c5 SHA512 970c6ce8e5a54fc6f0d1295f793ba2f51f333e1ba226f2625972257909510dfbdb0681014c3f101a0f04aee2e93e1ce44be66b4303584a8eafd1d187d112a460 WHIRLPOOL 97e54a027a716a68c41b195aadb577cc19fb89b11a7cd0b2087483744229834e428175fb83499e21dccd669e8d308aa7e255d4dc74b2b32b47256c7207c30a5e
AUX gmp-5.0.2-x32-bugfix.patch 3213 SHA256 d83142808943778f95d37c416a53a369f0e6acd39bd5f8e77bb08efcb4623a25 SHA512 4f2121e48e61e0ed27dddbdbecc6ccb9eb1907ca89685a3e05b5c2a13f77d53e5611afd91bf71c014d4a421e6708ab04ffbcc2484e4e1047e6cf4ca94d60f4de WHIRLPOOL fd1dddcf002714cfbe624eb7dbb8124fccdd6aff63de6463826ba6e906da52f8476eb819709b4a6a35026d50b5cfdeb6af23fa071c38e76ec46508d169a60c33
AUX gmp-5.0.2-x32-support.patch 854 SHA256 3eb0e6f511adc1efd61208955254e2c205705eabf74ac062939b14fc4b026b66 SHA512 901eb8f32214a6e522c43aeee12a1cedca261364a739f795b30aea65c724df97f9ec49326e93aac3b9537300e57da3528d009778d3dec372805e82ccdc66964e WHIRLPOOL dc74a3783394516d8c9c8fbded0bc7301efbc430d590a740c5b88bfe64cab664f316559a100433bbcde3f8cb5f706ddb1cc261973a5c1dffd647fa30f7631a7b
AUX gmp-5.0.5-x32-support.patch 814 SHA256 14c4fce531809942441e032fe9dc19ab904e39fc3405689b9dfff96ceb5291c0 SHA512 33715037c9d9c6eb163e02f310a5acaa71e3e223695aacd8d89876ec7cf6c7f0e46f5c06de80b3e505adeb22042a0402368a3da8dba723c3d71ed2fd9106a3ac WHIRLPOOL 07fac2080d5f8ce9c7e71d7047f10999379683fbd495fbd16780a6c1c75cecaaa560251455c4d18c7c9e7873b68a0090b91badeb2e4ceea2b948b76ee445e1c9
AUX gmp-5.1.0-armv4.patch 272 SHA256 5223ad9c32e3634e5ed866a16300c593955d8b16413b866d8051496a4070d73f SHA512 276d420fa96fe091e1ee877c56e378097fdec36b14225fb036843aa3f9ee890af8c19766b5da82163a4a97ba4873d1bbe246179c820ddfdeafb30945f0bd7bde WHIRLPOOL 76af74e35500ed8cdb30bcd6b596dd1e51cb322ea3677ad033a1497e6cdccc885cb3eeb981eaad8708a87143aae0e56302f4aed8f27831f983e9cc5e50ec6e43
AUX gmp-5.1.0-x32-support.patch 1075 SHA256 42f7b91f86f33bd645d2b8fac300397653b702436e6295c0157758b91cfe2611 SHA512 924a0f09273dad63c1bf31f8b5d976306bab2ab8abc7bc67f6f45ca21ead729eb2c321e9581261d672e090d5f44d2d3cecb993fa74d312e6429a2ecefcfb6cac WHIRLPOOL f4c543d51e0d925159ad39a19ce4a55fb5819e63124f0b4ca4092a13297e5d59f6d24d9de6fa6e1c2189d170af667e313589f1892fc0d116633f266d27ed5830
AUX gmp-5.1.0-x86-nopie-tests.patch 3471 SHA256 d4dfd1468495feb2a012acec2ce3e54dc1e090eccf91caac68c4b71417ae1311 SHA512 d1bbb832122e56f5def8113061e0fb326e09a766f64dab00ace4c43df1b5803b3b3c03da5c4be0788e66f484c48db3a61fa1b822110bdbfc9c667eac27b4c643 WHIRLPOOL 608a6ee796f56f9cdb499433051ccfc4a1f75386d9949546ec3792de11a370214c643a7e69bd534b17cbc2efff50e6fb0ceac1aa4806deeacc97d67560527ade
DIST gmp-4.3.2.tar.bz2 1897483 SHA256 936162c0312886c21581002b79932829aa048cfaf9937c6265aeaa14f1cd1775 SHA512 2e0b0fd23e6f10742a5517981e5171c6e88b0a93c83da701b296f5c0861d72c19782daab589a7eac3f9032152a0fc7eff7f5362db8fccc4859564a9aa82329cf WHIRLPOOL ab3d9c95b436df3782830da0874307d5577b83c111c2fae4a9063d4083f97c5c12643b154c1bd9a588945e5a677fb8ab416c394ced3e9b0aa671b2238bcb9b40
DIST gmp-5.0.1.tar.bz2 2006109 SHA256 a2a610f01fd3298dc08c87bf30498c2402590e1bcb227fc40b15ee6d280939fb SHA512 9a128f7e192e5f1233ec068b04ba4789cd10ae1ca1a21d1089b9b596022f7dfb66c313599b5de462135b1556a8f8e72bce1b5f4666b1eeed1652e3d7f2f5d168 WHIRLPOOL e19602c9914ed0bcd60aa198cb6f4b35a8f133381808f0a0f0759987407aa8e356bf8cba99b4f4e44f526412a80ee1dbdd6fd2adaa88f8aaa1c7e7e881626f9a
DIST gmp-5.0.2.tar.bz2 2024576 SHA256 dbc2db76fdd4e99f85d5e35aa378ed62c283e0d586b91bd8703aff75a7804c28 SHA512 b53cc482e73aa91ae4f83301d9ef83a98cd85cfe53347e102a059fa477edceebded466223b436bc250314eb6ec2e53ecc4fa1528341435f09e232f0c4e305bad WHIRLPOOL a60dbfd26fca44edeab921d2293bb5cdea62ad5050ebbaa7d0e21fe2089deaa893d92abdd109e613edf234a36071d64422c04b24de3c952b0147a4310b4229d4
DIST gmp-5.0.3.tar.xz 1685288 SHA256 438ee3e2d03a5b7c23e9f3f46919ab53cab102bcf4f3c34ea3a08486610fd450 SHA512 dc68ad36bbf515386d735784fe4583443eb6168d10c2967e47ce4bd541076a18c01bcc4b04261330ee0489560978234c36bf7064d611ce2f21ac38c37e6b34f0 WHIRLPOOL cf9a481f8a3c911ac023fcbbd5129bbd3ea7003bca745268b0f4f7cc94cff601d68a3cbe62037819e430677f49b182f0ceaf80c76c6b9bc39103f7973e9e2589
DIST gmp-5.0.4.tar.xz 1689832 SHA256 4e6de1262ec94cce7833abb787a6d9157a822cc63d406c3d46c737e46ade1523 SHA512 68e2eca72aa8bdf4dd83da55625c32488015c10ea8aed79c8b861070de99bad0bb44b78c32655c12df90802bde564f98f41e8bffa1a1f522f3432271a8fcb00c WHIRLPOOL 85860d555f48062cac175a9cc239cf18c69ea68f98477f3b0ff75cc91b1b4c04e1bebbfe5699ea103031fe381f3cc93089065cbbd67ad5e923169b3f38469eaf
DIST gmp-5.0.5.tar.xz 1671264 SHA256 e87015a825a2445e169931ee27849d52576a2d9e338d1383dcb36fed68d0006f SHA512 79f69ed7959af18e626d4b21b5707ebd7701261ebc2cc9f78fa03c5efa9eb1c1aef2ba8728cdbc34fb09ba333aeba0f88ba7e4d87d6a93b21f936f9d8ee1174a WHIRLPOOL c224f0ce28762e8987b5c5a817d24412d1c85e7bab2f173b138f463cc380d85ab02585d4c2a0e5052c34a405e6cec1f744edb0ee525002d6b77584ff6ecb601b
DIST gmp-5.1.0.tar.xz 1806216 SHA256 c232d96b92ee251a6b8fdbf0a45d4db17a784846dfdfaf36651eeef2117a8991 SHA512 33b364bddfe829c78e3720ad15dc9fe5cf4c774e9a206ae0a8467666872d40148da07b8a4d8b251e3240c3c8b4eee5e082edc13aa208d3912f9f5d600d1110e8 WHIRLPOOL 28fb5693254bd25276348c8483ca8a7638c6a781d566e1dba085c581d3de7f99f9deee57bb613dbea78c0aeebf01e0eafe6003bd5327b48495c7f86b4dc3a92f
DIST gmp-5.1.1.tar.xz 1812988 SHA256 4bd64d782fdeb61aeed45b434fca5246d66baa9de76f87cba30c38460d8834c2 SHA512 4cc3307411eb2144e87b791ee2f52e0020711638f911dfa3cc5929a57eda5ac7d9ca10c1c0bb75c96afc7ff7a9c6ad165bc87409b036c562867b4e5da15ba571 WHIRLPOOL 8a7afe06d530a15edb75a0c37c8497d1ab209dfeffebd44aecfcfe6b75586c182384cfdf8ea9b696ce968aed04944ec7c1c271730b65c34b2e3504d26565240e
DIST gmp-5.1.2.tar.xz 1819560 SHA256 c7d943a6eceb4f0d3d3ab1176aec37853831cdfa281e012f8a344ba3ceefcbc2 SHA512 2c135bb6be908e93e63fe8828b2128b4e22e8ba29adf3cc917493ab66b42d54654dad7f101f902105e854731a69a202c38e34f119f642828fa5568ef21075c5a WHIRLPOOL dc18f8b2f7f592a52872f477ff375a29d58bca6661877bd0e4ef26766ed439e98172e277fed9f91d7204990b3030423bf6b3bff0b996ec371d6e681f8c21e504
DIST gmp-5.1.3.tar.xz 1818812 SHA256 dee2eda37f4ff541f30019932db0c37f6f77a30ba3609234933b1818f9b07071 SHA512 44bbec2b2a6480d4c9a9a633cca4fe0de966c13bc08bdcd8b934d81e21f3dfacaecf273f149dc613d365277d280ecee43cffdafaec1bd1239a7ed903f8658b5b WHIRLPOOL 0c4365a129136655046a8e46c4e2487a981c03de97ec47899f752cbd6e61661c6068b19c547acce8436f7a9af91396545c9bf7aa9de73a0f29384bbfebef927f
DIST gmp-6.0.0a.tar.xz 1904112 SHA256 9156d32edac6955bc53b0218f5f3763facb890b73a835d5e1b901dcf8eb8b764 SHA512 50368f4368b244b442438ce1768cf0f1166e490d1bafb8feda1ffc90fea3807e7328f30f3faa861799e4f5ff6e3113049ca3231b2f48571e4583fc3d60441816 WHIRLPOOL 81639a9d433ce9ccb26527af309c7c41437bb3463e5986cce3b35f81b527068a2304ec3287e660454f850dedab61463a077f49d4ea2b7ee87eec94b15730c394
DIST gmp-man-5.0.2.pdf 1024222 SHA256 fcdd621dea0215b8920bdbfacf374ae8ef4f548a2d0c3e8d65d904f1b9d174d4 SHA512 95ea00ee16e87e9f379e76cd6c1a850866e5f22c0e6fc6e5deaae1213a694d28dd6fc09c105b5e71d4bb24e07ca8b77c56d756ef680beac1f64cc17ab51b246c WHIRLPOOL eaa78db21ee7dc8076a752cc949f336c1699c752626496d1490babc2d00115b08fa954ba9f732405d63bbdb43d97c43bed1917629fee1106e2e87942c78d6da8
DIST gmp-man-5.0.3.pdf 1159053 SHA256 8f12da7b0665a2a0b5e1bc83c702e67b1b854382af5cba58c2859564fc930550 SHA512 4be246f234379033922255ece26f8f7b6056ee637f0d3964459829a946368ae01e2434b22fb1a180cf0a4efa7ad18d332d3e1a89cf9040d5f9f27e43cd3ca8ab WHIRLPOOL 50b27cccd274d84d2b35d2551089755b5b88837fb28a24c5e244c8706004925fe86ff81c2cc68d6125f2113b68a741b9a6615b931bf8260f2cd384dcd5115336
DIST gmp-man-5.0.4.pdf 1160172 SHA256 c577d4dea9964e85c07f859d60833fc56d10aba16fd42f380939b0360f79defb SHA512 0159c748e75ba12a4fe3164e7071966e39475fa95b477e16de9cff095dd67c144c3aed24a611cf44c434bff9942faa432fb2222a7a27c587ed22a2df2f33a8c0 WHIRLPOOL df53ea3df9069c3958427ae18d29247c7502e5140b7c6f8c2b15d38aab308a9fa8dea8f3b636907ce5588cc738393e600e4f7160d502f42b6df339a7f76ad5ca
DIST gmp-man-5.0.5.pdf 1162914 SHA256 33c7456155bf39704eb1c874849315a925140014b4ad8a8c6f0e07e4fde6a9f2 SHA512 2207266e1187f9951e01f02c6c70eb8bde78fd8d748f144c1bcb10702510f79ee9dd698347d80cac2445112c1554919e734dafd48ebc4662e39b9031b3147544 WHIRLPOOL 1becb075143db9fb26662fed68f760624d381306831a9a58234d5e82303290497bb7b99582a1ab77bd8a72de70e97b516e113264aa307774a4632faf223624c8
DIST gmp-man-5.1.0.pdf 1156063 SHA256 def7bae39aaf2756cd074207c02afca8b3dde66111bbc17769f196082de2f28b SHA512 e3736853a20fbb0de86458a1e724f515429ac43458e62479e7721416553e6015b3d5e6de6a6f3b00f0a6530ba6c9556aa1d6283d9dced2c58e1ce96c73c367a5 WHIRLPOOL a2ec71ce7e4369575d17691c694f0d175afcbc1832fac1c0eefeee7d694280317d51cef6a6cf02c1a6f8e941c69900fa175ca049b5a30718d39d84254ec7be68
DIST gmp-man-5.1.1.pdf 1156487 SHA256 c8c33650c321022c417275321b75e3b0c1bf87275f17323fa843778097449504 SHA512 3e855b882a039099bdc3719c94e4c18d0025e3a903b770752271a41dd9c5cf2b70654f6f59c32edfd4320e9954f679610764f379bd21b9d883d4fc20bd312f76 WHIRLPOOL b87d92601f3c170527192f78c60d6a137043f39772baabdd17957344207fbaae1ad88f03e22348e6e572f0a8a28ee1d80b3dc52015704cb52676b545ccb9f4e5
DIST gmp-man-5.1.2.pdf 1156466 SHA256 2f059a5179c2ea971b9b16553b9f15504e82ef0b7bc7f0b80b1b4fe33147c21f SHA512 b6fc8d82bf15b3d550bf2388fefbba4c7e1bdd5b324d6be52e6398d7b8fb72dd4a59f498bec80a7c8382fe3b5c026434766f0c319742c1263326e0a5b589bb21 WHIRLPOOL b43d41bdf97b94c284fbff305d9968d3142f748b79df51b3e34aa4a576e1655ebe2d3c90473b95d90f79670ae7b100a7b5e5d26ae353470ef2e2f853748dce95
DIST gmp-man-5.1.3.pdf 1159009 SHA256 56b0e21329f46ef1d59c1f191afc82c59f8b72273a8131ed9b5000b7d0689c38 SHA512 ba6a4b0bd2b5ee4d284dd13e9c5531fcb9cfbbbc80f40df458d73c80a1aa250b750cfdd5039998e8b0c7259a8b4d24bd0c7b59a90108f9b680bee62e6948d59e WHIRLPOOL ade206d7e1f543ed028f51e247067eec4511bd0f2499103e1e6296fad2bf50c4f8e09cf7688cc5dd56ee572cf889508ac7918f85e5f91d29d088882f7734a4e0
DIST gmp-man-6.0.0a.pdf 1187496 SHA256 b38ed1d760b20c01b734b65380ab667373fa48d8203f762a434cd3f326c67a38 SHA512 528972502d65d23b58c47a594a628e648f11cc027bd0894a39b8f892bb421ceabb7f35640a9eede21cea791f5f597ed4661a1f73444c56a6fb31fa6e362d96c2 WHIRLPOOL e6c4eb3a9adc82496a1872223ceb153e05c3aabd2323aeb38064739a5200eb8fc24fa3bb96f5fb1e632cc90a2576bd3966bae3c7a7a0c750ca56faeb30837eea
EBUILD gmp-4.3.2-r1.ebuild 1674 SHA256 21a33fed67afd190d230dcacb7ed9422a43bdc111c3dfe0074d4fb4eb9093f63 SHA512 6fc6b635e9a4200fbafd225fc846b299fb558d61c80c9c510be5f256ab8b95560c83d1dfc4cfc3c30b08ea562c3f31f85a6e2cd035d6ea0e4242b1fa5251cba8 WHIRLPOOL deb76bee680ca8ce13abfdf352848423e15d2a9b53394b67ba0026f44461f6c54a95276416ada1da79f526270f12c1ff71f2908c4dc18c549d0e83c2c3a68d67
EBUILD gmp-5.0.1.ebuild 2458 SHA256 8a7b8f7fadb14fb6c92881e6f0e063422ea9c6ecf57e0c3f1ffe0b08dcf945d0 SHA512 555d7b4cd8f31089701ee79444e6c36a4463647b000d08d3190591fc1b095ce98b0451460343720b95c478cf399d64d6ce2f413d260ceeba4d64336bfe971a7e WHIRLPOOL 21ff8707871b56ba4c1b1d7fcf112b3dd1acf14e27c49bc10aa006eaf5822e7f6cadfe87a14f02cd18eda7de549ff6d9318136a313ba930da49db0b2f383eadd
EBUILD gmp-5.0.2.ebuild 2400 SHA256 5373783ef40f60d5df4a4df92c345cb89d3abf0702706e4ee91a4f8e766eada8 SHA512 a0bb97f82197da496c0ec335986b85947fcf8dc7d5445aef3d800f838b9339701589b33413a654e6df4efa7819ab00beb2054f129958f83723a2292b53c2c524 WHIRLPOOL aae674b2aa7a6640b8e66a212e48450a04e1a317df11401fd7dcdc5ec1a349b71e99ffdebd9aa0c71d59251bc9fab1c238c4e43a0d6129fdefc21187947d1acb
EBUILD gmp-5.0.2_p1.ebuild 2842 SHA256 7631e4e1703d8bcd6098bd4dbda141f402a627bb52da8cc424e5d771a0f72b63 SHA512 dc16f885ad468d836fe0300bd4cec2bcdca68df636a7c51aa4419b3295344530f4fc30eaf5b8eadca69cb11d942c249c1fb70d93efc379a7d6257b495a0a699e WHIRLPOOL cde01f675776c347a3016f7312a2520fb6b7cb513132f95a58d1b2e8c85c9d6b84f464e076dbddd99732a2a26a50a19b6194bca6c84ecad08a4a8708a78dac8e
EBUILD gmp-5.0.3.ebuild 2765 SHA256 528f4aed6b044fb4a8c8fa86bb50ae7960329b03a5d3b11cd5d4945a4e20bc75 SHA512 910d8abd30caced65698b35c2c0952bca95a949e5739e34c840bf7ccb4f811c5599968f4941dc46eef466a2e3da8ef737858cd65c6b2743b677f69c6fbdc3ba3 WHIRLPOOL 5cca010d59b5d72b6dcc2b63bf6acf12ea70cdb2c5881420f68f3de032738ce1ad53b4862d899cd18ae2d3ad57fc04ff490a731e1aa88d22956e8158d326e534
EBUILD gmp-5.0.4.ebuild 2761 SHA256 96b6aee15c93e99469a140052e4b2dac8a1556db35c6c2d122eae407309f6be5 SHA512 d4540c5a3450b606441577dec1af437cf09721d4cbb0270f9ac630d23b57f01c7449db2941ce97e9541f2fded333c705db01bf911224c923682b6b0d1f369010 WHIRLPOOL d44520d7d9a5e81de7ec6cb661f6a64bc2acdad1f60e747ba61559607f79049f5098dae4fe4fb7924ed760b5bffc9d27d13c8d58053bd4431d8e8d31c6666c2d
EBUILD gmp-5.0.5.ebuild 2759 SHA256 5db00b82a974c7da6f5b9b78ea27d5948bc99c5b02d2a43796e9dbd3679e2451 SHA512 90e70ba4e9b93ebfb1d3fb780408c0f3558a7a81e55ea102dea2bc5c08cb85f11a273eede7171561988c873708ae1273a7a679dfb9be347dd8d035fe7982824a WHIRLPOOL a76bcf9cdb2b301704475faaecaedaf62b8e047caad370995b81b2e532b1743a9186763d4cfbb8675c3c587262fa068f17d1b390c8d0fcf5460ccd46ceef7dc6
EBUILD gmp-5.1.0.ebuild 3127 SHA256 b522c2cb5957caf872f7cf18ca598a92bbf72a07ac8f473b54c559af56ecd697 SHA512 f93008ac4d463675528aef60c42e6f46e4244165405a949807d5543599e4b527413bf58ca8d015ca1cd0ac8d87ba2a8cfb0869765b6f33611012198108a8f65f WHIRLPOOL 863aa567323136e6641ade41de93a1127a0fb329c5063392f35914af8ee4e88c0ab8ea44e452a13638a2adf1c32e85f7bd687450d57c0a390deff89af7c33ac2
EBUILD gmp-5.1.1.ebuild 3075 SHA256 dad487c64f6c5ce7b2dc146b05a61ff343c4c1cf3e1f20fb0a8cc56ce367b83f SHA512 9aee79a785caeaa34c5a2368a1c4b8e34fa3747e6a89b7df5e7cd3e8a80d3cb1a12c1f3665c580925144f7c99ef780ef22c42d51cdc57699b61ebe825cc1c7a7 WHIRLPOOL 7cee6f083752d3a931fee3dd016997f78ff98caeeed9d184b8f7c4e6f73fe5f992b57da5157d86d5f6bb01264088e5c91fd7ef43e2abf79960d2f4909660b4c1
EBUILD gmp-5.1.2.ebuild 3025 SHA256 7ab5e35e4dc211930881b68647aefb008e069fb7fe2104938ece6148b4c5fe57 SHA512 18b5d4911f59280c893dbce9fecef930235d91f91e6ab7975bc30e5c98b9809841ffe5e6c9fa92ec80fca692243b5d09adaa2779adc402692a360d15d41909c5 WHIRLPOOL dcfe5c17513ecbd8859ad60fa9f177f662dc495c2d4a42b25ce2e83f3223a96086370008331bbfbe34a8802d3c4ad1514c71866022b94054af05703c14107e5f
EBUILD gmp-5.1.3-r1.ebuild 3138 SHA256 74e94f5a9602076727fa479073a2de6f95d762b56fab3d67ba950bad8ce75ef0 SHA512 ff57ec695a6f616d8012fc15dfbb9c1fd84282186dc843eeaa3baa285934a4a6594f931a97b6297a06bf230c979684a6b16820821651961dd9b1603e4a656172 WHIRLPOOL a265e52f7a141ff677713ba9aead4ad4a41492543f88e4a2b473d302ab47ad50874bbbc87b4d35392392617222de21820a5e1849b484ba4b5bf05c592119ee5b
EBUILD gmp-5.1.3.ebuild 3036 SHA256 8e5abf8d94e534004eacce9a7ed69a2411120f4087d80a4f150836fb73d5b2ad SHA512 c8f7e5b7b523144c60e3d3e521e54e39dec0896e0cc8685993167ae5a10881debc675602a5d38697b4bf9049022ce407061f3781ad2af208f760b96e7d0cfde1 WHIRLPOOL fe20cd1beaf348abf3df12315e95fe79881dc82c92209536c44ae14b09d47ee4647db583815b37bcadd35be62837ad982338b13cf40276e6c83e2d8f970d203f
EBUILD gmp-6.0.0a.ebuild 3101 SHA256 256547b71b37ab7526c2476db2f42761c2f1f42cd4a008e45b20627cff45fc72 SHA512 11f1e4a90177ed6b68978a190df79fb9866a4ce9540f16822e430b3a658c16876df8f8d04da8d9d6538d62c523796f8c91387b1d56f0d628b50d5cea79811013 WHIRLPOOL 4a0d02795213bfdb40b8926495eb580cd5ffbf004260aeb439ccef3d0fafa7ca3977314c7207f3208530897349eba4d912356c5daf73dbdc8b9da7e6ac906239
MISC ChangeLog 27486 SHA256 373de212767fe04284d57de8ae61f3dae985ad0bec25fbed6761351e92c3aca2 SHA512 ada3ea9af2a209aa12202091e5261b5efec2b03234c01db758f86e342659231527e2e43f4b5ddc7f5a63e50ed19ad886a090ff3d4a06b663e5f8cc43e38ec2ad WHIRLPOOL ce694aac722d31e0d70bf88dfa1186d5c2d69b4122fd440857317479411d6cf3cf563921921d51ffcb0ba5a3daca0610addf075070bf6229dfc0a3741c53302f
MISC metadata.xml 315 SHA256 f6cfb0b2b72dab3e088b68df3d21db3f8463b30571e6de17d1431a57f1bc8d26 SHA512 109d0cbf90eff7264eb6502397024425664d8349229ba334797fcca61852e92ea2c3064579c4765793a69e2811a44ffa63b3091f2ffa5a433dc22ab308a2bcba WHIRLPOOL 3320121476ba2740ee9ee338374cccc853990f229e0cb3a23b5c0ed3e925485f5fd4b797b04ec4ae419eadfc5b9a057dcd9435fe507cca65560e09ad158c1ffb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)
iQIcBAEBCAAGBQJTkhYPAAoJEPGu1DbS6WIA3dAQAJKTJLf2YI19YlJ+3u2Uankx
Gys3zwXsIyAJ4fo/elng86tqnzUOfvJA8JddPiPtEyWVsYUOp4UMBAGb2wpJ9qXA
Y9hXU8pWguCLiqrsqGS2oc6/VNVaKjvQoEO7dytMzVTzslgYiH3uiNd6zwvfsJg4
vvRICa/Xdz/jul1Z9HLRQpSt9vgbeV/3k3ftautzgQ3fyCZBt44GI66F9dbtgKi9
CMc8ImmHau7FUxKVDUA+zCUC6is3HIO3cqvImZNmINuixCVlakjJNdJFYakzsDdN
l5+oJLVCR5SkchNyFMRa+v1okBQId5XM+wGbpeCx6CePwHwdBSVyXp4aVbmWPFVH
g9UivdUseT4fOH3Zjj534f5FH369X1NYce/+Nj4XTE1sOGzyTS5tZofUxjxPzNaq
H4LnsfVM5IZKKg4watyEKaIFf5dDsH3HsG0NfmCbVoJXwEfamYsl2NOZrJ1/P/lB
xP96lpeUiwl+uKlsZg+7/eSAJVzM2wv6/3Rarz5CPzMbMg5uPnWhyr1TDEDWARES
bBf4Wie83157vJq5Obr+aEvXvlwMDb3zf6vBtlG3dp6HimmvgPCXcn9deFfgihW4
kh6mXtUiK/kvlUNtgFSOPYbCZC7pP2KVgjr5hPfFwjTvbswzJOiYjfo35APcUHeb
HMWSw12xJVX+o/jvJ0E7
=jBAh
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,23 @@
from upstream
# HG changeset patch
# User Torbjorn Granlund <tege@gmplib.org>
# Date 1395835068 -3600
# Node ID 4a6d258b467f661da0894cc60ecd060f2e3c67c7
# Parent 301ce2788826a2d4d2725bd5cf01e998638db37a
Provide default for BMOD_1_TO_MOD_1_THRESHOLD.
diff -r 301ce2788826 -r 4a6d258b467f mpn/powerpc64/mode64/gcd_1.asm
--- a/mpn/powerpc64/mode64/gcd_1.asm Tue Mar 25 15:34:52 2014 +0100
+++ b/mpn/powerpc64/mode64/gcd_1.asm Wed Mar 26 12:57:48 2014 +0100
@@ -43,6 +43,9 @@
define(`n', `r4')
define(`v0', `r5')
+ifdef(`BMOD_1_TO_MOD_1_THRESHOLD',,
+ `define(`BMOD_1_TO_MOD_1_THRESHOLD',30)')
+
EXTERN_FUNC(mpn_mod_1)
EXTERN_FUNC(mpn_modexact_1c_odd)

View File

@ -0,0 +1,68 @@
stolen from SuSE
--- configure.in
+++ configure.in
@@ -1050,6 +1050,9 @@
;;
+ s390x-*-*)
+ path="s390x" ;;
+
# IBM s/370 and similar
[s3[6-9]0*-*-*])
gcc_cflags="-O2 $fomit_frame_pointer"
--- configure
+++ configure
@@ -1050,6 +1050,9 @@
;;
+ s390x-*-*)
+ path="s390x" ;;
+
# IBM s/370 and similar
s3[6-9]0*-*-*)
gcc_cflags="-O2 $fomit_frame_pointer"
--- mpn/s390/gmp-mparam.h
+++ mpn/s390/gmp-mparam.h
@@ -20,7 +20,8 @@
MA 02110-1301, USA. */
-/* BITS_PER_MP_LIMB etc generated by configure */
+#define BITS_PER_MP_LIMB 32
+#define BYTES_PER_MP_LIMB 4
/* Generated by tuneup.c, 2001-12-03, gcc 2.95 */
--- mpn/s390x/gmp-mparam.h
+++ mpn/s390x/gmp-mparam.h
@@ -0,0 +1,27 @@
+/* gmp-mparam.h -- Compiler/machine parameter header file.
+
+Copyright (C) 1991, 1993, 1994, 1995 Free Software Foundation, Inc.
+
+This file is part of the GNU MP Library.
+
+The GNU MP Library is free software; you can redistribute it and/or modify
+it under the terms of the GNU Library General Public License as published by
+the Free Software Foundation; either version 2 of the License, or (at your
+option) any later version.
+
+The GNU MP Library is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+License for more details.
+
+You should have received a copy of the GNU Library General Public License
+along with the GNU MP Library; see the file COPYING.LIB. If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+MA 02111-1307, USA. */
+
+#define BITS_PER_MP_LIMB 64
+#define BYTES_PER_MP_LIMB 8
+#define BITS_PER_LONGINT 64
+#define BITS_PER_INT 32
+#define BITS_PER_SHORTINT 16
+#define BITS_PER_CHAR 8

View File

@ -0,0 +1,256 @@
Gentoo uses ABI env var already
--- gmp-4.2.3/configure
+++ gmp-4.2.3/configure
@@ -489,7 +489,7 @@
WANT_MPBSD_TRUE
WANT_MPBSD_FALSE
GMP_NAIL_BITS
-ABI
+GMPABI
HAVE_HOST_CPU_FAMILY_power
HAVE_HOST_CPU_FAMILY_powerpc
GMP_LDFLAGS
@@ -930,7 +930,7 @@
ac_precious_vars='build_alias
host_alias
target_alias
-ABI
+GMPABI
CC
CFLAGS
LDFLAGS
@@ -1091,7 +1091,7 @@
include additional configurations [automatic]
Some influential environment variables:
- ABI desired ABI (for processors supporting more than one ABI)
+ GMPABI desired ABI (for processors supporting more than one ABI)
CC C compiler command
CFLAGS C compiler flags
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
@@ -2670,7 +2670,7 @@
# (64-bit), but not both, so there's no option to choose the desired
# mode, we must instead detect which of the two it is. This is done by
# checking sizeof(long), either 4 or 8 bytes respectively. Do this in
- # ABI=1.0 too, in case someone tries to build that with a 2.0w gcc.
+ # GMPABI=1.0 too, in case someone tries to build that with a 2.0w gcc.
#
gcc_cflags="-O2"
gcc_cflags_optlist="arch"
@@ -2694,11 +2694,11 @@
# gcc 2.7.2.3 knows -mpa-risc-1-0 and -mpa-risc-1-1
# gcc 2.95 adds -mpa-risc-2-0, plus synonyms -march=1.0, 1.1 and 2.0
#
- # We don't use -mpa-risc-2-0 in ABI=1.0 because 64-bit registers may not
+ # We don't use -mpa-risc-2-0 in GMPABI=1.0 because 64-bit registers may not
# be saved by the kernel on an old system. Actually gcc (as of 3.2)
# only adds a few float instructions with -mpa-risc-2-0, so it would
# probably be safe, but let's not take the chance. In any case, a
- # configuration like --host=hppa2.0 ABI=1.0 is far from optimal.
+ # configuration like --host=hppa2.0 GMPABI=1.0 is far from optimal.
#
case $host_cpu in
hppa1.0*) gcc_cflags_arch="-mpa-risc-1-0" ;;
@@ -2733,9 +2733,9 @@
cc_20n_cflags="+DA2.0 +e +O2 -Wl,+vnocompatwarnings"
cc_20n_testlist="hpc-hppa-2-0"
- # ABI=2.0w is available for hppa2.0w and hppa2.0, but not for
+ # GMPABI=2.0w is available for hppa2.0w and hppa2.0, but not for
# hppa2.0n, on the assumption that that the latter indicates a
- # desire for ABI=2.0n.
+ # desire for GMPABI=2.0n.
case $host in
hppa2.0n-*-*) ;;
*)
@@ -3203,7 +3203,7 @@
# mode, but not set our ABI. For some reason it's sparc where this
# keeps coming up, presumably users there are accustomed to driving the
# compiler mode that way. The effect of our testlist setting is to
- # reject ABI=64 in favour of ABI=32 if the user has forced the flags to
+ # reject GMPABI=64 in favour of GMPABI=32 if the user has forced the flags to
# 32-bit mode.
#
abilist="32"
@@ -3308,12 +3308,12 @@
case $host_cpu in
sparc64 | sparcv9* | ultrasparc*)
case $host in
- # Solaris 6 and earlier cannot run ABI=64 since it doesn't save
- # registers properly, so ABI=32 is left as the only choice.
+ # Solaris 6 and earlier cannot run GMPABI=64 since it doesn't save
+ # registers properly, so GMPABI=32 is left as the only choice.
#
*-*-solaris2.[0-6] | *-*-solaris2.[0-6].*) ;;
- # BSD sparc64 ports are 64-bit-only systems, so ABI=64 is the only
+ # BSD sparc64 ports are 64-bit-only systems, so GMPABI=64 is the only
# choice. In fact they need no special compiler flags, gcc -m64
# is the default, but it doesn't hurt to add it. v9 CPUs always
# use the sparc64 port, since the plain 32-bit sparc ports don't
@@ -3399,7 +3399,7 @@
# -O, but lets assume that's no longer true.
#
# -m32 forces 32-bit mode on a bi-arch 32/64 amd64 build of gcc. -m64 is
- # the default in such a build (we think), so -m32 is essential for ABI=32.
+ # the default in such a build (we think), so -m32 is essential for GMPABI=32.
# This is, of course, done for any $host_cpu, not just x86_64, so we can
# get such a gcc into the right mode to cross-compile to say i486-*-*.
#
@@ -3639,7 +3639,7 @@
cat >&5 <<EOF
User:
-ABI=$ABI
+GMPABI=$GMPABI
CC=$CC
CFLAGS=$CFLAGS_or_unset
CPPFLAGS=$CPPFLAGS_or_unset
@@ -3660,24 +3660,24 @@
# If the user specifies an ABI then it must be in $abilist, after that
# $abilist is restricted to just that choice.
#
-if test -n "$ABI"; then
+if test -n "$GMPABI"; then
found=no
for abi in $abilist; do
- if test $abi = "$ABI"; then found=yes; break; fi
+ if test $abi = "$GMPABI"; then found=yes; break; fi
done
if test $found = no; then
- { { echo "$as_me:$LINENO: error: ABI=$ABI is not among the following valid choices: $abilist" >&5
-echo "$as_me: error: ABI=$ABI is not among the following valid choices: $abilist" >&2;}
+ { { echo "$as_me:$LINENO: error: GMPABI=$GMPABI is not among the following valid choices: $abilist" >&5
+echo "$as_me: error: GMPABI=$GMPABI is not among the following valid choices: $abilist" >&2;}
{ (exit 1); exit 1; }; }
fi
- abilist="$ABI"
+ abilist="$GMPABI"
fi
found_compiler=no
for abi in $abilist; do
- echo "checking ABI=$abi"
+ echo "checking GMPABI=$abi"
# Suppose abilist="64 32", then for abi=64, will have abi1="_64" and
# abi2="_64". For abi=32, will have abi1="_32" and abi2="". This is how
@@ -5128,7 +5128,7 @@
# For -march settings which enable SSE2 we exclude certain bad
# gcc versions and we need an OS knowing how to save xmm regs.
#
- # This is only for ABI=32, any 64-bit gcc is good and any OS
+ # This is only for GMPABI=32, any 64-bit gcc is good and any OS
# knowing x86_64 will know xmm.
#
# -march=k8 was only introduced in gcc 3.3, so we shouldn't need
@@ -6368,16 +6368,16 @@
done
fi
- ABI="$abi"
+ GMPABI="$abi"
CC="$cc"
CFLAGS="$cflags"
CPPFLAGS="$cppflags"
# Could easily have this in config.h too, if desired.
- ABI_nodots=`echo $ABI | sed 's/\./_/'`
+ GMPABI_nodots=`echo $GMPABI | sed 's/\./_/'`
-echo "define_not_for_expansion(\`HAVE_ABI_$ABI_nodots')" >> $gmp_tmpconfigm4p
+echo "define_not_for_expansion(\`HAVE_ABI_$GMPABI_nodots')" >> $gmp_tmpconfigm4p
@@ -8830,12 +8830,12 @@
# If there's any sse2 or mmx in the path, check whether the assembler
# supports it, and remove if not.
#
-# We only need this in ABI=32, for ABI=64 on x86_64 we can assume a new
+# We only need this in GMPABI=32, for GMPABI=64 on x86_64 we can assume a new
# enough assembler.
#
case $host in
i?86*-*-* | k[5-8]*-*-* | pentium*-*-* | athlon-*-* | viac3*-*-* | geode*-*-* | athlon64-*-* | atom-*-* | core2-*-* | x86_64-*-*)
- if test "$ABI" = 32; then
+ if test "$GMPABI" = 32; then
case "$path $fat_path" in
*mmx*) echo "$as_me:$LINENO: checking if the assembler knows about MMX instructions" >&5
echo $ECHO_N "checking if the assembler knows about MMX instructions... $ECHO_C" >&6
@@ -9019,7 +9019,7 @@
cat >&5 <<EOF
Decided:
-ABI=$ABI
+GMPABI=$GMPABI
CC=$CC
CFLAGS=$CFLAGS
CPPFLAGS=$CPPFLAGS
@@ -9028,7 +9028,7 @@
CXXFLAGS=$CXXFLAGS
path=$path
EOF
-echo "using ABI=\"$ABI\""
+echo "using GMPABI=\"$GMPABI\""
echo " CC=\"$CC\""
echo " CFLAGS=\"$CFLAGS\""
echo " CPPFLAGS=\"$CPPFLAGS\""
@@ -30005,7 +30005,7 @@
case $host in
*-*-aix*)
- case $ABI in
+ case $GMPABI in
64 | aix64)
echo "include_mpn(\`powerpc64/aix.m4')" >> $gmp_tmpconfigm4i
;;
@@ -30015,7 +30015,7 @@
esac
;;
*-*-linux* | *-*-*bsd*)
- case $ABI in
+ case $GMPABI in
mode64)
echo "include_mpn(\`powerpc64/elf.m4')" >> $gmp_tmpconfigm4i
;;
@@ -30025,7 +30025,7 @@
esac
;;
*-*-darwin*)
- case $ABI in
+ case $GMPABI in
mode64)
echo "include_mpn(\`powerpc64/darwin.m4')" >> $gmp_tmpconfigm4i
;;
@@ -30048,7 +30048,7 @@
;;
sparcv9*-*-* | ultrasparc*-*-* | sparc64-*-*)
- case $ABI in
+ case $GMPABI in
64)
echo "$as_me:$LINENO: checking if the assembler accepts \".register\"" >&5
@@ -30130,7 +30130,7 @@
echo "define(<ALIGN_FILL_0x90>,<$gmp_cv_asm_align_fill_0x90>)" >> $gmp_tmpconfigm4
- case $ABI in
+ case $GMPABI in
32)
echo "include_mpn(\`x86/x86-defs.m4')" >> $gmp_tmpconfigm4i
@@ -34032,7 +34032,7 @@
WANT_MPBSD_TRUE!$WANT_MPBSD_TRUE$ac_delim
WANT_MPBSD_FALSE!$WANT_MPBSD_FALSE$ac_delim
GMP_NAIL_BITS!$GMP_NAIL_BITS$ac_delim
-ABI!$ABI$ac_delim
+GMPABI!$GMPABI$ac_delim
HAVE_HOST_CPU_FAMILY_power!$HAVE_HOST_CPU_FAMILY_power$ac_delim
HAVE_HOST_CPU_FAMILY_powerpc!$HAVE_HOST_CPU_FAMILY_powerpc$ac_delim
GMP_LDFLAGS!$GMP_LDFLAGS$ac_delim

View File

@ -0,0 +1,36 @@
# HG changeset patch
# User Torbjorn Granlund <tege@gmplib.org>
# Date 1267122532 -3600
# Node ID 794410151f5f966bcb5c3489b6441614990efe7c
# Parent 948660e2e56d9cfaae035082b8fd473985505fb6
Fix a test case to work for long long limbs.
2010-02-25 Torbjorn Granlund <tege@gmplib.org>
* tests/mpz/t-perfpow.c (check_random): Use mp_limb_t type for limb
variables.
diff -r 948660e2e56d -r 794410151f5f tests/mpz/t-perfpow.c
--- a/tests/mpz/t-perfpow.c Thu Feb 25 16:08:21 2010 +0100
+++ b/tests/mpz/t-perfpow.c Thu Feb 25 19:28:52 2010 +0100
@@ -2,7 +2,7 @@
Contributed to the GNU project by Torbjorn Granlund and Martin Boij.
-Copyright 2008, 2009 Free Software Foundation, Inc.
+Copyright 2008, 2009, 2010 Free Software Foundation, Inc.
This file is part of the GNU MP Library.
@@ -109,7 +109,8 @@
{
mpz_t n, np, temp, primes[NRP];
int i, j, k, unique, destroy, res;
- unsigned long int nrprimes, primebits, g, exp[NRP], e;
+ unsigned long int nrprimes, primebits;
+ mp_limb_t g, exp[NRP], e;
gmp_randstate_ptr rands;
rands = RANDS;

View File

@ -0,0 +1,41 @@
Upstream-Status: Pending
Add X32 support in gmp configure.
Patch Originator: H J Lu @ Intel
Patch modified for Yocto by Nitin Kamble
Signed Off By: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/11/21
--- gmp-5.0.5/configure
+++ gmp-5.0.5/configure
@@ -5189,6 +5189,21 @@
esac
;;
esac
+
+ # X32 support.
+ case x"$path_64" in
+ xx86_64*)
+ abilist="x32 64 32"
+ path_x32="$path_64"
+ limb_x32=longlong
+ cclist_x32="gcc"
+ gcc_x32_cflags="-O2 -mx32"
+ any_x32_testlist="sizeof-long-4"
+ CALLING_CONVENTIONS_OBJS_x32='amd64call.lo amd64check$U.lo'
+ SPEED_CYCLECOUNTER_OBJ_x32=x86_64.lo
+ cyclecounter_size_x32=2
+ ;;
+ esac
;;
@@ -3039,7 +3058,7 @@
;;
esac
;;
- 64)
+ 64|x32)
echo "include_mpn(\`x86_64/x86_64-defs.m4')" >> $gmp_tmpconfigm4i

View File

@ -0,0 +1,12 @@
fix missing __gmpn_invert_limb symbols w/armv4 targets
--- a/configure
+++ b/configure
@@ -582,6 +582,7 @@ case $host in
# options fail.
case $host_cpu in
armsa1 | armv4*)
+ path="arm"
;;
armxscale | arm9te | arm10 | armv5*)
path="arm/v5 arm"

View File

@ -0,0 +1,42 @@
Upstream-Status: Pending
Add X32 support in gmp configure.
Patch Originator: H J Lu @ Intel
Patch modified for Yocto by Nitin Kamble
Signed Off By: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/11/21
--- gmp-5.1.0/configure
+++ gmp-5.1.0/configure
@@ -5237,6 +5237,22 @@ echo "include_mpn(\`vax/elf.m4')" >> $gmp_tmpconfigm4i
extra_functions_64="invert_limb_table"
fi
+ # X32 support.
+ case x"$path_64" in
+ xx86_64*)
+ abilist="x32 64 32"
+ path_x32="$path_64"
+ limb_x32=longlong
+ cclist_x32="gcc"
+ gcc_x32_cflags="-O2 -mx32"
+ any_x32_testlist="sizeof-long-4"
+ CALLING_CONVENTIONS_OBJS_x32=$CALLING_CONVENTIONS_OBJS_64
+ SPEED_CYCLECOUNTER_OBJ_x32=$SPEED_CYCLECOUNTER_OBJ_64
+ cyclecounter_size_x32=$cyclecounter_size_64
+ extra_functions_x32=$extra_functions_64
+ ;;
+ esac
+
case $host in
*-*-solaris*)
# Sun cc.
@@ -28611,7 +28627,7 @@ echo "include_mpn(\`x86/darwin.m4')" >> $gmp_tmpconfigm4i
;;
esac
;;
- 64)
+ 64|x32)
echo "include_mpn(\`x86_64/x86_64-defs.m4')" >> $gmp_tmpconfigm4i

View File

@ -0,0 +1,119 @@
2010-07-27 Magnus Granberg <zorry@gentoo.org>
#236054
tests/Makefile.in add -nopie to CFLAGS
test/misc/Makefile.in likewise
test/mpbsd/Makefile.in likewise
test/mpf/Makefile.in likewise
test/mpn/Makefile.in likewise
test/mpq/Makefile.in likewise
test/mpz/Makefile.in likewise
test/randMakefile.in likewise
test/cxx/Makefile.in likewise and CXXFLAGS
--- a/tests/Makefile.in 2010-07-27 00:53:05.000000000 +0000
+++ b/tests/Makefile.in 2010-07-27 00:35:10.000000000 +0000
@@ -200,7 +200,7 @@
CC = @CC@
CCAS = @CCAS@
CC_FOR_BUILD = @CC_FOR_BUILD@
-CFLAGS = @CFLAGS@
+CFLAGS = @CFLAGS@ -nopie
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CPP_FOR_BUILD = @CPP_FOR_BUILD@
--- a/tests/devel/Makefile.in 2010-07-27 00:53:05.000000000 +0000
+++ b/tests/devel/Makefile.in 2010-07-27 00:35:10.000000000 +0000
@@ -200,7 +200,7 @@
CC = @CC@
CCAS = @CCAS@
CC_FOR_BUILD = @CC_FOR_BUILD@
-CFLAGS = @CFLAGS@
+CFLAGS = @CFLAGS@ -nopie
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CPP_FOR_BUILD = @CPP_FOR_BUILD@
--- a/tests/misc/Makefile.in 2010-07-27 00:53:05.000000000 +0000
+++ b/tests/misc/Makefile.in 2010-07-27 00:35:10.000000000 +0000
@@ -200,7 +200,7 @@
CC = @CC@
CCAS = @CCAS@
CC_FOR_BUILD = @CC_FOR_BUILD@
-CFLAGS = @CFLAGS@
+CFLAGS = @CFLAGS@ -nopie
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CPP_FOR_BUILD = @CPP_FOR_BUILD@
--- a/tests/mpf/Makefile.in 2010-07-27 00:53:05.000000000 +0000
+++ b/tests/mpf/Makefile.in 2010-07-27 00:35:10.000000000 +0000
@@ -200,7 +200,7 @@
CC = @CC@
CCAS = @CCAS@
CC_FOR_BUILD = @CC_FOR_BUILD@
-CFLAGS = @CFLAGS@
+CFLAGS = @CFLAGS@ -nopie
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CPP_FOR_BUILD = @CPP_FOR_BUILD@
--- a/tests/mpn/Makefile.in 2010-07-27 00:53:05.000000000 +0000
+++ b/tests/mpn/Makefile.in 2010-07-27 00:35:10.000000000 +0000
@@ -200,7 +200,7 @@
CC = @CC@
CCAS = @CCAS@
CC_FOR_BUILD = @CC_FOR_BUILD@
-CFLAGS = @CFLAGS@
+CFLAGS = @CFLAGS@ -nopie
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CPP_FOR_BUILD = @CPP_FOR_BUILD@
--- a/tests/mpq/Makefile.in 2010-07-27 00:53:05.000000000 +0000
+++ b/tests/mpq/Makefile.in 2010-07-27 00:35:10.000000000 +0000
@@ -200,7 +200,7 @@
CC = @CC@
CCAS = @CCAS@
CC_FOR_BUILD = @CC_FOR_BUILD@
-CFLAGS = @CFLAGS@
+CFLAGS = @CFLAGS@ -nopie
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CPP_FOR_BUILD = @CPP_FOR_BUILD@
--- a/tests/mpz/Makefile.in 2010-07-27 00:53:05.000000000 +0000
+++ b/tests/mpz/Makefile.in 2010-07-27 00:35:10.000000000 +0000
@@ -200,7 +200,7 @@
CC = @CC@
CCAS = @CCAS@
CC_FOR_BUILD = @CC_FOR_BUILD@
-CFLAGS = @CFLAGS@
+CFLAGS = @CFLAGS@ -nopie
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CPP_FOR_BUILD = @CPP_FOR_BUILD@
--- a/tests/rand/Makefile.in 2010-07-27 00:53:05.000000000 +0000
+++ b/tests/rand/Makefile.in 2010-07-27 00:35:10.000000000 +0000
@@ -200,7 +200,7 @@
CC = @CC@
CCAS = @CCAS@
CC_FOR_BUILD = @CC_FOR_BUILD@
-CFLAGS = @CFLAGS@
+CFLAGS = @CFLAGS@ -nopie
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CPP_FOR_BUILD = @CPP_FOR_BUILD@
--- a/tests/cxx/Makefile.in 2010-02-06 12:43:21.000000000 +0000
+++ b/tests/cxx/Makefile.in 2010-07-27 01:31:43.000000000 +0000
@@ -189,13 +189,13 @@
CC = @CC@
CCAS = @CCAS@
CC_FOR_BUILD = @CC_FOR_BUILD@
-CFLAGS = @CFLAGS@
+CFLAGS = @CFLAGS@ -nopie
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CPP_FOR_BUILD = @CPP_FOR_BUILD@
CXX = @CXX@
CXXCPP = @CXXCPP@
-CXXFLAGS = @CXXFLAGS@
+CXXFLAGS = @CXXFLAGS@ -nopie
CYGPATH_W = @CYGPATH_W@
DEFN_LONG_LONG_LIMB = @DEFN_LONG_LONG_LIMB@
DEFS = @DEFS@

View File

@ -0,0 +1,61 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/gmp/gmp-4.3.2-r1.ebuild,v 1.2 2014/06/06 19:27:06 vapier Exp $
# this ebuild is only for the libgmp.so.3 ABI SONAME
EAPI="3"
inherit eutils libtool toolchain-funcs
DESCRIPTION="Library for arithmetic on arbitrary precision integers, rational numbers, and floating-point numbers"
HOMEPAGE="http://gmplib.org/"
SRC_URI="mirror://gnu/${PN}/${P}.tar.bz2"
LICENSE="LGPL-3"
SLOT="3"
KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd"
IUSE=""
DEPEND="sys-devel/m4"
RDEPEND=""
src_prepare() {
epatch "${FILESDIR}"/${PN}-4.1.4-noexecstack.patch
epatch "${FILESDIR}"/${PN}-4.3.2-ABI-multilib.patch
epatch "${FILESDIR}"/${PN}-4.2.1-s390.diff
sed -i -e 's:ABI = @ABI@:GMPABI = @GMPABI@:' \
Makefile.in */Makefile.in */*/Makefile.in
# note: we cannot run autotools here as gcc depends on this package
elibtoolize
}
src_configure() {
# Because of our 32-bit userland, 1.0 is the only HPPA ABI that works
# http://gmplib.org/manual/ABI-and-ISA.html#ABI-and-ISA (bug #344613)
if [[ ${CHOST} == hppa2.0-* ]] ; then
export GMPABI="1.0"
fi
# ABI mappings (needs all architectures supported)
case ${ABI} in
32|x86) export GMPABI=32;;
64|amd64|n64) export GMPABI=64;;
o32|n32) export GMPABI=${ABI};;
esac
tc-export CC
econf \
--localstatedir=/var/state/gmp \
--disable-mpfr \
--disable-mpbsd \
--disable-static \
--disable-cxx
}
src_install() {
emake install-libLTLIBRARIES DESTDIR="${D}" || die
rm "${D}"/usr/*/libgmp.{la,so} || die
}

View File

@ -0,0 +1,87 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/gmp/gmp-5.0.1.ebuild,v 1.11 2011/11/13 20:03:31 vapier Exp $
inherit flag-o-matic eutils libtool toolchain-funcs
DESCRIPTION="Library for arithmetic on arbitrary precision integers, rational numbers, and floating-point numbers"
HOMEPAGE="http://gmplib.org/"
SRC_URI="mirror://gnu/${PN}/${P}.tar.bz2"
# doc? ( http://www.nada.kth.se/~tege/${PN}-man-${PV}.pdf )"
LICENSE="LGPL-3"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
IUSE="cxx" #doc
DEPEND="sys-devel/m4"
RDEPEND=""
src_unpack() {
unpack ${A}
cd "${S}"
[[ -d ${FILESDIR}/${PV} ]] && EPATCH_SUFFIX="diff" EPATCH_FORCE="yes" epatch "${FILESDIR}"/${PV}
epatch "${FILESDIR}"/${PN}-4.1.4-noexecstack.patch
epatch "${FILESDIR}"/${P}-perfpow-test.patch
epatch "${FILESDIR}"/${PN}-5.0.0-s390.diff
# disable -fPIE -pie in the tests for x86 #236054
if use x86 && gcc-specs-pie ; then
epatch "${FILESDIR}"/${PN}-5.0.1-x86-nopie-tests.patch
fi
# note: we cannot run autotools here as gcc depends on this package
elibtoolize
# GMP uses the "ABI" env var during configure as does Gentoo (econf).
# So, to avoid patching the source constantly, wrap things up.
mv configure configure.wrapped || die
cat <<-\EOF > configure
#!/bin/sh
exec env ABI="$GMPABI" "${0}.wrapped" "$@"
EOF
chmod a+rx configure
}
src_compile() {
# Because of our 32-bit userland, 1.0 is the only HPPA ABI that works
# http://gmplib.org/manual/ABI-and-ISA.html#ABI-and-ISA (bug #344613)
if [[ ${CHOST} == hppa2.0-* ]] ; then
export GMPABI="1.0"
fi
# ABI mappings (needs all architectures supported)
case ${ABI} in
32|x86) GMPABI=32;;
64|amd64|n64) GMPABI=64;;
o32|n32) GMPABI=${ABI};;
esac
export GMPABI
tc-export CC
econf \
--localstatedir=/var/state/gmp \
--disable-mpbsd \
$(use_enable cxx) \
|| die "configure failed"
emake || die "emake failed"
}
src_install() {
emake DESTDIR="${D}" install || die "make install failed"
dodoc AUTHORS ChangeLog NEWS README
dodoc doc/configuration doc/isa_abi_headache
dohtml -r doc
#use doc && cp "${DISTDIR}"/gmp-man-${PV}.pdf "${D}"/usr/share/doc/${PF}/
}
pkg_preinst() {
preserve_old_lib /usr/$(get_libdir)/libgmp.so.3
}
pkg_postinst() {
preserve_old_lib_notify /usr/$(get_libdir)/libgmp.so.3
}

View File

@ -0,0 +1,86 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/gmp/gmp-5.0.2.ebuild,v 1.11 2011/12/18 20:10:55 vapier Exp $
inherit flag-o-matic eutils libtool toolchain-funcs
DESCRIPTION="Library for arithmetic on arbitrary precision integers, rational numbers, and floating-point numbers"
HOMEPAGE="http://gmplib.org/"
SRC_URI="mirror://gnu/${PN}/${P}.tar.bz2"
# doc? ( http://www.nada.kth.se/~tege/${PN}-man-${PV}.pdf )"
LICENSE="LGPL-3"
SLOT="0"
KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd"
IUSE="cxx" #doc
DEPEND="sys-devel/m4"
RDEPEND=""
src_unpack() {
unpack ${A}
cd "${S}"
[[ -d ${FILESDIR}/${PV} ]] && EPATCH_SUFFIX="diff" EPATCH_FORCE="yes" epatch "${FILESDIR}"/${PV}
epatch "${FILESDIR}"/${PN}-4.1.4-noexecstack.patch
epatch "${FILESDIR}"/${PN}-5.0.0-s390.diff
# disable -fPIE -pie in the tests for x86 #236054
if use x86 && gcc-specs-pie ; then
epatch "${FILESDIR}"/${PN}-5.0.1-x86-nopie-tests.patch
fi
# note: we cannot run autotools here as gcc depends on this package
elibtoolize
# GMP uses the "ABI" env var during configure as does Gentoo (econf).
# So, to avoid patching the source constantly, wrap things up.
mv configure configure.wrapped || die
cat <<-\EOF > configure
#!/bin/sh
exec env ABI="$GMPABI" "${0}.wrapped" "$@"
EOF
chmod a+rx configure
}
src_compile() {
# Because of our 32-bit userland, 1.0 is the only HPPA ABI that works
# http://gmplib.org/manual/ABI-and-ISA.html#ABI-and-ISA (bug #344613)
if [[ ${CHOST} == hppa2.0-* ]] ; then
export GMPABI="1.0"
fi
# ABI mappings (needs all architectures supported)
case ${ABI} in
32|x86) GMPABI=32;;
64|amd64|n64) GMPABI=64;;
o32|n32) GMPABI=${ABI};;
esac
export GMPABI
tc-export CC
econf \
--localstatedir=/var/state/gmp \
--disable-mpbsd \
$(use_enable cxx) \
|| die "configure failed"
emake || die "emake failed"
}
src_install() {
emake DESTDIR="${D}" install || die "make install failed"
dodoc AUTHORS ChangeLog NEWS README
dodoc doc/configuration doc/isa_abi_headache
dohtml -r doc
#use doc && cp "${DISTDIR}"/gmp-man-${PV}.pdf "${D}"/usr/share/doc/${PF}/
}
pkg_preinst() {
preserve_old_lib /usr/$(get_libdir)/libgmp.so.3
}
pkg_postinst() {
preserve_old_lib_notify /usr/$(get_libdir)/libgmp.so.3
}

View File

@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/gmp/gmp-5.0.2_p1.ebuild,v 1.10 2012/01/03 10:21:17 vapier Exp $
# $Header: /var/cvsroot/gentoo-x86/dev-libs/gmp/gmp-5.0.2_p1.ebuild,v 1.12 2012/02/13 10:42:49 xarthisius Exp $
inherit flag-o-matic eutils libtool toolchain-funcs
@ -14,7 +14,7 @@ SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.bz2
LICENSE="LGPL-3"
SLOT="0"
KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ~ppc ~ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd"
KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd"
IUSE="doc cxx static-libs"
DEPEND="sys-devel/m4"

View File

@ -0,0 +1,101 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/gmp/gmp-5.0.3.ebuild,v 1.2 2012/01/28 21:06:23 vapier Exp $
inherit flag-o-matic eutils libtool toolchain-funcs
MY_PV=${PV/_p*}
MY_P=${PN}-${MY_PV}
PLEVEL=${PV/*p}
DESCRIPTION="Library for arithmetic on arbitrary precision integers, rational numbers, and floating-point numbers"
HOMEPAGE="http://gmplib.org/"
SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.xz
doc? ( http://gmplib.org/${PN}-man-${MY_PV}.pdf )"
LICENSE="LGPL-3"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
IUSE="doc cxx static-libs"
DEPEND="sys-devel/m4
app-arch/xz-utils"
RDEPEND=""
S=${WORKDIR}/${MY_P}
src_unpack() {
xz -dc "${DISTDIR}/${MY_P}.tar.xz" | tar xof - || die
cd "${S}"
[[ -d ${FILESDIR}/${PV} ]] && EPATCH_SUFFIX="diff" EPATCH_FORCE="yes" epatch "${FILESDIR}"/${PV}
epatch "${FILESDIR}"/${PN}-4.1.4-noexecstack.patch
epatch "${FILESDIR}"/${PN}-5.0.2*x32*.patch
# disable -fPIE -pie in the tests for x86 #236054
if use x86 && gcc-specs-pie ; then
epatch "${FILESDIR}"/${PN}-5.0.1-x86-nopie-tests.patch
fi
# note: we cannot run autotools here as gcc depends on this package
elibtoolize
# GMP uses the "ABI" env var during configure as does Gentoo (econf).
# So, to avoid patching the source constantly, wrap things up.
mv configure configure.wrapped || die
cat <<-\EOF > configure
#!/bin/sh
exec env ABI="$GMPABI" "${0}.wrapped" "$@"
EOF
chmod a+rx configure
}
src_compile() {
# Because of our 32-bit userland, 1.0 is the only HPPA ABI that works
# http://gmplib.org/manual/ABI-and-ISA.html#ABI-and-ISA (bug #344613)
if [[ ${CHOST} == hppa2.0-* ]] ; then
export GMPABI="1.0"
fi
# ABI mappings (needs all architectures supported)
case ${ABI} in
32|x86) GMPABI=32;;
64|amd64|n64) GMPABI=64;;
[onx]32) GMPABI=${ABI};;
esac
export GMPABI
tc-export CC
econf \
--localstatedir=/var/state/gmp \
--disable-mpbsd \
$(use_enable cxx) \
$(use_enable static-libs static) \
|| die
emake || die
}
src_install() {
emake DESTDIR="${D}" install || die
# should be a standalone lib
rm -f "${D}"/usr/$(get_libdir)/libgmp.la
# this requires libgmp
local la="${D}/usr/$(get_libdir)/libgmpxx.la"
use static-libs \
&& sed -i 's:/[^ ]*/libgmp.la:-lgmp:' "${la}" \
|| rm -f "${la}"
dodoc AUTHORS ChangeLog NEWS README
dodoc doc/configuration doc/isa_abi_headache
dohtml -r doc
use doc && cp "${DISTDIR}"/gmp-man-${MY_PV}.pdf "${D}"/usr/share/doc/${PF}/
}
pkg_preinst() {
preserve_old_lib /usr/$(get_libdir)/libgmp.so.3
}
pkg_postinst() {
preserve_old_lib_notify /usr/$(get_libdir)/libgmp.so.3
}

View File

@ -0,0 +1,101 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/gmp/gmp-5.0.4.ebuild,v 1.2 2012/04/26 12:27:18 aballier Exp $
inherit flag-o-matic eutils libtool unpacker toolchain-funcs
MY_PV=${PV/_p*}
MY_P=${PN}-${MY_PV}
PLEVEL=${PV/*p}
DESCRIPTION="Library for arithmetic on arbitrary precision integers, rational numbers, and floating-point numbers"
HOMEPAGE="http://gmplib.org/"
SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.xz
doc? ( http://gmplib.org/${PN}-man-${MY_PV}.pdf )"
LICENSE="LGPL-3"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
IUSE="doc cxx static-libs"
DEPEND="sys-devel/m4
app-arch/xz-utils"
RDEPEND=""
S=${WORKDIR}/${MY_P}
src_unpack() {
unpacker_src_unpack
cd "${S}"
[[ -d ${FILESDIR}/${PV} ]] && EPATCH_SUFFIX="diff" EPATCH_FORCE="yes" epatch "${FILESDIR}"/${PV}
epatch "${FILESDIR}"/${PN}-4.1.4-noexecstack.patch
epatch "${FILESDIR}"/${PN}-5.0.2-x32-support.patch
# disable -fPIE -pie in the tests for x86 #236054
if use x86 && gcc-specs-pie ; then
epatch "${FILESDIR}"/${PN}-5.0.1-x86-nopie-tests.patch
fi
# note: we cannot run autotools here as gcc depends on this package
elibtoolize
# GMP uses the "ABI" env var during configure as does Gentoo (econf).
# So, to avoid patching the source constantly, wrap things up.
mv configure configure.wrapped || die
cat <<-\EOF > configure
#!/bin/sh
exec env ABI="$GMPABI" "${0}.wrapped" "$@"
EOF
chmod a+rx configure
}
src_compile() {
# Because of our 32-bit userland, 1.0 is the only HPPA ABI that works
# http://gmplib.org/manual/ABI-and-ISA.html#ABI-and-ISA (bug #344613)
if [[ ${CHOST} == hppa2.0-* ]] ; then
export GMPABI="1.0"
fi
# ABI mappings (needs all architectures supported)
case ${ABI} in
32|x86) GMPABI=32;;
64|amd64|n64) GMPABI=64;;
[onx]32) GMPABI=${ABI};;
esac
export GMPABI
tc-export CC
econf \
--localstatedir=/var/state/gmp \
--disable-mpbsd \
$(use_enable cxx) \
$(use_enable static-libs static) \
|| die
emake || die
}
src_install() {
emake DESTDIR="${D}" install || die
# should be a standalone lib
rm -f "${D}"/usr/$(get_libdir)/libgmp.la
# this requires libgmp
local la="${D}/usr/$(get_libdir)/libgmpxx.la"
use static-libs \
&& sed -i 's:/[^ ]*/libgmp.la:-lgmp:' "${la}" \
|| rm -f "${la}"
dodoc AUTHORS ChangeLog NEWS README
dodoc doc/configuration doc/isa_abi_headache
dohtml -r doc
use doc && cp "${DISTDIR}"/gmp-man-${MY_PV}.pdf "${D}"/usr/share/doc/${PF}/
}
pkg_preinst() {
preserve_old_lib /usr/$(get_libdir)/libgmp.so.3
}
pkg_postinst() {
preserve_old_lib_notify /usr/$(get_libdir)/libgmp.so.3
}

View File

@ -0,0 +1,101 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/gmp/gmp-5.0.5.ebuild,v 1.2 2012/05/22 23:12:49 vapier Exp $
inherit flag-o-matic eutils libtool unpacker toolchain-funcs
MY_PV=${PV/_p*}
MY_P=${PN}-${MY_PV}
PLEVEL=${PV/*p}
DESCRIPTION="Library for arithmetic on arbitrary precision integers, rational numbers, and floating-point numbers"
HOMEPAGE="http://gmplib.org/"
SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.xz
doc? ( http://gmplib.org/${PN}-man-${MY_PV}.pdf )"
LICENSE="LGPL-3"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
IUSE="doc cxx static-libs"
DEPEND="sys-devel/m4
app-arch/xz-utils"
RDEPEND=""
S=${WORKDIR}/${MY_P}
src_unpack() {
unpacker_src_unpack
cd "${S}"
[[ -d ${FILESDIR}/${PV} ]] && EPATCH_SUFFIX="diff" EPATCH_FORCE="yes" epatch "${FILESDIR}"/${PV}
epatch "${FILESDIR}"/${PN}-4.1.4-noexecstack.patch
epatch "${FILESDIR}"/${PN}-5.0.5-x32-support.patch
# disable -fPIE -pie in the tests for x86 #236054
if use x86 && gcc-specs-pie ; then
epatch "${FILESDIR}"/${PN}-5.0.1-x86-nopie-tests.patch
fi
# note: we cannot run autotools here as gcc depends on this package
elibtoolize
# GMP uses the "ABI" env var during configure as does Gentoo (econf).
# So, to avoid patching the source constantly, wrap things up.
mv configure configure.wrapped || die
cat <<-\EOF > configure
#!/bin/sh
exec env ABI="$GMPABI" "${0}.wrapped" "$@"
EOF
chmod a+rx configure
}
src_compile() {
# Because of our 32-bit userland, 1.0 is the only HPPA ABI that works
# http://gmplib.org/manual/ABI-and-ISA.html#ABI-and-ISA (bug #344613)
if [[ ${CHOST} == hppa2.0-* ]] ; then
export GMPABI="1.0"
fi
# ABI mappings (needs all architectures supported)
case ${ABI} in
32|x86) GMPABI=32;;
64|amd64|n64) GMPABI=64;;
[onx]32) GMPABI=${ABI};;
esac
export GMPABI
tc-export CC
econf \
--localstatedir=/var/state/gmp \
--disable-mpbsd \
$(use_enable cxx) \
$(use_enable static-libs static) \
|| die
emake || die
}
src_install() {
emake DESTDIR="${D}" install || die
# should be a standalone lib
rm -f "${D}"/usr/$(get_libdir)/libgmp.la
# this requires libgmp
local la="${D}/usr/$(get_libdir)/libgmpxx.la"
use static-libs \
&& sed -i 's:/[^ ]*/libgmp.la:-lgmp:' "${la}" \
|| rm -f "${la}"
dodoc AUTHORS ChangeLog NEWS README
dodoc doc/configuration doc/isa_abi_headache
dohtml -r doc
use doc && cp "${DISTDIR}"/gmp-man-${MY_PV}.pdf "${D}"/usr/share/doc/${PF}/
}
pkg_preinst() {
preserve_old_lib /usr/$(get_libdir)/libgmp.so.3
}
pkg_postinst() {
preserve_old_lib_notify /usr/$(get_libdir)/libgmp.so.3
}

View File

@ -0,0 +1,116 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/gmp/gmp-5.1.0.ebuild,v 1.8 2014/05/08 20:01:45 vapier Exp $
inherit flag-o-matic eutils libtool unpacker toolchain-funcs
MY_PV=${PV/_p*}
MY_P=${PN}-${MY_PV}
PLEVEL=${PV/*p}
DESCRIPTION="Library for arithmetic on arbitrary precision integers, rational numbers, and floating-point numbers"
HOMEPAGE="http://gmplib.org/"
SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.xz
ftp://ftp.gmplib.org/pub/${MY_P}/${MY_P}.tar.xz
doc? ( http://gmplib.org/${PN}-man-${MY_PV}.pdf )"
LICENSE="LGPL-3"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
IUSE="doc cxx pgo static-libs"
DEPEND="sys-devel/m4
app-arch/xz-utils"
RDEPEND=""
S=${WORKDIR}/${MY_P}
src_unpack() {
unpacker_src_unpack
cd "${S}"
[[ -d ${FILESDIR}/${PV} ]] && EPATCH_SUFFIX="diff" EPATCH_FORCE="yes" epatch "${FILESDIR}"/${PV}
epatch "${FILESDIR}"/${PN}-4.1.4-noexecstack.patch
epatch "${FILESDIR}"/${PN}-5.1.0-armv4.patch
epatch "${FILESDIR}"/${PN}-5.1.0-x32-support.patch
# disable -fPIE -pie in the tests for x86 #236054
if use x86 && gcc-specs-pie ; then
epatch "${FILESDIR}"/${PN}-5.1.0-x86-nopie-tests.patch
fi
# note: we cannot run autotools here as gcc depends on this package
elibtoolize
# GMP uses the "ABI" env var during configure as does Gentoo (econf).
# So, to avoid patching the source constantly, wrap things up.
mv configure configure.wrapped || die
cat <<-\EOF > configure
#!/bin/sh
exec env ABI="$GMPABI" "$0.wrapped" "$@"
EOF
chmod a+rx configure
}
src_compile() {
# Because of our 32-bit userland, 1.0 is the only HPPA ABI that works
# http://gmplib.org/manual/ABI-and-ISA.html#ABI-and-ISA (bug #344613)
if [[ ${CHOST} == hppa2.0-* ]] ; then
export GMPABI="1.0"
fi
# ABI mappings (needs all architectures supported)
case ${ABI} in
32|x86) GMPABI=32;;
64|amd64|n64) GMPABI=64;;
[onx]32) GMPABI=${ABI};;
esac
export GMPABI
tc-export CC
econf \
--localstatedir=/var/state/gmp \
$(use_enable cxx) \
$(use_enable static-libs static)
emake || die
if use pgo ; then
emake -j1 -C tune tuneup || die
ebegin "Trying to generate tuned data"
./tune/tuneup | tee gmp.mparam.h.new
if eend $(( 0 + ${PIPESTATUS[*]/#/+} )) ; then
mv gmp.mparam.h.new gmp-mparam.h || die
emake clean || die
emake || die
fi
fi
}
src_test() {
emake check
}
src_install() {
emake DESTDIR="${D}" install || die
# should be a standalone lib
rm -f "${D}"/usr/$(get_libdir)/libgmp.la
# this requires libgmp
local la="${D}/usr/$(get_libdir)/libgmpxx.la"
use static-libs \
&& sed -i 's:/[^ ]*/libgmp.la:-lgmp:' "${la}" \
|| rm -f "${la}"
dodoc AUTHORS ChangeLog NEWS README
dodoc doc/configuration doc/isa_abi_headache
dohtml -r doc
use doc && cp "${DISTDIR}"/gmp-man-${MY_PV}.pdf "${D}"/usr/share/doc/${PF}/
}
pkg_preinst() {
preserve_old_lib /usr/$(get_libdir)/libgmp.so.3
}
pkg_postinst() {
preserve_old_lib_notify /usr/$(get_libdir)/libgmp.so.3
}

View File

@ -0,0 +1,115 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/gmp/gmp-5.1.1.ebuild,v 1.4 2014/05/08 20:01:45 vapier Exp $
inherit flag-o-matic eutils libtool unpacker toolchain-funcs
MY_PV=${PV/_p*}
MY_P=${PN}-${MY_PV}
PLEVEL=${PV/*p}
DESCRIPTION="Library for arithmetic on arbitrary precision integers, rational numbers, and floating-point numbers"
HOMEPAGE="http://gmplib.org/"
SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.xz
ftp://ftp.gmplib.org/pub/${MY_P}/${MY_P}.tar.xz
doc? ( http://gmplib.org/${PN}-man-${MY_PV}.pdf )"
LICENSE="LGPL-3"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
IUSE="doc cxx pgo static-libs"
DEPEND="sys-devel/m4
app-arch/xz-utils"
RDEPEND=""
S=${WORKDIR}/${MY_P}
src_unpack() {
unpacker_src_unpack
cd "${S}"
[[ -d ${FILESDIR}/${PV} ]] && EPATCH_SUFFIX="diff" EPATCH_FORCE="yes" epatch "${FILESDIR}"/${PV}
epatch "${FILESDIR}"/${PN}-4.1.4-noexecstack.patch
epatch "${FILESDIR}"/${PN}-5.1.0-armv4.patch
# disable -fPIE -pie in the tests for x86 #236054
if use x86 && gcc-specs-pie ; then
epatch "${FILESDIR}"/${PN}-5.1.0-x86-nopie-tests.patch
fi
# note: we cannot run autotools here as gcc depends on this package
elibtoolize
# GMP uses the "ABI" env var during configure as does Gentoo (econf).
# So, to avoid patching the source constantly, wrap things up.
mv configure configure.wrapped || die
cat <<-\EOF > configure
#!/bin/sh
exec env ABI="$GMPABI" "$0.wrapped" "$@"
EOF
chmod a+rx configure
}
src_compile() {
# Because of our 32-bit userland, 1.0 is the only HPPA ABI that works
# http://gmplib.org/manual/ABI-and-ISA.html#ABI-and-ISA (bug #344613)
if [[ ${CHOST} == hppa2.0-* ]] ; then
export GMPABI="1.0"
fi
# ABI mappings (needs all architectures supported)
case ${ABI} in
32|x86) GMPABI=32;;
64|amd64|n64) GMPABI=64;;
[onx]32) GMPABI=${ABI};;
esac
export GMPABI
tc-export CC
econf \
--localstatedir=/var/state/gmp \
$(use_enable cxx) \
$(use_enable static-libs static)
emake || die
if use pgo ; then
emake -j1 -C tune tuneup || die
ebegin "Trying to generate tuned data"
./tune/tuneup | tee gmp.mparam.h.new
if eend $(( 0 + ${PIPESTATUS[*]/#/+} )) ; then
mv gmp.mparam.h.new gmp-mparam.h || die
emake clean || die
emake || die
fi
fi
}
src_test() {
emake check
}
src_install() {
emake DESTDIR="${D}" install || die
# should be a standalone lib
rm -f "${D}"/usr/$(get_libdir)/libgmp.la
# this requires libgmp
local la="${D}/usr/$(get_libdir)/libgmpxx.la"
use static-libs \
&& sed -i 's:/[^ ]*/libgmp.la:-lgmp:' "${la}" \
|| rm -f "${la}"
dodoc AUTHORS ChangeLog NEWS README
dodoc doc/configuration doc/isa_abi_headache
dohtml -r doc
use doc && cp "${DISTDIR}"/gmp-man-${MY_PV}.pdf "${D}"/usr/share/doc/${PF}/
}
pkg_preinst() {
preserve_old_lib /usr/$(get_libdir)/libgmp.so.3
}
pkg_postinst() {
preserve_old_lib_notify /usr/$(get_libdir)/libgmp.so.3
}

View File

@ -0,0 +1,114 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/gmp/gmp-5.1.2.ebuild,v 1.13 2014/05/08 20:01:45 vapier Exp $
inherit flag-o-matic eutils libtool unpacker toolchain-funcs
MY_PV=${PV/_p*}
MY_P=${PN}-${MY_PV}
PLEVEL=${PV/*p}
DESCRIPTION="Library for arithmetic on arbitrary precision integers, rational numbers, and floating-point numbers"
HOMEPAGE="http://gmplib.org/"
SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.xz
ftp://ftp.gmplib.org/pub/${MY_P}/${MY_P}.tar.xz
doc? ( http://gmplib.org/${PN}-man-${MY_PV}.pdf )"
LICENSE="LGPL-3"
SLOT="0"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
IUSE="doc cxx pgo static-libs"
DEPEND="sys-devel/m4
app-arch/xz-utils"
RDEPEND=""
S=${WORKDIR}/${MY_P}
src_unpack() {
unpacker_src_unpack
cd "${S}"
[[ -d ${FILESDIR}/${PV} ]] && EPATCH_SUFFIX="diff" EPATCH_FORCE="yes" epatch "${FILESDIR}"/${PV}
epatch "${FILESDIR}"/${PN}-4.1.4-noexecstack.patch
# disable -fPIE -pie in the tests for x86 #236054
if use x86 && gcc-specs-pie ; then
epatch "${FILESDIR}"/${PN}-5.1.0-x86-nopie-tests.patch
fi
# note: we cannot run autotools here as gcc depends on this package
elibtoolize
# GMP uses the "ABI" env var during configure as does Gentoo (econf).
# So, to avoid patching the source constantly, wrap things up.
mv configure configure.wrapped || die
cat <<-\EOF > configure
#!/bin/sh
exec env ABI="$GMPABI" "$0.wrapped" "$@"
EOF
chmod a+rx configure
}
src_compile() {
# Because of our 32-bit userland, 1.0 is the only HPPA ABI that works
# http://gmplib.org/manual/ABI-and-ISA.html#ABI-and-ISA (bug #344613)
if [[ ${CHOST} == hppa2.0-* ]] ; then
export GMPABI="1.0"
fi
# ABI mappings (needs all architectures supported)
case ${ABI} in
32|x86) GMPABI=32;;
64|amd64|n64) GMPABI=64;;
[onx]32) GMPABI=${ABI};;
esac
export GMPABI
tc-export CC
econf \
--localstatedir=/var/state/gmp \
$(use_enable cxx) \
$(use_enable static-libs static)
emake || die
if use pgo ; then
emake -j1 -C tune tuneup || die
ebegin "Trying to generate tuned data"
./tune/tuneup | tee gmp.mparam.h.new
if eend $(( 0 + ${PIPESTATUS[*]/#/+} )) ; then
mv gmp.mparam.h.new gmp-mparam.h || die
emake clean || die
emake || die
fi
fi
}
src_test() {
emake check
}
src_install() {
emake DESTDIR="${D}" install || die
# should be a standalone lib
rm -f "${D}"/usr/$(get_libdir)/libgmp.la
# this requires libgmp
local la="${D}/usr/$(get_libdir)/libgmpxx.la"
use static-libs \
&& sed -i 's:/[^ ]*/libgmp.la:-lgmp:' "${la}" \
|| rm -f "${la}"
dodoc AUTHORS ChangeLog NEWS README
dodoc doc/configuration doc/isa_abi_headache
dohtml -r doc
use doc && cp "${DISTDIR}"/gmp-man-${MY_PV}.pdf "${D}"/usr/share/doc/${PF}/
}
pkg_preinst() {
preserve_old_lib /usr/$(get_libdir)/libgmp.so.3
}
pkg_postinst() {
preserve_old_lib_notify /usr/$(get_libdir)/libgmp.so.3
}

View File

@ -0,0 +1,118 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/gmp/gmp-5.1.3-r1.ebuild,v 1.19 2014/05/14 14:41:58 ago Exp $
EAPI="4"
inherit flag-o-matic eutils libtool toolchain-funcs multilib-minimal
MY_PV=${PV/_p*}
MY_P=${PN}-${MY_PV}
PLEVEL=${PV/*p}
DESCRIPTION="Library for arithmetic on arbitrary precision integers, rational numbers, and floating-point numbers"
HOMEPAGE="http://gmplib.org/"
SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.xz
ftp://ftp.gmplib.org/pub/${MY_P}/${MY_P}.tar.xz
doc? ( http://gmplib.org/${PN}-man-${MY_PV}.pdf )"
LICENSE="LGPL-3"
SLOT="0"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
IUSE="doc cxx pgo static-libs"
DEPEND="sys-devel/m4
app-arch/xz-utils"
RDEPEND="abi_x86_32? (
!<=app-emulation/emul-linux-x86-baselibs-20131008-r1
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
)"
S=${WORKDIR}/${MY_P}
DOCS=( AUTHORS ChangeLog NEWS README doc/configuration doc/isa_abi_headache )
HTML_DOCS=( doc )
MULTILIB_WRAPPED_HEADERS=( /usr/include/gmp.h )
src_prepare() {
[[ -d ${FILESDIR}/${PV} ]] && EPATCH_SUFFIX="diff" EPATCH_FORCE="yes" epatch "${FILESDIR}"/${PV}
epatch "${FILESDIR}"/${PN}-4.1.4-noexecstack.patch
# note: we cannot run autotools here as gcc depends on this package
elibtoolize
# GMP uses the "ABI" env var during configure as does Gentoo (econf).
# So, to avoid patching the source constantly, wrap things up.
mv configure configure.wrapped || die
cat <<-\EOF > configure
#!/bin/sh
exec env ABI="$GMPABI" "$0.wrapped" "$@"
EOF
chmod a+rx configure
}
multilib_src_configure() {
# Because of our 32-bit userland, 1.0 is the only HPPA ABI that works
# http://gmplib.org/manual/ABI-and-ISA.html#ABI-and-ISA (bug #344613)
if [[ ${CHOST} == hppa2.0-* ]] ; then
export GMPABI="1.0"
fi
# ABI mappings (needs all architectures supported)
case ${ABI} in
32|x86) GMPABI=32;;
64|amd64|n64) GMPABI=64;;
[onx]32) GMPABI=${ABI};;
esac
export GMPABI
tc-export CC
ECONF_SOURCE="${S}" econf \
--localstatedir=/var/state/gmp \
--enable-shared \
$(use_enable cxx) \
$(use_enable static-libs static)
}
multilib_src_compile() {
emake
if use pgo ; then
emake -j1 -C tune tuneup
ebegin "Trying to generate tuned data"
./tune/tuneup | tee gmp.mparam.h.new
if eend $(( 0 + ${PIPESTATUS[*]/#/+} )) ; then
mv gmp.mparam.h.new gmp-mparam.h || die
emake clean
emake
fi
fi
}
multilib_src_test() {
emake check
}
multilib_src_install() {
emake DESTDIR="${D}" install
# should be a standalone lib
rm -f "${D}"/usr/$(get_libdir)/libgmp.la
# this requires libgmp
local la="${D}/usr/$(get_libdir)/libgmpxx.la"
use static-libs \
&& sed -i 's:/[^ ]*/libgmp.la:-lgmp:' "${la}" \
|| rm -f "${la}"
}
multilib_src_install_all() {
einstalldocs
use doc && cp "${DISTDIR}"/gmp-man-${MY_PV}.pdf "${D}"/usr/share/doc/${PF}/
}
pkg_preinst() {
preserve_old_lib /usr/$(get_libdir)/libgmp.so.3
}
pkg_postinst() {
preserve_old_lib_notify /usr/$(get_libdir)/libgmp.so.3
}

View File

@ -0,0 +1,114 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/gmp/gmp-5.1.3.ebuild,v 1.3 2014/05/08 20:01:45 vapier Exp $
inherit flag-o-matic eutils libtool unpacker toolchain-funcs
MY_PV=${PV/_p*}
MY_P=${PN}-${MY_PV}
PLEVEL=${PV/*p}
DESCRIPTION="Library for arithmetic on arbitrary precision integers, rational numbers, and floating-point numbers"
HOMEPAGE="http://gmplib.org/"
SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.xz
ftp://ftp.gmplib.org/pub/${MY_P}/${MY_P}.tar.xz
doc? ( http://gmplib.org/${PN}-man-${MY_PV}.pdf )"
LICENSE="LGPL-3"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
IUSE="doc cxx pgo static-libs"
DEPEND="sys-devel/m4
app-arch/xz-utils"
RDEPEND=""
S=${WORKDIR}/${MY_P}
src_unpack() {
unpacker_src_unpack
cd "${S}"
[[ -d ${FILESDIR}/${PV} ]] && EPATCH_SUFFIX="diff" EPATCH_FORCE="yes" epatch "${FILESDIR}"/${PV}
epatch "${FILESDIR}"/${PN}-4.1.4-noexecstack.patch
# disable -fPIE -pie in the tests for x86 #236054
if use x86 && gcc-specs-pie ; then
epatch "${FILESDIR}"/${PN}-5.1.0-x86-nopie-tests.patch
fi
# note: we cannot run autotools here as gcc depends on this package
elibtoolize
# GMP uses the "ABI" env var during configure as does Gentoo (econf).
# So, to avoid patching the source constantly, wrap things up.
mv configure configure.wrapped || die
cat <<-\EOF > configure
#!/bin/sh
exec env ABI="$GMPABI" "$0.wrapped" "$@"
EOF
chmod a+rx configure
}
src_compile() {
# Because of our 32-bit userland, 1.0 is the only HPPA ABI that works
# http://gmplib.org/manual/ABI-and-ISA.html#ABI-and-ISA (bug #344613)
if [[ ${CHOST} == hppa2.0-* ]] ; then
export GMPABI="1.0"
fi
# ABI mappings (needs all architectures supported)
case ${ABI} in
32|x86) GMPABI=32;;
64|amd64|n64) GMPABI=64;;
[onx]32) GMPABI=${ABI};;
esac
export GMPABI
tc-export CC
econf \
--localstatedir=/var/state/gmp \
$(use_enable cxx) \
$(use_enable static-libs static)
emake || die
if use pgo ; then
emake -j1 -C tune tuneup || die
ebegin "Trying to generate tuned data"
./tune/tuneup | tee gmp.mparam.h.new
if eend $(( 0 + ${PIPESTATUS[*]/#/+} )) ; then
mv gmp.mparam.h.new gmp-mparam.h || die
emake clean || die
emake || die
fi
fi
}
src_test() {
emake check
}
src_install() {
emake DESTDIR="${D}" install || die
# should be a standalone lib
rm -f "${D}"/usr/$(get_libdir)/libgmp.la
# this requires libgmp
local la="${D}/usr/$(get_libdir)/libgmpxx.la"
use static-libs \
&& sed -i 's:/[^ ]*/libgmp.la:-lgmp:' "${la}" \
|| rm -f "${la}"
dodoc AUTHORS ChangeLog NEWS README
dodoc doc/configuration doc/isa_abi_headache
dohtml -r doc
use doc && cp "${DISTDIR}"/gmp-man-${MY_PV}.pdf "${D}"/usr/share/doc/${PF}/
}
pkg_preinst() {
preserve_old_lib /usr/$(get_libdir)/libgmp.so.3
}
pkg_postinst() {
preserve_old_lib_notify /usr/$(get_libdir)/libgmp.so.3
}

View File

@ -0,0 +1,117 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/gmp/gmp-6.0.0a.ebuild,v 1.2 2014/05/08 20:01:45 vapier Exp $
EAPI="4"
inherit flag-o-matic eutils libtool toolchain-funcs multilib-minimal
MY_PV=${PV/_p*}
MY_P=${PN}-${MY_PV}
PLEVEL=${PV/*p}
DESCRIPTION="Library for arithmetic on arbitrary precision integers, rational numbers, and floating-point numbers"
HOMEPAGE="http://gmplib.org/"
SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.xz
ftp://ftp.gmplib.org/pub/${MY_P}/${MY_P}.tar.xz
doc? ( http://gmplib.org/${PN}-man-${MY_PV}.pdf )"
LICENSE="LGPL-3"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
IUSE="doc cxx pgo static-libs"
DEPEND="sys-devel/m4
app-arch/xz-utils"
RDEPEND="abi_x86_32? (
!<=app-emulation/emul-linux-x86-baselibs-20131008-r1
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
)"
S=${WORKDIR}/${MY_P%a}
DOCS=( AUTHORS ChangeLog NEWS README doc/configuration doc/isa_abi_headache )
HTML_DOCS=( doc )
MULTILIB_WRAPPED_HEADERS=( /usr/include/gmp.h )
src_prepare() {
[[ -d ${FILESDIR}/${PV} ]] && EPATCH_SUFFIX="diff" EPATCH_FORCE="yes" epatch "${FILESDIR}"/${PV}
# note: we cannot run autotools here as gcc depends on this package
elibtoolize
# GMP uses the "ABI" env var during configure as does Gentoo (econf).
# So, to avoid patching the source constantly, wrap things up.
mv configure configure.wrapped || die
cat <<-\EOF > configure
#!/bin/sh
exec env ABI="$GMPABI" "$0.wrapped" "$@"
EOF
chmod a+rx configure
}
multilib_src_configure() {
# Because of our 32-bit userland, 1.0 is the only HPPA ABI that works
# http://gmplib.org/manual/ABI-and-ISA.html#ABI-and-ISA (bug #344613)
if [[ ${CHOST} == hppa2.0-* ]] ; then
export GMPABI="1.0"
fi
# ABI mappings (needs all architectures supported)
case ${ABI} in
32|x86) GMPABI=32;;
64|amd64|n64) GMPABI=64;;
[onx]32) GMPABI=${ABI};;
esac
export GMPABI
tc-export CC
ECONF_SOURCE="${S}" econf \
--localstatedir=/var/state/gmp \
--enable-shared \
$(use_enable cxx) \
$(use_enable static-libs static)
}
multilib_src_compile() {
emake
if use pgo ; then
emake -j1 -C tune tuneup
ebegin "Trying to generate tuned data"
./tune/tuneup | tee gmp.mparam.h.new
if eend $(( 0 + ${PIPESTATUS[*]/#/+} )) ; then
mv gmp.mparam.h.new gmp-mparam.h || die
emake clean
emake
fi
fi
}
multilib_src_test() {
emake check
}
multilib_src_install() {
emake DESTDIR="${D}" install
# should be a standalone lib
rm -f "${D}"/usr/$(get_libdir)/libgmp.la
# this requires libgmp
local la="${D}/usr/$(get_libdir)/libgmpxx.la"
use static-libs \
&& sed -i 's:/[^ ]*/libgmp.la:-lgmp:' "${la}" \
|| rm -f "${la}"
}
multilib_src_install_all() {
einstalldocs
use doc && cp "${DISTDIR}"/gmp-man-${MY_PV}.pdf "${D}"/usr/share/doc/${PF}/
}
pkg_preinst() {
preserve_old_lib /usr/$(get_libdir)/libgmp.so.3
}
pkg_postinst() {
preserve_old_lib_notify /usr/$(get_libdir)/libgmp.so.3
}

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<herd>toolchain</herd>
<use>
<flag name='pgo'>after building gmp, run some tests against to produce faster libraries -- this option will double the compile time</flag>
</use>
</pkgmetadata>

View File

@ -0,0 +1,693 @@
# ChangeLog for dev-libs/mpfr
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/mpfr/ChangeLog,v 1.185 2014/11/01 07:24:34 vapier Exp $
*mpfr-3.1.2_p10 (01 Nov 2014)
01 Nov 2014; Mike Frysinger <vapier@gentoo.org> +files/3.1.2/patch06,
+files/3.1.2/patch07, +files/3.1.2/patch08, +files/3.1.2/patch09,
+files/3.1.2/patch10, +mpfr-3.1.2_p10.ebuild:
Version bump. Add multilib support #510248 by Thibaud CANALE.
06 Jun 2014; Mike Frysinger <vapier@gentoo.org> -mpfr-2.4.2_p3.ebuild,
mpfr-2.4.2_p3-r1.ebuild:
Move the ABI-only ebuild into stable.
*mpfr-3.1.2_p5 (26 Mar 2014)
26 Mar 2014; Mike Frysinger <vapier@gentoo.org> +files/3.1.2/patch01,
+files/3.1.2/patch02, +files/3.1.2/patch03, +files/3.1.2/patch04,
+files/3.1.2/patch05, +mpfr-3.1.2_p5.ebuild:
Version bump.
18 Jan 2014; Mike Frysinger <vapier@gentoo.org> mpfr-3.1.2-r1.ebuild:
Add arm64 love.
24 Dec 2013; Agostino Sarubbo <ago@gentoo.org> mpfr-3.1.2-r1.ebuild:
Stable for x86, wrt bug #487798
23 Dec 2013; Agostino Sarubbo <ago@gentoo.org> mpfr-3.1.2-r1.ebuild:
Stable for sparc, wrt bug #487798
23 Dec 2013; Mike Frysinger <vapier@gentoo.org> mpfr-3.1.2-r1.ebuild:
Mark ia64 stable #487798.
22 Dec 2013; Agostino Sarubbo <ago@gentoo.org> mpfr-3.1.2-r1.ebuild:
Stable for ppc64, wrt bug #487798
21 Dec 2013; Agostino Sarubbo <ago@gentoo.org> mpfr-3.1.2-r1.ebuild:
Stable for ppc, wrt bug #487798
26 Nov 2013; Mike Frysinger <vapier@gentoo.org> mpfr-3.1.2-r1.ebuild:
Disable logic to probe gmp.h using the wrong toolchain #476336#19 by Michael
Haubenwallner.
24 Nov 2013; Mike Frysinger <vapier@gentoo.org> mpfr-3.1.2-r1.ebuild:
Revert gmp lib/include flags as they are wrong & unnecessary and tweak the
docdir flag to be a bit simpler #476336 by Christoph Junghans.
03 Nov 2013; Matt Turner <mattst88@gentoo.org> mpfr-3.1.2-r1.ebuild:
alpha stable, bug 487798.
03 Nov 2013; Benda Xu <heroxbd@gentoo.org> mpfr-3.1.2-r1.ebuild:
EROOT for gmp locations to do cross compiling correctly. bug #476336
30 Oct 2013; Chema Alonso <nimiux@gentoo.org> mpfr-3.1.2-r1.ebuild:
Stable for amd64 wrt bug #487798
23 Oct 2013; Markus Meier <maekke@gentoo.org> mpfr-3.1.2-r1.ebuild:
arm stable, bug #487798
16 Oct 2013; Jeroen Roovers <jer@gentoo.org> mpfr-3.1.2-r1.ebuild:
Stable for HPPA (bug #487798).
*mpfr-3.1.2-r1 (13 Sep 2013)
13 Sep 2013; Fabian Groffen <grobian@gentoo.org> +mpfr-3.1.2-r1.ebuild,
-mpfr-3.1.2.ebuild:
Fix src_prepare to always apply elibtoolize, necessary to install shared libs
on Solaris
25 Aug 2013; Mike Frysinger <vapier@gentoo.org> mpfr-2.4.2_p3-r1.ebuild,
mpfr-3.1.2.ebuild:
Simplify src_prepare code.
21 Jul 2013; Christoph Junghans <ottxor@gentoo.org> mpfr-2.4.2_p3-r1.ebuild,
mpfr-3.1.2.ebuild:
added prefix support (bug #476336)
29 Apr 2013; Sébastien Fabbro <bicatali@gentoo.org> mpfr-3.1.2.ebuild:
Keyword amd64-linux
*mpfr-3.1.2 (14 Mar 2013)
14 Mar 2013; Ryan Hill <dirtyepic@gentoo.org> +mpfr-3.1.2.ebuild:
Version bump (bug #461686 by Samuli).
27 Feb 2013; Zac Medico <zmedico@gentoo.org> mpfr-3.1.1_p2.ebuild:
Fix for prefix and add ~arm-linux + ~x86-linux keywords.
01 Jan 2013; Raúl Porcel <armin76@gentoo.org> mpfr-3.1.1.ebuild:
m68k/s390/sh stable wrt #447890
30 Dec 2012; Agostino Sarubbo <ago@gentoo.org> mpfr-3.1.1.ebuild:
Stable for alpha, wrt bug #447890
30 Dec 2012; Agostino Sarubbo <ago@gentoo.org> mpfr-3.1.1.ebuild:
Stable for sparc, wrt bug #447890
29 Dec 2012; Jeroen Roovers <jer@gentoo.org> mpfr-3.1.1.ebuild:
Stable for HPPA (bug #447890).
26 Dec 2012; Markus Meier <maekke@gentoo.org> mpfr-3.1.1.ebuild:
arm stable, bug #447890
25 Dec 2012; Agostino Sarubbo <ago@gentoo.org> mpfr-3.1.1.ebuild:
Stable for ia64, wrt bug #447890
23 Dec 2012; Jeff Horelick <jdhore@gentoo.org> mpfr-3.1.1.ebuild:
marked x86 per bug 447890
23 Dec 2012; Agostino Sarubbo <ago@gentoo.org> mpfr-3.1.1.ebuild:
Stable for ppc64, wrt bug #447890
22 Dec 2012; Agostino Sarubbo <ago@gentoo.org> mpfr-3.1.1.ebuild:
Stable for ppc, wrt bug #447890
20 Dec 2012; Agostino Sarubbo <ago@gentoo.org> mpfr-3.1.1.ebuild:
Stable for amd64, wrt bug #447890
*mpfr-3.1.1_p2 (20 Dec 2012)
20 Dec 2012; Mike Frysinger <vapier@gentoo.org> +files/3.1.1/patch01,
+files/3.1.1/patch02, +mpfr-3.1.1_p2.ebuild:
Version bump.
*mpfr-3.1.1 (05 Jul 2012)
05 Jul 2012; Mike Frysinger <vapier@gentoo.org> +mpfr-3.1.1.ebuild:
Version bump.
06 Jun 2012; Zac Medico <zmedico@gentoo.org> mpfr-3.0.0_p3.ebuild,
mpfr-3.0.1.ebuild, mpfr-3.0.1_p4.ebuild:
inherit multilib for get_libdir
07 May 2012; Alexis Ballier <aballier@gentoo.org> mpfr-3.1.0_p7.ebuild:
readd fbsd keywords to latest version as bug #390425 seems fixed
26 Apr 2012; Alexis Ballier <aballier@gentoo.org> mpfr-3.0.1_p4-r1.ebuild:
keyword ~amd64-fbsd
19 Apr 2012; Mike Frysinger <vapier@gentoo.org> mpfr-2.4.2_p3.ebuild,
mpfr-3.0.0_p3.ebuild, mpfr-3.0.1.ebuild, mpfr-3.0.1_p4.ebuild,
mpfr-3.0.1_p4-r1.ebuild, mpfr-3.1.0.ebuild, mpfr-3.1.0_p7.ebuild:
Drop old epatch call #412591 by Stevan Bajić.
*mpfr-3.1.0_p7 (09 Mar 2012)
09 Mar 2012; Mike Frysinger <vapier@gentoo.org> +files/3.1.0/patch01,
+files/3.1.0/patch02, +files/3.1.0/patch03, +files/3.1.0/patch04,
+files/3.1.0/patch05, +files/3.1.0/patch06, +files/3.1.0/patch07,
+mpfr-3.1.0_p7.ebuild:
Version bump #407551 by Samuli Suominen.
29 Dec 2011; Mark Loeser <halcy0n@gentoo.org> mpfr-3.0.1_p4.ebuild:
Stable for ppc/ppc64; bug #380673
09 Dec 2011; Alexis Ballier <aballier@gentoo.org> mpfr-3.0.1_p4-r1.ebuild,
mpfr-3.1.0.ebuild:
require static-libs on gmp when building with static-libs but do not force to
disable them on gmp when not, bug #394141
29 Nov 2011; Mike Frysinger <vapier@gentoo.org> mpfr-3.1.0.ebuild:
Drop fbsd KEYWORDS as this breaks gcc #390425 by Tibor Vago.
12 Oct 2011; Raúl Porcel <armin76@gentoo.org> mpfr-3.0.1_p4.ebuild:
alpha/ia64/m68k/s390/sh/sparc stable wrt #380673
*mpfr-3.1.0 (03 Oct 2011)
03 Oct 2011; Mike Frysinger <vapier@gentoo.org> +mpfr-3.1.0.ebuild:
Version bump.
*mpfr-2.4.2_p3-r1 (03 Oct 2011)
03 Oct 2011; Mike Frysinger <vapier@gentoo.org> +mpfr-2.4.2_p3-r1.ebuild:
Add ebuild for libmpfr.so.1 ABI name.
14 Sep 2011; Jeroen Roovers <jer@gentoo.org> mpfr-3.0.1_p4.ebuild:
Stable for HPPA (bug #380673).
04 Sep 2011; Markus Meier <maekke@gentoo.org> mpfr-3.0.1_p4.ebuild:
arm/x86 stable, bug #380673
26 Aug 2011; Tony Vroon <chainsaw@gentoo.org> mpfr-3.0.1_p4.ebuild:
Marked stable on AMD64 based on arch testing by Agostino "ago" Sarubbo in bug
#380673 filed by Mike "SpanKY" Frysinger.
*mpfr-3.0.1_p4-r1 (25 Aug 2011)
25 Aug 2011; Mike Frysinger <vapier@gentoo.org> +mpfr-3.0.1_p4-r1.ebuild:
Add support for USE=static-libs #378235 by Agostino Sarubbo.
*mpfr-3.0.1_p4 (14 Jul 2011)
14 Jul 2011; Mike Frysinger <vapier@gentoo.org> +files/3.0.1/patch01,
+files/3.0.1/patch02, +files/3.0.1/patch04, +mpfr-3.0.1_p4.ebuild,
+files/3.0.1/patch03:
Version bump.
14 Jul 2011; Mike Frysinger <vapier@gentoo.org> mpfr-2.4.2_p3.ebuild,
mpfr-3.0.0_p3.ebuild, mpfr-3.0.1.ebuild:
Use exact upstream URIs #375119 by zino.
23 Apr 2011; Raúl Porcel <armin76@gentoo.org> mpfr-3.0.0_p3.ebuild:
ia64/m68k/s390/sh/sparc stable wrt #348634
10 Apr 2011; Tobias Klausmann <klausman@gentoo.org> mpfr-3.0.0_p3.ebuild:
Stable on alpha, bug #348634
08 Apr 2011; Markus Meier <maekke@gentoo.org> mpfr-3.0.0_p3.ebuild:
arm stable, bug #348634
*mpfr-3.0.1 (05 Apr 2011)
05 Apr 2011; Mike Frysinger <vapier@gentoo.org> +mpfr-3.0.1.ebuild:
Version bump.
22 Mar 2011; Jeroen Roovers <jer@gentoo.org> mpfr-3.0.0_p3.ebuild:
Stable for HPPA (bug #348634).
22 Mar 2011; Thomas Kahle <tomka@gentoo.org> mpfr-3.0.0_p3.ebuild:
x86 stable per bug 348634
21 Mar 2011; Christoph Mende <angelos@gentoo.org> mpfr-3.0.0_p3.ebuild:
Stable on amd64 wrt bug #348634
21 Mar 2011; Kacper Kowalik <xarthisius@gentoo.org> mpfr-3.0.0_p3.ebuild:
ppc/ppc64 stable wrt #348634
11 Mar 2011; Markos Chandras <hwoarang@gentoo.org> mpfr-3.0.0_p3.ebuild:
Reverting keyword. Bug #348634
11 Mar 2011; Markos Chandras <hwoarang@gentoo.org> mpfr-3.0.0_p3.ebuild:
Stable on amd64 wrt bug #348634
*mpfr-3.0.0_p3 (30 Aug 2010)
30 Aug 2010; Mike Frysinger <vapier@gentoo.org> +files/3.0.0/patch01,
+files/3.0.0/patch02, +files/3.0.0/patch03, +mpfr-3.0.0_p3.ebuild:
Version bump.
30 Aug 2010; Mike Frysinger <vapier@gentoo.org> mpfr-2.4.2_p3.ebuild:
Mark sparc stable #324747.
20 Aug 2010; Samuli Suominen <ssuominen@gentoo.org> mpfr-2.4.2_p3.ebuild:
ppc64 stable wrt #324747
18 Jul 2010; <nixnut@gentoo.org> mpfr-2.4.2_p3.ebuild:
ppc stable #324747
29 Jun 2010; Mike Frysinger <vapier@gentoo.org> mpfr-2.4.2_p3.ebuild:
Mark alpha/arm/ia64/s390/sh stable #324747.
24 Jun 2010; Markos Chandras <hwoarang@gentoo.org> mpfr-2.4.2_p3.ebuild:
Stable on amd64 wrt bug #324747
22 Jun 2010; Christian Faulhammer <fauli@gentoo.org> mpfr-2.4.2_p3.ebuild:
stable x86, bug 324747
21 Jun 2010; Jeroen Roovers <jer@gentoo.org> mpfr-2.4.2_p3.ebuild:
Stable for HPPA (bug #324747).
20 Jun 2010; Mike Frysinger <vapier@gentoo.org> mpfr-3.0.0.ebuild:
Revert unintentional SLOT update #324763 by William Throwe.
*mpfr-3.0.0 (20 Jun 2010)
20 Jun 2010; Mike Frysinger <vapier@gentoo.org> +mpfr-3.0.0.ebuild:
Version bump.
29 Jan 2010; Raúl Porcel <armin76@gentoo.org> mpfr-2.4.1_p5.ebuild:
ia64/sparc stable wrt #297297
*mpfr-2.4.2_p3 (24 Jan 2010)
24 Jan 2010; Mike Frysinger <vapier@gentoo.org> +files/2.4.2/patch03,
+mpfr-2.4.2_p3.ebuild:
Version bump.
23 Jan 2010; Tobias Klausmann <klausman@gentoo.org> mpfr-2.4.1_p5.ebuild:
Stable on alpha, bug #297297
*mpfr-2.4.2_p2 (11 Jan 2010)
11 Jan 2010; Mike Frysinger <vapier@gentoo.org> +files/2.4.2/patch02,
+mpfr-2.4.2_p2.ebuild:
Add another fix from upstream and fix docs install #298316 by Diego E.
Pettenò.
06 Jan 2010; Jeroen Roovers <jer@gentoo.org> mpfr-2.4.1_p5.ebuild:
Stable for PPC (bug #297297).
02 Jan 2010; Markus Meier <maekke@gentoo.org> mpfr-2.4.1_p5.ebuild:
amd64 stable, bug #297297
02 Jan 2010; Brent Baude <ranger@gentoo.org> mpfr-2.4.1_p5.ebuild:
Marking mpfr-2.4.1_p5 ppc64 for bug 297297
31 Dec 2009; Christian Faulhammer <fauli@gentoo.org> mpfr-2.4.1_p5.ebuild:
stable x86, bug 297297
18 Dec 2009; Jeroen Roovers <jer@gentoo.org> mpfr-2.4.1_p5.ebuild:
Stable for HPPA (bug #297297).
*mpfr-2.4.2_p1 (17 Dec 2009)
17 Dec 2009; Mike Frysinger <vapier@gentoo.org> -files/2.3.1/patch01,
+mpfr-2.4.2_p1.ebuild, +files/2.4.2/patch01:
Version bump.
10 Sep 2009; Samuli Suominen <ssuominen@gentoo.org> mpfr-2.3.2.ebuild,
mpfr-2.4.1_p1.ebuild, mpfr-2.4.1_p5.ebuild:
Fix lzma-utils vs. xz-utils deps.
01 Apr 2009; Tobias Scherbaum <dertobi123@gentoo.org>
mpfr-2.4.1_p1.ebuild:
ppc stable, bug #260968
*mpfr-2.4.1_p5 (18 Mar 2009)
18 Mar 2009; Mike Frysinger <vapier@gentoo.org> +files/2.4.1/patch02,
+files/2.4.1/patch03, +files/2.4.1/patch04, +files/2.4.1/patch05,
+mpfr-2.4.1_p5.ebuild:
Version bump.
14 Mar 2009; Mike Frysinger <vapier@gentoo.org> mpfr-2.4.1_p1.ebuild:
Fix up == usage in shell test #261016 by deadhead.
07 Mar 2009; Raúl Porcel <armin76@gentoo.org> mpfr-2.4.1_p1.ebuild:
alpha/arm/ia64/s390/sh stable wrt #260968
07 Mar 2009; Markus Meier <maekke@gentoo.org> mpfr-2.4.1_p1.ebuild:
amd64/x86 stable, bug #260968
04 Mar 2009; Ferris McCormick <fmccor@gentoo.org> mpfr-2.4.1_p1.ebuild:
Sparc stable, security Bug #260968.
04 Mar 2009; Brent Baude <ranger@gentoo.org> mpfr-2.4.1_p1.ebuild:
Marking mpfr-2.4.1_p1 ppc64 for bug 260968
03 Mar 2009; Jeroen Roovers <jer@gentoo.org> mpfr-2.4.1_p1.ebuild:
Stable for HPPA (bug #260968).
*mpfr-2.4.1_p1 (03 Mar 2009)
03 Mar 2009; Mike Frysinger <vapier@gentoo.org> +files/2.4.1/patch01,
+mpfr-2.4.1_p1.ebuild:
Add patch from upstream.
27 Feb 2009; Brent Baude <ranger@gentoo.org> mpfr-2.3.2.ebuild:
stable ppc64, bug 255195
*mpfr-2.4.1 (26 Feb 2009)
26 Feb 2009; Mike Frysinger <vapier@gentoo.org> +mpfr-2.4.1.ebuild:
Version bump.
*mpfr-2.4.0_p1 (21 Feb 2009)
21 Feb 2009; Mike Frysinger <vapier@gentoo.org> +files/2.4.0/patch01,
+mpfr-2.4.0_p1.ebuild:
Add fix from upstream.
16 Feb 2009; Brent Baude <ranger@gentoo.org> mpfr-2.3.2.ebuild:
stable ppc, bug 255195
*mpfr-2.4.0 (26 Jan 2009)
26 Jan 2009; Mike Frysinger <vapier@gentoo.org> +mpfr-2.4.0.ebuild:
Version bump.
25 Jan 2009; Raúl Porcel <armin76@gentoo.org> mpfr-2.3.2.ebuild:
alpha/ia64 stable wrt #255195
18 Jan 2009; Markus Meier <maekke@gentoo.org> mpfr-2.3.2.ebuild:
x86 stable, bug #255195
17 Jan 2009; Jeroen Roovers <jer@gentoo.org> mpfr-2.3.2.ebuild:
Stable for HPPA (bug #255195).
16 Jan 2009; Steve Dibb <beandog@gentoo.org> mpfr-2.3.2.ebuild:
amd64 stable, bug 255195
16 Jan 2009; Ferris McCormick <fmccor@gentoo.org> mpfr-2.3.2.ebuild:
Sparc stable --- Bug #255195 --- all tests pass.
*mpfr-2.3.2-r1 (16 Jan 2009)
16 Jan 2009; Mike Frysinger <vapier@gentoo.org>
+files/2.3.2/mpfr-2.3.2-svn5664.patch,
+files/2.3.2/mpfr-2.3.2-svn5752.patch, +mpfr-2.3.2-r1.ebuild:
Grab upstream fixes for upstream bug 6604.
28 Nov 2008; Alexis Ballier <aballier@gentoo.org> mpfr-2.3.2.ebuild:
fix find call for bsd find compatibility, bug #236067
22 Sep 2008; Jeroen Roovers <jer@gentoo.org> mpfr-2.3.1_p1.ebuild:
Stable for HPPA (bug #238208).
21 Sep 2008; Brent Baude <ranger@gentoo.org> mpfr-2.3.1_p1.ebuild:
stable ppc64, bug 238208
21 Sep 2008; nixnut <nixnut@gentoo.org> mpfr-2.3.1_p1.ebuild:
Stable on ppc wrt bug 238208
21 Sep 2008; Raúl Porcel <armin76@gentoo.org> mpfr-2.3.1_p1.ebuild:
alpha/ia64/sparc/x86 stable wrt #238208
20 Sep 2008; Steve Dibb <beandog@gentoo.org> mpfr-2.3.1_p1.ebuild:
amd64 stable, bug 238208
*mpfr-2.3.2 (20 Sep 2008)
20 Sep 2008; Mike Frysinger <vapier@gentoo.org> +mpfr-2.3.2.ebuild:
Version bump.
*mpfr-2.3.1_p1 (20 Aug 2008)
20 Aug 2008; Mike Frysinger <vapier@gentoo.org> +files/2.3.1/patch01,
+mpfr-2.3.1_p1.ebuild:
Apply upstream patch01 for mpfr-2.3.1.
02 May 2008; Mike Frysinger <vapier@gentoo.org> mpfr-2.3.1.ebuild:
Drop the hardcoded shared/static flags as the default is to build both and
we want autodetection for targets that may not support shared (like mingw).
20 Apr 2008; Mike Frysinger <vapier@gentoo.org> mpfr-2.3.1.ebuild:
Mark amd64 stable #217696.
18 Apr 2008; nixnut <nixnut@gentoo.org> mpfr-2.3.1.ebuild:
Stable on ppc wrt bug 217696
15 Apr 2008; Raúl Porcel <armin76@gentoo.org> mpfr-2.3.1.ebuild:
alpha/ia64/sparc/x86 stable wrt #217696
14 Apr 2008; Markus Rothe <corsair@gentoo.org> mpfr-2.3.1.ebuild:
Stable on ppc64; bug #217696
14 Apr 2008; Jeroen Roovers <jer@gentoo.org> mpfr-2.3.1.ebuild:
Stable for HPPA (bug #217696).
11 Feb 2008; Santiago M. Mola <coldwind@gentoo.org> mpfr-2.3.0_p4.ebuild:
amd64 stable wrt #208039
30 Jan 2008; Brent Baude <ranger@gentoo.org> mpfr-2.3.0_p4.ebuild:
Marking mpfr-2.3.0_p4 ppc64 for bug 208039
30 Jan 2008; Raúl Porcel <armin76@gentoo.org> mpfr-2.3.0_p4.ebuild:
alpha/ia64/sparc stable wrt #208039
30 Jan 2008; Dawid Węgliński <cla@gentoo.org> mpfr-2.3.0_p4.ebuild:
Stable on x86 (bug #208039)
29 Jan 2008; Jeroen Roovers <jer@gentoo.org> mpfr-2.3.0_p4.ebuild:
Stable for HPPA (bug #208039).
29 Jan 2008; nixnut <nixnut@gentoo.org> mpfr-2.3.0_p4.ebuild:
Stable on ppc wrt bug 208039
*mpfr-2.3.1 (29 Jan 2008)
29 Jan 2008; Mike Frysinger <vapier@gentoo.org> +mpfr-2.3.1.ebuild:
Version bump.
17 Jan 2008; Jeroen Roovers <jer@gentoo.org> mpfr-2.3.0_p3.ebuild:
Stable for HPPA too.
14 Jan 2008; Tobias Scherbaum <dertobi123@gentoo.org>
mpfr-2.3.0_p3.ebuild:
ppc. stable
*mpfr-2.3.0_p4 (26 Dec 2007)
26 Dec 2007; Daniel Black <dragonheart@gentoo.org> +files/2.3.0/patch04,
+mpfr-2.3.0_p4.ebuild:
added upstream patch
01 Dec 2007; Markus Rothe <corsair@gentoo.org> mpfr-2.3.0_p3.ebuild:
Stable on ppc64
19 Nov 2007; Joshua Kinard <kumba@gentoo.org> mpfr-2.3.0_p3.ebuild:
Stable on mips.
13 Nov 2007; Raúl Porcel <armin76@gentoo.org> mpfr-2.3.0_p3.ebuild:
alpha/ia64/sparc/x86 stable
*mpfr-2.3.0_p3 (06 Oct 2007)
06 Oct 2007; Mike Frysinger <vapier@gentoo.org> +files/2.3.0/patch01,
+files/2.3.0/patch02, +files/2.3.0/patch03, +mpfr-2.3.0_p3.ebuild:
Version bump #193893.
25 Aug 2007; Steve Dibb <beandog@gentoo.org> mpfr-2.2.1_p5.ebuild:
amd64 stable
13 Aug 2007; Tobias Scherbaum <dertobi123@gentoo.org>
mpfr-2.2.1_p5.ebuild:
ppc. stable
27 Jul 2007; Jeroen Roovers <jer@gentoo.org> mpfr-2.2.1_p5.ebuild:
Stable for HPPA too.
22 Jul 2007; Tom Gall <tgall@gentoo.org> mpfr-2.2.1_p5.ebuild:
stable on ppc64
15 Jul 2007; Raúl Porcel <armin76@gentoo.org> mpfr-2.2.1_p5.ebuild:
alpha stable
16 May 2007; Gustavo Zacarias <gustavoz@gentoo.org> mpfr-2.2.1_p5.ebuild:
Stable on sparc
12 May 2007; Joshua Kinard <kumba@gentoo.org> mpfr-2.2.1_p5.ebuild:
Stable on mips.
23 Apr 2007; Raúl Porcel <armin76@gentoo.org> mpfr-2.2.1_p5.ebuild:
ia64 + x86 stable
*mpfr-2.2.1_p5 (06 Apr 2007)
06 Apr 2007; Daniel Black <dragonheart@gentoo.org> +files/2.2.1/patch02,
+files/2.2.1/patch03, +files/2.2.1/patch04, +files/2.2.1/patch05,
+mpfr-2.2.1_p5.ebuild:
upstream patches
17 Feb 2007; Alexander H. Færøy <eroyf@gentoo.org>
mpfr-2.2.0_p16.ebuild:
Stable on MIPS; bug #159250
*mpfr-2.2.1_p1 (17 Feb 2007)
17 Feb 2007; Daniel Black <dragonheart@gentoo.org> +files/2.2.1/patch01,
+mpfr-2.2.1_p1.ebuild:
upstream patch
05 Feb 2007; Simon Stelling <blubb@gentoo.org> mpfr-2.2.0_p16.ebuild:
stable on amd64; bug 159250
30 Dec 2006; Tom Gall <tgall@gentoo.org> mpfr-2.2.0_p16.ebuild:
stable on ppc64, bug #159250
30 Dec 2006; Andrej Kacian <ticho@gentoo.org> mpfr-2.2.0_p16.ebuild:
Stable on x86, bug #159250.
29 Dec 2006; Tobias Scherbaum <dertobi123@gentoo.org>
mpfr-2.2.0_p16.ebuild:
Stable on ppc wrt bug #159250.
28 Dec 2006; Bryan Østergaard <kloeri@gentoo.org> mpfr-2.2.0_p16.ebuild:
Stable on Alpha.
28 Dec 2006; Gustavo Zacarias <gustavoz@gentoo.org> mpfr-2.2.0_p16.ebuild:
Stable on sparc wrt #159250
28 Dec 2006; Jeroen Roovers <jer@gentoo.org> mpfr-2.2.0_p16.ebuild:
Stable for HPPA (bug #159250).
*mpfr-2.2.1 (22 Dec 2006)
22 Dec 2006; Daniel Black <dragonheart@gentoo.org> +mpfr-2.2.1.ebuild:
version bump. seems to be simple bug fixes but masked for further testing on
all gcc versions
22 Dec 2006; Daniel Black <dragonheart@gentoo.org> -mpfr-2.2.0_p12.ebuild,
-mpfr-2.2.0_p14.ebuild, mpfr-2.2.0_p16.ebuild:
added automake dependency - bug #158808 thanks to Igor Fedorow. Removed
older versions
09 Dec 2006; Timothy Redaelli <drizzt@gentoo.org> mpfr-2.2.0_p16.ebuild:
Add ~x86-fbsd keyword
*mpfr-2.2.0_p16 (21 Oct 2006)
21 Oct 2006; Daniel Black <dragonheart@gentoo.org> +files/2.2.0/patch15,
+files/2.2.0/patch16, +mpfr-2.2.0_p16.ebuild:
Grab some more patches from upstream.
20 Oct 2006; Bryan Østergaard <kloeri@gentoo.org> mpfr-2.2.0_p10.ebuild:
Stable on Alpha.
17 Oct 2006; Roy Marples <uberlord@gentoo.org> mpfr-2.2.0_p14.ebuild:
Added ~sparc-fbsd keyword.
29 Sep 2006; Mike Frysinger <vapier@gentoo.org> mpfr-2.2.0_p8.ebuild,
mpfr-2.2.0_p10.ebuild, mpfr-2.2.0_p12.ebuild, mpfr-2.2.0_p14.ebuild:
Dont filter -ffast-math; people who use this globally deserve what they get.
03 Sep 2006; Joshua Kinard <kumba@gentoo.org> mpfr-2.2.0_p10.ebuild:
Marked stable on mips.
24 Aug 2006; Markus Rothe <corsair@gentoo.org> mpfr-2.2.0_p10.ebuild:
Stable on ppc64
23 Aug 2006; Gustavo Zacarias <gustavoz@gentoo.org> mpfr-2.2.0_p10.ebuild:
Stable on sparc
21 Aug 2006; Chris Gianelloni <wolf31o2@gentoo.org> mpfr-2.2.0_p10.ebuild:
Stable on amd64 and x86 wrt release snapshot. This is in preparation for an
eventual GCC 4.1.1 going stable.
*mpfr-2.2.0_p14 (28 Jul 2006)
28 Jul 2006; Daniel Black <dragonheart@gentoo.org> +files/2.2.0/patch13,
+files/2.2.0/patch14, +mpfr-2.2.0_p14.ebuild:
more upstream patches
*mpfr-2.2.0_p12 (19 Jul 2006)
19 Jul 2006; Daniel Black <dragonheart@gentoo.org> +files/2.2.0/patch11,
+files/2.2.0/patch12, +mpfr-2.2.0_p12.ebuild:
more upstream patches
27 Jun 2006; Luca Barbato <lu_zero@gentoo.org> mpfr-2.2.0_p10.ebuild:
Marked stable on ppc
25 Jun 2006; Guy Martin <gmsoft@gentoo.org> mpfr-2.2.0_p10.ebuild:
Stable on hppa.
06 May 2006; Mike Frysinger <vapier@gentoo.org>
+files/2.2.0/debian-disable-buggy-umul_ppmm.patch, mpfr-2.2.0_p8.ebuild,
mpfr-2.2.0_p10.ebuild:
Grab patch from Debian to fix test crashes #126082.
*mpfr-2.2.0_p10 (10 Apr 2006)
10 Apr 2006; Mike Frysinger <vapier@gentoo.org> +files/2.2.0/patch09,
+files/2.2.0/patch10, +mpfr-2.2.0_p10.ebuild:
Grab some more patches from upstream.
07 Apr 2006; Guy Martin <gmsoft@gentoo.org> mpfr-2.2.0_p8.ebuild:
Fix hppa 1.1 computation bug.
14 Mar 2006; Joseph Jezak <josejx@gentoo.org> mpfr-2.2.0_p8.ebuild:
Marked ppc stable for bug #121968.
27 Feb 2006; Jeroen Roovers <jer@gentoo.org> mpfr-2.2.0_p8.ebuild:
Stable on hppa (bug #121968).
26 Feb 2006; Joshua Kinard <kumba@gentoo.org> mpfr-2.2.0_p8.ebuild:
Marked stable on mips.
15 Feb 2006; Markus Rothe <corsair@gentoo.org> mpfr-2.2.0_p8.ebuild:
Stable on ppc64; bug #121968
13 Feb 2006; Patrick McLean <chutzpah@gentoo.org> mpfr-2.2.0_p8.ebuild:
Add filtering of -ffast-math on amd64 and mark stable (bug #121968).
09 Feb 2006; Aron Griffis <agriffis@gentoo.org> mpfr-2.2.0_p8.ebuild:
Mark 2.2.0_p8 stable on ia64
08 Feb 2006; Mark Loeser <halcy0n@gentoo.org> mpfr-2.2.0_p8.ebuild:
Stable on x86; bug #121968
08 Feb 2006; Gustavo Zacarias <gustavoz@gentoo.org> mpfr-2.2.0_p8.ebuild:
Stable on sparc wrt #121968
04 Feb 2006; Aron Griffis <agriffis@gentoo.org> mpfr-2.2.0_p4.ebuild:
Mark 2.2.0_p4 stable on ia64
*mpfr-2.2.0_p8 (22 Jan 2006)
22 Jan 2006; Daniel Black <dragonheart@gentoo.org> +files/2.2.0/patch08,
+mpfr-2.2.0_p8.ebuild:
patch bump
07 Jan 2006; Daniel Black <dragonheart@gentoo.org> mpfr-2.2.0_p7.ebuild:
opps did not mean to commit 390 to stable - marked ~s390
*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.
26 Oct 2005; Jason Wever <weeve@gentoo.org> mpfr-2.2.0_p4.ebuild:
Added ~sparc keyword wrt bug #80357.
23 Oct 2005; Brent Baude <ranger@gentoo.org> mpfr-2.2.0_p4.ebuild:
Marking mpfr ~ppc64 for bug 80357
22 Oct 2005; Mark Loeser <halcy0n@gentoo.org> mpfr-2.2.0_p4.ebuild:
Adding ~x86 to keywords; bug #110026
22 Oct 2005; Daniel Black <dragonheart@gentoo.org> mpfr-2.2.0_p4.ebuild:
~ppc keyword. Dependency change to avoid file conflicts in earlier gmp
versions
*mpfr-2.2.0_p4 (19 Oct 2005)
19 Oct 2005; Mike Frysinger <vapier@gentoo.org> :
Initial import. Ebuild submitted by me.

View File

@ -1 +1,69 @@
DIST mpfr-3.0.1.tar.bz2 1154306 RMD160 24c84d762428959ad2db7521df8bc219c81f83b5 SHA1 fbf402fc196724ae60ef01eb6ca8490b1ea4db69 SHA256 e1977099bb494319c0f0c1f85759050c418a56884e9c6cef1c540b9b13e38e7f
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
AUX 2.4.2/patch01 7136 SHA256 ff84b6a8626c79f869d5625d70900e1f99a37f623cb124fdd949dcbcf9f9757e SHA512 6abe563d839379e35c9cac37888d1996fa176453b5852b3bd725b952fbf5c72df898aa6a3be40632e5743264907e208b3b7a9f44a9d9a221b183eefd2c4fb134 WHIRLPOOL bd06a68155ab4ba69a5c6e8da933ad3538f8c7a69a0a266299b8d9d7ffe31f9466430655d0ac93bdab636a7bb8128b4c77761b815440e814a2e0c1a5f9a34a71
AUX 2.4.2/patch02 2538 SHA256 b61b3ff4abaf93e031d446be201c659275d1b49d1a02ac0a2de45e5fafd47f0b SHA512 481316ce216fd2d84c88d57e24dac66abdfa3e32737752b70211c80523c909fb6742398971ef75e63039803da4dcfd564316df7722b6756d3da2d5e8ad3b1e21 WHIRLPOOL 95f4134d6972a582d66c1a95cc1362fba357a36ebf79c96422cb415838882be7a6c11c11eb2f9d73d68c31a65a3279c9f73eb72cb042b5523a7bedc1a9474cb2
AUX 2.4.2/patch03 2544 SHA256 999bc180dbeb666cd0301e506f79c7394032bcfb81ca8ded85234d1e5f5563ce SHA512 78ed52e534e11348a49f0eaeef3381484d310c927f1c45fb315ecb0e18eab8cc53a8008a8b76bd14a6c241142ae4291aa3a9d49875e168bfc5c8b3dbf0eda972 WHIRLPOOL 8dda8a6d74eb4bdcd0596d4676ab856331187c6a93c23f8ccce79a74b892f8ed4ce21f90f0cd583a7a333a2292c8ecbc3ff549408fd7c5c43e64f7018ca0bcc7
AUX 3.0.0/patch01 6577 SHA256 f820b12c3220124cd63beabcacff270b01308091970380cf2ef408e17bec1f5a SHA512 aae7ef896f15540fa58cd4fad96a917fc529cb872b2c2b93087c74f899debd8159c81b6deb4392728d0e58bff4fa17f3b17f9934e1660812283c7536af29e978 WHIRLPOOL 71b0696d2272d46a3e77a6c9883c4354e87d0921c82fd22f33c73ba287bd74acd56073eb2e98deb0665054608f47bcd0c4ff3f8e6adb3b5de28ef7e252372276
AUX 3.0.0/patch02 11400 SHA256 afb0407f6ff4cbdddaac501b33117c25454068baea08d411968bb1c04b763417 SHA512 0f23343177357bf9709bd6192bccd67b205ec5354e1fe148b67a4ea611f1b14b33b7624968ef59e8c122c13ae1f4c9c80c95b97dd1a1a79620098cb5061bf675 WHIRLPOOL 722e1c17ff2a418b1846c8f51cf183dd350e77db1bab7523f21dd8488d956e28706c6d228216f8594402fec900b1934ad87e0eba94b662ded513b2460773a79c
AUX 3.0.0/patch03 2932 SHA256 b651dc3aa8ecd85179e074987515b8bbdfd41b057a56b41247048bed47fee672 SHA512 7013495b5c487eca7b70340ffa28075618023ffdc2207f1ce4c47e354e8d2113141756dd543dab9ba1dddb023c417ca1d46781ca9e72e2e6c347365c4f650649 WHIRLPOOL 26f58bfebb45b0c4ab62f9d67a07cbb732dcc65a0de1175eb75c6ad7a1ddbd352e37ef05068c6f1f6ea7ca7ad034fd3a297a981ac3577be8646ebf4776f653cd
AUX 3.0.1/patch01 3899 SHA256 71c062051a2c7df031740b9b358b32addbcf90261f914cdfc32fc66f7afdf43a SHA512 0330a1f840ffeb6440311638d388fb76aca92fc196bc4bbc88996e94d1923c2fdbce94fd7c2ffe5344909ef27a1bdc1340bfff48882f6dd3552c4b89fcdb30e3 WHIRLPOOL 23e1fbf90c09f711629e8877a987b934e847aaf3e9190575fa04277c104c558bffcab61b9c99b36f90e12edba5a48e9c41b610abacbccace393c9ce0997e853c
AUX 3.0.1/patch02 3282 SHA256 c7d92754b1de6040e69ef253a63f084f96bdbefcf7a12211397b9f6b29cf9721 SHA512 185c4748d58d1583186e32fb9e56e26629fd5e7605f0604d8c52d4f96197dfd1ca29d0a0314fe5dec79319b83802f8e3b2c12703a7aac13af20a77c45294c7d2 WHIRLPOOL 64351705557c6199de6fd426bcb3906119a27cfdd10f43544bf58944bcac627ac1bd869fd2dde9484f85faf041603a320c1587b7d5e40d436406d08710c393f2
AUX 3.0.1/patch03 3347 SHA256 cdec3e6b213260c5e3d51696c44bb373b035a10b178b711f001e672e768f27f5 SHA512 2753d3edb9c54f1ada63207a974aa05ec51ae2402d1ab12c5b969a4971bceeebb5ff63108051fb595015c856282d6e2e920598219196c24f5396dc91a47f654d WHIRLPOOL ff3381b5c8abacb19e6945a218bbaad8b59e1010e5415606b605684bdceb3016a10d11965fbe604a844ee2d5457fba9b47b4158593c8b93787bd1ab67f8ca0c3
AUX 3.0.1/patch04 1722 SHA256 3c8b35c4d2593d404dadee1d00b2c5d6cc581e9530c10085fd0a183b39e31200 SHA512 29d63678d2612ab7805be67ead0e99f47ab4582d44b5887df08e458f5fd9646bf68867aa28b3526151664ecf3295abdd8fb67d753744d832ffa9b436af1561fd WHIRLPOOL 7ab2302055d2743cf55a262e5877623ee9a688f699e261c88407a6fc6c7b9cb945ecbf80b52e8a8bcb939d7f29b9e45fba50d3b4526ddf209a9b67f4d8eee0d8
AUX 3.1.0/patch01 1935 SHA256 f2fb9ddd6a4b2ec7a580e5aa8eb275a1dfd1720f520e10d2b491246f4513c1c5 SHA512 e1974463384b84bcd404c9d10de75fd75ed9205a9fedcfb6b96a71c988f98a9dcd2fbd1f536df0f16d96f3117b741f054de87cb5304e6c1c9537bf68402c7fae WHIRLPOOL 3987e72fbbe0cab0e4acfe2e2e6efd8c52fd24f5d8da6ad80f1e628100f3061972743db2f08115ffb67b27073098132124f4f178da3d423bffa94f467c3b3957
AUX 3.1.0/patch02 4502 SHA256 9205e3c412add2dda89346ad52fe8452d3e685595f1b973f6ff846505c5967e6 SHA512 ab95f09d4f051ef37c9b3a853ae6e0d66565f7f207ddd1f8b0a334bb1b068265e56bfe4c8d511ea9c3e83ea9a7f00f2c363416f48edf9d8e11416589c4a8a9f0 WHIRLPOOL a3695857ca5393954c5104e82278f272782489e37457354eb99f8516e761abe84b88797ed72b4d5dfed657b2573bdc7e97cbed8c69e1ac48fd6554e58934d8b7
AUX 3.1.0/patch03 8260 SHA256 f096849b0f5db432f70f0945d366644943f11eb8c95185fde48f27faac2ff40b SHA512 04a6497324df941c58b64e747d2b6f9f5f45b4edf1b0dd8a400e112ed904c6d73703d63a7cd42d6c2f4230139e6559bcc1ea57fb6d33d61326bcf11127d70a81 WHIRLPOOL 25afe953594c204af3ab33baab65859cbfd3ca09ea107a9da1a75787d53c69d43f7c800075e856d86513a071c4aeebc48d5a43370ad1d93f1fbfe2d0638c2acc
AUX 3.1.0/patch04 6280 SHA256 265127d7bd2ab93a1ec689c49fdb35737075e3df22e6f910153041603bd6eccc SHA512 9bb92c75838436497a33f992aa0fd7f2f0c05708e74d298ede18f8647ef83f52f39cd33490ec6ba1bebc12cb26cd6fe32ad087c01da1f87d85a61e5366f24086 WHIRLPOOL d0a51d583d35a0f65ff91562a0f65abd531c44baf306814051de9dbe7e537ad96717692580da356a8afaf876778cc1c7a0c7fc07adb957b87e0ac9a079e51917
AUX 3.1.0/patch05 2690 SHA256 823ae84a55249f76b53ecdc4a17c4b834ca8e33f7710729f5cbb66982ff8a03b SHA512 475b07a0e45944e907f53e59ba37867dd055bb90ec05fd7b7ef5caabaa6eb1c14367b9b8bb276605a8c867bc775d74dd7dfc6496ee0c6fd4f66ea4ff26c720c8 WHIRLPOOL 6876dfa87ff77407ba91c5b9bd407ad2bdcd5663199f05c1dbbae8844e39b2d76c7c43fe053b6ec581579c1017da3bbdab62a480a205be16bcbc513ef41ed161
AUX 3.1.0/patch06 1906 SHA256 78448079c133e9a7da4832c7ce1065060fbeb3f43ebabd6f6e9a9cbccb402599 SHA512 878ad8757479535518dd8b251476ce76fc4d9bf0bdc7953565bd117c8c866e63bfc7656f59be65c4b59c268cabb0bab9cb3c294e27597385099ad995c5fc4e18 WHIRLPOOL a8b64819cff8fbb5ae86869dd1cd0fd37f85c05d024e6f12a046c89bddb14a6069acf611c8e5769aee4e5d2777fdbd788e870d11b13c852eb46639774db0ef21
AUX 3.1.0/patch07 25023 SHA256 adfda8ed246c75897523c0365dbe8f854500682eff5a88d1d4c16fbf0bbfe388 SHA512 403b9f88072fe64179b8c530f7651c4721ce721ee9dc22c20775266a8d6e3ba361b8112c2c8162fa143b4dec04b952aa6be997b56f1165d075f2be8fe90d7d6e WHIRLPOOL 7ffafcf8f85da52a1dc5a5cc965809b9905c74daa2cb1bce317b492786a05b668086a1f4d45f1885dee9371cb3f8c08e87bd347c9b713306d2ed651a337ba4af
AUX 3.1.1/patch01 7535 SHA256 81ba90e0ad8f13f5392626b3b06f9145071dbbfc2b21099f562bf7f51a5228a3 SHA512 34529426fda74a61eacff5a2eaf73ef7ca0d914a2aab4c730ffe656d304c8f6be0805f904e321957bfe81f5366b1ea38597b8041cf2f8f29ea47056fe58e9a5d WHIRLPOOL 5d740d9632ae038f07a8f6c479094a9b5d54a95c08995721a4966bc4ea97b3e5b7e62333e79857154ba1b1f33ce644e78a9253f40da3a5670c5883784c797871
AUX 3.1.1/patch02 5460 SHA256 40d152b1e94ee2accb17a8d6b870378f7774739f6348c6205c4d6c5dccdb12cf SHA512 ccfc22d714fcdb5a747450ec1997fcbdd27c27f9c48e4c3d7bf613174bcd5ca0546eec0becbdaf1d1adb41cb2504f45b0b5dfc2024e384b81c80f1ed3bb3e110 WHIRLPOOL 8aecb34b8df10ee127727b473f4003e7e515d4247218a8134135c14c592e61f4b91c9fd202f0ab06f07af048464e6cac802bc0c0f7a83642cab14eb9dfd55273
AUX 3.1.2/patch01 1652 SHA256 38c6bcfd42c0fc5abe8ec3a43381508ed64c0c2fc0feb2403e5a120f56cd0821 SHA512 85aa2b1f720fe3dd2a20e5a1390e5ef2a65e63c1d493965224b2b3710c4a9f4430b5c0a62a1598f5b96e6dee59751298b9cddcfe5cab9899281fe203cbbf361a WHIRLPOOL 26c67673b82b36d4e55e1088cde93ab77cedcd03c4fe7f1e327a437b1d53f5bc388895904e5794d345429fc95892c863ce515d95b61966b76eaa28dd1c33eadd
AUX 3.1.2/patch02 18656 SHA256 3be0d786726b463cada256dae2fb6930dc961d8e11475f0f32577cb009322c11 SHA512 2a92abc2c6b7ecec6b2cde5a4983ea7a8670ab86a197cae8dd073f1e354e7ff40d895f5612d9b042d0547223565ef79501f5d70b63e169cc1319044bf6207716 WHIRLPOOL 767782cf3567e0e58dd06823193823019fb8153e172badf6e459ac5ada6d15b86ba449bdf9519257e3546c7ccd4f1559c46a143daa2e38f2c5d4863124d12312
AUX 3.1.2/patch03 4614 SHA256 a4b82ae2538d7e18ba48c1d8343e7aa08cb885aa98df73d96099c46f78501c6a SHA512 f2dec788ab5ee6cc9b8939348ca6020f5b3a26b0e8be6587603d01cd2deed8fd10de06acf3f6405db180c1aca65b70ea14382c938da6b0e24448ccc24cdf7b21 WHIRLPOOL 1d4d49f2a4968ecbdad8fcae9a99dd6f9ad38086d6ac4b4a569d6bd6a6c4e019efbf5c90e34e8de760e208cd82bdb5a756efac4dcdacc75f9e725dd5069fac3c
AUX 3.1.2/patch04 3456 SHA256 bc1f01c3c16e3e05ae28583d758b3461765ff51e7d5981cf2c0142f2f41a1003 SHA512 e4234190614346112d1677906818ca5b7e62d864484d4beb0088a6c4b2818658ed8b1d1ee4173a0df4798c642a27baedd404b30534ab534cb08a3af21987e4e2 WHIRLPOOL 8b6aa2fb1080b9a162777bdb64986bd19ad8e359a67d6bf672a90ce8ac3430e3e3860c96ba3f4a83da95c63b8f5341aec6b070da117af813719f19cffb52bce8
AUX 3.1.2/patch05 1760 SHA256 5b5701b3133d0a0553d8fed95628ede1bb729f5974eae4b0c5589a25825582c0 SHA512 d4d22f8ae573c2718938e2d82fd377e96251a80b1b77db583b880765acf7a1bdfd30706fb594c92524acf1cb65d1322dd2e5c362c0b687a75ebd1bbe2e4fafae WHIRLPOOL 3b63c11aa89d049b0a2de9c242583595dd48b81bcfc2a1456d49b5c51ff9afdf8f5691f94e35f5bd7cb91bb804d5e24b53a2267f5e2bd123702763f3fdce2ecb
AUX 3.1.2/patch06 1577 SHA256 df21287e786875a29e582755f47a99acda500a167066e29abd59dc6294120ab4 SHA512 f017cb56c8384900409a9486562cb9e38a84fac0c205691d4a27c61d427d163b513b8c7677c2329c16229e6c3f0588023e69afd7868be44546ca7c6d9e256e38 WHIRLPOOL 50843165359d63130e775f70f6d3f96d7d3e8b6f2ce77ea617101779efae1ccc539e02f6de7c03abc7b33a1b0dabf37be271ebc35f92669c85d80aed6c40b8ed
AUX 3.1.2/patch07 2640 SHA256 bd3b7edd038033ce2e6a5475ca93acd862682c3b9e221ad1fb66277ddfdfba05 SHA512 67220669ca151333af82919a33b5552fa7be2ba35f0375ccfc274a0da67aecaead2042c106468191406be613ca4e8cac001821f1c3c6af0a2e72057a414e3ca4 WHIRLPOOL 44abc5fa65b83cfeaeb41eeb9e43fbccca865a444338abc02610fa30fe37b08dc35e7976d35bf777224b7569aaf25d1aadd63afba8478a5ab5425e0ffe340bcc
AUX 3.1.2/patch08 10512 SHA256 a132935024b525842ec4111343266be6aa8d298c538204c7446558e88af711b5 SHA512 b5e86bcf2ea7f55c412714c22a434e9f77d496f1fb37f216914bfa89433c5fe3d8c305ea2fab6ba1edc768a33745a6d2165deaaff5c978bd38061e750105ecbb WHIRLPOOL 165c658199ccb2c323f7a36a247b6828cf59879b2221c11ea6bcdea9cdaa3c0bc959984af9f93aacc7012b1bbc4c7ad856fa6a3cde8e96e7a8a3a5b8998e44ed
AUX 3.1.2/patch09 5798 SHA256 acc114030cdd45c3022bb543a857d1f2bcba2cff6df1ee3861d3e76f93c954e2 SHA512 7df5568c5b624207aaa90880740d6b44dbac13106dec8395985b86c7e0771c0704b8087c8f25a77bdc655fd167037da368611ada84081a5cbf927d566c69bc69 WHIRLPOOL b77ea1b925b58cc63fc43a3215ddd8f2ae977f1aaaee1864564faffbed989da38d602fb28d68dc893938d872d3abbd2dc4471b38a81447d32f1707ec5c153dc0
AUX 3.1.2/patch10 4012 SHA256 26f859193adc7700df47417c753236b915034e83b5da626498e6c46ec272ced1 SHA512 d672604b5da988f4fcff35aa1f6d98619f814c2f2a26bec0c791e5480cdc2a9ae55e8308ea9d135242333c99e8a58838107a1b7d0ebbaed7d2d83a44ca37645f WHIRLPOOL 2d0d69fab076bf460544a8793b070dd696a0417ccf7e8c06620b5572c2c232e060b34c6641d21c79bb30f140e3feb77a8ea651a68140061e79ecde25a6145616
DIST mpfr-2.4.2.tar.bz2 1077886 SHA256 c7e75a08a8d49d2082e4caee1591a05d11b9d5627514e678f02d66a124bcf2ba SHA512 c004b3dbf86c04960e4a1f8db37a409a7cc4cb76135e76e98dcc5ad93aaa8deb62334ee13ff84447a7c12a5e8cb57f25c62ac908c24920f1fb1a38d79d4a4c5e WHIRLPOOL d08935d1c5cda48753ddbf98b3b0e87d911279d7fea24e6b210da7e2378f769f3b20babe96859601195d6a9811cf8297d239df53ad2cfa6d0a1bb7bb02ac6a29
DIST mpfr-3.0.0.tar.bz2 1138685 SHA256 8f4e5f9c53536cb798a30455ac429b1f9fc75a0f8af32d6e0ac31ebf1024821f SHA512 f404a5ebc48624406ff62ddc7c75c75ae06c207b0cdb60d330e95f2782fca9cf4875f8b8389b666bc96d4f157afbdf270d39d95ae890fc7f81027f744632d016 WHIRLPOOL 195eaafca24f4c11472eebc400899244966ed2f087604c8827314ca64ce4bb282af5ff683a1ffaeba5034d0ef82dbb627a88e77af7c1832b78b2ecb5a82d1b77
DIST mpfr-3.0.1.tar.bz2 1154306 SHA256 e1977099bb494319c0f0c1f85759050c418a56884e9c6cef1c540b9b13e38e7f SHA512 bbac7d0d63fd3b4cd895e247c448adce7f4c2b6b66ecfe26af138018e0f96991fa8cbd8cbe94f924761aa1ac676e259af1228600dfc0854314e875e7739fd279 WHIRLPOOL 9d8e9fb6fd4c4526ae853e2bbf85c85dabe01000b0df6f79dcfdbb15f0df95f5a084f304e6e0bc78fbd768eecfb7749c5dfa03a772cc6444432dcaccb1c6adc9
DIST mpfr-3.1.0.tar.bz2 1203891 SHA256 74a7bbbad168dd1cc414f1c9210b8fc16ccfc8e422d34b3371a8978e31eab680 SHA512 86083d8cf9dbcf1e33fcf1d73da8bd5b98fbc9187acf36b2d84c453fd18010aa659960a8026470e49d535d957f764941926a78acb31fe2869bf9a92524e0e81c WHIRLPOOL 7eb97b6df3ca8f903e2fa65c2f184edbf6cf990ce512eaf9598a52db381d74879e5549bf019e89b7d7d260d1347e19d6c03e8365e8340591e110d011090a7a4b
DIST mpfr-3.1.1.tar.xz 1071688 SHA256 49d5acc32dbeec30a8e26af9c19845763d63feacb8bf97b12876008419f5a17a SHA512 4fcc87e19a08622b3211a33807e708b78da6c8659f391003703a9e170c485f56e6ebfff48d42afca7b4edb14fd9487684c4d8fd6c9f805ed62b6d5259d5721a8 WHIRLPOOL c4fdb3c7fba779cfa8900cd3b05322d4853bb6114ea42a5ec315d4489c25e962185f3e3cd3b3214360b55a58da02987c62c5ca92fb14989b38bd8c93bccd63d5
DIST mpfr-3.1.2.tar.xz 1074388 SHA256 399d0f47ef6608cc01d29ed1b99c7faff36d9994c45f36f41ba250147100453b SHA512 8d594206afb2637ed39ad564d42c8c4d02b042b95925f5c6ec891e5cb87f7155195559c7ff477256a088ecaaa3c2b0d35a9d11a74ed526a1080d49b2950e5587 WHIRLPOOL 1e391888d9cecc71617e99eb841cafac536e703b12d46a53fdcf773cc2654c98ca6bde2358f997c8b7bfd832bdb0c395b224df8a460a8fb5b4ad6f2c2e092b17
EBUILD mpfr-2.4.2_p3-r1.ebuild 1431 SHA256 8facfef5d1a82c3862fc231b38e45558b87bc4e9539c3a4a4423b1a2b6d6f740 SHA512 18fa4ad9c5e4af2b4e8de85ea8f6885ce70ea159076ebd17ed4507c51f38e60d2865216bc1ce638ab7984c0b048d597b99ddbdb2f2e612b3227c4d615e61ee9a WHIRLPOOL 873e320cccdd9359ca5d205d21aa8703fc2009378064b43b61ef612f638598952ebb1b19c9269f3be456ab4b222a62a14385cfb7287470e185453e1137062042
EBUILD mpfr-3.0.0_p3.ebuild 1692 SHA256 d646350c940c10c432a31d78ad7073e294bc60bf53d41b6fde1e0c7798db3932 SHA512 855dae5d805e9c3547419ed7dc1409f65653fd96a02f860c7acfb033700f1f78841ea6b2ccc34d3c975cc640997c6d1f075d561b9e61619c21d02a9e3eb9e98e WHIRLPOOL 44e067f6660aa6c4b9859d8ce8714d112c8dcb6ff482a53150f2a2ab6fb84dcb6229866dbad1eaddba6764b0554f2bb17ac5bd7947b3afc0431a7d1b10bbdbf6
EBUILD mpfr-3.0.1.ebuild 1700 SHA256 c3e8921034f5f87586b9e14326e152c4072c15ae18b6d2a6a62cb16b9e32e3d4 SHA512 b006d0664ae56c0f8e510372d99ba349c736c11b109e7dd1a5f675b47c885b5644bb2ce119e9334bfa4afd366015f076e62d0263d491d9a7ce43e85f4adb4521 WHIRLPOOL f88d7a77c35d1eba770d72b5170a6fff8d756d809b178743f5e2774517517457d3a109e58e255b1802eb37b6f3c17011011e1f0a04315d0eccd5fe7ebe3fd2e9
EBUILD mpfr-3.0.1_p4-r1.ebuild 1854 SHA256 8791dcf9d32b3b927964cebc15cf5f7a138af0ac2af5623a3ea6edfb7af8d66c SHA512 87f8459e697410f36e9ef5442955646b75e5a3893cf6d3962ec263fa44b9cf703a3aa7c0b6578a1d65610fa010683b072af525a2643874b5f409405860388b34 WHIRLPOOL a46061e0da9c34e97bc54c309df5b94bc27d77a9a110e49f0904cd8feb8a546607e961c68c9b615da2f74e0d8ffc99f66e07500a6315d12c8125c577c7a6d295
EBUILD mpfr-3.0.1_p4.ebuild 1691 SHA256 273a3f471cae74920b783494379951de909891090ab9709b3b9ce3d5326e4e2d SHA512 80c6ca3139d2b0f65e6ae1f8f84f664aebf1f06224e66b22962c898bfacf1c03bd142d32b05ba1b5f96ff4f3b6f0e4a3f9485f3af85f8638d57f78a029ce2160 WHIRLPOOL ff96fe531f009f56a0db8821d326abcdc3ce2271393b46d9c7a2f7908f5d80fae7f44fcffb90baebbcc81f56036f7d19c82a905bd12500845efa135b5a1a6ff5
EBUILD mpfr-3.1.0.ebuild 1950 SHA256 42fc55acc6041b9f79979203afe52f4b19ff153d1f1c5a13ab9e968958dbd9df SHA512 0d9adc8d9cd835073ef5ea0536816c37198da6c65bd6daee128006acc7655d289fcfbf97ef94cd60ec24385298534d163b561069639ed8c42415a6966c54b3a8 WHIRLPOOL 0342f255bda325cfb311a58106043eaaf3d6e7b81254e8c8bfe711fdabd20bd1124529f3483c608c183b81d455c5aa01b5ccee6662284fc336ec8005c59e4d1f
EBUILD mpfr-3.1.0_p7.ebuild 1967 SHA256 4c7e7da8207970d54881151022f8df714e31489cd7898e187f7f29396af611c0 SHA512 d6ed440cbd68e497588de1ad8dc652486b426b43ef37bd148c2c7ee34be5f1b20bc97b31eef634e4aefbcc9341edc84ebcf7cb31231b59b7e1fdce2c0069e734 WHIRLPOOL 99f47197a66b964da5fdc29d470fc26edd633ab4015147a3068598d3d35ff4ca617823fe5e695b545d38e6644f75799c919bfc525dbbdb145df5074675b63f1b
EBUILD mpfr-3.1.1.ebuild 1951 SHA256 321164e9f88fb4c8808a683a6d321bd61d73a699b3e7113bbbb78b49620e4c02 SHA512 66ce60ba6a6cd38279063ef20ed73d9cd18033d092dc7d5150628194f38c8a39959ff8f7d7dad656caaf944d9322ed1eb3ec2f6ca12601b7fef6a911b5a27ff2 WHIRLPOOL 49ee3a0abb5029bf8fd8ebdf748577fe27cc7151116b623dbb8ae848e7a6d520776762c62f73bbcf09a9e49ecb4462e0d9c0e0a14a26041816de6143c4b911a6
EBUILD mpfr-3.1.1_p2.ebuild 2001 SHA256 8d6ac46fb831639463332927299ce3f9590aefade2cd6c073ce81add9e179835 SHA512 09dd693570a57debf2ceae007c22efd285691ae19757cfe64ed0bdfab116b3b208b95a612827b1bbfd0d2f980f653851172608fa0f75eae0bcc3a4cb20af0575 WHIRLPOOL 0396d497db15ff7d9044f945066ad8231cf7dd536d7dece981789f1140b6f2d6a0f2a12720bf25da7893a3c11859b914d9e6803a2f0063e01d71840c9e6eb4ff
EBUILD mpfr-3.1.2-r1.ebuild 2332 SHA256 3fb9870ae85a546129ebe2ffcc141d88a811e30bb7765d5648c8d4bf58bd3983 SHA512 969d8526129e122bff3e78275ab356d3855eac35b00ab39d4ec815a44105558c8bc5b12a88ea637dfd7e9e8bf825479db2a226524c2d112e5904b76e843745b3 WHIRLPOOL da14e103a6b9e1fb4c6621681703cf03918bcc8b5459142a01f59802b532e1d0d3b4a58cd8998764a8ff3c07427cf19df5d21d7a4267b771626c19fd50c5f37c
EBUILD mpfr-3.1.2_p10.ebuild 1954 SHA256 a25c13f8731168979004f77291af0357734e8388dd50ab14617f1d742b8950d8 SHA512 e47ffffc502a6682307fd5128b142c40423f7d7173b9b501f0a6093102d8cc9baf8999bc3c693c1d0fa51ee1ff196d8f861a2d4a31a111fe681cd9a4024d3961 WHIRLPOOL 634882ee662b01e037673b7d4a2c670f36fc85dd8c4e5e0492ebceb91070b37bf29e64024bad052b6ec5cfbe943d88c7d846a5676288f43ade8865abf3941e37
EBUILD mpfr-3.1.2_p5.ebuild 2343 SHA256 eeda4fa6d5dc6e174e208bea29ea58ece393065da2f3d91ef271d1d8ad3c223b SHA512 0dcfbd476e07483494bf15eec9d5197385dbc96639a04700bf1e339f6bc2594f7fb74fc2b0fd0ea554be15f6ae0fb9c14b5ee4f3a4cfaccd6f29490458ad72ec WHIRLPOOL e779be16adaf459bb9733d32e9b6bcdd08d6af6f4bd8c6e0025a310d8becfe780948f5efca66287f985fd26816c91aac2883bf5b72d242af2a4e1f606d67d9bc
MISC ChangeLog 23323 SHA256 926a51d445787e7178c5c0474b3c32a8cde8ef5a35dda6a215e420e08f5d9743 SHA512 137a0e8dfa2be548024780751815889d32534e20d2b80f316b137835921e74f206a560d645527b7608981f589ab7b07f98bca787e44f272842436af92a489fc9 WHIRLPOOL de4a04e09bfbc68e978ce8cfd18fb6f119de9785da91ea42aa0365e7661bdc4cdb23689aa13d02308278abc3da9453be62fc899e23a05d1c048100d33a7a77bb
MISC metadata.xml 162 SHA256 65a915d44de1f01d4b7f72d313b4192c38374a9835d24988c00c1e73dca5805a SHA512 2a857e10b277827773a6c7967e070d7bfff23d75f44fa4d4fa8a7339df3225e6dba512a865d91c9c55bdb013dafdce85dface1b845acfbb5473e232666cdda45 WHIRLPOOL f7586c1570803b3e646f0be89ba6c767e82ec6889ef92d15f62a38f1410ed9d82c36892e5e83f694471959783d0d5ad667f1a39b7eb51f2080c269d5fa23d819
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAEBCAAGBQJUVIqzAAoJEPGu1DbS6WIAwWcP/0+CMXoCX2Zd/MXnI2xhVAVc
AU0jiL0PDsCGxiEz394CkLhvAqBf01RHQqDfZDBEAe64GwUhgHyZ2dP0LlpGx2vK
J7hiQD5Gj86T/Ash3ybTcPaWu/it5YROLivU/NY8smwSAOsi7/v5KNxhu1Jgt2oJ
/vzg1CkeL8VDmm9SMVxhzfLrUYSEK+kR5UGDcUElC9fm5Hheaw9PvNFlllzQ6Xsj
bmwqM2x1AHKxf4VrZN0FtutQk0DQQAQxmKI70oiYbHzKYGIkzE+uI5TXrtKXXZrY
vOmCaKzdQC3G+DC28oK2vguEF/VvOZdI9IQJYqiN2HmGEronOTth6O8N/57QqChX
vooiT4sj6WCS34jvSF/4FEo1xiDVgP9s2MXGxyt7+f/D6y+BxjEh3pNOh7s1pSAk
DI3Vq4ijzrGEHGcZ3kAUXlU3VlOlO2ksZpRFVPo8BSYagEdqMpB8X8JtW7sbcZYq
a8nVDnMQ2Tsp9W9cyElItCp5DueeF0uVeyxek7tdNFvThLLp5PaxVOgYZC1jAkiv
mpqnY/xnmPJwQ1u5gnABGESLh56kqo2dhsfK1mk+aYF2glADl/+MJ1jIEyhwIKVI
hFKs9dDaG/Zg3XsCh+VjsUkFOL3pQFJNbZP70Y6tzmOo6cMwcxjOJ1iAJpvYEtXk
I0mqZrzq1prvofxGonLG
=Qe9H
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,184 @@
diff -Naurd mpfr-2.4.2-a/PATCHES mpfr-2.4.2-b/PATCHES
--- mpfr-2.4.2-a/PATCHES 2009-12-07 13:37:12.000000000 +0000
+++ mpfr-2.4.2-b/PATCHES 2009-12-07 13:37:12.000000000 +0000
@@ -0,0 +1 @@
+sin_cos_underflow
diff -Naurd mpfr-2.4.2-a/VERSION mpfr-2.4.2-b/VERSION
--- mpfr-2.4.2-a/VERSION 2009-11-30 02:43:08.000000000 +0000
+++ mpfr-2.4.2-b/VERSION 2009-12-07 13:37:12.000000000 +0000
@@ -1 +1 @@
-2.4.2
+2.4.2-p1
diff -Naurd mpfr-2.4.2-a/mpfr.h mpfr-2.4.2-b/mpfr.h
--- mpfr-2.4.2-a/mpfr.h 2009-11-30 02:43:08.000000000 +0000
+++ mpfr-2.4.2-b/mpfr.h 2009-12-07 13:37:12.000000000 +0000
@@ -27,7 +27,7 @@
#define MPFR_VERSION_MAJOR 2
#define MPFR_VERSION_MINOR 4
#define MPFR_VERSION_PATCHLEVEL 2
-#define MPFR_VERSION_STRING "2.4.2"
+#define MPFR_VERSION_STRING "2.4.2-p1"
/* Macros dealing with MPFR VERSION */
#define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
diff -Naurd mpfr-2.4.2-a/sin_cos.c mpfr-2.4.2-b/sin_cos.c
--- mpfr-2.4.2-a/sin_cos.c 2009-11-30 02:43:09.000000000 +0000
+++ mpfr-2.4.2-b/sin_cos.c 2009-12-07 13:37:12.000000000 +0000
@@ -82,17 +82,19 @@
if (y != x)
/* y and x differ, thus we can safely try to compute y first */
{
- MPFR_FAST_COMPUTE_IF_SMALL_INPUT (y, x, -2 * expx, 2, 0, rnd_mode,
- { inexy = _inexact;
- goto small_input; });
+ MPFR_FAST_COMPUTE_IF_SMALL_INPUT (
+ y, x, -2 * expx, 2, 0, rnd_mode,
+ { inexy = _inexact;
+ goto small_input; });
if (0)
{
small_input:
/* we can go here only if we can round sin(x) */
- MPFR_FAST_COMPUTE_IF_SMALL_INPUT (z, __gmpfr_one, -2 * expx,
- 1, 0, rnd_mode,
- { inexz = _inexact;
- goto end; });
+ MPFR_FAST_COMPUTE_IF_SMALL_INPUT (
+ z, __gmpfr_one, -2 * expx, 1, 0, rnd_mode,
+ { inexz = _inexact;
+ MPFR_SAVE_EXPO_UPDATE_FLAGS (expo, __gmpfr_flags);
+ goto end; });
}
/* if we go here, one of the two MPFR_FAST_COMPUTE_IF_SMALL_INPUT
@@ -101,18 +103,19 @@
else /* y and x are the same variable: try to compute z first, which
necessarily differs */
{
- MPFR_FAST_COMPUTE_IF_SMALL_INPUT (z, __gmpfr_one, -2 * expx,
- 1, 0, rnd_mode,
- { inexz = _inexact;
- goto small_input2; });
+ MPFR_FAST_COMPUTE_IF_SMALL_INPUT (
+ z, __gmpfr_one, -2 * expx, 1, 0, rnd_mode,
+ { inexz = _inexact;
+ goto small_input2; });
if (0)
{
small_input2:
/* we can go here only if we can round cos(x) */
- MPFR_FAST_COMPUTE_IF_SMALL_INPUT (y, x, -2 * expx, 2, 0,
- rnd_mode,
- { inexy = _inexact;
- goto end; });
+ MPFR_FAST_COMPUTE_IF_SMALL_INPUT (
+ y, x, -2 * expx, 2, 0, rnd_mode,
+ { inexy = _inexact;
+ MPFR_SAVE_EXPO_UPDATE_FLAGS (expo, __gmpfr_flags);
+ goto end; });
}
}
m += 2 * (-expx);
@@ -207,7 +210,6 @@
mpfr_clear (xr);
end:
- /* FIXME: update the underflow flag if need be. */
MPFR_SAVE_EXPO_FREE (expo);
mpfr_check_range (y, inexy, rnd_mode);
mpfr_check_range (z, inexz, rnd_mode);
diff -Naurd mpfr-2.4.2-a/tests/tsin_cos.c mpfr-2.4.2-b/tests/tsin_cos.c
--- mpfr-2.4.2-a/tests/tsin_cos.c 2009-11-30 02:43:08.000000000 +0000
+++ mpfr-2.4.2-b/tests/tsin_cos.c 2009-12-07 13:37:12.000000000 +0000
@@ -382,23 +382,56 @@
consistency (void)
{
mpfr_t x, s1, s2, c1, c2;
+ mp_exp_t emin, emax;
mp_rnd_t rnd;
+ unsigned int flags_sin, flags_cos, flags, flags_before, flags_ref;
+ int inex_sin, inex_cos, inex, inex_ref;
int i;
+ emin = mpfr_get_emin ();
+ emax = mpfr_get_emax ();
+
for (i = 0; i <= 10000; i++)
{
mpfr_init2 (x, MPFR_PREC_MIN + (randlimb () % 8));
mpfr_inits2 (MPFR_PREC_MIN + (randlimb () % 8), s1, s2, c1, c2,
(mpfr_ptr) 0);
- tests_default_random (x, 256, -5, 50);
- rnd = RND_RAND ();
- mpfr_sin (s1, x, rnd);
- mpfr_cos (c1, x, rnd);
- mpfr_sin_cos (s2, c2, x, rnd);
- if (!(mpfr_equal_p (s1, s2) && mpfr_equal_p (c1, c2)))
+ if (i < 8 * GMP_RND_MAX)
{
- printf ("mpfr_sin_cos and mpfr_sin/mpfr_cos disagree on %s,\nx = ",
- mpfr_print_rnd_mode (rnd));
+ int j = i / GMP_RND_MAX;
+ if (j & 1)
+ mpfr_set_emin (MPFR_EMIN_MIN);
+ mpfr_set_si (x, (j & 2) ? 1 : -1, GMP_RNDN);
+ mpfr_set_exp (x, mpfr_get_emin ());
+ rnd = (mpfr_rnd_t) (i % GMP_RND_MAX);
+ flags_before = 0;
+ if (j & 4)
+ mpfr_set_emax (-17);
+ }
+ else
+ {
+ tests_default_random (x, 256, -5, 50);
+ rnd = RND_RAND ();
+ flags_before = (randlimb () & 1) ?
+ (unsigned int) (MPFR_FLAGS_ALL ^ MPFR_FLAGS_ERANGE) :
+ (unsigned int) 0;
+ }
+ __gmpfr_flags = flags_before;
+ inex_sin = mpfr_sin (s1, x, rnd);
+ flags_sin = __gmpfr_flags;
+ __gmpfr_flags = flags_before;
+ inex_cos = mpfr_cos (c1, x, rnd);
+ flags_cos = __gmpfr_flags;
+ __gmpfr_flags = flags_before;
+ inex = !!mpfr_sin_cos (s2, c2, x, rnd);
+ flags = __gmpfr_flags;
+ inex_ref = inex_sin || inex_cos;
+ flags_ref = flags_sin | flags_cos;
+ if (!(mpfr_equal_p (s1, s2) && mpfr_equal_p (c1, c2)) ||
+ inex != inex_ref || flags != flags_ref)
+ {
+ printf ("mpfr_sin_cos and mpfr_sin/mpfr_cos disagree on %s,"
+ " i = %d\nx = ", mpfr_print_rnd_mode (rnd), i);
mpfr_dump (x);
printf ("s1 = ");
mpfr_dump (s1);
@@ -408,9 +441,16 @@
mpfr_dump (c1);
printf ("c2 = ");
mpfr_dump (c2);
+ printf ("inex_sin = %d, inex_cos = %d, inex = %d (expected %d)\n",
+ inex_sin, inex_cos, inex, inex_ref);
+ printf ("flags_sin = 0x%x, flags_cos = 0x%x, "
+ "flags = 0x%x (expected 0x%x)\n",
+ flags_sin, flags_cos, flags, flags_ref);
exit (1);
}
mpfr_clears (x, s1, s2, c1, c2, (mpfr_ptr) 0);
+ mpfr_set_emin (emin);
+ mpfr_set_emax (emax);
}
}
diff -Naurd mpfr-2.4.2-a/version.c mpfr-2.4.2-b/version.c
--- mpfr-2.4.2-a/version.c 2009-11-30 02:43:08.000000000 +0000
+++ mpfr-2.4.2-b/version.c 2009-12-07 13:37:12.000000000 +0000
@@ -25,5 +25,5 @@
const char *
mpfr_get_version (void)
{
- return "2.4.2";
+ return "2.4.2-p1";
}

View File

@ -0,0 +1,71 @@
diff -Naurd mpfr-2.4.2-a/PATCHES mpfr-2.4.2-b/PATCHES
--- mpfr-2.4.2-a/PATCHES 2009-12-18 12:03:30.000000000 +0000
+++ mpfr-2.4.2-b/PATCHES 2009-12-18 12:05:19.000000000 +0000
@@ -0,0 +1 @@
+longlong.h
diff -Naurd mpfr-2.4.2-a/VERSION mpfr-2.4.2-b/VERSION
--- mpfr-2.4.2-a/VERSION 2009-12-07 13:37:12.000000000 +0000
+++ mpfr-2.4.2-b/VERSION 2009-12-18 12:05:09.000000000 +0000
@@ -1 +1 @@
-2.4.2-p1
+2.4.2-p2
diff -Naurd mpfr-2.4.2-a/mpfr-longlong.h mpfr-2.4.2-b/mpfr-longlong.h
--- mpfr-2.4.2-a/mpfr-longlong.h 2009-11-30 02:43:08.000000000 +0000
+++ mpfr-2.4.2-b/mpfr-longlong.h 2009-12-18 12:04:29.000000000 +0000
@@ -1011,7 +1011,15 @@
#endif /* __m88000__ */
#if defined (__mips) && W_TYPE_SIZE == 32
-#if __GNUC__ > 2 || __GNUC_MINOR__ >= 7
+#if (__GNUC__ >= 5) || (__GNUC__ >= 4 && __GNUC_MINOR__ >= 4)
+#define umul_ppmm(w1, w0, u, v) \
+ do { \
+ UDItype _r; \
+ _r = (UDItype) u * v; \
+ (w1) = _r >> 32; \
+ (w0) = (USItype) _r; \
+ } while (0)
+#elif __GNUC__ > 2 || __GNUC_MINOR__ >= 7
#define umul_ppmm(w1, w0, u, v) \
__asm__ ("multu %2,%3" : "=l" (w0), "=h" (w1) : "d" (u), "d" (v))
#else
@@ -1024,7 +1032,16 @@
#endif /* __mips */
#if (defined (__mips) && __mips >= 3) && W_TYPE_SIZE == 64
-#if __GNUC__ > 2 || __GNUC_MINOR__ >= 7
+#if (__GNUC__ >= 5) || (__GNUC__ >= 4 && __GNUC_MINOR__ >= 4)
+typedef unsigned int UTItype __attribute__ ((mode (TI)));
+#define umul_ppmm(w1, w0, u, v) \
+ do { \
+ UTItype _r; \
+ _r = (UTItype) u * v; \
+ (w1) = _r >> 64; \
+ (w0) = (UDItype) _r; \
+ } while (0)
+#elif __GNUC__ > 2 || __GNUC_MINOR__ >= 7
#define umul_ppmm(w1, w0, u, v) \
__asm__ ("dmultu %2,%3" : "=l" (w0), "=h" (w1) : "d" (u), "d" (v))
#else
diff -Naurd mpfr-2.4.2-a/mpfr.h mpfr-2.4.2-b/mpfr.h
--- mpfr-2.4.2-a/mpfr.h 2009-12-07 13:37:12.000000000 +0000
+++ mpfr-2.4.2-b/mpfr.h 2009-12-18 12:05:09.000000000 +0000
@@ -27,7 +27,7 @@
#define MPFR_VERSION_MAJOR 2
#define MPFR_VERSION_MINOR 4
#define MPFR_VERSION_PATCHLEVEL 2
-#define MPFR_VERSION_STRING "2.4.2-p1"
+#define MPFR_VERSION_STRING "2.4.2-p2"
/* Macros dealing with MPFR VERSION */
#define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
diff -Naurd mpfr-2.4.2-a/version.c mpfr-2.4.2-b/version.c
--- mpfr-2.4.2-a/version.c 2009-12-07 13:37:12.000000000 +0000
+++ mpfr-2.4.2-b/version.c 2009-12-18 12:05:09.000000000 +0000
@@ -25,5 +25,5 @@
const char *
mpfr_get_version (void)
{
- return "2.4.2-p1";
+ return "2.4.2-p2";
}

View File

@ -0,0 +1,75 @@
diff -Naurd mpfr-2.4.2-a/PATCHES mpfr-2.4.2-b/PATCHES
--- mpfr-2.4.2-a/PATCHES 2010-01-11 15:27:18.000000000 +0000
+++ mpfr-2.4.2-b/PATCHES 2010-01-11 15:30:31.000000000 +0000
@@ -0,0 +1 @@
+gmp5
diff -Naurd mpfr-2.4.2-a/VERSION mpfr-2.4.2-b/VERSION
--- mpfr-2.4.2-a/VERSION 2009-12-18 12:05:09.000000000 +0000
+++ mpfr-2.4.2-b/VERSION 2010-01-11 15:29:40.000000000 +0000
@@ -1 +1 @@
-2.4.2-p2
+2.4.2-p3
diff -Naurd mpfr-2.4.2-a/configure mpfr-2.4.2-b/configure
--- mpfr-2.4.2-a/configure 2009-11-30 02:44:35.000000000 +0000
+++ mpfr-2.4.2-b/configure 2010-01-11 15:28:56.000000000 +0000
@@ -20449,6 +20449,9 @@
main ()
{
+#ifndef BITS_PER_MP_LIMB
+#define BITS_PER_MP_LIMB GMP_LIMB_BITS
+#endif
return BITS_PER_MP_LIMB == BYTES_PER_MP_LIMB * CHAR_BIT
&& sizeof(mp_limb_t) == BYTES_PER_MP_LIMB ? 0 : 1;
diff -Naurd mpfr-2.4.2-a/configure.in mpfr-2.4.2-b/configure.in
--- mpfr-2.4.2-a/configure.in 2009-11-30 02:43:08.000000000 +0000
+++ mpfr-2.4.2-b/configure.in 2009-11-30 02:43:08.000000000 +0000
@@ -424,6 +424,9 @@
#include "gmp.h"
#include "gmp-impl.h"
]], [[
+#ifndef BITS_PER_MP_LIMB
+#define BITS_PER_MP_LIMB GMP_LIMB_BITS
+#endif
return BITS_PER_MP_LIMB == BYTES_PER_MP_LIMB * CHAR_BIT
&& sizeof(mp_limb_t) == BYTES_PER_MP_LIMB ? 0 : 1;
]])], [AC_MSG_RESULT(yes)], [
diff -Naurd mpfr-2.4.2-a/mpfr-impl.h mpfr-2.4.2-b/mpfr-impl.h
--- mpfr-2.4.2-a/mpfr-impl.h 2009-11-30 02:43:08.000000000 +0000
+++ mpfr-2.4.2-b/mpfr-impl.h 2010-01-11 15:28:01.000000000 +0000
@@ -65,6 +65,12 @@
# ifndef __GMP_IMPL_H__
# include "gmp-impl.h"
# endif
+# ifndef BITS_PER_MP_LIMB
+# define BITS_PER_MP_LIMB GMP_LIMB_BITS
+# endif
+#ifndef mpn_sqr_n
+# define mpn_sqr_n mpn_sqr
+#endif
# ifdef MPFR_NEED_LONGLONG_H
# include "longlong.h"
# endif
diff -Naurd mpfr-2.4.2-a/mpfr.h mpfr-2.4.2-b/mpfr.h
--- mpfr-2.4.2-a/mpfr.h 2009-12-18 12:05:09.000000000 +0000
+++ mpfr-2.4.2-b/mpfr.h 2010-01-11 15:29:40.000000000 +0000
@@ -27,7 +27,7 @@
#define MPFR_VERSION_MAJOR 2
#define MPFR_VERSION_MINOR 4
#define MPFR_VERSION_PATCHLEVEL 2
-#define MPFR_VERSION_STRING "2.4.2-p2"
+#define MPFR_VERSION_STRING "2.4.2-p3"
/* Macros dealing with MPFR VERSION */
#define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
diff -Naurd mpfr-2.4.2-a/version.c mpfr-2.4.2-b/version.c
--- mpfr-2.4.2-a/version.c 2009-12-18 12:05:09.000000000 +0000
+++ mpfr-2.4.2-b/version.c 2010-01-11 15:29:40.000000000 +0000
@@ -25,5 +25,5 @@
const char *
mpfr_get_version (void)
{
- return "2.4.2-p2";
+ return "2.4.2-p3";
}

View File

@ -0,0 +1,220 @@
diff -Naurd mpfr-3.0.0-a/PATCHES mpfr-3.0.0-b/PATCHES
--- mpfr-3.0.0-a/PATCHES 2010-06-23 11:02:49.000000000 +0000
+++ mpfr-3.0.0-b/PATCHES 2010-06-23 11:03:36.000000000 +0000
@@ -0,0 +1 @@
+mpfr_out_str
diff -Naurd mpfr-3.0.0-a/VERSION mpfr-3.0.0-b/VERSION
--- mpfr-3.0.0-a/VERSION 2010-06-10 11:00:14.000000000 +0000
+++ mpfr-3.0.0-b/VERSION 2010-06-23 11:03:20.000000000 +0000
@@ -1 +1 @@
-3.0.0
+3.0.0-p1
diff -Naurd mpfr-3.0.0-a/mpfr.h mpfr-3.0.0-b/mpfr.h
--- mpfr-3.0.0-a/mpfr.h 2010-06-10 11:00:14.000000000 +0000
+++ mpfr-3.0.0-b/mpfr.h 2010-06-23 11:03:20.000000000 +0000
@@ -27,7 +27,7 @@
#define MPFR_VERSION_MAJOR 3
#define MPFR_VERSION_MINOR 0
#define MPFR_VERSION_PATCHLEVEL 0
-#define MPFR_VERSION_STRING "3.0.0"
+#define MPFR_VERSION_STRING "3.0.0-p1"
/* Macros dealing with MPFR VERSION */
#define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
diff -Naurd mpfr-3.0.0-a/mpfr.texi mpfr-3.0.0-b/mpfr.texi
--- mpfr-3.0.0-a/mpfr.texi 2010-06-10 11:00:14.000000000 +0000
+++ mpfr-3.0.0-b/mpfr.texi 2010-06-23 11:03:12.000000000 +0000
@@ -2050,7 +2050,7 @@
are printed. If @var{base} is greater than 10, @samp{@@} will be used
instead of @samp{e} as exponent delimiter.
-Return the number of bytes written, or if an error occurred, return 0.
+Return the number of characters written, or if an error occurred, return 0.
@end deftypefun
@deftypefun size_t mpfr_inp_str (mpfr_t @var{rop}, FILE *@var{stream}, int @var{base}, mpfr_rnd_t @var{rnd})
diff -Naurd mpfr-3.0.0-a/out_str.c mpfr-3.0.0-b/out_str.c
--- mpfr-3.0.0-a/out_str.c 2010-06-10 11:00:14.000000000 +0000
+++ mpfr-3.0.0-b/out_str.c 2010-06-23 11:03:12.000000000 +0000
@@ -22,6 +22,16 @@
#include "mpfr-impl.h"
+/* Warning! S should not contain "%". */
+#define OUT_STR_RET(S) \
+ do \
+ { \
+ int r; \
+ r = fprintf (stream, (S)); \
+ return r < 0 ? 0 : r; \
+ } \
+ while (0)
+
size_t
mpfr_out_str (FILE *stream, int base, size_t n_digits, mpfr_srcptr op,
mpfr_rnd_t rnd_mode)
@@ -29,6 +39,7 @@
char *s, *s0;
size_t l;
mpfr_exp_t e;
+ int err;
MPFR_ASSERTN (base >= 2 && base <= 62);
@@ -36,37 +47,16 @@
if (stream == NULL)
stream = stdout;
- if (MPFR_IS_NAN(op))
- {
- fprintf (stream, "@NaN@");
- return 3;
- }
-
- if (MPFR_IS_INF(op))
- {
- if (MPFR_SIGN(op) > 0)
- {
- fprintf (stream, "@Inf@");
- return 3;
- }
- else
- {
- fprintf (stream, "-@Inf@");
- return 4;
- }
- }
-
- if (MPFR_IS_ZERO(op))
+ if (MPFR_UNLIKELY (MPFR_IS_SINGULAR (op)))
{
- if (MPFR_SIGN(op) > 0)
- {
- fprintf(stream, "0");
- return 1;
- }
+ if (MPFR_IS_NAN (op))
+ OUT_STR_RET ("@NaN@");
+ else if (MPFR_IS_INF (op))
+ OUT_STR_RET (MPFR_IS_POS (op) ? "@Inf@" : "-@Inf@");
else
{
- fprintf(stream, "-0");
- return 2;
+ MPFR_ASSERTD (MPFR_IS_ZERO (op));
+ OUT_STR_RET (MPFR_IS_POS (op) ? "0" : "-0");
}
}
@@ -77,21 +67,31 @@
l = strlen (s) + 1; /* size of allocated block returned by mpfr_get_str
- may be incorrect, as only an upper bound? */
- if (*s == '-')
- fputc (*s++, stream);
- /* outputs mantissa */
- fputc (*s++, stream); e--; /* leading digit */
- fputc ((unsigned char) MPFR_DECIMAL_POINT, stream);
- fputs (s, stream); /* rest of mantissa */
+ /* outputs possible sign and significand */
+ err = (*s == '-' && fputc (*s++, stream) == EOF)
+ || fputc (*s++, stream) == EOF /* leading digit */
+ || fputc ((unsigned char) MPFR_DECIMAL_POINT, stream) == EOF
+ || fputs (s, stream) == EOF; /* trailing significand */
(*__gmp_free_func) (s0, l);
+ if (MPFR_UNLIKELY (err))
+ return 0;
+
+ e--; /* due to the leading digit */
/* outputs exponent */
if (e)
{
+ int r;
+
MPFR_ASSERTN(e >= LONG_MIN);
MPFR_ASSERTN(e <= LONG_MAX);
- l += fprintf (stream, (base <= 10 ? "e%ld" : "@%ld"), (long) e);
+
+ r = fprintf (stream, (base <= 10 ? "e%ld" : "@%ld"), (long) e);
+ if (MPFR_UNLIKELY (r < 0))
+ return 0;
+
+ l += r;
}
return l;
diff -Naurd mpfr-3.0.0-a/tests/tout_str.c mpfr-3.0.0-b/tests/tout_str.c
--- mpfr-3.0.0-a/tests/tout_str.c 2010-06-10 11:00:13.000000000 +0000
+++ mpfr-3.0.0-b/tests/tout_str.c 2010-06-23 11:03:12.000000000 +0000
@@ -46,22 +46,54 @@
special (void)
{
mpfr_t x;
+ unsigned int n;
mpfr_init (x);
mpfr_set_nan (x);
- mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
+ n = mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
+ if (n != 5)
+ {
+ printf ("Error: mpfr_out_str (file, 10, 0, NaN, MPFR_RNDN) wrote %u "
+ "characters instead of 5.\n", n);
+ exit (1);
+ }
mpfr_set_inf (x, 1);
- mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
+ n = mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
+ if (n != 5)
+ {
+ printf ("Error: mpfr_out_str (file, 10, 0, +Inf, MPFR_RNDN) wrote %u "
+ "characters instead of 5.\n", n);
+ exit (1);
+ }
mpfr_set_inf (x, -1);
- mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
+ n = mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
+ if (n != 6)
+ {
+ printf ("Error: mpfr_out_str (file, 10, 0, -Inf, MPFR_RNDN) wrote %u "
+ "characters instead of 6.\n", n);
+ exit (1);
+ }
mpfr_set_ui (x, 0, MPFR_RNDN);
- mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
+ n = mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
+ if (n != 1)
+ {
+ printf ("Error: mpfr_out_str (file, 10, 0, +0, MPFR_RNDN) wrote %u "
+ "characters instead of 1.\n", n);
+ exit (1);
+ }
+
mpfr_neg (x, x, MPFR_RNDN);
- mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
+ n = mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
+ if (n != 2)
+ {
+ printf ("Error: mpfr_out_str (file, 10, 0, -0, MPFR_RNDN) wrote %u "
+ "characters instead of 2.\n", n);
+ exit (1);
+ }
mpfr_clear (x);
}
diff -Naurd mpfr-3.0.0-a/version.c mpfr-3.0.0-b/version.c
--- mpfr-3.0.0-a/version.c 2010-06-10 11:00:14.000000000 +0000
+++ mpfr-3.0.0-b/version.c 2010-06-23 11:03:20.000000000 +0000
@@ -25,5 +25,5 @@
const char *
mpfr_get_version (void)
{
- return "3.0.0";
+ return "3.0.0-p1";
}

View File

@ -0,0 +1,377 @@
diff -Naurd mpfr-3.0.0-a/Makefile.in mpfr-3.0.0-b/Makefile.in
--- mpfr-3.0.0-a/Makefile.in 2010-06-10 11:00:52.000000000 +0000
+++ mpfr-3.0.0-b/Makefile.in 2010-06-10 11:00:52.000000000 +0000
@@ -239,6 +239,7 @@
distuninstallcheck_listfiles = find . -type f -print
distcleancheck_listfiles = find . -type f -print
ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
diff -Naurd mpfr-3.0.0-a/PATCHES mpfr-3.0.0-b/PATCHES
--- mpfr-3.0.0-a/PATCHES 2010-06-23 11:03:36.000000000 +0000
+++ mpfr-3.0.0-b/PATCHES 2010-06-25 13:23:13.000000000 +0000
@@ -0,0 +1 @@
+alloca
diff -Naurd mpfr-3.0.0-a/VERSION mpfr-3.0.0-b/VERSION
--- mpfr-3.0.0-a/VERSION 2010-06-23 11:03:20.000000000 +0000
+++ mpfr-3.0.0-b/VERSION 2010-06-25 13:23:13.000000000 +0000
@@ -1 +1 @@
-3.0.0-p1
+3.0.0-p2
diff -Naurd mpfr-3.0.0-a/acinclude.m4 mpfr-3.0.0-b/acinclude.m4
--- mpfr-3.0.0-a/acinclude.m4 2010-06-10 11:00:14.000000000 +0000
+++ mpfr-3.0.0-b/acinclude.m4 2010-06-10 11:00:14.000000000 +0000
@@ -59,6 +59,9 @@
dnl sys/fpu.h - MIPS specific
AC_CHECK_HEADERS([sys/time.h sys/fpu.h])
+dnl Check how to get `alloca'
+AC_FUNC_ALLOCA
+
dnl SIZE_MAX macro
gl_SIZE_MAX
diff -Naurd mpfr-3.0.0-a/configure mpfr-3.0.0-b/configure
--- mpfr-3.0.0-a/configure 2010-06-10 11:00:51.000000000 +0000
+++ mpfr-3.0.0-b/configure 2010-06-25 13:23:05.000000000 +0000
@@ -783,6 +783,7 @@
OBJDUMP
DLLTOOL
AS
+ALLOCA
MPFR_LIBM
ANSI2KNR
U
@@ -5622,6 +5623,197 @@
done
+# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
+# for constant arguments. Useless!
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
+$as_echo_n "checking for working alloca.h... " >&6; }
+if test "${ac_cv_working_alloca_h+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <alloca.h>
+int
+main ()
+{
+char *p = (char *) alloca (2 * sizeof (int));
+ if (p) return 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_working_alloca_h=yes
+else
+ ac_cv_working_alloca_h=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
+$as_echo "$ac_cv_working_alloca_h" >&6; }
+if test $ac_cv_working_alloca_h = yes; then
+
+$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
+$as_echo_n "checking for alloca... " >&6; }
+if test "${ac_cv_func_alloca_works+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __GNUC__
+# define alloca __builtin_alloca
+#else
+# ifdef _MSC_VER
+# include <malloc.h>
+# define alloca _alloca
+# else
+# ifdef HAVE_ALLOCA_H
+# include <alloca.h>
+# else
+# ifdef _AIX
+ #pragma alloca
+# else
+# ifndef alloca /* predefined by HP cc +Olibcalls */
+char *alloca ();
+# endif
+# endif
+# endif
+# endif
+#endif
+
+int
+main ()
+{
+char *p = (char *) alloca (1);
+ if (p) return 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_func_alloca_works=yes
+else
+ ac_cv_func_alloca_works=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
+$as_echo "$ac_cv_func_alloca_works" >&6; }
+
+if test $ac_cv_func_alloca_works = yes; then
+
+$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
+
+else
+ # The SVR3 libPW and SVR4 libucb both contain incompatible functions
+# that cause trouble. Some versions do not even contain alloca or
+# contain a buggy version. If you still want to use their alloca,
+# use ar to extract alloca.o from them instead of compiling alloca.c.
+
+ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
+
+$as_echo "#define C_ALLOCA 1" >>confdefs.h
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
+$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
+if test "${ac_cv_os_cray+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#if defined CRAY && ! defined CRAY2
+webecray
+#else
+wenotbecray
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "webecray" >/dev/null 2>&1; then :
+ ac_cv_os_cray=yes
+else
+ ac_cv_os_cray=no
+fi
+rm -f conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
+$as_echo "$ac_cv_os_cray" >&6; }
+if test $ac_cv_os_cray = yes; then
+ for ac_func in _getb67 GETB67 getb67; do
+ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+eval as_val=\$$as_ac_var
+ if test "x$as_val" = x""yes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define CRAY_STACKSEG_END $ac_func
+_ACEOF
+
+ break
+fi
+
+ done
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
+$as_echo_n "checking stack direction for C alloca... " >&6; }
+if test "${ac_cv_c_stack_direction+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ ac_cv_c_stack_direction=0
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$ac_includes_default
+int
+find_stack_direction ()
+{
+ static char *addr = 0;
+ auto char dummy;
+ if (addr == 0)
+ {
+ addr = &dummy;
+ return find_stack_direction ();
+ }
+ else
+ return (&dummy > addr) ? 1 : -1;
+}
+
+int
+main ()
+{
+ return find_stack_direction () < 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ ac_cv_c_stack_direction=1
+else
+ ac_cv_c_stack_direction=-1
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
+$as_echo "$ac_cv_c_stack_direction" >&6; }
+cat >>confdefs.h <<_ACEOF
+#define STACK_DIRECTION $ac_cv_c_stack_direction
+_ACEOF
+
+
+fi
+
+
for ac_header in stdint.h
do :
@@ -7564,13 +7756,13 @@
else
lt_cv_nm_interface="BSD nm"
echo "int some_variable = 0;" > conftest.$ac_ext
- (eval echo "\"\$as_me:7567: $ac_compile\"" >&5)
+ (eval echo "\"\$as_me:7759: $ac_compile\"" >&5)
(eval "$ac_compile" 2>conftest.err)
cat conftest.err >&5
- (eval echo "\"\$as_me:7570: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+ (eval echo "\"\$as_me:7762: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
(eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
cat conftest.err >&5
- (eval echo "\"\$as_me:7573: output\"" >&5)
+ (eval echo "\"\$as_me:7765: output\"" >&5)
cat conftest.out >&5
if $GREP 'External.*some_variable' conftest.out > /dev/null; then
lt_cv_nm_interface="MS dumpbin"
@@ -8772,7 +8964,7 @@
;;
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 8775 "configure"' > conftest.$ac_ext
+ echo '#line 8967 "configure"' > conftest.$ac_ext
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -10032,11 +10224,11 @@
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:10035: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:10227: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:10039: \$? = $ac_status" >&5
+ echo "$as_me:10231: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -10371,11 +10563,11 @@
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:10374: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:10566: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:10378: \$? = $ac_status" >&5
+ echo "$as_me:10570: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -10476,11 +10668,11 @@
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:10479: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:10671: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:10483: \$? = $ac_status" >&5
+ echo "$as_me:10675: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -10531,11 +10723,11 @@
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:10534: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:10726: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:10538: \$? = $ac_status" >&5
+ echo "$as_me:10730: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -12915,7 +13107,7 @@
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12918 "configure"
+#line 13110 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -13011,7 +13203,7 @@
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 13014 "configure"
+#line 13206 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
diff -Naurd mpfr-3.0.0-a/mpfr.h mpfr-3.0.0-b/mpfr.h
--- mpfr-3.0.0-a/mpfr.h 2010-06-23 11:03:20.000000000 +0000
+++ mpfr-3.0.0-b/mpfr.h 2010-06-25 13:23:13.000000000 +0000
@@ -27,7 +27,7 @@
#define MPFR_VERSION_MAJOR 3
#define MPFR_VERSION_MINOR 0
#define MPFR_VERSION_PATCHLEVEL 0
-#define MPFR_VERSION_STRING "3.0.0-p1"
+#define MPFR_VERSION_STRING "3.0.0-p2"
/* Macros dealing with MPFR VERSION */
#define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
diff -Naurd mpfr-3.0.0-a/tests/Makefile.in mpfr-3.0.0-b/tests/Makefile.in
--- mpfr-3.0.0-a/tests/Makefile.in 2010-06-10 11:00:52.000000000 +0000
+++ mpfr-3.0.0-b/tests/Makefile.in 2010-06-10 11:00:52.000000000 +0000
@@ -960,6 +960,7 @@
red=; grn=; lgn=; blu=; std=
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
diff -Naurd mpfr-3.0.0-a/version.c mpfr-3.0.0-b/version.c
--- mpfr-3.0.0-a/version.c 2010-06-23 11:03:20.000000000 +0000
+++ mpfr-3.0.0-b/version.c 2010-06-25 13:23:13.000000000 +0000
@@ -25,5 +25,5 @@
const char *
mpfr_get_version (void)
{
- return "3.0.0-p1";
+ return "3.0.0-p2";
}

View File

@ -0,0 +1,88 @@
diff -Naurd mpfr-3.0.0-a/PATCHES mpfr-3.0.0-b/PATCHES
--- mpfr-3.0.0-a/PATCHES 2010-07-10 00:11:19.000000000 +0000
+++ mpfr-3.0.0-b/PATCHES 2010-07-10 00:12:50.000000000 +0000
@@ -0,0 +1 @@
+gamma_underflow
diff -Naurd mpfr-3.0.0-a/VERSION mpfr-3.0.0-b/VERSION
--- mpfr-3.0.0-a/VERSION 2010-06-25 13:23:13.000000000 +0000
+++ mpfr-3.0.0-b/VERSION 2010-07-10 00:11:53.000000000 +0000
@@ -1 +1 @@
-3.0.0-p2
+3.0.0-p3
diff -Naurd mpfr-3.0.0-a/gamma.c mpfr-3.0.0-b/gamma.c
--- mpfr-3.0.0-a/gamma.c 2010-06-10 11:00:14.000000000 +0000
+++ mpfr-3.0.0-b/gamma.c 2010-07-10 00:11:46.000000000 +0000
@@ -274,7 +274,7 @@
/* we want an upper bound for x * [log(2-x)-1].
since x < 0, we need a lower bound on log(2-x) */
mpfr_ui_sub (xp, 2, x, MPFR_RNDD);
- mpfr_log (xp, xp, MPFR_RNDD);
+ mpfr_log2 (xp, xp, MPFR_RNDD);
mpfr_sub_ui (xp, xp, 1, MPFR_RNDD);
mpfr_mul (xp, xp, x, MPFR_RNDU);
@@ -303,8 +303,8 @@
{
mpfr_sub (tmp, tmp, tmp2, MPFR_RNDZ); /* low bnd on |sin(Pi*(2-x))| */
mpfr_ui_div (tmp, 12, tmp, MPFR_RNDU); /* upper bound */
- mpfr_log (tmp, tmp, MPFR_RNDU);
- mpfr_add (tmp, tmp, xp, MPFR_RNDU);
+ mpfr_log2 (tmp, tmp, MPFR_RNDU);
+ mpfr_add (xp, tmp, xp, MPFR_RNDU);
underflow = mpfr_cmp_si (xp, expo.saved_emin - 2) <= 0;
}
diff -Naurd mpfr-3.0.0-a/mpfr.h mpfr-3.0.0-b/mpfr.h
--- mpfr-3.0.0-a/mpfr.h 2010-06-25 13:23:13.000000000 +0000
+++ mpfr-3.0.0-b/mpfr.h 2010-07-10 00:11:53.000000000 +0000
@@ -27,7 +27,7 @@
#define MPFR_VERSION_MAJOR 3
#define MPFR_VERSION_MINOR 0
#define MPFR_VERSION_PATCHLEVEL 0
-#define MPFR_VERSION_STRING "3.0.0-p2"
+#define MPFR_VERSION_STRING "3.0.0-p3"
/* Macros dealing with MPFR VERSION */
#define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
diff -Naurd mpfr-3.0.0-a/tests/tgamma.c mpfr-3.0.0-b/tests/tgamma.c
--- mpfr-3.0.0-a/tests/tgamma.c 2010-06-10 11:00:13.000000000 +0000
+++ mpfr-3.0.0-b/tests/tgamma.c 2010-07-10 00:11:46.000000000 +0000
@@ -461,6 +461,20 @@
mpfr_clear (x);
}
+/* bug found by Stathis, only occurs on 32-bit machines */
+static void
+test20100709 (void)
+{
+ mpfr_t x;
+ int inex;
+
+ mpfr_init2 (x, 100);
+ mpfr_set_str (x, "-4.6308260837372266e+07", 10, MPFR_RNDN);
+ inex = mpfr_gamma (x, x, MPFR_RNDN);
+ MPFR_ASSERTN(MPFR_IS_ZERO(x) && MPFR_IS_NEG(x) && inex > 0);
+ mpfr_clear (x);
+}
+
int
main (int argc, char *argv[])
{
@@ -471,6 +485,7 @@
test_generic (2, 100, 2);
gamma_integer ();
test20071231 ();
+ test20100709 ();
data_check ("data/gamma", mpfr_gamma, "mpfr_gamma");
diff -Naurd mpfr-3.0.0-a/version.c mpfr-3.0.0-b/version.c
--- mpfr-3.0.0-a/version.c 2010-06-25 13:23:13.000000000 +0000
+++ mpfr-3.0.0-b/version.c 2010-07-10 00:11:53.000000000 +0000
@@ -25,5 +25,5 @@
const char *
mpfr_get_version (void)
{
- return "3.0.0-p2";
+ return "3.0.0-p3";
}

View File

@ -0,0 +1,50 @@
diff -Naurd mpfr-3.1.0-a/PATCHES mpfr-3.1.0-b/PATCHES
--- mpfr-3.1.0-a/PATCHES 2011-10-05 21:39:57.000000000 +0000
+++ mpfr-3.1.0-b/PATCHES 2011-10-05 21:39:57.000000000 +0000
@@ -0,0 +1 @@
+mpfr_unlikely
diff -Naurd mpfr-3.1.0-a/VERSION mpfr-3.1.0-b/VERSION
--- mpfr-3.1.0-a/VERSION 2011-10-03 08:17:15.000000000 +0000
+++ mpfr-3.1.0-b/VERSION 2011-10-05 21:39:57.000000000 +0000
@@ -1 +1 @@
-3.1.0
+3.1.0-p1
diff -Naurd mpfr-3.1.0-a/src/mpfr-impl.h mpfr-3.1.0-b/src/mpfr-impl.h
--- mpfr-3.1.0-a/src/mpfr-impl.h 2011-10-03 08:17:09.000000000 +0000
+++ mpfr-3.1.0-b/src/mpfr-impl.h 2011-10-05 21:39:57.000000000 +0000
@@ -988,10 +988,11 @@
******************************************************/
/* Theses macros help the compiler to determine if a test is
- * likely or unlikely. */
+ likely or unlikely. The !! is necessary in case x is larger
+ than a long. */
#if __MPFR_GNUC(3,0) || __MPFR_ICC(8,1,0)
# define MPFR_LIKELY(x) (__builtin_expect(!!(x),1))
-# define MPFR_UNLIKELY(x) (__builtin_expect((x),0))
+# define MPFR_UNLIKELY(x) (__builtin_expect(!!(x),0))
#else
# define MPFR_LIKELY(x) (x)
# define MPFR_UNLIKELY(x) (x)
diff -Naurd mpfr-3.1.0-a/src/mpfr.h mpfr-3.1.0-b/src/mpfr.h
--- mpfr-3.1.0-a/src/mpfr.h 2011-10-03 08:17:09.000000000 +0000
+++ mpfr-3.1.0-b/src/mpfr.h 2011-10-05 21:39:57.000000000 +0000
@@ -27,7 +27,7 @@
#define MPFR_VERSION_MAJOR 3
#define MPFR_VERSION_MINOR 1
#define MPFR_VERSION_PATCHLEVEL 0
-#define MPFR_VERSION_STRING "3.1.0"
+#define MPFR_VERSION_STRING "3.1.0-p1"
/* Macros dealing with MPFR VERSION */
#define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
diff -Naurd mpfr-3.1.0-a/src/version.c mpfr-3.1.0-b/src/version.c
--- mpfr-3.1.0-a/src/version.c 2011-10-03 08:17:09.000000000 +0000
+++ mpfr-3.1.0-b/src/version.c 2011-10-05 21:39:57.000000000 +0000
@@ -25,5 +25,5 @@
const char *
mpfr_get_version (void)
{
- return "3.1.0";
+ return "3.1.0-p1";
}

View File

@ -0,0 +1,96 @@
diff -Naurd mpfr-3.1.0-a/PATCHES mpfr-3.1.0-b/PATCHES
--- mpfr-3.1.0-a/PATCHES 2011-10-14 10:43:32.000000000 +0000
+++ mpfr-3.1.0-b/PATCHES 2011-10-14 10:43:32.000000000 +0000
@@ -0,0 +1 @@
+lib-search-path
diff -Naurd mpfr-3.1.0-a/VERSION mpfr-3.1.0-b/VERSION
--- mpfr-3.1.0-a/VERSION 2011-10-05 21:39:57.000000000 +0000
+++ mpfr-3.1.0-b/VERSION 2011-10-14 10:43:32.000000000 +0000
@@ -1 +1 @@
-3.1.0-p1
+3.1.0-p2
diff -Naurd mpfr-3.1.0-a/src/mpfr.h mpfr-3.1.0-b/src/mpfr.h
--- mpfr-3.1.0-a/src/mpfr.h 2011-10-05 21:39:57.000000000 +0000
+++ mpfr-3.1.0-b/src/mpfr.h 2011-10-14 10:43:32.000000000 +0000
@@ -27,7 +27,7 @@
#define MPFR_VERSION_MAJOR 3
#define MPFR_VERSION_MINOR 1
#define MPFR_VERSION_PATCHLEVEL 0
-#define MPFR_VERSION_STRING "3.1.0-p1"
+#define MPFR_VERSION_STRING "3.1.0-p2"
/* Macros dealing with MPFR VERSION */
#define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
diff -Naurd mpfr-3.1.0-a/src/version.c mpfr-3.1.0-b/src/version.c
--- mpfr-3.1.0-a/src/version.c 2011-10-05 21:39:57.000000000 +0000
+++ mpfr-3.1.0-b/src/version.c 2011-10-14 10:43:32.000000000 +0000
@@ -25,5 +25,5 @@
const char *
mpfr_get_version (void)
{
- return "3.1.0-p1";
+ return "3.1.0-p2";
}
diff -Naurd mpfr-3.1.0-a/tests/Makefile.am mpfr-3.1.0-b/tests/Makefile.am
--- mpfr-3.1.0-a/tests/Makefile.am 2011-10-03 08:17:14.000000000 +0000
+++ mpfr-3.1.0-b/tests/Makefile.am 2011-10-03 08:17:14.000000000 +0000
@@ -65,8 +65,24 @@
TESTS = $(check_PROGRAMS)
TESTS_ENVIRONMENT = MPFR_QUIET=1 $(VALGRIND)
-# Option to prevent libtool from generating wrapper scripts for the tests.
+# The -no-install option prevents libtool from generating wrapper scripts
+# for the tests.
# This is useful to easily run the test scripts under valgrind or gdb.
# See discussion http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28033
# http://article.gmane.org/gmane.comp.lib.gnulib.bugs/28140 in particular.
-AM_LDFLAGS = -no-install
+#
+# The -L$(top_builddir)/src/.libs option is necessary for some platforms,
+# such as HP-UX, when --with-gmp or --with-gmp-lib is used and an old MPFR
+# library is already installed in the corresponding lib directory: its
+# purpose is to make sure that the local .libs comes first in the library
+# search path (otherwise the tests are linked against the old MPFR library
+# by the LINK command -- see the generated Makefile). See:
+# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00042.html
+# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00043.html
+# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00044.html
+# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00066.html
+# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00065.html
+# and
+# http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9728
+#
+AM_LDFLAGS = -no-install -L$(top_builddir)/src/.libs
diff -Naurd mpfr-3.1.0-a/tests/Makefile.in mpfr-3.1.0-b/tests/Makefile.in
--- mpfr-3.1.0-a/tests/Makefile.in 2011-10-03 08:17:35.000000000 +0000
+++ mpfr-3.1.0-b/tests/Makefile.in 2011-10-03 08:17:35.000000000 +0000
@@ -1124,11 +1124,27 @@
TESTS = $(check_PROGRAMS)
TESTS_ENVIRONMENT = MPFR_QUIET=1 $(VALGRIND)
-# Option to prevent libtool from generating wrapper scripts for the tests.
+# The -no-install option prevents libtool from generating wrapper scripts
+# for the tests.
# This is useful to easily run the test scripts under valgrind or gdb.
# See discussion http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28033
# http://article.gmane.org/gmane.comp.lib.gnulib.bugs/28140 in particular.
-AM_LDFLAGS = -no-install
+#
+# The -L$(top_builddir)/src/.libs option is necessary for some platforms,
+# such as HP-UX, when --with-gmp or --with-gmp-lib is used and an old MPFR
+# library is already installed in the corresponding lib directory: its
+# purpose is to make sure that the local .libs comes first in the library
+# search path (otherwise the tests are linked against the old MPFR library
+# by the LINK command -- see the generated Makefile). See:
+# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00042.html
+# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00043.html
+# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00044.html
+# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00066.html
+# http://websympa.loria.fr/wwsympa/arc/mpfr/2011-10/msg00065.html
+# and
+# http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9728
+#
+AM_LDFLAGS = -no-install -L$(top_builddir)/src/.libs
all: all-am
.SUFFIXES:

View File

@ -0,0 +1,247 @@
diff -Naurd mpfr-3.1.0-a/PATCHES mpfr-3.1.0-b/PATCHES
--- mpfr-3.1.0-a/PATCHES 2011-11-03 15:15:11.000000000 +0000
+++ mpfr-3.1.0-b/PATCHES 2011-11-03 15:15:11.000000000 +0000
@@ -0,0 +1 @@
+vasprintf
diff -Naurd mpfr-3.1.0-a/VERSION mpfr-3.1.0-b/VERSION
--- mpfr-3.1.0-a/VERSION 2011-10-14 10:43:32.000000000 +0000
+++ mpfr-3.1.0-b/VERSION 2011-11-03 15:15:11.000000000 +0000
@@ -1 +1 @@
-3.1.0-p2
+3.1.0-p3
diff -Naurd mpfr-3.1.0-a/src/mpfr.h mpfr-3.1.0-b/src/mpfr.h
--- mpfr-3.1.0-a/src/mpfr.h 2011-10-14 10:43:32.000000000 +0000
+++ mpfr-3.1.0-b/src/mpfr.h 2011-11-03 15:15:11.000000000 +0000
@@ -27,7 +27,7 @@
#define MPFR_VERSION_MAJOR 3
#define MPFR_VERSION_MINOR 1
#define MPFR_VERSION_PATCHLEVEL 0
-#define MPFR_VERSION_STRING "3.1.0-p2"
+#define MPFR_VERSION_STRING "3.1.0-p3"
/* Macros dealing with MPFR VERSION */
#define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
diff -Naurd mpfr-3.1.0-a/src/vasprintf.c mpfr-3.1.0-b/src/vasprintf.c
--- mpfr-3.1.0-a/src/vasprintf.c 2011-10-03 08:17:09.000000000 +0000
+++ mpfr-3.1.0-b/src/vasprintf.c 2011-11-03 15:15:11.000000000 +0000
@@ -1178,7 +1178,7 @@
mpfr_exp_t exp;
char * str;
const int spec_g = (spec.spec == 'g' || spec.spec == 'G');
- const int keep_trailing_zeros = spec_g && spec.alt;
+ const int keep_trailing_zeros = !spec_g || spec.alt;
/* WARNING: an empty precision field is forbidden (it means precision = 6
and it should have been changed to 6 before the function call) */
@@ -1356,7 +1356,7 @@
else
/* 1 <= |p| */
{
- size_t nsd; /* Number of significant digits */
+ size_t str_len;
/* Determine the position of the most significant decimal digit. */
exp = floor_log10 (p);
@@ -1365,12 +1365,10 @@
/* P is too large to print all its integral part digits */
return -1;
- np->ip_size = exp + 1;
-
- nsd = spec.prec + np->ip_size;
if (dec_info == NULL)
- {
- str = mpfr_get_str (NULL, &exp, 10, nsd, p, spec.rnd_mode);
+ { /* this case occurs with mpfr_printf ("%.0RUf", x) with x=9.5 */
+ str =
+ mpfr_get_str (NULL, &exp, 10, spec.prec+exp+1, p, spec.rnd_mode);
register_string (np->sl, str);
}
else
@@ -1379,81 +1377,60 @@
str = dec_info->str;
}
np->ip_ptr = MPFR_IS_NEG (p) ? ++str : str; /* skip sign */
+ str_len = strlen (str);
+
+ /* integral part */
+ if (exp > str_len)
+ /* mpfr_get_str gives no trailing zero when p is rounded up to the next
+ power of 10 (p integer, so no fractional part) */
+ {
+ np->ip_trailing_zeros = exp - str_len;
+ np->ip_size = str_len;
+ }
+ else
+ np->ip_size = exp;
if (spec.group)
/* thousands separator in integral part */
np->thousands_sep = MPFR_THOUSANDS_SEPARATOR;
- if (nsd == 0 || (spec_g && !spec.alt))
- /* compute how much non-zero digits in integral and fractional
- parts */
+ /* fractional part */
+ str += np->ip_size;
+ str_len -= np->ip_size;
+ if (!keep_trailing_zeros)
+ /* remove trailing zeros, if any */
{
- size_t str_len;
- str_len = strlen (str); /* note: the sign has been skipped */
-
- if (exp > str_len)
- /* mpfr_get_str doesn't give the trailing zeros when p is a
- multiple of 10 (p integer, so no fractional part) */
- {
- np->ip_trailing_zeros = exp - str_len;
- np->ip_size = str_len;
- if (spec.alt)
- np->point = MPFR_DECIMAL_POINT;
- }
- else
- /* str may contain some digits which are in fractional part */
+ char *ptr = str + str_len - 1; /* pointer to the last digit of
+ str */
+ while ((*ptr == '0') && (str_len != 0))
{
- char *ptr;
-
- ptr = str + str_len - 1; /* points to the end of str */
- str_len -= np->ip_size; /* number of digits in fractional
- part */
-
- if (!keep_trailing_zeros)
- /* remove trailing zeros, if any */
- {
- while ((*ptr == '0') && (str_len != 0))
- {
- --ptr;
- --str_len;
- }
- }
-
- if (str_len > INT_MAX)
- /* too many digits in fractional part */
- return -1;
-
- if (str_len != 0)
- /* some digits in fractional part */
- {
- np->point = MPFR_DECIMAL_POINT;
- np->fp_ptr = str + np->ip_size;
- np->fp_size = str_len;
- }
+ --ptr;
+ --str_len;
}
}
- else
- /* spec.prec digits in fractional part */
+
+ if (str_len > 0)
+ /* some nonzero digits in fractional part */
{
- if (np->ip_size == exp - 1)
- /* the absolute value of the number has been rounded up to a power
- of ten.
- Insert an additional zero in integral part and put the rest of
- them in fractional part. */
- np->ip_trailing_zeros = 1;
+ if (str_len > INT_MAX)
+ /* too many digits in fractional part */
+ return -1;
- if (spec.prec != 0)
- {
- MPFR_ASSERTD (np->ip_size + np->ip_trailing_zeros == exp);
- MPFR_ASSERTD (np->ip_size + spec.prec == nsd);
+ np->point = MPFR_DECIMAL_POINT;
+ np->fp_ptr = str;
+ np->fp_size = str_len;
+ }
- np->point = MPFR_DECIMAL_POINT;
- np->fp_ptr = str + np->ip_size;
- np->fp_size = spec.prec;
- }
- else if (spec.alt)
- np->point = MPFR_DECIMAL_POINT;
+ if (keep_trailing_zeros && str_len < spec.prec)
+ /* add missing trailing zeros */
+ {
+ np->point = MPFR_DECIMAL_POINT;
+ np->fp_trailing_zeros = spec.prec - np->fp_size;
}
+
+ if (spec.alt)
+ /* add decimal point even if no digits follow it */
+ np->point = MPFR_DECIMAL_POINT;
}
return 0;
diff -Naurd mpfr-3.1.0-a/src/version.c mpfr-3.1.0-b/src/version.c
--- mpfr-3.1.0-a/src/version.c 2011-10-14 10:43:32.000000000 +0000
+++ mpfr-3.1.0-b/src/version.c 2011-11-03 15:15:11.000000000 +0000
@@ -25,5 +25,5 @@
const char *
mpfr_get_version (void)
{
- return "3.1.0-p2";
+ return "3.1.0-p3";
}
diff -Naurd mpfr-3.1.0-a/tests/tsprintf.c mpfr-3.1.0-b/tests/tsprintf.c
--- mpfr-3.1.0-a/tests/tsprintf.c 2011-10-03 08:17:14.000000000 +0000
+++ mpfr-3.1.0-b/tests/tsprintf.c 2011-11-03 15:15:11.000000000 +0000
@@ -475,6 +475,18 @@
check_sprintf ("-1.", "%- #0.1RG", x);
/* precision zero */
+ mpfr_set_d (x, 9.5, MPFR_RNDN);
+ check_sprintf ("9", "%.0RDf", x);
+ check_sprintf ("10", "%.0RUf", x);
+
+ mpfr_set_d (x, 19.5, MPFR_RNDN);
+ check_sprintf ("19", "%.0RDf", x);
+ check_sprintf ("20", "%.0RUf", x);
+
+ mpfr_set_d (x, 99.5, MPFR_RNDN);
+ check_sprintf ("99", "%.0RDf", x);
+ check_sprintf ("100", "%.0RUf", x);
+
mpfr_set_d (x, -9.5, MPFR_RNDN);
check_sprintf ("-10", "%.0RDf", x);
check_sprintf ("-10", "%.0RYf", x);
@@ -1078,6 +1090,23 @@
mpfr_clear (x);
}
+static void
+bug20111102 (void)
+{
+ mpfr_t t;
+ char s[100];
+
+ mpfr_init2 (t, 84);
+ mpfr_set_str (t, "999.99999999999999999999", 10, MPFR_RNDN);
+ mpfr_sprintf (s, "%.20RNg", t);
+ if (strcmp (s, "1000") != 0)
+ {
+ printf ("Error in bug20111102, expected 1000, got %s\n", s);
+ exit (1);
+ }
+ mpfr_clear (t);
+}
+
/* In particular, the following test makes sure that the rounding
* for %Ra and %Rb is not done on the MPFR number itself (as it
* would overflow). Note: it has been reported on comp.std.c that
@@ -1161,6 +1190,7 @@
locale = setlocale (LC_ALL, "C");
#endif
+ bug20111102 ();
native_types ();
hexadecimal ();
binary ();

View File

@ -0,0 +1,166 @@
diff -Naurd mpfr-3.1.0-a/PATCHES mpfr-3.1.0-b/PATCHES
--- mpfr-3.1.0-a/PATCHES 2011-11-28 12:22:52.000000000 +0000
+++ mpfr-3.1.0-b/PATCHES 2011-11-28 12:22:52.000000000 +0000
@@ -0,0 +1 @@
+gmp41compat
diff -Naurd mpfr-3.1.0-a/VERSION mpfr-3.1.0-b/VERSION
--- mpfr-3.1.0-a/VERSION 2011-11-03 15:15:11.000000000 +0000
+++ mpfr-3.1.0-b/VERSION 2011-11-28 12:22:52.000000000 +0000
@@ -1 +1 @@
-3.1.0-p3
+3.1.0-p4
diff -Naurd mpfr-3.1.0-a/doc/mpfr.info mpfr-3.1.0-b/doc/mpfr.info
--- mpfr-3.1.0-a/doc/mpfr.info 2011-10-03 09:43:04.000000000 +0000
+++ mpfr-3.1.0-b/doc/mpfr.info 2011-11-28 12:22:52.000000000 +0000
@@ -2994,11 +2994,12 @@
* `mpfr_urandom' and `mpfr_urandomb' changed in MPFR 3.1. Their
behavior no longer depends on the platform (assuming this is also
- true for GMP's random generator). As a consequence, the returned
- values can be different between MPFR 3.1 and previous MPFR
- versions. Note: as the reproducibility of these functions was not
- specified before MPFR 3.1, the MPFR 3.1 behavior is _not_ regarded
- as backward incompatible with previous versions.
+ true for GMP's random generator, which is not the case between GMP
+ 4.1 and 4.2 if `gmp_randinit_default' is used). As a consequence,
+ the returned values can be different between MPFR 3.1 and previous
+ MPFR versions. Note: as the reproducibility of these functions
+ was not specified before MPFR 3.1, the MPFR 3.1 behavior is _not_
+ regarded as backward incompatible with previous versions.

@@ -4239,13 +4240,13 @@
Node: Type and Macro Changes129308
Node: Added Functions132029
Node: Changed Functions134972
-Node: Removed Functions139167
-Node: Other Changes139579
-Node: Contributors141108
-Node: References143574
-Node: GNU Free Documentation License145315
-Node: Concept Index167758
-Node: Function and Type Index173677
+Node: Removed Functions139253
+Node: Other Changes139665
+Node: Contributors141194
+Node: References143660
+Node: GNU Free Documentation License145401
+Node: Concept Index167844
+Node: Function and Type Index173763

End Tag Table
diff -Naurd mpfr-3.1.0-a/doc/mpfr.texi mpfr-3.1.0-b/doc/mpfr.texi
--- mpfr-3.1.0-a/doc/mpfr.texi 2011-10-03 08:17:14.000000000 +0000
+++ mpfr-3.1.0-b/doc/mpfr.texi 2011-11-28 12:22:52.000000000 +0000
@@ -3466,8 +3466,9 @@
a lack of specification.
@item @code{mpfr_urandom} and @code{mpfr_urandomb} changed in MPFR 3.1.
-Their behavior no longer depends on the platform (assuming this is also
-true for GMP's random generator). As a consequence, the returned values
+Their behavior no longer depends on the platform (assuming this is also true
+for GMP's random generator, which is not the case between GMP 4.1 and 4.2 if
+@code{gmp_randinit_default} is used). As a consequence, the returned values
can be different between MPFR 3.1 and previous MPFR versions.
Note: as the reproducibility of these functions was not specified
before MPFR 3.1, the MPFR 3.1 behavior is @emph{not} regarded as
diff -Naurd mpfr-3.1.0-a/src/mpfr.h mpfr-3.1.0-b/src/mpfr.h
--- mpfr-3.1.0-a/src/mpfr.h 2011-11-03 15:15:11.000000000 +0000
+++ mpfr-3.1.0-b/src/mpfr.h 2011-11-28 12:22:52.000000000 +0000
@@ -27,7 +27,7 @@
#define MPFR_VERSION_MAJOR 3
#define MPFR_VERSION_MINOR 1
#define MPFR_VERSION_PATCHLEVEL 0
-#define MPFR_VERSION_STRING "3.1.0-p3"
+#define MPFR_VERSION_STRING "3.1.0-p4"
/* Macros dealing with MPFR VERSION */
#define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
diff -Naurd mpfr-3.1.0-a/src/version.c mpfr-3.1.0-b/src/version.c
--- mpfr-3.1.0-a/src/version.c 2011-11-03 15:15:11.000000000 +0000
+++ mpfr-3.1.0-b/src/version.c 2011-11-28 12:22:52.000000000 +0000
@@ -25,5 +25,5 @@
const char *
mpfr_get_version (void)
{
- return "3.1.0-p3";
+ return "3.1.0-p4";
}
diff -Naurd mpfr-3.1.0-a/tests/trandom.c mpfr-3.1.0-b/tests/trandom.c
--- mpfr-3.1.0-a/tests/trandom.c 2011-10-03 08:17:14.000000000 +0000
+++ mpfr-3.1.0-b/tests/trandom.c 2011-11-28 12:22:52.000000000 +0000
@@ -114,21 +114,29 @@
mpfr_t x;
gmp_randstate_t s;
+#if __MPFR_GMP(4,2,0)
+# define C1 "0.895943"
+# define C2 "0.848824"
+#else
+# define C1 "0.479652"
+# define C2 "0.648529"
+#endif
+
gmp_randinit_default (s);
gmp_randseed_ui (s, 42);
mpfr_init2 (x, 17);
mpfr_urandomb (x, s);
- if (mpfr_cmp_str1 (x, "0.895943") != 0)
+ if (mpfr_cmp_str1 (x, C1) != 0)
{
- printf ("Error in bug20100914, expected 0.895943, got ");
+ printf ("Error in bug20100914, expected " C1 ", got ");
mpfr_out_str (stdout, 10, 0, x, MPFR_RNDN);
printf ("\n");
exit (1);
}
mpfr_urandomb (x, s);
- if (mpfr_cmp_str1 (x, "0.848824") != 0)
+ if (mpfr_cmp_str1 (x, C2) != 0)
{
- printf ("Error in bug20100914, expected 0.848824, got ");
+ printf ("Error in bug20100914, expected " C2 ", got ");
mpfr_out_str (stdout, 10, 0, x, MPFR_RNDN);
printf ("\n");
exit (1);
diff -Naurd mpfr-3.1.0-a/tests/turandom.c mpfr-3.1.0-b/tests/turandom.c
--- mpfr-3.1.0-a/tests/turandom.c 2011-10-03 08:17:14.000000000 +0000
+++ mpfr-3.1.0-b/tests/turandom.c 2011-11-28 12:22:52.000000000 +0000
@@ -160,23 +160,29 @@
mpfr_t x;
gmp_randstate_t s;
+#if __MPFR_GMP(4,2,0)
+# define C1 "0.8488312"
+# define C2 "0.8156509"
+#else
+# define C1 "0.6485367"
+# define C2 "0.9362717"
+#endif
+
gmp_randinit_default (s);
gmp_randseed_ui (s, 42);
mpfr_init2 (x, 17);
mpfr_urandom (x, s, MPFR_RNDN);
- /* the following values are obtained on a 32-bit computer, we should get
- the same values on a 64-bit computer */
- if (mpfr_cmp_str1 (x, "0.8488312") != 0)
+ if (mpfr_cmp_str1 (x, C1) != 0)
{
- printf ("Error in bug20100914, expected 0.8488312, got ");
+ printf ("Error in bug20100914, expected " C1 ", got ");
mpfr_out_str (stdout, 10, 0, x, MPFR_RNDN);
printf ("\n");
exit (1);
}
mpfr_urandom (x, s, MPFR_RNDN);
- if (mpfr_cmp_str1 (x, "0.8156509") != 0)
+ if (mpfr_cmp_str1 (x, C2) != 0)
{
- printf ("Error in bug20100914, expected 0.8156509, got ");
+ printf ("Error in bug20100914, expected " C2 ", got ");
mpfr_out_str (stdout, 10, 0, x, MPFR_RNDN);
printf ("\n");
exit (1);

View File

@ -0,0 +1,69 @@
diff -Naurd mpfr-3.1.0-a/PATCHES mpfr-3.1.0-b/PATCHES
--- mpfr-3.1.0-a/PATCHES 2012-02-24 12:44:49.000000000 +0000
+++ mpfr-3.1.0-b/PATCHES 2012-02-24 12:44:49.000000000 +0000
@@ -0,0 +1 @@
+logging-freeze
diff -Naurd mpfr-3.1.0-a/VERSION mpfr-3.1.0-b/VERSION
--- mpfr-3.1.0-a/VERSION 2011-11-28 12:22:52.000000000 +0000
+++ mpfr-3.1.0-b/VERSION 2012-02-24 12:44:49.000000000 +0000
@@ -1 +1 @@
-3.1.0-p4
+3.1.0-p5
diff -Naurd mpfr-3.1.0-a/src/add_d.c mpfr-3.1.0-b/src/add_d.c
--- mpfr-3.1.0-a/src/add_d.c 2011-10-03 08:17:09.000000000 +0000
+++ mpfr-3.1.0-b/src/add_d.c 2012-02-24 12:44:49.000000000 +0000
@@ -34,7 +34,7 @@
(("b[%Pu]=%.*Rg c=%.20g rnd=%d",
mpfr_get_prec(b), mpfr_log_prec, b, c, rnd_mode),
("a[%Pu]=%.*Rg inexact=%d",
- mpfr_get_prec (a), mpfr_get_prec, a, inexact));
+ mpfr_get_prec (a), mpfr_log_prec, a, inexact));
MPFR_SAVE_EXPO_MARK (expo);
diff -Naurd mpfr-3.1.0-a/src/add_ui.c mpfr-3.1.0-b/src/add_ui.c
--- mpfr-3.1.0-a/src/add_ui.c 2011-10-03 08:17:09.000000000 +0000
+++ mpfr-3.1.0-b/src/add_ui.c 2012-02-24 12:44:49.000000000 +0000
@@ -29,7 +29,7 @@
MPFR_LOG_FUNC
(("x[%Pu]=%.*Rg u=%d rnd=%d",
mpfr_get_prec(x), mpfr_log_prec, x, u, rnd_mode),
- ("y[%Pu]=%.*Rg", mpfr_get_prec (y), mpfr_get_prec, y));
+ ("y[%Pu]=%.*Rg", mpfr_get_prec (y), mpfr_log_prec, y));
if (MPFR_LIKELY(u != 0) ) /* if u=0, do nothing */
{
diff -Naurd mpfr-3.1.0-a/src/mpfr.h mpfr-3.1.0-b/src/mpfr.h
--- mpfr-3.1.0-a/src/mpfr.h 2011-11-28 12:22:52.000000000 +0000
+++ mpfr-3.1.0-b/src/mpfr.h 2012-02-24 12:44:49.000000000 +0000
@@ -27,7 +27,7 @@
#define MPFR_VERSION_MAJOR 3
#define MPFR_VERSION_MINOR 1
#define MPFR_VERSION_PATCHLEVEL 0
-#define MPFR_VERSION_STRING "3.1.0-p4"
+#define MPFR_VERSION_STRING "3.1.0-p5"
/* Macros dealing with MPFR VERSION */
#define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
diff -Naurd mpfr-3.1.0-a/src/mul_d.c mpfr-3.1.0-b/src/mul_d.c
--- mpfr-3.1.0-a/src/mul_d.c 2011-10-03 08:17:09.000000000 +0000
+++ mpfr-3.1.0-b/src/mul_d.c 2012-02-24 12:44:49.000000000 +0000
@@ -34,7 +34,7 @@
(("b[%Pu]=%.*Rg c=%.20g rnd=%d",
mpfr_get_prec(b), mpfr_log_prec, b, c, rnd_mode),
("a[%Pu]=%.*Rg inexact=%d",
- mpfr_get_prec (a), mpfr_get_prec, a, inexact));
+ mpfr_get_prec (a), mpfr_log_prec, a, inexact));
MPFR_SAVE_EXPO_MARK (expo);
diff -Naurd mpfr-3.1.0-a/src/version.c mpfr-3.1.0-b/src/version.c
--- mpfr-3.1.0-a/src/version.c 2011-11-28 12:22:52.000000000 +0000
+++ mpfr-3.1.0-b/src/version.c 2012-02-24 12:44:49.000000000 +0000
@@ -25,5 +25,5 @@
const char *
mpfr_get_version (void)
{
- return "3.1.0-p4";
+ return "3.1.0-p5";
}

View File

@ -0,0 +1,45 @@
diff -Naurd mpfr-3.1.0-a/PATCHES mpfr-3.1.0-b/PATCHES
--- mpfr-3.1.0-a/PATCHES 2012-02-24 13:50:05.000000000 +0000
+++ mpfr-3.1.0-b/PATCHES 2012-02-24 13:50:05.000000000 +0000
@@ -0,0 +1 @@
+logging-varfmt
diff -Naurd mpfr-3.1.0-a/VERSION mpfr-3.1.0-b/VERSION
--- mpfr-3.1.0-a/VERSION 2012-02-24 12:44:49.000000000 +0000
+++ mpfr-3.1.0-b/VERSION 2012-02-24 13:50:05.000000000 +0000
@@ -1 +1 @@
-3.1.0-p5
+3.1.0-p6
diff -Naurd mpfr-3.1.0-a/src/mpfr-impl.h mpfr-3.1.0-b/src/mpfr-impl.h
--- mpfr-3.1.0-a/src/mpfr-impl.h 2011-10-05 21:39:57.000000000 +0000
+++ mpfr-3.1.0-b/src/mpfr-impl.h 2012-02-24 13:50:05.000000000 +0000
@@ -1592,7 +1592,7 @@
do \
if ((MPFR_LOG_INTERNAL_F & mpfr_log_type) && \
(mpfr_log_current <= mpfr_log_level)) \
- LOG_PRINT ("%s.%d:%s[%#Pu]=%.*Rf\n", __func__, __LINE__, \
+ LOG_PRINT ("%s.%d:%s[%#Pu]=%.*Rg\n", __func__, __LINE__, \
#x, mpfr_get_prec (x), mpfr_log_prec, x); \
while (0)
diff -Naurd mpfr-3.1.0-a/src/mpfr.h mpfr-3.1.0-b/src/mpfr.h
--- mpfr-3.1.0-a/src/mpfr.h 2012-02-24 12:44:49.000000000 +0000
+++ mpfr-3.1.0-b/src/mpfr.h 2012-02-24 13:50:05.000000000 +0000
@@ -27,7 +27,7 @@
#define MPFR_VERSION_MAJOR 3
#define MPFR_VERSION_MINOR 1
#define MPFR_VERSION_PATCHLEVEL 0
-#define MPFR_VERSION_STRING "3.1.0-p5"
+#define MPFR_VERSION_STRING "3.1.0-p6"
/* Macros dealing with MPFR VERSION */
#define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
diff -Naurd mpfr-3.1.0-a/src/version.c mpfr-3.1.0-b/src/version.c
--- mpfr-3.1.0-a/src/version.c 2012-02-24 12:44:49.000000000 +0000
+++ mpfr-3.1.0-b/src/version.c 2012-02-24 13:50:05.000000000 +0000
@@ -25,5 +25,5 @@
const char *
mpfr_get_version (void)
{
- return "3.1.0-p5";
+ return "3.1.0-p6";
}

View File

@ -0,0 +1,591 @@
diff -Naurd mpfr-3.1.0-a/PATCHES mpfr-3.1.0-b/PATCHES
--- mpfr-3.1.0-a/PATCHES 2012-03-08 15:17:03.000000000 +0000
+++ mpfr-3.1.0-b/PATCHES 2012-03-08 15:17:03.000000000 +0000
@@ -0,0 +1 @@
+large-prec
diff -Naurd mpfr-3.1.0-a/VERSION mpfr-3.1.0-b/VERSION
--- mpfr-3.1.0-a/VERSION 2012-02-24 13:50:05.000000000 +0000
+++ mpfr-3.1.0-b/VERSION 2012-03-08 15:17:03.000000000 +0000
@@ -1 +1 @@
-3.1.0-p6
+3.1.0-p7
diff -Naurd mpfr-3.1.0-a/src/add1.c mpfr-3.1.0-b/src/add1.c
--- mpfr-3.1.0-a/src/add1.c 2011-10-03 08:17:09.000000000 +0000
+++ mpfr-3.1.0-b/src/add1.c 2012-03-08 15:17:03.000000000 +0000
@@ -44,12 +44,12 @@
bq = MPFR_PREC(b);
cq = MPFR_PREC(c);
- an = (aq-1)/GMP_NUMB_BITS+1; /* number of limbs of a */
+ an = MPFR_PREC2LIMBS (aq); /* number of limbs of a */
aq2 = (mpfr_prec_t) an * GMP_NUMB_BITS;
sh = aq2 - aq; /* non-significant bits in low limb */
- bn = (bq-1)/GMP_NUMB_BITS+1; /* number of limbs of b */
- cn = (cq-1)/GMP_NUMB_BITS+1; /* number of limbs of c */
+ bn = MPFR_PREC2LIMBS (bq); /* number of limbs of b */
+ cn = MPFR_PREC2LIMBS (cq); /* number of limbs of c */
ap = MPFR_MANT(a);
bp = MPFR_MANT(b);
@@ -124,7 +124,7 @@
dif = aq2 - diff_exp;
/* dif is the number of bits of c which overlap with a' */
- difn = (dif-1)/GMP_NUMB_BITS + 1;
+ difn = MPFR_PREC2LIMBS (dif);
/* only the highest difn limbs from c have to be considered */
if (MPFR_UNLIKELY(difn > cn))
{
diff -Naurd mpfr-3.1.0-a/src/add1sp.c mpfr-3.1.0-b/src/add1sp.c
--- mpfr-3.1.0-a/src/add1sp.c 2011-10-03 08:17:09.000000000 +0000
+++ mpfr-3.1.0-b/src/add1sp.c 2012-03-08 15:17:03.000000000 +0000
@@ -107,7 +107,7 @@
/* Read prec and num of limbs */
p = MPFR_PREC(b);
- n = (p+GMP_NUMB_BITS-1)/GMP_NUMB_BITS;
+ n = MPFR_PREC2LIMBS (p);
MPFR_UNSIGNED_MINUS_MODULO(sh, p);
bx = MPFR_GET_EXP(b);
d = (mpfr_uexp_t) (bx - MPFR_GET_EXP(c));
diff -Naurd mpfr-3.1.0-a/src/agm.c mpfr-3.1.0-b/src/agm.c
--- mpfr-3.1.0-a/src/agm.c 2011-10-03 08:17:09.000000000 +0000
+++ mpfr-3.1.0-b/src/agm.c 2012-03-08 15:17:03.000000000 +0000
@@ -91,7 +91,7 @@
q = MPFR_PREC(r);
p = q + MPFR_INT_CEIL_LOG2(q) + 15;
MPFR_ASSERTD (p >= 7); /* see algorithms.tex */
- s = (p - 1) / GMP_NUMB_BITS + 1;
+ s = MPFR_PREC2LIMBS (p);
/* b (op2) and a (op1) are the 2 operands but we want b >= a */
compare = mpfr_cmp (op1, op2);
@@ -285,7 +285,7 @@
/* Next iteration */
MPFR_ZIV_NEXT (loop, p);
- s = (p - 1) / GMP_NUMB_BITS + 1;
+ s = MPFR_PREC2LIMBS (p);
}
MPFR_ZIV_FREE (loop);
diff -Naurd mpfr-3.1.0-a/src/eq.c mpfr-3.1.0-b/src/eq.c
--- mpfr-3.1.0-a/src/eq.c 2011-10-03 08:17:09.000000000 +0000
+++ mpfr-3.1.0-b/src/eq.c 2012-03-08 15:17:03.000000000 +0000
@@ -56,8 +56,8 @@
if (uexp != vexp)
return 0; /* no bit agree */
- usize = (MPFR_PREC(u) - 1) / GMP_NUMB_BITS + 1;
- vsize = (MPFR_PREC(v) - 1) / GMP_NUMB_BITS + 1;
+ usize = MPFR_LIMB_SIZE (u);
+ vsize = MPFR_LIMB_SIZE (v);
if (vsize > usize) /* exchange u and v */
{
diff -Naurd mpfr-3.1.0-a/src/exp.c mpfr-3.1.0-b/src/exp.c
--- mpfr-3.1.0-a/src/exp.c 2011-10-03 08:17:09.000000000 +0000
+++ mpfr-3.1.0-b/src/exp.c 2012-03-08 15:17:03.000000000 +0000
@@ -133,7 +133,7 @@
mp_size_t yn;
int sh;
- yn = 1 + (MPFR_PREC(y) - 1) / GMP_NUMB_BITS;
+ yn = MPFR_LIMB_SIZE (y);
sh = (mpfr_prec_t) yn * GMP_NUMB_BITS - MPFR_PREC(y);
MPFR_MANT(y)[0] += MPFR_LIMB_ONE << sh;
inexact = 1;
diff -Naurd mpfr-3.1.0-a/src/get_d.c mpfr-3.1.0-b/src/get_d.c
--- mpfr-3.1.0-a/src/get_d.c 2011-10-03 08:17:09.000000000 +0000
+++ mpfr-3.1.0-b/src/get_d.c 2012-03-08 15:17:03.000000000 +0000
@@ -100,7 +100,7 @@
nbits += (1021 + e);
MPFR_ASSERTD (nbits >= 1);
}
- np = (nbits + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS;
+ np = MPFR_PREC2LIMBS (nbits);
MPFR_ASSERTD ( np <= MPFR_LIMBS_PER_DOUBLE );
carry = mpfr_round_raw_4 (tp, MPFR_MANT(src), MPFR_PREC(src), negative,
nbits, rnd_mode);
diff -Naurd mpfr-3.1.0-a/src/get_flt.c mpfr-3.1.0-b/src/get_flt.c
--- mpfr-3.1.0-a/src/get_flt.c 2011-10-03 08:17:09.000000000 +0000
+++ mpfr-3.1.0-b/src/get_flt.c 2012-03-08 15:17:03.000000000 +0000
@@ -92,7 +92,7 @@
nbits += (125 + e);
MPFR_ASSERTD (nbits >= 1);
}
- np = (nbits + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS;
+ np = MPFR_PREC2LIMBS (nbits);
MPFR_ASSERTD(np <= MPFR_LIMBS_PER_FLT);
carry = mpfr_round_raw_4 (tp, MPFR_MANT(src), MPFR_PREC(src), negative,
nbits, rnd_mode);
diff -Naurd mpfr-3.1.0-a/src/get_str.c mpfr-3.1.0-b/src/get_str.c
--- mpfr-3.1.0-a/src/get_str.c 2011-10-03 08:17:09.000000000 +0000
+++ mpfr-3.1.0-b/src/get_str.c 2012-03-08 15:17:03.000000000 +0000
@@ -2351,7 +2351,7 @@
/* the first digit will contain only r bits */
prec = (m - 1) * pow2 + r; /* total number of bits */
- n = (prec - 1) / GMP_NUMB_BITS + 1;
+ n = MPFR_PREC2LIMBS (prec);
MPFR_TMP_MARK (marker);
x1 = MPFR_TMP_LIMBS_ALLOC (n + 1);
@@ -2417,12 +2417,12 @@
exact = 1;
/* number of limbs */
- n = 1 + (prec - 1) / GMP_NUMB_BITS;
+ n = MPFR_PREC2LIMBS (prec);
/* a will contain the approximation of the mantissa */
a = MPFR_TMP_LIMBS_ALLOC (n);
- nx = 1 + (MPFR_PREC(x) - 1) / GMP_NUMB_BITS;
+ nx = MPFR_LIMB_SIZE (x);
if ((mpfr_exp_t) m == g) /* final exponent is 0, no multiplication or
division to perform */
diff -Naurd mpfr-3.1.0-a/src/init2.c mpfr-3.1.0-b/src/init2.c
--- mpfr-3.1.0-a/src/init2.c 2011-10-03 08:17:09.000000000 +0000
+++ mpfr-3.1.0-b/src/init2.c 2012-03-08 15:17:03.000000000 +0000
@@ -51,7 +51,7 @@
which both have an odd mantissa */
MPFR_ASSERTN(p >= MPFR_PREC_MIN && p <= MPFR_PREC_MAX);
- xsize = (mp_size_t) ((p - 1) / GMP_NUMB_BITS) + 1;
+ xsize = MPFR_PREC2LIMBS (p);
tmp = (mpfr_limb_ptr) (*__gmp_allocate_func)(MPFR_MALLOC_SIZE(xsize));
MPFR_PREC(x) = p; /* Set prec */
diff -Naurd mpfr-3.1.0-a/src/lngamma.c mpfr-3.1.0-b/src/lngamma.c
--- mpfr-3.1.0-a/src/lngamma.c 2011-10-03 08:17:09.000000000 +0000
+++ mpfr-3.1.0-b/src/lngamma.c 2012-03-08 15:17:03.000000000 +0000
@@ -67,7 +67,7 @@
/* Now, the unit bit is represented. */
- prec = ((prec - 1) / GMP_NUMB_BITS + 1) * GMP_NUMB_BITS - expo;
+ prec = MPFR_PREC2LIMBS (prec) * GMP_NUMB_BITS - expo;
/* number of represented fractional bits (including the trailing 0's) */
x0 = *(MPFR_MANT (x) + prec / GMP_NUMB_BITS);
diff -Naurd mpfr-3.1.0-a/src/mpfr-impl.h mpfr-3.1.0-b/src/mpfr-impl.h
--- mpfr-3.1.0-a/src/mpfr-impl.h 2012-02-24 13:50:05.000000000 +0000
+++ mpfr-3.1.0-b/src/mpfr-impl.h 2012-03-09 12:06:26.000000000 +0000
@@ -646,10 +646,24 @@
**************** mpfr_t properties *******************
******************************************************/
+/* In the following macro, p is usually a mpfr_prec_t, but this macro
+ works with other integer types (without integer overflow). Checking
+ that p >= 1 in debug mode is useful here because this macro can be
+ used on a computed precision (in particular, this formula does not
+ work for a degenerate case p = 0, and could give different results
+ on different platforms). But let us not use an assertion checking
+ in the MPFR_LAST_LIMB() and MPFR_LIMB_SIZE() macros below to avoid
+ too much expansion for assertions (in practice, this should be a
+ problem just when testing MPFR with the --enable-assert configure
+ option and the -ansi -pedantic-errors gcc compiler flags). */
+#define MPFR_PREC2LIMBS(p) \
+ (MPFR_ASSERTD ((p) >= 1), ((p) - 1) / GMP_NUMB_BITS + 1)
+
#define MPFR_PREC(x) ((x)->_mpfr_prec)
#define MPFR_EXP(x) ((x)->_mpfr_exp)
#define MPFR_MANT(x) ((x)->_mpfr_d)
-#define MPFR_LIMB_SIZE(x) ((MPFR_PREC((x))-1)/GMP_NUMB_BITS+1)
+#define MPFR_LAST_LIMB(x) ((MPFR_PREC (x) - 1) / GMP_NUMB_BITS)
+#define MPFR_LIMB_SIZE(x) (MPFR_LAST_LIMB (x) + 1)
/******************************************************
@@ -749,7 +763,8 @@
#define MPFR_IS_FP(x) (!MPFR_IS_NAN(x) && !MPFR_IS_INF(x))
#define MPFR_IS_SINGULAR(x) (MPFR_EXP(x) <= MPFR_EXP_INF)
#define MPFR_IS_PURE_FP(x) (!MPFR_IS_SINGULAR(x) && \
- (MPFR_ASSERTD (MPFR_MANT(x)[MPFR_LIMB_SIZE(x)-1] & MPFR_LIMB_HIGHBIT), 1))
+ (MPFR_ASSERTD ((MPFR_MANT(x)[MPFR_LAST_LIMB(x)] \
+ & MPFR_LIMB_HIGHBIT) != 0), 1))
#define MPFR_ARE_SINGULAR(x,y) \
(MPFR_UNLIKELY(MPFR_IS_SINGULAR(x)) || MPFR_UNLIKELY(MPFR_IS_SINGULAR(y)))
@@ -1061,7 +1076,7 @@
/* Set a number to 1 (Fast) - It doesn't check if 1 is in the exponent range */
#define MPFR_SET_ONE(x) \
do { \
- mp_size_t _size = MPFR_LIMB_SIZE(x) - 1; \
+ mp_size_t _size = MPFR_LAST_LIMB(x); \
MPFR_SET_POS(x); \
MPFR_EXP(x) = 1; \
MPN_ZERO ( MPFR_MANT(x), _size); \
@@ -1213,8 +1228,8 @@
_destp = MPFR_MANT (dest); \
if (MPFR_UNLIKELY (_destprec >= _srcprec)) \
{ \
- _srcs = (_srcprec + GMP_NUMB_BITS-1)/GMP_NUMB_BITS; \
- _dests = (_destprec + GMP_NUMB_BITS-1)/GMP_NUMB_BITS - _srcs; \
+ _srcs = MPFR_PREC2LIMBS (_srcprec); \
+ _dests = MPFR_PREC2LIMBS (_destprec) - _srcs; \
MPN_COPY (_destp + _dests, srcp, _srcs); \
MPN_ZERO (_destp, _dests); \
inexact = 0; \
@@ -1227,8 +1242,8 @@
mp_limb_t _rb, _sb, _ulp; \
\
/* Compute Position and shift */ \
- _srcs = (_srcprec + GMP_NUMB_BITS-1)/GMP_NUMB_BITS; \
- _dests = (_destprec + GMP_NUMB_BITS-1)/GMP_NUMB_BITS; \
+ _srcs = MPFR_PREC2LIMBS (_srcprec); \
+ _dests = MPFR_PREC2LIMBS (_destprec); \
MPFR_UNSIGNED_MINUS_MODULO (_sh, _destprec); \
_sp = (srcp) + _srcs - _dests; \
\
@@ -1372,7 +1387,7 @@
if (MPFR_LIKELY (MPFR_PREC (dest) == MPFR_PREC (src))) \
{ \
MPN_COPY (MPFR_MANT (dest), MPFR_MANT (src), \
- (MPFR_PREC (src) + GMP_NUMB_BITS-1)/GMP_NUMB_BITS); \
+ MPFR_LIMB_SIZE (src)); \
inexact = 0; \
} \
else \
@@ -1682,7 +1697,7 @@
MPFR_ASSERTD (_prec >= MPFR_PREC_MIN); \
if (MPFR_UNLIKELY (_prec > MPFR_PREC_MAX)) \
mpfr_abort_prec_max (); \
- _size = (mpfr_prec_t) (_prec + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS; \
+ _size = MPFR_PREC2LIMBS (_prec); \
if (MPFR_UNLIKELY (_size * (num) > MPFR_GROUP_STATIC_SIZE)) \
{ \
(g).alloc = (num) * _size * sizeof (mp_limb_t); \
@@ -1733,7 +1748,7 @@
MPFR_ASSERTD (_prec >= MPFR_PREC_MIN); \
if (MPFR_UNLIKELY (_prec > MPFR_PREC_MAX)) \
mpfr_abort_prec_max (); \
- _size = (mpfr_prec_t) (_prec + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS; \
+ _size = MPFR_PREC2LIMBS (_prec); \
(g).alloc = (num) * _size * sizeof (mp_limb_t); \
if (MPFR_LIKELY (_oalloc == 0)) \
(g).mant = (mp_limb_t *) (*__gmp_allocate_func) ((g).alloc); \
@@ -1886,7 +1901,7 @@
MPFR_NORETURN_ATTR;
__MPFR_DECLSPEC void mpfr_rand_raw _MPFR_PROTO((mpfr_limb_ptr, gmp_randstate_t,
- unsigned long));
+ mpfr_prec_t));
__MPFR_DECLSPEC mpz_t* mpfr_bernoulli_internal _MPFR_PROTO((mpz_t*,
unsigned long));
diff -Naurd mpfr-3.1.0-a/src/mpfr.h mpfr-3.1.0-b/src/mpfr.h
--- mpfr-3.1.0-a/src/mpfr.h 2012-02-24 13:50:05.000000000 +0000
+++ mpfr-3.1.0-b/src/mpfr.h 2012-03-08 15:17:03.000000000 +0000
@@ -27,7 +27,7 @@
#define MPFR_VERSION_MAJOR 3
#define MPFR_VERSION_MINOR 1
#define MPFR_VERSION_PATCHLEVEL 0
-#define MPFR_VERSION_STRING "3.1.0-p6"
+#define MPFR_VERSION_STRING "3.1.0-p7"
/* Macros dealing with MPFR VERSION */
#define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
diff -Naurd mpfr-3.1.0-a/src/mul.c mpfr-3.1.0-b/src/mul.c
--- mpfr-3.1.0-a/src/mul.c 2011-10-03 08:17:09.000000000 +0000
+++ mpfr-3.1.0-b/src/mul.c 2012-03-08 15:17:03.000000000 +0000
@@ -93,15 +93,15 @@
ax = MPFR_GET_EXP (b) + MPFR_GET_EXP (c);
- bq = MPFR_PREC(b);
- cq = MPFR_PREC(c);
+ bq = MPFR_PREC (b);
+ cq = MPFR_PREC (c);
- MPFR_ASSERTD(bq+cq > bq); /* PREC_MAX is /2 so no integer overflow */
+ MPFR_ASSERTN ((mpfr_uprec_t) bq + cq <= MPFR_PREC_MAX);
- bn = (bq+GMP_NUMB_BITS-1)/GMP_NUMB_BITS; /* number of limbs of b */
- cn = (cq+GMP_NUMB_BITS-1)/GMP_NUMB_BITS; /* number of limbs of c */
+ bn = MPFR_PREC2LIMBS (bq); /* number of limbs of b */
+ cn = MPFR_PREC2LIMBS (cq); /* number of limbs of c */
k = bn + cn; /* effective nb of limbs used by b*c (= tn or tn+1) below */
- tn = (bq + cq + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS;
+ tn = MPFR_PREC2LIMBS (bq + cq);
/* <= k, thus no int overflow */
MPFR_ASSERTD(tn <= k);
@@ -292,12 +292,12 @@
bq = MPFR_PREC (b);
cq = MPFR_PREC (c);
- MPFR_ASSERTD (bq+cq > bq); /* PREC_MAX is /2 so no integer overflow */
+ MPFR_ASSERTN ((mpfr_uprec_t) bq + cq <= MPFR_PREC_MAX);
- bn = (bq+GMP_NUMB_BITS-1)/GMP_NUMB_BITS; /* number of limbs of b */
- cn = (cq+GMP_NUMB_BITS-1)/GMP_NUMB_BITS; /* number of limbs of c */
+ bn = MPFR_PREC2LIMBS (bq); /* number of limbs of b */
+ cn = MPFR_PREC2LIMBS (cq); /* number of limbs of c */
k = bn + cn; /* effective nb of limbs used by b*c (= tn or tn+1) below */
- tn = (bq + cq + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS;
+ tn = MPFR_PREC2LIMBS (bq + cq);
MPFR_ASSERTD (tn <= k); /* tn <= k, thus no int overflow */
/* Check for no size_t overflow*/
diff -Naurd mpfr-3.1.0-a/src/pow.c mpfr-3.1.0-b/src/pow.c
--- mpfr-3.1.0-a/src/pow.c 2011-10-03 08:17:09.000000000 +0000
+++ mpfr-3.1.0-b/src/pow.c 2012-03-08 15:17:03.000000000 +0000
@@ -136,7 +136,7 @@
(b) all the 'z' bits are zero
*/
- prec = ((prec - 1) / GMP_NUMB_BITS + 1) * GMP_NUMB_BITS - expo;
+ prec = MPFR_PREC2LIMBS (prec) * GMP_NUMB_BITS - expo;
/* number of z+0 bits */
yn = prec / GMP_NUMB_BITS;
diff -Naurd mpfr-3.1.0-a/src/print_raw.c mpfr-3.1.0-b/src/print_raw.c
--- mpfr-3.1.0-a/src/print_raw.c 2011-10-03 08:17:09.000000000 +0000
+++ mpfr-3.1.0-b/src/print_raw.c 2012-03-08 15:17:03.000000000 +0000
@@ -84,7 +84,7 @@
int i;
mpfr_prec_t count = 0;
char c;
- mp_size_t n = (r - 1) / GMP_NUMB_BITS + 1;
+ mp_size_t n = MPFR_PREC2LIMBS (r);
printf("%s ", str);
for(n-- ; n>=0 ; n--)
@@ -109,7 +109,7 @@
int i;
mpfr_prec_t count = 0;
char c;
- mp_size_t n = (r - 1) / GMP_NUMB_BITS + 1;
+ mp_size_t n = MPFR_PREC2LIMBS (r);
for(n-- ; n>=0 ; n--)
{
diff -Naurd mpfr-3.1.0-a/src/round_prec.c mpfr-3.1.0-b/src/round_prec.c
--- mpfr-3.1.0-a/src/round_prec.c 2011-10-03 08:17:09.000000000 +0000
+++ mpfr-3.1.0-b/src/round_prec.c 2012-03-08 15:17:03.000000000 +0000
@@ -55,12 +55,12 @@
MPFR_ASSERTN(prec >= MPFR_PREC_MIN && prec <= MPFR_PREC_MAX);
- nw = 1 + (prec - 1) / GMP_NUMB_BITS; /* needed allocated limbs */
+ nw = MPFR_PREC2LIMBS (prec); /* needed allocated limbs */
/* check if x has enough allocated space for the significand */
/* Get the number of limbs from the precision.
(Compatible with all allocation methods) */
- ow = (MPFR_PREC (x) + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS;
+ ow = MPFR_LIMB_SIZE (x);
if (nw > ow)
{
/* FIXME: Variable can't be created using custom allocation,
diff -Naurd mpfr-3.1.0-a/src/round_raw_generic.c mpfr-3.1.0-b/src/round_raw_generic.c
--- mpfr-3.1.0-a/src/round_raw_generic.c 2011-10-03 08:17:09.000000000 +0000
+++ mpfr-3.1.0-b/src/round_raw_generic.c 2012-03-08 15:17:03.000000000 +0000
@@ -80,7 +80,7 @@
(xprec <= yprec || MPFR_IS_LIKE_RNDZ (rnd_mode, neg)))
return 0;
- xsize = (xprec-1)/GMP_NUMB_BITS + 1;
+ xsize = MPFR_PREC2LIMBS (xprec);
nw = yprec / GMP_NUMB_BITS;
rw = yprec & (GMP_NUMB_BITS - 1);
diff -Naurd mpfr-3.1.0-a/src/set.c mpfr-3.1.0-b/src/set.c
--- mpfr-3.1.0-a/src/set.c 2011-10-03 08:17:09.000000000 +0000
+++ mpfr-3.1.0-b/src/set.c 2012-03-08 15:17:03.000000000 +0000
@@ -48,8 +48,7 @@
/* Same precision and b is not singular:
* just copy the mantissa, and set the exponent and the sign
* The result is exact. */
- MPN_COPY (MPFR_MANT (a), MPFR_MANT (b),
- (MPFR_PREC (b) + GMP_NUMB_BITS-1)/GMP_NUMB_BITS);
+ MPN_COPY (MPFR_MANT (a), MPFR_MANT (b), MPFR_LIMB_SIZE (b));
MPFR_RET (0);
}
else
diff -Naurd mpfr-3.1.0-a/src/set_f.c mpfr-3.1.0-b/src/set_f.c
--- mpfr-3.1.0-a/src/set_f.c 2011-10-03 08:17:09.000000000 +0000
+++ mpfr-3.1.0-b/src/set_f.c 2012-03-08 15:17:03.000000000 +0000
@@ -43,7 +43,7 @@
if (SIZ(x) * MPFR_FROM_SIGN_TO_INT(MPFR_SIGN(y)) < 0)
MPFR_CHANGE_SIGN (y);
- sy = 1 + (MPFR_PREC(y) - 1) / GMP_NUMB_BITS;
+ sy = MPFR_LIMB_SIZE (y);
my = MPFR_MANT(y);
mx = PTR(x);
diff -Naurd mpfr-3.1.0-a/src/set_prec.c mpfr-3.1.0-b/src/set_prec.c
--- mpfr-3.1.0-a/src/set_prec.c 2011-10-03 08:17:09.000000000 +0000
+++ mpfr-3.1.0-b/src/set_prec.c 2012-03-08 15:17:03.000000000 +0000
@@ -32,7 +32,7 @@
MPFR_ASSERTN (p >= MPFR_PREC_MIN && p <= MPFR_PREC_MAX);
/* Calculate the new number of limbs */
- xsize = (p - 1) / GMP_NUMB_BITS + 1;
+ xsize = MPFR_PREC2LIMBS (p);
/* Realloc only if the new size is greater than the old */
xoldsize = MPFR_GET_ALLOC_SIZE (x);
diff -Naurd mpfr-3.1.0-a/src/setmax.c mpfr-3.1.0-b/src/setmax.c
--- mpfr-3.1.0-a/src/setmax.c 2011-10-03 08:17:09.000000000 +0000
+++ mpfr-3.1.0-b/src/setmax.c 2012-03-08 15:17:03.000000000 +0000
@@ -32,7 +32,7 @@
mp_limb_t *xp;
MPFR_SET_EXP (x, e);
- xn = 1 + (MPFR_PREC(x) - 1) / GMP_NUMB_BITS;
+ xn = MPFR_LIMB_SIZE (x);
sh = (mpfr_prec_t) xn * GMP_NUMB_BITS - MPFR_PREC(x);
xp = MPFR_MANT(x);
xp[0] = MP_LIMB_T_MAX << sh;
diff -Naurd mpfr-3.1.0-a/src/sqr.c mpfr-3.1.0-b/src/sqr.c
--- mpfr-3.1.0-a/src/sqr.c 2011-10-03 08:17:09.000000000 +0000
+++ mpfr-3.1.0-b/src/sqr.c 2012-03-08 15:17:03.000000000 +0000
@@ -56,11 +56,11 @@
ax = 2 * MPFR_GET_EXP (b);
bq = MPFR_PREC(b);
- MPFR_ASSERTD (2 * bq > bq); /* PREC_MAX is /2 so no integer overflow */
+ MPFR_ASSERTN (2 * (mpfr_uprec_t) bq <= MPFR_PREC_MAX);
- bn = MPFR_LIMB_SIZE(b); /* number of limbs of b */
- tn = 1 + (2 * bq - 1) / GMP_NUMB_BITS; /* number of limbs of square,
- 2*bn or 2*bn-1 */
+ bn = MPFR_LIMB_SIZE (b); /* number of limbs of b */
+ tn = MPFR_PREC2LIMBS (2 * bq); /* number of limbs of square,
+ 2*bn or 2*bn-1 */
if (MPFR_UNLIKELY(bn > MPFR_SQR_THRESHOLD))
return mpfr_mul (a, b, b, rnd_mode);
diff -Naurd mpfr-3.1.0-a/src/stack_interface.c mpfr-3.1.0-b/src/stack_interface.c
--- mpfr-3.1.0-a/src/stack_interface.c 2011-10-03 08:17:09.000000000 +0000
+++ mpfr-3.1.0-b/src/stack_interface.c 2012-03-08 15:17:03.000000000 +0000
@@ -26,7 +26,7 @@
size_t
mpfr_custom_get_size (mpfr_prec_t prec)
{
- return (prec + GMP_NUMB_BITS -1) / GMP_NUMB_BITS * BYTES_PER_MP_LIMB;
+ return MPFR_PREC2LIMBS (prec) * BYTES_PER_MP_LIMB;
}
#undef mpfr_custom_init
diff -Naurd mpfr-3.1.0-a/src/strtofr.c mpfr-3.1.0-b/src/strtofr.c
--- mpfr-3.1.0-a/src/strtofr.c 2011-10-03 08:17:09.000000000 +0000
+++ mpfr-3.1.0-b/src/strtofr.c 2012-03-08 15:17:03.000000000 +0000
@@ -467,7 +467,7 @@
/* 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) / GMP_NUMB_BITS + 1;
+ ysize = MPFR_PREC2LIMBS (prec);
/* prec bits corresponds to ysize limbs */
ysize_bits = ysize * GMP_NUMB_BITS;
/* and to ysize_bits >= prec > MPFR_PREC (x) bits */
diff -Naurd mpfr-3.1.0-a/src/sub1sp.c mpfr-3.1.0-b/src/sub1sp.c
--- mpfr-3.1.0-a/src/sub1sp.c 2011-10-03 08:17:09.000000000 +0000
+++ mpfr-3.1.0-b/src/sub1sp.c 2012-03-08 15:17:03.000000000 +0000
@@ -155,8 +155,8 @@
MPFR_ASSERTD(MPFR_IS_PURE_FP(c));
/* Read prec and num of limbs */
- p = MPFR_PREC(b);
- n = (p-1)/GMP_NUMB_BITS+1;
+ p = MPFR_PREC (b);
+ n = MPFR_PREC2LIMBS (p);
/* Fast cmp of |b| and |c|*/
bx = MPFR_GET_EXP (b);
diff -Naurd mpfr-3.1.0-a/src/urandomb.c mpfr-3.1.0-b/src/urandomb.c
--- mpfr-3.1.0-a/src/urandomb.c 2011-10-03 08:17:09.000000000 +0000
+++ mpfr-3.1.0-b/src/urandomb.c 2012-03-08 15:17:03.000000000 +0000
@@ -31,13 +31,20 @@
a sufficient number of limbs */
void
mpfr_rand_raw (mpfr_limb_ptr mp, gmp_randstate_t rstate,
- unsigned long int nbits)
+ mpfr_prec_t nbits)
{
mpz_t z;
+ MPFR_ASSERTN (nbits >= 1);
/* To be sure to avoid the potential allocation of mpz_urandomb */
- ALLOC(z) = SIZ(z) = ((nbits - 1) / GMP_NUMB_BITS) + 1;
+ ALLOC(z) = SIZ(z) = MPFR_PREC2LIMBS (nbits);
PTR(z) = mp;
+#if __MPFR_GMP(5,0,0)
+ /* Check for integer overflow (unless mp_bitcnt_t is signed,
+ but according to the GMP manual, this shouldn't happen).
+ Note: mp_bitcnt_t has been introduced in GMP 5.0.0. */
+ MPFR_ASSERTN ((mp_bitcnt_t) -1 < 0 || nbits <= (mp_bitcnt_t) -1);
+#endif
mpz_urandomb (z, rstate, nbits);
}
diff -Naurd mpfr-3.1.0-a/src/version.c mpfr-3.1.0-b/src/version.c
--- mpfr-3.1.0-a/src/version.c 2012-02-24 13:50:05.000000000 +0000
+++ mpfr-3.1.0-b/src/version.c 2012-03-08 15:17:03.000000000 +0000
@@ -25,5 +25,5 @@
const char *
mpfr_get_version (void)
{
- return "3.1.0-p6";
+ return "3.1.0-p7";
}
diff -Naurd mpfr-3.1.0-a/tests/tinits.c mpfr-3.1.0-b/tests/tinits.c
--- mpfr-3.1.0-a/tests/tinits.c 2011-10-03 08:17:14.000000000 +0000
+++ mpfr-3.1.0-b/tests/tinits.c 2012-03-08 15:17:03.000000000 +0000
@@ -1,4 +1,4 @@
-/* Test file for mpfr_inits, mpfr_inits2 and mpfr_clears.
+/* Test file for mpfr_init2, mpfr_inits, mpfr_inits2 and mpfr_clears.
Copyright 2003, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
Contributed by the Arenaire and Caramel projects, INRIA.
@@ -20,18 +20,43 @@
http://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. */
+#include <stdlib.h>
+
#include "mpfr-test.h"
int
main (void)
{
mpfr_t a, b, c;
+ long large_prec;
tests_start_mpfr ();
+
mpfr_inits (a, b, c, (mpfr_ptr) 0);
mpfr_clears (a, b, c, (mpfr_ptr) 0);
mpfr_inits2 (200, a, b, c, (mpfr_ptr) 0);
mpfr_clears (a, b, c, (mpfr_ptr) 0);
+
+ /* test for precision 2^31-1, see
+ https://gforge.inria.fr/tracker/index.php?func=detail&aid=13918 */
+ large_prec = 2147483647;
+ if (getenv ("MPFR_CHECK_LARGEMEM") != NULL)
+ {
+ /* We assume that the precision won't be increased internally. */
+ if (large_prec > MPFR_PREC_MAX)
+ large_prec = MPFR_PREC_MAX;
+ mpfr_inits2 (large_prec, a, b, (mpfr_ptr) 0);
+ mpfr_set_ui (a, 17, MPFR_RNDN);
+ mpfr_set (b, a, MPFR_RNDN);
+ if (mpfr_get_ui (a, MPFR_RNDN) != 17)
+ {
+ printf ("Error in mpfr_init2 with precision 2^31-1\n");
+ exit (1);
+ }
+ mpfr_clears (a, b, (mpfr_ptr) 0);
+ }
+
tests_end_mpfr ();
+
return 0;
}

View File

@ -0,0 +1,235 @@
diff -Naurd mpfr-3.1.1-a/PATCHES mpfr-3.1.1-b/PATCHES
--- mpfr-3.1.1-a/PATCHES 2012-08-30 09:28:51.000000000 +0000
+++ mpfr-3.1.1-b/PATCHES 2012-08-30 09:28:51.000000000 +0000
@@ -0,0 +1 @@
+get_decimal64
diff -Naurd mpfr-3.1.1-a/VERSION mpfr-3.1.1-b/VERSION
--- mpfr-3.1.1-a/VERSION 2012-07-03 15:01:13.000000000 +0000
+++ mpfr-3.1.1-b/VERSION 2012-08-30 09:28:51.000000000 +0000
@@ -1 +1 @@
-3.1.1
+3.1.1-p1
diff -Naurd mpfr-3.1.1-a/src/get_d64.c mpfr-3.1.1-b/src/get_d64.c
--- mpfr-3.1.1-a/src/get_d64.c 2012-07-03 15:01:18.000000000 +0000
+++ mpfr-3.1.1-b/src/get_d64.c 2012-08-30 09:28:51.000000000 +0000
@@ -32,6 +32,10 @@
#ifdef MPFR_WANT_DECIMAL_FLOATS
+#ifndef DEC64_MAX
+# define DEC64_MAX 9.999999999999999E384dd
+#endif
+
#ifdef DPD_FORMAT
static int T[1000] = {
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 32,
@@ -142,26 +146,14 @@
static _Decimal64
get_decimal64_min (int negative)
{
- union ieee_double_extract x;
-
- x.s.sig = (negative) ? 1 : 0;
- x.s.exp = 0;
- x.s.manh = 0;
- x.s.manl = 1;
- return x.d;
+ return negative ? - 1E-398dd : 1E-398dd;
}
/* construct the decimal64 largest finite number with given sign */
static _Decimal64
get_decimal64_max (int negative)
{
- union ieee_double_extract x;
-
- x.s.sig = (negative) ? 1 : 0;
- x.s.exp = 1919;
- x.s.manh = 1048575; /* 2^20-1 */
- x.s.manl = ~0;
- return x.d;
+ return negative ? - DEC64_MAX : DEC64_MAX;
}
/* one-to-one conversion:
@@ -334,7 +326,8 @@
/* the largest decimal64 number is just below 10^(385) < 2^1279 */
else if (MPFR_UNLIKELY (e > 1279)) /* then src >= 2^1279 */
{
- if (MPFR_RNDZ || (rnd_mode == MPFR_RNDU && negative != 0)
+ if (rnd_mode == MPFR_RNDZ
+ || (rnd_mode == MPFR_RNDU && negative != 0)
|| (rnd_mode == MPFR_RNDD && negative == 0))
return get_decimal64_max (negative);
else
@@ -354,6 +347,15 @@
which corresponds to s=[0.]1000...000 and e=-397 */
if (e < -397)
{
+ if (rnd_mode == MPFR_RNDN && e == -398)
+ {
+ /* If 0.5E-398 < |src| < 1E-398 (smallest subnormal),
+ src should round to +/- 1E-398 in MPFR_RNDN. */
+ mpfr_get_str (s, &e, 10, 1, src, MPFR_RNDA);
+ return e == -398 && s[negative] <= '5' ?
+ get_decimal64_zero (negative) :
+ get_decimal64_min (negative);
+ }
if (rnd_mode == MPFR_RNDZ || rnd_mode == MPFR_RNDN
|| (rnd_mode == MPFR_RNDD && negative == 0)
|| (rnd_mode == MPFR_RNDU && negative != 0))
@@ -379,7 +381,8 @@
which corresponds to s=[0.]9999...999 and e=385 */
else if (e > 385)
{
- if (MPFR_RNDZ || (rnd_mode == MPFR_RNDU && negative != 0)
+ if (rnd_mode == MPFR_RNDZ
+ || (rnd_mode == MPFR_RNDU && negative != 0)
|| (rnd_mode == MPFR_RNDD && negative == 0))
return get_decimal64_max (negative);
else
diff -Naurd mpfr-3.1.1-a/src/mpfr.h mpfr-3.1.1-b/src/mpfr.h
--- mpfr-3.1.1-a/src/mpfr.h 2012-07-03 15:01:19.000000000 +0000
+++ mpfr-3.1.1-b/src/mpfr.h 2012-08-30 09:28:51.000000000 +0000
@@ -27,7 +27,7 @@
#define MPFR_VERSION_MAJOR 3
#define MPFR_VERSION_MINOR 1
#define MPFR_VERSION_PATCHLEVEL 1
-#define MPFR_VERSION_STRING "3.1.1"
+#define MPFR_VERSION_STRING "3.1.1-p1"
/* Macros dealing with MPFR VERSION */
#define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
diff -Naurd mpfr-3.1.1-a/src/version.c mpfr-3.1.1-b/src/version.c
--- mpfr-3.1.1-a/src/version.c 2012-07-03 15:01:18.000000000 +0000
+++ mpfr-3.1.1-b/src/version.c 2012-08-30 09:28:51.000000000 +0000
@@ -25,5 +25,5 @@
const char *
mpfr_get_version (void)
{
- return "3.1.1";
+ return "3.1.1-p1";
}
diff -Naurd mpfr-3.1.1-a/tests/tget_set_d64.c mpfr-3.1.1-b/tests/tget_set_d64.c
--- mpfr-3.1.1-a/tests/tget_set_d64.c 2012-07-03 15:01:24.000000000 +0000
+++ mpfr-3.1.1-b/tests/tget_set_d64.c 2012-08-30 09:28:51.000000000 +0000
@@ -25,6 +25,10 @@
#include <stdlib.h> /* for exit */
#include "mpfr-test.h"
+#ifndef DEC64_MAX
+# define DEC64_MAX 9.999999999999999E384dd
+#endif
+
/* #define DEBUG */
static void
@@ -149,6 +153,15 @@
mpfr_set_str (x, "9.999999999999999E384", 10, MPFR_RNDZ);
mpfr_set (y, x, MPFR_RNDZ);
d = mpfr_get_decimal64 (x, MPFR_RNDU);
+ ASSERT_ALWAYS (d == DEC64_MAX);
+ mpfr_set_ui (x, 0, MPFR_RNDZ);
+ mpfr_set_decimal64 (x, d, MPFR_RNDZ);
+ ASSERT_ALWAYS (mpfr_cmp (x, y) == 0);
+
+ mpfr_set_str (x, "-9.999999999999999E384", 10, MPFR_RNDZ);
+ mpfr_set (y, x, MPFR_RNDZ);
+ d = mpfr_get_decimal64 (x, MPFR_RNDA);
+ ASSERT_ALWAYS (d == -DEC64_MAX);
mpfr_set_ui (x, 0, MPFR_RNDZ);
mpfr_set_decimal64 (x, d, MPFR_RNDZ);
ASSERT_ALWAYS (mpfr_cmp (x, y) == 0);
@@ -225,6 +238,83 @@
mpfr_clear (x);
}
+static void
+check_overflow (void)
+{
+ mpfr_t x;
+ int err = 0, neg, rnd;
+
+ mpfr_init2 (x, 96);
+ for (neg = 0; neg < 2; neg++)
+ RND_LOOP (rnd)
+ {
+ _Decimal64 d, e;
+ mpfr_rnd_t r = (mpfr_rnd_t) rnd;
+ int sign = neg ? -1 : 1;
+
+ e = sign * (MPFR_IS_LIKE_RNDZ (r, neg) ? 1 : 2) * DEC64_MAX;
+ /* This tests the binary exponent e > 1279 case of get_d64.c */
+ mpfr_set_si_2exp (x, sign, 9999, MPFR_RNDN);
+ d = mpfr_get_decimal64 (x, r);
+ if (d != e)
+ {
+ printf ("Error 1 in check_overflow for %s, %s\n",
+ neg ? "negative" : "positive",
+ mpfr_print_rnd_mode (r));
+ err = 1;
+ }
+ /* This tests the decimal exponent e > 385 case of get_d64.c */
+ mpfr_set_si_2exp (x, sign * 31, 1274, MPFR_RNDN);
+ d = mpfr_get_decimal64 (x, r);
+ if (d != e)
+ {
+ printf ("Error 2 in check_overflow for %s, %s\n",
+ neg ? "negative" : "positive",
+ mpfr_print_rnd_mode (r));
+ err = 1;
+ }
+ /* This tests the last else (-382 <= e <= 385) of get_d64.c */
+ mpfr_set_decimal64 (x, e, MPFR_RNDA);
+ d = mpfr_get_decimal64 (x, r);
+ if (d != e)
+ {
+ printf ("Error 3 in check_overflow for %s, %s\n",
+ neg ? "negative" : "positive",
+ mpfr_print_rnd_mode (r));
+ err = 1;
+ }
+ }
+ mpfr_clear (x);
+ if (err)
+ exit (1);
+}
+
+static void
+check_tiny (void)
+{
+ mpfr_t x;
+ _Decimal64 d;
+
+ /* If 0.5E-398 < |x| < 1E-398 (smallest subnormal), x should round
+ to +/- 1E-398 in MPFR_RNDN. Note: the midpoint 0.5E-398 between
+ 0 and 1E-398 is not a representable binary number, so that there
+ are no tests for it. */
+ mpfr_init2 (x, 128);
+ mpfr_set_str (x, "1E-398", 10, MPFR_RNDZ);
+ d = mpfr_get_decimal64 (x, MPFR_RNDN);
+ MPFR_ASSERTN (d == 1.0E-398dd);
+ mpfr_neg (x, x, MPFR_RNDN);
+ d = mpfr_get_decimal64 (x, MPFR_RNDN);
+ MPFR_ASSERTN (d == -1.0E-398dd);
+ mpfr_set_str (x, "0.5E-398", 10, MPFR_RNDU);
+ d = mpfr_get_decimal64 (x, MPFR_RNDN);
+ MPFR_ASSERTN (d == 1.0E-398dd);
+ mpfr_neg (x, x, MPFR_RNDN);
+ d = mpfr_get_decimal64 (x, MPFR_RNDN);
+ MPFR_ASSERTN (d == -1.0E-398dd);
+ mpfr_clear (x);
+}
+
int
main (void)
{
@@ -241,6 +331,8 @@
check_inf_nan ();
check_random ();
check_native ();
+ check_overflow ();
+ check_tiny ();
tests_end_mpfr ();
return 0;

View File

@ -0,0 +1,170 @@
diff -Naurd mpfr-3.1.1-a/PATCHES mpfr-3.1.1-b/PATCHES
--- mpfr-3.1.1-a/PATCHES 2012-08-30 09:35:12.000000000 +0000
+++ mpfr-3.1.1-b/PATCHES 2012-08-30 09:35:12.000000000 +0000
@@ -0,0 +1 @@
+strtofr-ternary-value
diff -Naurd mpfr-3.1.1-a/VERSION mpfr-3.1.1-b/VERSION
--- mpfr-3.1.1-a/VERSION 2012-08-30 09:28:51.000000000 +0000
+++ mpfr-3.1.1-b/VERSION 2012-08-30 09:35:12.000000000 +0000
@@ -1 +1 @@
-3.1.1-p1
+3.1.1-p2
diff -Naurd mpfr-3.1.1-a/src/mpfr.h mpfr-3.1.1-b/src/mpfr.h
--- mpfr-3.1.1-a/src/mpfr.h 2012-08-30 09:28:51.000000000 +0000
+++ mpfr-3.1.1-b/src/mpfr.h 2012-08-30 09:35:12.000000000 +0000
@@ -27,7 +27,7 @@
#define MPFR_VERSION_MAJOR 3
#define MPFR_VERSION_MINOR 1
#define MPFR_VERSION_PATCHLEVEL 1
-#define MPFR_VERSION_STRING "3.1.1-p1"
+#define MPFR_VERSION_STRING "3.1.1-p2"
/* Macros dealing with MPFR VERSION */
#define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
diff -Naurd mpfr-3.1.1-a/src/strtofr.c mpfr-3.1.1-b/src/strtofr.c
--- mpfr-3.1.1-a/src/strtofr.c 2012-07-03 15:01:16.000000000 +0000
+++ mpfr-3.1.1-b/src/strtofr.c 2012-08-30 09:35:12.000000000 +0000
@@ -667,6 +667,20 @@
/* (z, exp_z) = base^(exp_base-pstr_size) */
z = result + 2*ysize + 1;
err = mpfr_mpn_exp (z, &exp_z, pstr->base, exp_z, ysize);
+ /* Since we want y/z rounded toward zero, we must get an upper
+ bound of z. If err >= 0, the error on z is bounded by 2^err. */
+ if (err >= 0)
+ {
+ mp_limb_t cy;
+ unsigned long h = err / GMP_NUMB_BITS;
+ unsigned long l = err - h * GMP_NUMB_BITS;
+
+ if (h >= ysize) /* not enough precision in z */
+ goto next_loop;
+ cy = mpn_add_1 (z, z, ysize - h, MPFR_LIMB_ONE << l);
+ if (cy != 0) /* the code below requires z on ysize limbs */
+ goto next_loop;
+ }
exact = exact && (err == -1);
if (err == -2)
goto underflow; /* FIXME: Sure? */
@@ -730,6 +744,7 @@
MPFR_RNDN, rnd, MPFR_PREC(x)))
break;
+ next_loop:
/* update the prec for next loop */
MPFR_ZIV_NEXT (loop, prec);
} /* loop */
diff -Naurd mpfr-3.1.1-a/src/version.c mpfr-3.1.1-b/src/version.c
--- mpfr-3.1.1-a/src/version.c 2012-08-30 09:28:51.000000000 +0000
+++ mpfr-3.1.1-b/src/version.c 2012-08-30 09:35:12.000000000 +0000
@@ -25,5 +25,5 @@
const char *
mpfr_get_version (void)
{
- return "3.1.1-p1";
+ return "3.1.1-p2";
}
diff -Naurd mpfr-3.1.1-a/tests/tstrtofr.c mpfr-3.1.1-b/tests/tstrtofr.c
--- mpfr-3.1.1-a/tests/tstrtofr.c 2012-07-03 15:01:24.000000000 +0000
+++ mpfr-3.1.1-b/tests/tstrtofr.c 2012-08-30 09:35:12.000000000 +0000
@@ -1105,6 +1105,92 @@
mpfr_clear (y);
}
+/* From a bug reported by Joseph S. Myers
+ https://sympa.inria.fr/sympa/arc/mpfr/2012-08/msg00005.html */
+static void
+bug20120814 (void)
+{
+ mpfr_exp_t emin = -30, e;
+ mpfr_t x, y;
+ int r;
+ char s[64], *p;
+
+ mpfr_init2 (x, 2);
+ mpfr_set_ui_2exp (x, 3, emin - 2, MPFR_RNDN);
+ mpfr_get_str (s + 1, &e, 10, 19, x, MPFR_RNDD);
+ s[0] = s[1];
+ s[1] = '.';
+ for (p = s; *p != 0; p++) ;
+ *p = 'e';
+ sprintf (p + 1, "%d", (int) e - 1);
+
+ mpfr_init2 (y, 4);
+ r = mpfr_strtofr (y, s, NULL, 0, MPFR_RNDN);
+ if (r <= 0 || ! mpfr_equal_p (x, y))
+ {
+ printf ("Error in bug20120814\n");
+ printf ("mpfr_strtofr failed on string \"%s\"\n", s);
+ printf ("Expected inex > 0 and y = 0.1100E%d\n", (int) emin);
+ printf ("Got inex = %-6d and y = ", r);
+ mpfr_dump (y);
+ exit (1);
+ }
+
+ mpfr_clear (x);
+ mpfr_clear (y);
+}
+
+static void
+bug20120829 (void)
+{
+ mpfr_t x1, x2, e;
+ int inex1, inex2, i, r;
+ char s[48] = "1e-1";
+
+ mpfr_init2 (e, 128);
+ mpfr_inits2 (4, x1, x2, (mpfr_ptr) 0);
+
+ inex1 = mpfr_set_si (e, -1, MPFR_RNDN);
+ MPFR_ASSERTN (inex1 == 0);
+
+ for (i = 1; i <= sizeof(s) - 5; i++)
+ {
+ s[3+i] = '0';
+ s[4+i] = 0;
+ inex1 = mpfr_mul_ui (e, e, 10, MPFR_RNDN);
+ MPFR_ASSERTN (inex1 == 0);
+ RND_LOOP(r)
+ {
+ mpfr_rnd_t rnd = (mpfr_rnd_t) r;
+
+ inex1 = mpfr_exp10 (x1, e, rnd);
+ inex1 = SIGN (inex1);
+ inex2 = mpfr_strtofr (x2, s, NULL, 0, rnd);
+ inex2 = SIGN (inex2);
+ /* On 32-bit machines, for i = 7, r8389, r8391 and r8394 do:
+ strtofr.c:...: MPFR assertion failed: cy == 0
+ r8396 is OK.
+ On 64-bit machines, for i = 15,
+ r8389 does: strtofr.c:678: MPFR assertion failed: err < (64 - 0)
+ r8391 does: strtofr.c:680: MPFR assertion failed: h < ysize
+ r8394 and r8396 are OK.
+ */
+ if (! mpfr_equal_p (x1, x2) || inex1 != inex2)
+ {
+ printf ("Error in bug20120829 for i = %d, rnd = %s\n",
+ i, mpfr_print_rnd_mode (rnd));
+ printf ("Expected inex = %d, x = ", inex1);
+ mpfr_dump (x1);
+ printf ("Got inex = %d, x = ", inex2);
+ mpfr_dump (x2);
+ exit (1);
+ }
+ }
+ }
+
+ mpfr_clears (e, x1, x2, (mpfr_ptr) 0);
+}
+
int
main (int argc, char *argv[])
{
@@ -1117,6 +1203,8 @@
check_retval ();
bug20081028 ();
test20100310 ();
+ bug20120814 ();
+ bug20120829 ();
tests_end_mpfr ();
return 0;

View File

@ -0,0 +1,45 @@
diff -Naurd mpfr-3.1.2-a/PATCHES mpfr-3.1.2-b/PATCHES
--- mpfr-3.1.2-a/PATCHES 2013-09-26 10:52:52.000000000 +0000
+++ mpfr-3.1.2-b/PATCHES 2013-09-26 10:52:52.000000000 +0000
@@ -0,0 +1 @@
+exp_2
diff -Naurd mpfr-3.1.2-a/VERSION mpfr-3.1.2-b/VERSION
--- mpfr-3.1.2-a/VERSION 2013-03-13 15:37:28.000000000 +0000
+++ mpfr-3.1.2-b/VERSION 2013-09-26 10:52:52.000000000 +0000
@@ -1 +1 @@
-3.1.2
+3.1.2-p1
diff -Naurd mpfr-3.1.2-a/src/exp_2.c mpfr-3.1.2-b/src/exp_2.c
--- mpfr-3.1.2-a/src/exp_2.c 2013-03-13 15:37:28.000000000 +0000
+++ mpfr-3.1.2-b/src/exp_2.c 2013-09-26 10:52:52.000000000 +0000
@@ -204,7 +204,7 @@
for (k = 0; k < K; k++)
{
mpz_mul (ss, ss, ss);
- exps <<= 1;
+ exps *= 2;
exps += mpz_normalize (ss, ss, q);
}
mpfr_set_z (s, ss, MPFR_RNDN);
diff -Naurd mpfr-3.1.2-a/src/mpfr.h mpfr-3.1.2-b/src/mpfr.h
--- mpfr-3.1.2-a/src/mpfr.h 2013-03-13 15:37:37.000000000 +0000
+++ mpfr-3.1.2-b/src/mpfr.h 2013-09-26 10:52:52.000000000 +0000
@@ -27,7 +27,7 @@
#define MPFR_VERSION_MAJOR 3
#define MPFR_VERSION_MINOR 1
#define MPFR_VERSION_PATCHLEVEL 2
-#define MPFR_VERSION_STRING "3.1.2"
+#define MPFR_VERSION_STRING "3.1.2-p1"
/* Macros dealing with MPFR VERSION */
#define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
diff -Naurd mpfr-3.1.2-a/src/version.c mpfr-3.1.2-b/src/version.c
--- mpfr-3.1.2-a/src/version.c 2013-03-13 15:37:34.000000000 +0000
+++ mpfr-3.1.2-b/src/version.c 2013-09-26 10:52:52.000000000 +0000
@@ -25,5 +25,5 @@
const char *
mpfr_get_version (void)
{
- return "3.1.2";
+ return "3.1.2-p1";
}

View File

@ -0,0 +1,605 @@
diff -Naurd mpfr-3.1.2-a/PATCHES mpfr-3.1.2-b/PATCHES
--- mpfr-3.1.2-a/PATCHES 2013-09-26 10:56:55.000000000 +0000
+++ mpfr-3.1.2-b/PATCHES 2013-09-26 10:56:55.000000000 +0000
@@ -0,0 +1 @@
+fits-smallneg
diff -Naurd mpfr-3.1.2-a/VERSION mpfr-3.1.2-b/VERSION
--- mpfr-3.1.2-a/VERSION 2013-09-26 10:52:52.000000000 +0000
+++ mpfr-3.1.2-b/VERSION 2013-09-26 10:56:55.000000000 +0000
@@ -1 +1 @@
-3.1.2-p1
+3.1.2-p2
diff -Naurd mpfr-3.1.2-a/src/fits_u.h mpfr-3.1.2-b/src/fits_u.h
--- mpfr-3.1.2-a/src/fits_u.h 2013-03-13 15:37:35.000000000 +0000
+++ mpfr-3.1.2-b/src/fits_u.h 2013-09-26 10:56:55.000000000 +0000
@@ -32,17 +32,20 @@
int res;
if (MPFR_UNLIKELY (MPFR_IS_SINGULAR (f)))
- /* Zero always fit */
- return MPFR_IS_ZERO (f) ? 1 : 0;
- else if (MPFR_IS_NEG (f))
- /* Negative numbers don't fit */
- return 0;
- /* now it fits if
- (a) f <= MAXIMUM
- (b) round(f, prec(slong), rnd) <= MAXIMUM */
+ return MPFR_IS_ZERO (f) ? 1 : 0; /* Zero always fits */
e = MPFR_GET_EXP (f);
+ if (MPFR_IS_NEG (f))
+ return e >= 1 ? 0 /* f <= -1 does not fit */
+ : rnd != MPFR_RNDN ? MPFR_IS_LIKE_RNDU (rnd, -1) /* directed mode */
+ : e < 0 ? 1 /* f > -1/2 fits in MPFR_RNDN */
+ : mpfr_powerof2_raw(f); /* -1/2 fits, -1 < f < -1/2 don't */
+
+ /* Now it fits if
+ (a) f <= MAXIMUM
+ (b) round(f, prec(slong), rnd) <= MAXIMUM */
+
/* first compute prec(MAXIMUM); fits in an int */
for (s = MAXIMUM, prec = 0; s != 0; s /= 2, prec ++);
diff -Naurd mpfr-3.1.2-a/src/fits_uintmax.c mpfr-3.1.2-b/src/fits_uintmax.c
--- mpfr-3.1.2-a/src/fits_uintmax.c 2013-03-13 15:37:33.000000000 +0000
+++ mpfr-3.1.2-b/src/fits_uintmax.c 2013-09-26 10:56:55.000000000 +0000
@@ -27,51 +27,19 @@
#include "mpfr-intmax.h"
#include "mpfr-impl.h"
-#ifdef _MPFR_H_HAVE_INTMAX_T
-
-/* We can't use fits_u.h <= mpfr_cmp_ui */
-int
-mpfr_fits_uintmax_p (mpfr_srcptr f, mpfr_rnd_t rnd)
-{
- mpfr_exp_t e;
- int prec;
- uintmax_t s;
- mpfr_t x;
- int res;
-
- if (MPFR_UNLIKELY (MPFR_IS_SINGULAR (f)))
- /* Zero always fit */
- return MPFR_IS_ZERO (f) ? 1 : 0;
- else if (MPFR_IS_NEG (f))
- /* Negative numbers don't fit */
- return 0;
- /* now it fits if
- (a) f <= MAXIMUM
- (b) round(f, prec(slong), rnd) <= MAXIMUM */
-
- e = MPFR_GET_EXP (f);
-
- /* first compute prec(MAXIMUM); fits in an int */
- for (s = MPFR_UINTMAX_MAX, prec = 0; s != 0; s /= 2, prec ++);
-
- /* MAXIMUM needs prec bits, i.e. MAXIMUM = 2^prec - 1 */
-
- /* if e <= prec - 1, then f < 2^(prec-1) < MAXIMUM */
- if (e <= prec - 1)
- return 1;
+/* Note: though mpfr-impl.h is included in fits_u.h, we also include it
+ above so that it gets included even when _MPFR_H_HAVE_INTMAX_T is not
+ defined; this is necessary to avoid an empty translation unit, which
+ is forbidden by ISO C. Without this, a failing test can be reproduced
+ by creating an invalid stdint.h somewhere in the default include path
+ and by compiling MPFR with "gcc -ansi -pedantic-errors". */
- /* if e >= prec + 1, then f >= 2^prec > MAXIMUM */
- if (e >= prec + 1)
- return 0;
+#ifdef _MPFR_H_HAVE_INTMAX_T
- MPFR_ASSERTD (e == prec);
+#define FUNCTION mpfr_fits_uintmax_p
+#define MAXIMUM MPFR_UINTMAX_MAX
+#define TYPE uintmax_t
- /* hard case: first round to prec bits, then check */
- mpfr_init2 (x, prec);
- mpfr_set (x, f, rnd);
- res = MPFR_GET_EXP (x) == e;
- mpfr_clear (x);
- return res;
-}
+#include "fits_u.h"
#endif
diff -Naurd mpfr-3.1.2-a/src/mpfr.h mpfr-3.1.2-b/src/mpfr.h
--- mpfr-3.1.2-a/src/mpfr.h 2013-09-26 10:52:52.000000000 +0000
+++ mpfr-3.1.2-b/src/mpfr.h 2013-09-26 10:56:55.000000000 +0000
@@ -27,7 +27,7 @@
#define MPFR_VERSION_MAJOR 3
#define MPFR_VERSION_MINOR 1
#define MPFR_VERSION_PATCHLEVEL 2
-#define MPFR_VERSION_STRING "3.1.2-p1"
+#define MPFR_VERSION_STRING "3.1.2-p2"
/* Macros dealing with MPFR VERSION */
#define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
diff -Naurd mpfr-3.1.2-a/src/version.c mpfr-3.1.2-b/src/version.c
--- mpfr-3.1.2-a/src/version.c 2013-09-26 10:52:52.000000000 +0000
+++ mpfr-3.1.2-b/src/version.c 2013-09-26 10:56:55.000000000 +0000
@@ -25,5 +25,5 @@
const char *
mpfr_get_version (void)
{
- return "3.1.2-p1";
+ return "3.1.2-p2";
}
diff -Naurd mpfr-3.1.2-a/tests/tfits.c mpfr-3.1.2-b/tests/tfits.c
--- mpfr-3.1.2-a/tests/tfits.c 2013-03-13 15:37:45.000000000 +0000
+++ mpfr-3.1.2-b/tests/tfits.c 2013-09-26 10:56:55.000000000 +0000
@@ -33,155 +33,176 @@
#include "mpfr-intmax.h"
#include "mpfr-test.h"
-#define ERROR1 { printf("Initial error for x="); mpfr_dump(x); exit(1); }
-#define ERROR2 { printf("Error for x="); mpfr_dump(x); exit(1); }
+#define ERROR1(N) \
+ do \
+ { \
+ printf("Error %d for rnd = %s and x = ", N, \
+ mpfr_print_rnd_mode ((mpfr_rnd_t) r)); \
+ mpfr_dump(x); \
+ exit(1); \
+ } \
+ while (0)
static void check_intmax (void);
int
main (void)
{
- mpfr_t x;
+ mpfr_t x, y;
+ int i, r;
tests_start_mpfr ();
mpfr_init2 (x, 256);
+ mpfr_init2 (y, 8);
- /* Check NAN */
- mpfr_set_nan (x);
- if (mpfr_fits_ulong_p (x, MPFR_RNDN))
- ERROR1;
- if (mpfr_fits_slong_p (x, MPFR_RNDN))
- ERROR1;
- if (mpfr_fits_uint_p (x, MPFR_RNDN))
- ERROR1;
- if (mpfr_fits_sint_p (x, MPFR_RNDN))
- ERROR1;
- if (mpfr_fits_ushort_p (x, MPFR_RNDN))
- ERROR1;
- if (mpfr_fits_sshort_p (x, MPFR_RNDN))
- ERROR1;
+ RND_LOOP (r)
+ {
- /* Check INF */
- mpfr_set_inf (x, 1);
- if (mpfr_fits_ulong_p (x, MPFR_RNDN))
- ERROR1;
- if (mpfr_fits_slong_p (x, MPFR_RNDN))
- ERROR1;
- if (mpfr_fits_uint_p (x, MPFR_RNDN))
- ERROR1;
- if (mpfr_fits_sint_p (x, MPFR_RNDN))
- ERROR1;
- if (mpfr_fits_ushort_p (x, MPFR_RNDN))
- ERROR1;
- if (mpfr_fits_sshort_p (x, MPFR_RNDN))
- ERROR1;
+ /* Check NAN */
+ mpfr_set_nan (x);
+ if (mpfr_fits_ulong_p (x, (mpfr_rnd_t) r))
+ ERROR1 (1);
+ if (mpfr_fits_slong_p (x, (mpfr_rnd_t) r))
+ ERROR1 (2);
+ if (mpfr_fits_uint_p (x, (mpfr_rnd_t) r))
+ ERROR1 (3);
+ if (mpfr_fits_sint_p (x, (mpfr_rnd_t) r))
+ ERROR1 (4);
+ if (mpfr_fits_ushort_p (x, (mpfr_rnd_t) r))
+ ERROR1 (5);
+ if (mpfr_fits_sshort_p (x, (mpfr_rnd_t) r))
+ ERROR1 (6);
- /* Check Zero */
- MPFR_SET_ZERO (x);
- if (!mpfr_fits_ulong_p (x, MPFR_RNDN))
- ERROR2;
- if (!mpfr_fits_slong_p (x, MPFR_RNDN))
- ERROR2;
- if (!mpfr_fits_uint_p (x, MPFR_RNDN))
- ERROR2;
- if (!mpfr_fits_sint_p (x, MPFR_RNDN))
- ERROR2;
- if (!mpfr_fits_ushort_p (x, MPFR_RNDN))
- ERROR2;
- if (!mpfr_fits_sshort_p (x, MPFR_RNDN))
- ERROR2;
+ /* Check INF */
+ mpfr_set_inf (x, 1);
+ if (mpfr_fits_ulong_p (x, (mpfr_rnd_t) r))
+ ERROR1 (7);
+ if (mpfr_fits_slong_p (x, (mpfr_rnd_t) r))
+ ERROR1 (8);
+ if (mpfr_fits_uint_p (x, (mpfr_rnd_t) r))
+ ERROR1 (9);
+ if (mpfr_fits_sint_p (x, (mpfr_rnd_t) r))
+ ERROR1 (10);
+ if (mpfr_fits_ushort_p (x, (mpfr_rnd_t) r))
+ ERROR1 (11);
+ if (mpfr_fits_sshort_p (x, (mpfr_rnd_t) r))
+ ERROR1 (12);
- /* Check small op */
- mpfr_set_str1 (x, "1@-1");
- if (!mpfr_fits_ulong_p (x, MPFR_RNDN))
- ERROR2;
- if (!mpfr_fits_slong_p (x, MPFR_RNDN))
- ERROR2;
- if (!mpfr_fits_uint_p (x, MPFR_RNDN))
- ERROR2;
- if (!mpfr_fits_sint_p (x, MPFR_RNDN))
- ERROR2;
- if (!mpfr_fits_ushort_p (x, MPFR_RNDN))
- ERROR2;
- if (!mpfr_fits_sshort_p (x, MPFR_RNDN))
- ERROR2;
+ /* Check Zero */
+ MPFR_SET_ZERO (x);
+ if (!mpfr_fits_ulong_p (x, (mpfr_rnd_t) r))
+ ERROR1 (13);
+ if (!mpfr_fits_slong_p (x, (mpfr_rnd_t) r))
+ ERROR1 (14);
+ if (!mpfr_fits_uint_p (x, (mpfr_rnd_t) r))
+ ERROR1 (15);
+ if (!mpfr_fits_sint_p (x, (mpfr_rnd_t) r))
+ ERROR1 (16);
+ if (!mpfr_fits_ushort_p (x, (mpfr_rnd_t) r))
+ ERROR1 (17);
+ if (!mpfr_fits_sshort_p (x, (mpfr_rnd_t) r))
+ ERROR1 (18);
- /* Check 17 */
- mpfr_set_ui (x, 17, MPFR_RNDN);
- if (!mpfr_fits_ulong_p (x, MPFR_RNDN))
- ERROR2;
- if (!mpfr_fits_slong_p (x, MPFR_RNDN))
- ERROR2;
- if (!mpfr_fits_uint_p (x, MPFR_RNDN))
- ERROR2;
- if (!mpfr_fits_sint_p (x, MPFR_RNDN))
- ERROR2;
- if (!mpfr_fits_ushort_p (x, MPFR_RNDN))
- ERROR2;
- if (!mpfr_fits_sshort_p (x, MPFR_RNDN))
- ERROR2;
+ /* Check small positive op */
+ mpfr_set_str1 (x, "1@-1");
+ if (!mpfr_fits_ulong_p (x, (mpfr_rnd_t) r))
+ ERROR1 (19);
+ if (!mpfr_fits_slong_p (x, (mpfr_rnd_t) r))
+ ERROR1 (20);
+ if (!mpfr_fits_uint_p (x, (mpfr_rnd_t) r))
+ ERROR1 (21);
+ if (!mpfr_fits_sint_p (x, (mpfr_rnd_t) r))
+ ERROR1 (22);
+ if (!mpfr_fits_ushort_p (x, (mpfr_rnd_t) r))
+ ERROR1 (23);
+ if (!mpfr_fits_sshort_p (x, (mpfr_rnd_t) r))
+ ERROR1 (24);
- /* Check all other values */
- mpfr_set_ui (x, ULONG_MAX, MPFR_RNDN);
- mpfr_mul_2exp (x, x, 1, MPFR_RNDN);
- if (mpfr_fits_ulong_p (x, MPFR_RNDN))
- ERROR1;
- if (mpfr_fits_slong_p (x, MPFR_RNDN))
- ERROR1;
- mpfr_mul_2exp (x, x, 40, MPFR_RNDN);
- if (mpfr_fits_ulong_p (x, MPFR_RNDN))
- ERROR1;
- if (mpfr_fits_uint_p (x, MPFR_RNDN))
- ERROR1;
- if (mpfr_fits_sint_p (x, MPFR_RNDN))
- ERROR1;
- if (mpfr_fits_ushort_p (x, MPFR_RNDN))
- ERROR1;
- if (mpfr_fits_sshort_p (x, MPFR_RNDN))
- ERROR1;
+ /* Check 17 */
+ mpfr_set_ui (x, 17, MPFR_RNDN);
+ if (!mpfr_fits_ulong_p (x, (mpfr_rnd_t) r))
+ ERROR1 (25);
+ if (!mpfr_fits_slong_p (x, (mpfr_rnd_t) r))
+ ERROR1 (26);
+ if (!mpfr_fits_uint_p (x, (mpfr_rnd_t) r))
+ ERROR1 (27);
+ if (!mpfr_fits_sint_p (x, (mpfr_rnd_t) r))
+ ERROR1 (28);
+ if (!mpfr_fits_ushort_p (x, (mpfr_rnd_t) r))
+ ERROR1 (29);
+ if (!mpfr_fits_sshort_p (x, (mpfr_rnd_t) r))
+ ERROR1 (30);
- mpfr_set_ui (x, ULONG_MAX, MPFR_RNDN);
- if (!mpfr_fits_ulong_p (x, MPFR_RNDN))
- ERROR2;
- mpfr_set_ui (x, LONG_MAX, MPFR_RNDN);
- if (!mpfr_fits_slong_p (x, MPFR_RNDN))
- ERROR2;
- mpfr_set_ui (x, UINT_MAX, MPFR_RNDN);
- if (!mpfr_fits_uint_p (x, MPFR_RNDN))
- ERROR2;
- mpfr_set_ui (x, INT_MAX, MPFR_RNDN);
- if (!mpfr_fits_sint_p (x, MPFR_RNDN))
- ERROR2;
- mpfr_set_ui (x, USHRT_MAX, MPFR_RNDN);
- if (!mpfr_fits_ushort_p (x, MPFR_RNDN))
- ERROR2;
- mpfr_set_ui (x, SHRT_MAX, MPFR_RNDN);
- if (!mpfr_fits_sshort_p (x, MPFR_RNDN))
- ERROR2;
+ /* Check all other values */
+ mpfr_set_ui (x, ULONG_MAX, MPFR_RNDN);
+ mpfr_mul_2exp (x, x, 1, MPFR_RNDN);
+ if (mpfr_fits_ulong_p (x, (mpfr_rnd_t) r))
+ ERROR1 (31);
+ if (mpfr_fits_slong_p (x, (mpfr_rnd_t) r))
+ ERROR1 (32);
+ mpfr_mul_2exp (x, x, 40, MPFR_RNDN);
+ if (mpfr_fits_ulong_p (x, (mpfr_rnd_t) r))
+ ERROR1 (33);
+ if (mpfr_fits_uint_p (x, (mpfr_rnd_t) r))
+ ERROR1 (34);
+ if (mpfr_fits_sint_p (x, (mpfr_rnd_t) r))
+ ERROR1 (35);
+ if (mpfr_fits_ushort_p (x, (mpfr_rnd_t) r))
+ ERROR1 (36);
+ if (mpfr_fits_sshort_p (x, (mpfr_rnd_t) r))
+ ERROR1 (37);
- mpfr_set_si (x, 1, MPFR_RNDN);
- if (!mpfr_fits_sint_p (x, MPFR_RNDN))
- ERROR2;
- if (!mpfr_fits_sshort_p (x, MPFR_RNDN))
- ERROR2;
+ mpfr_set_ui (x, ULONG_MAX, MPFR_RNDN);
+ if (!mpfr_fits_ulong_p (x, (mpfr_rnd_t) r))
+ ERROR1 (38);
+ mpfr_set_ui (x, LONG_MAX, MPFR_RNDN);
+ if (!mpfr_fits_slong_p (x, (mpfr_rnd_t) r))
+ ERROR1 (39);
+ mpfr_set_ui (x, UINT_MAX, MPFR_RNDN);
+ if (!mpfr_fits_uint_p (x, (mpfr_rnd_t) r))
+ ERROR1 (40);
+ mpfr_set_ui (x, INT_MAX, MPFR_RNDN);
+ if (!mpfr_fits_sint_p (x, (mpfr_rnd_t) r))
+ ERROR1 (41);
+ mpfr_set_ui (x, USHRT_MAX, MPFR_RNDN);
+ if (!mpfr_fits_ushort_p (x, (mpfr_rnd_t) r))
+ ERROR1 (42);
+ mpfr_set_ui (x, SHRT_MAX, MPFR_RNDN);
+ if (!mpfr_fits_sshort_p (x, (mpfr_rnd_t) r))
+ ERROR1 (43);
- /* Check negative value */
- mpfr_set_si (x, -1, MPFR_RNDN);
- if (!mpfr_fits_sint_p (x, MPFR_RNDN))
- ERROR2;
- if (!mpfr_fits_sshort_p (x, MPFR_RNDN))
- ERROR2;
- if (!mpfr_fits_slong_p (x, MPFR_RNDN))
- ERROR2;
- if (mpfr_fits_uint_p (x, MPFR_RNDN))
- ERROR1;
- if (mpfr_fits_ushort_p (x, MPFR_RNDN))
- ERROR1;
- if (mpfr_fits_ulong_p (x, MPFR_RNDN))
- ERROR1;
+ mpfr_set_si (x, 1, MPFR_RNDN);
+ if (!mpfr_fits_sint_p (x, (mpfr_rnd_t) r))
+ ERROR1 (44);
+ if (!mpfr_fits_sshort_p (x, (mpfr_rnd_t) r))
+ ERROR1 (45);
+
+ /* Check negative op */
+ for (i = 1; i <= 4; i++)
+ {
+ int inv;
+
+ mpfr_set_si_2exp (x, -i, -2, MPFR_RNDN);
+ mpfr_rint (y, x, (mpfr_rnd_t) r);
+ inv = MPFR_NOTZERO (y);
+ if (!mpfr_fits_ulong_p (x, (mpfr_rnd_t) r) ^ inv)
+ ERROR1 (46);
+ if (!mpfr_fits_slong_p (x, (mpfr_rnd_t) r))
+ ERROR1 (47);
+ if (!mpfr_fits_uint_p (x, (mpfr_rnd_t) r) ^ inv)
+ ERROR1 (48);
+ if (!mpfr_fits_sint_p (x, (mpfr_rnd_t) r))
+ ERROR1 (49);
+ if (!mpfr_fits_ushort_p (x, (mpfr_rnd_t) r) ^ inv)
+ ERROR1 (50);
+ if (!mpfr_fits_sshort_p (x, (mpfr_rnd_t) r))
+ ERROR1 (51);
+ }
+ }
mpfr_clear (x);
+ mpfr_clear (y);
check_intmax ();
@@ -189,85 +210,98 @@
return 0;
}
-static void check_intmax (void)
+static void
+check_intmax (void)
{
#ifdef _MPFR_H_HAVE_INTMAX_T
- mpfr_t x;
+ mpfr_t x, y;
+ int i, r;
- mpfr_init2 (x, sizeof (uintmax_t)*CHAR_BIT);
+ mpfr_init2 (x, sizeof (uintmax_t) * CHAR_BIT);
+ mpfr_init2 (y, 8);
- /* Check NAN */
- mpfr_set_nan (x);
- if (mpfr_fits_uintmax_p (x, MPFR_RNDN))
- ERROR1;
- if (mpfr_fits_intmax_p (x, MPFR_RNDN))
- ERROR1;
+ RND_LOOP (r)
+ {
+ /* Check NAN */
+ mpfr_set_nan (x);
+ if (mpfr_fits_uintmax_p (x, (mpfr_rnd_t) r))
+ ERROR1 (52);
+ if (mpfr_fits_intmax_p (x, (mpfr_rnd_t) r))
+ ERROR1 (53);
- /* Check INF */
- mpfr_set_inf (x, 1);
- if (mpfr_fits_uintmax_p (x, MPFR_RNDN))
- ERROR1;
- if (mpfr_fits_intmax_p (x, MPFR_RNDN))
- ERROR1;
+ /* Check INF */
+ mpfr_set_inf (x, 1);
+ if (mpfr_fits_uintmax_p (x, (mpfr_rnd_t) r))
+ ERROR1 (54);
+ if (mpfr_fits_intmax_p (x, (mpfr_rnd_t) r))
+ ERROR1 (55);
- /* Check Zero */
- MPFR_SET_ZERO (x);
- if (!mpfr_fits_uintmax_p (x, MPFR_RNDN))
- ERROR2;
- if (!mpfr_fits_intmax_p (x, MPFR_RNDN))
- ERROR2;
+ /* Check Zero */
+ MPFR_SET_ZERO (x);
+ if (!mpfr_fits_uintmax_p (x, (mpfr_rnd_t) r))
+ ERROR1 (56);
+ if (!mpfr_fits_intmax_p (x, (mpfr_rnd_t) r))
+ ERROR1 (57);
- /* Check small op */
- mpfr_set_str1 (x, "1@-1");
- if (!mpfr_fits_uintmax_p (x, MPFR_RNDN))
- ERROR2;
- if (!mpfr_fits_intmax_p (x, MPFR_RNDN))
- ERROR2;
+ /* Check positive small op */
+ mpfr_set_str1 (x, "1@-1");
+ if (!mpfr_fits_uintmax_p (x, (mpfr_rnd_t) r))
+ ERROR1 (58);
+ if (!mpfr_fits_intmax_p (x, (mpfr_rnd_t) r))
+ ERROR1 (59);
- /* Check 17 */
- mpfr_set_ui (x, 17, MPFR_RNDN);
- if (!mpfr_fits_uintmax_p (x, MPFR_RNDN))
- ERROR2;
- if (!mpfr_fits_intmax_p (x, MPFR_RNDN))
- ERROR2;
+ /* Check 17 */
+ mpfr_set_ui (x, 17, MPFR_RNDN);
+ if (!mpfr_fits_uintmax_p (x, (mpfr_rnd_t) r))
+ ERROR1 (60);
+ if (!mpfr_fits_intmax_p (x, (mpfr_rnd_t) r))
+ ERROR1 (61);
- /* Check hugest */
- mpfr_set_ui_2exp (x, 42, sizeof (uintmax_t) * 32, MPFR_RNDN);
- if (mpfr_fits_uintmax_p (x, MPFR_RNDN))
- ERROR1;
- if (mpfr_fits_intmax_p (x, MPFR_RNDN))
- ERROR1;
+ /* Check hugest */
+ mpfr_set_ui_2exp (x, 42, sizeof (uintmax_t) * 32, MPFR_RNDN);
+ if (mpfr_fits_uintmax_p (x, (mpfr_rnd_t) r))
+ ERROR1 (62);
+ if (mpfr_fits_intmax_p (x, (mpfr_rnd_t) r))
+ ERROR1 (63);
- /* Check all other values */
- mpfr_set_uj (x, MPFR_UINTMAX_MAX, MPFR_RNDN);
- mpfr_add_ui (x, x, 1, MPFR_RNDN);
- if (mpfr_fits_uintmax_p (x, MPFR_RNDN))
- ERROR1;
- mpfr_set_uj (x, MPFR_UINTMAX_MAX, MPFR_RNDN);
- if (!mpfr_fits_uintmax_p (x, MPFR_RNDN))
- ERROR2;
- mpfr_set_sj (x, MPFR_INTMAX_MAX, MPFR_RNDN);
- mpfr_add_ui (x, x, 1, MPFR_RNDN);
- if (mpfr_fits_intmax_p (x, MPFR_RNDN))
- ERROR1;
- mpfr_set_sj (x, MPFR_INTMAX_MAX, MPFR_RNDN);
- if (!mpfr_fits_intmax_p (x, MPFR_RNDN))
- ERROR2;
- mpfr_set_sj (x, MPFR_INTMAX_MIN, MPFR_RNDN);
- if (!mpfr_fits_intmax_p (x, MPFR_RNDN))
- ERROR2;
- mpfr_sub_ui (x, x, 1, MPFR_RNDN);
- if (mpfr_fits_intmax_p (x, MPFR_RNDN))
- ERROR1;
+ /* Check all other values */
+ mpfr_set_uj (x, MPFR_UINTMAX_MAX, MPFR_RNDN);
+ mpfr_add_ui (x, x, 1, MPFR_RNDN);
+ if (mpfr_fits_uintmax_p (x, (mpfr_rnd_t) r))
+ ERROR1 (64);
+ mpfr_set_uj (x, MPFR_UINTMAX_MAX, MPFR_RNDN);
+ if (!mpfr_fits_uintmax_p (x, (mpfr_rnd_t) r))
+ ERROR1 (65);
+ mpfr_set_sj (x, MPFR_INTMAX_MAX, MPFR_RNDN);
+ mpfr_add_ui (x, x, 1, MPFR_RNDN);
+ if (mpfr_fits_intmax_p (x, (mpfr_rnd_t) r))
+ ERROR1 (66);
+ mpfr_set_sj (x, MPFR_INTMAX_MAX, MPFR_RNDN);
+ if (!mpfr_fits_intmax_p (x, (mpfr_rnd_t) r))
+ ERROR1 (67);
+ mpfr_set_sj (x, MPFR_INTMAX_MIN, MPFR_RNDN);
+ if (!mpfr_fits_intmax_p (x, (mpfr_rnd_t) r))
+ ERROR1 (68);
+ mpfr_sub_ui (x, x, 1, MPFR_RNDN);
+ if (mpfr_fits_intmax_p (x, (mpfr_rnd_t) r))
+ ERROR1 (69);
- /* Check negative value */
- mpfr_set_si (x, -1, MPFR_RNDN);
- if (!mpfr_fits_intmax_p (x, MPFR_RNDN))
- ERROR2;
- if (mpfr_fits_uintmax_p (x, MPFR_RNDN))
- ERROR1;
+ /* Check negative op */
+ for (i = 1; i <= 4; i++)
+ {
+ int inv;
+
+ mpfr_set_si_2exp (x, -i, -2, MPFR_RNDN);
+ mpfr_rint (y, x, (mpfr_rnd_t) r);
+ inv = MPFR_NOTZERO (y);
+ if (!mpfr_fits_uintmax_p (x, (mpfr_rnd_t) r) ^ inv)
+ ERROR1 (70);
+ if (!mpfr_fits_intmax_p (x, (mpfr_rnd_t) r))
+ ERROR1 (71);
+ }
+ }
mpfr_clear (x);
+ mpfr_clear (y);
#endif
}
-

View File

@ -0,0 +1,129 @@
diff -Naurd mpfr-3.1.2-a/PATCHES mpfr-3.1.2-b/PATCHES
--- mpfr-3.1.2-a/PATCHES 2013-10-09 13:34:21.000000000 +0000
+++ mpfr-3.1.2-b/PATCHES 2013-10-09 13:34:21.000000000 +0000
@@ -0,0 +1 @@
+clang-divby0
diff -Naurd mpfr-3.1.2-a/VERSION mpfr-3.1.2-b/VERSION
--- mpfr-3.1.2-a/VERSION 2013-09-26 10:52:52.000000000 +0000
+++ mpfr-3.1.2-b/VERSION 2013-10-09 13:34:21.000000000 +0000
@@ -1 +1 @@
-3.1.2-p2
+3.1.2-p3
diff -Naurd mpfr-3.1.2-a/src/mpfr-impl.h mpfr-3.1.2-b/src/mpfr-impl.h
--- mpfr-3.1.2-a/src/mpfr-impl.h 2013-03-13 15:37:36.000000000 +0000
+++ mpfr-3.1.2-b/src/mpfr-impl.h 2013-10-09 13:34:21.000000000 +0000
@@ -468,8 +468,16 @@
#define MPFR_LIMBS_PER_FLT ((IEEE_FLT_MANT_DIG-1)/GMP_NUMB_BITS+1)
/* Visual C++ doesn't support +1.0/0.0, -1.0/0.0 and 0.0/0.0
- at compile time. */
-#if defined(_MSC_VER) && defined(_WIN32) && (_MSC_VER >= 1200)
+ at compile time.
+ Clang with -fsanitize=undefined is a bit similar due to a bug:
+ http://llvm.org/bugs/show_bug.cgi?id=17381
+ but even without its sanitizer, it may be better to use the
+ double_zero version until IEEE 754 division by zero is properly
+ supported:
+ http://llvm.org/bugs/show_bug.cgi?id=17000
+*/
+#if (defined(_MSC_VER) && defined(_WIN32) && (_MSC_VER >= 1200)) || \
+ defined(__clang__)
static double double_zero = 0.0;
# define DBL_NAN (double_zero/double_zero)
# define DBL_POS_INF ((double) 1.0/double_zero)
@@ -501,6 +509,8 @@
(with Xcode 2.4.1, i.e. the latest one). */
#define LVALUE(x) (&(x) == &(x) || &(x) != &(x))
#define DOUBLE_ISINF(x) (LVALUE(x) && ((x) > DBL_MAX || (x) < -DBL_MAX))
+/* The DOUBLE_ISNAN(x) macro is also valid on long double x
+ (assuming that the compiler isn't too broken). */
#ifdef MPFR_NANISNAN
/* Avoid MIPSpro / IRIX64 / gcc -ffast-math (incorrect) optimizations.
The + must not be replaced by a ||. With gcc -ffast-math, NaN is
diff -Naurd mpfr-3.1.2-a/src/mpfr.h mpfr-3.1.2-b/src/mpfr.h
--- mpfr-3.1.2-a/src/mpfr.h 2013-09-26 10:52:52.000000000 +0000
+++ mpfr-3.1.2-b/src/mpfr.h 2013-10-09 13:34:21.000000000 +0000
@@ -27,7 +27,7 @@
#define MPFR_VERSION_MAJOR 3
#define MPFR_VERSION_MINOR 1
#define MPFR_VERSION_PATCHLEVEL 2
-#define MPFR_VERSION_STRING "3.1.2-p2"
+#define MPFR_VERSION_STRING "3.1.2-p3"
/* Macros dealing with MPFR VERSION */
#define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
diff -Naurd mpfr-3.1.2-a/src/version.c mpfr-3.1.2-b/src/version.c
--- mpfr-3.1.2-a/src/version.c 2013-09-26 10:52:52.000000000 +0000
+++ mpfr-3.1.2-b/src/version.c 2013-10-09 13:34:21.000000000 +0000
@@ -25,5 +25,5 @@
const char *
mpfr_get_version (void)
{
- return "3.1.2-p2";
+ return "3.1.2-p3";
}
diff -Naurd mpfr-3.1.2-a/tests/tget_flt.c mpfr-3.1.2-b/tests/tget_flt.c
--- mpfr-3.1.2-a/tests/tget_flt.c 2013-03-13 15:37:44.000000000 +0000
+++ mpfr-3.1.2-b/tests/tget_flt.c 2013-10-09 13:34:21.000000000 +0000
@@ -28,9 +28,17 @@
main (void)
{
mpfr_t x, y;
- float f, g, infp;
+ float f, g;
int i;
+#if !defined(MPFR_ERRDIVZERO)
+ float infp;
+#endif
+
+ tests_start_mpfr ();
+#if !defined(MPFR_ERRDIVZERO)
+ /* The definition of DBL_POS_INF involves a division by 0. This makes
+ "clang -O2 -fsanitize=undefined -fno-sanitize-recover" fail. */
infp = (float) DBL_POS_INF;
if (infp * 0.5 != infp)
{
@@ -38,8 +46,7 @@
fprintf (stderr, "(this is probably a compiler bug, please report)\n");
exit (1);
}
-
- tests_start_mpfr ();
+#endif
mpfr_init2 (x, 24);
mpfr_init2 (y, 24);
@@ -353,6 +360,7 @@
printf ("expected %.8e, got %.8e\n", g, f);
exit (1);
}
+#if !defined(MPFR_ERRDIVZERO)
f = mpfr_get_flt (x, MPFR_RNDN); /* first round to 2^128 (even rule),
thus we should get +Inf */
g = infp;
@@ -376,6 +384,7 @@
printf ("expected %.8e, got %.8e\n", g, f);
exit (1);
}
+#endif
mpfr_clear (x);
mpfr_clear (y);
diff -Naurd mpfr-3.1.2-a/tests/tset_ld.c mpfr-3.1.2-b/tests/tset_ld.c
--- mpfr-3.1.2-a/tests/tset_ld.c 2013-03-13 15:37:44.000000000 +0000
+++ mpfr-3.1.2-b/tests/tset_ld.c 2013-10-09 13:34:21.000000000 +0000
@@ -47,8 +47,11 @@
static int
Isnan_ld (long double d)
{
- double e = (double) d;
- if (DOUBLE_ISNAN (e))
+ /* Do not convert d to double as this can give an overflow, which
+ may confuse compilers without IEEE 754 support (such as clang
+ -fsanitize=undefined), or trigger a trap if enabled.
+ The DOUBLE_ISNAN macro should work fine on long double. */
+ if (DOUBLE_ISNAN (d))
return 1;
LONGDOUBLE_NAN_ACTION (d, goto yes);
return 0;

View File

@ -0,0 +1,84 @@
diff -Naurd mpfr-3.1.2-a/PATCHES mpfr-3.1.2-b/PATCHES
--- mpfr-3.1.2-a/PATCHES 2013-11-15 00:51:49.211333830 +0000
+++ mpfr-3.1.2-b/PATCHES 2013-11-15 00:51:49.323334999 +0000
@@ -0,0 +1 @@
+printf-alt0
diff -Naurd mpfr-3.1.2-a/VERSION mpfr-3.1.2-b/VERSION
--- mpfr-3.1.2-a/VERSION 2013-11-15 00:51:49.211333830 +0000
+++ mpfr-3.1.2-b/VERSION 2013-11-15 00:51:49.323334999 +0000
@@ -1 +1 @@
-3.1.2-p3
+3.1.2-p4
diff -Naurd mpfr-3.1.2-a/src/mpfr.h mpfr-3.1.2-b/src/mpfr.h
--- mpfr-3.1.2-a/src/mpfr.h 2013-11-15 00:51:49.211333830 +0000
+++ mpfr-3.1.2-b/src/mpfr.h 2013-11-15 00:51:49.323334999 +0000
@@ -27,7 +27,7 @@
#define MPFR_VERSION_MAJOR 3
#define MPFR_VERSION_MINOR 1
#define MPFR_VERSION_PATCHLEVEL 2
-#define MPFR_VERSION_STRING "3.1.2-p3"
+#define MPFR_VERSION_STRING "3.1.2-p4"
/* Macros dealing with MPFR VERSION */
#define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
diff -Naurd mpfr-3.1.2-a/src/vasprintf.c mpfr-3.1.2-b/src/vasprintf.c
--- mpfr-3.1.2-a/src/vasprintf.c 2013-03-13 15:37:37.000000000 +0000
+++ mpfr-3.1.2-b/src/vasprintf.c 2013-11-15 00:51:49.267334408 +0000
@@ -1040,7 +1040,7 @@
}
/* Determine the different parts of the string representation of the regular
- number P when SPEC.SPEC is 'e', 'E', 'g', or 'G'.
+ number P when spec.spec is 'e', 'E', 'g', or 'G'.
DEC_INFO contains the previously computed exponent and string or is NULL.
return -1 if some field > INT_MAX */
@@ -1167,7 +1167,7 @@
}
/* Determine the different parts of the string representation of the regular
- number P when SPEC.SPEC is 'f', 'F', 'g', or 'G'.
+ number P when spec.spec is 'f', 'F', 'g', or 'G'.
DEC_INFO contains the previously computed exponent and string or is NULL.
return -1 if some field of number_parts is greater than INT_MAX */
@@ -1559,7 +1559,7 @@
/* fractional part */
{
np->point = MPFR_DECIMAL_POINT;
- np->fp_trailing_zeros = (spec.spec == 'g' && spec.spec == 'G') ?
+ np->fp_trailing_zeros = (spec.spec == 'g' || spec.spec == 'G') ?
spec.prec - 1 : spec.prec;
}
else if (spec.alt)
diff -Naurd mpfr-3.1.2-a/src/version.c mpfr-3.1.2-b/src/version.c
--- mpfr-3.1.2-a/src/version.c 2013-11-15 00:51:49.211333830 +0000
+++ mpfr-3.1.2-b/src/version.c 2013-11-15 00:51:49.323334999 +0000
@@ -25,5 +25,5 @@
const char *
mpfr_get_version (void)
{
- return "3.1.2-p3";
+ return "3.1.2-p4";
}
diff -Naurd mpfr-3.1.2-a/tests/tsprintf.c mpfr-3.1.2-b/tests/tsprintf.c
--- mpfr-3.1.2-a/tests/tsprintf.c 2013-03-13 15:37:44.000000000 +0000
+++ mpfr-3.1.2-b/tests/tsprintf.c 2013-11-15 00:51:49.267334408 +0000
@@ -456,10 +456,16 @@
check_sprintf ("1.999900 ", "%-#10.7RG", x);
check_sprintf ("1.9999 ", "%-10.7RG", x);
mpfr_set_ui (x, 1, MPFR_RNDN);
+ check_sprintf ("1.", "%#.1Rg", x);
+ check_sprintf ("1. ", "%-#5.1Rg", x);
+ check_sprintf (" 1.0", "%#5.2Rg", x);
check_sprintf ("1.00000000000000000000000000000", "%#.30Rg", x);
check_sprintf ("1", "%.30Rg", x);
mpfr_set_ui (x, 0, MPFR_RNDN);
- check_sprintf ("0.000000000000000000000000000000", "%#.30Rg", x);
+ check_sprintf ("0.", "%#.1Rg", x);
+ check_sprintf ("0. ", "%-#5.1Rg", x);
+ check_sprintf (" 0.0", "%#5.2Rg", x);
+ check_sprintf ("0.00000000000000000000000000000", "%#.30Rg", x);
check_sprintf ("0", "%.30Rg", x);
/* following tests with precision 53 bits */

View File

@ -0,0 +1,42 @@
diff -Naurd mpfr-3.1.2-a/PATCHES mpfr-3.1.2-b/PATCHES
--- mpfr-3.1.2-a/PATCHES 2013-12-01 11:07:49.575329762 +0000
+++ mpfr-3.1.2-b/PATCHES 2013-12-01 11:07:49.751331625 +0000
@@ -0,0 +1 @@
+custom_init_set
diff -Naurd mpfr-3.1.2-a/VERSION mpfr-3.1.2-b/VERSION
--- mpfr-3.1.2-a/VERSION 2013-12-01 11:07:49.571329714 +0000
+++ mpfr-3.1.2-b/VERSION 2013-12-01 11:07:49.747331585 +0000
@@ -1 +1 @@
-3.1.2-p4
+3.1.2-p5
diff -Naurd mpfr-3.1.2-a/src/mpfr.h mpfr-3.1.2-b/src/mpfr.h
--- mpfr-3.1.2-a/src/mpfr.h 2013-12-01 11:07:49.571329714 +0000
+++ mpfr-3.1.2-b/src/mpfr.h 2013-12-01 11:07:49.747331585 +0000
@@ -27,7 +27,7 @@
#define MPFR_VERSION_MAJOR 3
#define MPFR_VERSION_MINOR 1
#define MPFR_VERSION_PATCHLEVEL 2
-#define MPFR_VERSION_STRING "3.1.2-p4"
+#define MPFR_VERSION_STRING "3.1.2-p5"
/* Macros dealing with MPFR VERSION */
#define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
@@ -861,7 +861,7 @@
_t = (mpfr_kind_t) _k; \
_s = 1; \
} else { \
- _t = (mpfr_kind_t) -k; \
+ _t = (mpfr_kind_t) - _k; \
_s = -1; \
} \
_e = _t == MPFR_REGULAR_KIND ? (e) : \
diff -Naurd mpfr-3.1.2-a/src/version.c mpfr-3.1.2-b/src/version.c
--- mpfr-3.1.2-a/src/version.c 2013-12-01 11:07:49.575329762 +0000
+++ mpfr-3.1.2-b/src/version.c 2013-12-01 11:07:49.747331585 +0000
@@ -25,5 +25,5 @@
const char *
mpfr_get_version (void)
{
- return "3.1.2-p4";
+ return "3.1.2-p5";
}

View File

@ -0,0 +1,43 @@
diff -Naurd mpfr-3.1.2-a/PATCHES mpfr-3.1.2-b/PATCHES
--- mpfr-3.1.2-a/PATCHES 2014-04-15 21:56:49.609057464 +0000
+++ mpfr-3.1.2-b/PATCHES 2014-04-15 21:56:49.697059857 +0000
@@ -0,0 +1 @@
+li2-return
diff -Naurd mpfr-3.1.2-a/VERSION mpfr-3.1.2-b/VERSION
--- mpfr-3.1.2-a/VERSION 2014-04-15 21:56:49.609057464 +0000
+++ mpfr-3.1.2-b/VERSION 2014-04-15 21:56:49.697059857 +0000
@@ -1 +1 @@
-3.1.2-p5
+3.1.2-p6
diff -Naurd mpfr-3.1.2-a/src/li2.c mpfr-3.1.2-b/src/li2.c
--- mpfr-3.1.2-a/src/li2.c 2013-03-13 15:37:32.000000000 +0000
+++ mpfr-3.1.2-b/src/li2.c 2014-04-15 21:56:49.653058661 +0000
@@ -630,5 +630,5 @@
return mpfr_check_range (y, inexact, rnd_mode);
}
- MPFR_ASSERTN (0); /* should never reach this point */
+ MPFR_RET_NEVER_GO_HERE ();
}
diff -Naurd mpfr-3.1.2-a/src/mpfr.h mpfr-3.1.2-b/src/mpfr.h
--- mpfr-3.1.2-a/src/mpfr.h 2014-04-15 21:56:49.609057464 +0000
+++ mpfr-3.1.2-b/src/mpfr.h 2014-04-15 21:56:49.697059857 +0000
@@ -27,7 +27,7 @@
#define MPFR_VERSION_MAJOR 3
#define MPFR_VERSION_MINOR 1
#define MPFR_VERSION_PATCHLEVEL 2
-#define MPFR_VERSION_STRING "3.1.2-p5"
+#define MPFR_VERSION_STRING "3.1.2-p6"
/* Macros dealing with MPFR VERSION */
#define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
diff -Naurd mpfr-3.1.2-a/src/version.c mpfr-3.1.2-b/src/version.c
--- mpfr-3.1.2-a/src/version.c 2014-04-15 21:56:49.609057464 +0000
+++ mpfr-3.1.2-b/src/version.c 2014-04-15 21:56:49.697059857 +0000
@@ -25,5 +25,5 @@
const char *
mpfr_get_version (void)
{
- return "3.1.2-p5";
+ return "3.1.2-p6";
}

View File

@ -0,0 +1,71 @@
diff -Naurd mpfr-3.1.2-a/PATCHES mpfr-3.1.2-b/PATCHES
--- mpfr-3.1.2-a/PATCHES 2014-04-15 22:04:57.090286262 +0000
+++ mpfr-3.1.2-b/PATCHES 2014-04-15 22:04:57.162288198 +0000
@@ -0,0 +1 @@
+exp3
diff -Naurd mpfr-3.1.2-a/VERSION mpfr-3.1.2-b/VERSION
--- mpfr-3.1.2-a/VERSION 2014-04-15 22:04:57.086286154 +0000
+++ mpfr-3.1.2-b/VERSION 2014-04-15 22:04:57.162288198 +0000
@@ -1 +1 @@
-3.1.2-p6
+3.1.2-p7
diff -Naurd mpfr-3.1.2-a/src/exp3.c mpfr-3.1.2-b/src/exp3.c
--- mpfr-3.1.2-a/src/exp3.c 2013-03-13 15:37:34.000000000 +0000
+++ mpfr-3.1.2-b/src/exp3.c 2014-04-15 22:04:57.126287230 +0000
@@ -283,7 +283,7 @@
}
}
- if (mpfr_can_round (shift_x > 0 ? t : tmp, realprec, MPFR_RNDD, MPFR_RNDZ,
+ if (mpfr_can_round (shift_x > 0 ? t : tmp, realprec, MPFR_RNDN, MPFR_RNDZ,
MPFR_PREC(y) + (rnd_mode == MPFR_RNDN)))
{
inexact = mpfr_set (y, shift_x > 0 ? t : tmp, rnd_mode);
diff -Naurd mpfr-3.1.2-a/src/mpfr.h mpfr-3.1.2-b/src/mpfr.h
--- mpfr-3.1.2-a/src/mpfr.h 2014-04-15 22:04:57.086286154 +0000
+++ mpfr-3.1.2-b/src/mpfr.h 2014-04-15 22:04:57.162288198 +0000
@@ -27,7 +27,7 @@
#define MPFR_VERSION_MAJOR 3
#define MPFR_VERSION_MINOR 1
#define MPFR_VERSION_PATCHLEVEL 2
-#define MPFR_VERSION_STRING "3.1.2-p6"
+#define MPFR_VERSION_STRING "3.1.2-p7"
/* Macros dealing with MPFR VERSION */
#define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
diff -Naurd mpfr-3.1.2-a/src/version.c mpfr-3.1.2-b/src/version.c
--- mpfr-3.1.2-a/src/version.c 2014-04-15 22:04:57.090286262 +0000
+++ mpfr-3.1.2-b/src/version.c 2014-04-15 22:04:57.162288198 +0000
@@ -25,5 +25,5 @@
const char *
mpfr_get_version (void)
{
- return "3.1.2-p6";
+ return "3.1.2-p7";
}
diff -Naurd mpfr-3.1.2-a/tests/texp.c mpfr-3.1.2-b/tests/texp.c
--- mpfr-3.1.2-a/tests/texp.c 2013-03-13 15:37:44.000000000 +0000
+++ mpfr-3.1.2-b/tests/texp.c 2014-04-15 22:04:57.126287230 +0000
@@ -150,6 +150,22 @@
exit (1);
}
+ mpfr_set_prec (x, 118);
+ mpfr_set_str_binary (x, "0.1110010100011101010000111110011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-86");
+ mpfr_set_prec (y, 118);
+ mpfr_exp_2 (y, x, MPFR_RNDU);
+ mpfr_exp_3 (x, x, MPFR_RNDU);
+ if (mpfr_cmp (x, y))
+ {
+ printf ("mpfr_exp_2 and mpfr_exp_3 differ for prec=118\n");
+ printf ("mpfr_exp_2 gives ");
+ mpfr_out_str (stdout, 2, 0, y, MPFR_RNDN);
+ printf ("\nmpfr_exp_3 gives ");
+ mpfr_out_str (stdout, 2, 0, x, MPFR_RNDN);
+ printf ("\n");
+ exit (1);
+ }
+
mpfr_clear (x);
mpfr_clear (y);
return 0;

View File

@ -0,0 +1,254 @@
diff -Naurd mpfr-3.1.2-a/PATCHES mpfr-3.1.2-b/PATCHES
--- mpfr-3.1.2-a/PATCHES 2014-04-15 22:20:32.243481506 +0000
+++ mpfr-3.1.2-b/PATCHES 2014-04-15 22:22:32.418722707 +0000
@@ -0,0 +1 @@
+gmp6-compat
diff -Naurd mpfr-3.1.2-a/VERSION mpfr-3.1.2-b/VERSION
--- mpfr-3.1.2-a/VERSION 2014-04-15 22:20:20.755171478 +0000
+++ mpfr-3.1.2-b/VERSION 2014-04-15 22:21:45.225450147 +0000
@@ -1 +1 @@
-3.1.2-p7
+3.1.2-p8
diff -Naurd mpfr-3.1.2-a/configure mpfr-3.1.2-b/configure
--- mpfr-3.1.2-a/configure 2013-03-13 15:38:20.000000000 +0000
+++ mpfr-3.1.2-b/configure 2014-04-15 22:21:38.821277476 +0000
@@ -14545,26 +14545,30 @@
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
-if test "$use_gmp_build" = yes ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for valid GMP_NUMB_BITS" >&5
-$as_echo_n "checking for valid GMP_NUMB_BITS... " >&6; }
- if test "$cross_compiling" = yes; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GMP_NUMB_BITS and sizeof(mp_limb_t) consistency" >&5
+$as_echo_n "checking for GMP_NUMB_BITS and sizeof(mp_limb_t) consistency... " >&6; }
+if test "$cross_compiling" = yes; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: can't test" >&5
$as_echo "can't test" >&6; }
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
+#include <stdio.h>
#include <limits.h>
#include "gmp.h"
-#include "gmp-impl.h"
int
main ()
{
- return GMP_NUMB_BITS == BYTES_PER_MP_LIMB * CHAR_BIT
- && sizeof(mp_limb_t) == BYTES_PER_MP_LIMB ? 0 : 1;
+ if (GMP_NUMB_BITS == sizeof(mp_limb_t) * CHAR_BIT)
+ return 0;
+ fprintf (stderr, "GMP_NUMB_BITS = %ld\n", (long) GMP_NUMB_BITS);
+ fprintf (stderr, "sizeof(mp_limb_t) = %ld\n", (long) sizeof(mp_limb_t));
+ fprintf (stderr, "sizeof(mp_limb_t) * CHAR_BIT = %ld != GMP_NUMB_BITS\n",
+ (long) (sizeof(mp_limb_t) * CHAR_BIT));
+ return 1;
;
return 0;
@@ -14577,14 +14581,14 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
- as_fn_error $? "GMP_NUMB_BITS is incorrect.
-You probably need to change some of the GMP or MPFR compile options." "$LINENO" 5
+ as_fn_error $? "GMP_NUMB_BITS and sizeof(mp_limb_t) are not consistent.
+You probably need to change some of the GMP or MPFR compile options.
+See 'config.log' for details (search for GMP_NUMB_BITS)." "$LINENO" 5
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
-fi
if test "$dont_link_with_gmp" = yes ; then
diff -Naurd mpfr-3.1.2-a/configure.ac mpfr-3.1.2-b/configure.ac
--- mpfr-3.1.2-a/configure.ac 2013-03-13 15:37:46.000000000 +0000
+++ mpfr-3.1.2-b/configure.ac 2013-03-13 15:37:46.000000000 +0000
@@ -435,23 +435,29 @@
])
fi
-dnl Check for valid GMP_NUMB_BITS and BYTES_PER_MP_LIMB
+dnl Check for GMP_NUMB_BITS and sizeof(mp_limb_t) consistency.
+dnl Problems may occur if gmp.h was generated with some ABI
+dnl and is used with another ABI (or if nails are used).
dnl This test doesn't need to link with libgmp (at least it shouldn't).
-if test "$use_gmp_build" = yes ; then
- AC_MSG_CHECKING(for valid GMP_NUMB_BITS)
- AC_RUN_IFELSE([AC_LANG_PROGRAM([[
+AC_MSG_CHECKING(for GMP_NUMB_BITS and sizeof(mp_limb_t) consistency)
+AC_RUN_IFELSE([AC_LANG_PROGRAM([[
+#include <stdio.h>
#include <limits.h>
#include "gmp.h"
-#include "gmp-impl.h"
]], [[
- return GMP_NUMB_BITS == BYTES_PER_MP_LIMB * CHAR_BIT
- && sizeof(mp_limb_t) == BYTES_PER_MP_LIMB ? 0 : 1;
+ if (GMP_NUMB_BITS == sizeof(mp_limb_t) * CHAR_BIT)
+ return 0;
+ fprintf (stderr, "GMP_NUMB_BITS = %ld\n", (long) GMP_NUMB_BITS);
+ fprintf (stderr, "sizeof(mp_limb_t) = %ld\n", (long) sizeof(mp_limb_t));
+ fprintf (stderr, "sizeof(mp_limb_t) * CHAR_BIT = %ld != GMP_NUMB_BITS\n",
+ (long) (sizeof(mp_limb_t) * CHAR_BIT));
+ return 1;
]])], [AC_MSG_RESULT(yes)], [
AC_MSG_RESULT(no)
- AC_MSG_ERROR([GMP_NUMB_BITS is incorrect.
-You probably need to change some of the GMP or MPFR compile options.])],
+ AC_MSG_ERROR([GMP_NUMB_BITS and sizeof(mp_limb_t) are not consistent.
+You probably need to change some of the GMP or MPFR compile options.
+See 'config.log' for details (search for GMP_NUMB_BITS).])],
[AC_MSG_RESULT([can't test])])
-fi
dnl We really need to link using libtool. But it is impossible with the current
diff -Naurd mpfr-3.1.2-a/src/init2.c mpfr-3.1.2-b/src/init2.c
--- mpfr-3.1.2-a/src/init2.c 2013-03-13 15:37:32.000000000 +0000
+++ mpfr-3.1.2-b/src/init2.c 2014-04-15 22:21:06.220398489 +0000
@@ -30,11 +30,11 @@
/* Check if we can represent the number of limbs
* associated to the maximum of mpfr_prec_t*/
- MPFR_ASSERTN( MP_SIZE_T_MAX >= (MPFR_PREC_MAX/BYTES_PER_MP_LIMB) );
+ MPFR_ASSERTN( MP_SIZE_T_MAX >= (MPFR_PREC_MAX/MPFR_BYTES_PER_MP_LIMB) );
- /* Check for correct GMP_NUMB_BITS and BYTES_PER_MP_LIMB */
- MPFR_ASSERTN( GMP_NUMB_BITS == BYTES_PER_MP_LIMB * CHAR_BIT
- && sizeof(mp_limb_t) == BYTES_PER_MP_LIMB );
+ /* Check for correct GMP_NUMB_BITS and MPFR_BYTES_PER_MP_LIMB */
+ MPFR_ASSERTN( GMP_NUMB_BITS == MPFR_BYTES_PER_MP_LIMB * CHAR_BIT
+ && sizeof(mp_limb_t) == MPFR_BYTES_PER_MP_LIMB );
MPFR_ASSERTN (mp_bits_per_limb == GMP_NUMB_BITS);
diff -Naurd mpfr-3.1.2-a/src/mpfr-gmp.h mpfr-3.1.2-b/src/mpfr-gmp.h
--- mpfr-3.1.2-a/src/mpfr-gmp.h 2013-03-13 15:37:32.000000000 +0000
+++ mpfr-3.1.2-b/src/mpfr-gmp.h 2014-04-15 22:21:06.220398489 +0000
@@ -72,7 +72,6 @@
#endif
/* Define some macros */
-#define BYTES_PER_MP_LIMB (GMP_NUMB_BITS/CHAR_BIT)
#define MP_LIMB_T_MAX (~(mp_limb_t)0)
@@ -96,19 +95,19 @@
#define SHRT_HIGHBIT SHRT_MIN
/* MP_LIMB macros */
-#define MPN_ZERO(dst, n) memset((dst), 0, (n)*BYTES_PER_MP_LIMB)
-#define MPN_COPY_DECR(dst,src,n) memmove((dst),(src),(n)*BYTES_PER_MP_LIMB)
-#define MPN_COPY_INCR(dst,src,n) memmove((dst),(src),(n)*BYTES_PER_MP_LIMB)
+#define MPN_ZERO(dst, n) memset((dst), 0, (n)*MPFR_BYTES_PER_MP_LIMB)
+#define MPN_COPY_DECR(dst,src,n) memmove((dst),(src),(n)*MPFR_BYTES_PER_MP_LIMB)
+#define MPN_COPY_INCR(dst,src,n) memmove((dst),(src),(n)*MPFR_BYTES_PER_MP_LIMB)
#define MPN_COPY(dst,src,n) \
do \
{ \
if ((dst) != (src)) \
{ \
MPFR_ASSERTD ((char *) (dst) >= (char *) (src) + \
- (n) * BYTES_PER_MP_LIMB || \
+ (n) * MPFR_BYTES_PER_MP_LIMB || \
(char *) (src) >= (char *) (dst) + \
- (n) * BYTES_PER_MP_LIMB); \
- memcpy ((dst), (src), (n) * BYTES_PER_MP_LIMB); \
+ (n) * MPFR_BYTES_PER_MP_LIMB); \
+ memcpy ((dst), (src), (n) * MPFR_BYTES_PER_MP_LIMB); \
} \
} \
while (0)
diff -Naurd mpfr-3.1.2-a/src/mpfr-impl.h mpfr-3.1.2-b/src/mpfr-impl.h
--- mpfr-3.1.2-a/src/mpfr-impl.h 2013-10-09 13:34:21.000000000 +0000
+++ mpfr-3.1.2-b/src/mpfr-impl.h 2014-04-15 22:21:06.220398489 +0000
@@ -191,7 +191,7 @@
# endif
#endif
-
+#define MPFR_BYTES_PER_MP_LIMB (GMP_NUMB_BITS/CHAR_BIT)
/******************************************************
******************** Check GMP ***********************
@@ -930,7 +930,7 @@
#define MPFR_SET_ALLOC_SIZE(x, n) \
( ((mp_size_t*) MPFR_MANT(x))[-1] = n)
#define MPFR_MALLOC_SIZE(s) \
- ( sizeof(mpfr_size_limb_t) + BYTES_PER_MP_LIMB * ((size_t) s) )
+ ( sizeof(mpfr_size_limb_t) + MPFR_BYTES_PER_MP_LIMB * ((size_t) s) )
#define MPFR_SET_MANT_PTR(x,p) \
(MPFR_MANT(x) = (mp_limb_t*) ((mpfr_size_limb_t*) p + 1))
#define MPFR_GET_REAL_PTR(x) \
@@ -964,7 +964,7 @@
#endif
#define MPFR_TMP_LIMBS_ALLOC(N) \
- ((mp_limb_t *) MPFR_TMP_ALLOC ((size_t) (N) * BYTES_PER_MP_LIMB))
+ ((mp_limb_t *) MPFR_TMP_ALLOC ((size_t) (N) * MPFR_BYTES_PER_MP_LIMB))
/* temporary allocate 1 limb at xp, and initialize mpfr variable x */
/* The temporary var doesn't have any size field, but it doesn't matter
diff -Naurd mpfr-3.1.2-a/src/mpfr.h mpfr-3.1.2-b/src/mpfr.h
--- mpfr-3.1.2-a/src/mpfr.h 2014-04-15 22:20:20.755171478 +0000
+++ mpfr-3.1.2-b/src/mpfr.h 2014-04-15 22:21:45.225450147 +0000
@@ -27,7 +27,7 @@
#define MPFR_VERSION_MAJOR 3
#define MPFR_VERSION_MINOR 1
#define MPFR_VERSION_PATCHLEVEL 2
-#define MPFR_VERSION_STRING "3.1.2-p7"
+#define MPFR_VERSION_STRING "3.1.2-p8"
/* Macros dealing with MPFR VERSION */
#define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
diff -Naurd mpfr-3.1.2-a/src/mul.c mpfr-3.1.2-b/src/mul.c
--- mpfr-3.1.2-a/src/mul.c 2013-03-13 15:37:37.000000000 +0000
+++ mpfr-3.1.2-b/src/mul.c 2014-04-15 22:21:06.224398597 +0000
@@ -106,7 +106,7 @@
MPFR_ASSERTD(tn <= k);
/* Check for no size_t overflow*/
- MPFR_ASSERTD((size_t) k <= ((size_t) -1) / BYTES_PER_MP_LIMB);
+ MPFR_ASSERTD((size_t) k <= ((size_t) -1) / MPFR_BYTES_PER_MP_LIMB);
MPFR_TMP_MARK(marker);
tmp = MPFR_TMP_LIMBS_ALLOC (k);
@@ -301,7 +301,7 @@
MPFR_ASSERTD (tn <= k); /* tn <= k, thus no int overflow */
/* Check for no size_t overflow*/
- MPFR_ASSERTD ((size_t) k <= ((size_t) -1) / BYTES_PER_MP_LIMB);
+ MPFR_ASSERTD ((size_t) k <= ((size_t) -1) / MPFR_BYTES_PER_MP_LIMB);
MPFR_TMP_MARK (marker);
tmp = MPFR_TMP_LIMBS_ALLOC (k);
diff -Naurd mpfr-3.1.2-a/src/stack_interface.c mpfr-3.1.2-b/src/stack_interface.c
--- mpfr-3.1.2-a/src/stack_interface.c 2013-03-13 15:37:32.000000000 +0000
+++ mpfr-3.1.2-b/src/stack_interface.c 2014-04-15 22:21:06.220398489 +0000
@@ -26,7 +26,7 @@
size_t
mpfr_custom_get_size (mpfr_prec_t prec)
{
- return MPFR_PREC2LIMBS (prec) * BYTES_PER_MP_LIMB;
+ return MPFR_PREC2LIMBS (prec) * MPFR_BYTES_PER_MP_LIMB;
}
#undef mpfr_custom_init
diff -Naurd mpfr-3.1.2-a/src/version.c mpfr-3.1.2-b/src/version.c
--- mpfr-3.1.2-a/src/version.c 2014-04-15 22:20:20.755171478 +0000
+++ mpfr-3.1.2-b/src/version.c 2014-04-15 22:21:45.225450147 +0000
@@ -25,5 +25,5 @@
const char *
mpfr_get_version (void)
{
- return "3.1.2-p7";
+ return "3.1.2-p8";
}

View File

@ -0,0 +1,166 @@
diff -Naurd mpfr-3.1.2-a/PATCHES mpfr-3.1.2-b/PATCHES
--- mpfr-3.1.2-a/PATCHES 2014-06-30 15:15:25.533266905 +0000
+++ mpfr-3.1.2-b/PATCHES 2014-06-30 15:15:25.617269178 +0000
@@ -0,0 +1 @@
+div-overflow
diff -Naurd mpfr-3.1.2-a/VERSION mpfr-3.1.2-b/VERSION
--- mpfr-3.1.2-a/VERSION 2014-06-30 15:15:25.529266797 +0000
+++ mpfr-3.1.2-b/VERSION 2014-06-30 15:15:25.617269178 +0000
@@ -1 +1 @@
-3.1.2-p8
+3.1.2-p9
diff -Naurd mpfr-3.1.2-a/src/div.c mpfr-3.1.2-b/src/div.c
--- mpfr-3.1.2-a/src/div.c 2013-03-13 15:37:33.000000000 +0000
+++ mpfr-3.1.2-b/src/div.c 2014-06-30 15:15:25.585268312 +0000
@@ -750,7 +750,9 @@
truncate_check_qh:
if (qh)
{
- qexp ++;
+ if (MPFR_LIKELY (qexp < MPFR_EXP_MAX))
+ qexp ++;
+ /* else qexp is now incorrect, but one will still get an overflow */
q0p[q0size - 1] = MPFR_LIMB_HIGHBIT;
}
goto truncate;
@@ -765,7 +767,9 @@
inex = 1; /* always here */
if (mpn_add_1 (q0p, q0p, q0size, MPFR_LIMB_ONE << sh))
{
- qexp ++;
+ if (MPFR_LIKELY (qexp < MPFR_EXP_MAX))
+ qexp ++;
+ /* else qexp is now incorrect, but one will still get an overflow */
q0p[q0size - 1] = MPFR_LIMB_HIGHBIT;
}
diff -Naurd mpfr-3.1.2-a/src/mpfr.h mpfr-3.1.2-b/src/mpfr.h
--- mpfr-3.1.2-a/src/mpfr.h 2014-06-30 15:15:25.533266905 +0000
+++ mpfr-3.1.2-b/src/mpfr.h 2014-06-30 15:15:25.613269070 +0000
@@ -27,7 +27,7 @@
#define MPFR_VERSION_MAJOR 3
#define MPFR_VERSION_MINOR 1
#define MPFR_VERSION_PATCHLEVEL 2
-#define MPFR_VERSION_STRING "3.1.2-p8"
+#define MPFR_VERSION_STRING "3.1.2-p9"
/* Macros dealing with MPFR VERSION */
#define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
diff -Naurd mpfr-3.1.2-a/src/version.c mpfr-3.1.2-b/src/version.c
--- mpfr-3.1.2-a/src/version.c 2014-06-30 15:15:25.533266905 +0000
+++ mpfr-3.1.2-b/src/version.c 2014-06-30 15:15:25.613269070 +0000
@@ -25,5 +25,5 @@
const char *
mpfr_get_version (void)
{
- return "3.1.2-p8";
+ return "3.1.2-p9";
}
diff -Naurd mpfr-3.1.2-a/tests/tdiv.c mpfr-3.1.2-b/tests/tdiv.c
--- mpfr-3.1.2-a/tests/tdiv.c 2013-03-13 15:37:44.000000000 +0000
+++ mpfr-3.1.2-b/tests/tdiv.c 2014-06-30 15:15:25.585268312 +0000
@@ -1104,6 +1104,96 @@
#define RAND_FUNCTION(x) mpfr_random2(x, MPFR_LIMB_SIZE (x), randlimb () % 100, RANDS)
#include "tgeneric.c"
+static void
+test_extreme (void)
+{
+ mpfr_t x, y, z;
+ mpfr_exp_t emin, emax;
+ mpfr_prec_t p[4] = { 8, 32, 64, 256 };
+ int xi, yi, zi, j, r;
+ unsigned int flags, ex_flags;
+
+ emin = mpfr_get_emin ();
+ emax = mpfr_get_emax ();
+
+ mpfr_set_emin (MPFR_EMIN_MIN);
+ mpfr_set_emax (MPFR_EMAX_MAX);
+
+ for (xi = 0; xi < 4; xi++)
+ {
+ mpfr_init2 (x, p[xi]);
+ mpfr_setmax (x, MPFR_EMAX_MAX);
+ MPFR_ASSERTN (mpfr_check (x));
+ for (yi = 0; yi < 4; yi++)
+ {
+ mpfr_init2 (y, p[yi]);
+ mpfr_setmin (y, MPFR_EMIN_MIN);
+ for (j = 0; j < 2; j++)
+ {
+ MPFR_ASSERTN (mpfr_check (y));
+ for (zi = 0; zi < 4; zi++)
+ {
+ mpfr_init2 (z, p[zi]);
+ RND_LOOP (r)
+ {
+ mpfr_clear_flags ();
+ mpfr_div (z, x, y, (mpfr_rnd_t) r);
+ flags = __gmpfr_flags;
+ MPFR_ASSERTN (mpfr_check (z));
+ ex_flags = MPFR_FLAGS_OVERFLOW | MPFR_FLAGS_INEXACT;
+ if (flags != ex_flags)
+ {
+ printf ("Bad flags in test_extreme on z = a/b"
+ " with %s and\n",
+ mpfr_print_rnd_mode ((mpfr_rnd_t) r));
+ printf ("a = ");
+ mpfr_dump (x);
+ printf ("b = ");
+ mpfr_dump (y);
+ printf ("Expected flags:");
+ flags_out (ex_flags);
+ printf ("Got flags: ");
+ flags_out (flags);
+ printf ("z = ");
+ mpfr_dump (z);
+ exit (1);
+ }
+ mpfr_clear_flags ();
+ mpfr_div (z, y, x, (mpfr_rnd_t) r);
+ flags = __gmpfr_flags;
+ MPFR_ASSERTN (mpfr_check (z));
+ ex_flags = MPFR_FLAGS_UNDERFLOW | MPFR_FLAGS_INEXACT;
+ if (flags != ex_flags)
+ {
+ printf ("Bad flags in test_extreme on z = a/b"
+ " with %s and\n",
+ mpfr_print_rnd_mode ((mpfr_rnd_t) r));
+ printf ("a = ");
+ mpfr_dump (y);
+ printf ("b = ");
+ mpfr_dump (x);
+ printf ("Expected flags:");
+ flags_out (ex_flags);
+ printf ("Got flags: ");
+ flags_out (flags);
+ printf ("z = ");
+ mpfr_dump (z);
+ exit (1);
+ }
+ }
+ mpfr_clear (z);
+ } /* zi */
+ mpfr_nextabove (y);
+ } /* j */
+ mpfr_clear (y);
+ } /* yi */
+ mpfr_clear (x);
+ } /* xi */
+
+ set_emin (emin);
+ set_emax (emax);
+}
+
int
main (int argc, char *argv[])
{
@@ -1130,6 +1220,7 @@
test_20070603 ();
test_20070628 ();
test_generic (2, 800, 50);
+ test_extreme ();
tests_end_mpfr ();
return 0;

View File

@ -0,0 +1,138 @@
diff -Naurd mpfr-3.1.2-a/PATCHES mpfr-3.1.2-b/PATCHES
--- mpfr-3.1.2-a/PATCHES 2014-06-30 15:17:53.337268149 +0000
+++ mpfr-3.1.2-b/PATCHES 2014-06-30 15:17:53.417270314 +0000
@@ -0,0 +1 @@
+vasprintf
diff -Naurd mpfr-3.1.2-a/VERSION mpfr-3.1.2-b/VERSION
--- mpfr-3.1.2-a/VERSION 2014-06-30 15:17:53.337268149 +0000
+++ mpfr-3.1.2-b/VERSION 2014-06-30 15:17:53.413270206 +0000
@@ -1 +1 @@
-3.1.2-p9
+3.1.2-p10
diff -Naurd mpfr-3.1.2-a/src/mpfr.h mpfr-3.1.2-b/src/mpfr.h
--- mpfr-3.1.2-a/src/mpfr.h 2014-06-30 15:17:53.337268149 +0000
+++ mpfr-3.1.2-b/src/mpfr.h 2014-06-30 15:17:53.413270206 +0000
@@ -27,7 +27,7 @@
#define MPFR_VERSION_MAJOR 3
#define MPFR_VERSION_MINOR 1
#define MPFR_VERSION_PATCHLEVEL 2
-#define MPFR_VERSION_STRING "3.1.2-p9"
+#define MPFR_VERSION_STRING "3.1.2-p10"
/* Macros dealing with MPFR VERSION */
#define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
diff -Naurd mpfr-3.1.2-a/src/vasprintf.c mpfr-3.1.2-b/src/vasprintf.c
--- mpfr-3.1.2-a/src/vasprintf.c 2013-11-15 00:51:49.267334408 +0000
+++ mpfr-3.1.2-b/src/vasprintf.c 2014-06-30 15:17:53.377269231 +0000
@@ -884,14 +884,18 @@
first digit, we want the exponent for radix two and the decimal
point AFTER the first digit. */
{
- MPFR_ASSERTN (exp > MPFR_EMIN_MIN /4); /* possible overflow */
+ /* An integer overflow is normally not possible since MPFR_EXP_MIN
+ is twice as large as MPFR_EMIN_MIN. */
+ MPFR_ASSERTN (exp > (MPFR_EXP_MIN + 3) / 4);
exp = (exp - 1) * 4;
}
else
/* EXP is the exponent for decimal point BEFORE the first digit, we
want the exponent for decimal point AFTER the first digit. */
{
- MPFR_ASSERTN (exp > MPFR_EMIN_MIN); /* possible overflow */
+ /* An integer overflow is normally not possible since MPFR_EXP_MIN
+ is twice as large as MPFR_EMIN_MIN. */
+ MPFR_ASSERTN (exp > MPFR_EXP_MIN);
--exp;
}
}
diff -Naurd mpfr-3.1.2-a/src/version.c mpfr-3.1.2-b/src/version.c
--- mpfr-3.1.2-a/src/version.c 2014-06-30 15:17:53.337268149 +0000
+++ mpfr-3.1.2-b/src/version.c 2014-06-30 15:17:53.413270206 +0000
@@ -25,5 +25,5 @@
const char *
mpfr_get_version (void)
{
- return "3.1.2-p9";
+ return "3.1.2-p10";
}
diff -Naurd mpfr-3.1.2-a/tests/tsprintf.c mpfr-3.1.2-b/tests/tsprintf.c
--- mpfr-3.1.2-a/tests/tsprintf.c 2013-11-15 00:51:49.267334408 +0000
+++ mpfr-3.1.2-b/tests/tsprintf.c 2014-06-30 15:17:53.377269231 +0000
@@ -1184,6 +1184,69 @@
check_emax_aux (MPFR_EMAX_MAX);
}
+static void
+check_emin_aux (mpfr_exp_t e)
+{
+ mpfr_t x;
+ char *s1, s2[256];
+ int i;
+ mpfr_exp_t emin;
+ mpz_t ee;
+
+ MPFR_ASSERTN (e >= LONG_MIN);
+ emin = mpfr_get_emin ();
+ set_emin (e);
+
+ mpfr_init2 (x, 16);
+ mpz_init (ee);
+
+ mpfr_setmin (x, e);
+ mpz_set_si (ee, e);
+ mpz_sub_ui (ee, ee, 1);
+
+ i = mpfr_asprintf (&s1, "%Ra", x);
+ MPFR_ASSERTN (i > 0);
+
+ gmp_snprintf (s2, 256, "0x1p%Zd", ee);
+
+ if (strcmp (s1, s2) != 0)
+ {
+ printf ("Error in check_emin_aux for emin = %ld\n", (long) e);
+ printf ("Expected %s\n", s2);
+ printf ("Got %s\n", s1);
+ exit (1);
+ }
+
+ mpfr_free_str (s1);
+
+ i = mpfr_asprintf (&s1, "%Rb", x);
+ MPFR_ASSERTN (i > 0);
+
+ gmp_snprintf (s2, 256, "1p%Zd", ee);
+
+ if (strcmp (s1, s2) != 0)
+ {
+ printf ("Error in check_emin_aux for emin = %ld\n", (long) e);
+ printf ("Expected %s\n", s2);
+ printf ("Got %s\n", s1);
+ exit (1);
+ }
+
+ mpfr_free_str (s1);
+
+ mpfr_clear (x);
+ mpz_clear (ee);
+ set_emin (emin);
+}
+
+static void
+check_emin (void)
+{
+ check_emin_aux (-15);
+ check_emin_aux (mpfr_get_emin ());
+ check_emin_aux (MPFR_EMIN_MIN);
+}
+
int
main (int argc, char **argv)
{
@@ -1203,6 +1266,7 @@
decimal ();
mixed ();
check_emax ();
+ check_emin ();
#if defined(HAVE_LOCALE_H) && defined(HAVE_SETLOCALE)
locale_da_DK ();

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<herd>toolchain</herd>
</pkgmetadata>

View File

@ -0,0 +1,47 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/mpfr/mpfr-2.4.2_p3-r1.ebuild,v 1.4 2014/06/06 19:58:16 vapier Exp $
# this ebuild is only for the libmpfr.so.1 ABI SONAME
EAPI="4"
inherit eutils libtool flag-o-matic
MY_PV=${PV/_p*}
MY_P=${PN}-${MY_PV}
DESCRIPTION="library for multiple-precision floating-point computations with exact rounding"
HOMEPAGE="http://www.mpfr.org/"
SRC_URI="http://www.mpfr.org/mpfr-${MY_PV}/${MY_P}.tar.bz2"
LICENSE="LGPL-2.1"
SLOT="1"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~ppc-aix ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE=""
RDEPEND=">=dev-libs/gmp-4.1.4-r2"
DEPEND="${RDEPEND}"
S=${WORKDIR}/${MY_P}
src_prepare() {
epatch "${FILESDIR}"/${MY_PV}/patch*
sed -i '/if test/s:==:=:' configure #261016
find . -type f -exec touch -r configure {} +
elibtoolize
}
src_configure() {
# Newer gmp has deleted this define, so export it for older mpfr.
append-cppflags -D__gmp_const=const
econf --disable-static
}
src_compile() {
emake libmpfr.la
}
src_install() {
emake install-libLTLIBRARIES DESTDIR="${D}"
rm -f "${ED}"/usr/*/libmpfr.{la,so,dylib,a}
}

View File

@ -0,0 +1,59 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/mpfr/mpfr-3.0.0_p3.ebuild,v 1.13 2012/06/06 03:41:44 zmedico Exp $
# NOTE: we cannot depend on autotools here starting with gcc-4.3.x
inherit eutils multilib
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-${MY_PV}/${MY_P}.tar.bz2"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd"
IUSE=""
RDEPEND=">=dev-libs/gmp-4.1.4-r2"
DEPEND="${RDEPEND}"
S=${WORKDIR}/${MY_P}
src_unpack() {
unpack ${A}
cd "${S}"
[[ ${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
sed -i '/if test/s:==:=:' configure #261016
find . -type f -print0 | xargs -0 touch -r configure
}
src_install() {
emake install DESTDIR="${D}" || die
rm "${D}"/usr/share/doc/${PN}/*.html || die
mv "${D}"/usr/share/doc/{${PN},${PF}} || die
dodoc AUTHORS BUGS ChangeLog NEWS README TODO
dohtml *.html
prepalldocs
}
pkg_preinst() {
preserve_old_lib /usr/$(get_libdir)/libmpfr.so.1
}
pkg_postinst() {
preserve_old_lib_notify /usr/$(get_libdir)/libmpfr.so.1
}

View File

@ -0,0 +1,59 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/mpfr/mpfr-3.0.1.ebuild,v 1.4 2012/06/06 03:41:44 zmedico Exp $
# NOTE: we cannot depend on autotools here starting with gcc-4.3.x
inherit eutils multilib
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-${MY_PV}/${MY_P}.tar.bz2"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
IUSE=""
RDEPEND=">=dev-libs/gmp-4.1.4-r2"
DEPEND="${RDEPEND}"
S=${WORKDIR}/${MY_P}
src_unpack() {
unpack ${A}
cd "${S}"
[[ ${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
sed -i '/if test/s:==:=:' configure #261016
find . -type f -print0 | xargs -0 touch -r configure
}
src_install() {
emake install DESTDIR="${D}" || die
rm "${D}"/usr/share/doc/${PN}/*.html || die
mv "${D}"/usr/share/doc/{${PN},${PF}} || die
dodoc AUTHORS BUGS ChangeLog NEWS README TODO
dohtml *.html
prepalldocs
}
pkg_preinst() {
preserve_old_lib /usr/$(get_libdir)/libmpfr.so.1
}
pkg_postinst() {
preserve_old_lib_notify /usr/$(get_libdir)/libmpfr.so.1
}

View File

@ -0,0 +1,64 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/mpfr/mpfr-3.0.1_p4-r1.ebuild,v 1.4 2012/04/26 14:02:23 aballier Exp $
EAPI="3"
# NOTE: we cannot depend on autotools here starting with gcc-4.3.x
inherit eutils multilib
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-${MY_PV}/${MY_P}.tar.bz2"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
IUSE="static-libs"
RDEPEND=">=dev-libs/gmp-4.1.4-r2[static-libs?]"
DEPEND="${RDEPEND}"
S=${WORKDIR}/${MY_P}
src_prepare() {
[[ ${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
sed -i '/if test/s:==:=:' configure #261016
find . -type f -print0 | xargs -0 touch -r configure
}
src_configure() {
econf $(use_enable static-libs static)
}
src_install() {
emake install DESTDIR="${D}" || die
use static-libs || rm -f "${D}"/usr/$(get_libdir)/libmpfr.la
rm "${D}"/usr/share/doc/${PN}/*.html || die
mv "${D}"/usr/share/doc/{${PN},${PF}} || die
dodoc AUTHORS BUGS ChangeLog NEWS README TODO
dohtml *.html
prepalldocs
}
pkg_preinst() {
preserve_old_lib /usr/$(get_libdir)/libmpfr.so.1
}
pkg_postinst() {
preserve_old_lib_notify /usr/$(get_libdir)/libmpfr.so.1
}

View File

@ -1,9 +1,9 @@
# Copyright 1999-2011 Gentoo Foundation
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/mpfr/mpfr-3.0.1_p4.ebuild,v 1.3 2011/09/04 13:46:33 maekke Exp $
# $Header: /var/cvsroot/gentoo-x86/dev-libs/mpfr/mpfr-3.0.1_p4.ebuild,v 1.8 2012/06/06 03:41:44 zmedico Exp $
# NOTE: we cannot depend on autotools here starting with gcc-4.3.x
inherit eutils
inherit eutils multilib
MY_PV=${PV/_p*}
MY_P=${PN}-${MY_PV}
@ -14,7 +14,7 @@ SRC_URI="http://www.mpfr.org/mpfr-${MY_PV}/${MY_P}.tar.bz2"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~sparc-fbsd ~x86-fbsd"
KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd"
IUSE=""
RDEPEND=">=dev-libs/gmp-4.1.4-r2"
@ -25,7 +25,6 @@ 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})

View File

@ -0,0 +1,69 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/mpfr/mpfr-3.1.0.ebuild,v 1.4 2012/04/19 02:35:54 vapier Exp $
EAPI="3"
# NOTE: we cannot depend on autotools here starting with gcc-4.3.x
inherit eutils multilib
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-${MY_PV}/${MY_P}.tar.bz2"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 -sparc-fbsd -x86-fbsd"
IUSE="static-libs"
RDEPEND=">=dev-libs/gmp-4.1.4-r2[static-libs?]"
DEPEND="${RDEPEND}"
S=${WORKDIR}/${MY_P}
src_prepare() {
[[ ${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
sed -i '/if test/s:==:=:' configure #261016
find . -type f -print0 | xargs -0 touch -r configure
}
src_configure() {
econf \
--docdir=/usr/share/doc/${PF} \
$(use_enable static-libs static)
}
src_install() {
emake install DESTDIR="${D}" || die
use static-libs || rm -f "${D}"/usr/$(get_libdir)/libmpfr.la
# clean up html/license install
pushd "${D}"/usr/share/doc/${PF} >/dev/null
dohtml *.html && rm COPYING* *.html || die
popd >/dev/null
# some, but not all, are already installed
dodoc AUTHORS BUGS ChangeLog NEWS README TODO
prepalldocs
}
pkg_preinst() {
preserve_old_lib /usr/$(get_libdir)/libmpfr.so.1
}
pkg_postinst() {
preserve_old_lib_notify /usr/$(get_libdir)/libmpfr.so.1
}

View File

@ -0,0 +1,69 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/mpfr/mpfr-3.1.0_p7.ebuild,v 1.3 2012/05/07 13:07:36 aballier Exp $
EAPI="3"
# NOTE: we cannot depend on autotools here starting with gcc-4.3.x
inherit eutils multilib
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-${MY_PV}/${MY_P}.tar.bz2"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
IUSE="static-libs"
RDEPEND=">=dev-libs/gmp-4.1.4-r2[static-libs?]"
DEPEND="${RDEPEND}"
S=${WORKDIR}/${MY_P}
src_prepare() {
[[ ${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
sed -i '/if test/s:==:=:' configure #261016
find . -type f -print0 | xargs -0 touch -r configure
}
src_configure() {
econf \
--docdir=/usr/share/doc/${PF} \
$(use_enable static-libs static)
}
src_install() {
emake install DESTDIR="${D}" || die
use static-libs || rm -f "${D}"/usr/$(get_libdir)/libmpfr.la
# clean up html/license install
pushd "${D}"/usr/share/doc/${PF} >/dev/null
dohtml *.html && rm COPYING* *.html || die
popd >/dev/null
# some, but not all, are already installed
dodoc AUTHORS BUGS ChangeLog NEWS README TODO
prepalldocs
}
pkg_preinst() {
preserve_old_lib /usr/$(get_libdir)/libmpfr.so.1
}
pkg_postinst() {
preserve_old_lib_notify /usr/$(get_libdir)/libmpfr.so.1
}

View File

@ -0,0 +1,69 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/mpfr/mpfr-3.1.1.ebuild,v 1.11 2013/01/01 19:28:27 armin76 Exp $
EAPI="3"
# NOTE: we cannot depend on autotools here starting with gcc-4.3.x
inherit eutils multilib
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-${MY_PV}/${MY_P}.tar.xz"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
IUSE="static-libs"
RDEPEND=">=dev-libs/gmp-4.1.4-r2[static-libs?]"
DEPEND="${RDEPEND}"
S=${WORKDIR}/${MY_P}
src_prepare() {
[[ ${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
sed -i '/if test/s:==:=:' configure #261016
find . -type f -print0 | xargs -0 touch -r configure
}
src_configure() {
econf \
--docdir=/usr/share/doc/${PF} \
$(use_enable static-libs static)
}
src_install() {
emake install DESTDIR="${D}" || die
use static-libs || rm -f "${D}"/usr/$(get_libdir)/libmpfr.la
# clean up html/license install
pushd "${D}"/usr/share/doc/${PF} >/dev/null
dohtml *.html && rm COPYING* *.html || die
popd >/dev/null
# some, but not all, are already installed
dodoc AUTHORS BUGS ChangeLog NEWS README TODO
prepalldocs
}
pkg_preinst() {
preserve_old_lib /usr/$(get_libdir)/libmpfr.so.1
}
pkg_postinst() {
preserve_old_lib_notify /usr/$(get_libdir)/libmpfr.so.1
}

View File

@ -0,0 +1,69 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/mpfr/mpfr-3.1.1_p2.ebuild,v 1.2 2013/02/27 21:23:26 zmedico Exp $
EAPI="3"
# NOTE: we cannot depend on autotools here starting with gcc-4.3.x
inherit eutils multilib
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-${MY_PV}/${MY_P}.tar.xz"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
IUSE="static-libs"
RDEPEND=">=dev-libs/gmp-4.1.4-r2[static-libs?]"
DEPEND="${RDEPEND}"
S=${WORKDIR}/${MY_P}
src_prepare() {
[[ ${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
sed -i '/if test/s:==:=:' configure #261016
find . -type f -print0 | xargs -0 touch -r configure
}
src_configure() {
econf \
--docdir="${EPREFIX}"/usr/share/doc/${PF} \
$(use_enable static-libs static)
}
src_install() {
emake install DESTDIR="${D}" || die
use static-libs || rm -f "${ED}"/usr/$(get_libdir)/libmpfr.la
# clean up html/license install
pushd "${ED}"/usr/share/doc/${PF} >/dev/null
dohtml *.html && rm COPYING* *.html || die
popd >/dev/null
# some, but not all, are already installed
dodoc AUTHORS BUGS ChangeLog NEWS README TODO
prepalldocs
}
pkg_preinst() {
preserve_old_lib /usr/$(get_libdir)/libmpfr.so.1
}
pkg_postinst() {
preserve_old_lib_notify /usr/$(get_libdir)/libmpfr.so.1
}

View File

@ -0,0 +1,73 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/mpfr/mpfr-3.1.2-r1.ebuild,v 1.14 2014/01/18 04:34:25 vapier Exp $
EAPI="3"
# NOTE: we cannot depend on autotools here starting with gcc-4.3.x
inherit eutils libtool multilib
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-${MY_PV}/${MY_P}.tar.xz"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="static-libs"
RDEPEND=">=dev-libs/gmp-4.1.4-r2[static-libs?]"
DEPEND="${RDEPEND}"
S=${WORKDIR}/${MY_P}
src_prepare() {
if [[ ${PLEVEL} != ${PV} ]] ; then
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
fi
sed -i '/if test/s:==:=:' configure #261016
find . -type f -exec touch -r configure {} +
elibtoolize
}
src_configure() {
# Make sure mpfr doesn't go probing toolchains it shouldn't #476336#19
user_redefine_cc=yes \
econf \
--docdir="\$(datarootdir)/doc/${PF}" \
$(use_enable static-libs static)
}
src_install() {
emake install DESTDIR="${D}" || die
use static-libs || rm -f "${ED}"/usr/$(get_libdir)/libmpfr.la
# clean up html/license install
pushd "${ED}"/usr/share/doc/${PF} >/dev/null
dohtml *.html && rm COPYING* *.html || die
popd >/dev/null
# some, but not all, are already installed
dodoc AUTHORS BUGS ChangeLog NEWS README TODO
prepalldocs
}
pkg_preinst() {
preserve_old_lib /usr/$(get_libdir)/libmpfr$(get_libname 1)
}
pkg_postinst() {
preserve_old_lib_notify /usr/$(get_libdir)/libmpfr$(get_libname 1)
}

View File

@ -0,0 +1,62 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/mpfr/mpfr-3.1.2_p10.ebuild,v 1.1 2014/11/01 07:24:34 vapier Exp $
EAPI="4"
# NOTE: we cannot depend on autotools here starting with gcc-4.3.x
inherit eutils libtool multilib multilib-minimal
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-${MY_PV}/${MY_P}.tar.xz"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="static-libs"
RDEPEND=">=dev-libs/gmp-4.1.4-r2[${MULTILIB_USEDEP},static-libs?]"
DEPEND="${RDEPEND}"
S=${WORKDIR}/${MY_P}
src_prepare() {
if [[ ${PLEVEL} != ${PV} ]] ; then
local i
for (( i = 1; i <= PLEVEL; ++i )) ; do
epatch "${FILESDIR}"/${MY_PV}/patch$(printf '%02d' ${i})
done
fi
find . -type f -exec touch -r configure {} +
elibtoolize
}
multilib_src_configure() {
# Make sure mpfr doesn't go probing toolchains it shouldn't #476336#19
ECONF_SOURCE=${S} \
user_redefine_cc=yes \
econf \
--docdir="\$(datarootdir)/doc/${PF}" \
$(use_enable static-libs static)
}
multilib_src_install_all() {
use static-libs || find "${ED}"/usr -name '*.la' -delete
# clean up html/license install
pushd "${ED}"/usr/share/doc/${PF} >/dev/null
dohtml *.html && rm COPYING* *.html || die
popd >/dev/null
}
pkg_preinst() {
preserve_old_lib /usr/$(get_libdir)/libmpfr$(get_libname 1)
}
pkg_postinst() {
preserve_old_lib_notify /usr/$(get_libdir)/libmpfr$(get_libname 1)
}

View File

@ -0,0 +1,73 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/mpfr/mpfr-3.1.2_p5.ebuild,v 1.1 2014/03/26 05:45:18 vapier Exp $
EAPI="3"
# NOTE: we cannot depend on autotools here starting with gcc-4.3.x
inherit eutils libtool multilib
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-${MY_PV}/${MY_P}.tar.xz"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="static-libs"
RDEPEND=">=dev-libs/gmp-4.1.4-r2[static-libs?]"
DEPEND="${RDEPEND}"
S=${WORKDIR}/${MY_P}
src_prepare() {
if [[ ${PLEVEL} != ${PV} ]] ; then
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
fi
sed -i '/if test/s:==:=:' configure #261016
find . -type f -exec touch -r configure {} +
elibtoolize
}
src_configure() {
# Make sure mpfr doesn't go probing toolchains it shouldn't #476336#19
user_redefine_cc=yes \
econf \
--docdir="\$(datarootdir)/doc/${PF}" \
$(use_enable static-libs static)
}
src_install() {
emake install DESTDIR="${D}" || die
use static-libs || rm -f "${ED}"/usr/$(get_libdir)/libmpfr.la
# clean up html/license install
pushd "${ED}"/usr/share/doc/${PF} >/dev/null
dohtml *.html && rm COPYING* *.html || die
popd >/dev/null
# some, but not all, are already installed
dodoc AUTHORS BUGS ChangeLog NEWS README TODO
prepalldocs
}
pkg_preinst() {
preserve_old_lib /usr/$(get_libdir)/libmpfr$(get_libname 1)
}
pkg_postinst() {
preserve_old_lib_notify /usr/$(get_libdir)/libmpfr$(get_libname 1)
}

View File

@ -0,0 +1,529 @@
# ChangeLog for dev-util/ccache
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/dev-util/ccache/ChangeLog,v 1.143 2014/11/20 00:06:03 vapier Exp $
*ccache-3.2 (20 Nov 2014)
20 Nov 2014; Mike Frysinger <vapier@gentoo.org> +ccache-3.2.ebuild:
Version bump.
04 Nov 2014; Mike Frysinger <vapier@gentoo.org> files/ccache-config-2:
Trim empty ccache dirs automatically #517242 by Arfrever Frehtes Taifersar
Arahesis.
*ccache-3.1.10-r1 (01 Nov 2014)
01 Nov 2014; Mike Frysinger <vapier@gentoo.org> +ccache-3.1.10-r1.ebuild,
+files/ccache-3.1.10-real-temp-files.patch,
+files/ccache-3.1.10-size-on-disk.patch:
Fix temp file usage to not rely on pids (fixes running in pid namespaces).
Fix disk usage checks #456178 by Richard Yao. Always use /usr/lib/ccache/bin/
#509956 by Michał Górny.
01 Nov 2014; Mike Frysinger <vapier@gentoo.org> files/ccache-config:
Trim empty ccache dirs automatically #517242 by Arfrever Frehtes Taifersar
Arahesis.
*ccache-3.1.10 (22 Oct 2014)
22 Oct 2014; Mike Frysinger <vapier@gentoo.org> +ccache-3.1.10.ebuild:
Version bump.
08 Mar 2014; Mike Frysinger <vapier@gentoo.org> files/ccache-config-2:
Use `command` rather than `type` #503428 by Naohiro Aota.
26 Jan 2014; Agostino Sarubbo <ago@gentoo.org> ccache-3.1.9-r3.ebuild:
Stable for sparc, wrt bug #495658
19 Jan 2014; Agostino Sarubbo <ago@gentoo.org> ccache-3.1.9-r3.ebuild:
Stable for ppc64, wrt bug #495658
18 Jan 2014; Agostino Sarubbo <ago@gentoo.org> ccache-3.1.9-r3.ebuild:
Stable for alpha, wrt bug #495658
18 Jan 2014; Mike Frysinger <vapier@gentoo.org> ccache-3.1.9-r3.ebuild:
Add arm64 love.
17 Jan 2014; Mike Frysinger <vapier@gentoo.org> ccache-3.1.9-r3.ebuild:
Mark m68k/s390/sh stable.
15 Jan 2014; Agostino Sarubbo <ago@gentoo.org> ccache-3.1.9-r3.ebuild:
Stable for ia64, wrt bug #495658
14 Jan 2014; Agostino Sarubbo <ago@gentoo.org> ccache-3.1.9-r3.ebuild:
Stable for ppc, wrt bug #495658
14 Jan 2014; Agostino Sarubbo <ago@gentoo.org> ccache-3.1.9-r3.ebuild:
Stable for x86, wrt bug #495658
12 Jan 2014; Pacho Ramos <pacho@gentoo.org> ccache-3.1.9-r3.ebuild:
amd64 stable, bug #495658
29 Dec 2013; Markus Meier <maekke@gentoo.org> ccache-3.1.9-r3.ebuild:
arm stable, bug #495658
27 Dec 2013; Jeroen Roovers <jer@gentoo.org> ccache-3.1.9-r3.ebuild:
Stable for HPPA (bug #495658).
*ccache-3.1.9-r3 (21 Oct 2013)
21 Oct 2013; Christoph Junghans <ottxor@gentoo.org> +ccache-3.1.9-r3.ebuild:
use readme.gentoo.eclass (bug #486404)
*ccache-3.1.9-r2 (28 Sep 2013)
28 Sep 2013; Christoph Junghans <ottxor@gentoo.org> +ccache-3.1.9-r2.ebuild,
-ccache-3.1.9-r1.ebuild, files/ccache-config-2:
add icc/clang support (bug #484772)
*ccache-3.1.9-r1 (13 Sep 2013)
13 Sep 2013; Christoph Junghans <ottxor@gentoo.org> +ccache-3.1.9-r1.ebuild,
+files/ccache-config-2:
added prefix support (bug #484012)
24 Apr 2013; Ryan Hill <dirtyepic@gentoo.org> ccache-3.1.9.ebuild,
-files/ccache-3.1.9-test-gcc-3.8.patch,
+files/ccache-3.1.9-test-gcc-4.8.patch:
Fix -Wp,MMD test failure with gcc-4.8 and correct patch name.
06 Apr 2013; Mike Frysinger <vapier@gentoo.org> ccache-3.1.9.ebuild:
Only show ccache messages on first emerge #458624 by Pacho Ramos.
23 Mar 2013; Mike Frysinger <vapier@gentoo.org>
+files/ccache-3.1.9-test-gcc-3.8.patch, ccache-3.1.9.ebuild:
Add fix from upstream for tests w/gcc-3.8 #461966 by Ryan Hill.
01 Mar 2013; Agostino Sarubbo <ago@gentoo.org> ccache-3.1.9.ebuild:
Stable for sh, wrt bug #457342
26 Feb 2013; Jeroen Roovers <jer@gentoo.org> ccache-3.1.9.ebuild:
Stable for HPPA (bug #457342).
21 Feb 2013; Agostino Sarubbo <ago@gentoo.org> ccache-3.1.9.ebuild:
Stable for sparc, wrt bug #457342
21 Feb 2013; Agostino Sarubbo <ago@gentoo.org> ccache-3.1.9.ebuild:
Stable for ia64, wrt bug #457342
20 Feb 2013; Agostino Sarubbo <ago@gentoo.org> ccache-3.1.9.ebuild:
Stable for s390, wrt bug #457342
19 Feb 2013; Agostino Sarubbo <ago@gentoo.org> ccache-3.1.9.ebuild:
Stable for arm, wrt bug #457342
19 Feb 2013; Agostino Sarubbo <ago@gentoo.org> ccache-3.1.9.ebuild:
Stable for alpha, wrt bug #457342
18 Feb 2013; Agostino Sarubbo <ago@gentoo.org> ccache-3.1.9.ebuild:
Stable for ppc64, wrt bug #457342
18 Feb 2013; Agostino Sarubbo <ago@gentoo.org> ccache-3.1.9.ebuild:
Stable for ppc, wrt bug #457342
18 Feb 2013; Agostino Sarubbo <ago@gentoo.org> ccache-3.1.9.ebuild:
Stable for x86, wrt bug #457342
18 Feb 2013; Agostino Sarubbo <ago@gentoo.org> ccache-3.1.9.ebuild:
Stable for amd64, wrt bug #457342
*ccache-3.1.9 (06 Jan 2013)
06 Jan 2013; Mike Frysinger <vapier@gentoo.org> +ccache-3.1.9.ebuild:
Version bump.
29 Dec 2012; Raúl Porcel <armin76@gentoo.org> ccache-3.1.8.ebuild:
alpha/m68k/s390/sh stable wrt #441308
17 Dec 2012; Agostino Sarubbo <ago@gentoo.org> ccache-3.1.8.ebuild:
Stable for ia64, wrt bug #441308
12 Dec 2012; Jack Morgan <jmorgan@gentoo.org> ccache-3.1.8.ebuild:
sparc stable wrt #441308
22 Nov 2012; Markus Meier <maekke@gentoo.org> ccache-3.1.8.ebuild:
arm stable, bug #441308
21 Nov 2012; Agostino Sarubbo <ago@gentoo.org> ccache-3.1.8.ebuild:
Stable for x86, wrt bug #441308
07 Nov 2012; Jeroen Roovers <jer@gentoo.org> ccache-3.1.8.ebuild:
Stable for HPPA (bug #441308).
05 Nov 2012; Anthony G. Basile <blueness@gentoo.org> ccache-3.1.8.ebuild:
stable ppc ppc64, bug #441308
04 Nov 2012; Agostino Sarubbo <ago@gentoo.org> ccache-3.1.8.ebuild:
Stable for amd64, wrt bug #441308
04 Nov 2012; Mike Frysinger <vapier@gentoo.org> ccache-3.1.8.ebuild:
Depend on xz-utils for stage building.
*ccache-3.1.8 (11 Aug 2012)
11 Aug 2012; Mike Frysinger <vapier@gentoo.org> +ccache-3.1.8.ebuild:
Version bump.
01 Jul 2012; Raúl Porcel <armin76@gentoo.org> ccache-3.1.7.ebuild:
alpha/ia64/m68k/s390/sh/sparc stable wrt #418945
29 Jun 2012; Jeroen Roovers <jer@gentoo.org> ccache-3.1.7.ebuild:
Stable for HPPA (bug #418945).
24 Jun 2012; Mike Frysinger <vapier@gentoo.org>
+files/ccache-3.1.7-no-perl.patch, ccache-3.1.7.ebuild:
Update to EAPI=4, and avoid perl requirement in tests #421609 by Leon Schoorl.
07 Jun 2012; Brent Baude <ranger@gentoo.org> ccache-3.1.7.ebuild:
Marking ccache-3.1.7 ppc for bug 418945
05 Jun 2012; Brent Baude <ranger@gentoo.org> ccache-3.1.7.ebuild:
Marking ccache-3.1.7 ppc64 for bug 418945
03 Jun 2012; Markus Meier <maekke@gentoo.org> ccache-3.1.7.ebuild:
arm stable, bug #418945
02 Jun 2012; Markos Chandras <hwoarang@gentoo.org> ccache-3.1.7.ebuild:
Stable on amd64 wrt bug #418945
01 Jun 2012; Johannes Huber <johu@gentoo.org> ccache-3.1.7.ebuild:
Stable for x86, wrt bug #418945
08 Mar 2012; Brent Baude <ranger@gentoo.org> ccache-3.1.6.ebuild:
Marking ccache-3.1.6 ppc64 for bug 390989
12 Feb 2012; Raúl Porcel <armin76@gentoo.org> ccache-3.1.6.ebuild:
alpha/ia64/m68k/s390/sh/sparc stable wrt #390989
01 Feb 2012; Brent Baude <ranger@gentoo.org> ccache-3.1.6.ebuild:
Marking ccache-3.1.6 ppc for bug 390989
*ccache-3.1.7 (08 Jan 2012)
08 Jan 2012; Mike Frysinger <vapier@gentoo.org> +ccache-3.1.7.ebuild:
Version bump.
03 Dec 2011; Markus Meier <maekke@gentoo.org> ccache-3.1.6.ebuild:
arm stable, bug #390989
02 Dec 2011; Markos Chandras <hwoarang@gentoo.org> ccache-3.1.6.ebuild:
Stable on amd64 wrt bug #390989
28 Nov 2011; Pawel Hajdan jr <phajdan.jr@gentoo.org> ccache-3.1.6.ebuild:
x86 stable wrt bug #390989
25 Nov 2011; Jeroen Roovers <jer@gentoo.org> ccache-3.1.6.ebuild:
Stable for HPPA (bug #390989).
*ccache-3.1.6 (22 Aug 2011)
22 Aug 2011; Mike Frysinger <vapier@gentoo.org> +ccache-3.1.6.ebuild:
Version bump.
*ccache-3.1.5 (29 May 2011)
29 May 2011; Mike Frysinger <vapier@gentoo.org> +ccache-3.1.5.ebuild:
Version bump.
06 Mar 2011; Michael Weber <xmw@gentoo.org> ccache-2.4-r9.ebuild:
ppc stable (bug 320687)
21 Jan 2011; Jeroen Roovers <jer@gentoo.org> ccache-2.4-r9.ebuild:
Stable for HPPA (bug #320687).
*ccache-3.1.4 (10 Jan 2011)
10 Jan 2011; Mike Frysinger <vapier@gentoo.org> +ccache-3.1.4.ebuild:
Version bump.
29 Dec 2010; Markos Chandras <hwoarang@gentoo.org> ccache-2.4-r9.ebuild:
Stable on amd64 wrt bug #320687
28 Dec 2010; Brent Baude <ranger@gentoo.org> ccache-2.4-r9.ebuild:
stable ppc64, bug 320687
26 Dec 2010; Raúl Porcel <armin76@gentoo.org> ccache-2.4-r9.ebuild:
arm/ia64/m68k/s390/sh/sparc stable wrt #320687
18 Dec 2010; Christian Faulhammer <fauli@gentoo.org> ccache-2.4-r9.ebuild:
stable x86, bug 320687
17 Dec 2010; Tobias Klausmann <klausman@gentoo.org> ccache-2.4-r9.ebuild:
Stable on alpha, bug #320687
16 Dec 2010; Robin H. Johnson <robbat2@gentoo.org> ccache-2.4-r6.ebuild,
ccache-2.4-r8.ebuild, ccache-2.4-r9.ebuild:
Apply fix from 2.4-r7 to other 2.4 ~arch builds.
16 Dec 2010; Diego E. Pettenò <flameeyes@gentoo.org> ccache-2.4-r7.ebuild:
Make sure not to look for automake since the package does not use automake to
begin with.
*ccache-3.1.3 (28 Nov 2010)
28 Nov 2010; Mike Frysinger <vapier@gentoo.org> +ccache-3.1.3.ebuild:
Version bump.
*ccache-3.1.2 (21 Nov 2010)
21 Nov 2010; Mike Frysinger <vapier@gentoo.org> +ccache-3.1.2.ebuild:
Version bump.
*ccache-3.1.1 (19 Nov 2010)
19 Nov 2010; Mike Frysinger <vapier@gentoo.org> +ccache-3.1.1.ebuild,
files/ccache-config:
Version bump #313101 (which should also fix #270062 by Diego Elio
Pettenò, #296371 by Attila Stehr, and #301727 by Mariusz Kozlowski). Make
ccache-config respect ROOT/multilib and fix handling of cc/chost-cc
symlinks between it and the ebuild #302048 by Christoph Junghans.
*ccache-2.4-r9 (19 Nov 2010)
19 Nov 2010; Mike Frysinger <vapier@gentoo.org> +ccache-2.4-r9.ebuild,
+files/ccache-2.4-xrealloc.patch:
Add fix from upstream for realloc bug #338137 by Chris Coleman.
19 Oct 2010; Mart Raudsepp <leio@gentoo.org> ccache-2.4-r6.ebuild,
ccache-2.4-r7.ebuild:
Drop to ~mips
*ccache-2.4-r8 (30 Sep 2008)
30 Sep 2008; Robin H. Johnson <robbat2@gentoo.org>
+files/ccache-2.4-profile.patch, +ccache-2.4-r8.ebuild:
Exclude any use of -fprofile* from ccache storage, per bug #204810.
12 Jan 2008; Fabian Groffen <grobian@gentoo.org> ccache-2.4-r6.ebuild,
ccache-2.4-r7.ebuild:
Remove ppc-macos bits
31 Dec 2007; Ryan Hill <dirtyepic@gentoo.org> metadata.xml:
Add toolchain and robbat2 as maintainer.
25 Dec 2007; Christian Heim <phreak@gentoo.org> metadata.xml:
Removing lisa from metadata.xml as per #23541. Assigning to maintainer-needed.
*ccache-2.4-r7 (21 Apr 2007)
21 Apr 2007; Lisa Seelye <lisa@gentoo.org> +ccache-2.4-r7.ebuild:
bug 174839
05 Mar 2007; Marius Mauch <genone@gentoo.org> ccache-2.4-r6.ebuild:
Replacing einfo with elog
05 Mar 2007; Lisa Seelye <lisa@gentoo.org> -ccache-2.2.ebuild,
-ccache-2.3.ebuild, -ccache-2.4.ebuild, -ccache-2.4-r1.ebuild,
-ccache-2.4-r2.ebuild:
Pruning old ebuilds
04 Mar 2007; Stuart Longland <redhatter@gentoo.org> ccache-2.4-r6.ebuild:
Tested and working on mips. No bugs in the last 30 days. Marking stable as
per bug #159527.
30 Jan 2007; Steve Dibb <beandog@gentoo.org> ccache-2.4-r6.ebuild:
amd64 stable, bug 159527
04 Jan 2007; Bryan Østergaard <kloeri@gentoo.org> ccache-2.4-r6.ebuild:
Stable on IA64.
04 Jan 2007; Bryan Østergaard <kloeri@gentoo.org> ccache-2.4-r6.ebuild:
Stable on Alpha, bug 159527.
02 Jan 2007; Gustavo Zacarias <gustavoz@gentoo.org> ccache-2.4-r6.ebuild:
Stable on sparc wrt #159527
31 Dec 2006; Tom Gall <tgall@gentoo.org> ccache-2.4-r6.ebuild:
ppc64 stable bug #159527
31 Dec 2006; Timothy Redaelli <drizzt@gentoo.org> ccache-2.4-r6.ebuild:
ppc stable wrt bug #159527
31 Dec 2006; Andrej Kacian <ticho@gentoo.org> ccache-2.4-r6.ebuild:
Stable on x86, bug #159527.
08 Dec 2006; Jeroen Roovers <jer@gentoo.org> ccache-2.4-r6.ebuild:
Stable for HPPA.
15 Oct 2006; Aron Griffis <agriffis@gentoo.org> ccache-2.4-r2.ebuild:
Mark 2.4-r2 stable on ia64
*ccache-2.4-r6 (15 Sep 2006)
15 Sep 2006; Lisa Seelye <lisa@gentoo.org> +ccache-2.4-r6.ebuild:
okay, apparently -r5 wasnt binary friendly. bug 145167 comment
*ccache-2.4-r5 (14 Sep 2006)
14 Sep 2006; Lisa Seelye <lisa@gentoo.org> -ccache-2.4-r4.ebuild,
+ccache-2.4-r5.ebuild:
move the removal of stale links check to pkg_setup due to a portage bug. it
should be in pkg_preinst. also fix a symlink issue where it was linking to
the name of the compilier and not ccache. oops
*ccache-2.4-r4 (13 Sep 2006)
13 Sep 2006; Lisa Seelye <lisa@gentoo.org> -ccache-2.4-r3.ebuild,
+ccache-2.4-r4.ebuild:
Another attempt at bug 145167. Removing the stale wrappers in pkg_preinst.
*ccache-2.4-r3 (13 Sep 2006)
13 Sep 2006; Lisa Seelye <lisa@gentoo.org> +ccache-2.4-r3.ebuild:
Move (shadow) symlinks creation into src_install. Moved Zach Welch created
multiline helper into five lines. Ha. This also should resolve bug 145167
*ccache-2.4-r2 (09 Jun 2006)
09 Jun 2006; Robin H. Johnson <robbat2@gentoo.org>
+files/ccache-2.4-utimes.patch, +ccache-2.4-r2.ebuild:
Patch to fix bug #136233, to use utimes instead of utime.
31 Mar 2006; Diego Pettenò <flameeyes@gentoo.org> ccache-2.4-r1.ebuild:
Remove virtual/libc dependency and add keyword ~x86-fbsd.
*ccache-2.4-r1 (20 Mar 2006)
20 Mar 2006; Lisa Seelye <lisa@gentoo.org>
+files/ccache-2.4-respectflags.patch, +ccache-2.4-r1.ebuild:
ccache-2.4-respectflags.patch from bug #126875 to respect user defined LDFLAGS
06 Mar 2006; Lisa Seelye <lisa@gentoo.org> ccache-2.2.ebuild,
ccache-2.3.ebuild, ccache-2.4.ebuild:
Change SRC_URI to close bug #125246
17 Jul 2005; MATSUU Takuto <matsuu@gentoo.org> ccache-2.3.ebuild:
Stable on sh.
06 Aug 2005; <gongloo@gentoo.org> ccache-2.3.ebuild, ccache-2.4.ebuild:
Fixes for ccache dir on ppc-macos.
30 Mar 2005; Michael Hanselmann <hansmi@gentoo.org> ccache-2.3.ebuild:
Stable on ppc.
09 Mar 2005; Brian Harring <ferringb@gentoo.org> ccache-2.4.ebuild:
Version bump. bug 76133
21 Feb 2005; <gongloo@gentoo.org> ccache-2.3.ebuild:
Stable on ppc-macos.
21 Jan 2005; <gongloo@gentoo.org> ccache-2.3.ebuild:
Keyworded ~ppc-macos.
30 Oct 2004; Michael Imhof <tantive@gentoo.org> :
Added ~s390 keyword.
01 Jul 2004; Jeremy Huddleston <eradicator@gentoo.org> ccache-2.2.ebuild,
ccache-2.3.ebuild:
virtual/glibc -> virtual/libc
09 Apr 2004; Brian Jackson <iggy@gentoo.org> ccache-2.3.ebuild:
added s390 keyword
13 Jan 2004; Jon Portnoy <avenj@gentoo.org> ccache-2.3.ebuild :
Stable on AMD64.
09 Jan 2004; Aron Griffis <agriffis@gentoo.org> ccache-2.3.ebuild:
stable on alpha
05 Jan 2004; Jason Wever <weeve@gentoo.org> ccache-2.3.ebuild:
Marked stable on sparc.
28 Dec 2003; Joshua Kinard <kumba@gentoo.org> ccache-2.3.ebuild:
Move to mips stable (~mips -> mips)
14 Dec 2003; Guy Martin <gmsoft@gentoo.org> ccache-2.3.ebuild:
Marked stable on hppa.
12 Nov 2003; Aron Griffis <agriffis@gentoo.org> ccache-2.3.ebuild:
Stable on ia64
18 Oct 2003; Martin Holzer <mholzer@gentoo.org> ccache-2.3.ebuild:
x86 stable.
*ccache-2.3 (29 Sep 2003)
29 Sep 2003; Martin Holzer <mholzer@gentoo.org> ccache-2.3.ebuild:
Version bumped.
*ccache-2.2 (26 Feb 2003)
17 Apr 2003; Zach Welch <zwelch@gentoo.org> files/ccache-config:
fix ccache-config to add CC_QUIET
11 Apr 2003; Zach Welch <zwelch@gentoo.org> ccache-2.2.ebuild:
mark all platform keywords stable
19 Mar 2003; Aron Griffis <agriffis@gentoo.org> ccache-2.2.ebuild:
Mark stable on alpha
26 Feb 2003; Zach Welch <zwelch@gentoo.org> ccache-2.2.ebuild files/digest-ccache-2.2 :
Bump to new version; see bug 15100
*ccache-2.1.1-r2 (24 Feb 2003)
25 Feb 2003; Zach Welch <zwelch@gentoo.org> ccache-2.1.1-r2.ebuild :
Remove old versions outright, don't backup; fixes multiple re-installs
Add portage 2.0.46-r11 as a RDEPEND.
24 Feb 2003; Zach Welch <zwelch@gentoo.org> ccache-2.1.1-r2.ebuild :
Add missing keepdir; no bump since found fast
24 Feb 2003; Zach Welch <zwelch@gentoo.org> ccache-2.1.1-r2.ebuild files/ccache-config files/digest-ccache-2.1.1-r2 :
Add changes from bug 15100, with enhancements from distcc
11 Feb 2003; Guy Martin <gmsoft@gentoo.org> :
Added hppa to keywords.
*ccache-2.1.1 (24 Jan 2002)
25 Feb 2003; Zach Welch <zwelch@gentoo.org> ccache-2.1.1-r2.ebuild ccache-2.1.1.ebuild :
Fix ccache-2.1.1 ebuild to allow downgrade from 2.1.1-r2
24 Jan 2002; Bart Verwilst <verwilst@gentoo.org> : updating to 2.1.1.
06 Jan 2003; Jan Seidel <tuxus@gentoo.org>: ccache-1.9-r1.ebuild,
Added mips to keywords.
*ccache-1.9-r2 (06 Jan 2003)
06 Jan 2003; Aron Griffis <agriffis@gentoo.org> ccache-1.9-r2.ebuild :
Fix installation of symbolic links by searching PATH for compiler
front-ends. Fix einfo commentary to fit in an 80-column terminal.
Add alpha to KEYWORDS. Make this the -r2 release.
06 Dec 2002; Rodney Rees <manson@gentoo.org> : changed sparc ~sparc keywords
20 Nov 2002, ZhEN <zhen@gentoo.org> ccache-1.9-r1.ebuild,
I added some info the the einfo section regarding
bug #6805. My change should clear up that confusion.
12 Jul 2002; phoen][x <phoenix@gentoo.org> ccache-1.9-r1.ebuild,
files/digest-ccache-1.9-r1: New revision: Added a check before
symlinking in pkg_postinst(). That way, the ebuild wont create
symlinks for compiler which arent installed.
12 Jul 2002; phoen][x <phoenix@gentoo.org> ccache-1.9-r1.ebuild,
Added LICENSE, SLOT.
*ccache-1.9-r1 (09 Jul 2002)
09 Jul 2002; Mark Guertin <gerk@gentoo.org> : tested and added
ppc to KEYWORDS
*ccache-1.9 (24 Jun 2002)
24 Jun 2002; Daniel Robbins <drobbins@gentoo.org> : updating to 1.9.
*ccache-1.8-r1 (24 Jun 2002)
24 Jun 2002; Daniel Robbins <drobbins@gentoo.org> : new ebuild that installs
ccache into /usr/bin/ccache/ccache and creates /usr/bin/ccache/gcc and cc
symlinks automatically. Also creates /root/.ccache dir if it doesn't exist.
This version is designed to play nicely with Portage 2.0.6. Portage 2.0.6+
will auto-detect and use ccache if it is available :)
*ccache-1.8 (30 Apr 2002)
30 Apr 2002; Ryan Phillips <rphillips@gentoo.org> ChangeLog : Initial
release submitted by Paul Belt <gaarde@yahoo.com>. Thanks Paul!

View File

@ -1 +1,62 @@
DIST ccache-3.1.6.tar.gz 340883 RMD160 dd74ebc293453ba581e9b81d60bc0dddff60f09b SHA1 9ed36cf97511f7e0fb7ec30176ebba0b7d9dccf4 SHA256 59f58bb73f00db5bbff36b8eb530d3000c86b3110e34cf8dba9e2a5d19eb684f
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
AUX ccache-2.4-profile.patch 1069 SHA256 7cd6e8fcd2fc90aac484ff83c1181c82eca4ec3e2d568c10025f67ac751a6794 SHA512 0bf467d058ea0aacb19a8c768109582e5ed7178926548304eee0c5e86cc74bcfe3aff64b1ee1d22701e2a3ffb7ffa4e13b7ddf25eb640fbdcf1cdf4844047c16 WHIRLPOOL c2e8756288cac5a57f5b04e2502474ba9a86552d18281e57830fa679130bc5050b69bbe5d48cdc647a1164955314731a51c2ad0ef546307e5415f62614e46ead
AUX ccache-2.4-respectflags.patch 403 SHA256 f7006cc34ecc8315b023d4533273d47a7a34958e7037242811a58ee8570efbd5 SHA512 f05ebbfc30a71d0f9e2182364a9c0fed2ffe4cd382f2ff19bb2d6311d2ec086452804253aea485aea36a70871b35cf6b88e1e55260cdb898aaa8755644ba7f8a WHIRLPOOL 809a6841dd4ca9ab35fddd5258dc5781d1ebf11d7e412b7aa7611135b5aeb8fe01bd5bb2c4f1f26fef076d4c1edb34bed53870c193dd75d0d69e4c14d1fef581
AUX ccache-2.4-utimes.patch 3267 SHA256 72f617b329a68c9db57180a9940689a48acee771067392a2d68b8abf8cdf891a SHA512 06592fa636085e39fb3b8a3495fc388a68603afcc3d2273b4379caa1d0ab2346082459916bf047aa1f6fef73cc23ecbcd74e7335e2ca9fd154a7e726713fae44 WHIRLPOOL 8db5e5187aa775f8fb569346e64d663e245d8be1403e0d807cd4b34a0a4af0db3f32db60712ef49a461ef82e315ed7baf5c5dd86c0c3f37553e4d43d8af3a7d3
AUX ccache-2.4-xrealloc.patch 742 SHA256 119c8fb7f3ec725444e416e42d690fdf81470213a837274bc5375f659942147c SHA512 86a06cdeb9e9b7ed6bcbf57f85cfa38fe13f64d4654e225cc1b24b0dea38778fc87732362be872587ad3db02e5421a7bcb4771f56cf79ecea0b77ed4928cddfc WHIRLPOOL ded4aa06e4daf6447314e00e3ac4503b143a41385f1532672c43dea9b2033b7ca17ef4111e95efd2be87c84e176bdb9310b485f45312a2c83cee557766f31195
AUX ccache-3.1.10-real-temp-files.patch 5539 SHA256 39382b8f098b7c546d2d2d951abf6766af3afed71b25456a1c57093d06dacf06 SHA512 a0c519ed56277cd79cf2ba5bea9b44a5450a2269f44ff94dd6288a52f929bfa453733a4cba49dd61df0c614d19b88513737fb13550d49ea1ebf32c3ea155dff5 WHIRLPOOL 795fc6858e490d12f1586791cb61766c52081dc21ae5caf80c822f116b014b4e18c073d6fc290ada3f414a16233a93b57463145afe67e5f26bb3e26822b019a3
AUX ccache-3.1.10-size-on-disk.patch 518 SHA256 63e778782c31420caa395079554a1204cb2d899d745afbc330aee708dbbd7605 SHA512 bf7a160b091798e7de57748f4f9e0d6f027872c713108e3791cfc82bf64d3ed843607267ff0cca9e0848abf8bbcbbb6c19921560032576849a42f29ecc496212 WHIRLPOOL ebbe8a3409efa280554800a75bb5a16a5a798a1504cc5613374a7ab156b7d80ba8ff9914fd1bc61454d09545dc3f2fd8f2ba5857344b0e3546201d9a4ecdb3a4
AUX ccache-3.1.7-no-perl.patch 400 SHA256 5784419b79e89bda1bf0a8d053c26c9d798dc88ef0756f19c0b0d40f93c3aef8 SHA512 bd529e4ec577a458e5933d2f55ab54fc783eb00a14f4f6879e1cf4f20d058816651b80bed7141e1fac6863f1ed34cfc65658d42ad728b2dcb9cf4ceab7f6318a WHIRLPOOL 8299d984e66d3328166bf4a4e676f963bbd7203bacde6ac5b1d74a98da589239efa03946431b43f026e45eaf5b922e7792a89fc905c17a591304c86c1af9ddbc
AUX ccache-3.1.9-test-gcc-4.8.patch 5157 SHA256 da673ec98db54c2fee09585ffe4ac4fde3d9867a9a66f0064f8de4d7409644c1 SHA512 44cb88357b1fece0869463c4819422823d8025be577dc50eaeb435a3675c033c56e1dc0474b505830b229de7f8bd92cd6833eae72830d89a2e4a89b8a46aed6f WHIRLPOOL 88d61b411367808e0239a949e01742ed2204e8212a4af8dd919f4d6335a040769d9b33ea2e1c1b71eba69c25b81f1417d717bcb6dd4799a9d276a0ec7bfe00ff
AUX ccache-config 2222 SHA256 02df1f8f5fbd07c0eab09f18a51c357525953163391adc95ed5e46c813bffdd0 SHA512 58a635bcfb1a682b36a67e70ecad29912fd1e5cca20ebbd1a89912b97f18ada204cf24f2bb88ddce985ab3423a94d34e2322a08f1dc0d8bd17a4b77bbcd66282 WHIRLPOOL 87086954357d3e09e7fa75395ef02a84d86fb1d74caa3d117c5bca80d1531f1b454ef715678972893fd82be43a3e3efbc8c81a14a3520dd3b84eb7141c06277d
AUX ccache-config-2 2147 SHA256 775a4fb6f14b03bfb7a396521a7fc6606cbd84308e68712aa61139a8fddea573 SHA512 339e413cedf69cb0ca96f10b80a4959762bc02b4d0c265ecec4b16550f935574537799f624a553ac157c003d02b331283d9b21924676551ffe8a9ad72335d11e WHIRLPOOL 615ff8214549011bef667809c47611a0067d16a045273114e972cc7623c20f5b53cb32c5f69dcb2de396e8f3f5c41ca47d623a91d7eb6189caaae28e81ab24ac
DIST ccache-2.4.tar.gz 86363 SHA256 435f862ca5168c346f5aa9e242174bbf19a5abcaeecfceeac2f194558827aaa0 SHA512 6ab05f74eba5c0a7472a3d53cfa6c24e45f421f2c773776f713a46121eda21213deb34fcef214d4f8d2e756cd375637e4639a9bdfeb6b9a44455c5bcca246b19 WHIRLPOOL eb308222713d17f52f88ac97a5c63add454b350d60259d1d2238e3b54f1e80ad8c8700e0e045b40aa5be64b1db54846a86da600436778a64d2270efff7763380
DIST ccache-3.1.1.tar.gz 324042 SHA256 eb0b37e25ecfdf1262e0da7fc5f01d986923589803c230dcb7213ecbead3aed1 SHA512 de1d3b6d32df08db28a6ef99ec6ce7c5d5957d7c54a0cfc6df303979eedcc198c09ca7bdd0dd1546350f83cbd87a08fa734d6f6a04272926741ef2efbf2a596f WHIRLPOOL acf700b1ede0cbf312dcfd825191aa5a16dd8a1e18669eac6a9cdc4805d92e024bf5811c5fe77dc51a9311cff2a52c72dd16ea0b81656aa554e027abda5b00c9
DIST ccache-3.1.10.tar.xz 240932 SHA256 88439f43d3b426ab435afdf69a808511bada4de3a8a9527426bc4fbf6cb02857 SHA512 6a1c77161ec97b556a8c58592e2d6bba8e3d43cc039de3ebaa2a80fb92ae54bb7bad58eb011f52b750e29aadb0ed208220fb67d30deaf6c64aa4cfab31937fed WHIRLPOOL 5d527d986ba14a6312f82df277d7de47757bb43b7bcaf9eb6cbdbf337af862726f1f85ff7c352d0ad54344d98a8d8dc538e43de05976cdd29710b72917b42106
DIST ccache-3.1.2.tar.gz 325243 SHA256 1c690993fe8408c190657c0a308574c947defbf38c3fa0e94d8f32a10f765714 SHA512 a8fc9125825f860e3e9f67513771e5b4819d6fc77b6281b1d4b05094a95fd30a758d91690f8f393bf5b018fff984c152fd1c2baa6fca0e81a62713e6d832d1ec WHIRLPOOL df57cce0de24ddebd46f296ffecbf80ddf797d82a83aa40ea639bb360f4e101da4d83455cb0ace602ca25adff2ec33ad3ba6162b216fbfb2fef3faafe4b8a7c8
DIST ccache-3.1.3.tar.gz 337854 SHA256 549a7b082d38dae368b3b3023c2e96a81a46047c96dd0999225e4e16b0746420 SHA512 e19a67ef7146f66c1aa318acb4fd13abcaa127319b4e8866bc5ea5bcc35c8b94c32545bd44eea11766276d45daa4e1ad46c410577d408b59351b5b845d69fb52 WHIRLPOOL a866ef2d844604ed64ac7e56302f0c4a88d0feb0fdaf8c30df1bd264be336b7d5074fd3d92296b4ce8c29c1a7b773c690084d378885c63ff338150e8af4c5cf8
DIST ccache-3.1.4.tar.gz 338215 SHA256 4bed4ad037f67254d239cf932815184f5f1395ff079310eff3ea99a2dc2984ae SHA512 52ac1c51b923d12637aad9a08f7df03246f51f03d8462cd22494145ca5dc44aa6858fb8a6266e80701b7834e87754e04c94bca8fe3a30099810d4a683fcb96c3 WHIRLPOOL d4c2d37f94db2d8c7b4731c18ebc59beb10014ca10c47a0ca67b2531432e588709d1ce15cfd593eaf2a18f505c695c1a54495828db4e0a1431c11b36f2fca310
DIST ccache-3.1.5.tar.gz 340478 SHA256 54afc35c672ce451e04a478cfc0eb74c1ba184e27ef24881206602aa0eb94d63 SHA512 0c47c2f85f8d92e346e362413060f809779fdb421b05dfc4a75b75d981b81b339a473a53ccf7bdb804df78e52014319f55a8cfa5ec00e945ebff4694a97dea20 WHIRLPOOL b0a5673a16ca5ce71ad7fcb6876ca12fe88a5edecf76518efb193fa7c3a35f29887f41c3b6df481e46f4e9fe266412363ed81bae23f3ffab704c5cb9371bf9b3
DIST ccache-3.1.6.tar.gz 340883 SHA256 59f58bb73f00db5bbff36b8eb530d3000c86b3110e34cf8dba9e2a5d19eb684f SHA512 88f677dd41638b08b5c870eaa9de38a8bb039d712d6605c98273373a3df15171cd0e74c900e489a8261d017d53852a7e8a86072ff7840149288699ad72405eb3 WHIRLPOOL 52e53c8ee15bebf3979428b9a5a6e3ed6029367828eb0cf0277853350f9bf18c9a3a7da228509fc849be0d054897b3a5344b324756921dee833b37f0f1a9834e
DIST ccache-3.1.7.tar.gz 342160 SHA256 278f4d1d38fc530221c7ce73606f34bc3a5df7e269930e4fb1d9ac44f4345d11 SHA512 f45e4603e81d42b6ebf8e6e14c8f9b3ffc734f4dad877e86ed3c8dc777d53300afa1faba9026930cf8683467f40a68de1052be5e5346a44ddd544dbfa850b5d1 WHIRLPOOL b7ec65cac77311b539423cfcc3eca6536471c08a4fee0bce5bb205a89e51476299c66dcc0b13021a8c0a709bcab5591ba9df5209118df4150b1be2cf72605db5
DIST ccache-3.1.8.tar.xz 238304 SHA256 9c4134a88d2566ba41a070a6cedc53fa92e1008f40c116c61e73dde16453d63e SHA512 02ef3d3843e34571c781ecfbe6ab375b0afd81c5da36ce5264ee646368f5c96bd2a7748a8e699758ab5d10d06a39de7fb6fa70c609cd157a8fd87f9d009c5f94 WHIRLPOOL af144139454dc6334c96be149d5912e3795a9ee0d9c47c0159dbc05697be6729d268dbf70330732ea49c5b085b0e4845c029fe1f231ff62e882fd769dd0ce79e
DIST ccache-3.1.9.tar.xz 238988 SHA256 4981fdf3ad851de400d94083a0d03f115ce9ce8062c3fd7a291630294b0006c4 SHA512 b73f5816bb87c2d94200473510ea42a304c5a2c5e5f14720c513574ce3eb983423c5849a786a89df70cbb09852d9ec2761ad37a820a767d7350e1a3243148ac0 WHIRLPOOL 61ef671aae68516ecfaee88a50b8f442968a7ab24595fd7dfc652ab27de80834d90510c62cfcc75dd88e1f3832989633f518ebe5984149c16d5ab9848cff05fc
DIST ccache-3.2.tar.xz 297176 SHA256 e194734054177cdf049832481aab50fc83162acdfc1a4c85248f4b66bd08fe32 SHA512 5528a756763ac8654066cd6ffefba02308b2e602760a1dbdd7361f710addea8586d25c02dcff281c0e2cda4212af48f2f1fddb9fca84720985387eb0c938fd74 WHIRLPOOL 6c26a47a69a74bbde7246e3c2448f14ab844d3120f738b919536d896e9acfc1d012128d7d1d6ac0d4209f6bfdebe0fd0282402d3e556c20dd1bd3f5bb58f3f10
EBUILD ccache-2.4-r6.ebuild 2327 SHA256 1b31298cdb124826aadfe4c17f3b4118348f965797b816964f0eaf1f7f0d34bf SHA512 6082b1a9aec8e61fcb7eb3379effa14385253bb55dc59c7553930135c0ce41da540d8757201c9690367d726e9b00ec966c84c0d72eb776c3547c1d7395f0b3c1 WHIRLPOOL 55a6f19a7dc1541aef42e5b8f8028f3d41fe2438172c73b4d33682c6023f92568c4abb5c08c2ee8d59cb1c7eadf0857cd8599a6774a5138439947a2b8865f0ef
EBUILD ccache-2.4-r7.ebuild 2412 SHA256 2a49abd73c7dc5a1464c3842f0f261aa3be666e6598aa96bcad4b8892373c9da SHA512 db1c69fa76cf2a2233141da7a339f22ce107cb00db7d446280b240800d9b446940e2734f96faa59ab88f763d4a4a069ed35c741ecb7a3c2e92f89461a1900216 WHIRLPOOL dab768b6447824c43cfbdb87150c5209aecddf18c88e0f4c64be7723ac20fcafac2c3b022706925723395a1c3a33ce6b886855191b466ef2ebffcd9396037858
EBUILD ccache-2.4-r8.ebuild 2493 SHA256 cf1e11acbe5ab243232cabffee3776f272198b3d67d726aedc74cf6ecd7b44b3 SHA512 f25365a5877a0d97a55104712492b56f9286ca03a3743d5e1c43919a1ca9496696d38fe4a60c408e10fab1f52b7023aeb19b809e4d21d850f67bf8ea45283d59 WHIRLPOOL a942be540fc002f4b8f91a96a21f8b281ca4667baedfb51a2a27a0e48e934b25bd55d17cfd65299735fb39f54276ef5435d50718989f018fbc7a1717b7431df6
EBUILD ccache-2.4-r9.ebuild 2533 SHA256 c1b440410ebdf9850c91fa69eea44727e2f09be7093dd3daa0a6397b5227b715 SHA512 221d515fdb48a110d44928f581f9b9866af02ca9bed98063239bf9852f7a1d325091948b568c39d19dcd105bb88dd894187245f2b4911fa4366784235393859a WHIRLPOOL 2f8c34b280d6c9e0d8620cec33769b484c08bdb9440695e59669958c607b774f0df99c3b964e6ee183a46a3b8418a0732b2d3738dcb3be6f743a44016a4e4390
EBUILD ccache-3.1.1.ebuild 1881 SHA256 8c46a74aeaaf0a7b04eae87cd5308d4e11af42c8a5c7bfa690af9bd3e1eae9dd SHA512 6a57439de8d3c02b4608fe7773cf2800ff0bdd09fe1117559694c68c9451e182aa58eb2ef7a43833d8e9f70cb9d1c04d9d2987e7cba418feea9a041b6147f790 WHIRLPOOL 401c2fcb58bf19d73f124f483dc94351d6612bcb6cd65b6b7e0349d2e8383460fdfcf2e71243b2e0c29d12ffb759ae84117ddf1c8d47b39cbb5d3eda977aff43
EBUILD ccache-3.1.10-r1.ebuild 2254 SHA256 6e76f01c269990692065438486354f714e5545f5cbd296eb7404020e0806ef9d SHA512 115ca712b3c33acdae279d3914a189f1b0cad89440a4abdff07b29e52291a6b67cfd167e7c69d704d6c571005edee272d511dc465a119ef084780ba15e4abe87 WHIRLPOOL 4b2c3e09781bbcc03b523d312bf074ba210205ddedb7c55222ef1d9da49fbac3de8241641b93bcbc04408dbfd98d94f5181ea03085f7d6da220b611678a4b1f9
EBUILD ccache-3.1.10.ebuild 2270 SHA256 4d5025e5afec91f333f2edd8625b7183c7d063b9949140bb1710555ae3832adc SHA512 5ac51895e340aa9138fdae87d48603cfefaae9a7642226e2a6da9656aeccb2c3cd936bc6cdbb65e50e1345409c61c44574d3812c8eb93d07f25631c22f2173b0 WHIRLPOOL d03745fea8f8c083535476a16ed4112893bcfb73259e7cb2375f84c961418b8fcf1b21ac89b1a6e41802f39d2b0dbd45fb45107ce55899cc1d4fd7c7e11921a0
EBUILD ccache-3.1.2.ebuild 1841 SHA256 a82766e6582602ca249b4b4432e3f399f2ad6d0db6af860b2d7c7134251f40c6 SHA512 b74a62b6ba12b99c12fd89f748120c7f102e0cc8297972c308e55a30ee426dd339560d1d2168e36a2cf4f2426f37ceff6437568afd6880f8c7904ffff78005de WHIRLPOOL a1fa1ed3694eb689bc3aa1ac25c035edd2aed8ecb5df6b752f61da3d48cd76576f9d673cde73c3cbe2c110a379767988f8d43850cafd335d176faa3650596acc
EBUILD ccache-3.1.3.ebuild 1841 SHA256 ff190eba38b8f5f253106780fe36ed979241ee0ce521bc4d7248ea9a2747ad4a SHA512 e48c78851bdd12ecc86a70867ae9908c1f70b9b27b79ab76b2f5fc71a5e8bf0c6f0e2d93915cb768415913d581363611224ca6966a232c833e12d7dc4a661644 WHIRLPOOL bf2fc84ef5095bd5db3b33097aa2508932b65cd1f378ecbf867973152a6944f2f85fb23642ac364e48a7c178cf8f297bccbc926447b574f077bd055987e5773a
EBUILD ccache-3.1.4.ebuild 1841 SHA256 004fabbe69d64efed9335e121dac60058ab57a09269c162b46204c4121826c3e SHA512 3eb173027b0761f9d09b49223e052156deb2ed86b6de69e592e505d729535915e612b10a241106c3036cc6c0b9e1f8445d3522136c4668c9c4389188f33920e5 WHIRLPOOL edae9f0027bc6d4878336f19adeee50c5210a986ca63d7d2ce6dbc733868fc53985e068418b4ea48c512b733767275793a6607352aad000633d2c26168505b3d
EBUILD ccache-3.1.5.ebuild 1841 SHA256 831bcc798698934d8d1dee38e8a9170721a85861f449b00eba94acc74b8e505c SHA512 79f2c17488c927ffc9c33ce8b86e3f1513dd203eaf57dd75ad8ecc29517491368350e12a81d0464a9a4c0b29e92989dda0c0d3506803dbbb7e57ac63bb1e674d WHIRLPOOL a6c66138f5b28c3bf009790d5bfceeed0e1ac73efd1ee47ab1f3579714726d2fbdf34293d94e804cc61c51b94993e50d866b8f915441ff148ceadc1e0b4cf484
EBUILD ccache-3.1.6.ebuild 1829 SHA256 289838680ac3fd1b477882273318ac78101ea8806724053f543f4ebe6f965a4d SHA512 ea5d8f403244b792f4c1d190720484df201453b1cad616c51dd73ff1df77b0a174f69873bb74a2ba83d42a6f5daf9955949b1d5936dd8ba663224195126624ec WHIRLPOOL 4ef2c1adb806b4edf3d3d2d6ea792481afc773d527774c2c222cee4c36a998d259f6a7aa0e8817f0b15dc70fabf594f5c25626415590fa11469f40c2680740af
EBUILD ccache-3.1.7.ebuild 1868 SHA256 91c6bac92477d375382baea491d86ceb4c9e722c581f60e618377dcb7d8ddcc4 SHA512 be1f3207f3ebb13e19a9a03ea5a065ec811ddc466b9a00f5048a6f4f58df727ffa2af33519275ee075ac5f76681314ae89f896b853ce54cb5944cc1d6642920a WHIRLPOOL 4aa5e587c8a526774805204c09d9a37298f1561bdab262c33b0f50082de4ecb306602baf43c90f49b6a74133a1ef8c5454bf9cdc47161d3a74a4035580453f35
EBUILD ccache-3.1.8.ebuild 1828 SHA256 c8cb4b4b93ad0e34cbcd2cb53da63f2c0856c5ed729d8bc7b5385a518f2fa0c9 SHA512 c258db009169e10408d5e12b6f6e111666df1d3f6a8024d3f519529a43bd0c67a915bcf36ed6951e7953c049f2009c2165a1f2f029a94d757cddff237d35531d WHIRLPOOL 8041198c0861f7f430bbd0f7837201d6aa56cf3dd4effef75be70c5f72c3e665a68c40b70c41a93df6862a7b42d208a4bf3206c0132a820edc4cee6fbb81983b
EBUILD ccache-3.1.9-r2.ebuild 2414 SHA256 8ce6c043db2f19f2e02793cc0a7d96d638eac980f5010b0ebf787a701199feff SHA512 4b42ccdaf4e6af712185cad5d4976d0f78ef77b6a3d7f7dc676181bc7a1ebf60a49d4b51cbb18f53d802b537a17f633bef03c90513342293b318dc21c7b06474 WHIRLPOOL a1a6da113df674fec5da42d8febc6d79755cf3b5570c36644139dac3c016ba7f531b42e082f0b1d4ad585c3a6cde00471857d17684afdbf189f8fc7e95746cf3
EBUILD ccache-3.1.9-r3.ebuild 2311 SHA256 a04470ec13d50277af4172058764ba0ca27ff5fc4bb601088959fd7978eca018 SHA512 293a645353e3a560d68b4ddba5d77c1a6a54fa23160559cc7465b37de601c5381aab9d44440c597dcd6cb52eb8487a56b6246c14e084808b48c154a257439e4f WHIRLPOOL 23534b4af2242cc1aa6d2c8bf0a2c6bff157f6603c0c86ffde781897af3e8d0e1d0c359d3b909b51c0fec39a7b8d3d2f231b392f5bc121800b390e4a302706e1
EBUILD ccache-3.1.9.ebuild 1930 SHA256 10c374f8e0896172880bf9a7e93351c8f5676e20a9d050b9e3b1a93e76bf1411 SHA512 4a2f148cfe8526fb9fa70b0b9339810af2811ba7d077a90fdc8b8b2280ea80a4790c9e475344f88bde4e01dbeb93ffa429d8e2d417537006201abd1eb2057284 WHIRLPOOL 104505aaf61b01fc384ff8e6118dfe51fd29b50f4c541a8cf31168a661f8216735368ea280b7e1e9bde640bf5f853e45d12cb321cde648f61578ee82a08e1721
EBUILD ccache-3.2.ebuild 2191 SHA256 a54efe080c21a41b192139e2a1f6376b1677f8c399265f3ef487f8e3e52e00f6 SHA512 05de65ea4e6267cf6c0947cbc88ab7ece28dc23a4d892978d9a3112dd21d64a35f46a94dc29ee18e2dbd032382685c8e0489c3458e68f3785941983ff7f6a54a WHIRLPOOL e792b64a46ed3c043d86a3233ec0dbe387875f9221d9f2ff367d9dfc6ae97c91575ffcc147e34daa3770e45af07fee9562f715876948e43e83ce602c67f3123e
MISC ChangeLog 18397 SHA256 faa7a9ad707b4346b1720c2720da45a428563bffd1bcd6d232c0e382bfc8588a SHA512 70b47d26f560c09061c9ab8e177ee0c5804d21b5608eea826753718dca488e20eb760e4415af38a639c2c25ff9b40729cafe46059e29b0e7177deb3b5247678f WHIRLPOOL d0de92dc594001c3959b4e48a308706353229d8b1115cbbd4864a685f72654765296ff1368ba3b34deaa8eeac424907c568c35905997ec3ca7808e6100c899d9
MISC metadata.xml 412 SHA256 c54d1b5f225e3a82754a2550d3875b7211249572a9372abdeff5fccda469aada SHA512 63219b00d64d67e2ff11ac39f667be3ad110df35259d79267985e05ba6f0c932fd5b11dd78deb3fd062c963b6cd218db0a05958b54d323b86950991b80939899 WHIRLPOOL 329af87aff780d16300e5832dec6bec923b1cf54bd14f52db08e3fea7ef506ad85f627dc8005ec2f88f62f6dee27d7600eb558d4f66bc08011d23dee61bac297
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAEBCAAGBQJUbT5fAAoJEPGu1DbS6WIA6AcP/iGeXkF42ue2Iz3AC54TDSnk
uXb0UaqXN0WBG6/8ufJ6Vn9vI5VUoKbxzdQ7sFQWXGARX+SzGG1XGtdhEVQSmLgI
tDEfzwCjm3wbXyII7vGfqzUM5sCcXt+JWIkqm4E15Eu3OgjfauvrpMJIdRkDXXaL
u5/Frp02lXpj/KM0KU2tRUBJMmnJ+1k0w3P7VeQnBJOMPZgkXJwUtK2UsiLNrDL6
PwPsro8u0FusSs4mpNl6Pwszz2tl1ZliCx/TVlSfI36BYWiVv20GdlT0LwFuCL+0
8grmD2UxINhqDhGXcWPM0TBeD7W+PZY0M32VJncMDfXouF3RDhsO3xRGtPBy8XDe
+r+8MRK+TE1n3xbz3d3L/ibZdTt89JAaeQ4y11ATEJlKOqoQIuAI9IVNevxhosu+
OTcqSt2T7NBC1SuO6VsKUqe05sJiY+BWYKgXyTrYbCS4ecMkh9Q30XyTJhMcjIxK
A/IRLM38IKrlAhWziBDiyO3emn52b8ZyZNKgFG4EtTqr9COPp9I5Xwro43berYnZ
EhvIaX31P0wXdBMKFiN2m6sDS2vOa1i7Mo3dsvwKjVr93iNUnJqhpBDmFrbUVRS5
dXttPefe/dWADmHNc87yM9Fl/OQzmlprMF/TpQa/EjCP6sg7kb92TafBwgc0tqms
R0OpaAa4q40DXaWCi0DI
=lPM8
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,79 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-util/ccache/ccache-2.4-r6.ebuild,v 1.19 2010/12/16 20:42:34 robbat2 Exp $
WANT_AUTOMAKE=none # not using automake
inherit eutils autotools
DESCRIPTION="fast compiler cache"
HOMEPAGE="http://ccache.samba.org/"
SRC_URI="http://samba.org/ftp/ccache/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd"
IUSE=""
# Note: this version is designed to be auto-detected and used if
# you happen to have Portage 2.0.X+ installed.
src_unpack() {
unpack ${A}
cd "${S}"
epatch "${FILESDIR}"/ccache-2.4-respectflags.patch
epatch "${FILESDIR}"/ccache-2.4-utimes.patch
eautoconf
}
do_links() {
insinto /usr/lib/ccache/bin
for a in ${CHOST}-{gcc,g++,c++} gcc c++ g++; do
dosym /usr/bin/ccache /usr/lib/ccache/bin/${a}
done
}
src_install() {
dobin ccache || die
doman ccache.1
dodoc README
dohtml web/*.html
diropts -m0755
dodir /usr/lib/ccache/bin
keepdir /usr/lib/ccache/bin
dobin "${FILESDIR}"/ccache-config || die
diropts -m0700
dodir /root/.ccache
keepdir /root/.ccache
}
pkg_preinst() {
# Do NOT duplicate this in your ebuilds or phear of the wrath!!!
if [[ ${ROOT} = "/" ]] ; then
einfo "Scanning for compiler front-ends..."
do_links
else
ewarn "Install is incomplete; you must run the following commands:"
ewarn " # ccache-config --install-links"
ewarn " # ccache-config --install-links ${CHOST}"
ewarn "after booting or chrooting to ${ROOT} to complete installation."
fi
}
pkg_postinst() {
# nuke broken symlinks from previous versions that shouldn't exist
for i in cc ${CHOST}-cc ; do
[[ -L "${ROOT}/usr/lib/ccache/bin/${i}" ]] && rm -rf "${ROOT}/usr/lib/ccache/bin/${i}"
done
[[ -d "${ROOT}/usr/lib/ccache.backup" ]] && rm -fr "${ROOT}/usr/lib/ccache.backup"
elog "To use ccache with **non-Portage** C compiling, add"
elog "/usr/lib/ccache/bin to the beginning of your path, before /usr/bin."
elog "Portage 2.0.46-r11+ will automatically take advantage of ccache with"
elog "no additional steps. If this is your first install of ccache, type"
elog "something like this to set a maximum cache size of 2GB:"
elog "# ccache -M 2G"
}

View File

@ -0,0 +1,81 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-util/ccache/ccache-2.4-r7.ebuild,v 1.5 2010/12/16 12:19:44 flameeyes Exp $
WANT_AUTOMAKE=none # not using automake
inherit eutils autotools multilib
DESCRIPTION="fast compiler cache"
HOMEPAGE="http://ccache.samba.org/"
SRC_URI="http://samba.org/ftp/ccache/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd"
IUSE=""
# Note: this version is designed to be auto-detected and used if
# you happen to have Portage 2.0.X+ installed.
src_unpack() {
unpack ${A}
cd "${S}"
epatch "${FILESDIR}"/ccache-2.4-respectflags.patch
epatch "${FILESDIR}"/ccache-2.4-utimes.patch
eautoconf
}
do_links() {
insinto /usr/$(get_libdir)/ccache/bin
for a in ${CHOST}-{gcc,g++,c++} gcc c++ g++; do
dosym /usr/bin/ccache /usr/$(get_libdir)/ccache/bin/${a}
done
}
src_install() {
dobin ccache || die
doman ccache.1
dodoc README
dohtml web/*.html
diropts -m0755
dodir /usr/$(get_libdir)/ccache/bin
keepdir /usr/$(get_libdir)/ccache/bin
dobin "${FILESDIR}"/ccache-config || die
diropts -m0700
dodir /root/.ccache
keepdir /root/.ccache
}
pkg_preinst() {
# Do NOT duplicate this in your ebuilds or phear of the wrath!!!
if [[ ${ROOT} = "/" ]] ; then
einfo "Scanning for compiler front-ends..."
do_links
else
ewarn "Install is incomplete; you must run the following commands:"
ewarn " # ccache-config --install-links"
ewarn " # ccache-config --install-links ${CHOST}"
ewarn "after booting or chrooting to ${ROOT} to complete installation."
fi
}
pkg_postinst() {
# nuke broken symlinks from previous versions that shouldn't exist
for i in cc ${CHOST}-cc ; do
[[ -L "${ROOT}/usr/$(get_libdir)/ccache/bin/${i}" ]] && \
rm -rf "${ROOT}/usr/$(get_libdir)/ccache/bin/${i}"
done
[[ -d "${ROOT}/usr/$(get_libdir)/ccache.backup" ]] && \
rm -fr "${ROOT}/usr/$(get_libdir)/ccache.backup"
elog "To use ccache with **non-Portage** C compiling, add"
elog "/usr/$(get_libdir)/ccache/bin to the beginning of your path, before /usr/bin."
elog "Portage 2.0.46-r11+ will automatically take advantage of ccache with"
elog "no additional steps. If this is your first install of ccache, type"
elog "something like this to set a maximum cache size of 2GB:"
elog "# ccache -M 2G"
}

View File

@ -0,0 +1,82 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-util/ccache/ccache-2.4-r8.ebuild,v 1.2 2010/12/16 20:42:34 robbat2 Exp $
WANT_AUTOMAKE=none # not using automake
inherit eutils autotools multilib
DESCRIPTION="fast compiler cache"
HOMEPAGE="http://ccache.samba.org/"
SRC_URI="http://samba.org/ftp/ccache/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
IUSE=""
# Note: this version is designed to be auto-detected and used if
# you happen to have Portage 2.0.X+ installed.
src_unpack() {
unpack ${A}
cd "${S}"
epatch "${FILESDIR}"/ccache-2.4-profile.patch
epatch "${FILESDIR}"/ccache-2.4-respectflags.patch
epatch "${FILESDIR}"/ccache-2.4-utimes.patch
eautoconf
}
do_links() {
insinto /usr/$(get_libdir)/ccache/bin
for a in ${CHOST}-{gcc,g++,c++} gcc c++ g++; do
dosym /usr/bin/ccache /usr/$(get_libdir)/ccache/bin/${a}
done
}
src_install() {
dobin ccache || die
doman ccache.1
dodoc README
dohtml web/*.html
diropts -m0755
dodir /usr/$(get_libdir)/ccache/bin
keepdir /usr/$(get_libdir)/ccache/bin
dobin "${FILESDIR}"/ccache-config || die
diropts -m0700
dodir /root/.ccache
keepdir /root/.ccache
}
pkg_preinst() {
# Do NOT duplicate this in your ebuilds or phear of the wrath!!!
if [[ ${ROOT} = "/" ]] ; then
einfo "Scanning for compiler front-ends..."
do_links
else
ewarn "Install is incomplete; you must run the following commands:"
ewarn " # ccache-config --install-links"
ewarn " # ccache-config --install-links ${CHOST}"
ewarn "after booting or chrooting to ${ROOT} to complete installation."
fi
}
pkg_postinst() {
# nuke broken symlinks from previous versions that shouldn't exist
for i in cc ${CHOST}-cc ; do
[[ -L "${ROOT}/usr/$(get_libdir)/ccache/bin/${i}" ]] && \
rm -rf "${ROOT}/usr/$(get_libdir)/ccache/bin/${i}"
done
[[ -d "${ROOT}/usr/$(get_libdir)/ccache.backup" ]] && \
rm -fr "${ROOT}/usr/$(get_libdir)/ccache.backup"
elog "To use ccache with **non-Portage** C compiling, add"
elog "/usr/$(get_libdir)/ccache/bin to the beginning of your path, before /usr/bin."
elog "Portage 2.0.46-r11+ will automatically take advantage of ccache with"
elog "no additional steps. If this is your first install of ccache, type"
elog "something like this to set a maximum cache size of 2GB:"
elog "# ccache -M 2G"
}

View File

@ -0,0 +1,83 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-util/ccache/ccache-2.4-r9.ebuild,v 1.9 2011/03/06 09:07:21 xmw Exp $
WANT_AUTOMAKE=none # not using automake
inherit eutils autotools multilib
DESCRIPTION="fast compiler cache"
HOMEPAGE="http://ccache.samba.org/"
SRC_URI="http://samba.org/ftp/ccache/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd"
IUSE=""
# Note: this version is designed to be auto-detected and used if
# you happen to have Portage 2.0.X+ installed.
src_unpack() {
unpack ${A}
cd "${S}"
epatch "${FILESDIR}"/ccache-2.4-profile.patch
epatch "${FILESDIR}"/ccache-2.4-respectflags.patch
epatch "${FILESDIR}"/ccache-2.4-utimes.patch
epatch "${FILESDIR}"/ccache-2.4-xrealloc.patch #338137
eautoconf
}
do_links() {
insinto /usr/$(get_libdir)/ccache/bin
for a in ${CHOST}-{gcc,g++,c++} gcc c++ g++; do
dosym /usr/bin/ccache /usr/$(get_libdir)/ccache/bin/${a}
done
}
src_install() {
dobin ccache || die
doman ccache.1
dodoc README
dohtml web/*.html
diropts -m0755
dodir /usr/$(get_libdir)/ccache/bin
keepdir /usr/$(get_libdir)/ccache/bin
dobin "${FILESDIR}"/ccache-config || die
diropts -m0700
dodir /root/.ccache
keepdir /root/.ccache
}
pkg_preinst() {
# Do NOT duplicate this in your ebuilds or phear of the wrath!!!
if [[ ${ROOT} = "/" ]] ; then
einfo "Scanning for compiler front-ends..."
do_links
else
ewarn "Install is incomplete; you must run the following commands:"
ewarn " # ccache-config --install-links"
ewarn " # ccache-config --install-links ${CHOST}"
ewarn "after booting or chrooting to ${ROOT} to complete installation."
fi
}
pkg_postinst() {
# nuke broken symlinks from previous versions that shouldn't exist
for i in cc ${CHOST}-cc ; do
[[ -L "${ROOT}/usr/$(get_libdir)/ccache/bin/${i}" ]] && \
rm -rf "${ROOT}/usr/$(get_libdir)/ccache/bin/${i}"
done
[[ -d "${ROOT}/usr/$(get_libdir)/ccache.backup" ]] && \
rm -fr "${ROOT}/usr/$(get_libdir)/ccache.backup"
elog "To use ccache with **non-Portage** C compiling, add"
elog "/usr/$(get_libdir)/ccache/bin to the beginning of your path, before /usr/bin."
elog "Portage 2.0.46-r11+ will automatically take advantage of ccache with"
elog "no additional steps. If this is your first install of ccache, type"
elog "something like this to set a maximum cache size of 2GB:"
elog "# ccache -M 2G"
}

View File

@ -0,0 +1,59 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-util/ccache/ccache-3.1.1.ebuild,v 1.1 2010/11/19 09:46:35 vapier Exp $
inherit multilib
DESCRIPTION="fast compiler cache"
HOMEPAGE="http://ccache.samba.org/"
SRC_URI="http://samba.org/ftp/ccache/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
IUSE=""
RDEPEND="sys-libs/zlib"
DEPEND="${RDEPEND}"
src_unpack() {
unpack ${A}
cd "${S}"
# make sure we always use system zlib
rm -rf zlib
}
src_install() {
emake install DESTDIR="${D}" || die
dodoc AUTHORS.txt MANUAL.txt NEWS.txt README.txt
keepdir /usr/$(get_libdir)/ccache/bin
dobin "${FILESDIR}"/ccache-config || die
dosed "/^LIBDIR=/s:lib:$(get_libdir):" /usr/bin/ccache-config
diropts -m0700
dodir /root/.ccache
keepdir /root/.ccache
}
pkg_postinst() {
"${ROOT}"/usr/bin/ccache-config --install-links
"${ROOT}"/usr/bin/ccache-config --install-links ${CHOST}
# nuke broken symlinks from previous versions that shouldn't exist
rm -f "${ROOT}/usr/$(get_libdir)/ccache/bin/${CHOST}-cc"
[[ -d "${ROOT}/usr/$(get_libdir)/ccache.backup" ]] && \
rm -fr "${ROOT}/usr/$(get_libdir)/ccache.backup"
elog "To use ccache with **non-Portage** C compiling, add"
elog "/usr/$(get_libdir)/ccache/bin to the beginning of your path, before /usr/bin."
elog "Portage 2.0.46-r11+ will automatically take advantage of ccache with"
elog "no additional steps. If this is your first install of ccache, type"
elog "something like this to set a maximum cache size of 2GB:"
elog "# ccache -M 2G"
elog
elog "If you are upgrading from an older version than 3.x you should clear"
elog "all of your caches like so:"
elog "# CCACHE_DIR='${CCACHE_DIR:-${PORTAGE_TMPDIR}/ccache}' ccache -C"
}

View File

@ -0,0 +1,69 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-util/ccache/ccache-3.1.10-r1.ebuild,v 1.1 2014/11/01 08:11:46 vapier Exp $
EAPI="4"
inherit eutils readme.gentoo
DESCRIPTION="fast compiler cache"
HOMEPAGE="http://ccache.samba.org/"
SRC_URI="http://samba.org/ftp/ccache/${P}.tar.xz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE=""
RDEPEND="sys-libs/zlib"
DEPEND="${RDEPEND}
app-arch/xz-utils"
src_prepare() {
# make sure we always use system zlib
rm -rf zlib
epatch "${FILESDIR}"/${PN}-3.1.7-no-perl.patch #421609
epatch "${FILESDIR}"/${PN}-3.1.10-size-on-disk.patch #456178
epatch "${FILESDIR}"/${PN}-3.1.10-real-temp-files.patch
sed \
-e "/^EPREFIX=/s:'':'${EPREFIX}':" \
"${FILESDIR}"/ccache-config-2 > ccache-config || die
}
src_install() {
default
dodoc AUTHORS.txt MANUAL.txt NEWS.txt README.txt
dobin ccache-config
DOC_CONTENTS="
To use ccache with **non-Portage** C compiling, add
${EPREFIX}/usr/lib/ccache/bin to the beginning of your path, before ${EPREFIX}usr/bin.
Portage 2.0.46-r11+ will automatically take advantage of ccache with
no additional steps. If this is your first install of ccache, type
something like this to set a maximum cache size of 2GB:\\n
# ccache -M 2G\\n
If you are upgrading from an older version than 3.x you should clear all of your caches like so:\\n
# CCACHE_DIR='${CCACHE_DIR:-${PORTAGE_TMPDIR}/ccache}' ccache -C\\n
ccache now supports sys-devel/clang and dev-lang/icc, too!"
readme.gentoo_create_doc
}
pkg_prerm() {
if [[ -z ${REPLACED_BY_VERSION} ]] ; then
"${EROOT}"/usr/bin/ccache-config --remove-links
"${EROOT}"/usr/bin/ccache-config --remove-links ${CHOST}
fi
}
pkg_postinst() {
"${EROOT}"/usr/bin/ccache-config --install-links
"${EROOT}"/usr/bin/ccache-config --install-links ${CHOST}
# nuke broken symlinks from previous versions that shouldn't exist
rm -f "${EROOT}"/usr/lib/ccache/bin/${CHOST}-cc
rm -rf "${EROOT}"/usr/lib/ccache.backup
readme.gentoo_print_elog
}

View File

@ -0,0 +1,69 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-util/ccache/ccache-3.1.10.ebuild,v 1.1 2014/10/22 05:04:46 vapier Exp $
EAPI="4"
inherit multilib eutils readme.gentoo
DESCRIPTION="fast compiler cache"
HOMEPAGE="http://ccache.samba.org/"
SRC_URI="http://samba.org/ftp/ccache/${P}.tar.xz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE=""
RDEPEND="sys-libs/zlib"
DEPEND="${RDEPEND}
app-arch/xz-utils"
src_prepare() {
# make sure we always use system zlib
rm -rf zlib
epatch "${FILESDIR}"/${PN}-3.1.7-no-perl.patch #421609
sed \
-e "/^LIBDIR=/s:lib:$(get_libdir):" \
-e "/^EPREFIX=/s:'':'${EPREFIX}':" \
"${FILESDIR}"/ccache-config-2 > ccache-config || die
}
src_install() {
default
dodoc AUTHORS.txt MANUAL.txt NEWS.txt README.txt
dobin ccache-config
DOC_CONTENTS="
To use ccache with **non-Portage** C compiling, add
${EPREFIX}/usr/$(get_libdir)/ccache/bin to the beginning of your path, before ${EPREFIX}usr/bin.
Portage 2.0.46-r11+ will automatically take advantage of ccache with
no additional steps. If this is your first install of ccache, type
something like this to set a maximum cache size of 2GB:\\n
# ccache -M 2G\\n
If you are upgrading from an older version than 3.x you should clear all of your caches like so:\\n
# CCACHE_DIR='${CCACHE_DIR:-${PORTAGE_TMPDIR}/ccache}' ccache -C\\n
ccache now supports sys-devel/clang and dev-lang/icc, too!"
readme.gentoo_create_doc
}
pkg_prerm() {
if [[ -z ${REPLACED_BY_VERSION} ]] ; then
"${EROOT}"/usr/bin/ccache-config --remove-links
"${EROOT}"/usr/bin/ccache-config --remove-links ${CHOST}
fi
}
pkg_postinst() {
"${EROOT}"/usr/bin/ccache-config --install-links
"${EROOT}"/usr/bin/ccache-config --install-links ${CHOST}
# nuke broken symlinks from previous versions that shouldn't exist
rm -f "${EROOT}/usr/$(get_libdir)/ccache/bin/${CHOST}-cc"
[[ -d "${EROOT}/usr/$(get_libdir)/ccache.backup" ]] && \
rm -rf "${EROOT}/usr/$(get_libdir)/ccache.backup"
readme.gentoo_print_elog
}

View File

@ -0,0 +1,57 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-util/ccache/ccache-3.1.2.ebuild,v 1.1 2010/11/21 20:34:23 vapier Exp $
inherit multilib
DESCRIPTION="fast compiler cache"
HOMEPAGE="http://ccache.samba.org/"
SRC_URI="http://samba.org/ftp/ccache/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
IUSE=""
RDEPEND="sys-libs/zlib"
DEPEND="${RDEPEND}"
src_unpack() {
unpack ${A}
cd "${S}"
# make sure we always use system zlib
rm -rf zlib
}
src_install() {
emake install DESTDIR="${D}" || die
dodoc AUTHORS.txt MANUAL.txt NEWS.txt README.txt
dobin "${FILESDIR}"/ccache-config || die
dosed "/^LIBDIR=/s:lib:$(get_libdir):" /usr/bin/ccache-config
diropts -m0700
dodir /root/.ccache
keepdir /root/.ccache
}
pkg_postinst() {
"${ROOT}"/usr/bin/ccache-config --install-links
"${ROOT}"/usr/bin/ccache-config --install-links ${CHOST}
# nuke broken symlinks from previous versions that shouldn't exist
rm -f "${ROOT}/usr/$(get_libdir)/ccache/bin/${CHOST}-cc"
[[ -d "${ROOT}/usr/$(get_libdir)/ccache.backup" ]] && \
rm -rf "${ROOT}/usr/$(get_libdir)/ccache.backup"
elog "To use ccache with **non-Portage** C compiling, add"
elog "/usr/$(get_libdir)/ccache/bin to the beginning of your path, before /usr/bin."
elog "Portage 2.0.46-r11+ will automatically take advantage of ccache with"
elog "no additional steps. If this is your first install of ccache, type"
elog "something like this to set a maximum cache size of 2GB:"
elog "# ccache -M 2G"
elog
elog "If you are upgrading from an older version than 3.x you should clear"
elog "all of your caches like so:"
elog "# CCACHE_DIR='${CCACHE_DIR:-${PORTAGE_TMPDIR}/ccache}' ccache -C"
}

View File

@ -0,0 +1,57 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-util/ccache/ccache-3.1.3.ebuild,v 1.1 2010/11/28 18:05:36 vapier Exp $
inherit multilib
DESCRIPTION="fast compiler cache"
HOMEPAGE="http://ccache.samba.org/"
SRC_URI="http://samba.org/ftp/ccache/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
IUSE=""
RDEPEND="sys-libs/zlib"
DEPEND="${RDEPEND}"
src_unpack() {
unpack ${A}
cd "${S}"
# make sure we always use system zlib
rm -rf zlib
}
src_install() {
emake install DESTDIR="${D}" || die
dodoc AUTHORS.txt MANUAL.txt NEWS.txt README.txt
dobin "${FILESDIR}"/ccache-config || die
dosed "/^LIBDIR=/s:lib:$(get_libdir):" /usr/bin/ccache-config
diropts -m0700
dodir /root/.ccache
keepdir /root/.ccache
}
pkg_postinst() {
"${ROOT}"/usr/bin/ccache-config --install-links
"${ROOT}"/usr/bin/ccache-config --install-links ${CHOST}
# nuke broken symlinks from previous versions that shouldn't exist
rm -f "${ROOT}/usr/$(get_libdir)/ccache/bin/${CHOST}-cc"
[[ -d "${ROOT}/usr/$(get_libdir)/ccache.backup" ]] && \
rm -rf "${ROOT}/usr/$(get_libdir)/ccache.backup"
elog "To use ccache with **non-Portage** C compiling, add"
elog "/usr/$(get_libdir)/ccache/bin to the beginning of your path, before /usr/bin."
elog "Portage 2.0.46-r11+ will automatically take advantage of ccache with"
elog "no additional steps. If this is your first install of ccache, type"
elog "something like this to set a maximum cache size of 2GB:"
elog "# ccache -M 2G"
elog
elog "If you are upgrading from an older version than 3.x you should clear"
elog "all of your caches like so:"
elog "# CCACHE_DIR='${CCACHE_DIR:-${PORTAGE_TMPDIR}/ccache}' ccache -C"
}

View File

@ -0,0 +1,57 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-util/ccache/ccache-3.1.4.ebuild,v 1.1 2011/01/10 05:22:59 vapier Exp $
inherit multilib
DESCRIPTION="fast compiler cache"
HOMEPAGE="http://ccache.samba.org/"
SRC_URI="http://samba.org/ftp/ccache/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
IUSE=""
RDEPEND="sys-libs/zlib"
DEPEND="${RDEPEND}"
src_unpack() {
unpack ${A}
cd "${S}"
# make sure we always use system zlib
rm -rf zlib
}
src_install() {
emake install DESTDIR="${D}" || die
dodoc AUTHORS.txt MANUAL.txt NEWS.txt README.txt
dobin "${FILESDIR}"/ccache-config || die
dosed "/^LIBDIR=/s:lib:$(get_libdir):" /usr/bin/ccache-config
diropts -m0700
dodir /root/.ccache
keepdir /root/.ccache
}
pkg_postinst() {
"${ROOT}"/usr/bin/ccache-config --install-links
"${ROOT}"/usr/bin/ccache-config --install-links ${CHOST}
# nuke broken symlinks from previous versions that shouldn't exist
rm -f "${ROOT}/usr/$(get_libdir)/ccache/bin/${CHOST}-cc"
[[ -d "${ROOT}/usr/$(get_libdir)/ccache.backup" ]] && \
rm -rf "${ROOT}/usr/$(get_libdir)/ccache.backup"
elog "To use ccache with **non-Portage** C compiling, add"
elog "/usr/$(get_libdir)/ccache/bin to the beginning of your path, before /usr/bin."
elog "Portage 2.0.46-r11+ will automatically take advantage of ccache with"
elog "no additional steps. If this is your first install of ccache, type"
elog "something like this to set a maximum cache size of 2GB:"
elog "# ccache -M 2G"
elog
elog "If you are upgrading from an older version than 3.x you should clear"
elog "all of your caches like so:"
elog "# CCACHE_DIR='${CCACHE_DIR:-${PORTAGE_TMPDIR}/ccache}' ccache -C"
}

View File

@ -0,0 +1,57 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-util/ccache/ccache-3.1.5.ebuild,v 1.1 2011/05/29 16:32:27 vapier Exp $
inherit multilib
DESCRIPTION="fast compiler cache"
HOMEPAGE="http://ccache.samba.org/"
SRC_URI="http://samba.org/ftp/ccache/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
IUSE=""
RDEPEND="sys-libs/zlib"
DEPEND="${RDEPEND}"
src_unpack() {
unpack ${A}
cd "${S}"
# make sure we always use system zlib
rm -rf zlib
}
src_install() {
emake install DESTDIR="${D}" || die
dodoc AUTHORS.txt MANUAL.txt NEWS.txt README.txt
dobin "${FILESDIR}"/ccache-config || die
dosed "/^LIBDIR=/s:lib:$(get_libdir):" /usr/bin/ccache-config
diropts -m0700
dodir /root/.ccache
keepdir /root/.ccache
}
pkg_postinst() {
"${ROOT}"/usr/bin/ccache-config --install-links
"${ROOT}"/usr/bin/ccache-config --install-links ${CHOST}
# nuke broken symlinks from previous versions that shouldn't exist
rm -f "${ROOT}/usr/$(get_libdir)/ccache/bin/${CHOST}-cc"
[[ -d "${ROOT}/usr/$(get_libdir)/ccache.backup" ]] && \
rm -rf "${ROOT}/usr/$(get_libdir)/ccache.backup"
elog "To use ccache with **non-Portage** C compiling, add"
elog "/usr/$(get_libdir)/ccache/bin to the beginning of your path, before /usr/bin."
elog "Portage 2.0.46-r11+ will automatically take advantage of ccache with"
elog "no additional steps. If this is your first install of ccache, type"
elog "something like this to set a maximum cache size of 2GB:"
elog "# ccache -M 2G"
elog
elog "If you are upgrading from an older version than 3.x you should clear"
elog "all of your caches like so:"
elog "# CCACHE_DIR='${CCACHE_DIR:-${PORTAGE_TMPDIR}/ccache}' ccache -C"
}

View File

@ -1,6 +1,6 @@
# Copyright 1999-2011 Gentoo Foundation
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-util/ccache/ccache-3.1.6.ebuild,v 1.5 2011/12/03 10:53:16 maekke Exp $
# $Header: /var/cvsroot/gentoo-x86/dev-util/ccache/ccache-3.1.6.ebuild,v 1.8 2012/03/08 15:13:18 ranger Exp $
inherit multilib
@ -10,7 +10,7 @@ SRC_URI="http://samba.org/ftp/ccache/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~alpha amd64 arm hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~x86-fbsd"
KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd"
IUSE=""
RDEPEND="sys-libs/zlib"

View File

@ -0,0 +1,60 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-util/ccache/ccache-3.1.7.ebuild,v 1.9 2012/07/01 16:39:59 armin76 Exp $
EAPI="4"
inherit multilib eutils
DESCRIPTION="fast compiler cache"
HOMEPAGE="http://ccache.samba.org/"
SRC_URI="http://samba.org/ftp/ccache/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd"
IUSE=""
RDEPEND="sys-libs/zlib"
DEPEND="${RDEPEND}"
src_prepare() {
# make sure we always use system zlib
rm -rf zlib
epatch "${FILESDIR}"/${PN}-3.1.7-no-perl.patch #421609
sed \
-e "/^LIBDIR=/s:lib:$(get_libdir):" \
"${FILESDIR}"/ccache-config > ccache-config || die
}
src_install() {
default
dodoc AUTHORS.txt MANUAL.txt NEWS.txt README.txt
dobin ccache-config
diropts -m0700
dodir /root/.ccache
keepdir /root/.ccache
}
pkg_postinst() {
"${ROOT}"/usr/bin/ccache-config --install-links
"${ROOT}"/usr/bin/ccache-config --install-links ${CHOST}
# nuke broken symlinks from previous versions that shouldn't exist
rm -f "${ROOT}/usr/$(get_libdir)/ccache/bin/${CHOST}-cc"
[[ -d "${ROOT}/usr/$(get_libdir)/ccache.backup" ]] && \
rm -rf "${ROOT}/usr/$(get_libdir)/ccache.backup"
elog "To use ccache with **non-Portage** C compiling, add"
elog "/usr/$(get_libdir)/ccache/bin to the beginning of your path, before /usr/bin."
elog "Portage 2.0.46-r11+ will automatically take advantage of ccache with"
elog "no additional steps. If this is your first install of ccache, type"
elog "something like this to set a maximum cache size of 2GB:"
elog "# ccache -M 2G"
elog
elog "If you are upgrading from an older version than 3.x you should clear"
elog "all of your caches like so:"
elog "# CCACHE_DIR='${CCACHE_DIR:-${PORTAGE_TMPDIR}/ccache}' ccache -C"
}

View File

@ -0,0 +1,57 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-util/ccache/ccache-3.1.8.ebuild,v 1.10 2012/12/29 17:26:04 armin76 Exp $
EAPI="4"
inherit multilib eutils
DESCRIPTION="fast compiler cache"
HOMEPAGE="http://ccache.samba.org/"
SRC_URI="http://samba.org/ftp/ccache/${P}.tar.xz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 ~sh sparc x86 ~x86-fbsd"
IUSE=""
RDEPEND="sys-libs/zlib"
DEPEND="${RDEPEND}
app-arch/xz-utils"
src_prepare() {
# make sure we always use system zlib
rm -rf zlib
epatch "${FILESDIR}"/${PN}-3.1.7-no-perl.patch #421609
sed \
-e "/^LIBDIR=/s:lib:$(get_libdir):" \
"${FILESDIR}"/ccache-config > ccache-config || die
}
src_install() {
default
dodoc AUTHORS.txt MANUAL.txt NEWS.txt README.txt
dobin ccache-config
}
pkg_postinst() {
"${ROOT}"/usr/bin/ccache-config --install-links
"${ROOT}"/usr/bin/ccache-config --install-links ${CHOST}
# nuke broken symlinks from previous versions that shouldn't exist
rm -f "${ROOT}/usr/$(get_libdir)/ccache/bin/${CHOST}-cc"
[[ -d "${ROOT}/usr/$(get_libdir)/ccache.backup" ]] && \
rm -rf "${ROOT}/usr/$(get_libdir)/ccache.backup"
elog "To use ccache with **non-Portage** C compiling, add"
elog "/usr/$(get_libdir)/ccache/bin to the beginning of your path, before /usr/bin."
elog "Portage 2.0.46-r11+ will automatically take advantage of ccache with"
elog "no additional steps. If this is your first install of ccache, type"
elog "something like this to set a maximum cache size of 2GB:"
elog "# ccache -M 2G"
elog
elog "If you are upgrading from an older version than 3.x you should clear"
elog "all of your caches like so:"
elog "# CCACHE_DIR='${CCACHE_DIR:-${PORTAGE_TMPDIR}/ccache}' ccache -C"
}

View File

@ -0,0 +1,73 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-util/ccache/ccache-3.1.9-r2.ebuild,v 1.1 2013/09/28 22:44:47 ottxor Exp $
EAPI="4"
inherit multilib eutils
DESCRIPTION="fast compiler cache"
HOMEPAGE="http://ccache.samba.org/"
SRC_URI="http://samba.org/ftp/ccache/${P}.tar.xz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE=""
RDEPEND="sys-libs/zlib"
DEPEND="${RDEPEND}
app-arch/xz-utils"
src_prepare() {
# make sure we always use system zlib
rm -rf zlib
epatch "${FILESDIR}"/${PN}-3.1.7-no-perl.patch #421609
epatch "${FILESDIR}"/${P}-test-gcc-4.8.patch #461966
sed \
-e "/^LIBDIR=/s:lib:$(get_libdir):" \
-e "/^EPREFIX=/s:'':'${EPREFIX}':" \
"${FILESDIR}"/ccache-config-2 > ccache-config || die
}
src_install() {
default
dodoc AUTHORS.txt MANUAL.txt NEWS.txt README.txt
dobin ccache-config
}
pkg_prerm() {
if [[ -z ${REPLACED_BY_VERSION} ]] ; then
"${EROOT}"/usr/bin/ccache-config --remove-links
"${EROOT}"/usr/bin/ccache-config --remove-links ${CHOST}
fi
}
pkg_postinst() {
"${EROOT}"/usr/bin/ccache-config --install-links
"${EROOT}"/usr/bin/ccache-config --install-links ${CHOST}
# nuke broken symlinks from previous versions that shouldn't exist
rm -f "${EROOT}/usr/$(get_libdir)/ccache/bin/${CHOST}-cc"
[[ -d "${EROOT}/usr/$(get_libdir)/ccache.backup" ]] && \
rm -rf "${EROOT}/usr/$(get_libdir)/ccache.backup"
if [[ -z ${REPLACING_VERSIONS} ]] ; then
elog "To use ccache with **non-Portage** C compiling, add"
elog "${EPREFIX}/usr/$(get_libdir)/ccache/bin to the beginning of your path, before ${EPREFIX}/usr/bin."
elog "Portage 2.0.46-r11+ will automatically take advantage of ccache with"
elog "no additional steps."
elog
elog "You might want to set a maximum cache size:"
elog "# ccache -M 2G"
fi
if has_version "<${CATEGORY}/${PN}-3" ; then
elog "If you are upgrading from an older version than 3.x you should clear"
elog "all of your caches like so:"
elog "# CCACHE_DIR='${CCACHE_DIR:-${PORTAGE_TMPDIR}/ccache}' ccache -C"
fi
if has_version "<${CATEGORY}/${PN}-3.1.9-r2" ; then
elog "ccache now supports sys-devel/clang and dev-lang/icc, too!"
fi
}

View File

@ -0,0 +1,70 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-util/ccache/ccache-3.1.9-r3.ebuild,v 1.12 2014/01/26 12:13:18 ago Exp $
EAPI="4"
inherit multilib eutils readme.gentoo
DESCRIPTION="fast compiler cache"
HOMEPAGE="http://ccache.samba.org/"
SRC_URI="http://samba.org/ftp/ccache/${P}.tar.xz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE=""
RDEPEND="sys-libs/zlib"
DEPEND="${RDEPEND}
app-arch/xz-utils"
src_prepare() {
# make sure we always use system zlib
rm -rf zlib
epatch "${FILESDIR}"/${PN}-3.1.7-no-perl.patch #421609
epatch "${FILESDIR}"/${P}-test-gcc-4.8.patch #461966
sed \
-e "/^LIBDIR=/s:lib:$(get_libdir):" \
-e "/^EPREFIX=/s:'':'${EPREFIX}':" \
"${FILESDIR}"/ccache-config-2 > ccache-config || die
}
src_install() {
default
dodoc AUTHORS.txt MANUAL.txt NEWS.txt README.txt
dobin ccache-config
DOC_CONTENTS="
To use ccache with **non-Portage** C compiling, add
${EPREFIX}/usr/$(get_libdir)/ccache/bin to the beginning of your path, before ${EPREFIX}usr/bin.
Portage 2.0.46-r11+ will automatically take advantage of ccache with
no additional steps. If this is your first install of ccache, type
something like this to set a maximum cache size of 2GB:\\n
# ccache -M 2G\\n
If you are upgrading from an older version than 3.x you should clear all of your caches like so:\\n
# CCACHE_DIR='${CCACHE_DIR:-${PORTAGE_TMPDIR}/ccache}' ccache -C\\n
ccache now supports sys-devel/clang and dev-lang/icc, too!"
readme.gentoo_create_doc
}
pkg_prerm() {
if [[ -z ${REPLACED_BY_VERSION} ]] ; then
"${EROOT}"/usr/bin/ccache-config --remove-links
"${EROOT}"/usr/bin/ccache-config --remove-links ${CHOST}
fi
}
pkg_postinst() {
"${EROOT}"/usr/bin/ccache-config --install-links
"${EROOT}"/usr/bin/ccache-config --install-links ${CHOST}
# nuke broken symlinks from previous versions that shouldn't exist
rm -f "${EROOT}/usr/$(get_libdir)/ccache/bin/${CHOST}-cc"
[[ -d "${EROOT}/usr/$(get_libdir)/ccache.backup" ]] && \
rm -rf "${EROOT}/usr/$(get_libdir)/ccache.backup"
readme.gentoo_print_elog
}

View File

@ -0,0 +1,62 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-util/ccache/ccache-3.1.9.ebuild,v 1.15 2013/04/24 05:44:24 dirtyepic Exp $
EAPI="4"
inherit multilib eutils
DESCRIPTION="fast compiler cache"
HOMEPAGE="http://ccache.samba.org/"
SRC_URI="http://samba.org/ftp/ccache/${P}.tar.xz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd"
IUSE=""
RDEPEND="sys-libs/zlib"
DEPEND="${RDEPEND}
app-arch/xz-utils"
src_prepare() {
# make sure we always use system zlib
rm -rf zlib
epatch "${FILESDIR}"/${PN}-3.1.7-no-perl.patch #421609
epatch "${FILESDIR}"/${P}-test-gcc-4.8.patch #461966
sed \
-e "/^LIBDIR=/s:lib:$(get_libdir):" \
"${FILESDIR}"/ccache-config > ccache-config || die
}
src_install() {
default
dodoc AUTHORS.txt MANUAL.txt NEWS.txt README.txt
dobin ccache-config
}
pkg_postinst() {
"${ROOT}"/usr/bin/ccache-config --install-links
"${ROOT}"/usr/bin/ccache-config --install-links ${CHOST}
# nuke broken symlinks from previous versions that shouldn't exist
rm -f "${ROOT}/usr/$(get_libdir)/ccache/bin/${CHOST}-cc"
[[ -d "${ROOT}/usr/$(get_libdir)/ccache.backup" ]] && \
rm -rf "${ROOT}/usr/$(get_libdir)/ccache.backup"
if [[ -z ${REPLACING_VERSIONS} ]] ; then
elog "To use ccache with **non-Portage** C compiling, add"
elog "/usr/$(get_libdir)/ccache/bin to the beginning of your path, before /usr/bin."
elog "Portage 2.0.46-r11+ will automatically take advantage of ccache with"
elog "no additional steps."
elog
elog "You might want to set a maximum cache size:"
elog "# ccache -M 2G"
fi
if has_version "<${CATEGORY}/${PN}-3" ; then
elog "If you are upgrading from an older version than 3.x you should clear"
elog "all of your caches like so:"
elog "# CCACHE_DIR='${CCACHE_DIR:-${PORTAGE_TMPDIR}/ccache}' ccache -C"
fi
}

View File

@ -0,0 +1,68 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-util/ccache/ccache-3.2.ebuild,v 1.1 2014/11/20 00:06:03 vapier Exp $
EAPI="4"
inherit eutils readme.gentoo
DESCRIPTION="fast compiler cache"
HOMEPAGE="http://ccache.samba.org/"
SRC_URI="http://samba.org/ftp/ccache/${P}.tar.xz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE=""
RDEPEND="sys-libs/zlib"
DEPEND="${RDEPEND}
app-arch/xz-utils"
src_prepare() {
# make sure we always use system zlib
rm -rf zlib
epatch "${FILESDIR}"/${PN}-3.1.7-no-perl.patch #421609
epatch "${FILESDIR}"/${PN}-3.1.10-size-on-disk.patch #456178
sed \
-e "/^EPREFIX=/s:'':'${EPREFIX}':" \
"${FILESDIR}"/ccache-config-2 > ccache-config || die
}
src_install() {
default
dodoc AUTHORS.txt MANUAL.txt NEWS.txt README.txt
dobin ccache-config
DOC_CONTENTS="
To use ccache with **non-Portage** C compiling, add
${EPREFIX}/usr/lib/ccache/bin to the beginning of your path, before ${EPREFIX}usr/bin.
Portage 2.0.46-r11+ will automatically take advantage of ccache with
no additional steps. If this is your first install of ccache, type
something like this to set a maximum cache size of 2GB:\\n
# ccache -M 2G\\n
If you are upgrading from an older version than 3.x you should clear all of your caches like so:\\n
# CCACHE_DIR='${CCACHE_DIR:-${PORTAGE_TMPDIR}/ccache}' ccache -C\\n
ccache now supports sys-devel/clang and dev-lang/icc, too!"
readme.gentoo_create_doc
}
pkg_prerm() {
if [[ -z ${REPLACED_BY_VERSION} ]] ; then
"${EROOT}"/usr/bin/ccache-config --remove-links
"${EROOT}"/usr/bin/ccache-config --remove-links ${CHOST}
fi
}
pkg_postinst() {
"${EROOT}"/usr/bin/ccache-config --install-links
"${EROOT}"/usr/bin/ccache-config --install-links ${CHOST}
# nuke broken symlinks from previous versions that shouldn't exist
rm -f "${EROOT}"/usr/lib/ccache/bin/${CHOST}-cc
rm -rf "${EROOT}"/usr/lib/ccache.backup
readme.gentoo_print_elog
}

View File

@ -0,0 +1,27 @@
GCCs options -fprofile-generate and -fprofile-use are used for
profile guided optimization. It depends on the ability to locate
the profile data files (.gcda) after running the executable with
the training data. However, ccache prevents the compiler from
finding the correct profile data file. Therefore the following
patch disables the caching when one of the
-fprofile-generate
-fprofile-use
-fprofile-arcs
flags is found.
Signed-off-by: Clemens Rabe <crabe _at_ gmx _dot_ de>
diff -Naur ccache-2.4.orig/ccache.c ccache-2.4/ccache.c
--- ccache-2.4.orig/ccache.c 2004-09-13 12:38:30.000000000 +0200
+++ ccache-2.4/ccache.c 2008-01-07 20:25:38.000000000 +0100
@@ -640,6 +640,9 @@
/* these are too hard */
if (strcmp(argv[i], "-fbranch-probabilities")==0 ||
+ strcmp(argv[i], "-fprofile-generate")==0 ||
+ strcmp(argv[i], "-fprofile-use")==0 ||
+ strcmp(argv[i], "-fprofile-arcs")==0 ||
strcmp(argv[i], "-M") == 0 ||
strcmp(argv[i], "-MM") == 0 ||
strcmp(argv[i], "-x") == 0) {

View File

@ -0,0 +1,13 @@
Index: ccache-2.4/Makefile.in
===================================================================
--- ccache-2.4.orig/Makefile.in
+++ ccache-2.4/Makefile.in
@@ -20,7 +20,7 @@ all: ccache$(EXEEXT)
docs: ccache.1 web/ccache-man.html
ccache$(EXEEXT): $(OBJS) $(HEADERS)
- $(CC) $(CFLAGS) -o $@ $(OBJS)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS)
ccache.1: ccache.yo
-yodl2man -o ccache.1 ccache.yo

View File

@ -0,0 +1,105 @@
utime(...,NULL) in some cases may cause truncation of sub-second portions of
timestamps. If utimes(...,NULL) is available, use it instead to avoid this
problem.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
diff -Nuar --exclude autom4te.cache --exclude '*~' ccache-2.4.orig/ccache.c ccache-2.4/ccache.c
--- ccache-2.4.orig/ccache.c 2004-09-13 03:38:30.000000000 -0700
+++ ccache-2.4/ccache.c 2006-06-09 16:29:16.695117780 -0700
@@ -481,7 +481,11 @@
return;
}
+#ifdef HAVE_UTIMES
+ utimes(stderr_file, NULL);
+#else
utime(stderr_file, NULL);
+#endif
if (strcmp(output_file, "/dev/null") == 0) {
ret = 0;
@@ -515,7 +519,11 @@
}
if (ret == 0) {
/* update the mtime on the file so that make doesn't get confused */
+#ifdef HAVE_UTIMES
+ utimes(output_file, NULL);
+#else
utime(output_file, NULL);
+#endif
}
/* get rid of the intermediate preprocessor file */
diff -Nuar --exclude autom4te.cache --exclude '*~' ccache-2.4.orig/ccache.h ccache-2.4/ccache.h
--- ccache-2.4.orig/ccache.h 2004-09-13 03:38:30.000000000 -0700
+++ ccache-2.4/ccache.h 2006-06-09 16:28:16.601658626 -0700
@@ -22,6 +22,9 @@
#ifdef HAVE_PWD_H
#include <pwd.h>
#endif
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
#define STATUS_NOTFOUND 3
#define STATUS_FATAL 4
diff -Nuar --exclude autom4te.cache --exclude '*~' ccache-2.4.orig/config.h.in ccache-2.4/config.h.in
--- ccache-2.4.orig/config.h.in 2003-09-27 21:48:17.000000000 -0700
+++ ccache-2.4/config.h.in 2006-06-09 16:25:43.000000000 -0700
@@ -19,6 +19,9 @@
/* Define to 1 if you have the `gethostname' function. */
#undef HAVE_GETHOSTNAME
+/* Define to 1 if you have the `getpwuid' function. */
+#undef HAVE_GETPWUID
+
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
@@ -31,6 +34,9 @@
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
#undef HAVE_NDIR_H
+/* Define to 1 if you have the <pwd.h> header file. */
+#undef HAVE_PWD_H
+
/* Define to 1 if you have the `realpath' function. */
#undef HAVE_REALPATH
@@ -60,6 +66,9 @@
/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
+/* Define to 1 if you have the <sys/time.h> header file. */
+#undef HAVE_SYS_TIME_H
+
/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H
@@ -69,6 +78,9 @@
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
+/* Define to 1 if you have the `utimes' function. */
+#undef HAVE_UTIMES
+
/* Define to 1 if you have the `vasprintf' function. */
#undef HAVE_VASPRINTF
diff -Nuar --exclude autom4te.cache --exclude '*~' ccache-2.4.orig/configure.in ccache-2.4/configure.in
--- ccache-2.4.orig/configure.in 2004-09-13 03:38:30.000000000 -0700
+++ ccache-2.4/configure.in 2006-06-09 16:25:15.541288184 -0700
@@ -27,10 +27,11 @@
AC_HEADER_TIME
AC_HEADER_SYS_WAIT
-AC_CHECK_HEADERS(ctype.h strings.h stdlib.h string.h pwd.h)
+AC_CHECK_HEADERS(ctype.h strings.h stdlib.h string.h pwd.h sys/time.h)
AC_CHECK_FUNCS(realpath snprintf vsnprintf vasprintf asprintf mkstemp)
AC_CHECK_FUNCS(gethostname getpwuid)
+AC_CHECK_FUNCS(utimes)
AC_CACHE_CHECK([for compar_fn_t in stdlib.h],ccache_cv_COMPAR_FN_T, [
AC_TRY_COMPILE(

View File

@ -0,0 +1,35 @@
https://bugzilla.samba.org/show_bug.cgi?id=7090
https://bugs.gentoo.org/338137
From 52a9cd8eb8a69f9dc6944c047faf112b7137a07b Mon Sep 17 00:00:00 2001
From: Andrew Tridgell <tridge@samba.org>
Date: Mon, 17 Jul 2006 05:41:12 +0200
Subject: [PATCH] fixed a bug in x_realloc()
---
util.c | 6 +-----
1 files changed, 1 insertions(+), 5 deletions(-)
diff --git a/util.c b/util.c
index 073fa81..29d0e5b 100644
--- a/util.c
+++ b/util.c
@@ -187,14 +187,10 @@ void *x_realloc(void *ptr, size_t size)
{
void *p2;
if (!ptr) return x_malloc(size);
- p2 = malloc(size);
+ p2 = realloc(ptr, size);
if (!p2) {
fatal("out of memory in x_realloc");
}
- if (ptr) {
- memcpy(p2, ptr, size);
- free(ptr);
- }
return p2;
}
--
1.7.3.1

View File

@ -0,0 +1,185 @@
https://lists.samba.org/archive/ccache/2014q4/001246.html
From 5d0f507a4162ac89e05ca633dbc8056454b798f5 Mon Sep 17 00:00:00 2001
From: Mike Frysinger <vapier@gentoo.org>
Date: Mon, 15 Sep 2014 18:15:02 -0400
Subject: [PATCH] do not rely on pids being unique
Linux supports creating pid namespaces cheaply and running processes
inside of them. When you try to share a single cache among multiple
such runs, the fact that the code relies on pid numbers as globally
unique values quickly fails. Instead, switch to standard mkstemp to
generate temp files for us.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
---
ccache.c | 12 ++++++------
ccache.h | 2 +-
manifest.c | 2 +-
stats.c | 10 +++++++++-
util.c | 13 ++++++++-----
5 files changed, 25 insertions(+), 14 deletions(-)
diff --git a/ccache.c b/ccache.c
index 02dbdfa..1dc0a06 100644
--- a/ccache.c
+++ b/ccache.c
@@ -526,8 +526,11 @@ to_cache(struct args *args)
unsigned added_files = 0;
tmp_stdout = format("%s.tmp.stdout.%s", cached_obj, tmp_string());
+ create_empty_file(tmp_stdout);
tmp_stderr = format("%s.tmp.stderr.%s", cached_obj, tmp_string());
+ create_empty_file(tmp_stderr);
tmp_obj = format("%s.tmp.%s", cached_obj, tmp_string());
+ create_empty_file(tmp_obj);
args_add(args, "-o");
args_add(args, tmp_obj);
@@ -579,7 +582,7 @@ to_cache(struct args *args)
int fd_result;
char *tmp_stderr2;
- tmp_stderr2 = format("%s.tmp.stderr2.%s", cached_obj, tmp_string());
+ tmp_stderr2 = format("%s.2", tmp_stderr);
if (x_rename(tmp_stderr, tmp_stderr2)) {
cc_log("Failed to rename %s to %s: %s", tmp_stderr, tmp_stderr2,
strerror(errno));
@@ -808,6 +808,7 @@ get_object_name_from_cpp(struct args *args, struct mdfour *hash)
}
path_stderr = format("%s/tmp.cpp_stderr.%s", temp_dir, tmp_string());
+ create_empty_file(path_stderr);
add_pending_tmp_file(path_stderr);
time_of_compilation = time(NULL);
@@ -815,6 +816,7 @@ get_object_name_from_cpp(struct args *args, struct mdfour *hash)
if (!direct_i_file) {
path_stdout = format("%s/%s.tmp.%s.%s",
temp_dir, input_base, tmp_string(), i_extension);
+ create_empty_file(path_stdout);
add_pending_tmp_file(path_stdout);
/* run cpp on the input file to obtain the .i */
@@ -838,11 +843,6 @@ get_object_name_from_cpp(struct args *args, struct mdfour *hash)
can skip the cpp stage and directly form the
correct i_tmpfile */
path_stdout = input_file;
- if (create_empty_file(path_stderr) != 0) {
- cc_log("Failed to create %s: %s", path_stderr, strerror(errno));
- stats_update(STATS_ERROR);
- failed();
- }
status = 0;
}
diff --git a/ccache.h b/ccache.h
index 2bc7c87..43ef98d 100644
--- a/ccache.h
+++ b/ccache.h
@@ -130,7 +130,7 @@ size_t file_size(struct stat *st);
int safe_open(const char *fname);
char *x_realpath(const char *path);
char *gnu_getcwd(void);
-int create_empty_file(const char *fname);
+int create_empty_file(char *fname);
const char *get_home_directory(void);
char *get_cwd();
bool same_executable_name(const char *s1, const char *s2);
diff --git a/manifest.c b/manifest.c
index 7f02ede..47566d5 100644
--- a/manifest.c
+++ b/manifest.c
@@ -633,7 +633,7 @@ manifest_put(const char *manifest_path, struct file_hash *object_hash,
}
tmp_file = format("%s.tmp.%s", manifest_path, tmp_string());
- fd2 = safe_open(tmp_file);
+ fd2 = mkstemp(tmp_file);
if (fd2 == -1) {
cc_log("Failed to open %s", tmp_file);
goto out;
diff --git a/stats.c b/stats.c
index 2111b65..4ed39c2 100644
--- a/stats.c
+++ b/stats.c
@@ -126,11 +126,18 @@ stats_write(const char *path, struct counters *counters)
size_t i;
char *tmp_file;
FILE *f;
+ int fd;
tmp_file = format("%s.tmp.%s", path, tmp_string());
- f = fopen(tmp_file, "wb");
+ fd = mkstemp(tmp_file);
+ if (fd == -1) {
+ cc_log("Failed to open %s", tmp_file);
+ goto end;
+ }
+ f = fdopen(fd, "wb");
if (!f) {
cc_log("Failed to open %s", tmp_file);
+ close(fd);
goto end;
}
for (i = 0; i < counters->size; i++) {
@@ -138,6 +145,7 @@ stats_write(const char *path, struct counters *counters)
fatal("Failed to write to %s", tmp_file);
}
}
+ /* This also implicitly closes the fd. */
fclose(f);
x_rename(tmp_file, path);
diff --git a/util.c b/util.c
index 3b472de..cc630a6 100644
--- a/util.c
+++ b/util.c
@@ -195,7 +195,7 @@ copy_file(const char *src, const char *dest, int compress_dest)
struct stat st;
int errnum;
- tmp_name = format("%s.%s.XXXXXX", dest, tmp_string());
+ tmp_name = format("%s.%s", dest, tmp_string());
cc_log("Copying %s to %s via %s (%s)",
src, dest, tmp_name, compress_dest ? "compressed": "uncompressed");
@@ -427,7 +427,7 @@ tmp_string(void)
static char *ret;
if (!ret) {
- ret = format("%s.%u", get_hostname(), (unsigned)getpid());
+ ret = format("%s.%u.XXXXXX", get_hostname(), (unsigned)getpid());
}
return ret;
@@ -884,12 +884,13 @@ gnu_getcwd(void)
/* create an empty file */
int
-create_empty_file(const char *fname)
+create_empty_file(char *fname)
{
int fd;
- fd = open(fname, O_WRONLY|O_CREAT|O_TRUNC|O_EXCL|O_BINARY, 0666);
+ fd = mkstemp(fname);
if (fd == -1) {
+ cc_log("Failed to create %s: %s", fname, strerror(errno));
return -1;
}
close(fd);
@@ -1134,7 +1135,9 @@ x_unlink(const char *path)
goto out;
}
if (unlink(tmp_name) == -1) {
- result = -1;
+ /* If it was released in a race, that's OK. */
+ if (errno != ENOENT)
+ result = -1;
}
out:
free(tmp_name);
--
2.1.2

View File

@ -0,0 +1,21 @@
https://bugs.gentoo.org/56178
stick to the size of files on disk rather than their byte size.
this func is only used for stats management, so this should be safe.
--- a/util.c
+++ b/util.c
@@ -845,12 +845,7 @@ file_size(struct stat *st)
#ifdef _WIN32
return (st->st_size + 1023) & ~1023;
#else
- size_t size = st->st_blocks * 512;
- if ((size_t)st->st_size > size) {
- /* probably a broken stat() call ... */
- size = (st->st_size + 1023) & ~1023;
- }
- return size;
+ return st->st_blocks * 512;
#endif
}

View File

@ -0,0 +1,15 @@
avoid weak perl usage in tests
https://bugs.gentoo.org/421609
--- a/test.sh
+++ b/test.sh
@@ -1466,7 +1466,7 @@
mkdir -p $dir
i=0
while [ $i -lt 10 ]; do
- perl -e 'print "A" x 4017' >$dir/result$i-4017.o
+ printf '%4017s' '' | tr ' ' 'A' >$dir/result$i-4017.o
touch $dir/result$i-4017.stderr
touch $dir/result$i-4017.d
if [ $i -gt 5 ]; then

View File

@ -0,0 +1,156 @@
https://bugs.gentoo.org/461966
fix from upstream
From b5d63f81c1a83fd4c50b769a96a04f581b7db70c Mon Sep 17 00:00:00 2001
From: Joel Rosdahl <joel@rosdahl.net>
Date: Wed, 20 Mar 2013 22:18:16 +0100
Subject: [PATCH] Fix test suite failure on GCC 4.8
GCC 4.8 includes /usr/include/stdc-predef.h implicitly, and this shows up
in generated .d files.
---
test.sh | 35 +++++++++++++++++++----------------
1 file changed, 19 insertions(+), 16 deletions(-)
diff --git a/test.sh b/test.sh
index 3ed9069..3e38387 100755
--- a/test.sh
+++ b/test.sh
@@ -3,7 +3,7 @@
# A simple test suite for ccache.
#
# Copyright (C) 2002-2007 Andrew Tridgell
-# Copyright (C) 2009-2012 Joel Rosdahl
+# Copyright (C) 2009-2013 Joel Rosdahl
#
# This program is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free Software
@@ -562,6 +562,9 @@ int test3;
EOF
backdate test1.h test2.h test3.h
+ $COMPILER -c -Wp,-MD,expected.d test.c
+ expected_d_content=`cat expected.d`
+
##################################################################
# First compilation is a miss.
testname="first compilation"
@@ -677,7 +680,7 @@ EOF
checkstat 'cache hit (direct)' 0
checkstat 'cache hit (preprocessed)' 0
checkstat 'cache miss' 1
- checkfile other.d "test.o: test.c test1.h test3.h test2.h"
+ checkfile other.d "$expected_d_content"
rm -f other.d
@@ -685,7 +688,7 @@ EOF
checkstat 'cache hit (direct)' 1
checkstat 'cache hit (preprocessed)' 0
checkstat 'cache miss' 1
- checkfile other.d "test.o: test.c test1.h test3.h test2.h"
+ checkfile other.d "$expected_d_content"
rm -f other.d
@@ -760,7 +763,7 @@ EOF
checkstat 'cache hit (direct)' 0
checkstat 'cache hit (preprocessed)' 0
checkstat 'cache miss' 1
- checkfile test.d "test.o: test.c test1.h test3.h test2.h"
+ checkfile test.d "$expected_d_content"
rm -f test.d
@@ -768,7 +771,7 @@ EOF
checkstat 'cache hit (direct)' 1
checkstat 'cache hit (preprocessed)' 0
checkstat 'cache miss' 1
- checkfile test.d "test.o: test.c test1.h test3.h test2.h"
+ checkfile test.d "$expected_d_content"
##################################################################
# Check the scenario of running a ccache with direct mode on a cache
@@ -780,7 +783,7 @@ EOF
checkstat 'cache hit (direct)' 0
checkstat 'cache hit (preprocessed)' 0
checkstat 'cache miss' 1
- checkfile test.d "test.o: test.c test1.h test3.h test2.h"
+ checkfile test.d "$expected_d_content"
rm -f test.d
@@ -788,7 +791,7 @@ EOF
checkstat 'cache hit (direct)' 0
checkstat 'cache hit (preprocessed)' 1
checkstat 'cache miss' 1
- checkfile test.d "test.o: test.c test1.h test3.h test2.h"
+ checkfile test.d "$expected_d_content"
rm -f test.d
@@ -796,7 +799,7 @@ EOF
checkstat 'cache hit (direct)' 0
checkstat 'cache hit (preprocessed)' 2
checkstat 'cache miss' 1
- checkfile test.d "test.o: test.c test1.h test3.h test2.h"
+ checkfile test.d "$expected_d_content"
rm -f test.d
@@ -804,7 +807,7 @@ EOF
checkstat 'cache hit (direct)' 1
checkstat 'cache hit (preprocessed)' 2
checkstat 'cache miss' 1
- checkfile test.d "test.o: test.c test1.h test3.h test2.h"
+ checkfile test.d "$expected_d_content"
##################################################################
# Check that -MF works.
@@ -815,7 +818,7 @@ EOF
checkstat 'cache hit (direct)' 0
checkstat 'cache hit (preprocessed)' 0
checkstat 'cache miss' 1
- checkfile other.d "test.o: test.c test1.h test3.h test2.h"
+ checkfile other.d "$expected_d_content"
rm -f other.d
@@ -823,7 +826,7 @@ EOF
checkstat 'cache hit (direct)' 1
checkstat 'cache hit (preprocessed)' 0
checkstat 'cache miss' 1
- checkfile other.d "test.o: test.c test1.h test3.h test2.h"
+ checkfile other.d "$expected_d_content"
##################################################################
# Check that a missing .d file in the cache is handled correctly.
@@ -835,13 +838,13 @@ EOF
checkstat 'cache hit (direct)' 0
checkstat 'cache hit (preprocessed)' 0
checkstat 'cache miss' 1
- checkfile other.d "test.o: test.c test1.h test3.h test2.h"
+ checkfile other.d "$expected_d_content"
$CCACHE $COMPILER -c -MD test.c
checkstat 'cache hit (direct)' 1
checkstat 'cache hit (preprocessed)' 0
checkstat 'cache miss' 1
- checkfile other.d "test.o: test.c test1.h test3.h test2.h"
+ checkfile other.d "$expected_d_content"
find $CCACHE_DIR -name '*.d' -exec rm -f '{}' \;
@@ -849,7 +852,7 @@ EOF
checkstat 'cache hit (direct)' 1
checkstat 'cache hit (preprocessed)' 1
checkstat 'cache miss' 1
- checkfile other.d "test.o: test.c test1.h test3.h test2.h"
+ checkfile other.d "$expected_d_content"
##################################################################
# Check that stderr from both the preprocessor and the compiler is emitted
--
1.8.1.2

View File

@ -2,7 +2,7 @@
#
# ccache-config - helper script for ccache and its ebuild
#
# Copyright 2003-2010 Superlucidity Services, LLC
# Copyright 2003-2014 Superlucidity Services, LLC
# This program licensed under the GNU GPL version 2.
#
# This script developed by Zachary T Welch at Superlucidity Services, LLC
@ -45,6 +45,13 @@ cc_remove_link() {
c_ebegin "Removing ${t}"
rm -f "${t}"
c_eend
# Trim the empty dir if possible. #517242
t=${t%/*}
if rmdir "${t}" 2>/dev/null; then
rmdir "${t%/*}" 2>/dev/null
fi
:
fi
}
cc_install_link() {
@ -73,7 +80,7 @@ cc_links() {
[ "${a}" = "cc" ] && continue
a="${2}-${a}"
fi
eval "cc_${1}_link" "${a}"
"cc_${1}_link" "${a}"
done
}

View File

@ -0,0 +1,97 @@
#!/bin/sh
#
# ccache-config - helper script for ccache and its ebuild
#
# Copyright 2003-2014 Superlucidity Services, LLC
# Copyright 2013-2014 Gentoo Foundation
# This program licensed under the GNU GPL version 2.
#
# This script developed by Zachary T Welch at Superlucidity Services, LLC
# it was cloned from the distcc-config script
#
# Additional features to come; this provides a starting point
EPREFIX=''
. "${EPREFIX}"/etc/init.d/functions.sh 2>/dev/null || {
ebegin() { echo " * $* ..."; }
eend() {
local r=${1:-$?}
[ ${r} -eq 0 ] && echo " [ OK ]" || echo " [ !! ]"
return $r
}
}
LIBDIR="lib"
# this should be getopt'd someday (override with CC_QUIET=1)
CC_VERBOSE=1
unset _CC_QUIET
c_quiet() {
[ -n "${CC_QUIET:-${_CC_QUIET}}" ] || [ -z "${CC_VERBOSE}" ]
}
c_ebegin() { c_quiet || ebegin "$@" ; }
c_eend() { c_quiet || eend "$@" ; }
###
# the following functions manage the ccache symlinks
# they allow the user or other scripts (namely gcc-config) to
# automatically update ccache's links when upgrading toolchains
#
cc_path() {
echo ${ROOT%/}${EPREFIX}/usr/${LIBDIR}/ccache/bin/$1
}
cc_remove_link() {
local t=$(cc_path "$1")
if [ -L ${t} ]; then
c_ebegin "Removing ${t}"
rm -f "${t}"
c_eend
# Trim the empty dir if possible. #517242
t=${t%/*}
if rmdir "${t}" 2>/dev/null; then
rmdir "${t%/*}" 2>/dev/null
fi
:
fi
}
cc_install_link() {
# Search the PATH for the specified compiler
# then create shadow link in /usr/lib/ccache/bin to ccache
if command -v "$1" >/dev/null ; then
# first be sure any old link is removed
_CC_QUIET=1
cc_remove_link "$1"
unset _CC_QUIET
# then create the new link
local t=$(cc_path "$1")
c_ebegin "Creating ccache shadow link ${t}"
mkdir -p -m 0755 "${t%/*}" && ln -s "${EPREFIX}"/usr/bin/ccache "${t}"
c_eend
fi
}
cc_links() {
local a
for a in gcc cc c++ g++ icc icpc clang clang++ ; do
"cc_${1}_link" "${2}${2:+-}${a}"
done
}
###
# main routine
case $1 in
--install-links )
cc_links install "$2"
;;
--remove-links )
cc_links remove "$2"
;;
* )
echo "usage: $0 {--install-links|--remove-links} [ CHOST ]"
;;
esac

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<herd>toolchain</herd>
<maintainer>
<email>robbat2@gentoo.org</email>
</maintainer>
<longdescription lang="en">
ccache acts as a caching pre-processor to C/C++ compilers, improving
compilation time when recompiling previously compiled source.
</longdescription>
</pkgmetadata>

View File

@ -0,0 +1,106 @@
# ChangeLog for dev-util/yacc
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/dev-util/yacc/ChangeLog,v 1.30 2014/01/18 02:57:12 vapier Exp $
18 Jan 2014; Mike Frysinger <vapier@gentoo.org> yacc-1.9.1-r4.ebuild,
yacc-1.9.1-r5.ebuild:
Add arm64 love.
26 Sep 2012; Ulrich Müller <ulm@gentoo.org> yacc-1.9.1-r4.ebuild,
yacc-1.9.1-r5.ebuild:
Fix LICENSE, public domain according to README file.
10 May 2012; Agostino Sarubbo <ago@gentoo.org> -yacc-1.9.1-r3.ebuild:
Remove old
06 Feb 2011; Mart Raudsepp <leio@gentoo.org> yacc-1.9.1-r3.ebuild:
Drop to ~mips
*yacc-1.9.1-r5 (28 Aug 2010)
28 Aug 2010; Harald van Dijk <truedfx@gentoo.org> +yacc-1.9.1-r5.ebuild:
Use LDFLAGS (#334983 by flameeyes), plus emake/RDEPEND cleanup
27 Oct 2008; Brent Baude <ranger@gentoo.org> yacc-1.9.1-r4.ebuild:
Marking yacc-1.9.1-r4 ppc64 for bug 232005
24 Oct 2008; Jeroen Roovers <jer@gentoo.org> yacc-1.9.1-r4.ebuild:
Stable for HPPA (bug #232005).
24 Oct 2008; Raúl Porcel <armin76@gentoo.org> yacc-1.9.1-r4.ebuild:
alpha/ia64 stable wrt #232005
23 Oct 2008; Tobias Scherbaum <dertobi123@gentoo.org>
yacc-1.9.1-r4.ebuild:
ppc stable, bug #232005
23 Oct 2008; Markus Meier <maekke@gentoo.org> yacc-1.9.1-r4.ebuild:
amd64/x86 stable, bug #232005
22 Oct 2008; Ferris McCormick <fmccor@gentoo.org> yacc-1.9.1-r4.ebuild:
Sparc stable, part of Security Bug #232005.
*yacc-1.9.1-r4 (04 Oct 2008)
04 Oct 2008; Robert Buchholz <rbu@gentoo.org>
+files/yacc-1.9.1-CVE-2008-3196.patch, +yacc-1.9.1-r4.ebuild:
Fix stack access error (security bug #232005).
14 May 2007; Thilo Bangert <bangert@gentoo.org> metadata.xml:
add <herd>no-herd</herd>
*yacc-1.9.1-r3 (17 Jan 2007)
17 Jan 2007; Harald van Dijk <truedfx@gentoo.org> -yacc-1.9.1-r2.ebuild,
+yacc-1.9.1-r3.ebuild:
Create correct /usr/bin/yacc symlink after removing yacc
18 Aug 2005; MATSUU Takuto <matsuu@gentoo.org> yacc-1.9.1-r2.ebuild:
Stable on sh.
07 May 2005; Elfyn McBratney <beu@gentoo.org> yacc-1.9.1-r2.ebuild:
Add a more descriptive, er, DESCRIPTION - bug #85712.
01 Jul 2004; Jeremy Huddleston <eradicator@gentoo.org> yacc-1.9.1-r1.ebuild,
yacc-1.9.1-r2.ebuild:
virtual/glibc -> virtual/libc
*yacc-1.9.1-r2 (05 Apr 2004)
05 Apr 2004; Aron Griffis <agriffis@gentoo.org> yacc-1.9.1-r2.ebuild:
I should have bumped the rev for the previous change... doing it now.
05 Apr 2004; Aron Griffis <agriffis@gentoo.org> yacc-1.9.1-r1.ebuild,
files/mkstemp.patch, files/yacc-1.9.1-ia64.patch:
Propogate CFLAGS to Makefile in a sed-safe way. Use 64-bit patch from bug
46233 (also applied to byacc)
05 Mar 2004; Tom Gall <tgall@gentoo.org> yacc-1.9.1-r1.ebuild:
Stable on ppc64
03 Oct 2003; Aron Griffis <agriffis@gentoo.org> yacc-1.9.1-r1.ebuild:
Stable on alpha
23 Feb 2003; Guy Martin <gmsoft@gentoo.org> yacc-1.9.1-r1.ebuild :
Added hppa to keywords.
06 Dec 2002; Rodney Rees <manson@gentoo.org> : changed sparc ~sparc keywords
*yacc-1.9.1-r1 (1 Feb 2002)
25 Mar 2003; Aron Griffis <agriffis@gentoo.org> yacc-1.9.1-r1.ebuild:
Add ~alpha to KEYWORDS
15 Mar 2003; Jan Seidel <tuxus@gentoo.org> :
Added mips to KEYWORDS
05 Mar 2003; Will Woods <wwoods@gentoo.org> yacc-1.9.1-r1.ebuild:
Added alpha to KEYWORDS (skipped ~alpha, yacc is known-good on other distros)
1 Feb 2002; G.Bevin <gbevin@gentoo.org> ChangeLog :
Added initial ChangeLog which should be updated whenever the package is
updated in any way. This changelog is targetted to users. This means that the
comments should well explained and written in clean English. The details about
writing correct changelogs are explained in the skel.ChangeLog file which you
can find in the root directory of the portage repository.

View File

@ -0,0 +1,28 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
AUX mkstemp.patch 413 SHA256 4c73ba7bc0f4a2e012cdb030d0e727e266791f586297c3aabbf247bad5e697c6 SHA512 4ab85fa425f3d9dfb73ca14e9fe6469896863ed8d7769c116a8a2731c35ba7a0a1766c9d7db9deda82a11432ce46095a736711e0921f6da4875ecc14e91751ae WHIRLPOOL 18fd9527bfd00ef257878809901c3c3f3c2a11f7b619a0cf610451287d9571b9c89bc911922acd5057b6253ddc810561263f2185fb68a92697975fa47da26d12
AUX yacc-1.9.1-CVE-2008-3196.patch 1199 SHA256 5bd7b40a6b600575d37ab0ee93a31cc5e6896c828884504d2aee5dc247fbc25e SHA512 7c636f5b6d98d4bf33b60ae1c49079fc849c35ca9f84e3277bafc58d9689c7b8021af34c3d7411d8637b1c821036105e73b6d5770241de72d5358718a052abf3 WHIRLPOOL c03f1a6ce34b5b22521acfe2ad42eb48b1c36d386acbe6344bc3aa6c22f6e21439c9495eb8818f98d139286a66c1f28bab2a4e944ea31401df65cf90e4485567
AUX yacc-1.9.1-ia64.patch 504 SHA256 8bea1acbb1a2b225376df4c7b382dad05751b5fd073d1a3483a2c83e4ae4295a SHA512 6525f6c3f9d0011fea00781a24fb0f2d4f80a13835746d8ea8b05a762d789d5f17984da04f32178dbdd73ab098be38fe044bf108ed2e145888cf5ebfe84bb1ec WHIRLPOOL 666eecf30061b7a5282d2553b17fb5d97ba01df8cfd56aa18b3d9cac25760ad15c23ee80fde06dfb994bd108d61e4ab7a9b54c55a924c3d64ae6b90e7acbf71d
DIST yacc-1.9.1.tar.Z 64805 SHA256 8a0f3faf78d0ada00eea5ffd1e141bb7a979d5d570a4c8a9a6ea57e5f3751477 SHA512 6adb51c5f07e8084a86688589f52d9eee0183fb4d77508e36621a6b0ba91a5c4195feb87db3401ec69560554f71f2f6984dec01266e41e0fd54fa72ef1780e80 WHIRLPOOL 91bcefbf56374559c83c40ff5c15303d6547c607aa0ab98eea2883dc78fd82d638d6638787eb89fa283cc19791bf9e1cc3041ecc435404b012d913ee04664560
EBUILD yacc-1.9.1-r4.ebuild 1650 SHA256 48944e5f5529eccdf10f5be9d2277948fec6036e4bb178b53a4da1f23f649410 SHA512 681c141f0cf850535c81ee411be3e0d55178ac7e85da1ae771cbcc20c2310ca55e152550262801c73303079d042ad0e403b705952b9484cdb32d3ef28622a76d WHIRLPOOL fd5cd295a2b23fd1154cbdef62663a6ed19ba97951d7d2038a670e7a1d8cfcf949702119945ecc74c1f4526995d4daa6f4d9f11f0161c450cb3bbdfdac3463b9
EBUILD yacc-1.9.1-r5.ebuild 1692 SHA256 c95dc9bde4ebf9b387dedf6e769d971fdbc75ec12d1e2d57db21e984e6765e36 SHA512 3cb8e59024871d3675d202a2d7b48bce4bcf9e4067f03a414552764c99b09bea3716595ecee284475007d4f0f2a38497df6171050e1d00ccf81bd221913a5545 WHIRLPOOL 0475d9f28a847a16f26d49aa4ee7ab57af7bbceb62aa92d923220a272c8671eacfa507f5f415f545599808cab1578d365144a9627ebfd1e65320673e2ad4582b
MISC ChangeLog 3826 SHA256 eb040be53bb12023e21cc37871b0b425db30ddcf141466fbfdc47abca7b6adf1 SHA512 ea7f2dcde89a9b2a0c00ed18fb562dac75be8715cd795b88c5695686251894645375dde53ba9eb4d9b3fe61abb9eef6fc0db8ed19797cc674b567699e7d52ffc WHIRLPOOL cefa66658dcdff9c6f04760bb2ecc71b9e25313f08231bcca05a529099bd1bdb1bbfb50828d029fb0de261a24876720377d56a8d3823422144d38185cf8067c6
MISC metadata.xml 210 SHA256 90082fe26a119a63ca8fbe227f66c33ba74167b6cf28e2cef02dea6c4f656c39 SHA512 4554adeece55ce9adfdadba04443a3ede6ff910b96a11b77bb1f07ddd6bdbc756b8e6e1873660f8f54e67f46db1065980794a6136c6de7883b24d0ee13ff51fe WHIRLPOOL f546bd1233d5a9934ba0480881ceba944cb8ff1869c12ed2421d4ccbb247ee38dc0c7c8b979f10533ad0fc603b5e4829d0ddf174a83d0bda8e8dd62c1c873eeb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)
iQIcBAEBCAAGBQJS2e2PAAoJEPGu1DbS6WIALRwP/1VyMuIUPfDDYqp91wf87COw
bENnQklsyewRHXDxwnW8jLuMvBN1U2c4WmcPmgXs+2TyDfyaRu73UINbrogd89ZV
FH9MVcMGyEiAdJzwDV/PNEoIuhU02hivsGEIEd6ta3u/dJgmApjibwDvdUrb2Yay
N8GcQrRybwIxOhnnXT7KIn4nl4eQHRnotr2b9rHrIQMBKYA2u0KNfv3QM15yc3vY
34ScRyuBw8LVkPdvRfIauo7/5J4+qQ+7pbOIXfVR41j7cs8Ow3cia5BYb5pSf7Od
A6G72MN2SfYF8dXxyT3wklLj5NpflZQqR0bZFlV3FduvxoxZTQzLn3xGL2EQRLSU
Vuz64mbi8Dz7gmAgXM0fL/zbJ4MceJcU91y7w9dMzoDBllYhziXcaKm7c2p/Ajy/
DZX5TyiaCfFpfhPomn9GytNhczY2HlzW2pTXFxqCRIqlt8m22VrBuUD5B1GEiXpW
iXx+JzbsnwS/mqYNetOFgvNa3c0t8CpTWAc1OcfX6Z5Y9B9+rDGJoq+TVcOP/ZMM
tp+9KgT4e5hKzOrjwa90mo1EFZltByAeJLrEw5QiuxmUQxR9LJqHdzmihPFG4+YA
MVJhCVwe2uwwYwM1CHUyPQLa3psZ3sj9Udh7DYjxsdtGaRwiA4KtfcT/fGqXrxOS
M47m3TfxW4F6xrMnZ+qn
=P1By
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,15 @@
--- main.c.orig 2002-12-17 14:28:54.000000000 -0500
+++ main.c 2002-12-17 14:29:31.000000000 -0500
@@ -264,9 +264,9 @@
text_file_name[len + 5] = 't';
union_file_name[len + 5] = 'u';
- mktemp(action_file_name);
- mktemp(text_file_name);
- mktemp(union_file_name);
+ mkstemp(action_file_name);
+ mkstemp(text_file_name);
+ mkstemp(union_file_name);
len = strlen(file_prefix);

View File

@ -0,0 +1,33 @@
Tue Jul 8 15:06:50 2008 UTC by otto
Fix an venerable bug: if we're reducing a rule that has an empty
right hand side and the yacc stackpointer is pointing at the very
end of the allocated stack, we end up accessing the stack out of
bounds by the implicit $$ = $1 action. Detected by my new malloc,
experienced by sturm@ on sparc64; ok deraadt@
Index: yacc-1.9.1/skeleton.c
===================================================================
--- yacc-1.9.1.orig/skeleton.c
+++ yacc-1.9.1/skeleton.c
@@ -18,6 +18,7 @@ char *banner[] =
"/*static char yysccsid[] = \"from: @(#)yaccpar 1.9 (Berkeley) 02/21/93\";*/",
"static char yyrcsid[] = \"$Id: yacc-1.9.1-CVE-2008-3196.patch,v 1.1 2008/10/04 18:57:18 rbu Exp $\";",
"#endif",
+ "#include <string.h>",
"#define YYBYACC 1",
"#define YYMAJOR 1",
"#define YYMINOR 9",
@@ -226,7 +227,10 @@ char *body[] =
" YYPREFIX, yystate, yyn, yyrule[yyn]);",
"#endif",
" yym = yylen[yyn];",
- " yyval = yyvsp[1-yym];",
+ " if (yym)",
+ " yyval = yyvsp[1-yym];",
+ " else",
+ " memset(&yyval, 0, sizeof yyval);",
" switch (yyn)",
" {",
0

View File

@ -0,0 +1,24 @@
--- byacc-1.9/defs.h.busted Sat May 6 21:10:56 2000
+++ byacc-1.9/defs.h Sat May 6 21:11:22 2000
@@ -1,7 +1,8 @@
#include <assert.h>
#include <ctype.h>
#include <stdio.h>
-
+#include <string.h>
+#include <stdlib.h>
/* machine-dependent definitions */
/* the following definitions are for the Tahoe */
@@ -280,10 +281,3 @@
extern int errno;
-/* system functions */
-
-extern void free();
-extern char *calloc();
-extern char *malloc();
-extern char *realloc();
-extern char *strcpy();

Some files were not shown because too many files have changed in this diff Show More