Fix tests with gmp-6 (bug 545378)
authorThomas Kahle <tomka@gentoo.org>
Fri, 3 Apr 2015 10:03:50 +0000 (10:03 +0000)
committerThomas Kahle <tomka@gentoo.org>
Fri, 3 Apr 2015 10:03:50 +0000 (10:03 +0000)
Package-Manager: portage-2.2.14/cvs/Linux x86_64
Manifest-Sign-Key: 0x565C32BC

sci-mathematics/flint/ChangeLog
sci-mathematics/flint/Manifest
sci-mathematics/flint/files/flint-2.4.5-gmp6-compat.patch [new file with mode: 0644]
sci-mathematics/flint/flint-2.4.5.ebuild

index 8881e00b9f47a7894c2cabe73c9aed9f746516a9..1541422fc069ea0fbd462bd843bb805298c2377a 100644 (file)
@@ -1,6 +1,10 @@
 # ChangeLog for sci-mathematics/flint
 # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/flint/ChangeLog,v 1.12 2015/04/03 06:29:57 patrick Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/flint/ChangeLog,v 1.13 2015/04/03 10:03:43 tomka Exp $
+
+  03 Apr 2015; Thomas Kahle <tomka@gentoo.org>
+  +files/flint-2.4.5-gmp6-compat.patch, flint-2.4.5.ebuild:
+  Fix tests with gmp-6 (bug 545378)
 
   03 Apr 2015; Patrick Lauer <patrick@gentoo.org> flint-2.4.5.ebuild:
   Restrict ntl dep #545318
index 82161b324ddb96d813247f7c0df4ba011d69e176..e24e2250fc6874c905f37b0d126309c4c77b3859 100644 (file)
@@ -1,7 +1,11 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
 AUX flint-2.4.3-cflags-ldflags.patch 1879 SHA256 a07c6d13a239a208f80561deb262af52c2d3da9bfb08744c10f4e50797f24408 SHA512 05fe22492d8e96eeabd30c5b28f8743354e8bf4e593eaf58d8be6bb47341a1c7148c13de681a5983fdae32cc246259ab69cff8b390002c0836ac2ae7d0a9b87e WHIRLPOOL 8210033b3ff8e1df2ad5a40ce9b4d6d34407b00c861b981cc785581099828a7a07c7f6d3f231d4ca7a5311bee26a39d880b3f89cc96378aa6b88791e7a008b65
 AUX flint-2.4.3-libdir.patch 1215 SHA256 def40bcf963341d11982f0ce2bd04567c0381ac085c9103320c780b95cd2d402 SHA512 92beca631043d9bf40f8174462a213e56963736b3b3926540cbd010938e57fd8eb3565185e1941d969700566e106adbd006396b65ba9877dbcf6c630287a7ac7 WHIRLPOOL 899eb997426883e49843a6dd998cce9842cd12446ba4037c03849fa7227eed877520341e95a0d2c22c9f3e4f2b78c8f4cc4af2020a9d2d09d4c4df5bb95dce10
 AUX flint-2.4.3-whitespaces.patch 1929 SHA256 e11afffa161207f73f905040dbede8246b4d96e2698ec780c9e1e1890f23bf71 SHA512 4bfa3bf3d7393ab577988b4def04fb2fe4107679a8f3eb2db7fd2c900d6ba0b79e685f5357d5d99633ea6eb8e4c7c38530f69f35fcfa250d6751e3d1f41a025f WHIRLPOOL 27b87df0bac1e74555c9f83cde575d1eaaeeec2a18245bd3df92b57b1c019168b33140275b18b7d89f67a69d0f3a488812e4a655d43d461fb6f34c6823d1ef86
 AUX flint-2.4.4-test.patch 709 SHA256 41ba827bffa88c62ecdb93a2a7b1ddd01a3ad395e36b34b93a05c7c26e76ee57 SHA512 46f66ef5104b535c0004b63cac30bd0dcd66ff554502387597d0ab5f8d7a8189431872510c0666ad99dd7c15ec7756a87b670ef162ad6b085150c6eee7a7a376 WHIRLPOOL 29d73e80b43b06e7111dae44722967b5910850f7416aa03e5fd054aee8009a256fdf05e49b61370b8d4f9dd91aef1a5fc9535822c870cc9217fe45f75a2ee618
