summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPav Lucistnik <pav@FreeBSD.org>2003-12-07 03:13:41 +0000
committerPav Lucistnik <pav@FreeBSD.org>2003-12-07 03:13:41 +0000
commit94d36e079d6250bcf8657270a5c3adea46da827c (patch)
treed3be71a04b864bfb1a1a1af126aa547262bbaff4
parentAdd arpack++, an object-oriented version of the ARPACK package. (diff)
Add FreeFem++, an extension of freefem, an implementation of the Gfem
language dedicated to the finite element method. PR: ports/58536 Submitted by: Thierry Thomas <thierry@pompo.net>
Notes
Notes: svn path=/head/; revision=95236
-rw-r--r--math/Makefile1
-rw-r--r--math/freefem++/Makefile62
-rw-r--r--math/freefem++/distinfo1
-rw-r--r--math/freefem++/files/patch-Makefile11
-rw-r--r--math/freefem++/files/patch-src::Makefile-linux35
-rw-r--r--math/freefem++/pkg-descr14
-rw-r--r--math/freefem++/pkg-plist92
7 files changed, 216 insertions, 0 deletions
diff --git a/math/Makefile b/math/Makefile
index 4064ab17baa6..143bf09a8b56 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -38,6 +38,7 @@
SUBDIR += fftpack
SUBDIR += fftw
SUBDIR += freefem
+ SUBDIR += freefem++
SUBDIR += fudgit
SUBDIR += fung-calc
SUBDIR += fxt
diff --git a/math/freefem++/Makefile b/math/freefem++/Makefile
new file mode 100644
index 000000000000..627008ef34f8
--- /dev/null
+++ b/math/freefem++/Makefile
@@ -0,0 +1,62 @@
+# New ports collection makefile for: FreeFem++
+# Date created: 17 October 2003
+# Whom: thierry@pompo.net
+#
+# $FreeBSD$
+#
+
+PORTNAME= freefem++
+PORTVERSION= 1.34
+CATEGORIES= math science
+MASTER_SITES= ftp://ftp.inria.fr/INRIA/Projects/Gamma/freefem/
+DISTNAME= FreeFem++v${PORTVERSION}
+
+MAINTAINER= ports@FreeBSD.org
+COMMENT= An implementation of a language dedicated to the finite element method
+
+LIB_DEPENDS= atlas.1:${PORTSDIR}/math/atlas
+BUILD_DEPENDS= ${LOCALBASE}/include/ARPACK++:${PORTSDIR}/math/arpack++
+
+USE_XLIB= yes
+USE_GMAKE= yes
+
+MAKE_ENV= CXX=${CXX} HOSTTYPE=${HOSTTYPE}
+
+DOCS= BUGS COPYRIGHT HISTORY README DOC/manual.pdf
+
+.include <bsd.port.pre.mk>
+
+HOSTTYPE!= ${UNAME} -s
+
+post-patch:
+ @${MV} ${WRKSRC}/src/Makefile-linux ${WRKSRC}/src/Makefile-${HOSTTYPE}
+ @${MV} ${WRKSRC}/src/Makefile-linux.orig ${WRKSRC}/src/Makefile-linux
+
+post-install:
+ @${STRIP_CMD} ${PREFIX}/bin/FreeFem++ ${PREFIX}/bin/FreeFem++-nw
+.if !defined(NOPORTDOCS)
+ @${MKDIR} ${DOCSDIR}
+.for doc in ${DOCS}
+ @${INSTALL_DATA} ${WRKSRC}/${doc} ${DOCSDIR}
+.endfor
+ @${ECHO_MSG} "===> Documentation installed in ${DOCSDIR}."
+.for direx in "" -bug -eigen -tutorial
+ @${MKDIR} ${EXAMPLESDIR}/${direx:S/-//}
+ @for sample in `${LS} ${WRKSRC}/examples++${direx}` ; do \
+ ${INSTALL_DATA} ${WRKSRC}/examples++${direx}/$$sample \
+ ${EXAMPLESDIR}/${direx:S/-//} ; \
+ done
+.endfor
+ @${ECHO_MSG} "===> Examples installed in ${EXAMPLESDIR}."
+.endif
+
+.if defined(MAINTAINER_MODE)
+test: install
+ # Gnuplot needed! Click on the picture to end a set.
+.for direx in - -eigen -tutorial
+ (cd ${EXAMPLESDIR}/${direx:S/-//} ; \
+ ${PREFIX}/bin/FreeFem++ all.edp)
+.endfor
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/math/freefem++/distinfo b/math/freefem++/distinfo
new file mode 100644
index 000000000000..2c45938d247c
--- /dev/null
+++ b/math/freefem++/distinfo
@@ -0,0 +1 @@
+MD5 (FreeFem++v1.34.tar.gz) = a86406c5c6be21835f0faa62dd2d718f
diff --git a/math/freefem++/files/patch-Makefile b/math/freefem++/files/patch-Makefile
new file mode 100644
index 000000000000..64b5a9dde8ca
--- /dev/null
+++ b/math/freefem++/files/patch-Makefile
@@ -0,0 +1,11 @@
+--- Makefile.orig Fri Aug 22 15:23:41 2003
++++ Makefile Sat Oct 25 17:10:47 2003
+@@ -3,7 +3,7 @@
+ # ----------------------------------------------
+ src?=./src
+ include $(src)/Makefile-$(HOSTTYPE)
+-CXXFLAGS = $(OPTFLAGS) $(FFFLAGS) $(includedir) $(INCARPACKPP)
++CXXFLAGS+= $(OPTFLAGS) $(FFFLAGS) $(includedir) $(INCARPACKPP)
+ CXXMPIFLAGS= $(CXXFLAGS) $(MPIFLAGS) -DPARALLELE $(INCARPACKPP)
+ LIBS=$(LIBARPACK) $(LIBF77)
+ VERSION=1.34
diff --git a/math/freefem++/files/patch-src::Makefile-linux b/math/freefem++/files/patch-src::Makefile-linux
new file mode 100644
index 000000000000..449fda67d29a
--- /dev/null
+++ b/math/freefem++/files/patch-src::Makefile-linux
@@ -0,0 +1,35 @@
+--- src/Makefile-linux.orig Thu Jan 2 14:30:30 2003
++++ src/Makefile-linux Thu Oct 23 23:42:32 2003
+@@ -1,16 +1,15 @@
+-LIBX11= -L/usr/X11R6/lib -lX11 -lm
+-INCLUDEX11 = /usr/X11R6/include
+-CXX=g++ #C++ compiler
+-CXXMPI=mpiCC # compilation with mpi
+-OOPTFLAGS= -O # compilation with optimisation
++# $FreeBSD$
++LIBX11= -L$(X11BASE)/lib -lX11 -lm
++INCLUDEX11 = $(X11BASE)/include
++OOPTFLAGS= -Wno-deprecated
+ GOPTFLAGS= -g # compilation with debugging
+ #--------------------------------------------------
+ # the flag of eigen value part with arpack++ tools
+ #-------------------------------------------------
+ EIGEN= eigenvalue.o
+-LIBARPACK= -L../../arpack/ARPACK -larpack_linux -llapack -lblas
+-LIBF77= -lg2c
+-INCARPACKPP = -DEIGENVALUE -I../../arpack/arpack++/include
++LIBARPACK= -L$(LOCALBASE)/lib ${LOCALBASE}/lib/libarpack.a -lalapack -lf77blas -lcblas -latlas
++LIBF77= -lg2c -lm
++INCARPACKPP = -DEIGENVALUE -I$(LOCALBASE)/include/ARPACK++
+ # ------------------------------
+ # compilation flags of FreeFem++
+ # ------------------------------
+@@ -29,7 +28,7 @@
+ # ---------------------------
+ # install and compile dir.
+ # ----------------------
+-BIN_DIR=$(HOME)/bin-$(HOSTTYPE)
++BIN_DIR=$(PREFIX)/bin
+ COMPILE_DIR=c-$(HOSTTYPE)
+ #----------------------
+
diff --git a/math/freefem++/pkg-descr b/math/freefem++/pkg-descr
new file mode 100644
index 000000000000..75a89b6fef65
--- /dev/null
+++ b/math/freefem++/pkg-descr
@@ -0,0 +1,14 @@
+FreeFem++ is an implementation of a language dedicated to the finite element
+method.
+
+It provides you a way to solve Partial Differential Equations (PDE) simply.
+Problems involving partial differential equations (pde) of several branches
+of physics such as fluid-structure interactions require interpolations of
+data on several meshes and their manipulation within one program. In this
+report we build on a fast quadtree-based interpolation algorithm, propose
+a language for the manipulation of data on multiple meshes (generated with
+bamg) and test by designing an extension of freefem and of freefem+.
+
+Suggested add-on: the port graphics/xd3d.
+
+WWW: http://www.ann.jussieu.fr/~hecht/freefem++.htm
diff --git a/math/freefem++/pkg-plist b/math/freefem++/pkg-plist
new file mode 100644
index 000000000000..6362203177a9
--- /dev/null
+++ b/math/freefem++/pkg-plist
@@ -0,0 +1,92 @@
+bin/FreeFem++
+bin/FreeFem++-nw
+%%PORTDOCS%%%%DOCSDIR%%/BUGS
+%%PORTDOCS%%%%DOCSDIR%%/COPYRIGHT
+%%PORTDOCS%%%%DOCSDIR%%/HISTORY
+%%PORTDOCS%%%%DOCSDIR%%/README
+%%PORTDOCS%%%%DOCSDIR%%/manual.pdf
+%%PORTDOCS%%%%EXAMPLESDIR%%/D2.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/NSP1P1.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/NSP1P1b.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/NSP1P2.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/aaRT.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/aaa-adp.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/aadaptation.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/aalapacien.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/aalaplace-nc.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/aamove.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/all.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/arrayoFVh.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/bug/SegmentationFault.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/bug/aaa.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/bug/bugf.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/bug/bugv1.18.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/bug/func.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/ccc-adp.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/demo.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/demo1.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/eigen/BeamEigenValue.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/eigen/BeamEigenValueperio.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/eigen/LapEigenValue.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/eigen/LapnosymEigenValue.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/eigen/all.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/eigen/neuman.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/funct.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/include.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/lap_mat.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/lapacienprecon.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/testFE.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/testadp.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/teste.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/FE.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/LaplaceP1.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/LaplaceP1bis.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/LaplaceRT.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/NSUzawaCahouetChabart.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/Newton.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/Periodic.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/StokesUzawa.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/a_tutorial.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/adapt.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/adaptindicatorP1.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/adaptindicatorP2.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/aile.msh
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/algo.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/algowithmacro.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/all.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/array.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/beam.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/blakschol.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/calculus.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/cavity.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/convect-apt.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/convect.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/convect2.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/dumptable.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/ex-vf.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/fluidStruct.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/fluidStructAdapt.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/freeboundary-weak.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/freeboundary.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/gnuplot.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/medit.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/mesh.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/nolinear-elas.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/onde.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/parareal.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/periodic4.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/plot.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/readmesh.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/region.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/schwarz-gc.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/schwarz-no-overlap.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/schwarz-overlap.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/tablefunction.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/truncmesh.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/xyf
+%%PORTDOCS%%%%EXAMPLESDIR%%/wafer-heating-laser-axi.edp
+%%PORTDOCS%%@dirrm %%DOCSDIR%%
+%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/bug
+%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/eigen
+%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/tutorial
+%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%