diff --git a/pkgs/development/libraries/armadillo/default.nix b/pkgs/development/libraries/armadillo/default.nix index 8d904efe0d66..937275b6528a 100644 --- a/pkgs/development/libraries/armadillo/default.nix +++ b/pkgs/development/libraries/armadillo/default.nix @@ -1,23 +1,26 @@ -{stdenv, fetchurl, cmake, pkgconfig, atlas, blas, openblas}: +{ stdenv, fetchurl, cmake, openblasCompat, superlu, hdf5 }: stdenv.mkDerivation rec { - version = "7.200.1b"; + version = "7.200.2"; name = "armadillo-${version}"; - + src = fetchurl { - url = "http://sourceforge.net/projects/arma/files/armadillo-${version}.tar.xz"; - sha256 = "00s8xrywc4aipipq1zpd6q9gzqmsiv8cwd25zvb1csrpninmidvc"; + url = "mirror://sourceforge/arma/armadillo-${version}.tar.xz"; + sha256 = "1yvx75caks477jqwx5gspi6946jialddk00wdvg6dnh5wdi2xasm"; }; - unpackCmd = [ "tar -xf ${src}" ]; - - nativeBuildInputs = [ cmake atlas blas openblas ]; + buildInputs = [ cmake openblasCompat superlu hdf5 ]; + + cmakeFlags = [ "-DDETECT_HDF5=ON" ]; + + patches = [ ./use-unix-config-on-OS-X.patch + ./use-OpenBLAS-as-LAPACK.patch ]; meta = with stdenv.lib; { description = "C++ linear algebra library"; - homepage = "http://arma.sourceforge.net" ; + homepage = http://arma.sourceforge.net; license = licenses.mpl20; - platforms = stdenv.lib.platforms.linux ; - maintainers = [ stdenv.lib.maintainers.juliendehos ]; + platforms = platforms.unix; + maintainers = [ maintainers.juliendehos ]; }; } diff --git a/pkgs/development/libraries/armadillo/use-OpenBLAS-as-LAPACK.patch b/pkgs/development/libraries/armadillo/use-OpenBLAS-as-LAPACK.patch new file mode 100644 index 000000000000..e4c77d2cc2e3 --- /dev/null +++ b/pkgs/development/libraries/armadillo/use-OpenBLAS-as-LAPACK.patch @@ -0,0 +1,14 @@ +diff --git a/cmake_aux/Modules/ARMA_FindLAPACK.cmake b/cmake_aux/Modules/ARMA_FindLAPACK.cmake +index 5395afb..a203c93 100644 +--- a/cmake_aux/Modules/ARMA_FindLAPACK.cmake ++++ b/cmake_aux/Modules/ARMA_FindLAPACK.cmake +@@ -5,7 +5,7 @@ + # also defined, but not for general use are + # LAPACK_LIBRARY, where to find the LAPACK library. + +-SET(LAPACK_NAMES ${LAPACK_NAMES} lapack) ++SET(LAPACK_NAMES ${LAPACK_NAMES} openblas) + FIND_LIBRARY(LAPACK_LIBRARY + NAMES ${LAPACK_NAMES} + PATHS /usr/lib64/atlas /usr/lib/atlas /usr/lib64 /usr/lib /usr/local/lib64 /usr/local/lib + diff --git a/pkgs/development/libraries/armadillo/use-unix-config-on-OS-X.patch b/pkgs/development/libraries/armadillo/use-unix-config-on-OS-X.patch new file mode 100644 index 000000000000..b6fdddcaf2da --- /dev/null +++ b/pkgs/development/libraries/armadillo/use-unix-config-on-OS-X.patch @@ -0,0 +1,11 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -84,7 +84,7 @@ message(STATUS "DETECT_HDF5 = ${DETECT_HDF5}" ) + ## + ## Find LAPACK and BLAS libraries, or their optimised versions + ## +- ++set(APPLE false) + if(APPLE) + + set(ARMA_OS macos)