commit
5d75efcfaf
@ -0,0 +1 @@
|
|||||||
|
libmysofa-*.tar.gz
|
@ -0,0 +1,87 @@
|
|||||||
|
diff -up libmysofa-1.1/CMakeLists.txt.static libmysofa-1.1/CMakeLists.txt
|
||||||
|
--- libmysofa-1.1/CMakeLists.txt.static 2020-06-13 17:02:13.000000000 +0200
|
||||||
|
+++ libmysofa-1.1/CMakeLists.txt 2020-07-08 10:13:45.639569055 +0200
|
||||||
|
@@ -7,6 +7,7 @@ include(GNUInstallDirs)
|
||||||
|
|
||||||
|
option(BUILD_TESTS "Build test programs" ON)
|
||||||
|
option(BUILD_SHARED_LIBS "Build shared library" ON)
|
||||||
|
+option(BUILD_STATIC_LIBS "Build static library" OFF)
|
||||||
|
option(CODE_COVERAGE "Enable coverage reporting" ON)
|
||||||
|
|
||||||
|
set(CPACK_PACKAGE_DESCRIPTION "SOFA file reader for better HRTFs")
|
||||||
|
diff -up libmysofa-1.1/src/CMakeLists.txt.static libmysofa-1.1/src/CMakeLists.txt
|
||||||
|
--- libmysofa-1.1/src/CMakeLists.txt.static 2020-06-13 17:02:13.000000000 +0200
|
||||||
|
+++ libmysofa-1.1/src/CMakeLists.txt 2020-07-08 10:18:22.885044829 +0200
|
||||||
|
@@ -75,6 +75,7 @@ set(libsrc
|
||||||
|
hrtf/easy.c
|
||||||
|
hrtf/cache.c
|
||||||
|
resampler/speex_resampler.c)
|
||||||
|
+if(BUILD_STATIC_LIBS)
|
||||||
|
add_library(mysofa-static STATIC ${libsrc})
|
||||||
|
target_link_libraries(mysofa-static LINK_PRIVATE ${MATH} ${ZLIB_LIBRARIES})
|
||||||
|
set_target_properties(
|
||||||
|
@@ -83,15 +84,16 @@ set_target_properties(
|
||||||
|
ON)
|
||||||
|
install(TARGETS mysofa-static ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||||
|
|
||||||
|
-if(UNIX
|
||||||
|
- AND CODE_COVERAGE
|
||||||
|
- AND CMAKE_CXX_COMPILER_ID MATCHES "GNU")
|
||||||
|
- target_compile_options(mysofa-static PUBLIC -g -O0 -Wall -fprofile-arcs
|
||||||
|
- -ftest-coverage)
|
||||||
|
- if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.13)
|
||||||
|
- target_link_options(mysofa-static PUBLIC --coverage)
|
||||||
|
- else()
|
||||||
|
- target_link_libraries(mysofa-static LINK_PUBLIC gcov --coverage)
|
||||||
|
+ if(UNIX
|
||||||
|
+ AND CODE_COVERAGE
|
||||||
|
+ AND CMAKE_CXX_COMPILER_ID MATCHES "GNU")
|
||||||
|
+ target_compile_options(mysofa-static PUBLIC -g -O0 -Wall -fprofile-arcs
|
||||||
|
+ -ftest-coverage)
|
||||||
|
+ if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.13)
|
||||||
|
+ target_link_options(mysofa-static PUBLIC --coverage)
|
||||||
|
+ else()
|
||||||
|
+ target_link_libraries(mysofa-static LINK_PUBLIC gcov --coverage)
|
||||||
|
+ endif()
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
@@ -137,7 +139,11 @@ install(FILES hrtf/mysofa.h DESTINATION
|
||||||
|
|
||||||
|
if(BUILD_TESTS)
|
||||||
|
add_executable(mysofa2json tests/sofa2json.c tests/json.c)
|
||||||
|
- target_link_libraries(mysofa2json mysofa-static)
|
||||||
|
+ if(BUILD_STATIC_LIBS)
|
||||||
|
+ target_link_libraries(mysofa2json mysofa-static)
|
||||||
|
+ else()
|
||||||
|
+ target_link_libraries(mysofa2json mysofa-shared)
|
||||||
|
+ endif()
|
||||||
|
|
||||||
|
add_executable(
|
||||||
|
external
|
||||||
|
@@ -159,7 +159,11 @@ if(BUILD_TESTS)
|
||||||
|
tests/cache.c
|
||||||
|
tests/json.c
|
||||||
|
tests/user_defined_variable.c)
|
||||||
|
- target_link_libraries(external mysofa-static ${CUNIT_LIBRARIES})
|
||||||
|
+ if(BUILD_STATIC_LIBS)
|
||||||
|
+ target_link_libraries(external mysofa-static ${CUNIT_LIBRARIES})
|
||||||
|
+ else()
|
||||||
|
+ target_link_libraries(external mysofa-shared ${CUNIT_LIBRARIES} m)
|
||||||
|
+ endif()
|
||||||
|
add_test(
|
||||||
|
NAME external
|
||||||
|
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
||||||
|
@@ -173,7 +177,11 @@ if(BUILD_TESTS)
|
||||||
|
COMMAND internal)
|
||||||
|
|
||||||
|
add_executable(multithread tests/multithread.c)
|
||||||
|
- target_link_libraries(multithread mysofa-static pthread)
|
||||||
|
+ if(BUILD_STATIC_LIBS)
|
||||||
|
+ target_link_libraries(multithread mysofa-static pthread)
|
||||||
|
+ else()
|
||||||
|
+ target_link_libraries(multithread mysofa-shared pthread m)
|
||||||
|
+ endif()
|
||||||
|
add_test(
|
||||||
|
NAME multithread
|
||||||
|
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
@ -0,0 +1,106 @@
|
|||||||
|
# Some tests are failing:
|
||||||
|
# https://github.com/hoene/libmysofa/issues/129
|
||||||
|
%ifarch s390x
|
||||||
|
%global _without_tests 1
|
||||||
|
%endif
|
||||||
|
%if 0%{?el7:1}
|
||||||
|
%ifarch ppc64le
|
||||||
|
%global _without_tests 1
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
|
||||||
|
Name: libmysofa
|
||||||
|
Version: 1.1
|
||||||
|
Release: 1%{?dist}
|
||||||
|
Summary: C functions for reading HRTFs
|
||||||
|
|
||||||
|
License: BSD
|
||||||
|
URL: https://github.com/hoene/libmysofa
|
||||||
|
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
|
||||||
|
# See https://github.com/hoene/libmysofa/pull/127
|
||||||
|
Patch0: libmysofa-no_static.patch
|
||||||
|
|
||||||
|
BuildRequires: cmake3
|
||||||
|
BuildRequires: gcc
|
||||||
|
BuildRequires: gcc-c++
|
||||||
|
BuildRequires: pkgconfig(cunit)
|
||||||
|
BuildRequires: pkgconfig(zlib)
|
||||||
|
# for tests
|
||||||
|
%{?!_without_tests:BuildRequires: nodejs}
|
||||||
|
|
||||||
|
|
||||||
|
%description
|
||||||
|
This is a simple set of C functions to read AES SOFA files, if they
|
||||||
|
contain HRTFs stored according to the AES69-2015 standard.
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: Development files for %{name}
|
||||||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
|
%description devel
|
||||||
|
The %{name}-devel package contains libraries and header files for
|
||||||
|
developing applications that use %{name}.
|
||||||
|
|
||||||
|
%package -n mysofa
|
||||||
|
Summary: Tools for %{name}
|
||||||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
|
%description -n mysofa
|
||||||
|
Tools for %{name}.
|
||||||
|
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -p1
|
||||||
|
|
||||||
|
|
||||||
|
%build
|
||||||
|
mkdir -p build
|
||||||
|
cd build
|
||||||
|
%cmake3 \
|
||||||
|
-DBUILD_STATIC_LIBS=OFF \
|
||||||
|
-DCODE_COVERAGE=OFF \
|
||||||
|
-DCMAKE_VERBOSE_MAKEFILE=ON \
|
||||||
|
..
|
||||||
|
|
||||||
|
%make_build
|
||||||
|
|
||||||
|
|
||||||
|
%install
|
||||||
|
cd build
|
||||||
|
%make_install
|
||||||
|
|
||||||
|
|
||||||
|
%{?!_without_tests:
|
||||||
|
%check
|
||||||
|
cd build
|
||||||
|
make test || (cat Testing/Temporary/LastTest.log && exit 1)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
%ldconfig_scriptlets
|
||||||
|
|
||||||
|
|
||||||
|
%files
|
||||||
|
%license LICENSE
|
||||||
|
%doc README.md
|
||||||
|
%{_libdir}/libmysofa.so.1*
|
||||||
|
|
||||||
|
%files -n mysofa
|
||||||
|
%{_bindir}/mysofa2json
|
||||||
|
%dir %{_datadir}/libmysofa
|
||||||
|
%{_datadir}/libmysofa/default.sofa
|
||||||
|
%{_datadir}/libmysofa/MIT_KEMAR_normal_pinna.sofa
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%doc CODE_OF_CONDUCT.md
|
||||||
|
%{_includedir}/mysofa.h
|
||||||
|
%{_libdir}/libmysofa.so
|
||||||
|
%{_libdir}/pkgconfig/libmysofa.pc
|
||||||
|
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Mon Jun 29 2020 Nicolas Chauvet <kwizart@gmail.com> - 1.1-1
|
||||||
|
- Update to 1.1
|
||||||
|
|
||||||
|
* Mon Apr 13 2020 Nicolas Chauvet <kwizart@gmail.com> - 1.0-1
|
||||||
|
- Initial spec file
|
Loading…
Reference in new issue