--- tomcat-5.5.17.ebuild 2006-07-03 05:13:09.000000000 +0300 +++ tomcat-5.5.17.ebuild 2006-07-04 21:21:47.000000000 +0300 @@ -13,34 +13,40 @@ HOMEPAGE="http://jakarta.apache.org/tomc KEYWORDS="~amd64 ~x86" LICENSE="Apache-2.0" -RDEPEND=">=virtual/jdk-1.4 - =dev-java/eclipse-ecj-3.1* +RDEPEND="=dev-java/eclipse-ecj-3.1* =dev-java/commons-beanutils-1.7* >=dev-java/commons-collections-3.1 >=dev-java/commons-daemon-1.0.1 >=dev-java/commons-dbcp-1.2.1 >=dev-java/commons-digester-1.7 >=dev-java/commons-fileupload-1.0 - >=dev-java/commons-httpclient-2.0 >=dev-java/commons-el-1.0 >=dev-java/commons-launcher-0.9 >=dev-java/commons-logging-1.0.4 >=dev-java/commons-modeler-1.1 >=dev-java/commons-pool-1.2 - ~dev-java/jaxen-1.0 - >=dev-java/junit-3.8.1 - =dev-java/mx4j-3* >=dev-java/log4j-1.2.9 - >=dev-java/saxpath-1.0 ~dev-java/servletapi-2.4 - =dev-java/struts-1.2* - =dev-java/gnu-jaf-1* - >=dev-java/xerces-2.7.1" + || ( + >=virtual/jre-1.5 + ( + >=dev-java/commons-httpclient-2.0 + =virtual/jre-1.4 + =dev-java/gnu-jaf-1* + =virtual/jdk-1.4 + ~dev-java/jaxen-1.0 + >=dev-java/junit-3.8.1 + =dev-java/mx4j-3* + >=dev-java/saxpath-1.0 + >=dev-java/xerces-2.7.1 + ) + ) + struts? =dev-java/struts-1.2*" DEPEND=">=virtual/jdk-1.4 ${RDEPEND} sys-apps/sed dev-java/ant" -IUSE="doc examples source test" +IUSE="doc examples source test struts" S="${WORKDIR}/${MY_P}" @@ -57,6 +63,10 @@ src_unpack() { unpack ${A} cd ${S} + if java-config --java-version | head -n 1 | grep "\"1.4" > /dev/null 2>&1; then + JDK_1_4=1 + fi + local PATCHES=" mainbuild-xml.patch tomcatbuild-xml.patch @@ -73,13 +83,18 @@ src_unpack() { mkdir ./bin && cd ./bin java-pkg_jar-from commons-logging commons-logging-api.jar - java-pkg_jar-from mx4j-3.0 mx4j.jar jmx.jar - java-pkg_jar-from mx4j-3.0 mx4j-rjmx.jar jmx-remote.jar java-pkg_jar-from commons-daemon + + if [ -n "${JDK_1_4}" ]; then + java-pkg_jar-from mx4j-3.0 mx4j.jar jmx.jar + java-pkg_jar-from mx4j-3.0 mx4j-rjmx.jar jmx-remote.jar + fi mkdir ../common/endorsed && cd ../common/endorsed - java-pkg_jar-from xerces-2 xml-apis.jar - java-pkg_jar-from xerces-2 xercesImpl.jar + if [ -n "${JDK_1_4}" ]; then + java-pkg_jar-from xerces-2 xml-apis.jar + java-pkg_jar-from xerces-2 xercesImpl.jar + fi mkdir ../lib && cd ../lib java-pkg_jar-from ant-core @@ -99,13 +114,11 @@ src_unpack() { src_compile(){ local antflags="-Dbase.path=${T}" - antflags="${antflags} -Dactivation.jar=$(java-config -p gnu-jaf-1)" antflags="${antflags} -Dcommons-collections.jar=$(java-config -p commons-collections)" antflags="${antflags} -Dcommons-daemon.jar=$(java-config -p commons-daemon)" antflags="${antflags} -Dcommons-digester.jar=$(java-config -p commons-digester)" antflags="${antflags} -Dcommons-dbcp.jar=$(java-config -p commons-dbcp)" antflags="${antflags} -Dcommons-el.jar=$(java-config -p commons-el)" - antflags="${antflags} -Dcommons-httpclient.jar=$(java-config -p commons-httpclient)" antflags="${antflags} -Dcommons-pool.jar=$(java-config -p commons-pool)" antflags="${antflags} -Dcommons-fileupload.jar=$(java-config -p commons-fileupload)" antflags="${antflags} -Dcommons-launcher.jar=$(java-config -p commons-launcher)" @@ -113,18 +126,24 @@ src_compile(){ antflags="${antflags} -Djunit.jar=$(java-config -p junit)" antflags="${antflags} -Djdt.jar=$(java-pkg_getjar eclipse-ecj-3.1 ecj.jar)" antflags="${antflags} -Dlog4j.jar=$(java-config -p log4j)" - antflags="${antflags} -Dstruts.jar=$(java-pkg_getjar struts-1.2 struts.jar)" antflags="${antflags} -Dcommons-beanutils.jar=$(java-pkg_getjar commons-beanutils-1.7 commons-beanutils.jar)" antflags="${antflags} -Dcommons-logging.jar=$(java-pkg_getjar commons-logging commons-logging.jar)" antflags="${antflags} -Dcommons-logging-api.jar=$(java-pkg_getjar commons-logging commons-logging-api.jar)" - antflags="${antflags} -Djaxen.jar=$(java-pkg_getjar jaxen jaxen-full.jar)" - antflags="${antflags} -Djmx.jar=$(java-pkg_getjar mx4j-3.0 mx4j.jar)" - antflags="${antflags} -Djmx-remote.jar=$(java-pkg_getjar mx4j-3.0 mx4j-rjmx.jar)" - antflags="${antflags} -Dsaxpath.jar=$(java-pkg_getjar saxpath saxpath.jar)" - antflags="${antflags} -DxercesImpl.jar=$(java-pkg_getjar xerces-2 xercesImpl.jar)" - antflags="${antflags} -Dxml-apis.jar=$(java-pkg_getjar xerces-2 xml-apis.jar)" - antflags="${antflags} -Dstruts.home=/usr/share/struts" antflags="${antflags} -Djasper.home=${S}/jasper" + if [ -n "${JDK_1_4}" ]; then + antflags="${antflags} -Dcommons-httpclient.jar=$(java-config -p commons-httpclient)" + antflags="${antflags} -Dactivation.jar=$(java-config -p gnu-jaf-1)" + antflags="${antflags} -Djaxen.jar=$(java-pkg_getjar jaxen jaxen-full.jar)" + antflags="${antflags} -Djmx.jar=$(java-pkg_getjar mx4j-3.0 mx4j.jar)" + antflags="${antflags} -Djmx-remote.jar=$(java-pkg_getjar mx4j-3.0 mx4j-rjmx.jar)" + antflags="${antflags} -Dsaxpath.jar=$(java-pkg_getjar saxpath saxpath.jar)" + antflags="${antflags} -DxercesImpl.jar=$(java-pkg_getjar xerces-2 xercesImpl.jar)" + antflags="${antflags} -Dxml-apis.jar=$(java-pkg_getjar xerces-2 xml-apis.jar)" + antflags="${antflags} -Dstruts.home=/usr/share/struts" + fi + if use struts; then + antflags="${antflags} -Dstruts.jar=$(java-pkg_getjar struts-1.2 struts.jar)" + fi ant ${antflags} || die "compile failed" @@ -184,11 +203,13 @@ src_install() { cd ${base} done - # replace a packed struts.jar - cd server/webapps/admin/WEB-INF/lib - rm -f struts.jar - java-pkg_jar-from struts-1.2 struts.jar - cd ${base} + if use struts; then + # replace a packed struts.jar + cd server/webapps/admin/WEB-INF/lib + rm -f struts.jar + java-pkg_jar-from struts-1.2 struts.jar + cd ${base} + fi # replace the default pw with a random one, see #92281 local randpw=$(echo ${RANDOM}|md5sum|cut -c 1-15)