summaryrefslogtreecommitdiff
path: root/dev-db/hsqldb
diff options
context:
space:
mode:
Diffstat (limited to 'dev-db/hsqldb')
-rw-r--r--dev-db/hsqldb/Manifest2
-rw-r--r--dev-db/hsqldb/hsqldb-2.7.4.ebuild181
2 files changed, 183 insertions, 0 deletions
diff --git a/dev-db/hsqldb/Manifest b/dev-db/hsqldb/Manifest
index 0290f73c8030..73e69dc62e5e 100644
--- a/dev-db/hsqldb/Manifest
+++ b/dev-db/hsqldb/Manifest
@@ -4,5 +4,7 @@ AUX hsqldb-2.7.3-hsqldb.init.patch 740 BLAKE2B 948afb9bb1404d34f767bebd2010fdea9
AUX server.properties 686 BLAKE2B 6b4482dfe6187adada772cffb1a46e39bacd9fa8ca5501dd58414f9815dc6b118d3f9de909953f88f1055ae1984ef3f9aee479c339920bf182f31f4265cdb6f1 SHA512 c36a1d2e387762f96872d94bdb3a6a2af9edb949be9d33321f9ea4e3fb996baecff6fc3875b6bef8f73a54a6a1cedd71dcdf97c881819cb130b1a2b43ec7e842
AUX sqltool.rc 560 BLAKE2B 5f5e4bd1e9fe9759c2e2d5b6b5274343caa5028b29cfa4597c3a3348a1b07e4540d608d3dea5b189cf471b85721f15018490a7e4f8c56cc48ce648a07f0b7a45 SHA512 80ce53ad07c2091113787cb41232e5900426b042dcc3f62157569588538ad26d471e5d17aac62052902789065efb01647bfbc3488ff3d0f3c9e3df513895f57c
DIST hsqldb-2.7.3.zip 11778622 BLAKE2B 9e7f6a0e0bdf8602c87ab770dcb43c17db9ae6dc5d50fda079a44a42b0ccb64a20f74d020b2dbedbbc6b6c6ee57acf062d2c74d53a7d34fe932dbd79b0cc86d0 SHA512 06825d5f1428630dae476d78de9e2c48834a34a8678adf0e6af594594c5e1a7efdf99e366add4f6bbc24136e6aaa8fcbf54bd7ff2f2c459c20f9f02f7415b70a
+DIST hsqldb-2.7.4.zip 11792951 BLAKE2B 5f3661914b1a3ab006462c4d456d4601a61fcc57f057e18031346696342e9f95ac123c410c604ca7ede89d5c0a2702dc1c988b9269f1319929dea6fb8c66cebb SHA512 632017aa0776bdfe2442399451474a996491aa4584e7536b4c42199f613c0d1267d931fdcbe06acfa49061fa18dff7c3e4a0063a5ecd40fff73b9959e9975801
EBUILD hsqldb-2.7.3.ebuild 5362 BLAKE2B 7bc2868548b10698a424dba1586ab0d310b057c506d51259684285c66f41e9d5eb5d86b585c92e20f6ceddee2a868efae250e5e5af15921cef3a22a008ae44a2 SHA512 b7829194f179ebb0548b7550a5e85c1791131d96a78234d53956d618b423ee5c27ebb670874245f3f484f6f6500b714f71dedff9724950148cd8e76857f280ed
+EBUILD hsqldb-2.7.4.ebuild 5365 BLAKE2B 37e671985957c3920303d134aab63c45feeb8ce274b4a18919a64dc2c7fbd20fe94e10e96e79c64dae5a0d69f14fe9d84270d5c93407c60101987d1fb7fda0b9 SHA512 e8a3404ab289501f4a1fbc2a5fff88ea665346f82e83ec0a452307127da1034e314f46a4e361bc62d93dfd844e78a89e6dd66d3c9c56e5d644993085842ea931
MISC metadata.xml 313 BLAKE2B 9e6ce7bf4cf82ff78b3a930ec36589308e448ae076c231a742ce3bdc3c43648bb63946636c5564995f7463d2d69b039d0d533d4af1d55790f3fafaeaf68597d8 SHA512 f56b3020ded5e21f6ca53bd6d81396f16c3917c702bcda8553a46bdc996bd751ef30757f241efe61343a5af58886b3cfdad51aa7b1e008378bbc4891dd7fa308
diff --git a/dev-db/hsqldb/hsqldb-2.7.4.ebuild b/dev-db/hsqldb/hsqldb-2.7.4.ebuild
new file mode 100644
index 000000000000..c2a6424fcd29
--- /dev/null
+++ b/dev-db/hsqldb/hsqldb-2.7.4.ebuild
@@ -0,0 +1,181 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source test"
+MAVEN_ID="org.hsqldb:hsqldb:${PV}"
+
+inherit java-pkg-2
+
+MY_PV="$(ver_cut 1-2)"
+MY_PV="${MY_PV//./_}"
+
+DESCRIPTION="HSQLDB - Lightweight 100% Java SQL Database Engine"
+HOMEPAGE="https://hsqldb.org"
+SRC_URI="https://downloads.sourceforge.net/project/hsqldb/hsqldb/hsqldb_${MY_PV}/${P}.zip"
+S="${WORKDIR}/${P}/${PN}"
+
+LICENSE="BSD GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+BDEPEND="
+ app-arch/unzip
+ >=dev-java/ant-1.10.14-r3:0
+"
+
+COMMON_DEPEND="
+ acct-group/hsqldb
+ acct-user/hsqldb
+"
+
+DEPEND="${COMMON_DEPEND}
+ dev-java/javax-servlet-api:3.1
+ >=virtual/jdk-11:*
+ test? (
+ >=dev-java/ant-1.10.14-r3:0[junit]
+ dev-java/junit:0
+ )"
+
+RDEPEND="${COMMON_DEPEND}
+ >=virtual/jre-11:*"
+
+DOCS=( readme.txt doc/{changelist_2_0,odbc,readme-docauthors}.txt )
+
+PATCHES=(
+ "${FILESDIR}/hsqldb-2.7.3-hsqldb.conf.patch"
+ "${FILESDIR}/hsqldb-2.7.3-hsqldb.init.patch"
+)
+
+HSQLDB_JAR=/usr/share/hsqldb/lib/hsqldb.jar
+HSQLDB_HOME=/var/lib/hsqldb
+
+src_prepare() {
+ default #780585
+ java-pkg-2_src_prepare
+ java-pkg_clean
+
+ # bin/hsqldb seems to have moved/renamed to sample/hsqldb.init
+ mv sample/hsqldb{.init,} || die
+
+ mkdir conf
+ # sample-hsqldb.cfg seems to have moved/renamed to sample/hsqldb.conf
+ mv sample/hsqldb.conf conf/hsqldb || die
+
+ cp "${FILESDIR}/server.properties" conf/ || die
+ cp "${FILESDIR}/sqltool.rc" conf/ || die
+}
+
+src_compile() {
+ local targets=( hsqldb hsqldbutil sqltool )
+ if use doc; then
+ mkdir doc-src/apidocs || die
+ cp doc{,-src}/apidocs/javadoc.css || die
+ rm -r doc/apidocs || die
+ targets+=( javadoc )
+ fi
+ use test && targets+=( preprocessor )
+ eant \
+ -f build/build.xml \
+ -Dservletapi.lib="$(java-pkg_getjars --build-only javax-servlet-api-3.1)" \
+ -Djavac.bootcp.override \
+ -Dant.java.iscjava11 \
+ -Dant.build.javac.source="11" \
+ -Dant.build.javac.target="11" \
+ "${targets[@]}"
+}
+
+src_test() {
+ mkdir -p test-src/org/hsqldb/{resources,jdbc/resources/{xml,sql},util/preprocessor} || die
+ eant -v \
+ -f build/test.xml \
+ -Dservletapi.lib="$(java-pkg_getjars --build-only javax-servlet-api-3.1)" \
+ -Djunit.jar="$(java-pkg_getjars --build-only junit)" \
+ -Djavac.bootcp.override \
+ -Dant.java.iscjava11 \
+ -Dant.build.javac.source="11" \
+ -Dant.build.javac.target="11" \
+ make.test.suite run.test.suite
+}
+
+src_install() {
+ java-pkg_dojar lib/{hsqldb{,util},sqltool}.jar
+
+ einstalldocs
+ use doc && java-pkg_dojavadoc doc/apidocs
+
+ use source && java-pkg_dosrc src/*
+
+ echo "CONFIG_PROTECT=\"${HSQLDB_HOME}\"" > "${T}"/35hsqldb || die
+ doenvd "${T}"/35hsqldb
+
+ # Put init, configuration and authorization files in /etc
+ doinitd "${FILESDIR}/hsqldb"
+ doconfd conf/hsqldb
+ insinto /etc/hsqldb
+ # Change the ownership of server.properties and sqltool.rc
+ # files to hsqldb:hsqldb. (resolves Bug #111963)
+ use prefix || insopts -m0600 -o hsqldb -g hsqldb
+ doins conf/server.properties
+ use prefix || insopts -m0600 -o hsqldb -g hsqldb
+ doins conf/sqltool.rc
+
+ # Install init script
+ dodir "${HSQLDB_HOME}/bin"
+ keepdir "${HSQLDB_HOME}"
+ exeinto "${HSQLDB_HOME}/bin"
+ doexe sample/hsqldb
+
+ # Make sure that files have correct permissions
+ use prefix || chown -R hsqldb:hsqldb "${ED}${HSQLDB_HOME}" || die
+ chmod o-rwx "${ED}${HSQLDB_HOME}" || die
+
+ # Create symlinks to authorization files in the server home dir
+ # (required by the hqldb init script)
+ insinto "${HSQLDB_HOME}"
+ dosym ../../../etc/hsqldb/server.properties "${HSQLDB_HOME}/server.properties"
+ dosym ../../../etc/hsqldb/sqltool.rc "${HSQLDB_HOME}/sqltool.rc"
+}
+
+pkg_postinst() {
+ ewarn "If you intend to run Hsqldb in Server mode and you want to create"
+ ewarn "additional databases, remember to put correct information in both"
+ ewarn "'server.properties' and 'sqltool.rc' files."
+ ewarn "(read the 'Init script Setup Procedure' section of the 'Chapter 3."
+ ewarn "UNIX Quick Start' in the Hsqldb docs for more information)"
+ echo
+ elog "Example:"
+ echo
+ elog "${EPREFIX}/etc/hsqldb/server.properties"
+ elog "============================="
+ elog "server.database.1=file:xdb/xdb"
+ elog "server.dbname.1=xdb"
+ elog "server.urlid.1=xdb"
+ elog
+ elog "${EPREFIX}/etc/hsqldb/sqltool.rc"
+ elog "======================"
+ elog "urlid xdb"
+ elog "url jdbc:hsqldb:hsql://localhost/xdb"
+ elog "username sa"
+ elog "password "
+ echo
+ elog "Also note that each hsqldb server can serve only up to 10"
+ elog "different databases simultaneously (with consecutive {0-9}"
+ elog "suffixes in the 'server.properties' file)."
+ echo
+ ewarn "For data manipulation use:"
+ ewarn
+ ewarn "# java -classpath ${EPREFIX}${HSQLDB_JAR} org.hsqldb.util.DatabaseManager"
+ ewarn "# java -classpath ${EPREFIX}${HSQLDB_JAR} org.hsqldb.util.DatabaseManagerSwing"
+ ewarn "# java -classpath ${EPREFIX}${HSQLDB_JAR} org.hsqldb.util.SqlTool \\"
+ ewarn " --rcFile ${EPREFIX}/var/lib/hsqldb/sqltool.rc <dbname>"
+ echo
+ elog "The Hsqldb can be run in multiple modes - read 'Chapter 1. Running'"
+ elog "and Using Hsqldb' in the Hsqldb docs at:"
+ elog " http://hsqldb.org/web/hsqlDocsFrame.html"
+ elog "If you intend to run it in the Server mode, it is suggested to add the"
+ elog "init script to your start-up scripts, this should be done like this:"
+ elog " \`rc-update add hsqldb default\`"
+ echo
+}