Merge pull request #298957 from Feyorsh/sage-dep

sage: fix dependencies on Darwin/Clang16
This commit is contained in:
Mauricio Collares 2024-03-26 19:29:01 +01:00 committed by GitHub
commit d3fd6364f9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
16 changed files with 84 additions and 63 deletions

View File

@ -14,6 +14,10 @@ stdenv.mkDerivation rec {
postPatch = lib.optionalString stdenv.cc.isClang ''
substituteInPlace Makefile --replace "-fno-guess-branch-probability" ""
for f in $(find -name "*.h" -or -name "*.cpp"); do
substituteInPlace "$f" --replace-quiet "log2" "_log2"
done
'';
buildFlags = [ "CC=${stdenv.cc.targetPrefix}cc" "CXX=${stdenv.cc.targetPrefix}c++" ];

View File

@ -39,7 +39,6 @@
, ecm
, lcalc
, rubiks
, flintqs
, blas
, lapack
, flint3
@ -93,7 +92,6 @@ let
ecm
lcalc
rubiks
flintqs
jdk # only needed for `jmol` which may be replaced in the future
less # needed to prevent transient test errors until https://github.com/ipython/ipython/pull/11864 is resolved
]

View File

@ -13,7 +13,6 @@
, gmp
, gfan
, python3
, flintqs
, eclib
, ntl
, ecm
@ -40,7 +39,6 @@ let
gfan
maxima
eclib
flintqs
ntl
ecm
];

View File

@ -13,12 +13,9 @@
, doxygen
, graphviz
, latex2html
# upstream generates docs with texinfo 4. later versions of texinfo
# use letters instead of numbers for post-appendix chapters, and we
# want it to match the upstream format because sage depends on it.
, texinfo4
, texinfo
, texliveSmall
, enableDocs ? true
, enableDocs ? !stdenv.isDarwin
, enableGfanlib ? true
}:
@ -85,7 +82,7 @@ stdenv.mkDerivation rec {
doxygen
graphviz
latex2html
texinfo4
texinfo
texliveSmall
] ++ lib.optionals stdenv.isDarwin [ getconf ];
depsBuildBuild = [ buildPackages.stdenv.cc ];

View File

