ocaml-camlp5/ocaml-camlp5.spec

185 lines
5.4 KiB
RPMSpec

%global opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0)
%global debug_package %{nil}
Name: ocaml-camlp5
Version: 5.12
Release: 6%{?dist}
Summary: Classical version of camlp4 OCaml preprocessor
Group: Development/Libraries
License: BSD
URL: http://pauillac.inria.fr/~ddr/camlp5/
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
ExcludeArch: sparc64 s390 s390x
Source0: http://pauillac.inria.fr/~ddr/camlp5/distrib/src/camlp5-%{version}.tgz
Source1: camlp5-META
# Support for OCaml 3.11.2 from Debian, not upstream yet.
Patch0: 0001-Add-partial-OCaml-3.11.2-support.patch
# Various fixes to the man page (from Debian, not upstream yet).
Patch1: 0002-Fix-typos-in-manpage.patch
BuildRequires: ocaml >= 3.11.2
BuildRequires: ocaml-ocamldoc
%global __ocaml_requires_opts -i Asttypes -i Parsetree -i Pa_extend
%global __ocaml_provides_opts -i Dynlink -i Dynlinkaux -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}
%patch0 -p1
%patch1 -p1
# See top of Patch0 for details:
cp -a ocaml_stuff/3.11.1 ocaml_stuff/3.11.2
sed -i \
-e 's/let ocaml_version = "3.11.1"/let ocaml_version = "3.11.2"/' \
ocaml_stuff/3.11.2/utils/pconfig.ml
cp -a ocaml_src/main/ast2pt.ml_3.11.1 ocaml_src/main/ast2pt.ml_3.11.2
%build
./configure
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
%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
* Wed Jan 13 2010 Richard W.M. Jones <rjones@redhat.com> - 5.12-6
- Ignore bogus provides Dynlink and Dynlinkaux.
* Wed Jan 6 2010 Richard W.M. Jones <rjones@redhat.com> - 5.12-5
- Ignore ocaml(Pa_extend) bogus generated requires and provides.
* Tue Jan 5 2010 Richard W.M. Jones <rjones@redhat.com> - 5.12-4
- Include Debian patch to fix support for OCaml 3.11.2.
- Include Debian patch to fix typos in man page.
- Replace %%define with %%global.
- Use upstream RPM 4.8 OCaml dependency generator.
- Put ./configure in %%build section.
* Wed Dec 30 2009 Richard W.M. Jones <rjones@redhat.com> - 5.12-3
- Rebuild for OCaml 3.11.2.
* Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.12-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Sat May 23 2009 Richard W.M. Jones <rjones@redhat.com> - 5.12-1
- New upstream version 5.12, excepted to fix 3.11.1 build problems.
* Sat May 23 2009 Richard W.M. Jones <rjones@redhat.com> - 5.11-1
- Rebuild for OCaml 3.11.1
- New upstream version 5.11.
- Remove META file listed twice in %%files.
* Thu Apr 16 2009 S390x secondary arch maintainer <fedora-s390x@lists.fedoraproject.org>
- ExcludeArch sparc64, s390, s390x as we don't have OCaml on those archs
(added sparc64 per request from the sparc maintainer)
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.10-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
* Wed Nov 26 2008 Richard W.M. Jones <rjones@redhat.com> - 5.10-2
- Rebuild for OCaml 3.11.0+rc1.
* Thu Nov 20 2008 Richard W.M. Jones <rjones@redhat.com> - 5.10-1
- New upstream version 5.10.
* Wed Nov 19 2008 Richard W.M. Jones <rjones@redhat.com> - 5.09-2
- Rebuild for OCaml 3.11.0
* 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.