Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-73760

Move third-party components to dedicated package manager

    XMLWordPrintable

Details

    • User Story
    • Resolution: Unresolved
    • P3: Somewhat important
    • None
    • None
    • Build System

    Description

      Motivation

      Qt currently bundles a long list of Third-Party Components inside our git repositories. This is mostly for convenience, because there's no easy cross-platform way to retrieve and compile these.

      Anyhow, this means that Third-Party components - even if critical - only get updated as part of Qt, and that we are struggling with maintaining these ourselves.

      Instead, we should try to leverage one of the known C++ package managers out there, and use that to provide and/or build Third-Party components. The current plan is to tackle this as part of the CMake port.

      Requirements

      Offline builds

      We cannot expect an online connection when Qt is built. It must be possible to fetch dependencies separately.

      System Packages

      For Linux distributions it must be still possible to use only system libraries.

      Version Pinning

      While regular updates for upstream recipes is nice, we still need a way to fix dependencies for reproducible builds.

      Own Hosting

      For the same reason we need to be able to reproduce builds even without any online servers that's not under our control. That is, this probably means we have to be able to host our own recipes and server.

      Binary Builds

      To avoid excessive rebuilds the package manager should have the option to share binary builds.

      Custom patches

      Even if we there are active upstream recipes, we need an easy way to apply custom patches on short notice.

      Package Managers

      The most popular alternatives right now are:

      • Conan
      • vcpkg
      • hunter

      Attachments

        Issue Links

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

          Activity

            People

              kkohne Kai Köhne
              kkohne Kai Köhne
              Votes:
              3 Vote for this issue
              Watchers:
              17 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes