aboutsummaryrefslogtreecommitdiff
path: root/pkgs/development/libraries/armadillo
diff options
context:
space:
mode:
authorJosef Kemetmueller <josef.kemetmueller@aon.at>2016-07-18 21:55:26 +0200
committerknedlsepp <josef.kemetmueller@aon.at>2016-07-19 12:37:08 +0000
commit93dfdf0a0c5aea8ca7391941097566609060fa9a (patch)
treec4fc18dae94bf04bcac70c5e52812970974e3585 /pkgs/development/libraries/armadillo
parentf3dc4d9ec32dba8f9694305f00e2e706f66d8085 (diff)
armadillo: correct dependencies
- Remove unused dependencies atlas/blas - Add hdf5/superlu dependency (As superlu needs openblasCompat, we also use it here.) - Add support for darwin - Make use of OpenBLAS-LAPACK in armadillo OpenBLAS (confusingly) contains LAPACK already by default, so we simply use OpenBLAS when searching for LAPACK. The better solution would be for armadillo to use cmake built in FindBLAS/FindLAPACK which both would find OpenBLAS.
Diffstat (limited to 'pkgs/development/libraries/armadillo')
-rw-r--r--pkgs/development/libraries/armadillo/default.nix25
-rw-r--r--pkgs/development/libraries/armadillo/use-OpenBLAS-as-LAPACK.patch14
-rw-r--r--pkgs/development/libraries/armadillo/use-unix-config-on-OS-X.patch11
3 files changed, 39 insertions, 11 deletions
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)