java-xom/java-xom.spec

221 lines
6.8 KiB
RPMSpec

%define javahome %{_jvmdir}/jdk
%define with_test 0
Name: java-xom
Version: 1.2.1
Release: 3mamba
Summary: XML Pull Parser
Group: Development/Libraries/Java
Vendor: openmamba
Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: http://www.xom.nu/
Source0: http://www.cafeconleche.org/XOM/xom-%{version}.tar.gz
# for stage1 bootstrap
Source1: jaxen-1.1.1.jar
Patch0: java-xom-1.0-betterdocclasspath.patch
Patch1: java-xom-1.0-gjdocissues.patch
Patch2: java-xom-1.2.1-javadoc-stack-size.patch
Patch3: java-xom-1.2.1-crosslinks.patch
Patch4: java-xom-1.2.1-remove_sun_import.patch
Patch5: java-xom-1.2.1-remove_jaxen.patch
Patch6: java-xom-1.2.1-compile15.patch
Patch7: java-xom-1.2.1-clean-dist.patch
Patch8: java-xom-1.2.1-betterdoc-stack-size.patch
License: LGPL
BuildRequires: apache-ant
BuildRequires: apache-ant-junit
%if "%{stage1}" != "1"
BuildRequires: apache-tomcat5-servletapi5
BuildRequires: java-icu4j
BuildRequires: java-jaxen
BuildRequires: java-saxon6
BuildRequires: java-saxon6-aelfred
BuildRequires: java-tagsoup
%endif
BuildRequires: java-gnujaxp
BuildRequires: java-dom4j
BuildRequires: java-junit3
BuildRequires: java-junit3-javadoc
BuildRequires: jpackage-utils
BuildRequires: xalan-j2
BuildRequires: xerces-j2
BuildRequires: xml-commons-apis
BuildRequires: xml-commons-resolver
%if "%{stage1}" != "1"
Requires: java-icu4j
%endif
Requires: xalan-j2
Requires: xerces-j2
Requires: xml-commons-apis
BuildRoot: %{_tmppath}/%{name}-%{version}-root
%description
XOM is a new XML object model. It is an open source (LGPL), tree-based API for processing XML with Java that strives for correctness, simplicity, and performance, in that order XOM is designed to be easy to learn and easy to use. It works very straight-forwardly, and has a very shallow learning curve. Assuming you're already familiar with XML you should be able to get up and running with XOM very quickly
%package demo
Group: Development/Tools
Summary: Demos for %{name}
Requires: %{name} = %{version}-%{release}
%description demo
XOM is a new XML object model. It is an open source (LGPL), tree-based API for processing XML with Java that strives for correctness, simplicity, and performance, in that order XOM is designed to be easy to learn and easy to use. It works very straight-forwardly, and has a very shallow learning curve. Assuming you're already familiar with XML you should be able to get up and running with XOM very quickly
This package contains demonstrations and samples for %{name}.
%package javadoc
Group: Documentation
Summary: Javadoc for %{name}
%description javadoc
XOM is a new XML object model. It is an open source (LGPL), tree-based API for processing XML with Java that strives for correctness, simplicity, and performance, in that order XOM is designed to be easy to learn and easy to use. It works very straight-forwardly, and has a very shallow learning curve. Assuming you're already familiar with XML, you should be able to get up and running with XOM very quickly
This package contains javadoc for %{name}.
%prep
%setup -q -n XOM
%patch0 -p1
%patch1 -p1
%patch2
%patch3 -p0
%patch4
%patch5
%patch6
%patch7
%patch8
perl -pi -e 's/\r$//g' *.html *.txt
perl -pi -e 's/compress="no"/compress="yes"/g' build.xml
for j in $(find . -name "*.jar"); do
mv $j ${j}.no
done
for j in $(find . -name "*.class"); do
rm -rf $j
done
#cp %{S:1} .
%build
pushd lib
ln -sf $(build-classpath junit-3.8.2) junit.jar
ln -sf $(build-classpath dtd-xercesImpl) dtd-xercesImpl.jar
ln -sf $(build-classpath xalan-j2) xalan.jar
ln -sf $(build-classpath xercesImpl) serializer.jar
ln -sf $(build-classpath icu4j) normalizer.jar
ln -sf $(build-classpath xml-commons-apis) xmlParserAPIs.jar
ln -sf $(build-classpath xml-commons-apis) xml-apis.jar
popd
mkdir lib2
pushd lib2
ln -sf $(build-classpath tagsoup) tagsoup-1.2.jar
ln -sf $(build-classpath xml-commons-resolver) resolver.jar
ln -sf $(build-classpath dom4j) dom4j-1.5.1.jar
ln -sf $(build-classpath servletapi5) servlet.jar
ln -sf $(build-classpath saxon) saxon.jar
ln -sf $(build-classpath saxon-aelfred) saxon-aelfred.jar
ln -sf $(build-classpath gnujaxp) gnujaxp.jar
popd
export JAVA_HOME=%javahome
export CLASSPATH=""
%if "%{stage1}" != "1"
export CLASSPATH=$(build-classpath xercesImpl dtd-xercesImpl xml-commons-apis tagsoup icu4j-3.8.1 ant/ant-junit junit-3.8.2)
%else
cp %{SOURCE1} lib/jaxen.jar
export CLASSPATH=$(build-classpath xercesImpl dtd-xercesImpl xml-commons-apis ant/ant-junit junit-3.8.2)
CLASSPATH=$CASSPATH:lib/jaxen.jar
%endif
ant \
-Dant.build.javac.source=1.4 \
-Dant.build.javac.target=1.4 \
-Dbuild.sysclasspath=first \
-Dj2se.api=%{_javadocdir}/java-gcj-compat \
-Djunit.api=%{_javadocdir}/junit \
jar betterdoc
export CLASSPATH=$CLASSPATH:build/classes
ant \
-Dant.build.javac.source=1.4 \
-Dant.build.javac.target=1.4 \
-Dbuild.sysclasspath=first \
samples
%if %with_test
export CLASSPATH=$CLASSPATH
ant \
-Dant.build.javac.source=1.4 \
-Dant.build.javac.target=1.4 \
-Dbuild.sysclasspath=first \
test
%endif
sed -i 's/\r//g' LICENSE.txt
pushd apidocs
for f in `find -name \*.css -o -name \*.html`; do
sed -i 's/\r//g' $f
done
popd
%install
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
mkdir -p %{buildroot}%{_javadir}
install -m 644 build/xom-%{version}.jar \
%{buildroot}%{_javadir}/xom-%{version}.jar
(
cd %{buildroot}%{_javadir}
for jar in *-%{version}.jar; do
ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`
done
)
mkdir -p %{buildroot}%{_javadocdir}/xom-%{version}
cp -pr apidocs/* %{buildroot}%{_javadocdir}/xom-%{version}
ln -s xom-%{version} %{buildroot}%{_javadocdir}/xom
mkdir -p %{buildroot}%{_datadir}/xom
install -m 644 build/xom-samples.jar \
%{buildroot}%{_datadir}/xom/xom-samples-%{version}.jar
# %{_bindir}/aot-compile-rpm
%clean
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%files
%defattr(-,root,root)
%{_javadir}/xom-%{version}.jar
%{_javadir}/xom.jar
%doc LICENSE.txt lgpl.txt overview.html README.txt Todo.txt XOM.pdf xom.graffle
%files demo
%defattr(-,root,root)
%{_datadir}/xom
%files javadoc
%defattr(-,root,root)
%{_javadocdir}/xom-%{version}
%{_javadocdir}/xom
%changelog
* Thu Mar 24 2011 gil <puntogil@libero.it> 1.2.1-3mamba
- rebuilt with java-gcj-compat support
* Fri Nov 26 2010 gil <puntogil@libero.it> 1.2.1-2mamba
- rebuilt devel
* Sat Apr 18 2009 gil <puntogil@libero.it> 1.2.1-1mamba
- update to 1.2.1
* Wed Mar 11 2009 gil <puntogil@libero.it> 1.0-3mamba
- rebuilt
* Sun Mar 08 2009 gil <puntogil@libero.it> 1.0-2mamba
- added java-dom4j java-tagsoup support
- added demo pakage
* Sun Mar 01 2009 gil <puntogil@libero.it> 1.0-1mamba
- package created by autospec