Hi everyone, I'm currently working on porting the following three FreeCAD dependencies:
PySide6: Python Qt bindings for Qt 6 PySide6-tools: PySide6 development tools Shiboken6: Python binding generator for C++ libraries Since their sources are provided as a single tarball, I think they should be ported as sub-packages of one port with MULTI_PACKAGES. However this is the first time I'm trying to use this feature and I'm struggling to make it work. I initially made a separate port for each of them by adapting ${WRKSRC} so that I could tell their *_DEPENDS, WANTLIBs and PLISTs apart. Now that all three ports are finished, I've merged them into one and suffixed their specific COMMENT, WANTLIB and {LIB,RUN}_DEPENDS accordingly with a sub-package name. The problem is that the PySide6 (-main) sub-package depends on the SHARED_LIBS installed by the Shiboken6 (-shiboken) sub-package, which of course is throwing me an error. I know that library interdependencies between sub-packages are possible since bsd.port.mk(5) mentions the following: > ... any LIB_DEPENDS-sub that references the current port will be > ignored as a build dependency, in order to avoid recursion. ... So how can I make this work? Is it possible to have a sub-package depend on another sub-package SHARED_LIBS? FreeBSD has separate ports for each of these dependencies[1][2][3], but for example the Arch Linux port seems to be only one with multiple packages[4]. Another issue that I'm having is that the Shiboken6 port installs both libraries and a Python module, so I'm not sure if this should be split as well. What is the convention in this kind of case? Lastly, when running 'make port-lib-depends-check' for both Shiboken6 and PySide6-tools, I'm getting a warning like the following: > Missing lib: clang.8 (/usr/local/bin/shiboken6) (NOT REACHABLE) I think this is due to clang being a runtime dependency for this ports. I've had a similar issue in the past with another port and, if I remember correctly, this was due to the library not being present in LIB_DEPENDS. However here I've tried adding devel/llvm/13 to LIB_DEPENDS and using the lang/clang module and I'm still getting the error. Any idea what could be causing this? Apologies in advance for the many questions. I've attached both the combined port and the individual ones in case anyone wants to check them out. I'd be very grateful for any guidance or feedback anyone could provide. Thank you. Kind regards, Johannes Thyssen Tishman [1] https://github.com/freebsd/freebsd-ports/tree/main/devel/pyside6 [2] https://github.com/freebsd/freebsd-ports/tree/main/devel/pyside6-tools [3] https://github.com/freebsd/freebsd-ports/tree/main/devel/shiboken6 [4] https://gitlab.archlinux.org/archlinux/packaging/packages/pyside6/-/blob/main/PKGBUILD?ref_type=heads
individual.tar.gz
Description: GNU Zip compressed data
combined.tar.gz
Description: GNU Zip compressed data