[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

OCaml find-requires and find-provides

Here are some working find-requires and find-provides scripts for OCaml. The produce dependencies according to what I wrote about here:


(Ignore the earlier versions of the same scripts attached to that email).

To use them is simply a matter of adding the following lines to a spec file:

%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

Also attached is a patch to the ocaml.spec file to install these.

I've got working specs/SRPMs for ocaml-findlib, ocaml-extlib, ocaml-pcre and ocaml-calendar, which I'm going to put into BZ shortly as review requests.


Emerging Technologies, Red Hat - http://et.redhat.com/~rjones/
Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod
Street, Windsor, Berkshire, SL4 1TE, United Kingdom.  Registered in
England and Wales under Company Registration No. 03798903
Index: ocaml.spec
RCS file: /home/remote/rjones/cvsroot/redhat/ocaml/ocaml/ocaml.spec,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ocaml.spec	18 May 2007 12:16:15 -0000	1.1
+++ ocaml.spec	25 May 2007 17:18:45 -0000	1.2
@@ -1,6 +1,6 @@
 Name:		ocaml
 Version:	3.09.3
-Release: 	1%{?dist}
+Release: 	2%{?dist}
 Summary:	Objective Caml compiler and programming environment
@@ -11,6 +11,8 @@
 Source1:	http://caml.inria.fr/distrib/ocaml-3.09/ocaml-3.09-refman.html.tar.gz
 Source2:	http://caml.inria.fr/distrib/ocaml-3.09/ocaml-3.09-refman.pdf
 Source3:	http://caml.inria.fr/distrib/ocaml-3.09/ocaml-3.09-refman.info.tar.gz
+Source4:	ocaml-find-requires.sh
+Source5:	ocaml-find-provides.sh
 Patch0:		ocaml-rpath.patch
 Patch1:		ocaml-user-cflags.patch
 BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -32,6 +34,11 @@
 Requires(post):	/sbin/install-info
 Requires(preun): /sbin/install-info
+%define _use_internal_dependency_generator 0
+%define __find_requires %{SOURCE4} -i Asttypes -i Outcometree -c
+%define __find_provides %{SOURCE5}
 Objective Caml is a high-level, strongly-typed, functional and
 object-oriented programming language from the ML family of languages.
@@ -110,6 +117,7 @@
 make world opt opt.opt
 # %{?_smp_mflags} breaks the build
 (cd emacs; make ocamltags)
+make -C tools objinfo
@@ -125,6 +133,10 @@
     mkdir -p $RPM_BUILD_ROOT%{_infodir};
     cd infoman; cp ocaml*.gz $RPM_BUILD_ROOT%{_infodir}
+cp tools/objinfo $RPM_BUILD_ROOT%{_bindir}/ocamlobjinfo
+mkdir -p $RPM_BUILD_ROOT/usr/lib/rpm/
+cp %{SOURCE4} $RPM_BUILD_ROOT/usr/lib/rpm/
+cp %{SOURCE5} $RPM_BUILD_ROOT/usr/lib/rpm/
@@ -151,6 +163,8 @@
 %exclude %{_bindir}/camlp4*
 %exclude %{_bindir}/mkcamlp4
@@ -210,6 +224,9 @@
+* Fri May 25 2007 Richard W.M. Jones <rjones oirase home annexia org> - 3.09.3-2
+- Added ocaml-find-requires.sh and ocaml-find-provides.sh
 * Sat Dec  2 2006 Gerard Milmeister <gemi bluewin ch> - 3.09.3-1
 - new version 3.09.3

Attachment: ocaml-find-provides.sh
Description: application/shellscript

Attachment: ocaml-find-requires.sh
Description: application/shellscript

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]