diff --git a/pkgs/applications/audio/reaper/default.nix b/pkgs/applications/audio/reaper/default.nix new file mode 100644 index 000000000000..6d6b228eeadd --- /dev/null +++ b/pkgs/applications/audio/reaper/default.nix @@ -0,0 +1,81 @@ +{ 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 ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index fa555153e572..8d151eadf4e3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18117,6 +18117,8 @@ with pkgs; tcl = tcl-8_5; }; + reaper = callPackage ../applications/audio/reaper { }; + recode = callPackage ../tools/text/recode { }; rednotebook = python3Packages.callPackage ../applications/editors/rednotebook { };