summaryrefslogtreecommitdiff
path: root/media-libs/libffado
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /media-libs/libffado
reinit the tree, so we can have metadata
Diffstat (limited to 'media-libs/libffado')
-rw-r--r--media-libs/libffado/Manifest5
-rw-r--r--media-libs/libffado/files/libffado-2.3.0-gcc6.patch26
-rw-r--r--media-libs/libffado/files/libffado-2.3.0-modelname-strip.patch45
-rw-r--r--media-libs/libffado/libffado-2.3.0.ebuild106
-rw-r--r--media-libs/libffado/metadata.xml20
5 files changed, 202 insertions, 0 deletions
diff --git a/media-libs/libffado/Manifest b/media-libs/libffado/Manifest
new file mode 100644
index 000000000000..ab05c9f0ec8b
--- /dev/null
+++ b/media-libs/libffado/Manifest
@@ -0,0 +1,5 @@
+AUX libffado-2.3.0-gcc6.patch 1311 SHA256 e61f294adc5c9d4a6893669f21bab32820af9b86aeb305a763554f5a028a3a15 SHA512 a700c46af0313511bba311fe95634dc0090507256a9ff60a30d10b221fe267d1190af4710b1c4747f8bfa057b0af96e6bab78f6ec4ecef08fb48425092751cd7 WHIRLPOOL e06093d882f6d4ba76f5728679c805fa446c4bd70e3b8e035ff50c062ab89cfa194ae7288d8ef4162d71c8d5f536257aeac35a9a27205c4bd875cf96611dfa59
+AUX libffado-2.3.0-modelname-strip.patch 2128 SHA256 62f6cad852570dbc760a99da84866215572d55a32a3ead8aeba4fe7eee7e737b SHA512 1ebbe47bdd4d15d6527c4a8c2dfa02861c8a8ce287e1cd44e80356b52007c6e55bc9f267436467f1600c0efbd261da227b947b3648c6a8efcedf8997356153ac WHIRLPOOL 6e85f7b59b2cd48025c49104b74c2731e02844458a61723fd9012369b2a56a6724369836fc0fd56e0335164ed69cd8b61c032c3ebab4711e298a0dfa1f678321
+DIST libffado-2.3.0.tgz 1239253 SHA256 18e3c7e610b7cee58b837c921ebb985e324cb2171f8d130f79de02a3fc435f88 SHA512 24a8853281a17b04623e41dc590f7a9b8f4aebe4dfaece2e3b8fe28457a6ff011586e817712b4913d1fca660b701dddc70576c12d8c56470cf991eb17b4297c4 WHIRLPOOL 8eb1c3f6372b25b173d230500cfad7ef7207d730ec8e048bdb84cd7436e196e5429d85afcea0f626a411c1f792f20f1ab59f0c0b0f5a97b114f646c4a7423053
+EBUILD libffado-2.3.0.ebuild 2609 SHA256 dbbd6e2a18bb04d1665560afbe6af71c6b49e633513fba0c647ae541adcf1bbc SHA512 4b8bb0765932a75810d87b4b49d4f096d4411970bc05fd46f2668d0c6c305ad574a6708795731e8919dc61bf8668a38140f30e280c384270e0139cb6d0f684e2 WHIRLPOOL e9a90e03c1474bf50f5604b1c023648e54bc84702e398bd921402e6005c220a5723fd16fcbbd3231cf251f7e0037f79d76b057bb473c76a5544f73020c77f84a
+MISC metadata.xml 625 SHA256 b2882672b5c43609f8d89f1feff7d1b260a5e2c57242a00bd90e0c6528fb794d SHA512 ac725c6eabcc3cd7fa5ac9f20d936e5a1c494d2a2ed6e504bf27cc750cd328600a8dbcd0adeb27d2bd760ce2b577f9860b1041a899fbfde6b67c4b6a681658eb WHIRLPOOL 964a13f98fca7bd9603910c9188157a54c33881395fe5374a3272e2079cca2b36e3ae679f9f8ff689ea2e1eed57d1c19390aed05099a061a68fa0790a203fc8c
diff --git a/media-libs/libffado/files/libffado-2.3.0-gcc6.patch b/media-libs/libffado/files/libffado-2.3.0-gcc6.patch
new file mode 100644
index 000000000000..2a73ee1cf8cc
--- /dev/null
+++ b/media-libs/libffado/files/libffado-2.3.0-gcc6.patch
@@ -0,0 +1,26 @@
+------------------------------------------------------------------------
+r2629 | jwoithe | 2016-10-09 13:00:28 +0900 (Sun, 09 Oct 2016) | 1 line
+
+TimestampedBuffer.cpp: move the include of math.h to the top of the file which is where most people would expect it to be. The patch comes from a Fedora RPM source package via Simon Lewis, who suggested that without it gcc6 had trouble with the file (the nature of the problem is not known by the FFADO project at this time). Earlier versions of gcc (for example, 4.8.2) had no trouble compiling this file without any math.h include, so the issue that some have seen with gcc6 must be due to math.h being removed from some other system-level include file at some point.
+------------------------------------------------------------------------
+Index: src/libutil/TimestampedBuffer.cpp
+===================================================================
+--- a/src/libutil/TimestampedBuffer.cpp (revision 2628)
++++ b/src/libutil/TimestampedBuffer.cpp (revision 2629)
+@@ -32,6 +32,7 @@
+
+ #include <cstdlib>
+ #include <cstring>
++#include <math.h>
+
+ #define DLL_PI (3.141592653589793238)
+ #define DLL_SQRT2 (1.414213562373095049)
+@@ -179,8 +180,6 @@
+ m_wrap_at=w;
+ return true;
+ }
+-#include <math.h>
+-
+ /**
+ * \brief return the effective rate
+ *
diff --git a/media-libs/libffado/files/libffado-2.3.0-modelname-strip.patch b/media-libs/libffado/files/libffado-2.3.0-modelname-strip.patch
new file mode 100644
index 000000000000..8f28b6ac0f75
--- /dev/null
+++ b/media-libs/libffado/files/libffado-2.3.0-modelname-strip.patch
@@ -0,0 +1,45 @@
+------------------------------------------------------------------------
+r2677 | jwoithe | 2017-03-22 07:43:24 +0900 (Wed, 22 Mar 2017) | 1 line
+
+configrom: there is no obvious reason why a space should be added to the end of the vendor and model strings returned from the interface. Retain the explicit null termination of these strings to cover for the case where an interface may not return any null bytes. Also fix indentation associated with the null termination code. The issue with the trailing space was noticed and reported by Nils Philippsen: its presence broke a test in the saffire_dice mixer python code.
+------------------------------------------------------------------------
+Index: src/libieee1394/configrom.cpp
+===================================================================
+--- a/src/libieee1394/configrom.cpp (revision 2676)
++++ b/src/libieee1394/configrom.cpp (revision 2677)
+@@ -176,13 +176,11 @@
+ ( void* )CSR1212_TEXTUAL_DESCRIPTOR_LEAF_DATA( m_vendorNameKv ),
+ len );
+
+- while ((buf + len - 1) == '\0') {
+- len--;
++ while (*(buf + len - 1) == '\0') {
++ len--;
+ }
+- // \todo XXX seems a bit strage to do this but the nodemgr.c code does
+- // it. try to figure out why this is needed (or not)
+- buf[len++] = ' ';
+- buf[len] = '\0';
++ // Ensure vendor string is null terminated
++ buf[len] = '\0';
+
+
+ debugOutput( DEBUG_LEVEL_VERBOSE, "Vendor name: '%s'\n", buf );
+@@ -195,13 +193,11 @@
+ memcpy( buf,
+ ( void* )CSR1212_TEXTUAL_DESCRIPTOR_LEAF_DATA( m_modelNameKv ),
+ len );
+- while ((buf + len - 1) == '\0') {
+- len--;
++ while (*(buf + len - 1) == '\0') {
++ len--;
+ }
+- // \todo XXX for edirol fa-66 it seems somehow broken. see above
+- // todo as well.
+- buf[len++] = ' ';
+- buf[len] = '\0';
++ // Ensure model name string is null terminated
++ buf[len] = '\0';
+
+ debugOutput( DEBUG_LEVEL_VERBOSE, "Model name: '%s'\n", buf);
+ m_modelName = buf;
diff --git a/media-libs/libffado/libffado-2.3.0.ebuild b/media-libs/libffado/libffado-2.3.0.ebuild
new file mode 100644
index 000000000000..5aa6ee2a3f32
--- /dev/null
+++ b/media-libs/libffado/libffado-2.3.0.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils python-single-r1 scons-utils toolchain-funcs udev multilib-minimal
+
+DESCRIPTION="Driver for IEEE1394 (Firewire) audio interfaces"
+HOMEPAGE="http://www.ffado.org"
+
+if [ "${PV}" = "9999" ]; then
+ inherit subversion
+ ESVN_REPO_URI="http://subversion.ffado.org/ffado/trunk/${PN}"
+ KEYWORDS="~arm ~arm64 ~ia64 ~ppc ~ppc64"
+else
+ SRC_URI="http://www.ffado.org/files/${P}.tgz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64"
+fi
+
+LICENSE="GPL-2 GPL-3"
+SLOT="0"
+IUSE="debug qt4 test-programs"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="dev-cpp/libxmlpp:2.6[${MULTILIB_USEDEP}]
+ dev-libs/dbus-c++
+ dev-libs/libconfig[cxx,${MULTILIB_USEDEP}]
+ media-libs/alsa-lib
+ media-libs/libiec61883[${MULTILIB_USEDEP}]
+ !<media-sound/jack-audio-connection-kit-0.122.0:0
+ !<media-sound/jack-audio-connection-kit-1.9.9:2
+ sys-apps/dbus
+ sys-libs/libraw1394[${MULTILIB_USEDEP}]
+ sys-libs/libavc1394[${MULTILIB_USEDEP}]
+ ${PYTHON_DEPS}
+ qt4? (
+ dev-python/PyQt4[dbus,${PYTHON_USEDEP}]
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ x11-misc/xdg-utils
+ )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}/libffado-2.3.0-modelname-strip.patch"
+ "${FILESDIR}/libffado-2.3.0-gcc6.patch"
+)
+
+myescons() {
+ local myesconsargs=(
+ PREFIX="${EPREFIX}/usr"
+ LIBDIR="${EPREFIX}/usr/$(get_libdir)"
+ MANDIR="${EPREFIX}/usr/share/man"
+ UDEVDIR="$(get_udevdir)/rules.d"
+ CUSTOM_ENV=true
+ DETECT_USERSPACE_ENV=false
+ DEBUG=$(usex debug)
+ # ENABLE_OPTIMIZATIONS detects cpu type and sets flags accordingly
+ # -fomit-frame-pointer is added also which can cripple debugging.
+ # we set flags from portage instead
+ ENABLE_OPTIMIZATIONS=false
+ # This only works for JACK1>=0.122.0 or JACK2>=1.9.9, so we block
+ # lower versions.
+ ENABLE_SETBUFFERSIZE_API_VER=force
+ )
+ if multilib_is_native_abi; then
+ myesconsargs+=(
+ BUILD_MIXER=$(usex qt4 true false)
+ BUILD_TESTS=$(usex test-programs)
+ )
+ else
+ myesconsargs+=(
+ BUILD_MIXER=false
+ BUILD_TESTS=false
+ )
+ fi
+ escons "${myesconsargs[@]}" "${@}"
+}
+
+src_prepare() {
+ default
+ multilib_copy_sources
+}
+
+multilib_src_compile() {
+ tc-export CC CXX
+ myescons
+}
+
+multilib_src_install() {
+ myescons DESTDIR="${D}" WILL_DEAL_WITH_XDG_MYSELF="True" install
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ python_fix_shebang "${D}"
+ python_optimize "${D}"
+
+ if use qt4; then
+ newicon "support/xdg/hi64-apps-ffado.png" "ffado.png"
+ newmenu "support/xdg/ffado.org-ffadomixer.desktop" "ffado-mixer.desktop"
+ fi
+}
diff --git a/media-libs/libffado/metadata.xml b/media-libs/libffado/metadata.xml
new file mode 100644
index 000000000000..52a13df73d66
--- /dev/null
+++ b/media-libs/libffado/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>marcan@marcan.st</email>
+ <name>Hector Martin</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proaudio@gentoo.org</email>
+ <name>Gentoo ProAudio Project</name>
+ </maintainer>
+ <use>
+ <flag name="qt4">Install qt4-based mixer frontend</flag>
+ <flag name="test-programs">Install standalone test programs</flag>
+ </use>
+</pkgmetadata>