gstreamer-meson.eclass

Name

gstreamer-meson.eclass -- Helps building core & split gstreamer plugins

Description

Eclass to make external gst-plugins emergable on a per-plugin basis and to solve the problem with gst-plugins generating far too much unneeded dependencies.

GStreamer consuming applications should depend on the specific plugins they need as defined in their source code. Usually you can find that out by grepping the source tree for factory_make. If it uses playbin plugin, consider adding media-plugins/gst-plugins-meta dependency, but also list any packages that provide explicitly requested plugins.

Supported EAPIs

7

Transitively Provided Eclasses

  • meson

  • multilib-minimal

Functions

gstreamer_system_package <gstaudio_dep:gstreamer-audio> [...]

Walks through meson.build in order to make sure build will link against system libraries.

Takes a list of path fragments and corresponding pkgconfig libraries separated by colon (:). Will replace the path fragment by the output of pkgconfig.

gstreamer_system_library <gstbasecamerabin_dep:libgstbasecamerabinsrc> [...]

Walks through meson.build in order to make sure build will link against system libraries.

Takes a list of path fragments and corresponding pkgconfig libraries separated by colon (:). Will replace the path fragment by the output of pkgconfig.

gstreamer_multilib_src_configure

Handles logic common to configuring gstreamer plugins

gstreamer_multilib_src_compile

Compiles requested gstreamer plugin.

gstreamer_multilib_src_test

Tests the gstreamer plugin (non-split)

gstreamer_multilib_src_install

Installs requested gstreamer plugin.

gstreamer_multilib_src_install_all

Installs documentation for requested gstreamer plugin

Variables

GST_PLUGINS_ENABLED

Defines the plugins to be built. May be set by an ebuild and contain more than one identifier, space separated (only src_configure can handle multiple plugins at this time).

GST_PLUGINS_NOAUTO

Space-separated list defined by the ebuild for plugin options which shouldn't be automatically defined by gstreamer_multilib_src_configure.

GST_PLUGINS_BUILD_DIR ?= ${PN/gst-plugins-/}

Actual build directories of the plugins. Most often the same as the configure switch name.

FIXME: Change into a bash array

GST_TARBALL_SUFFIX ?= "xz"

Most projects hosted on https://gstreamer.freedesktop.org mirrors provide tarballs as tar.bz2 or tar.xz. This eclass defaults to xz. This is because the gstreamer mirrors are moving to only have xz tarballs for new releases.

GST_ORG_MODULE ?= ${PN}

Name of the module as hosted on https://gstreamer.freedesktop.org mirrors. Leave unset if package name matches module name.

Authors

Haelwenn (lanodan) Monnier <contact@hacktivis.me>

Michał Górny <mgorny@gentoo.org>

Gilles Dartiguelongue <eva@gentoo.org>

Saleem Abdulrasool <compnerd@gentoo.org>

foser <foser@gentoo.org>

zaheerm <zaheerm@gentoo.org>

Steven Newbury

Maintainers

gstreamer@gentoo.org

Reporting Bugs

Please report bugs via https://bugs.gentoo.org/