[MacPorts] #49780: provide an interface for ports to depend on Qt5 components

MacPorts noreply at macports.org
Mon Nov 23 08:13:48 PST 2015


#49780: provide an interface for ports to depend on Qt5 components
--------------------------+--------------------------------
  Reporter:  rjvbertin@…  |      Owner:  macports-tickets@…
      Type:  enhancement  |     Status:  new
  Priority:  Normal       |  Milestone:
 Component:  ports        |    Version:
Resolution:               |   Keywords:
      Port:  qt5/qt5-kde  |
--------------------------+--------------------------------

Comment (by rjvbertin@…):

 Replying to [comment:2 ctreleaven@…]:
 > Can we back up a bit?

 If only we could ...

 > I'm only familiar with Qt to the extent that the main port I support
 (mythtv) relies on Qt.  What are these "individual Qt components" that you
 wish to make optional?  Do you have a list?

 See https://www.macports.org/ports.php?by=name&substr=qt5 (or
 https://trac.macports.org/browser/trunk/dports/aqua/qt5/Portfile, but that
 one throws an error for me).

 Note that *I* do not wish to split up Qt5 like that. It's the more-or-less
 suggested way of installing Qt advocates themselves, though evidently
 their toplevel build system still builds and installs everything if you
 let it.

 Read my post: I have decided against splitting up my own port. It only
 provides a few subports correspond that are not examples or docs:
 - QtWebengine : new and about as expensive to build as the rest of Qt5
 - the X11/Xcb platform plugin
 - some database plugins (only 1 of which is actually provided through the
 main port, and I rolled the sqlite3 plugin back into the main port).

 > What is the motivation for NOT including them?

 Qt's motivation probably reads like this: Linux distributions were already
 splitting things up so users don't need to install more than they need,
 and they have a point so we'll make it easier for them.

 >I think there are two considerations that point toward including all non-
 conflicting components in a default installation of Qt:
 >
 > 1) MacPorts philosophy has generally been to include all reasonable
 components unless such inclusion massively inflates the resulting port
 with software that is not required by most users.  Is that the case with
 Qt5?  How much bigger is the pre-compiled archive for the mostly-inclusive
 package v. the base package you've proposed.

 I agree, and that's what led to my decision to do things as outlined
 above. As a result, my qt5-kde port installs all components qt4-mac did
 and does, plus a few newer, small components that aren't expensive to
 build.

 You'd have to ask mcalhoun for the numbers. I don't really intend to
 install the mainstream Qt5 port as long as I can get away with it. I've
 been running my own Qt5 port since I made it co-installable with the Qt4
 one (which I gave that treatment first), meaning since Feb. or March of
 this year. As a result I probably have more Qt5 dependents than most other
 MacPorts users, and since neither of the 2 maintainers of the mainstream
 Qt ports was willing at least to consider my install layout *), it is
 (probably) not trivial to swap mine and their ports for testing.

 > 2) How is the Qt project packaging Qt5?  For Qt4, the download from
 their site was pretty much all-encompassing.  If Qt5 is the same, what is
 the compelling reason for MacPorts to Qt5 in bits and pieces?

 The download is still a single monolithic tarball.

 *) Layout: I realised very early in the process of making the ports co-
 installable that only minimal changes were required to make that happen.
 Basically, everything that was installed under ${prefix}/share was already
 in qt4 and qt5 directories respectively, so could remain in place. Both
 michaelld and mcalhoun decided to move everything into an all-encompassing
 prefix under libexec, despite the extra work and risk for breakage that
 represented.

-- 
Ticket URL: <https://trac.macports.org/ticket/49780#comment:3>
MacPorts <https://www.macports.org/>
Ports system for OS X


More information about the macports-tickets mailing list