From 90d0b8e70da0d70b4310ec3b2d8ba5d41dcf7e35 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 28 May 2020 20:35:35 +0200 Subject: [PATCH 1/2] update CP2K easyblock for recent versions (>= 7.0) [WIP] --- easybuild/easyblocks/c/cp2k.py | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/easybuild/easyblocks/c/cp2k.py b/easybuild/easyblocks/c/cp2k.py index 5f09860f47..3ec3e76737 100644 --- a/easybuild/easyblocks/c/cp2k.py +++ b/easybuild/easyblocks/c/cp2k.py @@ -618,19 +618,20 @@ def build_step(self): -build_and_install """ - makefiles = os.path.join(self.cfg['start_dir'], 'makefiles') - change_dir(makefiles) + if LooseVersion(self.version) < LooseVersion('7.0'): + makefiles = os.path.join(self.cfg['start_dir'], 'makefiles') + change_dir(makefiles) - # modify makefile for parallel build - parallel = self.cfg['parallel'] - if parallel: + # modify makefile for parallel build + parallel = self.cfg['parallel'] + if parallel: - try: - for line in fileinput.input('Makefile', inplace=1, backup='.orig.patchictce'): - line = re.sub(r"^PMAKE\s*=.*$", "PMAKE\t= $(SMAKE) -j %s" % parallel, line) - sys.stdout.write(line) - except IOError as err: - raise EasyBuildError("Can't modify/write Makefile in %s: %s", makefiles, err) + try: + for line in fileinput.input('Makefile', inplace=1, backup='.orig.patchictce'): + line = re.sub(r"^PMAKE\s*=.*$", "PMAKE\t= $(SMAKE) -j %s" % parallel, line) + sys.stdout.write(line) + except IOError as err: + raise EasyBuildError("Can't modify/write Makefile in %s: %s", makefiles, err) # update make options with MAKE self.cfg.update('buildopts', 'MAKE="make -j %s"' % self.cfg['parallel']) From 1c9c58c8ddc29b2a084208e751bad1d21e7e1db9 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Tue, 11 Aug 2020 15:57:02 +0200 Subject: [PATCH 2/2] add path to Libint's include dir to $FCFLAGS when configuring CP2K build --- easybuild/easyblocks/c/cp2k.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/easybuild/easyblocks/c/cp2k.py b/easybuild/easyblocks/c/cp2k.py index 3ec3e76737..cc3f693831 100644 --- a/easybuild/easyblocks/c/cp2k.py +++ b/easybuild/easyblocks/c/cp2k.py @@ -409,6 +409,9 @@ def configure_common(self): options['LIBINTLIB'] = '%s/lib' % libint options['LIBS'] += ' %s -lstdc++ %s' % (libint_libs, libint_wrapper) + # add Libint include dir to $FCFLAGS + options['FCFLAGS'] += ' -I' + os.path.join(libint, 'include') + else: # throw a warning, since CP2K without Libint doesn't make much sense self.log.warning("Libint module not loaded, so building without Libint support")