X-Git-Url: https://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/156c14c1cc9e94ae277dbe1dc786b00b8f2b5616..9f388b1ee1733d84edff7f473cbcbc4ab42b7128:/gnu/packages/video.scm diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 46cdd13b7e..ffc5f33e7b 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -3,10 +3,10 @@ ;;; Copyright © 2014, 2015, 2016 David Thompson ;;; Copyright © 2014, 2015, 2016 Mark H Weaver ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer -;;; Copyright © 2015, 2016, 2017 Efraim Flashner +;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner ;;; Copyright © 2015 Andy Patterson ;;; Copyright © 2015 Ricardo Wurmus -;;; Copyright © 2015, 2016, 2017 Alex Vong +;;; Copyright © 2015, 2016, 2017, 2018 Alex Vong ;;; Copyright © 2016, 2017 Alex Griffin ;;; Copyright © 2016 Kei Kebreau ;;; Copyright © 2016 Dmitry Nikolaev @@ -21,8 +21,9 @@ ;;; Copyright © 2017 Ethan R. Jones ;;; Copyright © 2017 Clément Lassieur ;;; Copyright © 2017 Gregor Giesen -;;; Copyright © 2017 Rutger Helling +;;; Copyright © 2017, 2018 Rutger Helling ;;; Copyright © 2018 Roel Janssen +;;; Copyright © 2018 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -52,6 +53,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system meson) + #:use-module (guix build-system perl) #:use-module (guix build-system python) #:use-module (guix build-system waf) #:use-module (gnu packages) @@ -89,6 +91,7 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) + #:use-module (gnu packages iso-codes) #:use-module (gnu packages libreoffice) #:use-module (gnu packages linux) #:use-module (gnu packages lua) @@ -102,6 +105,7 @@ #:use-module (gnu packages popt) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) + #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-web) #:use-module (gnu packages qt) #:use-module (gnu packages ruby) @@ -113,6 +117,7 @@ #:use-module (gnu packages textutils) #:use-module (gnu packages tls) #: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 wxwidgets) @@ -201,8 +206,7 @@ old-fashioned output methods with powerful ascii-art renderer.") (modify-phases %standard-phases ;; XXX We need to run ./bootstrap because of the build ;; system fixes above. - (add-after - 'unpack 'bootstrap + (replace 'bootstrap (lambda _ (zero? (system* "sh" "bootstrap"))))))) (home-page "http://liba52.sourceforge.net/") (synopsis "ATSC A/52 stream decoder") @@ -241,18 +245,18 @@ television and DVD. It is also known as AC-3.") (define-public libx264 (package (name "libx264") - (version "20170316-2245") + (version "20180219-2245") (source (origin (method url-fetch) (uri (string-append "https://download.videolan.org/pub/x264/snapshots/" - "x264-snapshot-" version ".tar.bz2")) + "x264-snapshot-" version "-stable.tar.bz2")) (sha256 (base32 - "1s1nnvl3axz38sv4g09skijl6k9mbbngbb1nsh26w4dr2w2gyzad")))) + "1x0cg8l30wp84mr7q0ddp06jclm0kjrszazrx87d4k7js3qxjy8m")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) - ("yasm" ,yasm))) + ("nasm" ,nasm))) ;; TODO: Add gpac input (arguments `(#:tests? #f ;no check target @@ -299,15 +303,15 @@ H.264 (MPEG-4 AVC) video streams.") (base32 "0hknnnnx9661igm1r73dc7aqxnnrl5a8yvyvr1nhd9ymn2klwpl5")) (modules '((guix build utils))) - (snippet - '(begin - ;; Delete bundled libraries. - (for-each delete-file-recursively - '("lib/libebml" - "lib/libmatroska" - "lib/nlohmann-json" - "lib/pugixml" - "lib/utf8-cpp")))))) + (snippet '(begin + ;; Delete bundled libraries. + (for-each delete-file-recursively + '("lib/libebml" + "lib/libmatroska" + "lib/nlohmann-json" + "lib/pugixml" + "lib/utf8-cpp")) + #t)))) (build-system gnu-build-system) (inputs `(("boost" ,boost) @@ -373,7 +377,7 @@ and creating Matroska files from other media files (@code{mkvmerge}).") (define-public x265 (package (name "x265") - (version "2.4") + (version "2.6") (source (origin (method url-fetch) @@ -381,10 +385,11 @@ and creating Matroska files from other media files (@code{mkvmerge}).") "x265_" version ".tar.gz")) (sha256 (base32 - "0afp0xlk0fb4q6j4sh3hyvjnjccdp61sn21zg3fyqvwgswcafalw")) + "1gyd94jkwdii9308m07nymsbxrmrcl81c0j8i10zhslr2mj07w0v")) (modules '((guix build utils))) - (snippet - '(delete-file-recursively "source/compat/getopt")))) + (snippet '(begin + (delete-file-recursively "source/compat/getopt") + #t)))) (build-system cmake-build-system) (arguments `(#:tests? #f ; tests are skipped if cpu-optimized code isn't built @@ -508,25 +513,25 @@ SMPTE 314M.") (define-public libmatroska (package (name "libmatroska") - (version "1.4.7") + (version "1.4.8") (source (origin (method url-fetch) (uri (string-append "https://dl.matroska.org/downloads/" - name "/" name "-" version ".tar.bz2")) + name "/" name "-" version ".tar.xz")) (sha256 (base32 - "1yi5cnv13nhl27xyqayd5l3sf0j3swfj3apzibv71yg9pariwi26")))) + "14n9sw974prr3yp4yjb7aadi6x2yz5a0hjw8fs3qigy5shh2piyq")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("libebml" ,libebml))) (home-page "https://www.matroska.org") - (synopsis "C++ libary to parse Matroska files (.mkv and .mka)") + (synopsis "C++ library to parse Matroska files (.mkv and .mka)") (description "Matroska aims to become the standard of multimedia container formats. -It is based on EBML (Extensible Binary Meta Language), a binary derivative +It is based on @dfn{EBML} (Extensible Binary Meta Language), a binary derivative of XML. EBML enables the Matroska Development Team to gain significant advantages in terms of future format extensibility, without breaking file support in old parsers. @@ -590,14 +595,14 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).") (define-public ffmpeg (package (name "ffmpeg") - (version "3.4.1") + (version "3.4.2") (source (origin (method url-fetch) (uri (string-append "https://ffmpeg.org/releases/ffmpeg-" version ".tar.xz")) (sha256 (base32 - "1h4iz7q10wj04awr2wvmp60n7b09pfwrgwbbw9sgl7klcf52fxss")))) + "0h6prjn1ijkzzhkyj8mazp0wpx7m0n9ycadjxagf9czqirbyk4ib")))) (build-system gnu-build-system) (inputs `(("fontconfig" ,fontconfig) @@ -766,14 +771,14 @@ audio/video codec library.") (define-public ffmpeg-2.8 (package (inherit ffmpeg) - (version "2.8.13") + (version "2.8.14") (source (origin (method url-fetch) (uri (string-append "https://ffmpeg.org/releases/ffmpeg-" version ".tar.xz")) (sha256 (base32 - "0hyqr391pika4vgynv90bacz11wdpqcqfgj5h7g5jrmgvz6hgj68")))) + "05m1272r5qa2r0ym5vq4figdfnpvcys1fgb1026n5s6xdjd1s1pg")))) (arguments (substitute-keyword-arguments (package-arguments ffmpeg) ((#:configure-flags flags) @@ -1006,7 +1011,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") (define-public mpv (package (name "mpv") - (version "0.28.0") + (version "0.28.2") (source (origin (method url-fetch) (uri (string-append @@ -1014,7 +1019,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") ".tar.gz")) (sha256 (base32 - "1d2p6k3y9lqx8bpdal4grrj8ljy7pvd8qgdq8004fmr38afmbb7f")) + "15fp4sa5glqhgidd54vs6knf9dp809wszzsqiqz5nyri4ph19nma")) (file-name (string-append name "-" version ".tar.gz")))) (build-system waf-build-system) (native-inputs @@ -1052,6 +1057,8 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") ("mpg123" ,mpg123) ("pulseaudio" ,pulseaudio) ("rsound" ,rsound) + ("shaderc" ,shaderc) + ("vulkan-icd-loader" ,vulkan-icd-loader) ("waf" ,python-waf) ("wayland" ,wayland) ("wayland-protocols" ,wayland-protocols) @@ -1084,7 +1091,7 @@ projects while introducing many more.") (define-public gnome-mpv (package (name "gnome-mpv") - (version "0.13") + (version "0.14") (source (origin (method url-fetch) @@ -1093,7 +1100,7 @@ projects while introducing many more.") ".tar.xz")) (sha256 (base32 - "1w944ymyssgfcjiczrq4saig90crw9b9hhdsnchfbjsw173qi8n5")))) + "03kjwd5jq0i5ajnvhjwf5019bjjaa16xkdrhdkiz1k58ipjvvj93")))) (native-inputs `(("intltool" ,intltool) ("pkg-config" ,pkg-config))) @@ -1112,32 +1119,33 @@ access to mpv's powerful playback capabilities.") (define-public libvpx (package (name "libvpx") - (version "1.6.1") + (version "1.7.0") (source (origin - (method url-fetch) - (uri (string-append "http://storage.googleapis.com/" - "downloads.webmproject.org/releases/webm/" - name "-" version ".tar.bz2")) + ;; XXX: Upstream does not provide tarballs for > 1.6.1. + (method git-fetch) + (uri (git-reference + (url "https://chromium.googlesource.com/webm/libvpx") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "06d8hqjkfs6wl45qf4pwh1kpbvkx6cwywd5y8d4lgagvjwm0qb0w")) + "0vvh89hvp8qg9an9vcmwb7d9k3nixhxaz6zi65qdjnd0i56kkcz6")) (patches (search-patches "libvpx-CVE-2016-2818.patch")))) (build-system gnu-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'configure - (lambda* (#:key outputs #:allow-other-keys) - (setenv "CONFIG_SHELL" (which "bash")) - (let ((out (assoc-ref outputs "out"))) - (setenv "LDFLAGS" - (string-append "-Wl,-rpath=" out "/lib")) - (zero? (system* "./configure" - "--enable-shared" + `(#:configure-flags (list "--enable-shared" "--as=yasm" ;; Limit size to avoid CVE-2015-1258 "--size-limit=16384x16384" - (string-append "--prefix=" out))))))) + (string-append "--prefix=" (assoc-ref %outputs "out"))) + #:make-flags (list (string-append "LDFLAGS=-Wl,-rpath=" + (assoc-ref %outputs "out") "/lib")) + #:phases (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key configure-flags #:allow-other-keys) + ;; The configure script does not understand some of the GNU + ;; options, so we only add the flags specified above. + (apply invoke "./configure" configure-flags)))) #:tests? #f)) ; no check target (native-inputs `(("perl" ,perl) @@ -1145,12 +1153,12 @@ access to mpv's powerful playback capabilities.") (synopsis "VP8/VP9 video codec") (description "libvpx is a codec for the VP8/VP9 video compression format.") (license license:bsd-3) - (home-page "http://www.webmproject.org/"))) + (home-page "https://www.webmproject.org/"))) (define-public youtube-dl (package (name "youtube-dl") - (version "2018.01.07") + (version "2018.03.10") (source (origin (method url-fetch) (uri (string-append "https://yt-dl.org/downloads/" @@ -1158,7 +1166,7 @@ access to mpv's powerful playback capabilities.") version ".tar.gz")) (sha256 (base32 - "1dp1yk93mngih50p1zjbh8bi5pqh10wicjcmmrdp73cpcp2i2398")))) + "1ibmz91anli1vzkgw2i3h4wf1i8arzd74730ylwcwyg3375xryjb")))) (build-system python-build-system) (arguments ;; The problem here is that the directory for the man page and completion @@ -1181,11 +1189,12 @@ access to mpv's powerful playback capabilities.") (("'etc/") (string-append "'" prefix "/etc/")) (("'share/") - (string-append "'" prefix "/share/"))))))))) + (string-append "'" prefix "/share/"))) + #t)))))) (synopsis "Download videos from YouTube.com and other sites") (description "Youtube-dl is a small command-line program to download videos from -YouTube.com and a few more sites.") +YouTube.com and many more sites.") (home-page "https://yt-dl.org") (license license:public-domain))) @@ -1267,7 +1276,7 @@ other site that youtube-dl supports.") (define-public you-get (package (name "you-get") - (version "0.4.1011") + (version "0.4.1040") (source (origin (method url-fetch) (uri (string-append @@ -1276,7 +1285,7 @@ other site that youtube-dl supports.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0cdbh5w0chw3dlrwizm91l6sgkkzy7p6h0072dai4xbw5zgld31k")))) + "0257p9bn426rv0cjk2j5hsx6cg7dz5gpjwlqq0sy1axa47phis46")))) (build-system python-build-system) (inputs `(("ffmpeg" ,ffmpeg))) ; for multi-part and >=1080p videos @@ -1303,10 +1312,65 @@ audio, images) from the Web. It can use either mpv or vlc for playback.") (home-page "https://you-get.org/") (license license:expat))) +(define-public youtube-viewer + (package + (name "youtube-viewer") + (version "3.3.3") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/trizen/youtube-viewer/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1j572his6qmazlmyrbnfq62s9bqml875ay7wy26byy9hfc7m0vgk")))) + (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) + ("perl-gtk2" ,perl-gtk2) + ("perl-json" ,perl-json) + ("perl-libwww" ,perl-libwww) + ("perl-lwp-protocol-https" ,perl-lwp-protocol-https) + ("perl-mozilla-ca" ,perl-mozilla-ca) + ("perl-unicode-linebreak" ,perl-unicode-linebreak))) + (arguments + `(#:modules ((guix build perl-build-system) + (guix build utils) + (srfi srfi-26)) + #:module-build-flags '("--gtk") + #:phases + (modify-phases %standard-phases + (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 + "Lightweight application for searching and streaming videos from YouTube") + (description + "Youtube-viewer searches and plays YouTube videos in a native player. +It comes with various search options; it can search for videos, playlists +and/or channels. The videos are streamed directly in a selected video player +at the best resolution (customizable) and with closed-captions (if available). +Both command-line and GTK2 interface are available.") + (home-page "https://github.com/trizen/youtube-viewer") + (license license:perl-license))) + (define-public libbluray (package (name "libbluray") - (version "1.0.1") + (version "1.0.2") (source (origin (method url-fetch) (uri (string-append "https://download.videolan.org/videolan/" @@ -1314,12 +1378,23 @@ audio, images) from the Web. It can use either mpv or vlc for playback.") name "-" version ".tar.bz2")) (sha256 (base32 - "0fl5cxfj870rwqmmz3s04wh7wnabb7rnynfj1v3sz37ln8frm7qg")))) + "1zxfnw1xbghcj7b3zz5djndv6gwssxda19cz1lrlqrkg8577r7kd")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--disable-bdjava-jar") #:phases (modify-phases %standard-phases + (add-after 'unpack 'refer-to-libxml2-in-.pc-file + ;; Avoid the need to propagate libxml2 by referring to it + ;; directly, as is already done for fontconfig & freetype. + (lambda* (#:key inputs #:allow-other-keys) + (let ((libxml2 (assoc-ref inputs "libxml2"))) + (substitute* "configure" + ((" libxml-2.0") "")) + (substitute* "src/libbluray.pc.in" + (("^Libs.private:" field) + (string-append field " -L" libxml2 "/lib -lxml2"))) + #t))) (add-before 'build 'fix-dlopen-paths (lambda* (#:key inputs #:allow-other-keys) (let ((libaacs (assoc-ref inputs "libaacs")) @@ -1348,7 +1423,7 @@ players, like VLC or MPlayer.") (define-public libdvdread (package (name "libdvdread") - (version "5.0.3") + (version "6.0.0") (source (origin (method url-fetch) (uri (string-append "https://download.videolan.org/videolan/" @@ -1356,7 +1431,7 @@ players, like VLC or MPlayer.") name "-" version ".tar.bz2")) (sha256 (base32 - "0ayqiq0psq18rcp6f5pz82sxsq66v0kwv0y55dbrcg68plnxy71j")))) + "0dgr23fzcjhb7ck54xkr9zmf4jcq3ph0dz3fbyvla1c6ni9ijfxk")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--with-libdvdcss=yes"))) @@ -1404,7 +1479,7 @@ MPEG-2 stream containing VOB packets.") (define-public libdvdnav (package (name "libdvdnav") - (version "5.0.3") + (version "6.0.0") (source (origin (method url-fetch) (uri (string-append "https://download.videolan.org/videolan/" @@ -1412,7 +1487,7 @@ MPEG-2 stream containing VOB packets.") name "-" version ".tar.bz2")) (sha256 (base32 - "0v8byv5z598k06rqzdmj7739vc86xq3zf79zfr698dib7lz055sh")))) + "062njcksmpgw9yv3737qkf93r2pzhaxi9szqjabpa8d010dp38ph")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -1433,35 +1508,10 @@ DVD virtual machine and internal playback states are completely encapsulated.") (license license:gpl2+))) -(define-public libdvdnav-4 - (package - (inherit libdvdnav) - (version "4.2.1") - (source (origin - (method url-fetch) - (uri - (string-append - "https://download.videolan.org/videolan/libdvdnav/libdvdnav-" - version ".tar.xz")) - (sha256 - (base32 - "0wi3gy408c8xj0ism0hckv5jbfh3lg4pmgxv87gbch9jrhp2gjkz")))) - (native-inputs - `(("pkg-config" ,pkg-config) - ("autoconf" ,autoconf) - ("automake" ,automake) - ("libtool" ,libtool))) - (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'autoreconf - (lambda _ - (zero? (system* "autoreconf" "-vif"))))))))) - (define-public libdvdcss (package (name "libdvdcss") - (version "1.4.0") + (version "1.4.1") (source (origin (method url-fetch) (uri (string-append "https://download.videolan.org/pub/" @@ -1469,7 +1519,7 @@ encapsulated.") name "-" version ".tar.bz2")) (sha256 (base32 - "0nl45ifc4xcb196snv9d6hinfw614cqpzcqp92dg43c0hickg290")))) + "1b7awvyahivglp7qmgx2g5005kc5npv257gw7wxdprjsnx93f1zb")))) (build-system gnu-build-system) (home-page "https://www.videolan.org/developers/libdvdcss.html") (synopsis "Library for accessing DVDs as block devices") @@ -1700,30 +1750,38 @@ pixel motion compensation, lumi masking, trellis quantization, and H.263, MPEG and custom quantization matrices.") (license license:gpl2+))) -(define-public livestreamer +(define-public streamlink (package - (name "livestreamer") - (version "1.12.2") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/chrippa/livestreamer/archive/v" - version ".tar.gz")) - (file-name (string-append "livestreamer-" version ".tar.gz")) - (sha256 - (base32 - "1fp3d3z2grb1ls97smjkraazpxnvajda2d1g1378s6gzmda2jvjd")))) + (name "streamlink") + (version "0.10.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "streamlink" version)) + (sha256 + (base32 + "17299xnd9jzi7m1d2rr4xdlj47q64bzj2957nlsrhw0hskds1s6h")))) (build-system python-build-system) - (arguments - '(#:tests? #f)) ; tests rely on external web servers + (home-page "https://github.com/streamlink/streamlink") + (native-inputs + `(("python-pytest" ,python-pytest) + ("python-mock" ,python-mock) + ("python-requests-mock" ,python-requests-mock))) (propagated-inputs - `(("python-requests" ,python-requests))) - (synopsis "Internet video stream viewer") - (description "Livestreamer is a command-line utility that extracts streams -from various services and pipes them into a video playing application.") - (home-page "http://livestreamer.io/") + `(("python-pysocks" ,python-pysocks) + ("python-websocket-client" ,python-websocket-client) + ("python-iso3166" ,python-iso3166) + ("python-iso639" ,python-iso639) + ("python-pycryptodome" ,python-pycryptodome) + ("python-requests" ,python-requests))) + (synopsis "Extract streams from various services") + (description "Streamlink is command-line utility that extracts streams +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 mlt (package (name "mlt") @@ -1735,7 +1793,13 @@ from various services and pipes them into a video playing application.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "10m3ry0b2pvqx3bk34qh5dq337nn8pkc2gzfyhsj4nv9abskln47")))) + "10m3ry0b2pvqx3bk34qh5dq337nn8pkc2gzfyhsj4nv9abskln47")) + (modules '((guix build utils))) + (snippet '(begin + ;; As of glibc 2.26, no longer is. + (substitute* "src/framework/mlt_property.h" + (("xlocale\\.h") "locale.h")) + #t)))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no tests @@ -1921,7 +1985,8 @@ implementation.") "1x2ag1f2fwa4yh1g5spv99w9x1m33hbxlqwyhm205ssq0ra234bx")) (patches (search-patches "libvdpau-va-gl-unbundle.patch")) (modules '((guix build utils))) - (snippet '(delete-file-recursively "3rdparty")))) + (snippet '(begin (delete-file-recursively "3rdparty") + #t)))) (build-system cmake-build-system) (arguments '(#:tests? #f)) ; Tests require a running X11 server, with VA-API support. @@ -1975,7 +2040,7 @@ making @dfn{screencasts}.") (define-public simplescreenrecorder (package (name "simplescreenrecorder") - (version "0.3.8") + (version "0.3.10") (source (origin (method url-fetch) @@ -1984,8 +2049,8 @@ making @dfn{screencasts}.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0v8w35n8w772s08w7k0icynqdsdakbrcanbgx6j847bfqfsg21gg")))) - (build-system gnu-build-system) + "02rl9yyx3hlz9fqvgzv7ipmvx2qahj7ws5wx2m7zs3lssq3qag3g")))) + (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. ;; As a result, they are omitted. Please add them back if problems appear. @@ -1996,8 +2061,12 @@ making @dfn{screencasts}.") ("jack" ,jack-1) ("libxi" ,libxi) ("pulseaudio" ,pulseaudio) - ("qt" ,qt-4))) ; README.md: using Qt 5 causes some stability issues + ("qt" ,qt))) (native-inputs `(("pkg-config" ,pkg-config))) + (arguments + `(#:configure-flags + (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/") (synopsis "Screen recorder") @@ -2184,7 +2253,7 @@ supported players in addition to this package.") `(#:tests? #f ;tests require Ruby and claim to be unsupported #:phases (modify-phases %standard-phases - (add-before 'patch-source-shebangs 'bootstrap-gtk + (replace 'bootstrap ;; Run bootstrap ahead of time so that shebangs get patched. (lambda _ (setenv "CONFIG_SHELL" (which "sh")) @@ -2419,7 +2488,7 @@ many codecs and formats supported by libmediainfo.") (define-public livemedia-utils (package (name "livemedia-utils") - (version "2017.06.04") + (version "2017.10.28") (source (origin (method url-fetch) (uri (string-append @@ -2427,12 +2496,13 @@ many codecs and formats supported by libmediainfo.") version ".tar.gz")) (sha256 (base32 - "0xf3vynxqpxpd762zni0jkblnjlgbqxjx99m83m7gqx6zriph271")) + "0f5kxpayqn3yhabqrd2cqlc74i6x2xr01jfkank1lcilxnfyrsnq")) (modules '((guix build utils))) - (snippet - ;; As of glibc 2.26, no longer is. - '(substitute* "liveMedia/include/Locale.hh" - (("xlocale\\.h") "locale.h"))))) + (snippet '(begin + ;; As of glibc 2.26, no longer is. + (substitute* "liveMedia/include/Locale.hh" + (("xlocale\\.h") "locale.h")) + #t)))) (build-system gnu-build-system) (arguments '(#:tests? #f ; no tests @@ -2464,7 +2534,7 @@ RTSP or SIP clients and servers.") (define-public libdvbpsi (package (name "libdvbpsi") - (version "1.3.1") + (version "1.3.2") (source (origin (method url-fetch) (uri (string-append @@ -2472,7 +2542,7 @@ RTSP or SIP clients and servers.") version "/libdvbpsi-" version ".tar.bz2")) (sha256 (base32 - "0824r08kaspbrrg2dd5d46s475zb7j59brqkm2y6x3mdsnpng0yn")))) + "1zn5hfv4qbahmydbwh59a3b480s3m5ss27r6ml35gqdip7r3jkmc")))) (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 @@ -2486,10 +2556,10 @@ and ITU-T H.222.0.") (package (name "ffms2") (version "2.23") - (home-page "https://github.com/FFMS/ffms2/") + (home-page "https://github.com/FFMS/ffms2") (source (origin (method url-fetch) - (uri (string-append home-page "archive/" version ".tar.gz")) + (uri (string-append home-page "/archive/" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 @@ -2677,3 +2747,47 @@ It counts more than 100 plugins.") ;; src/filter/ndvi/ndvi.cpp ;; src/filter/facedetect/facedetect.cpp license:lgpl2.1+)))) + +(define-public motion + (package + (name "motion") + (version "4.1.1") + (home-page "https://motion-project.github.io/") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/Motion-Project/motion/archive/" + "release-" version ".tar.gz")) + (sha256 + (base32 + "1qm4i8zrqafl60sv2frhixvkd0wh0r5jfcrj5i6gha7yplsvjx10")) + (file-name (string-append name "-" version ".tar.gz")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf-wrapper) + ("automake" ,automake) + ("pkg-config" ,pkg-config))) + (inputs + `(("libjpeg" ,libjpeg) + ("ffmpeg" ,ffmpeg) + ("sqlite" ,sqlite))) + (arguments + '(#:phases (modify-phases %standard-phases + (replace 'bootstrap + (lambda _ + (patch-shebang "version.sh") + (invoke "autoreconf" "-vfi")))) + #:configure-flags '("--sysconfdir=/etc") + #:make-flags (list (string-append "sysconfdir=" + (assoc-ref %outputs "out") + "/etc")) + + #:tests? #f)) ;no 'check' target + (synopsis "Detect motion from video signals") + (description + "Motion is a program that monitors the video signal from one or more +cameras and is able to detect if a significant part of the picture has +changed. Or in other words, it can detect motion.") + + ;; Some files say "version 2" and others "version 2 or later". + (license license:gpl2)))