diff --git a/namd.nix b/namd.nix new file mode 100644 index 0000000..67b65d9 --- /dev/null +++ b/namd.nix @@ -0,0 +1,55 @@ +with import {}; + +stdenv.mkDerivation rec { + version = "2.11"; + name = "namd-${version}"; + + src = fetchurl { + url = "http://ppomorsk.sharcnet.ca/namd-${version}.tar.gz"; + md5 = "8a81eb4c883edbf977d0af05351f6914"; + }; + + postUnpack = '' + cd namd-${version} + tar -xf charm-*.tar + tar -xzf fftw-linux-x86_64.tar.gz + mv linux-x86_64 fftw + tar -xzf tcl*-linux-x86_64.tar.gz + mv tcl*-linux-x86_64 tcl + tar -xzf tcl*-linux-x86_64-threaded.tar.gz + mv tcl*-linux-x86_64-threaded tcl-threaded + cd .. + ''; + patchPhase = '' + find charm-*/ -type f | xargs sed -i \ + -e 's,/bin/cp,cp,g' \ + -e 's,/bin/rm,rm,g' \ + -e 's,/lib/cpp,cpp,g' + ''; + configurePhase = '' + tcsh -f ./config Linux-x86_64-g++ --charm-arch multicore-linux64 + ''; + buildPhase = '' + cd charm-*/ + ./build charm++ multicore-linux64 --no-build-shared --with-production + cd .. + cd Linux-x86_64-g++ + make + cd .. + ''; + installPhase = '' + rm -fr Linux-x86_64-g++/{obj,src,inc,Make*,plugins,sb} + cp -r plugins Linux-x86_64-g++/ + cp -r psfgen Linux-x86_64-g++/sb + mkdir -p $out/lib/namd + cp -r Linux-x86_64-g++/* $out/lib/namd + mkdir -p $out/bin + ln -s $out/lib/namd/namd2 $out/bin/namd2 + ''; + + buildInputs = [ + perl + bash + tcsh + ]; +}