Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] package/libcamera: force-disable qcam for now
@ 2025-03-11 11:48 Quentin Schulz
  2025-03-11 18:15 ` Peter Korsgaard
  2025-03-16 20:25 ` Peter Korsgaard
  0 siblings, 2 replies; 6+ messages in thread
From: Quentin Schulz @ 2025-03-11 11:48 UTC (permalink / raw)
  To: buildroot; +Cc: Kieran Bingham, Marcus Folkesson, Quentin Schulz

From: Quentin Schulz <quentin.schulz@cherry.de>

qcam is based on Qt6 since commit 71aa3ceec30b ("apps: qcam: Port to Qt
6") which is part of the v0.3.1 release.

qcam being enabled when BR2_PACKAGE_QT5BASE_WIDGETS symbol is defined
breaks the build as it's missing the qt6 dependencies.

The migration to Qt 6 for the Buildroot package isn't straightforward
though as we're hitting a meson bug[1].

For now, let's just always disable qcam until we can get everything
fixed and migrated properly.

[1] https://github.com/mesonbuild/meson/issues/13018

Fixes: 72757d111a5d ("package/libcamera: bump to version 0.3.2")
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
---
This is suboptimal solution to unbreaking Buildroot builds of libcamera
when Qt5 Widgets are enabled but that should do for Buildroot 2025.02
release.

We should ideally work on adding proper support for qcam in a later
commit, once the issue reported in
https://github.com/mesonbuild/meson/issues/13018 is either fixed or
worked around in Buildroot.

FWIW, I went as far as:

```
ifeq ($(BR2_PACKAGE_QT6BASE_WIDGETS)$(BR2_PACKAGE_QT6_OPENGL),yy)
LIBCAMERA_CONF_OPTS += -Dqcam=enabled
LIBCAMERA_DEPENDENCIES += qt6base
else
LIBCAMERA_CONF_OPTS += -Dqcam=disabled
endif
```

as Qt6 OpenGL module seems required now. Additionally, the Qt6 tools
dependency is doing nothing so it can be removed. It actually never did
anything but turn a check from meson from red to green in the configure
step, the binaries with and without Qt tools (qt5 or qt6) were always
identical to the bit.

There are also a number of other changes we should be making to the
recipe as libcamera is extended without knobs if libdrm, libsdl2,
libjpeg, libdw and/or libunwind are provided. So we should add those to
LIBCAMERA_DEPENDENCIES if they are part of the build, to make builds
reproducible.
---
 package/libcamera/libcamera.mk | 11 +----------
 1 file changed, 1 insertion(+), 10 deletions(-)

diff --git a/package/libcamera/libcamera.mk b/package/libcamera/libcamera.mk
index dcfa54e5dd7fcafcdaaf012ab30df5992ba1d4ce..b3132dc01658ed2fe9e5f780951f3152596dcfcf 100644
--- a/package/libcamera/libcamera.mk
+++ b/package/libcamera/libcamera.mk
@@ -18,6 +18,7 @@ LIBCAMERA_DEPENDENCIES = \
 LIBCAMERA_CONF_OPTS = \
 	-Dandroid=disabled \
 	-Ddocumentation=disabled \
+	-Dqcam=disabled \
 	-Dtest=false \
 	-Dwerror=false
 LIBCAMERA_INSTALL_STAGING = YES
@@ -83,16 +84,6 @@ LIBCAMERA_CONF_OPTS += -Dgstreamer=enabled
 LIBCAMERA_DEPENDENCIES += gstreamer1 gst1-plugins-base
 endif
 
-ifeq ($(BR2_PACKAGE_QT5BASE_WIDGETS),y)
-LIBCAMERA_CONF_OPTS += -Dqcam=enabled
-LIBCAMERA_DEPENDENCIES += qt5base
-ifeq ($(BR2_PACKAGE_QT5TOOLS_LINGUIST_TOOLS),y)
-LIBCAMERA_DEPENDENCIES += qt5tools
-endif
-else
-LIBCAMERA_CONF_OPTS += -Dqcam=disabled
-endif
-
 ifeq ($(BR2_PACKAGE_LIBEVENT),y)
 LIBCAMERA_CONF_OPTS += -Dcam=enabled
 LIBCAMERA_DEPENDENCIES += libevent

---
base-commit: f2498258d4d0c7e4f181a54a5334b45ab73612d8
change-id: 20250310-libcamera-qt6-ff1f8144f7e1

Best regards,
-- 
Quentin Schulz <quentin.schulz@cherry.de>

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

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

end of thread, other threads:[~2025-03-18 14:48 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-11 11:48 [Buildroot] [PATCH] package/libcamera: force-disable qcam for now Quentin Schulz
2025-03-11 18:15 ` Peter Korsgaard
2025-03-12  9:51   ` Quentin Schulz via buildroot
2025-03-18 11:22   ` Quentin Schulz via buildroot
2025-03-18 14:48     ` Quentin Schulz via buildroot
2025-03-16 20:25 ` Peter Korsgaard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox