git: 57a6501bd49e - main - audio/openal-soft: Update to 1.25.0

From: Jason E. Hale <jhale_at_FreeBSD.org>
Date: Sat, 27 Dec 2025 07:31:42 UTC
The branch main has been updated by jhale:

URL: https://cgit.FreeBSD.org/ports/commit/?id=57a6501bd49e49450629c45d416f2a0fe7a0f3d4

commit 57a6501bd49e49450629c45d416f2a0fe7a0f3d4
Author:     Jason E. Hale <jhale@FreeBSD.org>
AuthorDate: 2025-12-27 07:20:12 +0000
Commit:     Jason E. Hale <jhale@FreeBSD.org>
CommitDate: 2025-12-27 07:31:37 +0000

    audio/openal-soft: Update to 1.25.0
    
    https://github.com/kcat/openal-soft/releases/tag/1.25.0
---
 audio/openal-soft/Makefile                         | 18 +++---
 audio/openal-soft/distinfo                         |  6 +-
 audio/openal-soft/files/patch-CMakeLists.txt       |  4 +-
 audio/openal-soft/files/patch-alc_backends_oss.cpp | 69 ++++++++++++++++++++++
 audio/openal-soft/pkg-plist                        |  1 +
 5 files changed, 86 insertions(+), 12 deletions(-)

diff --git a/audio/openal-soft/Makefile b/audio/openal-soft/Makefile
index d846c23752a2..bd9233ebee7f 100644
--- a/audio/openal-soft/Makefile
+++ b/audio/openal-soft/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	openal-soft
-PORTVERSION=	1.24.3
+PORTVERSION=	1.25.0
 CATEGORIES=	audio
 MASTER_SITES=	https://openal-soft.org/openal-releases/
 
@@ -12,13 +12,17 @@ LICENSE_FILE=	${WRKSRC}/COPYING
 
 LIB_DEPENDS=	libdbus-1.so:devel/dbus
 
-USES=		cmake compiler:c++17-lang pkgconfig tar:bzip2
+USES=		cmake compiler:c++20-lang pkgconfig tar:bzip2
 USE_LDCONFIG=	yes
 
 CMAKE_ARGS=	-DCMAKE_INSTALL_DATADIR:STRING="${PREFIX}/etc"
 CMAKE_ON=	ALSOFT_BACKEND_WAVE
-CMAKE_OFF=	ALSOFT_BACKEND_ALSA ALSOFT_DLOPEN ALSOFT_EXAMPLES \
-		ALSOFT_REQUIRE_SOLARIS
+CMAKE_OFF=	ALSOFT_BACKEND_ALSA \
+		ALSOFT_DLOPEN \
+		ALSOFT_EXAMPLES \
+		ALSOFT_ENABLE_MODULES \
+		ALSOFT_REQUIRE_SOLARIS \
+		CMAKE_CXX_SCAN_FOR_MODULES
 
 # Use pthread instead of C11 threads
 CFLAGS+=	-D__STDC_NO_THREADS__
@@ -40,12 +44,12 @@ OPTIONS_DEFAULT_i386=	SIMD
 
 OPTIONS_SUB=		yes
 
-CONFIG_DESC=		Install configuration utility (needs Qt 5)
+CONFIG_DESC=		Install configuration utility (needs Qt6)
 UTILS_DESC=		Build and install utility programs
 
 CONFIG_IMPLIES=		UTILS
-CONFIG_USES=		qt:5
-CONFIG_USE=		QT=core,gui,widgets,buildtools:build,qmake:build
+CONFIG_USES=		qt:6
+CONFIG_USE=		QT=base
 CONFIG_CMAKE_BOOL_OFF=	ALSOFT_NO_CONFIG_UTIL
 
 JACK_LIB_DEPENDS=	libjack.so:audio/jack
diff --git a/audio/openal-soft/distinfo b/audio/openal-soft/distinfo
index 4c70f2736a10..a38c45c7f411 100644
--- a/audio/openal-soft/distinfo
+++ b/audio/openal-soft/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1746663895
-SHA256 (openal-soft-1.24.3.tar.bz2) = cb5e6197a1c0da0edcf2a81024953cc8fa8545c3b9474e48c852af709d587892
-SIZE (openal-soft-1.24.3.tar.bz2) = 1025568
+TIMESTAMP = 1766818253
+SHA256 (openal-soft-1.25.0.tar.bz2) = f671087c9043b1e92cd0b125af6f43663249d3c02bc6d580d774a47a91050e0e
+SIZE (openal-soft-1.25.0.tar.bz2) = 1111903
diff --git a/audio/openal-soft/files/patch-CMakeLists.txt b/audio/openal-soft/files/patch-CMakeLists.txt
index 59cc59de4b5b..a500c699a2c3 100644
--- a/audio/openal-soft/files/patch-CMakeLists.txt
+++ b/audio/openal-soft/files/patch-CMakeLists.txt
@@ -1,6 +1,6 @@
---- CMakeLists.txt.orig	2020-11-04 10:00:35 UTC
+--- CMakeLists.txt.orig	2025-12-22 09:17:45 UTC
 +++ CMakeLists.txt
