new file: o/OCaml/OCaml-4.09.0-GCC-6.3.0-2.27.eb

new file:   o/OCaml/OCaml-4.09.0.eb
	modified:   s/Singularity/Singularity-3.5.2.eb
	new file:   u/Unison/Unison-2.51.2-GCC-6.3.0-2.27.eb
	new file:   v/VASP/VASP-5.4.4-intel-2017c-mkl=cluster-Wannier.eb
	new file:   w/Wannier90/Wannier90-3.0.0-intel-2017c.eb
 new files yourself (see 'git help status').
This commit is contained in:
Lukáš Krupčík 2020-01-08 09:50:45 +01:00
parent c8e5ab2597
commit a6b9e23443
6 changed files with 232 additions and 10 deletions

View File

@ -0,0 +1,46 @@
# IT4Innovations 2019
name = 'OCaml'
version = '4.09.0'
homepage = 'http://ocaml.org/'
description = """OCaml is a general purpose industrial-strength programming language
with an emphasis on expressiveness and safety. Developed for more than 20 years at Inria
it benefits from one of the most advanced type systems and supports functional,
imperative and object-oriented styles of programming."""
toolchain = {'name': 'GCC', 'version': '6.3.0-2.27'}
local_opam_ver = '2.0.3'
source_urls = [
'http://caml.inria.fr/pub/distrib/ocaml-%s' % '.'.join(version.split('.')[:2]),
'https://github.com/ocaml/opam/releases/download/%s' % local_opam_ver,
]
sources = [
SOURCELOWER_TAR_GZ,
'opam-full-%s.tar.gz' % local_opam_ver,
]
builddependencies = [
('Autotools', '20180311', '', True)
]
dependencies = [
('ncurses', '6.1', '', True),
('libreadline', '7.0', '', True),
('GSL', '2.5', '', True),
]
# parallel build tends to break
parallel = 1
# handled by OPAM, order matters!
# see https://opam.ocaml.org/packages
exts_list = [
('ocamlfind', '1.8.0',),
('batteries', '2.9.0',),
('ocaml-twt', '0.94.0',),
('gsl', '1.24.0',),
]
moduleclass = 'lang'

46
o/OCaml/OCaml-4.09.0.eb Normal file
View File

@ -0,0 +1,46 @@
# IT4Innovations 2019
name = 'OCaml'
version = '4.09.0'
homepage = 'http://ocaml.org/'
description = """OCaml is a general purpose industrial-strength programming language
with an emphasis on expressiveness and safety. Developed for more than 20 years at Inria
it benefits from one of the most advanced type systems and supports functional,
imperative and object-oriented styles of programming."""
toolchain = SYSTEM
local_opam_ver = '2.0.3'
source_urls = [
'http://caml.inria.fr/pub/distrib/ocaml-%s' % '.'.join(version.split('.')[:2]),
'https://github.com/ocaml/opam/releases/download/%s' % local_opam_ver,
]
sources = [
SOURCELOWER_TAR_GZ,
'opam-full-%s.tar.gz' % local_opam_ver,
]
builddependencies = [
('Autotools', '20180311', '', True)
]
dependencies = [
('ncurses', '6.1', '', True),
('libreadline', '7.0', '', True),
('GSL', '2.5', '', True),
]
# parallel build tends to break
parallel = 1
# handled by OPAM, order matters!
# see https://opam.ocaml.org/packages
exts_list = [
('ocamlfind', '1.8.0',),
('batteries', '2.9.0',),
('ocaml-twt', '0.94.0',),
('gsl', '1.24.0',),
]
moduleclass = 'lang'

View File

