;;; SPDX-License-Identifier: GPL-3.0-or-later ;;; Copyright © 2022 Sughosha ;;; Copyright © 2023 Jonathan Brielmaier (define-module (nongnu packages music) #:use-module (gnu packages audio) #:use-module (gnu packages base) #:use-module (gnu packages cpp) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gcc) #:use-module (gnu packages linux) #: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 "6.73") (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") ;; We need a default case (_ "unsupported")) ".tar.xz")) (sha256 (base32 (match (%current-system) ("x86_64-linux" "1hd7fbk0px45fxhqa7nqcnij8ls2fhpjp60v840vy2zqs9fkcr52") ("i686-linux" "11vk32mxyda9xl08pp2ivd1vsahnw6w7d08in4syz6iannfwp19b") ("aarch64-linux" "0zpkaiwwxn8yh3s1d22qswshbgaxx5d8iy17hb3w256zgb722yjw") ("armhf-linux" "18174b1lgsk73gxhala471ppzbrpa1cs953b5par998yqgh74znk") ;; We need a valid base32 default case (_ "0000000000000000000000000000000000000000000000000000")))))) (build-system binary-build-system) (arguments (list #:strip-binaries? #f ;allocated section `.dynsym' not in segment #:patchelf-plan #~`(("REAPER/reaper" ("libc" "gcc" "alsa-lib")) ("REAPER/reamote-server" ("libc" "gcc")) ("REAPER/Plugins/reaper_host_x86_64" ("libc" "gcc"))) #: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")) (libexec (string-append #$output "/libexec")) (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 libexec) (symlink (string-append target "/REAPER/Plugins/reaper_host_x86_64") (string-append libexec "/reaper_host_x86_64")) (mkdir-p doc) (symlink (string-append target "/REAPER/EULA.txt") (string-append doc "/LICENSE")))))))) (native-inputs (list which xdg-utils)) (inputs (list alsa-lib `(,gcc "lib") wdl)) (supported-systems '("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"))))