%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 - 0:5.1-1jpp_4fc - Converted from ISO-8859-1 to UTF-8 * Tue Jan 11 2005 Gary Benson 0:5.1-1jpp_4fc - Reenable building of classes that require javax.swing (#130006). * Thu Nov 4 2004 Gary Benson 0:5.1-1jpp_3fc - Build into Fedora. * Fri Mar 26 2004 Frank Ch. Eigler 0:5.1-1jpp_2rh - add RHUG upgrade cleanup * Thu Mar 4 2004 Frank Ch. Eigler 0:5.1-1jpp_1rh - RH vacuuming * Sun May 11 2003 David Walluck 0:5.1-1jpp - 5.1 - update for JPackage 1.5 * Mon Mar 24 2003 Nicolas Mailhot - 5.0-6jpp - For jpackage-utils 1.5 * Tue Feb 25 2003 Ville Skyttä - 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 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 5.0-3jpp - vendor, distribution, group tags * Wed Jan 23 2002 Guillaume Rousse 5.0-2jpp - section macro - no dependencies for manual and javadoc package * Tue Jan 22 2002 Henri Gomez 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 4.4.1-2jpp - javadoc into javadoc package - Requires: and BuildRequires: gnu.regexp * Wed Nov 21 2001 Christian Zoffoli 4.4.1-1jpp - removed packager tag - new jpp extension - 4.4.1 * Thu Oct 11 2001 Guillaume Rousse 4.4.0-2jpp - first unified release - used lower case for name - used original tarball - s/jPackage/JPackage * Mon Aug 27 2001 Guillaume Rousse 4.4.0-1mdk - first Mandrake release