From f3dc4d9ec32dba8f9694305f00e2e706f66d8085 Mon Sep 17 00:00:00 2001 From: Josef Kemetmueller Date: Thu, 28 Apr 2016 20:43:21 +0200 Subject: [PATCH] superlu: init at 5.2.1 --- ...lib-as-dependency-for-the-unit-tests.patch | 7 ++++ .../science/math/superlu/default.nix | 36 +++++++++++++++++++ .../math/superlu/find-openblas-library.patch | 11 ++++++ pkgs/top-level/all-packages.nix | 2 ++ 4 files changed, 56 insertions(+) create mode 100644 pkgs/development/libraries/science/math/superlu/add-superlu-lib-as-dependency-for-the-unit-tests.patch create mode 100644 pkgs/development/libraries/science/math/superlu/default.nix create mode 100644 pkgs/development/libraries/science/math/superlu/find-openblas-library.patch diff --git a/pkgs/development/libraries/science/math/superlu/add-superlu-lib-as-dependency-for-the-unit-tests.patch b/pkgs/development/libraries/science/math/superlu/add-superlu-lib-as-dependency-for-the-unit-tests.patch new file mode 100644 index 00000000000..29d86238af0 --- /dev/null +++ b/pkgs/development/libraries/science/math/superlu/add-superlu-lib-as-dependency-for-the-unit-tests.patch @@ -0,0 +1,7 @@ +--- a/TESTING/MATGEN/CMakeLists.txt ++++ b/TESTING/MATGEN/CMakeLists.txt +@@ -97,3 +97,4 @@ if(enable_complex16) + endif() + + add_library(matgen ${sources}) ++target_link_libraries(matgen superlu) diff --git a/pkgs/development/libraries/science/math/superlu/default.nix b/pkgs/development/libraries/science/math/superlu/default.nix new file mode 100644 index 00000000000..9938a3096a0 --- /dev/null +++ b/pkgs/development/libraries/science/math/superlu/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchurl, cmake, + gfortran, openblasCompat}: + +stdenv.mkDerivation rec { + version = "5.2.1"; + name = "superlu-${version}"; + + src = fetchurl { + url = "http://crd-legacy.lbl.gov/~xiaoye/SuperLU/superlu_${version}.tar.gz"; + sha256 = "0qzlb7cd608q62kyppd0a8c65l03vrwqql6gsm465rky23b6dyr8"; + }; + + buildInputs = [ cmake gfortran ]; + + propagatedBuildInputs = [ openblasCompat ]; + + cmakeFlags = [ + "-DBUILD_SHARED_LIBS=true" + "-DUSE_XSDK_DEFAULTS=true" + ]; + + patches = [ + ./find-openblas-library.patch + ./add-superlu-lib-as-dependency-for-the-unit-tests.patch + ]; + + doCheck = true; + checkTarget = "test"; + + meta = { + homepage = http://crd-legacy.lbl.gov/~xiaoye/SuperLU/; + license = http://crd-legacy.lbl.gov/~xiaoye/SuperLU/License.txt; + description = "A library for the solution of large, sparse, nonsymmetric systems of linear equations"; + platforms = stdenv.lib.platforms.unix; + }; +} diff --git a/pkgs/development/libraries/science/math/superlu/find-openblas-library.patch b/pkgs/development/libraries/science/math/superlu/find-openblas-library.patch new file mode 100644 index 00000000000..ce7bc6974c9 --- /dev/null +++ b/pkgs/development/libraries/science/math/superlu/find-openblas-library.patch @@ -0,0 +1,11 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -75,6 +75,8 @@ set(CMAKE_C_FLAGS_RELEASE "-O3" CACHE STRING "") + ###################################################################### + # + #--------------------- BLAS --------------------- ++find_package(OpenBLAS) ++set(TPL_BLAS_LIBRARIES ${OpenBLAS_LIBRARIES}) + if(NOT enable_blaslib) + if (TPL_BLAS_LIBRARIES) + set(BLAS_FOUND TRUE) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c723433bf51..aa5988722e6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16382,6 +16382,8 @@ in suitesparse_4_4 = callPackage ../development/libraries/science/math/suitesparse {}; suitesparse = suitesparse_4_4; + superlu = callPackage ../development/libraries/science/math/superlu {}; + ipopt = callPackage ../development/libraries/science/math/ipopt { openblas = openblasCompat; }; gmsh = callPackage ../applications/science/math/gmsh { };