From bc74c191df789ff200da6f81c3cf599eae39ca8e Mon Sep 17 00:00:00 2001 From: Vinicius Monego Date: Sat, 18 Dec 2021 18:12:26 +0000 Subject: [PATCH] gnu: shotcut: Find ffmpeg and mlt at runtime. * gnu/packages/video.scm (shotcut)[arguments]<:#phases>: Add phase 'patch-executable-paths to use full store paths for ffmpeg and mlt. Signed-off-by: Leo Famulari --- gnu/packages/video.scm | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index bc79196927..fa8dadb217 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -4820,9 +4820,20 @@ (define-public shotcut (base32 "1l27dqiyi3af0v155w62ib9xcmqyjj2yzs83aqhcrz5pb3i3j18r")))) (build-system qt-build-system) (arguments - `(#:tests? #f ;there are no tests + `(#:tests? #f ;there are no tests #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-executable-paths + (lambda* (#:key inputs #:allow-other-keys) + ;; Shotcut expects ffmpeg and melt executables in the shotcut + ;; directory. Use full store paths. + (let* ((ffmpeg (assoc-ref inputs "ffmpeg")) + (mlt (assoc-ref inputs "mlt"))) + (substitute* "src/jobs/ffmpegjob.cpp" + (("\"ffmpeg\"") (string-append "\"" ffmpeg "/bin/ffmpeg\""))) + (substitute* "src/jobs/meltjob.cpp" + (("\"melt\"") (string-append "\"" mlt "/bin/melt\"")) + (("\"melt-7\"") (string-append "\"" mlt "/bin/melt-7\"")))))) (replace 'configure (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")))