View | Details | Raw Unified | Return to bug 199243
Collapse All | Expand All

(-)math/abacus/Makefile (-15 / +18 lines)
Lines 3-38 Link Here
3
3
4
PORTNAME=	abacus
4
PORTNAME=	abacus
5
DISTVERSION=	3.2betaU1
5
DISTVERSION=	3.2betaU1
6
PORTREVISION=	4
6
PORTREVISION=	5
7
CATEGORIES=	math
7
CATEGORIES=	math
8
MASTER_SITES=	http://www.informatik.uni-koeln.de/abacus/
8
MASTER_SITES=	http://www.informatik.uni-koeln.de/abacus/
9
9
10
MAINTAINER=	ports@FreeBSD.org
10
MAINTAINER=	ports@FreeBSD.org
11
COMMENT=	Branch-And-CUt System
11
COMMENT=	Branch-And-CUt System
12
12
13
LICENSE=	GPLv2
13
LICENSE=	LGPL21 # (or later)
14
14
15
LIB_DEPENDS=	libClp.so:${PORTSDIR}/math/coinmp
15
LIB_DEPENDS=	libClp.so:${PORTSDIR}/math/coinmp
16
16
17
USE_GCC=	yes
17
NO_WRKSUBDIR=	yes
18
18
USES=		gmake perl5
19
USES=		gmake perl5
19
USE_PERL5=	build
20
USE_PERL5=	build
20
USE_LDCONFIG=	yes
21
ALL_TARGET=	abacus
21
ALL_TARGET=	abacus
22
22
USE_LDCONFIG=	yes
23
WRKSRC=		${WRKDIR}
24
23
25
post-patch:
24
post-patch:
26
	${REINPLACE_CMD} -e '\
25
	@${REINPLACE_CMD} -e \
27
	    s|%%LOCALBASE%%|${LOCALBASE}|g; \
26
		's|%%LOCALBASE%%|${LOCALBASE}| ; \
28
	    s|%%CXX%%|${CXX}|g; \
27
		 s|%%CXX%%|${CXX}| ; \
29
	    s|%%PERL5%%|${PERL5}|g' \
28
		 s|%%PERL5%%|${PERL5}| ; \
30
	    ${WRKSRC}/Makefile
29
		 s|%%CXXFLAGS%%|${CXXFLAGS}|' ${WRKSRC}/Makefile
31
30
32
do-install:
31
do-install:
33
	${INSTALL_DATA} ${WRKSRC}/lib/linux20-gcc44/libabacus-osi.a ${STAGEDIR}${PREFIX}/lib/libabacus-osi.a
32
	@(cd ${WRKSRC}/Include && ${COPYTREE_SHARE} abacus \
34
	${INSTALL_PROGRAM} ${WRKSRC}/lib/linux20-gcc44/libabacus-osi.so ${STAGEDIR}${PREFIX}/lib/libabacus-osi.so.1
33
		${STAGEDIR}${PREFIX}/include)
35
	${LN} -sf libabacus-osi.so.1 ${STAGEDIR}${PREFIX}/lib/libabacus-osi.so
34
	(cd ${WRKSRC}/lib/linux20-gcc44 && ${INSTALL_DATA} libabacus-osi.a \
36
	cd ${WRKSRC}/Include && ${COPYTREE_SHARE} abacus ${STAGEDIR}${PREFIX}/include
35
		${STAGEDIR}${PREFIX}/lib)
36
	(cd ${WRKSRC}/lib/linux20-gcc44 && ${INSTALL_LIB} libabacus-osi.so.1 \
37
		${STAGEDIR}${PREFIX}/lib)
38
	@${LN} -sf libabacus-osi.so.1 \
39
		${STAGEDIR}${PREFIX}/lib/libabacus-osi.so
37
40
38
.include <bsd.port.mk>
41
.include <bsd.port.mk>
(-)math/abacus/files/patch-Makefile (-3 / +12 lines)
Lines 31-36 Link Here
31
 
31
 
32
 # Gnu cp
32
 # Gnu cp
33
 GCP	    = /bin/cp
33
 GCP	    = /bin/cp
34
@@ -59,7 +59,7 @@
35
 CPLEXFLAGS      = -DCPX_PROTOTYPE_ANSI -DPROTOTYPE_MAX
36
 CCFLAG_SYS      = -DABACUS_SYS_LINUX -DABACUS_THROW_WITH_INFO
37
 CCFLAG_COMPILER = -DABACUS_COMPILER_GCC43 -Wall
38
-CCFLAG_DEBOPT   = -O2
39
+CCFLAG_DEBOPT   = %%CXXFLAGS%%
40
 CCFLAG_PARALLEL =
41
 
42
 # default parallel flags (to be defined in machine specific makefile).
34
@@ -141,7 +141,8 @@
43
@@ -141,7 +141,8 @@
35
 DEPEND = $(OBJDIR)/Makefile.dep
44
 DEPEND = $(OBJDIR)/Makefile.dep
36
 
45
 
Lines 47-60 Link Here
47
 # The basic ABACUS library
56
 # The basic ABACUS library
48
-abacus-base:	$(LIBDIR)/stuff/abacus-base.a
57
-abacus-base:	$(LIBDIR)/stuff/abacus-base.a
49
+abacus-base-static:	$(LIBDIR)/stuff/abacus-base.a
58
+abacus-base-static:	$(LIBDIR)/stuff/abacus-base.a
50
+abacus-base-shared:	$(LIBDIR)/stuff/abacus-base.so
59
+abacus-base-shared:	$(LIBDIR)/stuff/abacus-base.so.1
51
 
