nixpkgs/pkgs/applications/audio/reaper/default.nix
2018-11-15 18:16:45 +01:00

81 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 = "cb89dc81dc5cbc13a8f1b3cda38a204e356d4014";
sha256 = "0m19dy4r0i21ckypzfhpfjm6sh00v9i088pva7hhhr4mmrbqd0ms";
};
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ gnome3.gtk ];
buildPhase = ''
cd WDL/swell
make
'';
installPhase = ''
mv libSwell.so $out
'';
};
in stdenv.mkDerivation rec {
name = "reaper-${version}";
version = "5.961";
src = fetchurl {
url = "https://www.reaper.fm/files/${stdenv.lib.versions.major version}.x/reaper${builtins.replaceStrings ["."] [""] version}_linux_x86_64.tar.xz";
sha256 = "0lnpdnxnwn7zfn8slivkp971ll9qshgq7y9gcfrk5829z94df06i";
};
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/reaper \
--prefix LD_LIBRARY_PATH : ${libpulseaudio}/lib
mkdir $out/bin
ln -s $out/opt/REAPER/reaper $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 ];
};
}