diff options
Diffstat (limited to 'media-libs')
-rw-r--r-- | media-libs/opus/opus-1.5.1-r1.ebuild | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/media-libs/opus/opus-1.5.1-r1.ebuild b/media-libs/opus/opus-1.5.1-r1.ebuild new file mode 100644 index 000000000000..fd6dfbd58bf7 --- /dev/null +++ b/media-libs/opus/opus-1.5.1-r1.ebuild @@ -0,0 +1,69 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) +inherit flag-o-matic meson-multilib python-any-r1 + +DESCRIPTION="Open codec for interactive speech and music transmission over the Internet" +HOMEPAGE="https://opus-codec.org/" +SRC_URI="https://downloads.xiph.org/releases/opus/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +INTRINSIC_FLAGS="cpu_flags_x86_sse cpu_flags_arm_neon" +IUSE="custom-modes debug doc hardened static-libs test ${INTRINSIC_FLAGS}" +RESTRICT="!test? ( test )" + +BDEPEND=" + ${PYTHON_DEPS} + doc? ( + app-text/doxygen + media-gfx/graphviz + ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.3.1-libdir-macro.patch + "${FILESDIR}"/${PN}-1.4-arm64-neon.patch +) + +multilib_src_configure() { + local emesonargs=( + -Ddefault_library=$(multilib_native_usex static-libs both shared) + + # These all have runtime toggles too, per https://opus-codec.org/demo/opus-1.5/ + -Denable-deep-plc=true + -Denable-dred=true + -Denable-osce=true + + $(meson_use custom-modes) + $(meson_feature test tests) + $(meson_use debug assertions) + $(meson_use hardened hardening) + + $(meson_native_use_feature doc docs) + + -Ddocdir="${EPREFIX}"/usr/share/doc/${PF} + ) + + # Disable intrinsics if no flags are enabled (bug #752069) + # bug #752069 + # TODO: What is -Dasm for? + local i + for i in ${INTRINSIC_FLAGS} ; do + use ${i} && emesonargs+=( -Dintrinsics=enabled ) && break + done || emesonargs+=( -Dintrinsics=disabled ) + + if is-flagq -ffast-math || is-flagq -Ofast ; then + emesonargs+=( -Dfloat-approx=true ) + fi + + meson_src_configure +} + +multilib_src_test() { + meson_src_test --timeout-multiplier=2 +} |