git: a6dfade4bf28 - main - science/bout++: update 4.4.2 → 5.1.1

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Thu, 19 Sep 2024 21:05:30 UTC
The branch main has been updated by yuri:

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

commit a6dfade4bf28d14e668bcf849c8e7f69d4e78a5b
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2024-09-19 15:01:29 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2024-09-19 21:05:26 +0000

    science/bout++: update 4.4.2 → 5.1.1
    
    Reported by:    portscout
---
 science/bout++/Makefile                         |  53 ++++++++----
 science/bout++/distinfo                         |  26 +++---
 science/bout++/files/patch-CMakeLists.txt       |  20 -----
 science/bout++/files/patch-include_datafile.hxx |  13 ---
 science/bout++/files/patch-include_options.hxx  |  13 ---
 science/bout++/pkg-plist                        | 102 +++++++++++++++++++++---
 6 files changed, 140 insertions(+), 87 deletions(-)

diff --git a/science/bout++/Makefile b/science/bout++/Makefile
index 8cb2bd835190..21ba443b35e5 100644
--- a/science/bout++/Makefile
+++ b/science/bout++/Makefile
@@ -1,7 +1,6 @@
 PORTNAME=	bout++
 DISTVERSIONPREFIX=	v
-DISTVERSION=	4.4.2
-PORTREVISION=	6
+DISTVERSION=	5.1.1
 CATEGORIES=	science math # physics
 
 MAINTAINER=	yuri@FreeBSD.org
@@ -13,33 +12,42 @@ LICENSE_FILE=	${WRKSRC}/LICENSE
 
 BUILD_DEPENDS=	gmake:devel/gmake
 LIB_DEPENDS=	libfftw3.so:math/fftw3 \
+		libfmt.so:devel/libfmt \
 		libopenblas.so:math/openblas \
 		libuuid.so:misc/e2fsprogs-libuuid
-RUN_DEPENDS=	bash:shells/bash
-
-USES=		cmake:testing python gettext-runtime shebangfix
+RUN_DEPENDS=	bash:shells/bash \
+		${PYTHON_PKGNAMEPREFIX}matplotlib>=3.2.1:math/py-matplotlib@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}natsort>=8.1.0:devel/py-natsort@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}netCDF4>=0:science/py-netCDF4@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}numpy>=1.22.0:math/py-numpy@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}scipy>=1.4.1:science/py-scipy@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}sympy>=1.5.1:math/py-sympy@${PY_FLAVOR}
+
+USES=		cmake:testing gettext python gettext-runtime shebangfix
 USE_LDCONFIG=	yes
 
 USE_GITHUB=	yes
 GH_ACCOUNT=	boutproject
 GH_PROJECT=	BOUT-dev
-GH_TUPLE=	boutproject:boutdata:3a66e6c:boutdata/externalpackages/boutdata \
-		boutproject:boututils:a79a00a:boututils/externalpackages/boututils \
-		google:googletest:96f4ce0:googletest/externalpackages/googletest \
-		meitar:git-archive-all.sh:fc86194:git_archive_all_sh/externalpackages/git-archive-all.sh \
-		mpark:variant:0b488da:variant/externalpackages/mpark.variant
-
-SHEBANG_GLOB=	*.sh
-SHEBANG_FILES=	bin/bout-boutdata-restart-create \
+GH_TUPLE=	google:googletest:0953a17a4281fc26831da647ad3fcd5e21e6473b:google_googletest/externalpackages/googletest \
+		meitar:git-archive-all.sh:fc86194f00b678438f9210859597f6eead28e765:meitar_git_archive_all_sh/externalpackages/git-archive-all.sh \
+		mpark:variant:23cb94f027d4ef33bf48133acc2695c7e5c6f1e7:mpark_variant/externalpackages/mpark.variant \
+		boutproject:boutdata:e458cf0cf2af6ff68db91da39ef3e15a7e9e6b3d:boutproject_boutdata/externalpackages/boutdata \
+		abseil:googletest:695cf7c96249de50360a7d2951dc88eb3aea0695:abseil_googletest/externalpackages/mpark.variant/3rdparty/googletest
+
+SHEBANG_GLOB=	*.sh *.py
+SHEBANG_FILES=	bin/bout-add-mod-path \
+		bin/bout-boutdata-restart-create \
 		bin/bout-pylib-cmd-to-bin \
 		bin/bout-sonnet \
 		bin/bout-stop-script \
 		bin/bout_3to4.py \
 		bin/bout_4to5
 
