diff options
author | Sam James <sam@gentoo.org> | 2023-05-15 07:42:42 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2023-05-15 07:47:30 +0100 |
commit | c6e05e88a81cd19c57175f4dc91e9dec0befc227 (patch) | |
tree | f2b199b1ebbbe46b2a4df8ada8765ceea33e90d0 /media-libs/speex | |
parent | media-libs/speex: add Valgrind annotation support (diff) | |
download | gentoo-c6e05e88a81cd19c57175f4dc91e9dec0befc227.tar.gz gentoo-c6e05e88a81cd19c57175f4dc91e9dec0befc227.tar.bz2 gentoo-c6e05e88a81cd19c57175f4dc91e9dec0befc227.zip |
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@gentoo.org>
Diffstat (limited to 'media-libs/speex')
-rw-r--r-- | media-libs/speex/files/speex-1.2.1-vla-detection.patch | 27 | ||||
-rw-r--r-- | media-libs/speex/speex-1.2.1-r1.ebuild | 81 |
2 files changed, 108 insertions, 0 deletions
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 <dg0yt@darc.de> +Date: Wed, 24 Aug 2022 20:14:31 +0200 +Subject: [PATCH] Fix vla detection + +Signed-off-by: Tristan Matthews <tmatth@videolan.org> +--- + 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 +} |