diff options
Diffstat (limited to 'ocaml/ocaml-biniou.spec')
-rw-r--r-- | ocaml/ocaml-biniou.spec | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/ocaml/ocaml-biniou.spec b/ocaml/ocaml-biniou.spec new file mode 100644 index 0000000..89bd77d --- /dev/null +++ b/ocaml/ocaml-biniou.spec @@ -0,0 +1,102 @@ +%global opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0) +%global debug_package %{nil} +%global _use_internal_dependency_generator 0 +%global __find_requires /usr/lib/rpm/ocaml-find-requires.sh +%global __find_provides /usr/lib/rpm/ocaml-find-provides.sh +%define libname %(echo %{name} | sed -e 's/^ocaml-//') + +Name: ocaml-biniou +Version: 1.0.9 +Release: 1%{?dist} +Summary: Safe and fast binary data format + +License: BSD +URL: http://mjambon.com/biniou.html +Source0: http://mjambon.com/releases/biniou/biniou-%{version}.tar.gz +Patch0: %{libname}-1.0.9-destdir.patch + +BuildRequires: ocaml >= 3.10.0 +BuildRequires: ocaml-findlib-devel +BuildRequires: ocaml-easy-format-devel +BuildRequires: ocaml-ocamldoc +BuildRequires: chrpath + +%description +Biniou (pronounced "be new") is a binary data format designed for +speed, safety, ease of use and backward compatibility as protocols +evolve. Biniou is vastly equivalent to JSON in terms of functionality +but allows implementations several times faster (4 times faster than +yojson), with 25-35% space savings. + +Biniou data can be decoded into human-readable form without knowledge +of type definitions except for field and variant names which are +represented by 31-bit hashes. A program named bdump is provided for +routine visualization of biniou data files. + +The program atdgen can be used to derive OCaml-Biniou serializers and +deserializers from type definitions. + + +%package devel +Summary: Development files for %{name} +Requires: %{name} = %{version}-%{release} + +%description devel +The %{name}-devel package contains libraries and signature files for +developing applications that use %{name}. + + +%prep +%setup -q -n %{libname}-%{version} +%patch0 -p1 -b .destdir + + +%build +# You may need a %%configure step here (or ./configure if it doesn't work). +make +%if %opt +make opt +%endif + + +%install +rm -rf $RPM_BUILD_ROOT +# These rules work if the library uses 'ocamlfind install' to install itself. +export DESTDIR=$RPM_BUILD_ROOT +export OCAMLFIND_DESTDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml +mkdir -p $RPM_BUILD_ROOT%{_bindir} +mkdir -p $OCAMLFIND_DESTDIR +make install + +strip $RPM_BUILD_ROOT%{_bindir}/bdump +strip $OCAMLFIND_DESTDIR/%{libname}/*.cmxs +#chrpath --delete $OCAMLFIND_DESTDIR/stublibs/dll*.so + + +%files +%doc LICENSE +%{_bindir}/bdump +%{_libdir}/ocaml/%{libname}/ +%if %opt +%exclude %{_libdir}/ocaml/*/*.a +%exclude %{_libdir}/ocaml/*/*.cmxa +%exclude %{_libdir}/ocaml/*/*.cmx +%endif +%exclude %{_libdir}/ocaml/*/*.mli +%exclude %{_libdir}/ocaml/*/*.o + + +%files devel +%doc LICENSE README.md Changes +%if %opt +%{_libdir}/ocaml/*/*.a +%{_libdir}/ocaml/*/*.cmxa +%{_libdir}/ocaml/*/*.cmx +%endif +%{_libdir}/ocaml/*/*.mli +%{_libdir}/ocaml/*/*.o + + +%changelog +* Mon Jan 20 2014 Michel Salim <salimma@fedoraproject.org> - 1.0.9-1 +- Initial package |