diff --git a/package/libcamera-apps/0001-core-Update-checks-for-disable_rpi_features-option.patch b/package/libcamera-apps/0001-core-Update-checks-for-disable_rpi_features-option.patch new file mode 100644 index 0000000000..1aba972d13 --- /dev/null +++ b/package/libcamera-apps/0001-core-Update-checks-for-disable_rpi_features-option.patch @@ -0,0 +1,52 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Sat, 21 Jun 2025 18:12:18 +0200 +Subject: [PATCH] core: Update checks for disable_rpi_features option +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Based on the original commit that added the sync feature there +were a few more options that needed the disable_rpi_features +code conditionals to ensure compilation against upstream +libcamera so add them in to ensure this works. + +Fixes: +../core/rpicam_app.cpp: In member function ‘void RPiCamApp::StartCamera()’: +../core/rpicam_app.cpp:642:78: error: ‘controls::rpi’ has not been declared + 642 | if (!controls_.get(controls::ScalerCrop) && !controls_.get(controls::rpi::ScalerCrops)) + | ^~~ +../core/rpicam_app.cpp:673:49: error: ‘controls::rpi’ has not been declared + 673 | controls_.set(controls::rpi::ScalerCrops, libcamera::Span(crops.data(), crops.size())); + | ^~~ + +Upstream: https://github.com/raspberrypi/rpicam-apps/pull/827 + +Signed-off-by: Bernd Kuhls +--- + core/rpicam_app.cpp | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/core/rpicam_app.cpp b/core/rpicam_app.cpp +index bed69c0..1db784f 100644 +--- a/core/rpicam_app.cpp ++++ b/core/rpicam_app.cpp +@@ -637,6 +637,7 @@ void RPiCamApp::StartCamera() + // This makes all the Request objects that we shall need. + makeRequests(); + ++#ifndef DISABLE_RPI_FEATURES + // Build a list of initial controls that we must set in the camera before starting it. + // We don't overwrite anything the application may have set before calling us. + if (!controls_.get(controls::ScalerCrop) && !controls_.get(controls::rpi::ScalerCrops)) +@@ -672,6 +673,7 @@ void RPiCamApp::StartCamera() + else + controls_.set(controls::rpi::ScalerCrops, libcamera::Span(crops.data(), crops.size())); + } ++#endif + + if (!controls_.get(controls::AfWindows) && !controls_.get(controls::AfMetering) && + options_->Get().afWindow_width != 0 && options_->Get().afWindow_height != 0) +-- +2.39.5 + diff --git a/package/libcamera-apps/libcamera-apps.hash b/package/libcamera-apps/libcamera-apps.hash index 00b499d247..b11ea7fe67 100644 --- a/package/libcamera-apps/libcamera-apps.hash +++ b/package/libcamera-apps/libcamera-apps.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 576bcd585f1c8d8bc80e37fa3c8a172e9d1c8406490438cf6d0fbc7ba4996ec1 rpicam-apps-1.5.0.tar.xz +sha256 b5535933ebc398616fd1b261fa9e3755dfb419e10ee7866078a8a8d99f54a59a libcamera-apps-v1.7.0-10-ge9645231008146fa0e75c2b3e0ff8c48ad70511a.tar.gz sha256 36dfed86bdef661a0a14ec1a1cc84c771d5a06b6f9b92e9ebb610ba711bd528a license.txt diff --git a/package/libcamera-apps/libcamera-apps.mk b/package/libcamera-apps/libcamera-apps.mk index 17983bb8ca..06efb9a960 100644 --- a/package/libcamera-apps/libcamera-apps.mk +++ b/package/libcamera-apps/libcamera-apps.mk @@ -4,9 +4,8 @@ # ################################################################################ -LIBCAMERA_APPS_VERSION = 1.5.0 -LIBCAMERA_APPS_SOURCE = rpicam-apps-$(LIBCAMERA_APPS_VERSION).tar.xz -LIBCAMERA_APPS_SITE = https://github.com/raspberrypi/rpicam-apps/releases/download/v$(LIBCAMERA_APPS_VERSION) +LIBCAMERA_APPS_VERSION = v1.7.0-10-ge9645231008146fa0e75c2b3e0ff8c48ad70511a +LIBCAMERA_APPS_SITE = $(call github,raspberrypi,rpicam-apps,$(LIBCAMERA_APPS_VERSION)) LIBCAMERA_APPS_LICENSE = BSD-2-Clause LIBCAMERA_APPS_LICENSE_FILES = license.txt LIBCAMERA_APPS_DEPENDENCIES = \ @@ -36,6 +35,12 @@ else LIBCAMERA_APPS_CONF_OPTS += -Denable_libav=disabled endif +ifeq ($(BR2_PACKAGE_RPI_USERLAND),y) +LIBCAMERA_APPS_CONF_OPTS += -Ddisable_rpi_features=false +else +LIBCAMERA_APPS_CONF_OPTS += -Ddisable_rpi_features=true +endif + ifeq ($(BR2_PACKAGE_XORG7),y) LIBCAMERA_APPS_DEPENDENCIES += \ $(if $(BR2_PACKAGE_LIBEPOXY),libepoxy) \