diff options
Diffstat (limited to 'media-plugins/gst-plugins-libav/gst-plugins-libav-1.14.4.4.1.1_p20190113.ebuild')
-rw-r--r-- | media-plugins/gst-plugins-libav/gst-plugins-libav-1.14.4.4.1.1_p20190113.ebuild | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/media-plugins/gst-plugins-libav/gst-plugins-libav-1.14.4.4.1.1_p20190113.ebuild b/media-plugins/gst-plugins-libav/gst-plugins-libav-1.14.4.4.1.1_p20190113.ebuild new file mode 100644 index 000000000000..5b725f793bbf --- /dev/null +++ b/media-plugins/gst-plugins-libav/gst-plugins-libav-1.14.4.4.1.1_p20190113.ebuild @@ -0,0 +1,103 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit autotools eapi7-ver multilib-minimal + +MY_PN="gst-libav" +MY_PV="$(ver_cut 1-3)" +MY_P="${MY_PN}-${MY_PV}" +FFMPEG_PV="$(ver_cut 4- ${PV%_*})" + +DESCRIPTION="FFmpeg based gstreamer plugin" +HOMEPAGE="https://gstreamer.freedesktop.org/modules/gst-libav.html" +SRC_URI="https://gstreamer.freedesktop.org/src/${MY_PN}/${MY_P}.tar.xz + https://dev.gentoo.org/~leio/distfiles/${MY_P}-ffmpeg4-patchset.tar.xz + libav? ( https://ffmpeg.org/releases/ffmpeg-${FFMPEG_PV}.tar.bz2 )" + +LICENSE="LGPL-2+" +SLOT="1.0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~x86 ~x86-fbsd" +IUSE="libav +orc" + +RDEPEND=" + >=dev-libs/glib-2.40.0:2[${MULTILIB_USEDEP}] + >=media-libs/gstreamer-${MY_PV}:1.0[${MULTILIB_USEDEP}] + >=media-libs/gst-plugins-base-${MY_PV}:1.0[${MULTILIB_USEDEP}] + !libav? ( >=media-video/ffmpeg-4:0=[${MULTILIB_USEDEP}] ) + libav? ( + app-arch/bzip2[${MULTILIB_USEDEP}] + app-arch/xz-utils[${MULTILIB_USEDEP}] + ) + orc? ( >=dev-lang/orc-0.4.17[${MULTILIB_USEDEP}] ) +" +DEPEND="${RDEPEND} + >=dev-util/gtk-doc-am-1.12 + >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}] +" + +S="${WORKDIR}/${MY_P}" + +PATCHES=( + "${WORKDIR}"/patches # ffmpeg-4 compat and more from git up to 20181115; requires eautoreconf + "${FILESDIR}"/AVOptionsRanges-leak-fix.patch # extra patch from Jan 2019 for a leak fix + "${FILESDIR}"/external-ffmpeg4-dep.patch # Automatically rescan available elements for registry when system ffmpeg changes +) + +RESTRICT="test" # FIXME: tests seem to get stuck at one point; investigate properly + +src_unpack() { + default + + if use libav; then + # Use newer version of bundled FFmpeg. + rm -r "${S}/gst-libs/ext/libav" || die + ln -s ../../../ffmpeg-${FFMPEG_PV} "${S}/gst-libs/ext/libav" || die + fi +} + +src_prepare() { + default + eautoreconf # remove with a proper release without build system touching patchset +} + +multilib_src_configure() { + GST_PLUGINS_BUILD="" + # Upstream dropped support for system libav and won't work + # for preserving its compat anymore, forcing us to rely on internal + # ffmpeg copy if we don't want to cause unresolvable blockers for + # libav setups. + # https://bugzilla.gnome.org/show_bug.cgi?id=758183 + # Prefer system ffmpeg for -libav + local myconf=() + + if use libav; then + ewarn "Using bundled ffmpeg copy as upstream dropped" + ewarn "the support for compiling against system libav" + ewarn "https://bugzilla.gnome.org/show_bug.cgi?id=758183" + + myconf+=(--with-libav-extra-configure="--disable-debug --optflags=\\\"${CFLAGS}\\\"") + else + myconf+=("--with-system-libav") + fi + + ECONF_SOURCE=${S} \ + econf \ + --disable-maintainer-mode \ + --with-package-name="Gentoo GStreamer ebuild" \ + --with-package-origin="https://www.gentoo.org" \ + --disable-fatal-warnings \ + $(use_enable orc) \ + "${myconf[@]}" +} + +multilib_src_compile() { + # Don't build with -Werror; verbose build + emake ERROR_CFLAGS= V=1 +} + +multilib_src_install_all() { + einstalldocs + find "${ED}" -name '*.la' -delete || die +} |