summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiogo Pereira <sir.suriv@gmail.com>2015-09-05 20:01:08 +0100
committerDiogo Pereira <sir.suriv@gmail.com>2015-09-05 20:01:08 +0100
commitf7dd99979ae02bcce1647ce199ae301d6ceeb7f6 (patch)
tree9e56d30c9c7d44a9dfd882ec332adad3624bbac7 /media-libs/libsoundio
parentx11-wm/spectrwm: x86 stable wrt bug #557014 (diff)
downloadgentoo-f7dd99979ae02bcce1647ce199ae301d6ceeb7f6.tar.gz
gentoo-f7dd99979ae02bcce1647ce199ae301d6ceeb7f6.tar.bz2
gentoo-f7dd99979ae02bcce1647ce199ae301d6ceeb7f6.zip
media-libs/libsoundio: new ebuild
Diffstat (limited to 'media-libs/libsoundio')
-rw-r--r--media-libs/libsoundio/Manifest1
-rw-r--r--media-libs/libsoundio/files/libsoundio-1.0.0_clang.patch32
-rw-r--r--media-libs/libsoundio/files/libsoundio-1.0.0_examples_tests.patch182
-rw-r--r--media-libs/libsoundio/files/libsoundio-1.0.0_static-libs.patch52
-rw-r--r--media-libs/libsoundio/libsoundio-1.0.0.ebuild41
-rw-r--r--media-libs/libsoundio/metadata.xml24
6 files changed, 332 insertions, 0 deletions
diff --git a/media-libs/libsoundio/Manifest b/media-libs/libsoundio/Manifest
new file mode 100644
index 000000000000..a0b6df83d050
--- /dev/null
+++ b/media-libs/libsoundio/Manifest
@@ -0,0 +1 @@
+DIST libsoundio-1.0.0.tar.gz 112139 SHA256 f05d87916266b6b32020c3e13b78ce9f3a758c43c8f8c8bbaf37578d99e1d3e2 SHA512 d0a0eda701d99ef658ee2858dbf4be2ec872d74bc1c9d05ed5484adcc17e774530c150fcd86cd1213a8dceb6373dfd3319a2c97c506ada0cdfe0f02551c0ddd0 WHIRLPOOL 1720e8eb64dc407a17dfbc9ccc8406184e0fa8c5bcc799553e5af181c9faebc0d0ba75fab0c8d9f6332fec6db1711ae9d6afe4be0e970fd5e9b526511b0a8965
diff --git a/media-libs/libsoundio/files/libsoundio-1.0.0_clang.patch b/media-libs/libsoundio/files/libsoundio-1.0.0_clang.patch
new file mode 100644
index 000000000000..9c417c0b63b1
--- /dev/null
+++ b/media-libs/libsoundio/files/libsoundio-1.0.0_clang.patch
@@ -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;
diff --git a/media-libs/libsoundio/files/libsoundio-1.0.0_examples_tests.patch b/media-libs/libsoundio/files/libsoundio-1.0.0_examples_tests.patch
new file mode 100644
index 000000000000..aa322c1c7896
--- /dev/null
+++ b/media-libs/libsoundio/files/libsoundio-1.0.0_examples_tests.patch
@@ -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(
diff --git a/media-libs/libsoundio/files/libsoundio-1.0.0_static-libs.patch b/media-libs/libsoundio/files/libsoundio-1.0.0_static-libs.patch
new file mode 100644
index 000000000000..4b0875c5a62f
--- /dev/null
+++ b/media-libs/libsoundio/files/libsoundio-1.0.0_static-libs.patch
@@ -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(
diff --git a/media-libs/libsoundio/libsoundio-1.0.0.ebuild b/media-libs/libsoundio/libsoundio-1.0.0.ebuild
new file mode 100644
index 000000000000..e7fc38681a5f
--- /dev/null
+++ b/media-libs/libsoundio/libsoundio-1.0.0.ebuild
@@ -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
+}
diff --git a/media-libs/libsoundio/metadata.xml b/media-libs/libsoundio/metadata.xml
new file mode 100644
index 000000000000..c6026bf4e066
--- /dev/null
+++ b/media-libs/libsoundio/metadata.xml
@@ -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>