diff --git a/builder.sh b/builder.sh deleted file mode 100755 index 987d585..0000000 --- a/builder.sh +++ /dev/null @@ -1,41 +0,0 @@ -source $stdenv/setup - -tar xvfz $src -cd namd-* - -tar xvf charm-6.7.0.tar -cd charm-6.7.0 - -find . -type f |xargs sed -i 's/\/bin\/cp/cp/g' -find . -type f |xargs sed -i 's/\/bin\/rm/rm/g' -find . -type f |xargs sed -i 's/\/lib\/cpp/cpp/g' - -./build charm++ multicore-linux64 --no-build-shared --with-production -cd .. - -tar xvfz fftw-linux-x86_64.tar.gz -mv linux-x86_64 fftw -tar xvfz tcl8.5.9-linux-x86_64.tar.gz -mv tcl8.5.9-linux-x86_64 tcl -tar xvfz tcl8.5.9-linux-x86_64-threaded.tar.gz -mv tcl8.5.9-linux-x86_64-threaded tcl-threaded - -tcsh -f ./config Linux-x86_64-g++ --charm-arch multicore-linux64 -cd Linux-x86_64-g++ -make -rm -rf obj -rm -rf src -rm -rf inc -rm Make* -rm -rf plugins -cp -r ../plugins . -rm sb -cp -r ../psfgen ./sb -mkdir -p $out/lib/namd -cp -r * $out/lib/namd -cd .. - -mkdir -p $out/bin -ln -s $out/lib/namd2 $out/bin/namd2 - - diff --git a/namd.nix b/namd.nix index f0041b2..a2bd225 100644 --- a/namd.nix +++ b/namd.nix @@ -1,13 +1,51 @@ with import {}; -stdenv.mkDerivation { - name = "namd-2.11"; - builder = ./builder.sh; - src = fetchurl { +stdenv.mkDerivation { + name = "namd-2.11"; + + src = fetchurl { url = http://ppomorsk.sharcnet.ca/namd-2.11.tar.gz; md5 = "8a81eb4c883edbf977d0af05351f6914"; }; + postUnpack = '' + cd namd-* + tar -xf charm-6.7.0.tar + tar -xzf fftw-linux-x86_64.tar.gz + mv linux-x86_64 fftw + tar -xzf tcl8.5.9-linux-x86_64.tar.gz + mv tcl8.5.9-linux-x86_64 tcl + tar -xzf tcl8.5.9-linux-x86_64-threaded.tar.gz + mv tcl8.5.9-linux-x86_64-threaded tcl-threaded + cd .. + ''; + patchPhase = '' + find charm-6.7.0 -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-6.7.0 + ./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