jackaudio: reenable on darwin
Apply patch to fix darwin build.
This commit is contained in:
parent
c82bb3133c
commit
6e7cc807ff
@ -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"
|
|
||||||
|
|
@ -1,8 +1,9 @@
|
|||||||
{ stdenv, fetchFromGitHub, pkgconfig, python2Packages, makeWrapper
|
{ stdenv, fetchFromGitHub, pkgconfig, python2Packages, makeWrapper
|
||||||
|
, fetchpatch
|
||||||
, bash, libsamplerate, libsndfile, readline, eigen, celt
|
, bash, libsamplerate, libsndfile, readline, eigen, celt
|
||||||
, wafHook
|
, wafHook, aften
|
||||||
# Darwin Dependencies
|
# Darwin Dependencies
|
||||||
, aften, AudioToolbox, CoreAudio, CoreFoundation
|
, AudioUnit, CoreAudio, cf-private, libobjc, Accelerate
|
||||||
|
|
||||||
# Optional Dependencies
|
# Optional Dependencies
|
||||||
, dbus ? null, libffado ? null, alsaLib ? null
|
, dbus ? null, libffado ? null, alsaLib ? null
|
||||||
@ -39,22 +40,20 @@ stdenv.mkDerivation rec {
|
|||||||
nativeBuildInputs = [ pkgconfig python makeWrapper wafHook ];
|
nativeBuildInputs = [ pkgconfig python makeWrapper wafHook ];
|
||||||
buildInputs = [ libsamplerate libsndfile readline eigen celt
|
buildInputs = [ libsamplerate libsndfile readline eigen celt
|
||||||
optDbus optPythonDBus optLibffado optAlsaLib optLibopus
|
optDbus optPythonDBus optLibffado optAlsaLib optLibopus
|
||||||
] ++ optionals stdenv.isDarwin [ aften AudioToolbox CoreAudio CoreFoundation ];
|
aften
|
||||||
|
] ++ optionals stdenv.isDarwin [
|
||||||
# CoreFoundation 10.10 doesn't include CFNotificationCenter.h yet.
|
AudioUnit CoreAudio Accelerate cf-private libobjc
|
||||||
patches = optionals stdenv.isDarwin [ ./darwin-cf.patch ];
|
];
|
||||||
|
|
||||||
prePatch = ''
|
prePatch = ''
|
||||||
substituteInPlace svnversion_regenerate.sh \
|
substituteInPlace svnversion_regenerate.sh \
|
||||||
--replace /bin/bash ${bash}/bin/bash
|
--replace /bin/bash ${bash}/bin/bash
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# It looks like one of the frameworks depends on <CoreFoundation/CFAttributedString.h>
|
patches = [ (fetchpatch {
|
||||||
# since frameworks are impure we also have to use the impure CoreFoundation here.
|
url = "https://github.com/jackaudio/jack2/commit/d851fada460d42508a6f82b19867f63853062583.patch";
|
||||||
# FIXME: remove when CoreFoundation is updated to 10.11
|
sha256 = "1iwwxjzvgrj7dz3s8alzlhcgmcarjcbkrgvsmy6kafw21pyyw7hp";
|
||||||
preConfigure = optionalString stdenv.isDarwin ''
|
}) ];
|
||||||
export NIX_CFLAGS_COMPILE="-F${CoreFoundation}/Library/Frameworks $NIX_CFLAGS_COMPILE"
|
|
||||||
'';
|
|
||||||
|
|
||||||
wafConfigureFlags = [
|
wafConfigureFlags = [
|
||||||
"--classic"
|
"--classic"
|
||||||
@ -76,6 +75,5 @@ stdenv.mkDerivation rec {
|
|||||||
license = licenses.gpl2Plus;
|
license = licenses.gpl2Plus;
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
maintainers = with maintainers; [ goibhniu ];
|
maintainers = with maintainers; [ goibhniu ];
|
||||||
badPlatforms = [ "x86_64-darwin" ];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -22992,7 +22992,8 @@ in
|
|||||||
|
|
||||||
jack2 = callPackage ../misc/jackaudio {
|
jack2 = callPackage ../misc/jackaudio {
|
||||||
libopus = libopus.override { withCustomModes = true; };
|
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"; };
|
libjack2 = jack2.override { prefix = "lib"; };
|
||||||
jack2Full = jack2; # TODO: move to aliases.nix
|
jack2Full = jack2; # TODO: move to aliases.nix
|
||||||
|
Loading…
Reference in New Issue
Block a user