nixpkgs/pkgs/development/ocaml-modules/ulex/0.8/camlp5.patch

73 lines
2.2 KiB
Diff
Raw Normal View History

Author: Stefano Zacchiroli <zack@debian.org>
Description: build (and install) using camlp5 instead of camlp4
--- ulex0.8.orig/META
+++ ulex0.8/META
@@ -1,5 +1,5 @@
version = "0.8"
-requires = "camlp4"
+requires = "camlp5"
description = "Runtime support for ulex"
archive(byte) = "ulexing.cma"
archive(native) = "ulexing.cmxa"
--- ulex0.8.orig/Makefile
+++ ulex0.8/Makefile
@@ -20,7 +20,7 @@
ocamlopt -a -o ulexing.cmxa $(ULEXING)
pa_ulex.cma: $(ULEX)
- ocamlc -a -o pa_ulex.cma -pp 'camlp4o pa_extend.cmo q_MLast.cmo' -I +camlp4 $(ULEX)
+ ocamlc -a -o pa_ulex.cma -pp 'camlp5o pa_extend.cmo q_MLast.cmo' -I `camlp5 -where` $(ULEX)
pa_ulex.ml: pa_ulex.ml.src
ocaml mk_pa_ulex.ml
@@ -29,14 +29,14 @@
rm -f *.cm* *~ test custom_ulexing *.o *.a *.html *.css pa_ulex.ml
view_test: pa_ulex.cma
- camlp4o ./pa_ulex.cma pr_o.cmo -sep "\n" test.ml
+ camlp5o ./pa_ulex.cma pr_o.cmo -sep "\n" test.ml
run_test: ulexing.cma pa_ulex.cma
- ocamlc -o test -pp 'camlp4o ./pa_ulex.cma' ulexing.cma test.ml
+ ocamlc -o test -pp 'camlp5o ./pa_ulex.cma' ulexing.cma test.ml
./test
custom_ulexing: ulexing.cma pa_ulex.cma
- ocamlc -o custom_ulexing -pp 'camlp4o ./pa_ulex.cma' ulexing.cma custom_ulexing.ml
+ ocamlc -o custom_ulexing -pp 'camlp5o ./pa_ulex.cma' ulexing.cma custom_ulexing.ml
doc:
--- ulex0.8.orig/README
+++ ulex0.8/README
@@ -142,7 +142,7 @@
Compilation of OCaml files with lexer specifications:
- ocamlfind ocamlc -c -package ulex -syntax camlp4o my_file.ml
+ ocamlfind ocamlc -c -package ulex -syntax camlp5o my_file.ml
When linking, you must also include the ulex package:
ocamlfind ocamlc -o my_prog -linkpkg -package ulex my_file.cmo
--- ulex0.8.orig/mk_pa_ulex.ml
+++ ulex0.8/mk_pa_ulex.ml
@@ -1,10 +1,4 @@
let s = float_of_string (String.sub (Sys.ocaml_version) 0 4) in
-if (s < 3.09) then (
print_endline "Old camlp4 (loc)";
Sys.command "sed s/_loc/loc/ < pa_ulex.ml.src > pa_ulex.ml"
-)
-else (
- print_endline "New camlp4 (_loc)";
- Sys.command "cp pa_ulex.ml.src pa_ulex.ml"
-)
--- ulex0.8.orig/pa_ulex.ml.src
+++ ulex0.8/pa_ulex.ml.src
@@ -1,4 +1,4 @@
-let _loc = (Lexing.dummy_pos,Lexing.dummy_pos)
+let _loc = Stdpp.dummy_loc
(* Named regexp *)