cvsdist dd9cdd6
%define name    bcel
cvsdist dd9cdd6
%define version 5.1
gbenson 63aa82e
%define release 1jpp_4fc
cvsdist dd9cdd6
%define section free
cvsdist dd9cdd6
cvsdist dd9cdd6
Name:           %{name}
cvsdist dd9cdd6
Version:        %{version}
cvsdist dd9cdd6
Release:        %{release}
cvsdist dd9cdd6
Epoch:          0
cvsdist dd9cdd6
Summary:        Byte Code Engineering Library
cvsdist dd9cdd6
License:        Apache Software License
cvsdist dd9cdd6
Source0:        http://jakarta.apache.org/builds/jakarta-bcel/release/v5.1/bcel-5.1-src.tar.gz
cvsdist dd9cdd6
URL:            http://jakarta.apache.org/%{name}/
cvsdist dd9cdd6
Group:          Development/Libraries/Java
cvsdist dd9cdd6
#Vendor:         JPackage Project
cvsdist dd9cdd6
#Distribution:   JPackage
cvsdist dd9cdd6
Requires:       regexp
cvsdist dd9cdd6
BuildRequires:  ant
cvsdist dd9cdd6
BuildRequires:  regexp
cvsdist dd9cdd6
BuildRequires:  jpackage-utils >= 0:1.5
cvsdist dd9cdd6
BuildArch:      noarch
cvsdist dd9cdd6
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-buildroot
cvsdist 2287bf5
cvsdist 2287bf5
%description
cvsdist 2287bf5
The Byte Code Engineering Library (formerly known as JavaClass) is
cvsdist dd9cdd6
intended to give users a convenient possibility to analyze, create, and
cvsdist dd9cdd6
manipulate (binary) Java class files (those ending with .class). Classes
cvsdist dd9cdd6
are represented by objects which contain all the symbolic information of
cvsdist dd9cdd6
the given class: methods, fields and byte code instructions, in
cvsdist dd9cdd6
particular.  Such objects can be read from an existing file, be
cvsdist dd9cdd6
transformed by a program (e.g. a class loader at run-time) and dumped to
cvsdist dd9cdd6
a file again. An even more interesting application is the creation of
cvsdist dd9cdd6
classes from scratch at run-time. The Byte Code Engineering Library
cvsdist dd9cdd6
(BCEL) may be also useful if you want to learn about the Java Virtual
cvsdist dd9cdd6
Machine (JVM) and the format of Java .class files.  BCEL is already
cvsdist dd9cdd6
being used successfully in several projects such as compilers,
cvsdist dd9cdd6
optimizers, obsfuscators and analysis tools, the most popular probably
cvsdist dd9cdd6
being the Xalan XSLT processor at Apache.
cvsdist dd9cdd6
cvsdist dd9cdd6
%package javadoc
cvsdist dd9cdd6
Summary:        Javadoc for %{name}
cvsdist dd9cdd6
Group:          Development/Documentation
cvsdist dd9cdd6
cvsdist dd9cdd6
%description javadoc
cvsdist dd9cdd6
Javadoc for %{name}.
cvsdist dd9cdd6
cvsdist dd9cdd6
%if 0
cvsdist dd9cdd6
%package manual
cvsdist dd9cdd6
Summary:        Manual for %{name}
cvsdist dd9cdd6
Group:          Development/Libraries/Java
cvsdist dd9cdd6
cvsdist dd9cdd6
%description manual
cvsdist dd9cdd6
Documentation for %{name}.
cvsdist dd9cdd6
%endif
cvsdist 2287bf5
cvsdist 2287bf5
%prep
cvsdist 8557557
%setup -q
cvsdist dd9cdd6
# remove all binary libs
cvsdist dd9cdd6
find . -name "*.jar" -exec rm -f {} \;
cvsdist 2287bf5
cvsdist dd9cdd6
# very broken build
cvsdist dd9cdd6
perl -p -i -e 's| depends=\"examples\"||g;' build.xml
cvsdist dd9cdd6
touch manifest.txt
cvsdist 8557557
cvsdist dd9cdd6
%build
cvsdist dd9cdd6
export CLASSPATH=%(build-classpath regexp)
cvsdist dd9cdd6
ant -Dbuild.dest=./build -Dbuild.dir=./build -Dname=%{name} compile
cvsdist dd9cdd6
ant -Dbuild.dest=./build -Dbuild.dir=./build -Dname=%{name} jar
cvsdist dd9cdd6
ant -Dbuild.dest=./build -Dbuild.dir=./build -Dname=%{name} apidocs
cvsdist 2287bf5
cvsdist 2287bf5
%install
cvsdist dd9cdd6
# jars
cvsdist dd9cdd6
install -d -m 755 $RPM_BUILD_ROOT%{_javadir}
cvsdist dd9cdd6
install -m 644 build/%{name}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar
cvsdist dd9cdd6
(cd $RPM_BUILD_ROOT%{_javadir} && for jar in *-%{version}*; do ln -sf ${jar} `echo $jar| sed  "s|-%{version}||g"`; done)
cvsdist dd9cdd6
# javadoc
cvsdist dd9cdd6
install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
cvsdist dd9cdd6
cp -pr docs/api/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
cvsdist dd9cdd6
rm -rf docs/api
cvsdist 2287bf5
cvsdist 2287bf5
%clean
cvsdist dd9cdd6
rm -rf $RPM_BUILD_ROOT
cvsdist 8557557
cvsdist dd9cdd6
%pre
cvsdist dd9cdd6
rm -f %{_javadir}/bcel.jar
cvsdist dc67ad9
cvsdist dd9cdd6
%post javadoc
cvsdist dd9cdd6
rm -f %{_javadocdir}/%{name}
cvsdist dd9cdd6
ln -s %{name}-%{version} %{_javadocdir}/%{name}
cvsdist dc67ad9
cvsdist dd9cdd6
%postun javadoc
cvsdist dd9cdd6
if [ "$1" = "0" ]; then
cvsdist dd9cdd6
    rm -f %{_javadocdir}/%{name}
