From 6306efd39970a8e8acef2f8c783ce7fa4f618381 Mon Sep 17 00:00:00 2001 From: Michel Alexandre Salim Date: Thu, 23 Jan 2014 14:37:28 +0700 Subject: ocaml-biniou: review feedback --- ocaml/ocaml-biniou.spec | 59 ++++++++++++++++++++++++++++++------------------- 1 file changed, 36 insertions(+), 23 deletions(-) diff --git a/ocaml/ocaml-biniou.spec b/ocaml/ocaml-biniou.spec index 1936183..f04e395 100644 --- a/ocaml/ocaml-biniou.spec +++ b/ocaml/ocaml-biniou.spec @@ -1,44 +1,42 @@ %global opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0) +%if !%{opt} %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-//') +%endif Name: ocaml-biniou Version: 1.0.9 -Release: 1%{?dist} +Release: 2%{?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 + +ExclusiveArch: %{ocaml_arches} BuildRequires: ocaml >= 3.10.0 -BuildRequires: ocaml-findlib-devel +BuildRequires: ocaml-findlib BuildRequires: ocaml-easy-format-devel BuildRequires: ocaml-ocamldoc +%global libname %(echo %{name} | sed -e 's/^ocaml-//') + %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. +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} +Requires: %{name}%{?_isa} = %{version}-%{release} %description devel The %{name}-devel package contains libraries and signature files for @@ -47,54 +45,69 @@ developing applications that use %{name}. %prep %setup -q -n %{libname}-%{version} -%patch0 -p1 -b .destdir +sed -i.add-debuginfo \ + 's/ocamlopt/ocamlopt -g/;s/ocamlc \(-[co]\)/ocamlc -g \1/' \ + Makefile %build -# You may need a %%configure step here (or ./configure if it doesn't work). -make +# not thread safe - intermittent build failures as per 1.0.2 +# see http://www.cmake.org/pipermail/cmake/2010-January/034746.html +# for similar problem +%global _smp_mflags %{nil} +make %{?_smp_mflags} all %if %opt -make opt +make %{?_smp_mflags} opt %endif +make %{?_smp_mflags} META %install rm -rf $RPM_BUILD_ROOT # These rules work if the library uses 'ocamlfind install' to install itself. -export DESTDIR=$RPM_BUILD_ROOT +export PREFIX=$RPM_BUILD_ROOT%{_prefix} export OCAMLFIND_DESTDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml mkdir -p $RPM_BUILD_ROOT%{_bindir} mkdir -p $OCAMLFIND_DESTDIR -make install +make install #DESTDIR=$RPM_BUILD_ROOT + +%if %opt +# avoid potential future name conflict +mv $RPM_BUILD_ROOT%{_bindir}/{,ocaml-}bdump +%endif -strip $RPM_BUILD_ROOT%{_bindir}/bdump -strip $OCAMLFIND_DESTDIR/%{libname}/*.cmxs + +%check +make test %files %doc LICENSE -%{_bindir}/bdump %{_libdir}/ocaml/%{libname}/ %if %opt %exclude %{_libdir}/ocaml/*/*.a %exclude %{_libdir}/ocaml/*/*.cmxa %exclude %{_libdir}/ocaml/*/*.cmx +%exclude %{_libdir}/ocaml/*/*.o %endif %exclude %{_libdir}/ocaml/*/*.mli -%exclude %{_libdir}/ocaml/*/*.o %files devel %doc LICENSE README.md Changes %if %opt +%{_bindir}/ocaml-bdump %{_libdir}/ocaml/*/*.a %{_libdir}/ocaml/*/*.cmxa %{_libdir}/ocaml/*/*.cmx +%{_libdir}/ocaml/*/*.o %endif %{_libdir}/ocaml/*/*.mli -%{_libdir}/ocaml/*/*.o %changelog +* Thu Jan 23 2014 Michel Salim - 1.0.9-2 +- Incorporate review feedback + * Mon Jan 20 2014 Michel Salim - 1.0.9-1 - Initial package -- cgit