From 32f19166bc09aa2cd2c89dcec6e84ba6a183e369 Mon Sep 17 00:00:00 2001 From: ilian Date: Sat, 23 Jan 2021 12:07:05 +0100 Subject: reaper: mark audio backend libs as optional, add missing plugin libs --- pkgs/applications/audio/reaper/default.nix | 45 ++++++++++++++++++------------ 1 file changed, 27 insertions(+), 18 deletions(-) (limited to 'pkgs/applications/audio/reaper') diff --git a/pkgs/applications/audio/reaper/default.nix b/pkgs/applications/audio/reaper/default.nix index 8f3a17bf1b6..5f89b4929df 100644 --- a/pkgs/applications/audio/reaper/default.nix +++ b/pkgs/applications/audio/reaper/default.nix @@ -1,7 +1,16 @@ -{ lib, stdenv, fetchurl, autoPatchelfHook, makeWrapper -, alsaLib, xorg, libjack2 -, gtk3, pango, gdk-pixbuf, cairo, glib, freetype -, libpulseaudio, xdg_utils +{ config, lib, stdenv +, fetchurl +, autoPatchelfHook +, makeWrapper + +, alsaLib +, gtk3 +, lame +, ffmpeg +, vlc + +, jackSupport ? true, libjack2 +, pulseaudioSupport ? config.pulseaudio or true, libpulseaudio }: stdenv.mkDerivation rec { @@ -17,22 +26,15 @@ stdenv.mkDerivation rec { buildInputs = [ alsaLib - - xorg.libX11 - xorg.libXi - - gdk-pixbuf - pango - cairo - glib - freetype - - xdg_utils + stdenv.cc.cc.lib # reaper and libSwell need libstdc++.so.6 + gtk3 ]; runtimeDependencies = [ - gtk3 - ]; + gtk3 # libSwell needs libgdk-3.so.0 + ] + ++ lib.optional jackSupport libjack2 + ++ lib.optional pulseaudioSupport libpulseaudio; dontBuild = true; @@ -42,8 +44,15 @@ stdenv.mkDerivation rec { --integrate-user-desktop rm $out/opt/REAPER/uninstall-reaper.sh + # Dynamic loading of plugin dependencies does not adhere to rpath of + # reaper executable that gets modified with runtimeDependencies. + # Patching each plugin with DT_NEEDED is cumbersome and requires + # hardcoding of API versions of each dependency. + # Setting the rpath of the plugin shared object files does not + # seem to have an effect for some plugins. + # We opt for wrapping the executable with LD_LIBRARY_PATH prefix. wrapProgram $out/opt/REAPER/reaper \ - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libpulseaudio libjack2 ]}" + --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ lame ffmpeg vlc ]}" mkdir $out/bin ln -s $out/opt/REAPER/reaper $out/bin/ -- cgit 1.4.1