diff options
author | Daiderd Jordan <daiderd@gmail.com> | 2017-09-18 23:15:26 +0200 |
---|---|---|
committer | Daiderd Jordan <daiderd@gmail.com> | 2017-09-23 22:33:48 +0200 |
commit | 7d98316a9745ae6538f90dc580b0873074dfd5e5 (patch) | |
tree | 6d6a46e9c1b7eb5e718295e4359cff0cf580a4d1 /pkgs/misc/jackaudio/default.nix | |
parent | bb02b800a2087c08c155abcf7cbfc444e26c19cc (diff) | |
download | nixpkgs-7d98316a9745ae6538f90dc580b0873074dfd5e5.tar nixpkgs-7d98316a9745ae6538f90dc580b0873074dfd5e5.tar.gz nixpkgs-7d98316a9745ae6538f90dc580b0873074dfd5e5.tar.bz2 nixpkgs-7d98316a9745ae6538f90dc580b0873074dfd5e5.tar.lz nixpkgs-7d98316a9745ae6538f90dc580b0873074dfd5e5.tar.xz nixpkgs-7d98316a9745ae6538f90dc580b0873074dfd5e5.tar.zst nixpkgs-7d98316a9745ae6538f90dc580b0873074dfd5e5.zip |
libjack2: fix darwin build
Diffstat (limited to 'pkgs/misc/jackaudio/default.nix')
-rw-r--r-- | pkgs/misc/jackaudio/default.nix | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/pkgs/misc/jackaudio/default.nix b/pkgs/misc/jackaudio/default.nix index 52f288deba3..20da91efede 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 = '' |