mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-02-07 20:53:22 +00:00
Merge pull request #199331 from markuskowa/fix-arpack
arpack: fix ILP64 checks and MPI support
This commit is contained in:
commit
e2cf8ac376
@ -8,6 +8,7 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
assert (!blas.isILP64) && (!lapack.isILP64);
|
assert (!blas.isILP64) && (!lapack.isILP64);
|
||||||
|
assert (blas.isILP64 == arpack.isILP64);
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "octopus";
|
pname = "octopus";
|
||||||
|
@ -1,5 +1,9 @@
|
|||||||
{ lib, stdenv, fetchurl, gfortran, arpack, spooles, blas, lapack }:
|
{ lib, stdenv, fetchurl, gfortran, arpack, spooles, blas, lapack }:
|
||||||
|
|
||||||
|
assert (blas.isILP64 == lapack.isILP64 &&
|
||||||
|
blas.isILP64 == arpack.isILP64 &&
|
||||||
|
!blas.isILP64);
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "calculix";
|
pname = "calculix";
|
||||||
version = "2.19";
|
version = "2.19";
|
||||||
|
@ -21,6 +21,10 @@
|
|||||||
, xmlto
|
, xmlto
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
assert (blas.isILP64 == lapack.isILP64 &&
|
||||||
|
blas.isILP64 == arpack.isILP64 &&
|
||||||
|
!blas.isILP64);
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "igraph";
|
pname = "igraph";
|
||||||
version = "0.9.10";
|
version = "0.9.10";
|
||||||
|
@ -1,5 +1,13 @@
|
|||||||
{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake
|
{ 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 {
|
stdenv.mkDerivation rec {
|
||||||
pname = "arpack";
|
pname = "arpack";
|
||||||
@ -27,13 +35,16 @@ stdenv.mkDerivation rec {
|
|||||||
blas
|
blas
|
||||||
lapack
|
lapack
|
||||||
eigen
|
eigen
|
||||||
];
|
] ++ lib.optional useMpi mpi;
|
||||||
|
|
||||||
|
checkInputs = lib.optional useMpi openssh;
|
||||||
|
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
"-DBUILD_SHARED_LIBS=ON"
|
"-DBUILD_SHARED_LIBS=ON"
|
||||||
"-DINTERFACE64=${if blas.isILP64 then "1" else "0"}"
|
"-DINTERFACE64=${if blas.isILP64 then "1" else "0"}"
|
||||||
|
"-DMPI=${if useMpi then "ON" else "OFF"}"
|
||||||
];
|
];
|
||||||
|
|
||||||
preCheck = ''
|
preCheck = ''
|
||||||
@ -45,6 +56,8 @@ stdenv.mkDerivation rec {
|
|||||||
install_name_tool -change libblas.dylib ${blas}/lib/libblas.dylib $out/lib/libarpack.dylib
|
install_name_tool -change libblas.dylib ${blas}/lib/libblas.dylib $out/lib/libarpack.dylib
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
passthru = { inherit (blas) isILP64; };
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "https://github.com/opencollab/arpack-ng";
|
homepage = "https://github.com/opencollab/arpack-ng";
|
||||||
description = ''
|
description = ''
|
||||||
|
Loading…
Reference in New Issue
Block a user