summaryrefslogtreecommitdiff
path: root/cad/netgen
diff options
context:
space:
mode:
authorThierry Thomas <thierry@FreeBSD.org>2004-11-21 20:58:15 +0000
committerThierry Thomas <thierry@FreeBSD.org>2004-11-21 20:58:15 +0000
commitac4020ae920e9058794d7d231c60fd0a48f25275 (patch)
tree93f0fab48107cb4f70e635905539584c9d39cabe /cad/netgen
parentAdd petsc 2.2.1, portable, Extensible Toolkit for Scientific (diff)
Upgrade to 4.4.
Note: high order Finite Element package NGSolve is included.
Notes
Notes: svn path=/head/; revision=122099
Diffstat (limited to 'cad/netgen')
-rw-r--r--cad/netgen/Makefile33
-rw-r--r--cad/netgen/distinfo4
-rw-r--r--cad/netgen/files/patch-Makefile54
-rw-r--r--cad/netgen/files/patch-demoapp::demoapp.cpp13
-rw-r--r--cad/netgen/files/patch-libsrc::makefile.inc13
-rw-r--r--cad/netgen/files/patch-libsrc::makefile.mach.FREEBSD19
-rw-r--r--cad/netgen/files/patch-libsrc::makefile.mach.LINUX32
-rw-r--r--cad/netgen/files/patch-ngcore::Makefile28
-rw-r--r--cad/netgen/files/patch-ngsolve.Makefile19
-rw-r--r--cad/netgen/files/patch-ngsolve::tutorial::Makefile47
-rw-r--r--cad/netgen/files/patch-ngtcltk::ngappinit.cpp42
-rw-r--r--cad/netgen/files/patch-togl::Makefile43
-rw-r--r--cad/netgen/files/patch-togl::togl.cpp11
-rw-r--r--cad/netgen/pkg-plist140
14 files changed, 367 insertions, 131 deletions
diff --git a/cad/netgen/Makefile b/cad/netgen/Makefile
index d053ca0dc7d4..5abc4da67680 100644
--- a/cad/netgen/Makefile
+++ b/cad/netgen/Makefile
@@ -6,31 +6,32 @@
#
PORTNAME= netgen
-PORTVERSION= 4.3.1
+PORTVERSION= 4.4
CATEGORIES= cad
MASTER_SITES= http://www.hpfem.jku.at/netgen/
-DISTNAME= ng${PORTVERSION:S/.//g}
+DISTNAME= ngs${PORTVERSION:S/.//g}
MAINTAINER= ports@FreeBSD.org
COMMENT= An automatic 3D tetrahedral mesh generator
LIB_DEPENDS= tix8184:${PORTSDIR}/x11-toolkits/tix
-USE_GCC= 3.4
+USE_GCC= 3.3 # netgen-4.4 is BROKEN with gcc-3.4 on 5.3-STABLE.
USE_GMAKE= yes
USE_GL= yes
USE_REINPLACE= yes
ALL_TARGET= ng
-DOCSDIR= ${PREFIX}/share/doc/${PORTNAME}/tutorials
-PORTDOCS= boxcyl.geo cone.geo cube.geo cubeandspheres.geo cubemcyl.geo \
+TUTOS= boxcyl.geo cone.geo cube.geo cubeandspheres.geo cubemcyl.geo \
cubemsphere.geo cylinder.geo cylsphere.geo demo2d.in2d ellipsoid.geo \
ellipticcyl.geo fichera.geo hinge.stl lshape3d.geo manyholes.geo \
matrix.geo part1.stl period.geo sculpture.geo shaft.geo sphere.geo \
sphereincube.geo square.in2d test.msz trafo.geo twobricks.geo \
twocubes.geo twocyl.geo
+DIRTCL= demoapp ngsolve ngtcltk
+
.include <bsd.port.pre.mk>
TK_VER?= 8.4
@@ -42,28 +43,30 @@ SHORT_TCL_VER= ${TCL_VER:S/.//}
LIB_DEPENDS+= tcl${SHORT_TCL_VER}:${PORTSDIR}/lang/tcl${SHORT_TCL_VER} \
tk${SHORT_TK_VER}:${PORTSDIR}/x11-toolkits/tk${SHORT_TK_VER}
-unames!= ${UNAME} -s
-MACHINE= ${unames:U}
+MACHINE= ${OPSYS:U}
MAKE_ENV= TK_VER=${TK_VER} TCL_VER=${TCL_VER} \
MACHINE=${MACHINE} MAKE=${GMAKE} \
PTHREAD_CFLAGS=${PTHREAD_CFLAGS} PTHREAD_LIBS=${PTHREAD_LIBS}
pre-configure:
- @${MV} ${WRKSRC}/libsrc/makefile.mach.LINUX \
- ${WRKSRC}/libsrc/makefile.mach.${MACHINE}
@${REINPLACE_CMD} -e "s|%%DATADIR%%|${DATADIR}|" \
${WRKSRC}/ngtcltk/ngappinit.cpp
do-install:
- ${INSTALL_PROGRAM} ${WRKSRC}/ng ${PREFIX}/bin
- ${MKDIR} ${DATADIR}
- ${INSTALL_DATA} ${WRKSRC}/demoapp/demoapp.tcl ${DATADIR}
+ ${MKDIR} ${DIRTCL:S|^|${PREFIX}/netgen/|g}
+ ${INSTALL_PROGRAM} ${WRKSRC}/ng ${PREFIX}/netgen
+ ${LN} -s ${PREFIX}/netgen/ng ${PREFIX}/bin
+.for tcls in . ${DIRTCL}
+ ${CP} ${WRKSRC}/${tcls}/*.tcl ${PREFIX}/netgen/${tcls}
+.endfor
.if !defined(NOPORTDOCS)
- ${MKDIR} ${DOCSDIR}
-. for doc in ${PORTDOCS}
- @${INSTALL_DATA} ${WRKSRC}/tutorials/${doc} ${DOCSDIR}
+ ${MKDIR} ${DOCSDIR}/tutorials ${DOCSDIR}/ngsolve
+ @${INSTALL_DATA} ${WRKSRC}/doc/ng4.pdf ${DOCSDIR}
+. for doc in ${TUTOS}
+ @${INSTALL_DATA} ${WRKSRC}/tutorials/${doc} ${DOCSDIR}/tutorials
. endfor
+ @${CP} ${WRKSRC}/ngsolve/doc/* ${DOCSDIR}/ngsolve
@${ECHO_MSG} "===> Documentation installed in ${DOCSDIR}."
.endif
diff --git a/cad/netgen/distinfo b/cad/netgen/distinfo
index 720b9034ee83..406ac44cd644 100644
--- a/cad/netgen/distinfo
+++ b/cad/netgen/distinfo
@@ -1,2 +1,2 @@
-MD5 (ng431.tar.gz) = b676c33e6f499f78f53af5cd99929dab
-SIZE (ng431.tar.gz) = 1167326
+MD5 (ngs44.tar.gz) = ec0519fb348d4af48c42cd018ee2baee
+SIZE (ngs44.tar.gz) = 3421202
diff --git a/cad/netgen/files/patch-Makefile b/cad/netgen/files/patch-Makefile
index 41b7a480a74b..1c7b286f9e42 100644
--- a/cad/netgen/files/patch-Makefile
+++ b/cad/netgen/files/patch-Makefile
@@ -1,42 +1,46 @@
---- Makefile.orig Thu Feb 12 11:46:45 2004
-+++ Makefile Mon May 3 21:56:38 2004
-@@ -16,13 +16,13 @@
+--- Makefile.orig Tue Nov 16 15:29:39 2004
++++ Makefile Thu Nov 18 00:05:27 2004
+@@ -21,7 +21,7 @@
# system libraries:
#
- # olymp
-- tcltklib = -ltix8.1.8.4 -ltk8.4 -ltcl8.4
+ #
+-tcltklib = -ltix8.1.8.4 -ltk8.4 -ltcl8.4
+tcltklib = `echo $(TIX_BUILD_LIB_SPEC)` `echo $(TK_LIB_SPEC)` `echo $(TCL_LIB_FLAG)`
- #tcltklib = -L. -ltix8.1.8.4 -ltk8.4 -ltcl8.4
- # tcltklib = -ltix4.1.8.0 -ltk8.0 -ltcl8.0
+ # tcltklib = -ltix4.1.8.3 -ltk8.3 -ltcl8.3
# tcltklib = -ltix8.2 -ltk8.3 -ltcl8.3
+ # tcltklib = /usr/lib/libtix8.1.8.3.so -ltk8.3 -ltcl8.3
+@@ -29,7 +29,7 @@
+ # tcltklib = -ltix8.2 -ltk8.4 -ltcl8.4
#
#
--syslib = $(tcltklib) -lGL -lGLU -lX11 -lXi -lm -ldl -lpthread $(SYSLIB2)
-+syslib = $(tcltklib) -lGL -lGLU -lX11 -lXi -lm $(PTHREAD_LIBS) $(SYSLIB2)
+-syslib = $(tcltklib) -lGL -lGLU -lX11 -lXi -lm -ldl -lpthread $(SYSLIB2)
++syslib = $(tcltklib) -lGL -lGLU -lX11 -lXi -lm $(PTHREAD_LIBS) $(SYSLIB2)
# (maybe you have to remove -ldl)
#
#
-@@ -33,9 +33,7 @@
- OCCINC_DIR=$(OCC_DIR)/inc
- OCCLIB_DIR=$(OCC_DIR)/lib
- #
--# occlib = -L$(OCCLIB_DIR) -lTKIGES -lTKBRep -lTKSTEP
--#
--CPLUSPLUSFLAGS3 = -I$(LIBSRC_DIR)/step
-+# occlib = -L$(OCCLIB_DIR) -lTKIGES -lTKBRep -lTKSTEP
+@@ -43,9 +43,9 @@
+ # OCCINC_DIR=$(OCC_DIR)/inc
+ # OCCLIB_DIR=$(OCC_DIR)/lib
#
- include $(LIBSRC_DIR)/makefile.mach.$(MACHINE)
+-OCC_DIR=/opt/OpenCASCADE5.2
+-OCCINC_DIR=$(OCC_DIR)/ros/inc
+-OCCLIB_DIR=$(OCC_DIR)/ros/lin/lib
++#OCC_DIR=/opt/OpenCASCADE5.2
++#OCCINC_DIR=$(OCC_DIR)/ros/inc
++#OCCLIB_DIR=$(OCC_DIR)/ros/lin/lib
+
+ # add libs in makefile.mach.$(MACHINE)
+ # occlib = -L$(OCCLIB_DIR) -lTKIGES -lTKBRep -lTKSTEP -lTKSTL
+@@ -58,7 +58,7 @@
#
-@@ -44,7 +42,7 @@
- .SUFFIXES: .cpp .o
#
#
--CPLUSPLUSFLAGS1 = -c -I$(LIBSRC_DIR)/include -I$(OCCINC_DIR) -DOPENGL
-+CPLUSPLUSFLAGS1 = -c -I$(LIBSRC_DIR)/include -I$(OCCINC_DIR) -DOPENGL $(PTHREAD_CFLAGS)
- LINKFLAGS1 = -lGL -lGLU -lX11 -lXext -lXmu
+-CPLUSPLUSFLAGS1 = -c -I$(LIBSRC_DIR)/include -I$(OCCINC_DIR) -I./ngsolve/include -Ilibsrc/interface -DOPENGL $(METISINC)
++CPLUSPLUSFLAGS1 = -c -I$(LIBSRC_DIR)/include -I$(OCCINC_DIR) -I./ngsolve/include -Ilibsrc/interface -DOPENGL $(METISINC) $(PTHREAD_CFLAGS)
#
+ LINKFLAGS1 = -lGL -lGLU -lX11 -lXext -lXmu
#
-@@ -59,7 +57,7 @@
+@@ -74,7 +74,7 @@
# Additional NETGEN Applications:
#
# the demo add-on application:
@@ -45,7 +49,7 @@
#
# appaddon = -L./addon -laddon
-@@ -86,7 +84,7 @@
+@@ -102,7 +102,7 @@
cd libsrc; $(MAKE)
#
applib:
diff --git a/cad/netgen/files/patch-demoapp::demoapp.cpp b/cad/netgen/files/patch-demoapp::demoapp.cpp
deleted file mode 100644
index 2ae729ad2e02..000000000000
--- a/cad/netgen/files/patch-demoapp::demoapp.cpp
+++ /dev/null
@@ -1,13 +0,0 @@
---- demoapp/demoapp.cpp.orig Tue Feb 3 11:47:04 2004
-+++ demoapp/demoapp.cpp Mon May 3 22:22:41 2004
-@@ -3,8 +3,8 @@
- */
-
-
--#include <iostream.h>
--
-+#include <iostream>
-+using namespace std;
-
- // for tcltk ...
- #include "../libsrc/include/incvis.hpp"
diff --git a/cad/netgen/files/patch-libsrc::makefile.inc b/cad/netgen/files/patch-libsrc::makefile.inc
index b4ad55d4ef96..dff04e88ebcb 100644
--- a/cad/netgen/files/patch-libsrc::makefile.inc
+++ b/cad/netgen/files/patch-libsrc::makefile.inc
@@ -1,15 +1,18 @@
---- libsrc/makefile.inc.orig Tue Feb 3 11:47:07 2004
-+++ libsrc/makefile.inc Mon May 3 10:51:35 2004
-@@ -24,7 +24,7 @@
- .SUFFIXES: .cpp .o
+--- libsrc/makefile.inc.orig Wed Aug 25 13:06:28 2004
++++ libsrc/makefile.inc Wed Nov 17 21:52:12 2004
+@@ -24,9 +24,9 @@
+ .SUFFIXES: .cpp .c .o
#
.cpp.o:
- $(CPLUSPLUS) $(CPLUSPLUSFLAGS1) $(CPLUSPLUSFLAGS2) $(CPLUSPLUSFLAGSLIBRARY) $<
+ $(CPLUSPLUS) $(CPLUSPLUSFLAGS1) $(CPLUSPLUSFLAGS2) $(CPLUSPLUSFLAGS3) $(CPLUSPLUSFLAGSLIBRARY) $<
+ .c.o:
+- $(CPLUSPLUS) $(CPLUSPLUSFLAGS1) $(CPLUSPLUSFLAGS2) $(CPLUSPLUSFLAGSLIBRARY) $<
++ $(CPLUSPLUS) $(CPLUSPLUSFLAGS1) $(CPLUSPLUSFLAGS2) $(CPLUSPLUSFLAGS3) $(CPLUSPLUSFLAGSLIBRARY) $<
#
#
$(LIBB):: $(LIB_DIR)
-@@ -32,7 +32,7 @@
+@@ -34,7 +34,7 @@
# make lib from sources:
#
$(LIBB):: $(src)
diff --git a/cad/netgen/files/patch-libsrc::makefile.mach.FREEBSD b/cad/netgen/files/patch-libsrc::makefile.mach.FREEBSD
new file mode 100644
index 000000000000..3f46d5a81229
--- /dev/null
+++ b/cad/netgen/files/patch-libsrc::makefile.mach.FREEBSD
@@ -0,0 +1,19 @@
+--- libsrc/makefile.mach.FREEBSD.orig Wed May 5 23:24:29 2004
++++ libsrc/makefile.mach.FREEBSD Sun Nov 21 20:32:57 2004
+@@ -18,9 +18,15 @@
+ tcltklib = `echo $(TIX_BUILD_LIB_SPEC)` `echo $(TK_LIB_SPEC)` `echo $(TCL_LIB_FLAG)`
+
+ CFLAGS2 =
+-CPLUSPLUSFLAGS2 = $(CXXFLAGS) -I$(X11BASE)/include -DLINUX -DOPENGL
++CPLUSPLUSFLAGS2 = $(CXXFLAGS) -I$(X11BASE)/include -DLINUX -DOPENGL -DNGSOLVE \
++ -ftemplate-depth-99 -finline-limit=20000 \
++ -funroll-loops
++
+ CPLUSPLUSFLAGS3 = -I$(LIBSRC_DIR)/step `echo $(TCL_INCLUDE_SPEC)` `echo -I$(TK_PREFIX)`/include/tk`echo $(TK_VERSION)`
+ #
+ LINKFLAGS2 = -L$(LOCALBASE)/lib -L$(X11BASE)/lib
+
+ SYSLIB2 = -lstdc++
++
++appngs = lib/$(MACHINE)/*.o -lngsolvebasic
++goalngs = goalngs
diff --git a/cad/netgen/files/patch-libsrc::makefile.mach.LINUX b/cad/netgen/files/patch-libsrc::makefile.mach.LINUX
deleted file mode 100644
index 6f888a8335f4..000000000000
--- a/cad/netgen/files/patch-libsrc::makefile.mach.LINUX
+++ /dev/null
@@ -1,32 +0,0 @@
---- libsrc/makefile.mach.LINUX.orig Thu Feb 12 11:43:23 2004
-+++ libsrc/makefile.mach.LINUX Mon May 3 13:41:03 2004
-@@ -2,19 +2,25 @@
- # Machine dependent make include file for gcc
- #
- #
--CC=gcc
-+#CC=gcc
- CPLUSPLUS=$(CC)
- AR=ar
- LINK=$(CC)
--MAKE=make
-+#MAKE=make
- RM=rm
- RANLIB=ranlib
- #
- # Machine dependent flags:
- #
-+include $(LOCALBASE)/lib/tixConfig.sh
-+include $(LOCALBASE)/lib/tcl$(TCL_VER)/tclConfig.sh
-+include $(LOCALBASE)/lib/tk$(TK_VER)/tkConfig.sh
-+tcltklib = `echo $(TIX_BUILD_LIB_SPEC)` `echo $(TK_LIB_SPEC)` `echo $(TCL_LIB_FLAG)`
-+
- CFLAGS2 =
--CPLUSPLUSFLAGS2 = -O2 -I/usr/X11R6/include -DLINUX -DOPENGL
-+CPLUSPLUSFLAGS2 = $(CXXFLAGS) -I$(X11BASE)/include -DLINUX -DOPENGL
-+CPLUSPLUSFLAGS3 = -I$(LIBSRC_DIR)/step `echo $(TCL_INCLUDE_SPEC)` `echo -I$(TK_PREFIX)`/include/tk`echo $(TK_VERSION)`
- #
--LINKFLAGS2 = -L/usr/openwin/lib -L/usr/X11R6/lib
-+LINKFLAGS2 = -L$(LOCALBASE)/lib -L$(X11BASE)/lib
-
- SYSLIB2 = -lstdc++
diff --git a/cad/netgen/files/patch-ngcore::Makefile b/cad/netgen/files/patch-ngcore::Makefile
new file mode 100644
index 000000000000..73d9d8d2a03a
--- /dev/null
+++ b/cad/netgen/files/patch-ngcore::Makefile
@@ -0,0 +1,28 @@
+--- ngcore/Makefile.orig Fri Jul 2 23:21:25 2004
++++ ngcore/Makefile Sun Nov 21 18:11:55 2004
+@@ -108,6 +108,7 @@
+ ../libsrc/general/mystring.cpp
+ #
+ #
++include ../libsrc/makefile.mach.$(MACHINE)
+ #
+ allsrc = $(main).cpp $(src)
+ #
+@@ -116,14 +117,14 @@
+ #
+ #
+ .cpp.o:
+- gcc -c -O2 -w $< -o $(<:.cpp=.o) -I../libsrc/include -DNO_PARALLEL_THREADS
++ $(CPLUSPLUS) -c $(CXXFLAGS) -w $< -o $(<:.cpp=.o) -I../libsrc/include -DNO_PARALLEL_THREADS
+ #
+ $(main) : $(main).o libng.a
+- gcc -w -o $@ $(main).o -L. -lng -lm -lpthread -lstdc++
++ $(CPLUSPLUS) -w -o $@ $(main).o -L. -lng -lm $(PTHREAD_LIBS) $(SYSLIB2)
+ #
+ #
+ libng.a : $(src:.cpp=.o)
+- ar r libng.a $(src:.cpp=.o)
++ $(AR) r libng.a $(src:.cpp=.o)
+ #
+ clean:
+ -@rm -r ngcore *.o */*.o */*/*.o */*/*/*.o */*/ii_files
diff --git a/cad/netgen/files/patch-ngsolve.Makefile b/cad/netgen/files/patch-ngsolve.Makefile
new file mode 100644
index 000000000000..00e79fd8a772
--- /dev/null
+++ b/cad/netgen/files/patch-ngsolve.Makefile
@@ -0,0 +1,19 @@
+--- ngsolve/Makefile.orig Tue Nov 16 10:14:27 2004
++++ ngsolve/Makefile Wed Nov 17 23:18:39 2004
+@@ -89,14 +89,14 @@
+ pebblesinc = -I../../pebbles_old/libsrc/setup -I../../pebbles_old/libsrc/solver -I../../pebbles_old/libsrc/prepro -I../../pebbles_old/libsrc/parallel -I../../pebbles_old/libsrc
+ #
+ $(lib):: $(src)
+- $(CPLUSPLUS) -c -I. -I../libsrc -I../libsrc/include -I../libsrc/interface -Iinclude $(pebblesinc) $(CPLUSPLUSFLAGS2) -DNETGEN_ELTRANS $?
++ $(CPLUSPLUS) -c -I. -I../libsrc -I../libsrc/include -I../libsrc/interface -Iinclude $(pebblesinc) $(CPLUSPLUSFLAGS2) $(CPLUSPLUSFLAGS3) -DNETGEN_ELTRANS $?
+ $(AR) $(ARFLAGS) $@ *.o
+ mv *.o ../lib/$(MACHINE)
+ -$(RM) *.o
+ -@$(RANLIB) $@
+ #
+ $(lib2):: $(src2)
+- $(CPLUSPLUS) -c -I. -I../libsrc/interface -Iinclude $(CPLUSPLUSFLAGS2) $?
++ $(CPLUSPLUS) -c -I. -I../libsrc/interface -Iinclude $(CPLUSPLUSFLAGS2) $(CPLUSPLUSFLAGS3) $?
+ $(AR) $(ARFLAGS) $@ *.o
+ -$(RM) *.o
+ -@$(RANLIB) $@
diff --git a/cad/netgen/files/patch-ngsolve::tutorial::Makefile b/cad/netgen/files/patch-ngsolve::tutorial::Makefile
new file mode 100644
index 000000000000..c3f199fa2329
--- /dev/null
+++ b/cad/netgen/files/patch-ngsolve::tutorial::Makefile
@@ -0,0 +1,47 @@
+--- ./ngsolve/tutorial/Makefile.orig Tue Nov 16 09:57:27 2004
++++ ./ngsolve/tutorial/Makefile Sun Nov 21 18:20:37 2004
+@@ -1,10 +1,12 @@
+-COMPILE = gcc -O2 -I../include -I../../libsrc/include -finline-limit=50000 -ftemplate-depth-99 -mcpu=pentium4 -funroll-loops -fforce-addr
++include ../libsrc/makefile.mach.$(MACHINE)
++
++COMPILE = $(CPLUSPLUS) $(CXXFLAGS) -I../include -I../../libsrc/include -finline-limit=50000 -ftemplate-depth-99 -funroll-loops -fforce-addr
+ # COMPILE = /opt/gcc40/bin/gcc -O2 -I../include -I../../libsrc/include -funroll-loops
+ # -finline-limit=10000 -march=pentium4 -fforce-addr -ftemplate-depth-99
+ # COMPILE = icc -xB -O3 -Ob2 -I../include -Qoption,c,-ip_ninl_max_stats=10000 -Qoption,c,-ip_ninl_min_stats=100 -Qoption,c,-ip_ninl_max_total_stats=4000
+ # COMPILE = icc -xN -O3 -Ob2 -I../include -opt_report_fileopt.rep -Qoption,c,-ip_ninl_max_stats=10000 -Qoption,c,-ip_ninl_min_stats=100 -Qoption,c,-ip_ninl_max_total_stats=4000
+
+-stdlib = -lm -pthread -lstdc++
++stdlib = -lm $(PTHREAD_LIBS) $(SYSLIB2)
+ # stdlib = -L/opt/gcc40/lib -lm -pthread /opt/gcc40/lib/libstdc++.a
+
+ default:
+@@ -38,25 +40,25 @@
+ libngstd.a: ../ngstd/bitarray.cpp ../ngstd/blockalloc.cpp ../ngstd/evalfunc.cpp ../ngstd/exception.cpp ../ngstd/flags.cpp ../ngstd/localheap.cpp ../ngstd/symboltable.cpp ../ngstd/table.cpp ../ngstd/templates.cpp ../../libsrc/general/moveablemem.cpp ../../libsrc/general/dynamicmem.cpp ../../libsrc/general/ngexception.cpp
+ @-rm *.o
+ $(COMPILE) -c $?
+- ar -r libngstd.a *.o
++ $(AR) -r libngstd.a *.o
+ @-rm *.o
+
+ libngbla.a: ../basiclinalg/bandmatrix.cpp ../basiclinalg/eigensystem.cpp ../basiclinalg/calcinverse.cpp ../basiclinalg/vecmat.cpp ../basiclinalg/cholesky.cpp
+ @-rm *.o
+ $(COMPILE) -c $?
+- ar -r libngbla.a *.o
++ $(AR) -r libngbla.a *.o
+ @-rm *.o
+
+ libngla.a:
+ @-rm *.o
+ $(COMPILE) -c ../linalg/*.cpp
+- ar -r libngla.a *.o
++ $(AR) -r libngla.a *.o
+ @-rm *.o
+
+ libngfem.a: ../fem/bdbequations.cpp ../fem/hdivhofe.cpp ../fem/coefficient.cpp ../fem/highorderfe.cpp ../fem/elementtopology.cpp ../fem/integrator.cpp ../fem/equilibrium.cpp ../fem/intrule.cpp ../fem/fastmat.cpp ../fem/l2hofe.cpp ../fem/finiteelement.cpp ../fem/maxwellintegrator.cpp ../fem/h1hofe.cpp ../fem/hcurlfe.cpp ../fem/recursive_pol.cpp ../fem/hcurlhofe.cpp ../fem/recursive_pol_trig.cpp ../fem/hdiv_equations.cpp ../fem/specialelement.cpp ../fem/hdivfe.cpp
+
+ @-rm *.o
+ $(COMPILE) -c $?
+- ar -r libngfem.a *.o
++ $(AR) -r libngfem.a *.o
+ @-rm *.o
+
diff --git a/cad/netgen/files/patch-ngtcltk::ngappinit.cpp b/cad/netgen/files/patch-ngtcltk::ngappinit.cpp
index 7d785b8bd233..2144eca15caa 100644
--- a/cad/netgen/files/patch-ngtcltk::ngappinit.cpp
+++ b/cad/netgen/files/patch-ngtcltk::ngappinit.cpp
@@ -1,5 +1,5 @@
---- ngtcltk/ngappinit.cpp.orig Tue Feb 10 10:01:01 2004
-+++ ngtcltk/ngappinit.cpp Wed May 5 19:51:54 2004
+--- ngtcltk/ngappinit.cpp.orig Wed Nov 17 10:43:35 2004
++++ ngtcltk/ngappinit.cpp Wed Nov 17 21:57:41 2004
@@ -3,10 +3,12 @@
This file is a modification of tkAppInit.c from the Tcl/Tk package
*/
@@ -23,46 +23,14 @@
int *tclDummyMathPtr = (int *) matherr;
-@@ -169,20 +171,22 @@
-
+@@ -194,8 +196,9 @@
// For adding an application, parse the file here,
// and call the init-procedure below
-- // #define DEMOAPP
+ // #define DEMOAPP
+#define DEMOAPP
#ifdef DEMOAPP
-- // Tcl_EvalFile (myinterp, "demoapp/demoapp.tcl");
+- Tcl_EvalFile (myinterp, "demoapp/demoapp.tcl");
+ Tcl_EvalFile (myinterp, "%%DATADIR%%/demoapp.tcl");
#endif
-+// #define METIS
-+
#ifdef ADDON
- Tcl_EvalFile (myinterp, "addon/addon.tcl");
- #endif
-
- // start event-loop
- Tk_MainLoop();
-- Tcl_DeleteInterp (myinterp);
-+ Tcl_DeleteInterp (myinterp);
-
-- return 0;
-+ return 0;
- }
-
-
-@@ -268,6 +272,7 @@
- // #define NGSOLVE
- // #undef NGSOLVE
-
-+/*
- #ifdef NGSOLVE
- extern int NGSolve_Init (Tcl_Interp * interp);
- if (NGSolve_Init(interp) == TCL_ERROR)
-@@ -277,6 +282,7 @@
- return TCL_ERROR;
- }
- #endif
-+*/
-
- Tcl_StaticPackage(interp, "Tk", Tk_Init, 0);
-
diff --git a/cad/netgen/files/patch-togl::Makefile b/cad/netgen/files/patch-togl::Makefile
new file mode 100644
index 000000000000..6a7bf9b01e30
--- /dev/null
+++ b/cad/netgen/files/patch-togl::Makefile
@@ -0,0 +1,43 @@
+--- ./togl/Makefile.orig Wed Jan 28 16:28:33 2004
++++ ./togl/Makefile Sun Nov 21 18:37:12 2004
+@@ -57,33 +57,33 @@
+ # Initial revision
+ #
+
+-
++include ../libsrc/makefile.mach.$(MACHINE)
+
+ # Makefile for Togl demos
+ # You'll probably have to tinker with these macros:
+
+
+ # The C compiler:
+-CC = cc
++CC = $(CPLUSPLUS)
+
+ # Compiler options:
+-COPTS = -c -O
++COPTS = -c $(CXXFLAGS)
+
+ # Shared library linker command:
+-SHLINK = cc -G
++SHLINK = $(LINK) -shared
+
+ # Name for the shared lib:
+ #SH_LIB = libtogl.so.1.3
+ SH_LIB =
+
+ # Where to find tcl.h, tk.h, OpenGL/Mesa headers, etc:
+-INCLUDES = -I/usr/local/include -I/usr/include/tcl -I/usr/freeware/include
++INCLUDES = -I$(X11BASE)/include $(CPLUSPLUSFLAGS3)
+
+ # Where to find libtcl.a, libtk.a, OpenGL/Mesa libraries:
+-LIBDIRS = -L/usr/local/lib
++LIBDIRS = $(LINKFLAGS2)
+
+ # Libraries to link with (-ldl for Linux only?):
+-LIBS = -ltk -ltcl -lGLU -lGL -L/usr/X11/lib -L/usr/freeware/lib32 -lX11 -lXmu -lXext -lXt -lm -ldl
++LIBS = $(tcltklib) -lGLU -lGL -lX11 -lXmu -lXext -lXt -lm
+
+ TK_FLAGS =
+
diff --git a/cad/netgen/files/patch-togl::togl.cpp b/cad/netgen/files/patch-togl::togl.cpp
new file mode 100644
index 000000000000..bdc42914e223
--- /dev/null
+++ b/cad/netgen/files/patch-togl::togl.cpp
@@ -0,0 +1,11 @@
+--- togl/togl.cpp.orig Wed Sep 29 19:48:06 2004
++++ togl/togl.cpp Wed Nov 17 22:15:57 2004
+@@ -140,6 +140,8 @@
+ # include "tkInt8.4p4.h"
+ #elif TK_MAJOR_VERSION==8 && TK_MINOR_VERSION==4 && TK_RELEASE_SERIAL==6
+ # include "tkInt8.4p6.h"
++#elif TK_MAJOR_VERSION==8 && TK_MINOR_VERSION==4 && TK_RELEASE_SERIAL==7
++# include "tkInt8.4p6.h"
+ #else
+ Sorry, you will have to edit togl.c to include the right tkInt.h file
+ #endif
diff --git a/cad/netgen/pkg-plist b/cad/netgen/pkg-plist
index 6046a3e861ec..41f0e802da77 100644
--- a/cad/netgen/pkg-plist
+++ b/cad/netgen/pkg-plist
@@ -1,3 +1,139 @@
bin/ng
-%%DATADIR%%/demoapp.tcl
-@dirrm %%DATADIR%%
+netgen/demoapp/demoapp.tcl
+netgen/ng
+netgen/ng.tcl
+netgen/ngsolve/ngsolve.tcl
+netgen/ngsolve/preproc.tcl
+netgen/ngtcltk/dialog.tcl
+netgen/ngtcltk/drawing.tcl
+netgen/ngtcltk/menustat.tcl
+netgen/ngtcltk/nghelp.tcl
+netgen/ngtcltk/ngicon.tcl
+netgen/ngtcltk/ngvisual.tcl
+netgen/ngtcltk/parameters.tcl
+netgen/ngtcltk/variables.tcl
+netgen/startup.tcl
+%%PORTDOCS%%%%DOCSDIR%%/ng4.pdf
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/WARNINGS
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/contents.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/images.aux
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/images.log
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/images.pl
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/images.tex
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img1.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img10.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img11.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img12.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img13.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img14.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img15.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img16.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img17.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img18.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img19.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img2.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img20.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img21.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img22.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img23.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img24.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img25.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img26.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img27.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img28.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img29.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img3.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img30.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img31.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img32.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img33.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img34.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img35.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img36.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img37.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img38.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img39.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img4.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img40.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img41.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img42.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img43.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img44.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img45.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img46.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img47.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img48.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img5.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img6.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img7.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img8.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/img9.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/index.html
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/internals.pl
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/labels.pl
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/next.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/next_g.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/ngsolve.css
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/ngsolve.html
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/node1.html
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/node10.html
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/node11.html
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/node12.html
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/node13.html
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/node14.html
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/node15.html
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/node16.html
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/node17.html
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/node18.html
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/node19.html
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/node2.html
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/node20.html
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/node21.html
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/node22.html
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/node23.html
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/node3.html
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/node4.html
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/node5.html
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/node6.html
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/node7.html
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/node8.html
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/node9.html
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/prev.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/prev_g.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/up.png
+%%PORTDOCS%%%%DOCSDIR%%/ngsolve/up_g.png
+%%PORTDOCS%%%%DOCSDIR%%/tutorials/boxcyl.geo
+%%PORTDOCS%%%%DOCSDIR%%/tutorials/cone.geo
+%%PORTDOCS%%%%DOCSDIR%%/tutorials/cube.geo
+%%PORTDOCS%%%%DOCSDIR%%/tutorials/cubeandspheres.geo
+%%PORTDOCS%%%%DOCSDIR%%/tutorials/cubemcyl.geo
+%%PORTDOCS%%%%DOCSDIR%%/tutorials/cubemsphere.geo
+%%PORTDOCS%%%%DOCSDIR%%/tutorials/cylinder.geo
+%%PORTDOCS%%%%DOCSDIR%%/tutorials/cylsphere.geo
+%%PORTDOCS%%%%DOCSDIR%%/tutorials/demo2d.in2d
+%%PORTDOCS%%%%DOCSDIR%%/tutorials/ellipsoid.geo
+%%PORTDOCS%%%%DOCSDIR%%/tutorials/ellipticcyl.geo
+%%PORTDOCS%%%%DOCSDIR%%/tutorials/fichera.geo
+%%PORTDOCS%%%%DOCSDIR%%/tutorials/hinge.stl
+%%PORTDOCS%%%%DOCSDIR%%/tutorials/lshape3d.geo
+%%PORTDOCS%%%%DOCSDIR%%/tutorials/manyholes.geo
+%%PORTDOCS%%%%DOCSDIR%%/tutorials/matrix.geo
+%%PORTDOCS%%%%DOCSDIR%%/tutorials/part1.stl
+%%PORTDOCS%%%%DOCSDIR%%/tutorials/period.geo
+%%PORTDOCS%%%%DOCSDIR%%/tutorials/sculpture.geo
+%%PORTDOCS%%%%DOCSDIR%%/tutorials/shaft.geo
+%%PORTDOCS%%%%DOCSDIR%%/tutorials/sphere.geo
+%%PORTDOCS%%%%DOCSDIR%%/tutorials/sphereincube.geo
+%%PORTDOCS%%%%DOCSDIR%%/tutorials/square.in2d
+%%PORTDOCS%%%%DOCSDIR%%/tutorials/test.msz
+%%PORTDOCS%%%%DOCSDIR%%/tutorials/trafo.geo
+%%PORTDOCS%%%%DOCSDIR%%/tutorials/twobricks.geo
+%%PORTDOCS%%%%DOCSDIR%%/tutorials/twocubes.geo
+%%PORTDOCS%%%%DOCSDIR%%/tutorials/twocyl.geo
+@dirrm netgen/demoapp
+@dirrm netgen/ngsolve
+@dirrm netgen/ngtcltk
+@dirrm netgen
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/tutorials
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/ngsolve
+%%PORTDOCS%%@dirrm %%DOCSDIR%%