diff mbox series

package/qt5/qt5declarative: remove optional quick module option

Message ID 20200923182300.58950-1-b.bilas@grinn-global.com
State Superseded
Headers show
Series package/qt5/qt5declarative: remove optional quick module option | expand

Commit Message

Bartosz Bilas Sept. 23, 2020, 6:23 p.m. UTC
Since commit [1] we are not able to disable/enable this module
so let's force to set Qt5 OpenGL support by default
if it's possible because currently quick's components
are being built anyway.

This should fix the build errors with qt5location package
which includes couple of built-in components that require
OpenGL support [2] when Qt Quick module is detected.

http://autobuild.buildroot.net/results/ddd/ddda7cdb9400f6ca7d548e9b5ada18674fbe42e0/
http://autobuild.buildroot.net/results/ddb/ddb25ebb591ed6029a7bd4934464171358553936/

[1] https://git.buildroot.net/buildroot/commit/package/qt5/qt5declarative/qt5declarative.mk?id=1bdceb5d735aad5fbf32b35e3a7f573ecb727e20
[2] https://code.woboq.org/qt5/qtdeclarative/src/quick/scenegraph/coreapi/qsgmaterialshader.h.html#105

Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
---
 package/qt5/qt5declarative/Config.in | 9 +--------
 1 file changed, 1 insertion(+), 8 deletions(-)

Comments

Thomas Petazzoni Sept. 23, 2020, 6:36 p.m. UTC | #1
On Wed, 23 Sep 2020 20:23:00 +0200
Bartosz Bilas <b.bilas@grinn-global.com> wrote:

> Since commit [1] we are not able to disable/enable this module
> so let's force to set Qt5 OpenGL support by default
> if it's possible because currently quick's components
> are being built anyway.
> 
> This should fix the build errors with qt5location package
> which includes couple of built-in components that require
> OpenGL support [2] when Qt Quick module is detected.
> 
> http://autobuild.buildroot.net/results/ddd/ddda7cdb9400f6ca7d548e9b5ada18674fbe42e0/
> http://autobuild.buildroot.net/results/ddb/ddb25ebb591ed6029a7bd4934464171358553936/
> 
> [1] https://git.buildroot.net/buildroot/commit/package/qt5/qt5declarative/qt5declarative.mk?id=1bdceb5d735aad5fbf32b35e3a7f573ecb727e20
> [2] https://code.woboq.org/qt5/qtdeclarative/src/quick/scenegraph/coreapi/qsgmaterialshader.h.html#105
> 
> Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>

I am still confused: why should we force something in qt5declarative,
to fix a build issue in qt5location ?

Isn't it a bug in qt5location to use the ->program() method when OpenGL
is disabled, while this method is only available when OpenGL support is
enabled ?

Thomas
Bartosz Bilas Sept. 23, 2020, 6:49 p.m. UTC | #2
Hi Thomas,

On 23.09.2020 20:36, Thomas Petazzoni wrote:
> On Wed, 23 Sep 2020 20:23:00 +0200
> Bartosz Bilas <b.bilas@grinn-global.com> wrote:
>
>> Since commit [1] we are not able to disable/enable this module
>> so let's force to set Qt5 OpenGL support by default
>> if it's possible because currently quick's components
>> are being built anyway.
>>
>> This should fix the build errors with qt5location package
>> which includes couple of built-in components that require
>> OpenGL support [2] when Qt Quick module is detected.
>>
>> http://autobuild.buildroot.net/results/ddd/ddda7cdb9400f6ca7d548e9b5ada18674fbe42e0/
>> http://autobuild.buildroot.net/results/ddb/ddb25ebb591ed6029a7bd4934464171358553936/
>>
>> [1] https://git.buildroot.net/buildroot/commit/package/qt5/qt5declarative/qt5declarative.mk?id=1bdceb5d735aad5fbf32b35e3a7f573ecb727e20
>> [2] https://code.woboq.org/qt5/qtdeclarative/src/quick/scenegraph/coreapi/qsgmaterialshader.h.html#105
>>
>> Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
> I am still confused: why should we force something in qt5declarative,
> to fix a build issue in qt5location ?

