gnu: Add tint2.
[jackhill/guix/guix.git] / gnu / packages / video.scm
CommitLineData
39efcc9b 1;;; GNU Guix --- Functional package management for GNU
71ee51a0 2;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr>
945d985a 3;;; Copyright © 2014, 2015, 2016 David Thompson <davet@gnu.org>
ca3f9952 4;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
cda163cd 5;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
26da7c26 6;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
12f92e38 7;;; Copyright © 2015 Andy Patterson <ajpatter@uwaterloo.ca>
307ad140 8;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
2ad9515c 9;;; Copyright © 2015 Alex Vong <alexvong1995@gmail.com>
6cf83e3f 10;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
d8841cc5 11;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org>
39efcc9b
AE
12;;;
13;;; This file is part of GNU Guix.
14;;;
15;;; GNU Guix is free software; you can redistribute it and/or modify it
16;;; under the terms of the GNU General Public License as published by
17;;; the Free Software Foundation; either version 3 of the License, or (at
18;;; your option) any later version.
19;;;
20;;; GNU Guix is distributed in the hope that it will be useful, but
21;;; WITHOUT ANY WARRANTY; without even the implied warranty of
22;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23;;; GNU General Public License for more details.
24;;;
25;;; You should have received a copy of the GNU General Public License
26;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
27
28(define-module (gnu packages video)
fe138965 29 #:use-module (ice-9 match)
08858812
EF
30 #:use-module (srfi srfi-1)
31 #:use-module (srfi srfi-26)
ae0bdd81 32 #:use-module ((guix licenses) #:prefix license:)
e930c2a3 33 #:use-module (guix utils)
39efcc9b
AE
34 #:use-module (guix packages)
35 #:use-module (guix download)
38829eac 36 #:use-module (guix git-download)
d8841cc5 37 #:use-module (guix svn-download)
44726031 38 #:use-module (guix build-system cmake)
39efcc9b 39 #:use-module (guix build-system gnu)
0e74bb5b 40 #:use-module (guix build-system glib-or-gtk)
615215a5 41 #:use-module (guix build-system python)
1c1178cd 42 #:use-module (guix build-system waf)
3b02429c 43 #:use-module (gnu packages)
39efcc9b 44 #:use-module (gnu packages algebra)
72bfebf5 45 #:use-module (gnu packages audio)
f1044010 46 #:use-module (gnu packages autotools)
d5a748e8 47 #:use-module (gnu packages avahi)
38829eac 48 #:use-module (gnu packages base)
d5a748e8 49 #:use-module (gnu packages cdrom)
39efcc9b 50 #:use-module (gnu packages compression)
f464016d 51 #:use-module (gnu packages curl)
44726031 52 #:use-module (gnu packages databases)
f22e0e26 53 #:use-module (gnu packages elf)
39efcc9b 54 #:use-module (gnu packages fontutils)
44726031
AE
55 #:use-module (gnu packages fribidi)
56 #:use-module (gnu packages gettext)
38829eac 57 #:use-module (gnu packages ghostscript)
d5a748e8
AE
58 #:use-module (gnu packages gl)
59 #:use-module (gnu packages glib)
2cd85cf9 60 #:use-module (gnu packages guile)
d5a748e8 61 #:use-module (gnu packages gnupg)
44726031 62 #:use-module (gnu packages gtk)
e55354b8 63 #:use-module (gnu packages image)
d5a748e8
AE
64 #:use-module (gnu packages linux)
65 #:use-module (gnu packages lua)
66 #:use-module (gnu packages mp3)
4d94b93c 67 #:use-module (gnu packages ncurses)
6f6c8b65 68 #:use-module (gnu packages ocr)
39efcc9b
AE
69 #:use-module (gnu packages perl)
70 #:use-module (gnu packages pkg-config)
a7d94b54 71 #:use-module (gnu packages popt)
d5a748e8 72 #:use-module (gnu packages pulseaudio)
39efcc9b 73 #:use-module (gnu packages python)
d5a748e8
AE
74 #:use-module (gnu packages qt)
75 #:use-module (gnu packages sdl)
76 #:use-module (gnu packages ssh)
6b2c6be0 77 #:use-module (gnu packages texinfo)
c426e61e 78 #:use-module (gnu packages textutils)
a7fd7b68 79 #:use-module (gnu packages tls)
d5a748e8 80 #:use-module (gnu packages version-control)
bb470bd3 81 #:use-module (gnu packages web)
ee3b55ea 82 #:use-module (gnu packages xdisorg)
54ff0b7d 83 #:use-module (gnu packages xiph)
d5a748e8
AE
84 #:use-module (gnu packages xml)
85 #:use-module (gnu packages xorg)
01497dfe 86 #:use-module (gnu packages assembly)
44726031 87 #:use-module (gnu packages zip))
39efcc9b 88
6b2c6be0
SB
89(define-public aalib
90 (package
91 (name "aalib")
92 (version "1.4rc5")
93 (source (origin
94 (method url-fetch)
de67e922
LF
95 (uri (string-append "mirror://sourceforge/aa-project/aa-lib/"
96 version "/" name "-" version ".tar.gz"))
6b2c6be0
SB
97 (sha256
98 (base32
99 "1vkh19gb76agvh4h87ysbrgy82hrw88lnsvhynjf4vng629dmpgv"))))
100 (build-system gnu-build-system)
101 (native-inputs
102 `(("makeinfo" ,texinfo)))
103 (inputs
104 `(("ncurses" ,ncurses)))
105 (arguments
106 '(#:phases
107 (modify-phases %standard-phases
3a4de6b2 108 (replace 'configure
014cbde6 109 (lambda* (#:key build inputs outputs #:allow-other-keys)
6b2c6be0
SB
110 ;; This old `configure' script doesn't support
111 ;; variables passed as arguments.
112 (let ((out (assoc-ref outputs "out"))
113 (ncurses (assoc-ref inputs "ncurses")))
114 (setenv "CONFIG_SHELL" (which "bash"))
115 (zero? (system* "./configure"
116 (string-append "--prefix=" out)
014cbde6 117 (string-append "--build=" build)
6b2c6be0
SB
118 (string-append "--with-ncurses="
119 ncurses)))))))))
120 (home-page "http://aa-project.sourceforge.net/aalib/")
121 (synopsis "ASCII-art library")
122 (description
123 "AA-lib is a low level gfx library which does not require graphics device.
124In fact, there is no graphical output possible. AA-lib replaces those
125old-fashioned output methods with powerful ascii-art renderer.")
126 (license license:lgpl2.0+)))
127
cda163cd
TUBK
128(define-public liba52
129 (package
130 (name "liba52")
131 (version "0.7.4")
132 (source (origin
133 (method url-fetch)
8c056935
TUBK
134 (uri (string-append
135 ;; A mirror://sourceforge URI doesn't work, presumably
136 ;; because the SourceForge project is misconfigured.
137 "http://liba52.sourceforge.net/files/a52dec-" version
138 ".tar.gz"))
cda163cd
TUBK
139 (sha256
140 (base32
23da88f6 141 "0czccp4fcpf2ykp16xcrzdfmnircz1ynhls334q374xknd5747d2"))
fc1adab1
AK
142 (patches (search-patches "liba52-enable-pic.patch"
143 "liba52-set-soname.patch"
144 "liba52-use-mtune-not-mcpu.patch"
145 "liba52-link-with-libm.patch"))))
cda163cd 146 (build-system gnu-build-system)
23da88f6
MW
147 ;; XXX We need to run ./bootstrap because of the build system fixes above.
148 (native-inputs
149 `(("autoconf" ,autoconf)
150 ("automake" ,automake)
151 ("libtool" ,libtool)))
412a2422 152 (arguments `(#:configure-flags '("--enable-shared")
23da88f6
MW
153 #:phases
154 (modify-phases %standard-phases
155 ;; XXX We need to run ./bootstrap because of the build
156 ;; system fixes above.
157 (add-after
158 'unpack 'bootstrap
159 (lambda _ (zero? (system* "sh" "bootstrap")))))))
cda163cd
TUBK
160 (home-page "http://liba52.sourceforge.net/")
161 (synopsis "ATSC A/52 stream decoder")
162 (description "liba52 is a library for decoding ATSC A/52 streams. The
163A/52 standard is used in a variety of applications, including digital
164television and DVD. It is also known as AC-3.")
ae0bdd81 165 (license license:gpl2+)))
cda163cd 166
e0884109
MW
167(define-public libmpeg2
168 (package
169 (name "libmpeg2")
170 (version "0.5.1")
171 (source (origin
172 (method url-fetch)
173 ;; A mirror://sourceforge URI doesn't work, presumably
174 ;; because the SourceForge project is misconfigured.
175 (uri (string-append "http://libmpeg2.sourceforge.net/files/"
176 name "-" version ".tar.gz"))
177 (sha256
178 (base32
179 "1m3i322n2fwgrvbs1yck7g5md1dbg22bhq5xdqmjpz5m7j4jxqny"))))
180 (inputs
181 `(("libx11" ,libx11)
182 ("libxext" ,libxext)
183 ("libxv" ,libxv)
184 ("libsm" ,libsm)
185 ("libice" ,libice)
186 ("sdl" ,sdl)))
187 (build-system gnu-build-system)
188 (home-page "http://libmpeg2.sourceforge.net/")
189 (synopsis "MPEG1 and MPEG2 video decoder library")
190 (description
191 "libmpeg2 is a library which can decode MPEG1 and MPEG2 video streams.")
192 (license license:gpl2+)))
193
82712597
MW
194(define-public libx264
195 (package
196 (name "libx264")
466a7d70 197 (version "20160220-2245")
82712597
MW
198 (source (origin
199 (method url-fetch)
735e84c7 200 (uri (string-append "http://download.videolan.org/pub/x264/snapshots/"
82712597
MW
201 "x264-snapshot-" version ".tar.bz2"))
202 (sha256
203 (base32
466a7d70 204 "12zyzbiihfhamf7yi4qqaj6k0nisnrydvfr36kxadvmsm7dg4sj3"))))
82712597
MW
205 (build-system gnu-build-system)
206 (native-inputs
207 `(("pkg-config" ,pkg-config)
208 ("yasm" ,yasm)))
209 ;; TODO: Add gpac input
210 (arguments
211 `(#:tests? #f ;no check target
212 #:configure-flags '("--enable-shared"
213 ;; Don't build the command-line program. If we
214 ;; want it later, we should do so in a different
215 ;; package to avoid a circular dependency (the x264
216 ;; program depends on ffmpeg and ffmpeg depends on
217 ;; libx264).
218 "--disable-cli")))
219 (home-page "http://www.videolan.org/developers/x264.html")
220 (synopsis "H.264 video coding library")
221 (description "libx264 is an advanced encoding library for creating
222H.264 (MPEG-4 AVC) video streams.")
223 (license (list license:gpl2+ ;most files
224 license:isc ;common/x86/x86inc.asm
225 license:lgpl2.1+ ;extras/getopt.c
226 license:bsd-3 ;extras/inttypes.h
227 (license:non-copyleft ;extras/cl*.h
228 "file://extras/cl.h"
229 "See extras/cl.h in the distribution.")))))
230
c426e61e
TUBK
231(define-public libass
232 (package
233 (name "libass")
97206519 234 (version "0.13.2")
c426e61e
TUBK
235 (source (origin
236 (method url-fetch)
237 (uri (string-append
238 "https://github.com/libass/libass/releases/download/"
239 version "/libass-" version ".tar.xz"))
240 (sha256
241 (base32
97206519 242 "1kpsw4zw95v4cjvild9wpk73dzavn1khsm3bm32kcz6amnkd166n"))))
c426e61e
TUBK
243 (build-system gnu-build-system)
244 (native-inputs
245 `(("pkg-config" ,pkg-config)
246 ("yasm" ,yasm)))
247 (propagated-inputs
248 `(("freetype" ,freetype)
249 ("fribidi" ,fribidi)
250 ("fontconfig" ,fontconfig)
251 ("harfbuzz" ,harfbuzz)
252 ("enca" ,enca)))
253 (home-page "https://github.com/libass/libass")
254 (synopsis "Subtitle rendering library for the ASS/SSA format")
255 (description "libass is a subtitle rendering library for the
256ASS/SSA (Advanced Substation Alpha/SubStation Alpha) subtitle format.")
ae0bdd81 257 (license license:isc)))
c426e61e 258
4d94b93c
TUBK
259(define-public libcaca
260 (package
261 (name "libcaca")
262 (version "0.99.beta19")
263 (source (origin
264 (method url-fetch)
265 (uri (string-append "http://caca.zoy.org/files/libcaca/libcaca-"
266 version ".tar.gz"))
267 (sha256
268 (base32
269 "1x3j6yfyxl52adgnabycr0n38j9hx2j74la0hz0n8cnh9ry4d2qj"))))
270 (build-system gnu-build-system)
271 (native-inputs `(("pkg-config" ,pkg-config)))
272 (inputs
273 `(("freeglut" ,freeglut)
274 ("ftgl" ,ftgl)
275 ("libx11" ,libx11)
276 ("mesa" ,mesa)
277 ("ncurses" ,ncurses)
278 ("zlib" ,zlib)))
279 (home-page "http://caca.zoy.org/wiki/libcaca")
280 (synopsis "Colour ASCII-art library")
281 (description "libcaca is a graphics library that outputs text instead of
282pixels, so that it can work on older video cards or text terminals. It
283supports Unicode, 2048 colors, dithering of color images, and advanced text
284canvas operations.")
ae0bdd81 285 (license (license:fsf-free "file://COPYING")))) ;WTFPL version 2
4d94b93c 286
3bfb78dc
TUBK
287(define-public libdca
288 (package
289 (name "libdca")
290 (version "0.0.5")
291 (source (origin
292 (method url-fetch)
293 (uri (string-append
294 "http://download.videolan.org/pub/videolan/libdca/"
295 version "/libdca-" version ".tar.bz2"))
296 (sha256
297 (base32
298 "0hh6a7l8vvccsd5i1fkv9av2gzv9fy8m0b8jpsn5p6hh4bh2586v"))))
299 (build-system gnu-build-system)
300 (home-page "http://www.videolan.org/developers/libdca.html")
301 (synopsis "DTS Coherent Acoustics decoder")
302 (description "libdca is a library for decoding DTS Coherent Acoustics
303streams.")
ae0bdd81 304 (license license:gpl2+)))
3bfb78dc 305
99d4c455
TUBK
306(define-public libdv
307 (package
308 (name "libdv")
309 (version "1.0.0")
310 (source (origin
311 (method url-fetch)
312 (uri (string-append
de67e922
LF
313 "mirror://sourceforge/" name "/" name "/"
314 version "/" name "-" version ".tar.gz"))
99d4c455
TUBK
315 (sha256
316 (base32
317 "1fl96f2xh2slkv1i1ix7kqk576a0ak1d33cylm0mbhm96d0761d3"))))
318 (build-system gnu-build-system)
319 (native-inputs `(("pkg-config" ,pkg-config)))
320 (inputs `(("libxv" ,libxv)))
321 (home-page "http://libdv.sourceforge.net/")
322 (synopsis "DV video (IEC 61834 and SMPTE 314M) codec")
323 (description "The Quasar DV codec (libdv) is a software codec for DV
324video, the encoding format used by most digital camcorders, typically those
325that support the IEEE 1394 (a.k.a. FireWire or i.Link) interface. Libdv was
326developed according to the official standards for DV video: IEC 61834 and
327SMPTE 314M.")
ae0bdd81 328 (license license:lgpl2.1+)))
99d4c455 329
ee3b55ea
TUBK
330(define-public libva
331 (package
332 (name "libva")
5c1c2254 333 (version "1.7.0")
ee3b55ea
TUBK
334 (source
335 (origin
336 (method url-fetch)
337 (uri (string-append
5cc3096c 338 "https://www.freedesktop.org/software/vaapi/releases/libva/libva-"
ee3b55ea
TUBK
339 version".tar.bz2"))
340 (sha256
5c1c2254 341 (base32 "0py9igf4kicj7ji22bjawkpd6my013qpg0s4ir2np9l1rk5vr2d6"))))
ee3b55ea
TUBK
342 (build-system gnu-build-system)
343 (native-inputs
344 `(("pkg-config" ,pkg-config)))
345 (inputs
346 `(("libdrm" ,libdrm)
347 ("libx11" ,libx11)
348 ("libxext" ,libxext)
349 ("libxfixes" ,libxfixes)
350 ("mesa" ,mesa)))
372cf039
TUBK
351 (arguments
352 `(#:phases
353 (modify-phases %standard-phases
354 (add-before
355 'build 'fix-dlopen-paths
356 (lambda* (#:key outputs #:allow-other-keys)
357 (let ((out (assoc-ref outputs "out")))
358 (substitute* "va/drm/va_drm_auth_x11.c"
359 (("\"libva-x11\\.so\\.%d\"")
360 (string-append "\"" out "/lib/libva-x11.so.%d\"")))))))
361 ;; Most drivers are in mesa's $prefix/lib/dri, so use that. (Can be
362 ;; overridden at run-time via LIBVA_DRIVERS_PATH.)
363 #:configure-flags
364 (list (string-append "--with-drivers-path="
365 (assoc-ref %build-inputs "mesa") "/lib/dri"))
366 ;; However, we can't write to mesa's store directory, so override the
367 ;; following make variable to install the dummy driver to libva's
368 ;; $prefix/lib/dri directory.
369 #:make-flags
370 (list (string-append "dummy_drv_video_ladir="
371 (assoc-ref %outputs "out") "/lib/dri"))))
5c1c2254 372 (home-page "https://www.freedesktop.org/wiki/Software/vaapi/")
ee3b55ea
TUBK
373 (synopsis "Video acceleration library")
374 (description "The main motivation for VA-API (Video Acceleration API) is
375to enable hardware accelerated video decode/encode at various
376entry-points (VLD, IDCT, Motion Compensation etc.) for prevailing coding
377standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).")
ae0bdd81 378 (license license:expat)))
ee3b55ea 379
39efcc9b
AE
380(define-public ffmpeg
381 (package
382 (name "ffmpeg")
8ffa5a57 383 (version "3.1.1")
39efcc9b
AE
384 (source (origin
385 (method url-fetch)
a1121a7f
EF
386 (uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
387 version ".tar.xz"))
39efcc9b
AE
388 (sha256
389 (base32
8ffa5a57 390 "1nris3flwqd4v4b65yrrv9aqhsab7cb9lfp4wpxz6bi0m3r13g3i"))))
39efcc9b
AE
391 (build-system gnu-build-system)
392 (inputs
c4c4cc05 393 `(("fontconfig" ,fontconfig)
39efcc9b 394 ("freetype" ,freetype)
c8dab7f4 395 ("gnutls" ,gnutls)
e816b348 396 ("opus" ,opus)
71241192 397 ("ladspa" ,ladspa)
d4f12db8 398 ("lame" ,lame)
c426e61e 399 ("libass" ,libass)
5d3609e4 400 ("libbluray" ,libbluray)
4d94b93c 401 ("libcaca" ,libcaca)
cc6c0170 402 ("libcdio-paranoia" ,libcdio-paranoia)
39efcc9b 403 ("libtheora" ,libtheora)
f88f0d20 404 ("libvdpau" ,libvdpau)
39efcc9b 405 ("libvorbis" ,libvorbis)
dc55b8b2 406 ("libvpx" ,libvpx)
f88f0d20 407 ("libx11" ,libx11)
549381d6 408 ("libx264" ,libx264)
f88f0d20 409 ("mesa" ,mesa)
71241192 410 ("openal" ,openal)
71241192 411 ("pulseaudio" ,pulseaudio)
72bfebf5 412 ("soxr" ,soxr)
c4c4cc05 413 ("speex" ,speex)
72bfebf5 414 ("twolame" ,twolame)
67932f86 415 ("xvid" ,xvid)
b3546174 416 ("zlib" ,zlib)))
c4c4cc05
JD
417 (native-inputs
418 `(("bc" ,bc)
39efcc9b
AE
419 ("perl" ,perl)
420 ("pkg-config" ,pkg-config)
824d9dc3 421 ("texinfo" ,texinfo)
39efcc9b
AE
422 ("python" ,python-2) ; scripts use interpreter python2
423 ("speex" ,speex)
c4c4cc05 424 ("yasm" ,yasm)))
39efcc9b 425 (arguments
31f9322e 426 `(#:test-target "fate"
12f92e38
AP
427 #:configure-flags
428 ;; possible additional inputs:
429 ;; --enable-avisynth enable reading of AviSynth script
430 ;; files [no]
431 ;; --enable-frei0r enable frei0r video filtering
432 ;; --enable-libaacplus enable AAC+ encoding via libaacplus [no]
433 ;; --enable-libcelt enable CELT decoding via libcelt [no]
434 ;; --enable-libdc1394 enable IIDC-1394 grabbing using libdc1394
435 ;; and libraw1394 [no]
436 ;; --enable-libfaac enable AAC encoding via libfaac [no]
437 ;; --enable-libfdk-aac enable AAC de/encoding via libfdk-aac [no]
438 ;; --enable-libflite enable flite (voice synthesis) support via
439 ;; libflite [no]
440 ;; --enable-libgme enable Game Music Emu via libgme [no]
441 ;; --enable-libgsm enable GSM de/encoding via libgsm [no]
442 ;; --enable-libiec61883 enable iec61883 via libiec61883 [no]
443 ;; --enable-libilbc enable iLBC de/encoding via libilbc [no]
444 ;; --enable-libmodplug enable ModPlug via libmodplug [no]
445 ;; --enable-libnut enable NUT (de)muxing via libnut,
446 ;; native (de)muxer exists [no]
447 ;; --enable-libopencore-amrnb enable AMR-NB de/encoding via
448 ;; libopencore-amrnb [no]
449 ;; --enable-libopencore-amrwb enable AMR-WB decoding via
450 ;; libopencore-amrwb [no]
451 ;; --enable-libopencv enable video filtering via libopencv [no]
452 ;; --enable-libopenjpeg enable JPEG 2000 de/encoding via
453 ;; OpenJPEG [no]
454 ;; --enable-librtmp enable RTMP[E] support via librtmp [no]
455 ;; --enable-libschroedinger enable Dirac de/encoding via
456 ;; libschroedinger [no]
457 ;; --enable-libshine enable fixed-point MP3 encoding via
458 ;; libshine [no]
459 ;; --enable-libssh enable SFTP protocol via libssh [no]
460 ;; (libssh2 does not work)
461 ;; --enable-libstagefright-h264 enable H.264 decoding via
462 ;; libstagefright [no]
463 ;; --enable-libutvideo enable Ut Video encoding and decoding via
464 ;; libutvideo [no]
465 ;; --enable-libv4l2 enable libv4l2/v4l-utils [no]
466 ;; --enable-libvidstab enable video stabilization using
467 ;; vid.stab [no]
468 ;; --enable-libvo-aacenc enable AAC encoding via libvo-aacenc [no]
469 ;; --enable-libvo-amrwbenc enable AMR-WB encoding via
470 ;; libvo-amrwbenc [no]
471 ;; --enable-libwavpack enable wavpack encoding via libwavpack [no]
472 ;; --enable-libxavs enable AVS encoding via xavs [no]
473 ;; --enable-libzmq enable message passing via libzmq [no]
474 ;; --enable-libzvbi enable teletext support via libzvbi [no]
475 ;; --enable-opencl enable OpenCL code
12f92e38
AP
476 '("--enable-avresample"
477 "--enable-gpl" ; enable optional gpl licensed parts
478 "--enable-shared"
479 "--enable-fontconfig"
c8dab7f4 480 "--enable-gnutls"
12f92e38
AP
481 "--enable-ladspa"
482 "--enable-libass"
483 "--enable-libbluray"
484 "--enable-libcaca"
485 "--enable-libcdio"
486 "--enable-libfreetype"
487 "--enable-libmp3lame"
488 "--enable-libopus"
489 "--enable-libpulse"
12f92e38
AP
490 "--enable-libsoxr"
491 "--enable-libspeex"
492 "--enable-libtheora"
493 "--enable-libtwolame"
494 "--enable-libvorbis"
495 "--enable-libvpx"
496 "--enable-libxvid"
497 "--enable-libx264"
498 "--enable-openal"
f88f0d20
EF
499 "--enable-opengl"
500 "--enable-x11grab"
12f92e38
AP
501
502 "--enable-runtime-cpudetect"
503
504 ;; Runtime cpu detection is not implemented on
505 ;; MIPS, so we disable some features.
506 "--disable-mips32r2"
c5e1fcd0 507 "--disable-mipsdsp"
12f92e38
AP
508 "--disable-mipsdspr2"
509 "--disable-mipsfpu")
31f9322e 510 #:phases
f2feb0ce
LC
511 (modify-phases %standard-phases
512 (replace
39efcc9b
AE
513 'configure
514 ;; configure does not work followed by "SHELL=..." and
515 ;; "CONFIG_SHELL=..."; set environment variables instead
516 (lambda* (#:key outputs configure-flags #:allow-other-keys)
517 (let ((out (assoc-ref outputs "out")))
518 (substitute* "configure"
519 (("#! /bin/sh") (string-append "#!" (which "bash"))))
520 (setenv "SHELL" (which "bash"))
521 (setenv "CONFIG_SHELL" (which "bash"))
12f92e38
AP
522 (zero? (apply system*
523 "./configure"
524 (string-append "--prefix=" out)
525 ;; Add $libdir to the RUNPATH of all the binaries.
526 (string-append "--extra-ldflags=-Wl,-rpath="
527 out "/lib")
528 configure-flags)))))
457e528e
LC
529 (add-before
530 'check 'set-ld-library-path
531 (lambda _
532 ;; Allow $(top_builddir)/ffmpeg to find its dependencies when
533 ;; running tests.
534 (let* ((dso (find-files "." "\\.so$"))
535 (path (string-join (map dirname dso) ":")))
536 (format #t "setting LD_LIBRARY_PATH to ~s~%" path)
537 (setenv "LD_LIBRARY_PATH" path)
27350ef8 538 #t))))))
702bfbf1 539 (home-page "https://www.ffmpeg.org/")
39efcc9b
AE
540 (synopsis "Audio and video framework")
541 (description "FFmpeg is a complete, cross-platform solution to record,
542convert and stream audio and video. It includes the libavcodec
543audio/video codec library.")
ae0bdd81 544 (license license:gpl2+)))
d5a748e8 545
940778c7
LC
546(define-public ffmpeg-2.8
547 (package
548 (inherit ffmpeg)
fbb060fe 549 (version "2.8.7")
940778c7
LC
550 (source (origin
551 (method url-fetch)
552 (uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
553 version ".tar.xz"))
554 (sha256
555 (base32
fbb060fe 556 "0z0mcj2q3ysp9qdn1ks03g5sn2zxyr06vxs4al0m4b5b3in8mglp"))))
940778c7
LC
557 (arguments
558 (substitute-keyword-arguments (package-arguments ffmpeg)
559 ((#:configure-flags flags)
560 `(map (lambda (flag)
561 (if (string=? flag "--disable-mipsdsp")
562 "--disable-mipsdspr1"
563 flag))
564 ,flags))))))
565
d5a748e8
AE
566(define-public vlc
567 (package
568 (name "vlc")
a134cc8e 569 (version "2.2.4")
d5a748e8
AE
570 (source (origin
571 (method url-fetch)
572 (uri (string-append
a134cc8e 573 "https://download.videolan.org/pub/videolan/vlc/"
d5a748e8
AE
574 version "/vlc-" version ".tar.xz"))
575 (sha256
576 (base32
a134cc8e 577 "1gjkrwlg8ab3skzl67cxb9qzg4187ifckd1z9kpy11q058fyjchn"))
4ef2721b
LC
578 (modules '((guix build utils)))
579 (snippet
580 ;; There are two occurrences where __DATE__ and __TIME__ are
581 ;; used to capture the build time and show it to the user.
582 '(substitute* (find-files "." "help\\.c(pp)?$")
583 (("__DATE__") "\"2016\"")
584 (("__TIME__") "\"00:00\"")))))
d5a748e8
AE
585 (build-system gnu-build-system)
586 (native-inputs
587 `(("git" ,git) ; needed for a test
588 ("pkg-config" ,pkg-config)))
589 ;; FIXME: Add optional inputs once available.
590 (inputs
591 `(("alsa-lib" ,alsa-lib)
592 ("avahi" ,avahi)
593 ("dbus" ,dbus)
594 ("flac" ,flac)
b4dff935 595 ("ffmpeg" ,ffmpeg-2.8) ;fails to build against ffmpeg 3.0
d5a748e8
AE
596 ("fontconfig" ,fontconfig)
597 ("freetype" ,freetype)
598 ("gnutls" ,gnutls)
599 ("libcddb" ,libcddb)
600 ("libgcrypt" ,libgcrypt)
601 ("libkate" ,libkate)
602 ("libmad" ,libmad)
603 ("libogg" ,libogg)
604 ("libpng" ,libpng)
605 ("libsamplerate" ,libsamplerate)
606 ("libssh2" ,libssh2)
607 ("libvorbis" ,libvorbis)
608 ("libtheora" ,libtheora)
609 ("libxext" ,libxext)
610 ("libxinerama" ,libxinerama)
611 ("libxml2" ,libxml2)
612 ("libxpm" ,libxpm)
613 ("lua" ,lua-5.1)
614 ("mesa" ,mesa)
615 ("opus" ,opus)
616 ("perl" ,perl)
617 ("pulseaudio" ,pulseaudio)
618 ("python" ,python-wrapper)
a134cc8e
EF
619 ("qtbase" ,qtbase)
620 ;("qtx11extras" ,qtx11extras)
d5a748e8
AE
621 ("sdl" ,sdl)
622 ("sdl-image" ,sdl-image)
623 ("speex" ,speex)
624 ("xcb-util-keysyms" ,xcb-util-keysyms)))
625 (arguments
626 `(#:configure-flags
627 `("--disable-a52" ; FIXME: reenable once available
c6b3dc69
LC
628
629 ;; Gross workaround for <https://trac.videolan.org/vlc/ticket/16907>.
630 ;; In our case, this led to a test failure:
631 ;; test_libvlc_equalizer: libvlc/equalizer.c:122: test_equalizer: Assertion `isnan(libvlc_audio_equalizer_get_amp_at_index (equalizer, u_bands))' failed.
632 "ac_cv_c_fast_math=no"
633
d5a748e8
AE
634 ,(string-append "LDFLAGS=-Wl,-rpath -Wl,"
635 (assoc-ref %build-inputs "ffmpeg")
cd76fbde
LC
636 "/lib")) ;needed for the tests
637
638 #:phases
639 (modify-phases %standard-phases
a134cc8e
EF
640 (add-before 'configure 'remove-visual-tests
641 ;; Some of the tests require using the display to test out VLC,
642 ;; which fails in our sandboxed build system
643 (lambda _
644 (substitute* "test/run_vlc.sh"
645 (("./vlc --ignore-config") "echo"))
646 #t))
cd76fbde
LC
647 (add-after 'install 'regenerate-plugin-cache
648 (lambda* (#:key outputs #:allow-other-keys)
649 ;; The 'install-exec-hook' rule in the top-level Makefile.am
650 ;; generates 'lib/vlc/plugins/plugins.dat', a plugin cache, using
651 ;; 'vlc-cache-gen'. This file includes the mtime of the plugins
652 ;; it references. Thus, we first reset the timestamps of all
653 ;; these files, and then regenerate the cache such that the
654 ;; mtimes it includes are always zero instead of being dependent
655 ;; on the build time.
656 (let* ((out (assoc-ref outputs "out"))
657 (pkglibdir (string-append out "/lib/vlc"))
658 (plugindir (string-append pkglibdir "/plugins"))
659 (cachegen (string-append pkglibdir "/vlc-cache-gen")))
660 ;; TODO: Factorize 'reset-timestamps'.
661 (for-each (lambda (file)
662 (let ((s (lstat file)))
663 (unless (eq? (stat:type s) 'symlink)
664 (utime file 0 0 0 0))))
665 (find-files plugindir))
666 (zero? (system* cachegen plugindir))))))))
d5a748e8
AE
667 (home-page "https://www.videolan.org/")
668 (synopsis "Audio and video framework")
669 (description "VLC is a cross-platform multimedia player and framework
670that plays most multimedia files as well as DVD, Audio CD, VCD, and various
671treaming protocols.")
ae0bdd81 672 (license license:gpl2+)))
ace69243
AE
673
674(define-public mplayer
675 (package
676 (name "mplayer")
e71b20e5 677 (version "1.3.0")
ace69243
AE
678 (source (origin
679 (method url-fetch)
680 (uri (string-append
ebde7c7a 681 "https://www.mplayerhq.hu/MPlayer/releases/MPlayer-"
ace69243
AE
682 version ".tar.xz"))
683 (sha256
684 (base32
e71b20e5 685 "0hwqn04bdknb2ic88xd75smffxx63scvz0zvwvjb56nqj9n89l1s"))))
ace69243
AE
686 (build-system gnu-build-system)
687 ;; FIXME: Add additional inputs once available.
688 (native-inputs
689 `(("pkg-config" ,pkg-config)))
690 (inputs
691 `(("alsa-lib" ,alsa-lib)
692 ("cdparanoia" ,cdparanoia)
b3546174 693 ("ffmpeg" ,ffmpeg)
778a6a8b 694 ("fontconfig" ,fontconfig)
ace69243 695 ("freetype" ,freetype)
778a6a8b 696;; ("giflib" ,giflib) ; uses QuantizeBuffer, requires version >= 5
ace69243 697 ("lame" ,lame)
778a6a8b 698 ("libass" ,libass)
b3546174
MW
699 ("libdvdcss" ,libdvdcss)
700 ("libdvdnav" ,libdvdnav)
ace69243 701 ("libjpeg" ,libjpeg)
778a6a8b
EF
702 ("libmpeg2" ,libmpeg2)
703 ("libmpg123" ,mpg123) ; audio codec for MP3
ace69243
AE
704 ("libpng" ,libpng)
705 ("libtheora" ,libtheora)
778a6a8b 706 ("libvdpau" ,libvdpau)
ace69243
AE
707 ("libvorbis" ,libvorbis)
708 ("libx11" ,libx11)
778a6a8b 709 ("libx264" ,libx264)
ace69243
AE
710 ("libxinerama" ,libxinerama)
711 ("libxv" ,libxv)
778a6a8b 712 ("libxxf86dga" ,libxxf86dga)
ace69243 713 ("mesa" ,mesa)
778a6a8b 714 ("opus" ,opus)
ace69243
AE
715 ("perl" ,perl)
716 ("pulseaudio" ,pulseaudio)
717 ("python" ,python-wrapper)
718 ("sdl" ,sdl)
719 ("speex" ,speex)
720 ("yasm" ,yasm)
721 ("zlib" ,zlib)))
722 (arguments
723 `(#:tests? #f ; no test target
724 #:phases
ebde7c7a
EF
725 (modify-phases %standard-phases
726 (replace 'configure
ace69243
AE
727 ;; configure does not work followed by "SHELL=..." and
728 ;; "CONFIG_SHELL=..."; set environment variables instead
729 (lambda* (#:key inputs outputs #:allow-other-keys)
730 (let ((out (assoc-ref outputs "out"))
731 (libx11 (assoc-ref inputs "libx11")))
732 (substitute* "configure"
733 (("#! /bin/sh") (string-append "#!" (which "bash"))))
734 (setenv "SHELL" (which "bash"))
735 (setenv "CONFIG_SHELL" (which "bash"))
736 (zero? (system*
737 "./configure"
738 (string-append "--extra-cflags=-I"
739 libx11 "/include") ; to detect libx11
ebde7c7a 740 "--disable-ffmpeg_a" ; disables bundled ffmpeg
ace69243 741 (string-append "--prefix=" out)
fe138965
MW
742 ;; Enable runtime cpu detection where supported,
743 ;; and choose a suitable target.
744 ,@(match (or (%current-target-system)
745 (%current-system))
746 ("x86_64-linux"
747 '("--enable-runtime-cpudetection"
748 "--target=x86_64-linux"))
749 ("i686-linux"
750 '("--enable-runtime-cpudetection"
751 "--target=i686-linux"))
752 ("mips64el-linux"
f0d6d835
MW
753 '("--target=mips3-linux"))
754 (_ (list (string-append
755 "--target="
756 (or (%current-target-system)
757 (nix-system->gnu-triplet
758 (%current-system)))))))
ebde7c7a
EF
759 "--disable-iwmmxt"))))))))
760 (home-page "https://www.mplayerhq.hu/design7/news.html")
ace69243
AE
761 (synopsis "Audio and video player")
762 (description "MPlayer is a movie player. It plays most MPEG/VOB, AVI,
763Ogg/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, RealMedia, Matroska, NUT,
764NuppelVideo, FLI, YUV4MPEG, FILM, RoQ, PVA files. One can watch VideoCD,
765SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
ae0bdd81 766 (license license:gpl2)))
d0ed39be 767
1c1178cd
TUBK
768(define-public mpv
769 (package
770 (name "mpv")
01497dfe 771 (version "0.18.0")
1c1178cd
TUBK
772 (source (origin
773 (method url-fetch)
774 (uri (string-append
775 "https://github.com/mpv-player/mpv/archive/v" version
776 ".tar.gz"))
777 (sha256
778 (base32
01497dfe 779 "0az0zqb2rakak51zsvfqzj9a8jiqpvc61jxap8hjdkkb9y6n6mmn"))
1c1178cd
TUBK
780 (file-name (string-append name "-" version ".tar.gz"))))
781 (build-system waf-build-system)
782 (native-inputs
783 `(("perl" ,perl)
784 ("pkg-config" ,pkg-config)
785 ("python-docutils" ,python-docutils)))
81c29ccc 786 ;; Missing features: libguess, Wayland, V4L2
1c1178cd
TUBK
787 (inputs
788 `(("alsa-lib" ,alsa-lib)
789 ("enca" ,enca)
790 ("ffmpeg" ,ffmpeg)
2d8781a4 791 ("jack" ,jack-1)
1c1178cd
TUBK
792 ("ladspa" ,ladspa)
793 ("lcms" ,lcms)
794 ("libass" ,libass)
795 ("libbluray" ,libbluray)
796 ("libcaca" ,libcaca)
797 ("libbs2b" ,libbs2b)
798 ("libcdio-paranoia" ,libcdio-paranoia)
799 ("libdvdread" ,libdvdread)
800 ("libdvdnav" ,libdvdnav)
801 ("libjpeg" ,libjpeg)
802 ("libva" ,libva)
81c29ccc 803 ("libvdpau" ,libvdpau)
1c1178cd
TUBK
804 ("libx11" ,libx11)
805 ("libxext" ,libxext)
806 ("libxinerama" ,libxinerama)
807 ("libxrandr" ,libxrandr)
808 ("libxscrnsaver" ,libxscrnsaver)
809 ("libxv" ,libxv)
810 ("lua" ,lua)
811 ("mesa" ,mesa)
812 ("mpg123" ,mpg123)
813 ("pulseaudio" ,pulseaudio)
814 ("rsound" ,rsound)
1c1178cd 815 ("vapoursynth" ,vapoursynth)
f0b8d83a 816 ("waf" ,python-waf)
1c1178cd
TUBK
817 ("youtube-dl" ,youtube-dl)
818 ("zlib" ,zlib)))
819 (arguments
820 '(#:phases
821 (modify-phases %standard-phases
822 (add-before
f8503e2b 823 'configure 'setup-waf
1c1178cd
TUBK
824 (lambda* (#:key inputs #:allow-other-keys)
825 (copy-file (assoc-ref inputs "waf") "waf")
599fd842 826 (setenv "CC" "gcc"))))
6cf83e3f 827 #:configure-flags (list "--enable-libmpv-shared" "--enable-zsh-comp")
1c1178cd
TUBK
828 ;; No check function defined.
829 #:tests? #f))
581873b5 830 (home-page "https://mpv.io/")
1c1178cd
TUBK
831 (synopsis "Audio and video player")
832 (description "mpv is a general-purpose audio and video player. It is a
833fork of mplayer2 and MPlayer. It shares some features with the former
834projects while introducing many more.")
ae0bdd81 835 (license license:gpl2+)))
1c1178cd 836
0e74bb5b
AG
837(define-public gnome-mpv
838 (package
839 (name "gnome-mpv")
840 (version "0.9")
841 (source
842 (origin
843 (method url-fetch)
844 (uri (string-append "https://github.com/gnome-mpv/gnome-mpv/releases"
845 "/download/v" version "/gnome-mpv-" version
846 ".tar.xz"))
847 (sha256
848 (base32
849 "06pgxl6f3kkgxv8nlmyl7gy3pg55sqf8vgr8m6426mlpm4p3qdn0"))))
850 (native-inputs
851 `(("intltool" ,intltool)
852 ("pkg-config" ,pkg-config)))
853 (inputs
854 `(("gtk+" ,gtk+)
855 ("libepoxy" ,libepoxy)
856 ("mpv" ,mpv)))
857 (build-system glib-or-gtk-build-system)
858 (home-page "https://github.com/gnome-mpv/gnome-mpv")
859 (synopsis "GTK+ frontend for the mpv media player")
860 (description "GNOME MPV is a simple GTK+ frontend for the mpv media player.
861GNOME MPV interacts with mpv via the client API exported by libmpv, allowing
862access to mpv's powerful playback capabilities.")
863 (license license:gpl3+)))
864
d0ed39be
DT
865(define-public libvpx
866 (package
867 (name "libvpx")
fb197c0d 868 (version "1.5.0")
d0ed39be
DT
869 (source (origin
870 (method url-fetch)
723e8866
MW
871 (uri (string-append "http://storage.googleapis.com/"
872 "downloads.webmproject.org/releases/webm/"
873 name "-" version ".tar.bz2"))
d0ed39be
DT
874 (sha256
875 (base32
c7c49446
MW
876 "15v7qw0ydyxn08ksb6lxn1l51pxgpwgshdwd3275yrr5hs86fv9h"))
877 (patches (search-patches "libvpx-CVE-2016-2818.patch"))))
d0ed39be
DT
878 (build-system gnu-build-system)
879 (arguments
0e47b4e7
EF
880 `(#:phases
881 (modify-phases %standard-phases
882 (replace 'configure
883 (lambda* (#:key outputs #:allow-other-keys)
884 (setenv "CONFIG_SHELL" (which "bash"))
885 (let ((out (assoc-ref outputs "out")))
886 (setenv "LDFLAGS"
887 (string-append "-Wl,-rpath=" out "/lib"))
888 (zero? (system* "./configure"
889 "--enable-shared"
890 "--as=yasm"
891 ;; Limit size to avoid CVE-2015-1258
892 "--size-limit=16384x16384"
893 (string-append "--prefix=" out)))))))
4f8f15cd 894 #:tests? #f)) ; no check target
d0ed39be
DT
895 (native-inputs
896 `(("perl" ,perl)
897 ("yasm" ,yasm)))
898 (synopsis "VP8/VP9 video codec")
899 (description "libvpx is a codec for the VP8/VP9 video compression format.")
ae0bdd81 900 (license license:bsd-3)
d0ed39be 901 (home-page "http://www.webmproject.org/")))
615215a5
LC
902
903(define-public youtube-dl
904 (package
905 (name "youtube-dl")
2a69d4df 906 (version "2016.07.22")
615215a5
LC
907 (source (origin
908 (method url-fetch)
feb5c554 909 (uri (string-append "https://youtube-dl.org/downloads/"
615215a5
LC
910 version "/youtube-dl-"
911 version ".tar.gz"))
912 (sha256
913 (base32
2a69d4df 914 "02wcxpcbpvsbvyxcnhhf94ma0x5dcg4fygnxxca2h31dp47dkak9"))))
615215a5 915 (build-system python-build-system)
feb5c554 916 (home-page "https://youtube-dl.org")
2ad9515c
AV
917 (arguments
918 ;; The problem here is that the directory for the man page and completion
919 ;; files is relative, and for some reason, setup.py uses the
920 ;; auto-detected sys.prefix instead of the user-defined "--prefix=FOO".
921 ;; So, we need pass the prefix directly. In addition, make sure the Bash
922 ;; completion file is called 'youtube-dl' rather than
923 ;; 'youtube-dl.bash-completion'.
924 `(#:phases (modify-phases %standard-phases
925 (add-before 'install 'fix-the-data-directories
926 (lambda* (#:key outputs #:allow-other-keys)
927 (let ((prefix (assoc-ref outputs "out")))
928 (mkdir "bash-completion")
929 (rename-file "youtube-dl.bash-completion"
930 "bash-completion/youtube-dl")
931 (substitute* "setup.py"
932 (("youtube-dl\\.bash-completion")
933 "bash-completion/youtube-dl")
934 (("'etc/")
935 (string-append "'" prefix "/etc/"))
936 (("'share/")
937 (string-append "'" prefix "/share/")))))))))
615215a5
LC
938 (synopsis "Download videos from YouTube.com and other sites")
939 (description
b798dfde 940 "Youtube-dl is a small command-line program to download videos from
615215a5 941YouTube.com and a few more sites.")
ae0bdd81 942 (license license:public-domain)))
e6bdb36a 943
5d3609e4
TUBK
944(define-public libbluray
945 (package
946 (name "libbluray")
5e3f68e6 947 (version "0.9.3")
5d3609e4
TUBK
948 (source (origin
949 (method url-fetch)
5e3f68e6 950 (uri (string-append "https://download.videolan.org/videolan/"
5d3609e4
TUBK
951 name "/" version "/"
952 name "-" version ".tar.bz2"))
953 (sha256
954 (base32
5e3f68e6 955 "1q1whviqv5sr9nr372h31zwid1rvbfbx3z4lzr8lnj25xha6cdm6"))))
5d3609e4 956 (build-system gnu-build-system)
2da45ebe
EF
957 (arguments `(#:configure-flags '("--disable-bdjava")))
958 (native-inputs `(("pkg-config" ,pkg-config)))
5d3609e4 959 (inputs
71ee51a0 960 `(("fontconfig" ,fontconfig)
5d3609e4 961 ("freetype" ,freetype)
71ee51a0 962 ("libxml2" ,libxml2)))
5e3f68e6 963 (home-page "https://www.videolan.org/developers/libbluray.html")
5d3609e4
TUBK
964 (synopsis "Blu-Ray Disc playback library")
965 (description
966 "libbluray is a library designed for Blu-Ray Disc playback for media
967players, like VLC or MPlayer.")
ae0bdd81 968 (license license:lgpl2.1+)))
5d3609e4 969
e6bdb36a
AE
970(define-public libdvdread
971 (package
972 (name "libdvdread")
9aebf330 973 (version "5.0.3")
e6bdb36a
AE
974 (source (origin
975 (method url-fetch)
976 (uri (string-append "http://download.videolan.org/videolan/"
977 name "/" version "/"
978 name "-" version ".tar.bz2"))
979 (sha256
980 (base32
9aebf330 981 "0ayqiq0psq18rcp6f5pz82sxsq66v0kwv0y55dbrcg68plnxy71j"))))
e6bdb36a
AE
982 (build-system gnu-build-system)
983 (home-page "http://dvdnav.mplayerhq.hu/")
984 (synopsis "Library for reading video DVDs")
985 (description
986 "Libdvdread provides a simple foundation for reading DVD video
987disks. It provides the functionality that is required to access many
988DVDs. It parses IFO files, reads NAV-blocks, and performs CSS
989authentication and descrambling (if an external libdvdcss library is
990installed).")
ae0bdd81 991 (license license:gpl2+)))
b027d919
AE
992
993(define-public libdvdnav
994 (package
995 (name "libdvdnav")
734976b6 996 (version "5.0.3")
b027d919
AE
997 (source (origin
998 (method url-fetch)
999 (uri (string-append "http://download.videolan.org/videolan/"
1000 name "/" version "/"
1001 name "-" version ".tar.bz2"))
1002 (sha256
1003 (base32
734976b6 1004 "0v8byv5z598k06rqzdmj7739vc86xq3zf79zfr698dib7lz055sh"))))
b027d919
AE
1005 (build-system gnu-build-system)
1006 (native-inputs
1007 `(("pkg-config" ,pkg-config)))
1008 (inputs
1009 `(("libdvdread" ,libdvdread)))
1010 (home-page "http://dvdnav.mplayerhq.hu/")
1011 (synopsis "Library for video DVD navigation features")
1012 (description
1013 "Libdvdnav is a library for developers of multimedia
1014applications. It allows easy use of sophisticated DVD navigation features
1015such as DVD menus, multiangle playback and even interactive DVD games. All
1016this functionality is provided through a simple API which provides the DVD
1017playback as a single logical stream of blocks, intermitted by special
1018dvdnav events to report certain conditions. The main usage of libdvdnav is
1019a loop regularly calling a function to get the next block, surrounded by
1020additional calls to tell the library of user interaction. The whole
1021DVD virtual machine and internal playback states are completely
1022encapsulated.")
ae0bdd81 1023 (license license:gpl2+)))
2cd85cf9 1024
f1044010
TUBK
1025(define-public libdvdnav-4
1026 (package
1027 (inherit libdvdnav)
1028 (version "4.2.1")
1029 (source (origin
1030 (method url-fetch)
1031 (uri
1032 (string-append
1033 "http://download.videolan.org/videolan/libdvdnav/libdvdnav-"
1034 version ".tar.xz"))
1035 (sha256
1036 (base32
1037 "0wi3gy408c8xj0ism0hckv5jbfh3lg4pmgxv87gbch9jrhp2gjkz"))))
1038 (native-inputs
1039 `(("pkg-config" ,pkg-config)
1040 ("autoconf" ,autoconf)
1041 ("automake" ,automake)
1042 ("libtool" ,libtool)))
1043 (arguments
1044 '(#:phases
1045 (alist-cons-after
1046 'unpack 'autoreconf
1047 (lambda _
1048 (zero? (system* "autoreconf" "-vif")))
1049 %standard-phases)))))
1050
a6f710ec
TUBK
1051(define-public libdvdcss
1052 (package
1053 (name "libdvdcss")
98416109 1054 (version "1.4.0")
a6f710ec
TUBK
1055 (source (origin
1056 (method url-fetch)
98416109 1057 (uri (string-append "http://download.videolan.org/pub/"
a6f710ec
TUBK
1058 name "/" version "/"
1059 name "-" version ".tar.bz2"))
1060 (sha256
1061 (base32
98416109 1062 "0nl45ifc4xcb196snv9d6hinfw614cqpzcqp92dg43c0hickg290"))))
a6f710ec
TUBK
1063 (build-system gnu-build-system)
1064 (home-page "http://www.videolan.org/developers/libdvdcss.html")
1065 (synopsis "Library for accessing DVDs as block devices")
1066 (description
1067 "libdvdcss is a simple library designed for accessing DVDs like a block
1068device without having to bother about the decryption.")
ae0bdd81 1069 (license license:gpl2+)))
a6f710ec 1070
2cd85cf9
DT
1071(define-public srt2vtt
1072 (package
1073 (name "srt2vtt")
1074 (version "0.1")
1075 (source (origin
1076 (method url-fetch)
1077 (uri (string-append
1078 "http://dthompson.us/releases/srt2vtt/srt2vtt-"
1079 version ".tar.gz"))
1080 (sha256
1081 (base32
1082 "16b377znjm6qlga5yb8aj7b7bcisa1ghcnj2lrb1d30lvxp4liif"))))
1083 (build-system gnu-build-system)
1084 (inputs
1085 `(("guile" ,guile-2.0)))
1086 (synopsis "SubRip to WebVTT subtitle converter")
1087 (description "srt2vtt converts SubRip formatted subtitles to WebVTT format
1088for use with HTML5 video.")
1089 (home-page "http://dthompson.us/pages/software/srt2vtt")
ae0bdd81 1090 (license license:gpl3+)))
44726031
AE
1091
1092(define-public avidemux
1093 (package
1094 (name "avidemux")
9e786e8b 1095 (version "2.6.12")
44726031
AE
1096 (source (origin
1097 (method url-fetch)
1098 (uri (string-append
de67e922
LF
1099 "mirror://sourceforge/" name "/" name "/" version "/"
1100 name "_" version ".tar.gz"))
44726031
AE
1101 (sha256
1102 (base32
9e786e8b 1103 "0nz52yih8sff53inndkh2dba759xjzsh4b8xjww419lcpk0qp6kn"))
fc1adab1 1104 (patches (search-patches "avidemux-install-to-lib.patch"))))
44726031
AE
1105 (build-system cmake-build-system)
1106 (native-inputs
1107 `(("pkg-config" ,pkg-config)))
1108 ;; FIXME: Once packaged, add libraries not found during the build.
1109 (inputs
1110 `(("alsa-lib" ,alsa-lib)
1111 ("fontconfig" ,fontconfig)
1112 ("freetype" ,freetype)
1113 ("fribidi" ,fribidi)
1114 ("glu" ,glu)
44726031
AE
1115 ("jack" ,jack-1)
1116 ("lame" ,lame)
4cafe8ad
EF
1117 ("libva" ,libva)
1118 ("libvdpau" ,libvdpau)
44726031
AE
1119 ("libvorbis" ,libvorbis)
1120 ("libvpx" ,libvpx)
1121 ("libxv" ,libxv)
1122 ("perl" ,perl)
1123 ("pulseaudio" ,pulseaudio)
1124 ("python" ,python-wrapper)
64e8be67
EF
1125 ("qtbase" ,qtbase)
1126 ("qttools" ,qttools)
44726031
AE
1127 ("sdl" ,sdl)
1128 ("sqlite" ,sqlite)
1129 ("yasm" ,yasm)
1130 ("zlib" ,zlib)))
1131 (arguments
1132 `(#:tests? #f ; no check target
1133 #:phases
1134 ;; Make sure files inside the included ffmpeg tarball are
1135 ;; patch-shebanged.
1898900f
EF
1136 (modify-phases %standard-phases
1137 (add-before 'patch-source-shebangs 'unpack-ffmpeg
44726031
AE
1138 (lambda _
1139 (with-directory-excursion "avidemux_core/ffmpeg_package"
1898900f
EF
1140 (system* "tar" "xf" "ffmpeg-2.7.6.tar.bz2")
1141 (delete-file "ffmpeg-2.7.6.tar.bz2"))))
1142 (add-after 'patch-source-shebangs 'repack-ffmpeg
44726031
AE
1143 (lambda _
1144 (with-directory-excursion "avidemux_core/ffmpeg_package"
9e786e8b 1145 (substitute* "ffmpeg-2.7.6/configure"
44726031 1146 (("#! /bin/sh") (string-append "#!" (which "bash"))))
9e786e8b 1147 (system* "tar" "cjf" "ffmpeg-2.7.6.tar.bz2" "ffmpeg-2.7.6"
c09e6a5f 1148 ;; avoid non-determinism in the archive
92226a47
MW
1149 "--sort=name" "--mtime=@0"
1150 "--owner=root:0" "--group=root:0")
1898900f
EF
1151 (delete-file-recursively "ffmpeg-2.7.6"))))
1152 (replace 'configure
1153 (lambda _
1154 ;; Copy-paste settings from the cmake build system.
1155 (setenv "CMAKE_LIBRARY_PATH" (getenv "LIBRARY_PATH"))
1156 (setenv "CMAKE_INCLUDE_PATH" (getenv "C_INCLUDE_PATH"))))
1157 (replace 'build
1158 (lambda* (#:key inputs outputs #:allow-other-keys)
1159 (let*
1160 ((out (assoc-ref outputs "out"))
1161 (lib (string-append out "/lib"))
1162 (top (getcwd))
1163 (sdl (assoc-ref inputs "sdl"))
1164 (build_component
1165 (lambda* (component srcdir #:optional (args '()))
1166 (let ((builddir (string-append "build_" component)))
1167 (mkdir builddir)
1168 (with-directory-excursion builddir
1169 (zero?
1170 (and
44726031
AE
1171 (apply system* "cmake"
1172 "-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE"
1173 (string-append "-DCMAKE_INSTALL_PREFIX=" out)
1174 (string-append "-DCMAKE_INSTALL_RPATH=" lib)
c687f731
AE
1175 (string-append "-DCMAKE_SHARED_LINKER_FLAGS="
1176 "\"-Wl,-rpath=" lib "\"")
44726031
AE
1177 (string-append "-DAVIDEMUX_SOURCE_DIR=" top)
1178 (string-append "-DSDL_INCLUDE_DIR="
1179 sdl "/include/SDL")
1180 (string-append "../" srcdir)
aab56ab7 1181 "-DENABLE_QT5=True"
44726031 1182 args)
1898900f
EF
1183 (system* "make" "-j"
1184 (number->string (parallel-job-count)))
1185 (system* "make" "install"))))))))
1186 (mkdir out)
1187 (and (build_component "core" "avidemux_core")
1188 (build_component "cli" "avidemux/cli")
1189 (build_component "qt4" "avidemux/qt4")
1190 (build_component "plugins_common" "avidemux_plugins"
1191 '("-DPLUGIN_UI=COMMON"))
1192 (build_component "plugins_cli" "avidemux_plugins"
1193 '("-DPLUGIN_UI=CLI"))
1194 (build_component "plugins_qt4" "avidemux_plugins"
1195 '("-DPLUGIN_UI=QT4"))
1196 (build_component "plugins_settings" "avidemux_plugins"
1197 '("-DPLUGIN_UI=SETTINGS")))
1198 ;; Remove .exe and .dll file.
1199 (delete-file-recursively
1200 (string-append out "/share/ADM6_addons")))))
1201 (delete 'install))))
44726031
AE
1202 (home-page "http://fixounet.free.fr/avidemux/")
1203 (synopsis "Video editor")
1204 (description "Avidemux is a video editor designed for simple cutting,
1205filtering and encoding tasks. It supports many file types, including AVI,
1206DVD compatible MPEG files, MP4 and ASF, using a variety of codecs. Tasks
1207can be automated using projects, job queue and powerful scripting
1208capabilities.")
1209 ;; Software with various licenses is included, see License.txt.
ae0bdd81 1210 (license license:gpl2+)))
44726031 1211
6f6c8b65
TUBK
1212(define-public vapoursynth
1213 (package
1214 (name "vapoursynth")
f80d5fe0 1215 (version "32")
6f6c8b65
TUBK
1216 (source (origin
1217 (method url-fetch)
1218 (uri (string-append
1219 "https://github.com/vapoursynth/vapoursynth/archive/R"
1220 version ".tar.gz"))
f673552c 1221 (file-name (string-append name "-" version))
6f6c8b65
TUBK
1222 (sha256
1223 (base32
f80d5fe0 1224 "1j08whj946v2kkpgxsfhpca8xf0ax9iqzn73wvwjx319p9j0ymp9"))))
6f6c8b65
TUBK
1225 (build-system gnu-build-system)
1226 (native-inputs
1227 `(("autoconf" ,autoconf)
1228 ("automake" ,automake)
1229 ("cython" ,python-cython)
1230 ("libtool" ,libtool)
1231 ("pkg-config" ,pkg-config)
1232 ("python" ,python)
1233 ("yasm" ,yasm)))
1234 (inputs
1235 `(("ffmpeg" ,ffmpeg)
1236 ("libass" ,libass)
f80d5fe0
EF
1237 ("tesseract-ocr" ,tesseract-ocr)
1238 ("zimg" ,zimg)))
6f6c8b65
TUBK
1239 (arguments
1240 '(#:phases
1241 (modify-phases %standard-phases
1242 (add-after
f8503e2b 1243 'unpack 'autogen
6f6c8b65
TUBK
1244 (lambda _
1245 (zero? (system* "sh" "autogen.sh")))))))
1246 (home-page "http://www.vapoursynth.com/")
1247 (synopsis "Video processing framework")
1248 (description "VapourSynth is a C++ library and Python module for video
1249manipulation. It aims to be a modern rewrite of Avisynth, supporting
1250multithreading, generalized colorspaces, per frame properties, and videos with
1251format changes.")
1252 ;; As seen from the source files.
ae0bdd81 1253 (license license:lgpl2.1+)))
6f6c8b65 1254
67932f86
TUBK
1255(define-public xvid
1256 (package
1257 (name "xvid")
e05035c7 1258 (version "1.3.4")
67932f86
TUBK
1259 (source (origin
1260 (method url-fetch)
1261 (uri (string-append
1262 "http://downloads.xvid.org/downloads/xvidcore-"
1263 version ".tar.bz2"))
1264 (sha256
1265 (base32
e05035c7 1266 "1xwbmp9wqshc0ckm970zdpi0yvgqxlqg0s8bkz98mnr8p2067bsz"))))
67932f86
TUBK
1267 (build-system gnu-build-system)
1268 (native-inputs `(("yasm" ,yasm)))
1269 (arguments
1270 '(#:phases
62fe2d47
EF
1271 (modify-phases %standard-phases
1272 (add-before
1273 'configure 'pre-configure
1274 (lambda _
1275 (chdir "build/generic")
1276 (substitute* "configure"
1277 (("#! /bin/sh") (string-append "#!" (which "sh")))))))
67932f86
TUBK
1278 ;; No 'check' target.
1279 #:tests? #f))
1280 (home-page "https://www.xvid.com/")
1281 (synopsis "MPEG-4 Part 2 Advanced Simple Profile video codec")
1282 (description "Xvid is an MPEG-4 Part 2 Advanced Simple Profile (ASP) video
1283codec library. It uses ASP features such as b-frames, global and quarter
1284pixel motion compensation, lumi masking, trellis quantization, and H.263, MPEG
1285and custom quantization matrices.")
ae0bdd81 1286 (license license:gpl2+)))
e16fde14
DT
1287
1288(define-public livestreamer
1289 (package
1290 (name "livestreamer")
68e88a09 1291 (version "1.12.2")
e16fde14
DT
1292 (source (origin
1293 (method url-fetch)
1294 (uri (string-append
1295 "https://github.com/chrippa/livestreamer/archive/v"
1296 version ".tar.gz"))
1297 (file-name (string-append "livestreamer-" version ".tar.gz"))
1298 (sha256
1299 (base32
68e88a09 1300 "1fp3d3z2grb1ls97smjkraazpxnvajda2d1g1378s6gzmda2jvjd"))))
e16fde14
DT
1301 (build-system python-build-system)
1302 (arguments
1303 '(#:tests? #f)) ; tests rely on external web servers
e16fde14 1304 (propagated-inputs
5b9fe59f 1305 `(("python-requests" ,python-requests)))
e16fde14
DT
1306 (synopsis "Internet video stream viewer")
1307 (description "Livestreamer is a command-line utility that extracts streams
1308from various services and pipes them into a video playing application.")
1309 (home-page "http://livestreamer.io/")
1310 (license license:bsd-2)))
307ad140
RW
1311
1312(define-public mlt
1313 (package
1314 (name "mlt")
4c7729dc 1315 (version "6.2.0")
307ad140
RW
1316 (source (origin
1317 (method url-fetch)
4c7729dc
EF
1318 (uri (string-append "https://github.com/mltframework/mlt/"
1319 "archive/v" version ".tar.gz"))
1320 (file-name (string-append name "-" version ".tar.gz"))
307ad140
RW
1321 (sha256
1322 (base32
4c7729dc 1323 "1zwzfgxrcbwkxnkiwv0a1rzxdnnaly90yyarl9wdw84nx11ffbnx"))))
307ad140
RW
1324 (build-system gnu-build-system)
1325 (arguments
1326 `(#:tests? #f ; no tests
1327 #:make-flags '("CC=gcc")
1328 #:configure-flags
1329 (list "--enable-gpl3"
1330 "--enable-gpl")
1331 #:phases
1332 (modify-phases %standard-phases
1333 (add-after
1334 'configure 'override-LDFLAGS
1335 (lambda* (#:key outputs #:allow-other-keys)
1336 (substitute* "config.mak"
1337 (("LDFLAGS\\+=")
1338 (string-append "LDFLAGS+=-Wl,-rpath="
1339 (assoc-ref outputs "out")
1340 "/lib ")))
1341 #t)))))
1342 (inputs
1343 `(("alsa-lib" ,alsa-lib)
1344 ("fftw" ,fftw)
1345 ("libxml2" ,libxml2)
1346 ("jack" ,jack-1)
1347 ("ladspa" ,ladspa)
1348 ("libsamplerate" ,libsamplerate)
4c7729dc 1349 ("pulseaudio" ,pulseaudio)
307ad140
RW
1350 ("sdl" ,sdl)
1351 ("sox" ,sox)))
1352 (native-inputs
1353 `(("pkg-config" ,pkg-config)))
4c7729dc 1354 (home-page "https://www.mltframework.org/")
307ad140
RW
1355 (synopsis "Author, manage, and run multitrack audio/video compositions")
1356 (description
1357 "MLT is a multimedia framework, designed and developed for television
1358broadcasting. It provides a toolkit for broadcasters, video editors, media
1359players, transcoders, web streamers and many more types of applications. The
1360functionality of the system is provided via an assortment of ready to use
1361tools, XML authoring components, and an extensible plug-in based API.")
1362 (license license:lgpl2.1+)))
f464016d 1363
945d985a
DT
1364(define-public v4l-utils
1365 (package
1366 (name "v4l-utils")
9a5c0320 1367 (version "1.10.1")
945d985a
DT
1368 (source (origin
1369 (method url-fetch)
1d4ac724 1370 (uri (string-append "https://linuxtv.org/downloads/v4l-utils"
945d985a
DT
1371 "/v4l-utils-" version ".tar.bz2"))
1372 (sha256
1373 (base32
9a5c0320 1374 "1h1nhg5cmmzlbipak526nk4bm6d0yb217mll75f3rpg7kz1cqiv1"))))
945d985a
DT
1375 (build-system gnu-build-system)
1376 (arguments
1377 '(#:configure-flags
1378 (list (string-append "--with-udevdir="
1379 (assoc-ref %outputs "out")
1380 "/lib/udev"))))
1381 (native-inputs
1382 `(("pkg-config" ,pkg-config)))
1383 (inputs
1384 `(("alsa-lib" ,alsa-lib)
1385 ("glu" ,glu)
1386 ("libjpeg" ,libjpeg)
1387 ("libx11" ,libx11)
b37662e2 1388 ("qtbase" ,qtbase)
945d985a
DT
1389 ("eudev" ,eudev)))
1390 (synopsis "Realtime video capture utilities for Linux")
1391 (description "The v4l-utils provide a series of libraries and utilities to
1392be used for realtime video capture via Linux-specific APIs.")
1393 (home-page "https://linuxtv.org/wiki/index.php/V4l-utils")
1394 ;; libv4l2 is LGPL2.1+, while utilities are GPL2 only.
1395 (license (list license:lgpl2.1+ license:gpl2))))
1396
f464016d
DT
1397(define-public obs
1398 (package
1399 (name "obs")
cf1dc4b7 1400 (version "0.15.1")
f464016d
DT
1401 (source (origin
1402 (method url-fetch)
1403 (uri (string-append "https://github.com/jp9000/obs-studio"
1404 "/archive/" version ".tar.gz"))
1405 (file-name (string-append name "-" version ".tar.gz"))
1406 (sha256
1407 (base32
cf1dc4b7 1408 "18fycg7xlj2i89wdb9c5js0bnl964s1lpmnvmfyj11zi9k061wsg"))))
f464016d 1409 (build-system cmake-build-system)
08858812
EF
1410 (arguments
1411 `(#:tests? #f ; no tests
1412 ,@(if (any (cute string-prefix? <> (or (%current-target-system)
1413 (%current-system)))
1414 '("arm" "mips"))
1415 '(#:phases
1416 (modify-phases %standard-phases
1417 (add-after 'unpack 'remove-architecture-specific-instructions
1418 ;; non-Intel platforms fail to build with the architecture
1419 ;; specific compiler flags included by default.
1420 (lambda _
1421 (substitute* "libobs/CMakeLists.txt"
1422 (("if\\(NOT MSVC\\)") "if(MSVC)"))
1423 #t))))
1424 '())))
f464016d
DT
1425 (native-inputs
1426 `(("pkg-config" ,pkg-config)))
1427 (inputs
1428 `(("curl" ,curl)
1429 ("eudev" ,eudev)
1430 ("ffmpeg" ,ffmpeg)
1431 ("freetype" ,freetype)
1432 ("jack" ,jack-1)
1433 ("jansson" ,jansson)
1434 ("libx264" ,libx264)
1435 ("libxcomposite" ,libxcomposite)
1436 ("mesa" ,mesa)
1437 ("pulseaudio" ,pulseaudio)
90a2309b
EF
1438 ("qtbase" ,qtbase)
1439 ("qtx11extras" ,qtx11extras)
d4df2032 1440 ("v4l-utils" ,v4l-utils)
f464016d
DT
1441 ("zlib" ,zlib)))
1442 (synopsis "Live streaming software")
1443 (description "Open Broadcaster Software provides a graphical interface for
1444video recording and live streaming. OBS supports capturing audio and video
1445from many input sources such as webcams, X11 (for screencasting), PulseAudio,
1446and JACK.")
1447 (home-page "https://obsproject.com")
1448 (license license:gpl2+)))
d5650f86
EF
1449
1450(define-public libvdpau
1451 (package
1452 (name "libvdpau")
1453 (version "1.1.1")
1454 (source
1455 (origin
1456 (method url-fetch)
1457 (uri (string-append "https://secure.freedesktop.org/~aplattner/vdpau/"
1458 name "-" version ".tar.bz2"))
1459 (sha256
1460 (base32
1461 "0dnpb0yh7v6rvckx82kxg045rd9rbsw25wjv7ad5n8h94s9h2yl5"))))
1462 (build-system gnu-build-system)
1463 (native-inputs
1464 `(("pkg-config" ,pkg-config)))
1465 (inputs
1466 `(("dri2proto" ,dri2proto)
1467 ("libx11" ,libx11 "out")
1468 ("libxext" ,libxext)))
1469 (home-page "https://wiki.freedesktop.org/www/Software/VDPAU/")
1470 (synopsis "Video Decode and Presentation API")
1471 (description "VDPAU is the Video Decode and Presentation API for UNIX. It
1472provides an interface to video decode acceleration and presentation hardware
1473present in modern GPUs.")
1474 (license (license:x11-style "file://COPYING"))))
3161d32d
EF
1475
1476(define-public vdpauinfo
1477 (package
1478 (name "vdpauinfo")
1479 (version "1.0")
1480 (source
1481 (origin
1482 (method url-fetch)
1483 (uri (string-append "https://secure.freedesktop.org/~aplattner/vdpau/"
1484 name "-" version ".tar.gz"))
1485 (sha256
1486 (base32
1487 "1i2b0k9h8r0lnxlrkgqzmrjakgaw3f1ygqqwzx8w6676g85rcm20"))))
1488 (build-system gnu-build-system)
1489 (native-inputs
1490 `(("pkg-config" ,pkg-config)
1491 ("libx11" ,libx11)))
1492 (propagated-inputs
1493 `(("libvdpau" ,libvdpau)))
1494 (home-page "https://wiki.freedesktop.org/www/Software/VDPAU/")
1495 (synopsis "Tool to query the capabilities of a VDPAU implementation")
1496 (description "Vdpauinfo is a tool to query the capabilities of a VDPAU
1497implementation.")
1498 (license (license:x11-style "file://COPYING"))))
a7d94b54
LC
1499
1500(define-public recordmydesktop
1501 (package
1502 (name "recordmydesktop")
1503 (version "0.3.8.1")
1504 (source (origin
1505 (method url-fetch)
1506 (uri (string-append "mirror://sourceforge/" name "/" name "/"
1507 version "/recordmydesktop-" version ".tar.gz"))
1508 (sha256
1509 (base32
1510 "133kkl5j0r877d41bzj7kj0vf3xm8x80yyx2n8nqxrva304f58ik"))))
1511 (build-system gnu-build-system)
1512 (inputs `(("popt" ,popt)
1513 ("zlib" ,zlib)
1514 ("libx11" ,libx11)
1515 ("libice" ,libice)
1516 ("libsm" ,libsm)
1517 ("libxfixes" ,libxfixes)
1518 ("libxdamage" ,libxdamage)
1519 ("libxext" ,libxext)
1520 ("libvorbis" ,libvorbis)
1521 ("libtheora" ,libtheora)))
1522 (home-page "http://recordmydesktop.sourceforge.net/")
1523 (synopsis "Desktop session video recorder")
1524 (description
1525 "recordMyDesktop is a command-line tool that captures the activity in
1526your graphical desktop and encodes it as a video. This is a useful tool for
1527making @dfn{screencasts}.")
1528 (license license:gpl2+)))
d8841cc5
KK
1529
1530(define-public libsmpeg
1531 (package
1532 (name "libsmpeg")
1533 (version "0.4.5")
1534 (source (origin
1535 (method svn-fetch)
1536 (uri (svn-reference
1537 (url "svn://svn.icculus.org/smpeg/trunk/")
1538 (revision 401))) ; last revision before smpeg2 (for SDL 2.0)
1539 (sha256
1540 (base32
1541 "18yfkr70lr1x1hc8snn2ldnbzdcc7b64xmkqrfk8w59gpg7sl1xn"))))
1542 (build-system gnu-build-system)
1543 (arguments
1544 `(#:phases (modify-phases %standard-phases
1545 (add-after 'unpack 'autogen.sh
1546 (lambda _
1547 (zero? (system* "sh" "autogen.sh")))))))
1548 (native-inputs
1549 `(("autoconf" ,autoconf)
1550 ("automake" ,automake)))
1551 (inputs
1552 `(("sdl" ,sdl2)))
1553 (home-page "http://icculus.org/smpeg/")
1554 (synopsis "SDL MPEG decoding library")
1555 (description
1556 "SMPEG (SDL MPEG Player Library) is a free MPEG1 video player library
1557with sound support. Video playback is based on the ubiquitous Berkeley MPEG
1558player, mpeg_play v2.2. Audio is played through a slightly modified mpegsound
1559library, part of splay v0.8.2. SMPEG supports MPEG audio (MP3), MPEG-1 video,
1560and MPEG system streams.")
1561 (license (list license:expat
1562 license:lgpl2.1
1563 license:lgpl2.1+
1564 license:gpl2))))