From 0fbb00e6c305444fbb26a5dd027ce6ddd9938027 Mon Sep 17 00:00:00 2001 From: Josef Kemetmueller Date: Mon, 15 Aug 2016 22:44:55 +0200 Subject: [PATCH 1/2] armadillo: Fix failing build The upgrade of cmake to v3.6.0 broke this build. HDF5 now can only be found if hdf5-cpp is used as buildInput. However the upgrade made it possible to remove a patch: CMake can now find openblas on its own. --- pkgs/development/libraries/armadillo/default.nix | 7 +++---- .../armadillo/use-OpenBLAS-as-LAPACK.patch | 14 -------------- 2 files changed, 3 insertions(+), 18 deletions(-) delete mode 100644 pkgs/development/libraries/armadillo/use-OpenBLAS-as-LAPACK.patch diff --git a/pkgs/development/libraries/armadillo/default.nix b/pkgs/development/libraries/armadillo/default.nix index 937275b6528a..62b5ddf8011a 100644 --- a/pkgs/development/libraries/armadillo/default.nix +++ b/pkgs/development/libraries/armadillo/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, cmake, openblasCompat, superlu, hdf5 }: +{ stdenv, fetchurl, cmake, openblasCompat, superlu, hdf5-cpp }: stdenv.mkDerivation rec { version = "7.200.2"; @@ -9,12 +9,11 @@ stdenv.mkDerivation rec { sha256 = "1yvx75caks477jqwx5gspi6946jialddk00wdvg6dnh5wdi2xasm"; }; - buildInputs = [ cmake openblasCompat superlu hdf5 ]; + buildInputs = [ cmake openblasCompat superlu hdf5-cpp ]; cmakeFlags = [ "-DDETECT_HDF5=ON" ]; - patches = [ ./use-unix-config-on-OS-X.patch - ./use-OpenBLAS-as-LAPACK.patch ]; + patches = [ ./use-unix-config-on-OS-X.patch ]; meta = with stdenv.lib; { description = "C++ linear algebra library"; diff --git a/pkgs/development/libraries/armadillo/use-OpenBLAS-as-LAPACK.patch b/pkgs/development/libraries/armadillo/use-OpenBLAS-as-LAPACK.patch deleted file mode 100644 index e4c77d2cc2e3..000000000000 --- a/pkgs/development/libraries/armadillo/use-OpenBLAS-as-LAPACK.patch +++ /dev/null @@ -1,14 +0,0 @@ -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 - From b8b73f34fbb2a592bc025f40bc2c36d91129258c Mon Sep 17 00:00:00 2001 From: Josef Kemetmueller Date: Tue, 16 Aug 2016 19:09:41 +0200 Subject: [PATCH 2/2] armadillo: Force OpenBLAS as LAPACK This was accidentally removed during the last commit. It is still necessary for armadillo to correctly use OpenBLAS as LAPACK! --- pkgs/development/libraries/armadillo/default.nix | 3 ++- .../armadillo/use-OpenBLAS-as-LAPACK.patch | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/libraries/armadillo/use-OpenBLAS-as-LAPACK.patch diff --git a/pkgs/development/libraries/armadillo/default.nix b/pkgs/development/libraries/armadillo/default.nix index 62b5ddf8011a..77833131ebcd 100644 --- a/pkgs/development/libraries/armadillo/default.nix +++ b/pkgs/development/libraries/armadillo/default.nix @@ -13,7 +13,8 @@ stdenv.mkDerivation rec { cmakeFlags = [ "-DDETECT_HDF5=ON" ]; - patches = [ ./use-unix-config-on-OS-X.patch ]; + patches = [ ./use-unix-config-on-OS-X.patch + ./use-OpenBLAS-as-LAPACK.patch ]; meta = with stdenv.lib; { description = "C++ linear algebra library"; 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 +