Blob Blame History Raw
%define opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0)
%define debug_package %{nil}

Name:           ocaml-camlp5
Version:        5.09
Release:        1%{?dist}
Summary:        Classical version of camlp4 OCaml preprocessor

Group:          Development/Libraries
License:        BSD
URL:            http://pauillac.inria.fr/~ddr/camlp5/
Source0:        http://pauillac.inria.fr/~ddr/camlp5/distrib/src/camlp5-%{version}.tgz
Source1:        camlp5-META
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

BuildRequires:  ocaml >= 3.10.1, ocaml-ocamldoc

%define _use_internal_dependency_generator 0
%define __find_requires /usr/lib/rpm/ocaml-find-requires.sh -i Asttypes -i Parsetree
%define __find_provides /usr/lib/rpm/ocaml-find-provides.sh -i Pa_extend

%description
Camlp5 is a preprocessor-pretty-printer of OCaml.

It is the continuation of the classical camlp4 with new features.

OCaml 3.10 and above have an official camlp4 which is incompatible
with classical (<= 3.09) versions.  You can find that in the
ocaml-camlp4 package.


%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 camlp5-%{version}
./configure


%build
make all
%if %opt
make opt
strip meta/camlp5r.opt etc/camlp5o.opt
%endif


%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT%{_libdir}/ocaml
mkdir -p $RPM_BUILD_ROOT%{_bindir}
mkdir -p $RPM_BUILD_ROOT%{_mandir}
make install \
  LIBDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml \
  OLIBDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml \
  BINDIR=$RPM_BUILD_ROOT%{_bindir} \
  MANDIR=$RPM_BUILD_ROOT%{_mandir}
cp %{SOURCE1} $RPM_BUILD_ROOT%{_libdir}/ocaml/camlp5/META


%clean
rm -rf $RPM_BUILD_ROOT


%files
%defattr(-,root,root,-)
%doc README LICENSE
%{_libdir}/ocaml/camlp5
%if %opt
%exclude %{_libdir}/ocaml/camlp5/*.a
%exclude %{_libdir}/ocaml/camlp5/*.cmxa
%exclude %{_libdir}/ocaml/camlp5/*.cmx
%endif
%exclude %{_libdir}/ocaml/camlp5/*.mli
%{_libdir}/ocaml/camlp5/META


%files devel
%defattr(-,root,root,-)
%doc README LICENSE CHANGES ICHANGES DEVEL UPGRADING
%if %opt
%{_libdir}/ocaml/camlp5/*.a
%{_libdir}/ocaml/camlp5/*.cmxa
%{_libdir}/ocaml/camlp5/*.cmx
%endif
%{_libdir}/ocaml/camlp5/*.mli
%{_bindir}/camlp5*
%{_bindir}/mkcamlp5*
%{_bindir}/ocpp5
%{_mandir}/man1/*.1*


%changelog
* Sun Aug 31 2008 Richard W.M. Jones <rjones@redhat.com> - 5.09-1
- New upstream version 5.09.

* Wed Apr 23 2008 Richard W.M. Jones <rjones@redhat.com> - 5.08-3
- Rebuild for OCaml 3.10.2.

* Sat Mar  1 2008 Richard W.M. Jones <rjones@redhat.com> - 5.08-2
- Build on ppc64.

* Thu Feb 21 2008 Richard W.M. Jones <rjones@redhat.com> - 5.08-1
- New upstream version 5.08.
- BR ocaml >= 3.10.1.

* Tue Feb 12 2008 Richard W.M. Jones <rjones@redhat.com> - 5.04-2
- Strip the *.opt binaries.

* Thu Dec 13 2007 Stijn Hoop <stijn@win.tue.nl> - 5.04-1
- Update to 5.04

* Wed Aug  8 2007 Richard W.M. Jones <rjones@redhat.com> - 4.07-2
- Add a META file.

* Wed Aug  8 2007 Richard W.M. Jones <rjones@redhat.com> - 4.07-1
- Initial RPM release.