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 <leo@famulari.name>
This commit is contained in:
Vinicius Monego 2021-12-18 18:12:26 +00:00 committed by Leo Famulari
parent 7598315874
commit bc74c191df
No known key found for this signature in database
GPG key ID: 2646FA30BACA7F08

View file

@ -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")))