summary refs log tree commit diff
path: root/gnu/packages/video.scm
diff options
context:
space:
mode:
authorTobias Geerinckx-Rice <me@tobias.gr>2019-03-11 01:28:21 +0100
committerTobias Geerinckx-Rice <me@tobias.gr>2019-03-11 02:08:03 +0100
commit642de36b9eded5d4bbcb06560ce963b60e933cec (patch)
treed7f34b82064f28663faade0111a16fa9d8edb082 /gnu/packages/video.scm
parent7d3ac6c08e165d60cabe343c44ffb520b0306142 (diff)
downloadguix-642de36b9eded5d4bbcb06560ce963b60e933cec.tar.gz
gnu: avidemux: Factorise ffmpeg version.
* gnu/packages/video.scm (avidemux)[arguments]: Move oft-repeated
hard-coded ffmpeg version number to a single let-bound variable.
Diffstat (limited to 'gnu/packages/video.scm')
-rw-r--r--gnu/packages/video.scm135
1 files changed, 68 insertions, 67 deletions
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index ef7376597f..9d47f6d903 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1857,73 +1857,74 @@ for use with HTML5 video.")
        #:phases
        ;; Make sure files inside the included ffmpeg tarball are
        ;; patch-shebanged.
-       (modify-phases %standard-phases
-       (add-before 'patch-source-shebangs 'unpack-ffmpeg
-         (lambda _
-           (with-directory-excursion "avidemux_core/ffmpeg_package"
-             (invoke "tar" "xf" "ffmpeg-3.3.7.tar.bz2")
-             (delete-file "ffmpeg-3.3.7.tar.bz2"))
-           #t))
-       (add-after 'patch-source-shebangs 'repack-ffmpeg
-         (lambda _
-           (with-directory-excursion "avidemux_core/ffmpeg_package"
-             (substitute* "ffmpeg-3.3.7/configure"
-               (("#! /bin/sh") (string-append "#!" (which "sh"))))
-             (invoke "tar" "cjf" "ffmpeg-3.3.7.tar.bz2" "ffmpeg-3.3.7"
-                     ;; avoid non-determinism in the archive
-                     "--sort=name" "--mtime=@0"
-                     "--owner=root:0" "--group=root:0")
-             (delete-file-recursively "ffmpeg-3.3.7"))
-           #t))
-       (replace 'configure
-         (lambda _
-           ;; Copy-paste settings from the cmake build system.
-           (setenv "CMAKE_LIBRARY_PATH" (getenv "LIBRARY_PATH"))
-           (setenv "CMAKE_INCLUDE_PATH" (getenv "C_INCLUDE_PATH"))
-           #t))
-       (replace 'build
-         (lambda* (#:key inputs outputs #:allow-other-keys)
-           (let* ((out (assoc-ref outputs "out"))
-                  (lib (string-append out "/lib"))
-                  (top (getcwd))
-                  (sdl (assoc-ref inputs "sdl"))
-                  (build_component
-                   (lambda* (component srcdir #:optional (args '()))
-                     (let ((builddir (string-append "build_" component)))
-                       (mkdir builddir)
-                       (with-directory-excursion builddir
-                         (apply invoke "cmake"
-                                "-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE"
-                                (string-append "-DCMAKE_INSTALL_PREFIX=" out)
-                                (string-append "-DCMAKE_INSTALL_RPATH=" lib)
-                                (string-append "-DCMAKE_SHARED_LINKER_FLAGS="
-                                               "\"-Wl,-rpath=" lib "\"")
-                                (string-append "-DAVIDEMUX_SOURCE_DIR=" top)
-                                (string-append "-DSDL_INCLUDE_DIR="
-                                               sdl "/include/SDL")
-                                (string-append "../" srcdir)
-                                "-DENABLE_QT5=True"
-                                args)
-                         (invoke "make" "-j"
-                                 (number->string (parallel-job-count)))
-                         (invoke "make" "install"))))))
-             (mkdir out)
-             (build_component "core" "avidemux_core")
-             (build_component "cli" "avidemux/cli")
-             (build_component "qt4" "avidemux/qt4")
-             (build_component "plugins_common" "avidemux_plugins"
-                              '("-DPLUGIN_UI=COMMON"))
-             (build_component "plugins_cli" "avidemux_plugins"
-                              '("-DPLUGIN_UI=CLI"))
-             (build_component "plugins_qt4" "avidemux_plugins"
-                              '("-DPLUGIN_UI=QT4"))
-             (build_component "plugins_settings" "avidemux_plugins"
-                              '("-DPLUGIN_UI=SETTINGS"))
-             ;; Remove .exe and .dll file.
-             (delete-file-recursively
-              (string-append out "/share/ADM6_addons"))
-             #t)))
-       (delete 'install))))
+       (let ((ffmpeg "ffmpeg-3.3.7"))
+         (modify-phases %standard-phases
+           (add-before 'patch-source-shebangs 'unpack-ffmpeg
+             (lambda _
+               (with-directory-excursion "avidemux_core/ffmpeg_package"
+                 (invoke "tar" "xf" (string-append ffmpeg ".tar.bz2"))
+                 (delete-file (string-append ffmpeg ".tar.bz2")))
+               #t))
+           (add-after 'patch-source-shebangs 'repack-ffmpeg
+             (lambda _
+               (with-directory-excursion "avidemux_core/ffmpeg_package"
+                 (substitute* (string-append ffmpeg "/configure")
+                   (("#! /bin/sh") (string-append "#!" (which "sh"))))
+                 (invoke "tar" "cjf" (string-append ffmpeg ".tar.bz2") ffmpeg
+                         ;; avoid non-determinism in the archive
+                         "--sort=name" "--mtime=@0"
+                         "--owner=root:0" "--group=root:0")
+                 (delete-file-recursively ffmpeg))
+               #t))
+           (replace 'configure
+             (lambda _
+               ;; Copy-paste settings from the cmake build system.
+               (setenv "CMAKE_LIBRARY_PATH" (getenv "LIBRARY_PATH"))
+               (setenv "CMAKE_INCLUDE_PATH" (getenv "C_INCLUDE_PATH"))
+               #t))
+           (replace 'build
+             (lambda* (#:key inputs outputs #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out"))
+                      (lib (string-append out "/lib"))
+                      (top (getcwd))
+                      (sdl (assoc-ref inputs "sdl"))
+                      (build_component
+                       (lambda* (component srcdir #:optional (args '()))
+                         (let ((builddir (string-append "build_" component)))
+                           (mkdir builddir)
+                           (with-directory-excursion builddir
+                             (apply invoke "cmake"
+                                    "-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE"
+                                    (string-append "-DCMAKE_INSTALL_PREFIX=" out)
+                                    (string-append "-DCMAKE_INSTALL_RPATH=" lib)
+                                    (string-append "-DCMAKE_SHARED_LINKER_FLAGS="
+                                                   "\"-Wl,-rpath=" lib "\"")
+                                    (string-append "-DAVIDEMUX_SOURCE_DIR=" top)
+                                    (string-append "-DSDL_INCLUDE_DIR="
+                                                   sdl "/include/SDL")
+                                    (string-append "../" srcdir)
+                                    "-DENABLE_QT5=True"
+                                    args)
+                             (invoke "make" "-j"
+                                     (number->string (parallel-job-count)))
+                             (invoke "make" "install"))))))
+                 (mkdir out)
+                 (build_component "core" "avidemux_core")
+                 (build_component "cli" "avidemux/cli")
+                 (build_component "qt4" "avidemux/qt4")
+                 (build_component "plugins_common" "avidemux_plugins"
+                                  '("-DPLUGIN_UI=COMMON"))
+                 (build_component "plugins_cli" "avidemux_plugins"
+                                  '("-DPLUGIN_UI=CLI"))
+                 (build_component "plugins_qt4" "avidemux_plugins"
+                                  '("-DPLUGIN_UI=QT4"))
+                 (build_component "plugins_settings" "avidemux_plugins"
+                                  '("-DPLUGIN_UI=SETTINGS"))
+                 ;; Remove .exe and .dll file.
+                 (delete-file-recursively
+                  (string-append out "/share/ADM6_addons"))
+                 #t)))
+           (delete 'install)))))
     (home-page "http://fixounet.free.fr/avidemux/")
     (synopsis "Video editor")
     (description "Avidemux is a video editor designed for simple cutting,