| # Copyright 1999-2013 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| # $Id$ |
| |
| EAPI="2" |
| |
| inherit eutils java-pkg-2 |
| |
| DESCRIPTION="Oracle SQL Developer is a graphical tool for database development" |
| HOMEPAGE="http://www.oracle.com/technology/products/database/sql_developer/" |
| SRC_URI="${P}-no-jre.zip" |
| RESTRICT="fetch" |
| |
| LICENSE="OTN" |
| SLOT="0" |
| KEYWORDS="amd64 x86" |
| IUSE="mssql mysql sybase" |
| |
| DEPEND="mssql? ( dev-java/jtds:1.2 ) |
| mysql? ( dev-java/jdbc-mysql:0 ) |
| sybase? ( dev-java/jtds:1.2 )" |
| RDEPEND=">=virtual/jdk-1.6.0 |
| ${DEPEND}" |
| |
| S="${WORKDIR}/${PN}" |
| |
| pkg_nofetch() { |
| eerror "Please go to" |
| eerror " ${HOMEPAGE}" |
| eerror "and download" |
| eerror " Oracle SQL Developer for other platforms" |
| eerror " ${SRC_URI}" |
| eerror "and move it to ${DISTDIR}" |
| } |
| |
| src_prepare() { |
| # we don't need these, do we? |
| find ./ \( -iname "*.exe" -or -iname "*.dll" -or -iname "*.bat" \) -exec rm {} \; |
| |
| # they both use jtds, enabling one of them also enables the other one |
| if use mssql && ! use sybase; then |
| einfo "You requested MSSQL support, this also enables Sybase support." |
| fi |
| if use sybase && ! use mssql; then |
| einfo "You requested Sybase support, this also enables MSSQL support." |
| fi |
| |
| if use mssql || use sybase; then |
| echo "AddJavaLibFile $(java-pkg_getjars jtds-1.2)" >> sqldeveloper/bin/sqldeveloper.conf |
| fi |
| |
| if use mysql; then |
| echo "AddJavaLibFile $(java-pkg_getjars jdbc-mysql)" >> sqldeveloper/bin/sqldeveloper.conf |
| fi |
| |
| # this fixes internal Classpath warning |
| cd "${T}" |
| unzip -q "${S}"/jdev/extensions/oracle.jdeveloper.runner.jar META-INF/extension.xml |
| sed -i 's@../../../oracle_common/modules/oracle.nlsrtl_11.1.0@../../jlib@' META-INF/extension.xml || die |
| zip -rq "${S}"/jdev/extensions/oracle.jdeveloper.runner.jar META-INF/extension.xml |
| rm -rf META-INF |
| |
| # this fixes another internal Classpath warning |
| cd "${T}" |
| unzip -q "${S}"/sqldeveloper/extensions/oracle.datamodeler.jar META-INF/extension.xml |
| sed -i 's@<classpath>${ide.extension.install.home}/lib/ActiveQueryBuilder.jar</classpath>@<classpath>${ide.extension.install.home}/../../lib/ActiveQueryBuilder.jar</classpath>@' META-INF/extension.xml || die |
| zip -rq "${S}"/sqldeveloper/extensions/oracle.datamodeler.jar META-INF/extension.xml |
| rm -rf META-INF |
| } |
| |
| src_install() { |
| dodir /opt/${PN} |
| cp -r {dataminer,ide,javavm,jdbc,jdev,jdev.label,jlib,jviews,modules,rdbms,readme.html,sleepycat,${PN},sqlj,timingframework} \ |
| "${D}"/opt/${PN}/ || die "Install failed" |
| |
| dobin "${FILESDIR}"/${PN} || die "Install failed" |
| |
| mv icon.png ${PN}-32x32.png || die |
| doicon ${PN}-32x32.png || die |
| make_desktop_entry ${PN} "Oracle SQL Developer" ${PN}-32x32 || die |
| } |
| |
| pkg_postinst() { |
| # this temporary fixes FileNotFoundException with datamodeler |
| # this is more like a workaround than permanent fix |
| test -d /opt/sqldeveloper/sqldeveloper/extensions/oracle.datamodeler/log \ |
| || mkdir /opt/sqldeveloper/sqldeveloper/extensions/oracle.datamodeler/log |
| touch /opt/sqldeveloper/sqldeveloper/extensions/oracle.datamodeler/log/datamodeler.log |
| chmod -R 1777 /opt/sqldeveloper/sqldeveloper/extensions/oracle.datamodeler/log/datamodeler.log |
| |
| # this fixes another datamodeler FileNotFoundException |
| # also more like a workaround than permanent fix |
| chmod 1777 /opt/sqldeveloper/sqldeveloper/extensions/oracle.datamodeler/types/dr_custom_scripts.xml |
| |
| echo |
| einfo "If you want to use the TNS connection type you need to set up the" |
| einfo "TNS_ADMIN environment variable to point to the directory your" |
| einfo "tnsnames.ora resides in." |
| echo |
| } |