opa: build with OCaml 4.04
This commit is contained in:
parent
916ee862e8
commit
22d9482360
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "1qs91rq9xrafv2mf2v415k8lv91ab3ycz0xkpjh1mng5ca3pjlf3";
|
||||
};
|
||||
|
||||
patches = [ ./ocaml-4.03.patch ];
|
||||
patches = [ ./ocaml-4.03.patch ./ocaml-4.04.patch ];
|
||||
|
||||
# Paths so the opa compiler code generation will use the same programs as were
|
||||
# used to build opa.
|
||||
|
75
pkgs/development/compilers/opa/ocaml-4.04.patch
Normal file
75
pkgs/development/compilers/opa/ocaml-4.04.patch
Normal file
@ -0,0 +1,75 @@
|
||||
diff --git a/compiler/libbsl/bslLib.ml b/compiler/libbsl/bslLib.ml
|
||||
index b9f75bd1..171af065 100644
|
||||
--- a/compiler/libbsl/bslLib.ml
|
||||
+++ b/compiler/libbsl/bslLib.ml
|
||||
@@ -726,7 +726,7 @@ struct
|
||||
let root elt = !(elt.root)
|
||||
let elt_name elt = elt.name
|
||||
let elts e = e
|
||||
- let children = List.map (fun e -> e.name, e)
|
||||
+ let children m = List.map (fun e -> e.name, e) m
|
||||
let is_root e = Path.is_root e.pwd
|
||||
|
||||
let parent e =
|
||||
diff --git a/compiler/passes/surfaceAstDependencies.ml b/compiler/passes/surfaceAstDependencies.ml
|
||||
index f4354a3f..81253d32 100644
|
||||
--- a/compiler/passes/surfaceAstDependencies.ml
|
||||
+++ b/compiler/passes/surfaceAstDependencies.ml
|
||||
@@ -66,7 +66,6 @@ open SurfaceAst
|
||||
|
||||
(* shorthands *)
|
||||
module SAH = SurfaceAstHelper
|
||||
-module C = SurfaceAstCons.ExprIdentCons
|
||||
module D = SurfaceAstDecons
|
||||
module S = SurfaceAst
|
||||
|
||||
diff --git a/compiler/passes/surfaceAstPasses.ml b/compiler/passes/surfaceAstPasses.ml
|
||||
index 10edf5cb..00de59fa 100644
|
||||
--- a/compiler/passes/surfaceAstPasses.ml
|
||||
+++ b/compiler/passes/surfaceAstPasses.ml
|
||||
@@ -25,7 +25,6 @@ open SurfaceAstPassesTypes
|
||||
|
||||
(* alias *)
|
||||
module C = SurfaceAstCons.ExprIdentCons
|
||||
-module CS = SurfaceAstCons.StringCons
|
||||
|
||||
|
||||
|
||||
diff --git a/compiler/qmlslicer/qmlSimpleSlicer.ml b/compiler/qmlslicer/qmlSimpleSlicer.ml
|
||||
index 2eebd96b..04ce77c8 100644
|
||||
--- a/compiler/qmlslicer/qmlSimpleSlicer.ml
|
||||
+++ b/compiler/qmlslicer/qmlSimpleSlicer.ml
|
||||
@@ -17,7 +17,6 @@
|
||||
*)
|
||||
module Format = Base.Format
|
||||
module List = Base.List
|
||||
-module String = Base.String
|
||||
module Q = QmlAst
|
||||
module Package = ObjectFiles.Package
|
||||
|
||||
diff --git a/ocamllib/libbase/baseObj.mli b/ocamllib/libbase/baseObj.mli
|
||||
index da2d9736..82d72963 100644
|
||||
--- a/ocamllib/libbase/baseObj.mli
|
||||
+++ b/ocamllib/libbase/baseObj.mli
|
||||
@@ -21,7 +21,7 @@ type t = Obj.t
|
||||
external repr : 'a -> t = "%identity"
|
||||
external obj : t -> 'a = "%identity"
|
||||
external magic : 'a -> 'b = "%identity"
|
||||
-external is_block : t -> bool = "caml_obj_is_block"
|
||||
+val [@inline always] is_block : t -> bool
|
||||
external is_int : t -> bool = "%obj_is_int"
|
||||
external tag : t -> int = "caml_obj_tag"
|
||||
external set_tag : t -> int -> unit = "caml_obj_set_tag"
|
||||
diff --git a/ocamllib/libbase/baseString.ml b/ocamllib/libbase/baseString.ml
|
||||
index 640ce2fa..6931c608 100644
|
||||
--- a/ocamllib/libbase/baseString.ml
|
||||
+++ b/ocamllib/libbase/baseString.ml
|
||||
@@ -20,7 +20,7 @@
|
||||
(* depends *)
|
||||
module Char = BaseChar
|
||||
|
||||
-include Bytes
|
||||
+include String
|
||||
|
||||
let compare_int (a:int) b = Pervasives.compare a b
|
||||
|
@ -10827,7 +10827,7 @@ in
|
||||
ocsigen-i18n = callPackage ../development/tools/ocaml/ocsigen-i18n { };
|
||||
|
||||
opa = callPackage ../development/compilers/opa {
|
||||
ocamlPackages = ocaml-ng.ocamlPackages_4_03;
|
||||
ocamlPackages = ocaml-ng.ocamlPackages_4_04;
|
||||
};
|
||||
|
||||
opaline = callPackage ../development/tools/ocaml/opaline { };
|
||||
|
Loading…
Reference in New Issue
Block a user