;;; Copyright © 2014, 2015, 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2014, 2015, 2016, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
-;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015 Andy Patterson <ajpatter@uwaterloo.ca>
-;;; Copyright © 2015, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2018, 2019, 2020 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>
;;; Copyright © 2016 Dmitry Nikolaev <cameltheman@gmail.com>
;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
-;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
+;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
;;; Copyright © 2016, 2018, 2019, 2020 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2017 Feng Shu <tumashu@163.com>
;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net>
;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Roel Janssen <roel@gnu.org>
-;;; Copyright © 2018, 2019 Marius Bakke <mbakke@fastmail.com>
-;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz>
-;;; Copyright © 2018, 2019 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2018, 2019, 2020 Marius Bakke <mbakke@fastmail.com>
+;;; 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>
;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2019 Arne Babenhauserheide <arne_bab@web.de>
;;; Copyright © 2019 Riku Viitanen <riku.viitanen@protonmail.com>
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
+;;; 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 Alex McGrath <amk@amk.ie>
+;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
+;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
+;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix svn-download)
+ #:use-module (guix build-system cargo)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system meson)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
+ #:use-module (gnu packages crates-io)
#:use-module (gnu packages curl)
#:use-module (gnu packages dejagnu)
#:use-module (gnu packages dns)
#:use-module (gnu packages iso-codes)
#:use-module (gnu packages libidn)
#:use-module (gnu packages libreoffice)
+ #:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
#:use-module (gnu packages lua)
#:use-module (gnu packages m4)
#:use-module (gnu packages man)
#:use-module (gnu packages markup)
+ #:use-module (gnu packages maths)
#:use-module (gnu packages mp3)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages networking)
#:use-module (gnu packages ocr)
#: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)
#:use-module (gnu packages qt)
#:use-module (gnu packages rdesktop)
#:use-module (gnu packages ruby)
+ #:use-module (gnu packages rust-apps)
#:use-module (gnu packages samba)
#:use-module (gnu packages sdl)
#:use-module (gnu packages serialization)
#: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)
#: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")
(define-public celluloid
(package
(name "celluloid")
- (version "0.18")
+ (version "0.19")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/celluloid-player/celluloid/releases"
"/download/v" version "/celluloid-" version ".tar.xz"))
(sha256
- (base32 "0gmscx9zb8ppfjlnmgbcmhknhawa05sdhxi7dv5wjapjq0glq481"))))
+ (base32 "1s3qkism96gi44incvsb6rqg255qcvjvw61ya7nw30md0sapj4sl"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("intltool" ,intltool)
(license license:gpl2+)))
(define-public libaom
- ;; The 1.0.0-errata1 release installs a broken pkg-config .pc file. This
- ;; is fixed in libaom commit 0ddc150, but we use an even later commit.
- (let ((commit "22b150bf040608028a56d8bf39e72f771383d836")
- (revision "0"))
- (package
- (name "libaom")
- (version (git-version "1.0.0-errata1" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://aomedia.googlesource.com/aom/")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1pdd5h3n42607n6qmggz4yv8izhjr2kl6knb3kh7gh4v0vy47h1r"))))
- (build-system cmake-build-system)
- (native-inputs
- `(("perl" ,perl)
- ("pkg-config" ,pkg-config)
- ("python" ,python))) ; to detect the version
- (arguments
- `(#:tests? #f ;no check target
- #:configure-flags
- ;; build dynamic library
- (list "-DBUILD_SHARED_LIBS=YES"
- "-DENABLE_PIC=TRUE"
- "-DAOM_TARGET_CPU=generic"
- (string-append "-DCMAKE_INSTALL_PREFIX="
- (assoc-ref %outputs "out")))))
- (home-page "https://aomedia.googlesource.com/aom/")
- (synopsis "AV1 video codec")
- (description "Libaom is the reference implementation of AV1. It includes
-a shared library and encoder and decoder command-line executables.")
- (license license:bsd-2))))
+ (package
+ (name "libaom")
+ (version "2.0.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://aomedia.googlesource.com/aom/")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1616xjhj6770ykn82ml741h8hx44v507iky3s9h7a5lnk9d4cxzy"))))
+ (build-system cmake-build-system)
+ (native-inputs
+ `(("perl" ,perl)
+ ("pkg-config" ,pkg-config)
+ ("python" ,python))) ; to detect the version
+ (arguments
+ `(#:tests? #f ;no check target
+ #:configure-flags
+ ;; build dynamic library
+ (list "-DBUILD_SHARED_LIBS=YES"
+ "-DENABLE_PIC=TRUE"
+ "-DAOM_TARGET_CPU=generic"
+ (string-append "-DCMAKE_INSTALL_PREFIX="
+ (assoc-ref %outputs "out")))))
+ (home-page "https://aomedia.googlesource.com/aom/")
+ (synopsis "AV1 video codec")
+ (description "Libaom is the reference implementation of AV1. It includes a
+shared library and encoder and decoder command-line executables.")
+ (license license:bsd-2)))
(define-public libmpeg2
(package
(license license:gpl2+)))
(define-public libx264
- (package
- (name "libx264")
- (version "20180810-2245")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://download.videolan.org/pub/x264/snapshots/"
- "x264-snapshot-" version "-stable.tar.bz2"))
- (sha256
- (base32
- "0f25f39imas9pcqm7lnaa0shhjmf42hdx7jxzcnvxc7qsb7lh1bv"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("nasm" ,nasm)))
- ;; TODO: Add gpac input
- (arguments
- `(#:tests? #f ;no check target
- #:configure-flags '("--enable-shared"
- ;; Don't build the command-line program. If we
- ;; want it later, we should do so in a different
- ;; package to avoid a circular dependency (the x264
- ;; program depends on ffmpeg and ffmpeg depends on
- ;; libx264).
- "--disable-cli"
-
- ;; On MIPS, we must pass "--disable-asm" or else
- ;; configure fails after printing: "You specified a
- ;; pre-MSA CPU in your CFLAGS. If you really want
- ;; to run on such a CPU, configure with
- ;; --disable-asm."
- ,@(if (string-prefix? "mips"
- (or (%current-target-system)
- (%current-system)))
- '("--disable-asm")
- '()))))
- (home-page "https://www.videolan.org/developers/x264.html")
- (synopsis "H.264 video coding library")
- (description "libx264 is an advanced encoding library for creating
+ ;; There are no tags in the repository, so we take the version number from
+ ;; the X264_BUILD variable defined in x264.h.
+ (let ((version "159")
+ (commit "1771b556ee45207f8711744ccbd5d42a3949b14c")
+ (revision "0"))
+ (package
+ (name "libx264")
+ (version (git-version version revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://code.videolan.org/videolan/x264.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0kmi78gs5101d4df33il5bmjbns54nvdjsyn44xiw60lwsg11vwz"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("nasm" ,nasm)))
+ ;; TODO: Add gpac input
+ (arguments
+ `(#:tests? #f ;no check target
+ #:configure-flags '("--enable-shared"
+ ;; Don't build the command-line program. If we
+ ;; want it later, we should do so in a different
+ ;; package to avoid a circular dependency (the x264
+ ;; program depends on ffmpeg and ffmpeg depends on
+ ;; libx264).
+ "--disable-cli"
+
+ ;; On MIPS, we must pass "--disable-asm" or else
+ ;; configure fails after printing: "You specified a
+ ;; pre-MSA CPU in your CFLAGS. If you really want
+ ;; to run on such a CPU, configure with
+ ;; --disable-asm."
+ ,@(if (string-prefix? "mips"
+ (or (%current-target-system)
+ (%current-system)))
+ '("--disable-asm")
+ '()))))
+ (home-page "https://www.videolan.org/developers/x264.html")
+ (synopsis "H.264 video coding library")
+ (description "libx264 is an advanced encoding library for creating
H.264 (MPEG-4 AVC) video streams.")
- (license (list license:gpl2+ ;most files
- license:isc ;common/x86/x86inc.asm
- license:lgpl2.1+ ;extras/getopt.c
- license:bsd-3 ;extras/inttypes.h
- (license:non-copyleft ;extras/cl*.h
- "file://extras/cl.h"
- "See extras/cl.h in the distribution.")))))
+ (license (list license:gpl2+ ;most files
+ license:isc ;common/x86/x86inc.asm
+ license:lgpl2.1+ ;extras/getopt.c
+ license:bsd-3 ;extras/inttypes.h
+ (license:non-copyleft ;extras/cl*.h
+ "file://extras/cl.h"
+ "See extras/cl.h in the distribution."))))))
(define-public mkvtoolnix
(package
(@command{mkvmerge}).")
(license license:gpl2)))
+(define-public straw-viewer
+ (package
+ (name "straw-viewer")
+ (version "0.0.7")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/trizen/straw-viewer")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "11ywip9ck2rgyj8s1pyr6za3si0bnx8rl2f3cv84xgcq36ac3rv4"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-module-build" ,perl-module-build)
+ ("perl-test-pod" ,perl-test-pod)))
+ (inputs
+ `(("perl-data-dump" ,perl-data-dump)
+ ("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)))
+
+ ;; Required only when building the graphical interface (--gtk).
+ ;;("perl-file-sharedir" ,perl-file-sharedir)
+ (arguments
+ `(#:modules ((guix build perl-build-system)
+ (guix build utils)
+ (srfi srfi-26))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'refer-to-inputs
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "lib/WWW/StrawViewer.pm"
+ (("'youtube-dl'")
+ (format #f "'~a/bin/youtube-dl'"
+ (assoc-ref inputs "youtube-dl"))))
+ (substitute* "bin/gtk-straw-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)
+ ;; (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"))
+ (bin-dir (string-append out "/bin/"))
+ (site-dir (string-append out "/lib/perl5/site_perl/"))
+ (lib-path (getenv "PERL5LIB")))
+ (for-each (cut wrap-program <>
+ `("PERL5LIB" ":" prefix (,lib-path ,site-dir)))
+ (find-files bin-dir))
+ #t))))))
+ (synopsis
+ "Light-weight application for searching and streaming videos from YouTube")
+ (description
+ "Straw-viewer searches for YouTube videos using @uref{https://invidio.us/,
+invidio.us} and plays them locally in a native media player like @command{vlc}
+or @command{mpv}.
+
+You can search for videos, playlists, and/or channels. The videos are streamed
+directly to the player at the best chosen resolution and with closed captions if
+available.")
+ ;; XXX Add #:module-build-flags '("--gtk") dependencies and this sentence.
+ ;; Both a command-line and a graphical interface are available.
+ (home-page "https://github.com/trizen/youtube-viewer")
+ (license license:perl-license)))
+
(define-public x265
(package
(name "x265")
- (version "3.2.1")
+ (version "3.4")
(outputs '("out" "static"))
(source
(origin
(string-append "https://download.videolan.org/videolan/x265/"
"x265_" version ".tar.gz")))
(sha256
- (base32 "1k5vijsy6cgcghw69f5275xfmbjjx7js0nlbgxbd6krnjb7sv6zv"))
+ (base32 "0wl62hfsdqpf3r3z3s6l9bz7pdb1rcik5ll00b3yaadplqipy162"))
(patches (search-patches "x265-arm-flags.patch"))
(modules '((guix build utils)))
(snippet '(begin
(delete-file-recursively "source/compat/getopt")
#t))))
(build-system cmake-build-system)
+ (native-inputs
+ ;; XXX: ASM optimization fails on i686-linux, see <https://bugs.gnu.org/41768>.
+ (if (string-prefix? "i686" (%current-system))
+ '()
+ `(("nasm" ,nasm))))
(arguments
`(#:tests? #f ; tests are skipped if cpu-optimized code isn't built
#:configure-flags
;; Ensure position independent code for everyone.
(list "-DENABLE_PIC=TRUE"
- ,@(if (string-prefix? "armhf" (or (%current-system)
- (%current-target-system)))
+ ,@(if (target-arm?)
'("-DENABLE_ASSEMBLY=OFF")
'())
(string-append "-DCMAKE_INSTALL_PREFIX="
(lambda _
(delete-file-recursively "build")
(chdir "source")
- ;; recognize armv8 in 32-bit mode as ARM
- (substitute* "CMakeLists.txt"
- (("armv6l") "armv8l"))
#t))
(add-before 'configure 'build-12-bit
(lambda* (#:key (configure-flags '()) #:allow-other-keys)
pixels, so that it can work on older video cards or text terminals. It
supports Unicode, 2048 colors, dithering of color images, and advanced text
canvas operations.")
- (license (license:fsf-free "file://COPYING")))) ;WTFPL version 2
+ (license license:wtfpl2)))
(define-public libdca
(package
(name "libdca")
- (version "0.0.6")
+ (version "0.0.7")
(source (origin
(method url-fetch)
(uri (string-append
version "/libdca-" version ".tar.bz2"))
(sha256
(base32
- "0h0zvcn97i9kyljdpifzi8in9xnw31fx3b3ggj96p8h0l2d8mycq"))))
+ "0sjz0s0nrv7jcpvh1i432x3jza0y5yycmzw84cfncb2qby0i62rs"))))
(build-system gnu-build-system)
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)))
(home-page "https://www.videolan.org/developers/libdca.html")
(synopsis "DTS Coherent Acoustics decoder")
(description "libdca is a library for decoding DTS Coherent Acoustics
(define-public libmatroska
(package
(name "libmatroska")
- (version "1.5.2")
+ (version "1.6.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://dl.matroska.org/downloads/"
"libmatroska/libmatroska-" version ".tar.xz"))
(sha256
- (base32 "0qn9lfs0877wbv581yxw2gywxywxpvwslc5q07q4f7bqpyzxxiha"))))
+ (base32 "140r3q6n4a0n11zaf76lvyxd9gp435dgm8gn7mj0gar2hjm7ji5w"))))
(build-system cmake-build-system)
(inputs
`(("libebml" ,libebml)))
(define-public libva
(package
(name "libva")
- (version "2.5.0")
+ (version "2.7.1")
(source
(origin
(method url-fetch)
(string-append "https://www.freedesktop.org/software/vaapi/releases/"
"libva/libva-" version "/libva-" version ".tar.bz2")))
(sha256
- (base32 "0y38mw1ggxm15zq06r4qpwhd5wx4bppw1rsxpr6sq1m5d79rra1s"))))
+ (base32 "014av7ayyc624xfmr63xhbgg7nw8fynsswj1g2wmk4lnkyfz23x0"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(define-public ffmpeg
(package
(name "ffmpeg")
- (version "4.2.1")
+ (version "4.3.1")
(source (origin
(method url-fetch)
(uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
version ".tar.xz"))
(sha256
(base32
- "1m5nkc61ihgcf0b2wabm0zyqa8sj3c0w8fi6kr879lb0kdzciiyf"))))
+ "1yrg9nri54iav86vxy5i8pj51dhikksa04x20d77nc3fsi09405d"))))
(build-system gnu-build-system)
(inputs
`(("dav1d" ,dav1d)
("mesa" ,mesa)
("openal" ,openal)
("pulseaudio" ,pulseaudio)
+ ;; XXX: rav1e depends on rust, which currently only works on x86_64.
+ ;; See also the related configure flag when changing this.
+ ,@(if (string-prefix? "x86_64" (or (%current-target-system)
+ (%current-system)))
+ `(("rav1e" ,rav1e))
+ '())
("sdl" ,sdl2)
("soxr" ,soxr)
("speex" ,speex)
"--enable-libmp3lame"
"--enable-libopus"
"--enable-libpulse"
+ ,@(if (string-prefix? "x86_64" (or (%current-target-system)
+ (%current-system)))
+ '("--enable-librav1e")
+ '())
"--enable-libsoxr"
"--enable-libspeex"
"--enable-libtheora"
audio/video codec library.")
(license license:gpl2+)))
+;; ungoogled-chromium crashes with ffmpeg 4.3, so stick with this version for
+;; now. See <https://issues.guix.gnu.org/41987>.
+(define-public ffmpeg-4.2
+ (package
+ (inherit ffmpeg)
+ (version "4.2.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "0cddkb5sma9dzy8i59sfls19rhjlq40zn9mh3x666dqkxl5ckxlx"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments ffmpeg)
+ ((#:configure-flags flags)
+ `(delete "--enable-librav1e" ,flags))))))
+
(define-public ffmpeg-3.4
(package
(inherit ffmpeg)
(arguments
(substitute-keyword-arguments (package-arguments ffmpeg)
((#:configure-flags flags)
- `(delete "--enable-libdav1d" (delete "--enable-libaom"
- ,flags)))))
- (inputs (alist-delete "dav1d" (alist-delete "libaom"
- (package-inputs ffmpeg))))))
+ `(delete "--enable-libdav1d" (delete "--enable-libaom" (delete "--enable-librav1e"
+ ,flags))))))
+ (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
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/stepmania/ffmpeg.git")
+ (url "https://github.com/stepmania/ffmpeg")
(commit "eda6effcabcf9c238e4635eb058d72371336e09b")))
(sha256
(base32 "1by8rmbva8mfrivdbbkr2gx4kga89zqygkd4cfjl76nr8mdcdamb"))
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/dirkvdb/ffmpegthumbnailer.git")
+ (url "https://github.com/dirkvdb/ffmpegthumbnailer")
(commit version)))
(file-name (git-file-name name version))
(sha256
(define-public vlc
(package
(name "vlc")
- (version "3.0.8")
+ (version "3.0.11.1")
(source (origin
(method url-fetch)
(uri (string-append
"/vlc-" version ".tar.xz"))
(sha256
(base32
- "1xmxjpyzdhabchwncz6lvx3kzvl7fz9c42bkv3nbj68albs9w570"))
- (patches
- (search-patches
- ;; TODO: The test "libvlc_slaves" fails. Applied upstream as
- ;; <https://git.videolan.org/?p=vlc.git;a=commit;h=4186c94104ee528abd6860611b49515f3e6ec644>.
- ;; Try removing it in 3.0.9.
- "vlc-fix-test_libvlc_slaves.patch"))))
+ "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
;; which fails in our sandboxed build system
(substitute* "test/run_vlc.sh"
(("./vlc --ignore-config") "echo"))
-
- ;; modules/text_renderer/freetype/text_layout.c uses a
- ;; now-deprecated interface 'fribidi_get_par_embedding_levels'
- ;; from fribidi.h, so for now we enable the use of deprecated
- ;; fribidi interfaces from this file.
- ;; FIXME: Try removing this for vlc >= 3.0.3.
- (substitute* "modules/text_renderer/freetype/text_layout.c"
- (("# define FRIBIDI_NO_DEPRECATED 1") ""))
-
- ;; Fix build with libssh2 > 1.8.0:
- ;; <https://trac.videolan.org/vlc/ticket/22060>
- ;; <https://git.videolan.org/?p=vlc.git;a=commit;h=11449b5cd8b415768e010d9b7c1d6ba3cea21f82>
- (substitute* "modules/access/sftp.c"
- (("010801") "010900"))
#t)))
(add-after 'strip 'regenerate-plugin-cache
(lambda* (#:key outputs #:allow-other-keys)
(define-public mplayer
(package
(name "mplayer")
- (version "1.3.0")
+ (version "1.4")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.xz"))
(sha256
(base32
- "0hwqn04bdknb2ic88xd75smffxx63scvz0zvwvjb56nqj9n89l1s"))))
+ "0j5mflr0wnklxsvnpmxvk704hscyn2785hvvihj2i3a7b3anwnc2"))))
(build-system gnu-build-system)
;; FIXME: Add additional inputs once available.
(native-inputs
(inputs
`(("alsa-lib" ,alsa-lib)
("cdparanoia" ,cdparanoia)
- ("ffmpeg" ,ffmpeg-3.4)
+ ("ffmpeg" ,ffmpeg)
("fontconfig" ,fontconfig)
("freetype" ,freetype)
-;; ("giflib" ,giflib) ; uses QuantizeBuffer, requires version >= 5
+ ("giflib" ,giflib)
("lame" ,lame)
("libass" ,libass)
("libdvdcss" ,libdvdcss)
- ("libdvdnav" ,libdvdnav)
- ("libjpeg" ,libjpeg)
+ ("libdvdnav" ,libdvdnav) ; ignored without libdvdread
+ ("libdvdread" ,libdvdread) ; ignored without libdvdnav
+ ("libjpeg" ,libjpeg-turbo)
("libmpeg2" ,libmpeg2)
- ("libmpg123" ,mpg123) ; audio codec for MP3
+ ("libmpg123" ,mpg123) ; audio codec for MP3
("libpng" ,libpng)
("libtheora" ,libtheora)
("libvdpau" ,libvdpau)
("speex" ,speex)
("zlib" ,zlib)))
(arguments
- `(#:tests? #f ; no test target
+ `(#:tests? #f ; no test target
#:phases
(modify-phases %standard-phases
(replace 'configure
(nix-system->gnu-triplet
(%current-system)))))))
"--disable-iwmmxt")))))))
- (home-page "https://www.mplayerhq.hu/design7/news.html")
+ (home-page "https://www.mplayerhq.hu")
(synopsis "Audio and video player")
(description "MPlayer is a movie player. It plays most MPEG/VOB, AVI,
Ogg/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, RealMedia, Matroska, NUT,
(define-public mpv
(package
(name "mpv")
- (version "0.31.0")
+ (version "0.32.0")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/mpv-player/mpv.git")
+ (url "https://github.com/mpv-player/mpv")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "138m09l4wi6ifbi15z76j578plmxkclhlzfryasfcdp8hswhs59r"))))
+ "0kmy1q0hp87vq4rpv7py04x8bpg1wmlzaibavmkf713jqp6qy596"))))
(build-system waf-build-system)
(native-inputs
`(("perl" ,perl) ; for zsh completion file
("libcdio-paranoia" ,libcdio-paranoia)
("libdvdread" ,libdvdread)
("libdvdnav" ,libdvdnav)
- ("libjpeg" ,libjpeg)
+ ("libjpeg" ,libjpeg-turbo)
("libva" ,libva)
("libvdpau" ,libvdpau)
("libx11" ,libx11)
(("\"youtube-dl\",")
(string-append "\"" ytdl "/bin/youtube-dl\",")))
#t)))
+ (add-before 'configure 'build-reproducibly
+ (lambda _
+ ;; Somewhere in the build system library dependencies are enumerated
+ ;; and passed as linker flags, but the order in which they are added
+ ;; varies. See <https://github.com/mpv-player/mpv/issues/7855>.
+ ;; Set PYTHONHASHSEED as a workaround for deterministic results.
+ (setenv "PYTHONHASHSEED" "1")
+ #t))
(add-before
'configure 'setup-waf
(lambda* (#:key inputs #:allow-other-keys)
(define-public mpv-mpris
(package
(name "mpv-mpris")
- (version "0.2")
+ (version "0.5")
(source
(origin
(method git-fetch)
(file-name (git-file-name name version))
(sha256
(base32
- "06hq3j1jjlaaz9ss5l7illxz8vm5bng86jl24kawglwkqayhdnjx"))))
- (build-system gnu-build-system)
+ "07p6li5z38pkfd40029ag2jqx917vyl3ng5p2i4v5a0af14slcnk"))))
+ (build-system copy-build-system)
(arguments
- '(#:tests? #f ; no tests
- #:make-flags '("CC=gcc")
+ '(#:install-plan
+ '(("mpris.so" "lib/"))
#: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)))))
+ (add-before 'install 'build
+ (lambda _
+ (setenv "CC" (which "gcc"))
+ (invoke "make"))))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
(license license:bsd-3)
(home-page "https://www.webmproject.org/")))
-;; GNU IceCat fails to build against 1.8.0, so keep this version for now.
-(define-public libvpx-1.7
- (package
- (inherit libvpx)
- (version "1.7.0")
- (source (origin
- (inherit (package-source libvpx))
- (uri (git-reference
- (url "https://chromium.googlesource.com/webm/libvpx")
- (commit (string-append "v" version))))
- (file-name (git-file-name "libvpx" version))
- (sha256
- (base32
- "0vvh89hvp8qg9an9vcmwb7d9k3nixhxaz6zi65qdjnd0i56kkcz6"))
- (patches
- (append
- (origin-patches (package-source libvpx))
- (search-patches "libvpx-use-after-free-in-postproc.patch")))))))
-
(define-public youtube-dl
(package
(name "youtube-dl")
- (version "2020.01.15")
+ (version "2020.09.14")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/ytdl-org/youtube-dl/"
version ".tar.gz"))
(sha256
(base32
- "0dyjc8nxyg9ry2ylmblh3fwavpais3mdfj6ndw4i0yc2vkw12rsm"))))
+ "18wfhprbaszpxgqkac3hb050ngvdsaibbcifg88rkv5vc6bc2mq6"))))
(build-system python-build-system)
(arguments
;; The problem here is that the directory for the man page and completion
(string-append "'" prefix "/etc/"))
(("'share/")
(string-append "'" prefix "/share/")))
+ #t)))
+ (add-after 'install 'install-completion
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (zsh (string-append out
+ "/share/zsh/site-functions")))
+ (mkdir-p zsh)
+ (copy-file "youtube-dl.zsh"
+ (string-append zsh "/_youtube-dl"))
#t))))))
(synopsis "Download videos from YouTube.com and other sites")
(description
(define-public you-get
(package
(name "you-get")
- (version "0.4.1355")
+ (version "0.4.1456")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/soimort/you-get.git")
+ (url "https://github.com/soimort/you-get")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "0xq7z04hvw3b3npiahlpzhbxsjvam9n9dynplyrkn84dx6k9ajbj"))))
+ "0n6h5qkhjwsxy8rf6n4i8hd8dah38hbvchh9272c53gydgp9lp29"))))
(build-system python-build-system)
(inputs
`(("ffmpeg" ,ffmpeg))) ; for multi-part and >=1080p videos
(define-public youtube-viewer
(package
(name "youtube-viewer")
- (version "3.7.0")
+ (version "3.7.8")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/trizen/youtube-viewer.git")
+ (url "https://github.com/trizen/youtube-viewer")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
- "1h0m8rn7najdrzvg5md9albiax287273b40ncrihh9amsvvb47c9"))))
+ "1ckzzf35nbwlx5prvzjr52n28chyd479vhdk5w7vb2343az80mzi"))))
(build-system perl-build-system)
(native-inputs
`(("perl-module-build" ,perl-module-build)))
("perl-file-sharedir" ,perl-file-sharedir)
("perl-gtk2" ,perl-gtk2)
("perl-json" ,perl-json)
+ ("perl-json-xs" ,perl-json-xs)
("perl-libwww" ,perl-libwww)
("perl-lwp-protocol-https" ,perl-lwp-protocol-https)
("perl-lwp-useragent-cached" ,perl-lwp-useragent-cached)
`(#:modules ((guix build perl-build-system)
(guix build utils)
(srfi srfi-26))
- #:module-build-flags '("--gtk")
+ ;; gtk-2/3 variants are both installed by default but the gtk3 variant
+ ;; is broken without perl-gtk3.
+ #:module-build-flags '("--gtk2")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'refer-to-inputs
(define-public vapoursynth
(package
(name "vapoursynth")
- (version "48")
+ (version "52")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/vapoursynth/vapoursynth.git")
+ (url "https://github.com/vapoursynth/vapoursynth")
(commit (string-append "R" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "1i6163bidlp0p9zcnxpsphr44ayfzd51fig4ri7vbrbl9lw9jaih"))))
+ "1krfdzc2x2vxv4nq9kiv1c09hgj525qn120ah91fw2ikq8ldvmx4"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
(define-public xvid
(package
(name "xvid")
- (version "1.3.6")
+ (version "1.3.7")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.bz2"))
(sha256
(base32
- "0zppakvcgq5a42mhqqsbliclpg2jrhbmbfgrzalyfzr47jqmhssy"))))
+ "1xyg3amgg27zf7188kss7y248s0xhh1vv8rrk0j9bcsd5nasxsmf"))))
(build-system gnu-build-system)
(native-inputs `(("yasm" ,yasm)))
(arguments
'(#:phases
(modify-phases %standard-phases
- (add-before
- 'configure 'pre-configure
+ (add-before 'configure 'pre-configure
(lambda _
(chdir "build/generic")
(substitute* "configure"
(("#! /bin/sh") (string-append "#!" (which "sh"))))
#t)))
- ;; No 'check' target.
- #:tests? #f))
+ #:tests? #f)) ; no test suite
(home-page "https://www.xvid.com/")
(synopsis "MPEG-4 Part 2 Advanced Simple Profile video codec")
(description "Xvid is an MPEG-4 Part 2 Advanced Simple Profile (ASP) video
(define-public streamlink
(package
(name "streamlink")
- (version "1.3.0")
+ (version "1.4.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "streamlink" version))
(sha256
(base32
- "0593ffjpz82jrljnzxfafkcmcqad3r1ijjan0hm04xjcnxc9cr00"))))
+ "1s458k8z1lv0w8i82sxs8dys66fwm4yr9j1m7fzp7r0piz8phcpd"))))
(build-system python-build-system)
(home-page "https://github.com/streamlink/streamlink")
(native-inputs
from sites like Twitch.tv and pipes them into a video player of choice.")
(license license:bsd-2)))
-(define-public livestreamer
- (deprecated-package "livestreamer" streamlink))
-
(define-public twitchy
(let ((commit "9beb36d80b16662414129693e74fa3a2fd97554e")) ; 3.4 has no tag
(package
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/BasioMeusPuga/twitchy.git")
+ (url "https://github.com/BasioMeusPuga/twitchy")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(define-public mlt
(package
(name "mlt")
- (version "6.18.0")
+ (version "6.22.1")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/mltframework/mlt.git")
+ (url "https://github.com/mltframework/mlt")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "0iiqym15n8kbnjzj0asmm86gs23yykz0va5b475cc4v2vv5admgx"))))
+ "0jxv848ykw0csbnayrd710ylw46m0picfv7rpzsxz1vh4jzs395k"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests
#t)))))
(inputs
`(("alsa-lib" ,alsa-lib)
- ("ffmpeg" ,ffmpeg-3.4)
+ ("ffmpeg" ,ffmpeg)
("fftw" ,fftw)
("frei0r-plugins" ,frei0r-plugins)
("gdk-pixbuf" ,gdk-pixbuf)
("libxml2" ,libxml2)
("jack" ,jack-1)
("ladspa" ,ladspa)
+ ("libexif" ,libexif)
+ ("libvorbis" ,libvorbis)
+ ("rubberband" ,rubberband)
("libsamplerate" ,libsamplerate)
("pulseaudio" ,pulseaudio)
("qtbase" ,qtbase)
(inputs
`(("alsa-lib" ,alsa-lib)
("glu" ,glu)
- ("libjpeg" ,libjpeg)
+ ("libjpeg" ,libjpeg-turbo)
("libx11" ,libx11)
("qtbase" ,qtbase)
("eudev" ,eudev)))
(define-public obs
(package
(name "obs")
- (version "24.0.4")
+ (version "25.0.8")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/obsproject/obs-studio.git")
+ (url "https://github.com/obsproject/obs-studio")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
- "0m15ch2ix9qrdf1a9mj7wcpl72z3h13zx60c9q72sb1435id2g1q"))))
+ "0j2k65q3wfyfxhvkl6icz4qy0s3kfqhksizy2i3ah7yml266axbj"))))
(build-system cmake-build-system)
(arguments
- `(#:tests? #f)) ; no tests
+ `(#:tests? #f ; no test suite
+ #:configure-flags
+ (list (string-append "-DOBS_VERSION_OVERRIDE=" ,version))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
("jansson" ,jansson)
("libx264" ,libx264)
("libxcomposite" ,libxcomposite)
+ ("mbedtls" ,mbedtls-apache)
("mesa" ,mesa)
("pulseaudio" ,pulseaudio)
("qtbase" ,qtbase)
(define-public simplescreenrecorder
(package
(name "simplescreenrecorder")
- (version "0.3.11")
+ (version "0.4.2")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/MaartenBaert/ssr.git")
+ (url "https://github.com/MaartenBaert/ssr")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
- "0n702dnv4qshgn3b90ixvplfafjhgz6040yir5vy8khjdpciysq4"))))
+ "1dzp5yzqlha65crzklx2qlan6ssw1diwzfpc4svd7gnr858q2292"))))
(build-system cmake-build-system)
;; Although libx11, libxfixes, libxext are listed as build dependencies in
;; README.md, the program builds and functions properly without them.
("glu" ,glu)
("jack" ,jack-1)
("libxi" ,libxi)
+ ("libxinerama" ,libxinerama)
("pulseaudio" ,pulseaudio)
("qtbase" ,qtbase)
("qtx11extras" ,qtx11extras)))
(list "-DWITH_QT5=TRUE")
#:tests? #f)) ; no test suite
;; Using HTTPS causes part of the page to be displayed improperly.
- (home-page "http://www.maartenbaert.be/simplescreenrecorder/")
+ (home-page "https://www.maartenbaert.be/simplescreenrecorder/")
(synopsis "Screen recorder")
(description "SimpleScreenRecorder is an easy to use screen recorder with
a graphical user interface. It supports recording the entire screen, or a
("automake" ,automake)))
(inputs
`(("sdl" ,sdl2)))
- (home-page "http://icculus.org/smpeg/")
+ (home-page "https://icculus.org/smpeg/")
(synopsis "SDL MPEG decoding library")
(description
"SMPEG (SDL MPEG Player Library) is a free MPEG1 video player library
(define-public libaacs
(package
(name "libaacs")
- (version "0.9.0")
+ (version "0.11.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://ftp.videolan.org/pub/videolan/libaacs/"
- version "/" name "-" version ".tar.bz2"))
+ version "/libaacs-" version ".tar.bz2"))
(sha256
- (base32 "1kms92i0c7i1yl659kqjf19lm8172pnpik5lsxp19xphr74vvq27"))))
+ (base32 "11skjqjlldmbjkyxdcz4fmcn6y4p95r1xagbcnjy4ndnzf0l723d"))))
(inputs
`(("libgcrypt" ,libgcrypt)))
(native-inputs
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/mps-youtube/mps-youtube.git")
+ (url "https://github.com/mps-youtube/mps-youtube")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(define-public handbrake
(package
(name "handbrake")
- (version "1.3.1")
+ (version "1.3.3")
(source (origin
(method url-fetch)
- (uri (string-append "https://download.handbrake.fr/releases/"
- version "/HandBrake-" version "-source.tar.bz2"))
+ (uri (string-append "https://github.com/HandBrake/HandBrake/"
+ "releases/download/" version "/"
+ "HandBrake-" version "-source.tar.bz2"))
(sha256
(base32
- "09rcrq0kjs1lc1as7w3glbpbfvzldwpx3xv0pfmkn4pl7acxw1f0"))
+ "11bzhyp052bmng5119x74xvdj5632smx6qsk537ygda8bzckg2i1"))
(modules '((guix build utils)))
(snippet
;; Remove "contrib" and source not necessary for
(define-public intel-vaapi-driver
(package
(name "intel-vaapi-driver")
- (version "2.4.0")
+ (version "2.4.1")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://github.com/intel/intel-vaapi-driver/"
- "releases/download/" version "/intel-vaapi-driver-"
- version ".tar.bz2"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/intel/intel-vaapi-driver")
+ (commit version)))
(sha256
- (base32 "12fhydgwpvyh97gxqlgv77wsf9yax321h46vi49j4sxghpcxvqki"))))
+ (base32 "1cidki3av9wnkgwi7fklxbg3bh6kysf8w3fk2qadjr05a92mx3zp"))
+ (file-name (git-file-name name version))))
(build-system gnu-build-system)
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)))
(inputs
`(("libdrm" ,libdrm)
("libva" ,libva)
(define-public openh264
(package
(name "openh264")
- (version "2.0.0")
+ (version "2.1.1")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/cisco/"
- name "/releases/download/v"
- version "/Source.Code.tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cisco/openh264")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0iq802xfsfkskg6q1j0kg90xh04vv1sxf61mrmahgynz5d7hx2ii"))))
+ "0ffav46pz3sbj92nipd62z03fibyqgclfq9w8lgr80s6za6zdk5s"))))
(build-system gnu-build-system)
(native-inputs
`(("nasm" ,nasm)
#:phases (modify-phases %standard-phases
;; no configure script
(delete 'configure))))
- (home-page "http://www.openh264.org/")
+ (home-page "https://www.openh264.org/")
(synopsis "H264 decoder library")
(description
"Openh264 is a library which can decode H264 video streams.")
(define-public libmediainfo
(package
(name "libmediainfo")
- (version "0.7.95")
+ (version "20.08")
(source (origin
(method url-fetch)
(uri (string-append "https://mediaarea.net/download/source/"
- name "/" version"/"
- name "_" version ".tar.bz2"))
+ name "/" version "/"
+ name "_" version ".tar.xz"))
(sha256
(base32
- "1kchh6285b07z5nixv619hc9gml2ysdayicdiv30frrlqiyxqw4b"))))
+ "19n8h9jq42b6r3dbag77fzwfksfywszmzpi636w87fvc1nqldlqj"))))
;; TODO add a Big Buck Bunny webm for tests.
(native-inputs
`(("autoconf" ,autoconf)
(define-public mediainfo
(package
(name "mediainfo")
- (version "18.12")
+ (version "20.08")
(source (origin
(method url-fetch)
;; Warning: This source has proved unreliable 1 time at least.
;; happens again.
(uri (string-append "https://mediaarea.net/download/source/"
name "/" version "/"
- name "_" version ".tar.bz2"))
+ name "_" version ".tar.xz"))
(sha256
(base32
- "1ix95ilcjlawcq6phh25cgplm3riqa2ii7ql82g8yagqs4ldqp6a"))))
+ "1baf2dj5s3g1x4ssqli1b2r1203syk42m09zhp36qcinmfixv11l"))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/FFMS/ffms2.git")
+ (url "https://github.com/FFMS/ffms2")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"11b83qazc8h0iidyj1rprnnjdivj1lpphvpa08y53n42bfa36pn5"))
(patches (search-patches "aegisub-icu59-include-unistr.patch"
+ "aegisub-make43.patch"
"aegisub-boost68.patch"))))
(build-system gnu-build-system)
(arguments
#t)))))
(inputs
`(("boost" ,boost)
- ("desktop-file-utils" ,desktop-file-utils)
("ffms2" ,ffms2)
("fftw" ,fftw)
("hunspell" ,hunspell)
("wxwidgets-gtk2" ,wxwidgets-gtk2)))
(native-inputs
`(("intltool" ,intltool)
+ ("desktop-file-utils" ,desktop-file-utils)
("pkg-config" ,pkg-config)))
(home-page "http://www.aegisub.org/")
(synopsis "Subtitle engine")
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/pitivi/gst-transcoder.git")
+ (url "https://github.com/pitivi/gst-transcoder")
(commit version)))
(file-name (git-file-name name version))
(sha256
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/Motion-Project/motion.git")
+ (url "https://github.com/Motion-Project/motion")
(commit (string-append "release-" version))))
(sha256
(base32
("gettext" ,gettext-minimal)
("pkg-config" ,pkg-config)))
(inputs
- `(("libjpeg" ,libjpeg)
- ("ffmpeg" ,ffmpeg-3.4)
+ `(("libjpeg" ,libjpeg-turbo)
+ ("ffmpeg" ,ffmpeg)
("libmicrohttpd" ,libmicrohttpd)
("sqlite" ,sqlite)))
(arguments
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/alexanderwink/subdl.git")
+ (url "https://github.com/alexanderwink/subdl")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/l-smash/l-smash.git")
+ (url "https://github.com/l-smash/l-smash")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/georgmartius/vid.stab.git")
+ (url "https://github.com/georgmartius/vid.stab")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(define-public libopenshot
(package
(name "libopenshot")
- (version "0.2.3")
+ (version "0.2.5")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "0r1qmr8ar5n72603xkj9h065vbpznrqsq88kxxmn9n8djyyvk03k"))
+ "1mxjkgjmjzgf628y3rscc6rqf55hxgjpmvwxlncfk1216i5xskwp"))
(modules '((guix build utils)))
(snippet '(begin
;; Allow overriding of the python installation dir
(define-public openshot
(package
(name "openshot")
- (version "2.4.4")
+ (version "2.5.1")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "0mg63v36h7l8kv2sgf6x8c1n3ygddkqqwlciz7ccxpbm4x1idqba"))
+ "0qc5i0ay6j2wab1whl41sjb71cj02pg6y79drf7asrprq8b2rmfq"))
(modules '((guix build utils)))
(snippet
'(begin
+ ;; TODO: Unbundle jquery and others from src/timeline/media
(delete-file-recursively "src/images/fonts") #t))))
(build-system python-build-system)
(inputs
("python-requests" ,python-requests)
("qtsvg" ,qtsvg)))
(arguments
- `(#:tests? #f ;no tests
- #:modules ((guix build python-build-system)
+ `(#:modules ((guix build python-build-system)
(guix build qt-utils)
(guix build utils))
#:imported-modules (,@%python-build-system-modules
(guix build qt-utils))
#:phases (modify-phases %standard-phases
(delete 'build) ;install phase does all the work
+ (replace 'check
+ (lambda _
+ (setenv "QT_QPA_PLATFORM" "offscreen")
+ (invoke "python" "src/tests/query_tests.py")))
(add-after 'unpack 'patch-font-location
(lambda* (#:key inputs #:allow-other-keys)
(let ((font (assoc-ref inputs "font-ubuntu")))
(let ((out (assoc-ref outputs "out")))
(wrap-qt-program out "openshot-qt"))
#t)))))
- (home-page "https://openshot.org")
+ (home-page "https://www.openshot.org/")
(synopsis "Video editor")
(description "OpenShot takes your videos, photos, and music files and
helps you create the film you have always dreamed of. Easily add sub-titles,
(define-public dav1d
(package
(name "dav1d")
- (version "0.5.2")
+ (version "0.7.1")
(source
(origin
(method url-fetch)
"/dav1d/" version "/dav1d-" version ".tar.xz"))
(sha256
(base32
- "02hgarv2x2bqbac15pdj7pbm8f4lyn78ws0dncygvhis9a6ghk7r"))))
+ "1hnkfcg57bv5rib6cnj39dy1jx0q7zi5fb2fz52hf2y0bv8bad1k"))))
(build-system meson-build-system)
(native-inputs `(("nasm" ,nasm)))
(home-page "https://code.videolan.org/videolan/dav1d")
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/atomnuker/wlstream.git")
+ (url "https://github.com/atomnuker/wlstream")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/FNA-XNA/Theorafile.git")
+ (url "https://github.com/FNA-XNA/Theorafile")
(commit commit)))
(file-name (git-file-name name version))
(sha256
DVD using @command{libdvdcss}, but does @strong{not} demux, remux,
transcode or reformat the videos in any way, producing perfect backups.")
(license license:gpl3+)))
+
+(define-public svt-av1
+ (package
+ (name "svt-av1")
+ (version "0.8.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/OpenVisualCloud/SVT-AV1")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1gfxdmdql090p7c8ln1z344g467l41p45287lmwy590hv8gw6bfg"))))
+ (build-system cmake-build-system)
+ ;; SVT-AV1 only supports Intel-compatible CPUs.
+ (supported-systems '("x86_64-linux" "i686-linux"))
+ (arguments
+ ;; The test suite tries to download test data and git clone a 3rd-party
+ ;; fork of libaom. Skip it.
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'install-documentation
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref %outputs "out"))
+ (doc (string-append out "/share/doc/svt-av1-" ,version)))
+ (copy-recursively "../source/Docs" doc)
+ #t))))))
+ (native-inputs
+ `(("yasm" ,yasm)))
+ (synopsis "AV1 video codec")
+ (description "SVT-AV1 is an AV1 codec implementation. The encoder is a
+work-in-progress, aiming to support video-on-demand and live streaming
+applications. It only supports Intel-compatible CPUs (x86).")
+ (home-page "https://github.com/OpenVisualCloud/SVT-AV1")
+ (license license:bsd-2)))
+
+(define-public w-scan
+ (package
+ (name "w-scan")
+ (version "20170107")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://www.gen2vdr.de/wirbel/w_scan/w_scan-"
+ version ".tar.bz2"))
+ (sha256
+ (base32 "1zkgnj2sfvckix360wwk1v5s43g69snm45m0drnzyv7hgf5g7q1q"))))
+ (build-system gnu-build-system)
+ (synopsis "Scan ATSC/DVB-C/DVB-S/DVB-T channels")
+ (description
+ "This is a small command line utility used to perform frequency scans for
+DVB and ATSC transmissions without initial tuning data. It can print the
+result in several formats:
+@itemize
+@item VDR channels.conf,
+@item czap/tzap/xine/mplayer channels.conf,
+@item Gstreamer dvbsrc plugin,
+@item VLC xspf playlist,
+@item XML,
+@item initial tuning data for scan or dvbv5-scan.
+@end itemize\n")
+ (home-page "https://www.gen2vdr.de/wirbel/w_scan/index2.html")
+ (license license:gpl2+)))
+
+(define-public rav1e
+ (package
+ (name "rav1e")
+ (version "0.3.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "rav1e" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "053bh8hc6jj81ydq4gcak01b0ady59hvkl7d87im3y8nafg7xzb4"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-aom-sys" ,rust-aom-sys-0.1)
+ ("rust-arbitrary" ,rust-arbitrary-0.2)
+ ("rust-arg-enum-proc-macro" ,rust-arg-enum-proc-macro-0.3)
+ ("rust-arrayvec" ,rust-arrayvec-0.5)
+ ("rust-backtrace" ,rust-backtrace-0.3)
+ ("rust-bitstream-io" ,rust-bitstream-io-0.8)
+ ("rust-byteorder" ,rust-byteorder-1.3)
+ ("rust-cfg-if" ,rust-cfg-if-0.1)
+ ("rust-clap" ,rust-clap-2)
+ ("rust-console" ,rust-console-0.11)
+ ("rust-dav1d-sys" ,rust-dav1d-sys-0.3)
+ ("rust-fern" ,rust-fern-0.6)
+ ("rust-image" ,rust-image-0.23)
+ ("rust-interpolate-name" ,rust-interpolate-name-0.2)
+ ("rust-itertools" ,rust-itertools-0.9)
+ ("rust-ivf" ,rust-ivf-0.1)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-log" ,rust-log-0.4)
+ ("rust-noop-proc-macro" ,rust-noop-proc-macro-0.2)
+ ("rust-num-derive" ,rust-num-derive-0.3)
+ ("rust-num-traits" ,rust-num-traits-0.2)
+ ("rust-paste" ,rust-paste-0.1)
+ ("rust-rand" ,rust-rand-0.7)
+ ("rust-rand-chacha" ,rust-rand-chacha-0.2)
+ ("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)
+ ("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)
+ ("rust-nasm-rs" ,rust-nasm-rs-0.1)
+ ("rust-rustc-version" ,rust-rustc-version-0.2)
+ ("rust-vergen" ,rust-vergen-3.1))
+ #:cargo-development-inputs
+ (("rust-assert-cmd" ,rust-assert-cmd-1)
+ ("rust-criterion" ,rust-criterion-0.3)
+ ("rust-interpolate-name" ,rust-interpolate-name-0.2)
+ ("rust-pretty-assertions" ,rust-pretty-assertions-0.6)
+ ("rust-rand" ,rust-rand-0.7)
+ ("rust-rand-chacha" ,rust-rand-chacha-0.2)
+ ("rust-semver" ,rust-semver-0.9))
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'build
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (invoke "cargo" "cinstall" "--release"
+ (string-append "--prefix=" out))))))))
+ (native-inputs
+ `(("cargo-c" ,rust-cargo-c)))
+ (inputs
+ `(("nasm" ,nasm)))
+ (home-page "https://github.com/xiph/rav1e/")
+ (synopsis "The fastest and safest AV1 encoder")
+ (description
+ "The fastest and safest AV1 encoder.")
+ (license license:bsd-2)))
+
+(define-public peek
+ (package
+ (name "peek")
+ (version "1.5.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/phw/peek")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1xwlfizga6hvjqq127py8vabaphsny928ar7mwqj9cyqfl6fx41x"))))
+ (build-system meson-build-system)
+ (arguments '(#:glib-or-gtk? #t))
+ (inputs
+ `(("gtk+" ,gtk+)))
+ (native-inputs
+ `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
+ ("gettext" ,gettext-minimal)
+ ("glib:bin" ,glib "bin") ; for glib-compile-resources
+ ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache
+ ("pkg-config" ,pkg-config)
+ ("vala" ,vala)))
+ (home-page "https://github.com/phw/peek")
+ (synopsis "Simple animated GIF screen recorder")
+ (description
+ "Peek makes it easy to create short screencasts of a screen area. It was
+built for the specific use case of recording screen areas, e.g. for easily
+showing UI features of your own apps or for showing a bug in bug reports.
+With Peek, you simply place the Peek window over the area you want to record
+and press \"Record\". Peek is optimized for generating animated GIFs, but you
+can also directly record to WebM or MP4 if you prefer.")
+ (license license:gpl3+)))
+
+(define-public wf-recorder
+ (package
+ (name "wf-recorder")
+ (version "0.2.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ammen99/wf-recorder")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1cw6kpcbl33wh95pvy32xrsrm6kkk1awccr3phyh885xjs3b3iim"))))
+ (build-system meson-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("ffmpeg" ,ffmpeg)
+ ("pulseaudio" ,pulseaudio)
+ ("wayland" ,wayland)
+ ("wayland-protocols" ,wayland-protocols)
+ ("libx264" ,libx264)))
+ (home-page "https://github.com/ammen99/wf-recorder")
+ (synopsis "Screen recorder for wlroots-based compositors")
+ (description
+ "@code{wf-recorder} is a utility program for screen recording of
+wlroots-based compositors. More specifically, those that support
+@code{wlr-screencopy-v1} and @code{xdg-output}.")
+ (license license:expat)))
+
+(define-public guvcview
+ (package
+ (name "guvcview")
+ (version "2.0.6")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/guvcview/source/guvcview-"
+ "src-" version ".tar.gz"))
+ (sha256
+ (base32
+ "11byyfpkcik7wvf2qic77zjamfr2rhji97dpj1gy2fg1bvpiqf4m"))))
+ (build-system gnu-build-system)
+ (arguments
+ ;; There are no tests and "make check" would fail on an intltool error.
+ '(#:tests? #f))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("intltool" ,intltool)))
+ (inputs
+ `(("gtk+" ,gtk+)
+ ("eudev" ,eudev)
+ ("libusb" ,libusb)
+ ("v4l-utils" ,v4l-utils) ;libv4l2
+ ("ffmpeg" ,ffmpeg) ;libavcodec, libavutil
+ ("sdl2" ,sdl2)
+ ("gsl" ,gsl)
+ ("portaudio" ,portaudio)
+ ("alsa-lib" ,alsa-lib)))
+ (home-page "http://guvcview.sourceforge.net/")
+ (synopsis "Control your webcam and capture videos and images")
+ (description
+ "GTK+ UVC Viewer (guvcview) is a graphical application to control a
+webcam accessible with Video4Linux (V4L2) and to capture videos and images.
+It provides control over precise settings of the webcam such as exposure,
+brightness, contrast, and frame rate.")
+
+ ;; 'COPYING' is GPLv3 but source headers say GPLv2+.
+ (license license:gpl2+)))
+
+(define-public get-iplayer
+ (package
+ (name "get-iplayer")
+ (version "3.26")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/get-iplayer/get_iplayer")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0lsz5hz1ia5j612540rb0f31y7j2k5gf7x5i43l8k06b90wi73d6"))))
+ (build-system perl-build-system)
+ (arguments
+ `(#:tests? #f ; no tests
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (man (string-append out "/share/man/man1")))
+ (install-file "get_iplayer" bin)
+ (install-file "get_iplayer.cgi" bin)
+ (install-file "get_iplayer.1" man))
+ #t))
+ (add-after 'install 'wrap-program
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (perllib (string-append out "/lib/perl5/site_perl/"
+ ,(package-version perl))))
+ (wrap-program (string-append out "/bin/get_iplayer")
+ `("PERL5LIB" ":"
+ prefix (,(string-append perllib ":" (getenv "PERL5LIB")))))
+ (wrap-program (string-append out "/bin/get_iplayer.cgi")
+ `("PERL5LIB" ":"
+ prefix (,(string-append perllib ":" (getenv "PERL5LIB")))))
+ #t))))))
+ (inputs
+ `(("perl-mojolicious" ,perl-mojolicious)
+ ("perl-lwp-protocol-https" ,perl-lwp-protocol-https)
+ ("perl-xml-libxml" ,perl-xml-libxml)))
+ (home-page "https://github.com/get-iplayer/get_iplayer")
+ (synopsis "Download or stream available BBC iPlayer TV and radio programmes")
+ (description "@code{get_iplayer} lists, searches and records BBC iPlayer
+TV/Radio, BBC Podcast programmes. Other third-party plugins may be available.
+@code{get_iplayer} has three modes: recording a complete programme for later
+playback, streaming a programme directly to a playback application, such as
+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/")))