about summary refs log tree commit diff
path: root/pkgs/applications
diff options
context:
space:
mode:
authorJanne Heß <janne@hess.ooo>2022-05-13 11:57:07 +0200
committerGitHub <noreply@github.com>2022-05-13 11:57:07 +0200
commit1b0f5bf701bd045145def11fd568ecac6e97b57f (patch)
treeda58bb32bc62d25b93ffe07579613a97f8f4483c /pkgs/applications
parent8109d8ac35d0661426886bee616096d29e721c45 (diff)
parent30060a2268745ee3b3ca8119c29581e9be69467f (diff)
Merge pull request #172702 from OPNA2608/fix/adlplug_everything
{adl,opn}plug: 1.0.2 -> unstable-2021-12-17, fix Darwin, fix Linux de…
Diffstat (limited to 'pkgs/applications')
-rw-r--r--pkgs/applications/audio/adlplug/default.nix62
1 files changed, 47 insertions, 15 deletions
diff --git a/pkgs/applications/audio/adlplug/default.nix b/pkgs/applications/audio/adlplug/default.nix
index a501cd0a1d883..a0f5b48a63231 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,17 +98,32 @@ 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 ''
-    mkdir $out/Applications
+    mkdir -p $out/{Applications,Library/Audio/Plug-Ins/{VST,Components}}
+
     mv $out/bin/${mainProgram}.app $out/Applications/
     ln -s $out/{Applications/${mainProgram}.app/Contents/MacOS,bin}/${mainProgram}
+
+    mv vst2/${mainProgram}.vst $out/Library/Audio/Plug-Ins/VST/
+    mv au/${mainProgram}.component $out/Library/Audio/Plug-Ins/Components/
   '';
 
   meta = with lib; {