diff options
Diffstat (limited to 'gnu/packages/video.scm')
-rw-r--r-- | gnu/packages/video.scm | 78 |
1 files changed, 45 insertions, 33 deletions
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index eeabb11bcf..7868b5c6fb 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015, 2016 Andy Patterson <ajpatter@uwaterloo.ca> -;;; Copyright © 2015, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2015, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2016, 2017 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net> @@ -38,7 +38,7 @@ ;;; Copyright © 2020 Josh Holland <josh@inv.alid.pw> ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> -;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net> +;;; Copyright © 2020, 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2020 Alex McGrath <amk@amk.ie> ;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net> @@ -52,6 +52,7 @@ ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name> +;;; Copyright © 2021 Thiago Jung Bauermann <bauermann@kolabnow.com> ;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com> ;;; Copyright © 2021 Robin Templeton <robin@terpri.org> ;;; Copyright © 2021 Aleksandr Vityazev <avityazev@posteo.org> @@ -104,6 +105,7 @@ #:use-module (gnu packages bash) #:use-module (gnu packages bison) #:use-module (gnu packages boost) + #:use-module (gnu packages build-tools) #:use-module (gnu packages cdrom) #:use-module (gnu packages check) #:use-module (gnu packages cmake) @@ -209,10 +211,15 @@ (arguments `(#:configure-flags (list - "--enable-libv4l2" + "CFLAGS=-O2 -g -fcommon" + ;; XXX: Broken API. + ;; Undeclared variables 'sys_nerr' and 'sys_errlist'. + ;; "--enable-libv4l2" "--enable-libmpeg2" "--enable-libmpeg2convert" - "--enable-v4l" + ;; XXX: Broken API. + ;; Undeclared variables 'sys_nerr' and 'sys_errlist'. + ;; "--enable-v4l" ;;; XXX: Not available. ;"--enable-bktr" ;"--enable-sunau" @@ -274,7 +281,7 @@ ("lzo" ,lzo) ("mjepgtools" ,mjpegtools) ("sdl" ,sdl) - ("v4l-utils" ,v4l-utils) + ;; ("v4l-utils" ,v4l-utils) ("x11" ,libx11) ("x264" ,libx264) ("xaw" ,libxaw) @@ -721,12 +728,22 @@ stream decoding") "1vkh19gb76agvh4h87ysbrgy82hrw88lnsvhynjf4vng629dmpgv")))) (build-system gnu-build-system) (native-inputs - `(("makeinfo" ,texinfo))) + `(("config" ,config) + ("makeinfo" ,texinfo))) (inputs `(("ncurses" ,ncurses))) (arguments `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'update-config-scripts + (lambda* (#:key inputs native-inputs #:allow-other-keys) + ;; Replace outdated config.guess and config.sub. + (for-each (lambda (file) + (install-file + (search-input-file + (or native-inputs inputs) + (string-append "/bin/" file)) ".")) + '("config.guess" "config.sub")))) (replace 'configure (lambda* (#:key build inputs outputs #:allow-other-keys) ;; This old `configure' script doesn't support @@ -737,17 +754,6 @@ stream decoding") (invoke "./configure" (string-append "--prefix=" out) (string-append "--build=" build) - ;; The ancient config.guess is unable to - ;; guess the host triplet on mips64el. - ,@(if (string=? "mips64el-linux" - (%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/") @@ -1022,10 +1028,8 @@ H.264 (MPEG-4 AVC) video streams.") #t))) (add-before 'configure 'add-googletest (lambda* (#:key inputs #:allow-other-keys) - (symlink - (string-append (assoc-ref inputs "googletest") - "/include/gtest") "lib/gtest") - #t)) + (symlink (search-input-directory inputs "/include/gtest") + "lib/gtest"))) (replace 'build (lambda _ (let ((-j (list "-j" (number->string (parallel-job-count))))) @@ -1472,14 +1476,14 @@ quality and performance.") (define-public libva (package (name "libva") - (version "2.10.0") + (version "2.13.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/intel/libva/releases/download/" version "/libva-" version ".tar.bz2")) (sha256 - (base32 "0dh2zjn6wi74ga75r6pbrrj8hjm213zyxvn9bv78z0fra1dy70gs")))) + (base32 "0q6l193x9whd80sjd5mx8cb7c0fcljb19nhfpla5h49nkzrq7lzs")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -2643,8 +2647,7 @@ other site that youtube-dl supports.") ;; Explicitly invoke the input ffmpeg, instead of whichever one ;; happens to be in the user's $PATH at run time. (lambda* (#:key inputs #:allow-other-keys) - (let ((ffmpeg (string-append (assoc-ref inputs "ffmpeg") - "/bin/ffmpeg"))) + (let ((ffmpeg (search-input-file inputs "/bin/ffmpeg"))) (substitute* "src/you_get/processor/ffmpeg.py" ;; Don't blindly replace all occurrences of ‘'ffmpeg'’: the ;; same string is also used when sniffing ffmpeg's output. @@ -4080,7 +4083,10 @@ post-processing of video formats like MPEG2, H.264/AVC, and VC-1.") (outputs '("out" "static")) ; 3.7MiB .a file (arguments - `(#:phases + `(;; Build as C++2003 to avoid C++11 "narrowing conversion" errors. + #:configure-flags '("CXXFLAGS=-O2 -g -std=c++03") + + #:phases (modify-phases %standard-phases (add-after 'unpack 'remove-dates (lambda _ @@ -4436,6 +4442,7 @@ tools for styling them, including a built-in real-time video preview.") (url "https://gitlab.gnome.org/GNOME/pitivi.git") (commit %version))) (file-name (git-file-name name version)) + (patches (search-patches "pitivi-fix-build-with-meson-0.60.patch")) (sha256 (base32 "08x2fs2bak1fbmkvjijgx1dsawispv91bpv5j5gkqbv5dfgf7wah")))) (build-system meson-build-system) @@ -4447,12 +4454,12 @@ tools for styling them, including a built-in real-time video preview.") ("gst-plugins-good" ,gst-plugins-good) ("gst-plugins-bad" ,(gst-plugins/selection gst-plugins-bad - #:plugins '("debugutils" "transcoder") + #:plugins '("debugutils" "transcode") #:configure-flags '("-Dintrospection=enabled"))) ("gst-libav" ,gst-libav) ("gsound" ,gsound) ("gtk+" ,gtk+) - ("gdk-pixbuf+svg" ,gdk-pixbuf+svg) + ("librsvg" ,librsvg) ("libpeas" ,libpeas) ("libnotify" ,libnotify) ("pango" ,pango) @@ -4468,6 +4475,9 @@ tools for styling them, including a built-in real-time video preview.") ("pkg-config" ,pkg-config))) (arguments `(#:glib-or-gtk? #t + ;; Pitivi is not yet compatible with Meson 0.60: + ;; https://gitlab.gnome.org/GNOME/pitivi/-/issues/2593 + #:meson ,meson-0.59 #:phases (modify-phases %standard-phases (add-after 'glib-or-gtk-wrap 'wrap-other-dependencies @@ -4475,7 +4485,7 @@ tools for styling them, including a built-in real-time video preview.") (let ((prog (string-append (assoc-ref outputs "out") "/bin/pitivi"))) (wrap-program prog - `("PYTHONPATH" = (,(getenv "PYTHONPATH"))) + `("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH"))) `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))) ;; We've only added inputs for what Pitivi deems either ;; necessary or optional. Let the user's packages take @@ -4802,9 +4812,8 @@ create smoother and stable videos.") (setenv "ZMQDIR" (assoc-ref inputs "zeromq")) (setenv "UNITTEST_DIR" - (string-append (assoc-ref inputs "unittest++") - "/include/UnitTest++")) - #t))))) + (search-input-directory inputs + "include/UnitTest++"))))))) (home-page "https://openshot.org") (synopsis "Video-editing, animation, and playback library") (description "OpenShot Library (libopenshot) is a powerful C++ video @@ -5226,6 +5235,8 @@ on supporting video-on-demand and live encoding on Intel Xeon processors.") (sha256 (base32 "1zkgnj2sfvckix360wwk1v5s43g69snm45m0drnzyv7hgf5g7q1q")))) (build-system gnu-build-system) + (arguments + `(#:configure-flags '("CFLAGS=-O2 -g -fcommon"))) (synopsis "Scan ATSC/DVB-C/DVB-S/DVB-T channels") (description "This is a small command line utility used to perform frequency scans for @@ -5342,7 +5353,8 @@ for cases where libaom (the reference encoder) is too slow.") (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t)) (inputs - `(("gtk+" ,gtk+))) + `(("gtk+" ,gtk+) + ("python" ,python-wrapper))) (native-inputs `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database ("gettext" ,gettext-minimal) |