Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 5 Sep 2013 16:20:14 +0000 (UTC)
From:      Pietro Cerutti <gahr@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r326410 - in head/math/abacus: . files
Message-ID:  <201309051620.r85GKE2h035992@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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 <bsd.port.mk>

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201309051620.r85GKE2h035992>