139 lines
7.0 KiB
Scheme
139 lines
7.0 KiB
Scheme
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
|
;;; Copyright © 2022-2023 Sughosha <sughosha@proton.me>
|
|
;;; Copyright © 2023 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
|
|
|
(define-module (nongnu packages music)
|
|
#:use-module (gnu packages audio)
|
|
#:use-module (gnu packages cpp)
|
|
#:use-module (gnu packages freedesktop)
|
|
#:use-module (gnu packages gcc)
|
|
#:use-module (gnu packages linux)
|
|
#:use-module (gnu packages pulseaudio)
|
|
#:use-module (guix download)
|
|
#:use-module (guix gexp)
|
|
#:use-module (guix packages)
|
|
#:use-module (guix utils)
|
|
#:use-module (ice-9 match)
|
|
#:use-module (ice-9 regex)
|
|
#:use-module ((nonguix licenses) #:prefix license:)
|
|
#:use-module (nonguix build-system binary))
|
|
|
|
(define-public reaper
|
|
(package
|
|
(name "reaper")
|
|
(version "7.02")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append "https://www.reaper.fm/files/"
|
|
(version-major version)
|
|
".x/reaper"
|
|
(string-replace-substring version "." "")
|
|
"_"
|
|
(match (%current-system)
|
|
("x86_64-linux" "linux_x86_64")
|
|
("i686-linux" "linux_i686")
|
|
("aarch64-linux" "linux_aarch64")
|
|
("armhf-linux" "linux_armv7l"))
|
|
".tar.xz"))
|
|
(sha256
|
|
(base32
|
|
(match (%current-system)
|
|
("x86_64-linux"
|
|
"0apnkv28x2vdlh7q26xsrn3b0y06cj4xgwsl1dh4rkkylrcld87k")
|
|
("i686-linux"
|
|
"00b4hdk0i4gqlk3h5y9s07fhpvklazl2f2mzbr34m41s7avfnmx5")
|
|
("aarch64-linux"
|
|
"15skc16w3yl0fbs15h39xzf2xk1y5q1919fqrvwinq5r73ig55wh")
|
|
("armhf-linux"
|
|
"1laaiw4dcmaxzf7g3f0dmlihk53p50xnk8rmj8nw18yf7qhcscbs"))))))
|
|
(build-system binary-build-system)
|
|
(arguments
|
|
(list #:strip-binaries? #f ;allocated section `.dynsym' not in segment
|
|
#:patchelf-plan
|
|
#~(let ((libs (list "libc" "gcc")))
|
|
(list (list "REAPER/reaper"
|
|
(append libs
|
|
(list "alsa-lib" "jack" "pulseaudio")))
|
|
(list "REAPER/Plugins/reaper_host_x86_64"
|
|
(append libs
|
|
(list "alsa-lib" "jack" "pulseaudio")))
|
|
(list "REAPER/Plugins/elastique3.so" libs)
|
|
(list "REAPER/Plugins/jsfx.so" libs)
|
|
(list "REAPER/Plugins/reaper_cd.so" libs)
|
|
(list "REAPER/Plugins/reaper_csurf.so" libs)
|
|
(list "REAPER/Plugins/reaper_ddp.so" libs)
|
|
(list "REAPER/Plugins/reaper_explorer.so" libs)
|
|
(list "REAPER/Plugins/reaper_flac.so" libs)
|
|
(list "REAPER/Plugins/reaper_midi.so" libs)
|
|
(list "REAPER/Plugins/reaper_mp3dec.so" libs)
|
|
(list "REAPER/Plugins/reaper_ogg.so" libs)
|
|
(list "REAPER/Plugins/reaper_opus.so" libs)
|
|
(list "REAPER/Plugins/reaper_video.so" libs)
|
|
(list "REAPER/Plugins/reaper_wave.so" libs)
|
|
(list "REAPER/Plugins/reaper_wavpack.so" libs)
|
|
(list "REAPER/Plugins/rubberband.so" libs)
|
|
(list "REAPER/Plugins/soundtouch.so" libs)
|
|
(list "REAPER/Plugins/FX/reacast.vst.so" libs)
|
|
(list "REAPER/Plugins/FX/reacomp.vst.so" libs)
|
|
(list "REAPER/Plugins/FX/reacontrolmidi.vst.so" libs)
|
|
(list "REAPER/Plugins/FX/readelay.vst.so" libs)
|
|
(list "REAPER/Plugins/FX/reaeq.vst.so" libs)
|
|
(list "REAPER/Plugins/FX/reafir.vst.so" libs)
|
|
(list "REAPER/Plugins/FX/reagate.vst.so" libs)
|
|
(list "REAPER/Plugins/FX/reainsert.vst.so" libs)
|
|
(list "REAPER/Plugins/FX/realimit.vst.so" libs)
|
|
(list "REAPER/Plugins/FX/reaninjam.vst.so" libs)
|
|
(list "REAPER/Plugins/FX/reapitch.vst.so" libs)
|
|
(list "REAPER/Plugins/FX/reasamplomatic.vst.so" libs)
|
|
(list "REAPER/Plugins/FX/reastream.vst.so" libs)
|
|
(list "REAPER/Plugins/FX/reasurround.vst.so" libs)
|
|
(list "REAPER/Plugins/FX/reasurround2.vst.so" libs)
|
|
(list "REAPER/Plugins/FX/reasyndr.vst.so" libs)
|
|
(list "REAPER/Plugins/FX/reacast.vst.so" libs)
|
|
(list "REAPER/Plugins/FX/reasynth.vst.so" libs)
|
|
(list "REAPER/Plugins/FX/reatune.vst.so" libs)
|
|
(list "REAPER/Plugins/FX/reaverb.vst.so" libs)
|
|
(list "REAPER/Plugins/FX/reaverbate.vst.so" libs)
|
|
(list "REAPER/Plugins/FX/reavocode.vst.so" libs)
|
|
(list "REAPER/Plugins/FX/reavoice.vst.so" libs)
|
|
(list "REAPER/Plugins/FX/reaxcomp.vst.so" libs)))
|
|
#:phases
|
|
#~(modify-phases %standard-phases
|
|
(replace 'install
|
|
(lambda* (#:key outputs inputs #:allow-other-keys)
|
|
(let* ((target (string-append #$output "/opt"))
|
|
(bin (string-append #$output "/bin"))
|
|
(data (string-append #$output "/share"))
|
|
(doc (string-append data "/doc/reaper-" #$version)))
|
|
(setenv "HOME" "/tmp")
|
|
(setenv "XDG_DATA_HOME" data)
|
|
(invoke "sh" "./install-reaper.sh" "--install"
|
|
target "--integrate-user-desktop")
|
|
(delete-file (string-append target
|
|
"/REAPER/uninstall-reaper.sh"))
|
|
(delete-file (string-append target
|
|
"/REAPER/libSwell.so"))
|
|
(symlink (search-input-file inputs "/lib/libSwell.so")
|
|
(string-append target "/REAPER/libSwell.so"))
|
|
(mkdir-p bin)
|
|
(symlink (string-append target "/REAPER/reaper")
|
|
(string-append bin "/reaper"))
|
|
(mkdir-p doc)
|
|
(symlink (string-append target "/REAPER/EULA.txt")
|
|
(string-append doc "/LICENSE"))))))))
|
|
(native-inputs
|
|
(list xdg-utils))
|
|
(inputs
|
|
(list alsa-lib `(,gcc "lib") jack-1 pulseaudio wdl))
|
|
(supported-systems
|
|
(list "x86_64-linux" "i686-linux" "aarch64-linux" "armhf-linux"))
|
|
(home-page "https://www.reaper.fm")
|
|
(synopsis "Digital audio workstation")
|
|
(description
|
|
"REAPER is a digital audio production application offering multitrack
|
|
audio and MIDI recording, editing, processing, mixing and mastering toolset.
|
|
It supports a vast range of hardware, digital formats and plugins, and can be
|
|
comprehensively extended, scripted and modified.")
|
|
(license (license:nonfree "file:///opt/REAPER/EULA.txt"))))
|