Source: @GST_PKGNAME@
Section: libs
Priority: optional
Maintainer: Maintainers of GStreamer packages <pkg-gstreamer-maintainers@lists.alioth.debian.org>
Uploaders: Loic Minier <lool@dooz.org>,
           Sebastien Bacher <seb128@debian.org>,
           Sebastian Dröge <slomo@debian.org>,
           Sjoerd Simons <sjoerd@debian.org>
Build-Depends: debhelper (>= 7),
               cdbs (>= 0.4.20),
               gnome-pkg-tools (>= 0.7),
               autotools-dev,
               dh-autoreconf,
               autopoint,
               libxml2-dev (>= 2.6.0),
               zlib1g-dev (>= 1:1.1.4),
               libglib2.0-dev (>= 2.22),
               libgmp3-dev,
               libgsl0-dev,
               pkg-config (>= 0.11.0),
               bison (>= 1.875),
               flex (>= 2.5.34),
               dpkg-dev (>= 1.15.1),
               perl-doc,
               libgirepository1.0-dev (>= 0.9.12-4~),
               gobject-introspection (>= 0.9.12-4~),
               gir1.2-glib-2.0,
               gir1.2-freedesktop
Build-Depends-Indep: python (>= 2.2),
                     gtk-doc-tools (>= 0.7),
                     jade (>= 1.2.1),
                     transfig (>= 3.2.3.c),
                     docbook-utils (>= 0.6.9),
                     docbook-xml,
                     docbook-xsl,
                     xsltproc (>= 1.0.21),
                     ghostscript,
                     xmlto,
                     netpbm,
                     libxml2-doc,
                     libglib2.0-doc
Standards-Version: 3.8.4
Homepage: http://gstreamer.freedesktop.org

Package: @GST_LIB@
Architecture: any
Section: libs
Depends: ${shlibs:Depends},
         ${misc:Depends}
Suggests: @GST_PKGNAME@-tools,
          @GST_PKGNAME@-plugins-base
Description: Core GStreamer libraries and elements
 GStreamer is a streaming media framework, based on graphs of filters
 which operate on media data.  Applications using this library can do
 anything from real-time sound processing to playing videos, and just
 about anything else media-related.  Its plugin-based architecture means
 that new data types or processing capabilities can be added simply by
 installing new plug-ins.
 .
 This package contains the core library and elements.

Package: @GST_LIB@-dbg
Architecture: any
Section: debug
Priority: extra
Depends: @GST_LIB@ (= ${binary:Version}),
         ${misc:Depends}
Description: Core GStreamer libraries and elements
 GStreamer is a streaming media framework, based on graphs of filters
 which operate on media data.  Applications using this library can do
 anything from real-time sound processing to playing videos, and just
 about anything else media-related.  Its plugin-based architecture means
 that new data types or processing capabilities can be added simply by
 installing new plug-ins.
 .
 This package contains unstripped shared libraries. It is provided primarily
 to provide a backtrace with names in a debugger, this makes it somewhat
 easier to interpret core dumps. The libraries are installed in
 /usr/lib/debug and are automatically used by gdb.

Package: @GST_LIB_DEV@
Architecture: any
Section: libdevel
Depends: @GST_LIB@ (= ${binary:Version}),
         libc6-dev | libc-dev,
         pkg-config,
         libglib2.0-dev,
         libxml2-dev,
         ${shlibs:Depends},
         ${misc:Depends},
         gir1.2-gstreamer-@GST_ABI@ (= ${binary:Version})
Recommends: debhelper
Suggests: @GST_PKGNAME@-doc
Description: GStreamer core development files
 GStreamer is a streaming media framework, based on graphs of filters
 which operate on media data.  Applications using this library can do
 anything from real-time sound processing to playing videos, and just
 about anything else media-related.  Its plugin-based architecture means
 that new data types or processing capabilities can be added simply by
 installing new plug-ins.
 .
 This package contains development files for the core library and
 elements.

Package: @GST_PKGNAME@-doc
Architecture: all
Section: doc
Depends: ${misc:Depends},
         libxml2-doc,
         libglib2.0-doc
Recommends: @GST_LIB_DEV@ (= ${source:Version})
Description: GStreamer core documentation and manuals
 GStreamer is a streaming media framework, based on graphs of filters
 which operate on media data.  Applications using this library can do
 anything from real-time sound processing to playing videos, and just
 about anything else media-related.  Its plugin-based architecture means
 that new data types or processing capabilities can be added simply by
 installing new plug-ins.
 .
 This package contains documentation for core libraries and elements as
 well as:
  * the GStreamer Manual
  * the GStreamer Plugin Writers Guide
  * Various API docs

Package: @GST_PKGNAME@-tools
Architecture: any
Section: utils
Depends: ${shlibs:Depends},
         ${misc:Depends},
         pkg-config,
         @GST_LIB@ (>= @GST_VERSION@)
Suggests: @GST_PKGNAME@-plugins-base
Description: Tools for use with GStreamer
 GStreamer is a streaming media framework, based on graphs of filters
 which operate on media data.  Applications using this library can do
 anything from real-time sound processing to playing videos, and just
 about anything else media-related.  Its plugin-based architecture means
 that new data types or processing capabilities can be added simply by
 installing new plug-ins.
 .
 This package contains versioned command-line tools for GStreamer.

Package: gir1.2-gstreamer-@GST_ABI@
Section: libs
Architecture: any
Depends: ${gir:Depends},
         ${shlibs:Depends},
         ${misc:Depends},
         ${gir:Depends}
Description: Description: GObject introspection data for the GStreamer library
 This package contains introspection data for the GStreamer streaming media
 framework.
 .
 GStreamer is a streaming media framework, based on graphs of filters
 which operate on media data.  Applications using this library can do
 anything from real-time sound processing to playing videos, and just
 about anything else media-related.  Its plugin-based architecture means
 that new data types or processing capabilities can be added simply by
 installing new plug-ins.
 .
 It can be used by packages using the GIRepository format to generate
 dynamic bindings.

