diff --git a/math/dune-common/Makefile b/math/dune-common/Makefile index 111a46bf1c92..8ec6b01e6d3d 100644 --- a/math/dune-common/Makefile +++ b/math/dune-common/Makefile @@ -1,52 +1,53 @@ PORTNAME= dune-common DISTVERSIONPREFIX= v -DISTVERSION= 2.8.0 -PORTREVISION= 17 +DISTVERSION= 2.11.0 CATEGORIES= math -PATCH_SITES= https://gitlab.dune-project.org/core/${PORTNAME}/-/commit/ -PATCHFILES+= d36ce92a18904a3fe69028811c619b4b5a09ef4e.patch:-p1 MAINTAINER= yuri@FreeBSD.org COMMENT= DUNE framework: Build system, infrastructure and foundation classes WWW= https://www.dune-project.org/ LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/LICENSE.md BUILD_DEPENDS= metis>0:math/metis \ - openmpi4>0:net/openmpi4 \ + openmpi>0:net/openmpi \ vc>0:devel/vc # Metis isn't used, see https://gitlab.dune-project.org/core/dune-common/-/issues/306 LIB_DEPENDS= libopenblas.so:math/openblas \ libtbb.so:devel/onetbb USES= cmake compiler:c++17-lang fortran pkgconfig python shebangfix -SHEBANG_FILES= bin/dune-ctest bin/setup-dunepy.py bin/dunepackaging.py bin/rmgenerated.py cmake/scripts/extract_cmake_data.py +SHEBANG_FILES= bin/dune-add-spdx bin/dune-ctest bin/dunepackaging.py cmake/scripts/extract_cmake_data.py USE_GITLAB= yes USE_LDCONFIG= yes GL_SITE= https://gitlab.dune-project.org GL_ACCOUNT= core CMAKE_ON= BUILD_SHARED_LIBS +CMAKE_OFF= DUNE_ENABLE_PYTHONBINDINGS CMAKE_ARGS= -DTBB_INCLUDE_DIR=${LOCALBASE}/include -DTBB_LIBRARIES=${LOCALBASE}/lib/libtbb.so +PLIST_SUB+= DUNE_COMMON_CMAKE_HASH=09f6943203612a8f3df596107fdd4f98 + OPTIONS_DEFINE= DOCS DOXYGEN MANPAGES OPTIONS_DEFAULT= MANPAGES OPTIONS_SUB= yes DOCS_CMAKE_BOOL= FREEBSD_INSTALL_DOCS -DOCS_BUILD_DEPENDS= latex:print/tex-formats \ - sphinx-build:textproc/py-sphinx +DOCS_BUILD_DEPENDS= sphinx-build:textproc/py-sphinx DOXYGEN_BUILD_DEPENDS= doxygen:devel/doxygen +DOXYGEN_CMAKE_BOOL= FREEBSD_INSTALL_DOXYGEN DOXYGEN_IMPLIES= DOCS MANPAGES_CMAKE_BOOL= FREEBSD_INSTALL_MANPAGES PORTDOCS= * post-install: - @${RM} ${STAGEDIR}${PREFIX}/share/dune/cmake/scripts/run-in-dune-env.sh.in # https://gitlab.dune-project.org/core/dune-common/-/issues/229 + @${RM} ${STAGEDIR}${PREFIX}/share/dune/cmake/scripts/run-in-dune-env.sh.in + @${RM} ${STAGEDIR}${PREFIX}/share/dune/cmake/scripts/set-dune-pythonpath.sh.in .include diff --git a/math/dune-common/distinfo b/math/dune-common/distinfo index abfcfc9a407b..059b72c6dab6 100644 --- a/math/dune-common/distinfo +++ b/math/dune-common/distinfo @@ -1,5 +1,3 @@ -TIMESTAMP = 1750927049 -SHA256 (dune-common-v2.8.0.tar.bz2) = f4abb10e1cbbfa1835204fc7f44bb3ee50e3108343b5a200254f35a76a5561bd -SIZE (dune-common-v2.8.0.tar.bz2) = 636924 -SHA256 (d36ce92a18904a3fe69028811c619b4b5a09ef4e.patch) = 32f0b7927ed2b70e9c1d095689064045c7c25f76056e0243c24641ac0cb9aafa -SIZE (d36ce92a18904a3fe69028811c619b4b5a09ef4e.patch) = 877 +TIMESTAMP = 1774915221 +SHA256 (dune-common-v2.11.0.tar.bz2) = 34fad9cc02db5bb3744c0b951799c0bab7010bd539b308b3689d9a05b20d8e7b +SIZE (dune-common-v2.11.0.tar.bz2) = 785344 diff --git a/math/dune-common/files/patch-cmake_modules_DuneDoxygen.cmake b/math/dune-common/files/patch-cmake_modules_DuneDoxygen.cmake new file mode 100644 index 000000000000..8184723b67fe --- /dev/null +++ b/math/dune-common/files/patch-cmake_modules_DuneDoxygen.cmake @@ -0,0 +1,12 @@ +--- cmake/modules/DuneDoxygen.cmake.orig 2026-03-31 05:34:46 UTC ++++ cmake/modules/DuneDoxygen.cmake +@@ -134,7 +134,7 @@ macro(add_doxygen_target) + # Manifest is generated when prefix was set at configuration time, otherwise is skipped + LIST(APPEND CMAKE_INSTALL_MANIFEST_FILES ${CMAKE_INSTALL_FULL_DOCDIR}/doxygen/\${_basename}) + endforeach() +- file(INSTALL \${doxygenfiles} DESTINATION ${CMAKE_INSTALL_DOCDIR}/doxygen) +- message(STATUS \"Installed doxygen into ${CMAKE_INSTALL_DOCDIR}/doxygen\")") ++ file(INSTALL \${doxygenfiles} DESTINATION ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DOCDIR}/doxygen) ++ message(STATUS \"Installed doxygen into ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DOCDIR}/doxygen\")") + endif() + endmacro(add_doxygen_target) diff --git a/math/dune-common/files/patch-cmake_modules_DunePythonVirtualenv.cmake b/math/dune-common/files/patch-cmake_modules_DunePythonVirtualenv.cmake new file mode 100644 index 000000000000..ec6e5d608fdb --- /dev/null +++ b/math/dune-common/files/patch-cmake_modules_DunePythonVirtualenv.cmake @@ -0,0 +1,24 @@ +--- cmake/modules/DunePythonVirtualenv.cmake.orig 2026-01-09 13:06:10 UTC ++++ cmake/modules/DunePythonVirtualenv.cmake +@@ -254,14 +254,17 @@ endif() + # Also write a small wrapper script 'run-in-dune-env' into the build directory + # This is necessary to execute installed python scripts (the bin path of a virtualenv + # is *not* in the sys path, so a simple `python scriptname` does not work. +-if(UNIX) ++# Only needed when python bindings are enabled and the template exists ++if(UNIX AND DUNE_ENABLE_PYTHONBINDINGS) + find_package(UnixCommands QUIET) + dune_module_path(MODULE dune-common + RESULT scriptdir + SCRIPT_DIR) +- configure_file(${scriptdir}/run-in-dune-env.sh.in +- ${CMAKE_BINARY_DIR}/run-in-dune-env +- @ONLY) ++ if(EXISTS "${scriptdir}/run-in-dune-env.sh.in") ++ configure_file(${scriptdir}/run-in-dune-env.sh.in ++ ${CMAKE_BINARY_DIR}/run-in-dune-env ++ @ONLY) ++ endif() + else() + message(WARNING "Writing script 'run-in-dune-env' not implemented on your platform!") + endif() diff --git a/math/dune-common/files/patch-doc_CMakeLists.txt b/math/dune-common/files/patch-doc_CMakeLists.txt index 80184fe0d3a9..df62e79ebe93 100644 --- a/math/dune-common/files/patch-doc_CMakeLists.txt +++ b/math/dune-common/files/patch-doc_CMakeLists.txt @@ -1,12 +1,17 @@ ---- doc/CMakeLists.txt.orig 2025-06-26 07:51:35 UTC +--- doc/CMakeLists.txt.orig 2026-01-09 13:06:10 UTC +++ doc/CMakeLists.txt -@@ -1,5 +1,9 @@ -+if (FREEBSD_INSTALL_DOCS) +@@ -1,8 +1,14 @@ + # SPDX-FileCopyrightInfo: Copyright © DUNE Project contributors, see file LICENSE.md in module root + # SPDX-License-Identifier: LicenseRef-GPL-2.0-only-with-DUNE-exception + ++# Always include doxygen subdir so Doxystyle/doxygen-macros are installed ++# (referenced by dune-common-config.cmake via set_and_check) add_subdirectory("doxygen") ++if (FREEBSD_INSTALL_DOCS) add_subdirectory("buildsystem") add_subdirectory("comm") +endif() +if (FREEBSD_INSTALL_MANPAGES) install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/dunecontrol.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) +endif() diff --git a/math/dune-common/files/patch-doc_comm_CMakeLists.txt b/math/dune-common/files/patch-doc_comm_CMakeLists.txt new file mode 100644 index 000000000000..e2eabd9f21d3 --- /dev/null +++ b/math/dune-common/files/patch-doc_comm_CMakeLists.txt @@ -0,0 +1,10 @@ +--- doc/comm/CMakeLists.txt.orig 2026-03-31 13:23:17 UTC ++++ doc/comm/CMakeLists.txt +@@ -14,6 +14,4 @@ dune_add_latex_document( + + dune_add_latex_document( + SOURCE communication.tex +- FATHER_TARGET doc +- BUILD_ON_INSTALL +- INSTALL ${CMAKE_INSTALL_DOCDIR}/comm) ++ FATHER_TARGET doc) diff --git a/math/dune-common/files/patch-doc_doxygen_CMakeLists.txt b/math/dune-common/files/patch-doc_doxygen_CMakeLists.txt new file mode 100644 index 000000000000..f98853836e79 --- /dev/null +++ b/math/dune-common/files/patch-doc_doxygen_CMakeLists.txt @@ -0,0 +1,13 @@ +--- doc/doxygen/CMakeLists.txt.orig 2026-01-09 13:06:10 UTC ++++ doc/doxygen/CMakeLists.txt +@@ -2,7 +2,9 @@ + # SPDX-License-Identifier: LicenseRef-GPL-2.0-only-with-DUNE-exception + + # create Doxyfile.in and Doxyfile +-add_doxygen_target() ++if (FREEBSD_INSTALL_DOXYGEN) ++ add_doxygen_target() ++endif() + + install( + FILES diff --git a/math/dune-common/pkg-plist b/math/dune-common/pkg-plist index 811b0d1eb5d1..ab58c5aa2336 100644 --- a/math/dune-common/pkg-plist +++ b/math/dune-common/pkg-plist @@ -1,215 +1,243 @@ +bin/dune-add-spdx bin/dune-ctest bin/dune-git-whitespace-hook bin/dunecontrol bin/dunepackaging.py bin/duneproject -bin/rmgenerated.py -bin/setup-dunepy.py +include/dune-common-config.hh include/dune/common/alignedallocator.hh include/dune/common/arraylist.hh -include/dune/common/assertandreturn.hh include/dune/common/bartonnackmanifcheck.hh include/dune/common/bigunsignedint.hh include/dune/common/binaryfunctions.hh include/dune/common/bitsetvector.hh include/dune/common/boundschecking.hh include/dune/common/classname.hh include/dune/common/concept.hh +include/dune/common/concepts.hh +include/dune/common/concepts/container.hh +include/dune/common/concepts/hashable.hh +include/dune/common/concepts/number.hh include/dune/common/conditional.hh +include/dune/common/copyableoptional.hh include/dune/common/debugalign.hh include/dune/common/debugallocator.hh include/dune/common/debugstream.hh include/dune/common/densematrix.hh include/dune/common/densevector.hh include/dune/common/deprecated.hh include/dune/common/diagonalmatrix.hh include/dune/common/documentation.hh include/dune/common/dotproduct.hh include/dune/common/dynmatrix.hh include/dune/common/dynmatrixev.hh include/dune/common/dynvector.hh include/dune/common/enumset.hh include/dune/common/exceptions.hh include/dune/common/filledarray.hh include/dune/common/float_cmp.cc include/dune/common/float_cmp.hh include/dune/common/fmatrix.hh include/dune/common/fmatrixev.hh +include/dune/common/forceinline.hh include/dune/common/ftraits.hh -include/dune/common/function.hh include/dune/common/fvector.hh -include/dune/common/gcd.hh include/dune/common/genericiterator.hh include/dune/common/gmpfield.hh include/dune/common/hash.hh +include/dune/common/hybridmultiindex.hh include/dune/common/hybridutilities.hh include/dune/common/indent.hh +include/dune/common/indexediterator.hh include/dune/common/indices.hh +include/dune/common/integersequence.hh include/dune/common/interfaces.hh include/dune/common/ios_state.hh include/dune/common/iteratorfacades.hh include/dune/common/iteratorrange.hh -include/dune/common/keywords.hh -include/dune/common/lcm.hh include/dune/common/lru.hh include/dune/common/mallocallocator.hh include/dune/common/math.hh +include/dune/common/matrixconcepts.hh include/dune/common/matvectraits.hh +include/dune/common/metis.hh include/dune/common/overloadset.hh -include/dune/common/parallel/collectivecommunication.hh include/dune/common/parallel/communication.hh include/dune/common/parallel/communicator.hh include/dune/common/parallel/future.hh include/dune/common/parallel/indexset.hh include/dune/common/parallel/indicessyncer.hh include/dune/common/parallel/interface.hh include/dune/common/parallel/localindex.hh -include/dune/common/parallel/mpicollectivecommunication.hh include/dune/common/parallel/mpicommunication.hh include/dune/common/parallel/mpidata.hh include/dune/common/parallel/mpifuture.hh include/dune/common/parallel/mpiguard.hh include/dune/common/parallel/mpihelper.hh include/dune/common/parallel/mpipack.hh include/dune/common/parallel/mpitraits.hh +include/dune/common/parallel/parmetis.hh include/dune/common/parallel/plocalindex.hh include/dune/common/parallel/remoteindices.hh include/dune/common/parallel/selection.hh include/dune/common/parallel/variablesizecommunicator.hh include/dune/common/parameterizedobject.hh include/dune/common/parametertree.hh include/dune/common/parametertreeparser.hh include/dune/common/path.hh include/dune/common/poolallocator.hh -include/dune/common/power.hh include/dune/common/precision.hh include/dune/common/promotiontraits.hh include/dune/common/propertymap.hh include/dune/common/proxymemberaccess.hh include/dune/common/quadmath.hh include/dune/common/rangeutilities.hh +include/dune/common/referencehelper.hh include/dune/common/reservedvector.hh include/dune/common/scalarmatrixview.hh include/dune/common/scalarvectorview.hh include/dune/common/shared_ptr.hh include/dune/common/simd.hh include/dune/common/simd/base.hh include/dune/common/simd/defaults.hh include/dune/common/simd/interface.hh include/dune/common/simd/io.hh include/dune/common/simd/loop.hh include/dune/common/simd/simd.hh include/dune/common/simd/standard.hh include/dune/common/simd/test.hh include/dune/common/simd/vc.hh include/dune/common/singleton.hh include/dune/common/sllist.hh -include/dune/common/std/apply.hh +include/dune/common/std/algorithm.hh +include/dune/common/std/assume.hh +include/dune/common/std/cmath.hh +include/dune/common/std/compare.hh +include/dune/common/std/default_accessor.hh +include/dune/common/std/extents.hh include/dune/common/std/functional.hh -include/dune/common/std/make_array.hh -include/dune/common/std/optional.hh +include/dune/common/std/impl/containerconstructiontraits.hh +include/dune/common/std/impl/fwd_layouts.hh +include/dune/common/std/iterator.hh +include/dune/common/std/layout_left.hh +include/dune/common/std/layout_right.hh +include/dune/common/std/layout_stride.hh +include/dune/common/std/mdarray.hh +include/dune/common/std/mdspan.hh +include/dune/common/std/memory.hh +include/dune/common/std/no_unique_address.hh +include/dune/common/std/span.hh include/dune/common/std/type_traits.hh -include/dune/common/std/utility.hh -include/dune/common/std/variant.hh include/dune/common/stdstreams.hh include/dune/common/stdthread.hh include/dune/common/streamoperators.hh include/dune/common/stringutility.hh include/dune/common/test/arithmetictestsuite.hh include/dune/common/test/checkmatrixinterface.hh include/dune/common/test/collectorstream.hh include/dune/common/test/iteratortest.hh include/dune/common/test/testsuite.hh include/dune/common/timer.hh -include/dune/common/to_unique_ptr.hh include/dune/common/transpose.hh include/dune/common/tupleutility.hh include/dune/common/tuplevector.hh include/dune/common/typelist.hh include/dune/common/typetraits.hh +include/dune/common/typetree/childaccess.hh +include/dune/common/typetree/nodeconcepts.hh +include/dune/common/typetree/traversal.hh +include/dune/common/typetree/treecontainer.hh +include/dune/common/typetree/treepath.hh include/dune/common/typeutilities.hh include/dune/common/unused.hh include/dune/common/vc.hh include/dune/common/version.hh include/dune/common/visibility.hh lib/cmake/dune-common/dune-common-config-version.cmake lib/cmake/dune-common/dune-common-config.cmake -lib/cmake/dune-common/dune-common-targets-%%CMAKE_BUILD_TYPE%%.cmake +lib/cmake/dune-common/dune-common-scoped-targets-%%DUNE_COMMON_CMAKE_HASH%%-release.cmake +lib/cmake/dune-common/dune-common-scoped-targets-%%DUNE_COMMON_CMAKE_HASH%%.cmake lib/cmake/dune-common/dune-common-targets.cmake lib/dunecontrol/dune-common/dune.module lib/dunemodules.lib lib/libdunecommon.so libdata/pkgconfig/dune-common.pc -%%MANPAGES%%share/man/man1/dunecontrol.1.gz share/bash-completion/completions/dunecontrol %%DATADIR%%/config.h.cmake -%%DOCS%%%%DATADIR%%/doc/doxygen/Doxystyle -%%DOCS%%%%DATADIR%%/doc/doxygen/doxygen-macros +%%DATADIR%%/doc/doxygen/Doxystyle +%%DATADIR%%/doc/doxygen/doxygen-macros share/dune/cmake/modules/AddBLASLapackFlags.cmake share/dune/cmake/modules/AddGMPFlags.cmake share/dune/cmake/modules/AddMETISFlags.cmake share/dune/cmake/modules/AddMPIFlags.cmake share/dune/cmake/modules/AddPTScotchFlags.cmake share/dune/cmake/modules/AddParMETISFlags.cmake share/dune/cmake/modules/AddQuadMathFlags.cmake share/dune/cmake/modules/AddSuiteSparseFlags.cmake share/dune/cmake/modules/AddTBBFlags.cmake share/dune/cmake/modules/AddThreadsFlags.cmake share/dune/cmake/modules/AddVcFlags.cmake share/dune/cmake/modules/CMakeBuiltinFunctionsDocumentation.cmake share/dune/cmake/modules/CheckCXXFeatures.cmake +share/dune/cmake/modules/DuneAddLibrary.cmake share/dune/cmake/modules/DuneAddPybind11Module.cmake -share/dune/cmake/modules/DuneCMakeCompat.cmake share/dune/cmake/modules/DuneCommonMacros.cmake -share/dune/cmake/modules/DuneCxaDemangle.cmake +share/dune/cmake/modules/DuneDefaultIncludeDirectories.cmake share/dune/cmake/modules/DuneDoc.cmake share/dune/cmake/modules/DuneDoxygen.cmake share/dune/cmake/modules/DuneEnableAllPackages.cmake share/dune/cmake/modules/DuneExecuteProcess.cmake share/dune/cmake/modules/DuneInstance.cmake -share/dune/cmake/modules/DuneMPI.cmake share/dune/cmake/modules/DuneMacros.cmake +share/dune/cmake/modules/DuneModuleDependencies.cmake +share/dune/cmake/modules/DuneModuleInformation.cmake share/dune/cmake/modules/DunePathHelper.cmake share/dune/cmake/modules/DunePkgConfig.cmake +share/dune/cmake/modules/DunePolicy.cmake +share/dune/cmake/modules/DuneProject.cmake share/dune/cmake/modules/DunePythonCommonMacros.cmake share/dune/cmake/modules/DunePythonFindPackage.cmake share/dune/cmake/modules/DunePythonInstallPackage.cmake -share/dune/cmake/modules/DunePythonMacros.cmake share/dune/cmake/modules/DunePythonTestCommand.cmake share/dune/cmake/modules/DunePythonVirtualenv.cmake +share/dune/cmake/modules/DuneReplaceProperties.cmake share/dune/cmake/modules/DuneSphinxCMakeDoc.cmake share/dune/cmake/modules/DuneSphinxDoc.cmake share/dune/cmake/modules/DuneStreams.cmake share/dune/cmake/modules/DuneSymlinkOrCopy.cmake share/dune/cmake/modules/DuneTestMacros.cmake +share/dune/cmake/modules/DuneUtilities.cmake share/dune/cmake/modules/FindGMP.cmake share/dune/cmake/modules/FindInkscape.cmake share/dune/cmake/modules/FindLatexMk.cmake share/dune/cmake/modules/FindMETIS.cmake share/dune/cmake/modules/FindPTScotch.cmake share/dune/cmake/modules/FindParMETIS.cmake share/dune/cmake/modules/FindPkgConfig/FindPkgConfig.cmake share/dune/cmake/modules/FindPython3/FindPython3.cmake share/dune/cmake/modules/FindPython3/Support.cmake share/dune/cmake/modules/FindQuadMath.cmake share/dune/cmake/modules/FindSphinx.cmake share/dune/cmake/modules/FindSuiteSparse.cmake share/dune/cmake/modules/FindTBB.cmake share/dune/cmake/modules/Headercheck.cmake share/dune/cmake/modules/OverloadCompilerFlags.cmake share/dune/cmake/modules/UseInkscape.cmake share/dune/cmake/modules/UseLatexMk.cmake share/dune/cmake/modules/latexmkrc.cmake share/dune/cmake/scripts/CreateDoxyFile.cmake share/dune/cmake/scripts/FinalizeHeadercheck.cmake share/dune/cmake/scripts/InstallFile.cmake share/dune/cmake/scripts/RunDoxygen.cmake +share/dune/cmake/scripts/WritePythonCMakeMetadata.cmake +share/dune/cmake/scripts/checkvenvconf.py share/dune/cmake/scripts/conf.py.in -share/dune/cmake/scripts/envdetect.py share/dune/cmake/scripts/extract_cmake_data.py share/dune/cmake/scripts/index.rst.in share/dune/cmake/scripts/main77.cc.in share/dune/cmake/scripts/module_library.cc.in share/dune/cmake/scripts/pyversion.py +share/dune/cmake/scripts/setup.py.in share/dune/cmake/scripts/sphinx_cmake_dune.py -%%PORTDOCS%%@dir %%DOCSDIR%%/comm +share/dune/cmake/scripts/venvpath.py +%%MANPAGES%%share/man/man1/dunecontrol.1.gz