summary refs log tree commit diff
path: root/pkgs/os-specific/linux/ffado
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2019-03-03 02:45:04 +0100
committerJan Tojnar <jtojnar@gmail.com>2019-03-03 12:10:59 +0100
commit8b1816ec5ab6b2ef5eb9c218322ff4742d5d0e99 (patch)
tree98fd0f6ee4082682d10f688bb03d3bf9697906b8 /pkgs/os-specific/linux/ffado
parentc28848a3b3b15417290fbfa7f3ea950b43920fad (diff)
downloadnixpkgs-8b1816ec5ab6b2ef5eb9c218322ff4742d5d0e99.tar
nixpkgs-8b1816ec5ab6b2ef5eb9c218322ff4742d5d0e99.tar.gz
nixpkgs-8b1816ec5ab6b2ef5eb9c218322ff4742d5d0e99.tar.bz2
nixpkgs-8b1816ec5ab6b2ef5eb9c218322ff4742d5d0e99.tar.lz
nixpkgs-8b1816ec5ab6b2ef5eb9c218322ff4742d5d0e99.tar.xz
nixpkgs-8b1816ec5ab6b2ef5eb9c218322ff4742d5d0e99.tar.zst
nixpkgs-8b1816ec5ab6b2ef5eb9c218322ff4742d5d0e99.zip
ffado: 2.4.0 → 2.4.1
Update, switch to Python 3, Qt 5, libxmlxx3, and clean up the expression.
Diffstat (limited to 'pkgs/os-specific/linux/ffado')
-rw-r--r--pkgs/os-specific/linux/ffado/default.nix64
-rw-r--r--pkgs/os-specific/linux/ffado/fix-build.patch26
2 files changed, 56 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;
diff --git a/pkgs/os-specific/linux/ffado/fix-build.patch b/pkgs/os-specific/linux/ffado/fix-build.patch
new file mode 100644
index 00000000000..7e360932613
--- /dev/null
+++ b/pkgs/os-specific/linux/ffado/fix-build.patch
@@ -0,0 +1,26 @@
+From b0f2b20b23780dd2e67a01c15462070dd86c4ac1 Mon Sep 17 00:00:00 2001
+From: Jan Tojnar <jtojnar@gmail.com>
+Date: Sun, 3 Mar 2019 11:50:27 +0100
+Subject: [PATCH] Fix build on Nix
+
+We do not have global /usr.
+---
+ SConstruct | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/SConstruct b/SConstruct
+index 05755e4b..3fbdc1d8 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -537,7 +537,7 @@ env['mandir'] = Template( env.destdir + env['MANDIR'] ).safe_substitute( env )
+ env['pypkgdir'] = Template( env.destdir + env['PYPKGDIR'] ).safe_substitute( env )
+ env['udevdir'] = Template( env.destdir + env['UDEVDIR'] ).safe_substitute( env )
+ env['PYPKGDIR'] = Template( env['PYPKGDIR'] ).safe_substitute( env )
+-env['metainfodir'] = Template( env.destdir + "/usr/share/metainfo" ).safe_substitute( env )
++env['metainfodir'] = Template( env.destdir + env['SHAREDIR'] + "/metainfo" ).safe_substitute( env )
+ 
+ env.Command( target=env['sharedir'], source="", action=Mkdir( env['sharedir'] ) )
+ 
+-- 
+2.19.2
+