[Midnightbsd-cvs] [MidnightBSD/mports] c67e03: Fix the build of the FreeCAD dependency chain on 4...
Lucas Holt
noreply at github.com
Tue Sep 8 08:52:48 EDT 2026
Branch: refs/heads/master
Home: https://github.com/MidnightBSD/mports
Commit: c67e03abc289d6c95affb1dc521997162acbf307
https://github.com/MidnightBSD/mports/commit/c67e03abc289d6c95affb1dc521997162acbf307
Author: Lucas Holt <luke at foolishgames.com>
Date: 2026-09-08 (Tue, 08 Sep 2026)
Changed paths:
M Mk/extensions/mpi.mk
M devel/pybind11/Makefile
M devel/pyside6-tools/Makefile
M devel/pyside6/Makefile
M devel/shiboken6/Makefile
M math/py-matplotlib/Makefile
M math/py-matplotlib/files/patch-setup.cfg
M math/py-matplotlib/pkg-plist
A math/vtk9/files/patch-ThirdParty_diy2_vtkdiy2_include_vtkdiy2_fmt_format.h
A math/vtk9/files/patch-Utilities_octree_octree_octree__node.txx
Log Message:
-----------
Fix the build of the FreeCAD dependency chain on 4.0 with Python 3.12 (#890)
Build fixes for the ports that cad/freecad pulls in, found while working
on #862. None of these are OCCT-specific; they were all blocking on a
current 4.0 system with the Python 3.12 default.
- **Mk/extensions/mpi.mk**: OpenMPI 5 dropped libmpi_cxx.so, so the
openmpi dependency check never passed. Check libmpi_mpifh.so (as FreeBSD
does).
- **math/vtk9**: two clang 19 build fixes (bundled fmt 6.0 `char8_t` vs
libc++ 19, and an octree template typo). Fixed upstream in 9.3+.
- **devel/shiboken6**: depend on math/py-numpy like FreeBSD instead of
py-numpy1, which conflicts with py-numpy and therefore with
py-matplotlib. Also fix the doubled staging path. PORTREVISION bump.
- **devel/pyside6**: drop the bsd.mport.options.mk include. Its only use
was an ARCH check that is always true here, and the double inclusion of
bsd.mport.mk prepends DESTDIR to LOCALBASE twice during fake for ninja
ports, breaking `${PYTHON_CMD}` in post-install.
- **devel/pyside6-tools**: `${STAGEDIR}${PREFIX}` doubled the staging
prefix in post-install.
- **devel/pybind11**: pybind11.pc shipped with an empty prefix
(consumers got `-I/include`); set `prefix_for_pc_file`. PORTREVISION
bump.
- **math/py-matplotlib**: duplicate `[egg_info]` from the port's
setup.cfg patch, examples path for 3.8, and a plist macro fix.
PORTREVISION bump.
Verified by building and staging each port, then building cad/freecad
1.1.3 on top (see the OCCT 8 PR).
Note for the maintainer: the pyside6 change works around a framework
issue in `Mk/bsd.mport.mk`. The LOCALBASE_REL / LOCALBASE lines near the
top are not guarded against double inclusion, so any port that includes
both bsd.mport.options.mk and bsd.port.mk gets DESTDIR prepended twice
during fake when DESTDIR is passed as a make argument (ninja-based
ports). A two-line `.if !defined(LOCALBASE_REL)` guard would fix it
properly; I did not touch the core file.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
https://claude.ai/code/session_01QppyajU21HE92jbfdUgLSv
## Summary by Sourcery
Fix the FreeCAD dependency chain for current 4.0 systems using Python
3.12.
Bug Fixes:
- Fix OpenMPI dependency detection and staging-path errors across the
FreeCAD dependency chain.
- Make VTK 9 build successfully with Clang 19 and libc++ 19.
- Correct Python package dependencies and metadata for Shiboken6,
pybind11, and Matplotlib.
- Prevent duplicate framework path handling in PySide6 and PySide6-tools
fake installs.
Tests:
- Verify that all affected ports build and stage successfully, followed
by a FreeCAD 1.1.3 build.
Signed-off-by: Lucas Holt <luke at foolishgames.com>
Co-authored-by: Claude Fable 5.1 <noreply at anthropic.com>
To unsubscribe from these emails, change your notification settings at https://github.com/MidnightBSD/mports/settings/notifications
More information about the Midnightbsd-cvs
mailing list