Index: cad/gmsh/Makefile =================================================================== --- cad/gmsh/Makefile +++ cad/gmsh/Makefile @@ -2,52 +2,57 @@ # $FreeBSD$ PORTNAME= gmsh -PORTVERSION= 2.12.0 -PORTREVISION?= 1 +PORTVERSION= 2.13.2 CATEGORIES= cad -MASTER_SITES= http://www.geuz.org/gmsh/src/ \ - http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/ +MASTER_SITES= http://gmsh.info/src/ DISTNAME= ${PORTNAME}-${PORTVERSION}-source -DISTFILES= ${DISTNAME}${EXTRACT_SUFX} DIST_SUBDIR= gmsh -EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} -MAINTAINER?= jrm@ftfl.ca +MAINTAINER?= jrm@FreeBSD.org COMMENT?= Automatic 3D finite element mesh generator +LICENSE= APACHE20 AGPLv3+ GPLv3+ GPLv2+ LGPL21 +LICENSE_COMB= multi + LIB_DEPENDS= libfltk.so:x11-toolkits/fltk \ + libfontconfig.so:x11-fonts/fontconfig \ + libgmp.so:math/gmp \ + libhdf5.so:science/hdf5 \ libpng.so:graphics/png \ - liblapack.so:math/lapack + libsz.so:science/szip RUN_DEPENDS= getdp:science/getdp -BROKEN_powerpc64= Does not build on powerpc64 - -WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}-source +BROKEN_powerpc64=Does not build on powerpc64 +BROKEN_FreeBSD_12_i386=Does not build on FreeBSD 12 i386 due to a clang bug: https://llvm.org/bugs/show_bug.cgi?id=21903 SLAVEDIRS= cad/gmsh-occ -USES= cmake compiler:c++11-lib fortran gmake jpeg tar:tgz -USE_GL= yes +USES= blaslapack cmake fortran gmake jpeg tar:tgz +USE_GL= gl glu +USE_XORG= x11 xext xfixes xft ALL_TARGET= all -MAKE_JOBS_UNSAFE= yes - CMAKE_ARGS+= -DCMAKE_SKIP_RPATH:BOOL=YES OPTIONS_DEFINE= STATIC_LIB SHARED_LIB TETGEN METIS TAUCS MED CGNS GMM OCC -OPTIONS_DEFAULT= STATIC_LIB SHARED_LIB TETGEN METIS MED CGNS GMM +OPTIONS_DEFAULT=STATIC_LIB SHARED_LIB TETGEN METIS MED GMM TAUCS + +STATIC_LIB_DESC=Build static library +SHARED_LIB_DESC=Build shared library +TETGEN_DESC= Enable TetGen as an alternative 3D mesh generator +METIS_DESC= Enable METIS as an alternative 3D mesh generator +TAUCS_DESC= Enable the TAUCS linear algebra solver +MED_DESC= Enable MED mesh and post file formats +CGNS_DESC= Enable CGNS mesh export (experimental) +GMM_DESC= Enable GMM linear solvers (simple PETSc alternative) +OCC_DESC= Enable Open CASCADE geometrical models -STATIC_LIB_DESC= Build static library -SHARED_LIB_DESC= Build shared library -TETGEN_LIB_DESC= Enable tetgen as an alternative 3D mesh generator -METIS_LIB_DESC= Enable metis as an alternative 3D mesh generator -TAUCS_LIB_DESC= Enable the Taucs linear algebra solver -MED_LIB_DESC= Enable MED support -CGNS_LIB_DESC= Enable CGNS support -GMM_LIB_DESC= Enable gmm++ support -OCC_LIB_DESC= Enable STEP, IGES and BREP support +OPTIONS_SUB= yes -OPTIONS_SUB= yes +# TODO +# Dependencies against PythonLibs, swig and petsc are found and registered if +# installed +# => add knobs to handle them. STATIC_LIB_CMAKE_ON= -DENABLE_BUILD_LIB=ON STATIC_LIB_ALL_TARGET= lib @@ -58,14 +63,11 @@ DOCS_CMAKE_OFF= -DINSTALL_DOCS=OFF TETGEN_CMAKE_ON= -DENABLE_TETGEN=ON TETGEN_CMAKE_OFF= -DENABLE_TETGEN=OFF -TETGEN_VARS= "no_cdrom=Contact appropriate authors for commercial purposes if including Tetgen or Metis" -METIS_CMAKE_ON= -DENABLE_METIS=ON +METIS_CMAKE_ON= -DENABLE_METIS=ON METIS_CMAKE_OFF= -DENABLE_METIS=OFF -METIS_VARS= "no_cdrom=Contact appropriate authors for commercial purposes if including Tetgen or Metis" -METIS_VARS= distfiles+=manual.pdf -TAUCS_LIB_DEPENDS= libtaucs.so:math/taucs TAUCS_CMAKE_ON= -DENABLE_TAUCS=ON TAUCS_CMAKE_OFF= -DENABLE_TAUCS=OFF +TAUCS_IMPLIES= METIS # otherwise linker fails to locate METIS libraries MED_LIB_DEPENDS= libmed.so:french/med MED_CMAKE_ON= -DENABLE_MED=ON MED_CMAKE_OFF= -DENABLE_MED=OFF @@ -80,65 +82,8 @@ OCC_CMAKE_OFF= -DENABLE_OCC=OFF OCC_CONFLICTS_OFF= gmsh-occ-2.* -.include - -# Even though the taucs port pulls in the metis port, we will still need -# METIS set when TAUCS is set, otherwise the linker does not find the -# libraries installed by the metis port. -.if ${PORT_OPTIONS:MTAUCS} && !${PORT_OPTIONS:MMETIS} -IGNORE= METIS must be set if TAUCS is set -.endif - -.if !${PORT_OPTIONS:MMETIS} && ${PORT_OPTIONS:MDOCS} -IGNORE= the license for Metis requires that its documentation is included -.endif - -.if ${PORT_OPTIONS:MOCC} -. if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1200000 -BROKEN_i386= Bad machine code: Using an undefined physical register -. endif -.endif - -# TODO -# Dependencies against PythonLibs, swig and petsc are found and registered if installed -# => add knobs to handle them. - -PKGMESSAGE= ${WRKDIR}/pkg-message - -.include - -post-extract: - ${CP} ${DISTDIR}/${DIST_SUBDIR}/manual.pdf ${WRKDIR} - ${TOUCH} ${PKGMESSAGE} -.if ${PORT_OPTIONS:MTETGEN} - @${ECHO} >> ${PKGMESSAGE} - @${ECHO} "The FreeBSD project has been granted redistribution rights" >> ${PKGMESSAGE} - @${ECHO} "but anyone attempting to redistribute Gmsh with Tetgen" >> ${PKGMESSAGE} - @${ECHO} "for strict commercial purposes must still contact the author" >> ${PKGMESSAGE} - @${ECHO} "(Hang Si) and license the code." >> ${PKGMESSAGE} -.endif -.if ${PORT_OPTIONS:MMETIS} - @${ECHO} >> ${PKGMESSAGE} - @${ECHO} "The FreeBSD project has been granted redistribution rights" >> ${PKGMESSAGE} - @${ECHO} "but anyone attempting to redistribute Gmsh with Metis" >> ${PKGMESSAGE} - @${ECHO} "must still contact the author" >> ${PKGMESSAGE} - @${ECHO} "http://glaros.dtc.umn.edu/gkhome/metis/metis/faq?q=metis/metis/faq#distribute" >> ${PKGMESSAGE} - @${ECHO} "\"A Fast and Highly Quality Multilevel Scheme for Partitioning Irregular Graphs\". George Karypis and Vipin Kumar. SIAM Journal on Scientific Computing, Vol. 20, No. 1, pp. 359-392, 1999." >> ${PKGMESSAGE} -.endif -.if ${PORT_OPTIONS:MTAUCS} - @${ECHO} >> ${PKGMESSAGE} - @${ECHO} "There might be licensing issues with using Taucs with Gmsh" >> ${PKGMESSAGE} - @${ECHO} "because Taucs requires Metis." >> ${PKGMESSAGE} -.endif - pre-configure: ${REINPLACE_CMD} -e s+share/doc/gmsh+${DOCSDIR_REL}+ \ - -e s+share/man/man1+man/man1+ ${WRKSRC}/CMakeLists.txt - -post-install: -.if ${PORT_OPTIONS:MMETIS} - ${MKDIR} ${STAGEDIR}${DOCSDIR}/metis - ${INSTALL_DATA} ${WRKDIR}/manual.pdf ${STAGEDIR}${DOCSDIR}/metis -.endif + -e s+share/man/man1+man/man1+ ${WRKSRC}/CMakeLists.txt -.include +.include Index: cad/gmsh/distinfo =================================================================== --- cad/gmsh/distinfo +++ cad/gmsh/distinfo @@ -1,4 +1,5 @@ -SHA256 (gmsh/gmsh-2.12.0-source.tgz) = 7fbd2ec8071e79725266e72744d21e902d4fe6fa9e7c52340ad5f4be5c159d09 -SIZE (gmsh/gmsh-2.12.0-source.tgz) = 11618737 +TIMESTAMP = 1472424237 +SHA256 (gmsh/gmsh-2.13.2-source.tgz) = d68e1569f7ccf61cfd70d6845defe8dd73676745beafcf1de60ba9874ad15f26 +SIZE (gmsh/gmsh-2.13.2-source.tgz) = 11415014 SHA256 (gmsh/manual.pdf) = 8a682ee7f02380f52d5efdde5f9f9d8e927a4f4eb29287a878c1016225568911 SIZE (gmsh/manual.pdf) = 206713 Index: cad/gmsh/files/patch-Fltk-Main.cpp =================================================================== --- cad/gmsh/files/patch-Fltk-Main.cpp +++ /dev/null @@ -1,11 +0,0 @@ ---- Fltk/Main.cpp.orig -+++ Fltk/Main.cpp -@@ -3,7 +3,7 @@ - // See the LICENSE.txt file for license information. Please report all - // bugs and problems to the public mailing list . - --#include -+#include - #include - #include "Gmsh.h" - #include "GmshMessage.h" Index: cad/gmsh/files/patch-Fltk_Main.cpp =================================================================== --- /dev/null +++ cad/gmsh/files/patch-Fltk_Main.cpp @@ -0,0 +1,11 @@ +--- Fltk/Main.cpp.orig 2016-08-28 23:27:04 UTC ++++ Fltk/Main.cpp +@@ -3,7 +3,7 @@ + // See the LICENSE.txt file for license information. Please report all + // bugs and problems to the public mailing list . + +-#include ++#include + #include + #include "Gmsh.h" + #include "GmshMessage.h" Index: cad/gmsh/files/patch-Geo_CustomContainer.h =================================================================== --- /dev/null +++ cad/gmsh/files/patch-Geo_CustomContainer.h @@ -0,0 +1,10 @@ +--- Geo/CustomContainer.h.orig 2016-08-28 23:25:55 UTC ++++ Geo/CustomContainer.h +@@ -8,6 +8,7 @@ + #ifndef _CUSTOMCONTAINER_H_ + #define _CUSTOMCONTAINER_H_ + ++#include + #include + #include + #include Index: cad/gmsh/files/patch-Geo__CustomContainer.h =================================================================== --- cad/gmsh/files/patch-Geo__CustomContainer.h +++ /dev/null @@ -1,10 +0,0 @@ ---- Geo/CustomContainer.h.orig 2010-10-15 09:35:00.000000000 -0400 -+++ Geo/CustomContainer.h 2011-08-09 05:12:35.000000000 -0400 -@@ -8,6 +8,7 @@ - #ifndef _CUSTOMCONTAINER_H_ - #define _CUSTOMCONTAINER_H_ - -+#include - #include - #include - Index: cad/gmsh/files/patch-contrib_taucs_config_taucs__config__build.h =================================================================== --- /dev/null +++ cad/gmsh/files/patch-contrib_taucs_config_taucs__config__build.h @@ -0,0 +1,10 @@ +--- contrib/taucs/config/taucs_config_build.h.orig 2016-09-28 15:41:06 UTC ++++ contrib/taucs/config/taucs_config_build.h +@@ -3,7 +3,6 @@ + #define TAUCS_CONFIG_DCOMPLEX + #define TAUCS_CONFIG_SCOMPLEX + #define TAUCS_CONFIG_GENERIC_COMPLEX +-#define TAUCS_CONFIG_TIMING + #define TAUCS_CONFIG_BASE + #define TAUCS_CONFIG_MATRIX_IO + #define TAUCS_CONFIG_METIS Index: cad/gmsh/pkg-descr =================================================================== --- cad/gmsh/pkg-descr +++ cad/gmsh/pkg-descr @@ -1,14 +1,9 @@ -Gmsh is an automatic 3D finite element mesh generator (primarily -Delaunay) with build-in CAD and post-processing facilities. Its primal -design goal is to provide a simple meshing tool for academic test cases -with parametric input and up to date visualization capabilities. One of -its strengths is the ability to respect a characteristic length field for -the generation of adapted meshes on lines, surfaces and volumes, and to -mix these meshes with simple structured grids. - -Gmsh is built around four modules: geometry, mesh, solver and -post-processing. The specification of any input to these modules is done -either interactively using the graphical user interface or in ASCII text -files using Gmsh's own scripting language. +Gmsh is a free 3D finite element grid generator with a build-in CAD engine and +post-processor. Its design goal is to provide a fast, light and user-friendly +meshing tool with parametric input and advanced visualization capabilities. Gmsh +is built around four modules: geometry, mesh, solver and post-processing. The +specification of any input to these modules is done either interactively using +the graphical user interface or in ASCII text files using Gmsh's own scripting +language. WWW: http://www.geuz.org/gmsh/ Index: cad/gmsh/pkg-plist =================================================================== --- cad/gmsh/pkg-plist +++ cad/gmsh/pkg-plist @@ -192,6 +192,7 @@ %%PORTDOCS%%%%DOCSDIR%%/demos/sphere-surf.stl %%PORTDOCS%%%%DOCSDIR%%/demos/sphere.geo %%PORTDOCS%%%%DOCSDIR%%/demos/splines.geo +%%PORTDOCS%%%%DOCSDIR%%/demos/square_regular.geo %%PORTDOCS%%%%DOCSDIR%%/demos/title.script %%PORTDOCS%%%%DOCSDIR%%/demos/tower.geo %%PORTDOCS%%%%DOCSDIR%%/demos/tower.i1 @@ -224,4 +225,3 @@ %%PORTDOCS%%%%DOCSDIR%%/tutorial/view3.pos %%PORTDOCS%%%%DOCSDIR%%/tutorial/view4.pos %%PORTDOCS%%%%DOCSDIR%%/tutorial/view5.msh -%%METIS%%%%DOCSDIR%%/metis/manual.pdf