LogoopenSUSE Build Service > Projects
Sign Up | Log In

View File saxon8.spec of Package saxon8 (Project Java:packages)

#
# spec file for package saxon8 (Version B.8.8)
#
# Copyright (c) 2009 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/
#


%define section free
%define resolverdir %{_sysconfdir}/java/resolver
%define stdname saxon8
Summary:        Java Basic XPath 2.0, XSLT 2.0, and XQuery 1.0 implementation

Name:           saxon8
Version:        B.8.8
Release:        107
License:        MPL-1.1
Group:          Development/Languages/Other
Url:            http://saxon.sourceforge.net/
Source0:        http://download.sf.net/saxon/saxon-resources8-8.tar.bz2
Source1:        %{name}.saxon.script
Source2:        %{name}.saxonq.script
Source3:        %{name}.build.script
Source4:        %{stdname}.1
Source5:        %{stdname}q.1
BuildRequires:  jpackage-utils >= 1.6
BuildRequires:  bea-stax-api
BuildRequires:  xml-commons-apis
BuildRequires:  xom
BuildRequires:  jdom >= 1.0-0.b7
%if ! %defined suse_version
BuildRequires:  java-javadoc
BuildRequires:  jdom-javadoc >= 1.0-0.b9.3jpp
%else
BuildRequires:  java-devel
BuildRequires:  unzip
BuildRequires:  ant
%endif
Requires:       bea-stax-api
Requires:       bea-stax
Requires:       jaxp_parser_impl
Requires:       /usr/sbin/update-alternatives
Provides:       jaxp_transform_impl
BuildArch:      noarch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
Release 8.6 represents an important milestone in Saxonica's progressive
implementation of the XPath 2.0, XSLT 2.0, and XQuery 1.0
specifications. Saxon 8.6 is aligned with the W3C Candidate
Recommendation published on 3 November 2005. It is a complete and
conformant implementation, providing all the mandatory features of
those specifications and nearly all the optional features. Saxon is
available in two versions. Saxon-B is a non-schema-aware processor, and
is available as an open-source product, free of charge, from
SourceForge. It is designed to conform to the basic conformance level
of XSLT 2.0, and the equivalent level of functionality in XQuery 1.0.
Saxon-SA is the schema-aware version of the package, and is available
as a commercially supported product from Saxonica Limited.

This package provides the Basic XSLT 2.0 and XQuery 1.0 processor.
Includes the command line interfaces and the JAVA APIs; also includes a
standalone XPath API that doesn't depend on JAXP 1.3.



%package        manual
License:        MPL-1.1
Summary:        Manual for saxon8.
Group:          Development/Languages/Other

%description    manual
Manual for saxon8.



%package        javadoc
License:        MPL-1.1
Summary:        Javadoc for saxon8.
Group:          Development/Languages/Other

%description    javadoc
Javadoc for saxon8.



%package        demo
License:        MPL-1.1
Summary:        Demos for saxon8
Group:          Development/Languages/Other
Requires:       %{name} = %{version}-%{release}

%description    demo
Demonstrations and samples for saxon8.



%package        sql
License:        MPL-1.1
Summary:        SQL support for saxon8.
Group:          Development/Languages/Other
Requires:       %{name} = %{version}-%{release}

%description    sql
Supports XSLT extensions for accessing and updating a relational
database from within a stylesheet.



%package        jdom
License:        MPL-1.1
Summary:        JDOM support for saxon8
Group:          Development/Languages/Other
Requires:       %{name} = %{version}-%{release}
Requires:       jdom >= 1.0-0.b7

%description    jdom
Provides additional classes enabling Saxon to be used with JDOM trees.
Supports using a JDOM document as the input or output of
transformations and queries. Requires jdom.jar on the classpath.



%package        dom
License:        MPL-1.1
Summary:        DOM support for saxon8
Group:          Development/Languages/Other
Requires:       %{name} = %{version}-%{release}
#Requires:       jdom >= 0:1.0-0.b7

%description    dom
Provides additional classes enabling Saxon to be used with the DOM
Document Object Model. Supports using a DOM as the input or output of
transformations and queries, and calling extension functions that use
DOM interfaces to access a Saxon tree structure. Requires DOM level 3
(dom.jar, part of JAXP 1.3) to be on the classpath, if not running
under JDK 1.5.



%package        xom
License:        MPL-1.1
Summary:        XOM support for saxon8.
Group:          Development/Languages/Other
Requires:       %{name} = %{version}-%{release}
Requires:       xom

%description    xom
Provides additional classes enabling Saxon to be used with XOM trees.
Supports using a XOM document as the input or output of transformations
and queries. Requires xom.jar on the classpath.



