* [Buildroot] [PATCH v2] package/qt6/qt6grpc: new package
@ 2025-05-09 1:42 Jack Rubacha
2025-05-09 5:56 ` Roy Kollen Svendsen
0 siblings, 1 reply; 2+ messages in thread
From: Jack Rubacha @ 2025-05-09 1:42 UTC (permalink / raw)
To: buildroot
Cc: Jesse Van Gavere, Roy Kollen Svendsen, Thomas Petazzoni,
Jack Rubacha
Adds the QT GRPC module (containing Qt Protobuf as well).
Signed-off-by: Jack Rubacha <rubacha.jack03@gmail.com>
---
Changes v1 -> v2:
- Remove 'selects BR2_PACKAGE_HOST_QT6BASE' as it is a make dependency
- Changes help text to clearly state both modules
- Adds a git repository link to the help text
- Cleans up license files to show all necessary files, matches hashfile
- Make multiline clauses alphabetically ordered
---
package/qt6/Config.in | 1 +
package/qt6/qt6grpc/Config.in | 7 +++++
package/qt6/qt6grpc/qt6grpc.hash | 10 +++++++
package/qt6/qt6grpc/qt6grpc.mk | 46 ++++++++++++++++++++++++++++++++
4 files changed, 64 insertions(+)
create mode 100644 package/qt6/qt6grpc/Config.in
create mode 100644 package/qt6/qt6grpc/qt6grpc.hash
create mode 100644 package/qt6/qt6grpc/qt6grpc.mk
diff --git a/package/qt6/Config.in b/package/qt6/Config.in
index 10594691cf..9c297b321e 100644
--- a/package/qt6/Config.in
+++ b/package/qt6/Config.in
@@ -48,6 +48,7 @@ source "package/qt6/qt6charts/Config.in"
source "package/qt6/qt6core5compat/Config.in"
source "package/qt6/qt6declarative/Config.in"
source "package/qt6/qt6graphs/Config.in"
+source "package/qt6/qt6grpc/Config.in"
source "package/qt6/qt6languageserver/Config.in"
source "package/qt6/qt6mqtt/Config.in"
source "package/qt6/qt6multimedia/Config.in"
diff --git a/package/qt6/qt6grpc/Config.in b/package/qt6/qt6grpc/Config.in
new file mode 100644
index 0000000000..3d82cfcb0c
--- /dev/null
+++ b/package/qt6/qt6grpc/Config.in
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_QT6GRPC
+ bool "qt6grpc"
+ help
+ This package provides the Qt GRPC and Protobuf modules:
+
+ https://doc.qt.io/qt-6/qtgrpc-index.html
+ https://code.qt.io/cgit/qt/qtgrpc.git/
diff --git a/package/qt6/qt6grpc/qt6grpc.hash b/package/qt6/qt6grpc/qt6grpc.hash
new file mode 100644
index 0000000000..06da9f0700
--- /dev/null
+++ b/package/qt6/qt6grpc/qt6grpc.hash
@@ -0,0 +1,10 @@
+# Hash from: https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtgrpc-everywhere-src-6.8.1.tar.xz.sha256
+sha256 b1615c7096b012e5f42aea57c420d2ce21c906d0eda3ea373b09a47cf40b5e80 qtgrpc-everywhere-src-6.8.1.tar.xz
+
+# Hashes for license files:
+sha256 e3ba223bb1423f0aad8c3dfce0fe3148db48926d41e6fbc3afbbf5ff9e1c89cb LICENSE.Apache-2.0.txt
+sha256 9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce LICENSES/BSD-3-Clause.txt
+sha256 110535522396708cea37c72a802c5e7e81391139f5f7985631c93ef242b206a4 LICENSES/GFDL-1.3-no-invariants-only.txt
+sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSES/GPL-3.0-only.txt
+sha256 6e5e117324afd944dcf67f36cf329843bc1a92229a8cd9bb573d7a83130fea7d LICENSES/LicenseRef-protobuf.txt
+sha256 40678d338ce53cd93f8b22b281a2ecbcaa3ee65ce60b25ffb0c462b0530846b2 LICENSES/Qt-GPL-exception-1.0.txt
diff --git a/package/qt6/qt6grpc/qt6grpc.mk b/package/qt6/qt6grpc/qt6grpc.mk
new file mode 100644
index 0000000000..b8bc2e4651
--- /dev/null
+++ b/package/qt6/qt6grpc/qt6grpc.mk
@@ -0,0 +1,46 @@
+################################################################################
+#
+# qt6grpc
+#
+################################################################################
+
+QT6GRPC_VERSION = $(QT6_VERSION)
+QT6GRPC_SITE = $(QT6_SITE)
+QT6GRPC_SOURCE = qtgrpc-$(QT6_SOURCE_TARBALL_PREFIX)-$(QT6GRPC_VERSION).tar.xz
+QT6GRPC_INSTALL_STAGING = YES
+QT6GRPC_SUPPORTS_IN_SOURCE_BUILD = NO
+QT6GRPC_CMAKE_BACKEND = ninja
+QT6GRPC_LICENSE = \
+ GPL-3.0-only, \
+ Apache-2.0 (tests), \
+ BSD-3-Clause (infrastructure), \
+ GFDL-1.3-no-invariants-only (documentation)
+QT6GRPC_LICENSE_FILES = \
+ LICENSE.Apache-2.0.txt \
+ LICENSES/BSD-3-Clause.txt \
+ LICENSES/GFDL-1.3-no-invariants-only.txt \
+ LICENSES/GPL-3.0-only.txt \
+ LICENSES/LicenseRef-protobuf.txt \
+ LICENSES/Qt-GPL-exception-1.0.txt
+
+QT6GRPC_CONF_OPTS = \
+ -DBUILD_WITH_PCH=OFF \
+ -DQT_BUILD_EXAMPLES=OFF \
+ -DQT_BUILD_TESTS=OFF \
+ -DQT_HOST_PATH=$(HOST_DIR)
+
+QT6GRPC_DEPENDENCIES = \
+ host-pkgconf \
+ host-qt6grpc \
+ qt6base
+
+ifeq ($(BR2_PACKAGE_QT6DECLARATIVE),y)
+QT6GRPC_DEPENDENCIES += qt6declarative
+endif
+
+HOST_QT6GRPC_DEPENDENCIES = \
+ host-qt6base \
+ host-protobuf
+
+$(eval $(cmake-package))
+$(eval $(host-cmake-package))
--
2.49.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [Buildroot] [PATCH v2] package/qt6/qt6grpc: new package
2025-05-09 1:42 [Buildroot] [PATCH v2] package/qt6/qt6grpc: new package Jack Rubacha
@ 2025-05-09 5:56 ` Roy Kollen Svendsen
0 siblings, 0 replies; 2+ messages in thread
From: Roy Kollen Svendsen @ 2025-05-09 5:56 UTC (permalink / raw)
To: Jack Rubacha; +Cc: buildroot, Jesse Van Gavere, Thomas Petazzoni
[-- Attachment #1.1: Type: text/plain, Size: 5533 bytes --]
Hi Jack,
Nice clean up.
fre. 9. mai 2025 kl. 03:45 skrev Jack Rubacha <rubacha.jack03@gmail.com>:
> Adds the QT GRPC module (containing Qt Protobuf as well).
>
> Signed-off-by: Jack Rubacha <rubacha.jack03@gmail.com>
>
> ---
> Changes v1 -> v2:
> - Remove 'selects BR2_PACKAGE_HOST_QT6BASE' as it is a make dependency
> - Changes help text to clearly state both modules
> - Adds a git repository link to the help text
> - Cleans up license files to show all necessary files, matches hashfile
> - Make multiline clauses alphabetically ordered
>
> ---
> package/qt6/Config.in | 1 +
> package/qt6/qt6grpc/Config.in | 7 +++++
> package/qt6/qt6grpc/qt6grpc.hash | 10 +++++++
> package/qt6/qt6grpc/qt6grpc.mk | 46 ++++++++++++++++++++++++++++++++
> 4 files changed, 64 insertions(+)
> create mode 100644 package/qt6/qt6grpc/Config.in
> create mode 100644 package/qt6/qt6grpc/qt6grpc.hash
> create mode 100644 package/qt6/qt6grpc/qt6grpc.mk
>
> diff --git a/package/qt6/Config.in b/package/qt6/Config.in
> index 10594691cf..9c297b321e 100644
> --- a/package/qt6/Config.in
> +++ b/package/qt6/Config.in
> @@ -48,6 +48,7 @@ source "package/qt6/qt6charts/Config.in"
> source "package/qt6/qt6core5compat/Config.in"
> source "package/qt6/qt6declarative/Config.in"
> source "package/qt6/qt6graphs/Config.in"
> +source "package/qt6/qt6grpc/Config.in"
> source "package/qt6/qt6languageserver/Config.in"
> source "package/qt6/qt6mqtt/Config.in"
> source "package/qt6/qt6multimedia/Config.in"
> diff --git a/package/qt6/qt6grpc/Config.in b/package/qt6/qt6grpc/Config.in
> new file mode 100644
> index 0000000000..3d82cfcb0c
> --- /dev/null
> +++ b/package/qt6/qt6grpc/Config.in
> @@ -0,0 +1,7 @@
> +config BR2_PACKAGE_QT6GRPC
> + bool "qt6grpc"
> + help
> + This package provides the Qt GRPC and Protobuf modules:
> +
> + https://doc.qt.io/qt-6/qtgrpc-index.html
> + https://code.qt.io/cgit/qt/qtgrpc.git/
> diff --git a/package/qt6/qt6grpc/qt6grpc.hash
> b/package/qt6/qt6grpc/qt6grpc.hash
> new file mode 100644
> index 0000000000..06da9f0700
> --- /dev/null
> +++ b/package/qt6/qt6grpc/qt6grpc.hash
> @@ -0,0 +1,10 @@
> +# Hash from:
> https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtgrpc-everywhere-src-6.8.1.tar.xz.sha256
> +sha256
> <https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/qtgrpc-everywhere-src-6.8.1.tar.xz.sha256+sha256>
> b1615c7096b012e5f42aea57c420d2ce21c906d0eda3ea373b09a47cf40b5e80
> qtgrpc-everywhere-src-6.8.1.tar.xz
> +
> +# Hashes for license files:
> +sha256 e3ba223bb1423f0aad8c3dfce0fe3148db48926d41e6fbc3afbbf5ff9e1c89cb
> LICENSE.Apache-2.0.txt
> +sha256 9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce
> LICENSES/BSD-3-Clause.txt
> +sha256 110535522396708cea37c72a802c5e7e81391139f5f7985631c93ef242b206a4
> LICENSES/GFDL-1.3-no-invariants-only.txt
> +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903
> LICENSES/GPL-3.0-only.txt
> +sha256 6e5e117324afd944dcf67f36cf329843bc1a92229a8cd9bb573d7a83130fea7d
> LICENSES/LicenseRef-protobuf.txt
> +sha256 40678d338ce53cd93f8b22b281a2ecbcaa3ee65ce60b25ffb0c462b0530846b2
> LICENSES/Qt-GPL-exception-1.0.txt
> diff --git a/package/qt6/qt6grpc/qt6grpc.mk b/package/qt6/qt6grpc/
> qt6grpc.mk
> new file mode 100644
> index 0000000000..b8bc2e4651
> --- /dev/null
> +++ b/package/qt6/qt6grpc/qt6grpc.mk
> @@ -0,0 +1,46 @@
>
> +################################################################################
> +#
> +# qt6grpc
> +#
>
> +################################################################################
> +
> +QT6GRPC_VERSION = $(QT6_VERSION)
> +QT6GRPC_SITE = $(QT6_SITE)
> +QT6GRPC_SOURCE =
> qtgrpc-$(QT6_SOURCE_TARBALL_PREFIX)-$(QT6GRPC_VERSION).tar.xz
> +QT6GRPC_INSTALL_STAGING = YES
> +QT6GRPC_SUPPORTS_IN_SOURCE_BUILD = NO
> +QT6GRPC_CMAKE_BACKEND = ninja
>
When you break your Makefile variable definition over multiple lines you
should add a single newline before and after.
> +QT6GRPC_LICENSE = \
> + GPL-3.0-only, \
> + Apache-2.0 (tests), \
> + BSD-3-Clause (infrastructure), \
> + GFDL-1.3-no-invariants-only (documentation)
>
But i think only this one line is preferred:
QT6GRPC_LICENSE = GPL-3.0-only
Only the toplevel license and for the stuff that ends up on target, I
believe the maintainers arrived at this conclusion in a prior discussion.
For consistency and improved readability you should also add a newline here:
+QT6GRPC_LICENSE_FILES = \
> + LICENSE.Apache-2.0.txt \
> + LICENSES/BSD-3-Clause.txt \
> + LICENSES/GFDL-1.3-no-invariants-only.txt \
> + LICENSES/GPL-3.0-only.txt \
> + LICENSES/LicenseRef-protobuf.txt \
> + LICENSES/Qt-GPL-exception-1.0.txt
> +
>
In my opinion it is good to add all the license files here, as you have
done. Its probably better to ship too much than too little legal-info.
> +QT6GRPC_CONF_OPTS = \
> + -DBUILD_WITH_PCH=OFF \
> + -DQT_BUILD_EXAMPLES=OFF \
> + -DQT_BUILD_TESTS=OFF \
> + -DQT_HOST_PATH=$(HOST_DIR)
> +
> +QT6GRPC_DEPENDENCIES = \
> + host-pkgconf \
> + host-qt6grpc \
> + qt6base
> +
> +ifeq ($(BR2_PACKAGE_QT6DECLARATIVE),y)
> +QT6GRPC_DEPENDENCIES += qt6declarative
> +endif
> +
> +HOST_QT6GRPC_DEPENDENCIES = \
> + host-qt6base \
> + host-protobuf
>
You could also order the above dependencies alphabetically
> +
> +$(eval $(cmake-package))
> +$(eval $(host-cmake-package))
> --
> 2.49.0
>
Regards,
Roy
[-- Attachment #1.2: Type: text/html, Size: 7881 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] 2+ messages in thread
end of thread, other threads:[~2025-05-09 5:56 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-09 1:42 [Buildroot] [PATCH v2] package/qt6/qt6grpc: new package Jack Rubacha
2025-05-09 5:56 ` Roy Kollen Svendsen
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.