# IT4Innovations
# LK 2023

easyblock = "CMakeMake"

name = 'OpenBabel'
version = '3.1.1'

homepage = 'https://openbabel.org'
description = """Open Babel is a chemical toolbox designed to speak the many
 languages of chemical data. It's an open, collaborative project allowing anyone
 to search, convert, analyze, or store data from molecular modeling, chemistry,
 solid-state materials, biochemistry, or related areas."""

toolchain = {'name': 'gompi', 'version': '2022b'}
import os
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
	toolchainopts = {'optarch': 'march=core-avx2'}
else:
	toolchainopts = {'optarch': False}

source_urls = [GITHUB_LOWER_SOURCE]
sources = ['%%(namelower)s-%s.tar.gz' % version.replace('.', '-')]
checksums = ['c97023ac6300d26176c97d4ef39957f06e68848d64f1a04b0b284ccff2744f02']

builddependencies = [
    ('CMake', '3.24.3'),
]
dependencies = [
    ('zlib', '1.2.12'),
    ('libxml2', '2.10.3'),
    ('Eigen', '3.4.0'),
    ('RapidJSON', '1.1.0'),
    ('cairo', '1.17.4'),  # optional: for .png output
    ('Boost', '1.81.0'),
    ('maeparser', '1.3.0'),
    ('CoordgenLibs', '3.0.1'),
]

configopts = '-DBoost_INCLUDE_DIR=$EBROOTBOOST/include -DBoost_LIBRARY_DIR_RELEASE=$EBROOTBOOST/lib '
configopts += '-DENABLE_OPENMP=ON '

# OpenBabel-3.1.1 creates directories named 3.1.0, which leads to BABEL_LIBDIR and BABEL_DATDIR
# (set in the easyblock) having invalid values.  Work around this with some symlinks.
postinstallcmds = [
    'ln -s %(installdir)s/lib/openbabel/3.1.0 %(installdir)s/lib/openbabel/%(version)s',
    'ln -s %(installdir)s/share/openbabel/3.1.0 %(installdir)s/share/openbabel/%(version)s',
]

runtest = 'test'

moduleclass = 'chem'
