summary refs log tree commit diff
path: root/pkgs/applications/audio/adlplug/default.nix
diff options
context:
space:
mode:
authorOPNA2608 <christoph.neidahl@gmail.com>2022-05-12 15:21:51 +0200
committerOPNA2608 <christoph.neidahl@gmail.com>2022-05-12 15:21:51 +0200
commitafd5edfa387368e4bf0671dc94981850784f09f5 (patch)
treee3a513b545cfa58ca7443d40ca9635a61bd1d941 /pkgs/applications/audio/adlplug/default.nix
parent602471c8ec16448ad858b7d0ea83ec2256653ca9 (diff)
{adl,opn}plug: 1.0.2 -> unstable-2021-12-17, fix Darwin, fix Linux dependencies
Diffstat (limited to 'pkgs/applications/audio/adlplug/default.nix')
-rw-r--r--pkgs/applications/audio/adlplug/default.nix56
1 files changed, 42 insertions, 14 deletions
diff --git a/pkgs/applications/audio/adlplug/default.nix b/pkgs/applications/audio/adlplug/default.nix
index a501cd0a1d883..fe57e29a10725 100644
--- a/pkgs/applications/audio/adlplug/default.nix
+++ b/pkgs/applications/audio/adlplug/default.nix
@@ -13,11 +13,22 @@
 , libXinerama
 , libXext
 , libXcursor
-, libobjc
+, Foundation
 , Cocoa
+, Carbon
 , CoreServices
+, ApplicationServices
+, CoreAudio
+, CoreMIDI
+, AudioToolbox
+, Accelerate
+, CoreImage
+, IOKit
+, AudioUnit
+, QuartzCore
 , WebKit
 , DiscRecording
+, CoreAudioKit
 
   # Enabling JACK requires a JACK server at runtime, no fallback mechanism
 , withJack ? false, jack
@@ -35,25 +46,16 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "${lib.strings.toLower type}plug";
-  version = "1.0.2";
+  version = "unstable-2021-12-17";
 
   src = fetchFromGitHub {
     owner = "jpcima";
     repo = "ADLplug";
-    rev = "v${version}";
+    rev = "a488abedf1783c61cb4f0caa689f1b01bf9aa17d";
     fetchSubmodules = true;
-    sha256 = "0mqx4bzri8s880v7jwd24nb93m5i3aklqld0b3h0hjnz0lh2qz0f";
+    sha256 = "1a5zw0rglqgc5wq1n0s5bxx7y59dsg6qy02236fakl34bvbk60yz";
   };
 
-  patches = [
-    (fetchpatch {
-      url = "https://raw.githubusercontent.com/jpcima/ADLplug/83636c55bec1b86cabf634b9a6d56d07f00ecc61/resources/patch/juce-gcc9.patch";
-      sha256 = "15hkdb76n9lgjsrpczj27ld9b4804bzrgw89g95cj4sc8wwkplyy";
-      extraPrefix = "thirdparty/JUCE/";
-      stripLen = 1;
-    })
-  ];
-
   cmakeFlags = [
     "-DADLplug_CHIP=${chip}"
     "-DADLplug_USE_SYSTEM_FMT=ON"
@@ -61,9 +63,24 @@ stdenv.mkDerivation rec {
   ];
 
   NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin (toString [
+    # "fp.h" file not found
     "-isystem ${CoreServices}/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers"
   ]);
 
+  NIX_LDFLAGS = toString (lib.optionals stdenv.hostPlatform.isDarwin [
+    # Framework that JUCE needs which don't get linked properly
+    "-framework CoreAudioKit"
+    "-framework QuartzCore"
+    "-framework AudioToolbox"
+  ] ++ lib.optionals stdenv.hostPlatform.isLinux [
+    # JUCE dlopen's these at runtime
+    "-lX11"
+    "-lXext"
+    "-lXcursor"
+    "-lXinerama"
+    "-lXrandr"
+  ]);
+
   nativeBuildInputs = [
     cmake
     pkg-config
@@ -81,11 +98,22 @@ stdenv.mkDerivation rec {
     libXext
     libXcursor
   ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
-    libobjc
+    Foundation
     Cocoa
+    Carbon
     CoreServices
+    ApplicationServices
+    CoreAudio
+    CoreMIDI
+    AudioToolbox
+    Accelerate
+    CoreImage
+    IOKit
+    AudioUnit
+    QuartzCore
     WebKit
     DiscRecording
+    CoreAudioKit
   ] ++ lib.optional withJack jack;
 
   postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''