this is OK sthen if someone would like to import (or I can do so
with another OK).

On 2025/01/21 16:02, Johannes Thyssen Tishman wrote:
> 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


Reply via email to