# # spec file for package xerces-j2 (Version 2.8.1) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild Name: xerces-j2 %define name xerces-j2 %define version 2.8.1 %define cvs_version 2_8_1 %define release 3jpp %define section free Version: 2.8.1 Release: 246 Summary: Java XML parser License: Apache Software License .. Url: http://xml.apache.org/xerces2-j/ Group: Development/Libraries/Java Source0: Xerces-J-src.%{version}.tar.bz2 Source1: %{name}-version.sh Source2: %{name}-constants.sh Source3: Xerces-J-tools.%{version}.tar.bz2 Patch1: java150_build.patch Patch2: %{name}-%{version}_new_unsupported_dom_methods.patch #PATCH-FIX-UPSTREAM bnc#530717 #http://svn.apache.org/viewvc?view=rev&revision=787352 Patch3: xerces-j2-parsing.patch Provides: jaxp_parser_impl PreReq: update-alternatives /bin/ln # some build requirements removed to enable jpackage bootstrap. this is # the first package built, and we use the libraries in the tools subdir # for it. BuildRequires: java-1_5_0-gcj-compat-devel BuildRequires: antlr-bootstrap #!BuildIgnore: antlr antlr-java BuildRequires: jpackage-utils BuildRequires: unzip BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build %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. Xerces 2 is a fully conforming XML Schema processor. For more information, refer to the XML Schema page. Xerces 2 also provides a partial implementation of Document Object Model Level 3 Core, Load and Save and Abstract Schemas [deprecated] Working Drafts. For more information, refer to the DOM Level 3 Implementation page. %package javadoc-impl License: Apache Software License .. Summary: Javadoc for xerces-j2 implementation Group: Development/Libraries/Java PreReq: coreutils %description javadoc-impl 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. Xerces 2 is a fully conforming XML Schema processor. For more information, refer to the XML Schema page. Xerces 2 also provides a partial implementation of Document Object Model Level 3 Core, Load and Save and Abstract Schemas [deprecated] Working Drafts. For more information, refer to the DOM Level 3 Implementation page. This package contains the javadoc documentation for the Xerces2 implementation. %package javadoc-apis License: Apache Software License .. Summary: Javadoc for xerces-j2 apis Group: Development/Libraries/Java PreReq: coreutils %description javadoc-apis 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. Xerces 2 is a fully conforming XML Schema processor. For more information, refer to the XML Schema page. Xerces 2 also provides a partial implementation of Document Object Model Level 3 Core, Load and Save and Abstract Schemas [deprecated] Working Drafts. For more information, refer to the DOM Level 3 Implementation page. This package contains the javadoc documentation for the Xerces2 APIs. %package javadoc-dom3 License: Apache Software License .. Summary: Javadoc for xerces-j2 DOM3 Group: Development/Libraries/Java PreReq: coreutils %description javadoc-dom3 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. Xerces 2 is a fully conforming XML Schema processor. For more information, refer to the XML Schema page. Xerces 2 also provides a partial implementation of Document Object Model Level 3 Core, Load and Save and Abstract Schemas [deprecated] Working Drafts. For more information, refer to the DOM Level 3 Implementation page. This package contains the javadoc documentation for Xerces2 DOM3. %package javadoc-xni License: Apache Software License .. Summary: Javadoc for xerces-j2 XNI Group: Development/Libraries/Java PreReq: coreutils %description javadoc-xni 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. Xerces 2 is a fully conforming XML Schema processor. For more information, refer to the XML Schema page. Xerces 2 also provides a partial implementation of Document Object Model Level 3 Core, Load and Save and Abstract Schemas [deprecated] Working Drafts. For more information, refer to the DOM Level 3 Implementation page. This package contains the javadoc documentation for Xerces2 XNI. %package javadoc-other License: Apache Software License .. Summary: Javadoc for other xerces-j2 components Group: Development/Libraries/Java PreReq: coreutils %description javadoc-other 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. Xerces 2 is a fully conforming XML Schema processor. For more information, refer to the XML Schema page. Xerces 2 also provides a partial implementation of Document Object Model Level 3 Core, Load and Save and Abstract Schemas [deprecated] Working Drafts. For more information, refer to the DOM Level 3 Implementation page. This package contains the javadoc documentation for other components of Xerces2. %package demo License: Apache Software License .. Summary: Demonstration and sample files for xerces-j2 Group: Development/Libraries/Java Requires: %{name} = %{version} %description demo 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. Xerces 2 is a fully conforming XML Schema processor. For more information, refer to the XML Schema page. Xerces 2 also provides a partial implementation of Document Object Model Level 3 Core, Load and Save and Abstract Schemas [deprecated] Working Drafts. For more information, refer to the DOM Level 3 Implementation page. This package contains demonstration and sample files for Xerces2. %package scripts License: Apache Software License .. Summary: Additional utility scripts for xerces-j2 Group: Development/Libraries/Java Requires: %{name} = %{version} Requires: jpackage-utils >= 1.5 %description scripts 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. Xerces 2 is a fully conforming XML Schema processor. For more information, refer to the XML Schema page. Xerces 2 also provides a partial implementation of Document Object Model Level 3 Core, Load and Save and Abstract Schemas [deprecated] Working Drafts. For more information, refer to the DOM Level 3 Implementation page. This package contains additional utility scripts for Xerces2. %package xml-resolver License: Apache Software License .. Summary: Resolver subproject of xml-commons Group: Development/Libraries/Java Requires: jpackage-utils >= 1.5 Provides: xml-commons-resolver PreReq: update-alternatives %description xml-resolver xml-commons is focussed on common code and guidelines for xml projects. The first focus will be to organize and have common packaging for the various externally-defined standards code relating to XML - things like the DOM, SAX, and JAXP interfaces. This package contains the resolver subproject of xml-commons. %package xml-apis License: Apache Software License .. Summary: APIs subproject of xml-commons Group: Development/Libraries/Java Requires: jpackage-utils >= 1.5 Provides: xml-commons-apis PreReq: update-alternatives %description xml-apis xml-commons is focused on common code and guidelines for xml projects. It's first focus will be to organize and have common packaging for the various externally-defined standards code relating to XML - things like the DOM, SAX, and JAXP interfaces. As the xml-commons community forms, we also hope to serve as a holding area for other common xml-related utilities and code, and to help promulgate common packaging, testing, documentation, and other guidelines across all xml.apache.org subprojects. This package contains the APIs subproject of xml-commons. %prep %setup -q -n xerces-%{cvs_version} %setup -q -T -a 3 -D -n xerces-%{cvs_version} %setup -T -D -n xerces-%{cvs_version} %patch1 -p1 %patch2 -p1 %patch3 -p1 -b .parsing %build ## this uses the ant.jar provided by the xerces packages. Tough luck, # jpackage bootstrap has to start somewhere. It is not installed, # though. export GC_MAXIMUM_HEAP_SIZE="134217728" export CLASSPATH=$CLASSPATH:`build-classpath antlr-bootstrap` sh build.sh jars sh build.sh javadocs %install # jars mkdir -p $RPM_BUILD_ROOT%{_javadir} cp -p build/xercesImpl.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar cp -p build/resolver.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}-xml-resolver.jar cp -p build/xml-apis.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}-xml-apis.jar (cd $RPM_BUILD_ROOT%{_javadir} && for jar in *-%{version}*.jar; do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`; done) # javadoc mkdir -p $RPM_BUILD_ROOT%{_javadocdir}/%{name}-impl-%{version} cp -pr build/docs/javadocs/xerces2/* \ $RPM_BUILD_ROOT%{_javadocdir}/%{name}-impl-%{version} ln -s %{name}-impl-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name}-impl mkdir -p $RPM_BUILD_ROOT%{_javadocdir}/%{name}-apis-%{version} cp -pr build/docs/javadocs/api/* \ $RPM_BUILD_ROOT%{_javadocdir}/%{name}-apis-%{version} ln -s %{name}-apis-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name}-apis mkdir -p $RPM_BUILD_ROOT%{_javadocdir}/%{name}-xni-%{version} cp -pr build/docs/javadocs/xni/* \ $RPM_BUILD_ROOT%{_javadocdir}/%{name}-xni-%{version} ln -s %{name}-xni-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name}-xni mkdir -p $RPM_BUILD_ROOT%{_javadocdir}/%{name}-dom-%{version} cp -pr build/docs/javadocs/xerces2/org/apache/xerces/dom/* \ $RPM_BUILD_ROOT%{_javadocdir}/%{name}-dom-%{version} ln -s %{name}-dom-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name}-dom mkdir -p $RPM_BUILD_ROOT%{_javadocdir}/%{name}-other-%{version} cp -pr build/docs/javadocs/other/* \ $RPM_BUILD_ROOT%{_javadocdir}/%{name}-other-%{version} ln -s %{name}-other-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name}-other rm -rf build/docs/javadocs # scripts mkdir -p $RPM_BUILD_ROOT%{_bindir} cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/%{name}-version cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_bindir}/%{name}-constants # demo mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name} cp -p build/xercesSamples.jar \ $RPM_BUILD_ROOT%{_datadir}/%{name}/%{name}-samples.jar cp -pr data $RPM_BUILD_ROOT%{_datadir}/%{name} # jaxp_parser_impl ghost symlink ln -s %{_sysconfdir}/alternatives \ $RPM_BUILD_ROOT%{_javadir}/jaxp_parser_impl.jar # xml-apis ghost symlink ln -s %{_sysconfdir}/alternatives \ $RPM_BUILD_ROOT%{_javadir}/xml-commons-apis.jar # xml-resolver ghost symlink ln -s %{_sysconfdir}/alternatives \ $RPM_BUILD_ROOT%{_javadir}/xml-commons-resolver.jar %clean rm -rf $RPM_BUILD_ROOT %post /usr/sbin/update-alternatives --install %{_javadir}/jaxp_parser_impl.jar jaxp_parser_impl %{_javadir}/%{name}.jar 23 /usr/sbin/update-alternatives --auto jaxp_parser_impl %post xml-apis /usr/sbin/update-alternatives --install %{_javadir}/xml-commons-apis.jar xml-commons-apis %{_javadir}/%{name}-xml-apis.jar 1 /usr/sbin/update-alternatives --auto xml-commons-apis %post xml-resolver /usr/sbin/update-alternatives --install %{_javadir}/xml-commons-resolver.jar xml-commons-resolver %{_javadir}/%{name}-xml-resolver.jar 1 /usr/sbin/update-alternatives --auto xml-commons-resolver %preun { [ $1 = 0 ] || exit 0 /usr/sbin/update-alternatives --remove jaxp_parser_impl %{_javadir}/%{name}.jar } >/dev/null 2>&1 || : %preun xml-apis { [ $1 = 0 ] || exit 0 /usr/sbin/update-alternatives --remove xml-commons-apis %{_javadir}/%{name}-xml-apis.jar } >/dev/null 2>&1 || : %preun xml-resolver { [ $1 = 0 ] || exit 0 /usr/sbin/update-alternatives --remove xml-commons-resolver %{_javadir}/%{name}-xml-commons-resolver.jar } >/dev/null 2>&1 || : %files %defattr(0644,root,root,0755) %doc LICENSE README ISSUES STATUS TODO %{_javadir}/%{name}-%{version}.jar %{_javadir}/%{name}.jar %ghost %{_javadir}/jaxp_parser_impl.jar %files xml-apis %defattr(0644,root,root,0755) %{_javadir}/%{name}-%{version}-xml-apis.jar %{_javadir}/%{name}-xml-apis.jar %ghost %{_javadir}/xml-commons-apis.jar %files xml-resolver %defattr(0644,root,root,0755) %{_javadir}/%{name}-%{version}-xml-resolver.jar %{_javadir}/%{name}-xml-resolver.jar %ghost %{_javadir}/xml-commons-resolver.jar %files javadoc-impl %defattr(0644,root,root,0755) %doc %{_javadocdir}/%{name}-impl-%{version} %doc %{_javadocdir}/%{name}-impl %files javadoc-apis %defattr(0644,root,root,0755) %doc %{_javadocdir}/%{name}-apis-%{version} %doc %{_javadocdir}/%{name}-apis %files javadoc-dom3 %defattr(0644,root,root,0755) %doc %{_javadocdir}/%{name}-dom-%{version} %doc %{_javadocdir}/%{name}-dom %files javadoc-other %defattr(0644,root,root,0755) %doc %{_javadocdir}/%{name}-other-%{version} %doc %{_javadocdir}/%{name}-other %files javadoc-xni %defattr(0644,root,root,0755) %doc %{_javadocdir}/%{name}-xni-%{version} %doc %{_javadocdir}/%{name}-xni %files demo %defattr(0644,root,root,0755) %{_datadir}/%{name} %files scripts %defattr(0755,root,root,0755) %{_bindir}/* %changelog