%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 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 2.7.1-6mamba - rebuilt with java-openjdk support * Tue Mar 09 2010 gil 2.7.1-5mamba - fix java.lang.OutOfMemoryError during javadocs task * Tue Nov 24 2009 gil 2.7.1-4mamba - rebuilt - added new sub package: repolib * Fri Mar 13 2009 gil 2.7.1-3mamba - rebuilt with new xerces-j2 * Mon Mar 09 2009 gil 2.7.1-2mamba - added tomcat support * Sat Mar 07 2009 gil 2.7.1-1mamba - update to 2.7.1 * Fri Feb 27 2009 gil 2.7.0-6mamba - rebuilt * Thu Feb 26 2009 gil 2.7.0-5mamba - rebuilt with new xerces-j2 * Wed Feb 25 2009 gil 2.7.0-4mamba - fixed some errors * Tue Feb 24 2009 gil 2.7.0-3mamba - rebuilt with system xerces-j2 - todo: tomcat support * Tue Feb 24 2009 gil 2.7.0-1mamba - update to 2.7.0 * Mon Dec 22 2008 gil 2.7.1-1mamba - package created by autospec