diff --git a/pkgs/development/libraries/science/math/arpack/default.nix b/pkgs/development/libraries/science/math/arpack/default.nix index 2a6c4af43fc..05373cd1cbd 100644 --- a/pkgs/development/libraries/science/math/arpack/default.nix +++ b/pkgs/development/libraries/science/math/arpack/default.nix @@ -1,32 +1,48 @@ -{ stdenv, fetchurl, autoconf, automake, gettext, libtool -, gfortran, openblas }: +{ stdenv, fetchFromGitHub, cmake +, gfortran, openblas, eigen }: with stdenv.lib; let - version = "3.6.3"; + version = "3.7.0"; in stdenv.mkDerivation { name = "arpack-${version}"; - src = fetchurl { - url = "https://github.com/opencollab/arpack-ng/archive/${version}.tar.gz"; - sha256 = "0lzlcsrjsi36pv5bnipwjnyg2fx3nrv31bw2klwrg11gb8g5bwv4"; + src = fetchFromGitHub { + owner = "opencollab"; + repo = "arpack-ng"; + rev = version; + sha256 = "1x7a1dj3dg43nlpvjlh8jzzbadjyr3mbias6f0256qkmgdyk4izr"; }; - nativeBuildInputs = [ autoconf automake gettext libtool ]; - buildInputs = [ gfortran openblas ]; + nativeBuildInputs = [ cmake ]; + buildInputs = [ gfortran openblas eigen ]; doCheck = true; BLAS_LIBS = "-L${openblas}/lib -lopenblas"; - INTERFACE64 = optional openblas.blas64 "1"; + cmakeFlags = [ + "-DBUILD_SHARED_LIBS=ON" + "-DINTERFACE64=${optionalString openblas.blas64 "1"}" + ]; - preConfigure = '' - ./bootstrap + preCheck = if stdenv.isDarwin then '' + export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:`pwd`/lib + '' else '' + export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd`/lib + '' + '' + # Prevent tests from using all cores + export OMP_NUM_THREADS=2 ''; + postInstall = '' + mkdir -p $out/lib/pkgconfig + cp arpack.pc $out/lib/pkgconfig/ + ''; + + meta = { homepage = https://github.com/opencollab/arpack-ng; description = ''