%define with_dom4j %{?_with_dom4j:1}%{!?_with_dom4j:0} %define without_dom4j %{!?_with_dom4j:1}%{?_with_dom4j:0} Summary: XML Object Model Name: xom Version: 1.2.10 Release: 1 Epoch: 0 License: LGPLv2 URL: http://www.xom.nu Source0: http://www.cafeconleche.org/XOM/%{name}-%{version}-src.tar.gz Patch0: %{name}-build.patch BuildRequires: ant >= 0:1.6 javapackages-local javapackages-tools jarjar jaxen junit xalan-j2 BuildRequires: xerces-j2 %if %{with_dom4j} BuildRequires: dom4j %endif BuildRequires: xml-commons-apis tagsoup java-devel xml-commons-resolver servlet Requires: jaxen xalan-j2 xerces-j2 xml-commons-apis BuildArch: noarch %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 javadoc Summary: API documentation for %{name} %description javadoc This package provides %{summary}. %package demo Summary: Samples for %{name} Requires: %{name} = %{version}-%{release} %description demo This package provides %{summary}. %prep %setup -q -n XOM find \( -name '*.jar' -or -name '*.class' \) -delete %patch0 -p1 for s in src/nu/xom/tests/BuilderTest.java\ src/nu/xom/tests/SerializerTest.java;do native2ascii -encoding UTF8 ${s} ${s} done sed -i 's/\r//g' LICENSE.txt sed -i "s,59 Temple Place,51 Franklin Street,;s,Suite 330,Fifth Floor,;s,02111-1307,02110-1301," $(find -name "*.java") \ LICENSE.txt lgpl.txt %build mkdir -p lib pushd lib ln -sf $(build-classpath junit) junit.jar ln -sf $(build-classpath xerces-j2) dtd-xercesImpl.jar ln -sf $(build-classpath xalan-j2) xalan.jar ln -sf $(build-classpath xml-commons-apis) xmlParserAPIs.jar ln -sf $(build-classpath jaxen) jaxen.jar while IFS=':' read -ra JARJAR_JARS; do for j in "${JARJAR_JARS[@]}";do ln -sf $j $(basename $j .jar)-1.0.jar done done <<<$(build-classpath jarjar) popd mkdir -p lib2 pushd lib2 ln -sf $(build-classpath tagsoup) tagsoup-1.2.jar ln -sf $(build-classpath xml-commons-resolver) resolver.jar %if %{with_dom4j} ln -sf $(build-classpath dom4j) dom4j.jar %endif ln -sf $(build-classpath servlet) servlet.jar popd ant -v compile15 jar samples betterdoc maven2 pushd build/apidocs for f in `find -name \*.css -o -name \*.html`; do sed -i 's/\r//g' $f done popd mv build/maven2/project.xml build/maven2/pom.xml %pom_add_dep jaxen:jaxen build/maven2/pom.xml %mvn_artifact build/maven2/pom.xml build/%{name}-%{version}.jar %mvn_alias xom:xom com.io7m.xom:xom %install %mvn_install ln -s xom/%{name}.jar %{buildroot}%{_javadir}/%{name}.jar install -d -m 755 %{buildroot}%{_javadocdir}/%{name} cp -pr build/apidocs/* %{buildroot}%{_javadocdir}/%{name} install -d -m 755 %{buildroot}%{_datadir}/%{name} install -m 644 build/xom-samples.jar %{buildroot}%{_datadir}/%{name} install -d -m 755 %{buildroot}%{_mavenpomdir} ln -s xom/xom.pom %{buildroot}%{_mavenpomdir}/JPP-%{name}.pom %files -f .mfiles %doc README.txt %doc LICENSE.txt %doc Todo.txt %doc lgpl.txt %{_javadir}/%{name}.jar %{_mavenpomdir}/JPP-%{name}.pom %files javadoc %{_javadocdir}/%{name} %doc LICENSE.txt %doc lgpl.txt %files demo %dir %{_datadir}/%{name} %{_datadir}/%{name}/xom-samples.jar %changelog * Thu Jul 23 2020 Jeffery.Gao - 1.2.10-1 - Package init