about summary refs log tree commit diff
path: root/pkgs/applications/science/biology/mrtrix/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/science/biology/mrtrix/default.nix')
-rw-r--r--pkgs/applications/science/biology/mrtrix/default.nix31
1 files changed, 23 insertions, 8 deletions
diff --git a/pkgs/applications/science/biology/mrtrix/default.nix b/pkgs/applications/science/biology/mrtrix/default.nix
index 6959b2caab8a..528277e05e38 100644
--- a/pkgs/applications/science/biology/mrtrix/default.nix
+++ b/pkgs/applications/science/biology/mrtrix/default.nix
@@ -1,17 +1,17 @@
 { stdenv, lib, fetchFromGitHub, python, makeWrapper
-, eigen, fftw, libtiff, zlib, ants, bc
+, eigen, fftw, libtiff, libpng, zlib, ants, bc
 , qt5, libGL, libGLU, libX11, libXext
 , withGui ? true }:
 
 stdenv.mkDerivation rec {
   pname = "mrtrix";
-  version = "3.0_RC3_latest";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     owner  = "MRtrix3";
     repo   = "mrtrix3";
     rev    = version;
-    sha256 = "184nv524p8j94qicjy9l288bqcgl2yxqqs55a7042i0gfsnwp51c";
+    sha256 = "1vvmmbw3m0bdfwp4szr62ygzsvkj0ss91cx5zlkspsr1rff05f9b";
     fetchSubmodules = true;
   };
 
@@ -22,7 +22,9 @@ stdenv.mkDerivation rec {
     python
     fftw
     libtiff
-    zlib ] ++ lib.optionals withGui [
+    libpng
+    zlib
+  ] ++ lib.optionals withGui [
     libGL
     libGLU
     libX11
@@ -34,9 +36,14 @@ stdenv.mkDerivation rec {
   installCheckInputs = [ bc ];
 
   postPatch = ''
-    patchShebangs ./build ./configure ./run_tests ./bin/population_template
+    patchShebangs ./build ./configure ./run_tests ./bin/*
+
+    # patching interpreters before fixup is needed for tests:
+    patchShebangs ./bin/*
+    patchShebangs testing/binaries/data/vectorstats/*py
+
     substituteInPlace ./run_tests  \
-      --replace 'git submodule update --init >> $LOGFILE 2>&1' ""
+      --replace 'git submodule update --init $datadir >> $LOGFILE 2>&1' ""
   '';
 
   configurePhase = ''
@@ -50,7 +57,13 @@ stdenv.mkDerivation rec {
     (cd testing && ../build)
   '';
 
-  installCheckPhase = "./run_tests";
+  installCheckPhase = ''
+    ./run_tests units
+    ./run_tests binaries
+
+    # can also `./run_tests scripts`, but this fails due to lack of FSL package
+    # (and there's no convenient way to disable individual tests)
+  '';
   doInstallCheck = true;
 
   installPhase = ''
@@ -63,7 +76,9 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     for prog in $out/bin/*; do
-      wrapProgram $prog --prefix PATH : ${lib.makeBinPath [ ants ]}
+      if [[ -x "$prog" ]]; then
+        wrapProgram $prog --prefix PATH : ${lib.makeBinPath [ ants ]}
+      fi
     done
   '';