+AUX flint-2.4.5-gmp6-compat.patch 3495 SHA256 57e2ec6769844cada6a8cffda9da3ad9c323e945e10ab00b10d921152a0707b2 SHA512 e7caf37d900380eacb5bea67be1d2e78a1468b92dd21c052d8d5b5d362782425b52107cc97dc68ef73e0da494071f01e980e6b1fafed5bfc8a090f8b9e7e5c3b WHIRLPOOL 3d76de9620b213417cd97be2a937ddad96000c8f03ea0eb559d3659915c54d90b5282f504669f9b59acfb14ebe550cbc102890442f5bf36418a65b73c443f255
 DIST flint-2.3.tar.gz 830837 SHA256 6bb059048f822dc9291567949f1baed8c77f337ff2601e91a8e9d20936291a75 SHA512 8b5cb41ef9616c984554f7085dcd914d8d91b0f8b3964939c740336e79cfcc6e81fc9135084845615f56429952a4fc0eb3960c6df13d5f779c997c3b53763e56 WHIRLPOOL 12ee4c4e6efadbe2913783fcfe7583f084c6c10777e04293de6748cf177423f7652e5cd8bcdd0f412be73a40f4c5fc744a84c0de89f6c1ff527c20e55e102258
 DIST flint-2.4.3.tar.gz 1636527 SHA256 93585cd321c5a2fad053c903ba7cd947f54de71d31cf1dd1af6814906c1ee763 SHA512 d7cecb7116c458f554e09524b9df25784ed32f889a4d83a3fc6fbf16f08ace68890b3a748a8b1b03e543c121994ed7e5efbdca9e7dbb694a4571c8d25e983aa9 WHIRLPOOL 4ec1ce3447218c9a45a9548284b7948714327bf264e9087d7c0687936a586cb96eb921079770d78c482af158ca78c65193ccbf489a789771ae527eed4d75d588
 DIST flint-2.4.4.tar.gz 1639262 SHA256 c4799e9394ef06d7b8625f7fd74ba2d8ca115dbb2aa506dcc6e369b49d0e5bc7 SHA512 236997cf64bdc96741740889f450fdbaf7d7e9b58252645f864d28005c9e7bdf87f7187cd17526606c605f0489f026398a1361b8f209f71158ca3b31c42d86d2 WHIRLPOOL 299820bc656e955d54dd06be3a1ba68440e8d9c72785ac54e7d9559da073b31c07b73598c9b18c98889f836dfd25ed8cd96d62a901a12a529698ae00ba30f1d1
@@ -9,6 +13,13 @@ DIST flint-2.4.5.tar.gz 1640022 SHA256 e489354df00f0d84976ccdd0477028693977c87cc
 EBUILD flint-2.3.ebuild 816 SHA256 8bea0e8340b2d6c5197e1ac93fb71e64e84ec5d1cc50a3ac72e0e8ba84eca575 SHA512 844d698e5a10133960b662bffdeffccd7b9696cc3932462d744455e27321fb08bb56c3ac39d91b628282d3958c34d7c892808468453a18c36e207a64ec0a6233 WHIRLPOOL b4aa7a8bbfdc1620cefa04168afe94c21373e56c704e5bae66eb9dda23e2dab68bf69736a85238092f6df8c18385dc4a0aba057a5d99adf6be963deb205e7a45
 EBUILD flint-2.4.3.ebuild 1413 SHA256 42f6f0b9e043953bc258d1418977b887544c4992c5c0b162e9318bdfa8924ef3 SHA512 2402f6a6f57d4882c74b459d8e38fc5c321c0643607335c87f3ddf6bcbb7b472d0c7fc22f6eeb5160af1ae9cfbbb2820ed33512c46afe0e596200b90dd022b7c WHIRLPOOL e6e6873575a3f71ddb8080204e5fb95881fa8e0c185dff5e808d080e08dcc4a8a05e8d2b3d5ccc03e83183c6cbbe6e5ed6ebd9ca3126d96d31f45eac8278eae1
 EBUILD flint-2.4.4-r1.ebuild 1521 SHA256 bb5571f87cfc8cbd9f2249b83e13dfb9b4da9827655cadc185d4abb7e8ec2f68 SHA512 ec20608b8e5994fe5a3b9598a44265dbc4a235ce4cc2b0f5eb3a9581190594ead48b0ebb69d45d425a16d96ebeaa3836fd71c3d9925cb62e1a8111d9f8ddc3c3 WHIRLPOOL 6ae3f7c5811576dc67fc10e0bb8460a7c2b95f648151938c178262003f46452812d669ac6ffe338a5476da4434b074102f3f989be489e697de4abbc18cb07837