cvsdist dd9cdd6
fi
cvsdist eff16b8
cvsdist dd9cdd6
%files
cvsdist dd9cdd6
%defattr(0644,root,root,0755)
cvsdist dd9cdd6
%doc LICENSE.txt 
cvsdist dd9cdd6
%{_javadir}/*
cvsdist eff16b8
cvsdist dd9cdd6
%files javadoc
cvsdist dd9cdd6
%defattr(0644,root,root,0755)
cvsdist dd9cdd6
%{_javadocdir}/%{name}-%{version}
cvsdist eff16b8
cvsdist dd9cdd6
%if 0
cvsdist dd9cdd6
%files manual
cvsdist dd9cdd6
%defattr(0644,root,root,0755)
cvsdist dd9cdd6
%doc docs/*
cvsdist dd9cdd6
%endif
cvsdist eff16b8
cvsdist dd9cdd6
# -----------------------------------------------------------------------------
cvsdist 2287bf5
cvsdist dd9cdd6
%changelog
vadimn df66eb3
* Tue Nov  8 2005 Vadim Nasardinov <vadimn@redhat.com> - 0:5.1-1jpp_4fc
vadimn df66eb3
- Converted from ISO-8859-1 to UTF-8
vadimn df66eb3
gbenson 63aa82e
* Tue Jan 11 2005 Gary Benson <gbenson@redhat.com> 0:5.1-1jpp_4fc
gbenson 63aa82e
- Reenable building of classes that require javax.swing (#130006).
gbenson 63aa82e
gbenson cf3aa05
* Thu Nov  4 2004 Gary Benson <gbenson@redhat.com> 0:5.1-1jpp_3fc
gbenson 25e24e8
- Build into Fedora.
gbenson 25e24e8
cvsdist dd9cdd6
* Fri Mar 26 2004 Frank Ch. Eigler <fche@redhat.com> 0:5.1-1jpp_2rh
cvsdist dd9cdd6
- add RHUG upgrade cleanup
cvsdist 2287bf5
cvsdist dd9cdd6
* Thu Mar  4 2004 Frank Ch. Eigler <fche@redhat.com> 0:5.1-1jpp_1rh
cvsdist dd9cdd6
- RH vacuuming
cvsdist 2287bf5
cvsdist dd9cdd6
* Sun May 11 2003 David Walluck <david@anti-microsoft.org> 0:5.1-1jpp
cvsdist dd9cdd6
- 5.1
cvsdist dd9cdd6
- update for JPackage 1.5
cvsdist 2287bf5
cvsdist dd9cdd6
* Mon Mar 24 2003 Nicolas Mailhot <Nicolas.Mailhot (at) JPackage.org> - 5.0-6jpp
cvsdist dd9cdd6
- For jpackage-utils 1.5
cvsdist 2287bf5
vadimn df66eb3
* Tue Feb 25 2003 Ville Skyttä <ville.skytta at iki.fi> - 5.0-5jpp
cvsdist dd9cdd6
- Rebuild to get docdir right on modern distros.
cvsdist dd9cdd6
- Fix License tag and source file perms.
cvsdist dd9cdd6
- Built with IBM's 1.3.1SR3 (doesn't build with Sun's 1.4.1_01).
cvsdist 2287bf5
cvsdist dd9cdd6
* Tue Jun 11 2002 Henri Gomez <hgomez@slib.fr> 5.0-4jpp
cvsdist dd9cdd6
- use sed instead of bash 2.x extension in link area to make spec compatible
cvsdist dd9cdd6
  with distro using bash 1.1x
cvsdist 2287bf5
cvsdist dd9cdd6
* Tue May 07 2002 Guillaume Rousse <guillomovitch@users.sourceforge.net> 5.0-3jpp 
cvsdist dd9cdd6
- vendor, distribution, group tags
cvsdist 2287bf5
cvsdist dd9cdd6
* Wed Jan 23 2002 Guillaume Rousse <guillomovitch@users.sourceforge.net> 5.0-2jpp 
cvsdist dd9cdd6
- section macro
cvsdist dd9cdd6
- no dependencies for manual and javadoc package
cvsdist 2287bf5
cvsdist dd9cdd6
* Tue Jan 22 2002 Henri Gomez <hgomez@slib.fr> 5.0-1jpp
cvsdist dd9cdd6
- bcel is now a jakarta apache project
cvsdist dd9cdd6
- dependency on jakarta-regexp instead of gnu.regexp 
cvsdist dd9cdd6
- created manual package
cvsdist 2287bf5
cvsdist dd9cdd6
* Sat Dec 8 2001 Guillaume Rousse <guillomovitch@users.sourceforge.net> 4.4.1-2jpp
cvsdist dd9cdd6
- javadoc into javadoc package
cvsdist dd9cdd6
- Requires: and BuildRequires: gnu.regexp
cvsdist 2287bf5
cvsdist dd9cdd6
* Wed Nov 21 2001 Christian Zoffoli <czoffoli@littlepenguin.org> 4.4.1-1jpp
cvsdist dd9cdd6
- removed packager tag
cvsdist dd9cdd6
- new jpp extension
cvsdist dd9cdd6
- 4.4.1
cvsdist 2287bf5
cvsdist dd9cdd6
* Thu Oct 11 2001 Guillaume Rousse <guillomovitch@users.sourceforge.net> 4.4.0-2jpp
cvsdist dd9cdd6
- first unified release
cvsdist dd9cdd6
- used lower case for name
cvsdist dd9cdd6
- used original tarball
cvsdist dd9cdd6
- s/jPackage/JPackage
cvsdist 2287bf5
cvsdist dd9cdd6
* Mon Aug 27 2001 Guillaume Rousse <guillomovitch@users.sourceforge.net> 4.4.0-1mdk
cvsdist dd9cdd6
- first Mandrake release