diff options
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/development/compilers/opa')
-rw-r--r-- | infra/libkookie/nixpkgs/pkgs/development/compilers/opa/default.nix | 6 | ||||
-rw-r--r-- | infra/libkookie/nixpkgs/pkgs/development/compilers/opa/ocaml-4.03.patch | 35 |
2 files changed, 40 insertions, 1 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/development/compilers/opa/default.nix b/infra/libkookie/nixpkgs/pkgs/development/compilers/opa/default.nix index c20e0d0ef991..864bb8e1b263 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/compilers/opa/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/compilers/opa/default.nix @@ -15,6 +15,8 @@ stdenv.mkDerivation rec { sha256 = "1qs91rq9xrafv2mf2v415k8lv91ab3ycz0xkpjh1mng5ca3pjlf3"; }; + patches = [ ./ocaml-4.03.patch ]; + # Paths so the opa compiler code generation will use the same programs as were # used to build opa. codeGeneratorPaths = stdenv.lib.makeBinPath [ ocamlPackages.ocaml gcc binutils gnumake nodejs ]; @@ -23,7 +25,7 @@ stdenv.mkDerivation rec { patchShebangs . ( cat ./compiler/buildinfos/buildInfos.ml.pre - ./compiler/buildinfos/generate_buildinfos.sh . --release --version ./compiler/buildinfos/version_major.txt + ./compiler/buildinfos/generate_buildinfos.sh . --release --version ./compiler/buildinfos/version_major.txt echo let opa_git_version = ${version} echo 'let opa_git_sha = "xxxx"' cat ./compiler/buildinfos/buildInfos.ml.post @@ -34,6 +36,8 @@ stdenv.mkDerivation rec { done export CAMLP4O=${ocamlPackages.camlp4}/bin/camlp4o export CAMLP4ORF=${ocamlPackages.camlp4}/bin/camlp4orf + export OCAMLBUILD=${ocamlPackages.ocamlbuild}/bin/ocamlbuild + substituteInPlace _tags --replace ', warn_error_A' "" ''; prefixKey = "-prefix "; diff --git a/infra/libkookie/nixpkgs/pkgs/development/compilers/opa/ocaml-4.03.patch b/infra/libkookie/nixpkgs/pkgs/development/compilers/opa/ocaml-4.03.patch new file mode 100644 index 000000000000..5e2a3e2522e6 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/development/compilers/opa/ocaml-4.03.patch @@ -0,0 +1,35 @@ +--- a/compiler/passes/surfaceAstRenaming.ml ++++ b/compiler/passes/surfaceAstRenaming.ml +@@ -1110,7 +1110,7 @@ let find_opt_local_or_global name all_env = + | None -> find_opt_global name all_env + | v -> v + +-let path_expr_to_module_aux p = function ++let path_expr_to_module_aux p : _ -> _ result = function + | Some (OpenedIdent (tree, ident, path)) -> + (match Tree.get_path_opt tree p with + (* the path is not in the tree, which means a 'dot' access +diff --git a/ocamllib/libbase/baseInt64.mli b/ocamllib/libbase/baseInt64.mli +index fb544706..734437f9 100644 +--- a/ocamllib/libbase/baseInt64.mli ++++ b/ocamllib/libbase/baseInt64.mli +@@ -40,7 +40,9 @@ external shift_right_logical : int64 -> int -> int64 = "%int64_lsr" + external of_int : int -> int64 = "%int64_of_int" + external to_int : int64 -> int = "%int64_to_int" + external of_float : float -> int64 = "caml_int64_of_float" ++ "caml_int64_of_float_unboxed" [@@unboxed] [@@noalloc] + external to_float : int64 -> float = "caml_int64_to_float" ++ "caml_int64_to_float_unboxed" [@@unboxed] [@@noalloc] + external of_int32 : int32 -> int64 = "%int64_of_int32" + external to_int32 : int64 -> int32 = "%int64_to_int32" + external of_nativeint : nativeint -> int64 = "%int64_of_nativeint" +@@ -48,7 +50,9 @@ external to_nativeint : int64 -> nativeint = "%int64_to_nativeint" + external of_string : string -> int64 = "caml_int64_of_string" + val to_string : int64 -> string + external bits_of_float : float -> int64 = "caml_int64_bits_of_float" ++ "caml_int64_bits_of_float_unboxed" [@@unboxed] [@@noalloc] + external float_of_bits : int64 -> float = "caml_int64_float_of_bits" ++ "caml_int64_float_of_bits_unboxed" [@@unboxed] [@@noalloc] + type t = int64 + val compare : t -> t -> int + external format : string -> int64 -> string = "caml_int64_format" |