# Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/dev-java/slf4j-api/slf4j-api-1.5.11.ebuild,v 1.5 2010/10/14 16:59:11 ranger Exp $ EAPI="4" JAVA_PKG_IUSE="doc source test" inherit eutils java-pkg-2 java-ant-2 DESCRIPTION="The leading SQL relational database engine written in Java." HOMEPAGE="http://hsqldb.org/" SRC_URI="http://hsqldb.svn.sourceforge.net/viewvc/hsqldb/base/tags/${PV}/?view=tar -> ${PN}.tar.gz" LICENSE="BSD" SLOT="2" KEYWORDS="~amd64" IUSE="" COMMON_DEP="java-virtuals/servlet-api:2.4" RDEPEND=">=virtual/jre-1.5 ${COMMON_DEP}" DEPEND=">=virtual/jdk-1.6 app-arch/unzip test? ( dev-java/ant-junit dev-java/ant-core =dev-java/junit-3.8* ) ${COMMON_DEP}" S="${WORKDIR}/${PV}" JAVA_ANT_REWRITE_CLASSPATH="yes" EANT_GENTOO_CLASSPATH="servlet-api-2.4" EANT_BUILD_TARGET="hsqldb sqltool hsqldbutil" #+hsqljdbc ? EANT_BUILD_XML="build/build.xml" JAVA_ANT_CLASSPATH_TAGS="${JAVA_ANT_CLASSPATH_TAGS} available" JAVA_PKG_BSFIX_NAME="build.xml test.xml" #tests can't be compiled with ecj JAVA_PKG_FORCE_COMPILER="javac" HSQLDB_HOME="/var/lib/hsqldb-${SLOT}" pkg_setup() { enewgroup hsqldb enewuser hsqldb -1 /bin/sh /dev/null hsqldb java-pkg-2_pkg_setup } java_prepare() { epatch "${FILESDIR}/${P}-junit-availability.patch" find "${S}" \( -name '*.jar' -o -name '*.zip' \) -delete mkdir conf sed -e "s/^server.database.0=.*$/server.database.0=file:${HSQLDB_HOME//\//\\/}\/db0/g" \ sample/server.properties > conf/server.properties cat <<-EOF > "conf/hsqldb-${SLOT}" URLID=localhost-sa #WEBSERVER #defines weather to start server in normal mode or in #web server mode #the properties (port, address, tls etc.) are defined #in ${HSQLDB_HOME}/server.properties and in #${HSQLDB_HOME}/webserver.properties # #if you want to start server in webserver mode, please, #define at least server.port in webserver.properties, e.g. #server.port=8080 #default value: false #WEBSERVER=true EOF cp conf/server.properties conf/webserver.properties sed -i -e '1aserver.port=8080' conf/webserver.properties cp sample/sqltool.rc conf/ } src_test() { EANT_GENTOO_CLASSPATH="junit,ant-core" \ eant -f "${EANT_BUILD_XML}" preprocessor #causes more tests do pass cd "${S}/build" EANT_GENTOO_CLASSPATH="junit,ant-core" \ ANT_OPTS="-Xmx1536m -XX:PermSize=1200m" ANT_TASKS="ant-junit" \ eant -f test.xml make.test.suite run.test.suite } src_install() { java-pkg_dojar lib/{hsqldb,hsqldbutil,sqltool}.jar if use doc; then java-pkg_dojavadoc doc/apidocs dodoc doc-src/*.txt #TODO generate guides from docbooks fi use source && java-pkg_dosrc src/org echo "CONFIG_PROTECT=\"${HSQLDB_HOME}\"" > "${T}/35hsqldb-${SLOT}" doenvd "${T}/35hsqldb-${SLOT}" # Servers java-pkg_dolauncher ${PN}-server-${SLOT} \ --main org.hsqldb.server.Server java-pkg_dolauncher ${PN}-webserver-${SLOT} \ --main org.hsqldb.server.WebServer # Tools java-pkg_dolauncher ${PN}-manager-${SLOT} \ --main org.hsqldb.util.DatabaseManagerSwing java-pkg_dolauncher ${PN}-sqltool-${SLOT} \ --main org.hsqldb.cmdline.SqlTool # Put init, configuration and authorization files in /etc doinitd "${FILESDIR}/hsqldb-${SLOT}" doconfd "conf/hsqldb-${SLOT}" dodir "/etc/hsqldb-${SLOT}" insinto "/etc/hsqldb-${SLOT}" # Change the ownership of server.properties and sqltool.rc # files to hsqldb:hsqldb. (resolves Bug #111963) insopts -m0600 -o hsqldb -g hsqldb diropts -m0700 -o hsqldb -g hsqldb doins "${S}/conf/server.properties" doins "${S}/conf/webserver.properties" doins "${S}/conf/sqltool.rc" dodir "${HSQLDB_HOME}" # Create symlink to server.properties # (required by the hqldb init script) insinto "${HSQLDB_HOME}" for cfg in "server.properties" "webserver.properties" "sqltool.rc"; do dosym "/etc/hsqldb-${SLOT}/${cfg}" "${HSQLDB_HOME}/${cfg}" done #dosym "/etc/hsqldb-${SLOT}/server.properties" \ "${HSQLDB_HOME}/server.properties" #dosym "/etc/hsqldb-${SLOT}/webserver.properties" \ "${HSQLDB_HOME}/webserver.properties" #dosym "/etc/hsqldb-${SLOT}/sqltool.rc" \ "${HSQLDB_HOME}/sqltool.rc" } pkg_postinst() { elog "hsqldb-${SLOT} server will start with default database" elog "and default credentials (SA/(empty password))." elog "Please change /etc/hsqldb-${SLOT}/server.properties" elog "/etc/hsqldb-${SLOT}/sqltool.rc if the default behaviour" elog "is not desired." }