summaryrefslogtreecommitdiff
path: root/math/csdp
diff options
context:
space:
mode:
authorYuri Victorovich <yuri@FreeBSD.org>2019-12-22 00:55:53 +0000
committerYuri Victorovich <yuri@FreeBSD.org>2019-12-22 00:55:53 +0000
commitc4081f1fe7793f6acadf53a376a2f999f63911cc (patch)
tree69fa33540161553f26317750fe8718b927c8579f /math/csdp
parent- Update to 8.0.9 (diff)
New port: math/csdp: Solver for semidefinite programming problems
Notes
Notes: svn path=/head/; revision=520600
Diffstat (limited to 'math/csdp')
-rw-r--r--math/csdp/Makefile37
-rw-r--r--math/csdp/distinfo3
-rw-r--r--math/csdp/files/patch-Makefile33
-rw-r--r--math/csdp/pkg-descr10
4 files changed, 83 insertions, 0 deletions
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 <bsd.port.mk>
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