ocaml-biniou/ocaml-biniou.spec

163 lines
4.6 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: 18%{?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
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
# The upstream Makefile doesn't know how to build the tests
# without ocamlopt, so:
%if %opt
make test
%endif
%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 Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.9-18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Tue Jul 28 2015 Richard W.M. Jones <rjones@redhat.com> - 1.0.9-17
- OCaml 4.02.3 rebuild.
* Tue Jul 21 2015 Richard W.M. Jones <rjones@redhat.com> - 1.0.9-16
- Enable bytecode compilation.
* Wed Jun 24 2015 Richard W.M. Jones <rjones@redhat.com> - 1.0.9-15
- Bump release and rebuild.
* Wed Jun 24 2015 Richard W.M. Jones <rjones@redhat.com> - 1.0.9-14
- ocaml-4.02.2 final rebuild.
* Wed Jun 17 2015 Richard W.M. Jones <rjones@redhat.com> - 1.0.9-13
- ocaml-4.02.2 rebuild.
* Tue Feb 17 2015 Richard W.M. Jones <rjones@redhat.com> - 1.0.9-12
- ocaml-4.02.1 rebuild.
* Sun Aug 31 2014 Richard W.M. Jones <rjones@redhat.com> - 1.0.9-11
- Bump release and rebuild.
* Sat Aug 30 2014 Richard W.M. Jones <rjones@redhat.com> - 1.0.9-10
- ocaml-4.02.0 final rebuild.
* Sat Aug 23 2014 Richard W.M. Jones <rjones@redhat.com> - 1.0.9-9
- ocaml-4.02.0+rc1 rebuild.
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.9-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sat Aug 02 2014 Richard W.M. Jones <rjones@redhat.com> - 1.0.9-7
- Bump release and rebuild.
* Sat Aug 02 2014 Richard W.M. Jones <rjones@redhat.com> - 1.0.9-6
- ocaml-4.02.0-0.8.git10e45753.fc22 rebuild.
* Fri Jul 25 2014 Richard W.M. Jones <rjones@redhat.com> - 1.0.9-5
- OCaml 4.02.0 beta rebuild.
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.9-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Thu Apr 24 2014 Jaromir Capik <jcapik@redhat.com> - 1.0.9-3
- Removing ExclusiveArch
* 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