Merge pull request #199331 from markuskowa/fix-arpack

arpack: fix ILP64 checks and MPI support

authored by markuskowa and committed by GitHub e2cf8ac3 ee829a9b

+24 -2
+1
pkgs/applications/science/chemistry/octopus/default.nix
··· 8 8 }: 9 9 10 10 assert (!blas.isILP64) && (!lapack.isILP64); 11 + assert (blas.isILP64 == arpack.isILP64); 11 12 12 13 stdenv.mkDerivation rec { 13 14 pname = "octopus";
+4
pkgs/applications/science/math/calculix/default.nix
··· 1 1 { lib, stdenv, fetchurl, gfortran, arpack, spooles, blas, lapack }: 2 2 3 + assert (blas.isILP64 == lapack.isILP64 && 4 + blas.isILP64 == arpack.isILP64 && 5 + !blas.isILP64); 6 + 3 7 stdenv.mkDerivation rec { 4 8 pname = "calculix"; 5 9 version = "2.19";
+4
pkgs/development/libraries/igraph/default.nix
··· 21 21 , xmlto 22 22 }: 23 23 24 + assert (blas.isILP64 == lapack.isILP64 && 25 + blas.isILP64 == arpack.isILP64 && 26 + !blas.isILP64); 27 + 24 28 stdenv.mkDerivation rec { 25 29 pname = "igraph"; 26 30 version = "0.9.10";
+15 -2
pkgs/development/libraries/science/math/arpack/default.nix
··· 1 1 { lib, stdenv, fetchFromGitHub, fetchpatch, cmake 2 - , gfortran, blas, lapack, eigen }: 2 + , gfortran, blas, lapack, eigen 3 + , useMpi ? false 4 + , mpi 5 + , openssh 6 + }: 7 + 8 + # MPI version can only be built with LP64 interface. 9 + # See https://github.com/opencollab/arpack-ng#readme 10 + assert useMpi -> !blas.isILP64; 3 11 4 12 stdenv.mkDerivation rec { 5 13 pname = "arpack"; ··· 27 35 blas 28 36 lapack 29 37 eigen 30 - ]; 38 + ] ++ lib.optional useMpi mpi; 39 + 40 + checkInputs = lib.optional useMpi openssh; 31 41 32 42 doCheck = true; 33 43 34 44 cmakeFlags = [ 35 45 "-DBUILD_SHARED_LIBS=ON" 36 46 "-DINTERFACE64=${if blas.isILP64 then "1" else "0"}" 47 + "-DMPI=${if useMpi then "ON" else "OFF"}" 37 48 ]; 38 49 39 50 preCheck = '' ··· 44 55 postFixup = lib.optionalString stdenv.isDarwin '' 45 56 install_name_tool -change libblas.dylib ${blas}/lib/libblas.dylib $out/lib/libarpack.dylib 46 57 ''; 58 + 59 + passthru = { inherit (blas) isILP64; }; 47 60 48 61 meta = { 49 62 homepage = "https://github.com/opencollab/arpack-ng";