%global opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0) %global debug_package %{nil} Name: ocaml-bin-prot Version: 1.2.21 Release: 1%{?dist} Summary: Read and write OCaml values in a type-safe binary protocol Group: Development/Libraries License: LGPLv2+ with exceptions URL: http://ocaml.janestcapital.com/?q=node/13 Source0: http://hg.ocaml.info/release/bin-prot/archive/release-%{version}.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: ocaml >= 3.10.0 BuildRequires: ocaml-findlib-devel BuildRequires: ocaml-ocamldoc BuildRequires: ocaml-camlp4-devel BuildRequires: ocaml-ounit-devel BuildRequires: ocaml-type-conv >= 1.5.0 BuildRequires: chrpath BuildRequires: dos2unix %description This library contains functionality for reading and writing OCaml values in a type-safe binary protocol. These functions are extremely efficient and provide users with a convenient and safe way of performing I/O on any extensionally defined data type. This means that functions, objects, and values whose type is bound through a polymorphic record field are not supported, but everything else is. As of now, there is no support for cyclic or shared values. Cyclic values will lead to non-termination whereas shared values, besides requiring significantly more space when encoded, may lead to a substantial increase in memory footprint when they are read back in. %package devel Summary: Development files for %{name} Group: Development/Libraries 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 bin-prot-release-%{version} dos2unix LICENSE.Tywith %build make cat > README.Fedora <<EOT This package is available for non-x86 architectures in Fedora, but there may be shortcomings. In particular, you will not be able to interchange data between little-endian and big-endian machines. For more details see: http://caml.inria.fr/pub/ml-archives/caml-list/2008/05/56cf55b101f21b608feb64c75b92c679.en.html - RWMJ 2008/05/05 EOT %check # I couldn't find a 'make test' rule, but this works as well: ./lib_test/test_runner ./lib_test/mac_test %install rm -rf $RPM_BUILD_ROOT export DESTDIR=$RPM_BUILD_ROOT export OCAMLFIND_DESTDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml mkdir -p $OCAMLFIND_DESTDIR $OCAMLFIND_DESTDIR/stublibs make install strip $OCAMLFIND_DESTDIR/stublibs/dll*.so chrpath --delete $OCAMLFIND_DESTDIR/stublibs/dll*.so %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root,-) %doc COPYRIGHT LICENSE LICENSE.Tywith %{_libdir}/ocaml/bin_prot %if %opt %exclude %{_libdir}/ocaml/bin_prot/*.a %exclude %{_libdir}/ocaml/bin_prot/*.cmxa %endif %exclude %{_libdir}/ocaml/bin_prot/*.mli %exclude %{_libdir}/ocaml/bin_prot/*.ml %{_libdir}/ocaml/stublibs/*.so %{_libdir}/ocaml/stublibs/*.so.owner %files devel %defattr(-,root,root,-) %doc Changelog README.txt README.Fedora %if %opt %{_libdir}/ocaml/bin_prot/*.a %{_libdir}/ocaml/bin_prot/*.cmxa %endif %{_libdir}/ocaml/bin_prot/*.mli # This is fine because there is no corresponding .mli file for # the .ml file which is included. %{_libdir}/ocaml/bin_prot/*.ml %changelog * Mon Jan 11 2010 Richard W.M. Jones <rjones@redhat.com> - 1.2.21-1 - New upstream version 1.2.21. - Change %%define to %%global. - Use upstream RPM 4.8 OCaml dependency generator. * Mon Nov 9 2009 Richard W.M. Jones <rjones@redhat.com> - 1.2.20-2 - The final license of the code is LGPLv2+ with the OCaml linking exception. It was derived from earlier BSD code. - Don't duplicate the license files across base and -devel packages. - Add note to spec about inclusion of *.ml file in -devel package. * Mon Oct 12 2009 Richard W.M. Jones <rjones@redhat.com> - 1.2.20-1 - New upstream version 1.2.20. * Sat Sep 5 2009 Richard W.M. Jones <rjones@redhat.com> - 1.2.18-1 - New upstream version 1.2.18. * Fri May 16 2008 Richard W.M. Jones <rjones@redhat.com> - 1.0.5-3 - Force signed chars when compiling, as per comment from upstream author. - Remove the part in the description which says this is only supported on little endian architectures. * Mon May 12 2008 Richard W.M. Jones <rjones@redhat.com> - 1.0.5-2 - Remove ExclusiveArch, but add a Fedora README file warning about shortcomings on non-x86 architectures. - Added missing dependency ocaml-type-conv. - Move *.ml file to devel package. * Sat May 3 2008 Richard W.M. Jones <rjones@redhat.com> - 1.0.5-1 - Initial RPM release.