aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/video.scm
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2020-09-05 21:56:34 +0300
committerEfraim Flashner <efraim@flashner.co.il>2020-09-05 22:30:04 +0300
commitde3c03a47160dec355d9b19ad5ca210d90c15fd7 (patch)
tree4ca6dc05b5fc9530d812bbb269f1c61ab9efccf3 /gnu/packages/video.scm
parentab6fe9d362046231ad6f46eccfd1ea2c9c80b401 (diff)
parentb8477cab7bccc4191ed3dfa3f149aec7917834d8 (diff)
downloadguix-de3c03a47160dec355d9b19ad5ca210d90c15fd7.tar
guix-de3c03a47160dec355d9b19ad5ca210d90c15fd7.tar.gz
Merge remote-tracking branch 'origin/master' into staging
Diffstat (limited to 'gnu/packages/video.scm')
-rw-r--r--gnu/packages/video.scm614
1 files changed, 579 insertions, 35 deletions
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 7cfa2d616f..8100159cad 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -24,7 +24,7 @@
;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Roel Janssen <roel@gnu.org>
;;; Copyright © 2018, 2019, 2020 Marius Bakke <mbakke@fastmail.com>
-;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz>
+;;; Copyright © 2018, 2019, 2020 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2018, 2019, 2020 Leo Famulari <leo@famulari.name>
;;; Copyright © 2018 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
@@ -137,6 +137,7 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages perl-check)
#:use-module (gnu packages perl-web)
+ #:use-module (gnu packages photo)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt)
#:use-module (gnu packages pretty-print)
@@ -162,7 +163,6 @@
#:use-module (gnu packages tls)
#:use-module (gnu packages time)
#:use-module (gnu packages upnp)
- #:use-module (gnu packages version-control)
#:use-module (gnu packages vulkan)
#:use-module (gnu packages web)
#:use-module (gnu packages webkit)
@@ -172,6 +172,478 @@
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg))
+(define-public transcode
+ (package
+ (name "transcode")
+ (version "1.1.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://sources.archlinux.org/other/community/"
+ name "/" name "-" version ".tar.bz2"))
+ (sha256
+ (base32 "14ha9xjsjrj131f35jd56z5v1jb4rbsrj1nril5shqnxw3c74khy"))
+ (patches
+ (search-patches "transcode-ffmpeg.patch"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags
+ (list
+ "--enable-libv4l2"
+ "--enable-libmpeg2"
+ "--enable-libmpeg2convert"
+ "--enable-v4l"
+ ;;; XXX: Not available.
+ ;"--enable-bktr"
+ ;"--enable-sunau"
+ "--enable-oss"
+ "--enable-alsa"
+ ;;; XXX: Not available.
+ ;"--enable-libpostproc"
+ "--enable-freetype2"
+ "--enable-xvid"
+ "--enable-x264"
+ "--enable-ogg"
+ "--enable-vorbis"
+ "--enable-theora"
+ ;;; XXX: Not available.
+ ;"--enable-pvm3"
+ "--enable-libdv"
+ "--enable-libquicktime"
+ "--enable-lzo"
+ "--enable-a52"
+ "--enable-faac"
+ "--enable-libxml2"
+ ;;; XXX: Not available.
+ ;"--enable-ibp"
+ ;;"--enable-mjpegtools"
+ "--enable-sdl"
+ "--enable-imagemagick"
+ ;;; XXX: Not available.
+ ;"--enable-libjpegmmx"
+ "--enable-libjpeg")))
+ ;;; XXX: Not available.
+ ;"--enable-bsdav"
+ ;"--enable-pv3"
+ ;"--enable-nuv"
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("iconv" ,libiconv)
+ ("libtool" ,libtool)
+ ("libxml2" ,libxml2)
+ ("perl" ,perl)
+ ("pkg-config" ,pkg-config)
+ ("python" ,python-wrapper)))
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ("faac" ,faac)
+ ("ffmpeg" ,ffmpeg)
+ ("freetype" ,freetype)
+ ("imagemagick" ,imagemagick)
+ ("lame" ,lame)
+ ("liba52" ,liba52)
+ ("libdv" ,libdv)
+ ("libdvdread" ,libdvdread)
+ ("libjpeg" ,libjpeg-turbo)
+ ("libmpeg2" ,libmpeg2)
+ ("libogg" ,libogg)
+ ("libquicktime" ,libquicktime)
+ ("libtheora" ,libtheora)
+ ("libvorbis" ,libvorbis)
+ ("lzo" ,lzo)
+ ("mjepgtools" ,mjpegtools)
+ ("sdl" ,sdl)
+ ("v4l-utils" ,v4l-utils)
+ ("x11" ,libx11)
+ ("x264" ,libx264)
+ ("xaw" ,libxaw)
+ ("xext" ,libxext)
+ ("xpm" ,libxpm)
+ ("xv" ,libxv)
+ ("xvid" ,xvid)
+ ("zlib" ,zlib)))
+ (synopsis "Audio/Video Transcoder")
+ (description "Transcode is a fast, versatile and command-line based
+audio/video everything to everything converter primarily focussed on producing
+AVI video files with MP3 audio, but also including a program to read all the
+video and audio streams from a DVD.")
+ (home-page
+ "http://linuxfromscratch.org/blfs/view/svn/multimedia/transcode.html")
+ (license license:gpl2+)))
+
+(define-public svt-hevc
+ (package
+ (name "svt-hevc")
+ (version "1.4.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/OpenVisualCloud/SVT-HEVC.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1sqh3dciqm2p1b66kngcpxqy5fx3ramxlxy8gfcbdwn2i3rsqhs7"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f)) ; Test script is stand-alone
+ (native-inputs
+ `(("yasm" ,yasm)))
+ (synopsis "SVT HEVC encoder")
+ (description "Scalable Video Technology (SVT) is a software-based video
+coding technology that is highly optimized for Intel's Xeon processors. Using
+the SVT-HEVC encoder, it is possible to spread video encoding processing across
+multiple Intel's Xeon processors to achieve a real advantage of processing
+efficiency.")
+ (home-page "https://01.org/svt")
+ (license (license:non-copyleft "file:///LICENSE.md"))))
+
+(define-public mediasdk
+ (package
+ (name "mediasdk")
+ (version "20.1.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/Intel-Media-SDK/MediaSDK.git")
+ (commit (string-append "intel-" name "-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0blwcxr5j8762nylx2cxrq0h53bpgnk859dbs6crq4wr9fcxlx9z"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:configure-flags
+ (list
+ "-DENABLE_X11=ON"
+ "-DENABLE_X11_DRI3=ON"
+ "-DENABLE_WAYLAND=ON"
+ "-DENABLE_TEXTLOG=ON"
+ "-DENABLE_STAT=ON"
+ "-DBUILD_TESTS=ON"
+ "-DBUILD_TOOLS=ON"
+ (string-append "-DCMAKE_EXE_LINKER_FLAGS=-Wl,-rpath="
+ (assoc-ref %outputs "out") "/lib"))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("python" ,python-wrapper)))
+ (inputs
+ `(("libdrm" ,libdrm)
+ ("libva" ,libva)
+ ("pciaccess" ,libpciaccess)
+ ("wayland" ,wayland)
+ ("x11" ,libx11)))
+ (synopsis "Intel Media SDK")
+ (description "MediaSDK provides a plain C API to access hardware-accelerated
+video decode, encode and filtering on Intel's Gen graphics hardware platforms.")
+ (home-page "http://mediasdk.intel.com/")
+ (license (license:non-copyleft "file:///LICENSE"))))
+
+(define-public schroedinger
+ (package
+ (name "schroedinger")
+ (version "1.0.11")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://launchpad.net/" name "/trunk/" version
+ "/+download/" name "-" version ".tar.gz"))
+ (sha256
+ (base32 "04prr667l4sn4zx256v1z36a0nnkxfdqyln48rbwlamr6l3jlmqy"))))
+ (build-system gnu-build-system)
+ (outputs '("out" "doc"))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'move-docs
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (doc (assoc-ref outputs "doc")))
+ (mkdir-p (string-append doc "/share"))
+ (rename-file
+ (string-append out "/share/gtk-doc")
+ (string-append doc "/share/gtk-doc"))
+ #t))))))
+ (native-inputs
+ `(("dash" ,dash)
+ ("gtk-doc" ,gtk-doc)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("glew" ,glew)
+ ("opengl" ,mesa)))
+ (propagated-inputs
+ `(("orc" ,orc)))
+ (synopsis "Dirac video codec")
+ (description "Schroedinger is a project implementing the Dirac video codec in
+ANSI C code. It is meant to be highly optimized and portable. It is developed
+as a joint effort between the BBC and Fluendo.")
+ (home-page "https://launchpad.net/schroedinger")
+ (license
+ ;; This library is licensed under 4 different licenses,
+ ;; and you can choose to use it under the terms of any one of them.
+ (list
+ license:gpl2+
+ license:lgpl2.0+
+ license:expat
+ license:mpl1.1))))
+
+(define-public libquicktime
+ (package
+ (name "libquicktime")
+ (version "1.2.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://sourceforge.net/projects/" name "/files/"
+ name "/" version "/" name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0s3kshzl3zfjw3phzv73r91fkr9z8q8kc3dhsys4f4xk6ff3alqw"))
+ (patches
+ (search-patches "libquicktime-ffmpeg.patch"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("gettext" ,gettext-minimal)
+ ("doxygen" ,doxygen)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("alsa" ,alsa-lib)
+ ("ffmpeg" ,ffmpeg)
+ ("gtk+-2" ,gtk+-2)
+ ("lame" ,lame)
+ ("libdv" ,libdv)
+ ("libjpeg" ,libjpeg-turbo)
+ ("libpng" ,libpng)
+ ("libvorbis" ,libvorbis)
+ ("opengl" ,mesa)
+ ("schroedinger" ,schroedinger)
+ ("x11" ,libx11)
+ ("x264" ,libx264)
+ ("xaw" ,libxaw)
+ ("xv" ,libxv)))
+ (synopsis "Quick Time Library")
+ (description "The goal of this project is to enhance the quicktime4linux
+library.")
+ (home-page "http://libquicktime.sourceforge.net/")
+ (license license:lgpl2.1+)))
+
+(define-public mjpegtools
+ (package
+ (name "mjpegtools")
+ (version "2.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://sourceforge.net/projects/" name "/files/"
+ name "/" version "/" name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0kvhxr5hkabj9v7ah2rzkbirndfqdijd9hp8v52c1z6bxddf019w"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("gtk+-2" ,gtk+-2)
+ ("libdv" ,libdv)
+ ("libpng" ,libpng)
+ ("libquicktime" ,libquicktime)
+ ("sdl" ,sdl)))
+ (synopsis "Tools for handling MPEG")
+ (description "Mjpeg tools is a suite of programs which support video capture,
+editing, playback, and compression to MPEG of MJPEG video. Edit, play and
+compression software is hardware independent.")
+ (home-page "http://mjpeg.sourceforge.net/")
+ (license license:gpl2+)))
+
+(define-public libmms
+ (package
+ (name "libmms")
+ (version "0.6.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://sourceforge.net/projects/" name "/files/"
+ name "/" version "/" name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0kvhxr5hkabj9v7ah2rzkbirndfqdijd9hp8v52c1z6bxddf019w"))))
+ (build-system gnu-build-system)
+ (synopsis "MMS stream protocol library")
+ (description "Libmms is a library for streaming media files using the mmst
+and mmsh protocols.")
+ (home-page "https://sourceforge.net/projects/libmms/")
+ (license license:lgpl2.1+)))
+
+(define-public libvideogfx
+ (package
+ (name "libvideogfx")
+ (version "1.0.9")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/farindk/libvideogfx.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "154b0j8cfg879pg08xcbwvbz8z9nrfnyj31i48vxir1psas70ynq"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-build-errors
+ (lambda _
+ (substitute* "libvideogfx/graphics/fileio/ffmpeg.cc"
+ (("av_close_input_file\\(")
+ "avformat_close_input(&"))
+ (substitute* "libvideogfx/graphics/fileio/png.cc"
+ (("is != NULL") "is.good()"))
+ #t)))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("ffmpeg" ,ffmpeg-2.8)
+ ("jpeg" ,libjpeg-turbo)
+ ("png" ,libpng)
+ ("x11" ,libx11)
+ ("xext" ,libxext)))
+ (synopsis "Video processing library")
+ (description "LibVideoGfx is a C++ library for low-level video processing.
+It aims at speeding up the development process for image and video processing
+applications by providing high-level classes for commonly required tasks.")
+ (home-page "https://dirk-farin.net/software/libvideogfx/index.html")
+ (license license:lgpl2.1+)))
+
+(define-public libde265
+ (package
+ (name "libde265")
+ (version "1.0.6")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/strukturag/libde265.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ipccyavlgf7hfzx1g8bvzg62xq10vcxvwgq70r3z3j6mdvmrzjp"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags
+ (list "--disable-static")))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)
+ ("python" ,python-wrapper)))
+ (inputs
+ `(;; XXX: Build fails with libvideogfx.
+ ;; ("libvideogfx" ,libvideogfx)
+ ("qt" ,qtbase)
+ ("sdl" ,sdl)))
+ (synopsis "H.265 video codec implementation")
+ (description "Libde265 is an implementation of the h.265 video codec. It is
+written from scratch and has a plain C API to enable a simple integration into
+other software.")
+ (home-page "https://www.libde265.org/")
+ (license
+ (list
+ ;; Applications.
+ license:expat
+ ;; Library.
+ license:lgpl3+))))
+
+(define-public tslib
+ (package
+ (name "tslib")
+ (version "1.22")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/libts/tslib.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "197p6vy539wvfrv23agbvmay4rjya1jnisi46llm0nx4cvqh48by"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:test-target "tests"
+ #:configure-flags
+ (list "--with-sdl2")))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("linux-headers" ,linux-libre-headers)
+ ("sdl2" ,sdl2)))
+ (synopsis "Touchscreen access library")
+ (description "TSLib is a cross-platform library that provides access to
+touchscreen devices and the ability to apply filters to their input events.")
+ (home-page "http://www.tslib.org/")
+ (license license:lgpl2.1+)))
+
+(define-public libmpeg3
+ (package
+ (name "libmpeg3")
+ (version "1.8")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://sourceforge.net/projects/heroines/files/"
+ "releases/081108/" name "-" version "-src.tar.bz2"))
+ (sha256
+ (base32 "1i53vv0wm5qfwgg1z7j9g14s6c7gxxkiy4vbdkq3lijjyyz50vv5"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:test-target "test"
+ #:make-flags
+ (list
+ (string-append "A52DIR=" (assoc-ref %build-inputs "liba52"))
+ (string-append "DST=" (assoc-ref %outputs "out") "/bin"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'delete-bundled-a52dec
+ (lambda _
+ (delete-file-recursively "a52dec-0.7.3")
+ (substitute* "Makefile"
+ (("include Makefile\\.a52")
+ "")
+ (("\\(A52DIR\\)/include")
+ "(A52DIR)/include/a52dec")
+ (("LIBS = " match)
+ (string-append match "-la52 ")))
+ #t))
+ (add-before 'install 'create-destination-directory
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (string-append (assoc-ref outputs "out"))))
+ (mkdir-p (string-append out "/bin"))
+ #t))))))
+ (native-inputs
+ `(("nasm" ,nasm)))
+ (inputs
+ `(("liba52" ,liba52)))
+ (synopsis "Advanced MPEG editing and manipulation library")
+ (description "Libmpeg3 decodes MP2, MP3, AC3, MPEG-1 video, MPEG-2 video,
+and DVD footage in a single library. It supports many esoteric features like
+parallel video decoding, frame-accurate editing, YUV 4:2:2, and ATSC transport
+stream decoding")
+ (home-page "http://heroinewarrior.com/libmpeg3.php")
+ (license license:gpl2+)))
+
(define-public aalib
(package
(name "aalib")
@@ -529,7 +1001,7 @@ H.264 (MPEG-4 AVC) video streams.")
(define-public straw-viewer
(package
(name "straw-viewer")
- (version "0.0.6")
+ (version "0.0.7")
(source
(origin
(method git-fetch)
@@ -538,8 +1010,7 @@ H.264 (MPEG-4 AVC) video streams.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32
- "0a9g10r56jdm2jx2yg9i8j8nczq74x78c29bhannr7ybnm2r6w2a"))))
+ (base32 "11ywip9ck2rgyj8s1pyr6za3si0bnx8rl2f3cv84xgcq36ac3rv4"))))
(build-system perl-build-system)
(native-inputs
`(("perl-module-build" ,perl-module-build)
@@ -577,15 +1048,15 @@ H.264 (MPEG-4 AVC) video streams.")
(format #f "'~a/bin/xdg-open'"
(assoc-ref inputs "xdg-utils"))))
#t))
- (add-after 'install 'install-desktop
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (sharedir (string-append out "/share")))
- (install-file "share/gtk-straw-viewer.desktop"
- (string-append sharedir "/applications"))
- (install-file "share/icons/gtk-straw-viewer.png"
- (string-append sharedir "/pixmaps"))
- #t)))
+ ;; (add-after 'install 'install-desktop
+ ;; (lambda* (#:key outputs #:allow-other-keys)
+ ;; (let* ((out (assoc-ref outputs "out"))
+ ;; (sharedir (string-append out "/share")))
+ ;; (install-file "share/gtk-straw-viewer.desktop"
+ ;; (string-append sharedir "/applications"))
+ ;; (install-file "share/icons/gtk-straw-viewer.png"
+ ;; (string-append sharedir "/pixmaps"))
+ ;; #t)))
(add-after 'install 'wrap-program
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -818,14 +1289,14 @@ SMPTE 314M.")
(define-public libmatroska
(package
(name "libmatroska")
- (version "1.6.0")
+ (version "1.6.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://dl.matroska.org/downloads/"
"libmatroska/libmatroska-" version ".tar.xz"))
(sha256
- (base32 "0cs03ghf7h65yvv8yf915bx4a47i6d3w2mjbs5zpz000spmrrj7y"))))
+ (base32 "140r3q6n4a0n11zaf76lvyxd9gp435dgm8gn7mj0gar2hjm7ji5w"))))
(build-system cmake-build-system)
(inputs
`(("libebml" ,libebml)))
@@ -1163,6 +1634,53 @@ audio/video codec library.")
(inputs (alist-delete "dav1d" (alist-delete "libaom" (alist-delete "rav1e"
(package-inputs ffmpeg)))))))
+(define-public ffmpeg-2.8
+ (package
+ (inherit ffmpeg)
+ (version "2.8.16")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "14n0xg22yz1r4apif2idm91s3avcmkz4sl8gyj5763gcy415k2bb"))))
+ (arguments
+ `(#:tests? #f ; XXX: Enable them later, if required
+ #:configure-flags
+ (list
+ "--disable-static"
+ "--enable-shared"
+ "--extra-cflags=-DFF_API_OLD_ENCODE_VIDEO -DFF_API_OLD_ENCODE_AUDIO")
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key outputs configure-flags #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (substitute* "configure"
+ (("#! /bin/sh") (string-append "#!" (which "sh"))))
+ ;; configure does not work followed by "SHELL=..." and
+ ;; "CONFIG_SHELL=..."; set environment variables instead.
+ (setenv "SHELL" (which "bash"))
+ (setenv "CONFIG_SHELL" (which "bash"))
+ (apply invoke
+ "./configure"
+ (string-append "--prefix=" out)
+ ;; Add $libdir to the RUNPATH of all the binaries.
+ (string-append "--extra-ldflags=-Wl,-rpath="
+ out "/lib")
+ configure-flags))))
+ (add-before
+ 'check 'set-ld-library-path
+ (lambda _
+ ;; Allow $(top_builddir)/ffmpeg to find its dependencies when
+ ;; running tests.
+ (let* ((dso (find-files "." "\\.so$"))
+ (path (string-join (map dirname dso) ":")))
+ (format #t "setting LD_LIBRARY_PATH to ~s~%" path)
+ (setenv "LD_LIBRARY_PATH" path)
+ #t))))))))
+
(define-public ffmpeg-for-stepmania
(hidden-package
(package
@@ -1225,7 +1743,7 @@ videoformats depend on the configuration flags of ffmpeg.")
(define-public vlc
(package
(name "vlc")
- (version "3.0.11")
+ (version "3.0.11.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1234,13 +1752,12 @@ videoformats depend on the configuration flags of ffmpeg.")
"/vlc-" version ".tar.xz"))
(sha256
(base32
- "06a9hfl60f6l0fs5c9ma5s8np8kscm4ala6m2pdfji9lyfna351y"))))
+ "1f46h0hv7fk35zg4iczlp7ib7h2jmh8m4r5klw3g2558ib9134qq"))))
(build-system gnu-build-system)
(native-inputs
`(("flex" ,flex)
("bison" ,bison)
("gettext" ,gettext-minimal)
- ("git" ,git) ; needed for a test
("pkg-config" ,pkg-config)))
;; FIXME: Add optional inputs once available.
(inputs
@@ -1648,7 +2165,7 @@ To load this plugin, specify the following option when starting mpv:
(define-public youtube-dl
(package
(name "youtube-dl")
- (version "2020.06.16.1")
+ (version "2020.07.28")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/ytdl-org/youtube-dl/"
@@ -1656,7 +2173,7 @@ To load this plugin, specify the following option when starting mpv:
version ".tar.gz"))
(sha256
(base32
- "1q0080cvxpfakgbzigbnl9adnga3jz1sqig2rsiq52rarqbc01px"))))
+ "1if7xyi7g9rpni1jbs7gv5m12s34qdb15dpfbbjn8120h16y7cqz"))))
(build-system python-build-system)
(arguments
;; The problem here is that the directory for the man page and completion
@@ -1796,7 +2313,7 @@ other site that youtube-dl supports.")
(define-public you-get
(package
(name "you-get")
- (version "0.4.1410")
+ (version "0.4.1456")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1805,7 +2322,7 @@ other site that youtube-dl supports.")
(file-name (git-file-name name version))
(sha256
(base32
- "1v4lfldcijgngg0s4q5w4ixa0k8k75dwmkhf57pgb31bqlrr8h0s"))))
+ "0n6h5qkhjwsxy8rf6n4i8hd8dah38hbvchh9272c53gydgp9lp29"))))
(build-system python-build-system)
(inputs
`(("ffmpeg" ,ffmpeg))) ; for multi-part and >=1080p videos
@@ -1835,7 +2352,7 @@ audio, images) from the Web. It can use either mpv or vlc for playback.")
(define-public youtube-viewer
(package
(name "youtube-viewer")
- (version "3.7.6")
+ (version "3.7.8")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1844,7 +2361,7 @@ audio, images) from the Web. It can use either mpv or vlc for playback.")
(file-name (git-file-name name version))
(sha256
(base32
- "1c7wynx0fzs8awb1s4rdrl8xavqlj64z95yckhl1m1gnhahhq291"))))
+ "1ckzzf35nbwlx5prvzjr52n28chyd479vhdk5w7vb2343az80mzi"))))
(build-system perl-build-system)
(native-inputs
`(("perl-module-build" ,perl-module-build)))
@@ -2219,7 +2736,7 @@ capabilities.")
(define-public vapoursynth
(package
(name "vapoursynth")
- (version "49")
+ (version "52")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2228,7 +2745,7 @@ capabilities.")
(file-name (git-file-name name version))
(sha256
(base32
- "1d298mlb24nlc2x7pixfbkd0qbpv4c706c32idsgpi96z1spkhvl"))))
+ "1krfdzc2x2vxv4nq9kiv1c09hgj525qn120ah91fw2ikq8ldvmx4"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
@@ -2367,7 +2884,7 @@ from sites like Twitch.tv and pipes them into a video player of choice.")
(define-public mlt
(package
(name "mlt")
- (version "6.20.0")
+ (version "6.22.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2376,7 +2893,7 @@ from sites like Twitch.tv and pipes them into a video player of choice.")
(file-name (git-file-name name version))
(sha256
(base32
- "14kayzas2wisyw0z27qkcm4qnxbdb7bqa0hg7gaj5kbm3nvsnafk"))))
+ "0jxv848ykw0csbnayrd710ylw46m0picfv7rpzsxz1vh4jzs395k"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests
@@ -2405,6 +2922,9 @@ from sites like Twitch.tv and pipes them into a video player of choice.")
("libxml2" ,libxml2)
("jack" ,jack-1)
("ladspa" ,ladspa)
+ ("libexif" ,libexif)
+ ("libvorbis" ,libvorbis)
+ ("rubberband" ,rubberband)
("libsamplerate" ,libsamplerate)
("pulseaudio" ,pulseaudio)
("qtbase" ,qtbase)
@@ -3065,7 +3585,7 @@ practically any type of media.")
(define-public libmediainfo
(package
(name "libmediainfo")
- (version "20.03")
+ (version "20.08")
(source (origin
(method url-fetch)
(uri (string-append "https://mediaarea.net/download/source/"
@@ -3073,7 +3593,7 @@ practically any type of media.")
name "_" version ".tar.xz"))
(sha256
(base32
- "0wkzj5s34m8dvy7hif4h8f90q8ncrzd930gij1zzw3h5nw732j38"))))
+ "19n8h9jq42b6r3dbag77fzwfksfywszmzpi636w87fvc1nqldlqj"))))
;; TODO add a Big Buck Bunny webm for tests.
(native-inputs
`(("autoconf" ,autoconf)
@@ -3123,7 +3643,7 @@ MPEG-2, MPEG-4, DVD (VOB)...
(define-public mediainfo
(package
(name "mediainfo")
- (version "20.03")
+ (version "20.08")
(source (origin
(method url-fetch)
;; Warning: This source has proved unreliable 1 time at least.
@@ -3134,7 +3654,7 @@ MPEG-2, MPEG-4, DVD (VOB)...
name "_" version ".tar.xz"))
(sha256
(base32
- "1f1shnycf0f1fwka9k9s250l228xjkg0k4k73h8bpld8msighgnw"))))
+ "1baf2dj5s3g1x4ssqli1b2r1203syk42m09zhp36qcinmfixv11l"))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
@@ -4025,13 +4545,13 @@ result in several formats:
("rust-rayon" ,rust-rayon-1)
("rust-rust-hawktracer" ,rust-rust-hawktracer-0.7)
("rust-scan-fmt" ,rust-scan-fmt-0.2)
- ("rust-serde" ,rust-serde-1.0)
+ ("rust-serde" ,rust-serde-1)
("rust-signal-hook" ,rust-signal-hook-0.1)
("rust-simd-helpers" ,rust-simd-helpers-0.1)
("rust-thiserror" ,rust-thiserror-1.0)
("rust-toml" ,rust-toml-0.5)
("rust-y4m" ,rust-y4m-0.5)
- ("rust-cc" ,rust-cc-1.0)
+ ("rust-cc" ,rust-cc-1)
("rust-nasm-rs" ,rust-nasm-rs-0.1)
("rust-rustc-version" ,rust-rustc-version-0.2)
("rust-vergen" ,rust-vergen-3.1))
@@ -4220,3 +4740,27 @@ mplayer; and as a @dfn{Personal Video Recorder} (PVR), subscribing to search
terms and recording programmes automatically. It can also stream or record live
BBC iPlayer output.")
(license license:gpl3+)))
+
+(define-public ogmtools
+ (package
+ (name "ogmtools")
+ (version "1.5")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://www.bunkus.org/videotools/ogmtools/ogmtools-"
+ version
+ ".tar.bz2"))
+ (sha256
+ (base32
+ "1spx81p5wf59ksl3r3gvf78d77sh7gj8a6lw773iv67bphfivmn8"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("libvorbis" ,libvorbis)
+ ("libdvdread" ,libdvdread)))
+ (synopsis "Information, extraction or creation for OGG media streams")
+ (description
+ "These tools allow information about (@code{ogminfo}) or extraction from
+\(@code{ogmdemux}) or creation of (@code{ogmmerge}) OGG media streams. It
+includes @code{dvdxchap} tool for extracting chapter information from DVD.")
+ (license license:gpl2)
+ (home-page "https://www.bunkus.org/videotools/ogmtools/")))