3ef8043
%global opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0)
612246a
6d78d45
%global dlnode  822
Michael Ekstrand e0ef162
612246a
Name:           ocaml-bin-prot
9b526a9
Version:        2.0.9
b7bd0a9
Release:        25%{?dist}
612246a
Summary:        Read and write OCaml values in a type-safe binary protocol
612246a
License:        LGPLv2+ with exceptions
aa462f1
Michael Ekstrand e0ef162
URL:            http://forge.ocamlcore.org/projects/bin-prot
9b526a9
Source0:        http://forge.ocamlcore.org/frs/download.php/%{dlnode}/bin_prot-%{version}.tar.gz
612246a
6d78d45
# Remove -Werror from flags.
Jerry James e3038ba
Patch1:         %{name}-2.0.9-remove-Werror.patch
Jerry James e3038ba
Jerry James e3038ba
# Update integer types for ocaml 4.02
Jerry James e3038ba
Patch2:         %{name}-2.0.9-fix-ints.patch
6d78d45
Michael Ekstrand e0ef162
BuildRequires:  ocaml >= 3.12.0
796d379
BuildRequires:  ocaml-ocamlbuild
612246a
BuildRequires:  ocaml-findlib-devel
612246a
BuildRequires:  ocaml-ocamldoc
612246a
BuildRequires:  ocaml-camlp4-devel
612246a
BuildRequires:  ocaml-ounit-devel
Michael Ekstrand e0ef162
BuildRequires:  ocaml-type-conv >= 3.0.4
612246a
BuildRequires:  chrpath
612246a
612246a
612246a
%description
612246a
This library contains functionality for reading and writing OCaml
612246a
values in a type-safe binary protocol. These functions are extremely
612246a
efficient and provide users with a convenient and safe way of
612246a
performing I/O on any extensionally defined data type. This means that
612246a
functions, objects, and values whose type is bound through a
612246a
polymorphic record field are not supported, but everything else is.
612246a
612246a
As of now, there is no support for cyclic or shared values. Cyclic
612246a
values will lead to non-termination whereas shared values, besides
612246a
requiring significantly more space when encoded, may lead to a
612246a
substantial increase in memory footprint when they are read back in.
612246a
612246a
612246a
%package        devel
612246a
Summary:        Development files for %{name}
612246a
Requires:       %{name} = %{version}-%{release}
612246a
612246a
612246a
%description    devel
612246a
The %{name}-devel package contains libraries and signature files for
612246a
developing applications that use %{name}.
612246a
612246a
612246a
%prep
9b526a9
%setup -q -n bin_prot-%{version}
6d78d45
%patch1 -p1
Jerry James e3038ba
%patch2 -p1
6d78d45
Jerry James e3038ba
# Use Fedora CFLAGS, and define ARCH_INT64_TYPE
Jerry James e3038ba
expr='                "-DARCH_INT64_TYPE";'
Jerry James e3038ba
for flag in %{optflags}; do
Jerry James e3038ba
  expr+="\\$\n"'                '"\"$flag\";"
Jerry James e3038ba
done
Jerry James e3038ba
sed -i "/-pipe/,/-Wno-long-long/c\\$expr" myocamlbuild.ml
Jerry James e3038ba
sed -i 's/;\$$/;/' myocamlbuild.ml
6d78d45
6d78d45
%build
Michael Ekstrand e0ef162
ocaml setup.ml -configure --prefix %{_prefix} \
Michael Ekstrand e0ef162
      --libdir %{_libdir} \
Michael Ekstrand e0ef162
      --libexecdir %{_libexecdir} \
Michael Ekstrand e0ef162
      --exec-prefix %{_exec_prefix} \
Michael Ekstrand e0ef162
      --bindir %{_bindir} \
Michael Ekstrand e0ef162
      --sbindir %{_sbindir} \
Michael Ekstrand e0ef162
      --mandir %{_mandir} \
Michael Ekstrand e0ef162
      --datadir %{_datadir} \
Michael Ekstrand e0ef162
      --localstatedir %{_localstatedir} \
Michael Ekstrand e0ef162
      --sharedstatedir %{_sharedstatedir} \
Michael Ekstrand e0ef162
      --destdir $RPM_BUILD_ROOT
