Skip to content

Commit

Permalink
[openal-soft] Update to 1.24.0
Browse files Browse the repository at this point in the history
  • Loading branch information
dpogue committed Nov 26, 2024
1 parent c698ac9 commit 181b90e
Show file tree
Hide file tree
Showing 7 changed files with 152 additions and 67 deletions.
40 changes: 40 additions & 0 deletions ports/openal-soft/187ed2df39ab1f5ea92b97d4d3e0894da87e297b.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
From 187ed2df39ab1f5ea92b97d4d3e0894da87e297b Mon Sep 17 00:00:00 2001
From: Darryl Pogue <darryl@dpogue.ca>
Date: Mon, 25 Nov 2024 19:01:03 -0800
Subject: [PATCH] vcpkg fixup for finding CppWinRT

---
CMakeLists.txt | 17 ++---------------
1 file changed, 2 insertions(+), 15 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 412e8ae7..95b5d758 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1414,21 +1414,8 @@ else()
${MATH_LIB})

if(ALSOFT_UWP)
- set(ALSOFT_CPPWINRT_VERSION "2.0.230706.1" CACHE STRING "The soft-oal default cppwinrt version")
-
- find_program(NUGET_EXE NAMES nuget)
- if(NOT NUGET_EXE)
- message("NUGET.EXE not found.")
- message(FATAL_ERROR "Please install this executable, and run CMake again.")
- endif()
-
- exec_program(${NUGET_EXE}
- ARGS install "Microsoft.Windows.CppWinRT" -Version ${ALSOFT_CPPWINRT_VERSION} -ExcludeVersion -OutputDirectory "\"${CMAKE_BINARY_DIR}/packages\"")
-
- set_target_properties(${IMPL_TARGET} PROPERTIES
- VS_PROJECT_IMPORT ${CMAKE_BINARY_DIR}/packages/Microsoft.Windows.CppWinRT/build/native/Microsoft.Windows.CppWinRT.props
- )
- target_link_libraries(${IMPL_TARGET} PRIVATE ${CMAKE_BINARY_DIR}/packages/Microsoft.Windows.CppWinRT/build/native/Microsoft.Windows.CppWinRT.targets)
+ find_package(cppwinrt CONFIG REQUIRED)
+ target_link_libraries(${IMPL_TARGET} PRIVATE Microsoft::CppWinRT)
endif()

if(NOT WIN32 AND NOT APPLE)
--
2.47.1

89 changes: 89 additions & 0 deletions ports/openal-soft/96f62e37e9ae015ee104e568cb57ea0d8964a84b.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
From 96f62e37e9ae015ee104e568cb57ea0d8964a84b Mon Sep 17 00:00:00 2001
From: Darryl Pogue <darryl@dpogue.ca>
Date: Sat, 23 Nov 2024 15:39:13 -0800
Subject: [PATCH] Only use noexcept in public headers on >= C++11

This resolves issues consuming openal-soft in projects that don't
explicitly specify a C++ standard of C++11 or newer.

This also handles the fact that __cplusplus is not set properly in MSVC
(always claiming to be 199711L) which prevented both the C++11 noexcept
and the C++17 noexcept annotations from taking effect.

Ref: https://github.com/kcat/openal-soft/pull/1071
---
include/AL/al.h | 14 +++++++++++++-
include/AL/alc.h | 14 +++++++++++++-
2 files changed, 26 insertions(+), 2 deletions(-)

