Merge remote-tracking branch 'upstream/master' into hardened-stdenv
This commit is contained in:
@@ -5,6 +5,7 @@ let
|
||||
name = "suitesparse-${version}";
|
||||
|
||||
int_t = if openblas.blas64 then "int64_t" else "int32_t";
|
||||
SHLIB_EXT = if stdenv.isDarwin then "dylib" else "so";
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
inherit name;
|
||||
@@ -23,6 +24,10 @@ stdenv.mkDerivation {
|
||||
-e 's/METIS_PATH .*$/METIS_PATH =/' \
|
||||
-e '/CHOLMOD_CONFIG/ s/$/-DNPARTITION -DLONGBLAS=${int_t}/' \
|
||||
-e '/UMFPACK_CONFIG/ s/$/-DLONGBLAS=${int_t}/'
|
||||
''
|
||||
+ stdenv.lib.optionalString stdenv.isDarwin ''
|
||||
sed -i "SuiteSparse_config/SuiteSparse_config.mk" \
|
||||
-e 's/^[[:space:]]*\(LIB = -lm\) -lrt/\1/'
|
||||
'';
|
||||
|
||||
makeFlags = [
|
||||
@@ -33,6 +38,8 @@ stdenv.mkDerivation {
|
||||
"LAPACK="
|
||||
];
|
||||
|
||||
NIX_CFLAGS = stdenv.lib.optionalString stdenv.isDarwin " -DNTIMER";
|
||||
|
||||
postInstall = ''
|
||||
# Build and install shared library
|
||||
(
|
||||
@@ -40,10 +47,10 @@ stdenv.mkDerivation {
|
||||
for i in "$out"/lib/lib*.a; do
|
||||
ar -x $i
|
||||
done
|
||||
gcc *.o --shared -o "$out/lib/libsuitesparse.so" -lopenblas
|
||||
''${CC} *.o ${if stdenv.isDarwin then "-dynamiclib" else "--shared"} -o "$out/lib/libsuitesparse.${SHLIB_EXT}" -lopenblas
|
||||
)
|
||||
for i in umfpack cholmod amd camd colamd spqr; do
|
||||
ln -s libsuitesparse.so "$out"/lib/lib$i.so;
|
||||
ln -s libsuitesparse.${SHLIB_EXT} "$out"/lib/lib$i.${SHLIB_EXT}
|
||||
done
|
||||
|
||||
# Install documentation
|
||||
|
||||
Reference in New Issue
Block a user