147 lines
4.5 KiB
RPMSpec
147 lines
4.5 KiB
RPMSpec
%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.
|