113 lines
2.8 KiB
RPMSpec
113 lines
2.8 KiB
RPMSpec
|
%global opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0)
|
||
|
%if !%{opt}
|
||
|
%global debug_package %{nil}
|
||
|
%endif
|
||
|
|
||
|
Name: ocaml-biniou
|
||
|
Version: 1.0.9
|
||
|
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
|
||
|
|
||
|
ExclusiveArch: %{ocaml_arches}
|
||
|
|
||
|
BuildRequires: ocaml >= 3.10.0
|
||
|
BuildRequires: ocaml-findlib
|
||
|
BuildRequires: ocaml-easy-format-devel
|
||
|
BuildRequires: ocaml-ocamldoc
|
||
|
|
||
|
%global libname %(sed -e 's/^ocaml-//' <<< %{name})
|
||
|
|
||
|
%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.
|
||
|
|
||
|
|
||
|
%package devel
|
||
|
Summary: Development files for %{name}
|
||
|
Requires: %{name}%{?_isa} = %{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}
|
||
|
sed -i.add-debuginfo \
|
||
|
's/ocamlopt/ocamlopt -g/;s/ocamlc \(-[co]\)/ocamlc -g \1/' \
|
||
|
Makefile
|
||
|
|
||
|
|
||
|
%build
|
||
|
# 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 %{?_smp_mflags} opt
|
||
|
%endif
|
||
|
make %{?_smp_mflags} META
|
||
|
|
||
|
|
||
|
%install
|
||
|
# These rules work if the library uses 'ocamlfind install' to install itself.
|
||
|
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 #DESTDIR=$RPM_BUILD_ROOT
|
||
|
|
||
|
%if %opt
|
||
|
# avoid potential future name conflict
|
||
|
mv $RPM_BUILD_ROOT%{_bindir}/{,ocaml-}bdump
|
||
|
%endif
|
||
|
|
||
|
|
||
|
%check
|
||
|
make test
|
||
|
|
||
|
|
||
|
%files
|
||
|
%doc LICENSE
|
||
|
%{_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
|
||
|
|
||
|
|
||
|
%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
|
||
|
|
||
|
|
||
|
%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
|