Date: Thu, 24 May 2012 05:14:59 GMT From: Pedro Giffuni <giffunip@tutopia.com> To: freebsd-gnats-submit@FreeBSD.org Subject: ports/168290: New port: math/ipopt Message-ID: <201205240514.q4O5Ex8i033022@red.freebsd.org> Resent-Message-ID: <201205240520.q4O5K1d0085045@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 168290 >Category: ports >Synopsis: New port: math/ipopt >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Thu May 24 05:20:01 UTC 2012 >Closed-Date: >Last-Modified: >Originator: Pedro Giffuni >Release: FreeBSD 9.0 RELEASE >Organization: >Environment: FreeBSD pcbsd-8714 9.0-RELEASE-p1 FreeBSD 9.0-RELEASE-p1 #1 r235614M: Fri May 18 14:09:53 COT 2012 pedro@pcbsd-8714:/usr/src/sys/amd64/compile/GENERIC amd6 >Description: Ipopt (Interior Point OPTimizer) is a software package library for large-scale ​nonlinear optimization. It is part of the COIN-OR initiative. This port requires a linear solver and I chose to use mumps as it is the only one that is available without restrictions. Unfortunately it was not possible to make configure accept the prepackaged versions so we are using the distribution provided script to download the source tarballs. Both libraries are statically linked so there is no major consequence. The patches were submitted upstream: they teach the scripts to use fetch(1) when wget is not available. >How-To-Repeat: >Fix: Patch attached with submission follows: # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # ipopt # ipopt/pkg-plist # ipopt/pkg-descr # ipopt/distinfo # ipopt/Makefile # ipopt/files # ipopt/files/patch-ThirdParty+Metis+get.Metis # ipopt/files/patch-ThirdParty+Mumps+get.Mumps # echo c - ipopt mkdir -p ipopt > /dev/null 2>&1 echo x - ipopt/pkg-plist sed 's/^X//' >ipopt/pkg-plist << '6ecc09ddab167250bbd29c5fb71da885' X Xinclude/coin/IpAlgTypes.hpp Xinclude/coin/IpBlas.hpp Xinclude/coin/IpCachedResults.hpp Xinclude/coin/IpCompoundVector.hpp Xinclude/coin/IpDebug.hpp Xinclude/coin/IpDenseVector.hpp Xinclude/coin/IpException.hpp Xinclude/coin/IpIpoptApplication.hpp Xinclude/coin/IpIpoptCalculatedQuantities.hpp Xinclude/coin/IpIpoptData.hpp Xinclude/coin/IpIpoptNLP.hpp Xinclude/coin/IpIteratesVector.hpp Xinclude/coin/IpJournalist.hpp Xinclude/coin/IpLapack.hpp Xinclude/coin/IpMatrix.hpp Xinclude/coin/IpNLP.hpp Xinclude/coin/IpNLPScaling.hpp Xinclude/coin/IpObserver.hpp Xinclude/coin/IpOptionsList.hpp Xinclude/coin/IpOrigIpoptNLP.hpp Xinclude/coin/IpReferenced.hpp Xinclude/coin/IpRegOptions.hpp Xinclude/coin/IpReturnCodes.h Xinclude/coin/IpReturnCodes.hpp Xinclude/coin/IpReturnCodes.inc Xinclude/coin/IpReturnCodes_inc.h Xinclude/coin/IpSmartPtr.hpp Xinclude/coin/IpSolveStatistics.hpp Xinclude/coin/IpStdCInterface.h Xinclude/coin/IpSymMatrix.hpp Xinclude/coin/IpTNLP.hpp Xinclude/coin/IpTNLPAdapter.hpp Xinclude/coin/IpTNLPReducer.hpp Xinclude/coin/IpTaggedObject.hpp Xinclude/coin/IpTimedTask.hpp Xinclude/coin/IpTimingStatistics.hpp Xinclude/coin/IpTypes.hpp Xinclude/coin/IpUtils.hpp Xinclude/coin/IpVector.hpp Xinclude/coin/IpoptConfig.h Xinclude/coin/ThirdParty/defs.h Xinclude/coin/ThirdParty/dmumps_c.h Xinclude/coin/ThirdParty/macros.h Xinclude/coin/ThirdParty/metis.h Xinclude/coin/ThirdParty/mpi.h Xinclude/coin/ThirdParty/mumps_c_types.h Xinclude/coin/ThirdParty/mumps_compat.h Xinclude/coin/ThirdParty/proto.h Xinclude/coin/ThirdParty/rename.h Xinclude/coin/ThirdParty/struct.h X@dirrm include/coin/ThirdParty X@dirrmtry include/coin Xlib/libcoinmetis.la Xlib/libcoinmetis.so Xlib/libcoinmetis.so.3 Xlib/libcoinmumps.la Xlib/libcoinmumps.so Xlib/libcoinmumps.so.5 Xlib/libipopt.la Xlib/libipopt.so Xlib/libipopt.so.9 Xlibdata/pkgconfig/coinmetis.pc Xlibdata/pkgconfig/coinmumps.pc Xlibdata/pkgconfig/ipopt.pc X%%PORTDOCS%%%%DOCSDIR%%/Ipopt/AUTHORS X%%PORTDOCS%%%%DOCSDIR%%/Ipopt/LICENSE X%%PORTDOCS%%%%DOCSDIR%%/Ipopt/README X%%PORTDOCS%%%%DOCSDIR%%/Ipopt/ipopt_addlibs_c.txt X%%PORTDOCS%%%%DOCSDIR%%/Ipopt/ipopt_addlibs_cpp.txt X%%PORTDOCS%%%%DOCSDIR%%/Ipopt/ipopt_addlibs_f.txt X%%PORTDOCS%%@dirrm %%DOCSDIR%%/Ipopt X%%PORTDOCS%%@dirrm %%DOCSDIR%% 6ecc09ddab167250bbd29c5fb71da885 echo x - ipopt/pkg-descr sed 's/^X//' >ipopt/pkg-descr << '64c6e12b481b101dda788756ff8cbda3' XIpopt (Interior Point OPTimizer, pronounced eye-pea-Opt) is a software Xpackage for large-scale nonlinear optimization. X XIpopt is written in C++ and is released as open source code under the XEclipse Public License (EPL). It is available from the COIN-OR Xinitiative. The code has been written by Carl Laird and Andreas Wchter, Xwho is the COIN project leader for Ipopt. X XThe Ipopt distribution can be used to generate a library that can be Xlinked to one's own C++, C, or Fortran code, as well as a solver Xexecutable for the AMPL modeling environment. The package includes Xinterfaces to CUTEr optimization testing environment, as well as the XMATLAB and R programming environments. IPOPT can be used on Linux/UNIX, XMac OS X and Windows platforms. X XAn excellent reference for this library can be found in: X XWachter and L. T. Biegler, On the Implementation of a Primal-Dual Interior XPoint Filter Line Search Algorithm for Large-Scale Nonlinear Programming, XMathematical Programming 106(1), pp. 25-57, 2006 X XWWW: https://projects.coin-or.org/Ipopt 64c6e12b481b101dda788756ff8cbda3 echo x - ipopt/distinfo sed 's/^X//' >ipopt/distinfo << '91f25c0f4d480f646025dee71ae6d50c' XSHA256 (Ipopt-3.10.2.tgz) = 3b4dd62c1dc730e66c090b6ce11620f5951f427c7ab0a8a33b1eaa78311b6d0d XSIZE (Ipopt-3.10.2.tgz) = 4412891 91f25c0f4d480f646025dee71ae6d50c echo x - ipopt/Makefile sed 's/^X//' >ipopt/Makefile << 'b0d34fd7b0d00ade03691f3ba24641c7' X# New ports collection makefile for: Ipopt X# Date created: 22 June 2011 X# Whom: Pedro Giffuni X# X# $FreeBSD$ X# X XPORTNAME= Ipopt XPORTVERSION= 3.10.2 XCATEGORIES= math XMASTER_SITES= http://www.coin-or.org/download/source/Ipopt/ XEXTRACT_SUFX= .tgz X XMAINTAINER= giffunip@tutopia.com XCOMMENT= Software package for large-scale nonlinear optimization X XLICENSE= EPL X XUSE_AUTOTOOLS= libtool XUSE_LDCONFIG= yes X XUSE_FORTRAN= yes X XLIB_DEPENDS+= lapack.4:${PORTSDIR}/math/lapack X XCONFIGURE_ENV= --with-lapack-lib="-llapack -L/${LOCALBASE}/lib" \ X --with-lapack-incdir=${LOCALBASE}/include/lapack X XCXXFLAGS+= -ffast-math X.ifndef WITH_DEBUG XCXXFLAGS+= -fomit-frame-pointer X.endif X X# Configure tends to ignore prepackaged solvers so we need to fetch X# the few of them that are freely available. X# This should be moved to post-extract after upstream commits support X# for our fetch(1) command. Xpost-patch: X @(cd ${WRKSRC}/ThirdParty/Metis; ${SH} get.Metis) X @(cd ${WRKSRC}/ThirdParty/Mumps; ${SH} get.Mumps) X Xpost-install: X ${MKDIR} ${PREFIX}/libdata/pkgconfig X ${MV} ${PREFIX}/lib/pkgconfig/*.pc ${PREFIX}/libdata/pkgconfig X ${RMDIR} ${PREFIX}/lib/pkgconfig X.ifndef NOPORTDOCS X ${MV} ${PREFIX}/share/coin/doc ${DOCSDIR} X.endif X ${RM} -rf ${PREFIX}/share/coin X Xcheck regression-test test: build X @(cd ${WRKSRC}; ${SETENV} ${MAKE_ENV} ${MAKE} ${_MAKE_JOBS} \ X ${MAKE_ARGS} test) X X.include <bsd.port.mk> b0d34fd7b0d00ade03691f3ba24641c7 echo c - ipopt/files mkdir -p ipopt/files > /dev/null 2>&1 echo x - ipopt/files/patch-ThirdParty+Metis+get.Metis sed 's/^X//' >ipopt/files/patch-ThirdParty+Metis+get.Metis << '1865bb74431e07aeede5fbd95e8e8619' X--- ThirdParty/Metis/get.Metis.orig 2012-05-23 15:04:47.000000000 -0500 X+++ ThirdParty/Metis/get.Metis 2012-05-23 15:06:56.000000000 -0500 X@@ -9,6 +9,9 @@ X if test `uname` = Darwin; then X wgetcmd=ftp X echo "Using ftp command instead." X+ elif test `uname` = FreeBSD; then X+ wgetcmd=fetch X+ echo "Using fetch command instead." X else X exit -1 X fi 1865bb74431e07aeede5fbd95e8e8619 echo x - ipopt/files/patch-ThirdParty+Mumps+get.Mumps sed 's/^X//' >ipopt/files/patch-ThirdParty+Mumps+get.Mumps << '37112c979ca2cb4b9c2964ef9df9aae8' X--- ThirdParty/Mumps/get.Mumps.orig 2012-05-23 15:12:47.000000000 -0500 X+++ ThirdParty/Mumps/get.Mumps 2012-05-23 15:14:03.000000000 -0500 X@@ -13,6 +13,9 @@ X if test `uname` = Darwin; then X wgetcmd=ftp X echo "Using ftp command instead." X+ elif test `uname` = FreeBSD; then X+ wgetcmd=fetch X+ echo "Using fetch command instead." X else X exit -1 X fi 37112c979ca2cb4b9c2964ef9df9aae8 exit >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201205240514.q4O5Ex8i033022>