Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37044575
en ru br
ALT Linux repos
S:1.9.6-alt8_3jpp8

Group :: Development/Java
RPM: ant1.9

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

BuildRequires(pre): rpm-macros-java
BuildRequires: /proc
%ifarch %{ix86} x86_64
BuildRequires: java-1.6.0-devel
#BuildRequires: java-1.7.0-devel
%else
BuildRequires: java-1.8.0-devel
%endif
# Copyright (c) 2000-2008, JPackage Project
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the
#    distribution.
# 3. Neither the name of the JPackage Project nor the names of its
#    contributors may be used to endorse or promote products derived
#    from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS 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 COPYRIGHT
# OWNER OR 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.
#

%global major_version 1.9

Name:           ant%major_version
Version:        1.9.6
Release:        alt8_3jpp8
Epoch:          0
Summary:        Java build tool
Group:          Development/Java
License:        ASL 2.0
URL:            http://ant.apache.org/
Source0:        http://www.apache.org/dist/ant/source/apache-ant-%{version}-src.tar.bz2
Source2:        apache-ant-1.8.ant.conf

# Fix some places where copies of classes are included in the wrong jarfiles

Patch4:         apache-ant-class-path-in-manifest.patch

%global ant_home %{_datadir}/%{name}
%global oldname ant

#BuildRequires:  javapackages-local


Requires: %{name}-lib = %{epoch}:%{version}
Provides: %{name}-nodeps = %{epoch}:%{version}

# no more

# Conflicts: ant

BuildArch:      noarch

Patch33: ant19bin.patch

%description
Apache Ant is a Java library and command-line tool whose mission is to
drive processes described in build files as targets and extension
points dependent upon each other.  The main known usage of Ant is the
build of Java applications.  Ant supplies a number of built-in tasks
allowing to compile, assemble, test and run Java applications.  Ant
can also be used effectively to build non Java applications, for
instance C or C++ applications.  More generally, Ant can be used to
pilot any type of process which can be described in terms of targets
and tasks.

%package lib
Group: Development/Java
Summary:        Core part of %{name}
Conflicts: ant-lib

%description lib
Core part of Apache Ant that can be used as a library.
# -----------------------------------------------------------------------------

%prep
%setup -q -n apache-ant-%{version}
#Fixup version
find -name build.xml -o -name pom.xml | xargs sed -i -e s/-SNAPSHOT//

# Fix class-path-in-manifest rpmlint warning

%patch4
%patch33 -p1

# clean jar files

find . -name "*.jar" | %{_bindir}/xargs -t rm

# failing testcases. TODO see why

rm src/tests/junit/org/apache/tools/ant/types/selectors/SignedSelectorTest.java \
  src/tests/junit/org/apache/tools/ant/taskdefs/condition/IsFileSelectedTest.java \
  src/tests/junit/org/apache/tools/ant/taskdefs/condition/IsSignedTest.java \
  src/tests/junit/org/apache/tools/ant/taskdefs/JarTest.java \
  src/tests/junit/org/apache/tools/mail/MailMessageTest.java

## no deps on junit

sed -i -e 's!jars,test-jar!jars!' build.xml

# Fix file-not-utf8 rpmlint warning

iconv KEYS -f iso-8859-1 -t utf-8 -o KEYS.utf8
mv KEYS.utf8 KEYS
iconv LICENSE -f iso-8859-1 -t utf-8 -o LICENSE.utf8
mv LICENSE.utf8 LICENSE

%build
sh build.sh

pushd build/lib/
rm -f \
ant-antlr.jar \
ant-apache-bcel.jar \
ant-apache-bsf.jar \
ant-apache-log4j.jar \
ant-apache-oro.jar \
ant-apache-regexp.jar \
ant-apache-resolver.jar \
ant-apache-xalan2.jar \
ant-commons-logging.jar \
ant-commons-net.jar \
ant-jai.jar \
ant-javamail.jar \
ant-jdepend.jar \
ant-jmf.jar \
ant-jsch.jar \
ant-junit.jar \
ant-junit4.jar \
ant-netrexx.jar \
ant-swing.jar \
;
popd
# -----------------------------------------------------------------------------

%install

