summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVolkmar W. Pogatzki <gentoo@pogatzki.net>2024-06-21 06:18:39 +0200
committerMiroslav Šulc <fordfrog@gentoo.org>2024-07-06 10:53:47 +0200
commit14e7a921c89cbd7ae96f005edf47b6e72a386b19 (patch)
treed03f1a0890198746301a7ee353091ea1564696e6
parentdev-java/java-service-wrapper: build without BSFIX, drop java-ant-2 (diff)
downloadgentoo-14e7a921c89cbd7ae96f005edf47b6e72a386b19.tar.gz
gentoo-14e7a921c89cbd7ae96f005edf47b6e72a386b19.tar.bz2
gentoo-14e7a921c89cbd7ae96f005edf47b6e72a386b19.zip
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@pogatzki.net> Closes: https://github.com/gentoo/gentoo/pull/37338/commits/405ee82bc542213c86c06ad8f9eb06f4269177af Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>
-rw-r--r--app-accessibility/freetts/files/freetts-1.2.2-source-target.patch34
-rw-r--r--app-accessibility/freetts/freetts-1.2.2-r3.ebuild96
2 files changed, 130 insertions, 0 deletions
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
+}