Merge branch 'SameExpert-master-patch-75402' into 'master'

nongnu: reaper: Update to 7.48.

See merge request nonguix/nonguix!304
This commit is contained in:
Sughosha 2026-01-21 18:47:29 +00:00
commit 2e7b69c12a

View file

@ -1,5 +1,5 @@
;;; SPDX-License-Identifier: GPL-3.0-or-later ;;; SPDX-License-Identifier: GPL-3.0-or-later
;;; Copyright © 2022 Sughosha <sughosha@proton.me> ;;; Copyright © 2022, 2025 Sughosha <sughosha@proton.me>
;;; Copyright © 2023 Jonathan Brielmaier <jonathan.brielmaier@web.de> ;;; Copyright © 2023 Jonathan Brielmaier <jonathan.brielmaier@web.de>
(define-module (nongnu packages music) (define-module (nongnu packages music)
@ -7,8 +7,13 @@
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages cpp) #:use-module (gnu packages cpp)
#:use-module (gnu packages freedesktop) #:use-module (gnu packages freedesktop)
#:use-module (gnu packages gl)
#:use-module (gnu packages gcc) #:use-module (gnu packages gcc)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages mp3)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages video)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (guix packages) #:use-module (guix packages)
@ -21,7 +26,7 @@
(define-public reaper (define-public reaper
(package (package
(name "reaper") (name "reaper")
(version "6.73") (version "7.48")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -41,62 +46,98 @@
(sha256 (sha256
(base32 (base32
(match (%current-system) (match (%current-system)
("x86_64-linux" "1hd7fbk0px45fxhqa7nqcnij8ls2fhpjp60v840vy2zqs9fkcr52") ("x86_64-linux"
("i686-linux" "11vk32mxyda9xl08pp2ivd1vsahnw6w7d08in4syz6iannfwp19b") "1k6610hhf21i6ps2m1146n6sjwzvi3qqnfrhw43w3hcl0cspxi56")
("aarch64-linux" "0zpkaiwwxn8yh3s1d22qswshbgaxx5d8iy17hb3w256zgb722yjw") ("i686-linux"
("armhf-linux" "18174b1lgsk73gxhala471ppzbrpa1cs953b5par998yqgh74znk") "1i6f1zgpzi6h82wr2jn4jgqkfzkamfv191hplf1r6a3ncc4pzswp")
;; We need a valid base32 default case ("aarch64-linux"
"07hxyfb9d6nr3zbf931sjzrfqy78prkvqrhdxzcpcbn1pg935lcv")
("armhf-linux"
"0wvzv3x5f5gmz0113pgc14i0vhnr3np1rns1kxzilz0vykx0z4iq")
(_ "0000000000000000000000000000000000000000000000000000")))))) (_ "0000000000000000000000000000000000000000000000000000"))))))
(build-system binary-build-system) (build-system binary-build-system)
(arguments (arguments
(list #:strip-binaries? #f ;allocated section `.dynsym' not in segment (list #:strip-binaries? #f ;allocated section `.dynsym' not in segment
#:patchelf-plan #~`(("REAPER/reaper" ("libc" "gcc" "alsa-lib")) #:modules
("REAPER/reamote-server" ("libc" "gcc")) '((nonguix build binary-build-system)
("REAPER/Plugins/reaper_host_x86_64" ("libc" "gcc"))) (guix build utils)
#:phases #~(modify-phases %standard-phases (nonguix build utils)
(replace 'install (ice-9 match))
(lambda* (#:key outputs inputs #:allow-other-keys) #:patchelf-plan
(let* ((target (string-append #$output "/opt")) #~(map (lambda (file)
(bin (string-append #$output "/bin")) `(,file
(libexec (string-append #$output "/libexec")) ,(append '("libc" "gcc")
(data (string-append #$output "/share")) (match (basename file)
(doc (string-append data "/doc/reaper-" ("reaper" '("alsa-lib" "jack" "pulseaudio"))
#$version))) ((or "reaper_host_x86_64"
(setenv "HOME" "/tmp") "reaper_host_i686"
(setenv "XDG_DATA_HOME" data) "reaper_host_aarch64"
(invoke "sh" "./install-reaper.sh" "--install" "reaper_host_armv7l")
target "--integrate-user-desktop") '("alsa-lib"))
(delete-file (string-append target ("reaper_video.so" '("mesa" "vlc"))
"/REAPER/uninstall-reaper.sh")) ("reaper_mp3dec.so" '("lame"))
(delete-file (string-append target (_ '())))))
"/REAPER/libSwell.so")) `("REAPER/reaper"
(symlink (search-input-file inputs ,#$(string-append "REAPER/Plugins/reaper_host_"
"/lib/libSwell.so") (match (%current-system)
(string-append target ("x86_64-linux" "x86_64")
"/REAPER/libSwell.so")) ("i686-linux" "i686")
(mkdir-p bin) ("aarch64-linux" "aarch64")
(symlink (string-append target "/REAPER/reaper") ("armf-linux" "armv7l")
(string-append bin "/reaper")) (_ "unsupported")))
(mkdir-p libexec) ,@(find-files "REAPER/Plugins" "\\.so$")))
(symlink (string-append target #:phases
"/REAPER/Plugins/reaper_host_x86_64") #~(modify-phases %standard-phases
(string-append libexec (replace 'install
"/reaper_host_x86_64")) (lambda _
(mkdir-p doc) (setenv "HOME" "/tmp")
(symlink (string-append target (setenv "XDG_DATA_HOME" (string-append #$output "/share"))
"/REAPER/EULA.txt") (invoke "sh" "./install-reaper.sh" "--install"
(string-append doc "/LICENSE")))))))) (string-append #$output "/opt")
"--integrate-user-desktop")
(delete-file (string-append #$output "/opt/REAPER/"
"uninstall-reaper.sh"))))
(add-after 'install 'replace-swell
(lambda* (#:key inputs #:allow-other-keys)
(with-directory-excursion (string-append #$output
"/opt/REAPER")
(delete-file "libSwell.so")
(symlink (search-input-file inputs "/lib/libSwell.so")
"libSwell.so"))))
(add-after 'replace-swell 'wrap-program
(lambda _
(let ((wrapper (string-append #$output "/bin/reaper"))
(bin (string-append #$output "/opt/REAPER/reaper")))
(make-wrapper wrapper bin
`("PATH" ":" prefix
(,(string-append #$(this-package-input "ffmpeg")
"/bin")))))))
(add-after 'wrap-program 'fix-desktop-entry
(lambda _
(substitute* (string-append #$output
"/share/applications/"
"cockos-reaper.desktop")
(("opt/REAPER") "bin"))))
(replace 'install-license-files
(lambda _
(install-file "REAPER/EULA.txt"
(string-append #$output "/share/doc/reaper-"
#$version)))))))
(native-inputs (native-inputs
(list (list xdg-utils))
which
xdg-utils))
(inputs (inputs
(list (list alsa-lib
alsa-lib `(,gcc "lib")
`(,gcc "lib") ffmpeg
swell)) jack-1
(supported-systems '("x86_64-linux" "i686-linux" "aarch64-linux" lame
"armhf-linux")) mesa
pulseaudio
python
swell
vlc))
(supported-systems
'("x86_64-linux" "i686-linux" "aarch64-linux" "armhf-linux"))
(home-page "https://www.reaper.fm") (home-page "https://www.reaper.fm")
(synopsis "Digital audio workstation") (synopsis "Digital audio workstation")
(description (description