diff options
Diffstat (limited to 'dev-java/jdbc-jaybird/jdbc-jaybird-2.2.7.ebuild')
-rw-r--r-- | dev-java/jdbc-jaybird/jdbc-jaybird-2.2.7.ebuild | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/dev-java/jdbc-jaybird/jdbc-jaybird-2.2.7.ebuild b/dev-java/jdbc-jaybird/jdbc-jaybird-2.2.7.ebuild new file mode 100644 index 000000000000..bffa22cb1fb0 --- /dev/null +++ b/dev-java/jdbc-jaybird/jdbc-jaybird-2.2.7.ebuild @@ -0,0 +1,125 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" +JAVA_PKG_IUSE="doc source examples test" + +inherit eutils java-pkg-2 java-ant-2 + +At="Jaybird-${PV/_/}-src" +DESCRIPTION="JDBC Type 2 and 4 drivers for Firebird SQL server" +HOMEPAGE="http://jaybirdwiki.firebirdsql.org/" +SRC_URI="mirror://sourceforge/firebird/${At}.tar.gz" +LICENSE="LGPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="jni" + +RDEPEND=">=virtual/jre-1.6 + dev-java/junit:4 + dev-java/antlr:4 + dev-java/log4j:0 + dev-java/glassfish-connector-api:0" +DEPEND=">=virtual/jdk-1.6 + ${RDEPEND} + app-arch/unzip + jni? ( dev-java/cpptasks ) + test? ( dev-java/ant-junit:0 )" + +S="${WORKDIR}/${At}" + +MY_PN="jaybird" + +java_prepare() { + # prevent test/sources/javadoc from being built unless wanted + sed -i -e 's|name="jar-test" depends="compile"|name="jar-test" depends="compile" if="tests"|' \ + "${S}/build/archive.xml" || die + sed -i -e 's|name="compile-examples"|name="compile-examples" if="examples"|' \ + -e 's|,set-jdbc-42-test"|,set-jdbc-42-test" if="tests"|' \ + "${S}/build/compile.xml" || die + + # JAVA_ANT_ENCODING doesn't work because it doesn't like entities + java-ant_xml-rewrite -f build.xml -c -e javac -a encoding -v ISO-8859-1 + + cd "${S}/lib/" + rm -v *.jar + + cd "${S}/src/lib/" + rm -v *.jar *.zip + + java-pkg_jar-from --build-only glassfish-connector-api \ + glassfish-connector-api.jar connector-api-1.5.jar + + # the build.xml unpacks this and uses stuff + touch empty + jar cf mini-j2ee.jar empty +} + +JAVA_ANT_REWRITE_CLASSPATH="true" +EANT_GENTOO_CLASSPATH="antlr:4,glassfish-connector-api,log4j" +EANT_BUILD_TARGET="jars" +EANT_DOC_TARGET="javadocs" + +src_compile() { + java-pkg_filter-compiler jikes + use jni && ANT_TASKS="cpptasks" + + # This is nonsense, I know, but it works. + if use test; then + EANT_GENTOO_CLASSPATH="${EANT_GENTOO_CLASSPATH},junit-4" + fi + + java-pkg-2_src_compile $(use test && echo "-Dtests=true") \ + $(use jni && echo "compile-native") +} + +src_install() { + cd "${S}/output/lib/" + java-pkg_newjar ${MY_PN}-${PV}.jar ${PN}.jar + + for jar in full; do + java-pkg_newjar ${MY_PN}-${jar}-${PV}.jar ${MY_PN}-${jar}.jar || die "java-pkg_newjar ${MY_PN}-${jar}.jar failed" + done + if use test; then + java-pkg_newjar ${MY_PN}-test-${PV}.jar ${MY_PN}-${jar}.jar || die "java-pkg_newjar ${MY_PN}-${jar}.jar failed" + fi + + if use jni; then + cd "${S}/output/native" + sodest="/usr/lib/" + local so_arch + if use amd64; then + so_arch="x64" + elif use x86; then + so_arch="x86" + fi + java-pkg_doso libjaybird22_${so_arch}.so || die \ + "java-pkg_doso ${sodest}libjaybird22.so failed" + fi + + cd "${S}" + + if use examples; then + insinto /usr/share/doc/${PF}/ + doins -r examples || die "installing examples failed" + fi + + use source && java-pkg_dosrc "${S}"/src/*/org + + cd "${S}/output" + use doc && java-pkg_dohtml -r docs/ + dodoc etc/default.mf + dohtml etc/*.html +} + +src_test() { + # + # Warning about timeouts without Firebird installed and running Locally + # + ewarn "You will experience long timeouts when running junit tests" + ewarn "without Firebird installed and running locally. The tests will" + ewarn "complete without Firebird, but network timeouts prolong the" + ewarn "testing phase considerably." + ANT_TASKS="ant-junit" eant all-tests-pure-java +} |