about summary refs log tree commit diff
path: root/pkgs/misc/jackaudio/default.nix
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2017-09-28 12:32:57 -0400
committerJohn Ericson <John.Ericson@Obsidian.Systems>2017-09-28 12:32:57 -0400
commitf037625f87b0b1d8852a1f31ebaece5fdbc87a2b (patch)
treeaf8c8369954890db69195a1e9394ce16c7640d7f /pkgs/misc/jackaudio/default.nix
parentf08d6f0e2daf9f3d9daa070eee223855b33c430d (diff)
parent4e22e88b914ffb63393449c5e20fe8843a7ce93b (diff)
downloadnixlib-f037625f87b0b1d8852a1f31ebaece5fdbc87a2b.tar
nixlib-f037625f87b0b1d8852a1f31ebaece5fdbc87a2b.tar.gz
nixlib-f037625f87b0b1d8852a1f31ebaece5fdbc87a2b.tar.bz2
nixlib-f037625f87b0b1d8852a1f31ebaece5fdbc87a2b.tar.lz
nixlib-f037625f87b0b1d8852a1f31ebaece5fdbc87a2b.tar.xz
nixlib-f037625f87b0b1d8852a1f31ebaece5fdbc87a2b.tar.zst
nixlib-f037625f87b0b1d8852a1f31ebaece5fdbc87a2b.zip
Merge remote-tracking branch 'upstream/staging' into deps-reorg
Diffstat (limited to 'pkgs/misc/jackaudio/default.nix')
-rw-r--r--pkgs/misc/jackaudio/default.nix28
1 files changed, 23 insertions, 5 deletions
diff --git a/pkgs/misc/jackaudio/default.nix b/pkgs/misc/jackaudio/default.nix
index 52f288deba33..20da91efede8 100644
--- a/pkgs/misc/jackaudio/default.nix
+++ b/pkgs/misc/jackaudio/default.nix
@@ -1,9 +1,12 @@
 { stdenv, fetchFromGitHub, pkgconfig, python2Packages, makeWrapper
 , bash, libsamplerate, libsndfile, readline, eigen, celt
+# Darwin Dependencies
+, aften, AudioToolbox, CoreAudio, CoreFoundation
 
 # Optional Dependencies
 , dbus ? null, libffado ? null, alsaLib ? null
 , libopus ? null
+, darwin
 
 # Extra options
 , prefix ? ""
@@ -16,7 +19,7 @@ let
 
   libOnly = prefix == "lib";
 
-  optDbus = shouldUsePkg dbus;
+  optDbus = if stdenv.isDarwin then null else shouldUsePkg dbus;
   optPythonDBus = if libOnly then null else shouldUsePkg dbus-python;
   optLibffado = if libOnly then null else shouldUsePkg libffado;
   optAlsaLib = if libOnly then null else shouldUsePkg alsaLib;
@@ -34,21 +37,36 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig python makeWrapper ];
-  buildInputs = [ python libsamplerate libsndfile readline eigen celt
+  buildInputs = [ libsamplerate libsndfile readline eigen celt
     optDbus optPythonDBus optLibffado optAlsaLib optLibopus
-  ];
+  ] ++ stdenv.lib.optionals stdenv.isDarwin [ aften AudioToolbox CoreAudio CoreFoundation ];
 
-  patchPhase = ''
-    substituteInPlace svnversion_regenerate.sh --replace /bin/bash ${bash}/bin/bash
+  # CoreFoundation 10.10 doesn't include CFNotificationCenter.h yet.
+  patches = stdenv.lib.optionals stdenv.isDarwin [ ./clang.patch ./darwin-cf.patch ];
+
+  prePatch = ''
+    substituteInPlace svnversion_regenerate.sh \
+        --replace /bin/bash ${bash}/bin/bash
+  '';
+
+  # It looks like one of the frameworks depends on <CoreFoundation/CFAttributedString.h>
+  # since frameworks are impure we also have to use the impure CoreFoundation here.
+  # FIXME: remove when CoreFoundation is updated to 10.11
+  preConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
+    export NIX_CFLAGS_COMPILE="-F${CoreFoundation}/Library/Frameworks $NIX_CFLAGS_COMPILE"
   '';
 
   configurePhase = ''
+    runHook preConfigure
+
     python waf configure --prefix=$out \
       ${optionalString (optDbus != null) "--dbus"} \
       --classic \
       ${optionalString (optLibffado != null) "--firewire"} \
       ${optionalString (optAlsaLib != null) "--alsa"} \
       --autostart=${if (optDbus != null) then "dbus" else "classic"} \
+
+    runHook postConfigure
   '';
 
   buildPhase = ''