Unverified Commit e2cf8ac3 authored by markuskowa's avatar markuskowa Committed by GitHub
Browse files

Merge pull request #199331 from markuskowa/fix-arpack

arpack: fix ILP64 checks and MPI support
parents ee829a9b 09a60c86
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -8,6 +8,7 @@
}:

assert (!blas.isILP64) && (!lapack.isILP64);
assert (blas.isILP64 == arpack.isILP64);

stdenv.mkDerivation rec {
  pname = "octopus";
+4 −0
Original line number Diff line number Diff line
{ lib, stdenv, fetchurl, gfortran, arpack, spooles, blas, lapack }:

assert (blas.isILP64 == lapack.isILP64 &&
        blas.isILP64 == arpack.isILP64 &&
        !blas.isILP64);

stdenv.mkDerivation rec {
  pname = "calculix";
  version = "2.19";
+4 −0
Original line number Diff line number Diff line
@@ -21,6 +21,10 @@
, xmlto
}:

assert (blas.isILP64 == lapack.isILP64 &&
        blas.isILP64 == arpack.isILP64 &&
        !blas.isILP64);

stdenv.mkDerivation rec {
  pname = "igraph";
  version = "0.9.10";
+15 −2
Original line number Diff line number Diff line
{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake
, gfortran, blas, lapack, eigen }:
, gfortran, blas, lapack, eigen
, useMpi ? false
, mpi
, openssh
}:

# MPI version can only be built with LP64 interface.
# See https://github.com/opencollab/arpack-ng#readme
assert useMpi -> !blas.isILP64;

stdenv.mkDerivation rec {
  pname = "arpack";
@@ -27,13 +35,16 @@ stdenv.mkDerivation rec {
    blas
    lapack
    eigen
  ];
  ] ++ lib.optional useMpi mpi;

  checkInputs = lib.optional useMpi openssh;

  doCheck = true;

  cmakeFlags = [
    "-DBUILD_SHARED_LIBS=ON"
    "-DINTERFACE64=${if blas.isILP64 then "1" else "0"}"
    "-DMPI=${if useMpi then "ON" else "OFF"}"
  ];

  preCheck = ''
@@ -45,6 +56,8 @@ stdenv.mkDerivation rec {
    install_name_tool -change libblas.dylib ${blas}/lib/libblas.dylib $out/lib/libarpack.dylib
  '';

  passthru = { inherit (blas) isILP64; };

  meta = {
    homepage = "https://github.com/opencollab/arpack-ng";
    description = ''