Blame scalaz.spec

William Benton e3a44e3
%global scalaz_version 7.0.0
William Benton e3a44e3
%global scala_short_version 2.10
William Benton e3a44e3
William Benton e3a44e3
# set this to 1 once scalacheck is available in Fedora (currently:
William Benton e3a44e3
# yes) and scalaz's scalacheck support compiles (currently: no)
William Benton e3a44e3
William Benton e3a44e3
%global have_scalacheck 0
William Benton e3a44e3
William Benton e3a44e3
# set this to 1 once sbt is available in Fedora
William Benton e3a44e3
%global have_native_sbt 1
William Benton e3a44e3
William Benton e3a44e3
Name:		scalaz
William Benton e3a44e3
Version:	%{scalaz_version}
William Benton e3a44e3
Release:	2%{?dist}
William Benton e3a44e3
Summary:	extension to the core Scala library for functional programming
William Benton e3a44e3
William Benton e3a44e3
License:	BSD
William Benton e3a44e3
URL:		http://typelevel.org
William Benton e3a44e3
Source0:	https://github.com/scalaz/scalaz/archive/v%{scalaz_version}.tar.gz#/%{name}-v%{version}.tar.gz
William Benton e3a44e3
Source1:	https://raw.github.com/willb/climbing-nemesis/master/climbing-nemesis.py
William Benton e3a44e3
William Benton e3a44e3
Patch0:		scalaz-7.0.0-build.patch
William Benton e3a44e3
William Benton e3a44e3
BuildArch:	noarch
William Benton e3a44e3
William Benton e3a44e3
BuildRequires:	mvn(org.scalacheck:scalacheck_%{scala_short_version})
William Benton e3a44e3
BuildRequires:	scala
William Benton e3a44e3
%if %{have_native_sbt}
William Benton e3a44e3
BuildRequires:	sbt
William Benton e3a44e3
%endif
William Benton e3a44e3
William Benton e3a44e3
BuildRequires:	javapackages-tools
William Benton e3a44e3
Requires:	javapackages-tools
William Benton e3a44e3
William Benton e3a44e3
Requires:       scala
William Benton e3a44e3
Requires:	jansi
William Benton e3a44e3
William Benton e3a44e3
%description
William Benton e3a44e3
William Benton e3a44e3
Scalaz is a Scala library for functional programming.  It provides
William Benton e3a44e3
purely functional data structures to complement those from the Scala
William Benton e3a44e3
standard library. It defines a set of foundational type classes
William Benton e3a44e3
(e.g. Functor, Monad) and corresponding instances for a large number
William Benton e3a44e3
of data structures.
William Benton e3a44e3
William Benton e3a44e3
%package javadoc
William Benton e3a44e3
Summary:	Javadoc for %{name}
William Benton e3a44e3
William Benton e3a44e3
%description javadoc
William Benton e3a44e3
This package contains javadoc for %{name}.
William Benton e3a44e3
William Benton e3a44e3
%prep
William Benton e3a44e3
%setup -q
William Benton e3a44e3
%patch0 -p1
William Benton e3a44e3
William Benton e3a44e3
%if %{have_native_sbt}
William Benton e3a44e3
rm ./sbt
William Benton e3a44e3
%endif
William Benton e3a44e3
William Benton e3a44e3
cp %{SOURCE1} .
William Benton e3a44e3
chmod 755 climbing-nemesis.py
William Benton e3a44e3
William Benton e3a44e3
sed -i -e 's/1[.]10[.]0/1.11.0/g' project/build.scala
William Benton e3a44e3
William Benton e3a44e3
%if 0%{have_scalacheck} == 0
William Benton e3a44e3
sed -i -e 's/scalacheckBinding, tests,//g' project/build.scala
William Benton e3a44e3
%else
William Benton e3a44e3
sed -i -e 's/ tests,//g' project/build.scala
William Benton e3a44e3
./climbing-nemesis.py org.scalacheck scalacheck_%{scala_short_version} ivy-local
William Benton e3a44e3
%endif
William Benton e3a44e3
William Benton e3a44e3
cp etc/LICENCE LICENCE
William Benton e3a44e3
William Benton e3a44e3
%build
William Benton e3a44e3
William Benton e3a44e3
%if %{have_native_sbt}
William Benton e3a44e3
cp -r /usr/share/sbt/ivy-local .
William Benton e3a44e3
mkdir boot
William Benton e3a44e3
William Benton e3a44e3
export SBT_BOOT_DIR=boot
William Benton e3a44e3
export SBT_IVY_DIR=ivy-local
William Benton e3a44e3
William Benton e3a44e3
sbt package makePom doc
William Benton e3a44e3
%else
William Benton e3a44e3
./sbt package makePom doc
William Benton e3a44e3
%endif
William Benton e3a44e3
William Benton e3a44e3
%install
William Benton e3a44e3
mkdir -p %{buildroot}/%{_javadir}/%{name}/
William Benton e3a44e3
mkdir -p %{buildroot}/%{_mavenpomdir}
William Benton e3a44e3
mkdir -p %{buildroot}/%{_javadocdir}/%{name}
William Benton e3a44e3
William Benton e3a44e3
for jar in $(find . -wholename \*/scala-%{scala_short_version}/%{name}-\*.jar); do 
William Benton e3a44e3
    echo $jar
