mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
media-libs/libsoundio: new ebuild
This commit is contained in:
1
media-libs/libsoundio/Manifest
Normal file
1
media-libs/libsoundio/Manifest
Normal file
@@ -0,0 +1 @@
|
||||
DIST libsoundio-1.0.0.tar.gz 112139 SHA256 f05d87916266b6b32020c3e13b78ce9f3a758c43c8f8c8bbaf37578d99e1d3e2 SHA512 d0a0eda701d99ef658ee2858dbf4be2ec872d74bc1c9d05ed5484adcc17e774530c150fcd86cd1213a8dceb6373dfd3319a2c97c506ada0cdfe0f02551c0ddd0 WHIRLPOOL 1720e8eb64dc407a17dfbc9ccc8406184e0fa8c5bcc799553e5af181c9faebc0d0ba75fab0c8d9f6332fec6db1711ae9d6afe4be0e970fd5e9b526511b0a8965
|
||||
32
media-libs/libsoundio/files/libsoundio-1.0.0_clang.patch
Normal file
32
media-libs/libsoundio/files/libsoundio-1.0.0_clang.patch
Normal file
@@ -0,0 +1,32 @@
|
||||
From 85c219067579e299f9faddd2c24836cf96cc245b Mon Sep 17 00:00:00 2001
|
||||
From: Andrew Kelley <superjoe30@gmail.com>
|
||||
Date: Thu, 3 Sep 2015 14:05:19 -0700
|
||||
Subject: [PATCH] build: fix build on linux with clang
|
||||
|
||||
closes #8
|
||||
---
|
||||
src/alsa.cpp | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/alsa.cpp b/src/alsa.cpp
|
||||
index 18ef1de..8e779a6 100644
|
||||
--- a/src/alsa.cpp
|
||||
+++ b/src/alsa.cpp
|
||||
@@ -1016,7 +1016,7 @@ static int instream_wait_for_poll(SoundIoInStreamPrivate *is) {
|
||||
}
|
||||
}
|
||||
|
||||
-void outstream_thread_run(void *arg) {
|
||||
+static void outstream_thread_run(void *arg) {
|
||||
SoundIoOutStreamPrivate *os = (SoundIoOutStreamPrivate *) arg;
|
||||
SoundIoOutStream *outstream = &os->pub;
|
||||
SoundIoOutStreamAlsa *osa = &os->backend_data.alsa;
|
||||
@@ -1367,7 +1367,7 @@ static int outstream_start_alsa(SoundIoPrivate *si, SoundIoOutStreamPrivate *os)
|
||||
return 0;
|
||||
}
|
||||
|
||||
-int outstream_begin_write_alsa(SoundIoPrivate *si, SoundIoOutStreamPrivate *os,
|
||||
+static int outstream_begin_write_alsa(SoundIoPrivate *si, SoundIoOutStreamPrivate *os,
|
||||
struct SoundIoChannelArea **out_areas, int *frame_count)
|
||||
{
|
||||
*out_areas = nullptr;
|
||||
@@ -0,0 +1,182 @@
|
||||
From a3dd080fda5a3581de0602b5887cda87dca2a915 Mon Sep 17 00:00:00 2001
|
||||
From: hasufell <hasufell@hasufell.de>
|
||||
Date: Sat, 5 Sep 2015 14:07:22 +0200
|
||||
Subject: [PATCH] Make building examples and tests optional
|
||||
|
||||
---
|
||||
CMakeLists.txt | 136 +++++++++++++++++++++++++++++++--------------------------
|
||||
1 file changed, 74 insertions(+), 62 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index c109af4..7fa8247 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -25,6 +25,8 @@ set(LIBSOUNDIO_VERSION "${LIBSOUNDIO_VERSION_MAJOR}.${LIBSOUNDIO_VERSION_MINOR}.
|
||||
message("Configuring libsoundio version ${LIBSOUNDIO_VERSION}")
|
||||
|
||||
option(BUILD_STATIC_LIBS "Build static libraries" ON)
|
||||
+option(BUILD_EXAMPLE_PROGRAMS "Build example programs" ON)
|
||||
+option(BUILD_TESTS "Build tests" ON)
|
||||
option(ENABLE_JACK "Enable JACK backend" ON)
|
||||
option(ENABLE_PULSEAUDIO "Enable PulseAudio backend" ON)
|
||||
option(ENABLE_ALSA "Enable ALSA backend" ON)
|
||||
@@ -254,80 +256,88 @@ install(FILES
|
||||
|
||||
# Example Programs
|
||||
|
||||
-add_executable(sio_sine example/sio_sine.c)
|
||||
-set_target_properties(sio_sine PROPERTIES
|
||||
- LINKER_LANGUAGE C
|
||||
- COMPILE_FLAGS ${EXAMPLE_CFLAGS})
|
||||
-target_link_libraries(sio_sine libsoundio_shared)
|
||||
-install(TARGETS sio_sine DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
+if(BUILD_EXAMPLE_PROGRAMS)
|
||||
+ add_executable(sio_sine example/sio_sine.c)
|
||||
+ set_target_properties(sio_sine PROPERTIES
|
||||
+ LINKER_LANGUAGE C
|
||||
+ COMPILE_FLAGS ${EXAMPLE_CFLAGS})
|
||||
+ target_link_libraries(sio_sine libsoundio_shared)
|
||||
+ install(TARGETS sio_sine DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
|
||||
-add_executable(sio_list_devices example/sio_list_devices.c)
|
||||
-set_target_properties(sio_list_devices PROPERTIES
|
||||
- LINKER_LANGUAGE C
|
||||
- COMPILE_FLAGS ${EXAMPLE_CFLAGS})
|
||||
-target_link_libraries(sio_list_devices libsoundio_shared)
|
||||
-install(TARGETS sio_list_devices DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
+ add_executable(sio_list_devices example/sio_list_devices.c)
|
||||
+ set_target_properties(sio_list_devices PROPERTIES
|
||||
+ LINKER_LANGUAGE C
|
||||
+ COMPILE_FLAGS ${EXAMPLE_CFLAGS})
|
||||
+ target_link_libraries(sio_list_devices libsoundio_shared)
|
||||
+ install(TARGETS sio_list_devices DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
|
||||
-add_executable(sio_microphone example/sio_microphone.c)
|
||||
-set_target_properties(sio_microphone PROPERTIES
|
||||
- LINKER_LANGUAGE C
|
||||
- COMPILE_FLAGS ${EXAMPLE_CFLAGS})
|
||||
-target_link_libraries(sio_microphone libsoundio_shared)
|
||||
-install(TARGETS sio_microphone DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
+ add_executable(sio_microphone example/sio_microphone.c)
|
||||
+ set_target_properties(sio_microphone PROPERTIES
|
||||
+ LINKER_LANGUAGE C
|
||||
+ COMPILE_FLAGS ${EXAMPLE_CFLAGS})
|
||||
+ target_link_libraries(sio_microphone libsoundio_shared)
|
||||
+ install(TARGETS sio_microphone DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
|
||||
-add_executable(sio_record example/sio_record.c)
|
||||
-set_target_properties(sio_record PROPERTIES
|
||||
- LINKER_LANGUAGE C
|
||||
- COMPILE_FLAGS ${EXAMPLE_CFLAGS})
|
||||
-target_link_libraries(sio_record libsoundio_shared)
|
||||
-install(TARGETS sio_record DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
+ add_executable(sio_record example/sio_record.c)
|
||||
+ set_target_properties(sio_record PROPERTIES
|
||||
+ LINKER_LANGUAGE C
|
||||
+ COMPILE_FLAGS ${EXAMPLE_CFLAGS})
|
||||
+ target_link_libraries(sio_record libsoundio_shared)
|
||||
+ install(TARGETS sio_record DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
+endif()
|
||||
|
||||
+if(BUILD_TESTS)
|
||||
+ include_directories(
|
||||
+ "${CMAKE_SOURCE_DIR}/test"
|
||||
+ )
|
||||
|
||||
-add_executable(unit_tests "${CMAKE_SOURCE_DIR}/test/unit_tests.cpp" ${LIBSOUNDIO_SOURCES})
|
||||
-target_link_libraries(unit_tests LINK_PUBLIC ${LIBSOUNDIO_LIBS})
|
||||
-set_target_properties(unit_tests PROPERTIES
|
||||
- LINKER_LANGUAGE C
|
||||
- COMPILE_FLAGS ${TEST_CFLAGS}
|
||||
- LINK_FLAGS ${TEST_LDFLAGS}
|
||||
-)
|
||||
+ add_executable(unit_tests "${CMAKE_SOURCE_DIR}/test/unit_tests.cpp" ${LIBSOUNDIO_SOURCES})
|
||||
+ target_link_libraries(unit_tests LINK_PUBLIC ${LIBSOUNDIO_LIBS})
|
||||
+ set_target_properties(unit_tests PROPERTIES
|
||||
+ LINKER_LANGUAGE C
|
||||
+ COMPILE_FLAGS ${TEST_CFLAGS}
|
||||
+ LINK_FLAGS ${TEST_LDFLAGS}
|
||||
+ )
|
||||
|
||||
-add_executable(latency "${CMAKE_SOURCE_DIR}/test/latency.cpp" ${LIBSOUNDIO_SOURCES})
|
||||
-target_link_libraries(latency LINK_PUBLIC ${LIBSOUNDIO_LIBS})
|
||||
-set_target_properties(latency PROPERTIES
|
||||
- LINKER_LANGUAGE C
|
||||
- COMPILE_FLAGS ${LIB_CFLAGS}
|
||||
-)
|
||||
+ add_executable(latency "${CMAKE_SOURCE_DIR}/test/latency.cpp" ${LIBSOUNDIO_SOURCES})
|
||||
+ target_link_libraries(latency LINK_PUBLIC ${LIBSOUNDIO_LIBS})
|
||||
+ set_target_properties(latency PROPERTIES
|
||||
+ LINKER_LANGUAGE C
|
||||
+ COMPILE_FLAGS ${LIB_CFLAGS}
|
||||
+ )
|
||||
|
||||
-add_executable(underflow test/underflow.c)
|
||||
-set_target_properties(underflow PROPERTIES
|
||||
- LINKER_LANGUAGE C
|
||||
- COMPILE_FLAGS ${EXAMPLE_CFLAGS})
|
||||
-target_link_libraries(underflow libsoundio_shared)
|
||||
+ add_executable(underflow test/underflow.c)
|
||||
+ set_target_properties(underflow PROPERTIES
|
||||
+ LINKER_LANGUAGE C
|
||||
+ COMPILE_FLAGS ${EXAMPLE_CFLAGS})
|
||||
+ target_link_libraries(underflow libsoundio_shared)
|
||||
|
||||
-add_executable(backend_disconnect_recover test/backend_disconnect_recover.c)
|
||||
-set_target_properties(backend_disconnect_recover PROPERTIES
|
||||
- LINKER_LANGUAGE C
|
||||
- COMPILE_FLAGS ${EXAMPLE_CFLAGS})
|
||||
-target_link_libraries(backend_disconnect_recover libsoundio_shared)
|
||||
+ add_executable(backend_disconnect_recover test/backend_disconnect_recover.c)
|
||||
+ set_target_properties(backend_disconnect_recover PROPERTIES
|
||||
+ LINKER_LANGUAGE C
|
||||
+ COMPILE_FLAGS ${EXAMPLE_CFLAGS})
|
||||
+ target_link_libraries(backend_disconnect_recover libsoundio_shared)
|
||||
|
||||
-add_executable(overflow test/overflow.c)
|
||||
-set_target_properties(overflow PROPERTIES
|
||||
- LINKER_LANGUAGE C
|
||||
- COMPILE_FLAGS ${EXAMPLE_CFLAGS})
|
||||
-target_link_libraries(overflow libsoundio_shared)
|
||||
+ add_executable(overflow test/overflow.c)
|
||||
+ set_target_properties(overflow PROPERTIES
|
||||
+ LINKER_LANGUAGE C
|
||||
+ COMPILE_FLAGS ${EXAMPLE_CFLAGS})
|
||||
+ target_link_libraries(overflow libsoundio_shared)
|
||||
|
||||
|
||||
|
||||
-add_custom_target(coverage
|
||||
- DEPENDS unit_tests
|
||||
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||
- COMMAND lcov --directory . --zerocounters --rc lcov_branch_coverage=1
|
||||
- COMMAND ./unit_tests
|
||||
- COMMAND lcov --directory . --capture --output-file coverage.info --rc lcov_branch_coverage=1
|
||||
- COMMAND lcov --remove coverage.info '/usr/*' --output-file coverage.info.cleaned --rc lcov_branch_coverage=1
|
||||
- COMMAND genhtml -o coverage coverage.info.cleaned --rc lcov_branch_coverage=1
|
||||
- COMMAND rm coverage.info coverage.info.cleaned
|
||||
-)
|
||||
+ add_custom_target(coverage
|
||||
+ DEPENDS unit_tests
|
||||
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||
+ COMMAND lcov --directory . --zerocounters --rc lcov_branch_coverage=1
|
||||
+ COMMAND ./unit_tests
|
||||
+ COMMAND lcov --directory . --capture --output-file coverage.info --rc lcov_branch_coverage=1
|
||||
+ COMMAND lcov --remove coverage.info '/usr/*' --output-file coverage.info.cleaned --rc lcov_branch_coverage=1
|
||||
+ COMMAND genhtml -o coverage coverage.info.cleaned --rc lcov_branch_coverage=1
|
||||
+ COMMAND rm coverage.info coverage.info.cleaned
|
||||
+ )
|
||||
+endif()
|
||||
+
|
||||
|
||||
add_custom_target(doc
|
||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||
@@ -342,6 +352,8 @@ message("\n"
|
||||
"* Install Directory : ${CMAKE_INSTALL_PREFIX}\n"
|
||||
"* Build Type : ${CMAKE_BUILD_TYPE}\n"
|
||||
"* Build static libs : ${BUILD_STATIC_LIBS}\n"
|
||||
+ "* Build examples : ${BUILD_EXAMPLE_PROGRAMS}\n"
|
||||
+ "* Build tests : ${BUILD_TESTS}\n"
|
||||
)
|
||||
|
||||
message(
|
||||
@@ -0,0 +1,52 @@
|
||||
From 0a20aec2a14dcfbcbc741d2002985073094634d8 Mon Sep 17 00:00:00 2001
|
||||
From: Diogo Pereira <sir.suriv@gmail.com>
|
||||
Date: Fri, 4 Sep 2015 17:21:54 +0100
|
||||
Subject: [PATCH] Make building static libs optional
|
||||
|
||||
---
|
||||
CMakeLists.txt | 18 +++++++++++-------
|
||||
1 file changed, 11 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 0e66834..c109af4 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -24,6 +24,7 @@ set(LIBSOUNDIO_VERSION_PATCH 0)
|
||||
set(LIBSOUNDIO_VERSION "${LIBSOUNDIO_VERSION_MAJOR}.${LIBSOUNDIO_VERSION_MINOR}.${LIBSOUNDIO_VERSION_PATCH}")
|
||||
message("Configuring libsoundio version ${LIBSOUNDIO_VERSION}")
|
||||
|
||||
+option(BUILD_STATIC_LIBS "Build static libraries" ON)
|
||||
option(ENABLE_JACK "Enable JACK backend" ON)
|
||||
option(ENABLE_PULSEAUDIO "Enable PulseAudio backend" ON)
|
||||
option(ENABLE_ALSA "Enable ALSA backend" ON)
|
||||
@@ -237,13 +238,15 @@ target_link_libraries(libsoundio_shared LINK_PUBLIC ${LIBSOUNDIO_LIBS})
|
||||
install(TARGETS libsoundio_shared DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
|
||||
|
||||
-add_library(libsoundio_static STATIC ${LIBSOUNDIO_SOURCES})
|
||||
-set_target_properties(libsoundio_static PROPERTIES
|
||||
- OUTPUT_NAME soundio
|
||||
- COMPILE_FLAGS ${LIB_CFLAGS}
|
||||
- LINKER_LANGUAGE C
|
||||
-)
|
||||
-install(TARGETS libsoundio_static DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
+if(BUILD_STATIC_LIBS)
|
||||
+ add_library(libsoundio_static STATIC ${LIBSOUNDIO_SOURCES})
|
||||
+ set_target_properties(libsoundio_static PROPERTIES
|
||||
+ OUTPUT_NAME soundio
|
||||
+ COMPILE_FLAGS ${LIB_CFLAGS}
|
||||
+ LINKER_LANGUAGE C
|
||||
+ )
|
||||
+ install(TARGETS libsoundio_static DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
+endif()
|
||||
|
||||
install(FILES
|
||||
${LIBSOUNDIO_HEADERS}
|
||||
@@ -338,6 +341,7 @@ message("\n"
|
||||
"--------------------\n"
|
||||
"* Install Directory : ${CMAKE_INSTALL_PREFIX}\n"
|
||||
"* Build Type : ${CMAKE_BUILD_TYPE}\n"
|
||||
+ "* Build static libs : ${BUILD_STATIC_LIBS}\n"
|
||||
)
|
||||
|
||||
message(
|
||||
41
media-libs/libsoundio/libsoundio-1.0.0.ebuild
Normal file
41
media-libs/libsoundio/libsoundio-1.0.0.ebuild
Normal file
@@ -0,0 +1,41 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit cmake-multilib
|
||||
|
||||
DESCRIPTION="C99 library providing cross-platform audio input and output."
|
||||
HOMEPAGE="http://libsound.io/"
|
||||
SRC_URI="http://libsound.io/release/${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0/1"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="alsa coreaudio examples pulseaudio static-libs"
|
||||
|
||||
DEPEND="alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
# All of these patches have been merged upstream (#8, #16, #20)
|
||||
PATCHES=( "${FILESDIR}/${P}_clang.patch"
|
||||
"${FILESDIR}/${P}_static-libs.patch"
|
||||
"${FILESDIR}/${P}_examples_tests.patch" )
|
||||
|
||||
# ENABLE_JACK does not support the current version of jack1
|
||||
# See https://github.com/andrewrk/libsoundio/issues/11
|
||||
multilib_src_configure() {
|
||||
local mycmakeargs=(
|
||||
$(cmake-utils_use_enable alsa ALSA)
|
||||
$(cmake-utils_use_enable coreaudio COREAUDIO)
|
||||
-DENABLE_JACK=OFF
|
||||
$(cmake-utils_use_enable pulseaudio PULSEAUDIO)
|
||||
-DENABLE_WASAPI=OFF
|
||||
$(cmake-utils_use static-libs BUILD_STATIC_LIBS)
|
||||
-DBUILD_EXAMPLE_PROGRAMS=$(multilib_native_usex examples "ON" "OFF")
|
||||
-DBUILD_TESTS=OFF
|
||||
)
|
||||
cmake-utils_src_configure
|
||||
}
|
||||
24
media-libs/libsoundio/metadata.xml
Normal file
24
media-libs/libsoundio/metadata.xml
Normal file
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<herd>proxy-maintainers</herd>
|
||||
<maintainer>
|
||||
<email>sir.suriv@gmail.com</email>
|
||||
<name>Diogo Pereira</name>
|
||||
<description>Proxy maintainer. Assign bugs to him.</description>
|
||||
</maintainer>
|
||||
<longdescription lang="en">
|
||||
C99 library providing cross-platform audio input and output. The API is
|
||||
suitable for real-time software such as digital audio workstations as
|
||||
well as consumer software such as music players.
|
||||
</longdescription>
|
||||
<upstream>
|
||||
<maintainer status="active">
|
||||
<email>superjoe30@gmail.com</email>
|
||||
<name>Andrew Kelley</name>
|
||||
</maintainer>
|
||||
<remote-id type="github">andrewrk/libsoundio</remote-id>
|
||||
<bugs-to>https://github.com/andrewrk/libsoundio/issues</bugs-to>
|
||||
<doc lang="en">http://libsound.io/doc/</doc>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
Reference in New Issue
Block a user