-CMAKE_ON=	BUILD_SHARED_LIBS
+CMAKE_ON=	BUILD_SHARED_LIBS \
+		BOUT_USE_SYSTEM_FMT
 CMAKE_OFF=	BOUT_TESTS
-CMAKE_TESTING_ON=	BOUT_TESTS # tests fail to build, see https://github.com/boutproject/BOUT-dev/issues/2618
+CMAKE_TESTING_ON=	BOUT_TESTS # 6 tests fail, see https://github.com/boutproject/BOUT-dev/issues/2980
 
 CXXFLAGS+=	-I${WRKSRC}/include
 LDFLAGS+=	-lexecinfo
@@ -82,12 +90,20 @@ SUNDIALS_CMAKE_BOOL=	BOUT_USE_SUNDIALS
 SUNDIALS_CMAKE_ON=	-DBOUT_DOWNLOAD_SUNDIALS=OFF
 SUNDIALS_BROKEN=	fails to build with sundials, see https://github.com/boutproject/BOUT-dev/issues/2617
 
-BINARY_ALIAS=		make=${GMAKE}
+BINARY_ALIAS=		make=${GMAKE} \
+			python3=${PYTHON_CMD}
 
 .if defined(WITH_EXAMPLES) # Build executables demonstrating BOUT++ capabilities. They aren't installed and don't need to be built for packaging.
 CMAKE_ON+=	BOUT_BUILD_EXAMPLES
 .endif
 
+post-patch:
+	# fix the version number in the code that it can't obtain from git
+	@${REINPLACE_CMD} \
+		-e 's|__version__ = version(__name__)|__version__ = "${PORTVERSION}"|' \
+		${WRKSRC}/tools/pylib/boutdata/__init__.py \
+		${WRKSRC}/externalpackages/boutdata/src/boututils/__init__.py
+
 post-install:
 	# workaround for /usr/local/lib/cmake/bout++/bout++Config.cmake:if
 	@${REINPLACE_CMD} -i '' \
@@ -111,4 +127,9 @@ post-install:
 	# remove broken link, see https://github.com/boutproject/BOUT-dev/issues/2623
 	@${RM} ${STAGEDIR}${PREFIX}/bin/bout-squashoutput
 
+pre-test: #  build tests
+	@cd ${BUILD_WRKSRC} && \
+		${SETENVI} ${WRK_ENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS} ${CMAKE_TESTING_ARGS} ${CMAKE_SOURCE_PATH} && \
+		${SETENVI} ${WRK_ENV} ${MAKE_ENV} ${TEST_ENV} ${MAKE_CMD} ${_MAKE_JOBS} ${MAKE_ARGS} build-check
+
 .include <bsd.port.mk>
