[ocaml-menhir] Initial import.
Jerry James
jjames at fedoraproject.org
Wed Dec 21 15:43:36 UTC 2011
commit 798c6434820b844d101f0e3c9d2fe3249d2d8289
Author: Jerry James <loganjerry at gmail.com>
Date: Wed Dec 21 08:43:28 2011 -0700
Initial import.
.gitignore | 1 +
...e-menhir-ocamldep-instead-of-ocamldep.wra.patch | 123 ++++++++++++++++++++
ocaml-menhir.spec | 89 ++++++++++++++
sources | 1 +
4 files changed, 214 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..69957c8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/menhir-20111019.tar.gz
diff --git a/0001-Makfile-use-menhir-ocamldep-instead-of-ocamldep.wra.patch b/0001-Makfile-use-menhir-ocamldep-instead-of-ocamldep.wra.patch
new file mode 100644
index 0000000..3fa68ac
--- /dev/null
+++ b/0001-Makfile-use-menhir-ocamldep-instead-of-ocamldep.wra.patch
@@ -0,0 +1,123 @@
+From 9b49e1917d623f7058a135bbfe1facbe1f700540 Mon Sep 17 00:00:00 2001
+From: Scott Tsai <scottt.tw at gmail.com>
+Date: Sat, 17 Dec 2011 09:35:18 +0800
+Subject: [PATCH] Makfile: use menhir-ocamldep instead off ocamldep.wrapper
+
+---
+ demos/Makefile.shared | 2 +-
+ demos/OMakefile.shared | 2 +-
+ demos/calc-param/Makefile | 1 -
+ demos/calc-param/OMakefile | 6 +++---
+ demos/calc-two/Makefile | 1 -
+ demos/calc-two/OMakefile | 5 ++---
+ demos/calc/Makefile | 1 -
+ demos/calc/OMakefile | 1 -
+ 8 files changed, 7 insertions(+), 12 deletions(-)
+
+diff --git a/demos/Makefile.shared b/demos/Makefile.shared
+index 93add01..29e2207 100644
+--- a/demos/Makefile.shared
++++ b/demos/Makefile.shared
+@@ -119,7 +119,7 @@ ifndef OCAMLDEP
+ endif
+
+ ifndef OCAMLDEPWRAPPER
+- OCAMLDEPWRAPPER:= ./ocamldep.wrapper
++ OCAMLDEPWRAPPER:= $(shell which menhir-ocamldep)
+ endif
+
+ ifndef OCAMLLEX
+diff --git a/demos/OMakefile.shared b/demos/OMakefile.shared
+index af8e0ca..4ff1157 100644
+--- a/demos/OMakefile.shared
++++ b/demos/OMakefile.shared
+@@ -139,7 +139,7 @@ if $(not $(defined OCAMLDEP))
+ export
+
+ if $(not $(defined OCAMLDEPWRAPPER))
+- OCAMLDEPWRAPPER = ./ocamldep.wrapper
++ OCAMLDEPWRAPPER = $(shell which menhir-ocamldep)
+ export
+
+ if $(not $(defined OCAMLLEX))
+diff --git a/demos/calc-param/Makefile b/demos/calc-param/Makefile
+index 35d91ef..2f10b9a 100644
+--- a/demos/calc-param/Makefile
++++ b/demos/calc-param/Makefile
+@@ -3,7 +3,6 @@ PGFLAGS := --infer
+ GENERATED := parser.ml parser.mli lexer.ml tokens.ml tokens.mli
+ MODULES := parser lexer calc
+ EXECUTABLE := calc
+-OCAMLDEPWRAPPER := ../ocamldep.wrapper
+ include ../Makefile.shared
+ $(eval $(call menhir_monomodule,tokens,--only-tokens))
+ $(eval $(call menhir_multimodule,parser,tokens.mly parser.mly,--external-tokens Tokens))
+diff --git a/demos/calc-param/OMakefile b/demos/calc-param/OMakefile
+index 3a54e55..9241e7a 100644
+--- a/demos/calc-param/OMakefile
++++ b/demos/calc-param/OMakefile
+@@ -1,7 +1,7 @@
+-GENERATED = parser.ml parser.mli lexer.ml
++GENERATED = parser.ml parser.mli lexer.ml tokens.ml tokens.mli
+ MODULES = parser lexer calc
+ EXECUTABLE = calc
+-OCAMLDEPWRAPPER = ../ocamldep.wrapper
+ include ../OMakefile.shared
+-MenhirAuto()
++MenhirMono(tokens,--only-tokens)
++MenhirMulti(parser,tokens.mly parser.mly,--external-tokens Tokens)
+ .DEFAULT: $(EXECUTABLE)$(OSUFFIX)
+diff --git a/demos/calc-two/Makefile b/demos/calc-two/Makefile
+index 29a6d52..c5dbc39 100644
+--- a/demos/calc-two/Makefile
++++ b/demos/calc-two/Makefile
+@@ -3,7 +3,6 @@ PGFLAGS := --infer
+ GENERATED := tokens.ml tokens.mli algebraic.ml algebraic.mli reverse.ml reverse.mli lexer.ml
+ MODULES := algebraic reverse lexer calc
+ EXECUTABLE := calc
+-OCAMLDEPWRAPPER := ../ocamldep.wrapper
+ include ../Makefile.shared
+ $(eval $(call menhir_monomodule,tokens,--only-tokens))
+ $(eval $(call menhir_multimodule,algebraic,tokens.mly algebraic.mly common.mly,--external-tokens Tokens))
+diff --git a/demos/calc-two/OMakefile b/demos/calc-two/OMakefile
+index 0cb1482..b725fa6 100644
+--- a/demos/calc-two/OMakefile
++++ b/demos/calc-two/OMakefile
+@@ -1,9 +1,8 @@
+ GENERATED = tokens.ml tokens.mli algebraic.ml algebraic.mli reverse.ml reverse.mli lexer.ml
+ MODULES = algebraic reverse lexer calc
+ EXECUTABLE = calc
+-OCAMLDEPWRAPPER = ../ocamldep.wrapper
+ include ../OMakefile.shared
+ MenhirMono(tokens,--only-tokens)
+-MenhirMulti(algebraic,tokens.mly algebraic.mly,--external-tokens Tokens)
+-MenhirMulti(reverse,tokens.mly reverse.mly,--external-tokens Tokens)
++MenhirMulti(algebraic,tokens.mly algebraic.mly common.mly,--external-tokens Tokens)
++MenhirMulti(reverse,tokens.mly reverse.mly common.mly,--external-tokens Tokens)
+ .DEFAULT: $(EXECUTABLE)$(OSUFFIX)
+diff --git a/demos/calc/Makefile b/demos/calc/Makefile
+index f411226..f80582d 100644
+--- a/demos/calc/Makefile
++++ b/demos/calc/Makefile
+@@ -3,6 +3,5 @@ PGFLAGS := --infer
+ GENERATED := parser.ml parser.mli lexer.ml
+ MODULES := parser lexer calc
+ EXECUTABLE := calc
+-OCAMLDEPWRAPPER := ../ocamldep.wrapper
+ include ../Makefile.shared
+ include ../Makefile.auto
+diff --git a/demos/calc/OMakefile b/demos/calc/OMakefile
+index 3a54e55..00e1a5c 100644
+--- a/demos/calc/OMakefile
++++ b/demos/calc/OMakefile
+@@ -1,7 +1,6 @@
+ GENERATED = parser.ml parser.mli lexer.ml
+ MODULES = parser lexer calc
+ EXECUTABLE = calc
+-OCAMLDEPWRAPPER = ../ocamldep.wrapper
+ include ../OMakefile.shared
+ MenhirAuto()
+ .DEFAULT: $(EXECUTABLE)$(OSUFFIX)
+--
+1.7.7.4
+
diff --git a/ocaml-menhir.spec b/ocaml-menhir.spec
new file mode 100644
index 0000000..9c8ced4
--- /dev/null
+++ b/ocaml-menhir.spec
@@ -0,0 +1,89 @@
+%global debug_package %{nil}
+%global opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0)
+%if %opt
+%global target opt
+%else
+%global target byte
+%endif
+
+Name: ocaml-menhir
+Version: 20111019
+Release: 2%{?dist}
+Summary: LR(1) parser generator for OCaml
+
+License: (QPL with exceptions) and (LGPLv2+ with exceptions)
+URL: http://gallium.inria.fr/~fpottier/menhir/
+Source0: http://gallium.inria.fr/~fpottier/menhir/menhir-%{version}.tar.gz
+# Patch from Scott Tsai to allow demos to build outside of source tree
+Patch0: 0001-Makfile-use-menhir-ocamldep-instead-of-ocamldep.wra.patch
+
+BuildRequires: ocaml
+BuildRequires: ocaml-findlib-devel
+
+ExclusiveArch: %{ocaml_arches}
+
+%description
+Menhir is a LR(1) parser generator for the Objective Caml programming
+language. That is, Menhir compiles LR(1) grammar specifications down to
+OCaml code. Menhir was designed and implemented by François Pottier and
+Yann Régis-Gianas.
+
+%package devel
+Summary: Development files for %{name}
+License: LGPLv2+ with exceptions
+Requires: %{name}%{?_isa} = %{version}-%{release}
+
+%description devel
+The %{name}-devel package contains libraries and signature files
+for developing applications that use %{name}.
+
+%prep
+%setup -q -n menhir-%{version}
+%patch0 -p1
+
+# Fix encodings
+for f in AUTHORS menhir.1; do
+ iconv -f ISO8859-1 -t UTF-8 $f > $f.fixed
+ touch -r $f $f.fixed
+ mv -f $f.fixed $f
+done
+
+# Remove OMake generated files in the upstream tarball
+rm -f demos/calc/.omakedb* demos/calc/*.omc
+
+# Fix a dependency
+sed "s|/usr/bin/env ocaml|/usr/bin/ocaml|" demos/ocamldep.wrapper > foo
+touch -r demos/ocamldep.wrapper foo
+mv -f foo demos/ocamldep.wrapper
+chmod a+x demos/ocamldep.wrapper
+
+%build
+make PREFIX=%{_prefix} TARGET=%{target}
+strip src/menhir
+make -C demos clean
+
+%install
+export OCAMLFIND_DESTDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml
+mkdir -p $OCAMLFIND_DESTDIR
+make install PREFIX=$RPM_BUILD_ROOT%{_prefix} TARGET=%{target}
+rm -fr $RPM_BUILD_ROOT%{_defaultdocdir}/menhir
+
+# Install the ocamldep wrapper
+mv demos/ocamldep.wrapper $RPM_BUILD_ROOT%{_bindir}/menhir-ocamldep
+
+%files
+%doc AUTHORS CHANGES LICENSE manual.pdf demos
+%{_bindir}/menhir*
+%{_mandir}/man1/menhir.1*
+%{_datadir}/menhir/
+
+%files devel
+%{_libdir}/ocaml/menhirLib/
+
+%changelog
+* Mon Dec 19 2011 Jerry James <loganjerry at gmail.com> - 20111019-2
+- Change the subpackages to match Debian
+- Add patch to allow building demos outside of the menhir source tree
+
+* Wed Nov 9 2011 Jerry James <loganjerry at gmail.com> - 20111019-1
+- Initial RPM
diff --git a/sources b/sources
index e69de29..cddf813 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+03ea68c0148142c801d3c0fd3b96ba51 menhir-20111019.tar.gz
More information about the scm-commits
mailing list