commit:     c6e05e88a81cd19c57175f4dc91e9dec0befc227
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon May 15 06:42:42 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon May 15 06:47:30 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c6e05e88

media-libs/speex: modernise ebuild; fix configure issue; simplify multilib

- Modernise ebuild (use an array etc for econf)
- Backport an upstream patch to fix configure typo for C99 VLA detection
- Simplify/speed up multilib build by not building thrown-away utilities
(only needed for native ABI).

Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../speex/files/speex-1.2.1-vla-detection.patch    | 27 ++++++++
 media-libs/speex/speex-1.2.1-r1.ebuild             | 81 ++++++++++++++++++++++
 2 files changed, 108 insertions(+)

diff --git a/media-libs/speex/files/speex-1.2.1-vla-detection.patch 
b/media-libs/speex/files/speex-1.2.1-vla-detection.patch
new file mode 100644
index 000000000000..1b3826f8b25e
--- /dev/null
+++ b/media-libs/speex/files/speex-1.2.1-vla-detection.patch
@@ -0,0 +1,27 @@
+https://gitlab.xiph.org/xiph/speex/-/commit/5b036b2ca5e27004502e67ee20490a16f5e68aa1
+
+From 5b036b2ca5e27004502e67ee20490a16f5e68aa1 Mon Sep 17 00:00:00 2001
+From: Kai Pastor <[email protected]>
+Date: Wed, 24 Aug 2022 20:14:31 +0200
+Subject: [PATCH] Fix vla detection
+
+Signed-off-by: Tristan Matthews <[email protected]>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index d94c2feb..b8131482 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -37,7 +37,7 @@ AC_C_RESTRICT
+ 
+ 
+ AC_MSG_CHECKING(for C99 variable-size arrays)
+-+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
++AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
+ int foo;
+ foo = 10;
+ int array[foo];
+-- 
+GitLab

diff --git a/media-libs/speex/speex-1.2.1-r1.ebuild 
b/media-libs/speex/speex-1.2.1-r1.ebuild
new file mode 100644
index 000000000000..c966d61c2a6e
--- /dev/null
+++ b/media-libs/speex/speex-1.2.1-r1.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic multilib-minimal
+
+MY_P=${P/_}
+MY_P=${MY_P/_p/.}
+
+DESCRIPTION="Audio compression format designed for speech"
+HOMEPAGE="https://www.speex.org/";
+SRC_URI="https://downloads.xiph.org/releases/speex/${MY_P}.tar.gz";
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 
~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris 
~x86-solaris"
+IUSE="cpu_flags_arm_v4 cpu_flags_arm_v5 cpu_flags_arm_v6 cpu_flags_x86_sse 
utils valgrind +vbr"
+
+RDEPEND="
+       utils? (
+               media-libs/libogg:=
+               media-libs/speexdsp[${MULTILIB_USEDEP}]
+       )"
+DEPEND="
+       ${RDEPEND}
+       valgrind? ( dev-util/valgrind )
+"
+BDEPEND="virtual/pkgconfig"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-1.2.0-configure.patch
+       "${FILESDIR}"/${P}-vla-detection.patch
+)
+
+src_prepare() {
+       default
+
+       sed -i \
+               -e 's:noinst_PROGRAMS:check_PROGRAMS:' \
+               libspeex/Makefile.am || die
+
+       eautoreconf
+}
+
+multilib_src_configure() {
+       append-lfs-flags
+
+       local myeconfargs=(
+               $(multilib_native_use_enable valgrind)
+               $(use_enable cpu_flags_x86_sse sse)
+               $(use_enable vbr)
+               $(multilib_native_use_with utils speexdsp)
+               $(multilib_native_use_enable utils binaries)
+       )
+
+       local FIXED_ARG="--disable-fixed-point"
+       local ARM4_ARG="--disable-arm4-asm"
+       local ARM5_ARG="--disable-arm5e-asm"
+
+       if use arm && ! use cpu_flags_arm_v6; then
+               FIXED_ARG="--enable-fixed-point"
+
+               if use cpu_flags_arm_v5; then
+                       ARM5_ARG="--enable-arm5e-asm"
+               elif use cpu_flags_arm_v4; then
+                       ARM4_ARG="--enable-arm4-asm"
+               fi
+       fi
+
+       myeconfargs+=( ${FIXED_ARG} ${ARM4_ARG} ${ARM5_ARG} )
+
+       ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_install_all() {
+       einstalldocs
+       find "${ED}" -name '*.la' -type f -delete || die
+}

Reply via email to