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