diff --git a/pkgs/applications/science/biology/iv/default.nix b/pkgs/applications/science/biology/iv/default.nix new file mode 100644 index 00000000000..714b7fddd44 --- /dev/null +++ b/pkgs/applications/science/biology/iv/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchurl, neuron-version +, libX11, libXext, patchelf +}: + +stdenv.mkDerivation rec + { name = "iv-19"; + src = fetchurl + { url = "http://www.neuron.yale.edu/ftp/neuron/versions/v${neuron-version}/${name}.tar.gz"; + sha256 = "1q22vjngvn3m61mjxynkik7pxvsgc9a0ym46qpa84hmz1v86mdrw"; + }; + nativeBuildInputs = [ patchelf ]; + buildInputs = [ libXext ]; + propagatedBuildInputs = [ libX11 ]; + hardeningDisable = [ "format" ]; + postInstall = '' + for dir in $out/*; do # */ + if [ -d $dir/lib ]; then + mv $dir/* $out # */ + rmdir $dir + break + fi + done + patchelf --add-needed ${libX11}/lib/libX11.so $out/lib/libIVhines.so + ''; + meta = with stdenv.lib; + { description = "InterViews graphical library for Neuron"; + license = licenses.bsd3; + homepage = http://www.neuron.yale.edu/neuron; + platforms = platforms.all; + }; + } diff --git a/pkgs/applications/science/biology/neuron/default.nix b/pkgs/applications/science/biology/neuron/default.nix index 136fba47eb7..bd300846cf0 100644 --- a/pkgs/applications/science/biology/neuron/default.nix +++ b/pkgs/applications/science/biology/neuron/default.nix @@ -9,6 +9,7 @@ , which , python ? null , mpi ? null +, iv }: stdenv.mkDerivation rec { @@ -16,7 +17,7 @@ stdenv.mkDerivation rec { version = "7.4"; nativeBuildInputs = [ which pkgconfig automake autoconf libtool ]; - buildInputs = [ ncurses readline python mpi ]; + buildInputs = [ ncurses readline python mpi iv ]; src = fetchurl { url = "http://www.neuron.yale.edu/ftp/neuron/versions/v${version}/nrn-${version}.tar.gz"; @@ -45,7 +46,7 @@ stdenv.mkDerivation rec { ''; configureFlags = with stdenv.lib; - [ "--without-x" "--with-readline=${readline}" ] + [ "--with-readline=${readline}" "--with-iv=${iv}" ] ++ optionals (python != null) [ "--with-nrnpython=${python.interpreter}" ] ++ (if mpi != null then ["--with-mpi" "--with-paranrn"] else ["--without-mpi"]); diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e9b6a7e1c61..82f39ee027e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17659,6 +17659,10 @@ with pkgs; igv = callPackage ../applications/science/biology/igv { }; + iv = callPackage ../applications/science/biology/iv { + neuron-version = neuron.version; + }; + neuron = callPackage ../applications/science/biology/neuron { python = null; }; @@ -17667,6 +17671,8 @@ with pkgs; mpi = pkgs.openmpi; }); + neuron-full = neuron-mpi.override { inherit python; }; + mrbayes = callPackage ../applications/science/biology/mrbayes { }; minc_tools = callPackage ../applications/science/biology/minc-tools { };