199 lines
6.5 KiB
RPMSpec
199 lines
6.5 KiB
RPMSpec
#
|
|
# spec file for package bcel (Version 5.1)
|
|
#
|
|
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
|
# This file and all modifications and additions to the pristine
|
|
# package are under the same license as the package itself.
|
|
#
|
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
|
#
|
|
|
|
# norootforbuild
|
|
# icecream 0
|
|
|
|
|
|
Name: bcel
|
|
BuildRequires: ant java-1_5_0-gcj-compat-devel regexp xml-commons-apis-bootstrap
|
|
%define name bcel
|
|
%define version 5.1
|
|
%define release 5jpp
|
|
%define section free
|
|
%define manual 0
|
|
Version: 5.1
|
|
Release: 274
|
|
Summary: Byte Code Engineering Library
|
|
License: The Apache Software License
|
|
Source0: http://jakarta.apache.org/builds/jakarta-bcel/release/v5.1/bcel-5.1-src.tar.gz
|
|
Patch0: bcel-5.1-build.patch
|
|
Patch1: %{name}-java14compat.patch
|
|
Url: http://jakarta.apache.org/bcel
|
|
Group: Development/Libraries/Java
|
|
Requires: regexp
|
|
BuildArch: noarch
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
|
|
%description
|
|
The Byte Code Engineering Library is intended to give users a
|
|
convenient way to analyze, create, and manipulate (binary) Java class
|
|
files (those ending with .class). Classes are represented by objects
|
|
that 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, transformed by a
|
|
program (such as a class loader at runtime), and dumped to a file
|
|
again. An even more interesting application is the creation of classes
|
|
from scratch at runtime. The Byte Code Engineering Library (BCEL) may
|
|
also be 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, obfuscators, code generators, and analysis
|
|
tools.
|
|
|
|
It contains a byte code verifier named JustIce, which usually gives you
|
|
much better information about what is wrong with your code than the
|
|
standard JVM message.
|
|
|
|
|
|
|
|
%package javadoc
|
|
License: The Apache Software License
|
|
PreReq: coreutils
|
|
Summary: Javadoc for bcel
|
|
Group: Development/Libraries/Java
|
|
|
|
%description javadoc
|
|
This package contains the javadoc documentation of the Byte Code
|
|
Engineering Library.
|
|
|
|
The Byte Code Engineering Library is intended to give users a
|
|
convenient way 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 also
|
|
be 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, obfuscators, code generators and analysis tools.
|
|
|
|
It contains a byte code verifier named JustIce, which usually gives you
|
|
much better information about what's wrong with your code than the
|
|
standard JVM message.
|
|
|
|
|
|
|
|
%if %manual
|
|
|
|
%package manual
|
|
|
|
Summary: Manual for bcel
|
|
Group: Development/Libraries/Java
|
|
|
|
%description manual
|
|
This package contains the manual for the Byte Code Engineering Library.
|
|
|
|
The Byte Code Engineering Library is intended to give users a
|
|
convenient way 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 also
|
|
be 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, obfuscators, code generators and analysis tools.
|
|
|
|
It contains a byte code verifier named JustIce, which usually gives you
|
|
much better information about what's wrong with your code than the
|
|
standard JVM message.
|
|
|
|
|
|
|
|
%endif
|
|
|
|
%prep
|
|
%setup -q
|
|
%patch0 -p1
|
|
%patch1
|
|
# 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
|
|
%__mkdir_p %{buildroot}%{_javadir}
|
|
%__install -m 644 build/%{name}.jar %{buildroot}%{_javadir}/%{name}-%{version}.jar
|
|
(cd %{buildroot}%{_javadir} && for jar in *-%{version}*; do %__ln_s ${jar} `echo $jar| sed "s|-%{version}||g"`; done)
|
|
# javadoc
|
|
%__mkdir_p %{buildroot}%{_javadocdir}/%{name}-%{version}
|
|
%__cp -a docs/api/* %{buildroot}%{_javadocdir}/%{name}-%{version}
|
|
%__rm -rf docs/api
|
|
|
|
%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 LICENSE.txt
|
|
%{_javadir}/*
|
|
|
|
%files javadoc
|
|
%defattr(0644,root,root,0755)
|
|
%{_javadocdir}/%{name}-%{version}
|
|
%if %manual
|
|
|
|
%files manual
|
|
%defattr(0644,root,root,0755)
|
|
%doc docs/*
|
|
%endif
|
|
# -----------------------------------------------------------------------------
|
|
|
|
%changelog
|
|
* Tue Jul 22 2008 coolo@suse.de
|
|
- build with gcj to avoid build cycle
|
|
* Mon Sep 25 2006 skh@suse.de
|
|
- don't use icecream
|
|
- use source="1.4" and target="1.4" for build with java 1.5
|
|
* Wed Jan 25 2006 mls@suse.de
|
|
- converted neededforbuild to BuildRequires
|
|
* Wed Jul 27 2005 jsmeix@suse.de
|
|
- Adjustments in the spec file.
|
|
* Mon Jul 18 2005 jsmeix@suse.de
|
|
- Current version 5.1 from JPackage.org
|
|
* Thu Sep 16 2004 skh@suse.de
|
|
- Fix prerequires of javadoc subpackage
|
|
* Sat Sep 04 2004 skh@suse.de
|
|
- Switched to JPackage 1.5 version
|
|
- split off subpackages bcel-javadoc and bcel-manual
|
|
* Mon Feb 09 2004 pmladek@suse.cz
|
|
- package created, version 5.1
|
|
- added trigger to create link to the ant lib dir
|