commit:     7df49c9e536286449adc6704508a2510d54a5a7e
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Mar  5 11:35:09 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Mar  5 11:35:09 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7df49c9e

media-libs/opus: activate new options in 1.5.1

Activate new options mentioned in https://opus-codec.org/demo/opus-1.5/.

They all have runtime toggles and can be overridden via MYMESONARGS if people
really need.

Bug: https://bugs.gentoo.org/926174
Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-libs/opus/opus-1.5.1-r1.ebuild | 69 ++++++++++++++++++++++++++++++++++++
 1 file changed, 69 insertions(+)

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
+}

Reply via email to