Sophie

Sophie

distrib > Mandriva > 10.1 > i586 > by-pkgid > f4852b6285673e116d04bb28704289cc > files > 2

javassist-2.6-1jpp.src.rpm

%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