Blob Blame History Raw
%define rhugversion 20031106
%define rhugsource1 apache-%{name}-%{version} upstream
%define rhugpatches 6

Summary: Build tool for Java applications
Name: ant
Version: 1.5.2
Release: 21
URL: http://ant.apache.org/
Source: rhug-jakarta-%{name}-%{rhugversion}.tar.bz2
Source1: apache-%{name}-%{version}-src.tar.bz2
Source2: ant.conf
Source3: README.anthome
Patch1: %{name}-1.5.2-release.patch
Patch2: %{name}-1.5.2-buildclasspath.patch
Patch3: %{name}-1.5.2-jarname.patch
Patch5: %{name}-1.5.2-hammer.patch
Patch6: %{name}-1.5.2-interpreter.patch
Patch7: %{name}-1.5.2-bz104986.patch
Patch8: %{name}-1.5.2-gcj-ssa.patch
License: Apache Software License
Group: Development/Tools
BuildRoot: %{_tmppath}/%{name}-%{version}-root
BuildPrereq: gcc-c++-ssa
BuildPrereq: gcc-java-ssa >= 3.5ssa-0.20030801.34
BuildPrereq: xerces-j >= 2.2.1-10
BuildPrereq: commons-logging >= 1.0.2-12
BuildPrereq: jakarta-regexp >= 1.2-12
BuildPrereq: xalan-j >= 2.4.1-9
BuildPrereq: bcel >= 5.0-10
BuildPrereq: jaf
BuildPrereq: javamail
BuildPrereq: junit
Requires: gcc-java-ssa >= 3.5ssa-0.20030801.34
Requires: xerces-j >= 2.2.1-10
Requires: commons-logging >= 1.0.2-12
Requires: jakarta-regexp >= 1.2-12
Requires: xalan-j >= 2.4.1-9
Requires: bcel >= 5.0-10
Requires: jaf
Requires: javamail
Requires: junit
Requires: ant-libs = %{version}-%{release}
ExclusiveArch: i386 x86_64 ppc ia64

%description
Ant is a platform-independant build tool for Java applications that is
used by Apache Jakarta and XML projects.

%package libs
Summary: The shared libraries used by Ant.
Group: System Environment/Libraries
Prereq: redhat-java-rpm-scripts >= 1.0.2-2
Requires: libgcj-ssa >= 3.5ssa-0.20030801.34
Requires: xerces-j >= 2.2.1-10
Requires: commons-logging >= 1.0.2-12
Requires: jakarta-regexp >= 1.2-12
Requires: xalan-j >= 2.4.1-9
Requires: bcel >= 5.0-10
Requires: jaf
Requires: javamail
Requires: junit

%description libs
The ant-libs package contains the libraries required by Ant.

%package devel
Summary: CNI headers for developing Ant applications
Group: Development/Libraries
Requires: ant-libs = %{version}-%{release}

%description devel
The ant-devel package contains the headers required to develop
Cygnus Native Interface (CNI) extensions that use Ant.

%prep
%setup -q -a 1
mv %{rhugsource1}
%patch1 -p0 -b .release
%patch2 -p0 -b .buildclasspath
%patch3 -p0 -b .jarname
%patch5 -p0 -b .hammer
%patch6 -p1 -b .interpreter
%patch7 -p0 -b .bz104986
%patch8 -p0 -b .gcj-ssa
mv ChangeLog ChangeLog.rhug
mv TODO TODO.rhug
for f in version.txt defaultManifest.mf; do
    f=upstream/src/main/org/apache/tools/ant/$f
    sed -e "s:@VERSION@:%{version}-%{release}:g"\
        -e "s:@DATE@:`date '+%B %e %Y'`:g" \
	< $f > $f.tmp && mv -f $f.tmp $f
done

