namd: Switch from custom builder to overloaded stages
This commit is contained in:
41
builder.sh
41
builder.sh
@@ -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
|
|
||||||
|
|
||||||
|
|
||||||
46
namd.nix
46
namd.nix
@@ -1,13 +1,51 @@
|
|||||||
with import <nixpkgs> {};
|
with import <nixpkgs> {};
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "namd-2.11";
|
name = "namd-2.11";
|
||||||
builder = ./builder.sh;
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = http://ppomorsk.sharcnet.ca/namd-2.11.tar.gz;
|
url = http://ppomorsk.sharcnet.ca/namd-2.11.tar.gz;
|
||||||
md5 = "8a81eb4c883edbf977d0af05351f6914";
|
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 = [
|
buildInputs = [
|
||||||
perl
|
perl
|
||||||
bash
|
bash
|
||||||
|
|||||||
Reference in New Issue
Block a user