git: ae9fb317cb3f - main - math/scorec-core: New port: Parallel finite element unstructured meshes

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Mon, 05 Dec 2022 10:47:12 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=ae9fb317cb3fd03f3db9c7d1d2688e79648dd553

commit ae9fb317cb3fd03f3db9c7d1d2688e79648dd553
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2022-12-05 10:46:24 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2022-12-05 10:47:10 +0000

    math/scorec-core: New port: Parallel finite element unstructured meshes
---
 math/Makefile                                  |   1 +
 math/scorec-core/Makefile                      |  49 +++++
 math/scorec-core/distinfo                      |   5 +
 math/scorec-core/files/patch-pumi_pumi__sys.cc |  11 ++
 math/scorec-core/pkg-descr                     |  20 ++
 math/scorec-core/pkg-plist                     | 260 +++++++++++++++++++++++++
 6 files changed, 346 insertions(+)

diff --git a/math/Makefile b/math/Makefile
index 9808e93301c4..9d179022eabf 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -1083,6 +1083,7 @@
     SUBDIR += scalapackfx
     SUBDIR += scilab
     SUBDIR += scilab-toolbox-swt
+    SUBDIR += scorec-core
     SUBDIR += scs
     SUBDIR += sdpa
     SUBDIR += secp256k1
