diff options
-rw-r--r-- | sci-libs/ipopt/Manifest | 1 | ||||
-rw-r--r-- | sci-libs/ipopt/ipopt-3.14.4.ebuild | 76 | ||||
-rw-r--r-- | sci-libs/ipopt/metadata.xml | 26 |
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> |