-EBUILD flint-2.4.5.ebuild 1520 SHA256 dc8c2b3cffdbd87a0b3ff41ba12474091cde0d33b73ea97b06f489b76cd2e597 SHA512 66fd3a3f52e44b9dbf1e7c2a449ad9d07524c54eeed126dfa82d87250649fca32d47cee80205853d0afae38301f06d2fb68ce41c0c5a8ca9bf89bff4bfb5e7d4 WHIRLPOOL 1addb1a9df3c4ec3802742de58ef8f45c8be48da17d358a79cee1a0959dac4af0c3c0cfee09de53a5f7b3dbed195842a30b74051712fb8626594e6b339121ffe
-MISC ChangeLog 1753 SHA256 9c2238656345490b32648c1e931aaa4cae3c606507734f0d408d223e67d3fce0 SHA512 400148214a049d75dd9fc563cbb57eacd58e965c57f7c86ec3d0375b7a1481bea65cb74fe149332b473815fad82b5091e97c75751135d9ea7eab71e28323fb48 WHIRLPOOL 2801295f77e4e045406c6df4d11ce8b8a59db1ed68e2758dcb427c1b3212b02794bb9db6316bb9794ce2a4da3a1ec973b178818f8bb996f888d4047068b8a4b5
+EBUILD flint-2.4.5.ebuild 1566 SHA256 3dd5c36afae5aea26f12ab6bd9370d2b7745651b0ca074765c1f2e8f804c2a7b SHA512 c45478502ee6c05bfb638b681d1594e54fd66840e312ad77dd83b91987668cab40723419e468cc2b6dd7f65b6a5f0d8112767317d40c3ceb84d7b8b2564f4606 WHIRLPOOL 2b92e35afdf6e74c0b3f44ae91c14a00de76d4c0569e2d8e5f1c6cb32e5b1840981c09ef87cc96228a4381be3b91decbf473042c56267ff5376d65d181a76608
+MISC ChangeLog 1895 SHA256 098e19ee755754ab798f535ca25944a96e4ee5b9e4de02409dc85334aefb66dc SHA512 fb033a30706724220536f08dc53a8edabfbe891552df278f95269c109399ace8ddb8b82fc89c3fafbb232115c87b42404a4c57c6c084d0e1e05c0841d6ae2297 WHIRLPOOL 73dfa62adb1c64dd4f9ac881a4e78c73604f4c9c73895d9501b95af9556ada13f028e54e4ad53b825f1791cabd732ebdffb696c531994faa1cb302dc705929ab
 MISC metadata.xml 467 SHA256 6c05803599698bc9cbb50c53a5b538f9b46468c8a49097a20d6034f0d2d26bff SHA512 025dff9514c28ea67629a0bd164abce9e339c48296afa3158368e86c7bd253202bad1c34e066040abb5c16c88f33cd4bd01ae7efc4956a0d8fa286c7fa1a003d WHIRLPOOL 40aa042e1447988965c94e379251abc2a1bd2ab64e5b14d056aa90b4f7b8f32422b84d18868949eaf9ee3867ddb71358834ed4c77966dd4f411a6e0a227ed3f9
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2
+
+iF4EAREIAAYFAlUeZgMACgkQid6yGVZcMrw+HQEAuwU/pPiM1bFvkrqa1JgiuE74
+XU9gLjkG5x7SzQkzmGcA/3UOBN7u2Yu2tq9VCBjD8FHqKmRl5UG9dv/bvR5YDtRo
+=RptJ
+-----END PGP SIGNATURE-----
diff --git a/sci-mathematics/flint/files/flint-2.4.5-gmp6-compat.patch b/sci-mathematics/flint/files/flint-2.4.5-gmp6-compat.patch
new file mode 100644 (file)
index 0000000..559cbe5
--- /dev/null
@@ -0,0 +1,115 @@
+From a7f911140e7d0a0125653a40aa2c5fe257bd78f5 Mon Sep 17 00:00:00 2001
+From: Fredrik Johansson <fredrik.johansson@gmail.com>
+Date: Thu, 18 Sep 2014 14:49:05 +0200
+Subject: [PATCH] redefine fmpz_invmod to consider any integer invertible mod 1
+ (for gmp 6.0 compatibility)
+
+---
+ fmpz/doc/fmpz.txt    |  3 ++-
+ fmpz/invmod.c        | 11 +++++++++--
+ fmpz/test/t-invmod.c | 21 +++++++++++++++++----
+ 3 files changed, 28 insertions(+), 7 deletions(-)
+
+diff --git a/fmpz/doc/fmpz.txt b/fmpz/doc/fmpz.txt
+index fb422d8..2ada719 100644
+--- a/fmpz/doc/fmpz.txt
++++ b/fmpz/doc/fmpz.txt
+@@ -899,7 +899,8 @@ int fmpz_invmod(fmpz_t f, const fmpz_t g, const fmpz_t h)
+     Sets $f$ to the inverse of $g$ modulo $h$.  The value of $h$ may 
+     not be $0$ otherwise an exception results.  If the inverse exists 
+     the return value will be non-zero, otherwise the return value will
+-    be $0$ and the value of $f$ undefined. 
++    be $0$ and the value of $f$ undefined. As a special case, we
++    consider any number invertible modulo $h = \pm 1$, with inverse 0.
+ 
+ void fmpz_negmod(fmpz_t f, const fmpz_t g, const fmpz_t h)
+ 
+diff --git a/fmpz/invmod.c b/fmpz/invmod.c
+index a0cf601..0e20f39 100644
+--- a/fmpz/invmod.c
++++ b/fmpz/invmod.c
+@@ -67,7 +67,11 @@ fmpz_invmod(fmpz_t f, const fmpz_t g, const fmpz_t h)
+             if (c2 < WORD(0))
+                 c2 = -c2;
+             if (c2 == WORD(1))
+-                return 0;       /* special case not handled by n_invmod */
++            {
++                fmpz_zero(f);
++                return 1;       /* special case not handled by n_invmod */
++            }
++
+             gcd = z_gcdinv(&inv, c1, c2);
+ 
+             return (gcd == UWORD(1) ? fmpz_set_si(f, inv), 1 : 0);
+@@ -106,7 +110,10 @@ fmpz_invmod(fmpz_t f, const fmpz_t g, const fmpz_t h)
+             if (c2 < WORD(0))
+                 c2 = -c2;
+             if (c2 == WORD(1))
+-                return 0;       /* special case not handled by z_gcd_invert */
++            {
++                fmpz_zero(f);
++                return 1;       /* special case not handled by z_gcd_invert */
++            }
+             /* reduce g mod h first */
+ 
+             r = flint_mpz_fdiv_ui(COEFF_TO_PTR(c1), c2);
+diff --git a/fmpz/test/t-invmod.c b/fmpz/test/t-invmod.c
+index aea236e..8ff1c7f 100644
+--- a/fmpz/test/t-invmod.c
++++ b/fmpz/test/t-invmod.c
+@@ -30,6 +30,19 @@
+ #include "ulong_extras.h"
+ #include "fmpz.h"
+ 
++/* Use the definiton of GMP versions >= 6.0 */
++int
++mpz_invert2(mpz_t a, const mpz_t b, const mpz_t c)
++{
++    if (mpz_cmpabs_ui(c, 1) == 0)
++    {
++        mpz_set_ui(a, 0);
++        return 1;
++    }
++    else
++        return mpz_invert(a, b, c);
++}
++
+ int
+ main(void)
+ {
+@@ -63,7 +76,7 @@ main(void)
+         fmpz_get_mpz(e, b);
+ 
+         r1 = fmpz_invmod(c, a, b);
+-        r2 = mpz_invert(f, d, e);
++        r2 = mpz_invert2(f, d, e);
+ 
+         fmpz_get_mpz(g, c);
+ 
+@@ -106,7 +119,7 @@ main(void)
+         fmpz_get_mpz(d, a);
+ 
+         r1 = fmpz_invmod(c, a, a);
+-        r2 = mpz_invert(f, d, d);
++        r2 = mpz_invert2(f, d, d);
+ 
+         fmpz_get_mpz(g, c);
+ 
+@@ -149,7 +162,7 @@ main(void)
+         fmpz_get_mpz(e, b);
+ 
+         r1 = fmpz_invmod(a, a, b);
+-        r2 = mpz_invert(f, d, e);
++        r2 = mpz_invert2(f, d, e);
+ 
+         fmpz_get_mpz(g, a);
+ 
+@@ -192,7 +205,7 @@ main(void)
+         fmpz_get_mpz(e, b);
+ 
+         r1 = fmpz_invmod(b, a, b);
+-        r2 = mpz_invert(f, d, e);
++        r2 = mpz_invert2(f, d, e);
+ 
+         fmpz_get_mpz(g, b);
+ 
index 9546fcfe7328b52836e87c5e1fd39940379d66fd..76fe6e9fb6076551e13cd693748e6bafe54882cb 100644 (file)
@@ -1,6 +1,6 @@
 # Copyright 1999-2015 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/flint/flint-2.4.5.ebuild,v 1.2 2015/04/03 06:29:57 patrick Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/flint/flint-2.4.5.ebuild,v 1.3 2015/04/03 10:03:43 tomka Exp $
 
 EAPI="5"
 
@@ -31,7 +31,8 @@ src_prepare() {
        epatch "${FILESDIR}"/${PN}-2.4.3-libdir.patch \
                "${FILESDIR}"/${PN}-2.4.3-whitespaces.patch \
                "${FILESDIR}"/${PN}-2.4.3-cflags-ldflags.patch \
-               "${FILESDIR}"/${PN}-2.4.4-test.patch
+               "${FILESDIR}"/${PN}-2.4.4-test.patch \
+               "${FILESDIR}"/${PN}-2.4.5-gmp6-compat.patch
 }
 
 src_configure() {