%build
%ifarch x86_64 ia64
# HACK: These three files cause gcj-ssa to ICE on 64-bit boxes when
# -O2 is used, so we build them separately with optimisation disabled.
CC=gcc-ssa CXX=g++-ssa GCJ=gcj-ssa GCJH=gcjh-ssa GCJFLAGS="-g -O0" \
./configure --disable-static --prefix=%{_prefix}
make upstream/src/main/org/apache/tools/ant/taskdefs/Checksum.lo \
     upstream/src/main/org/apache/tools/ant/taskdefs/Expand.lo \
     upstream/src/main/org/apache/tools/ant/taskdefs/FixCRLF.lo
# End of Hack
%endif
CC=gcc-ssa CXX=g++-ssa GCJ=gcj-ssa GCJH=gcjh-ssa \
./configure --disable-static --prefix=%{_prefix}
make

%install
rm -rf ${RPM_BUILD_ROOT}
%makeinstall
rm -f ${RPM_BUILD_ROOT}%{_libdir}/*.la
find ${RPM_BUILD_ROOT}%{_libdir} -type l | xargs rm -f

# Install stuff for classic-ant
install -m 755 upstream/src/script/ant ${RPM_BUILD_ROOT}%{_bindir}/classic-ant
mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}
install -m 644 $RPM_SOURCE_DIR/ant.conf ${RPM_BUILD_ROOT}%{_sysconfdir}
mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/ant/lib
install -m 644 $RPM_SOURCE_DIR/README.anthome \
    ${RPM_BUILD_ROOT}%{_datadir}/ant/README
ln -s ../../java/ant-%{version}.jar \
    ${RPM_BUILD_ROOT}%{_datadir}/ant/lib/ant.jar
for i in bcel commons-logging jakarta-regexp java_cup xalan xerces; do
    ln -s ../../java/`ls -l %{_datadir}/java/$i.jar | sed -e 's:.* -> ::'` \
	${RPM_BUILD_ROOT}%{_datadir}/ant/lib/$i.jar
done

%post -n ant-libs
%{_sbindir}/javaconfig \
    %{_libdir}/lib-org-apache-tools.so \
    %{_datadir}/java/ant.jar

%postun -n ant-libs
%{_sbindir}/javaconfig \
    %{_libdir}/lib-org-apache-tools.so \
    %{_datadir}/java/ant.jar

# Prior to 1.5.2-20, %{_bindir}/ant was a symbolic link managed by
# javaconfig.  This pair of trigger scripts stops older ant's %postun
# scripts from choking on the new non-symbolic-link binary.
%triggerun -- ant < 1.5.2-20
mv -f %{_bindir}/ant %{_bindir}/ant.tmp

%triggerpostun -- ant < 1.5.2-20
mv -f %{_bindir}/ant.tmp %{_bindir}/ant

%clean
rm -rf $RPM_BUILD_ROOT

%files
%defattr(-,root,root)
%doc *.rhug upstream/{LICENSE,README,WHATSNEW,welcome.html,docs}
%config(noreplace) %{_sysconfdir}/ant.conf
%{_bindir}/*
%{_datadir}/ant

%files libs
%defattr(-,root,root)
%{_libdir}/*.so
%{_datadir}/java/*.jar

%files devel
%defattr(-,root,root)
%{_includedir}/org/apache/tools/*

%changelog
* Thu Nov  6 2003 Gary Benson <gbenson@redhat.com> 1.5.2-21
- Enable use JavaMail in mail sending tasks.
- Enable the JUnit tasks.

* Thu Sep 25 2003 Gary Benson <gbenson@redhat.com> 1.5.2-20
- Fix bad bytecode in jarfile (#104986).
- Change group to Development/Tools.
- Split libraries into a separate subpackage.
- Install stuff to allow ant to be run under a normal JVM (#104635).

* Fri Sep 19 2003 Gary Benson <gbenson@redhat.com> 1.5.2-19
- Remove workarounds for broken dependencies in xerces-j and xalan-j.
- Use gij as the name of the interpreter to spawn when running under
  libgcj.

* Fri Sep  5 2003 Gary Benson <gbenson@redhat.com> 1.5.2-18
- Ensure we have a working javaconfig.

* Thu Sep  4 2003 Gary Benson <gbenson@redhat.com>
- Remove workarounds used to support alpha releases.

* Tue Aug 26 2003 Gary Benson <gbenson@redhat.com> 1.5.2-17
- Reinstate 64-bit workaround and rebuild with new compiler.

* Thu Aug  7 2003 Gary Benson <gbenson@redhat.com> 1.5.2-16
- Remove 64-bit workaround and rebuild with new compiler.

* Mon Jul 28 2003 Gary Benson <gbenson@redhat.com> 1.5.2-15
- Add missing resources to jarfile (#100977).

* Fri Jul 25 2003 Gary Benson <gbenson@redhat.com>
- Clarify the -devel subpackage's summary and description.
- Remove unnecessary -devel dependencies (#99077).

* Tue Jul  1 2003 Gary Benson <gbenson@redhat.com>
- Remove redundant --libdir configure option.

* Mon Jun 30 2003 Gary Benson <gbenson@redhat.com> 1.5.2-14
- Rebuild with new compiler and enable ia64 build.
- Enable hammer compiler hack on ia64 also.

* Fri Jun 13 2003 Gary Benson <gbenson@redhat.com>
- Add the rpm's release to the version embedded in the libraries.

* Fri Jun  6 2003 Gary Benson <gbenson@redhat.com> 1.5.2-13
- Rebuild with new compiler.

* Thu Jun  5 2003 Gary Benson <gbenson@redhat.com>
- Add build time dependency on C++ compiler.

* Thu May 29 2003 Gary Benson <gbenson@redhat.com> 1.5.2-12
- Rebuild with new compiler.

* Fri May 23 2003 Gary Benson <gbenson@redhat.com> 1.5.2-11
- Move unversioned library symlink into main package.

* Sat May  3 2003 Gary Benson <gbenson@redhat.com> 1.5.2-10
- Rebuild again to pick up rebuilt BCEL and Xalan.

* Fri May  2 2003 Tom Tromey <tromey@redhat.com> 1.5.2-9
- Rebuild with new compiler.

* Wed Apr 30 2003 Gary Benson <gbenson@redhat.com> 1.5.2-8
- Enable the Xalan and BCEL tasks.

* Mon Apr 14 2003 Gary Benson <gbenson@redhat.com>
- Require gcj-ssa since we use it to compile java code.

* Fri Apr 11 2003 Gary Benson <gbenson@redhat.com> 1.5.2-7
- Fix linking on hammer.

* Fri Apr 11 2003 Gary Benson <gbenson@redhat.com> 1.5.2-6
- Reenable tasks that were disabled on hammer by working
  around the compiler failure more effectively.

* Wed Apr  9 2003 Gary Benson <gbenson@redhat.com> 1.5.2-5
- Compile resources with libtool to enable hammer builds.

* Mon Apr  7 2003 Tom Tromey <tromey@redhat.com> 1.5.2-4
- Rebuild with new compiler.

* Fri Apr  4 2003 Gary Benson <gbenson@redhat.com>
- Use gcj-ssa instead of gcj for the compiler.

* Wed Apr  2 2003 Gary Benson <gbenson@redhat.com>
- Rebuild against the new xerces.

* Fri Mar 28 2003 Gary Benson <gbenson@redhat.com> 1.5.2-2
- Substitute @VERSION@ and @DATE@ into the files that need it.

* Mon Mar 24 2003 Gary Benson <gbenson@redhat.com> 1.5.2-1
- Initial Red Hat Linux build.

* Fri Mar 21 2003 Gary Benson <gbenson@redhat.com>
- Upgraded to latest version.

* Wed Nov 27 2002 Gary Benson <gbenson@redhat.com>
- Initial RHUG build.