# ANT_HOME and subdirs

mkdir -p %buildroot%{ant_home}/{lib,etc,bin}

# jars

install -d -m 755 %buildroot%{_javadir}/%{name}

for jar in build/lib/*.jar
do
 # Make sure that installed JARs are not empty
 jar tf ${jar} | egrep -q *.class

 jarname=$(basename $jar .jar)

 #instal jar
 install -m 644 ${jar} $RPM_BUILD_ROOT%{_javadir}/%{name}/${jarname}.jar
 # jar aliases
 ln -sf ../../java/%{name}/${jarname}.jar $RPM_BUILD_ROOT%{ant_home}/lib/${jarname}.jar
done

for mod in '' -bootstrap -launcher; do
   ln -sf %{name}/ant${mod}.jar $RPM_BUILD_ROOT%{_javadir}/%{oldname}${mod}.jar
done

# scripts: remove dos and os/2 scripts

rm -f src/script/*.bat
rm -f src/script/*.cmd

# XSLs

cp -p src/etc/*.xsl $RPM_BUILD_ROOT%{ant_home}/etc

# install everything else

mkdir -p $RPM_BUILD_ROOT%{_bindir}
install -m 755 -D src/script/ant $RPM_BUILD_ROOT%{_bindir}/%name
install -m 755 -D src/script/antRun $RPM_BUILD_ROOT%{_bindir}/antRun%{major_version}
ln -sf %{_bindir}/%name $RPM_BUILD_ROOT%{ant_home}/bin/ant
ln -sf %{_bindir}/antRun%{major_version} $RPM_BUILD_ROOT%{ant_home}/bin/antRun
#ln -sf %name $RPM_BUILD_ROOT%{_bindir}/ant
#ln -sf antRun%{major_version} $RPM_BUILD_ROOT%{_bindir}/antRun

sed -i -e s,ant.conf,%{name}.conf,g $RPM_BUILD_ROOT%{_bindir}/%name
sed -i -e s,/usr/share/ant,/usr/share/%{name},g $RPM_BUILD_ROOT%{_bindir}/%name

# default ant.conf

mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}
cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.conf

# OPT_JAR_LIST fragments

mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.d

sed -i -e '1s,^#! *,#!,' %buildroot/%_bindir/*

pushd $RPM_BUILD_ROOT%{ant_home}/etc
rm -f jdepend-frames.xsl jdepend.xsl junit-frames.xsl junit-noframes.xsl maudit-frames.xsl
popd

%files
%doc KEYS LICENSE NOTICE README WHATSNEW
%config(noreplace) %{_sysconfdir}/%{name}.conf
%attr(0755,root,root) %{_bindir}/%{name}
%attr(0755,root,root) %{_bindir}/antRun%{major_version}
#%{_bindir}/ant
#%{_bindir}/antRun
%dir %{ant_home}
%dir %{ant_home}/bin
%{ant_home}/bin/ant
%{ant_home}/bin/antRun
%dir %{ant_home}/etc
%{ant_home}/etc/ant-update.xsl
%{ant_home}/etc/changelog.xsl
%{ant_home}/etc/coverage-frames.xsl
%{ant_home}/etc/mmetrics-frames.xsl
%{ant_home}/etc/log.xsl
%{ant_home}/etc/tagdiff.xsl
%{ant_home}/etc/junit-frames-xalan1.xsl
%{ant_home}/etc/common2master.xsl
%{ant_home}/etc/printFailingTests.xsl
%dir %{_sysconfdir}/%{name}.d

%files lib
%dir %{ant_home}/lib
%{_javadir}/%{oldname}.jar
%{_javadir}/%{oldname}-bootstrap.jar
%{_javadir}/%{oldname}-launcher.jar
%{_javadir}/%{name}/%{oldname}.jar
%{_javadir}/%{name}/%{oldname}-bootstrap.jar
%{_javadir}/%{name}/%{oldname}-launcher.jar
%{ant_home}/lib/%{oldname}.jar
%{ant_home}/lib/%{oldname}-launcher.jar
%{ant_home}/lib/%{oldname}-bootstrap.jar

# -----------------------------------------------------------------------------


%changelog

Full changelog you can see here

 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin