summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
authorDaiderd Jordan <daiderd@gmail.com>2018-09-12 21:24:34 +0200
committerGitHub <noreply@github.com>2018-09-12 21:24:34 +0200
commit09c6755175c896c76fa0afb8761fcf6ea441b882 (patch)
tree34b003b482001b156b0c5b6b085276046cf29ee6 /pkgs/development
parent1e379f29f7ff009b5c353998bb4d1662b69790b5 (diff)
parentd726c0ff1dcf4bbe3ac4fc6df5d0635d9d00e69c (diff)
downloadnixlib-09c6755175c896c76fa0afb8761fcf6ea441b882.tar
nixlib-09c6755175c896c76fa0afb8761fcf6ea441b882.tar.gz
nixlib-09c6755175c896c76fa0afb8761fcf6ea441b882.tar.bz2
nixlib-09c6755175c896c76fa0afb8761fcf6ea441b882.tar.lz
nixlib-09c6755175c896c76fa0afb8761fcf6ea441b882.tar.xz
nixlib-09c6755175c896c76fa0afb8761fcf6ea441b882.tar.zst
nixlib-09c6755175c896c76fa0afb8761fcf6ea441b882.zip
Merge pull request #46551 from knedlsepp/fix-scs-on-darwin
scs: Fix darwin build
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/libraries/science/math/scs/default.nix24
1 files changed, 15 insertions, 9 deletions
diff --git a/pkgs/development/libraries/science/math/scs/default.nix b/pkgs/development/libraries/science/math/scs/default.nix
index 0539083e823c..f9d1a84b1f03 100644
--- a/pkgs/development/libraries/science/math/scs/default.nix
+++ b/pkgs/development/libraries/science/math/scs/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, blas, liblapack, gfortran }:
+{ stdenv, fetchFromGitHub, blas, liblapack, gfortran, fixDarwinDylibNames }:
 
 stdenv.mkDerivation rec {
   name = "scs-${version}";
@@ -11,24 +11,30 @@ stdenv.mkDerivation rec {
     sha256 = "17lbcmcsniqlyzgbzmjipfd0rrk25a8hzh7l5wl2wp1iwsd8c3a9";
   };
 
-  buildInputs = [ blas liblapack gfortran.cc.lib ];
-
   # Actually link and add libgfortran to the rpath
-  patchPhase = ''
-    sed -i 's/#-lgfortran/-lgfortran/' scs.mk
+  postPatch = ''
+    substituteInPlace scs.mk \
+      --replace "#-lgfortran" "-lgfortran" \
+      --replace "gcc" "cc"
   '';
 
+  nativeBuildInputs = stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
+
+  buildInputs = [ blas liblapack gfortran.cc.lib ];
+
   doCheck = true;
 
-  # Test demo requires passing any int as $1; 42 chosen arbitrarily
-  checkPhase = ''
-    ./out/demo_socp_indirect 42
+  # Test demo requires passing data and seed; numbers chosen arbitrarily.
+  postCheck = ''
+    ./out/demo_socp_indirect 42 0.42 0.42 42
   '';
 
   installPhase = ''
+    runHook preInstall
     mkdir -p $out/lib
     cp -r include $out/
-    cp out/*.a out/*.so $out/lib/
+    cp out/*.a out/*.so out/*.dylib $out/lib/
+    runHook postInstall
   '';
 
   meta = with stdenv.lib; {