From ab7e99114ea6eb1036602606bac27ce22a2def5f Mon Sep 17 00:00:00 2001 From: Yuri Victorovich Date: Mon, 10 Dec 2018 07:59:42 +0000 Subject: [PATCH] New port: math/osi: COIN-OR Open Solver Interface, an API for calling solver libraries --- math/Makefile | 1 + math/osi/Makefile | 33 +++++++++++++++++++++++++++++++++ math/osi/distinfo | 3 +++ math/osi/pkg-descr | 19 +++++++++++++++++++ math/osi/pkg-plist | 23 +++++++++++++++++++++++ 5 files changed, 79 insertions(+) create mode 100644 math/osi/Makefile create mode 100644 math/osi/distinfo create mode 100644 math/osi/pkg-descr create mode 100644 math/osi/pkg-plist diff --git a/math/Makefile b/math/Makefile index e8d91612e433..5d63e71535b3 100644 --- a/math/Makefile +++ b/math/Makefile @@ -498,6 +498,7 @@ SUBDIR += openmesh SUBDIR += opensolaris-libm SUBDIR += orpie + SUBDIR += osi SUBDIR += osqp SUBDIR += p5-AI-DecisionTree SUBDIR += p5-AI-Genetic diff --git a/math/osi/Makefile b/math/osi/Makefile new file mode 100644 index 000000000000..13f6bad266dd --- /dev/null +++ b/math/osi/Makefile @@ -0,0 +1,33 @@ +# $FreeBSD$ + +PORTNAME= Osi +DISTVERSION= 0.107.9 +CATEGORIES= math +MASTER_SITES= https://www.coin-or.org/download/source/${PORTNAME}/ +PKGNAMEPREFIX= coin-or- + +MAINTAINER= yuri@FreeBSD.org +COMMENT= COIN-OR Open Solver Interface, an API for calling solver libraries + +LICENSE= EPL +LICENSE_FILE= ${WRKSRC}/Osi/LICENSE + +BUILD_DEPENDS= coin-or-Data-Sample>0:math/coin-or-data-sample \ + coin-or-Data-Netlib>0:math/coin-or-data-netlib +LIB_DEPENDS= libCoinUtils.so:math/coinutils \ + libopenblas.so:math/openblas +RUN_DEPENDS:= ${BUILD_DEPENDS} + +USES= fortran gmake libtool localbase:ldflags pkgconfig tar:tgz +GNU_CONFIGURE= yes +CONFIGURE_ARGS= --with-blas-lib="-lopenblas" --with-lapack-lib="-lopenblas" \ + --with-sample-datadir="${LOCALBASE}/share/coin/Data/Sample" \ + --with-netlib-datadir="${LOCALBASE}/share/coin/Data/Netlib" \ + --with-coinutils-incdir="${LOCALBASE}/include/coin" --with-coinutils-lib="${LOCALBASE}/lib/libCoinUtils.so" + # Incompatible with optional dependencies glpk and SoPlex: https://projects.coin-or.org/Osi/ticket/117 https://projects.coin-or.org/Osi/ticket/118 +USE_LDCONFIG= yes + +post-install: + @${RM} -r ${STAGEDIR}${PREFIX}/share/coin + +.include diff --git a/math/osi/distinfo b/math/osi/distinfo new file mode 100644 index 000000000000..479d3f9325ae --- /dev/null +++ b/math/osi/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1544415432 +SHA256 (Osi-0.107.9.tgz) = 6d61fb27e2dccf6574fcc4a03b7a0083f10e578e5e5b2abae22da11489571c05 +SIZE (Osi-0.107.9.tgz) = 7513203 diff --git a/math/osi/pkg-descr b/math/osi/pkg-descr new file mode 100644 index 000000000000..955ec339df44 --- /dev/null +++ b/math/osi/pkg-descr @@ -0,0 +1,19 @@ +Osi (Open Solver Interface) provides an abstract base class to a generic linear +programming (LP) solver, along with derived classes for specific solvers. Many +applications may be able to use the Osi to insulate themselves from a specific +LP solver. The following is a list of derived Osi classes: + +Solver Derived Class +* Cbc OsiCbc +* Clp OsiClp +* CPLEX OsiCpx +* DyLP OsiDylp +* GLPK OsiGlpk +* Gurobi OsiGrb +* MOSEK OsiMsk +* SoPlex OsiSpx +* SYMPHONY OsiSym +* Vol OsiVol +* XPRESS-MP OsiXpr + +WWW: https://projects.coin-or.org/Osi/ diff --git a/math/osi/pkg-plist b/math/osi/pkg-plist new file mode 100644 index 000000000000..7bb95d8c0f86 --- /dev/null +++ b/math/osi/pkg-plist @@ -0,0 +1,23 @@ +include/coin/OsiAuxInfo.hpp +include/coin/OsiBranchingObject.hpp +include/coin/OsiChooseVariable.hpp +include/coin/OsiColCut.hpp +include/coin/OsiCollections.hpp +include/coin/OsiConfig.h +include/coin/OsiCut.hpp +include/coin/OsiCuts.hpp +include/coin/OsiPresolve.hpp +include/coin/OsiRowCut.hpp +include/coin/OsiRowCutDebugger.hpp +include/coin/OsiSolverBranch.hpp +include/coin/OsiSolverInterface.hpp +include/coin/OsiSolverParameters.hpp +include/coin/OsiUnitTests.hpp +lib/libOsi.so +lib/libOsi.so.1 +lib/libOsi.so.1.12.9 +lib/libOsiCommonTests.so +lib/libOsiCommonTests.so.1 +lib/libOsiCommonTests.so.1.12.9 +libdata/pkgconfig/osi-unittests.pc +libdata/pkgconfig/osi.pc