%package        xpath
License:        MPL-1.1
Summary:        XPATH support for saxon8.
Group:          Development/Languages/Other
Requires:       %{name} = %{version}-%{release}

%description    xpath
Provides support for the JAXP 1.3 XPath API. Requires the JAXP 1.3
version of jaxp-api.jar on the classpath, if not running under JDK 1.5.



%package        scripts
License:        MPL-1.1
Summary:        Utility scripts for saxon8.
Group:          Development/Languages/Other
Requires:       jpackage-utils >= 1.5
Requires:       %{name} = %{version}-%{release}

%description    scripts
Utility scripts for saxon8.



%prep
%setup -q -c
mkdir src
(cd src
unzip -q ../source.zip
find . -name CVS -exec rm -rf {} \;
# Clean up .NET classes
rm -rf net/sf/saxon/dotnet/)
cp -p %{SOURCE3} ./build.xml
# cleanup unnecessary stuff we'll build ourselves
rm -rf docs/api
#find . -name "*.jar" -exec rm {} \;
for j in $(find . -name "*.jar"); do
	mv $j $j.no
done
#remove a crap
# rm samples/query/tour.xq.bak
# rm samples/styles/play.xsl.bak

%build
export CLASSPATH=%(build-classpath xml-commons-apis jdom xom bea-stax-api)
ant \
  -Dj2se.javadoc=%{_javadocdir}/java \
  -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/%{stdname}.jar $RPM_BUILD_ROOT%{_javadir}/%{stdname}-%{version}.jar
cp -p build/lib/%{stdname}-xpath.jar $RPM_BUILD_ROOT%{_javadir}/%{stdname}-xpath-%{version}.jar
cp -p build/lib/%{stdname}-xom.jar $RPM_BUILD_ROOT%{_javadir}/%{stdname}-xom-%{version}.jar
cp -p build/lib/%{stdname}-sql.jar $RPM_BUILD_ROOT%{_javadir}/%{stdname}-sql-%{version}.jar
cp -p build/lib/%{stdname}-jdom.jar $RPM_BUILD_ROOT%{_javadir}/%{stdname}-jdom-%{version}.jar
cp -p build/lib/%{stdname}-dom.jar $RPM_BUILD_ROOT%{_javadir}/%{stdname}-dom-%{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}/%{stdname}
sed 's,__RESOLVERDIR__,%{resolverdir},' < %{SOURCE2} \
  > $RPM_BUILD_ROOT%{_bindir}/%{stdname}q
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1
sed 's,__RESOLVERDIR__,%{resolverdir},' < %{SOURCE4} \
  > $RPM_BUILD_ROOT%{_mandir}/man1/%{stdname}.1
sed 's,__RESOLVERDIR__,%{resolverdir},' < %{SOURCE5} \
  > $RPM_BUILD_ROOT%{_mandir}/man1/%{stdname}q.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

%clean
rm -rf $RPM_BUILD_ROOT

%post
update-alternatives --install %{_javadir}/jaxp_transform_impl.jar \
  jaxp_transform_impl %{_javadir}/%{stdname}.jar 25

%preun
{
  [ $1 -eq 0 ] || exit 0
  update-alternatives --remove jaxp_transform_impl %{_javadir}/%{stdname}.jar
} >/dev/null 2>&1 || :

%post javadoc
rm -f %{_javadocdir}/%{name}
ln -s %{name}-%{version} %{_javadocdir}/%{name}

%files
%defattr(0644,root,root,0755)
%{_javadir}/%{stdname}.jar
%{_javadir}/%{stdname}-%{version}.jar
%ghost %{_javadir}/jaxp_transform_impl.jar

%files xpath
%defattr(0644,root,root,0755)
%{_javadir}/%{stdname}-xpath*

%files xom
%defattr(0644,root,root,0755)
%{_javadir}/%{stdname}-xom*

%files sql
%defattr(0644,root,root,0755)
%{_javadir}/%{stdname}-sql*

%files jdom
%defattr(0644,root,root,0755)
%{_javadir}/%{stdname}-jdom*

%files dom
%defattr(0644,root,root,0755)
%{_javadir}/%{stdname}-dom*

%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}/%{stdname}
%{_bindir}/%{stdname}q
%attr(0644,root,root) %{_mandir}/man1/%{stdname}.1*
%attr(0644,root,root) %{_mandir}/man1/%{stdname}q.1*

%changelog
* Mon Mar 10 2008 anosek@suse.cz
- made separate package for Saxon 8.x, saxon package will hold
  Saxon 6.x series
- initial version 8.8, based on JPackage project