I've been thinking about which way is the right way to fix that. I 
thought to use

select BR2_PACKAGE_QT5BASE_OPENGL if BR2_PACKAGE_QT5DECLARATIVE

within qt5location package but it also isn't perfect because OpenGL 
isn't mandatory even when qt5declarative is enabled...

> Isn't it a bug in qt5location to use the ->program() method when OpenGL
> is disabled, while this method is only available when OpenGL support is
> enabled ?
It seems to be a bug actually in qt5location but I think we should have 
some workaround to fix build errors temporarily until Qt doesn't fix 
that properly.
> Thomas 


Best
Bartek
Thomas Petazzoni Jan. 9, 2022, 2:19 p.m. UTC | #3
On Wed, 23 Sep 2020 20:23:00 +0200
Bartosz Bilas <b.bilas@grinn-global.com> wrote:

> Since commit [1] we are not able to disable/enable this module
> so let's force to set Qt5 OpenGL support by default
> if it's possible because currently quick's components
> are being built anyway.
> 
> This should fix the build errors with qt5location package
> which includes couple of built-in components that require
> OpenGL support [2] when Qt Quick module is detected.
> 
> http://autobuild.buildroot.net/results/ddd/ddda7cdb9400f6ca7d548e9b5ada18674fbe42e0/
> http://autobuild.buildroot.net/results/ddb/ddb25ebb591ed6029a7bd4934464171358553936/
> 
> [1] https://git.buildroot.net/buildroot/commit/package/qt5/qt5declarative/qt5declarative.mk?id=1bdceb5d735aad5fbf32b35e3a7f573ecb727e20
> [2] https://code.woboq.org/qt5/qtdeclarative/src/quick/scenegraph/coreapi/qsgmaterialshader.h.html#105
> 
> Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
> ---
>  package/qt5/qt5declarative/Config.in | 9 +--------
>  1 file changed, 1 insertion(+), 8 deletions(-)

Sorry for the slow feedback/decision. The proper fix for this issue has
been committed in December:

  https://git.buildroot.net/buildroot/commit/package/qt5/qt5location?id=cea2b082eb35d9fd466833098463e2adcbb40022

This allows qt5location to build without opengl, so there's no longer a
need to force qt5declarative to enable opengl support.

The BR2_PACKAGE_QT5DECLARATIVE_QUICK indeed no longer does anything in
qt5declarative.mk itself, but it does ensure that the necessary
dependencies for the quick module are enabled, and that therefore the
quick module will be built.

So I've marked the patch as Superseded.

Thomas
diff mbox series

Patch

diff --git a/package/qt5/qt5declarative/Config.in b/package/qt5/qt5declarative/Config.in
index 3ba9224c22..a25a12f06f 100644
--- a/package/qt5/qt5declarative/Config.in
+++ b/package/qt5/qt5declarative/Config.in
@@ -2,6 +2,7 @@  config BR2_PACKAGE_QT5DECLARATIVE
 	bool "qt5declarative"
 	depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE
 	select BR2_PACKAGE_QT5BASE_GUI
+	select BR2_PACKAGE_QT5BASE_OPENGL if BR2_PACKAGE_QT5_GL_AVAILABLE
 	help
 	  Qt is a cross-platform application and UI framework for
 	  developers using C++.
@@ -11,11 +12,3 @@  config BR2_PACKAGE_QT5DECLARATIVE
 
 	  http://doc.qt.io/qt-5/qtqml-index.html
 	  http://doc.qt.io/qt-5/qtquick-index.html
-
-if BR2_PACKAGE_QT5DECLARATIVE
-
-config BR2_PACKAGE_QT5DECLARATIVE_QUICK
-	bool "quick module"
-	select BR2_PACKAGE_QT5BASE_OPENGL if BR2_PACKAGE_QT5_GL_AVAILABLE
-
-endif