commit 754a5d8153963175ed028fc7d91ea13612900021 Author: Dmitry Samoylik Date: Sun Dec 29 13:49:34 2024 +0300 import libspatialaudio-3.1-16.20200406gitd926a2e.el10 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..fe908a3 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/libspatialaudio-d926a2e.tar.gz diff --git a/.libspatialaudio.metadata b/.libspatialaudio.metadata new file mode 100644 index 0000000..1323a80 --- /dev/null +++ b/.libspatialaudio.metadata @@ -0,0 +1 @@ +fae381e157e9c106b460285e1ac4949169c3b13c SOURCES/libspatialaudio-d926a2e.tar.gz diff --git a/SOURCES/0001-Fix-MySofa-library-directory-detection.patch b/SOURCES/0001-Fix-MySofa-library-directory-detection.patch new file mode 100644 index 0000000..494d196 --- /dev/null +++ b/SOURCES/0001-Fix-MySofa-library-directory-detection.patch @@ -0,0 +1,73 @@ +From 6795100468b683187bd9e284205cdb3cab42a4fa Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Robert-Andr=C3=A9=20Mauchin?= +Date: Mon, 6 May 2024 15:04:15 +0200 +Subject: [PATCH] Fix MySofa library directory detection + +Current code was causing issues because: + +get_filename_component(MYSOFA_LIB_DIR "${MYSOFA_LIBRARIES}" DIRECTORY) + +was nil. + +Thus we had: + +Libs: -L${libdir} -lspatialaudio -L -lmysofa -lm -lz + +in spatialaudio.pc + +And thus, while building vlc, libtool was unhappy: + +libtool: error: require no space between '-L' and '-lmysofa' + +Here we use proper pkg-config feature PKG_CONFIG_LIBRARY_DIRS +to get the directory set in libmysofa.pc, with a find_path fallback. +--- + CMakeLists.txt | 3 +-- + cmake/Modules/FindMySofa.cmake | 11 +++++++++++ + 2 files changed, 12 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index bcdc866..080191d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -137,8 +137,7 @@ configure_file( + ) + + if(MYSOFA_FOUND) +- get_filename_component(MYSOFA_LIB_DIR "${MYSOFA_LIBRARIES}" DIRECTORY) +- set(MYSOFA_LIB "-L${MYSOFA_LIB_DIR} -lmysofa") ++ set(MYSOFA_LIB "-L${MYSOFA_LIBRARY_DIRS} -lmysofa") + set(MYSOFA_INCLUDE "-I${MYSOFA_INCLUDE_DIRS}") + endif(MYSOFA_FOUND) + +diff --git a/cmake/Modules/FindMySofa.cmake b/cmake/Modules/FindMySofa.cmake +index 0b125c3..5e81962 100644 +--- a/cmake/Modules/FindMySofa.cmake ++++ b/cmake/Modules/FindMySofa.cmake +@@ -23,12 +23,23 @@ if(PKG_CONFIG_FOUND) + pkg_check_modules(MYSOFA libmysofa) + endif(PKG_CONFIG_FOUND) + ++if(MYSOFA) ++ set(MYSOFA_INCLUDE_DIRS ${MYSOFA_PKG_CONFIG_INCLUDE_DIRS}) ++ set(MYSOFA_LIBRARY_DIRS ${MYSOFA_PKG_CONFIG_LIBRARY_DIRS}) ++endif() ++ + if(NOT MYSOFA_LIBRARIES) + find_library(MYSOFA_LIBRARIES + NAMES mysofa + ) + endif(NOT MYSOFA_LIBRARIES) + ++if(NOT MYSOFA_LIBRARY_DIRS) ++ find_path(MYSOFA_LIBRARY_DIRS ++ NAMES libmysofa.so ++ ) ++endif(NOT MYSOFA_LIBRARY_DIRS) ++ + if(NOT MYSOFA_INCLUDE_DIRS) + find_path(MYSOFA_INCLUDE_DIRS + NAMES mysofa.h +-- +2.44.0 + diff --git a/SPECS/libspatialaudio.spec b/SPECS/libspatialaudio.spec new file mode 100644 index 0000000..eb7d602 --- /dev/null +++ b/SPECS/libspatialaudio.spec @@ -0,0 +1,119 @@ +%global commit0 d926a2ee469a3fefd50a9364fb9ac6fb484c3f70 +%global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) +%global date0 20200406 + +Name: libspatialaudio +Version: 3.1 +Release: 16.%{date0}git%{?shortcommit0}%{?dist} +Summary: Ambisonic encoding / decoding and binauralization library + +License: LGPLv2+ +URL: https://github.com/videolabs/libspatialaudio +Source0: %{url}/archive/%{commit0}/%{name}-%{shortcommit0}.tar.gz +# https://github.com/videolabs/libspatialaudio/pull/41 +# Needed to fix the VLC build +Patch1: 0001-Fix-MySofa-library-directory-detection.patch + +BuildRequires: cmake3 +BuildRequires: gcc +BuildRequires: gcc-c++ +BuildRequires: pkgconfig(libmysofa) + + +%description +libspatialaudio is an open-source and cross-platform C++ library for +Ambisonic encoding and decoding, filtering and binaural rendering. It is +targetted to render High-Order Ambisonic (HOA) and VR/3D audio samples +in multiple environments, from headphones to classic loudspeakers. Its +binaural rendering can be used for classical 5.1/7.1 spatial channels +as well as Ambisonics inputs. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +# sofa_hrtf.h includes mysofa.h +Requires: pkgconfig(libmysofa) + +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + + +%prep +%autosetup -p1 -n %{name}-%{commit0} + + +%build +%cmake3 \ + -DBUILD_STATIC_LIBS=OFF + +%cmake_build + + +%install +%cmake_install + + +%ldconfig_scriptlets + + +%files +%license LICENSE +%doc README.md +%{_libdir}/libspatialaudio.so.1* + +%files devel +%{_includedir}/* +%{_libdir}/libspatialaudio.so +%{_libdir}/pkgconfig/spatialaudio.pc + + +%changelog +* Sun Dec 29 2024 Dmitriy Samoylik - 3.1-16.20200406gitd926a2e +- Rebuilt for MSVSphere 10 + +* Thu Jul 18 2024 Fedora Release Engineering - 3.1-16.20200406gitd926a2e +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Mon May 06 2024 Robert-André Mauchin - 3.1-15.20200406gitd926a2e +- Add patch to fix MySofa library directory detection + +* Tue Apr 09 2024 Yaakov Selkowitz - 3.1-14.20200406gitd926a2e +- Add libmysofa devel dependency + +* Thu Jan 25 2024 Fedora Release Engineering - 3.1-13.20200406gitd926a2e +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 3.1-12.20200406gitd926a2e +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Jul 20 2023 Fedora Release Engineering - 3.1-11.20200406gitd926a2e +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Fri Mar 03 2023 Nicolas Chauvet - 3.1-10.20200406gitd926a2e +- Revert previous update to avoid API breakage with vlc-3.x + +* Thu Jan 19 2023 Fedora Release Engineering - 3.1-8.20200406gitd926a2e +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Thu Jul 21 2022 Fedora Release Engineering - 3.1-7.20200406gitd926a2e +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Jan 20 2022 Fedora Release Engineering - 3.1-6.20200406gitd926a2e +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Thu Jul 22 2021 Fedora Release Engineering - 3.1-5.20200406gitd926a2e +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Jan 26 2021 Fedora Release Engineering - 3.1-4.20200406gitd926a2e +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Sat Aug 01 2020 Fedora Release Engineering - 3.1-3.20200406gitd926a2e +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 3.1-2.20200406gitd926a2e +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Apr 13 2020 Nicolas Chauvet - 3.1-1.20200406gitd926a2e +- Initial spec file