60
 
52
 $(LIBDIR)/stuff/abacus-base.a: $(ABACUS_O)
61
 $(LIBDIR)/stuff/abacus-base.a: $(ABACUS_O)
53
 	rm -f $@
62
 	rm -f $@
54
 	@$(PRE_ARCHIVE) $(ABACUS_O)
63
 	@$(PRE_ARCHIVE) $(ABACUS_O)
55
 	$(ARCHIVE) $@ $(ABACUS_O)
64
 	$(ARCHIVE) $@ $(ABACUS_O)
56
 
65
 
57
+$(LIBDIR)/stuff/abacus-base.so: $(ABACUS_O)
66
+$(LIBDIR)/stuff/abacus-base.so.1: $(ABACUS_O)
58
+	rm -f $@
67
+	rm -f $@
59
+	$(CXX) -shared -o $@ $(ABACUS_O)
68
+	$(CXX) -shared -o $@ $(ABACUS_O)
60
+
69
+
Lines 68-74 Link Here
68
 
77
 
69
 abacus: lib-all
78
 abacus: lib-all
70
 	cp $(LIBDIR)/stuff/abacus-base.a $(LIBDIR)/libabacus-osi.a
79
 	cp $(LIBDIR)/stuff/abacus-base.a $(LIBDIR)/libabacus-osi.a
71
+	cp $(LIBDIR)/stuff/abacus-base.so $(LIBDIR)/libabacus-osi.so
80
+	cp $(LIBDIR)/stuff/abacus-base.so.1 $(LIBDIR)/libabacus-osi.so.1
72
 	mkdir $(LIBDIR)/temp
81
 	mkdir $(LIBDIR)/temp
73
 	cd $(LIBDIR)/temp; ar x ../stuff/interface-osi.a 
82
 	cd $(LIBDIR)/temp; ar x ../stuff/interface-osi.a 
74
 	find $(LIBDIR)/temp -name \*.o | xargs -n1 ar r $(LIBDIR)/libabacus-osi.a
83
 	find $(LIBDIR)/temp -name \*.o | xargs -n1 ar r $(LIBDIR)/libabacus-osi.a
(-)math/abacus/pkg-descr (-16 / +16 lines)
Lines 1-24 Link Here
1
ABACUS is a software system written in C++ that provides a framework for the
1
ABACUS is a software system written in C++ that provides a framework for
2
implementation of branch-and-bound algorithms using linear programming
2
the implementation of branch-and-bound algorithms using linear programming
3
relaxations. Cutting planes or columns can be generated dynamically
3
relaxations. Cutting planes or columns can be generated dynamically
4
(branch-and-cut, branch-and-price, branch-and-cut-and-price).
4
(branch-and-cut, branch-and-price, branch-and-cut-and-price).
5
5
6
ABACUS allows the software developer to concentrate merely on the problem
6
ABACUS allows the software developer to concentrate merely on the problem
7
specific parts, i.e., the separation of cutting planes, column generation, and
7
specific parts, i.e., the separation of cutting planes, column generation,
8
primal heuristics. ABACUS supports the Open Solver Interface (Osi) developed
8
and primal heuristics. ABACUS supports the Open Solver Interface (Osi)
9
by the COIN-OR (COmputational INfrastructure for Operations Research) project
9
developed by the COIN-OR (COmputational INfrastructure for Operations
10
which means that every solver supported by OSI can be used to solve the
10
Research) project which means that every solver supported by OSI can be
11
relaxations.
11
used to solve the relaxations.
12
12
13
Moreover, ABACUS provides a variety of general algorithmic concepts, e.g., a
13
Moreover, ABACUS provides a variety of general algorithmic concepts, e.g.,
14
list of different enumeration and branching strategies from which the best
14
a list of different enumeration and branching strategies from which the
15
alternative for the user's application can be chosen.
15
best alternative for the user's application can be chosen.
16
16
17
Finally, ABACUS provides many basic data structures and useful tools for the
17
Finally, ABACUS provides many basic data structures and useful tools for
18
implementation of such algorithms. It is designed both for general mixed
18
the implementation of such algorithms. It is designed both for general
19
integer optimization problems and for combinatorial optimization problems. It
19
mixed integer optimization problems and for combinatorial optimization
20
unifies cutting plane and column generation within one algorithm framework.
20
problems. It unifies cutting plane and column generation within one
21
Simple reuse of code and the design of abstract data structures and algorithms
21
algorithm framework. Simple reuse of code and the design of abstract data
22
are met by object oriented programming modules. 
22
structures and algorithms are met by object oriented programming modules.
23
23
24
WWW: http://www.informatik.uni-koeln.de/abacus/
24
WWW: http://www.informatik.uni-koeln.de/abacus/
(-)math/abacus/pkg-plist (-3 / +3 lines)
Lines 1-6 Link Here
1
lib/libabacus-osi.a
2
lib/libabacus-osi.so
3
lib/libabacus-osi.so.1
4
include/abacus/abacusroot.h
1
include/abacus/abacusroot.h
5
include/abacus/active.h
2
include/abacus/active.h
6
include/abacus/active.inc
3
include/abacus/active.inc
Lines 102-104 Link Here
102
include/abacus/valbranchrule.h
99
include/abacus/valbranchrule.h
103
include/abacus/variable.h
100
include/abacus/variable.h
104
include/abacus/vartype.h
101
include/abacus/vartype.h
102
lib/libabacus-osi.a
103
lib/libabacus-osi.so
104
lib/libabacus-osi.so.1

Return to bug 199243