@ -50,7 +50,6 @@ stdenv.mkDerivation rec {
doCheck = true;
meta = with lib; {
broken = stdenv.isDarwin;
description = "Finite Field Linear Algebra Subroutines";
mainProgram = "fflas-ffpack-config";
license = licenses.lgpl21Plus;

View File

@ -1,5 +1,6 @@
{ lib
, stdenv
, fetchpatch
, fetchurl
, gmp
, mpfr
@ -24,6 +25,13 @@ stdenv.mkDerivation rec {
sha256 = "sha256-ezEaAFA6hjiB64F32+uEMi8pOZ89fXLzsaTJuh1XlLQ=";
};
patches = [
(fetchpatch {
url = "https://github.com/flintlib/flint/commit/e7d005c369754243cba32bd782ea2a5fc874fde5.diff";
hash = "sha256-IqEtYEpNVXfoTeerh/0ig+eDqUpAlGdBB3uO8ShYh3o=";
})
];
nativeBuildInputs = [
autoconf
automake

View File

@ -1,5 +1,6 @@
{ lib, stdenv
, fetchFromGitHub
, fetchpatch
, pkg-config
, gettext
, autoreconfHook
@ -18,6 +19,13 @@ stdenv.mkDerivation rec {
sha256 = "sha256-taSS7jpVyjVfNe6kSuUDXMD2PgKmtG64V5MjZyQzorI=";
};
patches = [
(fetchpatch {
url = "https://github.com/fplll/fplll/commit/317cf70893eebfb2625da12e5377189908c36240.diff";
sha256 = "sha256-GbYSolBgv/he4QzjuRFdg93wHJABVHvA9x3PjpJTSRE=";
})
];
nativeBuildInputs = [
pkg-config
gettext

View File

@ -25,6 +25,11 @@ stdenv.mkDerivation rec {
url = "https://github.com/linbox-team/givaro/commit/c7744bb133496cd7ac04688f345646d505e1bf52.patch";
hash = "sha256-aAA5o8Va10v0Pqgcpx7qM0TAZiNQgXoR6N9xecj7tDA=";
})
(fetchpatch {
name = "clang-16.patch";
url = "https://github.com/linbox-team/givaro/commit/a81d44b3b57c275bcb04ab00db79be02561deaa2.patch";
hash = "sha256-sSk+VWffoEjZRTJcHRISLHPyW6yuvI1u8knBOfxNUIE=";
})
];
enableParallelBuilding = true;

View File

@ -1,5 +1,6 @@
{ lib, stdenv
, fetchFromGitHub
, fetchpatch
, autoreconfHook
, givaro
, pkg-config
@ -23,6 +24,13 @@ stdenv.mkDerivation rec {
sha256 = "sha256-mW84a98KPLqcHMjX3LIYTmVe0ngUdz6RJLpoDaAqKU8=";
};
patches = [
(fetchpatch {
url = "https://github.com/linbox-team/linbox/commit/4be26e9ef0eaf36a9909e5008940e8bf7dc625b6.patch";
sha256 = "PX0Tik7blXOV2vHUq92xMxaADkNoNGiax4qrjQyGK6U=";
})
];
nativeBuildInputs = [
autoreconfHook
pkg-config

View File

@ -1,40 +0,0 @@
{ lib, stdenv
, fetchFromGitHub
, autoreconfHook
, gmp
}:
stdenv.mkDerivation rec {
version = "1.0";
pname = "flintqs";
src = fetchFromGitHub {
owner = "sagemath";
repo = "FlintQS";
rev = "v${version}";
sha256 = "1f0lnayz6j6qgasx8pbq61d2fqam0wwhsmh6h15l4vq58l1vvbwj";
};
preAutoreconf = ''
touch ChangeLog
'';
buildInputs = [
gmp
];
nativeBuildInputs = [
autoreconfHook
];
doCheck = true;
meta = with lib; {
description = "Highly optimized multi-polynomial quadratic sieve for integer factorization";
homepage = "https://github.com/sagemath/FlintQS";
license = with licenses; [ gpl2 ];
maintainers = teams.sage.members;
mainProgram = "QuadraticSieve";
platforms = platforms.all;
};
}

View File

@ -21,6 +21,9 @@ stdenv.mkDerivation rec {
m4ri
];
# does not compile correctly with -O2 on LLVM clang; see
# https://bitbucket.org/malb/m4rie/issues/23/trying-to-compile-on-apple-m1
makeFlags = [] ++ lib.optionals stdenv.isDarwin [ "CFLAGS=-O0" ];
nativeBuildInputs = [
autoreconfHook
];
@ -35,7 +38,5 @@ stdenv.mkDerivation rec {
license = licenses.gpl2Plus;
maintainers = teams.sage.members;
platforms = platforms.unix;
# never built on aarch64-darwin since first introduction in nixpkgs
broken = stdenv.isDarwin && stdenv.isAarch64;
};
}

View File

@ -2,6 +2,7 @@
, fetchurl
, fetchpatch
, coreutils
, dos2unix
}:
stdenv.mkDerivation rec {
@ -24,24 +25,54 @@ stdenv.mkDerivation rec {
"PREFIX=$(out)"
];
nativeBuildInputs = [ dos2unix ];
prePatch = ''
find ./dietz/ -type f -exec dos2unix {} \;
'';
patches = [
# Fix makefiles which use all the variables in all the wrong ways and
# hardcode values for some variables.
(fetchpatch {
url = "https://raw.githubusercontent.com/sagemath/sage/07d6c37d18811e2b377a9689790a7c5e24da16ba/build/pkgs/rubiks/patches/dietz-cu2-Makefile.patch";
sha256 = "1ry3w1mk9q4jqd91zlaa1bdiiplld4hpfjaldbhlmzlgrrc99qmq";
url = "https://raw.githubusercontent.com/sagemath/sage/2a9a4267f93588cf33119cbacc032ed9acc433e5/build/pkgs/rubiks/patches/dietz-cu2-Makefile.patch";
sha256 = "bRU7MJ/6BgCp2PUqZOragJhm38Q3E8ShStXQIYwIjvw=";
})
(fetchpatch {
url = "https://raw.githubusercontent.com/sagemath/sage/07d6c37d18811e2b377a9689790a7c5e24da16ba/build/pkgs/rubiks/patches/dietz-mcube-Makefile.patch";
sha256 = "0zsbh6k3kqdg82fv0kzghr1x7pafisv943gmssqscp107bhg77bz";
url = "https://raw.githubusercontent.com/sagemath/sage/2a9a4267f93588cf33119cbacc032ed9acc433e5/build/pkgs/rubiks/patches/dietz-mcube-Makefile.patch";
sha256 = "f53z4DogXKax1vUNkraOTt3TQ4bvT7CdQK/hOaaBS38=";
})
(fetchpatch {
url = "https://raw.githubusercontent.com/sagemath/sage/07d6c37d18811e2b377a9689790a7c5e24da16ba/build/pkgs/rubiks/patches/dietz-solver-Makefile.patch";
sha256 = "0vhw70ylnmydgjhwx8jjlb2slccj4pfqn6vzirkyz1wp8apsmfhp";
url = "https://raw.githubusercontent.com/sagemath/sage/2a9a4267f93588cf33119cbacc032ed9acc433e5/build/pkgs/rubiks/patches/dietz-solver-Makefile.patch";
sha256 = "7gMC8y9elyIy2KvXYcp7YjPBNqn9PVhUle+/GrYAAdE=";
})
(fetchpatch {
url = "https://raw.githubusercontent.com/sagemath/sage/07d6c37d18811e2b377a9689790a7c5e24da16ba/build/pkgs/rubiks/patches/reid-Makefile.patch";
sha256 = "1r311sn012xs135s0d21qwsig2kld7rdcq19nm0zbnklviid57df";
url = "https://raw.githubusercontent.com/sagemath/sage/2a9a4267f93588cf33119cbacc032ed9acc433e5/build/pkgs/rubiks/patches/reid-Makefile.patch";
sha256 = "rp3SYtx02vVBtSlg1vJpdIoXNcdBNKDLCLqLAKwOYeQ=";
})
(fetchpatch {
url = "https://raw.githubusercontent.com/sagemath/sage/2a9a4267f93588cf33119cbacc032ed9acc433e5/build/pkgs/rubiks/patches/fedora-1-rubiks-includes.patch";
sha256 = "QYJ1KQ73HTEGY/beMVbcU215g/B8rHDjYD1YM2WZ7sk=";
})
(fetchpatch {
url = "https://raw.githubusercontent.com/sagemath/sage/2a9a4267f93588cf33119cbacc032ed9acc433e5/build/pkgs/rubiks/patches/fedora-2-rubiks-ansi-c.patch";
sha256 = "Rnu7uphE9URxnbg2K8mkymnB61magweH+WxVWR9JC4s=";
})
(fetchpatch {
url = "https://raw.githubusercontent.com/sagemath/sage/2a9a4267f93588cf33119cbacc032ed9acc433e5/build/pkgs/rubiks/patches/fedora-3-rubiks-prototypes.patch";
sha256 = "Wi038g+y7No1TNMiITtAdipjRi0+g6h0Sspslm5rZGU=";
})
(fetchpatch {
url = "https://raw.githubusercontent.com/sagemath/sage/2a9a4267f93588cf33119cbacc032ed9acc433e5/build/pkgs/rubiks/patches/fedora-4-rubiks-longtype.patch";
sha256 = "6pNuxFM69CZ/TQGZfHXLlCN5g5lf3RiYYZKzMvLJwkw=";
})
(fetchpatch {
url = "https://raw.githubusercontent.com/sagemath/sage/2a9a4267f93588cf33119cbacc032ed9acc433e5/build/pkgs/rubiks/patches/fedora-5-rubiks-signed.patch";
sha256 = "CCGXBMYvSjTm4YKQZAQMi6pWGjyHDYYQzdMZDSW2vFE=";
})
(fetchpatch {
url = "https://raw.githubusercontent.com/sagemath/sage/2a9a4267f93588cf33119cbacc032ed9acc433e5/build/pkgs/rubiks/patches/fedora-6-rubiks-attributes.patch";
sha256 = "RhlzMb33iaLfeBoF7Y0LIgEzOB/EC+AoWMSkRPCICaU=";
})
];

View File

@ -37,6 +37,7 @@ stdenv.mkDerivation rec {
# see https://github.com/NixOS/nixpkgs/pull/117465
if stdenv.hostPlatform.system == "aarch64-linux" then "linux-arm" else
if stdenv.hostPlatform.system == "armv7l-linux" then "linux-arm" else
if stdenv.hostPlatform.system == "aarch64-darwin" then "macosx" else
if stdenv.hostPlatform.system == "x86_64-darwin" then "macosx-thr" else
if stdenv.hostPlatform.system == "i686-darwin" then "macosx-64-thr" else
if stdenv.hostPlatform.system == "i686-cygwin" then "win32" else

View File

@ -36,6 +36,10 @@ buildPythonPackage rec {
url = "https://github.com/fplll/fpylll/commit/fc432b21fa7e4b9891f5b761b3539989eb958f2b.diff";
hash = "sha256-+UidQ5xnlmjeVeVvR4J2zDzAuXP5LUPXCh4RP4o9oGA=";
})
(fetchpatch {
url = "https://github.com/fplll/fpylll/commit/cece9c9b182dc3ac2c9121549cb427ccf4c4a9fe.diff";
hash = "sha256-epJb8gorQ7gEEylZ2yZFdM9+EZ4ys9mUUUPiJ2D0VOM=";
})
];
nativeBuildInputs = [

View File

@ -347,6 +347,7 @@ mapAliases ({
fitnesstrax = throw "fitnesstrax was removed from nixpkgs because it disappeared upstream and no longer compiles"; # added 2023-07-04
flashrom-stable = flashprog; # Added 2024-03-01
flatbuffers_2_0 = flatbuffers; # Added 2022-05-12
flintqs = throw "FlintQS has been removed due to lack of maintenance and security issues; use SageMath or FLINT instead"; # Added 2024-03-21
flutter2 = throw "flutter2 has been removed because it isn't updated anymore, and no packages in nixpkgs use it. If you still need it, use flutter.mkFlutter to get a custom version"; # Added 2023-07-03
flutter37 = throw "flutter37 has been removed because it isn't updated anymore, and no packages in nixpkgs use it. If you still need it, use flutter.mkFlutter to get a custom version"; # Added 2023-07-03
foldingathome = fahclient; # Added 2020-09-03

View File

@ -38485,8 +38485,6 @@ with pkgs;
ecos = callPackage ../development/libraries/science/math/ecos { };
flintqs = callPackage ../development/libraries/science/math/flintqs { };
getdp = callPackage ../applications/science/math/getdp { };
gurobi = callPackage ../applications/science/math/gurobi {