summary refs log tree commit diff
path: root/pkgs/misc/jackaudio
diff options
context:
space:
mode:
authorMatthew Bauer <mjbauer95@gmail.com>2019-04-29 21:32:12 -0400
committerMatthew Bauer <mjbauer95@gmail.com>2019-04-29 21:34:25 -0400
commit6e7cc807ffa7549ea089a9599d1d73536365fbdd (patch)
treecf3c02bba7bef28fb11d19966398ee40576902e1 /pkgs/misc/jackaudio
parentc82bb3133cba555d9a61ddcca1d58f770e02efaa (diff)
downloadnixpkgs-6e7cc807ffa7549ea089a9599d1d73536365fbdd.tar
nixpkgs-6e7cc807ffa7549ea089a9599d1d73536365fbdd.tar.gz
nixpkgs-6e7cc807ffa7549ea089a9599d1d73536365fbdd.tar.bz2
nixpkgs-6e7cc807ffa7549ea089a9599d1d73536365fbdd.tar.lz
nixpkgs-6e7cc807ffa7549ea089a9599d1d73536365fbdd.tar.xz
nixpkgs-6e7cc807ffa7549ea089a9599d1d73536365fbdd.tar.zst
nixpkgs-6e7cc807ffa7549ea089a9599d1d73536365fbdd.zip
jackaudio: reenable on darwin
Apply patch to fix darwin build.
Diffstat (limited to 'pkgs/misc/jackaudio')
-rw-r--r--pkgs/misc/jackaudio/darwin-cf.patch49
-rw-r--r--pkgs/misc/jackaudio/default.nix24
2 files changed, 11 insertions, 62 deletions
diff --git a/pkgs/misc/jackaudio/darwin-cf.patch b/pkgs/misc/jackaudio/darwin-cf.patch
deleted file mode 100644
index 0fc0902a0c4..00000000000
--- a/pkgs/misc/jackaudio/darwin-cf.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-diff --git a/common/Jackdmp.cpp b/common/Jackdmp.cpp
-index 7eea281..4b8d75d 100644
---- a/common/Jackdmp.cpp
-+++ b/common/Jackdmp.cpp
-@@ -50,43 +50,11 @@ are "hard-coded" in the source. A much better approach would be to use the contr
- - get available drivers and their possible parameters, then prepare to parse them.
- */
-
--#ifdef __APPLE__
--#include <CoreFoundation/CFNotificationCenter.h>
--#include <CoreFoundation/CoreFoundation.h>
--
--static void notify_server_start(const char* server_name)
--{
--    // Send notification to be used in the JackRouter plugin
--    CFStringRef ref = CFStringCreateWithCString(NULL, server_name, kCFStringEncodingMacRoman);
--    CFNotificationCenterPostNotificationWithOptions(CFNotificationCenterGetDistributedCenter(),
--            CFSTR("com.grame.jackserver.start"),
--            ref,
--            NULL,
--            kCFNotificationDeliverImmediately | kCFNotificationPostToAllSessions);
--    CFRelease(ref);
--}
--
--static void notify_server_stop(const char* server_name)
--{
--    // Send notification to be used in the JackRouter plugin
--    CFStringRef ref1 = CFStringCreateWithCString(NULL, server_name, kCFStringEncodingMacRoman);
--    CFNotificationCenterPostNotificationWithOptions(CFNotificationCenterGetDistributedCenter(),
--            CFSTR("com.grame.jackserver.stop"),
--            ref1,
--            NULL,
--            kCFNotificationDeliverImmediately | kCFNotificationPostToAllSessions);
--    CFRelease(ref1);
--}
--
--#else
--
- static void notify_server_start(const char* server_name)
- {}
- static void notify_server_stop(const char* server_name)
- {}
-
--#endif
--
- static void copyright(FILE* file)
- {
-     fprintf(file, "jackdmp " VERSION "\n"
-
diff --git a/pkgs/misc/jackaudio/default.nix b/pkgs/misc/jackaudio/default.nix
index b37af235d35..a7b3e5f0fde 100644
--- a/pkgs/misc/jackaudio/default.nix
+++ b/pkgs/misc/jackaudio/default.nix
@@ -1,8 +1,9 @@
 { stdenv, fetchFromGitHub, pkgconfig, python2Packages, makeWrapper
+, fetchpatch
 , bash, libsamplerate, libsndfile, readline, eigen, celt
-, wafHook
+, wafHook, aften
 # Darwin Dependencies
-, aften, AudioToolbox, CoreAudio, CoreFoundation
+, AudioUnit, CoreAudio, cf-private, libobjc, Accelerate
 
 # Optional Dependencies
 , dbus ? null, libffado ? null, alsaLib ? null
@@ -39,22 +40,20 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig python makeWrapper wafHook ];
   buildInputs = [ libsamplerate libsndfile readline eigen celt
     optDbus optPythonDBus optLibffado optAlsaLib optLibopus
-  ] ++ optionals stdenv.isDarwin [ aften AudioToolbox CoreAudio CoreFoundation ];
-
-  # CoreFoundation 10.10 doesn't include CFNotificationCenter.h yet.
-  patches = optionals stdenv.isDarwin [ ./darwin-cf.patch ];
+    aften
+  ] ++ optionals stdenv.isDarwin [
+    AudioUnit CoreAudio Accelerate cf-private libobjc
+  ];
 
   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 = optionalString stdenv.isDarwin ''
-    export NIX_CFLAGS_COMPILE="-F${CoreFoundation}/Library/Frameworks $NIX_CFLAGS_COMPILE"
-  '';
+  patches = [ (fetchpatch {
+    url = "https://github.com/jackaudio/jack2/commit/d851fada460d42508a6f82b19867f63853062583.patch";
+    sha256 = "1iwwxjzvgrj7dz3s8alzlhcgmcarjcbkrgvsmy6kafw21pyyw7hp";
+  }) ];
 
   wafConfigureFlags = [
     "--classic"
@@ -76,6 +75,5 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
     maintainers = with maintainers; [ goibhniu ];
-    badPlatforms = [ "x86_64-darwin" ];
   };
 }