@ -6,7 +6,6 @@ easyblock = 'ConfigureMake'
name = 'Singularity'
version = '3.5.2'
versionsuffix = 'test'
homepage = 'https://github.com/sylabs/singularity'
description = "Singularity is an open source container platform designed to be simple, fast, and secure. Singularity is optimized for EPC and HPC workloads, allowing untrusted users to run untrusted containers in a trusted way."
@ -37,15 +36,6 @@ postinstallcmds = [
'echo "mksquashfs path = /apps/all/squashfs-tools/4.3/bin" >> %(installdir)s/etc/singularity/singularity.conf',
]
# next steps after installation
# INSTALLATION_PATH=/apps/all
# chown root:root $INSTALLATION_PATH/Singularity/*/etc/singularity/singularity.conf
# chown root:root $INSTALLATION_PATH/Singularity/*/etc/singularity/capability.json
# chown root:root $INSTALLATION_PATH/Singularity/*/etc/singularity/ecl.toml
# chown root:root $INSTALLATION_PATH/Singularity/*/libexec/singularity/bin/*-suid
# chmod 4755 $INSTALLATION_PATH/Singularity/*/libexec/singularity/bin/*-suid
# chmod +s $INSTALLATION_PATH/Singularity/*/libexec/singularity/bin/*-suid
sanity_check_paths = {
'files': ['bin/singularity'],
'dirs': ['bin', 'etc', 'libexec', 'var'],

View File

@ -0,0 +1,35 @@
# IT4Innovations 2019
easyblock = 'MakeCp'
name = "Unison"
version = "2.51.2"
homepage = 'http://www.cis.upenn.edu/~bcpierce/unison'
description = """Unison is a file-synchronization tool for Unix and Windows.
It allows two replicas of a collection of files and directories
to be stored on different hosts (or different disks on the same host),
modified separately, and then brought up to date
by propagating the changes in each replica to the other."""
toolchain = {'name': 'GCC', 'version': '6.3.0-2.27'}
source_urls = ['https://github.com/bcpierce00/unison/archive/']
sources = ['v%(version)s.tar.gz']
#buildopts = 'UISTYLE=text '
dependencies = [
('OCaml', '4.09.0'),
]
files_to_copy = [(['unison'], 'bin')]
parallel = 1
sanity_check_paths = {
'files': ['bin/unison'],
'dirs': []
}
moduleclass = 'tools'

View File

@ -0,0 +1,69 @@
# IT4Innovations 2020
easyblock = 'MakeCp'
name = 'VASP'
version = '5.4.4'
versionsuffix = '-mkl=cluster-Wannier'
homepage = 'http://www.vasp.at'
description = """The Vienna Ab initio Simulation Package (VASP) is a local_computer program for atomic scale
materials modelling, e.g. electronic structure calculations and quantum-mechanical molecular dynamics,
from first principles.
To use VASP, You need academic licenses from University of Wiena. Follow the instructions https://www.vasp.at/index.php/faqs.
Then send us please a list of authorized users and their ID for which you need this access. Please use only http://support.it4i.cz/rt. We are responsible to verify your licenses. After succesfull verification You will be granted to use VASP in our enviroment."""
toolchain = {'name': 'intel', 'version': '2017c'}
toolchainopts = {'pic': True, 'usempi': True}
# Vasp is proprietary software, see http://www.vasp.at/index.php/faqs on
# how to get access to the code
sources = ['%(namelower)s.%(version)s.tar.gz']
#checksums = ['8ac646b108f974371eef398973373bf6']
dependencies = [
('zlib', '1.2.11', '', True),
('Wannier90', '3.0.0'),
]
prebuildopts = 'cp arch/makefile.include.linux_intel ./makefile.include && '
# path to libfftw3xf_intel.a is hardcoded in makefile.include
prebuildopts += 'sed -i "s|\$(MKLROOT)/interfaces/fftw3xf|\$(FFTW_LIB_DIR)|" makefile.include && '
# remove mkl flag to prevent mixing dynamic libs with the static libs in
# LIBBLACS/SCALAPACK
prebuildopts += 'sed -i "s|-mkl=sequential|-mkl=cluster|" makefile.include && '
# OFLAG = -O2 -xAVX
prebuildopts += 'sed -i "s|OFLAG = -O2|OFLAG = -O3 -xAVX|" makefile.include && '
# objects add MKLROOT
prebuildopts += 'sed -i "s|OBJECTS = fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d.o|OBJECTS = fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d.o \$\(MKLROOT\)/lib/intel64_lin/libfftw3xf_intel.a|" makefile.include && '
# Wannier90 support
prebuildopts += 'sed -i "s|LLIBS = |LLIBS = /apps/all/Wannier90/3.0.0-intel-2017c/lib/libwannier.a |" makefile.include && '
prebuildopts += 'sed -i "s|-DscaLAPACK|-DscaLAPACK -DVASP2WANNIER90|" makefile.include && '
# VASP uses LIBS as a list of folders
prebuildopts += 'unset LIBS && '
#prebuildopts += 'exit 1'
buildopts = 'all BLACS="$LIBBLACS" SCALAPACK="$LIBSCALAPACK"'
parallel = 1
files_to_copy = [(['bin/vasp_std', 'bin/vasp_gam', 'bin/vasp_ncl'], 'bin')]
sanity_check_paths = {
'files': ['bin/vasp_std', 'bin/vasp_gam', 'bin/vasp_ncl'],
'dirs': []
}
modluafooter = 'add_property("state","license")'
moduleclass = 'phys'

View File

@ -0,0 +1,36 @@
# IT4Innovations 2020
easyblock = 'MakeCp'
name = 'Wannier90'
version = '3.0.0'
homepage = 'http://www.wannier.org'
description = """A tool for obtaining maximally-localised Wannier functions"""
toolchain = {'name': 'intel', 'version': '2017c'}
toolchainopts = {'usempi': True}
github_account = 'wannier-developers'
source_urls = [GITHUB_LOWER_SOURCE]
sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCELOWER_TAR_GZ}]
patches = ['Wannier90_3x_ignore_makeinc.patch']
checksums = [
'f196e441dcd7b67159a1d09d2d7de2893b011a9f03aab6b30c4703ecbf20fe5b', # v3.0.0.tar.gz
'561c0d296e0e30b8bb303702cd6e41ded54c153d9b9e6cd9cab73858e5e2945e', # Wannier90_3x_ignore_makeinc.patch
]
buildopts = 'all F90=$F90 MPIF90=$MPIF90 FCOPTS="$FFLAGS" LDOPTS="$FFLAGS" '
buildopts += 'LIBDIR="$LAPACK_LIB_DIR" LIBS="$LIBLAPACK" '
buildopts += 'COMMS=mpi'
files_to_copy = [(['wannier90.x', 'postw90.x'], 'bin'), (['libwannier.a'], 'lib')]
sanity_check_paths = {
'files': ['bin/wannier90.x', 'bin/postw90.x', 'lib/libwannier.a'],
'dirs': []
}
moduleclass = 'chem'