Uploaded image for project: 'Qt for Python'
  1. Qt for Python
  2. PYSIDE-502

Optional Qt Build Dependencies Incorrectly Listed as Mandatory

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P5: Not important
    • 5.6, 6.0
    • 5.6
    • PySide
    • None
    • Gentoo Linux / Python 2.7 / Qt 5.6, 5.7.1

    Description

      What we've got here is failure to communicate optional dependencies. ↙ said in lazy Texas drawl

      Fortunately, this is a minor failure. In both the 5.6 and dev branches of PySide2, the PySide2/CMakeLists.txt makefile incorrectly lists numerous optional Qt dependencies as mandatory. Assuming PySide2 behaves similarly to both PySide1 and PyQt5 with respect to these dependencies, all Qt dependencies except Qt5Core and Qt5Xml should probably be listed as optional. (Possibly Qt5Xml as well.)

      Specifically, PySide2/CMakeLists.txt lists the Qt5Concurrent, Qt5Gui, Qt5Network, Qt5PrintSupport, Qt5Sql, Qt5Test, and Qt5Widgets dependencies as mandatory rather than optional on lines 117 through 142. The offending block reads:

      CHECK_PACKAGE_FOUND(Qt5Core)
      CHECK_PACKAGE_FOUND(Qt5Concurrent)
      CHECK_PACKAGE_FOUND(Qt5Gui)
      CHECK_PACKAGE_FOUND(Qt5Widgets)
      CHECK_PACKAGE_FOUND(Qt5PrintSupport)
      CHECK_PACKAGE_FOUND(Qt5Xml)
      CHECK_PACKAGE_FOUND(Qt5XmlPatterns opt)
      CHECK_PACKAGE_FOUND(Qt5Svg opt)
      CHECK_PACKAGE_FOUND(Qt5PrintSupport)
      CHECK_PACKAGE_FOUND(Qt5Sql)
      CHECK_PACKAGE_FOUND(Qt5Designer opt)
      CHECK_PACKAGE_FOUND(Qt5UiTools opt)
      CHECK_PACKAGE_FOUND(Qt5Test)
      CHECK_PACKAGE_FOUND(Qt5Network)
      CHECK_PACKAGE_FOUND(Qt5WebKit opt)
      CHECK_PACKAGE_FOUND(Qt5WebKitWidgets opt)
      CHECK_PACKAGE_FOUND(Qt5Script opt)
      CHECK_PACKAGE_FOUND(Qt5ScriptTools opt)
      CHECK_PACKAGE_FOUND(Qt5Help opt)
      CHECK_PACKAGE_FOUND(Qt5Multimedia opt)
      CHECK_PACKAGE_FOUND(Qt5Qml opt)
      CHECK_PACKAGE_FOUND(Qt5Quick opt)
      CHECK_PACKAGE_FOUND(Qt5QuickWidgets opt)
      CHECK_PACKAGE_FOUND(Qt5WebChannel opt)
      CHECK_PACKAGE_FOUND(Qt5WebEngineWidgets opt)
      CHECK_PACKAGE_FOUND(Qt5WebSockets opt)
      

      The above block should instead probably read:

      CHECK_PACKAGE_FOUND(Qt5Core)
      CHECK_PACKAGE_FOUND(Qt5Concurrent opt)
      CHECK_PACKAGE_FOUND(Qt5Gui opt)
      CHECK_PACKAGE_FOUND(Qt5Widgets opt)
      CHECK_PACKAGE_FOUND(Qt5PrintSupport opt)
      CHECK_PACKAGE_FOUND(Qt5Xml)
      CHECK_PACKAGE_FOUND(Qt5XmlPatterns opt)
      CHECK_PACKAGE_FOUND(Qt5Svg opt)
      CHECK_PACKAGE_FOUND(Qt5PrintSupport opt)
      CHECK_PACKAGE_FOUND(Qt5Sql opt)
      CHECK_PACKAGE_FOUND(Qt5Designer opt)
      CHECK_PACKAGE_FOUND(Qt5UiTools opt)
      CHECK_PACKAGE_FOUND(Qt5Test opt)
      CHECK_PACKAGE_FOUND(Qt5Network opt)
      CHECK_PACKAGE_FOUND(Qt5WebKit opt)
      CHECK_PACKAGE_FOUND(Qt5WebKitWidgets opt)
      CHECK_PACKAGE_FOUND(Qt5Script opt)
      CHECK_PACKAGE_FOUND(Qt5ScriptTools opt)
      CHECK_PACKAGE_FOUND(Qt5Help opt)
      CHECK_PACKAGE_FOUND(Qt5Multimedia opt)
      CHECK_PACKAGE_FOUND(Qt5Qml opt)
      CHECK_PACKAGE_FOUND(Qt5Quick opt)
      CHECK_PACKAGE_FOUND(Qt5QuickWidgets opt)
      CHECK_PACKAGE_FOUND(Qt5WebChannel opt)
      CHECK_PACKAGE_FOUND(Qt5WebEngineWidgets opt)
      CHECK_PACKAGE_FOUND(Qt5WebSockets opt)
      

      Thus concludes another negligible issue diverting precious developer resources away from mission-critical crises in the codebase. As ever, thanks for the valiant War on Bugs.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            ctismer Christian Tismer
            leycec Cecil Curry
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes