aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Enge <andreas@enge.fr>2013-12-17 21:19:41 +0100
committerAndreas Enge <andreas@enge.fr>2013-12-17 21:19:41 +0100
commitf22e0e264e400b69fc91509c676f9069b7cdbc2e (patch)
tree7600981f46bb81eb54e0d88a77a7cc7d3f02ba6e
parentf733c4c838640090c6da721d065d0640031a6158 (diff)
downloadguix-f22e0e264e400b69fc91509c676f9069b7cdbc2e.tar
guix-f22e0e264e400b69fc91509c676f9069b7cdbc2e.tar.gz
gnu: ffmpeg: Modify runpath of binaries to include output library path.
* gnu/packages/video.scm (ffmpeg): Patch binaries to add output library path to runpath.
-rw-r--r--gnu/packages/video.scm20
1 files changed, 19 insertions, 1 deletions
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 1a90527f21..b1d1270c05 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -23,6 +23,7 @@
#:use-module (guix build-system gnu)
#:use-module (gnu packages algebra)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages elf)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages oggvorbis)
#:use-module (gnu packages openssl)
@@ -48,6 +49,7 @@
("freetype" ,freetype)
("libtheora" ,libtheora)
("libvorbis" ,libvorbis)
+ ("patchelf" ,patchelf)
("speex" ,speex)
("zlib", zlib)))
(native-inputs
@@ -60,6 +62,13 @@
("yasm" ,yasm)))
(arguments
`(#:test-target "fate"
+ #:modules ((guix build gnu-build-system)
+ (guix build utils)
+ (guix build rpath)
+ (srfi srfi-26))
+ #:imported-modules ((guix build gnu-build-system)
+ (guix build utils)
+ (guix build rpath))
#:phases
(alist-replace
'configure
@@ -166,7 +175,16 @@
"--disable-mipsdspr1"
"--disable-mipsdspr2"
"--disable-mipsfpu"))))
- %standard-phases)))
+ (alist-cons-after
+ 'strip 'add-lib-to-runpath
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (lib (string-append out "/lib")))
+ ;; Add LIB to the RUNPATH of all the executables.
+ (with-directory-excursion out
+ (for-each (cut augment-rpath <> lib)
+ (find-files "bin" ".*")))))
+ %standard-phases))))
(home-page "http://www.ffmpeg.org/")
(synopsis "Audio and video framework")
(description "FFmpeg is a complete, cross-platform solution to record,