2025-01-21T14:44:59+0000 Stuart Henderson <[email protected]>: > On 2025/01/17 14:57, Johannes Thyssen Tishman wrote: > > 2025-01-16T15:07:37+0000 Stuart Henderson <[email protected]>: > > > On 2025/01/15 21:49, Johannes Thyssen Tishman wrote: > > > > 2025-01-15T19:10:23Z Ian Darwin <[email protected]>: > > > > > > > > > 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
