%define section free Summary: Java Programming Assistant: bytecode manipulation Name: javassist Version: 2.6 Release: 1jpp Epoch: 0 License: MPL and LGPL URL: http://www.csg.is.titech.ac.jp/~chiba/javassist/ Group: Development/Libraries/Java Vendor: JPackage Project Distribution: JPackage Source0: javassist-2.6.zip BuildRequires: jpackage-utils >= 0:1.5.32 BuildRequires: ant >= 0:1.5.4 BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot %description Javassist (Java Programming Assistant) makes Java bytecode manipulation simple. It is a class library for editing bytecodes in Java; it enables Java programs to define a new class at runtime and to modify a class file when the JVM loads it. Unlike other similar bytecode editors, Javassist provides two levels of API: source level and bytecode level. If the users use the source-level API, they can edit a class file without knowledge of the specifications of the Java bytecode. The whole API is designed with only the vocabulary of the Java language. You can even specify inserted bytecode in the form of source text; Javassist compiles it on the fly. On the other hand, the bytecode-level API allows the users to directly edit a class file as other editors. %package demo Summary: Samples for %{name} Group: Development/Documentation Requires: javassist = 0:2.6-1jpp %description demo %{summary}. %package javadoc Summary: Javadoc for %{name} Group: Development/Documentation %description javadoc %{summary}. %package manual Summary: Tutorial for %{name} Group: Development/Documentation %description manual %{summary}. %prep %setup -T -c -n %{name}-%{version} unzip -q %{SOURCE0} find . -name "*.jar" -exec rm {} \; %build ant dist %install rm -rf $RPM_BUILD_ROOT # jars mkdir -p $RPM_BUILD_ROOT%{_javadir} cp -p %{name}.jar \ $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar (cd $RPM_BUILD_ROOT%{_javadir} && for jar in *-%{version}.jar; do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`; done) # demo mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version} cp -pr sample/* $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version} # javadoc mkdir -p $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} cp -pr html/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name} # ghost symlink # manual mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version} cp -pr tutorial/* $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version} cp -p License.html $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version} %clean rm -rf $RPM_BUILD_ROOT %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 %{_docdir}/%{name}-%{version}/License.html %{_javadir}/*.jar %files demo %defattr(0644,root,root,0755) %{_datadir}/%{name}-%{version} %files javadoc %defattr(0644,root,root,0755) %doc %{_javadocdir}/%{name}-%{version} %ghost %doc %{_javadocdir}/%{name} %files manual %defattr(0644,root,root,0755) %doc %{_docdir} # ----------------------------------------------------------------------------- %changelog * Fri Mar 05 2004 Ralph Apel <r.apel at r-apel.de> - 0:2.6-1jpp - First JPackage release