diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-06-27 07:59:40 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-06-27 07:59:40 +0100 |
commit | d2ed973482fdd800013658e83a61709b29e0a80f (patch) | |
tree | 57ea7666a57b5a05a4c8866e4915e90b4a6e7c94 /sci-mathematics/flint | |
parent | 9f6a82a85d400d6ae7de04c43cee88dbc6bc4da0 (diff) |
gentoo auto-resync : 27:06:2024 - 07:59:39
Diffstat (limited to 'sci-mathematics/flint')
-rw-r--r-- | sci-mathematics/flint/Manifest | 6 | ||||
-rw-r--r-- | sci-mathematics/flint/files/flint-2.9.0-remove-hardcoded-CFLAGS.patch | 69 | ||||
-rw-r--r-- | sci-mathematics/flint/files/flint-3.1.3_p1-c99-I.patch | 320 | ||||
-rw-r--r-- | sci-mathematics/flint/flint-2.9.0.ebuild | 81 | ||||
-rw-r--r-- | sci-mathematics/flint/flint-3.1.3_p1.ebuild | 89 |
5 files changed, 412 insertions, 153 deletions
diff --git a/sci-mathematics/flint/Manifest b/sci-mathematics/flint/Manifest index c2a578e829ee..b9cd649810e6 100644 --- a/sci-mathematics/flint/Manifest +++ b/sci-mathematics/flint/Manifest @@ -1,10 +1,10 @@ -AUX flint-2.9.0-remove-hardcoded-CFLAGS.patch 2131 BLAKE2B f52fbcf321fd0f0beb302480c220b1f83e382ffe893e9b22a5eed839d02c2436ba101575c272cea0fbcbdd42110d5b9dde7cf6516403cb6dde1b0fa081dae63f SHA512 fa5c057cf664cd3ba83d3ec6b31a96c8a8e4a971a8f07b11a40150e22c1e55c7ad2d8b480f119213f867e502417c48741bb438b1724393b42da27d3577116fb5 AUX flint-3.0.1-find-cblas.patch 1755 BLAKE2B bdf73d282a98f11126271d1afb5dd27daa2242fbd4923558a720753db85fcc71474ab559822a3549d60c555ab72c8273350c9df3fea2ba4d134bd7a45ec4c089 SHA512 1dc9342031472e59a5ba68540f070dc410134be5d52d7545a780c5b2867fad3c84410c5719ada517a0f2780f384c02487d128e0264bdaa54e8cdf34d2a5b71df AUX flint-3.1.0-fix-pc-install.patch 1035 BLAKE2B 30f80d5a75353344c1dd2216395263adf13ca00545b019e1fe4f00f4cb2f92adab970092c2f237c8b9b15e60e0943b5b46d36f719c9a87f0039e50bd9db65e58 SHA512 859aaf547599fa7103de12020f569d13e7545cdcff09a3dcbbe05bd239daaa4d4f58780a4247910e115478117af8a7e266671104dec36d87feddce93255d9650 -DIST flint-2.9.0.tar.gz 5283894 BLAKE2B a790437ee142d8acb5cec1e6c7d21812f8d83f5d30d1e8c07e799713e96791d87792f25fbd4ce2d0d68f6a8ee2f0cde2b8d9f8db8ab26922a48485e0e90394aa SHA512 4494cba6a4e215e817d7c74ef6834c4e05a832488f4808bbd7bea8b02a4a35d47ef3c63a4f213230c712b32842f5588c503fc1cf23e5e2ddc4a4a5a1627a02ba +AUX flint-3.1.3_p1-c99-I.patch 14288 BLAKE2B b0c030835fa6f239367fd169e428c09551893f4b7a7d525344d33ee8c9756f6652b570543af5bd0ffccc292753bde9dad4cbe933aa71187660fe96852f65fea5 SHA512 7698f3003cab0909a7a42d8c6701a3a4837325aa595ab171781faef482850b1c013dcf9f11e089fe860de7fa7aad0b9f62830b3f41a73343fb0663135f5067e3 DIST flint-3.0.1.tar.gz 7624944 BLAKE2B 0d94252075945f39af3dd2e49803cbe16aa65b108964dfc0c12bdfd9188748944c1e839401e17b974f8f6f8832e4da84d62a63f20b63cfff0ff5c2736bfd2d47 SHA512 4b5b432b962135cd708a0ce4242343f3226f0fdf73c3f541728ed4540e7ef6cb7812a48b6b46e65a8fcc1f5cae93d8bb59838d24728024cd9aa0f7b8e5c6f98f DIST flint-3.1.0.tar.gz 7585407 BLAKE2B 697be5bd88e7793eb160d5f0e2110a7b8371ef8d3ca82b576c4cc755983a660a884d35d3cbb442288caa074b7f41699f4c6bc3c244272d9e9f5755d8d209004d SHA512 1d33bb35853f4bdca047899ebb4ac9873748c6d57ad3b6aded32219261e95713fb26b394d8c86f6183b9f44db58697def07e6c565ac789461d5ccc4dca3e9ba7 -EBUILD flint-2.9.0.ebuild 1726 BLAKE2B dd2ef05aacb1642cc35807306af41237bb362662a8b7b50d5814f42212125d8a83aa716c7699d554e66e41a298bf5470b454d6e67ae9dd7fae6d8bb6cd503e82 SHA512 d40e144f5e2efeb72fe39b7c9948517ab6b59588a184e3b449932c914d8f85ba5db0cd2b1f4a56925288877705956b0ff2c175327dd24f385a12014e577e5506 +DIST flint-3.1.3_p1.tar.gz 7588734 BLAKE2B 87acf8778e21e37c01e12b198ff81e62ab113df3e0e9c6155ff7dd505828f79d5c49d85093e261ea96397e906350caa03477e3ecbdd1fc09d6ae5c984397a2be SHA512 1b16ff2fb9cb2ac4b75513278b8c14683e8d83db39985631df14d6ea74bee4d6ea818a200321d5f0de6f1af89898f7a99dc7088f712f4c6db1a2546199aefba7 EBUILD flint-3.0.1.ebuild 1983 BLAKE2B bba189fe6f49d2991abc592b99cf725add9abb69f1d683432aa1954e46293afe3fc0b5a8afa7e77acb09455598c91388e29cde07dc845bd2bd66fc98ef9734d8 SHA512 0e68cb71137a24a696f49b21f1523d694af56fda47b9d1343aca9d9a58f55196a304bbb236125e7313429311e7b4ba36a88d365d55f1ac7ff8840e4da4d9ac68 EBUILD flint-3.1.0.ebuild 2023 BLAKE2B ebddd22bcbdc40778d36947998c266f0baaf146b07e902c7174ddacf7b26a22b28c366a4d1710b031e84e06532479ee6d1c183aaad05fdd5ca7346fcf66ecac3 SHA512 230fc27efc3ea58352c759a5be3a1a81e7138c9bbc1c9cdc723ef752d0dd1e7199a72a003759f62f64f9d9d3cfe916d38376f9f3a8817c95e1cfec9bb05da55a +EBUILD flint-3.1.3_p1.ebuild 2093 BLAKE2B a7e288546940bc407d07a2f3d0147b89d57aeb2c709b2cfee58a24447a834140f87f513fe69355e5dfc139087af8344f42ded31e39875072b0a966d2a3206edf SHA512 eaa36ee26b3feffcba4220ed76c618b1f309aef29757a022e29c69494a4a01081f072ac6baa2342181d93adbb15fe585525a08e180ec3b0c45890da3729f0b22 MISC metadata.xml 640 BLAKE2B b95d6f493564025e43604bffa340fffd88fcedf29c282fcc3c18e08ac089cdf1e10837787af664dd250a77a62237bf3665ff0a3045ca52680dd67aa0b39eeba7 SHA512 a9a64076e7f0df29e6a05a9d349c530a4ee4285b6a444425681eddf6ae1e8b41f610fda0bd7cc86b5177b36f34bc3072b67c7edac2cc8c0709a032b000576a14 diff --git a/sci-mathematics/flint/files/flint-2.9.0-remove-hardcoded-CFLAGS.patch b/sci-mathematics/flint/files/flint-2.9.0-remove-hardcoded-CFLAGS.patch deleted file mode 100644 index b057ea207bbd..000000000000 --- a/sci-mathematics/flint/files/flint-2.9.0-remove-hardcoded-CFLAGS.patch +++ /dev/null @@ -1,69 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 9784633c4..641ab9ed4 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,6 +1,5 @@ - cmake_minimum_required(VERSION 3.9) - --include(CheckIPOSupported) - include(CheckIncludeFiles) - include(CheckFunctionExists) - include(CheckPrototypeDefinition) -@@ -126,13 +125,6 @@ with open(join('${CMAKE_SOURCE_DIR}','qadic', 'CPimport.txt')) as fin: - ) - configure_file(${CMAKE_BINARY_DIR}/CPimport.h.in ${CMAKE_BINARY_DIR}/CPimport.h COPYONLY) - --# Setup for flint-config.h --check_c_compiler_flag("-mpopcnt" HAS_FLAG_MPOPCNT) --check_c_compiler_flag("-funroll-loops" HAS_FLAG_UNROLL_LOOPS) -- --if(HAS_FLAG_MPOPCNT) -- set(CMAKE_REQUIRED_FLAGS "-mpopcnt") --endif() - # Testing __builtin_popcountl... - check_c_source_runs([[int main(int argc, char ** argv) { - #if defined(_WIN64) -@@ -141,7 +133,6 @@ check_c_source_runs([[int main(int argc, char ** argv) { - return __builtin_popcountl(argc) == 100; - #endif - }]] FLINT_USES_POPCNT) --unset(CMAKE_REQUIRED_FLAGS) - - # fenv configuration - check_c_source_compiles([[#include <fenv.h> -@@ -250,13 +241,6 @@ if(BUILD_SHARED_LIBS AND WIN32) - target_compile_definitions(flint PUBLIC "MSC_USE_DLL") - endif() - --if (HAS_FLAG_MPOPCNT) -- target_compile_options(flint PUBLIC "-mpopcnt") --endif() --if (HAS_FLAG_UNROLL_LOOPS) -- target_compile_options(flint PUBLIC "-funroll-loops") --endif() -- - # Versioning - - set_target_properties(flint PROPERTIES -@@ -279,21 +263,6 @@ elseif (WIN32) - set_target_properties(flint PROPERTIES RUNTIME_OUTPUT_NAME "flint-${FLINT_MAJOR}") - endif() - --if(NOT DEFINED IPO_SUPPORTED) -- message(STATUS "Checking for IPO") -- check_ipo_supported(RESULT ipo_supported LANGUAGES C) -- if(ipo_supported) -- message(STATUS "Checking for IPO - found") -- else() -- message(STATUS "Checking for IPO - not found") -- endif() -- set(IPO_SUPPORTED ${ipo_supported} CACHE INTERNAL "Introprocedural Optimization" FORCE) --endif() -- --if(IPO_SUPPORTED) -- set_target_properties(flint PROPERTIES INTERPROCEDURAL_OPTIMIZATION TRUE) --endif() -- - if(NOT MSVC) - target_link_libraries(flint PUBLIC m) - endif() diff --git a/sci-mathematics/flint/files/flint-3.1.3_p1-c99-I.patch b/sci-mathematics/flint/files/flint-3.1.3_p1-c99-I.patch new file mode 100644 index 000000000000..1ebe43d6243b --- /dev/null +++ b/sci-mathematics/flint/files/flint-3.1.3_p1-c99-I.patch @@ -0,0 +1,320 @@ +From 1b93e73d00881be12e04b7f13e070214a3c9e1cc Mon Sep 17 00:00:00 2001 +From: Dima Pasechnik <dima@pasechnik.info> +Date: Wed, 19 Jun 2024 22:16:34 +0100 +Subject: [PATCH] ensure C99 compliance in headers, as 'I' is reserved +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Note that the following code +---- cut here: save as t.c +---- cut here + +fails to compile with a suffciently new compiler, e.g. clang 16 or gcc 14. + +$ gcc -c t.c +In file included from t.c:1: +/usr/include/flint/mpoly.h:1319:43: error: expected ‘)’ before ‘__extension__’ + 1319 | void mpoly_gcd_info_init(mpoly_gcd_info_t I, slong nvars); + | ^ +In file included from /usr/include/flint/fmpz_types.h:15, + from /usr/include/flint/fmpz_mod_types.h:15, + from /usr/include/flint/mpoly_types.h:15, + from /usr/include/flint/mpoly.h:23, + from t.c:2: +/usr/include/flint/mpoly.h:1319:46: error: expected ‘;’, ‘,’ or ‘)’ before ‘mp_limb_signed_t’ + 1319 | void mpoly_gcd_info_init(mpoly_gcd_info_t I, slong nvars); + +... +--- + src/fft_small.h | 6 +++--- + src/fmpz_mod_mpoly_factor.h | 8 ++++---- + src/fmpz_mpoly.h | 2 +- + src/fmpz_mpoly_factor.h | 18 +++++++++--------- + src/fq_nmod_mpoly_factor.h | 6 +++--- + src/fq_zech_mpoly_factor.h | 6 +++--- + src/mpoly.h | 18 +++++++++--------- + src/nmod_mpoly.h | 4 ++-- + src/nmod_mpoly_factor.h | 6 +++--- + 9 files changed, 37 insertions(+), 37 deletions(-) + +diff --git a/src/fft_small.h b/src/fft_small.h +index 3f62f2e988..b7404f196d 100644 +--- a/src/fft_small.h ++++ b/src/fft_small.h +@@ -242,10 +242,10 @@ FLINT_INLINE double sd_fft_ctx_get_fft_index(double* d, ulong i) + } + + /* sd_fft.c */ +-void sd_fft_trunc(const sd_fft_lctx_t Q, ulong I, ulong S, ulong k, ulong j, ulong itrunc, ulong otrunc); ++void sd_fft_trunc(const sd_fft_lctx_t Q, ulong Iv, ulong S, ulong k, ulong j, ulong itrunc, ulong otrunc); + + /* sd_ifft.c */ +-void sd_ifft_trunc(const sd_fft_lctx_t Q, ulong I, ulong S, ulong k, ulong j, ulong z, ulong n, int f); ++void sd_ifft_trunc(const sd_fft_lctx_t Q, ulong Iv, ulong S, ulong k, ulong j, ulong z, ulong n, int f); + + /* sd_fft_ctx.c */ + void sd_fft_ctx_clear(sd_fft_ctx_t Q); +@@ -428,7 +428,7 @@ typedef struct { + + typedef mpn_ctx_struct mpn_ctx_t[1]; + +-void _convert_block(ulong* Xs, sd_fft_ctx_struct* Rffts, double* d, ulong dstride, ulong np, ulong I); ++void _convert_block(ulong* Xs, sd_fft_ctx_struct* Rffts, double* d, ulong dstride, ulong np, ulong Iv); + ulong flint_mpn_nbits(const ulong* a, ulong an); + int flint_mpn_cmp_ui_2exp(const ulong* a, ulong an, ulong b, ulong e); + unsigned char flint_mpn_add_inplace_c(ulong* z, ulong zn, ulong* a, ulong an, unsigned char cf); +diff --git a/src/fmpz_mod_mpoly_factor.h b/src/fmpz_mod_mpoly_factor.h +index 359fdd1e3d..460695dd23 100644 +--- a/src/fmpz_mod_mpoly_factor.h ++++ b/src/fmpz_mod_mpoly_factor.h +@@ -1203,15 +1203,15 @@ typedef struct { + typedef fmpz_mod_mpoly_pfrac_struct fmpz_mod_mpoly_pfrac_t[1]; + + +-int fmpz_mod_mpoly_pfrac_init(fmpz_mod_mpoly_pfrac_t I, ++int fmpz_mod_mpoly_pfrac_init(fmpz_mod_mpoly_pfrac_t Iv, + flint_bitcnt_t bits, slong l, slong r, const fmpz_mod_mpoly_struct * betas, + const fmpz * alpha, const fmpz_mod_mpoly_ctx_t ctx); + +-void fmpz_mod_mpoly_pfrac_clear(fmpz_mod_mpoly_pfrac_t I, ++void fmpz_mod_mpoly_pfrac_clear(fmpz_mod_mpoly_pfrac_t Iv, + const fmpz_mod_mpoly_ctx_t ctx); + + int fmpz_mod_mpoly_pfrac(slong r, fmpz_mod_mpoly_t t, const slong * deg, +- fmpz_mod_mpoly_pfrac_t I, const fmpz_mod_mpoly_ctx_t ctx); ++ fmpz_mod_mpoly_pfrac_t Iv, const fmpz_mod_mpoly_ctx_t ctx); + + int fmpz_mod_mpoly_hlift(slong m, fmpz_mod_mpoly_struct * f, slong r, + const fmpz * alpha, const fmpz_mod_mpoly_t A, const slong * degs, +@@ -1290,7 +1290,7 @@ int fmpz_mod_mpolyn_gcd_brown_smprime( + fmpz_mod_mpolyn_t B, + slong var, + const fmpz_mod_mpoly_ctx_t ctx, +- const mpoly_gcd_info_t I, ++ const mpoly_gcd_info_t Iv, + fmpz_mod_poly_polyun_mpolyn_stack_t St); + + int fmpz_mod_mpolyl_gcdp_zippel( +diff --git a/src/fmpz_mpoly.h b/src/fmpz_mpoly.h +index b7c9677915..4be3d05c56 100644 +--- a/src/fmpz_mpoly.h ++++ b/src/fmpz_mpoly.h +@@ -1084,7 +1084,7 @@ void fmpz_mpoly_vec_randtest_not_zero(fmpz_mpoly_vec_t vec, flint_rand_t state, + + void fmpz_mpoly_spoly(fmpz_mpoly_t res, const fmpz_mpoly_t f, const fmpz_mpoly_t g, const fmpz_mpoly_ctx_t ctx); + void fmpz_mpoly_vec_set_primitive_unique(fmpz_mpoly_vec_t G, const fmpz_mpoly_vec_t F, const fmpz_mpoly_ctx_t ctx); +-void fmpz_mpoly_reduction_primitive_part(fmpz_mpoly_t res, const fmpz_mpoly_t f, const fmpz_mpoly_vec_t I, const fmpz_mpoly_ctx_t ctx); ++void fmpz_mpoly_reduction_primitive_part(fmpz_mpoly_t res, const fmpz_mpoly_t f, const fmpz_mpoly_vec_t Iv, const fmpz_mpoly_ctx_t ctx); + int fmpz_mpoly_vec_is_groebner(const fmpz_mpoly_vec_t G, const fmpz_mpoly_vec_t F, const fmpz_mpoly_ctx_t ctx); + void fmpz_mpoly_buchberger_naive(fmpz_mpoly_vec_t G, const fmpz_mpoly_vec_t F, const fmpz_mpoly_ctx_t ctx); + int fmpz_mpoly_buchberger_naive_with_limits(fmpz_mpoly_vec_t G, const fmpz_mpoly_vec_t F, +diff --git a/src/fmpz_mpoly_factor.h b/src/fmpz_mpoly_factor.h +index 0da7c1052b..a04ef8021e 100644 +--- a/src/fmpz_mpoly_factor.h ++++ b/src/fmpz_mpoly_factor.h +@@ -298,11 +298,11 @@ void fmpz_mpoly_from_mpolyl_perm_inflate(fmpz_mpoly_t A, + + int fmpz_mpolyl_gcd_brown(fmpz_mpoly_t G, + fmpz_mpoly_t Abar, fmpz_mpoly_t Bbar, fmpz_mpoly_t A, fmpz_mpoly_t B, +- const fmpz_mpoly_ctx_t ctx, const mpoly_gcd_info_t I); ++ const fmpz_mpoly_ctx_t ctx, const mpoly_gcd_info_t Iv); + + int fmpz_mpolyl_gcd_brown_threaded_pool(fmpz_mpoly_t G, + fmpz_mpoly_t Abar, fmpz_mpoly_t Bbar, fmpz_mpoly_t A, fmpz_mpoly_t B, +- const fmpz_mpoly_ctx_t ctx, const mpoly_gcd_info_t I, ++ const fmpz_mpoly_ctx_t ctx, const mpoly_gcd_info_t Iv, + const thread_pool_handle * handles, slong num_handles); + + int fmpz_mpolyl_gcd_zippel(fmpz_mpoly_t G, fmpz_mpoly_t Abar, +@@ -340,15 +340,15 @@ typedef struct { + + typedef fmpz_poly_pfrac_struct fmpz_poly_pfrac_t[1]; + +-void fmpz_poly_pfrac_init(fmpz_poly_pfrac_t I); ++void fmpz_poly_pfrac_init(fmpz_poly_pfrac_t Iv); + +-void fmpz_poly_pfrac_clear(fmpz_poly_pfrac_t I); ++void fmpz_poly_pfrac_clear(fmpz_poly_pfrac_t Iv); + +-int fmpz_poly_pfrac_precompute(fmpz_poly_pfrac_t I, ++int fmpz_poly_pfrac_precompute(fmpz_poly_pfrac_t Iv, + const fmpz_poly_struct * b, slong r); + + int fmpz_poly_pfrac_precomp(fmpz_poly_struct * c, +- const fmpz_poly_t A, fmpz_poly_pfrac_t I); ++ const fmpz_poly_t A, fmpz_poly_pfrac_t Iv); + + typedef struct { + flint_bitcnt_t bits; +@@ -372,15 +372,15 @@ typedef struct { + + typedef fmpz_mpoly_pfrac_struct fmpz_mpoly_pfrac_t[1]; + +-int fmpz_mpoly_pfrac_init(fmpz_mpoly_pfrac_t I, flint_bitcnt_t bits, ++int fmpz_mpoly_pfrac_init(fmpz_mpoly_pfrac_t Iv, flint_bitcnt_t bits, + slong r, slong w, const fmpz_mpoly_struct * betas, + const fmpz * alpha, const fmpz_mpoly_ctx_t ctx); + +-void fmpz_mpoly_pfrac_clear(fmpz_mpoly_pfrac_t I, ++void fmpz_mpoly_pfrac_clear(fmpz_mpoly_pfrac_t Iv, + const fmpz_mpoly_ctx_t ctx); + + int fmpz_mpoly_pfrac(slong l, fmpz_mpoly_t t, const slong * degs, +- fmpz_mpoly_pfrac_t I, const fmpz_mpoly_ctx_t ctx); ++ fmpz_mpoly_pfrac_t Iv, const fmpz_mpoly_ctx_t ctx); + + int fmpz_mpoly_hlift(slong m, fmpz_mpoly_struct * f, slong r, + const fmpz * alpha, const fmpz_mpoly_t A, const slong * degs, +diff --git a/src/fq_nmod_mpoly_factor.h b/src/fq_nmod_mpoly_factor.h +index 6289d3f1c5..29caa99aa4 100644 +--- a/src/fq_nmod_mpoly_factor.h ++++ b/src/fq_nmod_mpoly_factor.h +@@ -427,7 +427,7 @@ typedef fq_nmod_mpoly_pfrac_struct fq_nmod_mpoly_pfrac_t[1]; + + + int fq_nmod_mpoly_pfrac_init( +- fq_nmod_mpoly_pfrac_t I, ++ fq_nmod_mpoly_pfrac_t Iv, + flint_bitcnt_t bits, + slong l, slong r, + const fq_nmod_mpoly_struct * betas, +@@ -435,14 +435,14 @@ int fq_nmod_mpoly_pfrac_init( + const fq_nmod_mpoly_ctx_t ctx); + + void fq_nmod_mpoly_pfrac_clear( +- fq_nmod_mpoly_pfrac_t I, ++ fq_nmod_mpoly_pfrac_t Iv, + const fq_nmod_mpoly_ctx_t ctx); + + int fq_nmod_mpoly_pfrac( + slong r, + fq_nmod_mpoly_t t, + const slong * deg, +- fq_nmod_mpoly_pfrac_t I, ++ fq_nmod_mpoly_pfrac_t Iv, + const fq_nmod_mpoly_ctx_t ctx); + + int fq_nmod_mpoly_hlift( +diff --git a/src/fq_zech_mpoly_factor.h b/src/fq_zech_mpoly_factor.h +index 06f31369f9..3d3c51419f 100644 +--- a/src/fq_zech_mpoly_factor.h ++++ b/src/fq_zech_mpoly_factor.h +@@ -652,7 +652,7 @@ typedef fq_zech_mpoly_pfrac_struct fq_zech_mpoly_pfrac_t[1]; + + + int fq_zech_mpoly_pfrac_init( +- fq_zech_mpoly_pfrac_t I, ++ fq_zech_mpoly_pfrac_t Iv, + flint_bitcnt_t bits, + slong l, slong r, + const fq_zech_mpoly_struct * betas, +@@ -660,14 +660,14 @@ int fq_zech_mpoly_pfrac_init( + const fq_zech_mpoly_ctx_t ctx); + + void fq_zech_mpoly_pfrac_clear( +- fq_zech_mpoly_pfrac_t I, ++ fq_zech_mpoly_pfrac_t Iv, + const fq_zech_mpoly_ctx_t ctx); + + int fq_zech_mpoly_pfrac( + slong r, + fq_zech_mpoly_t t, + const slong * deg, +- fq_zech_mpoly_pfrac_t I, ++ fq_zech_mpoly_pfrac_t Iv, + const fq_zech_mpoly_ctx_t ctx); + + int fq_zech_mpoly_hlift( +diff --git a/src/mpoly.h b/src/mpoly.h +index b0950e3a48..fe0ccbe7c4 100644 +--- a/src/mpoly.h ++++ b/src/mpoly.h +@@ -1363,9 +1363,9 @@ typedef struct + + typedef mpoly_gcd_info_struct mpoly_gcd_info_t[1]; + +-void mpoly_gcd_info_init(mpoly_gcd_info_t I, slong nvars); ++void mpoly_gcd_info_init(mpoly_gcd_info_t Iv, slong nvars); + +-void mpoly_gcd_info_clear(mpoly_gcd_info_t I); ++void mpoly_gcd_info_clear(mpoly_gcd_info_t Iv); + + void mpoly_gcd_info_limits(ulong * Amax_exp, ulong * Amin_exp, + slong * Amax_exp_count, slong * Amin_exp_count, +@@ -1378,25 +1378,25 @@ void mpoly_gcd_info_stride(ulong * strides, + const ulong * Bmax_exp, const ulong * Bmin_exp, + const mpoly_ctx_t mctx); + +-void mpoly_gcd_info_set_perm(mpoly_gcd_info_t I, ++void mpoly_gcd_info_set_perm(mpoly_gcd_info_t Iv, + slong Alength, slong Blength, const mpoly_ctx_t mctx); + +-slong mpoly_gcd_info_get_brown_upper_limit(const mpoly_gcd_info_t I, ++slong mpoly_gcd_info_get_brown_upper_limit(const mpoly_gcd_info_t Iv, + slong var, slong bound); + +-void mpoly_gcd_info_measure_hensel(mpoly_gcd_info_t I, ++void mpoly_gcd_info_measure_hensel(mpoly_gcd_info_t Iv, + slong Alength, slong Blength, const mpoly_ctx_t mctx); + +-void mpoly_gcd_info_measure_brown(mpoly_gcd_info_t I, ++void mpoly_gcd_info_measure_brown(mpoly_gcd_info_t Iv, + slong Alength, slong Blength, const mpoly_ctx_t mctx); + +-void mpoly_gcd_info_measure_bma(mpoly_gcd_info_t I, ++void mpoly_gcd_info_measure_bma(mpoly_gcd_info_t Iv, + slong Alength, slong Blength, const mpoly_ctx_t mctx); + +-void mpoly_gcd_info_measure_zippel(mpoly_gcd_info_t I, ++void mpoly_gcd_info_measure_zippel(mpoly_gcd_info_t Iv, + slong Alength, slong Blength, const mpoly_ctx_t mctx); + +-void mpoly_gcd_info_measure_zippel2(mpoly_gcd_info_t I, ++void mpoly_gcd_info_measure_zippel2(mpoly_gcd_info_t Iv, + slong Alength, slong Blength, const mpoly_ctx_t mctx); + + int mpoly_monomial_cofactors(fmpz * Abarexps, fmpz * Bbarexps, +diff --git a/src/nmod_mpoly.h b/src/nmod_mpoly.h +index 2a8136e6eb..716ac9669a 100644 +--- a/src/nmod_mpoly.h ++++ b/src/nmod_mpoly.h +@@ -1619,13 +1619,13 @@ int nmod_mpolyn_gcd_brown_smprime_bivar( + int nmod_mpolyn_gcd_brown_smprime(nmod_mpolyn_t G, + nmod_mpolyn_t Abar, nmod_mpolyn_t Bbar, + nmod_mpolyn_t A, nmod_mpolyn_t B, slong var, +- const nmod_mpoly_ctx_t ctx, const mpoly_gcd_info_t I, ++ const nmod_mpoly_ctx_t ctx, const mpoly_gcd_info_t Iv, + nmod_poly_stack_t Sp); + + int nmod_mpolyn_gcd_brown_smprime_threaded_pool(nmod_mpolyn_t G, + nmod_mpolyn_t Abar, nmod_mpolyn_t Bbar, + nmod_mpolyn_t A, nmod_mpolyn_t B, slong var, +- const nmod_mpoly_ctx_t ctx, const mpoly_gcd_info_t I, ++ const nmod_mpoly_ctx_t ctx, const mpoly_gcd_info_t Iv, + const thread_pool_handle * handles, slong num_workers); + + int nmod_mpolyn_gcd_brown_lgprime(nmod_mpolyn_t G, +diff --git a/src/nmod_mpoly_factor.h b/src/nmod_mpoly_factor.h +index a46afc860f..b16c802b9b 100644 +--- a/src/nmod_mpoly_factor.h ++++ b/src/nmod_mpoly_factor.h +@@ -362,15 +362,15 @@ typedef struct { + typedef nmod_mpoly_pfrac_struct nmod_mpoly_pfrac_t[1]; + + +-int nmod_mpoly_pfrac_init(nmod_mpoly_pfrac_t I, flint_bitcnt_t bits, ++int nmod_mpoly_pfrac_init(nmod_mpoly_pfrac_t Iv, flint_bitcnt_t bits, + slong l, slong r, const nmod_mpoly_struct * betas, + const mp_limb_t * alpha, const nmod_mpoly_ctx_t ctx); + +-void nmod_mpoly_pfrac_clear(nmod_mpoly_pfrac_t I, ++void nmod_mpoly_pfrac_clear(nmod_mpoly_pfrac_t Iv, + const nmod_mpoly_ctx_t ctx); + + int nmod_mpoly_pfrac(slong r, nmod_mpoly_t t, const slong * deg, +- nmod_mpoly_pfrac_t I, const nmod_mpoly_ctx_t ctx); ++ nmod_mpoly_pfrac_t Iv, const nmod_mpoly_ctx_t ctx); + + int nmod_mpoly_hlift(slong m, nmod_mpoly_struct * f, slong r, + const mp_limb_t * alpha, const nmod_mpoly_t A, const slong * degs, diff --git a/sci-mathematics/flint/flint-2.9.0.ebuild b/sci-mathematics/flint/flint-2.9.0.ebuild deleted file mode 100644 index 8294eb140a41..000000000000 --- a/sci-mathematics/flint/flint-2.9.0.ebuild +++ /dev/null @@ -1,81 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# ninja doesn't like "-lcblas" so using make. -CMAKE_MAKEFILE_GENERATOR="emake" -PYTHON_COMPAT=( python3_{9..11} ) -inherit cmake python-any-r1 - -DESCRIPTION="Fast Library for Number Theory" -HOMEPAGE="http://www.flintlib.org/" - -# flintlib.org tarballs have been broken in the past, Bill Hart suggests -# we get them from Github (which he has control over). -SRC_URI="https://github.com/wbhart/flint2/archive/refs/tags/v${PV}.tar.gz - -> ${P}.tar.gz" - -LICENSE="LGPL-2.1+" - -# Based off the soname, e.g. /usr/lib64/libflint.so -> libflint.so.15 -SLOT="0/17" - -KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" -IUSE="doc ntl test" - -RESTRICT="!test? ( test )" - -BDEPEND="doc? ( - dev-python/sphinx - app-text/texlive-core - dev-texlive/texlive-latex - dev-texlive/texlive-latexextra - dev-tex/latexmk - ) - ${PYTHON_DEPS}" -DEPEND="dev-libs/gmp:= - dev-libs/mpfr:= - ntl? ( dev-libs/ntl:= ) - virtual/cblas" -RDEPEND="${DEPEND}" - -S="${WORKDIR}/flint2-${PV}" -PATCHES=( "${FILESDIR}/${PN}-2.9.0-remove-hardcoded-CFLAGS.patch" ) - -src_prepare() { - # https://github.com/wbhart/flint2/issues/1140 - rm test/t-sdiv_qrnnd.c || die - cmake_src_prepare -} - -src_configure() { - local mycmakeargs=( - -DWITH_NTL="$(usex ntl)" - -DBUILD_TESTING="$(usex test)" - -DBUILD_DOCS="$(usex doc)" - -DCBLAS_INCLUDE_DIRS="${EPREFIX}/usr/include" - -DCBLAS_LIBRARIES="-lcblas" - ) - - cmake_src_configure - - if use doc ; then - HTML_DOCS="${BUILD_DIR}/html/*" - DOCS=( - "${S}"/README - "${S}"/AUTHORS - "${S}"/NEWS - "${BUILD_DIR}"/latex/Flint.pdf - ) - fi -} - -src_compile() { - cmake_src_compile - - if use doc ; then - cmake_build html - cmake_build pdf - fi -} diff --git a/sci-mathematics/flint/flint-3.1.3_p1.ebuild b/sci-mathematics/flint/flint-3.1.3_p1.ebuild new file mode 100644 index 000000000000..09d8ddd97e09 --- /dev/null +++ b/sci-mathematics/flint/flint-3.1.3_p1.ebuild @@ -0,0 +1,89 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) +inherit cmake flag-o-matic python-any-r1 + +DESCRIPTION="Fast Library for Number Theory" +HOMEPAGE="https://www.flintlib.org/" + +MY_PV="${PV/_/-}" +SRC_URI="https://github.com/flintlib/flint/archive/refs/tags/v${MY_PV}.tar.gz + -> ${P}.tar.gz" +S="${WORKDIR}/${PN}-${MY_PV}" +LICENSE="LGPL-2.1+" + +# Based off the soname, e.g. /usr/lib64/libflint.so -> libflint.so.15 +SLOT="0/19" + +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +IUSE="doc ntl test" + +RESTRICT="!test? ( test )" + +BDEPEND="${PYTHON_DEPS} + doc? ( + app-text/texlive-core + dev-python/sphinx + dev-tex/latexmk + dev-texlive/texlive-latex + dev-texlive/texlive-latexextra + ) +" +DEPEND="dev-libs/gmp:= + dev-libs/mpfr:= + ntl? ( dev-libs/ntl:= ) + virtual/cblas" +# flint 3 includes arb and arb cannot use flint 3. +RDEPEND="${DEPEND} + !sci-mathematics/arb" + +# The rst files are API docs, but they're very low-effort compared to +# the PDF and HTML docs, so we ship them unconditionally and hide only +# the painful parts behind USE=doc. +DOCS="AUTHORS README.md doc/source/*.rst" + +PATCHES=( + "${FILESDIR}/flint-3.0.1-find-cblas.patch" + "${FILESDIR}/flint-3.1.3_p1-c99-I.patch" +) + +src_configure() { + # Test failures: + # * https://bugs.gentoo.org/934463 + # * https://github.com/flintlib/flint/issues/2029 + filter-flags -floop-nest-optimize \ + -ftree-loop-linear \ + -floop-strip-mine \ + -floop-block \ + -fgraphite-identity + + local mycmakeargs=( + -DWITH_NTL="$(usex ntl)" + -DBUILD_TESTING="$(usex test)" + -DBUILD_DOCS="$(usex doc)" + ) + + cmake_src_configure + + if use doc; then + # Avoid the "html/_source" directory that will contain a copy of + # the rst sources we've already installed, and also avoid + # installing html/objects.inv. + HTML_DOCS="${BUILD_DIR}/html/*.html + ${BUILD_DIR}/html/*.js + ${BUILD_DIR}/html/_static" + DOCS+=" ${BUILD_DIR}/latex/Flint.pdf" + fi +} + +src_compile() { + cmake_src_compile + + if use doc; then + cmake_build html + cmake_build pdf + fi +} |