diff --git a/math/Makefile b/math/Makefile index 4e0984beb460..4773b7c524a9 100644 --- a/math/Makefile +++ b/math/Makefile @@ -197,6 +197,7 @@ SUBDIR += cppad SUBDIR += crlibm SUBDIR += cryptominisat + SUBDIR += csdp SUBDIR += curv SUBDIR += cvc3 SUBDIR += cvc4 diff --git a/math/csdp/Makefile b/math/csdp/Makefile new file mode 100644 index 000000000000..10116127e60d --- /dev/null +++ b/math/csdp/Makefile @@ -0,0 +1,37 @@ +# $FreeBSD$ + +PORTNAME= csdp +DISTVERSIONPREFIX= releases/ +DISTVERSION= 6.2.0 +CATEGORIES= math +PKGNAMEPREFIX= coin-or- + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Solver for semidefinite programming problems + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +LIB_DEPENDS= libblas.so:math/blas \ + liblapack.so:math/lapack + +USES= gmake +USE_GITHUB= yes +GH_ACCOUNT= coin-or +GH_PROJECT= Csdp +USE_LDCONFIG= yes + +MAKE_ARGS= FREEBSD_CFLAGS="${CFLAGS}" FREEBSD_LIBS="${LIBS} -L${LOCALBASE}/lib" + +BINARY_ALIAS= make=${GMAKE} + +PLIST_FILES= bin/complement \ + bin/csdp \ + bin/graphtoprob \ + bin/rand_graph \ + bin/theta + +post-stage: + @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/* + +.include diff --git a/math/csdp/distinfo b/math/csdp/distinfo new file mode 100644 index 000000000000..6706f4c6f1a6 --- /dev/null +++ b/math/csdp/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1576975110 +SHA256 (coin-or-Csdp-releases-6.2.0_GH0.tar.gz) = 3d341974af1f8ed70e1a37cc896e7ae4a513375875e5b46db8e8f38b7680b32f +SIZE (coin-or-Csdp-releases-6.2.0_GH0.tar.gz) = 523556 diff --git a/math/csdp/files/patch-Makefile b/math/csdp/files/patch-Makefile new file mode 100644 index 000000000000..edb5223924a4 --- /dev/null +++ b/math/csdp/files/patch-Makefile @@ -0,0 +1,33 @@ +--- Makefile.orig 2017-07-25 18:44:57 UTC ++++ Makefile +@@ -11,11 +11,11 @@ + # + # CFLAGS settings for 64 bit Linux/unix systems. + # +-export CFLAGS=-m64 -march=native -mtune=native -Ofast -fopenmp -ansi -Wall -DBIT64 -DUSEOPENMP -DSETNUMTHREADS -DUSESIGTERM -DUSEGETTIME -I../include ++CFLAGS=$(FREEBSD_CFLAGS) -fopenmp -ansi -Wall -DBIT64 -DUSEOPENMP -DSETNUMTHREADS -DUSESIGTERM -DUSEGETTIME -I../include + # + # LIBS settings for 64 bit Linux/unix systems. + # +-export LIBS=-static -L../lib -lsdp -llapack -lblas -lm ++LIBS=$(FREEBSD_LIBS) -L../lib -lsdp -llapack -lblas -lm + # + # + # On most systems, this should handle everything. +@@ -38,11 +38,11 @@ unitTest: + # + + install: +- cp -f solver/csdp /usr/local/bin +- cp -f theta/theta /usr/local/bin +- cp -f theta/graphtoprob /usr/local/bin +- cp -f theta/complement /usr/local/bin +- cp -f theta/rand_graph /usr/local/bin ++ cp -f solver/csdp $(DESTDIR)$(PREFIX)/bin ++ cp -f theta/theta $(DESTDIR)$(PREFIX)/bin ++ cp -f theta/graphtoprob $(DESTDIR)$(PREFIX)/bin ++ cp -f theta/complement $(DESTDIR)$(PREFIX)/bin ++ cp -f theta/rand_graph $(DESTDIR)$(PREFIX)/bin + + # + # Clean out all of the directories. diff --git a/math/csdp/pkg-descr b/math/csdp/pkg-descr new file mode 100644 index 000000000000..94e98fbf5825 --- /dev/null +++ b/math/csdp/pkg-descr @@ -0,0 +1,10 @@ +CSDP is a library of routines that implements a predictor corrector variant of +the semidefinite programming algorithm of Helmberg, Rendl, Vanderbei, and +Wolkowicz. The main advantages of this code are that it is written to be used as +a callable subroutine, it is written in C for efficiency, the code runs in +parallel on shared memory multi-processor systems, and it makes effective use of +sparsity in the constraint matrices. CSDP has been compiled on many different +systems. The code should work on any system with an ANSI C Compiler and +BLAS/LAPACK libraries. + +WWW: https://github.com/coin-or/Csdp