[Buildroot] [PATCH v5 06/14] package/qt6/qt6shadertools: new package

Yann E. MORIN yann.morin.1998 at free.fr
Sun Jun 2 08:24:52 UTC 2024


Roy, All,

On 2024-06-02 00:48 +0200, Roy Kollen Svendsen spake thusly:
> I attempted to explain the host Qt6::Gui dependency in patch 02/14:
>     The Qt6::Gui module is needed when building the 'Qt Shader Baker' (qsb)
>     host tool. Qsb is needed for converting the Qt6 Vulkan GLSL source code to
>     platform specific shader languages which is then later copied to target.
>     For more details take a look at: [1]https://doc.qt.io/qt-6/
>     qtshadertools-overview.html and [2]https://doc.qt.io/qt-6/qshaderbaker.html

Ah, those explanations should belong to the commit that adds
qt6shadertools as well, then.

I'll do the duplication when applying (a bit later after coffee has
kicked in).

> In commit message 03/14 I wrote:
>     Qt Network is a required dependency of Qt Tools. Therefor we need a way to
>     enable the Qt Network module when building for host.

Ditto.

> In commit message 09/14 I explained why I added an option to enable the Testlib
> feature on host. You seemed to accept this explanation.

Yes.

> I added the blind host option for enabling the Qt Sql module to fix the
> following build failure:
> 
> CMake Error at /home/roy/src/buildroot-qt6-testing/buildroot/output/build/
> qt6base-6.7.0/cmake/QtToolHelpers.cmake:684 (message):
>   Failed to find the host tool "Qt6::qhelpgenerator".  It is part of the
>   Qt6ToolsTools package, but the package did not contain the tool.  Make sure
>   that the host module Tools was built with all features enabled (no
>   explicitly disabled tools).
> Call Stack (most recent call first):
>   /home/roy/src/buildroot-qt6-testing/buildroot/output/build/qt6base-6.7.0/
> cmake/QtToolHelpers.cmake:72 (qt_internal_find_tool)
>   src/assistant/qhelpgenerator/CMakeLists.txt:9 (qt_internal_add_tool)
>  
> I'll add this to commit message 05/14, if you want me to create a v6 patch set.

No need to resend for now, let's see if I can apply with your additional
explanations

Thanks!

Regards,
Yann E. MORIN.

