commit:     14e7a921c89cbd7ae96f005edf47b6e72a386b19
Author:     Volkmar W. Pogatzki <gentoo <AT> pogatzki <DOT> net>
AuthorDate: Fri Jun 21 04:18:39 2024 +0000
Commit:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Sat Jul  6 08:53:47 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=14e7a921

app-accessibility/freetts: build without BSFIX, drop java-ant-2

Restricts to jre:1.8 since higher Java versions lead to
"Exception in thread "main" java.lang.ClassCastException"
when running the program from cmdline.

Signed-off-by: Volkmar W. Pogatzki <gentoo <AT> pogatzki.net>
Closes: 
https://github.com/gentoo/gentoo/pull/37338/commits/405ee82bc542213c86c06ad8f9eb06f4269177af
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>

 .../files/freetts-1.2.2-source-target.patch        | 34 ++++++++
 app-accessibility/freetts/freetts-1.2.2-r3.ebuild  | 96 ++++++++++++++++++++++
 2 files changed, 130 insertions(+)

diff --git a/app-accessibility/freetts/files/freetts-1.2.2-source-target.patch 
b/app-accessibility/freetts/files/freetts-1.2.2-source-target.patch
new file mode 100644
index 000000000000..0d7f6afe134b
--- /dev/null
+++ b/app-accessibility/freetts/files/freetts-1.2.2-source-target.patch
@@ -0,0 +1,34 @@
+We want to get rid of rewrite-xml provided by javatoolkit.
+
+--- a/build.xml
++++ b/build.xml
+@@ -124,7 +124,8 @@ jsapi.exe from the lib directory.
+             description="Build just the srcs">
+         <mkdir dir="${classes_dir}" />
+         <javac debug="true"
+-               source="1.4"
++               source="8"
++               target="8"
+                deprecation="true"
+                srcdir="${src_dir}"
+                excludes="tests/**"
+@@ -145,7 +146,8 @@ jsapi.exe from the lib directory.
+             description="Build just the tests">
+         <mkdir dir="${classes_dir}" />
+         <javac debug="true"
+-               source="1.4"
++               source="8"
++               target="8"
+                deprecation="true"
+                srcdir="${src_dir}"
+                includes="tests/**"
+@@ -904,7 +906,8 @@ jsapi.exe from the lib directory.
+     <target name="javadoc" description="Generate javadoc">
+         <mkdir dir="${javadoc_dir}" />
+         <javadoc sourcepath="${src_dir}"
+-                 source="1.4"
++                 source="8"
++                 target="8"
+                  additionalparam="-breakiterator"
+                  destdir="${javadoc_dir}"
+                  packagenames="${javadoc_pkgs}"

diff --git a/app-accessibility/freetts/freetts-1.2.2-r3.ebuild 
b/app-accessibility/freetts/freetts-1.2.2-r3.ebuild
new file mode 100644
index 000000000000..b0585d04836c
--- /dev/null
+++ b/app-accessibility/freetts/freetts-1.2.2-r3.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc examples source"
+
+inherit java-pkg-2
+
+DESCRIPTION="A speech synthesis system written entirely in Java"
+HOMEPAGE="https://freetts.sourceforge.io/";
+SRC_URI="https://downloads.sourceforge.net/project/freetts/FreeTTS/FreeTTS%20${PV}/${P}-src.zip";
+
+LICENSE="jsapi? ( sun-bcla-jsapi ) freetts"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+IUSE="jsapi mbrola"
+
+BDEPEND="app-arch/unzip"
+
+DEPEND="virtual/jdk:1.8
+       >=dev-java/ant-1.10.14-r3:0
+       jsapi? ( app-arch/sharutils )
+       mbrola? ( >=app-accessibility/mbrola-3.0.1h-r6 ) "
+
+# Exception in thread "main" java.lang.ClassCastException
+RDEPEND="virtual/jre:1.8
+       mbrola? ( >=app-accessibility/mbrola-3.0.1h-r6 ) "
+
+# Tests aren't present.
+RESTRICT="test"
+
+PATCHES=(
+       "${FILESDIR}"/jsapi-gentoo.diff
+       "${FILESDIR}/freetts-1.2.2-source-target.patch"
+)
+
+DOCS=( ANNOUNCE.txt README.txt RELEASE_NOTES )
+
+src_prepare() {
+       default #780585
+       java-pkg-2_src_prepare
+
+       # Prepare source directory.
+       mkdir src || die "Failed to create source directory."
+       mv com de src/ || die "Failed to move files to source directory."
+
+       # Prepare library directory.
+       cd lib || die "Lib directory not present."
+       chmod 0755 jsapi.sh || die "jsapi.sh not present or can't change 
permissions."
+
+       use mbrola && echo "mbrola.base=/usr/share/mbrola/" >> 
"${S}"/speech.properties
+}
+
+src_compile() {
+       if use jsapi; then
+               pushd lib
+               ./jsapi.sh || die "jsapi.sh failed"
+               popd
+       fi
+
+       eant jars
+}
+
+# Tests aren't present.
+# http://freetts.sourceforge.net/docs/index.php#how_test
+#src_test() {
+#      ANT_TASKS="ant-junit" eant junit
+#}
+
+src_install() {
+       default
+       java-pkg_dojar lib/*.jar mbrola/*.jar
+
+       use mbrola && local jflags="--java_args -Dmbrola.base=/usr/share/mbrola"
+
+       java-pkg_dolauncher ${PN} --main com.sun.speech.freetts.FreeTTS 
${jflags}
+
+       insinto /usr/share/${PN}
+       doins speech.properties
+       doins -r tools
+
+       if use doc ; then
+               docinto html
+               dodoc -r docs/*
+               java-pkg_dojavadoc javadoc
+       fi
+
+       if use examples ; then
+               java-pkg_doexamples demo
+       fi
+
+       if use source ; then
+               java-pkg_dosrc src/*
+       fi
+}

Reply via email to