overlays-personal/pkgs/reaper/default.nix
2021-02-27 09:40:08 +02:00

62 lines
1.4 KiB
Nix

{ stdenv, lib, fetchurl, autoPatchelfHook, makeWrapper
, alsaLib, xorg, libjack2
, gtk3, pango, gdk-pixbuf, cairo, glib, freetype
, libpulseaudio, xdg_utils
}:
stdenv.mkDerivation rec {
name = "reaper-${version}";
version = "6.23";
src = fetchurl {
url = "https://www.reaper.fm/files/${lib.versions.major version}.x/reaper${builtins.replaceStrings ["."] [""] version}_linux_x86_64.tar.xz";
sha256 = "1s9c8prqk38738hjaixiy8ljp94cqw7jq3160890477jyk6cvicd";
};
nativeBuildInputs = [ autoPatchelfHook makeWrapper ];
buildInputs = [
alsaLib
xorg.libX11
xorg.libXi
gdk-pixbuf
pango
cairo
glib
freetype
xdg_utils
];
runtimeDependencies = [
gtk3
];
dontBuild = true;
installPhase = ''
XDG_DATA_HOME="$out/share" ./install-reaper.sh \
--install $out/opt \
--integrate-user-desktop
rm $out/opt/REAPER/uninstall-reaper.sh
wrapProgram $out/opt/REAPER/reaper \
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libpulseaudio libjack2 ]}"
cp -rv ${./jsfx}/* $out/opt/REAPER/InstallData/Effects/
mkdir $out/bin
ln -s $out/opt/REAPER/reaper $out/bin/
ln -s $out/opt/REAPER/reamote-server $out/bin/
'';
meta = with lib; {
description = "Digital audio workstation";
homepage = "https://www.reaper.fm/";
license = licenses.unfree;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ jfrankenau ];
};
}