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.

Limitation to PROVIDES: multilib-minimal is provided by default, unless GST_PLUGINS_MULTILIB is set to false - then, shadow phase functions are calling the same gstreamer_multilib_* functions instead.

Supported EAPIs

8

Transitively Provided Eclasses

  • meson

  • multilib-minimal

Exported Phases

  • pkg_setup

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-meson_pkg_setup

Proxies python-any-r1_pkg_setup for forward-proofing any future pkg_setup needs.

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 and presets for requested gstreamer plugin

Variables

GST_PLUGINS_MULTILIB (SET BEFORE INHERIT)

Default value is true, which means eclass provides multilib-minimal and is setting up dependencies with MULTILIB_USEDEP accordingly. If set to false, does not add MULTILIB_USEDEP nor exports multilib phases.

_GST_PLUGINS_MULTILIB_USEDEP = ""

Contains [${MULTILIB_USEDEP}] if GST_PLUGINS_MULTILIB is true, otherwise empty.

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

Actual build directories of the plugins. Most often the same as the configure switch name. FIXME: Change into a bash array

GST_TARBALL_SUFFIX

Most projects hosted on 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

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

Authors

Mart Raudsepp <leio@gentoo.org>

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/