summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sci-libs/ipopt/Manifest1
-rw-r--r--sci-libs/ipopt/ipopt-3.14.4.ebuild76
-rw-r--r--sci-libs/ipopt/metadata.xml26
3 files changed, 92 insertions, 11 deletions
diff --git a/sci-libs/ipopt/Manifest b/sci-libs/ipopt/Manifest
index 88b452baabea..8004e88e371b 100644
--- a/sci-libs/ipopt/Manifest
+++ b/sci-libs/ipopt/Manifest
@@ -1 +1,2 @@
DIST Ipopt-3.12.12.tgz 4530034 BLAKE2B 8a8e24e4e5d8ad5bc1fcfa2de525e1e39c88a4c6dd77b51c0549249f517b3d6a1279e355a7cb606ebd8e606551031b653b78cd4d1cb51dd369e051ffa010011f SHA512 c543695feaa39a69b01e0025ebcd8a8772deb369ea1072f17da4ba34c1b522d322959067f3a6cfc40446e00c2e6dd2d6704a55623aba5d61dff44333727368cb
+DIST ipopt-3.14.4.tar.gz 1843885 BLAKE2B 83f6a983db282ced6e52237ff326c860a92df2c92dbd53db7581110d3003fd7b557a68453c74e48d780832d2c9c55d9eb4ea54e68f504c161952fce6bb81caaf SHA512 a27a08ae24c94da96efcfa236034cec79d79111d7dc9c028d808b412d5abb21495a0011f075a87db65b91ba69e191653552e7f99fe8da88c3b580d971eac3652
diff --git a/sci-libs/ipopt/ipopt-3.14.4.ebuild b/sci-libs/ipopt/ipopt-3.14.4.ebuild
new file mode 100644
index 000000000000..6a2bac46ff03
--- /dev/null
+++ b/sci-libs/ipopt/ipopt-3.14.4.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FORTRAN_NEEDED="mumps"
+DOCS_BUILDER="doxygen"
+DOCS_DIR="doc"
+DOCS_DEPEND="media-gfx/graphviz"
+
+inherit docs fortran-2 toolchain-funcs
+
+DESCRIPTION="Interior-Point Optimizer for large-scale nonlinear optimization"
+HOMEPAGE="https://github.com/coin-or/Ipopt"
+SRC_URI="https://github.com/coin-or/Ipopt/archive/refs/tags/releases/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/Ipopt-releases-${PV}"
+
+LICENSE="EPL-1.0 hsl? ( HSL )"
+SLOT="0/1"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="hsl +lapack mpi mumps static-libs test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ virtual/blas
+ hsl? ( sci-libs/coinhsl:0= )
+ lapack? ( virtual/lapack )
+ mpi? ( virtual/mpi )
+ mumps? ( sci-libs/mumps:0=[mpi=] )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? ( sci-libs/coinor-sample sci-libs/mumps )"
+
+src_prepare() {
+ if use mpi ; then
+ export CXX=mpicxx FC=mpif77 F77=mpif77 CC=mpicc
+ fi
+ default
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_with doc dot)
+ )
+
+ if use lapack; then
+ myeconfargs+=( --with-lapack="$($(tc-getPKG_CONFIG) --libs lapack)" )
+ else
+ myeconfargs+=( --without-lapack )
+ fi
+ if use mumps; then
+ myeconfargs+=(
+ --with-mumps-incdir="${EPREFIX}"/usr/include$(usex mpi '' '/mpiseq')
+ --with-mumps-lib="-lmumps_common -ldmumps -lzmumps -lsmumps -lcmumps" )
+ else
+ myeconfargs+=( --without-mumps )
+ fi
+ if use hsl; then
+ myeconfargs+=(
+ --with-hsl-incdir="${EPREFIX}"/usr/include
+ --with-hsl-lib="$($(tc-getPKG_CONFIG) --libs coinhsl)" )
+ else
+ myeconfargs+=( --without-hsl )
+ fi
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ default
+ docs_compile
+}
+
+src_install() {
+ default
+ dodoc -r examples
+}
diff --git a/sci-libs/ipopt/metadata.xml b/sci-libs/ipopt/metadata.xml
index 465f5eae75b3..f5b474167afc 100644
--- a/sci-libs/ipopt/metadata.xml
+++ b/sci-libs/ipopt/metadata.xml
@@ -2,20 +2,24 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
</maintainer>
<longdescription lang="en">
- Ipopt is a solver for large-scale nonlinear continuous
- optimization. It can be used from modeling environments, such as
- AMPL, GAMS, or Matlab, and it is also available as a callable library with
- interfaces to C++, C, and Fortran. Ipopt uses an interior point
- method, together with a filter linear search procedure. Ipopt is
- part of the larger COIN-OR initiative (Computational Infrastructure
- for Operations Research).
+ Ipopt is a solver for large-scale nonlinear continuous
+ optimization. It can be used from modeling environments, such as
+ AMPL, GAMS, or Matlab, and it is also available as a callable library with
+ interfaces to C++, C, and Fortran. Ipopt uses an interior point
+ method, together with a filter linear search procedure. Ipopt is
+ part of the larger COIN-OR initiative (Computational Infrastructure
+ for Operations Research).
</longdescription>
<use>
- <flag name="hsl">hsl</flag>
- <flag name="mumps">Enable <pkg>sci-libs/mumps</pkg> support</flag>
+ <flag name="hsl">hsl</flag>
+ <flag name="mumps">Enable <pkg>sci-libs/mumps</pkg> support</flag>
</use>
+<upstream>
+ <bugs-to>https://github.com/coin-or/Ipopt/issues</bugs-to>
+ <remote-id type="github">coin-or/Ipopt</remote-id>
+</upstream>
</pkgmetadata>