X-Git-Url: https://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/10f2ae01c46ded2ea4d7ba2201609a5882408278..4bd428a7ce382f623784a3ff8186aadc3cebca91:/gnu/packages/video.scm diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 0b21251f46..370994c9d6 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -12,10 +12,10 @@ ;;; Copyright © 2016 Dmitry Nikolaev ;;; Copyright © 2016 Andy Patterson ;;; Copyright © 2016, 2017 ng0 -;;; Copyright © 2016, 2018, 2019 Eric Bavier +;;; Copyright © 2016, 2018, 2019, 2020 Eric Bavier ;;; Copyright © 2016 Jan Nieuwenhuizen ;;; Copyright © 2017 Feng Shu -;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice +;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2017 Chris Marusich ;;; Copyright © 2017 Thomas Danckaert ;;; Copyright © 2017 Ethan R. Jones @@ -24,7 +24,7 @@ ;;; Copyright © 2017, 2018, 2019 Rutger Helling ;;; Copyright © 2018 Roel Janssen ;;; Copyright © 2018, 2019 Marius Bakke -;;; Copyright © 2018 Pierre Neidhardt +;;; Copyright © 2018, 2019 Pierre Neidhardt ;;; Copyright © 2018, 2019 Leo Famulari ;;; Copyright © 2018 Brendan Tildesley ;;; Copyright © 2018 Arun Isaac @@ -34,6 +34,8 @@ ;;; Copyright © 2019 Mathieu Othacehe ;;; Copyright © 2019 Timo Eisenmann ;;; Copyright © 2019 Arne Babenhauserheide +;;; Copyright © 2019 Riku Viitanen +;;; Copyright © 2020 Oleg Pykhalov ;;; ;;; This file is part of GNU Guix. ;;; @@ -207,14 +209,14 @@ old-fashioned output methods with powerful ascii-art renderer.") (define-public celluloid (package (name "celluloid") - (version "0.17") + (version "0.18") (source (origin (method url-fetch) (uri (string-append "https://github.com/celluloid-player/celluloid/releases" "/download/v" version "/celluloid-" version ".tar.xz")) (sha256 - (base32 "0a3bhvs38gxjplygb0q9cx5djl5y0bmnxgaq0sd65j610a60f5h0")))) + (base32 "0gmscx9zb8ppfjlnmgbcmhknhawa05sdhxi7dv5wjapjq0glq481")))) (build-system glib-or-gtk-build-system) (native-inputs `(("intltool" ,intltool) @@ -428,7 +430,7 @@ H.264 (MPEG-4 AVC) video streams.") ("gettext" ,gettext-minimal) ("googletest" ,googletest) ("libxslt" ,libxslt) - ("nlohmann-json-cpp" ,nlohmann-json-cpp) + ("json-modern-cxx" ,json-modern-cxx) ("perl" ,perl) ("pkg-config" ,pkg-config) ("po4a" ,po4a) @@ -508,7 +510,7 @@ H.264 (MPEG-4 AVC) video streams.") (define-public x265 (package (name "x265") - (version "3.1.2") + (version "3.2.1") (outputs '("out" "static")) (source (origin @@ -518,8 +520,7 @@ H.264 (MPEG-4 AVC) video streams.") (string-append "https://download.videolan.org/videolan/x265/" "x265_" version ".tar.gz"))) (sha256 - (base32 - "1ajr59gjj47gnczfb2qhmzclj746pdiq9a1d81b0mq22k8f5yy3g")) + (base32 "1k5vijsy6cgcghw69f5275xfmbjjx7js0nlbgxbd6krnjb7sv6zv")) (patches (search-patches "x265-arm-flags.patch")) (modules '((guix build utils))) (snippet '(begin @@ -688,8 +689,8 @@ streams.") (source (origin (method url-fetch) (uri (string-append - "mirror://sourceforge/" name "/" name "/" - version "/" name "-" version ".tar.gz")) + "mirror://sourceforge/libdv/libdv/" + version "/libdv-" version ".tar.gz")) (sha256 (base32 "1fl96f2xh2slkv1i1ix7kqk576a0ak1d33cylm0mbhm96d0761d3")))) @@ -737,7 +738,7 @@ libebml is a C++ library to read and write EBML files.") (define-public libva (package (name "libva") - (version "2.5.0") + (version "2.6.1") (source (origin (method url-fetch) @@ -749,7 +750,7 @@ libebml is a C++ library to read and write EBML files.") (string-append "https://www.freedesktop.org/software/vaapi/releases/" "libva/libva-" version "/libva-" version ".tar.bz2"))) (sha256 - (base32 "0y38mw1ggxm15zq06r4qpwhd5wx4bppw1rsxpr6sq1m5d79rra1s")))) + (base32 "19df3r02k1p4cbyvifkdjyc8q7hi23f5b3x3390z52l25mjfnmvc")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -827,14 +828,14 @@ operate properly.") (define-public ffmpeg (package (name "ffmpeg") - (version "4.2.1") + (version "4.2.2") (source (origin (method url-fetch) (uri (string-append "https://ffmpeg.org/releases/ffmpeg-" version ".tar.xz")) (sha256 (base32 - "1m5nkc61ihgcf0b2wabm0zyqa8sj3c0w8fi6kr879lb0kdzciiyf")))) + "176jn1lcdf0gk7sa5l2mv0faqp5dsqdhx1gqcrgymqhfmdal4xfb")))) (build-system gnu-build-system) (inputs `(("dav1d" ,dav1d) @@ -1009,14 +1010,14 @@ audio/video codec library.") (define-public ffmpeg-3.4 (package (inherit ffmpeg) - (version "3.4.6") + (version "3.4.7") (source (origin (method url-fetch) (uri (string-append "https://ffmpeg.org/releases/ffmpeg-" version ".tar.xz")) (sha256 (base32 - "0gmqbhg5jjcfanrxrl657zn12lzz73sfs8xwryfy7n9rn6f2fwim")))) + "1j7mdk9szrljgv4sdx69bm1pnbb3cldbdxbkr42jbdi9zn11gl7g")))) (arguments (substitute-keyword-arguments (package-arguments ffmpeg) ((#:configure-flags flags) @@ -1056,7 +1057,7 @@ audio/video codec library.") (define-public ffmpegthumbnailer (package (name "ffmpegthumbnailer") - (version "2.2.0") + (version "2.2.2") (source (origin (method git-fetch) (uri (git-reference @@ -1065,7 +1066,7 @@ audio/video codec library.") (file-name (git-file-name name version)) (sha256 (base32 - "0kl8aa547icy9b05njps02a8sw4yn4f8fzs228kig247sn09s4cp")))) + "1bakbr714j7yxdal1f5iq0gcl4cxggbbgj227ihdh5kvygqlwich")))) (build-system cmake-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -1089,20 +1090,26 @@ videoformats depend on the configuration flags of ffmpeg.") (name "vlc") (version "3.0.8") (source (origin - (method url-fetch) - (uri (string-append - "https://download.videolan.org/pub/videolan/vlc/" - (car (string-split version #\-)) - "/vlc-" version ".tar.xz")) - (sha256 - (base32 - "1xmxjpyzdhabchwncz6lvx3kzvl7fz9c42bkv3nbj68albs9w570")))) + (method url-fetch) + (uri (string-append + "https://download.videolan.org/pub/videolan/vlc/" + (car (string-split version #\-)) + "/vlc-" version ".tar.xz")) + (sha256 + (base32 + "1xmxjpyzdhabchwncz6lvx3kzvl7fz9c42bkv3nbj68albs9w570")) + (patches + (search-patches + ;; TODO: The test "libvlc_slaves" fails. Applied upstream as + ;; . + ;; Try removing it in 3.0.9. + "vlc-fix-test_libvlc_slaves.patch")))) (build-system gnu-build-system) (native-inputs `(("flex" ,flex) ("bison" ,bison) ("gettext" ,gettext-minimal) - ("git" ,git) ; needed for a test + ("git" ,git) ; needed for a test ("pkg-config" ,pkg-config))) ;; FIXME: Add optional inputs once available. (inputs @@ -1180,11 +1187,10 @@ videoformats depend on the configuration flags of ffmpeg.") ("xcb-util-keysyms" ,xcb-util-keysyms))) (arguments `(#:configure-flags - `("CXXFLAGS=-std=gnu++11" - "BUILDCC=gcc" + `("BUILDCC=gcc" ,(string-append "LDFLAGS=-Wl,-rpath -Wl," (assoc-ref %build-inputs "ffmpeg") - "/lib")) ;needed for the tests + "/lib")) ;needed for the tests #:phases (modify-phases %standard-phases @@ -1235,11 +1241,11 @@ videoformats depend on the configuration flags of ffmpeg.") (invoke cachegen plugindir)))) (add-after 'install 'wrap-executable (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (plugin-path (getenv "QT_PLUGIN_PATH"))) - (wrap-program (string-append out "/bin/vlc") - `("QT_PLUGIN_PATH" ":" prefix (,plugin-path)))) - #t))))) + (let ((out (assoc-ref outputs "out")) + (plugin-path (getenv "QT_PLUGIN_PATH"))) + (wrap-program (string-append out "/bin/vlc") + `("QT_PLUGIN_PATH" ":" prefix (,plugin-path)))) + #t))))) (home-page "https://www.videolan.org/") (synopsis "Audio and video framework") (description "VLC is a cross-platform multimedia player and framework @@ -1262,7 +1268,8 @@ streaming protocols.") (build-system gnu-build-system) ;; FIXME: Add additional inputs once available. (native-inputs - `(("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + ("yasm" ,yasm))) (inputs `(("alsa-lib" ,alsa-lib) ("cdparanoia" ,cdparanoia) @@ -1274,7 +1281,7 @@ streaming protocols.") ("libass" ,libass) ("libdvdcss" ,libdvdcss) ("libdvdnav" ,libdvdnav) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libmpeg2" ,libmpeg2) ("libmpg123" ,mpg123) ; audio codec for MP3 ("libpng" ,libpng) @@ -1293,7 +1300,6 @@ streaming protocols.") ("python" ,python-wrapper) ("sdl" ,sdl) ("speex" ,speex) - ("yasm" ,yasm) ("zlib" ,zlib))) (arguments `(#:tests? #f ; no test target @@ -1343,7 +1349,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") (define-public mpv (package (name "mpv") - (version "0.29.1") + (version "0.31.0") (source (origin (method git-fetch) (uri (git-reference @@ -1352,7 +1358,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") (file-name (git-file-name name version)) (sha256 (base32 - "138921kx8g6qprim558xin09xximjhsj9ss8b71ifg2m6kclym8m")))) + "138m09l4wi6ifbi15z76j578plmxkclhlzfryasfcdp8hswhs59r")))) (build-system waf-build-system) (native-inputs `(("perl" ,perl) ; for zsh completion file @@ -1373,7 +1379,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") ("libcdio-paranoia" ,libcdio-paranoia) ("libdvdread" ,libdvdread) ("libdvdnav" ,libdvdnav) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libva" ,libva) ("libvdpau" ,libvdpau) ("libx11" ,libx11) @@ -1418,9 +1424,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") #t))) #:configure-flags (list "--enable-libmpv-shared" "--enable-cdda" - "--enable-dvdread" "--enable-dvdnav" - "--enable-zsh-comp" "--disable-build-date") ;; No check function defined. #:tests? #f)) @@ -1434,10 +1438,53 @@ projects while introducing many more.") (define-public gnome-mpv (deprecated-package "gnome-mpv" celluloid)) +(define-public mpv-mpris + (package + (name "mpv-mpris") + (version "0.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hoyon/mpv-mpris") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "06hq3j1jjlaaz9ss5l7illxz8vm5bng86jl24kawglwkqayhdnjx")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f ; no tests + #:make-flags '("CC=gcc") + #:phases + (modify-phases %standard-phases + (delete 'configure) ; no configure script + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (install-file "mpris.so" (string-append out "/lib"))) + #t))))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("glib" ,glib) + ("mpv" ,mpv))) + (home-page "https://github.com/hoyon/mpv-mpris") + (synopsis "MPRIS plugin for mpv") + (description "This package provides an @dfn{MPRIS} (Media Player Remote +Interfacing Specification) plugin for the @code{mpv} media player. It implements +@code{org.mpris.MediaPlayer2} and @code{org.mpris.MediaPlayer2.Player} D-Bus +interfaces. + +To load this plugin, specify the following option when starting mpv: +@code{--script $GUIX_PROFILE/lib/mpris.so} or link it into +@file{$HOME/.config/mpv/scripts}.") + (license license:expat))) + (define-public libvpx (package (name "libvpx") - (version "1.8.1") + (version "1.8.2") (source (origin ;; XXX: Upstream does not provide tarballs for > 1.6.1. (method git-fetch) @@ -1447,11 +1494,12 @@ projects while introducing many more.") (file-name (git-file-name name version)) (sha256 (base32 - "0mm1dcfa268rwsrgzqpbbgq4lwrvdzgp90h9dxsnkhai70l7gipq")) + "0gyq4fkbd2fv7m1mm9xrvn6rk6f4jsmbv8bnlhingmnrvyncnmnr")) (patches (search-patches "libvpx-CVE-2016-2818.patch")))) (build-system gnu-build-system) (arguments `(#:configure-flags (list "--enable-shared" + "--disable-static" "--as=yasm" ;; Limit size to avoid CVE-2015-1258 "--size-limit=16384x16384" @@ -1495,7 +1543,7 @@ projects while introducing many more.") (define-public youtube-dl (package (name "youtube-dl") - (version "2019.09.28") + (version "2020.01.15") (source (origin (method url-fetch) (uri (string-append "https://github.com/ytdl-org/youtube-dl/" @@ -1503,7 +1551,7 @@ projects while introducing many more.") version ".tar.gz")) (sha256 (base32 - "0nrk0bk6lksnmng8lwhcpkc57iibzjjamlqz8rxjpsw6dnzxz82h")))) + "0dyjc8nxyg9ry2ylmblh3fwavpais3mdfj6ndw4i0yc2vkw12rsm")))) (build-system python-build-system) (arguments ;; The problem here is that the directory for the man page and completion @@ -1673,7 +1721,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.5.8") + (version "3.7.0") (source (origin (method git-fetch) (uri (git-reference @@ -1682,12 +1730,10 @@ audio, images) from the Web. It can use either mpv or vlc for playback.") (file-name (git-file-name name version)) (sha256 (base32 - "0zz0r3vd2pg9zzykhrq0vnvqp5842dbgsg8cfygw9vzb9j8mlq0a")))) + "1h0m8rn7najdrzvg5md9albiax287273b40ncrihh9amsvvb47c9")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build))) - ;; FIXME: Add optional dependencies once available: - ;; perl-lwp-useragent-cached and perl-term-readline-gnu (inputs `(("perl-data-dump" ,perl-data-dump) ("perl-file-sharedir" ,perl-file-sharedir) @@ -1695,8 +1741,11 @@ audio, images) from the Web. It can use either mpv or vlc for playback.") ("perl-json" ,perl-json) ("perl-libwww" ,perl-libwww) ("perl-lwp-protocol-https" ,perl-lwp-protocol-https) + ("perl-lwp-useragent-cached" ,perl-lwp-useragent-cached) ("perl-mozilla-ca" ,perl-mozilla-ca) + ("perl-term-readline-gnu" ,perl-term-readline-gnu) ("perl-unicode-linebreak" ,perl-unicode-linebreak) + ("xdg-utils" ,xdg-utils) ;; Some videos play without youtube-dl, but others silently fail to. ("youtube-dl" ,youtube-dl))) @@ -1713,6 +1762,11 @@ audio, images) from the Web. It can use either mpv or vlc for playback.") (("'youtube-dl'") (format #f "'~a/bin/youtube-dl'" (assoc-ref inputs "youtube-dl")))) + (substitute* '("bin/gtk2-youtube-viewer" + "bin/gtk3-youtube-viewer") + (("'xdg-open'") + (format #f "'~a/bin/xdg-open'" + (assoc-ref inputs "xdg-utils")))) #t)) (add-after 'install 'install-desktop (lambda* (#:key outputs #:allow-other-keys) @@ -1800,7 +1854,7 @@ players, like VLC or MPlayer.") (define-public libdvdread (package (name "libdvdread") - (version "6.0.1") + (version "6.0.2") (source (origin (method url-fetch) (uri (string-append "https://download.videolan.org/videolan/" @@ -1808,7 +1862,7 @@ players, like VLC or MPlayer.") "libdvdread-" version ".tar.bz2")) (sha256 (base32 - "1gfmh8ii3s2fw1c8vn57piwxc0smd3va4h7xgp9s8g48cc04zki8")))) + "1c7yqqn67m3y3n7nfrgrnzz034zjaw5caijbwbfrq89v46ph257r")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--with-libdvdcss=yes"))) @@ -1856,15 +1910,15 @@ MPEG-2 stream containing VOB packets.") (define-public libdvdnav (package (name "libdvdnav") - (version "6.0.0") + (version "6.0.1") (source (origin (method url-fetch) (uri (string-append "https://download.videolan.org/videolan/" - name "/" version "/" - name "-" version ".tar.bz2")) + "libdvdnav/" version "/" + "libdvdnav-" version ".tar.bz2")) (sha256 (base32 - "062njcksmpgw9yv3737qkf93r2pzhaxi9szqjabpa8d010dp38ph")))) + "0cv7j8irsv1n2dadlnhr6i1b8pann2ah6xpxic41f04my6ba6rp5")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -1929,7 +1983,7 @@ for use with HTML5 video.") (define-public avidemux (package (name "avidemux") - (version "2.7.3") + (version "2.7.4") (source (origin (method url-fetch) (uri (string-append @@ -1937,11 +1991,15 @@ for use with HTML5 video.") "avidemux_" version ".tar.gz")) (sha256 (base32 - "17x2mnnr5h8pp764p55l1xcn2ljnzhbj8cykajlllvk4rc4qwxld")) + "1acdb3m37vdzzbm8mwyibcn8msi7birb5v30qfi7jli5r00src3x")) (patches (search-patches "avidemux-install-to-lib.patch")))) (build-system cmake-build-system) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("perl" ,perl) + ("pkg-config" ,pkg-config) + ("python" ,python-wrapper) + ("qttools" ,qttools) + ("yasm" ,yasm))) ;; FIXME: Once packaged, add libraries not found during the build. (inputs `(("alsa-lib" ,alsa-lib) @@ -1956,21 +2014,16 @@ for use with HTML5 video.") ("libvorbis" ,libvorbis) ("libvpx" ,libvpx) ("libxv" ,libxv) - ("perl" ,perl) ("pulseaudio" ,pulseaudio) - ("python" ,python-wrapper) ("qtbase" ,qtbase) - ("qttools" ,qttools) - ("sdl" ,sdl) ("sqlite" ,sqlite) - ("yasm" ,yasm) ("zlib" ,zlib))) (arguments `(#:tests? #f ; no check target #:phases ;; Make sure files inside the included ffmpeg tarball are ;; patch-shebanged. - (let ((ffmpeg "ffmpeg-4.1.1")) + (let ((ffmpeg "ffmpeg-4.1.4")) (modify-phases %standard-phases (add-before 'patch-source-shebangs 'unpack-ffmpeg (lambda _ @@ -2000,7 +2053,6 @@ for use with HTML5 video.") (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))) @@ -2013,8 +2065,6 @@ for use with HTML5 video.") (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) @@ -2052,7 +2102,7 @@ capabilities.") (define-public vapoursynth (package (name "vapoursynth") - (version "37") + (version "48") (source (origin (method git-fetch) (uri (git-reference @@ -2061,7 +2111,7 @@ capabilities.") (file-name (git-file-name name version)) (sha256 (base32 - "1ma2s7dxk6y6l04qj1jvgwia4xj7999ny3a1yx2vbk5l83giam2p")))) + "1i6163bidlp0p9zcnxpsphr44ayfzd51fig4ri7vbrbl9lw9jaih")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) @@ -2091,15 +2141,15 @@ format changes.") (define-public xvid (package (name "xvid") - (version "1.3.5") + (version "1.3.6") (source (origin (method url-fetch) (uri (string-append - "http://downloads.xvid.org/downloads/xvidcore-" + "http://downloads.xvid.com/downloads/xvidcore-" version ".tar.bz2")) (sha256 (base32 - "1d0hy1w9sn6491a3vhyf3vmhq4xkn6yd4ralx1191s6qz5wz483w")))) + "0zppakvcgq5a42mhqqsbliclpg2jrhbmbfgrzalyfzr47jqmhssy")))) (build-system gnu-build-system) (native-inputs `(("yasm" ,yasm))) (arguments @@ -2125,15 +2175,14 @@ and custom quantization matrices.") (define-public streamlink (package (name "streamlink") - (version "0.14.2") + (version "1.3.0") (source (origin (method url-fetch) (uri (pypi-uri "streamlink" version)) (sha256 (base32 - "0l2145fd60i76afjisfxd48cwhwyir07i7s3bnimdq5db2kzkix8")) - (patches (search-patches "streamlink-update-test.patch")))) + "0593ffjpz82jrljnzxfafkcmcqad3r1ijjan0hm04xjcnxc9cr00")))) (build-system python-build-system) (home-page "https://github.com/streamlink/streamlink") (native-inputs @@ -2206,7 +2255,7 @@ from sites like Twitch.tv and pipes them into a video player of choice.") (define-public mlt (package (name "mlt") - (version "6.16.0") + (version "6.18.0") (source (origin (method git-fetch) (uri (git-reference @@ -2215,11 +2264,11 @@ from sites like Twitch.tv and pipes them into a video player of choice.") (file-name (git-file-name name version)) (sha256 (base32 - "1362fv63p34kza9v4b71b6wakgvsa2vdx9y0g28x3yh4cp4k97kx")))) + "0iiqym15n8kbnjzj0asmm86gs23yykz0va5b475cc4v2vv5admgx")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no tests - #:make-flags '("CC=gcc" "CXX=g++ -std=gnu++11") + #:make-flags '("CC=gcc" "CXX=g++") #:configure-flags (list "--enable-gpl3" "--enable-gpl") @@ -2278,15 +2327,14 @@ tools, XML authoring components, and an extensible plug-in based API.") '(#:configure-flags (list (string-append "--with-udevdir=" (assoc-ref %outputs "out") - "/lib/udev") - "CXXFLAGS=-std=gnu++11"))) + "/lib/udev")))) (native-inputs `(("perl" ,perl) ("pkg-config" ,pkg-config))) (inputs `(("alsa-lib" ,alsa-lib) ("glu" ,glu) - ("libjpeg" ,libjpeg) + ("libjpeg" ,libjpeg-turbo) ("libx11" ,libx11) ("qtbase" ,qtbase) ("eudev" ,eudev))) @@ -2300,7 +2348,7 @@ be used for realtime video capture via Linux-specific APIs.") (define-public obs (package (name "obs") - (version "24.0.1") + (version "24.0.4") (source (origin (method git-fetch) (uri (git-reference @@ -2309,7 +2357,7 @@ be used for realtime video capture via Linux-specific APIs.") (file-name (git-file-name name version)) (sha256 (base32 - "056s0hs1ds3c57sc0gy39dxaxvwlakl3w25jxgawh0fs99211ar5")))) + "0m15ch2ix9qrdf1a9mj7wcpl72z3h13zx60c9q72sb1435id2g1q")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; no tests @@ -2346,17 +2394,18 @@ and JACK.") (define-public libvdpau (package (name "libvdpau") - (version "1.2") + (version "1.3") (source (origin - (method url-fetch) - (uri (string-append "https://gitlab.freedesktop.org/vdpau/libvdpau" - "/uploads/14b620084c027d546fa0b3f083b800c6/" - "libvdpau-" version ".tar.bz2")) + (method git-fetch) + (uri (git-reference + (url "https://gitlab.freedesktop.org/vdpau/libvdpau.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "01ps6g6p6q7j2mjm9vn44pmzq3g75mm7mdgmnhb1qkjjdwc9njba")))) - (build-system gnu-build-system) + "1fb1nh5apr9kzx9bm2lysjwpyva1s60b2l2p230nqgvb11q25hd2")))) + (build-system meson-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (inputs @@ -2639,39 +2688,36 @@ supported players in addition to this package.") (define-public handbrake (package (name "handbrake") - (version "1.2.2") + (version "1.3.1") (source (origin (method url-fetch) (uri (string-append "https://download.handbrake.fr/releases/" version "/HandBrake-" version "-source.tar.bz2")) (sha256 (base32 - "0k2yaqy7zi06k8mkp9az2mn9dlgj3a1339vacakfh2nn2zsics6z")) + "09rcrq0kjs1lc1as7w3glbpbfvzldwpx3xv0pfmkn4pl7acxw1f0")) (modules '((guix build utils))) (snippet ;; Remove "contrib" and source not necessary for ;; building/running under a GNU environment. '(begin (for-each delete-file-recursively - '("contrib" "macosx" "win")) + '("contrib" "macosx" "win")) ; 540KiB, 11MiB, 5.9MiB resp. (substitute* "make/include/main.defs" ;; Disable unconditional inclusion of "contrib" libraries ;; (ffmpeg, libvpx, libdvdread, libdvdnav, and libbluray), ;; which would lead to fetching and building of these ;; libraries. Use our own instead. (("MODULES \\+= contrib") "# MODULES += contrib")) - #t)) - (patches (search-patches "handbrake-opt-in-nvenc.patch")))) + #t)))) (build-system glib-or-gtk-build-system) (native-inputs - `(("automake" ,automake) ;gui subpackage must be bootstrapped + `(("automake" ,automake) ; GUI subpackage must be bootstrapped ("autoconf" ,autoconf) - ("cmake" ,cmake-minimal) ;TODO: could probably strip check from make/configure.py - ("curl" ,curl) ;not actually used, but tested for ("intltool" ,intltool) ("libtool" ,libtool) ("pkg-config" ,pkg-config) - ("python" ,python-2))) ;for configuration + ("python" ,python-2))) ; For configuration (inputs `(("bzip2" ,bzip2) ("dbus-glib" ,dbus-glib) @@ -2686,11 +2732,13 @@ supported players in addition to this package.") ("lame" ,lame) ("libass" ,libass) ("libbluray" ,libbluray) + ("libdav1d" ,dav1d) ("libdvdnav" ,libdvdnav) ("libdvdread" ,libdvdread) ("libgudev" ,libgudev) ("libmpeg2" ,libmpeg2) ("libnotify" ,libnotify) + ("libnuma" ,numactl) ("libogg" ,libogg) ("libopus" ,opus) ("libsamplerate" ,libsamplerate) @@ -2706,6 +2754,7 @@ supported players in addition to this package.") `(#:tests? #f ;tests require Ruby and claim to be unsupported #:configure-flags (list "--disable-gtk-update-checks" + "--disable-nvenc" (string-append "CPPFLAGS=-I" (assoc-ref %build-inputs "libxml2") "/include/libxml2") @@ -2716,11 +2765,27 @@ supported players in addition to this package.") ;; Run bootstrap ahead of time so that shebangs get patched. (lambda _ (setenv "CONFIG_SHELL" (which "sh")) - (setenv "NOCONFIGURE" "1") ;; Patch the Makefile so that it doesn't bootstrap again. (substitute* "gtk/module.rules" - ((".*autogen\\.sh.*") "")) - (invoke "sh" "./gtk/autogen.sh"))) + ((".*autoreconf.*") "")) + (with-directory-excursion "gtk" + (invoke "autoreconf" "-fiv")))) + (add-before 'configure 'patch-SHELL + (lambda _ + (substitute* "gtk/po/Makefile.in.in" + (("SHELL = /bin/sh") "SHELL = @SHELL@")) + #t)) + (add-before 'configure 'relax-reqs + (lambda _ + (substitute* "make/configure.py" + ;; cmake is checked for so that it can be used to build + ;; contrib/harfbuzz and contrib/x265, but we get these as + ;; inputs, so don't abort if it's not found. Similarly, meson + ;; and ninja are only needed for contrib/libdav1d, and nasm + ;; only for libvpx + (("((cmake|meson|ninja|nasm) *=.*abort=)True" _ &) + (string-append & "False"))) + #t)) (replace 'configure (lambda* (#:key outputs configure-flags #:allow-other-keys) ;; 'configure' is not an autoconf-generated script, and @@ -2744,7 +2809,7 @@ of modern, widely supported codecs.") (define-public intel-vaapi-driver (package (name "intel-vaapi-driver") - (version "2.3.0") + (version "2.4.0") (source (origin (method url-fetch) @@ -2752,7 +2817,7 @@ of modern, widely supported codecs.") "releases/download/" version "/intel-vaapi-driver-" version ".tar.bz2")) (sha256 - (base32 "1qyzxh3p8cw4fv8bz9zd4kc8hajlaps7xryzh6pad814n3m5sbjw")))) + (base32 "12fhydgwpvyh97gxqlgv77wsf9yax321h46vi49j4sxghpcxvqki")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -3017,7 +3082,7 @@ RTSP or SIP clients and servers.") (define-public libdvbpsi (package (name "libdvbpsi") - (version "1.3.2") + (version "1.3.3") (source (origin (method url-fetch) (uri (string-append @@ -3025,7 +3090,7 @@ RTSP or SIP clients and servers.") version "/libdvbpsi-" version ".tar.bz2")) (sha256 (base32 - "1zn5hfv4qbahmydbwh59a3b480s3m5ss27r6ml35gqdip7r3jkmc")))) + "04h1l3vrkrdsrvkgzcr51adk10g6hxcxvgjphyyxz718ry5rkd82")))) (build-system gnu-build-system) (home-page "https://www.videolan.org/developers/libdvbpsi.html") (synopsis "Library for decoding and generation of MPEG TS and DVB PSI @@ -3202,7 +3267,7 @@ alpha blending etc).") (define-public frei0r-plugins (package (name "frei0r-plugins") - (version "1.6.1") + (version "1.7.0") (source (origin (method url-fetch) @@ -3210,23 +3275,25 @@ alpha blending etc).") "frei0r-plugins-" version ".tar.gz")) (sha256 (base32 - "0pji26fpd0dqrx1akyhqi6729s394irl73dacnyxk58ijqq4dhp0")))) + "0fjji3060r4fwr7vn91lwfzl80lg3my9lkp94kbyw8xwz7qgh7qv")))) (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases - (add-after 'unpack 'autotools + (add-after 'unpack 'patch-Makefile (lambda _ - (invoke "sh" "autogen.sh")))))) + ;; XXX: The 1.7.0 Makefile looks for files that have slightly different + ;; names in the tarball. Try removing this for future versions. + (substitute* "Makefile.in" + (("README\\.md ChangeLog TODO AUTHORS") + "README.txt ChangeLog.txt TODO.txt AUTHORS.txt")) + #t))))) ;; TODO: opencv for additional face detection filters. (inputs `(("gavl" ,gavl) ("cairo" ,cairo))) (native-inputs - `(("pkg-config" ,pkg-config) - ("libtool" ,libtool) - ("automake" ,automake) - ("autoconf" ,autoconf))) + `(("pkg-config" ,pkg-config))) (home-page "https://www.dyne.org/software/frei0r/") (synopsis "Minimalistic plugin API for video effects") (description @@ -3269,7 +3336,7 @@ It counts more than 100 plugins.") ("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) (inputs - `(("libjpeg" ,libjpeg) + `(("libjpeg" ,libjpeg-turbo) ("ffmpeg" ,ffmpeg-3.4) ("libmicrohttpd" ,libmicrohttpd) ("sqlite" ,sqlite))) @@ -3546,7 +3613,7 @@ transitions, and effects and then export your film to many common formats.") (define-public dav1d (package (name "dav1d") - (version "0.5.0") + (version "0.5.2") (source (origin (method url-fetch) @@ -3554,7 +3621,7 @@ transitions, and effects and then export your film to many common formats.") "/dav1d/" version "/dav1d-" version ".tar.xz")) (sha256 (base32 - "1586k439fm8db9lsxxywm34iqibj5mw4xrppr4g2wqr0hjlhcbxn")))) + "02hgarv2x2bqbac15pdj7pbm8f4lyn78ws0dncygvhis9a6ghk7r")))) (build-system meson-build-system) (native-inputs `(("nasm" ,nasm))) (home-page "https://code.videolan.org/videolan/dav1d") @@ -3595,7 +3662,7 @@ video from a Wayland session.") (define-public gaupol (package (name "gaupol") - (version "1.6") + (version "1.7") (source (origin (method git-fetch) (uri (git-reference @@ -3604,7 +3671,7 @@ video from a Wayland session.") (file-name (git-file-name name version)) (sha256 (base32 - "164wlxxjiqvkzbqjzvqvz2zkn0kgqmhn52294xx4vc9b9ngdnn0m")))) + "1cp0ka8hzma1dxiisdhl2fznxklj2pl63vkdqcd91lrblghdj6x9")))) (build-system python-build-system) (native-inputs `(("gettext" ,gettext-minimal) @@ -3660,3 +3727,66 @@ user interface features a builtin video player and is designed with attention to convenience of translating and batch processing of multiple documents.") (home-page "https://otsaloma.io/gaupol/") (license license:gpl3+))) + +(define-public theorafile + (let ((commit "404b14d7602b5918d117eaa64e8aa6601ede8593")) + (package + (name "theorafile") + (version (git-version "0.0.0" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/FNA-XNA/Theorafile.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "128c3pjzqbgrj020glm5jd6ss18vl19471lj615w2brjwb7c1f0z")))) + (build-system gnu-build-system) + (arguments + '(#:make-flags '("CC=gcc") + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'check + (lambda _ + (setenv "CC" "gcc") + (invoke "make" "test"))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (install-file "libtheorafile.so" (string-append out "/lib")) + (install-file "theorafile.h" (string-append out "/include"))) + #t))))) + (native-inputs + ;; For tests. + `(("sdl2" ,sdl2))) + (home-page "https://github.com/FNA-XNA/Theorafile") + (synopsis "Ogg Theora Video Decoder Library") + (description "Theorafile is a library for quickly and easily decoding Ogg +Theora videos. Theorafile was written to be used for FNA's VideoPlayer.") + (license license:zlib)))) + +(define-public dvdbackup + (package + (name "dvdbackup") + (version "0.4.2") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/dvdbackup/dvdbackup/" + "dvdbackup-" version "/" + "dvdbackup-" version ".tar.xz")) + (sha256 + (base32 "1rl3h7waqja8blmbpmwy01q9fgr5r0c32b8dy3pbf59bp3xmd37g")))) + (build-system gnu-build-system) + (inputs + `(("libdvdcss" ,libdvdcss) + ("libdvdread" ,libdvdread))) + (home-page "http://dvdbackup.sourceforge.net") + (synopsis "DVD video ripper") + (description + "A simple command line tool to backup video from a DVD. Decrypts the +DVD using @command{libdvdcss}, but does @strong{not} demux, remux, +transcode or reformat the videos in any way, producing perfect backups.") + (license license:gpl3+)))