This repository has been archived on 2026-01-16. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
apfloat-java/apfloat-java.spec
2017-07-26 03:04:41 +00:00

184 lines
6 KiB
RPMSpec

Name: apfloat-java
Version: 1.8.2
Release: 3%{?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
# Apfloat Java all files without license headers
# Thise is the upstream reply
Source100: ReApfloatJavalicenseheaders.eml
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 javadoc
Summary: Javadoc for %{name}
%description javadoc
This package contains javadoc for %{name}.
%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.
%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 apfloat-calc/src/main/java/org/apfloat/calc/CalculatorParser.java
rm apfloat-calc/src/main/java/org/apfloat/calc/CalculatorParserConstants.java
rm apfloat-calc/src/main/java/org/apfloat/calc/CalculatorParserTokenManager.java
rm apfloat-calc/src/main/java/org/apfloat/calc/ParseException.java
rm apfloat-calc/src/main/java/org/apfloat/calc/SimpleCharStream.java
rm apfloat-calc/src/main/java/org/apfloat/calc/Token.java
rm 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 '
<extensions>true</extensions>
<configuration>
<instructions>
<Bundle-Version>${project.version}</Bundle-Version>
</instructions>
</configuration>
<executions>
<execution>
<id>bundle-manifest</id>
<phase>process-classes</phase>
<goals>
<goal>manifest</goal>
</goals>
</execution>
</executions>'
for p in apfloat-calc \
apfloat-samples; do
%pom_xpath_inject "pom:project" "<packaging>bundle</packaging>" ${p}
%pom_add_plugin org.apache.felix:maven-bundle-plugin:2.5.4 ${p} '
<extensions>true</extensions>
<configuration>
<instructions>
<Bundle-Version>${project.version}</Bundle-Version>
</instructions>
</configuration>
<executions>
<execution>
<id>bundle-manifest</id>
<phase>process-classes</phase>
<goals>
<goal>manifest</goal>
</goals>
</execution>
</executions>'
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
%files javadoc -f .mfiles-javadoc
%license lgpl.txt
%files parent -f .mfiles-apfloat-parent
%license lgpl.txt
%files samples -f .mfiles-apfloat-samples
%changelog
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Wed Oct 28 2015 gil cattaneo <puntogil@libero.it> 1.8.2-1
- initial rpm