From 720f408cc8c8f61d3b895cc43671ca376c9e20a5 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 9 Jun 2025 00:04:04 +0000 Subject: [PATCH 1/6] spral: 2025.01.08 -> 2025.05.20 --- pkgs/by-name/sp/spral/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/sp/spral/package.nix b/pkgs/by-name/sp/spral/package.nix index e8376d81e716..683d97ae75f7 100644 --- a/pkgs/by-name/sp/spral/package.nix +++ b/pkgs/by-name/sp/spral/package.nix @@ -13,13 +13,13 @@ stdenv.mkDerivation rec { pname = "spral"; - version = "2025.01.08"; + version = "2025.05.20"; src = fetchFromGitHub { owner = "ralna"; repo = "spral"; rev = "v${version}"; - hash = "sha256-tuhJClSjah/ud6PVr6biOq5KdKtspJ7hpWZ350yzz+U="; + hash = "sha256-9QEcAOFB3CtGNqr8LoDaj2vP3KMONlUVooeXECtGsxc="; }; postPatch = From 69c30c44710e25e05029ac1b5a3c4fc8af4915d6 Mon Sep 17 00:00:00 2001 From: Guilhem Saurel Date: Mon, 9 Jun 2025 11:37:59 +0200 Subject: [PATCH 2/6] spral: drop obsolete patches --- pkgs/by-name/sp/spral/package.nix | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/pkgs/by-name/sp/spral/package.nix b/pkgs/by-name/sp/spral/package.nix index 683d97ae75f7..37f40cc981cf 100644 --- a/pkgs/by-name/sp/spral/package.nix +++ b/pkgs/by-name/sp/spral/package.nix @@ -22,21 +22,6 @@ stdenv.mkDerivation rec { hash = "sha256-9QEcAOFB3CtGNqr8LoDaj2vP3KMONlUVooeXECtGsxc="; }; - 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 From a3fc428d8c43294f1f6ecf3d427e36c1ca478309 Mon Sep 17 00:00:00 2001 From: Guilhem Saurel Date: Mon, 9 Jun 2025 11:39:57 +0200 Subject: [PATCH 3/6] spral: clean --- pkgs/by-name/sp/spral/package.nix | 33 ++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/pkgs/by-name/sp/spral/package.nix b/pkgs/by-name/sp/spral/package.nix index 37f40cc981cf..c86ae4197b4f 100644 --- a/pkgs/by-name/sp/spral/package.nix +++ b/pkgs/by-name/sp/spral/package.nix @@ -1,24 +1,31 @@ { - blas, - fetchFromGitHub, - gfortran, - lapack, lib, - llvmPackages, - meson, - metis, - ninja, + + fetchFromGitHub, stdenv, + + nix-update-script, + + # nativeBuildInputs + gfortran, + meson, + ninja, + + # buildInputs + blas, + lapack, + llvmPackages, + metis, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "spral"; version = "2025.05.20"; src = fetchFromGitHub { owner = "ralna"; repo = "spral"; - rev = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-9QEcAOFB3CtGNqr8LoDaj2vP3KMONlUVooeXECtGsxc="; }; @@ -40,11 +47,13 @@ stdenv.mkDerivation rec { doCheck = true; + passthru.updateScript = nix-update-script { }; + meta = { description = "Sparse Parallel Robust Algorithms Library"; homepage = "https://github.com/ralna/spral"; - changelog = "https://github.com/ralna/spral/blob/${src.rev}/ChangeLog"; + changelog = "https://github.com/ralna/spral/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.bsd3; maintainers = with lib.maintainers; [ nim65s ]; }; -} +}) From f8513f7e1ed8c9bff284bbce1a77def751752541 Mon Sep 17 00:00:00 2001 From: Guilhem Saurel Date: Mon, 9 Jun 2025 12:02:05 +0200 Subject: [PATCH 4/6] spral: add missing pkg-config to fix detections on darwin: ``` Did not find pkg-config by name 'pkg-config' Found pkg-config: NO Did not find CMake 'cmake' Found CMake: NO Run-time dependency blas found: NO (tried pkgconfig, framework and cmake) Library blas found: YES Run-time dependency lapack found: NO (tried pkgconfig, framework and cmake) ``` --- pkgs/by-name/sp/spral/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/sp/spral/package.nix b/pkgs/by-name/sp/spral/package.nix index c86ae4197b4f..8ee9d41c0608 100644 --- a/pkgs/by-name/sp/spral/package.nix +++ b/pkgs/by-name/sp/spral/package.nix @@ -10,6 +10,7 @@ gfortran, meson, ninja, + pkg-config, # buildInputs blas, @@ -33,6 +34,7 @@ stdenv.mkDerivation (finalAttrs: { gfortran meson ninja + pkg-config ]; buildInputs = [ From c8dfa95484d218e59978c9043a762acaaf5bc907 Mon Sep 17 00:00:00 2001 From: Guilhem Saurel Date: Mon, 9 Jun 2025 12:18:18 +0200 Subject: [PATCH 5/6] spral: add cuda support --- pkgs/by-name/sp/spral/package.nix | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/sp/spral/package.nix b/pkgs/by-name/sp/spral/package.nix index 8ee9d41c0608..cff93b83a2c5 100644 --- a/pkgs/by-name/sp/spral/package.nix +++ b/pkgs/by-name/sp/spral/package.nix @@ -1,4 +1,5 @@ { + config, lib, fetchFromGitHub, @@ -6,7 +7,10 @@ nix-update-script, + enableCuda ? config.cudaSupport, + # nativeBuildInputs + cudaPackages, gfortran, meson, ninja, @@ -14,6 +18,7 @@ # buildInputs blas, + hwloc, lapack, llvmPackages, metis, @@ -30,15 +35,25 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-9QEcAOFB3CtGNqr8LoDaj2vP3KMONlUVooeXECtGsxc="; }; - nativeBuildInputs = [ - gfortran - meson - ninja - pkg-config + nativeBuildInputs = + [ + gfortran + meson + ninja + pkg-config + ] + ++ lib.optionals enableCuda [ + cudaPackages.cuda_nvcc + ]; + + propagatedBuildInputs = lib.optionals enableCuda [ + cudaPackages.cuda_cudart + cudaPackages.libcublas ]; buildInputs = [ blas + (hwloc.override { inherit enableCuda; }) lapack metis ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ llvmPackages.openmp ]; From 990738a658fd3bbae11ac409a70f90551e72777e Mon Sep 17 00:00:00 2001 From: Guilhem Saurel Date: Mon, 9 Jun 2025 12:49:11 +0200 Subject: [PATCH 6/6] spral: ignore another failing test on darwin --- pkgs/by-name/sp/spral/package.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/by-name/sp/spral/package.nix b/pkgs/by-name/sp/spral/package.nix index cff93b83a2c5..885fe73d12d0 100644 --- a/pkgs/by-name/sp/spral/package.nix +++ b/pkgs/by-name/sp/spral/package.nix @@ -35,6 +35,13 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-9QEcAOFB3CtGNqr8LoDaj2vP3KMONlUVooeXECtGsxc="; }; + # Ignore a failing test on darwin + # ref. https://github.com/ralna/spral/issues/258 + postPatch = lib.optionalString stdenv.hostPlatform.isDarwin '' + substituteInPlace tests/ssids/meson.build --replace-fail \ + "spral_tests += [['ssids', 'ssidst', files('ssids.f90')]]" "" + ''; + nativeBuildInputs = [ gfortran