2025-01-16T15:07:37+0000 Stuart Henderson <s...@spacehopper.org>: > On 2025/01/15 21:49, Johannes Thyssen Tishman wrote: > > 2025-01-15T19:10:23Z Ian Darwin <i...@darwinsys.com>: > > > > > On 1/7/25 12:46 PM, Johannes Thyssen Tishman wrote: > > > > Please find attached a port for cad/netgen-mesher and one of its test > > > > dependencies devel/py-test-check. This port is required by > > > > cad/freecad, > > > > a port I intend to submit once it's dependencies have been comitted. > > $ head -1 pkg/PLIST > @conflict netgen-* > > This is likely to be a problem. As it provides a library I guess freecad > will need it at build time, not just install time. We can't have two > ports which are in-conflict as BUILD or LIB_DEPENDS of other ports (the > existing netgen is a BDEP of qflow) because it will cause bulk builds > to fail sometimes. > > Currently only the file /usr/local/bin/netgen conflicts. It would be > preferable to rename in one or other port to avoid the conflict. > cad/netgen got there first, so I think it would be preferable to > rename this one.
I see, thank you for the explanation Stuart. I have renamed the binary. > > > > $ portcheck > > > > Python module without compiled version, consider using > > > > ${MODPY_COMPILEALL}: share/netgen/py_tutorials/exportNeutral.py > > > > > > > > Python module without compiled version, consider using > > > > ${MODPY_COMPILEALL}: share/netgen/py_tutorials/mesh.py > > > > cad/netgen-mesher > > > > > > Dunno if these matter, since it builds. Otherwise ok ian@ > > > > I ignored these as they are tutorials/examples. I'm indifferent about their > > installation, so we can also leave them out if it's preferred. Thanks Ian. > > portcheck is annoying. It whines about this non-problem (only modules > that get imported by other Python code should be bytecode-compiled - > despite missing #! these are just standalone example scripts), but > not about hardcoding python3.12/tcl86/tk86 in WANTLIB. > > Here's an updated set of WANTLIB lines. > > WANTLIB += ${COMPILER_LIBCXX} ${MODPY_WANTLIB} ${MODTK_WANTLIB} > WANTLIB += GL GLU TKBO TKBRep TKBool TKCAF TKCDF TKDE TKDEIGES > WANTLIB += TKDESTEP TKDESTL TKFillet TKG2d TKG3d TKGeomAlgo TKGeomBase > WANTLIB += TKHLR TKLCAF TKMath TKMesh TKOffset TKPrim TKService > WANTLIB += TKShHealing TKTopAlgo TKV3d TKVCAF TKXCAF TKXSBase > WANTLIB += TKernel X11 Xmu c execinfo fontconfig freetype jpeg > WANTLIB += m z It seems that after moving the tutorials/examples under ${LOCALBASE}/share/examples, portcheck does not complain anymore. > Other small things, the doc should be renamed to the ports-standard > location: > > share/netgen/doc/ng4.pdf -> share/doc/netgen-mesher/ng4.pdf > > and also perhaps share/netgen/py_tutorials -> share/examples/netgen-mesher? For the sake of consistency, I opted for leaving out the '-mesher' suffix for these directories and only renamed the binary. I tried renaming all installed directories to include the '-mesher' suffix (this can be done easily with NG_INSTALL_SUFFIX and NG_INSTALL_DIR_INCLUDE), but then tests failed as python wouldn't find the netgen-mesher module. I suppose this could be patched as well somehow, but I'm not sure this is worth the trouble. Otherwise, please let me know and I'll revise the port again. Please find an updated tarball attached and, for convenience, a diff with the changes. diff /usr/ports/mystuff path + /usr/ports/mystuff commit - 2d26a6b1039aff6acec39167a2f00f817aaf43fc blob - 9c49c80997992953f1e67bf8b8941f794dbd4621 file + cad/netgen-mesher/Makefile --- cad/netgen-mesher/Makefile +++ cad/netgen-mesher/Makefile @@ -12,12 +12,13 @@ MAINTAINER = Johannes Thyssen Tishman <ports@thyssent # LGPLv2.1 PERMIT_PACKAGE = Yes -WANTLIB += ${COMPILER_LIBCXX} GL GLU TKBO TKBRep TKBool TKCAF -WANTLIB += TKCDF TKDE TKDEIGES TKDESTEP TKDESTL TKFillet TKG2d -WANTLIB += TKG3d TKGeomAlgo TKGeomBase TKHLR TKLCAF TKMath TKMesh -WANTLIB += TKOffset TKPrim TKService TKShHealing TKTopAlgo TKV3d -WANTLIB += TKVCAF TKXCAF TKXSBase TKernel X11 Xmu c execinfo fontconfig -WANTLIB += freetype jpeg m python3.12 tcl86 tk86 z +WANTLIB += ${COMPILER_LIBCXX} ${MODPY_WANTLIB} ${MODTK_WANTLIB} +WANTLIB += GL GLU TKBO TKBRep TKBool TKCAF TKCDF TKDE TKDEIGES +WANTLIB += TKDESTEP TKDESTL TKFillet TKG2d TKG3d TKGeomAlgo TKGeomBase +WANTLIB += TKHLR TKLCAF TKMath TKMesh TKOffset TKPrim TKService +WANTLIB += TKShHealing TKTopAlgo TKV3d TKVCAF TKXCAF TKXSBase +WANTLIB += TKernel X11 Xmu c execinfo fontconfig freetype jpeg +WANTLIB += m z COMPILER = base-clang ports-gcc MODULES = devel/cmake \ @@ -62,6 +63,7 @@ CONFIGURE_ARGS += -DCMAKE_INSTALL_PREFIX=${PREFIX} \ -DTK_STUB_LIBRARY=${LOCALBASE}/lib/libtkstub${MODTK_VERSION:S/.//}.a post-install: + mv ${PREFIX}/bin/netgen ${PREFIX}/bin/netgen-mesher ${MODPY_COMPILEALL} \ ${WRKINST}${MODPY_SITEPKG}/netgen \ ${WRKINST}${MODPY_SITEPKG}/pyngcore commit - 779aeeae035e742ff7ebc02e27af1cfa156fac1e blob - /dev/null file + cad/netgen-mesher/patches/patch-doc_CMakeLists_txt (mode 644) --- /dev/null +++ cad/netgen-mesher/patches/patch-doc_CMakeLists_txt @@ -0,0 +1,6 @@ +Index: doc/CMakeLists.txt +--- doc/CMakeLists.txt.orig ++++ doc/CMakeLists.txt +@@ -1 +1 @@ +-INSTALL(FILES ng4.pdf DESTINATION ${NG_INSTALL_DIR_RES}/${NG_INSTALL_SUFFIX}/doc COMPONENT netgen_doc) ++INSTALL(FILES ng4.pdf DESTINATION ${NG_INSTALL_DIR_RES}/doc/${NG_INSTALL_SUFFIX} COMPONENT netgen_doc) commit - 779aeeae035e742ff7ebc02e27af1cfa156fac1e blob - /dev/null file + cad/netgen-mesher/patches/patch-py_tutorials_CMakeLists_txt (mode 644) --- /dev/null +++ cad/netgen-mesher/patches/patch-py_tutorials_CMakeLists_txt @@ -0,0 +1,10 @@ +Index: py_tutorials/CMakeLists.txt +--- py_tutorials/CMakeLists.txt.orig ++++ py_tutorials/CMakeLists.txt +@@ -1,5 +1,5 @@ + install( FILES + shaft.geo mesh.py exportNeutral.py +- DESTINATION ${NG_INSTALL_DIR_RES}/${NG_INSTALL_SUFFIX}/py_tutorials ++ DESTINATION ${NG_INSTALL_DIR_RES}/examples/${NG_INSTALL_SUFFIX}/py_tutorials + COMPONENT netgen_tutorial + ) commit - 779aeeae035e742ff7ebc02e27af1cfa156fac1e blob - /dev/null file + cad/netgen-mesher/patches/patch-tutorials_CMakeLists_txt (mode 644) --- /dev/null +++ cad/netgen-mesher/patches/patch-tutorials_CMakeLists_txt @@ -0,0 +1,11 @@ +Index: tutorials/CMakeLists.txt +--- tutorials/CMakeLists.txt.orig ++++ tutorials/CMakeLists.txt +@@ -7,6 +7,6 @@ install( FILES + twobricks.geo twocubes.geo twocyl.geo boundarycondition.geo + hinge.stl part1.stl frame.step screw.step + squarehole.in2d squarecircle.in2d square.in2d +- DESTINATION ${NG_INSTALL_DIR_RES}/${NG_INSTALL_SUFFIX} ++ DESTINATION ${NG_INSTALL_DIR_RES}/examples/${NG_INSTALL_SUFFIX} + COMPONENT netgen_tutorial + ) commit - 47b88306af46c79c7fe1239d3706e681c6bc2343 blob - 565424c1d57635c38899e6e1af18ba3ae7b25354 file + cad/netgen-mesher/pkg/PLIST --- cad/netgen-mesher/pkg/PLIST +++ cad/netgen-mesher/pkg/PLIST @@ -1,5 +1,4 @@ -@conflict netgen-* -@bin bin/netgen +@bin bin/netgen-mesher include/netgen/ include/netgen/core/ include/netgen/core/archive.hpp @@ -275,49 +274,49 @@ ${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packag lib/python${MODPY_VERSION}/site-packages/pyngcore/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} lib/python${MODPY_VERSION}/site-packages/pyngcore/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc @so lib/python${MODPY_VERSION}/site-packages/pyngcore/pyngcore.${MODPY_PYC_MAGIC_TAG}so -share/netgen/ -share/netgen/boundarycondition.geo -share/netgen/boxcyl.geo -share/netgen/circle_on_cube.geo -share/netgen/cone.geo -share/netgen/cube.geo -share/netgen/cubeandring.geo -share/netgen/cubeandspheres.geo -share/netgen/cubemcyl.geo -share/netgen/cubemsphere.geo -share/netgen/cylinder.geo -share/netgen/cylsphere.geo -share/netgen/doc/ -share/netgen/doc/ng4.pdf -share/netgen/ellipsoid.geo -share/netgen/ellipticcyl.geo -share/netgen/extrusion.geo -share/netgen/fichera.geo -share/netgen/frame.step -share/netgen/hinge.stl -share/netgen/lshape3d.geo -share/netgen/manyholes.geo -share/netgen/manyholes2.geo -share/netgen/matrix.geo -share/netgen/ortho.geo -share/netgen/part1.stl -share/netgen/period.geo -share/netgen/py_tutorials/ -share/netgen/py_tutorials/exportNeutral.py -share/netgen/py_tutorials/mesh.py -share/netgen/py_tutorials/shaft.geo -share/netgen/revolution.geo -share/netgen/screw.step -share/netgen/sculpture.geo -share/netgen/shaft.geo -share/netgen/shell.geo -share/netgen/sphere.geo -share/netgen/sphereincube.geo -share/netgen/square.in2d -share/netgen/squarecircle.in2d -share/netgen/squarehole.in2d -share/netgen/torus.geo -share/netgen/trafo.geo -share/netgen/twobricks.geo -share/netgen/twocubes.geo -share/netgen/twocyl.geo +share/doc/netgen/ +share/doc/netgen/ng4.pdf +share/examples/netgen/ +share/examples/netgen/boundarycondition.geo +share/examples/netgen/boxcyl.geo +share/examples/netgen/circle_on_cube.geo +share/examples/netgen/cone.geo +share/examples/netgen/cube.geo +share/examples/netgen/cubeandring.geo +share/examples/netgen/cubeandspheres.geo +share/examples/netgen/cubemcyl.geo +share/examples/netgen/cubemsphere.geo +share/examples/netgen/cylinder.geo +share/examples/netgen/cylsphere.geo +share/examples/netgen/ellipsoid.geo +share/examples/netgen/ellipticcyl.geo +share/examples/netgen/extrusion.geo +share/examples/netgen/fichera.geo +share/examples/netgen/frame.step +share/examples/netgen/hinge.stl +share/examples/netgen/lshape3d.geo +share/examples/netgen/manyholes.geo +share/examples/netgen/manyholes2.geo +share/examples/netgen/matrix.geo +share/examples/netgen/ortho.geo +share/examples/netgen/part1.stl +share/examples/netgen/period.geo +share/examples/netgen/py_tutorials/ +share/examples/netgen/py_tutorials/exportNeutral.py +share/examples/netgen/py_tutorials/mesh.py +share/examples/netgen/py_tutorials/shaft.geo +share/examples/netgen/revolution.geo +share/examples/netgen/screw.step +share/examples/netgen/sculpture.geo +share/examples/netgen/shaft.geo +share/examples/netgen/shell.geo +share/examples/netgen/sphere.geo +share/examples/netgen/sphereincube.geo +share/examples/netgen/square.in2d +share/examples/netgen/squarecircle.in2d +share/examples/netgen/squarehole.in2d +share/examples/netgen/torus.geo +share/examples/netgen/trafo.geo +share/examples/netgen/twobricks.geo +share/examples/netgen/twocubes.geo +share/examples/netgen/twocyl.geo
netgen-mesher.tar.gz
Description: application/tar-gz