On 2023/09/20 09:54, Johannes Thyssen Tishman wrote: > Hi Stuart, > > > What is more of a problem for the all-in-one approach is that building > > some parts requires finding python modules done as part of the shiboken > > build, and the way that the build is being run in this port, that > > doesn't work, it's not passing in a PYTHONPATH that allows it to find > > them. > > > > It seems that the build is intended to be run by their python setup.py > > scripts which then call cmake - whereas you're calling cmake directly, > > which might be reponsible for this. > > You're probably right. I used the FreeBSD port as a reference and > they seem to be calling cmake directly (I think). How can I use the > setup.py script as intended without turning the port into a python > module? MODPY_PYBUILD? Or do I have to override the do-build target?
It would need to be overridden, I tried it a few ways and eventually hit on the approach in the attached tar. It's still a bit hacked together and some parts done in a quick-and-dirty way but it does at least start building ok (still running). MODPY_PYBUILD is mostly for ports using pyproject.toml files, though it can also work with standard setuptools-based builds. It might be possible to get pyside6 to work with that but it's not clear how to pass command-line arguments to setup.py with that, and pyside seems to need that (at least with how we install qtpaths6 outside of the path). There's another problem with running the build from python in that there's no easy way to pass through the cmake build flags from cmake.port.mk that set things up for a ports build, that needs looking at too (not done in my tar). > > Anyway separate ports probably seems like less of a headache to me > > for this. > > > > I would probably group them under one dir, x11/pyside6 (not devel/), > > with subdirs for the different things and share common parts via > > x11/pyside6/Makefile.inc > > > > ports/x11/pyside6/pyside6 > > ports/x11/pyside6/tools > > ports/x11/pyside6/shiboken > > This indeed seems like a less cumbersome yet organized solution. > Would you prefer this solution using cmake directly even if the > all-in-one approach works when using the setup.py script? > > > check-lib-depends doesn't properly handle libraries in subdirs. > > Ah I see, so I assume I can safely ignore this? Should I perhaps > make a comment somewhere about it? Also, for the clang runtime > dependency, is the lang/clang module enough or do I need to add > devel/llvm/13 to LIB_DEPENDS? no idea, the split-llvm stuff is very new (and mainly there to make it easier to work on getting base ready for the newer version IIUC), I haven't looked into it much (and I would try to avoid it unless absolutely required for the software). > As usual, thanks for the very informative feedback Stuart and for > taking the time to look into the ports.
pyside6.tgz
Description: application/tar-gz