diff --git a/science/bout++/distinfo b/science/bout++/distinfo
index 9b13b34d7483..207f64f5f862 100644
--- a/science/bout++/distinfo
+++ b/science/bout++/distinfo
@@ -1,13 +1,13 @@
-TIMESTAMP = 1671818294
-SHA256 (boutproject-BOUT-dev-v4.4.2_GH0.tar.gz) = 0ae02f353f936a2838f6c5088d1706eb0fbf668e702d2e2d5c5f7c472c6827ba
-SIZE (boutproject-BOUT-dev-v4.4.2_GH0.tar.gz) = 17341124
-SHA256 (boutproject-boutdata-3a66e6c_GH0.tar.gz) = a52faa54547a61603b738558ddbd7431eef2795d8be118097e998f27f4566242
-SIZE (boutproject-boutdata-3a66e6c_GH0.tar.gz) = 65076
-SHA256 (boutproject-boututils-a79a00a_GH0.tar.gz) = ab3c925995dc1709e00b9d6098256841b633bb3f55374a56c63d9918f6930e11
-SIZE (boutproject-boututils-a79a00a_GH0.tar.gz) = 59415
-SHA256 (google-googletest-96f4ce0_GH0.tar.gz) = 5d4ca5c67886183e4a6917dc0e35b31d7b8454495db39fad43c6a9a298ebab37
-SIZE (google-googletest-96f4ce0_GH0.tar.gz) = 888310
-SHA256 (meitar-git-archive-all.sh-fc86194_GH0.tar.gz) = cf07813444e441fcfbd6a78ad11228880bc2c2f12ce72b312872d9d7c3c341de
-SIZE (meitar-git-archive-all.sh-fc86194_GH0.tar.gz) = 4033
-SHA256 (mpark-variant-0b488da_GH0.tar.gz) = 81f8e07d3a500689358400e7347168f39c14d3b944c3181d76c25ae7c838fd96
-SIZE (mpark-variant-0b488da_GH0.tar.gz) = 33435
+TIMESTAMP = 1726734402
+SHA256 (boutproject-BOUT-dev-v5.1.1_GH0.tar.gz) = 4bc44a28bb56521b59697be5c5a93569549116a7e29592c8c2078f853005f1ef
+SIZE (boutproject-BOUT-dev-v5.1.1_GH0.tar.gz) = 16858419
+SHA256 (google-googletest-0953a17a4281fc26831da647ad3fcd5e21e6473b_GH0.tar.gz) = e5425830f00c96d358d23627706667a115c4df78e690c1b7dbbc2268178fa5d2
+SIZE (google-googletest-0953a17a4281fc26831da647ad3fcd5e21e6473b_GH0.tar.gz) = 874328
+SHA256 (meitar-git-archive-all.sh-fc86194f00b678438f9210859597f6eead28e765_GH0.tar.gz) = cfb18bf23728c70d0de789c6c4810e1104a6bd3e176d63b798d60c612c2ab59b
+SIZE (meitar-git-archive-all.sh-fc86194f00b678438f9210859597f6eead28e765_GH0.tar.gz) = 4030
+SHA256 (mpark-variant-23cb94f027d4ef33bf48133acc2695c7e5c6f1e7_GH0.tar.gz) = 3e9eb0fbf7accd63f02c6ae948e15a71fc3faa89c8baff51d7829d18d95af1e0
+SIZE (mpark-variant-23cb94f027d4ef33bf48133acc2695c7e5c6f1e7_GH0.tar.gz) = 33944
+SHA256 (boutproject-boutdata-e458cf0cf2af6ff68db91da39ef3e15a7e9e6b3d_GH0.tar.gz) = ef1cadfdbd0478abcece1f570748f597ffdd49760bb0555ab770a5edd5bd4d3f
+SIZE (boutproject-boutdata-e458cf0cf2af6ff68db91da39ef3e15a7e9e6b3d_GH0.tar.gz) = 124871
+SHA256 (abseil-googletest-695cf7c96249de50360a7d2951dc88eb3aea0695_GH0.tar.gz) = 94c0c4be4ba79bb7f873474f027a26d60ecc717ae963b8a627f97e2ff5595358
+SIZE (abseil-googletest-695cf7c96249de50360a7d2951dc88eb3aea0695_GH0.tar.gz) = 965798
diff --git a/science/bout++/files/patch-CMakeLists.txt b/science/bout++/files/patch-CMakeLists.txt
deleted file mode 100644
index 3f028df02480..000000000000
--- a/science/bout++/files/patch-CMakeLists.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-- workaround for: find_package(netCDFCxx REQUIRED) fails to find it because netcdf-cxx is built w/out cmake support
-
---- CMakeLists.txt.orig	2022-03-03 17:36:51 UTC
-+++ CMakeLists.txt
-@@ -556,10 +556,12 @@ if (BOUT_USE_NETCDF)
-     find_package(netCDF REQUIRED)
-     FetchContent_MakeAvailable(netcdf-cxx4)
-   else()
--    find_package(netCDFCxx REQUIRED)
--    set(CONFIG_LDFLAGS "${CONFIG_LDFLAGS} ${netCDF_CXX_LIBRARY} ${netCDF_LIBRARIES}")
-+    find_package(PkgConfig REQUIRED)
-+    #find_package(netCDFCxx REQUIRED)
-+    pkg_check_modules(NETCDF REQUIRED IMPORTED_TARGET netcdf-cxx4)
-+    set(CONFIG_LDFLAGS "${CONFIG_LDFLAGS} ${netCDF_CXX_LIBRARY} ${NETCDF_LDFLAGS}")
-   endif()
--  target_link_libraries(bout++ PUBLIC netCDF::netcdf-cxx4)
-+  target_link_libraries(bout++ PUBLIC ${NETCDF_LDFLAGS})
-   target_compile_definitions(bout++
-     PUBLIC "NCDF4"
-     PUBLIC "BOUT_HAS_NETCDF")
diff --git a/science/bout++/files/patch-include_datafile.hxx b/science/bout++/files/patch-include_datafile.hxx
deleted file mode 100644
index c36741c75ca6..000000000000
--- a/science/bout++/files/patch-include_datafile.hxx
+++ /dev/null
@@ -1,13 +0,0 @@
-- workaround for https://github.com/boutproject/BOUT-dev/issues/2621
-
---- include/datafile.hxx.orig	2022-12-24 02:25:29 UTC
-+++ include/datafile.hxx
-@@ -18,7 +18,7 @@ class Datafile;
- #include "bout/macro_for_each.hxx"
- 
- #include "dataformat.hxx"
--#include "../src/fileio/impls/hdf5/h5_format.hxx"
-+//#include "../src/fileio/impls/hdf5/h5_format.hxx"
- #include "bout/format.hxx"
- 
- #include <cstdarg>
diff --git a/science/bout++/files/patch-include_options.hxx b/science/bout++/files/patch-include_options.hxx
deleted file mode 100644
index d7fd9a951633..000000000000
--- a/science/bout++/files/patch-include_options.hxx
+++ /dev/null
@@ -1,13 +0,0 @@
-- workaround for clang++ failure, see https://github.com/llvm/llvm-project/issues/59683
-
---- include/options.hxx.orig	2022-12-23 21:59:09 UTC
-+++ include/options.hxx
-@@ -198,7 +198,7 @@ class Options { (public)
-     /// Copy constructor
-     AttributeType(const AttributeType& other) = default;
-     /// Move constructor
--    AttributeType(AttributeType&& other) : Base(std::move(other)) {}
-+    AttributeType(AttributeType& other) : Base(std::move(other)) {}
- 
-     /// Destructor
-     ~AttributeType() = default;
diff --git a/science/bout++/pkg-plist b/science/bout++/pkg-plist
index 24616f673489..b339dbc00869 100644
--- a/science/bout++/pkg-plist
+++ b/science/bout++/pkg-plist
@@ -1,14 +1,23 @@
+bin/bout-add-mod-path
 bin/bout-archive-helper.sh
 bin/bout-boutdata-restart-create
+bin/bout-build-deps.sh
+bin/bout-changelog-generator.py
 bin/bout-config
-bin/bout-config.in
 bin/bout-log-color
-bin/bout-pylib-cmd-to-bin
 bin/bout-sonnet
 bin/bout-stop-script
+bin/bout-v5-factory-upgrader.py
+bin/bout-v5-format-upgrader.py
+bin/bout-v5-header-upgrader.py
+bin/bout-v5-input-file-upgrader.py
+bin/bout-v5-macro-upgrader.py
+bin/bout-v5-physics-model-upgrader.py
+bin/bout-v5-xzinterpolation-upgrader.py
 bin/bout_3to4.py
 bin/bout_4to5
-bin/bout_4to5_header_file_list
+bin/update_citations.py
+bin/update_version_number_in_files.py
 include/boundary_factory.hxx
 include/boundary_op.hxx
 include/boundary_region.hxx
@@ -16,58 +25,119 @@ include/boundary_standard.hxx
 include/bout.hxx
 include/bout/array.hxx
 include/bout/assert.hxx
+include/bout/boundary_factory.hxx
+include/bout/boundary_op.hxx
+include/bout/boundary_region.hxx
+include/bout/boundary_standard.hxx
+include/bout/bout.hxx
 include/bout/bout_enum_class.hxx
+include/bout/bout_types.hxx
+include/bout/boutcomm.hxx
+include/bout/boutexception.hxx
+include/bout/build_config.hxx
+include/bout/build_defines.hxx
+include/bout/caliper_wrapper.hxx
 include/bout/constants.hxx
 include/bout/coordinates.hxx
-include/bout/deprecated.hxx
+include/bout/coordinates_accessor.hxx
+include/bout/cyclic_reduction.hxx
+include/bout/dcomplex.hxx
 include/bout/deriv_store.hxx
+include/bout/derivs.hxx
+include/bout/difops.hxx
 include/bout/expr.hxx
-include/bout/field_visitor.hxx
+include/bout/fft.hxx
+include/bout/field.hxx
+include/bout/field2d.hxx
+include/bout/field3d.hxx
+include/bout/field_accessor.hxx
+include/bout/field_data.hxx
+include/bout/field_factory.hxx
 include/bout/fieldgroup.hxx
+include/bout/fieldperp.hxx
 include/bout/format.hxx
 include/bout/fv_ops.hxx
 include/bout/generic_factory.hxx
 include/bout/globalfield.hxx
+include/bout/globalindexer.hxx
+include/bout/globals.hxx
 include/bout/griddata.hxx
+include/bout/gyro_average.hxx
+include/bout/hypre_interface.hxx
+include/bout/hyprelib.hxx
 include/bout/index_derivs.hxx
 include/bout/index_derivs_interface.hxx
+include/bout/initialprofiles.hxx
+include/bout/interpolation.hxx
+include/bout/interpolation_xz.hxx
+include/bout/interpolation_z.hxx
 include/bout/invert/laplacexy.hxx
+include/bout/invert/laplacexy2.hxx
+include/bout/invert/laplacexy2_hypre.hxx
 include/bout/invert/laplacexz.hxx
+include/bout/invert_laplace.hxx
+include/bout/invert_parderiv.hxx
+include/bout/invert_pardiv.hxx
 include/bout/invertable_operator.hxx
+include/bout/lapack_routines.hxx
 include/bout/macro_for_each.hxx
+include/bout/mask.hxx
 include/bout/mesh.hxx
 include/bout/monitor.hxx
+include/bout/mpi_wrapper.hxx
+include/bout/msg_stack.hxx
+include/bout/multiostream.hxx
 include/bout/openmpwrap.hxx
+include/bout/operatorstencil.hxx
+include/bout/options.hxx
+include/bout/options_netcdf.hxx
+include/bout/optionsreader.hxx
+include/bout/output.hxx
+include/bout/output_bout_types.hxx
+include/bout/parallel_boundary_op.hxx
+include/bout/parallel_boundary_region.hxx
 include/bout/paralleltransform.hxx
+include/bout/petsc_interface.hxx
 include/bout/petsclib.hxx
 include/bout/physicsmodel.hxx
+include/bout/rajalib.hxx
 include/bout/region.hxx
+include/bout/revision.hxx
 include/bout/rkscheme.hxx
 include/bout/rvec.hxx
 include/bout/scorepwrapper.hxx
+include/bout/single_index_ops.hxx
 include/bout/slepclib.hxx
+include/bout/smoothing.hxx
 include/bout/snb.hxx
 include/bout/solver.hxx
 include/bout/solverfactory.hxx
+include/bout/sourcex.hxx
+include/bout/stencils.hxx
+include/bout/sundials_backports.hxx
 include/bout/surfaceiter.hxx
 include/bout/sys/expressionparser.hxx
+include/bout/sys/generator_context.hxx
 include/bout/sys/gettext.hxx
 include/bout/sys/range.hxx
 include/bout/sys/timer.hxx
 include/bout/sys/type_name.hxx
 include/bout/sys/uncopyable.hxx
-include/bout/sys/uuid.h
 include/bout/sys/variant.hxx
 include/bout/template_combinations.hxx
 include/bout/traits.hxx
+include/bout/unused.hxx
+include/bout/utils.hxx
+include/bout/vecops.hxx
+include/bout/vector2d.hxx
+include/bout/vector3d.hxx
+include/bout/vectormetric.hxx
+include/bout/version.hxx
+include/bout/where.hxx
 include/bout_types.hxx
 include/boutcomm.hxx
-include/boutconfig/__init__.py
 include/boutexception.hxx
-include/boutmain.hxx
 include/cyclic_reduction.hxx
-include/datafile.hxx
-include/dataformat.hxx
 include/dcomplex.hxx
 include/derivs.hxx
 include/difops.hxx
@@ -82,7 +152,8 @@ include/globals.hxx
 include/gyro_average.hxx
 include/initialprofiles.hxx
 include/interpolation.hxx
-include/interpolation_factory.hxx
+include/interpolation_xz.hxx
+include/interpolation_z.hxx
 include/invert_laplace.hxx
 include/invert_parderiv.hxx
 include/lapack_routines.hxx
@@ -126,6 +197,7 @@ lib/cmake/bout++/BOUT++functions.cmake
 lib/cmake/bout++/CorrectWindowsPaths.cmake
 lib/cmake/bout++/FindClangFormat.cmake
 lib/cmake/bout++/FindFFTW.cmake
+lib/cmake/bout++/FindHYPRE.cmake
 lib/cmake/bout++/FindLibuuid.cmake
 lib/cmake/bout++/FindPETSc.cmake
 lib/cmake/bout++/FindPackageMultipass.cmake
@@ -144,8 +216,14 @@ lib/cmake/mpark_variant/mpark_variant-config-version.cmake
 lib/cmake/mpark_variant/mpark_variant-config.cmake
 lib/cmake/mpark_variant/mpark_variant-targets.cmake
 lib/libbout++.so
-lib/libbout++.so.4.4.0
+lib/libbout++.so.5.1.0
 lib/libpvode.so
 lib/libpvode.so.1.0.0
 lib/libpvpre.so
 lib/libpvpre.so.1.0.0
+%%PYTHON_SITELIBDIR%%/boutconfig/__init__.py
+share/locale/de/LC_MESSAGES/libbout.mo
+share/locale/es/LC_MESSAGES/libbout.mo
+share/locale/fr/LC_MESSAGES/libbout.mo
+share/locale/zh_CN/LC_MESSAGES/libbout.mo
+share/locale/zh_TW/LC_MESSAGES/libbout.mo