Michael Ekstrand e0ef162
ocaml setup.ml -build
612246a
612246a
612246a
%check
Michael Ekstrand e0ef162
ocaml setup.ml -test
612246a
612246a
612246a
%install
612246a
export DESTDIR=$RPM_BUILD_ROOT
612246a
export OCAMLFIND_DESTDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml
612246a
mkdir -p $OCAMLFIND_DESTDIR $OCAMLFIND_DESTDIR/stublibs
Michael Ekstrand e0ef162
ocaml setup.ml -install
612246a
612246a
chrpath --delete $OCAMLFIND_DESTDIR/stublibs/dll*.so
612246a
612246a
612246a
%files
Jerry James e3038ba
%license COPYRIGHT LICENSE LICENSE.Tywith
612246a
%{_libdir}/ocaml/bin_prot
612246a
%if %opt
612246a
%exclude %{_libdir}/ocaml/bin_prot/*.a
612246a
%exclude %{_libdir}/ocaml/bin_prot/*.cmxa
612246a
%endif
612246a
%exclude %{_libdir}/ocaml/bin_prot/*.mli
612246a
%{_libdir}/ocaml/stublibs/*.so
612246a
%{_libdir}/ocaml/stublibs/*.so.owner
612246a
612246a
612246a
%files devel
Michael Ekstrand e0ef162
%doc Changelog README.txt
612246a
%if %opt
612246a
%{_libdir}/ocaml/bin_prot/*.a
612246a
%{_libdir}/ocaml/bin_prot/*.cmxa
612246a
%endif
612246a
%{_libdir}/ocaml/bin_prot/*.mli
612246a
612246a
612246a
%changelog
b7bd0a9
* Tue Jun 27 2017 Richard W.M. Jones <rjones@redhat.com> - 2.0.9-25
b7bd0a9
- OCaml 4.04.2 rebuild.
b7bd0a9
754d132
* Sat May 13 2017 Richard W.M. Jones <rjones@redhat.com> - 2.0.9-24
754d132
- OCaml 4.04.1 rebuild.
754d132
41be116
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.9-23
41be116
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
41be116
b2fa69e
* Tue Nov 08 2016 Richard W.M. Jones <rjones@redhat.com> - 2.0.9-22
b2fa69e
- Rebuild for OCaml 4.04.0.
b2fa69e
2b43b9c
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.9-21
2b43b9c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
2b43b9c
b4fed45
* Tue Jul 28 2015 Richard W.M. Jones <rjones@redhat.com> - 2.0.9-20
b4fed45
- OCaml 4.02.3 rebuild.
b4fed45
45e27ba
* Wed Jun 24 2015 Richard W.M. Jones <rjones@redhat.com> - 2.0.9-19
45e27ba
- ocaml-4.02.2 final rebuild.
45e27ba
d6100ab
* Thu Jun 18 2015 Richard W.M. Jones <rjones@redhat.com> - 2.0.9-18
d6100ab
- ocaml-4.02.2 rebuild.
d6100ab
e6d7d15
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.9-17
e6d7d15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
e6d7d15
5901fbb
* Tue Feb 17 2015 Richard W.M. Jones <rjones@redhat.com> - 2.0.9-16
5901fbb
- ocaml-4.02.1 rebuild.
5901fbb
Jerry James e3038ba
* Thu Sep 25 2014 Jerry James <loganjerry@gmail.com> - 2.0.9-15
Jerry James e3038ba
- Add -fix-ints patch for ocaml 4.02
Jerry James e3038ba
- Use native, rather than emulated endian-specific, 64-bit arithmetic
Jerry James e3038ba
- Fix license handling
Jerry James e3038ba
cbd6dc3
* Sun Aug 31 2014 Richard W.M. Jones <rjones@redhat.com> - 2.0.9-14
cbd6dc3
- Bump release and rebuild.
cbd6dc3
54c191d
* Sun Aug 31 2014 Richard W.M. Jones <rjones@redhat.com> - 2.0.9-13
54c191d
- ocaml-4.02.0 final rebuild.
54c191d
d191002
* Sat Aug 23 2014 Richard W.M. Jones <rjones@redhat.com> - 2.0.9-12
d191002
- ocaml-4.02.0+rc1 rebuild.
d191002
c15d369
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.9-11
c15d369
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
c15d369
184280f
* Sat Aug 02 2014 Richard W.M. Jones <rjones@redhat.com> - 2.0.9-10
184280f
- ocaml-4.02.0-0.8.git10e45753.fc22 rebuild.
184280f
f517acc
* Sat Jul 19 2014 Richard W.M. Jones <rjones@redhat.com> - 2.0.9-9
f517acc
- OCaml 4.02.0 beta rebuild.
f517acc
6d78d45
* Wed Jun 18 2014 Richard W.M. Jones <rjones@redhat.com> - 2.0.9-8
6d78d45
- Remove -Werror from compiler flags.  Fixes FTBFS (RHBZ#1106613).
6d78d45
- Move configure into build section (instead of prep).
6d78d45
- Use global instead of define.
6d78d45
ac69898
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.9-7
ac69898
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
ac69898
aa462f1
* Sat Sep 14 2013 Richard W.M. Jones <rjones@redhat.com> - 2.0.9-6
aa462f1
- Rebuild for OCaml 4.01.0.
aa462f1
- Enable debuginfo.
aa462f1
- Modernize spec file.
aa462f1
354bd64
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.9-5
354bd64
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
354bd64
7093c74
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.9-4
7093c74
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
7093c74
b4a1cc9
* Tue Oct 30 2012 Richard W.M. Jones <rjones@redhat.com> - 2.0.9-3
b4a1cc9
- Rebuild for OCaml 4.00.1.
b4a1cc9
760ea40
* Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.9-2
760ea40
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
760ea40
9b526a9
* Mon Jul  2 2012 Richard W.M. Jones <rjones@redhat.com> - 2.0.9-1
9b526a9
- New upstream version 2.0.9.
9b526a9
- Recompile for OCaml 4.00.0.
9b526a9
2ee766f
* Thu Jan 12 2012 Richard W.M. Jones <rjones@redhat.com> - 2.0.7-1
2ee766f
- New upstream version 2.0.7.
2ee766f
- Rebuild for OCaml 3.12.1.
2ee766f
Michael Ekstrand e0ef162
* Wed Sep 28 2011 Michael Ekstrand <michael@elehack.net> - 2.0.6-1
Michael Ekstrand e0ef162
- New upstream version from forge.ocamlcore.org (#741484)
Michael Ekstrand e0ef162
3753802
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.24-2
3753802
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
3753802
e918761
* Thu Jan  6 2011 Richard W.M. Jones <rjones@redhat.com> - 1.2.24-1
e918761
- New upstream version 1.2.24.
e918761
- Fix upstream URL.
e918761
- Rebuild for OCaml 3.12.0.
e918761
3ef8043
* Mon Jan 11 2010 Richard W.M. Jones <rjones@redhat.com> - 1.2.21-1
3ef8043
- New upstream version 1.2.21.
3ef8043
- Change %%define to %%global.
3ef8043
- Use upstream RPM 4.8 OCaml dependency generator.
3ef8043
612246a
* Mon Nov  9 2009 Richard W.M. Jones <rjones@redhat.com> - 1.2.20-2
612246a
- The final license of the code is LGPLv2+ with the OCaml linking
612246a
  exception.  It was derived from earlier BSD code.
612246a
- Don't duplicate the license files across base and -devel packages.
612246a
- Add note to spec about inclusion of *.ml file in -devel package.
612246a
612246a
* Mon Oct 12 2009 Richard W.M. Jones <rjones@redhat.com> - 1.2.20-1
612246a
- New upstream version 1.2.20.
612246a
612246a
* Sat Sep  5 2009 Richard W.M. Jones <rjones@redhat.com> - 1.2.18-1
612246a
- New upstream version 1.2.18.
612246a
612246a
* Fri May 16 2008 Richard W.M. Jones <rjones@redhat.com> - 1.0.5-3
612246a
- Force signed chars when compiling, as per comment from upstream author.
612246a
- Remove the part in the description which says this is only
612246a
  supported on little endian architectures.
612246a
612246a
* Mon May 12 2008 Richard W.M. Jones <rjones@redhat.com> - 1.0.5-2
612246a
- Remove ExclusiveArch, but add a Fedora README file warning about
612246a
  shortcomings on non-x86 architectures.
612246a
- Added missing dependency ocaml-type-conv.
612246a
- Move *.ml file to devel package.
612246a
612246a
* Sat May  3 2008 Richard W.M. Jones <rjones@redhat.com> - 1.0.5-1
612246a
- Initial RPM release.