[MacPorts] #51619: qt5.depends_component procedure
MacPorts
noreply at macports.org
Tue Jun 14 05:56:00 PDT 2016
#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
More information about the macports-tickets
mailing list