#51619: qt5.depends_component procedure -------------------------+-------------------------------- Reporter: rjvbertin@… | Owner: macports-tickets@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: ports | Version: Keywords: | Port: qt5, qt5-kde -------------------------+-------------------------------- This is a fork of ticket #50966 I would like to request the introduction of a procedure to facilitate declaring dependencies on specific Qt5 components in the Qt5 PortGroup, which would become almost a necessity once my `qt5-kde` port is committed. Such a procedure would make it possible for any port to depend on qt5 or qt5-kde (or qt5-devel or qt5-kde-devel) without having to figure out individually how to set up the path: style dependencies. This procedure would remain in the wrapper/header Qt5 PortGroup once `port:qt5-kde` is committed, and come after the actual Qt5 PortGroup payload has been included. Examples: {{{ qt5.depends_component qtbase qtsvg qt3d }}} would pull in the qtbase, qtsvg and qt3d subports from `port:qt5` (or `port:qt5-kde` if that's the one installed). or simply {{{ qt5.depends_component qt5 qtwebengine }}} would indicate a dependency on `port:qt5` and `port:qt5-qtwebengine` (or `port:qt5-kde` and `port:qt5-kde-qtwebengine`). Being able to depend on the main port as a virtual component is required for ports where the dependency information from the Qt5 PortGroup is overridden, like it is in `port:py-pyqt5`. The procedure also provides support for an *optional* table of dependency patterns that can be declared in the specific PortGroup (cf. qt5_component_lib in qt5-kde-1.0.tcl in #50966); this is the basis for depending transparently on the subports of either `qt5` or `qt5-devel`. I've been testing this procedure quite extensively with the new `py-pyqt5` port. NB: my KF5 PortGroup provides a comparable `kf5.depends_frameworks function which serves a comparable role (and makes dependency declarations quite a bit more readable). -- Ticket URL: <https://trac.macports.org/ticket/51619> MacPorts <https://www.macports.org/> Ports system for OS X