diff --git a/easybuild/easyconfigs/c/Cbc/Cbc-2.10.12-foss-2024a.eb b/easybuild/easyconfigs/c/Cbc/Cbc-2.10.12-foss-2024a.eb new file mode 100644 index 00000000000..f205cbb1a3a --- /dev/null +++ b/easybuild/easyconfigs/c/Cbc/Cbc-2.10.12-foss-2024a.eb @@ -0,0 +1,46 @@ +easyblock = 'ConfigureMake' + +name = 'Cbc' +version = '2.10.12' + +homepage = 'https://github.com/coin-or/Cbc' +description = """Cbc (Coin-or branch and cut) is an open-source mixed integer linear programming +solver written in C++. It can be used as a callable library or using a +stand-alone executable.""" + +toolchain = {'name': 'foss', 'version': '2024a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/coin-or/%(name)s/archive/refs/tags/releases'] +sources = ['%(version)s.tar.gz'] +checksums = ['9ed71e4b61668462fc3794c102e26b4bb01a047efbbbcbd69ae7bde1f04f46a8'] + +builddependencies = [ + ('Autotools', '20231222'), + ('Doxygen', '1.11.0'), + ('pkgconf', '2.2.0'), +] +dependencies = [ + ('METIS', '5.1.0'), + ('MUMPS', '5.6.1', '-metis'), + ('CoinUtils', '2.11.10'), + ('Osi', '0.108.9'), + ('Clp', '1.17.9'), + ('Cgl', '0.60.8'), + ('bzip2', '1.0.8'), + ('zlib', '1.3.1'), +] + +# Use BLAS/LAPACK from toolchain +configopts = '--with-blas="$LIBBLAS" --with-lapack="$LIBLAPACK" --with-metis-lib="-lmetis" --with-mumps-lib="-lcmumps -ldmumps -lsmumps -lzmumps -lmumps_common -lpord" --without-glpk --with-coinutils-lib="-lCoinUtils" --with-coinutils-datadir=$EBROOTCOINUTILS/share/coin/Data --with-clp-lib="-lOsiClp -lClpSolver -lClp" --with-clp-datadir=$EBROOTCLP/share/coin/Data --with-osi-lib="-lOsiClp -lClpSolver -lClp -lOsi" --with-osi-datadir=$EBROOTOSI/share/coin/Data --with-cgl-lib="-lCgl" --with-cgl-datadir=$EBROOTCGL/share/coin/Data ' + + +sanity_check_paths = { + 'files': ['bin/%(namelower)s', 'lib/libCbc.so', 'lib/libCbcSolver.so', 'lib/libOsiCbc.so'], + 'dirs': ['include/coin', 'lib/pkgconfig', 'share/coin'], +} + +# other coin-or projects expect instead of +modextrapaths = {'CPATH': 'include/coin'} + +moduleclass = 'math'