Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/usr/bin/env python
#
# Copyright (C) 2015 IT4Innovations
# Lumir Jasiok
# lumir.jasiok@vsb.cz
# http://www.it4i.cz
#
#
#
"""
EasyBuild support for building and installing LAMPPS,
implemented as an easyblock
@author: Lumir Jasiok (IT4 Innovations)
"""
import os
import shutil
from easybuild.framework.easyblock import EasyBlock
from easybuild.tools.build_log import EasyBuildError
from easybuild.tools.run import run_cmd
class EB_LAMMPS(EasyBlock):
"""Support for building and installing LAMMPS."""
def build_step(self):
"""Run simply make mkl"""
cmd = "%s make mkl" % self.cfg['prebuildopts']
run_cmd(cmd, log_all=True)
srcdir = os.path.join(self.cfg['start_dir'], 'src')
targetdir = os.path.join(self.installdir, 'bin')
self.log.info("LAMMPS install directory is %s" % self.installdir)
try:
if os.path.isdir(self.installdir):
self.log.info("Directory %s exists, deleting"
% self.installdir)
shutil.rmtree(self.installdir)
os.mkdir(self.installdir)
os.mkdir(targetdir)
shutil.copy2(os.path.join(srcdir, 'lmp_mkl'),
os.path.join(targetdir, 'lmp_mkl'))
except Exception, err:
raise EasyBuildError("Failed to install LAMMPS binary, %s" % err)