aboutsummaryrefslogtreecommitdiff
path: root/math/levmar
diff options
context:
space:
mode:
authorBrendan Fabeny <bf@FreeBSD.org>2010-08-25 06:42:48 +0000
committerBrendan Fabeny <bf@FreeBSD.org>2010-08-25 06:42:48 +0000
commit6d5012866672d0cd02215091a4a3c47517a71828 (patch)
tree63586699fd3651cdca005898a90eaf168f2c7012 /math/levmar
parentc35386fc6137e058e470049b949f1d9bca50cd55 (diff)
downloadports-6d5012866672d0cd02215091a4a3c47517a71828.tar.gz
ports-6d5012866672d0cd02215091a4a3c47517a71828.zip
Add levmar 2.5, a GPL-licensed library implementing the
Levenberg-Marquardt algorithm. PR: ports/146683 Submitted by: Eijiro Shibusawa <ej-sib at ice.uec.ac.jp> Approved by: makc (co-mentor)
Notes
Notes: svn path=/head/; revision=259952
Diffstat (limited to 'math/levmar')
-rw-r--r--math/levmar/Makefile81
-rw-r--r--math/levmar/distinfo3
-rw-r--r--math/levmar/files/Makefile.demo20
-rw-r--r--math/levmar/files/Makefile.lib13
-rw-r--r--math/levmar/pkg-descr5
5 files changed, 122 insertions, 0 deletions
diff --git a/math/levmar/Makefile b/math/levmar/Makefile
new file mode 100644
index 000000000000..fd0af9f6fd11
--- /dev/null
+++ b/math/levmar/Makefile
@@ -0,0 +1,81 @@
+# New ports collection makefile for: levmar
+# Date created: 18 May 2010
+# Whom: Eijiro Shibusawa <ej-sib@ice.uec.ac.jp>
+#
+# $FreeBSD$
+#
+
+PORTNAME= levmar
+PORTVERSION= 2.5
+CATEGORIES= math
+MASTER_SITES= http://www.ics.forth.gr/~lourakis/levmar/
+EXTRACT_SUFX= .tgz
+
+MAINTAINER= phd_kimberlite@yahoo.co.jp
+COMMENT= A GPL-licensed library implementing the Levenberg-Marquardt algorithm
+
+LICENSE= GPLv2
+
+USE_LDCONFIG= yes
+USE_FORTRAN= yes
+
+.if exists(${LOCALBASE}/lib/libatlas.so)
+WITH_BLAS?= atlas
+.else
+WITH_BLAS?= reference
+.endif
+
+.if ${WITH_BLAS} == "reference"
+LIB_DEPENDS= blas.2:${PORTSDIR}/math/blas \
+ lapack.4:${PORTSDIR}/math/lapack
+BLAS= -lblas
+LAPACK = -llapack
+.elif ${WITH_BLAS} == "atlas"
+LIB_DEPENDS= atlas:${PORTSDIR}/math/atlas
+BLAS= -lf77blas -lcblas -latlas
+LAPACK = -lalapack
+.endif
+
+LDFLAGS+= -L${LOCALBASE}/lib
+MAKE_ENV= LDADD="${LAPACK} ${BLAS}" LDFLAGS="${LDFLAGS}"
+.for _u in AR NM RANLIB
+MAKE_ENV+= ${_u}="${LOCALBASE}/bin/${_u:L}"
+.endfor
+
+.if !defined(NOPORTDOCS)
+PORTDOCS= README.txt
+.endif
+.if !defined(NOPORTEXAMPLES)
+PORTEXAMPLES= lmdemo.c Makefile.demo
+.endif
+PLIST_FILES= include/levmar.h \
+ lib/liblevmar.a \
+ lib/liblevmar.so \
+ lib/liblevmar.so.2
+
+.if !(defined(NOPROFILE) || defined(NO_PROFILE) || defined(WITHOUT_PROFILE))
+PLIST_FILES+= lib/liblevmar_p.a
+.endif
+
+post-extract:
+ @${MV} ${WRKSRC}/Makefile ${WRKSRC}/Makefile.dist
+ @${CP} ${FILESDIR}/Makefile.lib ${WRKSRC}/Makefile
+ @${CP} ${FILESDIR}/Makefile.demo ${WRKSRC}/
+ @${REINPLACE_CMD} -e 's+%%CC%%+${CC}+g' \
+ -e 's+%%CFLAGS%%+${CFLAGS} -I${LOCALBASE}/include+g' \
+ -e 's+%%LDFLAGS%%+${LDFLAGS} -L${LOCALBASE}/lib+g' \
+ -e 's+%%BLAS%%+${BLAS}+g' \
+ -e 's+%%LAPACK%%+${LAPACK}+g' \
+ ${WRKSRC}/Makefile.demo
+
+post-install:
+.if !defined(NOPORTDOCS)
+ @${MKDIR} ${DOCSDIR}
+ @(cd ${WRKSRC}/ && ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR})
+.endif
+.if !defined(NOPORTEXAMPLES)
+ @${MKDIR} ${EXAMPLESDIR}
+ @(cd ${WRKSRC}/ && ${INSTALL_DATA} ${PORTEXAMPLES} ${EXAMPLESDIR})
+.endif
+
+.include <bsd.port.mk>
diff --git a/math/levmar/distinfo b/math/levmar/distinfo
new file mode 100644
index 000000000000..b6416633697b
--- /dev/null
+++ b/math/levmar/distinfo
@@ -0,0 +1,3 @@
+MD5 (levmar-2.5.tgz) = 7ca14d79eda6e985f8355b719ae47d35
+SHA256 (levmar-2.5.tgz) = b70f6ac3eff30ec29150e217b137312cb84e85529815efea2c12e4eab74b9d75
+SIZE (levmar-2.5.tgz) = 78817
diff --git a/math/levmar/files/Makefile.demo b/math/levmar/files/Makefile.demo
new file mode 100644
index 000000000000..5deb81cb43df
--- /dev/null
+++ b/math/levmar/files/Makefile.demo
@@ -0,0 +1,20 @@
+CC= %%CC%%
+CFLAGS= %%CFLAGS%%
+LDFLAGS= %%LDFLAGS%%
+LAPACK= %%LAPACK%%
+BLAS= %%BLAS%%
+LIBS= -llevmar $(LAPACK) $(BLAS) -lm -lgfortran
+
+DEMOBJS= lmdemo.o
+DEMOSRCS= lmdemo.c
+
+all: lmdemo
+
+lmdemo: $(DEMOBJS)
+ $(CC) $(LDFLAGS) $(DEMOBJS) -o lmdemo $(LIBS)
+
+clean:
+ @rm -f $(DEMOBJS)
+
+cleanall: clean
+ @rm -f lmdemo
diff --git a/math/levmar/files/Makefile.lib b/math/levmar/files/Makefile.lib
new file mode 100644
index 000000000000..acac8e272b5a
--- /dev/null
+++ b/math/levmar/files/Makefile.lib
@@ -0,0 +1,13 @@
+# makefile for levmar sources
+
+LIB = levmar
+LIBDIR = $(PREFIX)/lib
+SHLIB_MAJOR= 2
+SHLIB_MINOR= 5
+
+SRCS= lm.c Axb.c misc.c lmlec.c lmbc.c lmblec.c lmbleic.c
+
+beforeinstall:
+ ${BSD_INSTALL_DATA} ${.CURDIR}/levmar.h ${PREFIX}/include
+
+.include <bsd.lib.mk>
diff --git a/math/levmar/pkg-descr b/math/levmar/pkg-descr
new file mode 100644
index 000000000000..91137a007353
--- /dev/null
+++ b/math/levmar/pkg-descr
@@ -0,0 +1,5 @@
+levmar is a GPL-licensed library written in C, that implements the
+Levenberg-Marquardt (LM) optimization algorithm, one of the most
+effective methods for solving nonlinear least squares problems.
+
+WWW: http://www.ics.forth.gr/~lourakis/levmar/