Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 916815204eac
Choose a base ref
...
head repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: fc5c93018166
Choose a head ref
  • 2 commits
  • 1 file changed
  • 2 contributors

Commits on Jan 25, 2021

  1. Copy the full SHA
    32f1916 View commit details
  2. Merge pull request #110582 from ilian/fix/reaper

    reaper: mark audio backend libs as optional, add missing plugin libs
    SuperSandro2000 authored Jan 25, 2021

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    fc5c930 View commit details
Showing with 27 additions and 18 deletions.
  1. +27 −18 pkgs/applications/audio/reaper/default.nix
45 changes: 27 additions & 18 deletions pkgs/applications/audio/reaper/default.nix
Original file line number Diff line number Diff line change
@@ -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/