X-Git-Url: https://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/47734a56d60be9f4f05b198ffbf8c504e75d5e3e..4ca077d5729ba172c641fe19a27db8a1977c7be0:/gnu/packages/video.scm diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index f5085f84ce..87c9de3e34 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -11,9 +11,11 @@ ;;; Copyright © 2016 Kei Kebreau ;;; Copyright © 2016 Dmitry Nikolaev ;;; Copyright © 2016 Andy Patterson -;;; Copyright © 2016 ng0 +;;; Copyright © 2016, 2017 ng0 ;;; Copyright © 2016 Eric Bavier ;;; Copyright © 2016 Jan Nieuwenhuizen +;;; Copyright © 2017 Feng Shu +;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -57,6 +59,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages curl) #:use-module (gnu packages databases) + #:use-module (gnu packages dejagnu) #:use-module (gnu packages elf) #:use-module (gnu packages flex) #:use-module (gnu packages fontutils) @@ -75,6 +78,7 @@ #:use-module (gnu packages linux) #:use-module (gnu packages lua) #:use-module (gnu packages m4) + #:use-module (gnu packages man) #:use-module (gnu packages mp3) #:use-module (gnu packages ncurses) #:use-module (gnu packages ocr) @@ -134,6 +138,11 @@ (%current-system)) '("--host=mips64el-unknown-linux-gnu") '()) + ;; The same is also true with aarch64. + ,@(if (string=? "aarch64-linux" + (%current-system)) + '("--host=aarch64-unknown-linux-gnu") + '()) (string-append "--with-ncurses=" ncurses))))))))) (home-page "http://aa-project.sourceforge.net/aalib/") @@ -213,14 +222,14 @@ television and DVD. It is also known as AC-3.") (define-public libx264 (package (name "libx264") - (version "20161205-2245") + (version "20170316-2245") (source (origin (method url-fetch) (uri (string-append "https://download.videolan.org/pub/x264/snapshots/" "x264-snapshot-" version ".tar.bz2")) (sha256 (base32 - "0jjzdwag59kqlk09bb2pykm1ss8bw3p9q7bsks2kjgdwbj121a44")))) + "1s1nnvl3axz38sv4g09skijl6k9mbbngbb1nsh26w4dr2w2gyzad")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -261,7 +270,7 @@ H.264 (MPEG-4 AVC) video streams.") (define-public x265 (package (name "x265") - (version "2.1") + (version "2.3") (source (origin (method url-fetch) @@ -269,13 +278,17 @@ H.264 (MPEG-4 AVC) video streams.") "x265_" version ".tar.gz")) (sha256 (base32 - "0hx6sr9l7586gs4qds2sj0i1m5brxkaqq3cwmibhfb559fpvkz48")) + "07z4ydxg0lk6j43h0wlh2xddb91cy4y4mny2ln71d4278b1hllj7")) (modules '((guix build utils))) (snippet '(delete-file-recursively "source/compat/getopt")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; tests are skipped if cpu-optimized code isn't built + ;; Currently the source code doesn't check for aarch64 + ,@(if (string-prefix? "aarch64" (or (%current-target-system) (%current-system))) + '(#:configure-flags '("-DENABLE_PIC=TRUE")) + '()) #:phases (modify-phases %standard-phases (add-before 'configure 'prepare-build @@ -292,7 +305,7 @@ designed to encode video or images into an H.265 / HEVC encoded bitstream.") (define-public libass (package (name "libass") - (version "0.13.4") + (version "0.13.6") (source (origin (method url-fetch) (uri (string-append @@ -300,7 +313,7 @@ designed to encode video or images into an H.265 / HEVC encoded bitstream.") version "/libass-" version ".tar.xz")) (sha256 (base32 - "1dlzkjybnpl2fkvyjq0qblb7qw12cs893bs7zj3rvf8ij342yjnq")))) + "0b9cj5xfsa7zwlk5m146fhv102v51iqs3rapq0n2xrz30k8p9a7q")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -353,13 +366,13 @@ canvas operations.") (source (origin (method url-fetch) (uri (string-append - "http://download.videolan.org/pub/videolan/libdca/" + "https://download.videolan.org/pub/videolan/libdca/" version "/libdca-" version ".tar.bz2")) (sha256 (base32 "0hh6a7l8vvccsd5i1fkv9av2gzv9fy8m0b8jpsn5p6hh4bh2586v")))) (build-system gnu-build-system) - (home-page "http://www.videolan.org/developers/libdca.html") + (home-page "https://www.videolan.org/developers/libdca.html") (synopsis "DTS Coherent Acoustics decoder") (description "libdca is a library for decoding DTS Coherent Acoustics streams.") @@ -392,7 +405,7 @@ SMPTE 314M.") (define-public libva (package (name "libva") - (version "1.7.1") + (version "1.7.3") (source (origin (method url-fetch) @@ -400,7 +413,7 @@ SMPTE 314M.") "https://www.freedesktop.org/software/vaapi/releases/libva/libva-" version".tar.bz2")) (sha256 - (base32 "1j8mb3p9kafhp30r3kmndnrklvzycc2ym0w6xdqz6m7jap626028")))) + (base32 "1ndrf136rlw03xag7j1xpmf9015d1h0dpnv6v587jnh6k2a17g12")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -442,14 +455,14 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).") (define-public ffmpeg (package (name "ffmpeg") - (version "3.2.2") + (version "3.2.4") (source (origin (method url-fetch) (uri (string-append "https://ffmpeg.org/releases/ffmpeg-" version ".tar.xz")) (sha256 (base32 - "1z7d5y5crhsl5fm74236rdwbkd4jj5frx1l4iizjfym1w4gvs09z")))) + "0ymg1mkg1n0770gmjfqp79p5ijxq04smfrsrrxc8pjc0y0agyf3f")))) (build-system gnu-build-system) (inputs `(("fontconfig" ,fontconfig) @@ -471,6 +484,7 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).") ("mesa" ,mesa) ("openal" ,openal) ("pulseaudio" ,pulseaudio) + ("sdl" ,sdl2) ("soxr" ,soxr) ("speex" ,speex) ("twolame" ,twolame) @@ -610,14 +624,14 @@ audio/video codec library.") (define-public ffmpeg-2.8 (package (inherit ffmpeg) - (version "2.8.10") + (version "2.8.11") (source (origin (method url-fetch) (uri (string-append "https://ffmpeg.org/releases/ffmpeg-" version ".tar.xz")) (sha256 (base32 - "1ca84kc715xm7wmbnj1z4jfhxj8c7rxhy4cqwrd8cnih0l196j1c")))) + "1rhz7rhmhhh8bjcj3dc82haisn3qjbzqlr7k6d6v7064jgn3maiq")))) (arguments (substitute-keyword-arguments (package-arguments ffmpeg) ((#:configure-flags flags) @@ -796,7 +810,7 @@ treaming protocols.") (let ((out (assoc-ref outputs "out")) (libx11 (assoc-ref inputs "libx11"))) (substitute* "configure" - (("#! /bin/sh") (string-append "#!" (which "bash")))) + (("#! /bin/sh") (string-append "#!" (which "sh")))) (setenv "SHELL" (which "bash")) (setenv "CONFIG_SHELL" (which "bash")) (zero? (system* @@ -834,7 +848,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") (define-public mpv (package (name "mpv") - (version "0.23.0") + (version "0.24.0") (source (origin (method url-fetch) (uri (string-append @@ -842,7 +856,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") ".tar.gz")) (sha256 (base32 - "1629v5l0rmphxra7chmfm7bnn59zc1mp529b9m2zqzaqf1czxvla")) + "059zblcj98fhrns1rwa66mf4km68czpam4nnk8q9qny31bx58654")) (file-name (string-append name "-" version ".tar.gz")))) (build-system waf-build-system) (native-inputs @@ -891,7 +905,9 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") (lambda* (#:key inputs #:allow-other-keys) (copy-file (assoc-ref inputs "waf") "waf") (setenv "CC" "gcc")))) - #:configure-flags (list "--enable-libmpv-shared" "--enable-zsh-comp") + #:configure-flags (list "--enable-libmpv-shared" + "--enable-zsh-comp" + "--disable-build-date") ;; No check function defined. #:tests? #f)) (home-page "https://mpv.io/") @@ -932,7 +948,7 @@ access to mpv's powerful playback capabilities.") (define-public libvpx (package (name "libvpx") - (version "1.6.0") + (version "1.6.1") (source (origin (method url-fetch) (uri (string-append "http://storage.googleapis.com/" @@ -940,7 +956,7 @@ access to mpv's powerful playback capabilities.") name "-" version ".tar.bz2")) (sha256 (base32 - "1basd6dda5di9p7jhc0f4f52wzm9c3hsravqspw6ibpcn5gbpbyh")) + "06d8hqjkfs6wl45qf4pwh1kpbvkx6cwywd5y8d4lgagvjwm0qb0w")) (patches (search-patches "libvpx-CVE-2016-2818.patch")))) (build-system gnu-build-system) (arguments @@ -970,7 +986,7 @@ access to mpv's powerful playback capabilities.") (define-public youtube-dl (package (name "youtube-dl") - (version "2017.01.14") + (version "2017.04.16") (source (origin (method url-fetch) (uri (string-append "https://yt-dl.org/downloads/" @@ -978,7 +994,7 @@ access to mpv's powerful playback capabilities.") version ".tar.gz")) (sha256 (base32 - "1jlwz6p7ryj9ygmwqm4r3pykd9qw21rsiqpifbx0p0kcvdvvvj3n")))) + "1pgdfspzv15772q7kakfq5qx1r70lcviwzk6sz9z1cddxzffxgdd")))) (build-system python-build-system) (arguments ;; The problem here is that the directory for the man page and completion @@ -1009,10 +1025,35 @@ YouTube.com and a few more sites.") (home-page "https://yt-dl.org") (license license:public-domain))) +(define-public you-get + (package + (name "you-get") + (version "0.4.652") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/soimort/you-get/releases/download/v" + version "/you-get-" version ".tar.gz")) + (sha256 + (base32 + "0brkz98lycx8mmxjwmn7jlhqfdbvl0hy070n7skwr1k75kh99q30")))) + (build-system python-build-system) + (arguments + ;; no tests + '(#:tests? #f)) + (inputs + `(("ffmpeg" ,ffmpeg))) + (synopsis "Download videos, audios, or images from Web sites") + (description + "You-Get is a command-line utility to download media contents (videos, +audio, images) from the Web. It can use either mpv or vlc for playback.") + (home-page "https://you-get.org/") + (license license:expat))) + (define-public libbluray (package (name "libbluray") - (version "0.9.3") + (version "1.0.0") (source (origin (method url-fetch) (uri (string-append "https://download.videolan.org/videolan/" @@ -1020,7 +1061,7 @@ YouTube.com and a few more sites.") name "-" version ".tar.bz2")) (sha256 (base32 - "1q1whviqv5sr9nr372h31zwid1rvbfbx3z4lzr8lnj25xha6cdm6")))) + "1k3lag4lxi2jjd3zh4wcb5l3hadzm54j5kagh92yzfy76p9svqzp")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--disable-bdjava") @@ -1057,7 +1098,7 @@ players, like VLC or MPlayer.") (version "5.0.3") (source (origin (method url-fetch) - (uri (string-append "http://download.videolan.org/videolan/" + (uri (string-append "https://download.videolan.org/videolan/" name "/" version "/" name "-" version ".tar.bz2")) (sha256 @@ -1080,7 +1121,7 @@ installed).") (version "5.0.3") (source (origin (method url-fetch) - (uri (string-append "http://download.videolan.org/videolan/" + (uri (string-append "https://download.videolan.org/videolan/" name "/" version "/" name "-" version ".tar.bz2")) (sha256 @@ -1114,7 +1155,7 @@ encapsulated.") (method url-fetch) (uri (string-append - "http://download.videolan.org/videolan/libdvdnav/libdvdnav-" + "https://download.videolan.org/videolan/libdvdnav/libdvdnav-" version ".tar.xz")) (sha256 (base32 @@ -1138,14 +1179,14 @@ encapsulated.") (version "1.4.0") (source (origin (method url-fetch) - (uri (string-append "http://download.videolan.org/pub/" + (uri (string-append "https://download.videolan.org/pub/" name "/" version "/" name "-" version ".tar.bz2")) (sha256 (base32 "0nl45ifc4xcb196snv9d6hinfw614cqpzcqp92dg43c0hickg290")))) (build-system gnu-build-system) - (home-page "http://www.videolan.org/developers/libdvdcss.html") + (home-page "https://www.videolan.org/developers/libdvdcss.html") (synopsis "Library for accessing DVDs as block devices") (description "libdvdcss is a simple library designed for accessing DVDs like a block @@ -1297,7 +1338,7 @@ capabilities.") (define-public vapoursynth (package (name "vapoursynth") - (version "35") + (version "37") (source (origin (method url-fetch) (uri (string-append @@ -1306,7 +1347,7 @@ capabilities.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0629ys2lf618n9cc644xlvx0vx52v2fp3sx14p4mx5rg9nlasb3n")))) + "1g3hc079jw4mz1cmkv2y28pdb556wqc8ql7iravgh1rg8j3f1zi5")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) @@ -1451,14 +1492,14 @@ tools, XML authoring components, and an extensible plug-in based API.") (define-public v4l-utils (package (name "v4l-utils") - (version "1.10.1") + (version "1.12.3") (source (origin (method url-fetch) (uri (string-append "https://linuxtv.org/downloads/v4l-utils" "/v4l-utils-" version ".tar.bz2")) (sha256 (base32 - "1h1nhg5cmmzlbipak526nk4bm6d0yb217mll75f3rpg7kz1cqiv1")))) + "0vpl3jl0x441y7b5cn7zhdsyi954hp9h2p30jhnr1zkx1rpxsiss")))) (build-system gnu-build-system) (arguments '(#:configure-flags @@ -1467,7 +1508,8 @@ tools, XML authoring components, and an extensible plug-in based API.") "/lib/udev") "CXXFLAGS=-std=gnu++11"))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("perl" ,perl) + ("pkg-config" ,pkg-config))) (inputs `(("alsa-lib" ,alsa-lib) ("glu" ,glu) @@ -1485,7 +1527,7 @@ be used for realtime video capture via Linux-specific APIs.") (define-public obs (package (name "obs") - (version "17.0.2") + (version "18.0.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/jp9000/obs-studio" @@ -1493,7 +1535,7 @@ be used for realtime video capture via Linux-specific APIs.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "02cfhpkcsq718zwhwwsm48gjggf95qr38hqpi0kwrvsy18ll0msm")))) + "043f8mfdh4ll0hpivpyg3iniirckwsgri0gzamyrba1yhf2c2ibr")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; no tests @@ -1669,7 +1711,7 @@ and MPEG system streams.") (inputs `(("libgcrypt" ,libgcrypt))) (build-system gnu-build-system) - (home-page "http://www.videolan.org/developers/libbdplus.html") + (home-page "https://www.videolan.org/developers/libbdplus.html") (synopsis "Library for decrypting certain Blu-Ray discs") (description "libbdplus is a library which implements the BD+ System specifications.") @@ -1692,7 +1734,7 @@ specifications.") `(("bison" ,bison) ("flex" ,flex))) (build-system gnu-build-system) - (home-page "http://www.videolan.org/developers/libaacs.html") + (home-page "https://www.videolan.org/developers/libaacs.html") (synopsis "Library for decrypting certain Blu-Ray discs") (description "libaacs is a library which implements the Advanced Access Content System specification.") @@ -1862,3 +1904,62 @@ of modern, widely supported codecs.") (description "Openh264 is a library which can decode H264 video streams.") (license license:bsd-2))) + +(define-public libmp4v2 + (package + (name "libmp4v2") + (version "2.0.0") + (source + (origin + (method url-fetch) + ;; XXX: The new location of upstream is uncertain and will become relevant the + ;; moment when the googlecode archive shuts down. It is past the date it + ;; should've been turned off. I tried to communicate with upstream, but this + ;; wasn't very responsive and not very helpful. The short summary is, it is + ;; chaos when it comes to the amount of forks and only time will tell where + ;; the new upstream location is. + (uri (string-append "https://storage.googleapis.com/google-" + "code-archive-downloads/v2/" + "code.google.com/mp4v2/mp4v2-" version ".tar.bz2")) + (file-name (string-append name "-" version ".tar.bz2")) + (sha256 + (base32 + "0f438bimimsvxjbdp4vsr8hjw2nwggmhaxgcw07g2z361fkbj683")))) + (build-system gnu-build-system) + (outputs '("out" + "static")) ; 3.7MiB .a file + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'remove-dates + (lambda _ + ;; Make the build reproducible. + (substitute* "configure" + (("PROJECT_build=\"`date`\"") "PROJECT_build=\"\"") + (("ac_abs_top_builddir=$ac_pwd") "ac_abs_top_builddir=\"\"")) + #t)) + (add-after 'install 'move-static-libraries + (lambda* (#:key outputs #:allow-other-keys) + ;; Move static libraries to the "static" output. + (let* ((out (assoc-ref outputs "out")) + (lib (string-append out "/lib")) + (static (assoc-ref outputs "static")) + (slib (string-append static "/lib"))) + (mkdir-p slib) + (for-each (lambda (file) + (install-file file slib) + (delete-file file)) + (find-files lib "\\.a$")) + #t)))))) + (native-inputs + `(("help2man" ,help2man) + ("dejagnu" ,dejagnu))) + (home-page "https://code.google.com/archive/p/mp4v2/") + (synopsis "API to create and modify mp4 files") + (description + "The MP4v2 library provides an API to create and modify mp4 files as defined by +ISO-IEC:14496-1:2001 MPEG-4 Systems. This file format is derived from Apple's QuickTime +file format that has been used as a multimedia file format in a variety of platforms and +applications. It is a very powerful and extensible format that can accommodate +practically any type of media.") + (license license:mpl1.1)))