%define javahome %{_jvmdir}/jdk Name: java-cglib21 Version: 2.1.3 Release: 6mamba Summary: Code Generation Library Group: Development/Libraries/Java Vendor: openmamba Distribution: openmamba Packager: Silvan Calarco URL: http://cglib.sourceforge.net/ # source is only in jar format # mkdir cglib-src-%{version} && cd cglib-src-%{version} # wget http://www.mirrorservice.org/sites/download.sourceforge.net/pub/sourceforge/c/cg/cglib/cglib-src-2.1_3.jar # jar xf cglib-src-2.1_3.jar # tar czf cglib-src-%{version}.tar.gz cglib-src-%{version} Source0: cglib-src-%{version}.tar.gz Source1: java-cglib-missing-words.txt Source2: http://repo1.maven.org/maven2/cglib/cglib/2.1_3/cglib-2.1_3.pom Source3: http://repo1.maven.org/maven2/cglib/cglib-nodep/2.1_3/cglib-nodep-2.1_3.pom Patch0: java-cglib-2.1.3-build_xml.patch Patch1: java-cglib-2.1.3-ExamplePreProcessor.patch Patch2: java-cglib-2.1.3-TestEnhancer.patch Patch3: java-cglib-2.1.3-compilesource.patch License: Apache Software License 2.0 BuildRequires: apache-ant BuildRequires: java-aspectwerkz BuildRequires: java-jarjar BuildRequires: java-junit3 BuildRequires: jpackage-utils BuildRequires: objectweb-asm1 Requires: java-aspectwerkz Requires: objectweb-asm1 BuildRoot: %{_tmppath}/%{name}-%{version}-root %description Byte Code Generation Library is high level API to generate and transform JAVA byte code. It is used by AOP, testing, data access frameworks to generate dynamic proxy objects and intercept field access. %package javadoc Group: Documentation Summary: Javadoc for %{name} %description javadoc Byte Code Generation Library is high level API to generate and transform JAVA byte code. It is used by AOP, testing, data access frameworks to generate dynamic proxy objects and intercept field access. This package contains documentation for %{name}. %package demo Group: Documentation Summary: Samples for %{name} %description demo Byte Code Generation Library is high level API to generate and transform JAVA byte code. It is used by AOP, testing, data access frameworks to generate dynamic proxy objects and intercept field access. This package contains documentation and samples for %{name}. %prep %setup -q -n cglib-src-%{version} for j in $(find . -name "*.jar"); do mv $j ${j}.no done cp %{S:1} src/test/net/sf/cglib/util/words.txt %patch0 -p1 # aspectwerkz %patch1 -p1 # TODO %patch2 -p1 %patch3 -p0 pushd lib ln -s $(build-classpath ant) ant.jar ln -s $(build-classpath junit-3.8.2) junit.jar ln -s $(build-classpath asm1/asm) asm_asm.jar ln -s $(build-classpath asm1/asm-attrs) asm_asm-attrs.jar ln -s $(build-classpath asm1/asm-util) asm-util.jar ln -s $(build-classpath jarjar) jarjar.jar ln -s $(build-classpath aspectwerkz-core) aspectwerkz-core-0.10.RC1.jar popd perl -pi -e 's/\r$//g' LICENSE #%if %without hook # rm src/proxy/net/sf/cglib/transform/hook/* # rm src/test/net/sf/cglib/transform/hook/* #%endif %build export JAVA_HOME=%javahome export CLASSPATH="" export CLASSPATH=$(build-classpath asm1/asm asm1/asm-commons asm1/asm-util ant ant/ant-junit):dist/cglib-2.1_3.jar CLASSPATH=$CLASSPATH:$(build-classpath jarjar jarjar-util aspectwerkz-core junit-3.8.2):dist/cglib-nodep-2.1_3.jar ant jar javadoc # test mkdir _tmp pushd _tmp cp -pr ../dist/cglib-2.1_3.jar . jar xf cglib-2.1_3.jar rm -rf net/sf/cglib/transform/hook jar cmf META-INF/MANIFEST.MF cglib21-nohook-2.1_3.jar net mv cglib21-nohook-2.1_3.jar ../dist/ popd rm -rf _tmp %install [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" mkdir -p %{buildroot}%{_javadir} install -pm 644 dist/cglib-2.1_3.jar \ %{buildroot}%{_javadir}/cglib21-%{version}.jar install -pm 644 dist/cglib-nodep-2.1_3.jar \ %{buildroot}%{_javadir}/cglib21-nodep-%{version}.jar install -pm 644 dist/cglib21-nohook-2.1_3.jar \ %{buildroot}%{_javadir}/cglib21-nohook-%{version}.jar mkdir -p %{buildroot}%{_datadir}/maven2/poms install -m 644 %{SOURCE1} %{buildroot}%{_datadir}/maven2/poms/JPP-cglib21.pom %add_to_maven_depmap cglib cglib 2.1_3 JPP cglib21 install -m 644 %{SOURCE2} %{buildroot}%{_datadir}/maven2/poms/JPP-cglib21-nodep.pom %add_to_maven_depmap cglib cglib-nodep 2.1_3 JPP cglib21-nodep ( cd %{buildroot}%{_javadir} for jar in *-%{version}.jar; do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"` done ) mkdir -p %{buildroot}%{_javadocdir}/cglib-%{version} cp -pr docs/* %{buildroot}%{_javadocdir}/cglib-%{version} ln -s cglib-%{version} %{buildroot}%{_javadocdir}/cglib21 mkdir -p %{buildroot}%{_datadir}/cglib-%{version} cp -pr src/proxy/samples %{buildroot}%{_datadir}/cglib-%{version} %clean [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" %post %update_maven_depmap %postun %update_maven_depmap %files %defattr(-,root,root) %{_javadir}/cglib21-%{version}.jar %{_javadir}/cglib21.jar %{_javadir}/cglib21-nodep-%{version}.jar %{_javadir}/cglib21-nodep.jar %{_javadir}/cglib21-nohook-%{version}.jar %{_javadir}/cglib21-nohook.jar %{_datadir}/maven2/poms %{_mavendepmapfragdir} %doc LICENSE NOTICE README %files javadoc %defattr(-,root,root) %{_javadocdir}/cglib-%{version} %{_javadocdir}/cglib21 %files demo %defattr(-,root,root) %{_datadir}/cglib-%{version} %changelog * Sat Mar 26 2011 gil 2.1.3-6mamba - rebuilt with java-openjdk support * Thu Nov 04 2010 gil 2.1.3-5mamba - rebuilt in devel java * Wed Apr 21 2010 gil 2.1.3-4mamba - added maven poms * Mon Jun 15 2009 gil 2.1.3-3mamba - rebuilt * Sat Jun 06 2009 gil 2.1.3-2mamba - added aspectwerkz support * Sun Mar 01 2009 gil 2.1.3-1mamba - package created by autospec