Name: xerial
Version: 3.2.1
Release: 1%{?dist}
Summary: Data management utilities for Scala
License: ASL 2.0
URL: http://xerial.org/
Source0: https://github.com/xerial/xerial/archive/%{version}.tar.gz
# Default use sbt builder
Source1: %{name}-build.xml
Source2: http://central.maven.org/maven2/org/xerial/%{name}-compress/%{version}/%{name}-compress-%{version}.pom
Source3: http://central.maven.org/maven2/org/xerial/%{name}-core/%{version}/%{name}-core-%{version}.pom
Source4: http://central.maven.org/maven2/org/xerial/%{name}-lens/%{version}/%{name}-lens-%{version}.pom
Source10: %{name}-script
BuildRequires: java-devel
BuildRequires: javapackages-tools
BuildRequires: mvn(org.javassist:javassist)
BuildRequires: mvn(org.scala-lang:scala-library)
BuildRequires: mvn(org.scala-lang:scala-reflect)
BuildRequires: mvn(org.scala-lang:scalap)
# TODO snappy-java 1.1.0
BuildRequires: mvn(org.xerial.snappy:snappy-java)
BuildRequires: mvn(org.apache.ant:ant)
BuildRequires: mvn(org.scala-lang:scala-compiler)
%if 0
# Test deps
BuildRequires: mvn(org.scalatest:scalatest_2.10)
%endif
# Runtime only
BuildRequires: mvn(org.codehaus.plexus:plexus-classworlds)
Requires: mvn(org.codehaus.plexus:plexus-classworlds)
Requires: mvn(org.scala-lang:scala-compiler)
Requires: mvn(org.javassist:javassist)
Requires: mvn(org.scala-lang:scalap)
Requires: mvn(org.scala-lang:scala-library)
Requires: mvn(org.scala-lang:scala-reflect)
Requires: mvn(org.xerial.snappy:snappy-java)
%if %{?fedora} >= 20
Requires: java-headless
%else
Requires: java
%endif
Requires: javapackages-tools
BuildArch: noarch
%description
Xerial is data management utilities for Scala. The ultimate goal
of Xerial project is to manage everything as database, including
class objects, text format data (JSON, XML, Silk, etc.),
data streams, etc.
%package javadoc
Summary: Javadoc for %{name}
%description javadoc
This package contains javadoc for %{name}.
%prep
%setup -q
cp -p %{SOURCE1} build.xml
sed -i.%{version} "s|@VERSION@|%{version}|" build.xml
%if %{?fedora} >= 20
sed -i.snappy-java 's|||' build.xml
%endif
sed -i.classworlds -e s:'-classpath "${PROG_HOME}"/lib/plexus-classworlds-\*.jar':'-classpath "${PROG_HOME}"/lib/plexus-classworlds.jar':g src/main/script/xerial
%build
ant dist doc
%install
mkdir -p %{buildroot}/%{_javadir}/%{name}
cp -p target/%{name}-*.jar %{buildroot}/%{_javadir}/%{name}/
mkdir -p %{buildroot}/%{_mavenpomdir}
install -pm 644 %{SOURCE2} %{buildroot}/%{_mavenpomdir}/JPP.%{name}-%{name}-compress.pom
%add_maven_depmap JPP.%{name}-%{name}-compress.pom %{name}/%{name}-compress.jar
install -pm 644 %{SOURCE3} %{buildroot}/%{_mavenpomdir}/JPP.%{name}-%{name}-core.pom
%add_maven_depmap JPP.%{name}-%{name}-core.pom %{name}/%{name}-core.jar
install -pm 644 %{SOURCE4} %{buildroot}/%{_mavenpomdir}/JPP.%{name}-%{name}-lens.pom
%add_maven_depmap JPP.%{name}-%{name}-lens.pom %{name}/%{name}-lens.jar
mkdir -p %{buildroot}/%{_javadocdir}/%{name}
cp -rp target/apidocs/* %{buildroot}/%{_javadocdir}/%{name}
install -d -m 755 %{buildroot}%{_datadir}/%{name}/bin
install -d -m 755 %{buildroot}%{_datadir}/%{name}/lib
ln -sf $(build-classpath plexus/classworlds) \
%{buildroot}%{_datadir}/%{name}/lib/plexus-classworlds.jar
ln -sf $(build-classpath javassist) \
%{buildroot}%{_datadir}/%{name}/lib/
ln -sf $(build-classpath scala/scalap) \
%{buildroot}%{_datadir}/%{name}/lib/
ln -sf $(build-classpath scala/scala-library) \
%{buildroot}%{_datadir}/%{name}/lib/
ln -sf $(build-classpath scala/scala-reflect) \
%{buildroot}%{_datadir}/%{name}/lib/
ln -sf $(build-classpath scala/scala-compiler) \
%{buildroot}%{_datadir}/%{name}/lib/
%if %{?fedora} >= 20
ln -sf $(build-classpath snappy-java/snappy-java) \
%{buildroot}%{_datadir}/%{name}/lib/
%else
ln -sf $(build-classpath snappy-java) \
%{buildroot}%{_datadir}/%{name}/lib/
%endif
ln -sf ../../java/%{name}/%{name}-compress.jar %{buildroot}%{_datadir}/%{name}/lib/
ln -sf ../../java/%{name}/%{name}-core.jar %{buildroot}%{_datadir}/%{name}/lib/
ln -sf ../../java/%{name}/%{name}-lens.jar %{buildroot}%{_datadir}/%{name}/lib/
install -d -m 755 %{buildroot}%{_sysconfdir}/%{name}
install -pm 644 src/main/script/classworld.conf %{buildroot}%{_sysconfdir}/%{name}
ln -sf %{_sysconfdir}/%{name}/classworld.conf %{buildroot}%{_datadir}/%{name}/bin/classworld.conf
install -pm 755 src/main/script/%{name} %{buildroot}%{_datadir}/%{name}/bin
install -d -m 755 %{buildroot}%{_bindir}
install -pm 755 %{SOURCE10} %{buildroot}%{_bindir}/%{name}
%files
%{_bindir}/%{name}
%{_javadir}/%{name}
%{_datadir}/%{name}
%{_mavenpomdir}/*
%{_mavendepmapfragdir}/%{name}
%{_sysconfdir}/%{name}
%doc LICENSE README.md
%files javadoc
%{_javadocdir}/%{name}
%doc LICENSE
%changelog
* Thu Apr 03 2014 gil cattaneo 3.2.1-1
- initial rpm