Blob Blame History Raw
%define name    bcel
%define version 5.1
%define release 1jpp_4fc
%define section free

Name:           %{name}
Version:        %{version}
Release:        %{release}
Epoch:          0
Summary:        Byte Code Engineering Library
License:        Apache Software License
Source0:        http://jakarta.apache.org/builds/jakarta-bcel/release/v5.1/bcel-5.1-src.tar.gz
URL:            http://jakarta.apache.org/%{name}/
Group:          Development/Libraries/Java
#Vendor:         JPackage Project
#Distribution:   JPackage
Requires:       regexp
BuildRequires:  ant
BuildRequires:  regexp
BuildRequires:  jpackage-utils >= 0:1.5
BuildArch:      noarch
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-buildroot

%description
The Byte Code Engineering Library (formerly known as JavaClass) is
intended to give users a convenient possibility to analyze, create, and
manipulate (binary) Java class files (those ending with .class). Classes
are represented by objects which contain all the symbolic information of
the given class: methods, fields and byte code instructions, in
particular.  Such objects can be read from an existing file, be
transformed by a program (e.g. a class loader at run-time) and dumped to
a file again. An even more interesting application is the creation of
classes from scratch at run-time. The Byte Code Engineering Library
(BCEL) may be also useful if you want to learn about the Java Virtual
Machine (JVM) and the format of Java .class files.  BCEL is already
being used successfully in several projects such as compilers,
optimizers, obsfuscators and analysis tools, the most popular probably
being the Xalan XSLT processor at Apache.

%package javadoc
Summary:        Javadoc for %{name}
Group:          Development/Documentation

%description javadoc
Javadoc for %{name}.

%if 0
%package manual
Summary:        Manual for %{name}
Group:          Development/Libraries/Java

%description manual
Documentation for %{name}.
%endif

%prep
%setup -q
# remove all binary libs
find . -name "*.jar" -exec rm -f {} \;

# very broken build
perl -p -i -e 's| depends=\"examples\"||g;' build.xml
touch manifest.txt

%build
export CLASSPATH=%(build-classpath regexp)
ant -Dbuild.dest=./build -Dbuild.dir=./build -Dname=%{name} compile
ant -Dbuild.dest=./build -Dbuild.dir=./build -Dname=%{name} jar
ant -Dbuild.dest=./build -Dbuild.dir=./build -Dname=%{name} apidocs

%install
# jars
install -d -m 755 $RPM_BUILD_ROOT%{_javadir}
install -m 644 build/%{name}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar
(cd $RPM_BUILD_ROOT%{_javadir} && for jar in *-%{version}*; do ln -sf ${jar} `echo $jar| sed  "s|-%{version}||g"`; done)
# javadoc
install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
cp -pr docs/api/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
rm -rf docs/api

%clean
rm -rf $RPM_BUILD_ROOT

%pre
rm -f %{_javadir}/bcel.jar

%post javadoc
rm -f %{_javadocdir}/%{name}
ln -s %{name}-%{version} %{_javadocdir}/%{name}

%postun javadoc
if [ "$1" = "0" ]; then
    rm -f %{_javadocdir}/%{name}
fi

%files
%defattr(0644,root,root,0755)
%doc LICENSE.txt 
%{_javadir}/*

%files javadoc
%defattr(0644,root,root,0755)
%{_javadocdir}/%{name}-%{version}

%if 0
%files manual
%defattr(0644,root,root,0755)
%doc docs/*
%endif

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

%changelog
* Tue Nov  8 2005 Vadim Nasardinov <vadimn@redhat.com> - 0:5.1-1jpp_4fc
- Converted from ISO-8859-1 to UTF-8

* Tue Jan 11 2005 Gary Benson <gbenson@redhat.com> 0:5.1-1jpp_4fc
- Reenable building of classes that require javax.swing (#130006).

* Thu Nov  4 2004 Gary Benson <gbenson@redhat.com> 0:5.1-1jpp_3fc
- Build into Fedora.

* Fri Mar 26 2004 Frank Ch. Eigler <fche@redhat.com> 0:5.1-1jpp_2rh
- add RHUG upgrade cleanup

* Thu Mar  4 2004 Frank Ch. Eigler <fche@redhat.com> 0:5.1-1jpp_1rh
- RH vacuuming

* Sun May 11 2003 David Walluck <david@anti-microsoft.org> 0:5.1-1jpp
- 5.1
- update for JPackage 1.5

* Mon Mar 24 2003 Nicolas Mailhot <Nicolas.Mailhot (at) JPackage.org> - 5.0-6jpp
- For jpackage-utils 1.5

* Tue Feb 25 2003 Ville Skyttä <ville.skytta at iki.fi> - 5.0-5jpp
- Rebuild to get docdir right on modern distros.
- Fix License tag and source file perms.
- Built with IBM's 1.3.1SR3 (doesn't build with Sun's 1.4.1_01).

* Tue Jun 11 2002 Henri Gomez <hgomez@slib.fr> 5.0-4jpp
- use sed instead of bash 2.x extension in link area to make spec compatible
  with distro using bash 1.1x

* Tue May 07 2002 Guillaume Rousse <guillomovitch@users.sourceforge.net> 5.0-3jpp 
- vendor, distribution, group tags

* Wed Jan 23 2002 Guillaume Rousse <guillomovitch@users.sourceforge.net> 5.0-2jpp 
- section macro
- no dependencies for manual and javadoc package

* Tue Jan 22 2002 Henri Gomez <hgomez@slib.fr> 5.0-1jpp
- bcel is now a jakarta apache project
- dependency on jakarta-regexp instead of gnu.regexp 
- created manual package

* Sat Dec 8 2001 Guillaume Rousse <guillomovitch@users.sourceforge.net> 4.4.1-2jpp
- javadoc into javadoc package
- Requires: and BuildRequires: gnu.regexp

* Wed Nov 21 2001 Christian Zoffoli <czoffoli@littlepenguin.org> 4.4.1-1jpp
- removed packager tag
- new jpp extension
- 4.4.1

* Thu Oct 11 2001 Guillaume Rousse <guillomovitch@users.sourceforge.net> 4.4.0-2jpp
- first unified release
- used lower case for name
- used original tarball
- s/jPackage/JPackage

* Mon Aug 27 2001 Guillaume Rousse <guillomovitch@users.sourceforge.net> 4.4.0-1mdk
- first Mandrake release