From 948f5d067b92ae0ca246d25d17bbbaddaa375270 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sat, 1 Mar 2008 19:01:13 +0000 Subject: [PATCH] Initial import. --- .cvsignore | 1 + camlp5-META | 95 +++++++++++++++++++++++++++++++++++++ ocaml-camlp5.spec | 117 ++++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 4 files changed, 214 insertions(+) create mode 100644 camlp5-META create mode 100644 ocaml-camlp5.spec diff --git a/.cvsignore b/.cvsignore index e69de29..18fddef 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +camlp5-5.08.tgz diff --git a/camlp5-META b/camlp5-META new file mode 100644 index 0000000..5f326b9 --- /dev/null +++ b/camlp5-META @@ -0,0 +1,95 @@ +# Specifications for the "camlp5" preprocessor: +requires = "" +version = "[distributed with Ocaml]" +description = "Base for Camlp5 syntax extensions" +directory = "+camlp5" + +# For the toploop: +archive(byte,toploop,camlp5o) = "camlp5o.cma" +archive(byte,toploop,camlp5r) = "camlp5r.cma" + +# Scheme-like syntax: +# Do #predicates "syntax,camlp5scheme", followed by #require "camlp5" +archive(byte,toploop,camlp5scheme) = "camlp5sch.cma" + +# Standard ML-like syntax: +# Do #predicates "syntax,camlp5sml", followed by #require "camlp5" +archive(byte,toploop,camlp5sml) = "gramlib.cma camlp5_top.cma pa_sml.cmo" + +# Lisp-like syntax: +# Do #predicates "syntax,camlp5lisp", followed by #require "camlp5" +archive(byte,toploop,camlp5lisp) = "gramlib.cma camlp5_top.cma pa_lisp.cmo" + +# For the preprocessor itself: +archive(syntax,preprocessor,camlp5o) = "pa_o.cmo pa_op.cmo pr_dump.cmo" +archive(syntax,preprocessor,camlp5r) = "pa_r.cmo pa_rp.cmo pr_dump.cmo" +archive(syntax,preprocessor,camlp5sml) = "pa_sml.cmo pr_dump.cmo" +archive(syntax,preprocessor,camlp5scheme) = "pa_scheme.cmo pr_dump.cmo" +archive(syntax,preprocessor,camlp5lisp) = "pa_lisp.cmo pr_dump.cmo" +preprocessor = "camlp5 -nolib" + +package "gramlib" ( + requires(toploop) = "camlp5" + version = "[distributed with Ocaml]" + description = "Grammar library to create syntax extensions" + archive(byte) = "gramlib.cma" + archive(byte,toploop) = "" # already contained in camlp5*.cma + archive(native) = "gramlib.cmxa" +) + +package "quotations" ( + requires = "camlp5" + version = "[distributed with Ocaml]" + description = "Syntax extension: Quotations to create AST nodes" + archive(syntax,preprocessor) = "q_MLast.cmo" + archive(syntax,toploop) = "q_MLast.cmo" +) + +package "phony_quotations" ( + requires = "camlp5" + version = "[distributed with Ocaml]" + description = "Syntax extension: Phony quotations" + archive(syntax,preprocessor) = "q_phony.cmo" + archive(syntax,toploop) = "q_phony.cmo" +) + +package "extend" ( + requires = "camlp5" + version = "[distributed with Ocaml]" + description = "Syntax extension: EXTEND the camlp5 grammar" + archive(syntax,preprocessor) = "pa_extend.cmo" + archive(syntax,toploop) = "pa_extend.cmo" +) + +package "extfun" ( + requires = "camlp5" + version = "[distributed with Ocaml]" + description = "Syntax extension: Extensible functions" + archive(syntax,preprocessor) = "pa_extfun.cmo" + archive(syntax,toploop) = "pa_extfun.cmo" +) + +package "fstream" ( + requires = "camlp5" + version = "[distributed with Ocaml]" + description = "Syntax extension: Functional stream parsers" + archive(syntax,preprocessor) = "pa_fstream.cmo" + archive(syntax,toploop) = "pa_fstream.cmo" +) + +package "macro" ( + requires = "camlp5" + version = "[distributed with Ocaml]" + description = "Syntax extension: Conditional compilation" + archive(syntax,preprocessor) = "pa_macro.cmo" + archive(syntax,toploop) = "pa_macro.cmo" +) + +package "unit_constraints" ( + requires = "camlp5" + version = "[distributed with Ocaml]" + description = "Syntax extension: Type constraints of type unit (revised syntax only)" + archive(syntax,preprocessor,camlp5r) = "pa_ru.cmo" + archive(syntax,toploop,camlp5r) = "pa_ru.cmo" + error(syntax,-camlp5r) = "Not available" +) diff --git a/ocaml-camlp5.spec b/ocaml-camlp5.spec new file mode 100644 index 0000000..85945db --- /dev/null +++ b/ocaml-camlp5.spec @@ -0,0 +1,117 @@ +%define opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0) +%define debug_package %{nil} + +Name: ocaml-camlp5 +Version: 5.08 +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) +ExcludeArch: ppc64 + +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 +* Thu Feb 21 2008 Richard W.M. Jones - 5.08-1 +- New upstream version 5.08. +- BR ocaml >= 3.10.1. + +* Tue Feb 12 2008 Richard W.M. Jones - 5.04-2 +- Strip the *.opt binaries. + +* Thu Dec 13 2007 Stijn Hoop - 5.04-1 +- Update to 5.04 + +* Wed Aug 8 2007 Richard W.M. Jones - 4.07-2 +- Add a META file. + +* Wed Aug 8 2007 Richard W.M. Jones - 4.07-1 +- Initial RPM release. diff --git a/sources b/sources index e69de29..504afb0 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +61f617f11eedb26ad8607fe21413f920 camlp5-5.08.tgz