commit: d196b32569741896563d110e114232911683dc12 Author: Paul Zander <negril.nx+gentoo <AT> gmail <DOT> com> AuthorDate: Thu May 1 19:34:06 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Thu May 8 06:26:40 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d196b325
media-gfx/netgen: add 6.2.2501, update 6.2.2406 Backport test fixes to 6.2.2406 Closes: https://bugs.gentoo.org/904312 Closes: https://bugs.gentoo.org/927171 Closes: https://bugs.gentoo.org/945059 Signed-off-by: Paul Zander <negril.nx+gentoo <AT> gmail.com> Part-of: https://github.com/gentoo/gentoo/pull/41967 Signed-off-by: Sam James <sam <AT> gentoo.org> media-gfx/netgen/Manifest | 1 + media-gfx/netgen/netgen-6.2.2406.ebuild | 5 +- ...tgen-6.2.2406.ebuild => netgen-6.2.2501.ebuild} | 65 ++++++++++++++-------- 3 files changed, 46 insertions(+), 25 deletions(-) diff --git a/media-gfx/netgen/Manifest b/media-gfx/netgen/Manifest index a9e003798953..a6b0ad40a8c8 100644 --- a/media-gfx/netgen/Manifest +++ b/media-gfx/netgen/Manifest @@ -1 +1,2 @@ DIST netgen-6.2.2406.tar.gz 3452436 BLAKE2B 4cb42f20e7627a98e54a9f2e6da5d1b4af174fa7e33c6f72a731b4879c3e4324b20016f1980d2ceb50976fedc2b001a0824e2edd03b03c434c49baa947ded126 SHA512 262e57dca39519c797ea58b32eb886d523926aa48979b31df0c61839f9db09eea76346d3519742b7173a78a80335c16960860772646edd20f365dab1e1a6bed8 +DIST netgen-6.2.2501.tar.gz 3328069 BLAKE2B 68387ffdf3ff4025b8b68377aa5744077a5ab4718e1a9213bd2103e58dce8750355ad7031b8cc533345fa84bfa4b1c96f30f9e1efb977141d97a35f40dbf57a8 SHA512 7a39b8bc17216a69239e1f3774793f65e8ac3b1837b0859a730bba8967a4791a76ea5041a94e7de1e1e42f8d12b8ab59dfa06eadcf048f3c99dce57b360faa45 diff --git a/media-gfx/netgen/netgen-6.2.2406.ebuild b/media-gfx/netgen/netgen-6.2.2406.ebuild index cdd5a51aa5b6..ddb8a2b1bc57 100644 --- a/media-gfx/netgen/netgen-6.2.2406.ebuild +++ b/media-gfx/netgen/netgen-6.2.2406.ebuild @@ -151,12 +151,15 @@ src_test() { DESTDIR="${T}" cmake_build install if use python; then - export PYTHONPATH="${T}/$(python_get_sitedir):${T}/usr/$(get_libdir):${BUILD_DIR}/libsrc/core" + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local -x NETGENDIR="${T}/usr/bin" + export PYTHONPATH="${T}$(python_get_sitedir):${T}/usr/$(get_libdir):${BUILD_DIR}/libsrc/core" fi CMAKE_SKIP_TESTS=( '^unit_symboltable$' '^pytest$' # SEGFAULT + '^pytest-mpi$' # needs pytest-mpi ) cmake_src_test } diff --git a/media-gfx/netgen/netgen-6.2.2406.ebuild b/media-gfx/netgen/netgen-6.2.2501.ebuild similarity index 70% copy from media-gfx/netgen/netgen-6.2.2406.ebuild copy to media-gfx/netgen/netgen-6.2.2501.ebuild index cdd5a51aa5b6..c09f468b3e6c 100644 --- a/media-gfx/netgen/netgen-6.2.2406.ebuild +++ b/media-gfx/netgen/netgen-6.2.2501.ebuild @@ -3,8 +3,8 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..13} ) -inherit cmake desktop flag-o-matic python-single-r1 xdg +PYTHON_COMPAT=( python3_{11..13} ) +inherit cmake desktop python-single-r1 xdg DESCRIPTION="Automatic 3d tetrahedral mesh generator" HOMEPAGE="https://ngsolve.org/ https://github.com/NGSolve/netgen" @@ -12,7 +12,7 @@ SRC_URI="https://github.com/NGSolve/netgen/archive/refs/tags/v${PV}.tar.gz -> ${ LICENSE="LGPL-2.1" SLOT="0" -KEYWORDS="amd64 ~x86" +KEYWORDS="~amd64 ~x86" IUSE="ffmpeg gui jpeg mpi +opencascade python test" RESTRICT="!test? ( test )" @@ -70,10 +70,9 @@ PATCHES=( "${FILESDIR}/${PN}-6.2.2204-find-Tk-include-directories.patch" "${FILESDIR}/${PN}-6.2.2406-link-against-ffmpeg.patch" "${FILESDIR}/${PN}-6.2.2204-use-system-catch.patch" - "${FILESDIR}/${PN}-6.2.2406-find-libjpeg-turbo-library.patch" + # "${FILESDIR}/${PN}-6.2.2406-find-libjpeg-turbo-library.patch" "${FILESDIR}/${PN}-6.2.2301-fix-nullptr-deref-in-archive.patch" "${FILESDIR}/${PN}-6.2.2406-encoding_h.patch" - "${FILESDIR}/${PN}-6.2.2406-link-against-jpeg.patch" ) pkg_setup() { @@ -90,20 +89,25 @@ pkg_setup() { } src_prepare() { - # # NOTE: need to manually check and update this string on version bumps! - # # git describe --tags --match "v[0-9]*" --long --dirty + # NOTE: need to manually check and update this string on version bumps! + # git ls-remote --tags https://github.com/NGSolve/netgen.git refs/tags/v${PV} | cut -c-8 + # git describe --tags --match "v[0-9]*" --long --dirty # cat <<- EOF > "${S}/version.txt" || die - # v${PV}-0-08eec44 + # v${PV}-0-gd1a9f7ee # EOF - rm external_dependencies -r || die + if use python; then + sed \ + -e "s/Python3_EXECUTABLE/PYTHON_EXECUTABLE/" \ + -i cmake/NetgenConfig.cmake.in || die + fi + + rm -r external_dependencies || die cmake_src_prepare } src_configure() { - filter-lto - local mycmakeargs=( # currently not working in a sandbox, expects netgen to be installed # see https://github.com/NGSolve/netgen/issues/132 @@ -115,7 +119,7 @@ src_configure() { -DNG_INSTALL_DIR_LIB="$(get_libdir)" -DUSE_CCACHE=OFF # doesn't build with this version - -DUSE_CGNS=OFF + -DUSE_CGNS=no -DUSE_GUI=$(usex gui) -DUSE_INTERNAL_TCL=OFF -DUSE_JPEG=$(usex jpeg) @@ -126,24 +130,31 @@ src_configure() { -DUSE_OCC=$(usex opencascade) -DUSE_PYTHON="$(usex python)" -DUSE_SUPERBUILD=OFF - -DNETGEN_VERSION_GIT="v${PV}" + + -DNETGEN_VERSION_GIT="v${PV}-0-gd1a9f7ee" ) + # no need to set this, if we only build the library if use gui; then - mycmakeargs+=( -DTK_INCLUDE_PATH="/usr/$(get_libdir)/tk8.6/include" ) + mycmakeargs+=( + -DTK_INCLUDE_PATH="${ESYSROOT}/usr/$(get_libdir)/tk8.6/include" + ) fi + if use python; then mycmakeargs+=( -DPREFER_SYSTEM_PYBIND11=ON - # # needed, so the value gets passed to NetgenConfig.cmake instead of ${T}/pythonX.Y - # -DPYTHON_EXECUTABLE="${PYTHON}" + # needed, so the value gets passed to NetgenConfig.cmake instead of ${T}/pythonX.Y + -DPYTHON_EXECUTABLE="${PYTHON}" ) fi + if use mpi && use python; then mycmakeargs+=( -DUSE_MPI4PY=ON ) else mycmakeargs+=( -DUSE_MPI4PY=OFF ) fi + cmake_src_configure } @@ -151,18 +162,24 @@ src_test() { DESTDIR="${T}" cmake_build install if use python; then - export PYTHONPATH="${T}/$(python_get_sitedir):${T}/usr/$(get_libdir):${BUILD_DIR}/libsrc/core" + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local -x NETGENDIR="${T}/usr/bin" + local -x PYTHONPATH="${T}$(python_get_sitedir):${T}/usr/$(get_libdir):${BUILD_DIR}/libsrc/core" fi CMAKE_SKIP_TESTS=( '^unit_symboltable$' - '^pytest$' # SEGFAULT + '^pytest$' # floating point errors + '^pytest-mpi$' # needs pytest-mpi ) cmake_src_test + + rm -r "${T}/usr" || die } src_install() { cmake_src_install + use python && python_optimize local NETGENDIR="/usr/share/${PN}" @@ -173,13 +190,13 @@ src_install() { mv "${ED}"/usr/bin/{*.tcl,*.ocf} "${ED}${NETGENDIR}" || die convert -deconstruct "${S}/windows/${PN}.ico" netgen.png || die - newicon -s 32 "${S}"/${PN}-2.png ${PN}.png - newicon -s 16 "${S}"/${PN}-3.png ${PN}.png - make_desktop_entry ${PN} "Netgen" netgen Graphics + newicon -s 32 "${S}/${PN}-2.png" "${PN}.png" + newicon -s 16 "${S}/${PN}-3.png" "${PN}.png" + make_desktop_entry "${PN}" "Netgen" netgen Graphics fi - mv "${ED}"/usr/share/${PN}/doc/ng4.pdf "${ED}"/usr/share/doc/${PF} || die - dosym -r /usr/share/doc/${PF}/ng4.pdf /usr/share/${PN}/doc/ng4.pdf + mv "${ED}/usr/share/${PN}/doc/ng4.pdf" "${ED}/usr/share/doc/${PF}" || die + dosym -r "/usr/share/doc/${PF}/ng4.pdf" "/usr/share/${PN}/doc/ng4.pdf" - use python || rm -r "${ED}${NETGENDIR}"/py_tutorials || die + use python || rm -r "${ED}${NETGENDIR}/py_tutorials" || die }
