Merge remote-tracking branch 'namd/master' into namd
This commit is contained in:
55
namd.nix
Normal file
55
namd.nix
Normal file
@@ -0,0 +1,55 @@
|
||||
with import <nixpkgs> {};
|
||||
|
||||
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
|
||||
];
|
||||
}
|
||||
Reference in New Issue
Block a user