File saxon.spec of Package saxon
#
# spec file for package saxon (Version 6.5.5)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define gcj_support %{?_with_gcj_support:1}%{!?_with_gcj_support:%{?_without_gcj_support:0}%{!?_without_gcj_support:%{?_gcj_support:%{_gcj_support}}%{!?_gcj_support:0}}}
%define section free
%define resolverdir %{_sysconfdir}/java/resolver
Summary: The SAXON XSLT Processor from Michael Kay
Name: saxon
Version: 6.5.5
Release: 1
License: MOZILLA PUBLIC LICENSE (MPL/NPL)
Group: Productivity/Publishing/XML
Url: http://saxon.sourceforge.net/
Source0: http://download.sf.net/saxon/saxon6-5-5.zip
Source1: %{name}.saxon.script
Source2: %{name}.build.script
Source3: %{name}.1
Patch2: %{name}-cmdlinefix.patch
BuildRequires: jpackage-utils >= 1.6
BuildRequires: xml-commons-apis
BuildRequires: jdom >= 1.0
BuildRequires: fop >= 0.20.1
%if ! %defined suse_version
BuildRequires: java-javadoc
BuildRequires: jdom-javadoc >= 1.0
BuildRequires: fop-javadoc
%else
BuildRequires: java-devel
BuildRequires: unzip
BuildRequires: ant
%endif
Requires: jaxp_parser_impl
Requires: /usr/sbin/update-alternatives
Provides: jaxp_transform_impl
%if ! %{gcj_support}
BuildArch: noarch
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if %{gcj_support}
BuildRequires: gnu-crypto
BuildRequires: java-gcj-compat-devel
Requires(post): java-gcj-compat
Requires(postun): java-gcj-compat
%endif
%description
The SAXON package is a collection of tools for processing XML
documents. The main components are:
* An XSLT processor, which implements the Version 1.0 XSLT and XPath
Recommendations from the World Wide Web Consortium, found at
http://www.w3.org/TR/1999/REC-xslt-19991116 and
http://www.w3.org/TR/1999/REC-xpath-19991116 with a number of
powerful extensions. This version of Saxon also includes many of
the new features defined in the XSLT 1.1 working draft, but for
conformance and portability reasons these are not available if
the stylesheet header specifies version="1.0".
* A Java library, which supports a similar processing model to XSL,
but allows full programming capability, which you need if you
want to perform complex processing of the data or to access
external services such as a relational database
* A slightly improved version of the Aelfred parser from Microstar.
(But you can use SAXON with any SAX-compliant XML parser if you
prefer).
So you can use SAXON by writing XSLT stylesheets, by writing Java
applications, or by any combination of the two.
Authors:
--------
Michael H. Kay <mhkay@iclway.co.uk>
%package aelfred
Summary: Java XML parser
Group: Productivity/Publishing/XML
#Provides: jaxp_parser_impl
#Requires: /usr/sbin/update-alternatives
Requires: xml-commons-apis
%description aelfred
A slightly improved version of the AElfred Java XML parser from
Microstar.
Authors:
--------
Michael H. Kay <mhkay@iclway.co.uk>
%package manual
Summary: Manual for saxon
Group: Productivity/Publishing/XML
%description manual
Manual for saxon.
Authors:
--------
Michael H. Kay <mhkay@iclway.co.uk>
%package javadoc
Summary: Javadoc for saxon
Group: Productivity/Publishing/XML
Requires(post): /bin/rm,/bin/ln
Requires(postun): /bin/rm
%description javadoc
Javadoc for saxon.
Authors:
--------
Michael H. Kay <mhkay@iclway.co.uk>
%package demo
Summary: Demos for saxon
Group: Productivity/Publishing/XML
Requires: %{name} = %{version}-%{release}
%description demo
Demonstrations and samples for saxon.
Authors:
--------
Michael H. Kay <mhkay@iclway.co.uk>
%package fop
Summary: FOP support for saxon
Group: Productivity/Publishing/XML
Requires: %{name} = %{version}-%{release}
Requires: fop >= 0.20.1
%description fop
FOP support for saxon.
Authors:
--------
Michael H. Kay <mhkay@iclway.co.uk>
%package jdom
Summary: JDOM support for saxon
Group: Productivity/Publishing/XML
Requires: %{name} = %{version}-%{release}
Requires: jdom >= 1.0
%description jdom
JDOM support for saxon.
Authors:
--------
Michael H. Kay <mhkay@iclway.co.uk>
%package scripts
Summary: Utility scripts for saxon
Group: Productivity/Publishing/XML
Requires: jpackage-utils >= 1.6
Requires: %{name} = %{version}-%{release}
%description scripts
Utility scripts for saxon.
Authors:
--------
Michael H. Kay <mhkay@iclway.co.uk>
%prep
%setup -q -c
unzip -q source.zip
cp -p %{SOURCE2} ./build.xml
%patch2 -p0
# cleanup unnecessary stuff we'll build ourselves
rm -rf *.jar docs/api
%build
export CLASSPATH=%(build-classpath xml-commons-apis fop jdom)
ant \
-Dj2se.javadoc=%{_javadocdir}/java \
-Dfop.javadoc=%{_javadocdir}/fop \
-Djdom.javadoc=%{_javadocdir}/jdom \
-Dant.build.javac.source=1.4 -Dant.build.javac.target=1.4
%install
rm -rf $RPM_BUILD_ROOT
# jars
mkdir -p $RPM_BUILD_ROOT%{_javadir}
cp -p build/lib/%{name}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar
cp -p build/lib/%{name}-aelfred.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-aelfred-%{version}.jar
cp -p build/lib/%{name}-fop.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-fop-%{version}.jar
cp -p build/lib/%{name}-jdom.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-jdom-%{version}.jar
(cd $RPM_BUILD_ROOT%{_javadir} && for jar in *-%{version}*; do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`; done)
# javadoc
mkdir -p $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
cp -pr build/api/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name}
# demo
mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}
cp -pr samples/* $RPM_BUILD_ROOT%{_datadir}/%{name}
# scripts
mkdir -p $RPM_BUILD_ROOT%{_bindir}
sed 's,__RESOLVERDIR__,%{resolverdir},' < %{SOURCE1} \
> $RPM_BUILD_ROOT%{_bindir}/%{name}
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1
sed 's,__RESOLVERDIR__,%{resolverdir},' < %{SOURCE3} \
> $RPM_BUILD_ROOT%{_mandir}/man1/%{name}.1
# jaxp_transform_impl ghost symlink
ln -s %{_sysconfdir}/alternatives \
$RPM_BUILD_ROOT%{_javadir}/jaxp_transform_impl.jar
# jaxp_parser_impl ghost symlink
#ln -s %{_sysconfdir}/alternatives \
# $RPM_BUILD_ROOT%{_javadir}/jaxp_parser_impl.jar
%if %{gcj_support}
export CLASSPATH=$(build-classpath gnu-crypto)
%{_bindir}/aot-compile-rpm
%endif
%clean
rm -rf $RPM_BUILD_ROOT
%post
update-alternatives --install %{_javadir}/jaxp_transform_impl.jar \
jaxp_transform_impl %{_javadir}/%{name}.jar 25
%if %{gcj_support}
if [ -x %{_bindir}/rebuild-gcj-db ]
then
%{_bindir}/rebuild-gcj-db
fi
%endif
%if %{gcj_support}
%postun
if [ -x %{_bindir}/rebuild-gcj-db ]
then
%{_bindir}/rebuild-gcj-db
fi
%endif
%preun
{
[ $1 -eq 0 ] || exit 0
update-alternatives --remove jaxp_transform_impl %{_javadir}/%{name}.jar
} >/dev/null 2>&1 || :
%if %{gcj_support}
%post aelfred
if [ -x %{_bindir}/rebuild-gcj-db ]
then
%{_bindir}/rebuild-gcj-db
fi
%endif
%if %{gcj_support}
%postun aelfred
if [ -x %{_bindir}/rebuild-gcj-db ]
then
%{_bindir}/rebuild-gcj-db
fi
%endif
%if %{gcj_support}
%post fop
if [ -x %{_bindir}/rebuild-gcj-db ]
then
%{_bindir}/rebuild-gcj-db
fi
%endif
%if %{gcj_support}
%postun fop
if [ -x %{_bindir}/rebuild-gcj-db ]
then
%{_bindir}/rebuild-gcj-db
fi
%endif
%if %{gcj_support}
%post jdom
if [ -x %{_bindir}/rebuild-gcj-db ]
then
%{_bindir}/rebuild-gcj-db
fi
%endif
%if %{gcj_support}
%postun jdom
if [ -x %{_bindir}/rebuild-gcj-db ]
then
%{_bindir}/rebuild-gcj-db
fi
%endif
%post javadoc
rm -f %{_javadocdir}/%{name}
ln -s %{name}-%{version} %{_javadocdir}/%{name}
%postun javadoc
if [ "$1" = "0" ]; then
rm -f %{_javadocdir}/%{name}
fi
%files
%defattr(0644,root,root,0755)
%{_javadir}/%{name}.jar
%{_javadir}/%{name}-%{version}.jar
%ghost %{_javadir}/jaxp_transform_impl.jar
%if %{gcj_support}
%dir %attr(-,root,root) %{_libdir}/gcj/%{name}
%attr(-,root,root) %{_libdir}/gcj/%{name}/%{name}-%{version}.jar.*
%endif
%files aelfred
%defattr(0644,root,root,0755)
%{_javadir}/%{name}-aelfred*
#%ghost %{_javadir}/jaxp_parser_impl.jar
%if %{gcj_support}
%attr(-,root,root) %{_libdir}/gcj/%{name}/%{name}-aelfred-%{version}.jar.*
%endif
%files fop
%defattr(0644,root,root,0755)
%{_javadir}/%{name}-fop*
%if %{gcj_support}
%attr(-,root,root) %{_libdir}/gcj/%{name}/%{name}-fop-%{version}.jar.*
%endif
%files jdom
%defattr(0644,root,root,0755)
%{_javadir}/%{name}-jdom*
%if %{gcj_support}
%attr(-,root,root) %{_libdir}/gcj/%{name}/%{name}-jdom-%{version}.jar.*
%endif
%files manual
%defattr(0644,root,root,0755)
%doc doc/*.html
%files javadoc
%defattr(0644,root,root,0755)
%ghost %doc %{_javadocdir}/%{name}
%doc %{_javadocdir}/%{name}-%{version}
%files demo
%defattr(0644,root,root,0755)
%{_datadir}/%{name}
%files scripts
%defattr(0755,root,root,0755)
%{_bindir}/%{name}
%attr(0644,root,root) %{_mandir}/man1/%{name}.1*
%changelog
* Mon Mar 10 2008 anosek@suse.cz
- downgrade to version 6.5.5, moved Saxon 8.x to separate saxon8
package
- based on the JPackage project, dropped two patches
(tinytree.patch) (fragmentval.patch)
- Saxon 6 is needed because, for example, the DocBook stylesheets
have some JAR files which contain extension functions written
only for Saxon 6. These functions provide useful methods for
DocBook processing. However, these are not compatible
with the latest Saxon package.
* Wed Feb 06 2008 anosek@suse.cz
- BuildRequires: java-1.6.0-devel
* Wed May 23 2007 dbornkessel@suse.de
- make rpmllint happy:
- delete windows '\r' from doc files
- index jars
- faster compiling
* Thu Mar 29 2007 dbornkessel@suse.de
- added unzip to build reqs
* Wed Oct 04 2006 dbornkessel@suse.de
- update to saxon 8.8
- build from source (no binary package)
* Tue Mar 21 2006 dbornkessel@suse.de
- removed setJava call in wrapper script (Bug #158699)
* Wed Jan 25 2006 mls@suse.de
- converted neededforbuild to BuildRequires
* Fri Feb 27 2004 pmladek@suse.cz
- updated to the version 6.5.3 [#35119]
* fixes 28 bugs found in Saxon 6.5.2
- added a missing prebuilt optional saxon-fop.jar
- fixed path to saxon jars in README.SuSE
* Tue Feb 24 2004 hmacht@suse.de
- building as non-root
* Mon Nov 25 2002 pmladek@suse.cz
- added the script saxon to use StyleSheets [#21801]
- improved README.SuSE
- classes moved from /usr/lib to /usr/share
* Mon Aug 05 2002 pmladek@suse.cz
- updated to bugfix version 6.5.2
- small improvent in README.SuSE (run setJava with new better option)
* Wed Feb 06 2002 pmladek@suse.cz
- updated to version 6.5:
* fixed number of bugs
* important incompatible change for XSLT conformance reasons
* you can find details on the page:
file:/usr/share/doc/packages/saxon/doc/changes.html
- moved to noarch
* Wed Nov 28 2001 ke@suse.de
- Update to version 6.4.4:
- 20%% performance boost.
- Support JDOM.
- Provide convenience link (/usr/lib/saxon ->
/usr/lib/saxon-%%{version}).
* Wed Nov 21 2001 pmladek@suse.cz
- requires changed from java2 to more universal jre1.3.x
- added README.SuSE
* Wed May 23 2001 ke@suse.de
- Initial SuSE package: Version 6.3; long pending bug partly resolved
[#291].