summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVlastimil Babka <caster@gentoo.org>2008-11-09 00:19:14 +0000
committerVlastimil Babka <caster@gentoo.org>2008-11-09 00:19:14 +0000
commitcfdcaaefc99bc30cfce9e246edbf2b7efffa3ac8 (patch)
treeb73fb721291d64dd35aeb54a1e3f7574a2484e01 /dev-java/ant-core
parentUnset ANT_RESPECT_JAVA_HOME introduced to fix bug #151884. (diff)
downloadgentoo-2-cfdcaaefc99bc30cfce9e246edbf2b7efffa3ac8.tar.gz
gentoo-2-cfdcaaefc99bc30cfce9e246edbf2b7efffa3ac8.tar.bz2
gentoo-2-cfdcaaefc99bc30cfce9e246edbf2b7efffa3ac8.zip
Revbump to respect JAVA_HOME setting if ANT_RESPECT_JAVA_HOME is set, bug #151884.
(Portage version: 2.2_rc13/cvs/Linux 2.6.27-gentoo-r1-perfctr x86_64)
Diffstat (limited to 'dev-java/ant-core')
-rw-r--r--dev-java/ant-core/ChangeLog9
-rw-r--r--dev-java/ant-core/ant-core-1.7.1-r2.ebuild102
-rw-r--r--dev-java/ant-core/files/1.7.1-ant-r1204
3 files changed, 314 insertions, 1 deletions
diff --git a/dev-java/ant-core/ChangeLog b/dev-java/ant-core/ChangeLog
index 5a1aa624a5c2..eddf9c1de607 100644
--- a/dev-java/ant-core/ChangeLog
+++ b/dev-java/ant-core/ChangeLog
@@ -1,11 +1,18 @@
# ChangeLog for dev-java/ant-core
# Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-java/ant-core/ChangeLog,v 1.85 2008/07/16 21:25:23 caster Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-java/ant-core/ChangeLog,v 1.86 2008/11/09 00:19:14 caster Exp $
# Ant-core blocks lower/older versions of ant-tasks,
# since it will not run when there is a version mismatch betwean the 2 packages
# Please unemerge ant-tasks when updating ant-core.
+*ant-core-1.7.1-r2 (09 Nov 2008)
+
+ 09 Nov 2008; Vlastimil Babka <caster@gentoo.org> +files/1.7.1-ant-r1,
+ +ant-core-1.7.1-r2.ebuild:
+ Revbump to respect JAVA_HOME setting if ANT_RESPECT_JAVA_HOME is set, bug
+ #151884.
+
16 Jul 2008; Vlastimil Babka <caster@gentoo.org> ant-core-1.7.1-r1.ebuild:
Rewrite build.xml for 1.4 bytecode. Fixes bug #196080.
diff --git a/dev-java/ant-core/ant-core-1.7.1-r2.ebuild b/dev-java/ant-core/ant-core-1.7.1-r2.ebuild
new file mode 100644
index 000000000000..8f742ea1388a
--- /dev/null
+++ b/dev-java/ant-core/ant-core-1.7.1-r2.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-java/ant-core/ant-core-1.7.1-r2.ebuild,v 1.1 2008/11/09 00:19:14 caster Exp $
+
+# don't depend on itself
+JAVA_ANT_DISABLE_ANT_CORE_DEP=true
+# rewriting build.xml files for the testcases has no reason atm
+JAVA_PKG_BSFIX_ALL=no
+JAVA_PKG_IUSE="doc source"
+inherit java-pkg-2 java-ant-2
+
+MY_P="apache-ant-${PV}"
+
+DESCRIPTION="Java-based build tool similar to 'make' that uses XML configuration files."
+HOMEPAGE="http://ant.apache.org/"
+SRC_URI="mirror://apache/ant/source/${MY_P}-src.tar.bz2
+ mirror://gentoo/ant-${PV}-gentoo.tar.bz2"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~x86 ~x86-fbsd"
+IUSE=""
+
+DEPEND=">=virtual/jdk-1.4
+ !dev-java/ant-tasks
+ !dev-java/ant-optional"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ # remove bundled xerces
+ rm -v lib/*.jar || die
+
+ # use our split-ant build.xml
+ mv -f "${WORKDIR}/build.xml" . || die
+
+ # bug #196080
+ java-ant_bsfix_one build.xml
+}
+
+src_compile() {
+ export ANT_HOME=""
+
+ local bsyscp
+
+ # this ensures that when building ant with bootstrapped ant,
+ # only the source is used for resolving references, and not
+ # the classes in bootstrapped ant
+ # but jikes in kaffe has issues with this...
+ if ! java-pkg_current-vm-matches kaffe; then
+ bsyscp="-Dbuild.sysclasspath=ignore"
+ fi
+
+ ./build.sh ${bsyscp} jars-core internal_dist $(use_doc javadocs) \
+ || die "build failed"
+}
+
+src_install() {
+ dodir /usr/share/ant/lib
+ for jar in ant.jar ant-bootstrap.jar ant-launcher.jar ; do
+ java-pkg_dojar build/lib/${jar}
+ dosym /usr/share/${PN}/lib/${jar} /usr/share/ant/lib/${jar}
+ done
+
+ newbin "${FILESDIR}/${PV}-ant-r1" ant || die "failed to install wrapper"
+ dodir /usr/share/${PN}/bin
+ for each in antRun runant.pl runant.py complete-ant-cmd.pl ; do
+ dobin "${S}/src/script/${each}"
+ dosym /usr/bin/${each} /usr/share/${PN}/bin/${each}
+ done
+ dosym /usr/share/${PN}/bin /usr/share/ant/bin
+
+ insinto /usr/share/${PN}
+ doins -r dist/etc
+ dosym /usr/share/${PN}/etc /usr/share/ant/etc
+
+ echo "ANT_HOME=\"/usr/share/ant\"" > "${T}/20ant"
+ doenvd "${T}/20ant" || die "failed to install env.d file"
+
+ dodoc README WHATSNEW KEYS
+
+ if use doc; then
+ dohtml welcome.html
+ dohtml -r docs/*
+ java-pkg_dojavadoc --symlink manual/api build/javadocs
+ fi
+
+ use source && java-pkg_dosrc src/main/*
+}
+
+pkg_postinst() {
+ elog "The way of packaging ant in Gentoo has changed significantly since"
+ elog "the 1.7.0 version, For more information, please see:"
+ elog "http://www.gentoo.org/proj/en/java/ant-guide.xml"
+ elog
+ elog "Since 1.7.1, the ant-tasks meta-ebuild has been removed and its USE"
+ elog "flags have been moved to dev-java/ant."
+}
diff --git a/dev-java/ant-core/files/1.7.1-ant-r1 b/dev-java/ant-core/files/1.7.1-ant-r1
new file mode 100644
index 000000000000..1b20e5fa96bb
--- /dev/null
+++ b/dev-java/ant-core/files/1.7.1-ant-r1
@@ -0,0 +1,204 @@
+#! /bin/bash
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Edited for Gentoo Linux
+# $Header: /var/cvsroot/gentoo-x86/dev-java/ant-core/files/1.7.1-ant-r1,v 1.1 2008/11/09 00:19:14 caster Exp $
+
+# Extract launch and ant arguments, (see details below).
+ant_exec_args=
+no_config=false
+use_jikes_default=false
+ant_exec_debug=false
+show_help=false
+for arg in "$@" ; do
+ if [ "$arg" = "--noconfig" ] ; then
+ no_config=true
+ elif [ "$arg" = "--usejikes" ] ; then
+ use_jikes_default=true
+ elif [ "$arg" = "--execdebug" ] ; then
+ ant_exec_debug=true
+ elif [ my"$arg" = my"--h" -o my"$arg" = my"--help" ] ; then
+ show_help=true
+ ant_exec_args="$ant_exec_args -h"
+ else
+ if [ my"$arg" = my"-h" -o my"$arg" = my"-help" ] ; then
+ show_help=true
+ fi
+ ant_exec_args="$ant_exec_args \"$arg\""
+ fi
+done
+
+# Source/default ant configuration
+if $no_config ; then
+ rpm_mode=false
+ usejikes=$use_jikes_default
+else
+ # load system-wide ant configuration (ONLY if ANT_HOME has NOT been set)
+ if [ -z "$ANT_HOME" -o "$ANT_HOME" = "/usr/share/ant" ]; then
+ if [ -f "/etc/ant.conf" ] ; then
+ . /etc/ant.conf
+ fi
+ fi
+
+ # load user ant configuration
+ if [ -f "$HOME/.ant/ant.conf" ] ; then
+ . $HOME/.ant/ant.conf
+ fi
+ if [ -f "$HOME/.antrc" ] ; then
+ . "$HOME/.antrc"
+ fi
+
+ # provide default configuration values
+ if [ -z "$rpm_mode" ] ; then
+ rpm_mode=false
+ fi
+ if [ -z "$usejikes" ] ; then
+ usejikes=$use_jikes_default
+ fi
+fi
+
+export WANT_JAVA_CONFIG=2
+
+# Always get JAVA_HOME from java-config, unless ANT_RESPECT_JAVA_HOME is set
+# Use GENTOO_VM to change which VM is used instead.
+if [[ -z "${ANT_RESPECT_JAVA_HOME}" || -z "${JAVA_HOME}" ]]; then
+ export JAVA_HOME="$(java-config -g JAVA_HOME)"
+fi
+
+if [ -z $JAVA_HOME ] ; then
+ echo 'Error: No JDK found!'
+ echo "Try using java-config script to set your JDK"
+ echo "Remember that you need a JDK not a JRE"
+ exit 1
+fi
+
+ANT_HOME=/usr/share/ant-core
+
+# set ANT_LIB location
+ANT_LIB="${ANT_HOME}/lib"
+
+if [ -z "$JAVACMD" ] ; then
+ if [ -n "$JAVA_HOME" ] ; then
+ JAVACMD="$JAVA_HOME/bin/java"
+ else
+ JAVACMD=`which java 2> /dev/null `
+ if [ -z "$JAVACMD" ] ; then
+ JAVACMD=java
+ fi
+ fi
+fi
+
+if [ ! -x "$JAVACMD" ] ; then
+ echo "Error: JAVA_HOME is not defined correctly."
+ echo " We cannot execute $JAVACMD"
+ exit 1
+fi
+
+if [ -z "$LOCALCLASSPATH" ] ; then
+ LOCALCLASSPATH=$ANT_LIB/ant-launcher.jar
+else
+ LOCALCLASSPATH=$ANT_LIB/ant-launcher.jar:$LOCALCLASSPATH
+fi
+
+# if ANT_TASKS is not set, default to "all"
+ANT_TASKS="${ANT_TASKS:-all}"
+
+# if ANT_TASKS is set to "all", get the tasks list from /usr/share/ant/tasks/
+if [[ "${ANT_TASKS}" == "all" ]]; then
+ ANT_TASKS=""
+ # but only if it exists
+ if [[ -d /usr/share/ant/tasks ]]; then
+ ANT_TASKS="${ANT_TASKS} "/usr/share/ant/tasks/*
+ fi
+ if [[ -d /usr/share/ant/tasks-1.7.1 ]]; then
+ ANT_TASKS="${ANT_TASKS} "/usr/share/ant/tasks-1.7.1/*
+ fi
+# if set to "none", make ANT_TASKS empty list
+elif [[ "${ANT_TASKS}" == "none" ]]; then
+ ANT_TASKS=""
+fi
+# otherwise ANT_TASKS defines explicit task list
+
+# construct the tasks list separated with commas to pass to java-config
+TASKS_LIST=""
+for task in $ANT_TASKS; do
+ TASKS_LIST="${TASKS_LIST},$(basename $task)"
+done
+TASKS_LIST=${TASKS_LIST#,}
+
+# get the classpath for optional tasks and their dependency .jar files
+if [[ -n "${TASKS_LIST}" ]] ; then
+ ANT_TASKS_CLASSPATH="-lib \"$(java-config -dp ${TASKS_LIST})\""
+ ANT_TASKS_LIBPATH="-Djava.library.path=\"$(java-config -di ${TASKS_LIST})\""
+else
+ ANT_TASKS_CLASSPATH=""
+ ANT_TASKS_LIBPATH=""
+fi
+
+# determine where to get tools.jar from
+if [[ -n "${ANT_RESPECT_JAVA_HOME}" ]]; then
+ TOOLS_JAR="${JAVA_HOME}/lib/tools.jar"
+else
+ TOOLS_JAR="$(java-config --tools)"
+fi
+
+if [[ -n "${TOOLS_JAR}" ]] ; then
+ LOCALCLASSPATH="$LOCALCLASSPATH:${TOOLS_JAR}"
+else
+ echo "Warning: Unable to determine tools.jar location."
+ echo " If build fails because sun.* classes could not be found,"
+ echo " Make sure you are using a JDK, not JRE as your user/system VM."
+ echo " and that you have java-config version 2.0.30 or above installed."
+fi
+
+# Allow Jikes support (off by default)
+if $usejikes; then
+ ANT_OPTS="$ANT_OPTS -Dbuild.compiler=jikes"
+fi
+
+# Show script help if requested
+if $show_help ; then
+ echo $0 '[script options] [options] [target [target2 [target3] ..]]'
+ echo 'Script Options:'
+ echo ' --help, --h print this message and ant help'
+ echo ' --noconfig suppress sourcing of /etc/ant.conf,'
+ echo ' $HOME/.ant/ant.conf, and $HOME/.antrc'
+ echo ' configuration files'
+ echo ' --usejikes enable use of jikes by default, unless'
+ echo ' set explicitly in configuration files'
+ echo ' --execdebug print ant exec line generated by this'
+ echo ' launch script'
+ echo ' '
+fi
+
+# Execute ant using eval/exec to preserve spaces in paths,
+# java options, and ant args
+ant_sys_opts=
+
+if [ -n "$JIKESPATH" ]; then
+ ant_sys_opts="-Djikes.class.path=\"$JIKESPATH\""
+fi
+
+ant_exec_command="exec \"${JAVACMD}\" ${ANT_OPTS} -classpath \"${LOCALCLASSPATH}\" \
+ -Dant.home=\"${ANT_HOME}\" -Dant.library.dir=\"${ANT_LIB}\" ${ant_sys_opts} \
+ ${ANT_TASKS_LIBPATH} org.apache.tools.ant.launch.Launcher \
+ ${ANT_TASKS_CLASSPATH} ${ANT_ARGS} -cp \"${CLASSPATH}\" ${ant_exec_args}"
+
+if $ant_exec_debug ; then
+ echo $ant_exec_command
+fi
+eval $ant_exec_command