2025-01-21T14:44:59+0000 Stuart Henderson <s...@spacehopper.org>: > On 2025/01/17 14:57, Johannes Thyssen Tishman wrote: > > 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. > > Definitely best to avoid renaming the python module, that will be > much harder to handle in another port that wants to use it. > > For files which are user-focussed (docs etc), I would prefer if they > do match up with the base of the pkgname (especially having files > from both netgen and netgen-mesher in share/doc/netgen seems a bit > confusing).
Understood, thanks Stuart. Instead of using NG_INSTALL_SUFFIX and then restoring the python module name, I just amended the patches already needed to install the docs and examples/tutorials in the right directory. Please find an updated tarball attached and, for convenience, a diff with the changes. diff /usr/ports/mystuff path + /usr/ports/mystuff commit - b34e583d5d096b64664024b5c814cfd1bf5aea78 blob - 2f026a3d53eaf2355b4cd07fac8c42cc4caef34b file + cad/netgen-mesher/patches/patch-doc_CMakeLists_txt --- cad/netgen-mesher/patches/patch-doc_CMakeLists_txt +++ cad/netgen-mesher/patches/patch-doc_CMakeLists_txt @@ -3,4 +3,4 @@ Index: doc/CMakeLists.txt +++ 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) ++INSTALL(FILES ng4.pdf DESTINATION ${NG_INSTALL_DIR_RES}/doc/${NG_INSTALL_SUFFIX}-mesher COMPONENT netgen_doc) commit - b34e583d5d096b64664024b5c814cfd1bf5aea78 blob - 7bee0253dd023f150ae4a818fbe186f3efb863b8 file + cad/netgen-mesher/patches/patch-py_tutorials_CMakeLists_txt --- cad/netgen-mesher/patches/patch-py_tutorials_CMakeLists_txt +++ cad/netgen-mesher/patches/patch-py_tutorials_CMakeLists_txt @@ -5,6 +5,6 @@ Index: py_tutorials/CMakeLists.txt 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 ++ DESTINATION ${NG_INSTALL_DIR_RES}/examples/${NG_INSTALL_SUFFIX}-mesher/py_tutorials COMPONENT netgen_tutorial ) commit - b34e583d5d096b64664024b5c814cfd1bf5aea78 blob - b26a6e4cdf08ea27209db32125f031d73bae8697 file + cad/netgen-mesher/patches/patch-tutorials_CMakeLists_txt --- cad/netgen-mesher/patches/patch-tutorials_CMakeLists_txt +++ cad/netgen-mesher/patches/patch-tutorials_CMakeLists_txt @@ -6,6 +6,6 @@ Index: tutorials/CMakeLists.txt 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} ++ DESTINATION ${NG_INSTALL_DIR_RES}/examples/${NG_INSTALL_SUFFIX}-mesher COMPONENT netgen_tutorial ) commit - b34e583d5d096b64664024b5c814cfd1bf5aea78 blob - 4d1c0213bd4e4e5806598f1082946f727e66b075 file + cad/netgen-mesher/pkg/PLIST --- cad/netgen-mesher/pkg/PLIST +++ cad/netgen-mesher/pkg/PLIST @@ -274,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/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 +share/doc/netgen-mesher/ +share/doc/netgen-mesher/ng4.pdf +share/examples/netgen-mesher/ +share/examples/netgen-mesher/boundarycondition.geo +share/examples/netgen-mesher/boxcyl.geo +share/examples/netgen-mesher/circle_on_cube.geo +share/examples/netgen-mesher/cone.geo +share/examples/netgen-mesher/cube.geo +share/examples/netgen-mesher/cubeandring.geo +share/examples/netgen-mesher/cubeandspheres.geo +share/examples/netgen-mesher/cubemcyl.geo +share/examples/netgen-mesher/cubemsphere.geo +share/examples/netgen-mesher/cylinder.geo +share/examples/netgen-mesher/cylsphere.geo +share/examples/netgen-mesher/ellipsoid.geo +share/examples/netgen-mesher/ellipticcyl.geo +share/examples/netgen-mesher/extrusion.geo +share/examples/netgen-mesher/fichera.geo +share/examples/netgen-mesher/frame.step +share/examples/netgen-mesher/hinge.stl +share/examples/netgen-mesher/lshape3d.geo +share/examples/netgen-mesher/manyholes.geo +share/examples/netgen-mesher/manyholes2.geo +share/examples/netgen-mesher/matrix.geo +share/examples/netgen-mesher/ortho.geo +share/examples/netgen-mesher/part1.stl +share/examples/netgen-mesher/period.geo +share/examples/netgen-mesher/py_tutorials/ +share/examples/netgen-mesher/py_tutorials/exportNeutral.py +share/examples/netgen-mesher/py_tutorials/mesh.py +share/examples/netgen-mesher/py_tutorials/shaft.geo +share/examples/netgen-mesher/revolution.geo +share/examples/netgen-mesher/screw.step +share/examples/netgen-mesher/sculpture.geo +share/examples/netgen-mesher/shaft.geo +share/examples/netgen-mesher/shell.geo +share/examples/netgen-mesher/sphere.geo +share/examples/netgen-mesher/sphereincube.geo +share/examples/netgen-mesher/square.in2d +share/examples/netgen-mesher/squarecircle.in2d +share/examples/netgen-mesher/squarehole.in2d +share/examples/netgen-mesher/torus.geo +share/examples/netgen-mesher/trafo.geo +share/examples/netgen-mesher/twobricks.geo +share/examples/netgen-mesher/twocubes.geo +share/examples/netgen-mesher/twocyl.geo
netgen-mesher.tar.gz
Description: application/tar-gz