1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
3 ;;; Copyright 2014 John Darrington <jmd@gnu.org>
5 ;;; This file is part of GNU Guix.
7 ;;; GNU Guix is free software; you can redistribute it and/or modify it
8 ;;; under the terms of the GNU General Public License as published by
9 ;;; the Free Software Foundation; either version 3 of the License, or (at
10 ;;; your option) any later version.
12 ;;; GNU Guix is distributed in the hope that it will be useful, but
13 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
14 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 ;;; GNU General Public License for more details.
17 ;;; You should have received a copy of the GNU General Public License
18 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
20 (define-module (gnu packages gstreamer)
21 #:use-module ((guix licenses) #:select (lgpl2.0+))
22 #:use-module (guix packages)
23 #:use-module (guix download)
24 #:use-module (guix build-system gnu)
25 #:use-module (gnu packages)
26 #:use-module (gnu packages bison)
27 #:use-module (gnu packages compression)
28 #:use-module (gnu packages flex)
29 #:use-module (gnu packages glib)
30 #:use-module (gnu packages gtk)
31 #:use-module (gnu packages image)
32 #:use-module (gnu packages linux)
33 #:use-module (gnu packages perl)
34 #:use-module (gnu packages pulseaudio)
35 #:use-module (gnu packages xorg)
36 #:use-module (gnu packages xiph)
37 #:use-module (gnu packages pkg-config)
38 #:use-module (gnu packages python)
39 #:use-module (gnu packages xml))
41 (define-public gstreamer
48 (uri (string-append "http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-"
52 "0c0irk85jd2cihm5pmf4zxhlpg08qpxjcqv1l9qn2n3h2gsaj2lf"))))
53 (build-system gnu-build-system)
55 ;; XXX: Temporarily disable tests to work around 'gst/gstbus' test
56 ;; failure: <https://bugzilla.gnome.org/show_bug.cgi?id=724073>.
58 (inputs `(("glib" ,glib)))
64 ("pkg-config" ,pkg-config)
65 ("python-wrapper" ,python-wrapper)))
66 (home-page "http://gstreamer.freedesktop.org/")
67 (synopsis "Multimedia library")
69 "GStreamer is a library for constructing graphs of media-handling
70 components. The applications it supports range from simple Ogg/Vorbis
71 playback, audio/video streaming to complex audio (mixing) and video
72 (non-linear editing) processing.
74 Applications can take advantage of advances in codec and filter technology
75 transparently. Developers can add new codecs and filters by writing a
76 simple plugin with a clean, generic interface.
78 This package provides the core library and elements.")
81 (define-public gstreamer-0.10
82 (package (inherit gstreamer)
87 (uri (string-append "http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-"
91 "1nkid1n2l3rrlmq5qrf5yy06grrkwjh3yxl5g0w58w0pih8allci"))
93 (list (search-patch "gstreamer-0.10-bison3.patch")
94 (search-patch "gstreamer-0.10-silly-test.patch")))))
96 `(("libxml2" ,libxml2)))
97 (inputs `(("glib" ,glib)))
102 ("pkg-config" ,pkg-config)
104 ("python" ,python-2)))))
107 (define-public gst-plugins-base
109 (name "gst-plugins-base")
114 (uri (string-append "http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-"
118 "1s4pphbb5kpdh4rrmb8rala4sp499k4by59925k15xiz58xyhm4p"))))
119 (build-system gnu-build-system)
124 ("libtheora" ,libtheora)
125 ("libvorbis" ,libvorbis)
130 ("alsa-lib" ,alsa-lib)
131 ("gstreamer" ,gstreamer)))
133 `(("pkg-config" ,pkg-config)
135 ("python-wrapper" ,python-wrapper)))
138 ;; All tests pass except for one:
139 ;; Running suite(s): pbutils library
140 ;; 85%: Checks: 7, Failures: 1, Errors: 0
141 ;; libs/pbutils.c:522:F:general:test_pb_utils_install_plugins:0: gst_install_plugins_sync() failed ;; with unexpected ret 201, which is neither HELPER_MISSING nor 1
142 ;; FAIL: libs/pbutils
143 ;; According to the documentation, "gst_install_plugins_sync (...)
144 ;; should almost never be used".
145 (home-page "http://gstreamer.freedesktop.org/")
147 "Plugins for the GStreamer multimedia library")
148 (description "This package provides an essential exemplary set of plug-ins
149 for the GStreamer multimedia library.")
153 (define-public gst-plugins-good
155 (name "gst-plugins-good")
161 "http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-"
165 "1bi8ci0jssi8bsa7wbmqcwphl579vvxpshn2qnaggiha13b440y6"))))
166 (build-system gnu-build-system)
170 ("gdk-pixbuf" ,gdk-pixbuf)
173 ("libogg" ,libogg) ;; should be a propagated input of the above
180 ("pulseaudio" ,pulseaudio)
181 ("gstreamer" ,gstreamer)))
183 `(("pkg-config" ,pkg-config)
185 ("gst-plugins-base" ,gst-plugins-base)
186 ("python-wrapper" ,python-wrapper)))
188 `(#:configure-flags (list "--disable-osx_audio"
189 "--disable-osx_video"
190 "--disable-directsound"
191 "--disable-waveform")))
192 (home-page "http://gstreamer.freedesktop.org/")
194 "Plugins for the GStreamer multimedia library")
195 (description "GStreamer Good Plug-ins is a set of plug-ins for the
196 GStreamer multimedia library. This set contains those plug-ins which the
197 developers consider to have good quality code and correct functionality.")
200 (define-public gst-plugins-base-0.10
201 (package (inherit gst-plugins-base)
207 "http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-"
211 "0jp6hjlra98cnkal4n6bdmr577q8mcyp3c08s3a02c4hjhw5rr0z"))))
214 ("gstreamer" ,gstreamer-0.10)))
216 `(("pkg-config" ,pkg-config)
218 ("python" ,python-2)))))