* [Buildroot] [PATCH 1/1] package/qt6/qt6shadertools: new package
@ 2023-08-08 17:22 Jesse Van Gavere
2023-08-26 19:49 ` Thomas Petazzoni via buildroot
0 siblings, 1 reply; 4+ messages in thread
From: Jesse Van Gavere @ 2023-08-08 17:22 UTC (permalink / raw)
To: buildroot
Cc: Jesse Van Gavere, Samuel Martin, Jesse Van Gavere,
Thomas Petazzoni
Signed-off-by: Jesse Van Gavere <jesse.vangavere@scioteq.com>
---
package/qt6/Config.in | 1 +
package/qt6/qt6shadertools/Config.in | 11 +++++
.../qt6/qt6shadertools/qt6shadertools.hash | 13 +++++
package/qt6/qt6shadertools/qt6shadertools.mk | 47 +++++++++++++++++++
4 files changed, 72 insertions(+)
create mode 100644 package/qt6/qt6shadertools/Config.in
create mode 100644 package/qt6/qt6shadertools/qt6shadertools.hash
create mode 100644 package/qt6/qt6shadertools/qt6shadertools.mk
diff --git a/package/qt6/Config.in b/package/qt6/Config.in
index 3788caa6a3..335b0f4f39 100644
--- a/package/qt6/Config.in
+++ b/package/qt6/Config.in
@@ -46,6 +46,7 @@ if BR2_PACKAGE_QT6
source "package/qt6/qt6base/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..7b081fa330
--- /dev/null
+++ b/package/qt6/qt6shadertools/Config.in
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_QT6SHADERTOOLS
+ bool "qt6shadertools"
+ 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.
+
+ 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..803a083518
--- /dev/null
+++ b/package/qt6/qt6shadertools/qt6shadertools.hash
@@ -0,0 +1,13 @@
+# Hash from: https://download.qt.io/official_releases/qt/6.4/6.4.3/submodules/qtshadertools-everywhere-src-6.4.3.tar.xz.sha256
+sha256 c648b74ce3e769a20bd62792a589c540bceacfedf2f38fc7273d2c39782768f8 qtshadertools-everywhere-src-6.4.3.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
+sha256 c7d81f456bf5488fec8b2d249eec6b02e70bbdc353c373cd5a077e898345e943 src/3rdparty/SPIRV-Cross/KHRONOS-LICENSE.txt
+sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 src/3rdparty/SPIRV-Cross/LICENSE
+sha256 5b1050253c0b933016f0538bce3354bb062e42b4d59d1082c0d0f9eca9b439c7 src/3rdparty/glslang/LICENSE.txt
diff --git a/package/qt6/qt6shadertools/qt6shadertools.mk b/package/qt6/qt6shadertools/qt6shadertools.mk
new file mode 100644
index 0000000000..c088359546
--- /dev/null
+++ b/package/qt6/qt6shadertools/qt6shadertools.mk
@@ -0,0 +1,47 @@
+################################################################################
+#
+# 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-3.0-only WITH Qt-GPL-exception-1.0, \
+ GPL-2.0-only or LGPL-3.0-only, \
+ GFDL-1.3-no-invariants-only, \
+ Apache-2.0 or MIT, \
+ BSD-3-Clause, \
+ BSD-2-Clause, \
+ Apache-2.0, \
+ GPL-3.0-or-later WITH Bison-Exception-2.2
+
+QT6SHADERTOOLS_LICENSE_FILES = \
+ LICENSES/BSD-3-Clause.txt \
+ LICENSES/GFDL-1.3-no-invariants-only.txt \
+ LICENSES/GPL-2.0-only.txt \
+ LICENSES/GPL-3.0-only.txt \
+ LICENSES/LGPL-3.0-only.txt \
+ LICENSES/Qt-GPL-exception-1.0.txt \
+ src/3rdparty/SPIRV-Cross/KHRONOS-LICENSE.txt \
+ src/3rdparty/SPIRV-Cross/LICENSE \
+ src/3rdparty/glslang/LICENSE.txt
+
+QT6SHADERTOOLS_CONF_OPTS = \
+ -DBUILD_WITH_PCH=OFF \
+ -DQT_BUILD_EXAMPLES=OFF \
+ -DQT_BUILD_TESTS=OFF
+
+QT6SHADERTOOLS_DEPENDENCIES = \
+ host-pkgconf \
+ qt6base \
+ host-qt6shadertools
+
+$(eval $(cmake-package))
+$(eval $(host-cmake-package))
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [Buildroot] [PATCH 1/1] package/qt6/qt6shadertools: new package
2023-08-08 17:22 [Buildroot] [PATCH 1/1] package/qt6/qt6shadertools: new package Jesse Van Gavere
@ 2023-08-26 19:49 ` Thomas Petazzoni via buildroot
2023-08-26 20:04 ` Jesse Van Gavere
0 siblings, 1 reply; 4+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-08-26 19:49 UTC (permalink / raw)
To: Jesse Van Gavere; +Cc: Samuel Martin, Jesse Van Gavere, buildroot
Hello Jesse,
On Tue, 8 Aug 2023 19:22:31 +0200
Jesse Van Gavere <jesseevg@gmail.com> wrote:
> Signed-off-by: Jesse Van Gavere <jesse.vangavere@scioteq.com>
> ---
> package/qt6/Config.in | 1 +
> package/qt6/qt6shadertools/Config.in | 11 +++++
> .../qt6/qt6shadertools/qt6shadertools.hash | 13 +++++
> package/qt6/qt6shadertools/qt6shadertools.mk | 47 +++++++++++++++++++
> 4 files changed, 72 insertions(+)
> create mode 100644 package/qt6/qt6shadertools/Config.in
> create mode 100644 package/qt6/qt6shadertools/qt6shadertools.hash
> create mode 100644 package/qt6/qt6shadertools/qt6shadertools.mk
Thanks Jesse for your patch. It builds fine... but it doesn't install
anything. Indeed, it looks like qt6shadertools doesn't not
build/install anything when qt6base is not built with GUI support:
Skipping the build as the condition "TARGET Qt::Gui" is not met.
For the target package, it would be easy to fix. But for the host
qt6base package, the story is a bit different. Does qt6shadertools
really need GUI support in host-qt6base? If so, how did you test that
as nothing in Buildroot right now allows to enable GUI support in
host-qt6base?
Could you have a look into this, and send a v2?
Thanks a lot!
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Buildroot] [PATCH 1/1] package/qt6/qt6shadertools: new package
2023-08-26 19:49 ` Thomas Petazzoni via buildroot
@ 2023-08-26 20:04 ` Jesse Van Gavere
2023-08-31 21:54 ` Thomas Petazzoni via buildroot
0 siblings, 1 reply; 4+ messages in thread
From: Jesse Van Gavere @ 2023-08-26 20:04 UTC (permalink / raw)
To: Thomas Petazzoni; +Cc: Samuel Martin, Jesse Van Gavere, Buildroot Mailing List
[-- Attachment #1.1: Type: text/plain, Size: 2134 bytes --]
Hello Thomas,
Op za 26 aug. 2023 21:49 schreef Thomas Petazzoni <
thomas.petazzoni@bootlin.com>:
> Hello Jesse,
>
> On Tue, 8 Aug 2023 19:22:31 +0200
> Jesse Van Gavere <jesseevg@gmail.com> wrote:
>
> > Signed-off-by: Jesse Van Gavere <jesse.vangavere@scioteq.com>
> > ---
> > package/qt6/Config.in | 1 +
> > package/qt6/qt6shadertools/Config.in | 11 +++++
> > .../qt6/qt6shadertools/qt6shadertools.hash | 13 +++++
> > package/qt6/qt6shadertools/qt6shadertools.mk | 47 +++++++++++++++++++
> > 4 files changed, 72 insertions(+)
> > create mode 100644 package/qt6/qt6shadertools/Config.in
> > create mode 100644 package/qt6/qt6shadertools/qt6shadertools.hash
> > create mode 100644 package/qt6/qt6shadertools/qt6shadertools.mk
>
> Thanks Jesse for your patch. It builds fine... but it doesn't install
> anything. Indeed, it looks like qt6shadertools doesn't not
> build/install anything when qt6base is not built with GUI support:
>
> Skipping the build as the condition "TARGET Qt::Gui" is not met.
>
You're right, forgot that dependency, I'll add it
>
> For the target package, it would be easy to fix. But for the host
> qt6base package, the story is a bit different. Does qt6shadertools
> really need GUI support in host-qt6base? If so, how did you test that
> as nothing in Buildroot right now allows to enable GUI support in
> host-qt6base?
>
Yeah another oversight, I probably built it with GUI temporarily in and
forgot about it, the host package is necessary though as this will install
qsb which is a requirement for the follow-up qt declarative package I want
to add (at least for QtQuick support) and I'm not aware of a mechanism that
allows for conditional host package builds, if it's available though I'll
take a look, otherwise I'll always do the host build jit for that case, but
I'll at least check for adding the host GUI support, a slight casualty of
Qt their new host/target split
>
> Could you have a look into this, and send a v2?
>
> Thanks a lot!
>
> Thomas
> --
> Thomas Petazzoni, CTO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
>
[-- Attachment #1.2: Type: text/html, Size: 3424 bytes --]
[-- Attachment #2: Type: text/plain, Size: 150 bytes --]
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Buildroot] [PATCH 1/1] package/qt6/qt6shadertools: new package
2023-08-26 20:04 ` Jesse Van Gavere
@ 2023-08-31 21:54 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 4+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-08-31 21:54 UTC (permalink / raw)
To: Jesse Van Gavere; +Cc: Samuel Martin, Jesse Van Gavere, Buildroot Mailing List
Hello Jesse,
On Sat, 26 Aug 2023 22:04:19 +0200
Jesse Van Gavere <jesseevg@gmail.com> wrote:
> > For the target package, it would be easy to fix. But for the host
> > qt6base package, the story is a bit different. Does qt6shadertools
> > really need GUI support in host-qt6base? If so, how did you test that
> > as nothing in Buildroot right now allows to enable GUI support in
> > host-qt6base?
> >
> Yeah another oversight, I probably built it with GUI temporarily in and
> forgot about it, the host package is necessary though as this will install
> qsb which is a requirement for the follow-up qt declarative package I want
> to add (at least for QtQuick support)
If qsb is only needed for the follow-up qt declarative package, then it
should only be built as a dependency of this, and not as a dependency
of the target qt6shadertools.
> and I'm not aware of a mechanism that
> allows for conditional host package builds, if it's available though I'll
> take a look, otherwise I'll always do the host build jit for that case, but
> I'll at least check for adding the host GUI support, a slight casualty of
> Qt their new host/target split
See package/python3/Config.in.host. Packages that need bzip2 support or
SSL support in host-python3 can select BR2_PACKAGE_HOST_PYTHON3_BZIP2
or BR2_PACKAGE_HOST_PYTHON3_SSL.
So you will need a package/qt6/qt6base/Config.in.host with a
BR2_PACKAGE_HOST_QT6BASE_GUI, and tweak qt6base.mk to build
host-qt6base with GUI support if BR2_PACKAGE_HOST_QT6BASE_GUI=y. Of
course one question will be: which display backend you will enable...
Best regards,
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2023-08-31 21:54 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-08 17:22 [Buildroot] [PATCH 1/1] package/qt6/qt6shadertools: new package Jesse Van Gavere
2023-08-26 19:49 ` Thomas Petazzoni via buildroot
2023-08-26 20:04 ` Jesse Van Gavere
2023-08-31 21:54 ` Thomas Petazzoni via buildroot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox