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