%global cvs_version 2_11_0 Name: xerces-j2 Version: 2.11.0 Release: %mkrel 8 Summary: Java XML parser Group: Development/Java License: ASL 2.0 URL: http://xerces.apache.org/xerces2-j/ Source0: http://mirror.ox.ac.uk/sites/rsync.apache.org/xerces/j/source/Xerces-J-src.%{version}.tar.gz Source1: %{name}-version.sh Source2: %{name}-constants.sh # Custom javac ant task used by the build Source3: https://svn.apache.org/repos/asf/xerces/java/tags/Xerces-J_%{cvs_version}/tools/src/XJavac.java # Custom doclet tags used in javadocs Source5: https://svn.apache.org/repos/asf/xerces/java/tags/Xerces-J_%{cvs_version}/tools/src/ExperimentalTaglet.java Source6: https://svn.apache.org/repos/asf/xerces/java/tags/Xerces-J_%{cvs_version}/tools/src/InternalTaglet.java Source7: %{name}-pom.xml # Patch the build so that it doesn't try to use bundled xml-commons source Patch0: %{name}-build.patch # Patch the manifest so that it includes OSGi stuff Patch1: %{name}-manifest.patch BuildArch: noarch BuildRequires: java-devel >= 1:1.6.0 BuildRequires: jpackage-utils BuildRequires: xalan-j2 >= 2.7.1 BuildRequires: xml-commons-apis >= 1.4.01 BuildRequires: xml-commons-resolver >= 1.2 BuildRequires: ant BuildRequires: jaxp_parser_impl BuildRequires: fonts-ttf-dejavu Requires: java Requires: jpackage-utils Requires: xalan-j2 >= 2.7.1 Requires: xml-commons-apis >= 1.4.01 Requires: xml-commons-resolver >= 1.2 Provides: jaxp_parser_impl = 1.4 Provides: %{name}-scripts = %{version}-%{release} Obsoletes: %{name}-scripts < 2.11.0-6 Requires(post): chkconfig jaxp_parser_impl Requires(preun): chkconfig jaxp_parser_impl # This documentation is provided by xml-commons-apis Obsoletes: %{name}-javadoc-apis < %{version}-%{release} # http://mail-archives.apache.org/mod_mbox/xerces-j-dev/201008.mbox/%3COF8D7E2F83.0271A181-ON8525777F.00528302-8525777F.0054BBE0@ca.ibm.com%3E Obsoletes: %{name}-manual < %{version}-%{release} %description Welcome to the future! Xerces2 is the next generation of high performance, fully compliant XML parsers in the Apache Xerces family. This new version of Xerces introduces the Xerces Native Interface (XNI), a complete framework for building parser components and configurations that is extremely modular and easy to program. The Apache Xerces2 parser is the reference implementation of XNI but other parser components, configurations, and parsers can be written using the Xerces Native Interface. For complete design and implementation documents, refer to the XNI Manual. Xerces2 is a fully conforming XML Schema processor. For more information, refer to the XML Schema page. Xerces2 also provides a complete implementation of the Document Object Model Level 3 Core and Load/Save W3C Recommendations and provides a complete implementation of the XML Inclusions (XInclude) W3C Recommendation. It also provides support for OASIS XML Catalogs v1.1. Xerces2 is able to parse documents written according to the XML 1.1 Recommendation, except that it does not yet provide an option to enable normalization checking as described in section 2.13 of this specification. It also handles name spaces according to the XML Namespaces 1.1 Recommendation, and will correctly serialize XML 1.1 documents if the DOM level 3 load/save APIs are in use. %package javadoc Summary: Javadocs for %{name} Group: Documentation Requires: jpackage-utils # Consolidating all javadocs into one package %rename %{name}-javadoc-impl %rename %{name}-javadoc-xs %rename %{name}-javadoc-xni %rename %{name}-javadoc-other %description javadoc This package contains the API documentation for %{name}. %package demo Summary: Demonstrations and samples for %{name} Group: Development/Java Requires: %{name} = %{version}-%{release} %description demo %{summary}. %prep %setup -q -n xerces-%{cvs_version} %patch0 -p0 -b .orig %patch1 -p0 -b .orig # Copy the custom ant tasks into place mkdir -p tools/org/apache/xerces/util mkdir -p tools/bin cp -a %{SOURCE3} %{SOURCE5} %{SOURCE6} tools/org/apache/xerces/util # Make sure upstream hasn't sneaked in any jars we don't know about find -name '*.class' -exec rm -f '{}' \; find -name '*.jar' -exec rm -f '{}' \; sed -i 's/\r//' LICENSE README NOTICE %build pushd tools # Build custom ant tasks javac -classpath $(build-classpath ant) org/apache/xerces/util/XJavac.java jar cf bin/xjavac.jar org/apache/xerces/util/XJavac.class # Build custom doc taglets javac -classpath /usr/lib/jvm/java/lib/tools.jar org/apache/xerces/util/*Taglet.java jar cf bin/xerces2taglets.jar org/apache/xerces/util/*Taglet.class ln -sf $(build-classpath xalan-j2) serializer.jar ln -sf $(build-classpath xml-commons-apis) xml-apis.jar ln -sf $(build-classpath xml-commons-resolver) resolver.jar popd # Build everything export ANT_OPTS="-Xmx256m -Djava.endorsed.dirs=$(pwd)/tools -Djava.awt.headless=true -Dbuild.sysclasspath=first -Ddisconnected=true" ant -Djavac.source=1.5 -Djavac.target=1.5 \ -Dbuild.compiler=modern \ clean jars javadocs %install # jars install -pD -T build/xercesImpl.jar %{buildroot}%{_javadir}/%{name}.jar # javadoc mkdir -p %{buildroot}%{_javadocdir}/%{name} mkdir -p %{buildroot}%{_javadocdir}/%{name}/impl mkdir -p %{buildroot}%{_javadocdir}/%{name}/xs mkdir -p %{buildroot}%{_javadocdir}/%{name}/xni mkdir -p %{buildroot}%{_javadocdir}/%{name}/other cp -pr build/docs/javadocs/xerces2/* %{buildroot}%{_javadocdir}/%{name}/impl cp -pr build/docs/javadocs/api/* %{buildroot}%{_javadocdir}/%{name}/xs cp -pr build/docs/javadocs/xni/* %{buildroot}%{_javadocdir}/%{name}/xni cp -pr build/docs/javadocs/other/* %{buildroot}%{_javadocdir}/%{name}/other # scripts install -pD -m755 -T %{SOURCE1} %{buildroot}%{_bindir}/%{name}-version install -pD -m755 -T %{SOURCE2} %{buildroot}%{_bindir}/%{name}-constants # demo install -pD -T build/xercesSamples.jar %{buildroot}%{_datadir}/%{name}/%{name}-samples.jar cp -pr data %{buildroot}%{_datadir}/%{name} # Pom install -pD -T -m 644 %{SOURCE7} %{buildroot}%{_mavenpomdir}/JPP-%{name}.pom # Depmap with legacy depmaps for compatability %add_maven_depmap JPP-%{name}.pom %{name}.jar -a "xerces:xerces" -a "xerces:xmlParserAPIs" # jaxp_parser_impl ghost symlink ln -s %{_sysconfdir}/alternatives \ %{buildroot}%{_javadir}/jaxp_parser_impl.jar %post update-alternatives --install %{_javadir}/jaxp_parser_impl.jar \ jaxp_parser_impl %{_javadir}/%{name}.jar 40 %preun { [ $1 = 0 ] || exit 0 update-alternatives --remove jaxp_parser_impl %{_javadir}/%{name}.jar } >/dev/null 2>&1 || : %files %doc LICENSE NOTICE README %{_mavendepmapfragdir}/* %{_mavenpomdir}/* %{_javadir}/%{name}* %{_bindir}/* %ghost %{_javadir}/jaxp_parser_impl.jar %files javadoc %{_javadocdir}/%{name}/impl %{_javadocdir}/%{name}/xs %{_javadocdir}/%{name}/xni %{_javadocdir}/%{name}/other %files demo %defattr(-,root,root,-) %{_datadir}/%{name} %changelog * Mon Jan 14 2013 umeabot <umeabot> 2.11.0-8.mga3 + Revision: 386761 - Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild * Wed Jan 09 2013 solbu <solbu> 2.11.0-7.mga3 + Revision: 343319 - rename, not obsolete javadoc packages * Sat Dec 01 2012 dmorgan <dmorgan> 2.11.0-6.mga3 + Revision: 324345 - Java Stack Mass Rebuild * Thu Apr 28 2011 dmorgan <dmorgan> 2.11.0-5.mga1 + Revision: 93152 - Rebuild after bootstrapping - Relax requires - Rebuild after bootstrapping - imported package xerces-j2