summaryrefslogtreecommitdiff
path: root/media-libs/speexdsp
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-12-18 15:11:02 +0000
committerV3n3RiX <venerix@redcorelinux.org>2017-12-18 15:11:02 +0000
commit0fb71e0215ed52863e462cccef73c01aff44d43d (patch)
tree428fc3fa92f9c69ed02878e9b6151a9fb810e651 /media-libs/speexdsp
parent9bd54251864651f49e673a08aec9ef79cfe08f04 (diff)
gentoo resync : 18.12.2017
Diffstat (limited to 'media-libs/speexdsp')
-rw-r--r--media-libs/speexdsp/Manifest4
-rw-r--r--media-libs/speexdsp/files/speexdsp-1.2_rc3-config_types.h.patch61
-rw-r--r--media-libs/speexdsp/files/speexdsp-1.2_rc3-overflow.patch66
-rw-r--r--media-libs/speexdsp/speexdsp-1.2_rc3-r1.ebuild57
-rw-r--r--media-libs/speexdsp/speexdsp-1.2_rc3-r2.ebuild58
5 files changed, 246 insertions, 0 deletions
diff --git a/media-libs/speexdsp/Manifest b/media-libs/speexdsp/Manifest
index 23600b63a4cf..17d200d03141 100644
--- a/media-libs/speexdsp/Manifest
+++ b/media-libs/speexdsp/Manifest
@@ -1,4 +1,8 @@
+AUX speexdsp-1.2_rc3-config_types.h.patch 2188 BLAKE2B 1e0c25b5e65a5999f5284abf0516aee5bb5ed0906c46d5d1e44b406236404ed00a8f0b0df5e6093a7cbdb10c453d4ab69b8df63ebb127d47a6930d546476099f SHA512 075a88f7f16d4744c95a9208ff4e803bfc28bff99113c3e919a9ce24c8e6bf91eedcbe9d487b668428db357092cc5db455e6256020cec598120c971734258b07
AUX speexdsp-1.2_rc3-configure.patch 1506 BLAKE2B 76276ba7cc0c7143da55d90be9a60ea697dc13f9ad65d7d24a83606b14c543700788e9213d1562371203ace9d45131cb52103d7f045ddf17adc0e30fd3876013 SHA512 95a95e5ca052b6ab3091ce9c461e7356f029e65b47a0a0f291448325acceb23c5cb12d81dbdecec13945b70fa8161e479bc6767de484c2c2f13a5299a3b9304c
+AUX speexdsp-1.2_rc3-overflow.patch 2211 BLAKE2B 36a5aaedd730d8847046ce8cb9453678cf7aa503e060b25fb24e57516bbaaa7b987d3abb93fab741933c3fd43c490a090ac9fd64a6fbb2496f3a0364029c6b50 SHA512 f948be7513ed33a133a19bf571b8b1395f37b86715e2426a59105494d16c269c54c3a32c916f89af7e5b4b1d4aff90839e2b1ed2b13de482e54ac05bef449b31
DIST speexdsp-1.2rc3.tar.gz 901771 BLAKE2B 85d047df82fc06906598da39ae653aa245c246bfea75c02d25f7811983babdab6a8499c9b563e0d7d2145fa490674df2cf0a05989884ffb3c2c2a183415ce841 SHA512 29dfa8345df025eeb076561648a9b5c0485692be699b6da3c2a3734b4329187a1c2eb181252f4df12b21f1309ecdf59797437dfb123d160fd723491ab216e858
+EBUILD speexdsp-1.2_rc3-r1.ebuild 1466 BLAKE2B 3778e15394c69370bd493a1130f716954861fd9bab81244da11bee3f5a5ad3fad42e368b7b6219999fdc125b70b2257518c3a7ce657654239d777782b1cd59f1 SHA512 148ab93d88edea7e6fd50ea7fa8a5011d13b4609778f03b61d63ef5457074a7f8a6daf0ab1cc6de402ce6fe0bf4391345b15466d9fa8c466c86ec0a7a70d7b76
+EBUILD speexdsp-1.2_rc3-r2.ebuild 1501 BLAKE2B a01e9399df050e756942af7e0f03f9ebddd5d7e2c5ce5001c2d0a426709143392bbd42e0571db058cfe0be667610a9d7a09784fa8b0881291eeb0b3dfd0d709e SHA512 00d4b78cb735e13e6d9ace27d9594d7bdea3aa02e7eff1ec75d6abad9f5063c129626dec2c7e0bb4f1e6f4a732a036425108cfa3e3a19b1a56517ae0b6466e13
EBUILD speexdsp-1.2_rc3.ebuild 1422 BLAKE2B 3e2720efc4fa740ba5ba18c0dcbcff580f4b572baf2c5840aece7cad18464862394c25db7a0fff2f9be996cf3d18f85feb6d393d31be6975b35fc9712e78d129 SHA512 16cb6141e84d413af8be8652c60398612bead1a95f9bfb6e26c2ec9260885a2bd9db910a35ff34123f6095c6502946859623169e364daf86935530b972e98f53
MISC metadata.xml 342 BLAKE2B 5b793ea5060e3e8359d6b50ebd5211471de0d72608086d1d0a67c655cc30c15e0b0db4545a578882144f9f1f4913779037ff76aeeb94002db2b162db78a6364e SHA512 32081e424d3f4ad3fd0ef4979c339d1139cb2298e6703210ff741b77a8b3bf2e1d4b550b0d76a1bd0c4dc5ac465b3ebdd1fe86da45d46586cd3560261f73c457
diff --git a/media-libs/speexdsp/files/speexdsp-1.2_rc3-config_types.h.patch b/media-libs/speexdsp/files/speexdsp-1.2_rc3-config_types.h.patch
new file mode 100644
index 000000000000..835769dde707
--- /dev/null
+++ b/media-libs/speexdsp/files/speexdsp-1.2_rc3-config_types.h.patch
@@ -0,0 +1,61 @@
+From c470e2e89a6ca75b507437467692cd684b71a526 Mon Sep 17 00:00:00 2001
+From: Tanu Kaskinen <tanu.kaskinen@linux.intel.com>
+Date: Sun, 5 Jul 2015 18:10:19 +0300
+Subject: [PATCH] Don't rely on HAVE_STDINT_H et al. being defined
+
+Not everyone who includes speexdsp_config_types.h will have a test
+which defines those, and if we've chosen to use the stdint types at
+configure time then we know exactly which header(s) are available, so
+just choose the best one then and generate the header to use it.
+
+This patch, including the above text, is copied from a commit in the
+speex repository[1]. The original commit for speex was made by Ron
+<ron@debian.org>.
+
+[1] https://git.xiph.org/?p=speex.git;a=commitdiff;h=774c87d6cb7dd8dabdd17677fc6da753ecf4aa87
+
+Signed-off-by: Tanu Kaskinen <tanu.kaskinen@linux.intel.com>
+---
+ configure.ac | 6 ++++++
+ include/speex/speexdsp_config_types.h.in | 8 +-------
+ 2 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 2cd2d1e..1de0c23 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -334,6 +334,12 @@ AC_SUBST([USIZE16])
+ AC_SUBST([SIZE32])
+ AC_SUBST([USIZE32])
+
++AS_IF([test "$ac_cv_header_stdint_h" = "yes"], [INCLUDE_STDINT="#include <stdint.h>"],
++ [test "$ac_cv_header_inttypes_h" = "yes"], [INCLUDE_STDINT="#include <inttypes.h>"],
++ [test "$ac_cv_header_sys_types_h" = "yes"], [INCLUDE_STDINT="#include <sys/types.h>"])
++
++AC_SUBST([INCLUDE_STDINT])
++
+ AC_CONFIG_FILES([
+ Makefile libspeexdsp/Makefile doc/Makefile SpeexDSP.spec
+ include/Makefile include/speex/Makefile speexdsp.pc
+diff --git a/include/speex/speexdsp_config_types.h.in b/include/speex/speexdsp_config_types.h.in
+index 02b82fd..5ea7b55 100644
+--- a/include/speex/speexdsp_config_types.h.in
++++ b/include/speex/speexdsp_config_types.h.in
+@@ -1,13 +1,7 @@
+ #ifndef __SPEEX_TYPES_H__
+ #define __SPEEX_TYPES_H__
+
+-#if defined HAVE_STDINT_H
+-# include <stdint.h>
+-#elif defined HAVE_INTTYPES_H
+-# include <inttypes.h>
+-#elif defined HAVE_SYS_TYPES_H
+-# include <sys/types.h>
+-#endif
++@INCLUDE_STDINT@
+
+ typedef @SIZE16@ spx_int16_t;
+ typedef @USIZE16@ spx_uint16_t;
+--
+2.1.4
+
diff --git a/media-libs/speexdsp/files/speexdsp-1.2_rc3-overflow.patch b/media-libs/speexdsp/files/speexdsp-1.2_rc3-overflow.patch
new file mode 100644
index 000000000000..3a413625085e
--- /dev/null
+++ b/media-libs/speexdsp/files/speexdsp-1.2_rc3-overflow.patch
@@ -0,0 +1,66 @@
+From a2133f5904ddb616b6578920bd2199f5accb484d Mon Sep 17 00:00:00 2001
+From: Tristan Matthews <tmatth@videolan.org>
+Date: Fri, 24 Apr 2015 15:55:32 -0400
+Subject: [PATCH] preprocess: prevent rare overflow on overlap-add
+
+Reported-by: Fabian Henze <flyser42@gmx.de>
+---
+ libspeexdsp/arch.h | 3 +++
+ libspeexdsp/preprocess.c | 2 +-
+ libspeexdsp/resample.c | 6 ------
+ 3 files changed, 4 insertions(+), 7 deletions(-)
+
+diff --git a/libspeexdsp/arch.h b/libspeexdsp/arch.h
+index 6b3bc5d..c2de991 100644
+--- a/libspeexdsp/arch.h
++++ b/libspeexdsp/arch.h
+@@ -101,6 +101,8 @@ typedef spx_word32_t spx_sig_t;
+ #define SIG_SHIFT 14
+ #define GAIN_SHIFT 6
+
++#define WORD2INT(x) ((x) < -32767 ? -32768 : ((x) > 32766 ? 32767 : (x)))
++
+ #define VERY_SMALL 0
+ #define VERY_LARGE32 ((spx_word32_t)2147483647)
+ #define VERY_LARGE16 ((spx_word16_t)32767)
+@@ -203,6 +205,7 @@ typedef float spx_word32_t;
+ #define DIV32(a,b) (((spx_word32_t)(a))/(spx_word32_t)(b))
+ #define PDIV32(a,b) (((spx_word32_t)(a))/(spx_word32_t)(b))
+
++#define WORD2INT(x) ((x) < -32767.5f ? -32768 : ((x) > 32766.5f ? 32767 : floor(.5+(x))))
+
+ #endif
+
+diff --git a/libspeexdsp/preprocess.c b/libspeexdsp/preprocess.c
+index c080581..3053eb5 100644
+--- a/libspeexdsp/preprocess.c
++++ b/libspeexdsp/preprocess.c
+@@ -980,7 +980,7 @@ EXPORT int speex_preprocess_run(SpeexPreprocessState *st, spx_int16_t *x)
+
+ /* Perform overlap and add */
+ for (i=0;i<N3;i++)
+- x[i] = st->outbuf[i] + st->frame[i];
++ x[i] = WORD2INT(ADD32(EXTEND32(st->outbuf[i]), EXTEND32(st->frame[i])));
+ for (i=0;i<N4;i++)
+ x[N3+i] = st->frame[N3+i];
+
+diff --git a/libspeexdsp/resample.c b/libspeexdsp/resample.c
+index 4940a64..4e47d67 100644
+--- a/libspeexdsp/resample.c
++++ b/libspeexdsp/resample.c
+@@ -83,12 +83,6 @@ static void speex_free (void *ptr) {free(ptr);}
+ #define M_PI 3.14159265358979323846
+ #endif
+
+-#ifdef FIXED_POINT
+-#define WORD2INT(x) ((x) < -32767 ? -32768 : ((x) > 32766 ? 32767 : (x)))
+-#else
+-#define WORD2INT(x) ((x) < -32767.5f ? -32768 : ((x) > 32766.5f ? 32767 : floor(.5+(x))))
+-#endif
+-
+ #define IMAX(a,b) ((a) > (b) ? (a) : (b))
+ #define IMIN(a,b) ((a) < (b) ? (a) : (b))
+
+--
+2.1.4
+
diff --git a/media-libs/speexdsp/speexdsp-1.2_rc3-r1.ebuild b/media-libs/speexdsp/speexdsp-1.2_rc3-r1.ebuild
new file mode 100644
index 000000000000..b8f99c5a28a6
--- /dev/null
+++ b/media-libs/speexdsp/speexdsp-1.2_rc3-r1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit autotools flag-o-matic multilib-minimal
+
+MY_P=${P/_}
+MY_P=${MY_P/_p/.}
+
+DESCRIPTION="Audio compression format designed for speech -- DSP"
+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 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE="cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_arm_neon static-libs"
+
+RDEPEND="!<media-libs/speex-1.2.0"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S=${WORKDIR}/${MY_P}
+
+PATCHES=(
+ "${FILESDIR}/${P}-configure.patch"
+ "${FILESDIR}/${P}-config_types.h.patch"
+)
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e 's:noinst_PROGRAMS:check_PROGRAMS:' \
+ libspeexdsp/Makefile.am || die
+
+ eautoreconf
+}
+
+multilib_src_configure() {
+ append-lfs-flags
+
+ # Can also be configured with one of:
+ # --enable-fixed-point (no floating point)
+ # --with-fft=proprietary-intel-mkl (mkl)
+ # --with-fft=gpl-fftw3 (fftw)
+ ECONF_SOURCE="${S}" econf \
+ $(use_enable static-libs static) \
+ $(use_enable cpu_flags_x86_sse sse) \
+ $(use_enable cpu_flags_x86_sse2 sse2) \
+ $(use_enable cpu_flags_arm_neon neon)
+}
+
+multilib_src_install_all() {
+ default
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/media-libs/speexdsp/speexdsp-1.2_rc3-r2.ebuild b/media-libs/speexdsp/speexdsp-1.2_rc3-r2.ebuild
new file mode 100644
index 000000000000..ef469e1dd724
--- /dev/null
+++ b/media-libs/speexdsp/speexdsp-1.2_rc3-r2.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit autotools flag-o-matic multilib-minimal
+
+MY_P=${P/_}
+MY_P=${MY_P/_p/.}
+
+DESCRIPTION="Audio compression format designed for speech -- DSP"
+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 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE="cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_arm_neon static-libs"
+
+RDEPEND="!<media-libs/speex-1.2.0"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S=${WORKDIR}/${MY_P}
+
+PATCHES=(
+ "${FILESDIR}/${P}-configure.patch"
+ "${FILESDIR}/${P}-config_types.h.patch"
+ "${FILESDIR}/${P}-overflow.patch"
+)
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e 's:noinst_PROGRAMS:check_PROGRAMS:' \
+ libspeexdsp/Makefile.am || die
+
+ eautoreconf
+}
+
+multilib_src_configure() {
+ append-lfs-flags
+
+ # Can also be configured with one of:
+ # --enable-fixed-point (no floating point)
+ # --with-fft=proprietary-intel-mkl (mkl)
+ # --with-fft=gpl-fftw3 (fftw)
+ ECONF_SOURCE="${S}" econf \
+ $(use_enable static-libs static) \
+ $(use_enable cpu_flags_x86_sse sse) \
+ $(use_enable cpu_flags_x86_sse2 sse2) \
+ $(use_enable cpu_flags_arm_neon neon)
+}
+
+multilib_src_install_all() {
+ default
+ find "${D}" -name '*.la' -delete || die
+}