media-libs/opus: enable building with -ffast-math or -Ofast
authorPeter Levine <plevine457@gmail.com>
Mon, 20 May 2019 03:25:00 +0000 (23:25 -0400)
committerStefan Strogin <steils@gentoo.org>
Wed, 22 May 2019 01:23:24 +0000 (04:23 +0300)
Add support for --enable-float-approx configure option which enables
functions that are safe to use with the -ffast-math C{XX}FLAG.

Package-Manager: Portage-2.3.66, Repoman-2.3.12
Closes: https://bugs.gentoo.org/621978
Signed-off-by: Peter Levine <plevine457@gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/12060
Signed-off-by: Stefan Strogin <steils@gentoo.org>
media-libs/opus/opus-1.3.1-r1.ebuild [new file with mode: 0644]

diff --git a/media-libs/opus/opus-1.3.1-r1.ebuild b/media-libs/opus/opus-1.3.1-r1.ebuild
new file mode 100644 (file)
index 0000000..6658b6a
--- /dev/null
@@ -0,0 +1,42 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic multilib-minimal
+
+DESCRIPTION="Open codec for interactive speech and music transmission over the Internet"
+HOMEPAGE="https://opus-codec.org/"
+SRC_URI="https://archive.mozilla.org/pub/opus/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd"
+INTRINSIC_FLAGS="cpu_flags_x86_sse cpu_flags_arm_neon"
+IUSE="custom-modes doc static-libs ${INTRINSIC_FLAGS}"
+
+DEPEND="doc? (
+               app-doc/doxygen
+               media-gfx/graphviz
+       )"
+
+multilib_src_configure() {
+       local myeconfargs=(
+               $(use_enable custom-modes)
+               $(use_enable doc)
+               $(use_enable static-libs static)
+       )
+       for i in ${INTRINSIC_FLAGS} ; do
+               use ${i} && myeconfargs+=( --enable-intrinsics )
+       done
+       if is-flagq -ffast-math || is-flagq -Ofast; then
+               myeconfargs+=( "--enable-float-approx" )
+       fi
+
+       ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_install_all() {
+       default
+       find "${ED}" -name "*.la" -delete || die
+}