2009-06-04 17:43:03 +00:00
|
|
|
%define opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0)
|
|
|
|
%define debug_package %{nil}
|
|
|
|
|
|
|
|
%define ocamllibdir %{_libdir}/ocaml
|
|
|
|
|
|
|
|
Name: ocaml-ancient
|
|
|
|
Version: 0.9.0
|
2011-02-09 01:35:10 +00:00
|
|
|
Release: 6%{?dist}
|
2009-06-04 17:43:03 +00:00
|
|
|
Summary: OCaml library for large memory structures and sharing
|
|
|
|
|
|
|
|
Group: Development/Libraries
|
|
|
|
License: LGPLv2+ with exceptions
|
|
|
|
URL: http://merjis.com/developers/ancient
|
|
|
|
Source0: http://merjis.com/_file/ancient-%{version}.tar.gz
|
|
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
|
|
|
|
|
|
|
BuildRequires: ocaml >= 3.10.0
|
|
|
|
BuildRequires: ocaml-findlib-devel
|
|
|
|
BuildRequires: ocaml-ocamldoc
|
|
|
|
BuildRequires: chrpath
|
2009-09-22 19:55:31 +00:00
|
|
|
ExcludeArch: sparc64 s390 s390x
|
2009-06-04 17:43:03 +00:00
|
|
|
|
|
|
|
%define _use_internal_dependency_generator 0
|
|
|
|
%define __find_requires /usr/lib/rpm/ocaml-find-requires.sh
|
|
|
|
%define __find_provides /usr/lib/rpm/ocaml-find-provides.sh
|
|
|
|
|
|
|
|
|
|
|
|
%description
|
|
|
|
Ancient is an OCaml module that allows you to use in-memory data
|
|
|
|
structures which are larger than available memory and so are kept in
|
|
|
|
swap. If you try this in normal OCaml code, you'll find that the
|
|
|
|
machine quickly descends into thrashing as the garbage collector
|
|
|
|
repeatedly iterates over swapped memory structures. This module lets
|
|
|
|
you break that limitation. Of course the module doesn't work by magic.
|
|
|
|
If your program tries to access these large structures, they still
|
|
|
|
need to be swapped back in, but it is suitable for large, sparsely
|
|
|
|
accessed structures.
|
|
|
|
|
|
|
|
Secondly, this module allows you to share those structures between
|
|
|
|
processes. In this mode, the structures are backed by a disk file, and
|
|
|
|
any process that has read/write access to that disk file can map that
|
|
|
|
file in and see the structures.
|
|
|
|
|
|
|
|
Developers should read the README.txt file included with the
|
|
|
|
ocaml-ancient-devel package carefully.
|
|
|
|
|
|
|
|
|
|
|
|
%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 ancient-%{version}
|
|
|
|
|
|
|
|
|
|
|
|
%build
|
|
|
|
pushd mmalloc
|
|
|
|
%configure
|
|
|
|
make
|
|
|
|
popd
|
|
|
|
|
|
|
|
make CFLAGS='-g -fPIC -Wall -Werror -I%{ocamllibdir} -DOCAML_VERSION_MAJOR=$(OCAML_VERSION_MAJOR) -DOCAML_VERSION_MINOR=$(OCAML_VERSION_MINOR) %{optflags}'
|
|
|
|
|
|
|
|
make doc ||:
|
|
|
|
|
|
|
|
|
|
|
|
%install
|
|
|
|
rm -rf $RPM_BUILD_ROOT
|
|
|
|
export DESTDIR=$RPM_BUILD_ROOT
|
|
|
|
export OCAMLFIND_DESTDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml
|
|
|
|
mkdir -p $RPM_BUILD_ROOT%{_libdir}
|
|
|
|
mkdir -p $OCAMLFIND_DESTDIR $OCAMLFIND_DESTDIR/stublibs
|
|
|
|
ocamlfind install ancient ancient.cmi *.mli *.cma ancient.cmx *.cmxa *.a *.so \
|
|
|
|
mmalloc/*.a META
|
|
|
|
|
|
|
|
strip $OCAMLFIND_DESTDIR/stublibs/dll*.so
|
|
|
|
chrpath --delete $OCAMLFIND_DESTDIR/stublibs/dll*.so
|
|
|
|
|
|
|
|
|
|
|
|
%clean
|
|
|
|
rm -rf $RPM_BUILD_ROOT
|
|
|
|
|
|
|
|
|
|
|
|
%files
|
|
|
|
%defattr(-,root,root,-)
|
|
|
|
%doc mmalloc/COPYING.LIB
|
|
|
|
%{_libdir}/ocaml/ancient
|
|
|
|
%if %opt
|
|
|
|
%exclude %{_libdir}/ocaml/ancient/*.a
|
|
|
|
%exclude %{_libdir}/ocaml/ancient/*.cmxa
|
|
|
|
%exclude %{_libdir}/ocaml/ancient/*.cmx
|
|
|
|
%endif
|
|
|
|
%exclude %{_libdir}/ocaml/ancient/*.mli
|
|
|
|
%{_libdir}/ocaml/stublibs/*.so
|
|
|
|
%{_libdir}/ocaml/stublibs/*.so.owner
|
|
|
|
|
|
|
|
|
|
|
|
%files devel
|
|
|
|
%defattr(-,root,root,-)
|
|
|
|
%doc README.txt html/*
|
|
|
|
%if %opt
|
|
|
|
%{_libdir}/ocaml/ancient/*.a
|
|
|
|
%{_libdir}/ocaml/ancient/*.cmxa
|
|
|
|
%{_libdir}/ocaml/ancient/*.cmx
|
|
|
|
%endif
|
|
|
|
%{_libdir}/ocaml/ancient/*.mli
|
|
|
|
|
|
|
|
|
|
|
|
%changelog
|
2011-02-09 01:35:10 +00:00
|
|
|
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.0-6
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
|
|
|
|
2011-01-06 16:18:14 +00:00
|
|
|
* Thu Jan 06 2011 Richard W.M. Jones <rjones@redhat.com> - 0.9.0-5
|
|
|
|
- Rebuild for OCaml 3.12 (http://fedoraproject.org/wiki/Features/OCaml3.12).
|
|
|
|
|
2009-12-30 13:47:28 +00:00
|
|
|
* Wed Dec 30 2009 Richard W.M. Jones <rjones@redhat.com> - 0.9.0-4
|
|
|
|
- Rebuild for OCaml 3.11.2.
|
|
|
|
|
2009-09-22 19:55:31 +00:00
|
|
|
* Tue Sep 22 2009 Dennis Gilmore <dennis@ausil.us> - 0.9.0-3
|
|
|
|
- ExcludeArch sparc64 s390 s390x no ocaml
|
|
|
|
|
2009-07-25 19:50:00 +00:00
|
|
|
* Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.0-2
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
|
|
|
|
2009-06-04 17:43:03 +00:00
|
|
|
* Tue May 26 2009 Richard W.M. Jones <rjones@redhat.com> - 0.9.0-1
|
|
|
|
- Initial RPM release.
|