diff mbox series

[meta-multimedia,21/31] openal-soft: upgrade 1.24.3 -> 1.25.2

Message ID 20260801214526.788343-21-khem.raj@oss.qualcomm.com
State New
Headers show
Series [meta-multimedia,01/31] libmatroska: upgrade 1.7.1 -> 1.7.2 | expand

Commit Message

Khem Raj Aug. 1, 2026, 9:45 p.m. UTC
Upstream changes:
 * 1.25.x modernizes the mixer, bundles fmt 11.2.0 (was 11.1.1), and
   annotates realtime-critical functions with [[clang::nonblocking]].

Drop 0001-Add-missing-include-for-malloc-free.patch: it backported a
<cstdlib> include into the bundled fmt-11.1.1 copy, which is already
present in the fmt-11.2.0 now bundled by 1.25.2.

openal-soft hardcodes -Werror=function-effects for C++ even with
ALSOFT_WERROR=OFF. clang-22's function-effects analysis then fails the
build on calls from nonblocking mixer code into non-nonblocking
std::variant::emplace. Pre-seed HAVE_WFUNCTION_EFFECTS=OFF (clang only)
so neither -Wfunction-effects nor its -Werror promotion is added.

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
---
 ...-Add-missing-include-for-malloc-free.patch | 38 -------------------
 ...l-soft_1.24.3.bb => openal-soft_1.25.2.bb} | 14 +++++--
 2 files changed, 10 insertions(+), 42 deletions(-)
 delete mode 100644 meta-multimedia/recipes-multimedia/openal/openal-soft/0001-Add-missing-include-for-malloc-free.patch
 rename meta-multimedia/recipes-multimedia/openal/{openal-soft_1.24.3.bb => openal-soft_1.25.2.bb} (64%)
diff mbox series

Patch

diff --git a/meta-multimedia/recipes-multimedia/openal/openal-soft/0001-Add-missing-include-for-malloc-free.patch b/meta-multimedia/recipes-multimedia/openal/openal-soft/0001-Add-missing-include-for-malloc-free.patch
deleted file mode 100644
index cd966c04f7..0000000000
--- a/meta-multimedia/recipes-multimedia/openal/openal-soft/0001-Add-missing-include-for-malloc-free.patch
+++ /dev/null
@@ -1,38 +0,0 @@ 
-From 468b52958ded2dd942386d52e456ed259875b6e3 Mon Sep 17 00:00:00 2001
-From: Chris Robinson <chris.kcat@gmail.com>
-Date: Fri, 18 Jul 2025 01:57:32 -0700
-Subject: [PATCH] Add missing include for malloc/free
-
-Upstream-Status: Backport [https://github.com/kcat/openal-soft/commit/6b69e11867e6498f244da95de7a3d6c25f79f205]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- fmt-11.1.1/include/fmt/format.h | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/fmt-11.1.1/include/fmt/format.h b/fmt-11.1.1/include/fmt/format.h
-index d1b83d18..ae5700ff 100644
---- a/fmt-11.1.1/include/fmt/format.h
-+++ b/fmt-11.1.1/include/fmt/format.h
-@@ -44,6 +44,7 @@
- #  include <cmath>    // std::signbit
- #  include <cstddef>  // std::byte
- #  include <cstdint>  // uint32_t
-+#  include <cstdlib>  // std::malloc, std::free
- #  include <cstring>  // std::memcpy
- #  include <limits>   // std::numeric_limits
- #  include <new>      // std::bad_alloc
-@@ -742,12 +743,12 @@ template <typename T> struct allocator {
- 
-   T* allocate(size_t n) {
-     FMT_ASSERT(n <= max_value<size_t>() / sizeof(T), "");
--    T* p = static_cast<T*>(malloc(n * sizeof(T)));
-+    T* p = static_cast<T*>(std::malloc(n * sizeof(T)));
-     if (!p) FMT_THROW(std::bad_alloc());
-     return p;
-   }
- 
--  void deallocate(T* p, size_t) { free(p); }
-+  void deallocate(T* p, size_t) { std::free(p); }
- };
- 
- }  // namespace detail
diff --git a/meta-multimedia/recipes-multimedia/openal/openal-soft_1.24.3.bb b/meta-multimedia/recipes-multimedia/openal/openal-soft_1.25.2.bb
similarity index 64%
rename from meta-multimedia/recipes-multimedia/openal/openal-soft_1.24.3.bb
rename to meta-multimedia/recipes-multimedia/openal/openal-soft_1.25.2.bb
index a1d2932f93..e2da0b1b9f 100644
--- a/meta-multimedia/recipes-multimedia/openal/openal-soft_1.24.3.bb
+++ b/meta-multimedia/recipes-multimedia/openal/openal-soft_1.25.2.bb
@@ -7,10 +7,16 @@  inherit cmake pkgconfig
 
 DEPENDS = "zlib libsndfile1"
 
-SRCREV = "dc7d7054a5b4f3bec1dc23a42fd616a0847af948"
-SRC_URI = "git://github.com/kcat/openal-soft.git;protocol=https;branch=master \
-           file://0001-Add-missing-include-for-malloc-free.patch \
-          "
+SRCREV = "b2c48f7718ef3fcf67921a8b6534c4914e328970"
+SRC_URI = "git://github.com/kcat/openal-soft.git;protocol=https;branch=master"
+
+# openal-soft 1.25.x annotates realtime-critical mixer functions with
+# [[clang::nonblocking]] and, even with ALSOFT_WERROR=OFF, hardcodes
+# -Werror=function-effects for CXX. clang-22's function-effects analysis
+# then fails the build on calls into non-nonblocking std::variant::emplace.
+# Pre-seed the feature-detection cache var so neither -Wfunction-effects
+# nor its -Werror promotion is added.
+EXTRA_OECMAKE:append:toolchain-clang = " -DHAVE_WFUNCTION_EFFECTS=OFF"
 
 PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'alsa pipewire pulseaudio', d)}"
 PACKAGECONFIG[alsa] = "-DALSOFT_BACKEND_ALSA=ON,-DALSOFT_BACKEND_ALSA=OFF,alsa-lib"