William Benton a6a8fa9
%global sbinary_version 0.4.2
William Benton a6a8fa9
%global scala_version 2.10
William Benton a6a8fa9
%global scala_long_version 2.10.3
William Benton a6a8fa9
%global build_with_sbt 0
William Benton a6a8fa9
%global want_scalacheck 0
William Benton a6a8fa9
William Benton a6a8fa9
Name:           sbinary
William Benton a6a8fa9
Version:        %{sbinary_version}
9375ce1
Release:        4%{?dist}
William Benton a6a8fa9
Summary:        Library for describing binary formats for Scala types
William Benton a6a8fa9
William Benton a6a8fa9
License:        MIT
William Benton a6a8fa9
URL:            https://github.com/harrah/sbinary
William Benton a6a8fa9
Source0:        https://github.com/harrah/sbinary/archive/v%{sbinary_version}.tar.gz
William Benton a6a8fa9
Source1:	https://raw.github.com/willb/climbing-nemesis/master/climbing-nemesis.py
William Benton a6a8fa9
William Benton a6a8fa9
BuildArch:	noarch
William Benton a6a8fa9
%if %{build_with_sbt}
William Benton a6a8fa9
BuildRequires:  sbt
William Benton a6a8fa9
BuildRequires:	python
William Benton a6a8fa9
%else
William Benton a6a8fa9
BuildRequires:	java-devel
William Benton a6a8fa9
%endif
William Benton a6a8fa9
BuildRequires:  mvn(org.scala-lang:scala-compiler)
William Benton a6a8fa9
BuildRequires:	mvn(net.sourceforge.fmpp:fmpp)
William Benton a6a8fa9
BuildRequires:	mvn(org.beanshell:bsh)
William Benton a6a8fa9
BuildRequires:	mvn(xml-resolver:xml-resolver)
William Benton a6a8fa9
BuildRequires:	mvn(org.freemarker:freemarker)
William Benton a6a8fa9
BuildRequires:	maven-local
William Benton a6a8fa9
BuildRequires:	javapackages-tools
William Benton a6a8fa9
Requires:	javapackages-tools
William Benton a6a8fa9
Requires:       scala
William Benton a6a8fa9
William Benton a6a8fa9
%description
William Benton a6a8fa9
William Benton a6a8fa9
SBinary is a library for describing binary protocols, in the form of
William Benton a6a8fa9
mappings between Scala types and binary formats. It can be used as a
William Benton a6a8fa9
robust serialization mechanism for Scala objects or a way of dealing
William Benton a6a8fa9
with existing binary formats found in the wild.
William Benton a6a8fa9
William Benton a6a8fa9
It started out life as a loose port of Haskell's Data.Binary. It's
William Benton a6a8fa9
since evolved a bit from there to take advantage of the features Scala
William Benton a6a8fa9
implicits offer over Haskell type classes, but the core idea has
William Benton a6a8fa9
remained the same.
William Benton a6a8fa9
William Benton a6a8fa9
%package javadoc
William Benton a6a8fa9
Summary:        Javadoc for %{name}
William Benton a6a8fa9
William Benton a6a8fa9
%description javadoc
William Benton a6a8fa9
Javadoc for %{name}.
William Benton a6a8fa9
William Benton a6a8fa9
%prep
William Benton a6a8fa9
%setup -q
William Benton a6a8fa9
William Benton a6a8fa9
%if %{build_with_sbt}
William Benton a6a8fa9
sed -i -e 's/2[.]10[.]2/2.10.3/g' project/SBinaryProject.scala
William Benton a6a8fa9
William Benton a6a8fa9
sed -i -e 's|"scalacheck" % "1[.]10[.]0"|"scalacheck" % "1.11.0"|g' project/SBinaryProject.scala
William Benton a6a8fa9
sed -i -e 's|[.]identity||g' project/SBinaryProject.scala
William Benton a6a8fa9
sed -i -e 's/0[.]13[.]0/0.13.1/g' project/build.properties || echo sbt.version=0.13.1 > project/build.properties
William Benton a6a8fa9
William Benton a6a8fa9
cp -r /usr/share/java/sbt/ivy-local .
William Benton a6a8fa9
mkdir boot
William Benton a6a8fa9
William Benton a6a8fa9
cp %{SOURCE1} .
William Benton a6a8fa9
William Benton a6a8fa9
chmod 755 climbing-nemesis.py
William Benton a6a8fa9
William Benton a6a8fa9
%if %{want_scalacheck}
William Benton a6a8fa9
./climbing-nemesis.py --jarfile /usr/share/java/scalacheck.jar org.scalacheck scalacheck ivy-local --version 1.11.0 --scala %{scala_version}
William Benton a6a8fa9
%endif
William Benton a6a8fa9
William Benton a6a8fa9
./climbing-nemesis.py net.sourceforge.fmpp fmpp ivy-local
William Benton a6a8fa9
./climbing-nemesis.py org.freemarker freemarker ivy-local
William Benton a6a8fa9
./climbing-nemesis.py org.beanshell bsh ivy-local --override org.beanshell:bsh
William Benton a6a8fa9
./climbing-nemesis.py xml-resolver xml-resolver ivy-local
William Benton a6a8fa9
%endif
William Benton a6a8fa9
William Benton a6a8fa9
%build
William Benton a6a8fa9
William Benton a6a8fa9
%if %{build_with_sbt}
William Benton a6a8fa9
William Benton a6a8fa9
export SBT_BOOT_DIR=boot
William Benton a6a8fa9
export SBT_IVY_DIR=ivy-local
William Benton a6a8fa9
sbt package deliverLocal publishM2Configuration
William Benton a6a8fa9
William Benton a6a8fa9
%else # build without sbt
William Benton a6a8fa9
William Benton a6a8fa9
mkdir -p core/target/scala-%{scala_version}/src_managed
William Benton a6a8fa9
mkdir -p core/target/scala-%{scala_version}/classes
William Benton a6a8fa9
mkdir -p core/target/scala-%{scala_version}/api
William Benton a6a8fa9
William Benton a6a8fa9
java -cp $(build-classpath fmpp freemarker bsh oro) fmpp.tools.CommandLine -S core/src -O core/target/scala-%{scala_version}/src_managed
William Benton a6a8fa9
William Benton a6a8fa9
scalac core/target/scala-%{scala_version}/src_managed/*.scala -d core/target/scala-%{scala_version}/classes
William Benton a6a8fa9
jar -cvf core/target/scala-%{scala_version}/%{name}_%{scala_version}-%{version}.jar -C core/target/scala-%{scala_version}/classes .
William Benton a6a8fa9
William Benton a6a8fa9
scaladoc core/target/scala-2.10/src_managed/*.scala -d core/target/scala-2.10/api
William Benton a6a8fa9
William Benton a6a8fa9
cat << EOF > core/target/scala-%{scala_version}/%{name}_%{scala_version}-%{version}.pom
William Benton a6a8fa9
William Benton a6a8fa9
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0">
William Benton a6a8fa9
    <modelVersion>4.0.0</modelVersion>
William Benton a6a8fa9
    <groupId>org.scala-tools.sbinary</groupId>
William Benton a6a8fa9
    <artifactId>sbinary_%{scala_version}</artifactId>
William Benton a6a8fa9
    <packaging>jar</packaging>
William Benton a6a8fa9
    <description>SBinary</description>
William Benton a6a8fa9
    <version>%{version}</version>
William Benton a6a8fa9
    <name>SBinary</name>
William Benton a6a8fa9
    <organization>
William Benton a6a8fa9
        <name>org.scala-tools.sbinary</name>
William Benton a6a8fa9
    </organization>
William Benton a6a8fa9
    <dependencies>
William Benton a6a8fa9
        <dependency>
William Benton a6a8fa9
            <groupId>org.scala-lang</groupId>
William Benton a6a8fa9
            <artifactId>scala-library</artifactId>
William Benton a6a8fa9
            <version>%{scala_long_version}</version>
William Benton a6a8fa9
        </dependency>
William Benton a6a8fa9
    </dependencies>
William Benton a6a8fa9
</project>
William Benton a6a8fa9
EOF
William Benton a6a8fa9
William Benton a6a8fa9
%endif
William Benton a6a8fa9
William Benton a6a8fa9
%install
William Benton a6a8fa9
mkdir -p %{buildroot}/%{_javadir}
William Benton a6a8fa9
mkdir -p %{buildroot}/%{_mavenpomdir}
William Benton a6a8fa9
William Benton a6a8fa9
mkdir -p %{buildroot}/%{_javadocdir}/%{name}
William Benton a6a8fa9
William Benton a6a8fa9
install -pm 644 core/target/scala-%{scala_version}/%{name}_%{scala_version}-%{version}.jar %{buildroot}/%{_javadir}/%{name}.jar
William Benton a6a8fa9
install -pm 644 core/target/scala-%{scala_version}/%{name}_%{scala_version}-%{version}.pom %{buildroot}/%{_mavenpomdir}/JPP-%{name}.pom
William Benton a6a8fa9
William Benton a6a8fa9
cp -rp core/target/scala-%{scala_version}/api/* %{buildroot}/%{_javadocdir}/%{name}
William Benton a6a8fa9
William Benton a6a8fa9
%add_maven_depmap JPP-%{name}.pom %{name}.jar
William Benton a6a8fa9
6de3569
%files -f .mfiles
William Benton a6a8fa9
%doc LICENSE README
William Benton a6a8fa9
William Benton a6a8fa9
%files javadoc
William Benton a6a8fa9
%{_javadocdir}/%{name}
William Benton a6a8fa9
%doc LICENSE
William Benton a6a8fa9
William Benton a6a8fa9
%changelog
9375ce1
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.2-4
9375ce1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
9375ce1
6de3569
* Tue Jun 10 2014 Mat Booth <mat.booth@redhat.com> - 0.4.2-3
6de3569
- Migrate to .mfiles
6de3569
d898402
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.2-2
d898402
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
d898402
William Benton a6a8fa9
* Tue Jan 7 2014 William Benton <willb@redhat.com> - 0.4.2-1
William Benton a6a8fa9
- initial package