nixpkgs/pkgs/applications/audio/reaper/default.nix
2018-08-03 13:36:11 +02:00

82 lines
1.8 KiB
Nix

{ stdenv, fetchurl, autoPatchelfHook, makeWrapper
, alsaLib, xorg
, fetchFromGitHub, pkgconfig, gnome3
, gnome2, gdk_pixbuf, cairo, glib, freetype
, libpulseaudio
}:
let
libSwell = stdenv.mkDerivation {
name = "libSwell";
src = fetchFromGitHub {
owner = "justinfrankel";
repo = "WDL";
rev = "e87f5bdee7327b63398366fde6ec0a3f08bf600d";
sha256 = "147idjqc6nc23w9krl8a9w571k5jx190z3id6ir6cr8zsx0lakdb";
};
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ gnome3.gtk ];
buildPhase = ''
cd WDL/swell
make
'';
installPhase = ''
mv libSwell.so $out
'';
};
in stdenv.mkDerivation rec {
name = "reaper-${version}";
version = "5.93";
src = fetchurl {
url = "https://www.reaper.fm/files/${stdenv.lib.versions.major version}.x/reaper${builtins.replaceStrings ["."] [""] version}_linux_x86_64.tar.xz";
sha256 = "17ciysyqp4by0yy08avk7z16inrmfwrmzh5l1r6fdni0y4ax65iq";
};
nativeBuildInputs = [ autoPatchelfHook makeWrapper ];
buildInputs = [
alsaLib
stdenv.cc.cc.lib
xorg.libX11
xorg.libXi
gnome3.gtk
gdk_pixbuf
gnome2.pango
cairo
glib
freetype
];
dontBuild = true;
installPhase = ''
./install-reaper.sh --install $out/opt
rm $out/opt/REAPER/uninstall-reaper.sh
cp ${libSwell.out} $out/opt/REAPER/libSwell.so
wrapProgram $out/opt/REAPER/reaper5 \
--prefix LD_LIBRARY_PATH : ${libpulseaudio}/lib
mkdir $out/bin
ln -s $out/opt/REAPER/reaper5 $out/bin/
ln -s $out/opt/REAPER/reamote-server $out/bin/
'';
meta = with stdenv.lib; {
description = "Digital audio workstation";
homepage = https://www.reaper.fm/;
license = licenses.unfree;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ jfrankenau ];
};
}