# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 RUST_OPTIONAL=1 RUST_MIN_VER=1.48 # BENTOO-DIVERGENCE: INHERIT - no virtualx in this ebuild's inherit line, where # ::gentoo lists it. Cosmetic, and checked rather than assumed: gstreamer-meson # .eclass does "inherit virtualx" itself, in the branch taken by a top-level # module (not a split plugin), on both sides. virtualx appears in _eclasses_ of # both md5-cache entries, so the same eclass is loaded either way - ::gentoo # simply restates in the ebuild what its eclass already did. inherit gstreamer-meson rust verify-sig DESCRIPTION="Open source multimedia framework" HOMEPAGE="https://gstreamer.freedesktop.org/" SRC_URI="https://${PN}.freedesktop.org/src/${PN}/${P}.tar.xz" SRC_URI+=" verify-sig? ( https://${PN}.freedesktop.org/src/${PN}/${P}.tar.xz.asc )" LICENSE="LGPL-2+" SLOT="1.0" KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ppc64 ~riscv ~sparc x86 ~x64-macos ~x64-solaris" IUSE="+caps +introspection ptp unwind" # gstreamer-1.22.x requires 2.62, but 2.64 is strongly recommended RDEPEND=" >=dev-libs/glib-2.64.0:2[${MULTILIB_USEDEP}] caps? ( sys-libs/libcap[${MULTILIB_USEDEP}] ) introspection? ( >=dev-libs/gobject-introspection-1.31.1:= ) unwind? ( >=sys-libs/libunwind-1.2_rc1[${MULTILIB_USEDEP}] dev-libs/elfutils[${MULTILIB_USEDEP}] ) " DEPEND="${RDEPEND}" BDEPEND=" verify-sig? ( sec-keys/openpgp-keys-tpm ) dev-util/glib-utils app-alternatives/yacc app-alternatives/lex ptp? ( ${RUST_DEPEND} ) " DOCS=( README.md ) # BENTOO-DIVERGENCE: PATCHES - disable-test-with-no-tools, absent from # ::gentoo. gstregistry looks for gst-plugin-scanner, which is not built when # tools are disabled -- and this overlay disables them on the non-native ABI via # meson_native_enabled, so the testsuite breaks there and not on ::gentoo, which # builds tools on every ABI. The patch header records the wider bug this papers # over (Gentoo 870361, still open); the audit re-checked it and found it # unchanged. PATCHES=( "${FILESDIR}"/gstreamer-1.24.10-disable-test-with-no-tools.patch ) VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/tpm.asc # Rust QA_FLAGS_IGNORED="usr/libexec/gstreamer-1.0/gst-ptp-helper" pkg_setup() { gstreamer-meson_pkg_setup use ptp && rust_pkg_setup } multilib_src_configure() { local emesonargs=( -Dtools=$(multilib_is_native_abi && echo enabled || echo disabled) -Dbenchmarks=disabled -Dexamples=disabled -Dcheck=enabled -Dptp-helper=$(multilib_is_native_abi && echo $(usex 'ptp' 'enabled' 'disabled') || echo disabled) $(meson_feature unwind libunwind) $(meson_feature unwind libdw) ) if use caps ; then emesonargs+=( -Dptp-helper-permissions=capabilities ) else emesonargs+=( -Dptp-helper-permissions=setuid-root -Dptp-helper-setuid-user=nobody -Dptp-helper-setuid-group=nobody ) fi gstreamer_multilib_src_configure }