Name: apfloat-java Version: 1.8.2 Release: 1%{?dist} Summary: High performance arbitrary precision arithmetic library for Java License: LGPLv2+ URL: http://www.apfloat.org/apfloat_java/ Source0: http://www.apfloat.org/apfloat_java/apfloat-%{version}.zip Source1: http://repo1.maven.org/maven2/org/apfloat/apfloat/%{version}/apfloat-%{version}.pom Source2: http://repo1.maven.org/maven2/org/apfloat/apfloat-calc/%{version}/apfloat-calc-%{version}.pom Source3: http://repo1.maven.org/maven2/org/apfloat/apfloat-samples/%{version}/apfloat-samples-%{version}.pom Source4: http://repo1.maven.org/maven2/org/apfloat/apfloat-parent/%{version}/apfloat-parent-%{version}.pom BuildRequires: maven-local BuildRequires: mvn(junit:junit) BuildRequires: mvn(org.apache.felix:maven-bundle-plugin) BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin) BuildRequires: mvn(org.codehaus.mojo:javacc-maven-plugin) BuildArch: noarch %description Apfloat is a high performance arbitrary precision arithmetic library. You can perform calculations with a precision of millions of digits with it. It's as simple to use as Java's BigDecimal or BigInteger classes, but performs a lot better with extreme precision numbers (more than a few hundred digits). Also, a full suite of mathematical functions for arbitrary precision numbers are available: all those existing in java.lang.Math and more. %package calc Summary: Apfloat Calc %description calc Interactive arbitrary precision calculator application. %package parent Summary: Apfloat Parent POM %description parent Administrative Parent POM for Apfloat. %package samples Summary: Apfloat Samples %description samples Sample programs for apfloat for calculating pi. %package javadoc Summary: Javadoc for %{name} %description javadoc This package contains javadoc for %{name}. %prep %setup -q -c # Extract missing services resources %jar -xf lib/apfloat.jar # Cleanup find . -name "*.jar" -print -delete find . -name "*.class" -print -delete rm -r applet docs org lib # Prepare source directories structures mkdir -p apfloat/src/main/java/org/apfloat mv source/org/apfloat/*.java apfloat/src/main/java/org/apfloat mv source/org/apfloat/internal apfloat/src/main/java/org/apfloat mv source/org/apfloat/spi apfloat/src/main/java/org/apfloat mkdir -p apfloat/src/main/resources/META-INF mv META-INF/services apfloat/src/main/resources/META-INF rm -r META-INF mkdir -p apfloat-calc/src/main/java/org/apfloat mv source/org/apfloat/calc apfloat-calc/src/main/java/org/apfloat # re-generate rm -r apfloat-calc/src/main/java/org/apfloat/calc/CalculatorParser.java rm -r apfloat-calc/src/main/java/org/apfloat/calc/CalculatorParserConstants.java rm -r apfloat-calc/src/main/java/org/apfloat/calc/CalculatorParserTokenManager.java rm -r apfloat-calc/src/main/java/org/apfloat/calc/ParseException.java rm -r apfloat-calc/src/main/java/org/apfloat/calc/SimpleCharStream.java rm -r apfloat-calc/src/main/java/org/apfloat/calc/Token.java rm -r apfloat-calc/src/main/java/org/apfloat/calc/TokenMgrError.java mkdir -p apfloat-samples/src/main/java/org/apfloat mv source/org/apfloat/samples apfloat-samples/src/main/java/org/apfloat cp -p %SOURCE1 apfloat/pom.xml cp -p %SOURCE2 apfloat-calc/pom.xml cp -p %SOURCE3 apfloat-samples/pom.xml cp -p %SOURCE4 pom.xml %pom_disable_module apfloat-applet %pom_disable_module apfloat-jscience # Disable classpath entries in manifest files %pom_xpath_remove -r "pom:addClasspath" apfloat-calc apfloat-samples %pom_xpath_remove "pom:classpathLayoutType" apfloat-calc %pom_xpath_remove "pom:customClasspathLayout" apfloat-calc # Fix encoding %pom_xpath_set -r "pom:properties/pom:project.build.sourceEncoding" UTF-8 %pom_xpath_set -r "pom:plugin[pom:artifactId='maven-javadoc-plugin']/pom:configuration/pom:docencoding" UTF-8 apfloat-calc apfloat-samples # Disable signatures %pom_remove_plugin -r :maven-gpg-plugin %pom_xpath_remove "pom:properties/pom:gpg.useagent" # Uanavailable resources %pom_remove_plugin :maven-antrun-plugin apfloat %pom_xpath_remove "pom:build/pom:filters" apfloat # OSGi support %pom_xpath_set "pom:project/pom:packaging" bundle apfloat %pom_add_plugin org.apache.felix:maven-bundle-plugin:2.5.4 apfloat ' true ${project.version} bundle-manifest process-classes manifest ' for p in apfloat-calc \ apfloat-samples; do %pom_xpath_inject "pom:project" "bundle" ${p} %pom_add_plugin org.apache.felix:maven-bundle-plugin:2.5.4 ${p} ' true ${project.version} bundle-manifest process-classes manifest ' done # fix non ASCII chars native2ascii -encoding UTF8 apfloat/src/main/java/org/apfloat/GCDHelper.java \ apfloat/src/main/java/org/apfloat/GCDHelper.java %build %mvn_build -s %install %mvn_install %files -f .mfiles-apfloat %doc readme.html %license lgpl.txt %files calc -f .mfiles-apfloat-calc %license lgpl.txt %files parent -f .mfiles-apfloat-parent %license lgpl.txt %files samples -f .mfiles-apfloat-samples %license lgpl.txt %files javadoc -f .mfiles-javadoc %license lgpl.txt %changelog * Wed Oct 28 2015 gil cattaneo 1.8.2-1 - initial rpm