summaryrefslogtreecommitdiff
path: root/extra/libffado
diff options
context:
space:
mode:
authorMichał Masłowski <mtjm@mtjm.eu>2012-05-01 14:47:52 +0200
committerMichał Masłowski <mtjm@mtjm.eu>2012-05-01 14:47:52 +0200
commitc8bd9200906149d53827aaa64e85a7008d51339f (patch)
tree9e366130f0f7afde9d7a478b5c898d873aed0483 /extra/libffado
parentd9a9508e07a00015e2a2f278719a9665ff565961 (diff)
parent752015395fc8b95cc4a86b68189cb747fe9a8499 (diff)
Merge branch 'master' of ssh://parabolagnulinux.org:1863/home/parabola/abslibre-pre-mips64el
Conflicts: community/jack2/PKGBUILD extra/pulseaudio/PKGBUILD extra/vim/PKGBUILD multilib/lib32-gnutls/PKGBUILD testing/dmraid/PKGBUILD testing/dmraid/dmraid_hook testing/dmraid/dmraid_install testing/e2fsprogs/PKGBUILD testing/openssh/PKGBUILD testing/openssh/sshd.pam testing/php/PKGBUILD testing/php/php-fpm.conf.in.patch testing/php/php.ini.patch testing/xfce4-session/PKGBUILD
Diffstat (limited to 'extra/libffado')
-rw-r--r--extra/libffado/PKGBUILD23
-rw-r--r--extra/libffado/fix-segfault-on-close.patch64
-rw-r--r--extra/libffado/libffado-gcc47.patch55
3 files changed, 133 insertions, 9 deletions
diff --git a/extra/libffado/PKGBUILD b/extra/libffado/PKGBUILD
index 3bc12b63f..b4d1fb454 100644
--- a/extra/libffado/PKGBUILD
+++ b/extra/libffado/PKGBUILD
@@ -1,29 +1,34 @@
-# $Id: PKGBUILD 142989 2011-11-19 21:35:53Z schiv $
+# $Id: PKGBUILD 157813 2012-04-30 03:19:10Z heftig $
# Maintainer: Ray Rashif <schiv@archlinux.org>
# Contributor: galiyosha@gmail.com
# Contributor: Jon Kristian Nilsen <jokr.nilsen@gmail.com>
pkgname=libffado
pkgver=2.0.1
-pkgrel=5
+pkgrel=7
pkgdesc="Driver for FireWire audio devices"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.ffado.org/"
license=('GPL')
depends=('libiec61883' 'libavc1394' 'libsigc++'
- 'libxml++' 'alsa-lib' 'dbus')
-makedepends=('scons' 'python2-qt')
+ 'libxml++' 'alsa-lib' 'dbus')
+makedepends=('scons' 'python2-pyqt')
optdepends=('python2: ffado-diag'
- 'python2-qt: mixer applet')
+ 'python2-pyqt: mixer applet')
provides=('ffado')
source=("http://www.ffado.org/files/$pkgname-$pkgver.tar.gz"
- '60-ffado.rules')
+ "libffado-gcc47.patch" "fix-segfault-on-close.patch" '60-ffado.rules')
md5sums=('786f31facd417e6207e429f50af0e15e'
+ '287bb3f506e31626c4b8f91f0e1d9407'
+ 'ac9763cb2dc2f3eb4e1894e30645c6f1'
'f03a3e950801c4405b8934084651bca8')
build() {
cd "$srcdir/$pkgname-$pkgver"
+ patch -p1 -i "$srcdir"/libffado-gcc47.patch
+ patch -p3 -i "$srcdir"/fix-segfault-on-close.patch
+
# hack to use CFLAGS without optimising
sed -i 's/-O2//g' SConstruct
@@ -40,7 +45,7 @@ build() {
sed -i 's:python support/tools:python2 support/tools:' \
support/tools/SConscript
- scons PREFIX=/usr #ENABLE_OPTIMIZATIONS=True
+ scons PREFIX=/usr
}
package() {
@@ -51,7 +56,7 @@ package() {
# add audio device rules
# see https://bugs.archlinux.org/task/26342
install -Dm644 "$srcdir/60-ffado.rules" \
- "$pkgdir/lib/udev/rules.d/60-ffado.rules"
+ "$pkgdir/usr/lib/udev/rules.d/60-ffado.rules"
# python2 fix
for i in $(grep '^#!.*bin.*python' -R "$pkgdir" | sed 's/:.*//'); do
@@ -63,7 +68,7 @@ package() {
"$pkgdir/usr/share/applications/ffadomixer.desktop"
install -Dm644 support/xdg/hi64-apps-ffado.png \
- "$pkgdir/usr/share/pixmaps/$pkgname.png"
+ "$pkgdir/usr/share/pixmaps/$pkgname.png"
}
# vim:set ts=2 sw=2 et:
diff --git a/extra/libffado/fix-segfault-on-close.patch b/extra/libffado/fix-segfault-on-close.patch
new file mode 100644
index 000000000..c81b97e40
--- /dev/null
+++ b/extra/libffado/fix-segfault-on-close.patch
@@ -0,0 +1,64 @@
+Index: /trunk/libffado/src/debugmodule/debugmodule.h
+===================================================================
+--- /trunk/libffado/src/debugmodule/debugmodule.h (revision 1763)
++++ /trunk/libffado/src/debugmodule/debugmodule.h (revision 1999)
+@@ -283,6 +283,10 @@
+ void hexDumpQuadlets( quadlet_t *data_start, unsigned int length );
+
++class DebugModuleManager;
++
+ class DebugModule {
+ public:
++ friend class DebugModuleManager;
++
+ enum {
+ eDL_Message = DEBUG_LEVEL_MESSAGE,
+@@ -333,4 +337,5 @@
+ std::string m_name;
+ debug_level_t m_level;
++ DebugModuleManager* m_manager;
+ };
+
+Index: /trunk/libffado/src/debugmodule/debugmodule.cpp
+===================================================================
+--- /trunk/libffado/src/debugmodule/debugmodule.cpp (revision 1763)
++++ /trunk/libffado/src/debugmodule/debugmodule.cpp (revision 1999)
+@@ -84,5 +84,6 @@
+ // << endl;
+ // }
+- if ( !DebugModuleManager::instance()->unregisterModule( *this ) ) {
++
++ if (m_manager && !m_manager->unregisterModule( *this ) ) {
+ cerr << "Could not unregister DebugModule at DebugModuleManager"
+ << endl;
+@@ -263,12 +264,9 @@
+ DebugModuleManager::~DebugModuleManager()
+ {
+- // cleanin up leftover modules
+- for ( DebugModuleVectorIterator it = m_debugModules.begin();
+- it != m_debugModules.end();
+- ++it )
++ // cleaning up leftover modules
++ while (!m_debugModules.empty())
+ {
+- fprintf(stderr,"Cleaning up leftover debug module: %s\n",(*it)->getName().c_str());
+- m_debugModules.erase( it );
+- delete *it;
++ DebugModule *mod = m_debugModules.back();
++ unregisterModule(*mod);
+ }
+
+@@ -455,4 +453,6 @@
+ } else {
+ m_debugModules.push_back( &debugModule );
++ if (debugModule.m_manager == NULL)
++ debugModule.m_manager = this;
+ }
+ return true;
+@@ -469,4 +469,6 @@
+ if ( *it == &debugModule ) {
+ m_debugModules.erase( it );
++ if (debugModule.m_manager == this)
++ debugModule.m_manager = NULL;
+ return true;
+ }
diff --git a/extra/libffado/libffado-gcc47.patch b/extra/libffado/libffado-gcc47.patch
new file mode 100644
index 000000000..f296956a5
--- /dev/null
+++ b/extra/libffado/libffado-gcc47.patch
@@ -0,0 +1,55 @@
+diff -Naur libffado-2.0.1-old/src/bebob/bebob_dl_mgr.cpp libffado-2.0.1/src/bebob/bebob_dl_mgr.cpp
+--- libffado-2.0.1-old/src/bebob/bebob_dl_mgr.cpp 2009-05-17 23:42:38.000000000 +1000
++++ libffado-2.0.1/src/bebob/bebob_dl_mgr.cpp 2012-04-29 15:26:29.011454798 +1000
+@@ -35,6 +35,7 @@
+
+ #include <cstdio>
+ #include <cstring>
++#include <unistd.h>
+
+ namespace BeBoB {
+ enum {
+diff -Naur libffado-2.0.1-old/src/ffadodevice.cpp libffado-2.0.1/src/ffadodevice.cpp
+--- libffado-2.0.1-old/src/ffadodevice.cpp 2008-11-23 21:25:32.000000000 +1000
++++ libffado-2.0.1/src/ffadodevice.cpp 2012-04-29 15:26:54.883998052 +1000
+@@ -34,6 +34,7 @@
+
+ #include <iostream>
+ #include <sstream>
++#include <unistd.h>
+
+ #include <assert.h>
+
+diff -Naur libffado-2.0.1-old/src/fireworks/fireworks_device.cpp libffado-2.0.1/src/fireworks/fireworks_device.cpp
+--- libffado-2.0.1-old/src/fireworks/fireworks_device.cpp 2009-11-23 00:40:08.000000000 +1000
++++ libffado-2.0.1/src/fireworks/fireworks_device.cpp 2012-04-29 15:27:24.123105334 +1000
+@@ -44,6 +44,7 @@
+ #define FIREWORKS_MIN_FIRMWARE_VERSION 0x04080000
+
+ #include <sstream>
++#include <unistd.h>
+ using namespace std;
+
+ // FireWorks is the platform used and developed by ECHO AUDIO
+diff -Naur libffado-2.0.1-old/src/libieee1394/IsoHandlerManager.cpp libffado-2.0.1/src/libieee1394/IsoHandlerManager.cpp
+--- libffado-2.0.1-old/src/libieee1394/IsoHandlerManager.cpp 2010-04-18 05:15:54.000000000 +1000
++++ libffado-2.0.1/src/libieee1394/IsoHandlerManager.cpp 2012-04-29 15:27:44.515816147 +1000
+@@ -34,6 +34,7 @@
+ #include "libutil/Configuration.h"
+
+ #include <cstring>
++#include <unistd.h>
+ #include <assert.h>
+
+ IMPL_DEBUG_MODULE( IsoHandlerManager, IsoHandlerManager, DEBUG_LEVEL_NORMAL );
+diff -Naur libffado-2.0.1-old/support/dbus/test-dbus.cpp libffado-2.0.1/support/dbus/test-dbus.cpp
+--- libffado-2.0.1-old/support/dbus/test-dbus.cpp 2008-04-27 03:30:41.000000000 +1000
++++ libffado-2.0.1/support/dbus/test-dbus.cpp 2012-04-29 15:28:31.531047923 +1000
+@@ -24,6 +24,7 @@
+ #include <argp.h>
+ #include <stdlib.h>
+ #include <iostream>
++#include <unistd.h>
+ #include <signal.h>
+
+ #include "controlclient.h"