From 934a6134c00101e85d6654b6fc2ffee3191de73f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Krup=C4=8D=C3=ADk?= Date: Mon, 14 Sep 2020 14:09:19 +0200 Subject: [PATCH] new file: l/libxc/libxc-4.3.4-intel-2019a.eb new file: l/libxc/libxc-4.3.4_rename-F03.patch new file: o/Octave/Octave-5.1.0-intel-2019a-without-X11.eb deleted: o/Octave/Octave-5.1.0-intel-2019a.eb --- l/libxc/libxc-4.3.4-intel-2019a.eb | 47 +++++++++++++++++++ l/libxc/libxc-4.3.4_rename-F03.patch | 37 +++++++++++++++ ...> Octave-5.1.0-intel-2019a-without-X11.eb} | 0 3 files changed, 84 insertions(+) create mode 100644 l/libxc/libxc-4.3.4-intel-2019a.eb create mode 100644 l/libxc/libxc-4.3.4_rename-F03.patch rename o/Octave/{Octave-5.1.0-intel-2019a.eb => Octave-5.1.0-intel-2019a-without-X11.eb} (100%) diff --git a/l/libxc/libxc-4.3.4-intel-2019a.eb b/l/libxc/libxc-4.3.4-intel-2019a.eb new file mode 100644 index 00000000..7de44144 --- /dev/null +++ b/l/libxc/libxc-4.3.4-intel-2019a.eb @@ -0,0 +1,47 @@ +# IT4Innovations 2020 + +easyblock = 'CMakeMake' + +name = 'libxc' +version = '4.3.4' + +homepage = 'http://www.tddft.org/programs/octopus/wiki/index.php/Libxc' +description = """Libxc is a library of exchange-correlation functionals for density-functional theory. + The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.""" + +toolchain = {'name': 'intel', 'version': '2019a'} + +source_urls = ['http://www.tddft.org/programs/libxc/down.php?file=4.3.4/'] +sources = ['libxc-4.3.4.tar.gz'] +patches = ['libxc-%(version)s_rename-F03.patch'] + +builddependencies = [ + ('CMake', '3.16.2', '', True), + ('Perl', '5.30.0', '', ('GCCcore', '8.3.0')), +] + +separate_build_dir = True + +# rename *.F03 source file since Intel Fortran local_compiler doesn't like that extension +# also requires patch file to rename file in CMakeLists.txt and src/Makefile.in +preconfigopts = "mv ../libxc-%(version)s/src/libxc_master.F03 ../libxc-%(version)s/src/libxc_master_F03.F90 && " + +local_common_configopts = "-DENABLE_FORTRAN=ON -DENABLE_FORTRAN03=ON -DENABLE_XHOST=OFF" + +# perform iterative build to get both static and shared libraries +configopts = [ + local_common_configopts + ' -DBUILD_SHARED_LIBS=OFF', + local_common_configopts + ' -DBUILD_SHARED_LIBS=ON', +] + +parallel = 1 + +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/xc-info', 'bin/xc-threshold'] + + ['lib/libxc%s.%s' % (x, y) for x in ['', 'f03', 'f90'] for y in ['a', SHLIB_EXT]], + 'dirs': ['include', 'lib/pkgconfig', 'share/cmake/Libxc'], +} + +moduleclass = 'chem' diff --git a/l/libxc/libxc-4.3.4_rename-F03.patch b/l/libxc/libxc-4.3.4_rename-F03.patch new file mode 100644 index 00000000..c970fca1 --- /dev/null +++ b/l/libxc/libxc-4.3.4_rename-F03.patch @@ -0,0 +1,37 @@ +rename libxc_master.F03 to libxc_master_F03.F90, since Intel Fortran compiler doesn't like *.F03 files +cfr. https://gitlab.com/libxc/libxc/issues/85 +requires that libxc_master.F03 is renamed to libxc_master_F03.F90 via 'preconfigopts' in easyconfig file +author: Kenneth Hoste (HPC-UGent) +--- libxc-4.3.4/src/Makefile.in.orig 2019-03-05 00:43:32.000000000 +0100 ++++ libxc-4.3.4/src/Makefile.in 2019-05-21 17:56:25.140868203 +0200 +@@ -611,7 +611,7 @@ + string_f.h references.h util.h work_lda.c \ + work_gga_x.c work_gga_c.c \ + work_mgga_x.c work_mgga_c.c \ +- libxc_master.F90 libxc_master.F03 ++ libxc_master.F90 libxc_master_F03.F90 + + include_HEADERS = xc.h xc_funcs_removed.h + nodist_include_HEADERS = xc_funcs.h +@@ -1453,8 +1453,8 @@ + $(LTPREF)libxc.lo $(LTPREF)libxc.o : $(LIBFUNCMOD) + + $(XCLIBMODS) : $(LTPREF)libxc.lo +-libxcf03.f90 : libxc_master.F03 libxc_inc.f03 +- @FCCPP@ @CPPFLAGS@ $(AM_CPPFLAGS) -I$(top_builddir)/src $(srcdir)/libxc_master.F03 > $(top_builddir)/src/libxcf03.f90 ++libxcf03.f90 : libxc_master_F03.F90 libxc_inc.f03 ++ @FCCPP@ @CPPFLAGS@ $(AM_CPPFLAGS) -I$(top_builddir)/src $(srcdir)/libxc_master_F03.F90 > $(top_builddir)/src/libxcf03.f90 + @if [ "@F90_ACCEPTS_LINE_NUMBERS@" = "no" ]; then \ + grep -v "^#" $(top_builddir)/src/libxcf03.f90 > $(top_builddir)/src/libxcf03.f91; \ + mv -f $(top_builddir)/src/libxcf03.f91 $(top_builddir)/src/libxcf03.f90; \ +--- libxc-4.3.4/CMakeLists.txt.orig 2019-05-21 18:04:02.978334306 +0200 ++++ libxc-4.3.4/CMakeLists.txt 2019-05-21 18:04:34.308604175 +0200 +@@ -296,7 +296,7 @@ + gen_funcidx/libxc_funcs.f90 + ) + set(raw_sources_list_f03 +- src/libxc_master.F03 ++ src/libxc_master_F03.F90 + ) + + # when headers namespaced, xc_version include in xc.h needs to be local, not diff --git a/o/Octave/Octave-5.1.0-intel-2019a.eb b/o/Octave/Octave-5.1.0-intel-2019a-without-X11.eb similarity index 100% rename from o/Octave/Octave-5.1.0-intel-2019a.eb rename to o/Octave/Octave-5.1.0-intel-2019a-without-X11.eb