Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v1 0/2] RFC Building packages both qt5/6
@ 2023-08-09 17:14 Zoltan Gyarmati
  2023-08-09 17:15 ` [Buildroot] [PATCH v1 1/2] package/qt6/qt6core5compat: add new package Zoltan Gyarmati
  2023-08-09 17:15 ` [Buildroot] [PATCH v1 2/2] package/quazip: also enable for qt6 Zoltan Gyarmati
  0 siblings, 2 replies; 5+ messages in thread
From: Zoltan Gyarmati @ 2023-08-09 17:14 UTC (permalink / raw)
  To: buildroot; +Cc: Zoltan Gyarmati

This is an attempt to enable quazip also for qt6. I couldn't find 
an example package for this, so i would like to get some feedback
whether this is the way we want implement this. Any comments
are welcome. For quazip we also need the qt6core5compat package 
as well, so that one is also added in this series, but i'm ok with 
applying only that patch first.

Zoltan Gyarmati (2):
  package/qt6/qt6core5compat: add new package
  package/quazip: also enable for qt6

 package/Config.in                             |  4 ++
 package/qt6/Config.in                         |  1 +
 package/qt6/qt6core5compat/Config.in          | 12 ++++++
 .../qt6/qt6core5compat/qt6core5compat.hash    | 10 +++++
 package/qt6/qt6core5compat/qt6core5compat.mk  | 39 +++++++++++++++++++
 package/quazip/Config.in                      |  3 +-
 package/quazip/quazip.mk                      | 12 ++++--
 7 files changed, 77 insertions(+), 4 deletions(-)
 create mode 100644 package/qt6/qt6core5compat/Config.in
 create mode 100644 package/qt6/qt6core5compat/qt6core5compat.hash
 create mode 100644 package/qt6/qt6core5compat/qt6core5compat.mk

-- 
2.25.1

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH v1 1/2] package/qt6/qt6core5compat: add new package
  2023-08-09 17:14 [Buildroot] [PATCH v1 0/2] RFC Building packages both qt5/6 Zoltan Gyarmati
