From owner-svn-ports-head@FreeBSD.ORG Thu Sep 5 16:20:15 2013 Return-Path: Delivered-To: svn-ports-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 1E401B85; Thu, 5 Sep 2013 16:20:15 +0000 (UTC) (envelope-from gahr@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 0C2E72D84; Thu, 5 Sep 2013 16:20:15 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r85GKEDf036000; Thu, 5 Sep 2013 16:20:14 GMT (envelope-from gahr@svn.freebsd.org) Received: (from gahr@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r85GKE2h035992; Thu, 5 Sep 2013 16:20:14 GMT (envelope-from gahr@svn.freebsd.org) Message-Id: <201309051620.r85GKE2h035992@svn.freebsd.org> From: Pietro Cerutti Date: Thu, 5 Sep 2013 16:20:14 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r326410 - in head/math/abacus: . files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Sep 2013 16:20:15 -0000 Author: gahr Date: Thu Sep 5 16:20:13 2013 New Revision: 326410 URL: http://svnweb.freebsd.org/changeset/ports/326410 Log: - New port: math/abacus ABACUS is a software system written in C++ that provides a framework for the implementation of branch-and-bound algorithms using linear programming relaxations. Cutting planes or columns can be generated dynamically (branch-and-cut, branch-and-price, branch-and-cut-and-price). WWW: http://www.informatik.uni-koeln.de/abacus/ Added: head/math/abacus/ head/math/abacus/Makefile (contents, props changed) head/math/abacus/distinfo (contents, props changed) head/math/abacus/files/ head/math/abacus/files/patch-Makefile (contents, props changed) head/math/abacus/pkg-descr (contents, props changed) head/math/abacus/pkg-plist (contents, props changed) Added: head/math/abacus/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/abacus/Makefile Thu Sep 5 16:20:13 2013 (r326410) @@ -0,0 +1,37 @@ +# Created by: gahr +# $FreeBSD$ + +PORTNAME= abacus +DISTVERSION= 3.2betaU1 +CATEGORIES= math +MASTER_SITES= http://www.informatik.uni-koeln.de/abacus/ + +MAINTAINER= gahr@FreeBSD.org +COMMENT= A Branch-And-CUt System + +LICENSE= GPLv2 + +LIB_DEPENDS= Clp:${PORTSDIR}/math/coinmp + +USE_GCC= 4.4+ +USES= gmake perl5 +USE_PERL5= build +USE_LDCONFIG= yes +ALL_TARGET= abacus + +WRKSRC= ${WRKDIR} + +post-patch: + ${REINPLACE_CMD} -e '\ + s|%%LOCALBASE%%|${LOCALBASE}|g; \ + s|%%CXX%%|${CXX}|g; \ + s|%%PERL5%%|${PERL5}|g' \ + ${WRKSRC}/Makefile + +do-install: + ${INSTALL_DATA} ${WRKSRC}/lib/linux20-gcc44/libabacus-osi.a ${PREFIX}/lib/libabacus-osi.a + ${INSTALL_DATA} ${WRKSRC}/lib/linux20-gcc44/libabacus-osi.so ${PREFIX}/lib/libabacus-osi.so.1 + ${LN} -sf libabacus-osi.so.1 ${PREFIX}/lib/libabacus-osi.so + cd ${WRKSRC}/Include && ${COPYTREE_SHARE} abacus ${PREFIX}/include + +.include Added: head/math/abacus/distinfo ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/abacus/distinfo Thu Sep 5 16:20:13 2013 (r326410) @@ -0,0 +1,2 @@ +SHA256 (abacus-3.2betaU1.tar.gz) = 149756f80de838f24af73ba30f0dfdac90495852dd40ceb6bec6043c78daf118 +SIZE (abacus-3.2betaU1.tar.gz) = 426502 Added: head/math/abacus/files/patch-Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/abacus/files/patch-Makefile Thu Sep 5 16:20:13 2013 (r326410) @@ -0,0 +1,74 @@ +--- Makefile.orig 2012-01-06 14:29:04.000000000 +0100 ++++ Makefile 2013-09-05 14:35:52.000000000 +0200 +@@ -7,7 +7,7 @@ + ####################################################################### + + # Path to coin-osi header files +- OSI_INCLUDE=/usr/include/coin ++ OSI_INCLUDE=%%LOCALBASE%%/include/coin + # Path to solver include directories - leave empty if the solver + # is not installed + CLP_PATH=$(OSI_INCLUDE) +@@ -40,7 +40,7 @@ + ####################################################################### + + # gcc +-CCC = g++-4.4 ++CCC = %%CXX%% + + # add files to an archive + ARCHIVE = ar rc +@@ -48,10 +48,10 @@ + # PRE_ARCHIVE is used to instantiate required templates (SGI) + PRE_ARCHIVE = true + +-STRIP = strip -x ++STRIP = true + + AWK = awk +-PERL = /usr/bin/perl ++PERL = %%PERL5%% + + # Gnu cp + GCP = /bin/cp +@@ -141,7 +141,8 @@ + DEPEND = $(OBJDIR)/Makefile.dep + + CCFLAGS = $(ABACUS_INCLUDE) $(CCFLAG_SYS) $(CCFLAG_COMPILER) \ +- $(CCFLAG_TEMPLATE) $(CCFLAG_PARALLEL) $(CCFLAG_DEBOPT) ++ $(CCFLAG_TEMPLATE) $(CCFLAG_PARALLEL) $(CCFLAG_DEBOPT) \ ++ -fPIC + + ####################################################################### + # +@@ -523,15 +524,20 @@ + $(ARCHIVE) $@ $(OSI_O) + + # The basic ABACUS library +-abacus-base: $(LIBDIR)/stuff/abacus-base.a ++abacus-base-static: $(LIBDIR)/stuff/abacus-base.a ++abacus-base-shared: $(LIBDIR)/stuff/abacus-base.so + + $(LIBDIR)/stuff/abacus-base.a: $(ABACUS_O) + rm -f $@ + @$(PRE_ARCHIVE) $(ABACUS_O) + $(ARCHIVE) $@ $(ABACUS_O) + ++$(LIBDIR)/stuff/abacus-base.so: $(ABACUS_O) ++ rm -f $@ ++ $(CXX) -shared -o $@ $(ABACUS_O) ++ + # Build the library distribution directory (lib and lib/stuff) +-lib-all: subdirs abacus-base lpif interface $(ADDITIONAL_LIB_ALL) ++lib-all: subdirs abacus-base-static abacus-base-shared lpif interface $(ADDITIONAL_LIB_ALL) + + # Create a tar file containing all necessary stuff to compile ABACUS on + # a remote system. +@@ -571,6 +577,7 @@ + + abacus: lib-all + cp $(LIBDIR)/stuff/abacus-base.a $(LIBDIR)/libabacus-osi.a ++ cp $(LIBDIR)/stuff/abacus-base.so $(LIBDIR)/libabacus-osi.so + mkdir $(LIBDIR)/temp + cd $(LIBDIR)/temp; ar x ../stuff/interface-osi.a + find $(LIBDIR)/temp -name \*.o | xargs -n1 ar r $(LIBDIR)/libabacus-osi.a Added: head/math/abacus/pkg-descr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/abacus/pkg-descr Thu Sep 5 16:20:13 2013 (r326410) @@ -0,0 +1,24 @@ +ABACUS is a software system written in C++ that provides a framework for the +implementation of branch-and-bound algorithms using linear programming +relaxations. Cutting planes or columns can be generated dynamically +(branch-and-cut, branch-and-price, branch-and-cut-and-price). + +ABACUS allows the software developer to concentrate merely on the problem +specific parts, i.e., the separation of cutting planes, column generation, and +primal heuristics. ABACUS supports the Open Solver Interface (Osi) developed +by the COIN-OR (COmputational INfrastructure for Operations Research) project +which means that every solver supported by OSI can be used to solve the +relaxations. + +Moreover, ABACUS provides a variety of general algorithmic concepts, e.g., a +list of different enumeration and branching strategies from which the best +alternative for the user's application can be chosen. + +Finally, ABACUS provides many basic data structures and useful tools for the +implementation of such algorithms. It is designed both for general mixed +integer optimization problems and for combinatorial optimization problems. It +unifies cutting plane and column generation within one algorithm framework. +Simple reuse of code and the design of abstract data structures and algorithms +are met by object oriented programming modules. + +WWW: http://www.informatik.uni-koeln.de/abacus/ Added: head/math/abacus/pkg-plist ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/abacus/pkg-plist Thu Sep 5 16:20:13 2013 (r326410) @@ -0,0 +1,105 @@ +lib/libabacus-osi.a +lib/libabacus-osi.so +lib/libabacus-osi.so.1 +include/abacus/abacusroot.h +include/abacus/active.h +include/abacus/active.inc +include/abacus/array.h +include/abacus/array.inc +include/abacus/bheap.h +include/abacus/bheap.inc +include/abacus/boundbranchrule.h +include/abacus/bprioqueue.h +include/abacus/bprioqueue.inc +include/abacus/branchrule.h +include/abacus/bstack.h +include/abacus/bstack.inc +include/abacus/buffer.h +include/abacus/buffer.inc +include/abacus/column.h +include/abacus/colvar.h +include/abacus/conbranchrule.h +include/abacus/conclass.h +include/abacus/constraint.h +include/abacus/convar.h +include/abacus/cowtimer.h +include/abacus/cputimer.h +include/abacus/csense.h +include/abacus/cutbuffer.h +include/abacus/cutbuffer.inc +include/abacus/debug.h +include/abacus/dictionary.h +include/abacus/dictionary.inc +include/abacus/dlist.h +include/abacus/dlist.inc +include/abacus/dlistitem.h +include/abacus/dlistitem.inc +include/abacus/dualbound.h +include/abacus/exceptions.h +include/abacus/fastset.h +include/abacus/fixcand.h +include/abacus/fsvarstat.h +include/abacus/global.h +include/abacus/hash.h +include/abacus/hash.inc +include/abacus/history.h +include/abacus/id.h +include/abacus/idmap.h +include/abacus/idmap.inc +include/abacus/infeascon.h +include/abacus/intset.h +include/abacus/list.h +include/abacus/list.inc +include/abacus/listitem.h +include/abacus/listitem.inc +include/abacus/lp.h +include/abacus/lpmaster.h +include/abacus/lpmasterosi.h +include/abacus/lpsolution.h +include/abacus/lpsolution.inc +include/abacus/lpsub.h +include/abacus/lpsubosi.h +include/abacus/lpvarstat.h +include/abacus/master.h +include/abacus/message.h +include/abacus/mtserver.h +include/abacus/nonduplpool.h +include/abacus/nonduplpool.inc +include/abacus/numcon.h +include/abacus/numvar.h +include/abacus/opensub.h +include/abacus/optsense.h +include/abacus/osiif.h +include/abacus/osiinclude.h +include/abacus/ostream.h +include/abacus/parmaster.h +include/abacus/pool.h +include/abacus/pool.inc +include/abacus/poolslot.h +include/abacus/poolslot.inc +include/abacus/poolslotref.h +include/abacus/poolslotref.inc +include/abacus/ring.h +include/abacus/ring.inc +include/abacus/row.h +include/abacus/rowcon.h +include/abacus/separator.h +include/abacus/separator.inc +include/abacus/set.h +include/abacus/setbranchrule.h +include/abacus/slackstat.h +include/abacus/sorter.h +include/abacus/sorter.inc +include/abacus/sparvec.h +include/abacus/srowcon.h +include/abacus/standardpool.h +include/abacus/standardpool.inc +include/abacus/string.h +include/abacus/sub.h +include/abacus/subserver.h +include/abacus/tailoff.h +include/abacus/timer.h +include/abacus/valbranchrule.h +include/abacus/variable.h +include/abacus/vartype.h +@dirrm include/abacus