Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
beb09591b3 | ||
|
81fe225e38 | ||
|
13c0a5ed2e | ||
|
500077a6c4 |
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
ancient-0.9.0.tar.gz
|
21
Makefile
21
Makefile
@ -1,21 +0,0 @@
|
|||||||
# Makefile for source rpm: ocaml-ancient
|
|
||||||
# $Id$
|
|
||||||
NAME := ocaml-ancient
|
|
||||||
SPECFILE = $(firstword $(wildcard *.spec))
|
|
||||||
|
|
||||||
define find-makefile-common
|
|
||||||
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
|
|
||||||
endef
|
|
||||||
|
|
||||||
MAKEFILE_COMMON := $(shell $(find-makefile-common))
|
|
||||||
|
|
||||||
ifeq ($(MAKEFILE_COMMON),)
|
|
||||||
# attept a checkout
|
|
||||||
define checkout-makefile-common
|
|
||||||
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
|
|
||||||
endef
|
|
||||||
|
|
||||||
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
|
|
||||||
endif
|
|
||||||
|
|
||||||
include $(MAKEFILE_COMMON)
|
|
117
ocaml-ancient.spec
Normal file
117
ocaml-ancient.spec
Normal file
@ -0,0 +1,117 @@
|
|||||||
|
%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
|
||||||
|
Release: 1%{?dist}
|
||||||
|
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
|
||||||
|
|
||||||
|
%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
|
||||||
|
* Tue May 26 2009 Richard W.M. Jones <rjones@redhat.com> - 0.9.0-1
|
||||||
|
- Initial RPM release.
|
Loading…
Reference in New Issue
Block a user