mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-27 08:04:14 +00:00
73 lines
2.2 KiB
Diff
73 lines
2.2 KiB
Diff
|
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 *)
|
||
|
|