@ 2023-08-09 17:15 ` Zoltan Gyarmati
  2023-08-24 21:18   ` Thomas Petazzoni via buildroot
  2023-08-09 17:15 ` [Buildroot] [PATCH v1 2/2] package/quazip: also enable for qt6 Zoltan Gyarmati
  1 sibling, 1 reply; 5+ messages in thread
From: Zoltan Gyarmati @ 2023-08-09 17:15 UTC (permalink / raw)
  To: buildroot; +Cc: Zoltan Gyarmati

Signed-off-by: Zoltan Gyarmati <zgyarmati@zgyarmati.de>
---
 package/qt6/Config.in                         |  1 +
 package/qt6/qt6core5compat/Config.in          | 12 ++++++
 .../qt6/qt6core5compat/qt6core5compat.hash    | 10 +++++
 package/qt6/qt6core5compat/qt6core5compat.mk  | 39 +++++++++++++++++++
 4 files changed, 62 insertions(+)
 create mode 100644 package/qt6/qt6core5compat/Config.in
 create mode 100644 package/qt6/qt6core5compat/qt6core5compat.hash
 create mode 100644 package/qt6/qt6core5compat/qt6core5compat.mk

diff --git a/package/qt6/Config.in b/package/qt6/Config.in
index 3788caa6a3..126bc22180 100644
--- a/package/qt6/Config.in
+++ b/package/qt6/Config.in
@@ -47,5 +47,6 @@ source "package/qt6/qt6base/Config.in"
 source "package/qt6/qt6serialbus/Config.in"
 source "package/qt6/qt6serialport/Config.in"
 source "package/qt6/qt6svg/Config.in"
+source "package/qt6/qt6core5compat/Config.in"
 
 endif
diff --git a/package/qt6/qt6core5compat/Config.in b/package/qt6/qt6core5compat/Config.in
new file mode 100644
index 0000000000..484aaa72c5
--- /dev/null
+++ b/package/qt6/qt6core5compat/Config.in
@@ -0,0 +1,12 @@
+config BR2_PACKAGE_QT6CORE5COMPAT
+	bool "qt6core5compat"
+	select BR2_PACKAGE_QT6BASE_XML
+	help
+	  Qt is a cross-platform application and UI framework for
+	  developers using C++.
+
+	  The Qt 5 Core Compat module contains the Qt 5 Core APIs 
+	  that were removed in Qt 6. The module facilitates the 
+	  transition to Qt 6.
+
+	  https://doc.qt.io/qt-6/qtcore5-index.html
diff --git a/package/qt6/qt6core5compat/qt6core5compat.hash b/package/qt6/qt6core5compat/qt6core5compat.hash
new file mode 100644
index 0000000000..0735df3af2
--- /dev/null
+++ b/package/qt6/qt6core5compat/qt6core5compat.hash
@@ -0,0 +1,10 @@
+# Hash from: https://download.qt.io/official_releases/qt/6.4/6.4.3/submodules/qtserialport-everywhere-src-6.4.3.tar.xz.sha256
+sha256  d4b249abb823d575eee9045c24d924ba8d1276e6be7735b287689991d998aa7a  qt5compat-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
diff --git a/package/qt6/qt6core5compat/qt6core5compat.mk b/package/qt6/qt6core5compat/qt6core5compat.mk
new file mode 100644
index 0000000000..0b6d9369cb
--- /dev/null
+++ b/package/qt6/qt6core5compat/qt6core5compat.mk
@@ -0,0 +1,39 @@
+################################################################################
+#
+# qt6core5compat
+#
+################################################################################
+
+QT6CORE5COMPAT_VERSION = $(QT6_VERSION)
+QT6CORE5COMPAT_SITE = $(QT6_SITE)
+QT6CORE5COMPAT_SOURCE = qt5compat-$(QT6_SOURCE_TARBALL_PREFIX)-$(QT6CORE5COMPAT_VERSION).tar.xz
+QT6CORE5COMPAT_INSTALL_STAGING = YES
+QT6CORE5COMPAT_SUPPORTS_IN_SOURCE_BUILD = NO
+
+QT6CORE5COMPAT_CMAKE_BACKEND = ninja
+
+QT6CORE5COMPAT_LICENSE = \
+	GPL-2.0+ or LGPL-3.0, \
+	GPL-3.0 with exception (tools), \
+	GFDL-1.3 (docs), \
+	BSD-3-Clause
+
+QT6CORE5COMPAT_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
+
+QT6CORE5COMPAT_CONF_OPTS = \
+	-DQT_HOST_PATH=$(HOST_DIR) \
+	-DBUILD_WITH_PCH=OFF \
+	-DQT_BUILD_EXAMPLES=OFF \
+	-DQT_BUILD_TESTS=OFF
+
+QT6CORE5COMPAT_DEPENDENCIES = \
+	host-pkgconf \
+	qt6base
+
+$(eval $(cmake-package))
-- 
2.25.1

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

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH v1 2/2] package/quazip: also enable for qt6
  2023-08-09 17:14 [Buildroot] [PATCH v1 0/2] RFC Building packages both qt5/6 Zoltan Gyarmati
  2023-08-09 17:15 ` [Buildroot] [PATCH v1 1/2] package/qt6/qt6core5compat: add new package Zoltan Gyarmati
@ 2023-08-09 17:15 ` Zoltan Gyarmati
  2023-08-24 21:19   ` Thomas Petazzoni via buildroot
  1 sibling, 1 reply; 5+ messages in thread
From: Zoltan Gyarmati @ 2023-08-09 17:15 UTC (permalink / raw)
  To: buildroot; +Cc: Zoltan Gyarmati

Signed-off-by: Zoltan Gyarmati <zgyarmati@zgyarmati.de>
---
 package/Config.in        |  4 ++++
 package/quazip/Config.in |  3 ++-
 package/quazip/quazip.mk | 12 +++++++++---
 3 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/package/Config.in b/package/Config.in
index 1617f7488a..4715be25dc 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -385,6 +385,10 @@ comment "QT libraries and helper libraries"
 	source "package/simple-mail/Config.in"
 endif
 	source "package/qt6/Config.in"
+if BR2_PACKAGE_QT6
+comment "QT6 libraries and helper libraries"
+	source "package/quazip/Config.in"
+endif
 	source "package/tekui/Config.in"
 	source "package/weston/Config.in"
 	source "package/x11r7/Config.in"
diff --git a/package/quazip/Config.in b/package/quazip/Config.in
index bba5eddf3d..4c7a187571 100644
--- a/package/quazip/Config.in
+++ b/package/quazip/Config.in
@@ -1,8 +1,9 @@
 config BR2_PACKAGE_QUAZIP
 	bool "quazip"
-	depends on BR2_PACKAGE_QT5
+	depends on BR2_PACKAGE_QT5 || BR2_PACKAGE_QT6
 	select BR2_PACKAGE_ZLIB
 	select BR2_PACKAGE_ZLIB_FORCE_LIBZLIB
