+++ /dev/null
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="5"
-
-JAVA_PKG_IUSE="source"
-
-inherit java-pkg-2 java-ant-2 eutils flag-o-matic multilib user
-
-DESCRIPTION="A fast Servlet and JSP engine"
-HOMEPAGE="http://www.caucho.com"
-SRC_URI="http://www.caucho.com/download/${P}-src.zip"
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="admin doc"
-
-KEYWORDS="amd64 x86"
-
-CDEPEND="dev-java/resin-servlet-api:3.0
- dev-java/jsr101:0
- dev-java/mojarra:1.2
- dev-java/oracle-javamail:0
- dev-java/validation-api:1.0
- dev-java/glassfish-xmlrpc-api:0
- dev-java/glassfish-deployment-api:1.2"
-
-RDEPEND=">=virtual/jre-1.6
- ${CDEPEND}"
-DEPEND=">=virtual/jdk-1.6
- app-arch/unzip
- dev-libs/openssl
- dev-java/ant-core:0
- ${CDEPEND}"
-
-RESIN_HOME="/usr/$(get_libdir)/resin"
-
-JAVA_ANT_REWRITE_CLASSPATH="yes"
-
-EANT_GENTOO_CLASSPATH="
-jsr101
-mojarra-1.2
-oracle-javamail
-validation-api-1.0
-glassfish-xmlrpc-api
-resin-servlet-api-3.0
-glassfish-deployment-api-1.2"
-
-PATCHES=(
- "${FILESDIR}"/"${PV}"/VarType.java.patch
- "${FILESDIR}"/"${PV}"/resin-compile.patch
- "${FILESDIR}"/"${PV}"/build.xml.patch
-)
-
-pkg_setup() {
- java-pkg-2_pkg_setup
- enewgroup resin
- enewuser resin -1 /bin/bash ${RESIN_HOME} resin
-}
-
-src_prepare() {
- epatch "${PATCHES[@]}"
-
- # No bundled JARs!
- rm -f "${S}/modules/ext/"*.jar || die
- rm -rf "${S}/project-jars" || die
-
- java-ant_bsfix_one "${S}/build.xml"
- java-ant_bsfix_one "${S}/build-common.xml"
-
- rm -rf lib/* || die
-
- java-pkg_jar-from --into lib jsr101
- java-pkg_jar-from --into lib mojarra-1.2
- java-pkg_jar-from --into lib oracle-javamail
- java-pkg_jar-from --into lib validation-api-1.0
- java-pkg_jar-from --into lib glassfish-xmlrpc-api
- java-pkg_jar-from --into lib glassfish-deployment-api-1.2
- java-pkg_jar-from --into lib resin-servlet-api-3.0 resin-servlet-api.jar
-
- ln -s $(java-config --jdk-home)/lib/tools.jar || die
-}
-
-src_configure() {
- append-flags -fPIC -DPIC
-
- chmod 755 "${S}/configure" || die
- econf --prefix=${RESIN_HOME} || die "econf failed"
-}
-
-src_compile() {
- einfo "Building libraries..."
- emake || die "make failed"
-
- einfo "Building jars..."
- eant || die "ant failed"
-}
-
-src_install() {
- emake DESTDIR="${D}" install || die "Install failed"
-
- einfo "Moving configuration to /etc ..."
- dodir /etc/
- mv "${D}/${RESIN_HOME}/conf" "${D}/etc/resin" || die "mv of conf failed"
- dosym /etc/resin ${RESIN_HOME}/conf
-
- einfo "Rewriting resin.xml ..."
- sed -i \
- -e 's,${resin.root}/doc/resin-doc,webapps/resin-doc,' \
- -e 's,${resin.root}/doc/admin,webapps/admin,' \
- "${D}/etc/resin/resin.xml" || die
-
- einfo "Fixing log directory ..."
- rm -rf "${D}/${RESIN_HOME}/log" || die
- keepdir /var/log/resin
- dosym /var/log/resin ${RESIN_HOME}/log
-
- einfo "Installing basic documentation ..."
- dodoc README "${S}"/conf/*.xml
-
- einfo "Installing init.d script ..."
- newinitd "${FILESDIR}/${PV}/resin.init" resin
- newconfd "${FILESDIR}/${PV}/resin.conf" resin
-
- sed -i -e "s,__RESIN_HOME__,${RESIN_HOME},g" "${D}/etc/init.d/resin" || die
-
- einfo "Fixing location of jars ..."
- rm -f "${S}/lib/tools.jar" || die
- java-pkg_dojar "${S}"/lib/*.jar
- rm -fr "${D}/${RESIN_HOME}/lib" || die
- dosym /usr/share/resin/lib ${RESIN_HOME}/lib
-
- einfo "Symlinking directories from /var/lib/resin ..."
- rm -rf "${D}/${RESIN_HOME}/resin-data" || die
- rm -rf "${D}/${RESIN_HOME}/watchdog-data" || die
- dodir /var/lib/resin/webapps
- keepdir /var/lib/resin/hosts
- keepdir /var/lib/resin/resin-data
- keepdir /var/lib/resin/watchdog-data
- mv "${D}"/${RESIN_HOME}/webapps/* "${D}/var/lib/resin/webapps" || \
- die "mv of webapps failed"
- rm -rf "${D}/${RESIN_HOME}/webapps" || die
- dosym /var/lib/resin/webapps ${RESIN_HOME}/webapps
- dosym /var/lib/resin/hosts ${RESIN_HOME}/hosts
- dosym /var/lib/resin/resin-data ${RESIN_HOME}/resin-data
- dosym /var/lib/resin/watchdog-data ${RESIN_HOME}/watchdog-data
-
- dosym \
- "$(java-pkg_getjar resin-servlet-api-3.0 resin-servlet-api.jar)" \
- "${JAVA_PKG_JARDEST}/resin-servlet-api.jar"
-
- use admin && {
- einfo "Installing administration app ..."
- cp -a "${S}/doc/admin" "${D}/var/lib/resin/webapps/" || die
- }
- use doc && {
- einfo "Installing documentation app ..."
- cp -a "${S}/doc/resin-doc" "${D}/var/lib/resin/webapps/" || die
- }
-
- use source && {
- einfo "Installing sources ..."
- java-pkg_dosrc "${S}"/modules/*/src/* > /dev/null
- }
-
- einfo "Removing stale directories ..."
- rm -fr "${D}/${RESIN_HOME}/bin" || die
- rm -fr "${D}/${RESIN_HOME}/doc" || die
- rm -fr "${D}/${RESIN_HOME}/keys" || die
- rm -fr "${D}/${RESIN_HOME}/licenses" || die
- rm -fr "${D}/etc/resin/"*.orig || die
-
- einfo "Fixing ownerships and permissions ..."
- fowners -R 0:root /
- fowners -R resin:resin /etc/resin
- fowners -R resin:resin /var/lib/resin
- fowners -R resin:resin /var/log/resin
-
- fperms 644 /etc/conf.d/resin
- fperms 755 /etc/init.d/resin
- fperms 750 /var/lib/resin
- fperms 750 /etc/resin
-}
-
-pkg_postinst() {
- elog
- elog " User and group 'resin' have been added."
- elog
- elog " By default, Resin runs on port 8080. You can change this"
- elog " value by editing /etc/resin/resin.properties."
- elog
-}