Sophie

Sophie

distrib > Mageia > 2 > i586 > media > core-release-src > by-pkgid > 037f3714e8addc767434a46b6d3426b1 > files > 4

fastutil-6.4.1-1.mga2.src.rpm

%define with_maven 1
Name:          fastutil
Version:       6.4.1
Release:       %mkrel 1
Summary:       Fast & compact type-specific collections for Java™
Group:         Development/Java
License:       ASL 2.0
Url:           http://fastutil.dsi.unimi.it/
# https://github.com/elehack/fastutil-maven.git
# mkdir -p fastutil-6.2.2
# git clone git://github.com/elehack/fastutil-maven.git
# cd fastutil-maven
# git archive upstream/6.2.2 | tar -x -C ../fastutil-6.2.2
# cd ..
# tar czf fastutil-6.2.2-src-git.tar.gz fastutil-6.2.2
Source0:       http://fastutil.dsi.unimi.it/fastutil-%{version}-src.tar.gz
Source1:       http://repo2.maven.org/maven2/it/unimi/dsi/fastutil/%{version}/fastutil-%{version}.pom
Source2:       fastutil-6.4.1-OSGi-MANIFEST.MF
#Patch0:        ...
BuildRequires: java-devel
BuildRequires: jpackage-utils

BuildRequires: gcc
BuildRequires: junit4
%if !%with_maven
BuildRequires: ant
BuildRequires: ant-junit
BuildRequires: emma
%else
BuildRequires: sonatype-oss-parent
BuildRequires: maven-clean-plugin
BuildRequires: maven-compiler-plugin
BuildRequires: maven-jar-plugin
BuildRequires: maven-javadoc-plugin
BuildRequires: maven-source-plugin
BuildRequires: maven-plugin-bundle
BuildRequires: maven-plugin-exec
BuildRequires: maven-surefire-provider-junit4
%endif

Requires:      jpackage-utils
Requires(post): jpackage-utils
Requires(postun): jpackage-utils
Requires:      java
BuildArch:     noarch

%description
fastutil extends the Java Collections Framework by providing type-specific
maps, sets, lists and priority queues with a small memory footprint and
fast access and insertion; it also includes a fast I/O API for binary and
text files. The classes implement their standard counterpart interface
(e.g., Map for maps) and can be plugged into existing code. Moreover, they
provide additional features (such as bidirectional iterators) that are not
available in the standard classes.

%package javadoc
Summary:       Javadocs for %{name}
Group:         Development/Java
Requires:      jpackage-utils

%description javadoc
This package contains the API documentation for %{name}.

%prep
%setup -q

find \( -name '*.jar' -o -name '*.class' \) -exec rm -f '{}' \;

cp -p %SOURCE1 pom.xml
# sonatype-oss-parent
sed -i "s|<version>7</version>|<version>6</version>|" pom.xml
# junit4
sed -i "s|<version>4.9</version>|<version>4.8.2</version>|" pom.xml
# maven-plugin-exec
sed -i "s|<version>1.2</version>|<version>1.1</version>|" pom.xml
# maven-jar-plugin
sed -i "s|<version>2.3.2</version>|<version>2.3.1</version>|" pom.xml
# maven-plugin-bundle
sed -i "s|<version>2.3.4</version>|<version>2.0.0</version>|" pom.xml

%build

%if !%with_maven
  mkdir -p reports
  make sources
  ant -Dj2se.apiurl=%_javadocdir/java jar javadoc junit
# inject OSGi manifest
mkdir -p META-INF
cp -p %{SOURCE2} META-INF/MANIFEST.MF
touch META-INF/MANIFEST.MF
zip -u %{name}-%{version}.jar META-INF/MANIFEST.MF
%else
  mvn-rpmbuild -e install javadoc:aggregate
%endif

%install
[ %{buildroot} != / ] && rm -rf %{buildroot}

mkdir -p %{buildroot}%{_javadir}
mkdir -p %{buildroot}%{_javadocdir}/%{name}

%if !%with_maven
  install -pm 644 %{name}-%{version}.jar %{buildroot}%{_javadir}/%{name}.jar
  cp -pr docs/* %{buildroot}%{_javadocdir}/%{name}
%else
  install -pm 644 target/%{name}-%{version}.jar %{buildroot}%{_javadir}/%{name}.jar
  cp -pr target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name}
%endif

mkdir -p %{buildroot}%{_mavenpomdir}
install -pm 644 pom.xml %{buildroot}%{_mavenpomdir}/JPP-%{name}.pom
%add_maven_depmap JPP-%{name}.pom %{name}.jar

%post
%update_maven_depmap

%preun
%update_maven_depmap

%files
%{_javadir}/%{name}.jar
%{_mavenpomdir}/*
%{_mavendepmapfragdir}/*
%doc CHANGES LICENSE-2.0 README

%files javadoc
%{_javadocdir}/%{name}


%changelog

* Wed Nov 02 2011 gil <gil> 6.4.1-1.mga2
+ Revision: 161852
- imported package fastutil