diff --git a/math/mfem/Makefile b/math/mfem/Makefile index 517c90f35c8a..2f987b464810 100644 --- a/math/mfem/Makefile +++ b/math/mfem/Makefile @@ -1,53 +1,54 @@ PORTNAME= mfem DISTVERSIONPREFIX= v -DISTVERSION= 4.4 -PORTREVISION= 11 +DISTVERSION= 4.7 CATEGORIES= math MAINTAINER= yuri@FreeBSD.org COMMENT= Lightweight, general, scalable C++ library for finite element methods -WWW= https://mfem.org/ +WWW= https://mfem.org \ + https://github.com/mfem/mfem LICENSE= LGPL21 LICENSE_FILE= ${WRKSRC}/LICENSE USES= cmake:testing compiler:c++11-lang USE_GITHUB= yes USE_LDCONFIG= yes CMAKE_ON= BUILD_SHARED_LIBS CMAKE_TESTING_ON= MFEM_ENABLE_TESTING # tests are broken, see https://github.com/mfem/mfem/issues/3163 +CMAKE_TESTING_TARGET= exec test OPTIONS_DEFINE= METIS SUPERLU OPTIONS_SINGLE= MPI OPTIONS_SINGLE_MPI= NOMPI MPICH OPENMPI OPTIONS_DEFAULT= METIS MPICH SUPERLU # should be the same MPI choice as in science/hypre OPTIONS_SUB= yes NOMPI_DESC= Build without parallel processing support OPENMPI_CMAKE_ON= -DTPL_ENABLE_MPI=OFF MPICH_USES= mpi:mpich MPICH_CMAKE_ON= -DTPL_ENABLE_MPI=ON MPICH_LIB_DEPENDS= libHYPRE.so:science/hypre \ libmetis.so:math/metis OPENMPI_USES= mpi:openmpi OPENMPI_CMAKE_ON= -DTPL_ENABLE_MPI=ON OPENMPI_LIB_DEPENDS= libHYPRE.so:science/hypre \ libmetis.so:math/metis METIS_DESC= Build with metis METIS_CMAKE_BOOL= MFEM_USE_METIS METIS_LIB_DEPENDS= libmetis.so:math/metis SUPERLU_DESC= Enable SuperLU use SUPERLU_CMAKE_BOOL= MFEM_USE_SUPERLU SUPERLU_CMAKE_ON= -DSuperLUDist_DIR=${LOCALBASE} -DSuperLUDist_INCLUDE_DIRS=${LOCALBASE}/include/superlu SUPERLU_LIB_DEPENDS= libsuperlu_dist.so:math/superlu-dist SUPERLU_LDFLAGS= -L${LOCALBASE}/lib -lsuperlu_dist # workaround for https://github.com/mfem/mfem/issues/3171#issuecomment-1236591028 post-install-SUPERLU-on: # workaround for https://github.com/mfem/mfem/issues/3191 @${REINPLACE_CMD} -e 's|;${LOCALBASE}/include/superlu||' ${STAGEDIR}${PREFIX}/lib/cmake/mfem/MFEMConfig.cmake .include diff --git a/math/mfem/distinfo b/math/mfem/distinfo index e3286f89afe6..b1f0f1520b57 100644 --- a/math/mfem/distinfo +++ b/math/mfem/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1650680791 -SHA256 (mfem-mfem-v4.4_GH0.tar.gz) = 0325a57854d9268dfe3f8d9b03836eb01b00a966d93162e6249857e9fab9c61f -SIZE (mfem-mfem-v4.4_GH0.tar.gz) = 3078651 +TIMESTAMP = 1737154420 +SHA256 (mfem-mfem-v4.7_GH0.tar.gz) = 731bc2665c13d4099f9c9c946eb83ab07cd2e78a9575d4fa62a96cdb40d6ba0f +SIZE (mfem-mfem-v4.7_GH0.tar.gz) = 3808224 diff --git a/math/mfem/files/patch-general_isockstream.cpp b/math/mfem/files/patch-general_isockstream.cpp new file mode 100644 index 000000000000..eb0b3543a3cb --- /dev/null +++ b/math/mfem/files/patch-general_isockstream.cpp @@ -0,0 +1,11 @@ +--- general/isockstream.cpp.orig 2024-09-08 17:21:14 UTC ++++ general/isockstream.cpp +@@ -86,7 +86,7 @@ int isockstream::establish() + return (-1); + } + +-#if defined(__APPLE__) ++#if defined(__APPLE__) || defined(__FreeBSD__) + if (bind(sfd, (const struct sockaddr *)rp->ai_addr, rp->ai_addrlen) < 0) + #else + if (bind(sfd, rp->ai_addr, rp->ai_addrlen) < 0) diff --git a/math/mfem/files/patch-general_socketstream.cpp b/math/mfem/files/patch-general_socketstream.cpp new file mode 100644 index 000000000000..d4b544da427d --- /dev/null +++ b/math/mfem/files/patch-general_socketstream.cpp @@ -0,0 +1,10 @@ +--- general/socketstream.cpp.orig 2024-05-08 08:02:30 UTC ++++ general/socketstream.cpp +@@ -20,6 +20,7 @@ + #include // errno + #ifndef _WIN32 + #include // getaddrinfo ++#include + #include // htons + #include // socket, setsockopt, connect, recv, send + #include // socket, setsockopt, connect, recv, send diff --git a/math/mfem/pkg-plist b/math/mfem/pkg-plist index 338963d7046c..f92dbc093847 100644 --- a/math/mfem/pkg-plist +++ b/math/mfem/pkg-plist @@ -1,194 +1,247 @@ include/mfem-performance.hpp include/mfem.hpp +include/mfem/config/_config.hpp include/mfem/config/config.hpp include/mfem/config/tconfig.hpp include/mfem/fem/adios2datacollection.hpp include/mfem/fem/bilinearform.hpp include/mfem/fem/bilinearform_ext.hpp include/mfem/fem/bilininteg.hpp -include/mfem/fem/ceed/algebraic.hpp -include/mfem/fem/ceed/coefficient.hpp -include/mfem/fem/ceed/convection.hpp -include/mfem/fem/ceed/diffusion.hpp -include/mfem/fem/ceed/full-assembly.hpp -include/mfem/fem/ceed/integrator.hpp -include/mfem/fem/ceed/mass.hpp -include/mfem/fem/ceed/nlconvection.hpp -include/mfem/fem/ceed/operator.hpp -include/mfem/fem/ceed/solvers-atpmg.hpp -include/mfem/fem/ceed/util.hpp +include/mfem/fem/ceed/integrators/convection/convection.hpp +include/mfem/fem/ceed/integrators/diffusion/diffusion.hpp +include/mfem/fem/ceed/integrators/mass/mass.hpp +include/mfem/fem/ceed/integrators/nlconvection/nlconvection.hpp +include/mfem/fem/ceed/interface/basis.hpp +include/mfem/fem/ceed/interface/ceed.hpp +include/mfem/fem/ceed/interface/coefficient.hpp +include/mfem/fem/ceed/interface/integrator.hpp +include/mfem/fem/ceed/interface/interface.hpp +include/mfem/fem/ceed/interface/mixed_integrator.hpp +include/mfem/fem/ceed/interface/operator.hpp +include/mfem/fem/ceed/interface/restriction.hpp +include/mfem/fem/ceed/interface/util.hpp +include/mfem/fem/ceed/solvers/algebraic.hpp +include/mfem/fem/ceed/solvers/full-assembly.hpp +include/mfem/fem/ceed/solvers/solvers-atpmg.hpp include/mfem/fem/coefficient.hpp include/mfem/fem/complex_fem.hpp include/mfem/fem/conduitdatacollection.hpp include/mfem/fem/convergence.hpp include/mfem/fem/datacollection.hpp +include/mfem/fem/dgmassinv.hpp +include/mfem/fem/dgmassinv_kernels.hpp include/mfem/fem/doftrans.hpp include/mfem/fem/eltrans.hpp include/mfem/fem/estimators.hpp include/mfem/fem/fe.hpp +include/mfem/fem/fe/face_map_utils.hpp include/mfem/fem/fe/fe_base.hpp include/mfem/fem/fe/fe_fixed_order.hpp include/mfem/fem/fe/fe_h1.hpp include/mfem/fem/fe/fe_l2.hpp include/mfem/fem/fe/fe_nd.hpp include/mfem/fem/fe/fe_nurbs.hpp include/mfem/fem/fe/fe_pos.hpp include/mfem/fem/fe/fe_rt.hpp include/mfem/fem/fe/fe_ser.hpp include/mfem/fem/fe_coll.hpp include/mfem/fem/fem.hpp include/mfem/fem/fespace.hpp include/mfem/fem/fespacehierarchy.hpp include/mfem/fem/fmsconvert.hpp include/mfem/fem/fmsdatacollection.hpp include/mfem/fem/geom.hpp include/mfem/fem/gridfunc.hpp include/mfem/fem/gslib.hpp include/mfem/fem/hybridization.hpp +include/mfem/fem/hyperbolic.hpp +include/mfem/fem/integ/bilininteg_diffusion_kernels.hpp +include/mfem/fem/integ/bilininteg_elasticity_kernels.hpp +include/mfem/fem/integ/bilininteg_hcurl_kernels.hpp +include/mfem/fem/integ/bilininteg_hcurlhdiv_kernels.hpp +include/mfem/fem/integ/bilininteg_hdiv_kernels.hpp +include/mfem/fem/integ/bilininteg_mass_kernels.hpp include/mfem/fem/intrules.hpp +include/mfem/fem/intrules_cut.hpp +include/mfem/fem/kdtree.hpp include/mfem/fem/kernels.hpp include/mfem/fem/linearform.hpp +include/mfem/fem/linearform_ext.hpp include/mfem/fem/lininteg.hpp -include/mfem/fem/lor.hpp +include/mfem/fem/lor/lor.hpp +include/mfem/fem/lor/lor_ads.hpp +include/mfem/fem/lor/lor_ams.hpp +include/mfem/fem/lor/lor_batched.hpp +include/mfem/fem/lor/lor_h1.hpp +include/mfem/fem/lor/lor_h1_impl.hpp +include/mfem/fem/lor/lor_nd.hpp +include/mfem/fem/lor/lor_nd_impl.hpp +include/mfem/fem/lor/lor_rt.hpp +include/mfem/fem/lor/lor_rt_impl.hpp +include/mfem/fem/lor/lor_util.hpp +include/mfem/fem/moonolith/cut.hpp +include/mfem/fem/moonolith/mortarassembler.hpp +include/mfem/fem/moonolith/mortarintegrator.hpp +include/mfem/fem/moonolith/pmortarassembler.hpp +include/mfem/fem/moonolith/transfer.hpp +include/mfem/fem/moonolith/transferutils.hpp include/mfem/fem/multigrid.hpp include/mfem/fem/nonlinearform.hpp include/mfem/fem/nonlinearform_ext.hpp include/mfem/fem/nonlininteg.hpp +include/mfem/fem/normal_deriv_restriction.hpp include/mfem/fem/pbilinearform.hpp include/mfem/fem/pfespace.hpp include/mfem/fem/pgridfunc.hpp include/mfem/fem/plinearform.hpp include/mfem/fem/pnonlinearform.hpp include/mfem/fem/prestriction.hpp +include/mfem/fem/qfunction.hpp include/mfem/fem/qinterp/dispatch.hpp include/mfem/fem/qinterp/eval.hpp include/mfem/fem/qinterp/grad.hpp +include/mfem/fem/qspace.hpp include/mfem/fem/quadinterpolator.hpp include/mfem/fem/quadinterpolator_face.hpp include/mfem/fem/restriction.hpp include/mfem/fem/sidredatacollection.hpp include/mfem/fem/staticcond.hpp include/mfem/fem/tbilinearform.hpp include/mfem/fem/tbilininteg.hpp include/mfem/fem/tcoefficient.hpp include/mfem/fem/teltrans.hpp include/mfem/fem/tevaluator.hpp include/mfem/fem/tfe.hpp include/mfem/fem/tfespace.hpp include/mfem/fem/tintrules.hpp include/mfem/fem/tmop.hpp include/mfem/fem/tmop/tmop_pa.hpp include/mfem/fem/tmop_amr.hpp include/mfem/fem/tmop_tools.hpp include/mfem/fem/transfer.hpp include/mfem/general/adios2stream.hpp include/mfem/general/annotation.hpp include/mfem/general/array.hpp +include/mfem/general/arrays_by_name.hpp include/mfem/general/backends.hpp include/mfem/general/binaryio.hpp include/mfem/general/communication.hpp include/mfem/general/cuda.hpp include/mfem/general/device.hpp +include/mfem/general/enzyme.hpp include/mfem/general/error.hpp include/mfem/general/forall.hpp include/mfem/general/gecko.hpp include/mfem/general/globals.hpp include/mfem/general/hash.hpp include/mfem/general/hip.hpp include/mfem/general/isockstream.hpp +include/mfem/general/kdtree.hpp include/mfem/general/mem_alloc.hpp include/mfem/general/mem_manager.hpp include/mfem/general/occa.hpp include/mfem/general/optparser.hpp include/mfem/general/osockstream.hpp include/mfem/general/sets.hpp include/mfem/general/socketstream.hpp include/mfem/general/sort_pairs.hpp include/mfem/general/stable3d.hpp include/mfem/general/table.hpp include/mfem/general/tassign.hpp include/mfem/general/text.hpp include/mfem/general/tic_toc.hpp include/mfem/general/version.hpp include/mfem/general/zstr.hpp include/mfem/linalg/amgxsolver.hpp include/mfem/linalg/auxiliary.hpp include/mfem/linalg/blockmatrix.hpp include/mfem/linalg/blockoperator.hpp include/mfem/linalg/blockvector.hpp +include/mfem/linalg/complex_densemat.hpp include/mfem/linalg/complex_operator.hpp include/mfem/linalg/constraints.hpp include/mfem/linalg/cpardiso.hpp include/mfem/linalg/densemat.hpp include/mfem/linalg/dinvariants.hpp include/mfem/linalg/dtensor.hpp +include/mfem/linalg/dual.hpp include/mfem/linalg/ginkgo.hpp include/mfem/linalg/handle.hpp include/mfem/linalg/hiop.hpp include/mfem/linalg/hypre.hpp include/mfem/linalg/hypre_parcsr.hpp include/mfem/linalg/invariants.hpp include/mfem/linalg/kernels.hpp include/mfem/linalg/linalg.hpp include/mfem/linalg/matrix.hpp include/mfem/linalg/mumps.hpp include/mfem/linalg/ode.hpp include/mfem/linalg/operator.hpp +include/mfem/linalg/pardiso.hpp include/mfem/linalg/petsc.hpp include/mfem/linalg/petscinternals.hpp include/mfem/linalg/simd.hpp include/mfem/linalg/simd/auto.hpp include/mfem/linalg/simd/m128.hpp include/mfem/linalg/simd/m256.hpp include/mfem/linalg/simd/m512.hpp include/mfem/linalg/simd/qpx.hpp include/mfem/linalg/simd/qpx256.hpp include/mfem/linalg/simd/sve.hpp include/mfem/linalg/simd/vsx.hpp include/mfem/linalg/simd/vsx128.hpp include/mfem/linalg/simd/x86.hpp include/mfem/linalg/slepc.hpp include/mfem/linalg/solvers.hpp include/mfem/linalg/sparsemat.hpp include/mfem/linalg/sparsesmoothers.hpp include/mfem/linalg/strumpack.hpp include/mfem/linalg/sundials.hpp include/mfem/linalg/superlu.hpp include/mfem/linalg/symmat.hpp +include/mfem/linalg/tensor.hpp include/mfem/linalg/tlayout.hpp include/mfem/linalg/tmatrix.hpp include/mfem/linalg/ttensor.hpp include/mfem/linalg/vector.hpp +include/mfem/mesh/attribute_sets.hpp include/mfem/mesh/element.hpp +include/mfem/mesh/face_nbr_geom.hpp include/mfem/mesh/gmsh.hpp include/mfem/mesh/hexahedron.hpp include/mfem/mesh/mesh.hpp include/mfem/mesh/mesh_headers.hpp include/mfem/mesh/mesh_operators.hpp -include/mfem/mesh/mesquite.hpp include/mfem/mesh/ncmesh.hpp include/mfem/mesh/ncmesh_tables.hpp include/mfem/mesh/nurbs.hpp include/mfem/mesh/pmesh.hpp include/mfem/mesh/pncmesh.hpp include/mfem/mesh/point.hpp include/mfem/mesh/pumi.hpp include/mfem/mesh/pyramid.hpp include/mfem/mesh/quadrilateral.hpp include/mfem/mesh/segment.hpp +include/mfem/mesh/spacing.hpp +include/mfem/mesh/submesh/psubmesh.hpp +include/mfem/mesh/submesh/ptransfermap.hpp +include/mfem/mesh/submesh/submesh.hpp +include/mfem/mesh/submesh/submesh_utils.hpp +include/mfem/mesh/submesh/transfer_category.hpp +include/mfem/mesh/submesh/transfermap.hpp include/mfem/mesh/tetrahedron.hpp include/mfem/mesh/tmesh.hpp include/mfem/mesh/triangle.hpp include/mfem/mesh/vertex.hpp include/mfem/mesh/vtk.hpp include/mfem/mesh/wedge.hpp include/mfem/mfem-performance.hpp include/mfem/mfem.hpp lib/cmake/mfem/MFEMConfig.cmake lib/cmake/mfem/MFEMConfigVersion.cmake lib/cmake/mfem/MFEMTargets-%%CMAKE_BUILD_TYPE%%.cmake lib/cmake/mfem/MFEMTargets.cmake lib/libmfem.so -lib/libmfem.so.4.4.0 +lib/libmfem.so.4.7.0 %%DATADIR%%/config.mk %%DATADIR%%/test.mk diff --git a/science/spheral/Makefile b/science/spheral/Makefile index 7bb2854e4b5b..0e46ac472e73 100644 --- a/science/spheral/Makefile +++ b/science/spheral/Makefile @@ -1,71 +1,71 @@ PORTNAME= spheral DISTVERSIONPREFIX= v DISTVERSION= 2024.06.1 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= science # physics MAINTAINER= yuri@FreeBSD.org COMMENT= Environment for hydrodynamical & gravitational numerical simulations WWW= https://github.com/LLNL/spheral LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/License.txt BUILD_DEPENDS= ${LOCALBASE}/include/polyclipper2d.hh:math/polyclipper -LIB_DEPENDS= libaxom.so:science/axom \ +LIB_DEPENDS= libaxom_core.so:science/axom \ libboost_filesystem.so:devel/boost-libs \ libconduit.so:science/conduit \ libhdf5.so:science/hdf5 \ libmfem.so:math/mfem \ libosdCPU.so:graphics/opensubdiv \ libpolytope.so:science/polytope \ libqhull_r.so:math/qhull \ libsiloh5.so:science/silo USES= cmake:testing compiler:c++14-lang eigen:3 fortran localbase:ldflags lua mpi:mpich python USE_LDCONFIG= yes USE_GITHUB= yes GH_ACCOUNT= LLNL GH_TUPLE= LLNL:PolyClipper:e1fe47c:PolyClipper/extern/PolyClipper \ LLNL:PYB11Generator:7160812:PYB11Generator/extern/PYB11Generator \ llnl:blt:29eecef:blt/cmake/blt \ llnl:uberenv:126f8de:uberenv/scripts/devtools/uberenv CMAKE_ARGS= -Daneos_DIR=${LOCALBASE} \ -Daxom_DIR=${LOCALBASE} \ -Dboost_DIR=${LOCALBASE} \ -Dconduit_DIR=${LOCALBASE} \ -Deigen_DIR=${LOCALBASE} \ -Dhdf5_DIR=${LOCALBASE} \ -Dopensubdiv_DIR=${LOCALBASE} \ -Dpython_DIR=${LOCALBASE} \ -Dpolyclipper_DIR=${LOCALBASE} \ -Dpolytope_DIR=${LOCALBASE} \ -Dpybind11_DIR=${LOCALBASE} \ -Dqhull_DIR=${LOCALBASE} \ -Dsilo_DIR=${LOCALBASE} \ -Dzlib_DIR=/usr CMAKE_ARGS+= -DPYTHON_EXECUTABLE=${PYTHON_CMD} \ -DPython_EXECUTABLE=${PYTHON_CMD} \ -DPython3_EXECUTABLE=${PYTHON_CMD} CMAKE_OFF= ENABLE_TESTS ENABLE_DOCS \ ENABLE_ANEOS \ ENABLE_CUDA CMAKE_ON= ENABLE_CXXONLY # disable Python support which is still for Python-2.7, see https://github.com/LLNL/spheral/issues/183 CMAKE_ON+= ENABLE_OPENMP CMAKE_TESTING_ON= ENABLE_TESTS # tests fail to build, see https://github.com/LLNL/spheral/issues/230 CXXFLAGS+= -I${LOCALBASE}/include/eigen3 BINARY_ALIAS= git=false python=${PYTHON_CMD} python3=${PYTHON_CMD} post-patch: @${REINPLACE_CMD} -e 's|\.a|.so|; s|qhullstatic|qhull_r|; s|python2\.7|python${PYTHON_VER}|g' ${WRKSRC}/cmake/tpl/*.cmake @${CHMOD} +x ${WRKSRC}/src/helpers/InstantiationGenerator.py post-install: # remove the stray file Spheral/mpi.py @${RM} -r ${STAGEDIR}${PREFIX}/Spheral .include