summaryrefslogtreecommitdiff
path: root/media-libs/libffado/files
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs/libffado/files')
-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
2 files changed, 71 insertions, 0 deletions
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;