-@@ -1394,19 +1394,19 @@ endif()
+@@ -1876,19 +1876,19 @@ if(ALSOFT_INSTALL_CONFIG)
  
  if(ALSOFT_INSTALL_CONFIG)
      install(FILES alsoftrc.sample
diff --git a/audio/openal-soft/files/patch-alc_backends_oss.cpp b/audio/openal-soft/files/patch-alc_backends_oss.cpp
new file mode 100644
index 000000000000..b8e75ecf6ec1
--- /dev/null
+++ b/audio/openal-soft/files/patch-alc_backends_oss.cpp
@@ -0,0 +1,69 @@
+Backport upstream commits to fix build.
+
+https://github.com/kcat/openal-soft/commit/278d1dc4d607b84e4e7b2d93af094d7932588962
+https://github.com/kcat/openal-soft/commit/b93a15cc886cda8ce7626e84c637bdaf7c346773
+
+https://github.com/kcat/openal-soft/issues/1215
+
+--- alc/backends/oss.cpp.orig	2025-12-22 09:17:45 UTC
++++ alc/backends/oss.cpp
+@@ -121,7 +121,7 @@ class FileHandle { (public)
+     ~FileHandle() { if(mFd != -1) ::close(mFd); }
+ 
+     template<typename ...Args>
+-    [[nodiscard]] auto open(const char *fname, Args&& ...args) -> bool
++    [[nodiscard]] auto open(gsl::czstring const fname, Args&& ...args) -> bool
+     {
+         close();
+         mFd = ::open(fname, std::forward<Args>(args)...);
+@@ -149,21 +149,25 @@ void ALCossListAppend(std::vector<DevMap> &list, std::
+             if(strncmp(path.data() + i, handle.data() + hoffset, path.size() - i) == 0)
+                 handle = handle.substr(0, hoffset);
+             path = path.substr(0, i);
++            break;
+         }
+     }
+ #endif
+-    if(handle.empty())
+-        handle = path;
++    if(path.empty())
++        return;
+ 
+     if(std::ranges::find(list, path, &DevMap::device_name) != list.end())
+         return;
+ 
++    if(handle.empty())
++        handle = path;
++
+     auto count = 1;
+     auto newname = std::string{handle};
+     while(std::ranges::find(list, newname, &DevMap::name) != list.end())
+         newname = al::format("{} #{}", handle, ++count);
+ 
+-    const auto &entry = list.emplace_back(std::move(newname), path);
++    const auto &entry = list.emplace_back(std::move(newname), std::string{path});
+     TRACE("Got device \"{}\", \"{}\"", entry.name, entry.device_name);
+ }
+ 
+@@ -208,16 +212,12 @@ done:
+ done:
+     file.close();
+ 
+-    const char *defdev{((type_flag==DSP_CAP_INPUT) ? DefaultCapture : DefaultPlayback).c_str()};
+-    auto iter = std::ranges::find(devlist, defdev, &DevMap::device_name);
+-    if(iter == devlist.end())
+-        devlist.insert(devlist.begin(), DevMap{GetDefaultName(), defdev});
++    auto const &defdev = (type_flag == DSP_CAP_INPUT) ? DefaultCapture : DefaultPlayback;
++    if(auto const iter = std::ranges::find(devlist, defdev, &DevMap::device_name);
++        iter != devlist.end())
++        std::ranges::rotate(devlist.begin(), iter, iter+1);
+     else
+-    {
+-        auto entry = DevMap{std::move(*iter)};
+-        devlist.erase(iter);
+-        devlist.insert(devlist.begin(), std::move(entry));
+-    }
++        devlist.insert(devlist.begin(), DevMap{std::string{GetDefaultName()}, defdev});
+     devlist.shrink_to_fit();
+ }
+ 
diff --git a/audio/openal-soft/pkg-plist b/audio/openal-soft/pkg-plist
index 2788e8ed9529..883989b43b16 100644
--- a/audio/openal-soft/pkg-plist
+++ b/audio/openal-soft/pkg-plist
@@ -41,3 +41,4 @@ libdata/pkgconfig/openal.pc
 %%PORTEXAMPLES%%%%EXAMPLESDIR%%/altonegen.c
 %%PORTEXAMPLES%%%%EXAMPLESDIR%%/common/alhelpers.c
 %%PORTEXAMPLES%%%%EXAMPLESDIR%%/common/alhelpers.h
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/common/alhelpers.hpp