Name: jasperreports Version: 6.0.3 Release: 2%{?dist} Summary: Report-generating tool License: LGPLv3+ URL: http://jasperforge.org/projects/jasperreports/ # wget http://sourceforge.net/projects/jasperreports/files/jasperreports/JasperReports%206.0.3/jasperreports-6.0.3-project.tar.gz # tar xf jasperreports-6.0.3-project.tar.gz # find jasperreports-6.0.3 -name '*.class' -delete # find jasperreports-6.0.3 -name '*.jar' -delete # find jasperreports-6.0.3/demo/samples -name "*.js" -delete # rm -rf jasperreports-6.0.3/dist/docs jasperreports-6.0.3/lib/* jasperreports-6.0.3/build/classes/* jasperreports-6.0.3/build/javaflow/* # tar cJf jasperreports-6.0.3.tar.xz jasperreports-6.0.3 Source0: %{name}-%{version}.tar.xz # configure javaflow ant task # build fix for commons-javaflow 1.0 Patch0: %{name}-6.0.2-configure_javaflow.patch # exclude Barcode4J and Barbecue modules # http://gil.fedorapeople.org/barcode4j-2.1.0-1.fc20.src.rpm # http://gil.fedorapeople.org/barbecue-1.5-0.1.beta1.fc20.src.rpm Patch1: %{name}-6.0.2-exclude_barcode4j_and_barbecue.patch # exclude Mondrian and Olap4j modules Patch2: %{name}-6.0.3-remove_mondrian_reference.patch # use commons-codec instead of bundle (non free) W3C Base64 decode/encode Patch3: %{name}-6.0.2-use_commons-codec.patch # remove NON FREE iText 5.x support Patch4: %{name}-6.0.2-no_itext5.patch # use old iText 2.x Patch5: %{name}-6.0.3-use_itext2.patch # FIXME # [javac] /builddir/build/BUILD/jasperreports-6.0.3/src/net/sf/jasperreports/compilers/JRGroovyCompiler.java:143: # error: ClassCollector is not abstract and does not override abstract method call(ClassVisitor,ClassNode) in ClassgenCallback # [javac] private static class ClassCollector extends CompilationUnit.ClassgenCallback BuildRequires: java-devel BuildRequires: jpackage-utils BuildRequires: ant BuildRequires: antlr-tool BuildRequires: apache-commons-beanutils BuildRequires: apache-commons-codec BuildRequires: apache-commons-collections BuildRequires: apache-commons-digester BuildRequires: apache-commons-javaflow BuildRequires: apache-commons-lang BuildRequires: apache-commons-logging BuildRequires: apache-poi BuildRequires: batik BuildRequires: bcel BuildRequires: bsh BuildRequires: castor BuildRequires: dom4j BuildRequires: ecj >= 1:3.4.2-13 BuildRequires: geronimo-saaj BuildRequires: groovy BuildRequires: hibernate3 BuildRequires: hibernate-jpa-2.0-api %if %{?fedora} > 19 BuildRequires: hsqldb1 %else BuildRequires: hsqldb %endif BuildRequires: httpcomponents-core BuildRequires: httpcomponents-client BuildRequires: itext-core BuildRequires: jackson-annotations BuildRequires: jackson-core BuildRequires: jackson-databind BuildRequires: jaxen BuildRequires: jcommon BuildRequires: jexcelapi BuildRequires: jfreechart BuildRequires: log4j12 BuildRequires: lucene BuildRequires: lucene-analysis BuildRequires: lucene-queryparser BuildRequires: objectweb-asm BuildRequires: rhino BuildRequires: springframework BuildRequires: springframework-beans BuildRequires: tomcat-servlet-3.0-api BuildRequires: velocity BuildRequires: xalan-j2 BuildRequires: xerces-j2 BuildRequires: xml-commons-apis BuildRequires: xmlbeans Requires: apache-commons-beanutils Requires: apache-commons-codec Requires: apache-commons-collections Requires: apache-commons-digester Requires: apache-commons-javaflow Requires: apache-commons-logging Requires: batik Requires: bcel Requires: castor Requires: ecj >= 1:3.4.2-13 Requires: geronimo-saaj %if %{?fedora} > 19 Requires: hsqldb1 %else Requires: hsqldb %endif Requires: itext-core Requires: jackson-annotations Requires: jackson-core Requires: jackson-databind Requires: jcommon Requires: jfreechart Requires: lucene Requires: lucene-analysis Requires: lucene-queryparser Requires: springframework Requires: springframework-beans Requires: tomcat-servlet-3.0-api Requires: jpackage-utils BuildArch: noarch %description JasperReports is a powerful open source report-generating tool that has the ability to deliver rich content onto the screen, to the printer or into PDF, HTML, XLS, CSV and XML files. It is entirely written in Java and can be used in a variety of Java enabled applications, including J2EE or Web Its main purpose is to help creating page oriented, ready to print documents in a simple and flexible manner. %package javadoc Summary: Javadoc for %{name} %description javadoc This package contains javadoc for %{name}. %package manual Summary: Manual for %{name} %description manual Documentation for %{name}. %prep %setup -q find . -name 'PieChartReport.bak' -delete %patch0 -p0 %patch1 -p1 %patch2 -p1 # ... on arm builder do not apply patch in proper mode rm -rf src/net/sf/jasperreports/data/mondrian/* \ src/net/sf/jasperreports/olap/* \ src/net/sf/jasperreports/components/barcode4j/* \ src/net/sf/jasperreports/components/barbecue/* %patch3 -p1 rm -rf src/org/w3c #%% patch4 -p1 %patch5 -p1 # remove groovy-all.jar references sed -i "s|groovyjarjarasm.asm|org.objectweb.asm|" src/net/sf/jasperreports/compilers/JRGroovyCompiler.java # don't build -font.jar sed -i "s|javaflow, fonts|javaflow|" build.xml # disable build of sampleref sed -i "s|configref, sampleref|configref|" build.xml # remove Xmx128m to javadoc task sed -i '/maxmemory=/d' build.xml # Fix encoding sed -i.encoding 's|ISO-8859-1|UTF-8|' build.xml sed -i 's|deprecation="true"|deprecation="false"|' build.xml # src/net/sf/jasperreports/components/barcode4j/ErrorCorrectionLevelEnum.java use iText 5.x sed -i 's|ErrorCorrectionLevelEnum|EvaluationTimeEnum|' \ src/net/sf/jasperreports/components/ComponentsXmlDigesterConfigurer.java # Fix non ASCII chars for s in src/net/sf/jasperreports/engine/JasperPrintManager.java \ src/net/sf/jasperreports/engine/JasperFillManager.java \ src/net/sf/jasperreports/engine/JasperRunManager.java \ src/net/sf/jasperreports/engine/JasperCompileManager.java \ src/net/sf/jasperreports/engine/JasperExportManager.java \ src/net/sf/jasperreports/engine/export/JRXlsExporter.java \ src/net/sf/jasperreports/engine/export/JRXml4SwfExporter.java \ src/net/sf/jasperreports/engine/export/JRXmlExporter.java \ src/net/sf/jasperreports/engine/export/JRXlsAbstractExporter.java \ src/net/sf/jasperreports/engine/export/JExcelApiExporter.java \ src/net/sf/jasperreports/engine/export/JExcelApiMetadataExporter.java \ src/net/sf/jasperreports/engine/export/oasis/StyleBuilder.java \ src/net/sf/jasperreports/engine/export/oasis/JROdsExporter.java \ src/net/sf/jasperreports/engine/export/oasis/Utility.java \ src/net/sf/jasperreports/engine/export/oasis/ContentBuilder.java \ src/net/sf/jasperreports/engine/export/oasis/TableBuilder.java \ src/net/sf/jasperreports/engine/export/oasis/DocumentBuilder.java \ src/net/sf/jasperreports/engine/export/oasis/JROdtExporter.java \ src/net/sf/jasperreports/engine/export/ooxml/XlsxSheetHelper.java;do native2ascii -encoding UTF8 ${s} ${s} done # Remove unavailable deps references %pom_remove_dep :barbecue #lib/barbecue-1.5-beta1.jar sed -i '/barbecue/d' src/META-INF/MANIFEST.MF src/*.properties %pom_remove_dep :barcode4j #lib/barcode4j-2.1.jar sed -i '/barcode4j/d' src/META-INF/MANIFEST.MF src/*.properties %pom_remove_dep org.olap4j:olap4j #lib/olap4j-0.9.7.309-JS-3.jar sed -i '/olap/d' src/META-INF/MANIFEST.MF src/*.properties %pom_remove_dep :mondrian #lib/mondrian-3.1.1.12687.jar sed -i '/mondrian/d' src/META-INF/MANIFEST.MF src/*.properties %pom_remove_dep com.keypoint:png-encoder #lib/png-encoder-1.5.jar %pom_remove_dep :jasperreports-fonts sed -i 's/\r//' changes.txt ln -sf $(build-classpath ant) lib/ant-1.7.1.jar ln -sf $(build-classpath antlr) lib/antlr-2.7.5.jar ln -sf $(build-classpath batik-all) lib/ ln -sf $(build-classpath bcel) lib/bcel-5.2.jar ln -sf $(build-classpath bsh) lib/bsh-2.0b4.jar ln -sf $(build-classpath commons-beanutils) lib/commons-beanutils-1.9.0.jar ln -sf $(build-classpath commons-codec) lib/commons-codec-1.5.jar ln -sf $(build-classpath commons-collections) lib/commons-collections-3.2.1.jar ln -sf $(build-classpath commons-digester) lib/commons-digester-2.1.jar ln -sf $(build-classpath commons-javaflow) lib/commons-javaflow-20060411.jar ln -sf $(build-classpath commons-logging) lib/commons-logging-1.1.1.jar ln -sf $(build-classpath dom4j) lib/dom4j-1.6.1.jar ln -sf $(build-classpath hibernate3/hibernate-core-3) lib/hibernate3.jar ln -sf $(build-classpath hibernate-jpa-2.0-api) lib/jpa.jar ln -sf $(build-classpath springframework/spring-beans) lib/spring-beans-2.5.5.jar ln -sf $(build-classpath springframework/spring-core) lib/spring-core-2.5.5.jar ln -sf $(build-classpath hsqldb1-1) lib/hsqldb-1.8.0-10.jar ln -sf $(build-classpath jcommon) lib/jcommon-1.0.15.jar ln -sf $(build-classpath jfreechart/jfreechart) lib/jfreechart-1.0.12.jar ln -sf $(build-classpath jxl) lib/jxl-2.6.10.jar %if %{?fedora} > 21 ln -sf $(build-classpath log4j12-1.2.17) lib/log4j-1.2.15.jar %else ln -sf $(build-classpath log4j) lib/log4j-1.2.15.jar %endif ln -sf $(build-classpath rhino) lib/rhino-1.7R3.jar ln -sf $(build-classpath geronimo-saaj) lib/saaj-api-1.3.jar ln -sf $(build-classpath tomcat-servlet-3.0-api) lib/servlet-api-2.4.jar ln -sf $(build-classpath xalan-j2) lib/xalan-2.7.1.jar ln -sf $(build-classpath xalan-j2-serializer) lib/serializer.jar ln -sf $(build-classpath xerces-j2) lib/xercesImpl-2.10.0.jar ln -sf $(build-classpath xml-commons-apis) lib/xml-apis.jar ln -sf $(build-classpath xml-commons-apis-ext) lib/xml-apis-ext.jar ln -sf $(build-classpath poi/apache-poi) lib/poi-3.10.1.jar ln -sf $(build-classpath poi/apache-poi-ooxml) lib/poi-ooxml-3.10.1.jar ln -sf $(build-classpath poi/apache-poi-ooxml-schemas) lib/poi-ooxml-schemas-3.10.1.jar ln -sf $(build-classpath httpcomponents/httpcore) lib/httpcore-4.3.2.jar ln -sf $(build-classpath httpcomponents/httpclient) lib/httpclient-4.3.4.jar ln -sf $(build-classpath jackson-annotations) lib/jackson-annotations-2.1.4.jar ln -sf $(build-classpath jackson-core) lib/jackson-core-2.1.4.jar ln -sf $(build-classpath jackson-databind) lib/jackson-databind-2.1.4.jar ln -sf $(build-classpath velocity) lib/velocity-1.7-dep.jar ln -sf $(build-classpath castor/castor-core) lib/castor-core-1.3.3.jar ln -sf $(build-classpath castor/castor-xml) lib/castor-xml-1.3.3.jar ln -sf $(build-classpath xmlbeans/xbean) lib/xmlbeans-2.5.0.jar ln -sf $(build-classpath lucene/lucene-core) lib/lucene-core-4.5.1.jar ln -sf $(build-classpath lucene/lucene-analyzers-common) lib/lucene-analyzers-common-4.5.1.jar ln -sf $(build-classpath lucene/lucene-queryparser) lib/lucene-queryparser-4.5.1.jar ln -sf $(build-classpath groovy/groovy-all) lib/groovy-all-2.0.1.jar ln -sf $(build-classpath jaxen) lib/jaxen-1.1.1.jar ln -sf $(build-classpath ecj) lib/ecj-4.3.1.jar # package org.apache.commons.lang does not exist ln -sf $(build-classpath commons-lang) lib/ # package org.objectweb.asm does not exist (used by groovy-all) ln -sf $(build-classpath objectweb-asm/asm) lib/asm.jar %pom_remove_dep com.itextpdf: %pom_add_dep com.lowagie:itext::compile #lib/itext{pdf,-pdfa}-5.5.0.jar ln -sf $(build-classpath itext) lib/iText-2.1.7.jar %pom_add_dep commons-codec:commons-codec::compile %pom_xpath_set "pom:dependencies/pom:dependency[pom:artifactId = 'bsh']/pom:groupId" bsh %pom_xpath_set "pom:dependencies/pom:dependency[pom:artifactId = 'bsh']/pom:version" 1.3.0 #%%pom_xpath_set "pom:dependencies/pom:dependency[pom:groupId = 'org.codehaus.groovy']/pom:artifactId" groovy #%%pom_xpath_set "pom:dependencies/pom:dependency[pom:groupId = 'org.codehaus.groovy']/pom:version" 1.8.9 %pom_xpath_set "pom:dependencies/pom:dependency[pom:artifactId = 'jcommon']/pom:groupId" org.jfree %pom_xpath_set "pom:dependencies/pom:dependency[pom:artifactId = 'jfreechart']/pom:groupId" org.jfree %pom_xpath_set "pom:dependencies/pom:dependency[pom:groupId = 'org.hibernate']/pom:artifactId" hibernate-core %pom_xpath_set "pom:dependencies/pom:dependency[pom:groupId = 'org.hibernate']/pom:version" 3 %pom_xpath_set "pom:dependencies/pom:dependency[pom:artifactId = 'commons-javaflow']/pom:groupId" org.apache.commons %pom_change_dep javax.xml.soap:saaj-api org.apache.geronimo.specs:geronimo-saaj_1.3_spec::compile %pom_change_dep javax.persistence:persistence-api org.hibernate.javax.persistence:hibernate-jpa-2.0-api::provided %pom_change_dep org.eclipse.jdt.core.compiler:ecj org.eclipse.jdt:core::compile %pom_change_dep javax.servlet:servlet-api org.apache.tomcat:tomcat-servlet-api::provided %build # DO NOT USE maven for build %ant alljars docs %install mkdir -p %{buildroot}%{_javadir}/%{name} install -m 644 dist/%{name}-%{version}.jar %{buildroot}%{_javadir}/%{name}/%{name}.jar install -m 644 dist/%{name}-javaflow-%{version}.jar %{buildroot}%{_javadir}/%{name}/%{name}-javaflow.jar mkdir -p %{buildroot}%{_mavenpomdir} install -pm 644 pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}.pom %add_maven_depmap JPP.%{name}-%{name}.pom %{name}/%{name}.jar -a "%{name}:%{name}" mkdir -p %{buildroot}%{_javadocdir}/%{name} cp -rp dist/docs/api/* %{buildroot}%{_javadocdir}/%{name} rm -rf dist/docs/api %files -f .mfiles %dir %{_javadir}/%{name} %{_javadir}/%{name}/%{name}-javaflow.jar %doc changes.txt readme.txt %license license.txt %files javadoc %{_javadocdir}/%{name} %license license.txt %files manual %doc dist/docs/* %license license.txt %changelog * Sat Feb 07 2015 gil cattaneo 6.0.3-2 - built using iText 2.1.7 * Sat Feb 07 2015 gil cattaneo 6.0.3-1 - update to 6.0.3 * Fri Feb 06 2015 gil cattaneo 6.0.2-1 - update to 6.0.2 * Fri Feb 06 2015 gil cattaneo 4.0.2-11 - introduce license macro * Sat Jun 07 2014 Fedora Release Engineering - 4.0.2-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Fri Mar 28 2014 Michael Simacek - 4.0.2-9 - Use Requires: java-headless rebuild (#1067528) * Fri Nov 15 2013 gil cattaneo 4.0.2-8 - use hsqldb1 * Fri Nov 15 2013 gil cattaneo 4.0.2-7 - use objectweb-asm3 * Sat Aug 03 2013 Fedora Release Engineering - 4.0.2-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Thu Feb 14 2013 Fedora Release Engineering - 4.0.2-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Sun Dec 23 2012 gil cattaneo 4.0.2-4 - fix build for new ecj - fix Build/Requires (iText >> itext-core; hibernate3 for f18 or major) - used pom macros * Tue Jul 17 2012 gil cattaneo 4.0.2-3 - fix commmons-codec and jcommons gId in PATCH7 * Mon Jul 09 2012 gil cattaneo 4.0.2-2 - fix license tag - repackaged source0 * Wed May 09 2012 gil cattaneo 4.0.2-1 - initial rpm