push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
https://github.com/flintlib/flint/pull/2411
From 9957b17e6b08bd57790f7da1344b4d92eefc0b38 Mon Sep 17 00:00:00 2001
From: Ross Smyth <18294397+RossSmyth@users.noreply.github.com>
Date: Sun, 21 Sep 2025 15:58:57 -0400
Subject: [PATCH] Fix duplicate symbols linker error
When I run `make check` I get linker errors without
this patch
---
src/double_interval.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/double_interval.h b/src/double_interval.h
index a423257db2..5f685c283f 100644
--- a/src/double_interval.h
+++ b/src/double_interval.h
@@ -13,7 +13,7 @@
#define DOUBLE_INTERVAL_H
#ifdef DOUBLE_INTERVAL_INLINES_C
-#define DOUBLE_INTERVAL_INLINE
+#define DOUBLE_INTERVAL_INLINE static
#else
#define DOUBLE_INTERVAL_INLINE static inline
#endif

View File

@@ -0,0 +1,105 @@
{
lib,
stdenv,
fetchurl,
fetchpatch,
windows,
autoconf,
automake,
gettext,
libtool,
gmp,
mpfr,
ntl,
blas,
lapack,
boehmgc,
openblas ? null,
withBlas ? true,
withNtl ? !ntl.meta.broken,
withGc ? false,
}:
assert
withBlas
-> openblas != null && blas.implementation == "openblas" && lapack.implementation == "openblas";
stdenv.mkDerivation (finalAttrs: {
pname = "flint";
version = "3.3.1";
src = fetchurl {
url = "https://flintlib.org/download/flint-${finalAttrs.version}.tar.gz";
hash = "sha256-ZNcOUTB2z6lx4EELWMHaXTURKRPppWtE4saBtFnT6vs=";
};
patches = [
# Remove once/if https://github.com/flintlib/flint/pull/2411 is merged
# Required or else during the check phase the build fails while
# linking a test due to duplicate symbol errors
./checkPhase.patch
];
strictDeps = true;
nativeBuildInputs = [
autoconf
automake
gettext
libtool
];
propagatedBuildInputs = [
mpfr
];
buildInputs = [
gmp
]
++ lib.optionals withBlas [
openblas
]
++ lib.optionals withNtl [
ntl
]
++ lib.optionals withGc [
boehmgc
]
++ lib.optionals stdenv.hostPlatform.isMinGW [
windows.pthreads
];
# We're not using autoreconfHook because flint's bootstrap
# script calls autoreconf, among other things.
preConfigure = ''
echo "Executing bootstrap.sh"
./bootstrap.sh
'';
configureFlags = [
"--with-gmp=${gmp}"
"--with-mpfr=${mpfr}"
]
++ lib.optionals withBlas [
"--with-blas=${openblas}"
]
++ lib.optionals withNtl [
"--with-ntl=${ntl}"
]
++ lib.optionals withGc [
"--with-gc=${boehmgc}"
];
enableParallelBuilding = true;
enableParallelChecking = true;
doCheck = true;
meta = {
description = "Fast Library for Number Theory";
license = lib.licenses.lgpl3Plus;
maintainers = [ lib.maintainers.smasher164 ];
teams = [ lib.teams.sage ];
platforms = lib.platforms.all;
homepage = "https://www.flintlib.org/";
downloadPage = "https://www.flintlib.org/downloads.html";
};
})