aboutsummaryrefslogtreecommitdiff
path: root/math
diff options
context:
space:
mode:
authorThierry Thomas <thierry@FreeBSD.org>2004-07-10 23:19:14 +0000
committerThierry Thomas <thierry@FreeBSD.org>2004-07-10 23:19:14 +0000
commit69101eb9298187cd745e0b0b436fc0eeaa38a7a1 (patch)
tree4b2159a4d3054294270cf3ae8461057cceaa4e71 /math
parente31b617237c21306e244806a2e5f133e224c86d8 (diff)
downloadports-69101eb9298187cd745e0b0b436fc0eeaa38a7a1.tar.gz
ports-69101eb9298187cd745e0b0b436fc0eeaa38a7a1.zip
Notes
Diffstat (limited to 'math')
-rw-r--r--math/freefem++/Makefile51
-rw-r--r--math/freefem++/distinfo4
-rw-r--r--math/freefem++/files/patch-Makefile11
-rw-r--r--math/freefem++/files/patch-configure151
-rw-r--r--math/freefem++/files/patch-examples++-load::load.link26
-rw-r--r--math/freefem++/files/patch-examples++-tutorial::Makefile.in11
-rw-r--r--math/freefem++/files/patch-src::Makefile-linux41
-rw-r--r--math/freefem++/files/patch-src::femlib::MatriceCreuse.hpp11
-rw-r--r--math/freefem++/pkg-plist17
9 files changed, 244 insertions, 79 deletions
diff --git a/math/freefem++/Makefile b/math/freefem++/Makefile
index 53f5a56deb82..f359672cc4c7 100644
--- a/math/freefem++/Makefile
+++ b/math/freefem++/Makefile
@@ -6,54 +6,59 @@
#
PORTNAME= freefem++
-PORTVERSION= 1.40
+PORTVERSION= 1.41
CATEGORIES= math science
MASTER_SITES= ftp://ftp.inria.fr/INRIA/Projects/Gamma/freefem/ \
http://mule.ann.jussieu.fr/~hecht/ftp/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
+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++
RESTRICTED= No resale or commercial use
-USE_XLIB= yes
-USE_GMAKE= yes
+USE_GL= yes
+USE_GCC= 3.3
+USE_GMAKE= yes
+USE_REINPLACE= yes
+GNU_CONFIGURE= yes
+CONFIGURE_TARGET= --build=${MACHINE_ARCH}-portbld-freebsd${OSREL}
+CONFIGURE_ARGS= --disable-download
+CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include ${PTHREAD_CFLAGS}" \
+ LDFLAGS="-L${LOCALBASE}/lib ${PTHREAD_LIBS}"
-MAKE_ENV= CXX=${CXX} HOSTTYPE=${HOSTTYPE}
-
-DOCS= BUGS COPYRIGHT HISTORY README DOC/manual.pdf
-
-.include <bsd.port.pre.mk>
-
-.if ${OSVERSION} < 501103
-USE_GCC= 3.2
-.endif
-
-HOSTTYPE!= ${UNAME} -s
+DOCS= AUTHORS BUGS COPYING HISTORY README TODO DOC/manual.pdf
+BADSAMPLES= load/load.link.orig load/myfunction.o tutorial/Makefile.in.orig
pre-configure:
- @${MV} ${WRKSRC}/src/Makefile-linux ${WRKSRC}/src/Makefile-${HOSTTYPE}
- @${MV} ${WRKSRC}/src/Makefile-linux.orig ${WRKSRC}/src/Makefile-linux
+ @${REINPLACE_CMD} -e "s|-lpthread|${PTHREAD_LIBS}|g" \
+ -e "s|/usr/local|${LOCALBASE}|g;s|/usr/X11R6|${X11BASE}|g" \
+ ${WRKSRC}/${CONFIGURE_SCRIPT}
post-install:
@${STRIP_CMD} ${PREFIX}/bin/FreeFem++ ${PREFIX}/bin/FreeFem++-nw
.if !defined(NOPORTDOCS)
@${MKDIR} ${DOCSDIR}
-.for doc in ${DOCS}
+. for doc in ${DOCS}
@${INSTALL_DATA} ${WRKSRC}/${doc} ${DOCSDIR}
-.endfor
+. endfor
@${ECHO_MSG} "===> Documentation installed in ${DOCSDIR}."
-.for direx in "" -bug -eigen -load -mpi -tutorial
+. for direx in "" -bug -eigen -load -mpi -other -tutorial
@${MKDIR} ${EXAMPLESDIR}/${direx:S/-//}
@for sample in `${LS} ${WRKSRC}/examples++${direx}` ; do \
${INSTALL_DATA} ${WRKSRC}/examples++${direx}/$$sample \
${EXAMPLESDIR}/${direx:S/-//} ; \
done
-.endfor
+ @(cd ${EXAMPLESDIR}/${direx:S/-//} && \
+ ${RM} Makefile.am Makefile.in Makefile)
+. endfor
+. for sample in ${BADSAMPLES}
+ @${RM} ${EXAMPLESDIR}/${sample}
+. endfor
@${ECHO_MSG} "===> Examples installed in ${EXAMPLESDIR}."
.endif
@@ -66,4 +71,4 @@ test: install
.endfor
.endif
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
diff --git a/math/freefem++/distinfo b/math/freefem++/distinfo
index 6dd7ffd4650d..dfbaaa2b8faa 100644
--- a/math/freefem++/distinfo
+++ b/math/freefem++/distinfo
@@ -1,2 +1,2 @@
-MD5 (FreeFem++v1.40.tar.gz) = 23bdded2db3745a5c93109e12ddd9684
-SIZE (FreeFem++v1.40.tar.gz) = 4422321
+MD5 (freefem++-1.41.tar.gz) = 139af27cd4eb09e516c707e17c530c7a
+SIZE (freefem++-1.41.tar.gz) = 4522368
diff --git a/math/freefem++/files/patch-Makefile b/math/freefem++/files/patch-Makefile
deleted file mode 100644
index 64b5a9dde8ca..000000000000
--- a/math/freefem++/files/patch-Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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-configure b/math/freefem++/files/patch-configure
new file mode 100644
index 000000000000..31bf66e4380c
--- /dev/null
+++ b/math/freefem++/files/patch-configure
@@ -0,0 +1,151 @@
+--- configure.orig Wed Jul 7 14:03:35 2004
++++ configure Sat Jul 10 19:31:39 2004
+@@ -3701,13 +3701,13 @@
+
+
+
+-echo "$as_me:$LINENO: checking for pthread_create in -lpthread" >&5
+-echo $ECHO_N "checking for pthread_create in -lpthread... $ECHO_C" >&6
++echo "$as_me:$LINENO: checking for pthread_create in -lc_r" >&5
++echo $ECHO_N "checking for pthread_create in -lc_r... $ECHO_C" >&6
+ if test "${ac_cv_lib_pthread_pthread_create+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lpthread $LIBS"
++LIBS="-lc_r $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+ /* confdefs.h. */
+@@ -3760,7 +3760,7 @@
+ #define HAVE_LIBPTHREAD 1
+ _ACEOF
+
+- LIBS="-lpthread $LIBS"
++ LIBS="-lc_r $LIBS"
+
+ fi
+
+@@ -6947,82 +6947,15 @@
+ ff_wget=no
+ fi
+
+-# 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 @@
+
+
+
+-for ac_header in umfpack.h umfpack/umfpack.h
++for ac_header in UMFPACK/umfpack.h
+ 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-examples++-load::load.link b/math/freefem++/files/patch-examples++-load::load.link
new file mode 100644
index 000000000000..59d0e0ff7d43
--- /dev/null
+++ b/math/freefem++/files/patch-examples++-load::load.link
@@ -0,0 +1,26 @@
+--- examples++-load/load.link.orig Wed Jun 30 14:17:01 2004
++++ examples++-load/load.link Sun Jul 11 00:30:37 2004
+@@ -9,18 +9,18 @@
+ Darwin)
+ export MACOSX_DEPLOYMENT_TARGET=10.3
+ SHARED="-bundle -undefined dynamic_lookup" ;;
+- Linux|CYGWIN*)
++ Linux|FreeBSD|CYGWIN*)
+ SHARED="-shared " ;;
+ *)
+ echo "sorry unknown achitecture "`uname`
+ exit 1
+ esac
+
+- echo g++ -c $INC $PIC $1.cpp
+- g++ -c $INC $PIC $1.cpp
++ echo $CXX -c $INC $PIC $1.cpp
++ $CXX -c $INC $PIC $1.cpp
+
+- echo g++ $SHARED $1.o -o $1.so
+- g++ $SHARED $1.o -o $1.so
++ echo $CXX $SHARED $1.o -o $1.so
++ $CXX $SHARED $1.o -o $1.so
+
+ else
+ echo "sorry file $1.cpp does not exist"
diff --git a/math/freefem++/files/patch-examples++-tutorial::Makefile.in b/math/freefem++/files/patch-examples++-tutorial::Makefile.in
new file mode 100644
index 000000000000..9ccedbefff71
--- /dev/null
+++ b/math/freefem++/files/patch-examples++-tutorial::Makefile.in
@@ -0,0 +1,11 @@
+--- examples++-tutorial/Makefile.in.orig Wed Jul 7 14:47:45 2004
++++ examples++-tutorial/Makefile.in Sat Jul 10 21:10:37 2004
+@@ -290,7 +290,7 @@
+ uninstall-info-am
+
+
+-all-local: all.edp regtests.edp
++all-local: all.edp
+
+ all.edp:
+ (echo "NoUseOfWait=true;int verbosityy=verbosity;"; \
diff --git a/math/freefem++/files/patch-src::Makefile-linux b/math/freefem++/files/patch-src::Makefile-linux
deleted file mode 100644
index b2605b9e1eca..000000000000
--- a/math/freefem++/files/patch-src::Makefile-linux
+++ /dev/null
@@ -1,41 +0,0 @@
---- src/Makefile-linux.orig Tue Feb 10 13:23:56 2004
-+++ src/Makefile-linux Thu May 6 21:52:05 2004
-@@ -1,19 +1,18 @@
--LIBLOCAL = -ldl -rdynamic # for dlopen (see load.cpp)
--# for dlopen (see load.cpp and man dlopen)
--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$
-+#LIBLOCAL = -ldl # for dlopen (see load.cpp and man dlopen)
-+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
- #-------------------------------------------------
--ARPACKDIR=../../arpack/ARPACK # here the arpack dir is at same level of FreeFem++v... dir
- EIGEN= eigenvalue.o
--LIBARPACK= -L$(ARPACKDIR) -larpack_linux -llapack -lblas
--LIBF77= -lg2c
--INCARPACKPP = -DEIGENVALUE -I../arpack/include # the FreeFem++ arpack++ files (in freefem tree)
-+LIBARPACK= -L$(LOCALBASE)/lib ${LOCALBASE}/lib/libarpack.a -lalapack -lf77blas -lcblas -latlas
-+LIBF77= -lg2c -lm
-+INCARPACKPP = -DEIGENVALUE -I$(LOCALBASE)/include/ARPACK++
-+IUMFPACK= -DUMFPACK -I$(LOCALBASE)/include/UMFPACK -I$(LOCALBASE)/include/AMD
-+LIBUMFPACK= -L$(LOCALBASE)/lib -lumfpack -lamd
- # ------------------------------
- # compilation flags of FreeFem++
- # ------------------------------
-@@ -32,7 +31,7 @@
- # ---------------------------
- # install and compile dir.
- # ----------------------
--BIN_DIR=$(HOME)/bin-$(HOSTTYPE)
-+BIN_DIR=$(PREFIX)/bin
- COMPILE_DIR=c-$(HOSTTYPE)
- #----------------------
-
diff --git a/math/freefem++/files/patch-src::femlib::MatriceCreuse.hpp b/math/freefem++/files/patch-src::femlib::MatriceCreuse.hpp
new file mode 100644
index 000000000000..49158a300ba7
--- /dev/null
+++ b/math/freefem++/files/patch-src::femlib::MatriceCreuse.hpp
@@ -0,0 +1,11 @@
+--- ./src/femlib/MatriceCreuse.hpp.orig Fri Jun 25 10:56:36 2004
++++ ./src/femlib/MatriceCreuse.hpp Thu Jul 8 00:19:27 2004
+@@ -10,7 +10,7 @@
+ #include <umfpack.h>
+ #else
+ #ifdef HAVE_UMFPACK_UMFPACK_H
+-#include <umfpack/umfpack.h>
++#include <UMFPACK/umfpack.h>
+ #else
+
+ // Defaults to a local version of the UMFPACK headers
diff --git a/math/freefem++/pkg-plist b/math/freefem++/pkg-plist
index f869a060af30..87838d778b5a 100644
--- a/math/freefem++/pkg-plist
+++ b/math/freefem++/pkg-plist
@@ -1,9 +1,12 @@
bin/FreeFem++
+bin/FreeFem++-glx
bin/FreeFem++-nw
+%%PORTDOCS%%%%DOCSDIR%%/AUTHORS
%%PORTDOCS%%%%DOCSDIR%%/BUGS
-%%PORTDOCS%%%%DOCSDIR%%/COPYRIGHT
+%%PORTDOCS%%%%DOCSDIR%%/COPYING
%%PORTDOCS%%%%DOCSDIR%%/HISTORY
%%PORTDOCS%%%%DOCSDIR%%/README
+%%PORTDOCS%%%%DOCSDIR%%/TODO
%%PORTDOCS%%%%DOCSDIR%%/manual.pdf
%%PORTDOCS%%%%EXAMPLESDIR%%/D2.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/NSP1P1.edp
@@ -43,11 +46,16 @@ bin/FreeFem++-nw
%%PORTDOCS%%%%EXAMPLESDIR%%/load/load.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/load/load.link
%%PORTDOCS%%%%EXAMPLESDIR%%/load/myfunction.cpp
+%%PORTDOCS%%%%EXAMPLESDIR%%/load/myfunction.so
%%PORTDOCS%%%%EXAMPLESDIR%%/mpi/essai.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/mpi/regtests.sh
%%PORTDOCS%%%%EXAMPLESDIR%%/mpi/schwarz-b.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/mpi/schwarz-c.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/mpi/schwarz.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/other/lap3-cpu.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/other/speedtest.sh
%%PORTDOCS%%%%EXAMPLESDIR%%/parareal.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/regtests.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/testFE.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/testadp.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/teste.edp
@@ -93,12 +101,16 @@ 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/region.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/regtests.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/saverestore.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/schwarz-gc.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/schwarz-no-overlap.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/schwarz-overlap.edp
-%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/sparce-matrix.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/sparse-matrix.edp
+%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/sphere.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/tablefunction.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/xyf
%%PORTDOCS%%%%EXAMPLESDIR%%/wafer-heating-laser-axi.edp
@@ -106,6 +118,7 @@ bin/FreeFem++-nw
%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/bug
%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/eigen
%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/load
+%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/other
%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/mpi
%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/tutorial
%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%