Gentoo Archives: gentoo-commits

From: Patrice Clement <monsieurp@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: www-servers/resin/
Date: Wed, 28 Sep 2016 21:23:31
Message-Id: 1475097800.dab6103d9c5839d72593654a6bef57b564fe500e.monsieurp@gentoo
1 commit: dab6103d9c5839d72593654a6bef57b564fe500e
2 Author: Patrice Clement <monsieurp <AT> gentoo <DOT> org>
3 AuthorDate: Wed Sep 28 21:23:00 2016 +0000
4 Commit: Patrice Clement <monsieurp <AT> gentoo <DOT> org>
5 CommitDate: Wed Sep 28 21:23:20 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dab6103d
7
8 www-servers/resin: do not call get_libdir in global scope.
9
10 Gentoo-Bug: https://bugs.gentoo.org/593402
11
12 Package-Manager: portage-2.2.28
13
14 www-servers/resin/resin-4.0.48-r1.ebuild | 180 +++++++++++++++++++++++++++++++
15 1 file changed, 180 insertions(+)
16
17 diff --git a/www-servers/resin/resin-4.0.48-r1.ebuild b/www-servers/resin/resin-4.0.48-r1.ebuild
18 new file mode 100644
19 index 00000000..54afbab
20 --- /dev/null
21 +++ b/www-servers/resin/resin-4.0.48-r1.ebuild
22 @@ -0,0 +1,180 @@
23 +# Copyright 1999-2016 Gentoo Foundation
24 +# Distributed under the terms of the GNU General Public License v2
25 +# $Id$
26 +
27 +EAPI="5"
28 +
29 +JAVA_PKG_IUSE="source"
30 +
31 +inherit java-pkg-2 java-ant-2 eutils flag-o-matic multilib user
32 +
33 +DESCRIPTION="A fast Servlet and JSP engine"
34 +HOMEPAGE="http://www.caucho.com"
35 +SRC_URI="http://www.caucho.com/download/${P}-src.zip"
36 +
37 +LICENSE="GPL-2"
38 +SLOT="0"
39 +IUSE="admin doc"
40 +
41 +KEYWORDS="~amd64 ~x86"
42 +
43 +CDEPEND="
44 + dev-java/jsr101:0
45 + dev-java/mojarra:2.2
46 + dev-java/oracle-javamail:0
47 + dev-java/validation-api:1.0
48 + dev-java/resin-servlet-api:3.1
49 + dev-java/glassfish-xmlrpc-api:0
50 + dev-java/glassfish-deployment-api:1.2"
51 +
52 +RDEPEND="
53 + ${CDEPEND}
54 + >=virtual/jre-1.6"
55 +
56 +DEPEND="
57 + ${CDEPEND}
58 + app-arch/unzip
59 + dev-libs/openssl
60 + >=virtual/jdk-1.6
61 + dev-java/ant-core:0"
62 +
63 +JAVA_ANT_REWRITE_CLASSPATH="yes"
64 +
65 +EANT_GENTOO_CLASSPATH="
66 + jsr101
67 + mojarra-2.2
68 + oracle-javamail
69 + validation-api-1.0
70 + glassfish-xmlrpc-api
71 + resin-servlet-api-3.1
72 + glassfish-deployment-api-1.2
73 +"
74 +
75 +PATCHES=(
76 + "${FILESDIR}"/"${PV}"/build.xml.patch
77 +)
78 +
79 +pkg_setup() {
80 + export RESIN_HOME="/usr/$(get_libdir)/resin"
81 + java-pkg-2_pkg_setup
82 + enewgroup resin
83 + enewuser resin -1 /bin/bash "${RESIN_HOME}" resin
84 +}
85 +
86 +src_prepare() {
87 + epatch "${PATCHES[@]}"
88 +
89 + # No bundled JARs!
90 + rm -rv "${S}"/modules/ext/*.jar "${S}"/project-jars || die
91 +
92 + java-ant_bsfix_one "${S}/build.xml"
93 + java-ant_bsfix_one "${S}/build-common.xml"
94 +
95 + rm -rv lib/* || die
96 +
97 + ln -s $(java-config --jdk-home)/lib/tools.jar || die
98 +}
99 +
100 +src_configure() {
101 + append-flags -fPIC -DPIC
102 +
103 + chmod 755 "${S}/configure" || die
104 + econf --prefix=${RESIN_HOME} || die "econf failed"
105 +}
106 +
107 +src_compile() {
108 + einfo "Building libraries..."
109 + emake
110 +
111 + einfo "Building jars..."
112 + eant || die "ant failed"
113 +}
114 +
115 +src_install() {
116 + emake DESTDIR="${D}" install
117 +
118 + einfo "Moving configuration to /etc ..."
119 + dodir /etc/
120 + mv "${D}/${RESIN_HOME}/conf" "${D}/etc/resin" || die
121 + dosym /etc/resin ${RESIN_HOME}/conf
122 +
123 + einfo "Rewriting resin.xml ..."
124 + sed -i \
125 + -e 's,${resin.root}/doc/resin-doc,webapps/resin-doc,' \
126 + -e 's,${resin.root}/doc/admin,webapps/admin,' \
127 + "${D}/etc/resin/resin.xml" || die
128 +
129 + einfo "Fixing log directory ..."
130 + rm -rv "${D}/${RESIN_HOME}"/log || die
131 + keepdir /var/log/resin
132 + dosym /var/log/resin ${RESIN_HOME}/log
133 +
134 + einfo "Installing basic documentation ..."
135 + dodoc README "${S}"/conf/*.xml
136 +
137 + einfo "Installing init.d script ..."
138 + newinitd "${FILESDIR}/${PV}/resin.init" resin
139 + newconfd "${FILESDIR}/${PV}/resin.conf" resin
140 +
141 + sed -i -e "s,__RESIN_HOME__,${RESIN_HOME},g" "${D}/etc/init.d/resin" || die
142 +
143 + einfo "Fixing location of jars ..."
144 + #rm -v "${S}"/lib/tools.jar || die
145 + java-pkg_dojar "${S}"/lib/*.jar
146 + rm -rv "${D}/${RESIN_HOME}"/lib || die
147 + dosym /usr/share/resin/lib ${RESIN_HOME}/lib
148 +
149 + dodir /var/lib/resin/webapps
150 + keepdir /var/lib/resin/hosts
151 + keepdir /var/lib/resin/resin-data
152 + keepdir /var/lib/resin/watchdog-data
153 +
154 + mv "${D}"/${RESIN_HOME}/webapps/* "${D}/var/lib/resin/webapps" || die
155 + rm -rv "${D}/${RESIN_HOME}"/webapps || die
156 + dosym /var/lib/resin/webapps ${RESIN_HOME}/webapps
157 + dosym /var/lib/resin/hosts ${RESIN_HOME}/hosts
158 + dosym /var/lib/resin/resin-data ${RESIN_HOME}/resin-data
159 + dosym /var/lib/resin/watchdog-data ${RESIN_HOME}/watchdog-data
160 +
161 + dosym \
162 + "$(java-pkg_getjar resin-servlet-api-3.1 resin-servlet-api.jar)" \
163 + "${JAVA_PKG_JARDEST}/resin-servlet-api.jar"
164 +
165 + use admin && {
166 + einfo "Installing administration app ..."
167 + cp -a "${S}/doc/admin" "${D}/var/lib/resin/webapps/" || die
168 + }
169 + use doc && {
170 + einfo "Installing documentation app ..."
171 + cp -a "${S}/doc/resin-doc" "${D}/var/lib/resin/webapps/" || die
172 + }
173 +
174 + use source && {
175 + einfo "Installing sources ..."
176 + java-pkg_dosrc "${S}"/modules/*/src/* > /dev/null
177 + }
178 +
179 + einfo "Removing stale directories ..."
180 + rm -rv "${D}/${RESIN_HOME}"/{bin,doc} || die
181 + #rm -rv "${D}"/etc/resin/*.orig || die
182 +
183 + einfo "Fixing ownerships and permissions ..."
184 + fowners -R 0:root /
185 + fowners -R resin:resin /etc/resin
186 + fowners -R resin:resin /var/lib/resin
187 + fowners -R resin:resin /var/log/resin
188 +
189 + fperms 644 /etc/conf.d/resin
190 + fperms 755 /etc/init.d/resin
191 + fperms 750 /var/lib/resin
192 + fperms 750 /etc/resin
193 +}
194 +
195 +pkg_postinst() {
196 + elog
197 + elog " User and group 'resin' have been added."
198 + elog
199 + elog " By default, Resin runs on port 8080. You can change this"
200 + elog " value by editing /etc/resin/resin.properties."
201 + elog
202 +}