summary refs log tree commit diff
path: root/pkgs/os-specific/linux/ffado/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/os-specific/linux/ffado/default.nix')
-rw-r--r--pkgs/os-specific/linux/ffado/default.nix64
1 files changed, 30 insertions, 34 deletions
diff --git a/pkgs/os-specific/linux/ffado/default.nix b/pkgs/os-specific/linux/ffado/default.nix
index 027706c25b7..3b3d5605248 100644
--- a/pkgs/os-specific/linux/ffado/default.nix
+++ b/pkgs/os-specific/linux/ffado/default.nix
@@ -1,61 +1,57 @@
-{ stdenv, fetchurl, scons, pkgconfig, which, makeWrapper, python
-, expat, libraw1394, libconfig, libavc1394, libiec61883, libxmlxx
+{ stdenv, fetchurl, scons, pkgconfig, which, makeWrapper, python3
+, libraw1394, libconfig, libavc1394, libiec61883, libxmlxx3
 , glibmm
 , alsaLib, dbus, dbus_cplusplus
-, pyqt4, dbus-python
 }:
 
-stdenv.mkDerivation rec {
-  name = "ffado-${version}";
-  version = "2.4.0";
+let
+  inherit (python3.pkgs) pyqt5 dbus-python;
+  python = python3.withPackages (pkgs: with pkgs; [ pyqt5 dbus-python ]);
+in stdenv.mkDerivation rec {
+  pname = "ffado";
+  version = "2.4.1";
 
   src = fetchurl {
     url = "http://www.ffado.org/files/libffado-${version}.tgz";
-    sha256 = "14rprlcd0gpvg9kljh0zzjzd2rc9hbqqpjidshxxjvvfh4r00f4f";
+    sha256 = "0byr3kv58d1ryy60vr69fd868zlfkvl2gq9hl94dqdn485l9pq9y";
   };
 
+  patches = [
+    # fix installing metainfo file
+    ./fix-build.patch
+  ];
+
   outputs = [ "out" "bin" "dev" ];
 
-  nativeBuildInputs = [ scons pkgconfig which makeWrapper python ];
+  nativeBuildInputs = [ scons pkgconfig which makeWrapper python pyqt5 ];
 
   prefixKey = "PREFIX=";
   sconsFlags = [
     "DEBUG=False"
     "ENABLE_ALL=True"
-    "SERIALIZE_USE_EXPAT=True"
     "BUILD_TESTS=False"
     "WILL_DEAL_WITH_XDG_MYSELF=True"
     "BUILD_MIXER=True"
+    "UDEVDIR=${placeholder "out"}/lib/udev/rules.d"
+    "PYPKGDIR=${placeholder "out"}/${python3.sitePackages}"
+    "BINDIR=${placeholder "bin"}/bin"
+    "INCLUDEDIR=${placeholder "dev"}/include"
+    "PYTHON_INTERPRETER=${python.interpreter}"
   ];
 
-  configurePhase = ''
-    mkdir -p $out/lib/udev/rules.d $bin/bin $dev/include \
-             $out/lib/${python.libPrefix}/site-packages
-    sconsFlagsArray+=(UDEVDIR=$out/lib/udev/rules.d)
-    sconsFlagsArray+=(PYPKGDIR=$out/lib/${python.libPrefix}/site-packages)
-    sconsFlagsArray+=(BINDIR=$bin/bin)
-    sconsFlagsArray+=(INCLUDEDIR=$dev/include)
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $(pkg-config --cflags libxml++-2.6)"
-  '';
-
   buildInputs = [
-    expat libraw1394 libconfig libavc1394 libiec61883 dbus dbus_cplusplus
-    libxmlxx pyqt4 dbus-python glibmm
+    libraw1394
+    libconfig
+    libavc1394
+    libiec61883
+    dbus
+    dbus_cplusplus
+    libxmlxx3
+    python
+    glibmm
   ];
 
-  postPatch = ''
-    sed '1iimport sys' -i SConstruct
-  '';
-
-  postInstall = ''
-    for exe in $bin/bin/ffado-mixer $bin/bin/ffado-diag; do
-      wrapProgram $exe \
-        --prefix PYTHONPATH : $out/lib/${python.libPrefix}/site-packages \
-        --prefix PYTHONPATH : $out/share/libffado/python \
-        --prefix PYTHONPATH : ${pyqt4}/lib/${python.libPrefix}/site-packages \
-        --prefix PYTHONPATH : ${dbus-python}/lib/${python.libPrefix}/site-packages
-    done
-  '';
+  enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
     homepage = http://www.ffado.org;