%global opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0) %global dlnode 822 Name: ocaml-bin-prot Version: 2.0.9 Release: 32%{?dist} Summary: Read and write OCaml values in a type-safe binary protocol License: LGPLv2+ with exceptions URL: http://forge.ocamlcore.org/projects/bin-prot Source0: http://forge.ocamlcore.org/frs/download.php/%{dlnode}/bin_prot-%{version}.tar.gz # Remove -Werror from flags. Patch1: %{name}-2.0.9-remove-Werror.patch # Update integer types for ocaml 4.02 Patch2: %{name}-2.0.9-fix-ints.patch # Safe-string fixes for OCaml 4.06. Patch3: bin-prot-2.0.9-safe-string.patch # Fix "naked" line directive for OCaml 4.07. Patch4: bin_prot-2.0.9-fix-line-directive.patch BuildRequires: ocaml >= 3.12.0 BuildRequires: ocaml-ocamlbuild BuildRequires: ocaml-findlib-devel BuildRequires: ocaml-ocamldoc BuildRequires: ocaml-camlp4-devel BuildRequires: ocaml-ounit-devel BuildRequires: ocaml-type-conv >= 3.0.4 BuildRequires: chrpath %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} 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-%{version} %patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 # Use Fedora CFLAGS, and define ARCH_INT64_TYPE expr=' "-DARCH_INT64_TYPE";' for flag in %{optflags}; do expr+="\\$\n"' '"\"$flag\";" done sed -i "/-pipe/,/-Wno-long-long/c\\$expr" myocamlbuild.ml sed -i 's/;\$$/;/' myocamlbuild.ml %build ocaml setup.ml -configure --prefix %{_prefix} \ --libdir %{_libdir} \ --libexecdir %{_libexecdir} \ --exec-prefix %{_exec_prefix} \ --bindir %{_bindir} \ --sbindir %{_sbindir} \ --mandir %{_mandir} \ --datadir %{_datadir} \ --localstatedir %{_localstatedir} \ --sharedstatedir %{_sharedstatedir} \ --destdir $RPM_BUILD_ROOT ocaml setup.ml -build %check ocaml setup.ml -test %install export DESTDIR=$RPM_BUILD_ROOT export OCAMLFIND_DESTDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml mkdir -p $OCAMLFIND_DESTDIR $OCAMLFIND_DESTDIR/stublibs ocaml setup.ml -install chrpath --delete $OCAMLFIND_DESTDIR/stublibs/dll*.so %files %license 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 %{_libdir}/ocaml/stublibs/*.so %{_libdir}/ocaml/stublibs/*.so.owner %files devel %doc Changelog README.txt %if %opt %{_libdir}/ocaml/bin_prot/*.a %{_libdir}/ocaml/bin_prot/*.cmxa %endif %{_libdir}/ocaml/bin_prot/*.mli %changelog * Wed Jul 11 2018 Richard W.M. Jones - 2.0.9-32 - OCaml 4.07.0 (final) rebuild. * Wed Jun 20 2018 Richard W.M. Jones - 2.0.9-31 - OCaml 4.07.0-rc1 rebuild. * Thu Feb 08 2018 Fedora Release Engineering - 2.0.9-30 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Fri Nov 17 2017 Richard W.M. Jones - 2.0.9-29 - OCaml 4.06.0 rebuild. * Tue Aug 08 2017 Richard W.M. Jones - 2.0.9-28 - OCaml 4.05.0 rebuild. * Thu Aug 03 2017 Fedora Release Engineering - 2.0.9-27 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Thu Jul 27 2017 Fedora Release Engineering - 2.0.9-26 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Tue Jun 27 2017 Richard W.M. Jones - 2.0.9-25 - OCaml 4.04.2 rebuild. * Sat May 13 2017 Richard W.M. Jones - 2.0.9-24 - OCaml 4.04.1 rebuild. * Sat Feb 11 2017 Fedora Release Engineering - 2.0.9-23 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Tue Nov 08 2016 Richard W.M. Jones - 2.0.9-22 - Rebuild for OCaml 4.04.0. * Thu Feb 04 2016 Fedora Release Engineering - 2.0.9-21 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Tue Jul 28 2015 Richard W.M. Jones - 2.0.9-20 - OCaml 4.02.3 rebuild. * Wed Jun 24 2015 Richard W.M. Jones - 2.0.9-19 - ocaml-4.02.2 final rebuild. * Thu Jun 18 2015 Richard W.M. Jones - 2.0.9-18 - ocaml-4.02.2 rebuild. * Wed Jun 17 2015 Fedora Release Engineering - 2.0.9-17 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Tue Feb 17 2015 Richard W.M. Jones - 2.0.9-16 - ocaml-4.02.1 rebuild. * Thu Sep 25 2014 Jerry James - 2.0.9-15 - Add -fix-ints patch for ocaml 4.02 - Use native, rather than emulated endian-specific, 64-bit arithmetic - Fix license handling * Sun Aug 31 2014 Richard W.M. Jones - 2.0.9-14 - Bump release and rebuild. * Sun Aug 31 2014 Richard W.M. Jones - 2.0.9-13 - ocaml-4.02.0 final rebuild. * Sat Aug 23 2014 Richard W.M. Jones - 2.0.9-12 - ocaml-4.02.0+rc1 rebuild. * Sun Aug 17 2014 Fedora Release Engineering - 2.0.9-11 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Sat Aug 02 2014 Richard W.M. Jones - 2.0.9-10 - ocaml-4.02.0-0.8.git10e45753.fc22 rebuild. * Sat Jul 19 2014 Richard W.M. Jones - 2.0.9-9 - OCaml 4.02.0 beta rebuild. * Wed Jun 18 2014 Richard W.M. Jones - 2.0.9-8 - Remove -Werror from compiler flags. Fixes FTBFS (RHBZ#1106613). - Move configure into build section (instead of prep). - Use global instead of define. * Sat Jun 07 2014 Fedora Release Engineering - 2.0.9-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Sat Sep 14 2013 Richard W.M. Jones - 2.0.9-6 - Rebuild for OCaml 4.01.0. - Enable debuginfo. - Modernize spec file. * Sat Aug 03 2013 Fedora Release Engineering - 2.0.9-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Thu Feb 14 2013 Fedora Release Engineering - 2.0.9-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Tue Oct 30 2012 Richard W.M. Jones - 2.0.9-3 - Rebuild for OCaml 4.00.1. * Fri Jul 20 2012 Fedora Release Engineering - 2.0.9-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Mon Jul 2 2012 Richard W.M. Jones - 2.0.9-1 - New upstream version 2.0.9. - Recompile for OCaml 4.00.0. * Thu Jan 12 2012 Richard W.M. Jones - 2.0.7-1 - New upstream version 2.0.7. - Rebuild for OCaml 3.12.1. * Wed Sep 28 2011 Michael Ekstrand - 2.0.6-1 - New upstream version from forge.ocamlcore.org (#741484) * Tue Feb 08 2011 Fedora Release Engineering - 1.2.24-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Thu Jan 6 2011 Richard W.M. Jones - 1.2.24-1 - New upstream version 1.2.24. - Fix upstream URL. - Rebuild for OCaml 3.12.0. * Mon Jan 11 2010 Richard W.M. Jones - 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 - 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 - 1.2.20-1 - New upstream version 1.2.20. * Sat Sep 5 2009 Richard W.M. Jones - 1.2.18-1 - New upstream version 1.2.18. * Fri May 16 2008 Richard W.M. Jones - 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 - 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 - 1.0.5-1 - Initial RPM release.