+	select BR2_PACKAGE_QT6CORE5COMPAT if BR2_PACKAGE_QT6
 	help
 	  QuaZIP is a simple C++ wrapper over Gilles Vollant's
 	  ZIP/UNZIP package that can be used to access ZIP
diff --git a/package/quazip/quazip.mk b/package/quazip/quazip.mk
index bf3b844624..665058d890 100644
--- a/package/quazip/quazip.mk
+++ b/package/quazip/quazip.mk
@@ -7,9 +7,15 @@
 QUAZIP_VERSION = 1.4
 QUAZIP_SITE = $(call github,stachenov,quazip,v$(QUAZIP_VERSION))
 QUAZIP_INSTALL_STAGING = YES
-QUAZIP_DEPENDENCIES = \
-	zlib \
-	qt5base
+QUAZIP_DEPENDENCIES = zlib
+
+ifeq ($(BR2_PACKAGE_QT5BASE),y)
+QUAZIP_DEPENDENCIES +=  qt5base
+endif
+ifeq ($(BR2_PACKAGE_QT6BASE),y)
+QUAZIP_DEPENDENCIES +=  qt6base qt6core5compat
+endif
+
 QUAZIP_LICENSE = LGPL-2.1
 QUAZIP_LICENSE_FILES = COPYING
 QUAZIP_CPE_ID_VENDOR = quazip_project
-- 
2.25.1

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

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [Buildroot] [PATCH v1 1/2] package/qt6/qt6core5compat: add new package
  2023-08-09 17:15 ` [Buildroot] [PATCH v1 1/2] package/qt6/qt6core5compat: add new package Zoltan Gyarmati
@ 2023-08-24 21:18   ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 5+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-08-24 21:18 UTC (permalink / raw)
  To: Zoltan Gyarmati; +Cc: buildroot

On Wed,  9 Aug 2023 19:15:00 +0200
Zoltan Gyarmati <zgyarmati@zgyarmati.de> wrote:

> Signed-off-by: Zoltan Gyarmati <zgyarmati@zgyarmati.de>
> ---
>  package/qt6/Config.in                         |  1 +
>  package/qt6/qt6core5compat/Config.in          | 12 ++++++
>  .../qt6/qt6core5compat/qt6core5compat.hash    | 10 +++++
>  package/qt6/qt6core5compat/qt6core5compat.mk  | 39 +++++++++++++++++++
>  4 files changed, 62 insertions(+)
>  create mode 100644 package/qt6/qt6core5compat/Config.in
>  create mode 100644 package/qt6/qt6core5compat/qt6core5compat.hash
>  create mode 100644 package/qt6/qt6core5compat/qt6core5compat.mk

Applied to next after minor changes:

- Change commit title to "package/qt6/qt6core5compat: new package"

- Add an entry in the DEVELOPERS file

Thanks!

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] 5+ messages in thread

* Re: [Buildroot] [PATCH v1 2/2] package/quazip: also enable for qt6
  2023-08-09 17:15 ` [Buildroot] [PATCH v1 2/2] package/quazip: also enable for qt6 Zoltan Gyarmati
@ 2023-08-24 21:19   ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 5+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-08-24 21:19 UTC (permalink / raw)
  To: Zoltan Gyarmati; +Cc: buildroot

On Wed,  9 Aug 2023 19:15:01 +0200
Zoltan Gyarmati <zgyarmati@zgyarmati.de> wrote:

>  	source "package/simple-mail/Config.in"
>  endif
>  	source "package/qt6/Config.in"
> +if BR2_PACKAGE_QT6
> +comment "QT6 libraries and helper libraries"
> +	source "package/quazip/Config.in"
> +endif

I didn't really like this double inclusion of package/quazip/Config.in,
so instead, I committed the following preparation change:

  https://gitlab.com/buildroot.org/buildroot/-/commit/46f1cd6fe3b6a0f066e6217dec19ea8eb96d3923

And then applied your commit to the next branch, without your
package/Config.in change, which was no longer needed.

Thanks a lot!

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] 5+ messages in thread

end of thread, other threads:[~2023-08-24 21:19 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-09 17:14 [Buildroot] [PATCH v1 0/2] RFC Building packages both qt5/6 Zoltan Gyarmati
2023-08-09 17:15 ` [Buildroot] [PATCH v1 1/2] package/qt6/qt6core5compat: add new package Zoltan Gyarmati
2023-08-24 21:18   ` Thomas Petazzoni via buildroot
2023-08-09 17:15 ` [Buildroot] [PATCH v1 2/2] package/quazip: also enable for qt6 Zoltan Gyarmati
2023-08-24 21:19   ` 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