-
Notifications
You must be signed in to change notification settings - Fork 710
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #18529 from PetrKralCZ/20230810132932_new_pr_PuLP270
{math}[foss/2022b] PuLP v2.7.0, Cbc v2.10.5, Cgl v0.60.7
- Loading branch information
Showing
3 changed files
with
149 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
easyblock = "ConfigureMake" | ||
|
||
name = 'Cbc' | ||
version = '2.10.5' | ||
|
||
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': '2022b'} | ||
toolchainopts = {'pic': True, 'usempi': True} | ||
|
||
source_urls = ['https://www.coin-or.org/download/source/%(name)s/'] | ||
sources = [SOURCE_TGZ] | ||
checksums = ['da1a945648679b21ba56b454b81e939451dc7951d9beb3c3e14f18f64dde6972'] | ||
|
||
builddependencies = [ | ||
('Autotools', '20220317'), | ||
('Doxygen', '1.9.5'), | ||
('pkg-config', '0.29.2'), | ||
] | ||
|
||
dependencies = [ | ||
('METIS', '5.1.0'), | ||
('MUMPS', '5.6.1', '-metis'), | ||
('CoinUtils', '2.11.9'), | ||
('Osi', '0.108.8'), | ||
('Clp', '1.17.8'), | ||
('Cgl', '0.60.7'), | ||
('bzip2', '1.0.8'), | ||
('zlib', '1.2.12'), | ||
] | ||
|
||
# Use BLAS/LAPACK from OpenBLAS | ||
configopts = '--with-blas="$LIBBLAS" --with-lapack="$LIBLAPACK" ' | ||
# Use METIS AND MUMPS from EB | ||
configopts += '--with-metis-lib="-lmetis" ' | ||
configopts += '--with-mumps-lib="-lcmumps -ldmumps -lsmumps -lzmumps -lmumps_common -lpord" ' | ||
# Disable GLPK, dependencies have to be built with it as well | ||
configopts += '--without-glpk ' | ||
# Use CoinUtils from EB | ||
configopts += '--with-coinutils-lib="-lCoinUtils" ' | ||
configopts += '--with-coinutils-datadir=$EBROOTCOINUTILS/share/coin/Data' | ||
# Use Clp from EB | ||
configopts += '--with-clp-lib="-lOsiClp -lClpSolver -lClp" ' | ||
configopts += '--with-clp-datadir=$EBROOTCLP/share/coin/Data ' | ||
# Use Osi from EB (also needs links to Clp due to OsiClpSolver) | ||
configopts += '--with-osi-lib="-lOsiClp -lClpSolver -lClp -lOsi" ' | ||
configopts += '--with-osi-datadir=$EBROOTOSI/share/coin/Data ' | ||
# Use Cgl from EB | ||
configopts += '--with-cgl-lib="-lCgl" ' | ||
configopts += '--with-cgl-datadir=$EBROOTCGL/share/coin/Data ' | ||
|
||
sanity_check_paths = { | ||
'files': ['bin/cbc'] + ['lib/lib%s.%s' % (x, SHLIB_EXT) for x in ['Cbc', 'CbcSolver', 'OsiCbc']], | ||
'dirs': ['include/coin', 'lib/pkgconfig', 'share/coin'] | ||
} | ||
|
||
# other coin-or projects expect <header.hpp> instead of <coin/header.hpp> | ||
modextrapaths = {'CPATH': 'include/coin'} | ||
|
||
moduleclass = "math" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
easyblock = "ConfigureMake" | ||
|
||
name = 'Cgl' | ||
version = '0.60.7' | ||
|
||
homepage = "https://github.com/coin-or/Cgl" | ||
description = """The COIN-OR Cut Generation Library (Cgl) is a collection of cut generators that | ||
can be used with other COIN-OR packages that make use of cuts, such as, among | ||
others, the linear solver Clp or the mixed integer linear programming solvers | ||
Cbc or BCP. Cgl uses the abstract class OsiSolverInterface (see Osi) to use or | ||
communicate with a solver. It does not directly call a solver.""" | ||
|
||
toolchain = {'name': 'foss', 'version': '2022b'} | ||
toolchainopts = {'pic': True, 'usempi': True} | ||
|
||
source_urls = ['https://github.com/coin-or/Cgl/archive/refs/tags/releases/'] | ||
sources = ['%(version)s.tar.gz'] | ||
checksums = ['93b30a80b5d2880c2e72d5877c64bdeaf4d7c1928b3194ea2f88b1aa4517fb1b'] | ||
|
||
builddependencies = [ | ||
('Autotools', '20220317'), | ||
('Doxygen', '1.9.5'), | ||
('pkg-config', '0.29.2'), | ||
] | ||
|
||
dependencies = [ | ||
('CoinUtils', '2.11.9'), | ||
('Osi', '0.108.8'), | ||
('Clp', '1.17.8'), | ||
] | ||
|
||
# Use CoinUtils from EB | ||
configopts = '--with-coinutils-lib="-lCoinUtils" ' | ||
configopts += '--with-coinutils-datadir=$EBROOTCOINUTILS/share/coin/Data' | ||
# Use Clp from EB | ||
configopts += '--with-clp-lib="-lOsiClp -lClpSolver -lClp" ' | ||
configopts += '--with-clp-datadir=$EBROOTCLP/share/coin/Data ' | ||
# Use Osi from EB (also needs links to Clp due to OsiClpSolver) | ||
configopts += '--with-osi-lib="-lOsiClp -lClpSolver -lClp -lOsi" ' | ||
configopts += '--with-osi-datadir=$EBROOTOSI/share/coin/Data ' | ||
|
||
sanity_check_paths = { | ||
'files': ['lib/libCgl.%s' % SHLIB_EXT], | ||
'dirs': ['include/coin', 'lib/pkgconfig', 'share/coin'] | ||
} | ||
|
||
# other coin-or projects expect <header.hpp> instead of <coin/header.hpp> | ||
modextrapaths = {'CPATH': 'include/coin'} | ||
|
||
moduleclass = "math" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
# Contribution by | ||
# DeepThought, Flinders University | ||
# R.QIAO <[email protected]> | ||
# Updated: Petr Král (INUITS) | ||
|
||
easyblock = 'PythonPackage' | ||
|
||
name = 'PuLP' | ||
version = '2.7.0' | ||
|
||
homepage = 'https://github.com/coin-or/pulp' | ||
description = """ | ||
PuLP is an LP modeler written in Python. PuLP can generate MPS or LP files and | ||
call GLPK, COIN-OR CLP/CBC, CPLEX, GUROBI, MOSEK, XPRESS, CHOCO, MIPCL, SCIP to | ||
solve linear problems. | ||
""" | ||
|
||
toolchain = {'name': 'foss', 'version': '2022b'} | ||
|
||
sources = [SOURCE_TAR_GZ] | ||
checksums = ['e73ee6b32d639c9b8cf4b4aded334ba158be5f8313544e056f796ace0a10ae63'] | ||
|
||
dependencies = [ | ||
('Python', '3.10.8'), | ||
('GLPK', '5.0'), | ||
('Cbc', '2.10.5'), | ||
# Gurobi requires a seperate license | ||
# ('Gurobi', '9.5.0'), | ||
] | ||
|
||
download_dep_fail = True | ||
use_pip = True | ||
|
||
sanity_pip_check = True | ||
|
||
moduleclass = 'tools' |