Sophie

Sophie

distrib > Mageia > 2 > x86_64 > media > core-release-src > by-pkgid > 532588815bbfc2938945bd9bafbec2d4 > files > 6

castor0-0.9.9.1-2.mga2.src.rpm

%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