William Benton e3a44e3
    shortname=$(echo $jar | sed -e 's/^.*[/]\([a-z-]\+\)_%{scala_short_version}-%{scalaz_version}.jar$/\1/g')
William Benton e3a44e3
    cp -p $jar %{buildroot}/%{_javadir}/scalaz/${shortname}.jar
William Benton e3a44e3
done
William Benton e3a44e3
William Benton e3a44e3
for apidir in $(find . -name api -type d | grep -v ivy-local); do
William Benton e3a44e3
    module=$(echo $apidir | cut -f2 -d/)
William Benton e3a44e3
    mkdir %{buildroot}/%{_javadocdir}/%{name}/$module
William Benton e3a44e3
    cp -rp $apidir/* %{buildroot}/%{_javadocdir}/%{name}/$module
William Benton e3a44e3
done
William Benton e3a44e3
William Benton e3a44e3
for pom in $(find . -name %{name}-\*.pom ) ; do 
William Benton e3a44e3
    shortname=$(echo $pom | sed -e 's/^.*[/]\([a-z-]\+\)_%{scala_short_version}-%{scalaz_version}.pom$/\1/g')
William Benton e3a44e3
    echo installing POM $pom to %{_mavenpomdir}/JPP.%{name}-${shortname}.pom
William Benton e3a44e3
    cp -p $pom %{buildroot}/%{_mavenpomdir}/JPP.%{name}-${shortname}.pom
William Benton e3a44e3
    echo %{_mavenpomdir}/JPP.%{name}-${shortname}.pom >> .rpm_pomfiles
William Benton e3a44e3
    shortnames=( "${shortnames[@]}" $shortname )
William Benton e3a44e3
done
William Benton e3a44e3
William Benton e3a44e3
echo shortnames are ${shortnames[@]}
William Benton e3a44e3
William Benton e3a44e3
for sub in ${shortnames[@]} ; do
William Benton e3a44e3
    echo running add_maven_depmap JPP.%{name}-${sub}.pom %{name}/${sub}.jar
William Benton e3a44e3
    %add_maven_depmap JPP.%{name}-${sub}.pom %{name}/${sub}.jar
William Benton e3a44e3
done
William Benton e3a44e3
William Benton e3a44e3
%files -f .mfiles
William Benton e3a44e3
%dir %{_javadir}/%{name}/
William Benton e3a44e3
%doc README.md LICENCE
William Benton e3a44e3
William Benton e3a44e3
%files javadoc
William Benton e3a44e3
%{_javadocdir}/%{name}/
William Benton e3a44e3
%doc LICENCE
William Benton e3a44e3
William Benton e3a44e3
%changelog
William Benton e3a44e3
* Wed Feb 26 2014 William Benton <willb@redhat.com> - 7.0.0-2
William Benton e3a44e3
- updated paths for released sbt
William Benton e3a44e3
- install POM files now
William Benton e3a44e3
- generate javadocs
William Benton e3a44e3
William Benton e3a44e3
* Tue Nov 26 2013 William Benton <willb@redhat.com> - 7.0.0-1
William Benton e3a44e3
- initial package