summaryrefslogtreecommitdiff
path: root/media-libs/opus
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs/opus')
-rw-r--r--media-libs/opus/Manifest2
-rw-r--r--media-libs/opus/opus-1.5.1-r1.ebuild69
2 files changed, 71 insertions, 0 deletions
diff --git a/media-libs/opus/Manifest b/media-libs/opus/Manifest
index e38193dea9f4..42782c9a8f7a 100644
--- a/media-libs/opus/Manifest
+++ b/media-libs/opus/Manifest
@@ -1,5 +1,7 @@
AUX opus-1.3.1-libdir-macro.patch 359 BLAKE2B 901a1f09417bb962b3268a1d9a85cfc356df9c67b05452e31599c37cf9c0a2267c50e6b9bd820af2445d54a290d4170492bff692566c01e9b1841ed755b9c020 SHA512 ec9643035203e70589eeed1079cf4da7af548fc1e2f8f30645217042e6adb3f9e0f874dcbd96ad49c07637abb3abca94c201cfc7dd41ad1d687ecbc00320eb2c
AUX opus-1.4-arm64-neon.patch 888 BLAKE2B 31a46a4d4cda3381bbd2406bc5f3c8d3ee2c91df8616f2b7e1169925651447b2474839fb3fb03c34f5f66922f6e9fe1947c864e00a1fe786ec0f2b81c6c99166 SHA512 3b7a57da6499eef821119ba66a207a73c47cbfafeda76c411c5293ad77df1d6955ab96815ccc19eba0aeefc6e75502c13a75afd5d50c3ebc51fc53a40b1218ea
DIST opus-1.4.tar.gz 1063408 BLAKE2B 21f11df745cb868f4da1586d678901045fd9bd0c0590628015f3adc2522c88b0660df88096abe975051fec3188b76b93762c4a01907c2ab2b23c40fde79cf6ad SHA512 1ecd39e0add24de12823bf7c936bb67441228721e2cdae0edbfcf3cee0894bcc6edf2a1d0ca5cdfdad1565803bf39cc4c985ad32710c2a9582f850adeb5ca631
+DIST opus-1.5.1.tar.gz 7834540 BLAKE2B 5ba1d6f28594f366b545507bafb22751e15a0e78e152e7cdef456dccb0bc9fc512faa18c90fb4ea5455a9535de89df987dea8a0fabce9a25c285d0c410d4b482 SHA512 fa66c5d753f5deb5d61d068ff8f633d8cb5f454c94aeee9c404023ebc483f9b350586cdd98b7013faf4df3193e170a1708aaa598914275f7bc8be07587cc4dc6
EBUILD opus-1.4.ebuild 1660 BLAKE2B 36a379c1e2a02bf6951b2bdcade01e3af4e06ac612e4828b810496c8df459a65ef8f11c115d17ab1595128b9b8b9efe7aefc790a792a6a41e76dc0cc23e3f977 SHA512 f6c0cbf2c72fe29ef9e59f56be5e1e62a1ab513a62b23ce1285f0f90646b9f4eeb58e033be4de2f1c4153df84c9519672e3be8dcbad692cae5978c266f5fd94a
+EBUILD opus-1.5.1-r1.ebuild 1762 BLAKE2B c3db917c0833a792ade34f5c44876b931b9940bde30d1ff42e833feaa4b7cb8a572ae0d50b384a67dd43504a704afdcecae596c36438166e79f69b34e4ab7ed1 SHA512 d09e54f931125e6301f9947826e0416dc4e084c46f5eb0618719607fc4884ea51671022839697c6e9b9633286efc28e19ebcffd42da8c8216449555d86217ab7
MISC metadata.xml 538 BLAKE2B d65f695f3bf53cb827c9fbfc621cb58f3465e77f74f3bb3c436fc8741161798b6f7dc3381a07e21f7f1e5310104ed89179c64d9ab30f2102c76ef6ee73ad9ebc SHA512 0e84eba3a3711486a9569e7d38b0fe7cd11aa0d68c123f3304b6b698394dff4e48f4270624793cdc17a16a3ac8c9f921ae50bcbb30b920916b4bad9ae60c7117
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
+}