diff options
author | Pietro Cerutti <gahr@FreeBSD.org> | 2013-09-05 16:20:13 +0000 |
---|---|---|
committer | Pietro Cerutti <gahr@FreeBSD.org> | 2013-09-05 16:20:13 +0000 |
commit | 183222e2967913fa3efdd12089223486bcbef7cc (patch) | |
tree | 4ec7aec69d944ad7b52808449e6ac61e7f42cd12 /math | |
parent | 191069cfbed5b98eba647cffbdb21c5745d8124e (diff) | |
download | ports-183222e2967913fa3efdd12089223486bcbef7cc.tar.gz ports-183222e2967913fa3efdd12089223486bcbef7cc.zip |
Notes
Diffstat (limited to 'math')
-rw-r--r-- | math/abacus/Makefile | 37 | ||||
-rw-r--r-- | math/abacus/distinfo | 2 | ||||
-rw-r--r-- | math/abacus/files/patch-Makefile | 74 | ||||
-rw-r--r-- | math/abacus/pkg-descr | 24 | ||||
-rw-r--r-- | math/abacus/pkg-plist | 105 |
5 files changed, 242 insertions, 0 deletions
diff --git a/math/abacus/Makefile b/math/abacus/Makefile new file mode 100644 index 000000000000..f12827fc76c8 --- /dev/null +++ b/math/abacus/Makefile @@ -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> diff --git a/math/abacus/distinfo b/math/abacus/distinfo new file mode 100644 index 000000000000..a3d36479b773 --- /dev/null +++ b/math/abacus/distinfo @@ -0,0 +1,2 @@ +SHA256 (abacus-3.2betaU1.tar.gz) = 149756f80de838f24af73ba30f0dfdac90495852dd40ceb6bec6043c78daf118 +SIZE (abacus-3.2betaU1.tar.gz) = 426502 diff --git a/math/abacus/files/patch-Makefile b/math/abacus/files/patch-Makefile new file mode 100644 index 000000000000..914de626f6dc --- /dev/null +++ b/math/abacus/files/patch-Makefile @@ -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 diff --git a/math/abacus/pkg-descr b/math/abacus/pkg-descr new file mode 100644 index 000000000000..68e34500fb0b --- /dev/null +++ b/math/abacus/pkg-descr @@ -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/ diff --git a/math/abacus/pkg-plist b/math/abacus/pkg-plist new file mode 100644 index 000000000000..5e86c8a01dee --- /dev/null +++ b/math/abacus/pkg-plist @@ -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 |