%define opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0) %define debug_package %{nil} Name: ocaml-extlib Version: 1.5 Release: 5%{?dist} Summary: OCaml ExtLib additions to the standard library Group: Development/Libraries License: LGPL URL: http://ocaml-lib.sourceforge.net/ Source0: extlib-1.5.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) ExcludeArch: ppc64 Patch0: extlib-ocamldoc-debian.patch Patch1: extlib-install.patch BuildRequires: ocaml, ocaml-findlib-devel, ocaml-ocamldoc %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 ExtLib is a project aiming at providing a complete - yet small - standard library for the OCaml programming language. The purpose of this library is to add new functions to OCaml Standard Library modules, to modify some functions in order to get better performances or more safety (tail-recursive) but also to provide new modules which should be useful for the average OCaml programmer. %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 extlib-%{version} %patch0 -p1 %patch1 # Files in the archive have spurious +x mode. chmod 0644 * # and DOS line endings. for f in *.ml *.mli README.txt LICENSE; do \ %{__sed} -i 's/\r//' $f; done %build # You can't just build extlib! %install rm -rf $RPM_BUILD_ROOT extlibdir=$RPM_BUILD_ROOT%{_libdir}/ocaml/extlib mkdir -p $extlibdir # This does the build and install. %if %opt ocaml install.ml -d $extlibdir -b -n -doc %else ocaml install.ml -d $extlibdir -b -doc %endif # Copy the interface files, and extLib.ml which is really an interface. cp extLib.ml *.mli $RPM_BUILD_ROOT%{_libdir}/ocaml/extlib cp META.txt $RPM_BUILD_ROOT%{_libdir}/ocaml/extlib/META # Move the HTML documentation - we'll install it using a %doc rule. mv $extlibdir/extlib-doc . %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root,-) %doc README.txt LICENSE %{_libdir}/ocaml/extlib %if %opt %exclude %{_libdir}/ocaml/extlib/*.a %exclude %{_libdir}/ocaml/extlib/*.cmxa %exclude %{_libdir}/ocaml/extlib/*.cmx %endif %exclude %{_libdir}/ocaml/extlib/*.mli %exclude %{_libdir}/ocaml/extlib/*.ml %files devel %defattr(-,root,root,-) %doc extlib-doc/* %if %opt %{_libdir}/ocaml/extlib/*.a %{_libdir}/ocaml/extlib/*.cmxa %{_libdir}/ocaml/extlib/*.cmx %endif %{_libdir}/ocaml/extlib/*.mli %{_libdir}/ocaml/extlib/*.ml %changelog * Wed Aug 1 2007 Richard W.M. Jones - 1.5-5 - ExcludeArch ppc64 - Added BR on ocaml-ocamldoc - Use %doc to install documentation. * Mon Jun 11 2007 Richard W.M. Jones - 1.5-4 - Updated to latest packaging guidelines. * Sat Jun 2 2007 Richard W.M. Jones - 1.5-3 - Support for bytecode-only architectures. - *.cmx files are needed. * Fri May 25 2007 Richard W.M. Jones - 1.5-2 - Use OCaml find-requires and find-provides. * Fri May 18 2007 Richard W.M. Jones - 1.5-1 - Initial RPM release.