sbinary/sbinary.spec
2020-03-10 17:20:39 +08:00

94 lines
3.4 KiB
RPMSpec

Name: sbinary
Version: 0.4.2
Release: 10
Summary: Library for describing binary formats for Scala types
License: MIT
URL: https://github.com/harrah/sbinary
Source0: https://github.com/harrah/sbinary/archive/v0.4.2.tar.gz
Source1: https://raw.github.com/willb/climbing-nemesis/master/climbing-nemesis.py
BuildArch: noarch
BuildRequires: mvn(org.scala-lang:scala-compiler) mvn(net.sourceforge.fmpp:fmpp)
BuildRequires: mvn(org.beanshell:bsh) mvn(xml-resolver:xml-resolver) java-devel
BuildRequires: mvn(org.freemarker:freemarker) maven-local javapackages-tools
Requires: javapackages-tools scala
%description
SBinary is a library for describing binary protocols, in the form of
mappings between Scala types and binary formats. It can be used as a
robust serialization mechanism for Scala objects or a way of dealing
with existing binary formats found in the wild.
It started out life as a loose port of Haskell's Data.Binary. It's
since evolved a bit from there to take advantage of the features Scala
implicits offer over Haskell type classes, but the core idea has
remained the same.
%package help
Summary: Help document for %{name}
Provides: sbinary-javadoc = %{version}-%{release}
Obsoletes: sbinary-javadoc < %{version}-%{release}
%description help
This package contains the API documentation for %{name}.
%prep
%autosetup -n sbinary-%{version} -p1
%build
mkdir -p core/target/scala-2.10/src_managed
mkdir -p core/target/scala-2.10/classes
mkdir -p core/target/scala-2.10/api
java -cp $(build-classpath fmpp freemarker bsh oro) fmpp.tools.CommandLine -S core/src -O core/target/scala-2.10/src_managed
scalac core/target/scala-2.10/src_managed/*.scala -d core/target/scala-2.10/classes
jar -cvf core/target/scala-2.10/%{name}_2.10-%{version}.jar -C core/target/scala-2.10/classes .
scaladoc core/target/scala-2.10/src_managed/*.scala -d core/target/scala-2.10/api
cat << EOF > core/target/scala-2.10/%{name}_2.10-%{version}.pom
<?xml version='1.0' encoding='UTF-8'?>
<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">
<modelVersion>4.0.0</modelVersion>
<groupId>org.scala-tools.sbinary</groupId>
<artifactId>sbinary_2.10</artifactId>
<packaging>jar</packaging>
<description>SBinary</description>
<version>%{version}</version>
<name>SBinary</name>
<organization>
<name>org.scala-tools.sbinary</name>
</organization>
<dependencies>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>2.10.3</version>
</dependency>
</dependencies>
</project>
EOF
%install
install -d %{buildroot}/%{_javadir}
install -d %{buildroot}/%{_mavenpomdir}
install -d %{buildroot}/%{_javadocdir}/%{name}
install -pm 644 core/target/scala-2.10/%{name}_2.10-%{version}.jar %{buildroot}/%{_javadir}/%{name}.jar
install -pm 644 core/target/scala-2.10/%{name}_2.10-%{version}.pom %{buildroot}/%{_mavenpomdir}/JPP-%{name}.pom
cp -rp core/target/scala-2.10/api/* %{buildroot}/%{_javadocdir}/%{name}
%add_maven_depmap JPP-%{name}.pom %{name}.jar
%files -f .mfiles
%doc LICENSE README
%files help
%{_javadocdir}/%{name}
%doc LICENSE
%changelog
* Mon Mar 9 2020 wangzhishun <wangzhishun1@huawei.com> - 0.4.2-10
- Package init