summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrice Clement <monsieurp@gentoo.org>2016-09-28 23:23:00 +0200
committerPatrice Clement <monsieurp@gentoo.org>2016-09-28 23:23:20 +0200
commitdab6103d9c5839d72593654a6bef57b564fe500e (patch)
tree519bd6b02595783f86018b89cb2a43a3e44058a0 /www-servers
parentapp-vim/screen: Stable for amd64+x86. (diff)
downloadgentoo-dab6103d9c5839d72593654a6bef57b564fe500e.tar.gz
gentoo-dab6103d9c5839d72593654a6bef57b564fe500e.tar.bz2
gentoo-dab6103d9c5839d72593654a6bef57b564fe500e.zip
www-servers/resin: do not call get_libdir in global scope.
Gentoo-Bug: https://bugs.gentoo.org/593402 Package-Manager: portage-2.2.28
Diffstat (limited to 'www-servers')
-rw-r--r--www-servers/resin/resin-4.0.48-r1.ebuild180
1 files changed, 180 insertions, 0 deletions
diff --git a/www-servers/resin/resin-4.0.48-r1.ebuild b/www-servers/resin/resin-4.0.48-r1.ebuild
new file mode 100644
index 000000000000..54afbab6a941
--- /dev/null
+++ b/www-servers/resin/resin-4.0.48-r1.ebuild
@@ -0,0 +1,180 @@
+# Copyright 1999-2016 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/jsr101:0
+ dev-java/mojarra:2.2
+ dev-java/oracle-javamail:0
+ dev-java/validation-api:1.0
+ dev-java/resin-servlet-api:3.1
+ dev-java/glassfish-xmlrpc-api:0
+ dev-java/glassfish-deployment-api:1.2"
+
+RDEPEND="
+ ${CDEPEND}
+ >=virtual/jre-1.6"
+
+DEPEND="
+ ${CDEPEND}
+ app-arch/unzip
+ dev-libs/openssl
+ >=virtual/jdk-1.6
+ dev-java/ant-core:0"
+
+JAVA_ANT_REWRITE_CLASSPATH="yes"
+
+EANT_GENTOO_CLASSPATH="
+ jsr101
+ mojarra-2.2
+ oracle-javamail
+ validation-api-1.0
+ glassfish-xmlrpc-api
+ resin-servlet-api-3.1
+ glassfish-deployment-api-1.2
+"
+
+PATCHES=(
+ "${FILESDIR}"/"${PV}"/build.xml.patch
+)
+
+pkg_setup() {
+ export RESIN_HOME="/usr/$(get_libdir)/resin"
+ java-pkg-2_pkg_setup
+ enewgroup resin
+ enewuser resin -1 /bin/bash "${RESIN_HOME}" resin
+}
+
+src_prepare() {
+ epatch "${PATCHES[@]}"
+
+ # No bundled JARs!
+ rm -rv "${S}"/modules/ext/*.jar "${S}"/project-jars || die
+
+ java-ant_bsfix_one "${S}/build.xml"
+ java-ant_bsfix_one "${S}/build-common.xml"
+
+ rm -rv lib/* || die
+
+ 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
+
+ einfo "Building jars..."
+ eant || die "ant failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ einfo "Moving configuration to /etc ..."
+ dodir /etc/
+ mv "${D}/${RESIN_HOME}/conf" "${D}/etc/resin" || die
+ 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 -rv "${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 -v "${S}"/lib/tools.jar || die
+ java-pkg_dojar "${S}"/lib/*.jar
+ rm -rv "${D}/${RESIN_HOME}"/lib || die
+ dosym /usr/share/resin/lib ${RESIN_HOME}/lib
+
+ 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
+ rm -rv "${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.1 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 -rv "${D}/${RESIN_HOME}"/{bin,doc} || die
+ #rm -rv "${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
+}