2013-09-22 14:22:00 +00:00
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
( define-module ( gnu packages gstreamer )
# :use-module ( ( guix licenses ) # :select ( lgpl2 . 0 + ) )
# :use-module ( guix packages )
# :use-module ( guix download )
# :use-module ( guix build-system gnu )
2013-10-30 21:06:57 +00:00
# :use-module ( gnu packages )
2013-09-22 14:22:00 +00:00
# :use-module ( gnu packages bison )
# :use-module ( gnu packages flex )
# :use-module ( gnu packages glib )
# :use-module ( gnu packages perl )
# :use-module ( gnu packages pkg-config )
2013-10-30 21:06:57 +00:00
# :use-module ( gnu packages python )
# :use-module ( gnu packages xml ) )
2013-09-22 14:22:00 +00:00
( define-public gstreamer
( package
( name "gstreamer" )
( version "1.0.10" )
( source
( origin
( method url-fetch )
( uri ( string-append "http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-"
version ".tar.xz" ) )
( sha256
( base32
"0c0irk85jd2cihm5pmf4zxhlpg08qpxjcqv1l9qn2n3h2gsaj2lf" ) ) ) )
( build-system gnu-build-system )
( inputs
` ( ( "bison" , bison )
( "flex" , flex )
( "glib" , glib )
( "perl" , perl )
( "pkg-config" , pkg-config )
2013-09-22 14:41:29 +00:00
( "python-wrapper" , python-wrapper ) ) )
2013-09-22 14:22:00 +00:00
( home-page "http://gstreamer.freedesktop.org/" )
( synopsis
"Multimedia library" )
( description
" GStreamer is a library for constructing graphs of media-handling
components . The applications it supports range from simple Ogg/Vorbis
playback, audio/video streaming to complex audio ( mixing ) and video
( non-linear editing ) processing .
Applications can take advantage of advances in codec and filter technology
transparently . Developers can add new codecs and filters by writing a
simple plugin with a clean, generic interface .
This package provides the core library and elements . " )
( license lgpl2 . 0 + ) ) )
2013-09-22 15:25:12 +00:00
2013-10-30 21:06:57 +00:00
( define-public gstreamer-0 . 10
( package ( inherit gstreamer )
( version "0.10.36" )
( source
( origin
( method url-fetch )
( uri ( string-append "http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-"
version ".tar.xz" ) )
( sha256
( base32
"1nkid1n2l3rrlmq5qrf5yy06grrkwjh3yxl5g0w58w0pih8allci" ) )
( patches
( list ( search-patch "gstreamer-0.10-bison3.patch" )
( search-patch "gstreamer-0.10-silly-test.patch" ) ) ) ) )
2013-10-30 21:57:52 +00:00
( propagated-inputs
` ( ( "libxml2" , libxml2 ) ) )
2013-10-30 21:06:57 +00:00
( inputs
` ( ( "bison" , bison )
( "flex" , flex )
( "glib" , glib )
( "perl" , perl )
( "pkg-config" , pkg-config )
( "python" , python-2 ) ) ) ) )
2013-09-22 15:25:12 +00:00
( define-public gst-plugins-base
( package
( name "gst-plugins-base" )
( version "1.0.10" )
( source
( origin
( method url-fetch )
( uri ( string-append "http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-"
version ".tar.xz" ) )
( sha256
( base32
"1s4pphbb5kpdh4rrmb8rala4sp499k4by59925k15xiz58xyhm4p" ) ) ) )
( build-system gnu-build-system )
;; FIXME: Add more dependencies for further plugins.
( inputs
` ( ( "glib" , glib )
( "gstreamer" , gstreamer )
( "pkg-config" , pkg-config )
( "python-wrapper" , python-wrapper ) ) )
( arguments
` ( # :tests? #f ) )
;; All tests pass except for one:
;; Running suite(s): pbutils library
;; 85%: Checks: 7, Failures: 1, Errors: 0
;; 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
;; FAIL: libs/pbutils
;; According to the documentation, "gst_install_plugins_sync (...)
;; should almost never be used".
( home-page "http://gstreamer.freedesktop.org/" )
( synopsis
"Plugins for the gstreamer multimedia library" )
( description
" GStreamer is a library for constructing graphs of media-handling
components . The applications it supports range from simple Ogg/Vorbis
playback, audio/video streaming to complex audio ( mixing ) and video
( non-linear editing ) processing .
Applications can take advantage of advances in codec and filter technology
transparently . Developers can add new codecs and filters by writing a
simple plugin with a clean, generic interface .
This package provides an essential exemplary set of elements . " )
( license lgpl2 . 0 + ) ) )
2013-10-30 21:58:39 +00:00
( define-public gst-plugins-base-0 . 10
( package ( inherit gst-plugins-base )
( version "0.10.36" )
( source
( origin
( method url-fetch )
( uri ( string-append "http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-"
version ".tar.xz" ) )
( sha256
( base32
"0jp6hjlra98cnkal4n6bdmr577q8mcyp3c08s3a02c4hjhw5rr0z" ) ) ) )
( inputs
` ( ( "glib" , glib )
( "gstreamer" , gstreamer-0 . 10 )
( "pkg-config" , pkg-config )
( "python" , python-2 ) ) ) ) )