Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[openal-soft] Update to 1.24.0 #42196

Merged
merged 2 commits into from
Nov 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions ports/libmikmod/find-openal.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
From 505d9ebf6ad31d4f28ca0fbab6cf299a88d08036 Mon Sep 17 00:00:00 2001
From: dpogue <[email protected]>
Date: Sun, 24 Nov 2024 22:37:46 -0800
Subject: [PATCH] Use find_package for OpenAL

---
CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 53a174e..0be2166 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -799,7 +799,7 @@ ELSE()
ENDIF(ENABLE_SDL)

IF (ENABLE_OPENAL)
- include(FindOpenAL)
+ find_package(OpenAL CONFIG)
IF (OPENAL_FOUND)
SET (DRV_OPENAL 1)
CHECK_MULTI_INCLUDE_FILES("AL/al.h" "AL/alc.h")
--
2.45.2.windows.1

1 change: 1 addition & 0 deletions ports/libmikmod/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ vcpkg_from_sourceforge(
PATCHES
fix-missing-dll.patch
name_conflict.patch
find-openal.patch
)

if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
Expand Down
2 changes: 1 addition & 1 deletion ports/libmikmod/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "libmikmod",
"version": "3.3.11.1",
"port-version": 12,
"port-version": 13,
"description": "Mikmod is a module player and library supporting many formats, including mod, s3m, it, and xm.",
"homepage": "https://sourceforge.net/projects/mikmod/",
"license": "LGPL-2.1-or-later",
Expand Down
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 <[email protected]>
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 <[email protected]>
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
6 changes: 3 additions & 3 deletions versions/baseline.json
Original file line number Diff line number Diff line change
Expand Up @@ -4818,7 +4818,7 @@
},
"libmikmod": {
"baseline": "3.3.11.1",
"port-version": 12
"port-version": 13
},
"libmodbus": {
"baseline": "3.1.10",
Expand Down 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/l-/libmikmod.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "08cebfdc8c42b806efd724c21ce95a95b615b232",
"version": "3.3.11.1",
"port-version": 13
},
{
"git-tree": "f76309c386e04e04888bb094d32b960d0c3cdc39",
"version": "3.3.11.1",
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