All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.