From 3c69bcf348e1c6f13e79241ce54dad47d8533bdd Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Thu, 5 Apr 2012 12:18:56 +0000 Subject: [PATCH] Support shared library build; tests do not currently work for shared build. svn path=/nixpkgs/trunk/; revision=33613 --- .../science/math/liblapack/default.nix | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/pkgs/development/libraries/science/math/liblapack/default.nix b/pkgs/development/libraries/science/math/liblapack/default.nix index 28bfa4df801..e2b43b6b053 100644 --- a/pkgs/development/libraries/science/math/liblapack/default.nix +++ b/pkgs/development/libraries/science/math/liblapack/default.nix @@ -1,5 +1,8 @@ -{ stdenv, fetchurl, gfortran, atlas, cmake, python }: - +{ stdenv, fetchurl, gfortran, atlas, cmake, python, shared ? false }: +let + atlasMaybeShared = if shared then atlas.override {shared=true;} else atlas; + usedLibExtension = if shared then ".so" else ".a"; +in stdenv.mkDerivation { name = "liblapack-3.4.0"; src = fetchurl { @@ -7,18 +10,20 @@ stdenv.mkDerivation { sha256 = "1sf30v1ps5icg67dvw5sbx5yhypx13am470gqg2f7l04f3wrw4x7"; }; - propagatedBuildInputs = [ atlas ]; + propagatedBuildInputs = [ atlasMaybeShared ]; buildInputs = [ gfortran cmake ]; buildNativeInputs = [ python ]; cmakeFlags = [ "-DUSE_OPTIMIZED_BLAS=ON" - "-DBLAS_ATLAS_f77blas_LIBRARY=${atlas}/lib/libf77blas.a" - "-DBLAS_ATLAS_atlas_LIBRARY=${atlas}/lib/libatlas.a" + "-DBLAS_ATLAS_f77blas_LIBRARY=${atlasMaybeShared}/lib/libf77blas${usedLibExtension}" + "-DBLAS_ATLAS_atlas_LIBRARY=${atlasMaybeShared}/lib/libatlas${usedLibExtension}" "-DCMAKE_Fortran_FLAGS=-fPIC" - ]; + ] + ++ (stdenv.lib.optional shared "-DBUILD_SHARED_LIBS=ON") + ; - doCheck = true; + doCheck = ! shared; checkPhase = " sed -i 's,^#!.*,#!${python}/bin/python,' lapack_testing.py