%define with_tests 0 Summary: An open source data binding framework for Java Name: castor0 Version: 0.9.9.1 Release: %mkrel 2 Epoch: 1 Group: Development/Java License: BSD and MPLv1.1 and W3C URL: http://castor.codehaus.org Source0: http://dist.codehaus.org/castor/0.9.9.1/castor-0.9.9.1-src.tgz Source1: http://repo1.maven.org/maven2/castor/castor/0.9.9.1/castor-0.9.9.1.pom Patch0: example-servletapi4.patch Patch1: example-servletapi5.patch Patch2: castor-build-xml.patch # http://jira.codehaus.org/browse/CASTOR-1762 Patch3: castor-1762.diff Patch4: castor-0.9.9.1-nojartest.patch BuildArch: noarch Requires: adaptx Requires: jdbc-stdext Requires: jndi Requires: jta Requires: ldapjdk Requires: log4j Requires: oro Requires: regexp Requires: xerces-j2 BuildRequires: adaptx BuildRequires: ant BuildRequires: apache-commons-logging BuildRequires: cglib BuildRequires: checkstyle BuildRequires: log4j BuildRequires: jdbc-stdext BuildRequires: jndi BuildRequires: jpackage-utils >= 0:1.5.16 BuildRequires: jta BuildRequires: ldapjdk BuildRequires: oro BuildRequires: postgresql-jdbc BuildRequires: regexp BuildRequires: xerces-j2 # Does not build with java6 BuildRequires: java-1.5.0-gcj-devel %if %with_tests BuildRequires: mockejb BuildRequires: tyrex %endif %description Castor is an open source data binding framework for Java. It's basically the shortest path between Java objects, XML documents and SQL tables. Castor provides Java to XML binding, Java to SQL persistence, and more. %package demo Group: Development/Java Summary: Demo for %{name} Requires: %{name} = %{epoch}:%{version}-%{release} Requires: servletapi5 BuildRequires: servletapi5 %description demo Demonstrations and samples for %{name}. %package test Group: Development/Java Summary: Tests for %{name} Requires: %{name} = %{epoch}:%{version}-%{release} Requires: junit BuildRequires: junit %description test Tests for %{name}. %package xml Group: Development/Java Summary: XML support for %{name} Requires: %{name} = %{epoch}:%{version}-%{release} %description xml XML support for Castor %package javadoc Group: Development/Java Summary: Javadoc for %{name} %description javadoc Javadoc for %{name}. %package doc Summary: Documentation for %{name} Group: Development/Java %description doc Documentation for %{name}. %prep %setup -q -n castor-%{version} for j in $(find . -name "*.jar"); do mv $j $j.no done #find . -name "*.jar" -exec rm -f {} \; find . -name "*.class" -exec rm -f {} \; perl -p -i -e 's|org.apache.xerces.utils.regex|org.apache.xerces.impl.xpath.regex|g;' \ src/main/org/exolab/castor/util/XercesRegExpEvaluator.java find . -name "*.java" -exec perl -p -i -e 's|assert\(|assertTrue\(|g;' {} \; find . -name "*.java" -exec perl -p -i -e 's|_test.name\(\)|_test.getName\(\)|g;' {} \; find src/doc -name "*.xml" -exec perl -p -i -e 's|\222|’|g;' {} \; %patch0 %patch1 %patch2 %patch3 %if !%with_tests %patch4 -p0 %endif # Fix for wrong-file-end-of-line-encoding problem for i in `find src/doc -iname "*.css"`; do sed -i 's/\r//' $i; done for i in `find src/doc -iname "*.xsd"`; do sed -i 's/\r//' $i; done for i in `find src/doc -iname "*.dtd"`; do sed -i 's/\r//' $i; done for i in `find src/doc -iname "*.pdf"`; do sed -i 's/\r//' $i; done for i in `find src/doc -iname "*.htm"`; do sed -i 's/\r//' $i; echo "" >> $i; done sed -i 's/\r//' src/etc/README sed -i 's/\r//' src/etc/LICENSE sed -i 's/\r//' src/etc/CHANGELOG sed -i 's/Class-Path: xerces.jar jdbc-se2.0.jar jndi.jar jta1.0.1.jar//' src/etc/MANIFEST.MF sed -i 's/Class-Path: commons-logging.jar//' src/etc/MANIFEST.COMMONS.MF sed -i 's/Class-Path: xerces-J_1.4.0.jar jdbc-se2.0.jar jndi_1.2.1.jar jta1.0.1.jar cglib-full-2.0.2.jar commons-logging.jar//' src/etc/MANIFEST.JDO.MF sed -i 's/Class-Path: xerces-J_1.4.0.jar commons-logging.jar//' src/etc/MANIFEST.XML.MF %build export JAVA_HOME=%{_jvmdir}/java-gcj export GC_MAXIMUM_HEAP_SIZE="134217728" export ANT_OPTS=" -Dant.build.javac.source=1.4 -Dant.build.javac.target=1.4 " export CLASSPATH=$(build-classpath adaptx jdbc-stdext jndi jta junit ldapjdk oro regexp servletapi5 xerces-j2 commons-logging postgresql cglib checkstyle log4j ) %if %with_tests CLASSPATH=$CLASSPATH:$(build-classpath mockejb tyrex) %endif ant -buildfile src/build.xml jar.all %if %with_tests ant -buildfile src/build.xml compile.examples ant -buildfile src/build.xml CTFjar %endif export LC_ALL="en_US.UTF-8" # necessary for javadoc ant -buildfile src/build.xml javadoc %install # jar install -d -m 755 $RPM_BUILD_ROOT%{_javadir} install -m 644 dist/castor-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar install -m 644 dist/castor-%{version}-commons.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-commons-%{version}.jar install -m 644 dist/castor-%{version}-xml.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-xml-%{version}.jar install -m 644 dist/castor-%{version}-srcgen-ant-task.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-srcgen-ant-task-%{version}.jar %if %with_tests install -m 644 dist/CTF-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-tests-%{version}.jar %endif (cd $RPM_BUILD_ROOT%{_javadir} && for jar in *-%{version}.jar; do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`; done) install -d -m 755 $RPM_BUILD_ROOT%{_mavenpomdir} %add_to_maven_depmap castor castor %{version} JPP %{name} install -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_mavenpomdir}/JPP-%{name}.pom # examples (demo) %if %with_tests install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{name}/examples cp -pr build/examples/* $RPM_BUILD_ROOT%{_datadir}/%{name}/examples %endif # javadoc install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} cp -pr build/doc/javadoc/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} # do this last, since it will delete all build directories export CLASSPATH=$(build-classpath log4j adaptx) ant -buildfile src/build.xml doc # like magic %jpackage_script org.exolab.castor.builder.SourceGenerator %{nil} %{nil} xerces-j2:%{name} %{name} %post %update_maven_depmap %postun %update_maven_depmap %files %defattr(0644,root,root,0755) %doc src/etc/{CHANGELOG,LICENSE,README} %attr(0755,root,root) %{_bindir}/%{name} %{_javadir}/%{name}-%{version}.jar %{_javadir}/%{name}.jar %{_javadir}/%{name}-commons-%{version}.jar %{_javadir}/%{name}-commons.jar %{_javadir}/%{name}-srcgen-ant-task-%{version}.jar %{_javadir}/%{name}-srcgen-ant-task.jar %if %with_tests %dir %{_datadir}/%{name} %endif %{_mavenpomdir}/* %{_mavendepmapfragdir}/* %if %with_tests %files demo %defattr(0644,root,root,0755) %{_datadir}/%{name}/examples %endif %if %with_tests %files test %defattr(0644,root,root,0755) %{_javadir}/%{name}-tests-%{version}.jar %{_javadir}/%{name}-tests.jar %endif %files xml %defattr(0644,root,root,0755) %{_javadir}/%{name}-xml-%{version}.jar %{_javadir}/%{name}-xml.jar %files javadoc %defattr(0644,root,root,0755) %{_javadocdir}/%{name}-%{version} %files doc %defattr(0644,root,root,0755) %doc build/doc/* %changelog * Sun Nov 06 2011 dmorgan <dmorgan> 1:0.9.9.1-2.mga2 + Revision: 163969 - Really need java5 - Build with java6 or later - Remove gcj support + gil <gil> - imported package castor0