summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-accessibility/speech-tools')
-rw-r--r--app-accessibility/speech-tools/files/speech-tools-2.5.0-musl-isnan.patch65
-rw-r--r--app-accessibility/speech-tools/metadata.xml4
-rw-r--r--app-accessibility/speech-tools/speech-tools-2.5.0-r1.ebuild11
-rw-r--r--app-accessibility/speech-tools/speech-tools-2.5.0-r2.ebuild156
4 files changed, 229 insertions, 7 deletions
diff --git a/app-accessibility/speech-tools/files/speech-tools-2.5.0-musl-isnan.patch b/app-accessibility/speech-tools/files/speech-tools-2.5.0-musl-isnan.patch
new file mode 100644
index 000000000000..da0077313abd
--- /dev/null
+++ b/app-accessibility/speech-tools/files/speech-tools-2.5.0-musl-isnan.patch
@@ -0,0 +1,65 @@
+See https://bugs.openjdk.org/browse/JDK-8178689 for some analysis - we can
+safely replace the deprecated/obsolete isnanf (which musl doesn't immplement)
+with isnan.
+
+https://bugs.gentoo.org/896170
+https://bugs.gentoo.org/829344
+--- a/intonation/tilt/tilt_utils.cc
++++ b/intonation/tilt/tilt_utils.cc
+@@ -133,7 +133,7 @@ float rfc_to_t_tilt(EST_Features &e)
+ {
+ float t_tilt;
+ t_tilt = (rfc_to_a_tilt(e) + rfc_to_d_tilt(e)) / 2;
+- if (isnanf(t_tilt))
++ if (isnan(t_tilt))
+ t_tilt = 0.0;
+ return t_tilt;
+ }
+--- a/sigpr/pda/smooth_pda.cc
++++ b/sigpr/pda/smooth_pda.cc
+@@ -112,7 +112,7 @@ void smooth_portion(EST_Track &c, EST_Features &op)
+
+ for (i = 0; i < c.num_frames(); ++i)
+ { // occasionally NaNs result...
+- if (isnanf(a[i]))
++ if (isnan(a[i]))
+ {
+ c.set_break(i);
+ c.a(i) = 0.0;
+--- a/sigpr/sigpr_frame.cc
++++ b/sigpr/sigpr_frame.cc
+@@ -314,7 +314,7 @@ void lpc2cep(const EST_FVector &lpc, EST_FVector &cep)
+ for (n = 0; n < cep.length(); n++)
+ {
+ // check if NaN -- happens on some frames of silence
+- if (isnanf(cep[n]) ) cep[n] = 0.0;
++ if (isnan(cep[n]) ) cep[n] = 0.0;
+
+ if (cep[n] > MAX_ABS_CEPS){
+ cerr << "WARNING : cepstral coeff " << n << " was " <<
+--- a/stats/confusion.cc
++++ b/stats/confusion.cc
+@@ -138,7 +138,7 @@ void print_confusion(const EST_FMatrix &a, EST_StrStr_KVL &list,
+ cout.precision(3);
+ cout.setf(ios::right);
+ // cout.setf(ios::fixed, ios::floatfield);
+- if (isnanf(correct(i)))
++ if (isnan(correct(i)))
+ cout << endl;
+ else
+ cout << correct(i) << endl;
+--- a/include/EST_math.h
++++ b/include/EST_math.h
+@@ -81,12 +81,6 @@ extern "C" {
+ #define isnanf(X) isnan(X)
+ #endif
+
+-/* Linux (and presumably Hurd too as Linux is GNU libc based) */
+-/* Sorry I haven't confirmed this cpp symbol yet */
+-#if defined(linux)
+-#define isnanf(X) __isnanf(X)
+-#endif
+-
+ /* OS/2 with gcc EMX */
+ #if defined(__EMX__)
+ #define isnanf(X) isnan(X)
diff --git a/app-accessibility/speech-tools/metadata.xml b/app-accessibility/speech-tools/metadata.xml
index ff1e970ed22a..904973efe33a 100644
--- a/app-accessibility/speech-tools/metadata.xml
+++ b/app-accessibility/speech-tools/metadata.xml
@@ -9,8 +9,4 @@
<email>sound@gentoo.org</email>
<name>Gentoo Sound project</name>
</maintainer>
-<maintainer type="person">
- <email>bircoph@gentoo.org</email>
- <name>Andrew Savchenko</name>
-</maintainer>
</pkgmetadata>
diff --git a/app-accessibility/speech-tools/speech-tools-2.5.0-r1.ebuild b/app-accessibility/speech-tools/speech-tools-2.5.0-r1.ebuild
index 5e3d29432faa..90155ff033cd 100644
--- a/app-accessibility/speech-tools/speech-tools-2.5.0-r1.ebuild
+++ b/app-accessibility/speech-tools/speech-tools-2.5.0-r1.ebuild
@@ -1,15 +1,15 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit autotools toolchain-funcs
+inherit autotools flag-o-matic toolchain-funcs
MY_P=${P/speech-/speech_}
PATCHSET="r3"
DESCRIPTION="Speech tools for Festival Text to Speech engine"
-HOMEPAGE="http://www.cstr.ed.ac.uk/projects/speech_tools/"
+HOMEPAGE="https://www.cstr.ed.ac.uk/projects/speech_tools/"
SRC_URI="http://www.festvox.org/packed/festival/$(ver_cut 1-2)/${MY_P}-release.tar.gz
https://dev.gentoo.org/~neurogeek/${PN}/speech_tools-2.1-${PATCHSET}-patches.tar.gz"
S="${WORKDIR}/speech_tools"
@@ -99,6 +99,11 @@ src_configure() {
}
src_compile() {
+ # Lacks prototypes, bug #881863
+ append-cflags -std=gnu89
+ # Uses 'register' keyword removed in C++17, bug #894184
+ append-cxxflags -std=c++14
+
emake -j1 \
CC="$(tc-getCC)" \
CXX="$(tc-getCXX)" \
diff --git a/app-accessibility/speech-tools/speech-tools-2.5.0-r2.ebuild b/app-accessibility/speech-tools/speech-tools-2.5.0-r2.ebuild
new file mode 100644
index 000000000000..76971ff3cc3e
--- /dev/null
+++ b/app-accessibility/speech-tools/speech-tools-2.5.0-r2.ebuild
@@ -0,0 +1,156 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic toolchain-funcs
+
+MY_P=${P/speech-/speech_}
+PATCHSET="r3"
+
+DESCRIPTION="Speech tools for Festival Text to Speech engine"
+HOMEPAGE="https://www.cstr.ed.ac.uk/projects/speech_tools/"
+SRC_URI="http://www.festvox.org/packed/festival/$(ver_cut 1-2)/${MY_P}-release.tar.gz
+ https://dev.gentoo.org/~neurogeek/${PN}/speech_tools-2.1-${PATCHSET}-patches.tar.gz"
+S="${WORKDIR}/speech_tools"
+
+LICENSE="FESTIVAL HPND BSD rc regexp-UofT"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~mips ppc ppc64 sparc x86"
+IUSE="nas openmp X"
+
+RDEPEND="
+ media-libs/alsa-lib
+ sys-libs/ncurses:=
+ nas? ( media-libs/nas )
+ X? (
+ x11-libs/libX11
+ x11-libs/libXt
+ )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+DOCS=( README.md lib/cstrutt.dtd lib/example_data )
+
+PATCHES=(
+ "${WORKDIR}/patch/02_all_gcc42.patch"
+ "${WORKDIR}/patch/03_all_GentooLinux.patch"
+ "${WORKDIR}/patch/05_all_sharedlib.patch"
+ "${WORKDIR}/patch/06_all_gcc43-include.patch"
+ "${WORKDIR}/patch/09_all_remove-shared-refs.patch"
+ "${WORKDIR}/patch/10_all_base_class.patch"
+ "${WORKDIR}/patch/81_all_etcpath.patch"
+ "${WORKDIR}/patch/91_all_gentoo-config.patch"
+ "${WORKDIR}/patch/92_all_ldflags_fix.patch"
+ "${WORKDIR}/patch/94_all_ncurses_tinfo.patch"
+
+ # Fix underlinking, bug #493204
+ "${FILESDIR}/${PN}-2.1-underlinking.patch"
+ "${FILESDIR}/${PN}-2.5.0-fno-common.patch"
+ "${FILESDIR}/${PN}-2.5.0-drop-curses.patch"
+ "${FILESDIR}/${P}-warnings.patch"
+ "${FILESDIR}/${P}-musl-isnan.patch"
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_prepare() {
+ default
+
+ sed -i -e '/^CXXFLAGS =/s|CC_OTHER_FLAGS|CXX_OTHER_FLAGS|' \
+ config/compilers/gcc_defaults.mak || die
+
+ sed -i -e 's,{{HORRIBLELIBARCHKLUDGE}},"/usr/$(get_libdir)",' \
+ main/siod_main.cc || die
+
+ # bug #309983
+ sed -i -e "s:\(GCC_SYSTEM_OPTIONS =\).*:\1:" \
+ "${S}"/config/systems/sparc_SunOS5.mak || die
+
+ sed -i -e "s|\$(OMP_OPTS)|$(use openmp && echo -fopenmp)|g" \
+ -e "s|\$(OMP_DEFS)|$(use openmp && echo -DOMP_WAGON=1)|g" \
+ -e "/MAKE_SHARED_LIB =/s|-shared|$(use openmp && echo -fopenmp) -shared|" \
+ config/compilers/gcc_defaults.mak || die
+
+ eautoreconf
+}
+
+src_configure() {
+ local CONFIG=config/config.in
+
+ sed -i -e 's/@COMPILERTYPE@/gcc42/' ${CONFIG} || die
+
+ if use nas; then
+ sed -i -e "s/#.*\(INCLUDE_MODULES += NAS_AUDIO\)/\1/" \
+ ${CONFIG} || die
+ fi
+
+ if ! use X; then
+ sed -i -e "s/-lX11 -lXt//" config/modules/esd_audio.mak || die
+ fi
+
+ econf
+}
+
+src_compile() {
+ # Lacks prototypes, bug #881863
+ append-cflags -std=gnu89
+ # Uses 'register' keyword removed in C++17, bug #894184
+ append-cxxflags -std=c++14
+
+ emake -j1 \
+ CC="$(tc-getCC)" \
+ CXX="$(tc-getCXX)" \
+ CC_OTHER_FLAGS="${CFLAGS}" \
+ CXX_OTHER_FLAGS="${CXXFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ AR="$(tc-getAR)" \
+ RANLIB="$(tc-getRANLIB)"
+}
+
+src_install() {
+ default
+
+ dolib.so lib/libest*.so*
+
+ insinto /usr/share/speech-tools
+ doins -r config base_class
+
+ insinto /usr/share/speech-tools/lib
+ doins -r lib/siod
+
+ mv include speech-tools || die
+ doheader -r speech-tools
+ dosym ../../include/speech-tools /usr/share/speech-tools/include
+
+ for file in bin/*; do
+ [ "${file}" = "bin/Makefile" ] && continue
+ dobin ${file}
+ dstfile="${ED}/usr/${file}"
+ sed -i -e "s:${S}/testsuite/data:/usr/share/speech-tools/testsuite:g" \
+ ${dstfile} || die
+ sed -i -e "s:${S}/bin:/usr/$(get_libdir)/speech-tools:g" \
+ ${dstfile} || die
+ sed -i -e "s:${S}/main:/usr/$(get_libdir)/speech-tools:g" \
+ ${dstfile} || die
+
+ # This just changes LD_LIBRARY_PATH
+ sed -i -e "s:${S}/lib:/usr/$(get_libdir):g" ${dstfile} || die
+ done
+
+ exeinto /usr/$(get_libdir)/speech-tools
+ for file in `find main -perm /111 -type f`; do
+ doexe ${file}
+ done
+
+ # Remove bcat (only useful for testing on windows, see bug #418301).
+ rm "${ED}/usr/bin/bcat" || die
+ rm "${ED}/usr/$(get_libdir)/speech-tools/bcat" || die
+}