--- /dev/null
+Summary: An open source data binding framework for Java
+Name: castor
+Version: 0.9.6
+Release: 1jpp
+License: Exolab Software License, BSD-like
+Group: Development/Languages/Java
+URL: http://castor.codehaus.org/
+Source0: http://dist.codehaus.org/castor/0.9.6/%{name}-%{version}-src.tgz
+# Source0-md5: 3ec1b9623f04b86f157738bd3f10a847
+BuildRequires: adaptx
+BuildRequires: cglib
+BuildRequires: jakarta-ant
+BuildRequires: jakarta-oro
+BuildRequires: jakarta-regexp
+BuildRequires: jdbc-stdext
+BuildRequires: jdk
+BuildRequires: jndi
+#BuildRequires: jpackage-utils >= 0:1.5.39
+BuildRequires: jta
+BuildRequires: junit
+BuildRequires: ldapsdk
+BuildRequires: xerces-j
+Requires: adaptx
+Requires: cglib
+Requires: jakarta-regexp
+Requires: java
+Requires: jdbc-stdext
+Requires: jndi
+Requires: jta
+Requires: ldapjdk
+Requires: oro
+Requires: xerces-j
+BuildArch: noarch
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%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 then some more.
+
+%package test
+Summary: Tests for %{name}
+Group: Development/Languages/Java
+Requires: %{name} = %{version}-%{release}
+Requires: junit
+
+%description test
+Tests for %{name}.
+
+%package xml
+Summary: XML support for %{name}
+Group: Development/Languages/Java
+Requires: %{name} = %{version}-%{release}
+
+%description xml
+XML support for Castor.
+
+%package javadoc
+Summary: Javadoc for %{name}
+Group: Documentation
+
+%description javadoc
+Javadoc for %{name}.
+
+%package doc
+Summary: Documentation for %{name}
+Group: Documentation
+
+%description doc
+Documentation for %{name}.
+
+%prep
+%setup -q
+find . -name "*.jar" -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;' {} \;
+
+%build
+[ -z "$JAVA_HOME" ] && export JAVA_HOME=%{_jvmdir}/java
+export CLASSPATH=%(build-classpath adaptx cglib jdbc-stdext jndi jta junit ldapjdk oro regexp xerces-j2)
+ant -buildfile src/build.xml jar
+ant -buildfile src/build.xml CTFjar
+ant -buildfile src/build.xml javadoc
+
+%install
+rm -rf $RPM_BUILD_ROOT
+rm -rf $RPM_BUILD_ROOT
+
+# jar
+install -d $RPM_BUILD_ROOT%{_javadir}
+install dist/%{name}-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar
+install dist/%{name}-%{version}-xml.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-xml-%{version}.jar
+install dist/CTF-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-tests-%{version}.jar
+pushd $RPM_BUILD_ROOT%{_javadir}
+ for jar in *-%{version}.jar; do
+ ln -sf ${jar} $(echo $jar| sed -e "s|-%{version}||g")
+ done
+popd
+
+# javadoc
+install -d $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 adaptx)
+ant -buildfile src/build.xml doc
+
+# like magic
+%jpackage_script org.exolab.castor.builder.SourceGenerator %{nil} %{nil} xerces-j2:%{name} %{name}
+
+%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(644,root,root,755)
+%doc src%{_sysconfdir}/{CHANGELOG,LICENSE,README}
+%attr(755,root,root) %{_bindir}/%{name}
+%{_javadir}/%{name}-%{version}.jar
+%{_javadir}/%{name}.jar
+
+%files test
+%defattr(644,root,root,755)
+%{_javadir}/%{name}-tests-%{version}.jar
+%{_javadir}/%{name}-tests.jar
+
+%files xml
+%defattr(644,root,root,755)
+%{_javadir}/%{name}-xml-%{version}.jar
+%{_javadir}/%{name}-xml.jar
+
+%files javadoc
+%defattr(644,root,root,755)
+%{_javadocdir}/%{name}-%{version}
+
+%files doc
+%defattr(644,root,root,755)
+%doc build/doc/*