diff --git a/include/AL/al.h b/include/AL/al.h
index e9f8f3b1..a4e3ad51 100644
--- a/include/AL/al.h
+++ b/include/AL/al.h
@@ -5,9 +5,19 @@
#ifdef __cplusplus
extern "C" {

+#ifdef _MSVC_LANG
+#define AL_CPLUSPLUS _MSVC_LANG
+#else
+#define AL_CPLUSPLUS __cplusplus
+#endif
+
#ifndef AL_DISABLE_NOEXCEPT
+#if AL_CPLUSPLUS >= 201103L
#define AL_API_NOEXCEPT noexcept
-#if __cplusplus >= 201703L
+#else
+#define AL_API_NOEXCEPT
+#endif
+#if AL_CPLUSPLUS >= 201703L
#define AL_API_NOEXCEPT17 noexcept
#else
#define AL_API_NOEXCEPT17
@@ -19,6 +29,8 @@ extern "C" {
#define AL_API_NOEXCEPT17
#endif

+#undef AL_CPLUSPLUS
+
#else /* __cplusplus */

#define AL_API_NOEXCEPT
diff --git a/include/AL/alc.h b/include/AL/alc.h
index 3311b57f..d048ca04 100644
--- a/include/AL/alc.h
+++ b/include/AL/alc.h
@@ -5,9 +5,19 @@
#ifdef __cplusplus
extern "C" {

+#ifdef _MSVC_LANG
+#define ALC_CPLUSPLUS _MSVC_LANG
+#else
+#define ALC_CPLUSPLUS __cplusplus
+#endif
+
#ifndef AL_DISABLE_NOEXCEPT
+#if ALC_CPLUSPLUS >= 201103L
#define ALC_API_NOEXCEPT noexcept
-#if __cplusplus >= 201703L
+#else
+#define ALC_API_NOEXCEPT
+#endif
+#if ALC_CPLUSPLUS >= 201703L
#define ALC_API_NOEXCEPT17 noexcept
#else
#define ALC_API_NOEXCEPT17
@@ -19,6 +29,8 @@ extern "C" {
#define ALC_API_NOEXCEPT17
#endif

+#undef ALC_CPLUSPLUS
+
#else /* __cplusplus */

#define ALC_API_NOEXCEPT
--
2.47.0

54 changes: 0 additions & 54 deletions ports/openal-soft/c12ada68951ea67a59bef7d4fcdf22334990c12a.patch

This file was deleted.

18 changes: 10 additions & 8 deletions ports/openal-soft/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@ vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO kcat/openal-soft
REF ${VERSION}
SHA512 21f768484978e4321b733004988cb5ecf43d908e7e08f2d421a338633fcfb2ade722d035de73742470ff135ab538d6b9b56df14020976adb1d1e081dfb095c6b
SHA512 6fdb5e02f4d4e2d483bccf69121dda9b691170e88d301f53b5e3b3ab196541d7b0b23a868acdf85f6dacac9d8508079f67cb7d733e186a13a66ee70ecdd813f0
HEAD_REF master
PATCHES
c12ada68951ea67a59bef7d4fcdf22334990c12a.patch # Merged upstream, remove in next version
96f62e37e9ae015ee104e568cb57ea0d8964a84b.patch # Merged upstream, remove in next version
187ed2df39ab1f5ea92b97d4d3e0894da87e297b.patch # Fix CppWinRT for UWP
)

vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
Expand Down Expand Up @@ -44,9 +45,9 @@ vcpkg_cmake_configure(
-DALSOFT_UTILS=OFF
-DALSOFT_NO_CONFIG_UTIL=ON
-DALSOFT_EXAMPLES=OFF
-DALSOFT_CONFIG=OFF
-DALSOFT_HRTF_DEFS=OFF
-DALSOFT_AMBDEC_PRESETS=OFF
-DALSOFT_INSTALL_CONFIG=OFF
-DALSOFT_INSTALL_HRTF_DATA=OFF
-DALSOFT_INSTALL_AMBDEC_PRESETS=OFF
-DALSOFT_BACKEND_ALSA=${ALSOFT_REQUIRE_LINUX}
-DALSOFT_BACKEND_OSS=OFF
-DALSOFT_BACKEND_SOLARIS=OFF
Expand All @@ -64,7 +65,7 @@ vcpkg_cmake_configure(
-DCMAKE_DISABLE_FIND_PACKAGE_WindowsSDK=ON
-DCMAKE_POLICY_DEFAULT_CMP0057=NEW
MAYBE_UNUSED_VARIABLES
ALSOFT_AMBDEC_PRESETS
ALSOFT_INSTALL_AMBDEC_PRESETS
ALSOFT_BACKEND_ALSA
ALSOFT_BACKEND_COREAUDIO
ALSOFT_BACKEND_JACK
Expand All @@ -75,12 +76,13 @@ vcpkg_cmake_configure(
ALSOFT_BACKEND_PULSEAUDIO
ALSOFT_BACKEND_SNDIO
ALSOFT_BACKEND_SOLARIS
ALSOFT_CONFIG
ALSOFT_INSTALL_CONFIG
ALSOFT_CPUEXT_NEON
ALSOFT_HRTF_DEFS
ALSOFT_INSTALL_HRTF_DATA
ALSOFT_BACKEND_WINMM
ALSOFT_BACKEND_DSOUND
CMAKE_DISABLE_FIND_PACKAGE_WindowsSDK
CMAKE_POLICY_DEFAULT_CMP0057
)

vcpkg_cmake_install()
Expand Down
9 changes: 6 additions & 3 deletions ports/openal-soft/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,16 +1,19 @@
{
"name": "openal-soft",
"version": "1.23.1",
"port-version": 2,
"version": "1.24.0",
"description": "OpenAL Soft is an LGPL-licensed, cross-platform, software implementation of the OpenAL 3D audio API.",
"homepage": "https://github.com/kcat/openal-soft",
"license": "LGPL-2.0-or-later",
"supports": "!uwp & !xbox",
"supports": "!xbox",
"dependencies": [
{
"name": "alsa",
"platform": "linux"
},
{
"name": "cppwinrt",
"platform": "uwp"
},
{
"name": "vcpkg-cmake",
"host": true
Expand Down
4 changes: 2 additions & 2 deletions versions/baseline.json
Original file line number Diff line number Diff line change
Expand Up @@ -6617,8 +6617,8 @@
"port-version": 0
},
"openal-soft": {
"baseline": "1.23.1",
"port-version": 2
"baseline": "1.24.0",
"port-version": 0
},
"openblas": {
"baseline": "0.3.28",
Expand Down
5 changes: 5 additions & 0 deletions versions/o-/openal-soft.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "137257eb7378d83836adecdaf83807ef8f7f120c",
"version": "1.24.0",
"port-version": 0
},
{
"git-tree": "f6ba0a57ee95816ceac7fc3b882bdcc6029591cb",
"version": "1.23.1",
Expand Down

0 comments on commit 181b90e

Please sign in to comment.