summaryrefslogtreecommitdiff
path: root/math
diff options
context:
space:
mode:
authorThierry Thomas <thierry@FreeBSD.org>2004-10-11 22:30:39 +0000
committerThierry Thomas <thierry@FreeBSD.org>2004-10-11 22:30:39 +0000
commit3db9f7c36ab0a1166872dac301a749b8b3be1c51 (patch)
tree20be2ace39b04ebd0336f550cb8772bde0234321 /math
parent- Update to 0.6 (diff)
- Upgrade to 1.42;
- Add support for MPI.
Notes
Notes: svn path=/head/; revision=118627
Diffstat (limited to 'math')
-rw-r--r--math/freefem++/Makefile42
-rw-r--r--math/freefem++/distinfo4
-rw-r--r--math/freefem++/files/patch-configure127
-rw-r--r--math/freefem++/files/patch-src::femlib::MatriceCreuse_tpl.hpp13
-rw-r--r--math/freefem++/pkg-plist5
5 files changed, 64 insertions, 127 deletions
diff --git a/math/freefem++/Makefile b/math/freefem++/Makefile
index e665537dae6b..fb564a9a34fd 100644
--- a/math/freefem++/Makefile
+++ b/math/freefem++/Makefile
@@ -6,7 +6,7 @@
#
PORTNAME= freefem++
-PORTVERSION= 1.41
+PORTVERSION= 1.42
CATEGORIES= math science
MASTER_SITES= ftp://ftp.inria.fr/INRIA/Projects/Gamma/freefem/ \
http://mule.ann.jussieu.fr/~hecht/ftp/freefem/
@@ -16,8 +16,13 @@ COMMENT= An implementation of a language dedicated to the finite element method
LIB_DEPENDS= atlas.1:${PORTSDIR}/math/atlas \
f2c.2:${PORTSDIR}/lang/f2c \
- gsl.6:${PORTSDIR}/math/gsl
-BUILD_DEPENDS= ${LOCALBASE}/include/ARPACK++:${PORTSDIR}/math/arpack++
+ gsl.6:${PORTSDIR}/math/gsl \
+ lapack.3:${PORTSDIR}/math/lapack
+BUILD_DEPENDS= ${LOCALBASE}/lib/libumfpack.a:${PORTSDIR}/math/umfpack \
+ dvips:${PORTSDIR}/print/dvipsk-tetex \
+ pdflatex:${PORTSDIR}/print/teTeX-base
+RUN_DEPENDS= dvips:${PORTSDIR}/print/dvipsk-tetex \
+ pdflatex:${PORTSDIR}/print/teTeX-base
RESTRICTED= No resale or commercial use
@@ -27,17 +32,40 @@ USE_GMAKE= yes
USE_REINPLACE= yes
GNU_CONFIGURE= yes
CONFIGURE_TARGET= --build=${MACHINE_ARCH}-portbld-freebsd${OSREL}
-CONFIGURE_ARGS= --disable-download
+CONFIGURE_ARGS= --disable-download \
+ --with-blas="${LIBBLAS}" \
+ --with-amd="-lamd" \
+ --with-umfpack="-lumfpack" \
+ --with-arpack="${LIBARPACK}"
CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include ${PTHREAD_CFLAGS}" \
LDFLAGS="-L${LOCALBASE}/lib ${PTHREAD_LIBS}"
+LIBBLAS= -lf2c -lf77blas -latlas -lgslcblas
+LIBARPACK= -larpack -lalapack ${LIBBLAS}
+
DOCS= AUTHORS BUGS COPYING HISTORY README TODO DOC/manual.pdf
BADSAMPLES= load/load.link.orig load/myfunction.o tutorial/Makefile.in.orig
+.include <bsd.port.pre.mk>
+
+.if exists(${LOCALBASE}/mpich/bin/mpiCC)
+WITH_MPI= yes
+.endif
+.if defined(WITH_MPI)
+BUILD_DEPENDS+= ${LOCALBASE}/mpich/bin/mpiCC:${PORTSDIR}/net/mpich
+RUN_DEPENDS+= ${LOCALBASE}/mpich/bin/mpiCC:${PORTSDIR}/net/mpich
+PLIST_SUB+= MPI=""
+.else
+PLIST_SUB+= MPI="@comment "
+.endif
+
pre-configure:
- @${REINPLACE_CMD} -e "s|-lpthread|${PTHREAD_LIBS}|g" \
- -e "s|/usr/local|${LOCALBASE}|g;s|/usr/X11R6|${X11BASE}|g" \
+ @${REINPLACE_CMD} -e "s|-lpthread|${PTHREAD_LIBS}|g" \
+ -e "s|mpiCC|${LOCALBASE}/mpich/bin/mpiCC|" \
+ -e "s|/usr/X11R6|${X11BASE}|g" \
${WRKSRC}/${CONFIGURE_SCRIPT}
+ @${REINPLACE_CMD} -e "s|mpiCC|${LOCALBASE}/mpich/bin/mpiCC|" \
+ ${WRKSRC}/src/mpi/Makefile.in
post-install:
@${STRIP_CMD} ${PREFIX}/bin/FreeFem++ ${PREFIX}/bin/FreeFem++-nw
@@ -71,4 +99,4 @@ test: install
.endfor
.endif
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff --git a/math/freefem++/distinfo b/math/freefem++/distinfo
index dfbaaa2b8faa..3cb2a2189dd7 100644
--- a/math/freefem++/distinfo
+++ b/math/freefem++/distinfo
@@ -1,2 +1,2 @@
-MD5 (freefem++-1.41.tar.gz) = 139af27cd4eb09e516c707e17c530c7a
-SIZE (freefem++-1.41.tar.gz) = 4522368
+MD5 (freefem++-1.42.tar.gz) = 659bcd4e143fa091c02451b0aab6c281
+SIZE (freefem++-1.42.tar.gz) = 4535380
diff --git a/math/freefem++/files/patch-configure b/math/freefem++/files/patch-configure
index fb74ed782116..27be8f4203cc 100644
--- a/math/freefem++/files/patch-configure
+++ b/math/freefem++/files/patch-configure
@@ -1,102 +1,15 @@
---- configure.orig Wed Jul 7 14:03:35 2004
-+++ configure Sun Jul 11 14:06:53 2004
-@@ -6947,82 +6947,15 @@
- ff_wget=no
- fi
+--- configure.orig Mon Sep 6 16:00:20 2004
++++ configure Thu Sep 9 00:14:54 2004
+@@ -7852,7 +7852,7 @@
+ if test "${with_umfpack+set}" = set; then
+ withval="$with_umfpack"
+ ff_umfpack_ok=yes
+- ff_umfpack_lib="$ff_umfpack_lib ${withval}"
++ ff_umfpack_lib="${withval} $ff_umfpack_lib"
--# Looking for the BLAS
--# --------------------
--
--# Trying default locations
- ff_blas_ok=no
--ff_save_libs="$LIBS"
--echo "$as_me:$LINENO: checking for daxpy_ in -lblas" >&5
--echo $ECHO_N "checking for daxpy_ in -lblas... $ECHO_C" >&6
--if test "${ac_cv_lib_blas_daxpy_+set}" = set; then
-- echo $ECHO_N "(cached) $ECHO_C" >&6
--else
-- ac_check_lib_save_LIBS=$LIBS
--LIBS="-lblas $LIBS"
--cat >conftest.$ac_ext <<_ACEOF
--#line $LINENO "configure"
--/* confdefs.h. */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h. */
--
--/* Override any gcc2 internal prototype to avoid an error. */
--#ifdef __cplusplus
--extern "C"
--#endif
--/* We use char because int might match the return type of a gcc2
-- builtin and then its argument prototype would still apply. */
--char daxpy_ ();
--int
--main ()
--{
--daxpy_ ();
-- ;
-- return 0;
--}
--_ACEOF
--rm -f conftest.$ac_objext conftest$ac_exeext
--if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-- (eval $ac_link) 2>&5
-- ac_status=$?
-- echo "$as_me:$LINENO: \$? = $ac_status" >&5
-- (exit $ac_status); } &&
-- { ac_try='test -s conftest$ac_exeext'
-- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-- (eval $ac_try) 2>&5
-- ac_status=$?
-- echo "$as_me:$LINENO: \$? = $ac_status" >&5
-- (exit $ac_status); }; }; then
-- ac_cv_lib_blas_daxpy_=yes
--else
-- echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
--
--ac_cv_lib_blas_daxpy_=no
--fi
--rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
--LIBS=$ac_check_lib_save_LIBS
--fi
--echo "$as_me:$LINENO: result: $ac_cv_lib_blas_daxpy_" >&5
--echo "${ECHO_T}$ac_cv_lib_blas_daxpy_" >&6
--if test $ac_cv_lib_blas_daxpy_ = yes; then
-- LIBS="$LIBS -lblas"
-- ff_blas_ok=yes
-- ff_blas_lib="-lblas"
--else
-- LIBS="$ff_save_libs"
--fi
--
-
--# Trying Atlas (location corresponding to Debian package)
-+# Trying Atlas (location corresponding to FreeBSD package)
- if test "$ff_blas_ok" = no;
- then
-- echo "$as_me:$LINENO: checking for daxpy_ in /usr/lib/atlas/libblas.a" >&5
--echo $ECHO_N "checking for daxpy_ in /usr/lib/atlas/libblas.a... $ECHO_C" >&6
-+ echo "$as_me:$LINENO: checking for daxpy_ in /usr/local/lib/libatlas" >&5
-+echo $ECHO_N "checking for daxpy_ in /usr/local/libatlas... $ECHO_C" >&6
- ff_save_libs="$LIBS"
-- LIBS="$LIBS -L/usr/lib/atlas -lblas"
-+ LIBS="$LIBS -lf2c -lf77blas -latlas -lgslcblas"
- cat >conftest.$ac_ext <<_ACEOF
- #line $LINENO "configure"
- /* confdefs.h. */
-@@ -7059,7 +6992,7 @@
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ff_blas_ok=yes
-- ff_blas_lib="-L/usr/lib/atlas -lblas"
-+ ff_blas_lib="-lf2c -lf77blas -latlas -lgslcblas"
- else
- echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-@@ -7477,7 +7410,7 @@
+ cat >>confdefs.h <<\_ACEOF
+ #define HAVE_LIBUMFPACK 1
+@@ -7864,7 +7864,7 @@
@@ -105,21 +18,3 @@
do
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
if eval "test \"\${$as_ac_Header+set}\" = set"; then
-@@ -7690,7 +7623,7 @@
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
- ac_check_lib_save_LIBS=$LIBS
--LIBS="-lumfpack $ff_umfpack_lib $LIBS"
-+LIBS="$ff_umfpack_lib -lumfpack $LIBS"
- cat >conftest.$ac_ext <<_ACEOF
- #line $LINENO "configure"
- /* confdefs.h. */
-@@ -7744,7 +7677,7 @@
- #define HAVE_LIBUMFPACK 1
- _ACEOF
-
-- ff_umfpack_lib="$ff_umfpack_lib -lumfpack"
-+ ff_umfpack_lib="-lumfpack $ff_umfpack_lib"
- ff_umfpack_ok=yes
- fi
-
diff --git a/math/freefem++/files/patch-src::femlib::MatriceCreuse_tpl.hpp b/math/freefem++/files/patch-src::femlib::MatriceCreuse_tpl.hpp
new file mode 100644
index 000000000000..768a9902ed06
--- /dev/null
+++ b/math/freefem++/files/patch-src::femlib::MatriceCreuse_tpl.hpp
@@ -0,0 +1,13 @@
+--- ./src/femlib/MatriceCreuse_tpl.hpp.orig Mon Aug 30 17:06:00 2004
++++ ./src/femlib/MatriceCreuse_tpl.hpp Wed Sep 8 22:18:17 2004
+@@ -11,7 +11,9 @@
+ // on MacOS9 under MWERKS
+ // cblas_ddot macos-9 is not
+ #ifdef HAVE_CBLAS_H
+-#include <cblas.h>
++extern "C" {
++#include <cblas.h>
++}
+ #define WITHBLAS 1
+ #elif HAVE_VECLIB_CBLAS_H
+ #include <vecLib/cblas.h>
diff --git a/math/freefem++/pkg-plist b/math/freefem++/pkg-plist
index 87838d778b5a..2acdd8f0ed76 100644
--- a/math/freefem++/pkg-plist
+++ b/math/freefem++/pkg-plist
@@ -1,5 +1,6 @@
bin/FreeFem++
bin/FreeFem++-glx
+%%MPI%%bin/FreeFem++-mpi
bin/FreeFem++-nw
%%PORTDOCS%%%%DOCSDIR%%/AUTHORS
%%PORTDOCS%%%%DOCSDIR%%/BUGS
@@ -101,10 +102,10 @@ bin/FreeFem++-nw
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/periodic4.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/plot.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/readmesh.edp
-%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/refnoumf.edp
-%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/refumf.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/ref.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/region.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/regtests.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/regtests.m4
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/saverestore.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/schwarz-gc.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/schwarz-no-overlap.edp