diff options
author | bf <bf@FreeBSD.org> | 2010-08-25 14:42:48 +0800 |
---|---|---|
committer | bf <bf@FreeBSD.org> | 2010-08-25 14:42:48 +0800 |
commit | 90cdfdd2efe950f02b98e88256ed59506f3d01ec (patch) | |
tree | 3b880cda35f39b839dd2cf9c3fcdafdae14695d8 /math/levmar | |
parent | 3a3c6f9e92ae3dace78ffad6310b845a11c98941 (diff) | |
download | freebsd-ports-gnome-90cdfdd2efe950f02b98e88256ed59506f3d01ec.tar.gz freebsd-ports-gnome-90cdfdd2efe950f02b98e88256ed59506f3d01ec.tar.zst freebsd-ports-gnome-90cdfdd2efe950f02b98e88256ed59506f3d01ec.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)
Diffstat (limited to 'math/levmar')
-rw-r--r-- | math/levmar/Makefile | 81 | ||||
-rw-r--r-- | math/levmar/distinfo | 3 | ||||
-rw-r--r-- | math/levmar/files/Makefile.demo | 20 | ||||
-rw-r--r-- | math/levmar/files/Makefile.lib | 13 | ||||
-rw-r--r-- | math/levmar/pkg-descr | 5 |
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/ |