357 lines
12 KiB
RPMSpec
357 lines
12 KiB
RPMSpec
|
%define repodir %{_javadir}/repository.jboss.com/apache-xalan/%{version}-brew
|
||
|
%define repodirlib %{repodir}/lib
|
||
|
%define repodirsrc %{repodir}/src
|
||
|
%define pkgver %(echo %version | tr . _)
|
||
|
Name: xalan-j2
|
||
|
Version: 2.7.1
|
||
|
Release: 6mamba
|
||
|
Summary: Java XSLT processor
|
||
|
Group: Applications/Publishing
|
||
|
Vendor: openmamba
|
||
|
Distribution: openmamba
|
||
|
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
|
||
|
URL: http://xml.apache.org/xalan-j/
|
||
|
Source0: ftp://mirror.nohup.it/apache/xml/xalan-j/source/xalan-j_%{pkgver}-src.zip
|
||
|
Source1: java-component-info7.xml
|
||
|
Source2: xalan-j2-2.7.1-serializer-OSGi-MANIFEST.MF
|
||
|
Patch0: xalan-j2-2.7.0-noxsltcdeps.patch
|
||
|
Patch1: xalan-j2-2.7.0-manifest.patch
|
||
|
Patch2: xalan-j2-2.7.0-crosslink.patch
|
||
|
#This patch uses xalan-j2-serializer.jar in the MANIFEST files instead of serializer
|
||
|
Patch3: xalan-j2-2.7.0-MANIFEST-MF.patch
|
||
|
Patch4: xalan-j2-2.7.1-maxmemory.patch
|
||
|
#Patch5: xalan-j2-2.7.1-pdfdoc.patch
|
||
|
License: Apache Software License 1.1, Apache Software License 2.0, W3C
|
||
|
BuildRequires: apache-ant
|
||
|
%if "%{stage1}" != "1"
|
||
|
BuildRequires: apache-tomcat5-servletapi5
|
||
|
BuildRequires: xerces-j2
|
||
|
BuildRequires: jakarta-regexp
|
||
|
BuildRequires: java-lex
|
||
|
BuildRequires: apache-xml-stylebook
|
||
|
%endif
|
||
|
BuildRequires: jakarta-bcel
|
||
|
BuildRequires: coreutils
|
||
|
BuildRequires: java_cup
|
||
|
BuildRequires: xml-commons-apis
|
||
|
|
||
|
#BuildRequires: apache-batik
|
||
|
#BuildRequires: apache-fop == 0.95
|
||
|
#BuildRequires: jakarta-commons-logging
|
||
|
#BuildRequires: java-dom
|
||
|
#BuildRequires: java-excalibur-avalon-framework
|
||
|
#BuildRequires: xmlgraphics-commons == 1.3.1
|
||
|
|
||
|
%if "%{stage1}" != "1"
|
||
|
Requires: apache-tomcat5-servletapi5
|
||
|
Requires: apache-xml-stylebook
|
||
|
%endif
|
||
|
Requires: coreutils
|
||
|
BuildRoot: %{_tmppath}/%{name}-%{version}-root
|
||
|
|
||
|
%description
|
||
|
Xalan is an XSLT processor for transforming XML documents into HTML, text, or other XML document types. It implements the W3C Recommendations for XSL Transformations (XSLT) and the XML Path Language (XPath). It can be used from the command line, in an applet or a servlet, or as a module in other program.
|
||
|
|
||
|
%package xsltc
|
||
|
Group: Applications/Publishing
|
||
|
Summary: XSLT compiler
|
||
|
Requires: jakarta-bcel
|
||
|
%if "%{stage1}" != "1"
|
||
|
Requires: jakarta-regexp
|
||
|
Requires: java-lex
|
||
|
%endif
|
||
|
Requires: java_cup
|
||
|
|
||
|
%description xsltc
|
||
|
The XSLT Compiler is a Java-based tool for compiling XSLT stylesheets into lightweight and portable Java byte codes called translets.
|
||
|
|
||
|
%package manual
|
||
|
Group: Documentation
|
||
|
Summary: Manual for %{name}
|
||
|
Requires: %{name}-javadoc = %{version}-%{release}
|
||
|
|
||
|
%description manual
|
||
|
Xalan is an XSLT processor for transforming XML documents into HTML, text, or other XML document types.
|
||
|
|
||
|
This package contains documentation for %{name}.
|
||
|
|
||
|
%package javadoc
|
||
|
Group: Documentation
|
||
|
Summary: Javadoc for %{name}
|
||
|
|
||
|
%description javadoc
|
||
|
Xalan is an XSLT processor for transforming XML documents into HTML, text, or other XML document types.
|
||
|
|
||
|
This package contains javadoc for %{name}.
|
||
|
|
||
|
%package demo
|
||
|
Group: Applications/Publishing
|
||
|
Summary: Demo for %{name}
|
||
|
Requires: %{name} = %{version}-%{release}
|
||
|
%if "%{stage1}" != "1"
|
||
|
Requires: apache-tomcat5-servletapi5
|
||
|
%endif
|
||
|
|
||
|
%description demo
|
||
|
Xalan is an XSLT processor for transforming XML documents into HTML, text, or other XML document types.
|
||
|
|
||
|
This package contains demonstrations and samples for %{name}.
|
||
|
|
||
|
%package repolib
|
||
|
Group: Development/Libraries/Java
|
||
|
Summary: Artifacts to be uploaded to a repository library
|
||
|
|
||
|
%description repolib
|
||
|
Xalan is an XSLT processor for transforming XML documents into HTML, text, or other XML document types.
|
||
|
|
||
|
This package contains artifacts to be uploaded to a repository library.
|
||
|
This package is not meant to be installed but so its contents can be extracted through rpm2cpio
|
||
|
|
||
|
%prep
|
||
|
%setup -q -n xalan-j_%{pkgver}
|
||
|
%patch0 -p1
|
||
|
%patch1 -p1
|
||
|
%patch2 -p1
|
||
|
%patch3 -p1
|
||
|
%patch4
|
||
|
|
||
|
#%patch5
|
||
|
#%patch6
|
||
|
|
||
|
for j in $(find . -name "*.jar"); do
|
||
|
mv $j $j.no
|
||
|
done
|
||
|
|
||
|
pushd lib
|
||
|
ln -sf $(build-classpath java_cup-runtime) runtime.jar
|
||
|
ln -sf $(build-classpath bcel) BCEL.jar
|
||
|
%if "%{stage1}" != "1"
|
||
|
ln -sf $(build-classpath xerces-j2) xercesImpl.jar
|
||
|
ln -sf $(build-classpath regexp) regexp.jar
|
||
|
%endif
|
||
|
ln -sf $(build-classpath xml-commons-apis) xml-apis.jar
|
||
|
popd
|
||
|
|
||
|
mkdir -p bin
|
||
|
%if "%{stage1}" != "1"
|
||
|
ln -sf $(build-classpath fop) bin/
|
||
|
ln -sf $(build-classpath xml-commons-apis-ext) bin/w3c.jar
|
||
|
%endif
|
||
|
|
||
|
pushd tools
|
||
|
ln -sf $(build-classpath java_cup) java_cup.jar
|
||
|
ln -sf $(build-classpath ant-1.7.1) ant.jar
|
||
|
%if "%{stage1}" != "1"
|
||
|
ln -sf $(build-classpath jlex) JLex.jar
|
||
|
ln -sf $(build-classpath xml-stylebook-1.0) stylebook-1.0-b3_xalan-2.jar
|
||
|
%endif
|
||
|
mv xalan2jdoc.jar.no xalan2jdoc.jar
|
||
|
mv xalan2jtaglet.jar.no xalan2jtaglet.jar
|
||
|
popd
|
||
|
|
||
|
chmod 0755 samples/extensions/sql/*.sh
|
||
|
|
||
|
%build
|
||
|
|
||
|
#BUILD_PDF="fop fop-pdf-transcoder fop-hyph fop-sandbox fop-transcoder-allinone jdom batik-all commons-logging xmlgraphics-commons excalibur/avalon-framework" $BUILD_PDF
|
||
|
|
||
|
export JAVA_HOME=%{_jvmdir}/jdk ANT_OPTS="-Xmx1024m -Djava.awt.headless=true"
|
||
|
%if "%{stage1}" != "1"
|
||
|
export CLASSPATH=$(build-classpath servletapi5 xml-commons-apis-ext):$JAVA_HOME/lib/tools.jar:build/classes:build/serializer
|
||
|
%endif
|
||
|
ant \
|
||
|
-Dbuild.xalan-interpretive.jar=build/xalan-interpretive.jar \
|
||
|
-Dbin.dir=bin \
|
||
|
-Dapi.j2se=%{_javadocdir}/java \
|
||
|
xalan-interpretive.jar \
|
||
|
xsltc.unbundledjar \
|
||
|
docs \
|
||
|
xsltc.docs \
|
||
|
javadocs \
|
||
|
samples \
|
||
|
%if "%{stage1}" != "1"
|
||
|
servlet
|
||
|
%endif
|
||
|
|
||
|
# \
|
||
|
# printerdocs
|
||
|
# TODO
|
||
|
# printerdocs:
|
||
|
# [echo] NOTICE: requires fop.jar and xml.jar on the classpath
|
||
|
# [java] Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/fop/apps/CommandLine
|
||
|
|
||
|
mkdir -p META-INF
|
||
|
cp -p %{SOURCE2} META-INF/MANIFEST.MF
|
||
|
touch META-INF/MANIFEST.MF
|
||
|
zip -u build/serializer.jar META-INF/MANIFEST.MF
|
||
|
|
||
|
%install
|
||
|
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
|
||
|
|
||
|
mkdir -p %{buildroot}%{_javadir}
|
||
|
install -p -m 644 build/xalan-interpretive.jar \
|
||
|
%{buildroot}%{_javadir}/xalan-j2-interpretive-%{version}.jar
|
||
|
install -p -m 644 build/xsltc.jar \
|
||
|
%{buildroot}%{_javadir}/xsltc-%{version}.jar
|
||
|
install -p -m 644 build/serializer.jar \
|
||
|
%{buildroot}%{_javadir}/xalan-j2-serializer-%{version}.jar
|
||
|
install -p -m 644 build/xalan.jar \
|
||
|
%{buildroot}%{_javadir}/xalan-j2-%{version}.jar
|
||
|
|
||
|
install -p -m 644 build/xalansamples.jar \
|
||
|
%{buildroot}%{_javadir}/xalan-j2-samples.jar
|
||
|
|
||
|
(
|
||
|
cd %{buildroot}%{_javadir}
|
||
|
for jar in *-%{version}*; do
|
||
|
ln -s ${jar} `echo $jar | sed "s|-%{version}||g"`
|
||
|
done
|
||
|
)
|
||
|
|
||
|
mkdir -p %{buildroot}%{_javadocdir}/xalan-j2-%{version}
|
||
|
cp -pr build/docs/apidocs/* %{buildroot}%{_javadocdir}/xalan-j2-%{version}
|
||
|
ln -s xalan-j2-%{version} %{buildroot}%{_javadocdir}/xalan-j2
|
||
|
rm -rf build/docs/apidocs
|
||
|
|
||
|
mkdir -p %{buildroot}%{_datadir}/xalan-j2
|
||
|
cp -pr samples %{buildroot}%{_datadir}/xalan-j2
|
||
|
|
||
|
%if "%{stage1}" != "1"
|
||
|
install -pm 644 build/xalanservlet.war \
|
||
|
%{buildroot}%{_datadir}/xalan-j2/
|
||
|
%endif
|
||
|
|
||
|
#ln -sf $JAVA_HOME/db/lib/derby.jar samples/extensions/sql/derby.jar
|
||
|
#ln -sf $JAVA_HOME/db/lib/derbytools.jar samples/extensions/sql/derbytools.jar
|
||
|
|
||
|
mkdir -p %{buildroot}%{_datadir}/xalan-j2/docs
|
||
|
cp -pr build/docs/* %{buildroot}%{_datadir}/xalan-j2/docs/
|
||
|
|
||
|
(
|
||
|
cd %{buildroot}%{_datadir}/xalan-j2/docs
|
||
|
ln -sf ../../javadoc/xalan-j2-%{version} apidocs
|
||
|
)
|
||
|
|
||
|
sed -i "s|docs/whatsnew.html|../../xalan-j2/docs/whatsnew.html|" readme.html
|
||
|
|
||
|
# jaxp_transform_impl ghost symlink
|
||
|
ln -s %{_sysconfdir}/alternatives \
|
||
|
%{buildroot}%{_javadir}/jaxp_transform_impl.jar
|
||
|
|
||
|
mkdir -p %{buildroot}%{repodir}
|
||
|
mkdir -p %{buildroot}%{repodirlib}
|
||
|
install -pm 644 %{SOURCE1} %{buildroot}%{repodir}/component-info.xml
|
||
|
sed -i "s/@NAME@/apache-xalan-component-info/g" %{buildroot}%{repodir}/component-info.xml
|
||
|
sed -i "s/@ID@/apache-xalan/g" %{buildroot}%{repodir}/component-info.xml
|
||
|
tag=`echo %{name}-%{version}-%{release} | sed 's|\.|_|g'`
|
||
|
sed -i "s/@TAG@/$tag/g" %{buildroot}%{repodir}/component-info.xml
|
||
|
sed -i 's/@VERSION@/%{version}-brew/g' %{buildroot}%{repodir}/component-info.xml
|
||
|
sed -i "s/@LICENSE@/Apache Software License 2.0/g" %{buildroot}%{repodir}/component-info.xml
|
||
|
sed -i "s|@PROJECTHOME@|%{url}|g" %{buildroot}%{repodir}/component-info.xml
|
||
|
sed -i "s/@DESCRIPTION@/Xalan-Java is an XSLT processor for transforming XML documents/g" %{buildroot}%{repodir}/component-info.xml
|
||
|
sed -i "s/@COMPONENTREF@/apache-xerces/g" %{buildroot}%{repodir}/component-info.xml
|
||
|
sed -i "s/@VERSION_COMPONENTREF1@/2.9.1/g" %{buildroot}%{repodir}/component-info.xml
|
||
|
sed -i "s/@VERSION_COMPONENTREF2@/2.9.1-brew/g" %{buildroot}%{repodir}/component-info.xml
|
||
|
sed -i "s/@ARTIFACTID1@/xalan.jar/g" %{buildroot}%{repodir}/component-info.xml
|
||
|
sed -i "s/@ARTIFACTID2@/serializer.jar/g" %{buildroot}%{repodir}/component-info.xml
|
||
|
sed -i "s/@INCLUDEINPUT1@/xalan.jar/g" %{buildroot}%{repodir}/component-info.xml
|
||
|
sed -i "s/@INCLUDEINPUT2@/serializer.jar/g" %{buildroot}%{repodir}/component-info.xml
|
||
|
mkdir -p %{buildroot}%{repodirsrc}
|
||
|
install -pm 644 %{PATCH0} %{buildroot}%{repodirsrc}
|
||
|
install -pm 644 %{PATCH1} %{buildroot}%{repodirsrc}
|
||
|
install -pm 644 %{PATCH2} %{buildroot}%{repodirsrc}
|
||
|
install -pm 644 %{PATCH3} %{buildroot}%{repodirsrc}
|
||
|
install -pm 644 %{SOURCE0} %{buildroot}%{repodirsrc}
|
||
|
cp -p %{buildroot}%{_javadir}/xalan-j2-serializer-%{version}.jar %{buildroot}%{repodirlib}/serializer.jar
|
||
|
cp -p %{buildroot}%{_javadir}/xalan-j2-%{version}.jar %{buildroot}%{repodirlib}/xalan.jar
|
||
|
|
||
|
#%{_bindir}/aot-compile-rpm --exclude %{_datadir}/xalan-j2/xalan-j2-servlet.war
|
||
|
|
||
|
%clean
|
||
|
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
|
||
|
|
||
|
%post
|
||
|
update-alternatives --install %{_javadir}/jaxp_transform_impl.jar jaxp_transform_impl %{_javadir}/xalan-j2.jar 30
|
||
|
|
||
|
%preun
|
||
|
{
|
||
|
[ $1 = 0 ] || exit 0
|
||
|
update-alternatives --remove jaxp_transform_impl %{_javadir}/xalan-j2.jar
|
||
|
} >/dev/null 2>&1 || :
|
||
|
|
||
|
%files
|
||
|
%defattr(-,root,root)
|
||
|
%{_javadir}/xalan-j2-%{version}.jar
|
||
|
%{_javadir}/xalan-j2.jar
|
||
|
%{_javadir}/xalan-j2-interpretive-%{version}.jar
|
||
|
%{_javadir}/xalan-j2-interpretive.jar
|
||
|
%{_javadir}/xalan-j2-serializer-%{version}.jar
|
||
|
%{_javadir}/xalan-j2-serializer.jar
|
||
|
%{_javadir}/xalan-j2-samples.jar
|
||
|
%ghost %{_javadir}/jaxp_transform_impl.jar
|
||
|
%doc KEYS LICENSE.txt NOTICE.txt readme.html
|
||
|
|
||
|
%files javadoc
|
||
|
%defattr(-,root,root)
|
||
|
%{_javadocdir}/xalan-j2-%{version}
|
||
|
%{_javadocdir}/xalan-j2
|
||
|
|
||
|
%files xsltc
|
||
|
%defattr(-,root,root)
|
||
|
%{_javadir}/xsltc-%{version}.jar
|
||
|
%{_javadir}/xsltc.jar
|
||
|
|
||
|
%files manual
|
||
|
%defattr(-,root,root)
|
||
|
%doc %{_datadir}/xalan-j2/docs
|
||
|
|
||
|
%files demo
|
||
|
%defattr(-,root,root)
|
||
|
%if "%{stage1}" != "1"
|
||
|
%{_datadir}/xalan-j2/*.war
|
||
|
%endif
|
||
|
%{_datadir}/xalan-j2/samples
|
||
|
|
||
|
%files repolib
|
||
|
%defattr(-,root,root)
|
||
|
%{repodir}
|
||
|
|
||
|
%changelog
|
||
|
* Wed Mar 23 2011 gil <puntogil@libero.it> 2.7.1-6mamba
|
||
|
- rebuilt with java-openjdk support
|
||
|
|
||
|
* Tue Mar 09 2010 gil <puntogil@libero.it> 2.7.1-5mamba
|
||
|
- fix java.lang.OutOfMemoryError during javadocs task
|
||
|
|
||
|
* Tue Nov 24 2009 gil <puntogil@libero.it> 2.7.1-4mamba
|
||
|
- rebuilt
|
||
|
- added new sub package: repolib
|
||
|
|
||
|
* Fri Mar 13 2009 gil <puntogil@libero.it> 2.7.1-3mamba
|
||
|
- rebuilt with new xerces-j2
|
||
|
|
||
|
* Mon Mar 09 2009 gil <puntogil@libero.it> 2.7.1-2mamba
|
||
|
- added tomcat support
|
||
|
|
||
|
* Sat Mar 07 2009 gil <puntogil@libero.it> 2.7.1-1mamba
|
||
|
- update to 2.7.1
|
||
|
|
||
|
* Fri Feb 27 2009 gil <puntogil@libero.it> 2.7.0-6mamba
|
||
|
- rebuilt
|
||
|
|
||
|
* Thu Feb 26 2009 gil <puntogil@libero.it> 2.7.0-5mamba
|
||
|
- rebuilt with new xerces-j2
|
||
|
|
||
|
* Wed Feb 25 2009 gil <puntogil@libero.it> 2.7.0-4mamba
|
||
|
- fixed some errors
|
||
|
|
||
|
* Tue Feb 24 2009 gil <puntogil@libero.it> 2.7.0-3mamba
|
||
|
- rebuilt with system xerces-j2
|
||
|
- todo: tomcat support
|
||
|
|
||
|
* Tue Feb 24 2009 gil <puntogil@libero.it> 2.7.0-1mamba
|
||
|
- update to 2.7.0
|
||
|
|
||
|
* Mon Dec 22 2008 gil <puntogil@libero.it> 2.7.1-1mamba
|
||
|
- package created by autospec
|