diff --git a/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-libcamera-Do-not-assume-libc-with-clang.patch b/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-libcamera-Do-not-assume-libc-with-clang.patch deleted file mode 100644 index 25d88cfff4..0000000000 --- a/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-libcamera-Do-not-assume-libc-with-clang.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 0c68347365ec4c0bd3f84e1d2f9f51eb3c2405c8 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 24 Oct 2025 11:10:59 -0700 -Subject: [PATCH] libcamera: Do not assume libc++ with clang - -Clang on linux can be defaulting to use libstdc++, it -should be using default platform C++ runtime library which the -toolchain should be configured to do the right thing - -Add logic in meson file to detect C++ runtime used by toolchain -and defile -stdlib= parameter accordingly - -Upstream-Status: Submitted [https://lists.libcamera.org/pipermail/libcamera-devel/2025-October/054151.html] -Signed-off-by: Khem Raj ---- - meson.build | 32 +++++++++++++++++++++----------- - 1 file changed, 21 insertions(+), 11 deletions(-) - -diff --git a/meson.build b/meson.build -index fa6487f6..89294936 100644 ---- a/meson.build -+++ b/meson.build -@@ -118,7 +118,24 @@ cpp_arguments = [ - '-Wnon-virtual-dtor', - ] - --cxx_stdlib = 'libstdc++' -+# Try to detect libc++ -+libcxx_ver = cxx.get_define('_LIBCPP_VERSION', -+ prefix: '#include \n') -+ -+# Try to detect libstdc++ -+glibcxx_ver = cxx.get_define('__GLIBCXX__', -+ prefix: '#include \n') -+ -+stdlib_msg = 'unknown' -+ -+if libcxx_ver != '' -+ cxx_stdlib = 'libc++' -+elif glibcxx_ver != '' -+ # __GLIBCXX__ is usually a yyyymmdd date code -+ cxx_stdlib = 'libstdc++' -+endif -+ -+message('Detected C++ standard library: ' + cxx_stdlib) - - if cc.get_id() == 'clang' - if cc.version().version_compare('<9') -@@ -138,16 +155,9 @@ if cc.get_id() == 'clang' - ] - endif - endif -- -- # Use libc++ by default if available instead of libstdc++ when compiling -- # with clang. -- if cc.find_library('c++', required : false).found() -- cpp_arguments += [ -- '-stdlib=libc++', -- ] -- cxx_stdlib = 'libc++' -- endif -- -+ cpp_arguments += [ -+ '-stdlib=' + cxx_stdlib, -+ ] - cpp_arguments += [ - '-Wextra-semi', - '-Wthread-safety', diff --git a/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.6.0.bb b/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.7.0.bb similarity index 92% rename from meta-multimedia/recipes-multimedia/libcamera/libcamera_0.6.0.bb rename to meta-multimedia/recipes-multimedia/libcamera/libcamera_0.7.0.bb index 64e8973d53..f83372df43 100644 --- a/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.6.0.bb +++ b/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.7.0.bb @@ -11,10 +11,9 @@ LIC_FILES_CHKSUM = "\ SRC_URI = " \ git://git.libcamera.org/libcamera/libcamera.git;protocol=https;branch=master;tag=v${PV} \ - file://0001-libcamera-Do-not-assume-libc-with-clang.patch \ " -SRCREV = "3c17d1fbb2bd93f221afee788ebf0d7394032e4d" +SRCREV = "b7854fd07d42168f099b5ce30d1702e0e0875bf5" PE = "1" @@ -23,10 +22,13 @@ DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'qt', 'qtbase qtbase-native' PACKAGES =+ "${PN}-compliance ${PN}-gst ${PN}-pycamera" -PACKAGECONFIG ??= "" +PACKAGECONFIG ??= " \ + ${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)} \ +" PACKAGECONFIG[dng] = ",,tiff" PACKAGECONFIG[compliance] = "-Dlc-compliance=enabled,-Dlc-compliance=disabled,gtest" PACKAGECONFIG[gst] = "-Dgstreamer=enabled,-Dgstreamer=disabled,gstreamer1.0 gstreamer1.0-plugins-base" +PACKAGECONFIG[opengl] = ",,virtual/libgl virtual/egl" PACKAGECONFIG[python] = "-Dpycamera=enabled,-Dpycamera=disabled,python3-pybind11" PACKAGECONFIG[raspberrypi] = ",,libpisp" PACKAGECONFIG[vimc] = ",," @@ -46,10 +48,11 @@ LIBCAMERA_PIPELINES:aarch64 ??= "${ARM_PIPELINES}" EXTRA_OEMESON = " \ -Dpipelines=${LIBCAMERA_PIPELINES} \ - -Dv4l2=true \ + -Dv4l2=enabled \ -Dcam=enabled \ -Dtest=false \ -Ddocumentation=disabled \ + -Drpi-awb-nn=disabled \ " RDEPENDS:${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland qt', 'qtwayland', '', d)}"