diff options
Diffstat (limited to 'www-servers/resin/resin-3.1.9.ebuild')
-rw-r--r-- | www-servers/resin/resin-3.1.9.ebuild | 176 |
1 files changed, 176 insertions, 0 deletions
diff --git a/www-servers/resin/resin-3.1.9.ebuild b/www-servers/resin/resin-3.1.9.ebuild new file mode 100644 index 000000000000..66cffd063046 --- /dev/null +++ b/www-servers/resin/resin-3.1.9.ebuild @@ -0,0 +1,176 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/www-servers/resin/resin-3.1.9.ebuild,v 1.1 2009/12/12 13:16:58 nelchael Exp $ + +EAPI="1" + +JAVA_PKG_IUSE="doc source" + +inherit java-pkg-2 java-ant-2 eutils flag-o-matic multilib autotools + +DESCRIPTION="A fast Servlet 2.5 and JSP 2.0 engine." +HOMEPAGE="http://www.caucho.com" +SRC_URI="http://www.caucho.com/download/${P}-src.zip + mirror://gentoo/resin-gentoo-patches-${PV}.tar.bz2" +LICENSE="GPL-2" +SLOT="0" +IUSE="admin" + +KEYWORDS="~amd64 ~ppc ~x86" + +COMMON_DEP="~dev-java/resin-servlet-api-${PV} + dev-java/iso-relax + dev-java/aopalliance + =dev-java/sun-j2ee-deployment-bin-1.1* + dev-java/jax-ws-api:2 + dev-java/jaxb:2 + java-virtuals/javamail + java-virtuals/jaf" + +RDEPEND=">=virtual/jdk-1.5 + ${COMMON_DEP}" +DEPEND=">=virtual/jdk-1.5 + app-arch/unzip + dev-java/ant-core + dev-libs/openssl + ${COMMON_DEP}" + +RESIN_HOME="/usr/$(get_libdir)/resin" + +# Rewrites build.xml in documentation +JAVA_PKG_BSFIX="off" + +src_unpack() { + + unpack ${A} + + cd "${S}" + for i in "${WORKDIR}"/${PV}/resin-${PV}-*; do + epatch "${i}" + done; + + eautoreconf + +} + +pkg_setup() { + + java-pkg-2_pkg_setup + enewgroup resin + enewuser resin -1 /bin/bash ${RESIN_HOME} resin + +} + +src_compile() { + + append-flags -fPIC -DPIC + + chmod 755 "${S}/configure" + econf --prefix=${RESIN_HOME} || die "econf failed" + + einfo "Building libraries..." + # Broken with -jn where n > 1 + emake -j1 || die "emake failed" + + mkdir "${S}/lib" + cd "${S}/lib" + java-pkg_jar-from --virtual jaf + java-pkg_jar-from --virtual javamail + java-pkg_jar-from iso-relax + java-pkg_jar-from aopalliance-1 + java-pkg_jar-from sun-j2ee-deployment-bin-1.1 + java-pkg_jar-from jax-ws-api-2 + java-pkg_jar-from jaxb-2 + java-pkg_jar-from resin-servlet-api-2.5 resin-servlet-api.jar jsdk-15.jar + ln -s $(java-config --jdk-home)/lib/tools.jar + cd "${S}" + + einfo "Building jars..." + eant || die "ant failed" + + if use doc; then + einfo "Building docs..." + eant doc || die "ant doc failed" + fi + +} + +src_install() { + + make DESTDIR="${D}" install || die + + dodir /etc/ + mv "${D}/${RESIN_HOME}/conf" "${D}/etc/resin" || die "mv of conf failed" + dosym /etc/resin ${RESIN_HOME}/conf + + keepdir /var/log/resin + keepdir /var/log/resin + keepdir /var/run/resin + + dosym /var/log/resin ${RESIN_HOME}/logs + dosym /var/log/resin ${RESIN_HOME}/log + + dodoc README "${S}"/conf/*.conf + + 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" + + rm -f "${S}/lib/tools.jar" + java-pkg_dojar "${S}"/lib/*.jar + rm -fr "${D}/${RESIN_HOME}/lib" + dosym /usr/share/resin/lib ${RESIN_HOME}/lib + dosym /var/log/resin /usr/share/resin/log + + dodir /var/lib/resin/webapps + mv "${D}"/${RESIN_HOME}/webapps/* "${D}/var/lib/resin/webapps" || \ + die "mv of webapps failed" + rm -rf "${D}/${RESIN_HOME}/webapps" + dosym /var/lib/resin/webapps ${RESIN_HOME}/webapps + + dosym /etc/resin/resin.conf /etc/resin/resin.xml + + use admin && { + cp -a "${S}/php" "${D}/${RESIN_HOME}/" || die "cp failed" + } + + use source && { + einfo "Zipping source..." + java-pkg_dosrc "${S}"/modules/*/src/* 2> /dev/null + } + + einfo "Removing unneeded files..." + rm -fr "${D}/${RESIN_HOME}/bin" + rm -f "${D}"/etc/resin/*.orig + + einfo "Fixing permissions..." + chown -R resin:resin "${D}${RESIN_HOME}" + chown -R resin:resin "${D}/etc/resin" + chown -R resin:resin "${D}/var/log/resin" + chown -R resin:resin "${D}/var/lib/resin" + chown -R resin:resin "${D}/var/run/resin" + + chmod 644 "${D}/etc/conf.d/resin" + chmod 755 "${D}/etc/init.d/resin" + chmod 750 "${D}/var/lib/resin" + chmod 750 "${D}/var/run/resin" + chmod 750 "${D}/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.conf." + elog + elog " webapps directory was moved to /var/lib/resin/webapps" + elog + elog " Most options has been moved from /etc/conf.d/resin to" + elog " /etc/resin/resin.conf." + elog + +} |