
This reverts commit 65a333600d5c88a98d674f637d092807cfc12253. This wasn't tested for correctness with something like fodwatch [0], and should not have been (self-)merged so quickly, especially without further review. It also resulted in the breakage of at least one package [1] (and that's the one we know of and was caught). A few packages that were updated in between this commit and this revert were not reverted back to using `rev`, but other than that, this is a 1:1 revert. [0]: https://codeberg.org/raphaelr/fodwatch [1]: https://github.com/NixOS/nixpkgs/pull/396904 / 758551e4587d75882aebc21a04bee960418f8ce9
66 lines
1.4 KiB
Nix
66 lines
1.4 KiB
Nix
{
|
|
blas,
|
|
fetchFromGitHub,
|
|
gfortran,
|
|
lapack,
|
|
lib,
|
|
llvmPackages,
|
|
meson,
|
|
metis,
|
|
ninja,
|
|
stdenv,
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "spral";
|
|
version = "2025.01.08";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "ralna";
|
|
repo = "spral";
|
|
rev = "v${version}";
|
|
hash = "sha256-tuhJClSjah/ud6PVr6biOq5KdKtspJ7hpWZ350yzz+U=";
|
|
};
|
|
|
|
postPatch =
|
|
''
|
|
# Skipped test: ssidst
|
|
# hwloc/linux: failed to find sysfs cpu topology directory, aborting linux discovery.
|
|
substituteInPlace tests/meson.build --replace-fail \
|
|
"subdir('ssids')" \
|
|
""
|
|
''
|
|
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
|
|
# Skipped test: lsmrt, segfault
|
|
substituteInPlace tests/meson.build --replace-fail \
|
|
"['lsmrt', files('lsmr.f90')]," \
|
|
""
|
|
'';
|
|
|
|
nativeBuildInputs = [
|
|
gfortran
|
|
meson
|
|
ninja
|
|
];
|
|
|
|
buildInputs = [
|
|
blas
|
|
lapack
|
|
metis
|
|
] ++ lib.optionals stdenv.hostPlatform.isDarwin [ llvmPackages.openmp ];
|
|
|
|
mesonFlags = [ (lib.mesonBool "tests" true) ];
|
|
|
|
LDFLAGS = lib.optionals stdenv.hostPlatform.isDarwin [ "-lomp" ];
|
|
|
|
doCheck = true;
|
|
|
|
meta = {
|
|
description = "Sparse Parallel Robust Algorithms Library";
|
|
homepage = "https://github.com/ralna/spral";
|
|
changelog = "https://github.com/ralna/spral/blob/${src.rev}/ChangeLog";
|
|
license = lib.licenses.bsd3;
|
|
maintainers = with lib.maintainers; [ nim65s ];
|
|
};
|
|
}
|