aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--math/sdpa/Makefile120
-rw-r--r--math/sdpa/distinfo18
-rw-r--r--math/sdpa/files/Makefile51
-rw-r--r--math/sdpa/files/patch-Makefile27
-rw-r--r--math/sdpa/files/patch-rsdpa_include.h30
-rw-r--r--math/sdpa/pkg-descr2
-rw-r--r--math/sdpa/pkg-plist25
7 files changed, 35 insertions, 238 deletions
diff --git a/math/sdpa/Makefile b/math/sdpa/Makefile
index 8ea3a28e1ef8..43fadfbf37a7 100644
--- a/math/sdpa/Makefile
+++ b/math/sdpa/Makefile
@@ -6,125 +6,59 @@
#
PORTNAME= sdpa
-PORTVERSION= 6.2.1
-PORTREVISION= 1
+PORTVERSION= 7.0.5
CATEGORIES= math
MASTER_SITES= http://sdpa.indsys.chuo-u.ac.jp/sdpa/files/
-DISTFILES= ${PORTNAME}.${PORTVERSION}.src.tar.gz
-.if !defined(NOPORTDOCS)
-DISTFILES+= ${PORTNAME}.${OLDVERSION}.manual.ps.gz \
- ${PORTNAME}.${OLDVERSION}.manual.pdf \
- ${PORTNAME}.${OLDVERSION}.install.txt
-.endif
+DISTFILES= ${PORTNAME}.${PORTVERSION}.src.tar.gz ${PORTNAME}.${PORTVERSION}.manual.pdf
DIST_SUBDIR= sdpa
EXTRACT_ONLY= ${PORTNAME}.${PORTVERSION}.src.tar.gz
MAINTAINER= maho@FreeBSD.org
COMMENT= SDPA(SemiDefinite Programming Algorithm) Very efficent SDP Solver
-BROKEN= Depends on math/atlas which is problematic, and waiting for SDPA7
-
-.if defined(WITH_ICC)
-BUILD_DEPENDS+= ${LOCALBASE}/intel_cc_80/bin/icc:${PORTSDIR}/lang/icc
-.endif
+.include <bsd.port.pre.mk>
USE_FORTRAN= yes
-OLDVERSION= 6.2.0
-USE_GMAKE= yes
-WRKSRC= ${WRKDIR}/${PORTNAME}
+CONFIGURE_ENV+= F77="${F77}"
+GNU_CONFIGURE= yes
+LIB_DEPENDS+= spooles:${PORTSDIR}/math/spooles
-#for f2c.h
-BUILD_DEPENDS+= ${LOCALBASE}/lib/libf2c.a:${PORTSDIR}/lang/f2c
+USE_BLAS?= reference
-.include <bsd.port.pre.mk>
+.if exists(${LOCALBASE}/lib/libgoto.so)
+USE_BLAS= gotoblas
+.elif exists(${LOCALBASE}/lib/libatlas_r.so)
+USE_BLAS= atlas
+.endif
-#always needs atlas for lapack.h and blas.h
-#.if exists(${LOCALBASE}/lib/libatlas_r.so) && !defined(WITH_BLAS)
-WITH_ATLAS= yes
-#.endif
-.if defined(WITH_ATLAS)
-LIB_DEPENDS+= atlas.2:${PORTSDIR}/math/atlas
-BLAS= -lcblas -lf77blas -latlas
-LAPACK= -lalapack
-CXXFLAGS+= -DNON_ATLAS_SDPA=0
-.else
-LIB_DEPENDS+= blas.2:${PORTSDIR}/math/blas
-LIB_DEPENDS+= lapack.4:${PORTSDIR}/math/lapack
+. if ${USE_BLAS} == reference
+LIB_DEPENDS+= blas.2:${PORTSDIR}/math/blas
+LIB_DEPENDS+= lapack.4:${PORTSDIR}/math/lapack
BLAS= -lblas
LAPACK= -llapack
-CXXFLAGS+= -DNON_ATLAS_SDPA=1
+.elif ${USE_BLAS} == gotoblas
+LIB_DEPENDS+= goto:${PORTSDIR}/math/gotoblas
+LIB_DEPENDS+= lapack.4:${PORTSDIR}/math/lapack
+BLAS= -lgotop
+LAPACK= -lgotop -llapack
+.elif ${USE_BLAS} == atlas
+LIB_DEPENDS+= atlas:${PORTSDIR}/math/atlas
+BLAS= -lptf77blas -lptcblas -latlas_r
+LAPACK= -lalapack_r
.endif
-FORTRANLIBS= -lgfortranbegin -lgfortran
-GCCLIBDIR= -L`${CAT} ${WRKSRC}/LIBDIR` -L`${CAT} ${WRKSRC}/LIBDIR`/../../..
-PLIST_SUB+= PORTVERSION="${PORTVERSION}"
-#WITH_SMP= yes
-#WITH_ICC= yes
-
-.if defined(WITH_OPTIMIZED_FLAGS)
-.if ${ARCH} == "amd64"
-CFLAGS+= -pipe -O3 -ffast-math -funroll-all-loops -fpeel-loops -ftracer -funswitch-loops -funit-at-a-time
-CXXFLAGS+= -pipe -O3 -ffast-math -funroll-all-loops -fpeel-loops -ftracer -funswitch-loops -funit-at-a-time
-.elif ${ARCH} == "i386"
-CFLAGS+= -O3 -ffast-math -finline-functions -fomit-frame-pointer -funroll-loops -fexpensive-optimizations -malign-double -mcpu=i686 -march=i686 -mfancy-math-387 -mpreferred-stack-boundary=3
-CXXFLAGS+= -O3 -ffast-math -finline-functions -fomit-frame-pointer -funroll-loops -fexpensive-optimizations -Wno-multichar -malign-double -mcpu=i686 -march=i686 -mfancy-math-387 -mpreferred-stack-boundary=3
-.else
-CFLAGS+= -O3 -ffast-math -finline-functions -fomit-frame-pointer -funroll-loops -fexpensive-optimizations
-CXXFLAGS+= -O3 -ffast-math -finline-functions -fomit-frame-pointer -funroll-loops -fexpensive-optimizations -Wno-multichar
-.endif
-.endif
-
-.if defined(WITH_ICC)
-CC= ${LOCALBASE}/intel_cc_80/bin/icc
-CXX= ${LOCALBASE}/intel_cc_80/bin/icpc
-CFLAGS= -O3 -tpp7 -axN -Vaxlib
-CXXFLAGS= -O3 -tpp7 -axN -Vaxlib
-.endif
-
-pre-build:
- @${CP} ${FILESDIR}/Makefile ${WRKDIR}
- @${DIRNAME} `${FC} -print-libgcc-file-name` > ${WRKSRC}/LIBDIR
- @${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g ; \
- s|%%LOCALBASE%%|${LOCALBASE}|g ; \
- s|%%LAPACK%%|${LAPACK}|g ; \
- s|%%BLAS%%|${BLAS}|g ; \
- s|%%FORTRANLIBS%%|${FORTRANLIBS}|g ; \
- s|%%GCCLIBDIR%%|${GCCLIBDIR}|g' ${WRKDIR}/Makefile
- @${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g ; \
- s|%%LOCALBASE%%|${LOCALBASE}|g ; \
- s|%%CXX%%|${CXX}| g ; \
- s|%%CXXFLAGS%%|${CXXFLAGS}|g ; \
- s|%%LAPACK%%|${LAPACK}|g ; \
- s|%%BLAS%%|${BLAS}|g ; \
- s|%%FORTRANLIBS%%|${FORTRANLIBS}|g ; \
- s|%%GCCLIBDIR%%|${GCCLIBDIR}|g' ${WRKSRC}/Makefile
-
-.if !defined(WITH_OPTIMIZED_FLAGS)
- @${ECHO} "You can optimize by setting WITH_OPTIMIZED_FLAGS=yes."
-.endif
+CONFIGURE_ARGS+=--with-blas="-L${LOCALBASE}/lib ${BLAS}" --with-lapack="-L${LOCALBASE}/lib ${LAPACK}" --with-system-spooles
+CONFIGURE_ENV+= CXXFLAGS="${CXXFLAGS} -I${LOCALBASE}/include -I${LOCALBASE}/include/spooles" CPPFLAGS="${CPPFLAGS} -I${LOCALBASE}/include -I${LOCALBASE}/include/spooles" CFLAGS="${CFLAGS} -I${LOCALBASE}/include -I${LOCALBASE}/include/spooles" LDFLAGS="-L${LOCALBASE}/lib"
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/sdpa ${PREFIX}/bin
- ${INSTALL_DATA} ${WRKSRC}/libsdpa.a ${PREFIX}/lib
- ${INSTALL_DATA} ${WRKSRC}/sdpa-lib.hpp ${PREFIX}/include
- ${INSTALL_DATA} ${WRKSRC}/sdpa-lib2.hpp ${PREFIX}/include
@${MKDIR} ${DATADIR}
${INSTALL_DATA} ${WRKSRC}/param.sdpa ${DATADIR}
.if !defined(NOPORTDOCS)
@${MKDIR} ${DOCSDIR}
-.for i in ${PORTNAME}.${OLDVERSION}.manual.ps.gz ${PORTNAME}.${OLDVERSION}.manual.pdf ${PORTNAME}.${OLDVERSION}.install.txt
+.for i in ${PORTNAME}.${PORTVERSION}.manual.pdf
${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/${i} ${DOCSDIR}
.endfor
- @${MKDIR} ${EXAMPLESDIR}
-.for i in example1-1.cpp example1-2.cpp example1.dat example1.dat-s example1.ini \
- example1.ini-s example1.result example2-1.cpp example2-2.cpp \
- example2.dat example2.result example3.cpp example4.cpp \
- example5.cpp example6.cpp
- ${INSTALL_DATA} ${WRKSRC}/${i} ${EXAMPLESDIR}
-.endfor
- ${INSTALL_DATA} ${WRKSRC}/param.sdpa ${EXAMPLESDIR}
- ${INSTALL_DATA} ${WRKDIR}/Makefile ${EXAMPLESDIR}
-
.endif
.include <bsd.port.post.mk>
diff --git a/math/sdpa/distinfo b/math/sdpa/distinfo
index 3ea0ffa5d982..b864cc7454b2 100644
--- a/math/sdpa/distinfo
+++ b/math/sdpa/distinfo
@@ -1,12 +1,6 @@
-MD5 (sdpa/sdpa.6.2.1.src.tar.gz) = c76d146e4906fbd8a568fa58f50fc4a7
-SHA256 (sdpa/sdpa.6.2.1.src.tar.gz) = d15ecf68f5234ab6bbc92e56b03491e56fea3e41d00952d9a940bebe729df34b
-SIZE (sdpa/sdpa.6.2.1.src.tar.gz) = 75081
-MD5 (sdpa/sdpa.6.2.0.manual.ps.gz) = 398b485132c00b0b98d5b6aa1704f853
-SHA256 (sdpa/sdpa.6.2.0.manual.ps.gz) = c96cebdcb395a2a99400d23da0a4b8f3eb0b6e601366a6eb8dc7440699ad6b6e
-SIZE (sdpa/sdpa.6.2.0.manual.ps.gz) = 185315
-MD5 (sdpa/sdpa.6.2.0.manual.pdf) = 8b2463dfb55ed24d593f4a87145c8bb7
-SHA256 (sdpa/sdpa.6.2.0.manual.pdf) = 29d985538747471670c5353ff3971055a4cedfe07c27049cd9624fd820b64c2d
-SIZE (sdpa/sdpa.6.2.0.manual.pdf) = 167106
-MD5 (sdpa/sdpa.6.2.0.install.txt) = bc2cc604e0b862487f76f3e73ae346a8
-SHA256 (sdpa/sdpa.6.2.0.install.txt) = b93665cb0208c892df1dbeede628cae2897a9970bbae1dc31063f7c41d3bf857
-SIZE (sdpa/sdpa.6.2.0.install.txt) = 7824
+MD5 (sdpa/sdpa.7.0.5.src.tar.gz) = 9e25e0d16f7eb56448c5f37d06ef023d
+SHA256 (sdpa/sdpa.7.0.5.src.tar.gz) = 48df8c973508685bb140ede17527ec5df240c870392cfb20483a90eaf414f49d
+SIZE (sdpa/sdpa.7.0.5.src.tar.gz) = 4724059
+MD5 (sdpa/sdpa.7.0.5.manual.pdf) = 8acdfb36a0e4355e351fa3904db206e4
+SHA256 (sdpa/sdpa.7.0.5.manual.pdf) = 62536966e6bbaa93020c32902ec74e6d325a1018c2d394c15afac7f04a90f00b
+SIZE (sdpa/sdpa.7.0.5.manual.pdf) = 217022
diff --git a/math/sdpa/files/Makefile b/math/sdpa/files/Makefile
deleted file mode 100644
index 3c311cff33ed..000000000000
--- a/math/sdpa/files/Makefile
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-# Makefile for SDPA example(please use gmake)
-# Sample Makefile written by <maho@FreeBSD.org>
-#
-# $FreeBSD$
-
-PREFIX = %%PREFIX%%
-LOCALBASE = %%LOCALBASE%%
-LAPACK_LIB = %%LAPACK%% %%BLAS%%
-SDPA_LIB = -lsdpa
-SDPA_EXAMPLES = example1-1.exe example1-2.exe \
- example2-1.exe example2-2.exe \
- example3.exe example4.exe \
- example5.exe example6.exe
-
-SOURCES = example1-1.cpp example1-2.cpp \
- example2-1.cpp example2-2.cpp \
- example3.cpp example4.cpp \
- example5.cpp example6.cpp
-
-all: $(SDPA_EXAMPLES)
-
-clean:
- rm -f *.o *.exe
-
-example1-1.exe: example1-1.o
- $(CXX) $(CXXFLAGS) -o $@ example1-1.o -L$(PREFIX)/lib -L$(LOCALBASE)/lib $(LAPACK_LIB) $(SDPA_LIB) -lm
-
-example1-2.exe: example1-2.o
- $(CXX) $(CXXFLAGS) -o $@ example1-2.o -L$(PREFIX)/lib -L$(LOCALBASE)/lib $(LAPACK_LIB) $(SDPA_LIB) -lm
-
-example2-1.exe: example2-1.o
- $(CXX) $(CXXFLAGS) -o $@ example2-1.o -L$(PREFIX)/lib -L$(LOCALBASE)/lib $(LAPACK_LIB) $(SDPA_LIB) -lm
-
-example2-2.exe: example2-2.o
- $(CXX) $(CXXFLAGS) -o $@ example2-2.o -L$(PREFIX)/lib -L$(LOCALBASE)/lib $(LAPACK_LIB) $(SDPA_LIB) -lm
-
-example3.exe: example3.o
- $(CXX) $(CXXFLAGS) -o $@ example3.o -L$(PREFIX)/lib -L$(LOCALBASE)/lib $(LAPACK_LIB) $(SDPA_LIB) -lm
-
-example4.exe: example4.o
- $(CXX) $(CXXFLAGS) -o $@ example4.o -L$(PREFIX)/lib -L$(LOCALBASE)/lib $(LAPACK_LIB) $(SDPA_LIB) -lm
-
-example5.exe: example5.o
- $(CXX) $(CXXFLAGS) -o $@ example5.o -L$(PREFIX)/lib -L$(LOCALBASE)/lib $(LAPACK_LIB) $(SDPA_LIB) -lm
-
-example6.exe: example6.o
- $(CXX) $(CXXFLAGS) -o $@ example6.o -L$(PREFIX)/lib -L$(LOCALBASE)/lib $(LAPACK_LIB) $(SDPA_LIB) -lm
-
-.cpp.o:
- $(CXX) $(CXXFLAGS) -c -I$(PREFIX)/include -I$(LOCALBASE)/include -o $@ $< \ No newline at end of file
diff --git a/math/sdpa/files/patch-Makefile b/math/sdpa/files/patch-Makefile
deleted file mode 100644
index 84cfbf5398aa..000000000000
--- a/math/sdpa/files/patch-Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
---- Makefile.orig Fri Apr 8 12:17:04 2005
-+++ Makefile Thu May 12 11:23:34 2005
-@@ -19,11 +19,10 @@
- # $Id: Makefile,v 1.3 2004/09/02 01:14:19 makoto Exp $
-
-
--LAPACK = $(HOME)/lapack
-+LAPACK = %%LOCALBASE%%
- RSDPA = .
-
--LAPACK_LIB = -llapack -lcblaswr -lcblas \
-- -lf77blas -lI77 -lF77 -latlas
-+LAPACK_LIB = %%LAPACK%% %%BLAS%% %%FORTRANLIBS%% %%GCCLIBDIR%%
-
- # if you use BLAS in clapack.tgz, use next line
- # and set NON_ATLAS_SDPA in rsdpa_include.h to 1.
-@@ -35,8 +34,8 @@
- #RSDPA_LIB_NAME = rsdpa
- RSDPA_LIB = -l$(RSDPA_LIB_NAME)
-
--CC = g++
--OPTION = -O3 # -g # -Wall
-+CC = %%CXX%%
-+OPTION = %%CXXFLAGS%%
-
- TARGET_EXE = $(RSDPA_LIB_NAME)
- #TARGET_EXE = rsdpa_main.exe
diff --git a/math/sdpa/files/patch-rsdpa_include.h b/math/sdpa/files/patch-rsdpa_include.h
deleted file mode 100644
index b7eb5cbb2753..000000000000
--- a/math/sdpa/files/patch-rsdpa_include.h
+++ /dev/null
@@ -1,30 +0,0 @@
---- rsdpa_include.h.orig Sat Nov 2 11:10:59 2002
-+++ rsdpa_include.h Sun Aug 3 09:07:52 2003
-@@ -21,13 +21,13 @@
- #include <cstring>
-
- extern "C" {
--#include <f2c.h>
-+#include <f2c.h>
- #if NON_ATLAS_SDPA
- #include <blaswrap.h>
- #endif
--#include <fblaswr.h>
- #include <cblas.h>
--#include <clapack.h>
-+#include <blas.h>
-+#include <lapack.h>
- };
-
- using namespace std;
---- rsdpa_include.h~ Thu Jan 11 16:32:04 2007
-+++ rsdpa_include.h Thu Jan 11 16:32:45 2007
-@@ -32,7 +32,7 @@
- // otherwise (for example, BLAS in clapack.tgz), set 1
- // and edit Makefile to change LAPACK_LIB
-
--#define NON_ATLAS_SDPA 0
-+//#define NON_ATLAS_SDPA 0
-
- #include <iostream>
- #include <fstream>
diff --git a/math/sdpa/pkg-descr b/math/sdpa/pkg-descr
index 1b5504719c5b..89855011f50e 100644
--- a/math/sdpa/pkg-descr
+++ b/math/sdpa/pkg-descr
@@ -15,4 +15,4 @@ The SDPA enjoys the following features:
4. Some information on infeasibility of a semidefinite program to be solved
is provided.
-WWW: http://grid.r.dendai.ac.jp/sdpa/
+WWW: http://sdpa.indsys.chuo-u.ac.jp/sdpa/index.html
diff --git a/math/sdpa/pkg-plist b/math/sdpa/pkg-plist
index 4c05d0f8c176..570cb8222b16 100644
--- a/math/sdpa/pkg-plist
+++ b/math/sdpa/pkg-plist
@@ -1,28 +1,5 @@
bin/sdpa
-lib/libsdpa.a
-include/sdpa-lib.hpp
-include/sdpa-lib2.hpp
-share/examples/sdpa/Makefile
-share/examples/sdpa/example1-1.cpp
-share/examples/sdpa/example1-2.cpp
-share/examples/sdpa/example1.dat
-share/examples/sdpa/example1.dat-s
-share/examples/sdpa/example1.ini
-share/examples/sdpa/example1.ini-s
-share/examples/sdpa/example1.result
-share/examples/sdpa/example2-1.cpp
-share/examples/sdpa/example2-2.cpp
-share/examples/sdpa/example2.dat
-share/examples/sdpa/example2.result
-share/examples/sdpa/example3.cpp
-share/examples/sdpa/example4.cpp
-share/examples/sdpa/example5.cpp
-share/examples/sdpa/example6.cpp
-share/examples/sdpa/param.sdpa
share/sdpa/param.sdpa
@dirrm share/sdpa
-@dirrm share/examples/sdpa
-%%PORTDOCS%%%%DOCSDIR%%/sdpa.%%OLDVERSION%%.manual.ps.gz
-%%PORTDOCS%%%%DOCSDIR%%/sdpa.%%OLDVERSION%%.manual.pdf
-%%PORTDOCS%%%%DOCSDIR%%/sdpa.%%OLDVERSION%%.install.txt
+%%PORTDOCS%%%%DOCSDIR%%/sdpa.7.0.5.manual.pdf
%%PORTDOCS%%@dirrm %%DOCSDIR%%