[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