> Best Regards,
> 
> Roy
> 
> 
> lør. 1. juni 2024 kl. 19:10 skrev Yann E. MORIN <[3]yann.morin.1998 at free.fr>:
> 
>     Roy, All,
> 
>     Thanks for your new iteration of this series.
> 
>     I was looking at applying it, but I have a comment about this patch: why
>     is the host qt6base required to have GUI support to build the target
>     qt6shadertools?
> 
>     That's a question Thomas already asked in a previous iteration:
>         [4]https://lore.kernel.org/buildroot/20240509164507.4682bee8@windsurf/
> 
>     but I could not see an explanation as a reply to Thomas, or in the
>     following versions of this series.
> 
>     Could you provide a little bit of an explanation? For example, does it
>     need a tool that is provided by qt6base only when the gui module is
>     enabled? Or something else?
> 
>     It does not need to be a long explanation, just a sentence or maybe two;
>     we just need to understand the dependency.
> 
>     Same goes for the qt6tols and its dependencies on HOST_QT6BASE_NETWORK
>     and HOST_QT6BASE_SQL, and other such dependencies.
> 
>     Thank you!
> 
>     Regards,
>     Yann E. MORIN.
> 
>     On 2024-05-31 17:13 +0200, Roy Kollen Svendsen spake thusly:
>     > Signed-off-by: Roy Kollen Svendsen <[5]
>     roy.kollen.svendsen at akersolutions.com>
>     > ---
>     > Changes v4 -> v5:
>     >   - Bump to v6.7.1
>     >
>     >  package/qt6/Config.in                         |  1 +
>     >  package/qt6/qt6shadertools/Config.in          | 13 +++++++
>     >  .../qt6/qt6shadertools/qt6shadertools.hash    | 10 +++++
>     >  package/qt6/qt6shadertools/[6]qt6shadertools.mk  | 39
>     +++++++++++++++++++
>     >  4 files changed, 63 insertions(+)
>     >  create mode 100644 package/qt6/qt6shadertools/Config.in
>     >  create mode 100644 package/qt6/qt6shadertools/qt6shadertools.hash
>     >  create mode 100644 package/qt6/qt6shadertools/[7]qt6shadertools.mk
>     >
>     > diff --git a/package/qt6/Config.in b/package/qt6/Config.in
>     > index 276a0217ab..b7e95a6885 100644
>     > --- a/package/qt6/Config.in
>     > +++ b/package/qt6/Config.in
>     > @@ -47,6 +47,7 @@ source "package/qt6/qt6base/Config.in"
>     >  source "package/qt6/qt6core5compat/Config.in"
>     >  source "package/qt6/qt6serialbus/Config.in"
>     >  source "package/qt6/qt6serialport/Config.in"
>     > +source "package/qt6/qt6shadertools/Config.in"
>     >  source "package/qt6/qt6svg/Config.in"
>>     >  endif
>     > diff --git a/package/qt6/qt6shadertools/Config.in b/package/qt6/
>     qt6shadertools/Config.in
>     > new file mode 100644
>     > index 0000000000..1b47dc6132
>     > --- /dev/null
>     > +++ b/package/qt6/qt6shadertools/Config.in
>     > @@ -0,0 +1,13 @@
>     > +config BR2_PACKAGE_QT6SHADERTOOLS
>     > +     bool "qt6shadertools"
>     > +     select BR2_PACKAGE_HOST_QT6BASE_GUI
>     > +     select BR2_PACKAGE_QT6BASE_GUI
>     > +     help
>     > +       Qt is a cross-platform application and UI framework for
>     > +       developers using C++.
>     > +
>     > +       The Qt Shader Tools module builds on the SPIR-V Open
>     > +       Source Ecosystem as described at the Khronos SPIR-V web
>     > +       site.
>     > +
>     > +       [8]https://doc.qt.io/qt-6/qtshadertools-index.html
>     > diff --git a/package/qt6/qt6shadertools/qt6shadertools.hash b/package/qt6
>     /qt6shadertools/qt6shadertools.hash
>     > new file mode 100644
>     > index 0000000000..8e80d64851
>     > --- /dev/null
>     > +++ b/package/qt6/qt6shadertools/qt6shadertools.hash
>     > @@ -0,0 +1,10 @@
>     > +# Hash from: [9]https://download.qt.io/official_releases/qt/6.7/6.7.1/
>     submodules/qtshadertools-everywhere-src-6.7.1.tar.xz.sha256
>     > +sha256 
>     e585e3a985b2e2bad8191a84489a04e69c3defc6022a8e746aad22a1f17910c2 
>     qtshadertools-everywhere-src-6.7.1.tar.xz
>     > +
>     > +# Hashes for license files:
>     > +sha256 
>     9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce  LICENSES/
>     BSD-3-Clause.txt
>     > +sha256 
>     110535522396708cea37c72a802c5e7e81391139f5f7985631c93ef242b206a4  LICENSES/
>     GFDL-1.3-no-invariants-only.txt
>     > +sha256 
>     8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643  LICENSES/
>     GPL-2.0-only.txt
>     > +sha256 
>     8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903  LICENSES/
>     GPL-3.0-only.txt
>     > +sha256 
>     da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768  LICENSES/
>     LGPL-3.0-only.txt
>     > +sha256 
>     40678d338ce53cd93f8b22b281a2ecbcaa3ee65ce60b25ffb0c462b0530846b2  LICENSES/
>     Qt-GPL-exception-1.0.txt
>     > diff --git a/package/qt6/qt6shadertools/[10]qt6shadertools.mk b/package/
>     qt6/qt6shadertools/[11]qt6shadertools.mk
>     > new file mode 100644
>     > index 0000000000..108f409380
>     > --- /dev/null
>     > +++ b/package/qt6/qt6shadertools/[12]qt6shadertools.mk
>     > @@ -0,0 +1,39 @@
>     > +########################################################################
>     ########
>     > +#
>     > +# qt6shadertools
>     > +#
>     > +########################################################################
>     ########
>     > +
>     > +QT6SHADERTOOLS_VERSION = $(QT6_VERSION)
>     > +QT6SHADERTOOLS_SITE = $(QT6_SITE)
>     > +QT6SHADERTOOLS_SOURCE = qtshadertools-$(QT6_SOURCE_TARBALL_PREFIX)-$
>     (QT6SHADERTOOLS_VERSION).tar.xz
>     > +QT6SHADERTOOLS_INSTALL_STAGING = YES
>     > +QT6SHADERTOOLS_SUPPORTS_IN_SOURCE_BUILD = NO
>     > +
>     > +QT6SHADERTOOLS_CMAKE_BACKEND = ninja
>     > +
>     > +QT6SHADERTOOLS_LICENSE = \
>     > +     GPL-2.0+ or LGPL-3.0, \
>     > +     GPL-3.0, GFDL-1.3 no invariants (docs)
>     > +
>     > +QT6SHADERTOOLS_LICENSE_FILES = \
>     > +     LICENSES/GPL-2.0-only.txt \
>     > +     LICENSES/GPL-3.0-only.txt \
>     > +     LICENSES/LGPL-3.0-only.txt \
>     > +     LICENSES/GFDL-1.3-no-invariants-only.txt
>     > +
>     > +QT6SHADERTOOLS_CONF_OPTS = \
>     > +     -DBUILD_WITH_PCH=OFF \
>     > +     -DQT_BUILD_EXAMPLES=OFF \
>     > +     -DQT_BUILD_TESTS=OFF
>     > +
>     > +QT6SHADERTOOLS_DEPENDENCIES = \
>     > +     host-pkgconf \
>     > +     qt6base \
>     > +     host-qt6shadertools
>     > +
>     > +HOST_QT6SHADERTOOLS_DEPENDENCIES = \
>     > +     host-qt6base
>     > +
>     > +$(eval $(cmake-package))
>     > +$(eval $(host-cmake-package))
>     > --
>     > 2.45.1
>     >
>     > _______________________________________________
>     > buildroot mailing list
>     > [13]buildroot at buildroot.org
>     > [14]https://lists.buildroot.org/mailman/listinfo/buildroot
> 
>     --
>     .-----------------.--------------------.------------------.--------------------.
>     |  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics'
>     conspiracy: |
>     | +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___           
>        |
>     | +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is
>     no  |
>     | [15]http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v 
>      conspiracy.  |
>     '------------------------------^-------^------------------^
>     --------------------'
> 
> 
> References:
> 
> [1] https://doc.qt.io/qt-6/qtshadertools-overview.html
> [2] https://doc.qt.io/qt-6/qshaderbaker.html
> [3] mailto:yann.morin.1998 at free.fr
> [4] https://lore.kernel.org/buildroot/20240509164507.4682bee8@windsurf/
> [5] mailto:roy.kollen.svendsen at akersolutions.com
> [6] http://qt6shadertools.mk/
> [7] http://qt6shadertools.mk/
> [8] https://doc.qt.io/qt-6/qtshadertools-index.html
> [9] https://download.qt.io/official_releases/qt/6.7/6.7.1/submodules/qtshadertools-everywhere-src-6.7.1.tar.xz.sha256
> [10] http://qt6shadertools.mk/
> [11] http://qt6shadertools.mk/
> [12] http://qt6shadertools.mk/
> [13] mailto:buildroot at buildroot.org
> [14] https://lists.buildroot.org/mailman/listinfo/buildroot
> [15] http://ymorin.is-a-geek.org/

> _______________________________________________
> buildroot mailing list
> buildroot at buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot


-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'


More information about the buildroot mailing list