%global reldate 20101029 Name: apache-poi Version: 3.7 Release: 3%{?dist} Summary: The Java API for Microsoft Documents Group: Development/Libraries License: ASL 2.0 URL: http://poi.apache.org/ Source0: http://www.apache.org/dist/poi/release/src/poi-src-%{version}-%{reldate}.tar.gz Source1: http://www.ecma-international.org/publications/files/ECMA-ST/Office%20Open%20XML%201st%20edition%20Part%204%20(PDF).zip Source2: http://repo2.maven.org/maven2/org/apache/poi/poi/3.7/poi-3.7.pom.xml #Force compile of xsds if disconnected Patch1: %{name}-3.7-compile-xsds.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch BuildRequires: jpackage-utils BuildRequires: java-devel >= 1:1.6.0 BuildRequires: ant-junit BuildRequires: dom4j BuildRequires: apache-commons-logging BuildRequires: junit #Fonts for testing BuildRequires: liberation-sans-fonts liberation-serif-fonts BuildRequires: log4j BuildRequires: xmlbeans Requires: jpackage-utils Requires: java >= 1:1.6.0 Requires: dom4j Requires: apache-commons-logging Requires: log4j Requires: xmlbeans %description The Apache POI Project's mission is to create and maintain Java APIs for manipulating various file formats based upon the Office Open XML standards (OOXML) and Microsoft's OLE 2 Compound Document format (OLE2). In short, you can read and write MS Excel files using Java. In addition, you can read and write MS Word and MS PowerPoint files using Java. Apache POI is your Java Excel solution (for Excel 97-2008). We have a complete API for porting other OOXML and OLE2 formats and welcome others to participate. OLE2 files include most Microsoft Office files such as XLS, DOC, and PPT as well as MFC serialization API based file formats. The project provides APIs for the OLE2 Filesystem (POIFS) and OLE2 Document Properties (HPSF). Office OpenXML Format is the new standards based XML file format found in Microsoft Office 2007 and 2008. This includes XLSX, DOCX and PPTX. The project provides a low level API to support the Open Packaging Conventions using openxml4j. For each MS Office application there exists a component module that attempts to provide a common high level Java API to both OLE2 and OOXML document formats. This is most developed for Excel workbooks (SS=HSSF+XSSF). Work is progressing for Word documents (HWPF+XWPF) and PowerPoint presentations (HSLF+XSLF). The project has recently added support for Outlook (HSMF). Microsoft opened the specifications to this format in October 2007. We would welcome contributions. There are also projects for Visio (HDGF) and Publisher (HPBF). %package javadoc Summary: Javadocs for %{name} Group: Documentation Requires: jpackage-utils %description javadoc This package contains the API documentation for %{name}. %package manual Summary: Manual for %{name} Group: Documentation Requires: jpackage-utils Requires: %{name}-javadoc = %{version}-%{release} %description manual The manual for %{name}. %prep %setup -q -n poi-%{version} %patch1 -p1 -b .compile-xsds find -name '*.class' -exec rm -f '{}' \; find -name '*.jar' -exec rm -f '{}' \; mkdir lib ooxml-lib build-jar-repository -s -p lib commons-logging junit log4j build-jar-repository -s -p ooxml-lib dom4j xmlbeans/xbean #Unpack the XMLSchema pushd ooxml-lib unzip "%SOURCE1" OfficeOpenXML-XMLSchema.zip popd %build cat > build.properties <<'EOF' main.commons-logging.jar=lib/commons-logging.jar main.log4j.jar=lib/log4j.jar main.junit.jar=lib/junit.jar ooxml.dom4j.jar=ooxml-lib/dom4j.jar ooxml.xmlbeans.jar=ooxml-lib/xmlbeans_xbean.jar disconnected=1 DSTAMP=%{reldate} EOF export ANT_OPTS="-Xmx768m" ant -propertyfile build.properties compile-ooxml-xsds jar %install rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT%{_javadir}/poi for jar in poi poi-examples poi-ooxml poi-ooxml-schemas poi-scratchpad do cp -p build/dist/${jar}-%{version}-%{reldate}.jar \ $RPM_BUILD_ROOT%{_javadir}/poi/apache-${jar}.jar ln -s apache-${jar}.jar $RPM_BUILD_ROOT%{_javadir}/poi/${jar}.jar done #pom mkdir -p $RPM_BUILD_ROOT%{_datadir}/maven2/poms cp -p %SOURCE2 $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP-poi.pom %add_to_maven_depmap org.apache.poi poi %{version} JPP/poi poi #javadoc mkdir -p $RPM_BUILD_ROOT%{_javadocdir} cp -pr docs/apidocs $RPM_BUILD_ROOT%{_javadocdir}/%{name} #Don't copy for manual rm -rf docs/apidocs #manual - Link to javadoc location ln -s ../../javadoc/%{name}-%{version} docs/apidocs %check ant -propertyfile build.properties test %clean rm -rf $RPM_BUILD_ROOT %post %update_maven_depmap %postun %update_maven_depmap %files %defattr(-,root,root,-) %doc KEYS LICENSE NOTICE %{_javadir}/poi/ %{_mavendepmapfragdir}/* %{_datadir}/maven2/poms/JPP-poi.pom %files javadoc %defattr(-,root,root,-) %doc LICENSE %{_javadocdir}/%{name} %files manual %defattr(-,root,root,-) %doc LICENSE docs/* %changelog * Tue Dec 21 2010 Alexander Kurtakov <akurtako@redhat.com> 3.7-3 - No poi-contrib.jar. * Tue Dec 21 2010 Alexander Kurtakov <akurtako@redhat.com> 3.7-2 - Url encode the source. * Mon Dec 6 2010 Orion Poplawski <orion@cora.nwra.com> - 3.7-1 - Update to 3.7 final * Mon Nov 8 2010 Orion Poplawski <orion@cora.nwra.com> - 3.7-0.5.beta3 - Add pom * Mon Nov 1 2010 Orion Poplawski <orion@cora.nwra.com> - 3.7-0.4.beta3 - Fix manual package * Wed Oct 27 2010 Orion Poplawski <orion@cora.nwra.com> - 3.7-0.3.beta3 - Update to 3.7 beta3 - Add more Requires * Wed Sep 1 2010 Orion Poplawski <orion@cora.nwra.com> - 3.7-0.2.beta2 - Update to 3.7 beta2 * Fri Jun 25 2010 Orion Poplawski <orion@cora.nwra.com> - 3.7-0.1.beta1 - Update to 3.7 beta1 - Rebase compile-xsds patch * Fri Jun 25 2010 Orion Poplawski <orion@cora.nwra.com> - 3.6-1 - Initial Fedora package