summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichel Alexandre Salim <salimma@fedoraproject.org>2014-01-23 14:37:28 +0700
committerMichel Alexandre Salim <salimma@fedoraproject.org>2014-01-23 14:37:28 +0700
commit6306efd39970a8e8acef2f8c783ce7fa4f618381 (patch)
treeb551ec3741c3ac3e04ac0892d37876b250704f72
parent9f0e2f9d7d7476533247a90e64a5fab96b6aa5c9 (diff)
downloadspecs-6306efd39970a8e8acef2f8c783ce7fa4f618381.tar.gz
specs-6306efd39970a8e8acef2f8c783ce7fa4f618381.tar.xz
specs-6306efd39970a8e8acef2f8c783ce7fa4f618381.zip
ocaml-biniou: review feedback
-rw-r--r--ocaml/ocaml-biniou.spec59
1 files 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 <salimma@fedoraproject.org> - 1.0.9-2
+- Incorporate review feedback
+
* Mon Jan 20 2014 Michel Salim <salimma@fedoraproject.org> - 1.0.9-1
- Initial package