diff --git a/math/scorec-core/Makefile b/math/scorec-core/Makefile
new file mode 100644
index 000000000000..278db822f2bb
--- /dev/null
+++ b/math/scorec-core/Makefile
@@ -0,0 +1,49 @@
+PORTNAME=	scorec-core
+DISTVERSIONPREFIX=	v
+DISTVERSION=	2.2.7-55
+DISTVERSIONSUFFIX=	-g83113372
+CATEGORIES=	math
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Parallel finite element unstructured meshes
+WWW=		https://github.com/SCOREC/core
+
+LICENSE=	BSD3CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+LIB_DEPENDS=	\
+		libepoll-shim.so:devel/libepoll-shim \
+		libfabric.so:net/libfabric \
+		libhwloc.so:devel/hwloc2 \
+		libjson-c.so:devel/json-c \
+		libze_loader.so:devel/level-zero
+
+USES=		cmake:testing compiler:c++11-lang pkgconfig
+USE_LDCONFIG=	yes
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	SCOREC
+GH_PROJECT=	core
+GH_TUPLE=	SCOREC:pumi-meshes:7b84de7:meshes/pumi-meshes
+
+CFLAGS+=	${MPI_CFLAGS}
+CXXFLAGS+=	${MPI_CFLAGS}
+LDFLAGS+=	${MPI_LIBS}
+
+CMAKE_ON=	BUILD_SHARED_LIBS
+CMAKE_TESTING_ON=	IS_TESTING # some tests fail possibly because they need a larger MPI cluster
+
+OPTIONS_DEFINE=		FORTRAN
+OPTIONS_SINGLE=		MPI
+OPTIONS_SINGLE_MPI=	MPICH OPENMPI
+OPTIONS_DEFAULT=	FORTRAN MPICH
+OPTIONS_SUB=		yes
+
+FORTRAN_USES=		fortran
+FORTRAN_CMAKE_BOOL=	PUMI_FORTRAN_INTERFACE
+
+MPICH_USES=		mpi:mpich
+
+OPENMPI_USES=		mpi:openmpi
+
+.include <bsd.port.mk>
diff --git a/math/scorec-core/distinfo b/math/scorec-core/distinfo
new file mode 100644
index 000000000000..74d0e25e6a5f
--- /dev/null
+++ b/math/scorec-core/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1670233469
+SHA256 (SCOREC-core-v2.2.7-55-g83113372_GH0.tar.gz) = 0ee9c69b6dc3f0e8c38fca945112e3d81ec66f3a8e47a2474aafd695e55c3e33
+SIZE (SCOREC-core-v2.2.7-55-g83113372_GH0.tar.gz) = 1210395
+SHA256 (SCOREC-pumi-meshes-7b84de7_GH0.tar.gz) = 72f552318dac42aeebc6f1a2f4e7f7de4eaee69da7a32026d2b1e4081c28ed71
+SIZE (SCOREC-pumi-meshes-7b84de7_GH0.tar.gz) = 33991978
diff --git a/math/scorec-core/files/patch-pumi_pumi__sys.cc b/math/scorec-core/files/patch-pumi_pumi__sys.cc
new file mode 100644
index 000000000000..2b732b80d0a1
--- /dev/null
+++ b/math/scorec-core/files/patch-pumi_pumi__sys.cc
@@ -0,0 +1,11 @@
+--- pumi/pumi_sys.cc.orig	2022-12-05 09:50:18 UTC
++++ pumi/pumi_sys.cc
+@@ -98,6 +98,8 @@ double pumi_getMem()
+   task_info(current_task(), TASK_BASIC_INFO, (task_info_t)&t_info, &t_info_count);
+   size_t size = (resident ? t_info.resident_size : t_info.virtual_size);
+   return (double)size/M;
++#elif defined(__FreeBSD__)
++  return (double)20000.; // TODO default to 20GB for now
+ #elif defined(__bgq__)
+   size_t heap;
+   Kernel_GetMemorySize(KERNEL_MEMSIZE_HEAP, &heap);
diff --git a/math/scorec-core/pkg-descr b/math/scorec-core/pkg-descr
new file mode 100644
index 000000000000..5d65d20e15bd
--- /dev/null
+++ b/math/scorec-core/pkg-descr
@@ -0,0 +1,20 @@
+The SCOREC Core is a set of C/C++ libraries for unstructured mesh simulations
+on supercomputers.
+
+This project contains:
+* PUMI: parallel unstructured mesh infrastructure API User's Guide
+* PCU: Communication and file IO built on MPI
+* APF: Abstract definition of meshes, fields, and related operations
+* GMI: Common interface for geometric modeling kernels
+* MDS: Compact but flexible array-based mesh data structure
+* PARMA: Scalable partitioning and load balancing procedures
+* SPR: Superconvergent Patch Recovery error estimator
+* MA: Anisotropic mixed mesh adaptation and solution transfer
+* SAM: Sizing anisotropic meshes
+* STK: Conversion from APF meshes to Sandia's STK meshes
+* ZOLTAN: Interface to run Sandia's Zoltan code on APF meshes
+* PHASTA: Tools and file formats related to the PHASTA fluid solver
+* MTH: Math containers and routines
+* CRV: Support for curved meshes with Bezier Shapes
+* PYCORE: Python Wrappers
+* REE: Residual based implicit error estimator
diff --git a/math/scorec-core/pkg-plist b/math/scorec-core/pkg-plist
new file mode 100644
index 000000000000..db8a32f613bf
--- /dev/null
+++ b/math/scorec-core/pkg-plist
@@ -0,0 +1,260 @@
+bin/adaptLvlSetLoop
+bin/balance
+bin/box
+bin/chef
+bin/chefReadUrPrep
+bin/chefStream
+bin/classifyThenAdapt
+bin/collapse
+bin/condense
+bin/describe
+bin/extrude
+bin/fixDisconnected
+bin/fixlayer
+bin/fixshape
+bin/from_ansys
+bin/from_gmsh
+bin/from_neper
+bin/from_ugrid
+bin/icesheet
+bin/intrude
+bin/measureAnisoStats
+bin/measureIsoStats
+bin/mkmodel
+bin/mktopomodel
+bin/modelInfo
+bin/nektar_align
+bin/print_pumipic_partition
+bin/refine2x
+bin/render
+bin/renderClass
+bin/render_ascii
+bin/reorder
+bin/repartition
+bin/scale
+bin/serialize
+bin/split
+bin/tetrahedronize
+bin/threshold
+bin/uniform
+bin/verify
+bin/visualizeAnisoSizes
+bin/zsplit
+include/GenIterator.h
+include/GenTag.h
+include/PCU.h
+include/agm.h
+include/apf.h
+include/apf2mth.h
+include/apfArray.h
+include/apfBox.h
+include/apfCavityOp.h
+include/apfConvert.h
+include/apfDynamicArray.h
+include/apfDynamicMatrix.h
+include/apfDynamicVector.h
+include/apfField.h
+include/apfFieldData.h
+include/apfGeometry.h
+include/apfMDS.h
+include/apfMIS.h
+include/apfMatrix.h
+include/apfMesh.h
+include/apfMesh2.h
+include/apfMixedNumbering.h
+include/apfNew.h
+include/apfNumbering.h
+include/apfNumberingClass.h
+include/apfPartition.h
+include/apfShape.h
+include/apfVector.h
+include/apfZoltan.h
+include/canArray.h
+include/canNewArray.h
+include/chef.h
+%%FORTRAN%%include/core_mesh_quality.mod
+%%FORTRAN%%include/core_rigid_body.mod
+%%FORTRAN%%include/core_snap.mod
+include/crv.h
+include/gmi.h
+include/gmi_analytic.h
+include/gmi_base.h
+include/gmi_lookup.h
+include/gmi_mesh.h
+include/gmi_null.h
+include/lionBase64.h
+include/lionCompress.h
+include/lionPrint.h
+include/mPartEntityContainer.h
+include/ma.h
+include/maDBG.h
+include/maExtrude.h
+include/maInput.h
+include/maMesh.h
+include/maShape.h
+include/maSize.h
+include/maSolutionTransfer.h
+include/maStats.h
+include/maTables.h
+include/mth.h
+include/mthAD.h
+include/mthMatrix.h
+include/mthQR.h
+include/mthTensor.h
+include/mthVector.h
+include/mth_def.h
+include/parma.h
+include/pcu_io.h
+include/pcu_util.h
+include/ph.h
+include/phBC.h
+include/phInput.h
+include/phastaChef.h
+include/phiotimer.h
+%%FORTRAN%%include/phiotimer.mod
+include/phstream.h
+include/pumi.h
+include/pumi_errorcode.h
+include/pumi_list.h
+include/pumi_version.h
+include/ree.h
+include/reel.h
+include/sam.h
+include/samElementCount.h
+include/samSz.h
+include/spr.h
+lib/cmake/SCOREC/SCORECConfig.cmake
+lib/cmake/SCOREC/SCORECConfigVersion.cmake
+lib/cmake/SCOREC/adaptLvlSetLoop-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/adaptLvlSetLoop-target.cmake
+lib/cmake/SCOREC/apf-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/apf-target.cmake
+lib/cmake/SCOREC/apf_zoltan-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/apf_zoltan-target.cmake
+lib/cmake/SCOREC/balance-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/balance-target.cmake
+lib/cmake/SCOREC/box-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/box-target.cmake
+lib/cmake/SCOREC/can-target.cmake
+lib/cmake/SCOREC/chef-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/chef-target.cmake
+lib/cmake/SCOREC/chefReadUrPrep-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/chefReadUrPrep-target.cmake
+lib/cmake/SCOREC/chefStream-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/chefStream-target.cmake
+lib/cmake/SCOREC/classifyThenAdapt-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/classifyThenAdapt-target.cmake
+lib/cmake/SCOREC/collapse-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/collapse-target.cmake
+lib/cmake/SCOREC/condense-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/condense-target.cmake
+lib/cmake/SCOREC/core-target.cmake
+lib/cmake/SCOREC/crv-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/crv-target.cmake
+lib/cmake/SCOREC/describe-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/describe-target.cmake
+lib/cmake/SCOREC/extrude-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/extrude-target.cmake
+lib/cmake/SCOREC/fixDisconnected-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/fixDisconnected-target.cmake
+lib/cmake/SCOREC/fixlayer-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/fixlayer-target.cmake
+lib/cmake/SCOREC/fixshape-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/fixshape-target.cmake
+lib/cmake/SCOREC/from_ansys-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/from_ansys-target.cmake
+lib/cmake/SCOREC/from_gmsh-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/from_gmsh-target.cmake
+lib/cmake/SCOREC/from_neper-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/from_neper-target.cmake
+lib/cmake/SCOREC/from_ugrid-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/from_ugrid-target.cmake
+lib/cmake/SCOREC/gmi-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/gmi-target.cmake
+lib/cmake/SCOREC/icesheet-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/icesheet-target.cmake
+lib/cmake/SCOREC/intrude-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/intrude-target.cmake
+lib/cmake/SCOREC/lion-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/lion-target.cmake
+lib/cmake/SCOREC/ma-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/ma-target.cmake
+lib/cmake/SCOREC/mds-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/mds-target.cmake
+lib/cmake/SCOREC/measureAnisoStats-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/measureAnisoStats-target.cmake
+lib/cmake/SCOREC/measureIsoStats-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/measureIsoStats-target.cmake
+lib/cmake/SCOREC/mkmodel-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/mkmodel-target.cmake
+lib/cmake/SCOREC/mktopomodel-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/mktopomodel-target.cmake
+lib/cmake/SCOREC/modelInfo-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/modelInfo-target.cmake
+lib/cmake/SCOREC/mth-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/mth-target.cmake
+lib/cmake/SCOREC/nektar_align-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/nektar_align-target.cmake
+lib/cmake/SCOREC/parma-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/parma-target.cmake
+lib/cmake/SCOREC/pcu-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/pcu-target.cmake
+lib/cmake/SCOREC/ph-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/ph-target.cmake
+lib/cmake/SCOREC/print_pumipic_partition-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/print_pumipic_partition-target.cmake
+lib/cmake/SCOREC/pumi-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/pumi-target.cmake
+lib/cmake/SCOREC/ree-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/ree-target.cmake
+lib/cmake/SCOREC/refine2x-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/refine2x-target.cmake
+lib/cmake/SCOREC/render-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/render-target.cmake
+lib/cmake/SCOREC/renderClass-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/renderClass-target.cmake
+lib/cmake/SCOREC/render_ascii-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/render_ascii-target.cmake
+lib/cmake/SCOREC/reorder-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/reorder-target.cmake
+lib/cmake/SCOREC/repartition-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/repartition-target.cmake
+lib/cmake/SCOREC/sam-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/sam-target.cmake
+lib/cmake/SCOREC/scale-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/scale-target.cmake
+lib/cmake/SCOREC/serialize-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/serialize-target.cmake
+lib/cmake/SCOREC/split-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/split-target.cmake
+lib/cmake/SCOREC/spr-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/spr-target.cmake
+lib/cmake/SCOREC/tetrahedronize-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/tetrahedronize-target.cmake
+lib/cmake/SCOREC/threshold-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/threshold-target.cmake
+lib/cmake/SCOREC/uniform-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/uniform-target.cmake
+lib/cmake/SCOREC/verify-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/verify-target.cmake
+lib/cmake/SCOREC/visualizeAnisoSizes-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/visualizeAnisoSizes-target.cmake
+lib/cmake/SCOREC/zsplit-target-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SCOREC/zsplit-target.cmake
+lib/libapf.so
+lib/libapf_zoltan.so
+lib/libcrv.so
+lib/libgmi.so
+lib/liblion.so
+lib/libma.so
+lib/libmds.so
+lib/libmth.so
+lib/libparma.so
+lib/libpcu.so
+lib/libph.so
+lib/libpumi.so
+lib/libree.so
+lib/libsam.so
+lib/libspr.so
+share/testdata/pipe.dmg
+share/testdata/pipe0.smb