# # spec file for package javassist # # Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. # Copyright (c) 2000-2005, JPackage Project # All rights reserved. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # %define section free Summary: Java Programming Assistant: bytecode manipulation License: LGPL-2.1+ or MPL-1.1 Group: Development/Libraries/Java Name: javassist Version: 3.5 Release: 0 Url: http://www.csg.is.titech.ac.jp/~chiba/javassist/ Source0: javassist-3.5.CR1-src.tar.gz # cvs -d:pserver:anonymous@anoncvs.forge.jboss.com:/cvsroot/jboss export -r Javassist_3_5_CR1 javassist BuildRequires: ant >= 1.6 BuildRequires: javapackages-tools %if %defined suse_version BuildRequires: java-devel BuildRequires: unzip %endif BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build %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 javassist Group: Development/Documentation/Other Requires: javassist = %{version}-%{release} %description demo Samples for javassist. %{summary}. %package javadoc Summary: Javadoc for javassist Group: Development/Documentation/HTML %description javadoc Javadoc for javassist. %{summary}. %package manual Summary: Tutorial for javassist Group: Development/Documentation/Other %description manual Tutorial for javassist. %{summary}. %prep %setup -q -n %{name}-%{version}.CR1-src for j in $(find . -name "*.jar"); do mv $j $j.no done %build %if %defined suse_version ant -Dant.build.javac.source=1.4 -Dant.build.javac.target=1.4 dist %else ant dist %endif %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}/tutorial cp -pr tutorial/* $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/tutorial 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) %dir %{_docdir}/%{name}-%{version} %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}/%{name}-%{version}/tutorial %changelog