# 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="mirror://sourceforge/${PN}/${P}.tar.gz" #http://hsqldb.svn.sourceforge.net/viewvc/hsqldb/base/tags/2.2.8/ LICENSE="BSD" SLOT="2" KEYWORDS="~amd64" IUSE="" COMMON_DEP="java-virtuals/servlet-api:2.3" # * Possibly unneeded dependencies found # * ant-core # * junit # * Class files not found via DEPEND in package.env # * org/hsqldb/util/Transfer.class # chmod 600 /var/lib/hsqldb-2/sqltool.rc 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_BUILD_TARGET="hsqldb sqltool hsqldbutil" #+hsqljdbc ? EANT_BUILD_XML="build/build.xml" JAVA_PKG_BSFIX_NAME="build.xml test.xml" #JAVA_PKG_DEBUG=true #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}-servet-api.patch" find "${S}" -iname '*.jar' -delete find "${S}/lib" -iname '*.zip' -delete cd "${S}/lib" java-pkg_jar-from servlet-api-2.3 cd "${S}" rm bin/* 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}" URLIDS=localhost-sa JAVA_EXECUTABLE=/usr/bin/java SQLTOOL_JAR_PATH=/usr/share/hsqldb-${SLOT}/lib/sqltool.jar SERVER_HOME=${HSQLDB_HOME} HSQLDB_OWNER=hsqldb SERVICE=hsqldb-${SLOT} AUTH_FILE=${HSQLDB_HOME}/sqltool.rc EOF sed -r \ -e "s#etc/sysconfig#etc/conf.d#g" \ -e "s#SERVICE=hsqldb#SERVICE=hsqldb-${SLOT}#g" \ sample/hsqldb.init > bin/hsqldb sed -i -r \ -e "s#etc/sysconfig#etc/conf.d#g" \ bin/hsqldb || die cp sample/sqltool.rc conf/ } src_test() { cd "${S}/lib" java-pkg_jar-from --build-only junit java-pkg_jar-from --build-only ant-core cd "${S}" EANT_GENTOO_CLASSPATH="junit,ant-core" \ eant -f "${EANT_BUILD_XML}" preprocessor EANT_GENTOO_CLASSPATH="junit,ant-core" \ ANT_OPTS="-Xmx1536m -XX:PermSize=1200m" ANT_TASKS="ant-junit" \ eant -f build/test.xml make.test.suite run.test.suite } src_install() { java-pkg_dojar lib/${PN}.jar java-pkg_dojar lib/sqltool.jar java-pkg_dojar lib/hsqldbutil.jar use doc && java-pkg_dojavadoc doc/apidocs use source && java-pkg_dosrc src/org cd "${S}" echo "CONFIG_PROTECT=\"${HSQLDB_HOME}\"" > "${T}/35hsqldb-${SLOT}" doenvd "${T}/35hsqldb-${SLOT}" # 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 doins "${S}/conf/server.properties" ##insopts -m0600 -o hsqldb -g hsqldb doins "${S}/conf/sqltool.rc" # Install init script dodir "${HSQLDB_HOME}/bin" keepdir "${HSQLDB_HOME}" exeinto "${HSQLDB_HOME}/bin" doexe bin/hsqldb # Make sure that files have correct permissions chown -R hsqldb:hsqldb "${D}${HSQLDB_HOME}" chmod o-rwx "${D}${HSQLDB_HOME}" # Create symlinks to authorization files in the server home dir # (required by the hqldb init script) insinto "${HSQLDB_HOME}" dosym "/etc/hsqldb-${SLOT}/server.properties" "${HSQLDB_HOME}/server.properties" dosym "/etc/hsqldb-${SLOT}/sqltool.rc" "${HSQLDB_HOME}/sqltool.rc" }