jackaudio: reenable on darwin

Apply patch to fix darwin build.
This commit is contained in:
Matthew Bauer 2019-04-29 21:32:12 -04:00
parent c82bb3133c
commit 6e7cc807ff
3 changed files with 13 additions and 63 deletions

View file

@ -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"

View file

@ -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" ];
};
}

View file

@ -22992,7 +22992,8 @@ in
jack2 = callPackage ../misc/jackaudio {
libopus = libopus.override { withCustomModes = true; };
inherit (darwin.apple_sdk.frameworks) AudioToolbox CoreAudio CoreFoundation;
inherit (darwin.apple_sdk.frameworks) AudioUnit CoreAudio Accelerate;
inherit (darwin) cf-private libobjc;
};
libjack2 = jack2.override { prefix = "lib"; };
jack2Full = jack2; # TODO: move to aliases.nix