gnu: Move sqlite to separate module.
[jackhill/guix/guix.git] / gnu / packages / video.scm
index 2b2da43..947c498 100644 (file)
@@ -3,7 +3,7 @@
 ;;; 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 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2015 Andy Patterson <ajpatter@uwaterloo.ca>
 ;;; Copyright © 2015, 2018 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2015, 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com>
@@ -12,7 +12,7 @@
 ;;; Copyright © 2016 Dmitry Nikolaev <cameltheman@gmail.com>
 ;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
 ;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
-;;; Copyright © 2016, 2018 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2016, 2018, 2019 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2017 Feng Shu <tumashu@163.com>
 ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -21,7 +21,7 @@
 ;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com>
 ;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
 ;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net>
-;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
+;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
 ;;; Copyright © 2018 Roel Janssen <roel@gnu.org>
 ;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
@@ -31,6 +31,7 @@
 ;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
 ;;; Copyright © 2018 Mark Meyer <mark@ofosos.org>
 ;;; Copyright © 2018 Gábor Boskovit <boskovits@gmail.com>
+;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -81,7 +82,6 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages cpp)
   #:use-module (gnu packages curl)
-  #:use-module (gnu packages databases)
   #:use-module (gnu packages dejagnu)
   #:use-module (gnu packages dns)
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-crypto)
   #:use-module (gnu packages python-web)
+  #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages rdesktop)
   #:use-module (gnu packages ruby)
   #:use-module (gnu packages sdl)
   #:use-module (gnu packages serialization)
   #:use-module (gnu packages shells)
+  #:use-module (gnu packages sqlite)
   #:use-module (gnu packages ssh)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages texinfo)
@@ -703,6 +705,7 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).")
        ("libbluray" ,libbluray)
        ("libcaca" ,libcaca)
        ("libcdio-paranoia" ,libcdio-paranoia)
+       ("libdrm" ,libdrm)
        ("libtheora" ,libtheora)
        ("libva" ,libva)
        ("libvdpau" ,libvdpau)
@@ -804,6 +807,7 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).")
          "--enable-libx265"
          "--enable-openal"
          "--enable-opengl"
+         "--enable-libdrm"
 
          "--enable-runtime-cpudetect"
 
@@ -1060,7 +1064,7 @@ videoformats depend on the configuration flags of ffmpeg.")
     (synopsis "Audio and video framework")
     (description "VLC is a cross-platform multimedia player and framework
 that plays most multimedia files as well as DVD, Audio CD, VCD, and various
-treaming protocols.")
+streaming protocols.")
     (license license:gpl2+)))
 
 (define-public mplayer
@@ -1310,15 +1314,15 @@ access to mpv's powerful playback capabilities.")
 (define-public youtube-dl
   (package
     (name "youtube-dl")
-    (version "2018.12.17")
+    (version "2019.01.10")
     (source (origin
               (method url-fetch)
-              (uri (string-append "https://yt-dl.org/downloads/"
-                                  version "/youtube-dl-"
+              (uri (string-append "https://github.com/rg3/youtube-dl/releases/"
+                                  "download/" version "/youtube-dl-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "1nd4zr3wd35vldm775m9wcgbzma2013yyj134lcz19ipjs38isrk"))))
+                "07r1y06697vhbkbf8pix4cnybaqmlf1wb2df5glj2xv8nl6f51gd"))))
     (build-system python-build-system)
     (arguments
      ;; The problem here is that the directory for the man page and completion
@@ -1499,6 +1503,15 @@ audio, images) from the Web.  It can use either mpv or vlc for playback.")
        #:module-build-flags '("--gtk")
        #:phases
        (modify-phases %standard-phases
+         (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-youtube-viewer.desktop"
+                             (string-append sharedir "/applications"))
+               (install-file "share/icons/gtk-youtube-viewer.png"
+                             (string-append sharedir "/pixmaps"))
+               #t)))
          (add-after 'install 'wrap-program
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
@@ -1914,7 +1927,8 @@ and custom quantization matrices.")
         (uri (pypi-uri "streamlink" version))
         (sha256
          (base32
-          "0l2145fd60i76afjisfxd48cwhwyir07i7s3bnimdq5db2kzkix8"))))
+          "0l2145fd60i76afjisfxd48cwhwyir07i7s3bnimdq5db2kzkix8"))
+        (patches (search-patches "streamlink-update-test.patch"))))
     (build-system python-build-system)
     (home-page "https://github.com/streamlink/streamlink")
     (native-inputs
@@ -2080,16 +2094,16 @@ be used for realtime video capture via Linux-specific APIs.")
 (define-public obs
   (package
     (name "obs")
-    (version "20.1.3")
+    (version "22.0.3")
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/jp9000/obs-studio.git")
+                    (url "https://github.com/obsproject/obs-studio.git")
                     (commit version)))
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0qdpa2xxiiw53ksvlrf80jm8gz6kxsn56sffv2v2ijxvy7kw5zcg"))))
+                "0ri9qkqk3h71b1a5bwpjzqdr21bbmfqbykg48l779d20zln23n1i"))))
     (build-system cmake-build-system)
     (arguments
      `(#:tests? #f)) ; no tests
@@ -3256,3 +3270,32 @@ transitions, and effects and then export your film to many common formats.")
     (description "dav1d is a new AV1 cross-platform decoder, and focused on
 speed and correctness.")
     (license license:bsd-2)))
+
+(define-public wlstream
+  (let ((commit "182076a94562b128c3a97ecc53cc68905ea86838")
+        (revision "1"))
+    (package
+      (name "wlstream")
+      (version (git-version "0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/atomnuker/wlstream.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "01qbcgfl3g9kfwn1jf1z9pdj3bvf5lmg71d1vwkcllc2az24bjqp"))))
+      (build-system meson-build-system)
+      (native-inputs `(("libdrm" ,libdrm)
+                       ("pkg-config" ,pkg-config)))
+      (inputs `(("ffmpeg" ,ffmpeg)
+                ("pulseaudio" ,pulseaudio)
+                ("wayland" ,wayland)
+                ("wayland-protocols" ,wayland-protocols)))
+      (home-page "https://github.com/atomnuker/wlstream")
+      (synopsis "Screen capture tool for Wayland sessions")
+      (description "Wlstream is a screen capture tool for recording audio and
+video from a Wayland session.")
+      (license license:lgpl2.1+))))