| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174 |
- ##
- ## ant.spec -- OpenPKG RPM Package Specification
- ## Copyright (c) 2000-2019 OpenPKG Project <http://openpkg.org/>
- ##
- ## Permission to use, copy, modify, and distribute this software for
- ## any purpose with or without fee is hereby granted, provided that
- ## the above copyright notice and this permission notice appear in all
- ## copies.
- ##
- ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
- ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- ## SUCH DAMAGE.
- ##
- # package version
- %define V_opkg 1.10.7
- %define V_ant 1.10.7
- %define V_ivy 2.5.0
- %define V_maven 2.1.3
- %define V_junit 4.10
- # package information
- Name: ant
- Summary: Java Building Tool
- URL: http://ant.apache.org/
- Vendor: Apache Software Foundation
- Packager: OpenPKG Project
- Distribution: OpenPKG Community
- Class: PLUS
- Group: Building
- License: Apache Software License
- Version: %{V_opkg}
- Release: 20191025
- # package options
- %option with_docs no
- # list of sources
- Source0: http://www.apache.org/dist/ant/binaries/apache-ant-%{V_ant}-bin.tar.bz2
- Source1: http://www.apache.org/dist/ant/ivy/%{V_ivy}/apache-ivy-%{V_ivy}-bin-with-deps.tar.gz
- Source2: http://www.apache.org/dist/maven/binaries/maven-ant-tasks-%{V_maven}.jar
- Source3: http://download.sourceforge.net/junit/junit%{V_junit}.zip
- Source4: ant.conf
- Source5: rc.ant
- Source6: ant.1
- Source7: build.xml.5
- Patch0: ant.patch
- # build information
- BuildPreReq: OpenPKG, openpkg >= 20160101, infozip
- PreReq: OpenPKG, openpkg >= 20160101, java, JAVA-JDK
- %description
- Apache Ant is a Java based build tool. In theory it is kind of like
- make(1) without make(1)'s wrinkles. In practice it has its own
- wrinkles.
- %track
- prog ant = {
- version = %{V_ant}
- url = http://www.apache.org/dist/ant/binaries/
- regex = apache-ant-(__VER__)-bin\.tar\.bz2
- }
- prog ant:maven-ant-tasks = {
- version = %{V_maven}
- url = http://www.apache.org/dist/maven/binaries/
- regex = maven-ant-tasks-(__VER__)\.jar
- }
- prog ant:ivy = {
- version = %{V_ivy}
- url = http://www.apache.org/dist/ant/ivy/
- regex = (\d+\.\d+(?:\.\d+))/
- }
- prog ant:junit = {
- version = %{V_junit}
- url = http://sourceforge.net/projects/junit/files/
- regex = junit(\d+\.\d+(?:\.\d+)?)\.zip
- }
- %prep
- %setup -q -n apache-ant-%{V_ant}
- %setup -q -n apache-ant-%{V_ant} -T -D -a 1
- %{l_prefix}/bin/unzip -q %{SOURCE junit%{V_junit}.zip}
- %patch -p0
- %build
- # Note that there is nothing to build since the Ant binary distribution
- # is used. The reason for that is that a Ant build would require other
- # tools which build procedures depend on Ant which leads to a chicken
- # and egg problem. But in the end this doesn't hurt very much since we
- # are talking about Java byte code and shell scripts which are portable
- # anyway.
- %install
- %{l_shtool} mkdir -f -p -m 755 \
- $RPM_BUILD_ROOT%{l_prefix}/bin \
- $RPM_BUILD_ROOT%{l_prefix}/etc/ant \
- $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d \
- $RPM_BUILD_ROOT%{l_prefix}/libexec/ant/lib \
- $RPM_BUILD_ROOT%{l_prefix}/libexec/ant/etc \
- $RPM_BUILD_ROOT%{l_prefix}/libexec/ant/bin \
- $RPM_BUILD_ROOT%{l_prefix}/man/man1 \
- $RPM_BUILD_ROOT%{l_prefix}/man/man5
- %{l_shtool} install -c -m 755 \
- -e 's;/etc/ant.conf;%{l_prefix}/etc/ant/ant.conf;' \
- bin/ant $RPM_BUILD_ROOT%{l_prefix}/libexec/ant/bin/
- ( echo "#!/bin/sh"
- echo "exec %{l_prefix}/libexec/ant/bin/ant \${1+\"\$@\"}"
- ) >ant.sh
- %{l_shtool} install -c -m 755 \
- ant.sh $RPM_BUILD_ROOT%{l_prefix}/bin/ant
- %{l_shtool} install -c -m 644 \
- lib/*.jar $RPM_BUILD_ROOT%{l_prefix}/libexec/ant/lib/
- %{l_shtool} install -c -m 644 \
- etc/*.jar $RPM_BUILD_ROOT%{l_prefix}/libexec/ant/etc/
- %{l_shtool} install -c -m 644 \
- apache-ivy-*/ivy-%{V_ivy}.jar $RPM_BUILD_ROOT%{l_prefix}/libexec/ant/lib/ivy.jar
- ( cd apache-ivy-*/lib
- for jar in commons-codec-*.jar commons-httpclient-*.jar \
- commons-logging-*.jar commons-vfs-*.jar jsch-*.jar oro-*.jar; do
- newjar="ivy-`echo $jar | sed -e 's;-[0-9].*$;;'`.jar"
- %{l_shtool} install -c -m 644 \
- $jar $RPM_BUILD_ROOT%{l_prefix}/libexec/ant/lib/$newjar
- done
- ) || exit $?
- ( echo "#!/bin/sh"
- echo "CP=\"%{l_prefix}/libexec/ant/lib/ivy.jar\""
- echo "for jar in %{l_prefix}/libexec/ant/lib/ivy-*.jar; do"
- echo " CP=\"\${CP}:\${jar}\""
- echo "done"
- echo "%{l_prefix}/bin/java -Djava.awt.headless=true -cp \$CP org.apache.ivy.Main \${1+\"\$@\"}"
- ) >ivy.sh
- %{l_shtool} install -c -m 755 \
- ivy.sh $RPM_BUILD_ROOT%{l_prefix}/bin/ivy
- %{l_shtool} install -c -m 644 \
- junit*/junit-%{V_junit}.jar $RPM_BUILD_ROOT%{l_prefix}/libexec/ant/junit.jar
- %{l_shtool} install -c -m 644 \
- etc/*.xsl etc/checkstyle/*.xsl $RPM_BUILD_ROOT%{l_prefix}/etc/ant/
- %{l_shtool} install -c -m 644 \
- %{SOURCE maven-ant-tasks-%{V_maven}.jar} \
- $RPM_BUILD_ROOT%{l_prefix}/libexec/ant/maven-ant-task.jar
- %{l_shtool} install -c -m 644 \
- %{SOURCE ant.1} \
- $RPM_BUILD_ROOT%{l_prefix}/man/man1/
- %{l_shtool} install -c -m 644 \
- %{SOURCE build.xml.5} \
- $RPM_BUILD_ROOT%{l_prefix}/man/man5/
- %if "%{with_docs}" == "yes"
- %{l_shtool} mkdir -f -p -m 755 \
- $RPM_BUILD_ROOT%{l_prefix}/share/ant
- rm docs/LICENSE*
- cp -rp docs/* $RPM_BUILD_ROOT%{l_prefix}/share/ant/
- %endif
- %{l_shtool} install -c -m 644 %{l_value -s -a} \
- %{SOURCE ant.conf} $RPM_BUILD_ROOT%{l_prefix}/etc/ant/
- %{l_shtool} install -c -m 755 %{l_value -s -a} \
- %{SOURCE rc.ant} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
- %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} \
- '%config %{l_prefix}/etc/ant/*.conf'
- %files -f files
- %clean
|