summary refs log tree commit diff
path: root/pkgs/os-specific/linux/ffado
diff options
context:
space:
mode:
authorCillian de Roiste <cillian.deroiste@gmail.com>2012-04-07 23:57:30 +0000
committerCillian de Roiste <cillian.deroiste@gmail.com>2012-04-07 23:57:30 +0000
commit285af645e67f6e817afeef4f1122b65d1702077f (patch)
treeb22daf9008d58c03169d1ad39c489863183c6fe0 /pkgs/os-specific/linux/ffado
parent7b00953c70ffecde83e4ed96b1a1709abecd5c99 (diff)
downloadnixpkgs-285af645e67f6e817afeef4f1122b65d1702077f.tar
nixpkgs-285af645e67f6e817afeef4f1122b65d1702077f.tar.gz
nixpkgs-285af645e67f6e817afeef4f1122b65d1702077f.tar.bz2
nixpkgs-285af645e67f6e817afeef4f1122b65d1702077f.tar.lz
nixpkgs-285af645e67f6e817afeef4f1122b65d1702077f.tar.xz
nixpkgs-285af645e67f6e817afeef4f1122b65d1702077f.tar.zst
nixpkgs-285af645e67f6e817afeef4f1122b65d1702077f.zip
Adding extra requirements, fixing some of the ffado utilities
svn path=/nixpkgs/trunk/; revision=33664
Diffstat (limited to 'pkgs/os-specific/linux/ffado')
-rw-r--r--pkgs/os-specific/linux/ffado/default.nix31
-rw-r--r--pkgs/os-specific/linux/ffado/enable-mixer-and-dbus.patch25
2 files changed, 47 insertions, 9 deletions
diff --git a/pkgs/os-specific/linux/ffado/default.nix b/pkgs/os-specific/linux/ffado/default.nix
index 16d88aacf3d..86ce29c8f61 100644
--- a/pkgs/os-specific/linux/ffado/default.nix
+++ b/pkgs/os-specific/linux/ffado/default.nix
@@ -1,9 +1,9 @@
-{stdenv, fetchsvn, dbus_glib, dbus_libs, expat, glibmm, jackaudio
-, libconfig, libiec61883, libraw1394, libxmlxx, pkgconfig, pyqt4, python
-, pythonDBus, qt4, scons }:
+{ stdenv, fetchsvn, dbus, dbus_cplusplus, expat, glibmm, libconfig
+, libavc1394, libiec61883, libraw1394, libxmlxx, makeWrapper, pkgconfig
+, pyqt4, python, pythonDBus, qt4, scons }:
 
 stdenv.mkDerivation rec {
-  name = "libffado-svn";
+  name = "libffado-svn-2117";
 
   src = fetchsvn {
     url = "http://subversion.ffado.org/ffado/trunk/libffado";
@@ -12,18 +12,31 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs =
-    [ dbus_glib dbus_libs expat glibmm jackaudio libconfig libiec61883
-      libraw1394 libxmlxx pkgconfig pyqt4 python pythonDBus qt4 scons
+    [ dbus dbus_cplusplus expat glibmm libavc1394 libconfig
+      libiec61883 libraw1394 libxmlxx makeWrapper pkgconfig pyqt4
+      python pythonDBus qt4 scons
     ];
 
-  buildPhase = "scons";
+  patches = [ ./enable-mixer-and-dbus.patch ];
+
+  preBuild = "export PYLIBSUFFIX=lib/${python.libPrefix}/site-packages";
+
+  # TODO fix ffado-diag, it doesn't seem to use PYPKGDIR
+  buildPhase = "scons PYPKGDIR=$out/$PYLIBSUFFIX";
   installPhase = ''
-    scons PREFIX=$out LIBDIR=$out/lib SHAREDIR=$out/share/libffado install
+    scons PREFIX=$out LIBDIR=$out/lib SHAREDIR=$out/share/libffado \
+      PYPKGDIR=$out/$PYLIBSUFFIX install
+
+    PYDIR=$out/$PYLIBSUFFIX
+    wrapProgram $out/bin/ffado-mixer --prefix PYTHONPATH : \
+      $PYTHONPATH:$PYDIR:${pyqt4}/$LIBSUFFIX:${pythonDBus}/$LIBSUFFIX:
+    wrapProgram $out/bin/ffado-diag --prefix PYTHONPATH : \
+      $PYTHONPATH:$PYDIR:$out/share/libffado/python:${pyqt4}/$LIBSUFFIX:${pythonDBus}/$LIBSUFFIX:
     '';
 
   meta = with stdenv.lib; {
     homepage = http://www.ffado.org;
-    description = "Firewire audio drivers";
+    description = "FireWire audio drivers";
     license = licenses.gpl3;
     maintainers = [ maintainers.goibhniu ];
   };
diff --git a/pkgs/os-specific/linux/ffado/enable-mixer-and-dbus.patch b/pkgs/os-specific/linux/ffado/enable-mixer-and-dbus.patch
new file mode 100644
index 00000000000..44c0b991e0a
--- /dev/null
+++ b/pkgs/os-specific/linux/ffado/enable-mixer-and-dbus.patch
@@ -0,0 +1,25 @@
+--- libffado-r2117/SConstruct	1970-01-01 01:00:01.000000000 +0100
++++ libffado-r2117/SConstruct	2012-04-06 18:26:45.521100690 +0200
+@@ -314,10 +314,8 @@
+ #
+ 
+ # PyQT checks
+-build_mixer = False
+-if conf.CheckForApp( 'which pyuic4' ) and conf.CheckForPyModule( 'dbus' ) and conf.CheckForPyModule( 'PyQt4' ) and conf.CheckForPyModule( 'dbus.mainloop.qt' ):
+-    env['PYUIC4'] = True
+-    build_mixer = True
++env['PYUIC4'] = True
++build_mixer = True
+ 
+ if conf.CheckForApp( 'xdg-desktop-menu --help' ):
+     env['XDG_TOOLS'] = True
+@@ -348,7 +346,8 @@
+     name2 = pkg.replace("+","").replace(".","").replace("-","").upper()
+     env['%s_FLAGS' % name2] = conf.GetPKGFlags( pkg, pkgs[pkg] )
+ 
+-if not env['DBUS1_FLAGS'] or not env['DBUSC1_FLAGS'] or not conf.CheckForApp('which dbusxx-xml2cpp'):
++
++if False:
+     env['DBUS1_FLAGS'] = ""
+     env['DBUSC1_FLAGS'] = ""
+     print """