ocaml-bin-prot/ocaml-bin-prot.spec
2018-06-20 20:41:34 +01:00

270 lines
9.1 KiB
RPMSpec

%global opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0)
%global dlnode 822
Name: ocaml-bin-prot
Version: 2.0.9
Release: 31%{?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 Jun 20 2018 Richard W.M. Jones <rjones@redhat.com> - 2.0.9-31
- OCaml 4.07.0-rc1 rebuild.
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.9-30
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Fri Nov 17 2017 Richard W.M. Jones <rjones@redhat.com> - 2.0.9-29
- OCaml 4.06.0 rebuild.
* Tue Aug 08 2017 Richard W.M. Jones <rjones@redhat.com> - 2.0.9-28
- OCaml 4.05.0 rebuild.
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.9-27
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.9-26
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Tue Jun 27 2017 Richard W.M. Jones <rjones@redhat.com> - 2.0.9-25
- OCaml 4.04.2 rebuild.
* Sat May 13 2017 Richard W.M. Jones <rjones@redhat.com> - 2.0.9-24
- OCaml 4.04.1 rebuild.
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.9-23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Tue Nov 08 2016 Richard W.M. Jones <rjones@redhat.com> - 2.0.9-22
- Rebuild for OCaml 4.04.0.
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.9-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Tue Jul 28 2015 Richard W.M. Jones <rjones@redhat.com> - 2.0.9-20
- OCaml 4.02.3 rebuild.
* Wed Jun 24 2015 Richard W.M. Jones <rjones@redhat.com> - 2.0.9-19
- ocaml-4.02.2 final rebuild.
* Thu Jun 18 2015 Richard W.M. Jones <rjones@redhat.com> - 2.0.9-18
- ocaml-4.02.2 rebuild.
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.9-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Tue Feb 17 2015 Richard W.M. Jones <rjones@redhat.com> - 2.0.9-16
- ocaml-4.02.1 rebuild.
* Thu Sep 25 2014 Jerry James <loganjerry@gmail.com> - 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 <rjones@redhat.com> - 2.0.9-14
- Bump release and rebuild.
* Sun Aug 31 2014 Richard W.M. Jones <rjones@redhat.com> - 2.0.9-13
- ocaml-4.02.0 final rebuild.
* Sat Aug 23 2014 Richard W.M. Jones <rjones@redhat.com> - 2.0.9-12
- ocaml-4.02.0+rc1 rebuild.
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.9-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sat Aug 02 2014 Richard W.M. Jones <rjones@redhat.com> - 2.0.9-10
- ocaml-4.02.0-0.8.git10e45753.fc22 rebuild.
* Sat Jul 19 2014 Richard W.M. Jones <rjones@redhat.com> - 2.0.9-9
- OCaml 4.02.0 beta rebuild.
* Wed Jun 18 2014 Richard W.M. Jones <rjones@redhat.com> - 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 <rel-eng@lists.fedoraproject.org> - 2.0.9-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Sat Sep 14 2013 Richard W.M. Jones <rjones@redhat.com> - 2.0.9-6
- Rebuild for OCaml 4.01.0.
- Enable debuginfo.
- Modernize spec file.
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.9-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.9-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Tue Oct 30 2012 Richard W.M. Jones <rjones@redhat.com> - 2.0.9-3
- Rebuild for OCaml 4.00.1.
* Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.9-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Mon Jul 2 2012 Richard W.M. Jones <rjones@redhat.com> - 2.0.9-1
- New upstream version 2.0.9.
- Recompile for OCaml 4.00.0.
* Thu Jan 12 2012 Richard W.M. Jones <rjones@redhat.com> - 2.0.7-1
- New upstream version 2.0.7.
- Rebuild for OCaml 3.12.1.
* Wed Sep 28 2011 Michael Ekstrand <michael@elehack.net> - 2.0.6-1
- New upstream version from forge.ocamlcore.org (#741484)
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.24-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Thu Jan 6 2011 Richard W.M. Jones <rjones@redhat.com> - 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 <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.