gnu: facter: Update to 4.0.33.
[jackhill/guix/guix.git] / gnu / packages / gstreamer.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
3 ;;; Copyright © 2014 John Darrington <jmd@gnu.org>
4 ;;; Copyright © 2015, 2016 Sou Bunnbu <iyzsong@gmail.com>
5 ;;; Copyright © 2015, 2018 Mark H Weaver <mhw@netris.org>
6 ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
7 ;;; Copyright © 2016, 2018 Leo Famulari <leo@famulari.name>
8 ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
9 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
10 ;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com>
11 ;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at>
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 gstreamer)
29 #:use-module ((guix licenses) #:prefix license:)
30 #:use-module (guix packages)
31 #:use-module (guix download)
32 #:use-module (guix build-system gnu)
33 #:use-module (guix build-system meson)
34 #:use-module (guix utils)
35 #:use-module (gnu packages)
36 #:use-module (gnu packages audio)
37 #:use-module (gnu packages bison)
38 #:use-module (gnu packages cdrom)
39 #:use-module (gnu packages curl)
40 #:use-module (gnu packages compression)
41 #:use-module (gnu packages flex)
42 #:use-module (gnu packages freedesktop)
43 #:use-module (gnu packages gl)
44 #:use-module (gnu packages glib)
45 #:use-module (gnu packages gnome)
46 #:use-module (gnu packages gnupg)
47 #:use-module (gnu packages graphics)
48 #:use-module (gnu packages gtk)
49 #:use-module (gnu packages image)
50 #:use-module (gnu packages libusb)
51 #:use-module (gnu packages linux)
52 #:use-module (gnu packages mp3)
53 #:use-module (gnu packages ncurses)
54 #:use-module (gnu packages perl)
55 #:use-module (gnu packages pulseaudio)
56 #:use-module (gnu packages qt)
57 #:use-module (gnu packages rdf)
58 #:use-module (gnu packages video)
59 #:use-module (gnu packages xorg)
60 #:use-module (gnu packages xiph)
61 #:use-module (gnu packages pkg-config)
62 #:use-module (gnu packages python)
63 #:use-module (gnu packages ssh)
64 #:use-module (gnu packages telephony)
65 #:use-module (gnu packages tls)
66 #:use-module (gnu packages version-control)
67 #:use-module (gnu packages assembly)
68 #:use-module (gnu packages xml))
69
70 (define-public orc
71 (package
72 (name "orc")
73 (version "0.4.31")
74 (source (origin
75 (method url-fetch)
76 (uri (string-append "https://gstreamer.freedesktop.org/data/src/"
77 "orc/orc-" version ".tar.xz"))
78 (sha256
79 (base32
80 "0xb0c7q3xv1ldmz5ipybazb01gy3cijj8622dcx7rbm9lq85zax0"))))
81 (build-system meson-build-system)
82 (arguments
83 `(#:phases
84 (modify-phases %standard-phases
85 (add-after 'unpack 'disable-faulty-test
86 (lambda _
87 ;; XXX Disable the 'test-limits' and 'exec_opcodes_sys'
88 ;; tests, which fail on some machines. See:
89 ;; https://bugzilla.gnome.org/show_bug.cgi?id=735273
90 (substitute* '("testsuite/test-limits.c"
91 "testsuite/exec_opcodes_sys.c")
92 (("if \\(error\\) return 1;")
93 "if (error) return 77;"))
94 #t)))))
95 (native-inputs
96 `(("gtk-doc" ,gtk-doc)))
97 (home-page "https://gstreamer.freedesktop.org/modules/orc.html")
98 (synopsis "Oil runtime compiler")
99 (description
100 "Orc is a just-in-time compiler implemented as a library and set of
101 associated tools for compiling and executing simple programs that operate on
102 arrays of data.")
103 ;; The source code implementing the Marsenne Twister algorithm is licensed
104 ;; under the 3-clause BSD license, the rest is under 2-clause BSD license.
105 (license (list license:bsd-2 license:bsd-3))))
106
107 ;; Increase the test timeouts to accommodate slow or busy machines.
108 (define %common-gstreamer-phases
109 '((add-after 'unpack 'increase-test-timeout
110 (lambda _
111 (substitute* "tests/check/meson.build"
112 (("'CK_DEFAULT_TIMEOUT', '20'")
113 "'CK_DEFAULT_TIMEOUT', '60'")
114 (("timeout ?: 3 \\* 60")
115 "timeout: 9 * 60"))
116 #t))))
117
118 (define-public gstreamer
119 (package
120 (name "gstreamer")
121 (version "1.16.2")
122 (source
123 (origin
124 (method url-fetch)
125 (uri (string-append
126 "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-"
127 version ".tar.xz"))
128 (sha256
129 (base32
130 "0kp93622y29pck8asvil1fmzf55s2gx76wv475a6izc3cwj49w73"))))
131 (build-system meson-build-system)
132 (outputs '("out" "doc"))
133 (arguments
134 `(#:phases
135 (modify-phases %standard-phases
136 ,@%common-gstreamer-phases
137 ;; FIXME: Since switching to the meson-build-system, two tests
138 ;; started failing on i686. See
139 ;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/499>.
140 ,@(if (string-prefix? "i686" (or (%current-target-system)
141 (%current-system)))
142 `((add-after 'unpack 'disable-some-tests
143 (lambda _
144 (substitute* "tests/check/gst/gstsystemclock.c"
145 (("tcase_add_test \\(tc_chain, test_stress_cleanup_unschedule.*")
146 "")
147 (("tcase_add_test \\(tc_chain, test_stress_reschedule.*")
148 ""))
149 #t)))
150 '())
151 (add-after 'install 'move-docs
152 (lambda* (#:key outputs #:allow-other-keys)
153 (let ((out (assoc-ref outputs "out"))
154 (doc (assoc-ref outputs "doc")))
155 (mkdir-p (string-append doc "/share"))
156 (copy-recursively (string-append out "/share/gtk-doc")
157 (string-append doc "/share/gtk-doc"))
158 (delete-file-recursively (string-append out "/share/gtk-doc"))
159 #t))))))
160 (propagated-inputs `(("glib" ,glib))) ; required by gstreamer-1.0.pc.
161 (native-inputs
162 `(("bison" ,bison)
163 ("flex" ,flex)
164 ("glib" ,glib "bin")
165 ("gobject-introspection" ,gobject-introspection)
166 ("gtk-doc" ,gtk-doc)
167 ("perl" ,perl)
168 ("pkg-config" ,pkg-config)
169 ("python-wrapper" ,python-wrapper)))
170 (native-search-paths
171 (list (search-path-specification
172 (variable "GST_PLUGIN_SYSTEM_PATH")
173 (files '("lib/gstreamer-1.0")))))
174 (home-page "https://gstreamer.freedesktop.org/")
175 (synopsis "Multimedia library")
176 (description
177 "GStreamer is a library for constructing graphs of media-handling
178 components. The applications it supports range from simple Ogg/Vorbis
179 playback, audio/video streaming to complex audio mixing and video
180 non-linear editing.
181
182 Applications can take advantage of advances in codec and filter technology
183 transparently. Developers can add new codecs and filters by writing a
184 simple plugin with a clean, generic interface.
185
186 This package provides the core library and elements.")
187 (license license:lgpl2.0+)))
188
189 (define-public gst-plugins-base
190 (package
191 (name "gst-plugins-base")
192 (version "1.16.2")
193 (source
194 (origin
195 (method url-fetch)
196 (uri (string-append "https://gstreamer.freedesktop.org/src/" name "/"
197 name "-" version ".tar.xz"))
198 (sha256
199 (base32
200 "0sl1hxlyq46r02k7z70v09vx1gi4rcypqmzra9jid93lzvi76gmi"))))
201 (build-system meson-build-system)
202 (propagated-inputs
203 `(("glib" ,glib) ;required by gstreamer-sdp-1.0.pc
204 ("gstreamer" ,gstreamer) ;required by gstreamer-plugins-base-1.0.pc
205
206 ;; XXX: Do not enable Orc optimizations on ARM systems because
207 ;; it leads to two test failures.
208 ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/683
209 ,@(if (string-prefix? "arm" (or (%current-target-system)
210 (%current-system)))
211 '()
212 `(("orc" ,orc))))) ;required by gstreamer-audio-1.0.pc
213 (inputs
214 `(("cdparanoia" ,cdparanoia)
215 ("pango" ,pango)
216 ("libogg" ,libogg)
217 ("libtheora" ,libtheora)
218 ("libvorbis" ,libvorbis)
219 ("libx11" ,libx11)
220 ("zlib" ,zlib)
221 ("libXext" ,libxext)
222 ("libxv" ,libxv)
223 ("alsa-lib" ,alsa-lib)
224 ;; XXX Don't build with opus on 32-bit systems:
225 ;; <https://bugs.gnu.org/32360>
226 ,@(if (target-64bit?)
227 `(("opus" ,opus))
228 '())))
229 (native-inputs
230 `(("pkg-config" ,pkg-config)
231 ("glib:bin" ,glib "bin")
232 ("gobject-introspection" ,gobject-introspection)
233 ("python-wrapper" ,python-wrapper)))
234 (arguments
235 `(#:configure-flags '("-Dgl=disabled"
236 ;; FIXME: Documentation fails to build without
237 ;; enabling GL above, which causes other problems.
238 "-Ddoc=false")
239 #:phases
240 (modify-phases %standard-phases
241 ,@%common-gstreamer-phases
242 (add-before 'configure 'patch
243 (lambda _
244 (substitute* "tests/check/libs/pbutils.c"
245 (("/bin/sh") (which "sh")))
246 #t)))))
247 (home-page "https://gstreamer.freedesktop.org/")
248 (synopsis
249 "Plugins for the GStreamer multimedia library")
250 (description "This package provides an essential exemplary set of plug-ins
251 for the GStreamer multimedia library.")
252 (license license:lgpl2.0+)))
253
254 (define-public gst-plugins-good
255 (package
256 (name "gst-plugins-good")
257 (version "1.16.2")
258 (source
259 (origin
260 (method url-fetch)
261 (uri (string-append
262 "https://gstreamer.freedesktop.org/src/" name "/"
263 name "-" version ".tar.xz"))
264 (sha256
265 (base32
266 "068k3cbv1yf3gbllfdzqsg263kzwh21y8dpwr0wvgh15vapkpfs0"))))
267 (build-system meson-build-system)
268 (inputs
269 `(("aalib" ,aalib)
270 ("cairo" ,cairo)
271 ("flac" ,flac)
272 ("gdk-pixbuf" ,gdk-pixbuf)
273 ("gst-plugins-base" ,gst-plugins-base)
274 ("gtk+" ,gtk+)
275 ("jack" ,jack-1)
276 ("lame" ,lame)
277 ("libavc1394" ,libavc1394)
278 ("libcaca" ,libcaca)
279 ("libdv" ,libdv)
280 ("libiec61883" ,libiec61883)
281 ("libjpeg" ,libjpeg-turbo)
282 ("libpng" ,libpng)
283 ("libshout" ,libshout)
284 ("libsoup" ,libsoup)
285 ("libvpx" ,libvpx)
286 ("mpg123" ,mpg123)
287 ("orc" ,orc)
288 ("pulseaudio" ,pulseaudio)
289 ("speex" ,speex)
290 ("taglib" ,taglib)
291 ("twolame" ,twolame)
292 ("wavpack" ,wavpack)))
293 (native-inputs
294 `(("glib:bin" ,glib "bin")
295 ("pkg-config" ,pkg-config)
296 ("python-wrapper" ,python-wrapper)))
297 (arguments
298 `(#:phases
299 (modify-phases %standard-phases
300 ,@%common-gstreamer-phases
301 ,@(if (string-prefix? "arm" (or (%current-target-system)
302 (%current-system)))
303 ;; FIXME: These tests started failing on armhf after switching to Meson.
304 ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/689
305 `((add-after 'unpack 'disable-tests-for-armhf
306 (lambda _
307 (substitute* "tests/check/elements/rtpbin_buffer_list.c"
308 (("tcase_add_test \\(tc_chain, test_bufferlist\\);")
309 ""))
310 (substitute* "tests/check/elements/rtpulpfec.c"
311 (("tcase_add_loop_test.*rtpulpfecdec_recovered_from_many.*")
312 "")
313 (("tcase_add.*rtpulpfecdec_recovered_using_recovered_packet.*")
314 ""))
315 #t)))
316 '())
317 (add-after
318 'unpack 'disable-failing-tests
319 (lambda _
320 ;; Disable tests that fail non-deterministically.
321 ;; This test fails on aarch64 on 1.12.x.
322 (substitute* "tests/check/elements/alpha.c"
323 (("tcase_add_test \\(tc_chain, test_chromakeying\\);" all)
324 (string-append "/* " all " */")))
325 #t)))))
326 (home-page "https://gstreamer.freedesktop.org/")
327 (synopsis
328 "Plugins for the GStreamer multimedia library")
329 (description "GStreamer Good Plug-ins is a set of plug-ins for the
330 GStreamer multimedia library. This set contains those plug-ins which the
331 developers consider to have good quality code and correct functionality.")
332 (license license:lgpl2.0+)))
333
334 (define-public gst-plugins-bad
335 (package
336 (name "gst-plugins-bad")
337 (version "1.16.2")
338 (source (origin
339 (method url-fetch)
340 (uri (string-append "https://gstreamer.freedesktop.org/src/"
341 name "/" name "-" version ".tar.xz"))
342 (sha256
343 (base32
344 "0x0y0hm0ga3zqi5q4090hw5sjh59y1ry9ak16qsaascm72i7mjzi"))))
345 (build-system meson-build-system)
346 (arguments
347 `(#:phases
348 (modify-phases %standard-phases
349 ,@%common-gstreamer-phases
350 ,@(if (string-prefix? "arm" (or (%current-target-system)
351 (%current-system)))
352 ;; Disable test that fails on ARMv7.
353 ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1188
354 `((add-after 'unpack 'disable-asfmux-test
355 (lambda _
356 (substitute* "tests/check/meson.build"
357 (("\\[\\['elements/asfmux\\.c'\\]\\],")
358 ""))
359 #t)))
360 '())
361 (add-after 'unpack 'disable-failing-test
362 (lambda _
363 ;; FIXME: Why is this failing.
364 (substitute* "tests/check/meson.build"
365 ((".*elements/dash_mpd\\.c.*")
366 ""))
367 #t)))))
368 (propagated-inputs
369 `(("gst-plugins-base" ,gst-plugins-base)))
370 (native-inputs
371 `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
372 ("gobject-introspection" ,gobject-introspection)
373 ;; TODO: Enable documentation for 1.18.
374 ;;("gtk-doc" ,gtk-doc)
375 ("pkg-config" ,pkg-config)
376 ("python" ,python)))
377 (inputs
378 ;; XXX: The following dependencies are missing:
379 ;; vo-amrwbenc, vo-aacenc, bs2b, chromaprint, directfb, daala, libdts,
380 ;; faac, flite, libgsm, libde265, libmms, libmimic, mjpegtools,
381 ;; mpeg2enc, libofa, opencv, openh264, openni2, libtimemmgr, wildmidi,
382 ;; openspc, gme, sbc, schroedinger, zbar, librtmp, spandsp
383 `(("bluez" ,bluez)
384 ("curl" ,curl)
385 ("faad2" ,faad2)
386 ("fluidsynth" ,fluidsynth)
387 ("gtk+" ,gtk+)
388 ("ladspa" ,ladspa)
389 ("libass" ,libass)
390 ("libdvdnav" ,libdvdnav)
391 ("libdvdread" ,libdvdread)
392 ("libgcrypt" ,libgcrypt)
393 ("libgudev" ,libgudev)
394 ("libkate" ,libkate)
395 ("libmodplug" ,libmodplug)
396 ("librsvg" ,librsvg)
397 ("libsndfile" ,libsndfile)
398 ("libsrtp" ,libsrtp)
399 ("libssh2" ,libssh2)
400 ("libusb" ,libusb)
401 ("libvdpau" ,libvdpau)
402 ("libwebp" ,libwebp)
403 ("libxml2" ,libxml2)
404 ("lrdf" ,lrdf)
405 ("mesa" ,mesa)
406 ("neon" ,neon)
407 ("openal" ,openal)
408 ("openexr" ,openexr)
409 ("openjpeg" ,openjpeg)
410 ("openssl" ,openssl)
411 ("opus" ,opus)
412 ("orc" ,orc)
413 ;("qtbase" ,qtbase)
414 ;("qtdeclarative" ,qtdeclarative)
415 ;("qtx11extras" ,qtx11extras)
416 ("soundtouch" ,soundtouch)
417 ("x265" ,x265)
418 ("wayland" ,wayland)))
419 (home-page "https://gstreamer.freedesktop.org/")
420 (synopsis "Plugins for the GStreamer multimedia library")
421 (description
422 "GStreamer Bad Plug-ins is a set of plug-ins whose quality aren't up to
423 par compared to the rest.")
424 (license license:lgpl2.0+)))
425
426 (define-public gst-plugins-ugly
427 (package
428 (name "gst-plugins-ugly")
429 (version "1.16.2")
430 (source
431 (origin
432 (method url-fetch)
433 (uri (string-append "https://gstreamer.freedesktop.org/src/"
434 name "/" name "-" version ".tar.xz"))
435 (sha256
436 (base32
437 "1jpvc32x6q01zjkfgh6gmq6aaikiyfwwnhj7bmvn52syhrdl202m"))))
438 (build-system meson-build-system)
439 (arguments
440 `(#:phases (modify-phases %standard-phases
441 ,@%common-gstreamer-phases)))
442 (inputs
443 `(("gst-plugins-base" ,gst-plugins-base)
444 ("liba52" ,liba52)
445 ("libcdio" ,libcdio)
446 ("libmpeg2" ,libmpeg2)
447 ("libdvdread" ,libdvdread)
448 ("libx264" ,libx264)
449 ;; TODO:
450 ;; * opencore-amr (for the AMR-NB decoder and encoder and the
451 ;; AMR-WB decoder) <http://sourceforge.net/projects/opencore-amr/>
452 ("orc" ,orc)))
453 (native-inputs
454 `(("glib:bin" ,glib "bin")
455 ("pkg-config" ,pkg-config)
456 ("python-wrapper" ,python-wrapper)))
457 (home-page "https://gstreamer.freedesktop.org/")
458 (synopsis "GStreamer plugins from the \"ugly\" set")
459 (description "GStreamer Ugly Plug-ins. This set contains those plug-ins
460 which the developers consider to have good quality code but that might pose
461 distribution problems in some jurisdictions, e.g. due to patent threats.")
462 (license license:lgpl2.0+)))
463
464 (define-public gst-libav
465 (package
466 (name "gst-libav")
467 (version "1.16.2")
468 (source (origin
469 (method url-fetch)
470 (uri (string-append
471 "https://gstreamer.freedesktop.org/src/" name "/"
472 name "-" version ".tar.xz"))
473 (sha256
474 (base32
475 "1wpfilc98bad9nsv3y1qapxp35dvn2mvwvrmqwrsj58cf09gc967"))
476 (modules '((guix build utils)))
477 (snippet
478 '(begin
479 ;; Drop bundled ffmpeg.
480 (delete-file-recursively "gst-libs/ext/libav")
481 #t))))
482 (build-system meson-build-system)
483 (native-inputs
484 `(("pkg-config" ,pkg-config)
485 ("python" ,python)))
486 (inputs
487 `(("gst-plugins-base" ,gst-plugins-base)
488 ("ffmpeg" ,ffmpeg)
489 ("orc" ,orc)
490 ("zlib" ,zlib)))
491 (home-page "https://gstreamer.freedesktop.org/")
492 (synopsis "Plugins for the GStreamer multimedia library")
493 (description
494 "This GStreamer plugin supports a large number of audio and video
495 compression formats through the use of the libav library.")
496 (license license:gpl2+)))
497
498 (define-public gst-editing-services
499 (package
500 (name "gst-editing-services")
501 (version "1.16.2")
502 (source (origin
503 (method url-fetch)
504 (uri (string-append
505 "https://gstreamer.freedesktop.org/src/" name "/"
506 "gstreamer-editing-services-" version ".tar.xz"))
507 (sha256
508 (base32
509 "05hcf3prna8ajjnqd53221gj9syarrrjbgvjcbhicv0c38csc1hf"))))
510 (build-system meson-build-system)
511 (arguments
512 ;; FIXME: 16/22 failing tests.
513 `(#:tests? #f
514 #:phases (modify-phases %standard-phases
515 ,@%common-gstreamer-phases)))
516 (inputs
517 `(("gst-plugins-base" ,gst-plugins-base)
518 ("libxml2" ,libxml2)))
519 (native-inputs
520 `(("flex" ,flex)
521 ("gst-plugins-bad" ,gst-plugins-bad)
522 ("gst-plugins-good" ,gst-plugins-good)
523 ("perl" ,perl)
524 ("pkg-config" ,pkg-config)
525 ("python" ,python)))
526 (home-page "https://gstreamer.freedesktop.org/")
527 (synopsis "GStreamer library for non-linear editors")
528 (description
529 "This is a high-level library for facilitating the creation of audio/video
530 non-linear editors.")
531 (license license:gpl2+)))
532
533 (define-public python-gst
534 (package
535 (name "python-gst")
536 (version "1.16.2")
537 (source (origin
538 (method url-fetch)
539 (uri (string-append
540 "https://gstreamer.freedesktop.org/src/gst-python/"
541 "gst-python-" version ".tar.xz"))
542 (sha256
543 (base32
544 "1a48ca66izmm8hnp608jv5isg3jxb0vlfmhns0bg9nbkilag7390"))
545 (patches
546 (search-patches "python-gst-fix-build-with-python-3.8.patch"))))
547 (build-system meson-build-system)
548 (arguments
549 `(#:modules ((guix build meson-build-system)
550 (guix build utils)
551 ((guix build python-build-system) #:prefix python:))
552 #:imported-modules (,@%meson-build-system-modules
553 (guix build python-build-system))
554 #:configure-flags
555 (list (string-append
556 "-Dpygi-overrides-dir="
557 (python:site-packages %build-inputs %outputs) "gi/overrides"))))
558 (native-inputs
559 `(("pkg-config" ,pkg-config)
560 ("python" ,python)))
561 (propagated-inputs
562 `(("gst-plugins-base" ,gst-plugins-base)
563 ("python-pygobject" ,python-pygobject)))
564 (home-page "https://gstreamer.freedesktop.org/")
565 (synopsis "GStreamer GObject Introspection overrides for Python")
566 (description
567 "This package contains GObject Introspection overrides for Python that can
568 be used by Python applications using GStreamer.")
569 (license license:lgpl2.1+)
570 (properties `((python2-variant . ,(delay python2-gst))))))
571
572 (define-public python2-gst
573 (package (inherit python-gst)
574 (name "python2-gst")
575 (native-inputs
576 `(("pkg-config" ,pkg-config)
577 ("python" ,python-2)))
578 (propagated-inputs
579 `(("gst-plugins-base" ,gst-plugins-base)
580 ("python-pygobject" ,python2-pygobject)))))
581
582 (define-public gst123
583 (package
584 (name "gst123")
585 (version "0.3.5")
586 (source (origin
587 (method url-fetch)
588 (uri (string-append "http://space.twc.de/~stefan/gst123/gst123-"
589 version ".tar.bz2"))
590 (sha256
591 (base32
592 "0zaa117n4wkya9p903vkj8hj58lmdb66pxsdx5wwcv7nffbp5d67"))))
593 (build-system gnu-build-system)
594 (inputs
595 `(("gtk+" ,gtk+-2)
596 ("ncurses" ,ncurses)
597 ("gstreamer" ,gstreamer)
598 ("gst-plugins-base" ,gst-plugins-base)))
599 (native-inputs
600 `(("pkg-config" ,pkg-config)))
601 (home-page "http://space.twc.de/~stefan/gst123.php")
602 (synopsis "Flexible command line media player based on gstreamer")
603 (description "The program gst123 is designed to be a more flexible command
604 line player in the spirit of ogg123 and mpg123, based on the gstreamer media
605 framework. It plays all file formats gstreamer supports, so if you have a
606 music collection which contains different file formats, like flac, ogg and
607 mp3, you can use gst123 to play all your music files.")
608 (license license:lgpl2.0+)))