%define javahome %{_jvmdir}/jdk Name: objectweb-asm2 Version: 2.2.3 Release: 3mamba Summary: a code manipulation tool to implement adaptable systems Group: Development/Libraries/Java Vendor: openmamba Distribution: openmamba Packager: Silvan Calarco URL: http://asm.objectweb.org/ Source0: http://download.forge.objectweb.org/asm/asm-%{version}.tar.gz Source1: http://asm.objectweb.org/current/asm-eng.pdf Source2: http://asm.objectweb.org/current/asm-transformations.pdf Source3: http://download.forge.objectweb.org/asm/asm-guide.pdf Source4: http://asm.objectweb.org/doc/faq.html # http://mirrors.ibiblio.org/pub/mirrors/maven2/asm Source5: objectweb-asm-parent-2.2.3,pom Source6: objectweb-asm-2.2.3,pom Source7: objectweb-asm-all-2.2.3,pom Source8: objectweb-asm-analysis-2.2.3,pom Source9: objectweb-asm-attrs-2.2.3,pom Source10: objectweb-asm-commons-2.2.3,pom Source11: objectweb-asm-tree-2.2.3,pom Source12: objectweb-asm-util-2.2.3,pom Source13: objectweb-asm-xml-2.2.3,pom Patch0: objectweb-asm2-2.2.3-noclasspathinmanifest.patch Patch1: objectweb-asm2-2.2.3-build_xml.patch Patch2: objectweb-asm2-2.2.3-SerialVersionUIDAdder.patch Patch3: objectweb-asm2-2.2.3-test-build_xml.patch Patch4: objectweb-asm2-2.2.3-ALLPerfTest.patch Patch5: objectweb-asm2-2.2.3-test-heap.patch License: BSD BuildRequires: apache-ant BuildRequires: apache-log4j BuildRequires: jakarta-bcel %if "%{stage1}" != "1" BuildRequires: jakarta-oro BuildRequires: java-serp BuildRequires: janino BuildRequires: javassist %endif BuildRequires: objectweb-anttask BuildRequires: jpackage-utils BuildRequires: zip BuildRequires: xml-commons-apis BuildRoot: %{_tmppath}/%{name}-%{version}-root %description ASM is an all purpose Java bytecode manipulation and analysis framework. It can be used to modify existing classes or dynamically generate classes, directly in binary form. Provided common transformations and analysis algorithms allow to easily assemble custom complex transformations and code analysis tools. ASM offer similar functionality as other bytecode frameworks, but it is focused on simplicity of use and performance. Because it was designed and implemented to be as small and as fast as possible, it makes it very attractive for using in dynamic systems*. (*) ASM can of course be used in a static way too. %package javadoc Group: Documentation Summary: Javadoc for %{name} %description javadoc ASM is an all purpose Java bytecode manipulation and analysis framework This package contains javadoc for %{name}. %package manual Group: Documentation Summary: Documents for %{name} %description manual ASM is an all purpose Java bytecode manipulation and analysis framework This package contains documentation for %{name}. %package demo Group: Documentation Summary: Examples for %{name} Requires: %{name} = %{version} %description demo ASM is an all purpose Java bytecode manipulation and analysis framework This package contains documentation and samples for %{name}. %prep %setup -q -n asm-%{version} %patch0 -p1 for j in $(find . -name "*.jar"); do mv $j ${j}.no done mkdir test/lib #tests #pushd test/lib # ln -sf $(build-classpath asm2/asm2) # ln -sf $(build-classpath cobertura) # ln -sf $(build-classpath log4j) # ln -sf $(build-classpath jakarta-oro) # ln -sf $(build-classpath ccl-util) ccl.jar # ln -sf $(build-classpath javancss) #popd %patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 rm test/perf/org/objectweb/asm/SERPPerfTest.java rm test/conform/adviceadapter2.xml %build # tests # export CLASSPATH=$(build-classpath asm2/asm2 asm2/asm2-tree) ant \ -Dbcel.path=$(build-classpath bcel-5.2) \ -Dobjectweb.ant.tasks.path=$(build-classpath objectweb-anttask-1.3.2) \ %if "%{stage1}" != "1" -Djanino.path=$(build-classpath janino-2.5.15) \ -Djavassist.path=$(build-classpath javassist-3.9.0) \ -Dserp.jar=$(build-classpath serp) \ %endif jar \ jdoc \ examples # tests # coverage \ # test \ # coverage.report \ # test.report \ # compile # compile-debug # coverage # coverage.report # dist # dist.init # dist.version # example # examples # jar # jdoc # noshrink # properties # shrink # test # test.report sed -i 's/\r//g' README.txt LICENSE.txt %install [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" mkdir -p %{buildroot}%{_javadir}/asm2 for jar in output/dist/lib/*.jar; do newjar=${jar/asm-/asm2-} install -m 644 ${jar} \ %{buildroot}%{_javadir}/asm2/`basename ${newjar}` done install -m 644 output/dist/lib/all/asm-all-%{version}.jar \ %{buildroot}%{_javadir}/asm2-all-%{version}.jar ( cd %{buildroot}%{_javadir} for jar in *-%{version}*; do ln -sf ${jar} ${jar/-%{version}/} done ) ( cd %{buildroot}%{_javadir}/asm2 for jar in *-%{version}* ; do ln -sf ${jar} ${jar/-%{version}/} done ) mkdir -p %{buildroot}%{_datadir}/maven2/poms install -m 644 %{SOURCE5} %{buildroot}%{_datadir}/maven2/poms/JPP.objectweb-asm2-asm-parent.pom %add_to_maven_depmap asm asm-parent %{version} JPP/asm2 asm-parent install -m 644 %{SOURCE6} %{buildroot}%{_datadir}/maven2/poms/JPP.objectweb-asm2-asm2.pom %add_to_maven_depmap asm asm %{version} JPP/asm2 asm2 install -m 644 %{SOURCE7} %{buildroot}%{_datadir}/maven2/poms/JPP.objectweb-asm2-asm2-all.pom %add_to_maven_depmap asm asm-all %{version} JPP/asm2 asm2-all install -m 644 %{SOURCE8} %{buildroot}%{_datadir}/maven2/poms/JPP.objectweb-asm2-asm2-analysis.pom %add_to_maven_depmap asm asm-analysis %{version} JPP/asm2 asm2-analysis install -m 644 %{SOURCE9} %{buildroot}%{_datadir}/maven2/poms/JPP.objectweb-asm2-asm2-attrs.pom %add_to_maven_depmap asm asm-attrs %{version} JPP/asm2 asm2-attrs install -m 644 %{SOURCE10} %{buildroot}%{_datadir}/maven2/poms/JPP.objectweb-asm2-asm2-commons.pom %add_to_maven_depmap asm asm-commons %{version} JPP/asm2 asm2-commons install -m 644 %{SOURCE11} %{buildroot}%{_datadir}/maven2/poms/JPP.objectweb-asm2-asm2-tree.pom %add_to_maven_depmap asm asm-tree %{version} JPP/asm2 asm2-tree install -m 644 %{SOURCE12} %{buildroot}%{_datadir}/maven2/poms/JPP.objectweb-asm2-asm2-util.pom %add_to_maven_depmap asm asm-util %{version} JPP/asm2 asm2-util install -m 644 %{SOURCE13} %{buildroot}%{_datadir}/maven2/poms/JPP.objectweb-asm2-asm2-xml.pom %add_to_maven_depmap asm asm-xml %{version} JPP/asm2 asm2-xml mkdir -p %{buildroot}%{_javadocdir}/asm2-%{version} cp -pr output/dist/doc/javadoc/user/* %{buildroot}%{_javadocdir}/asm2-%{version} ( cd %{buildroot}%{_javadocdir} ln -sf asm2-%{version} asm2 ) mkdir -p %{buildroot}%{_docdir}/asm2-%{version} install -m 644 README.txt %{buildroot}%{_docdir}/asm2-%{version} install -m 644 LICENSE.txt %{buildroot}%{_docdir}/asm2-%{version} install -m 644 %{S:1} %{buildroot}%{_docdir}/asm2-%{version} install -m 644 %{S:2} %{buildroot}%{_docdir}/asm2-%{version} install -m 644 %{S:3} %{buildroot}%{_docdir}/asm2-%{version} install -m 644 %{S:4} %{buildroot}%{_docdir}/asm2-%{version} mkdir -p %{buildroot}%{_datadir}/asm2-%{version} cp -pr output/dist/examples %{buildroot}%{_datadir}/asm2-%{version} %clean [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" %post %update_maven_depmap %postun %update_maven_depmap %files %defattr(-,root,root) %{_javadir}/asm2-all-%{version}.jar %{_javadir}/asm2-all.jar %dir %{_javadir}/asm2 %{_javadir}/asm2/asm2-%{version}.jar %{_javadir}/asm2/asm2.jar %{_javadir}/asm2/asm2-analysis-%{version}.jar %{_javadir}/asm2/asm2-analysis.jar %{_javadir}/asm2/asm2-attrs-%{version}.jar %{_javadir}/asm2/asm2-attrs.jar %{_javadir}/asm2/asm2-commons-%{version}.jar %{_javadir}/asm2/asm2-commons.jar %{_javadir}/asm2/asm2-tree-%{version}.jar %{_javadir}/asm2/asm2-tree.jar %{_javadir}/asm2/asm2-util-%{version}.jar %{_javadir}/asm2/asm2-util.jar %{_javadir}/asm2/asm2-xml-%{version}.jar %{_javadir}/asm2/asm2-xml.jar %{_datadir}/maven2/poms %{_mavendepmapfragdir} %doc LICENSE.txt README.txt %files demo %defattr(-,root,root) %{_datadir}/asm2-%{version} %files javadoc %defattr(-,root,root) %{_javadocdir}/asm2-%{version} %{_javadocdir}/asm2 %files manual %defattr(-,root,root) %{_docdir}/asm2-%{version} %changelog * Sat Mar 26 2011 gil 2.2.3-3mamba - rebuilt with java-gcj-compat support * Sat Jan 09 2010 gil 2.2.3-2mamba - rebuilt with java-serp support - added maven poms * Sun Mar 01 2009 gil 2.2.3-1mamba - package created by autospec