90 lines
3.5 KiB
Diff
90 lines
3.5 KiB
Diff
From ca7dbd9c37b3b80ee33e3dae7a29c122f5b5d2ff Mon Sep 17 00:00:00 2001
|
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
|
Date: Tue, 9 Nov 2021 09:07:42 +0000
|
|
Subject: [PATCH] ocaml: Replace "noalloc" with [@@noalloc] annotation
|
|
|
|
This requires OCaml >= 4.03 (released April 2016). The previous
|
|
minimum version was 4.02.2.
|
|
|
|
(cherry picked from commit d15dd73845065cc9ca04aa785e2be994f76bf832)
|
|
---
|
|
README | 2 +-
|
|
plugins/ocaml/NBDKit.ml | 16 ++++++++--------
|
|
plugins/ocaml/nbdkit-ocaml-plugin.pod | 5 +----
|
|
3 files changed, 10 insertions(+), 13 deletions(-)
|
|
|
|
diff --git a/README b/README
|
|
index b001620c..160856b6 100644
|
|
--- a/README
|
|
+++ b/README
|
|
@@ -155,7 +155,7 @@ For the Python plugin:
|
|
|
|
For the OCaml plugin:
|
|
|
|
- - OCaml >= 4.02.2
|
|
+ - OCaml >= 4.03
|
|
|
|
For the Tcl plugin:
|
|
|
|
diff --git a/plugins/ocaml/NBDKit.ml b/plugins/ocaml/NBDKit.ml
|
|
index 75823ba5..4d45cc0c 100644
|
|
--- a/plugins/ocaml/NBDKit.ml
|
|
+++ b/plugins/ocaml/NBDKit.ml
|
|
@@ -152,11 +152,11 @@ let default_callbacks = {
|
|
export_description = None;
|
|
}
|
|
|
|
-external set_name : string -> unit = "ocaml_nbdkit_set_name" "noalloc"
|
|
-external set_longname : string -> unit = "ocaml_nbdkit_set_longname" "noalloc"
|
|
-external set_version : string -> unit = "ocaml_nbdkit_set_version" "noalloc"
|
|
-external set_description : string -> unit = "ocaml_nbdkit_set_description" "noalloc"
|
|
-external set_config_help : string -> unit = "ocaml_nbdkit_set_config_help" "noalloc"
|
|
+external set_name : string -> unit = "ocaml_nbdkit_set_name" [@@noalloc]
|
|
+external set_longname : string -> unit = "ocaml_nbdkit_set_longname" [@@noalloc]
|
|
+external set_version : string -> unit = "ocaml_nbdkit_set_version" [@@noalloc]
|
|
+external set_description : string -> unit = "ocaml_nbdkit_set_description" [@@noalloc]
|
|
+external set_config_help : string -> unit = "ocaml_nbdkit_set_config_help" [@@noalloc]
|
|
|
|
external set_field : string -> 'a -> unit = "ocaml_nbdkit_set_field"
|
|
|
|
@@ -220,7 +220,7 @@ let register_plugin plugin =
|
|
|
|
(* Bindings to nbdkit server functions. *)
|
|
|
|
-external _set_error : int -> unit = "ocaml_nbdkit_set_error" "noalloc"
|
|
+external _set_error : int -> unit = "ocaml_nbdkit_set_error" [@@noalloc]
|
|
|
|
let set_error unix_error =
|
|
(* There's an awkward triple translation going on here, because
|
|
@@ -250,9 +250,9 @@ external read_password : string -> string = "ocaml_nbdkit_read_password"
|
|
external realpath : string -> string = "ocaml_nbdkit_realpath"
|
|
external nanosleep : int -> int -> unit = "ocaml_nbdkit_nanosleep"
|
|
external export_name : unit -> string = "ocaml_nbdkit_export_name"
|
|
-external shutdown : unit -> unit = "ocaml_nbdkit_shutdown" "noalloc"
|
|
+external shutdown : unit -> unit = "ocaml_nbdkit_shutdown" [@@noalloc]
|
|
|
|
-external _debug : string -> unit = "ocaml_nbdkit_debug" "noalloc"
|
|
+external _debug : string -> unit = "ocaml_nbdkit_debug" [@@noalloc]
|
|
|
|
let debug fs =
|
|
ksprintf _debug fs
|
|
diff --git a/plugins/ocaml/nbdkit-ocaml-plugin.pod b/plugins/ocaml/nbdkit-ocaml-plugin.pod
|
|
index 2bd0af25..293f8143 100644
|
|
--- a/plugins/ocaml/nbdkit-ocaml-plugin.pod
|
|
+++ b/plugins/ocaml/nbdkit-ocaml-plugin.pod
|
|
@@ -11,10 +11,7 @@ nbdkit-ocaml-plugin - writing nbdkit plugins in OCaml
|
|
=head1 DESCRIPTION
|
|
|
|
This manual page describes how to write nbdkit plugins in natively
|
|
-compiled OCaml code.
|
|
-
|
|
-Note this requires OCaml E<ge> 4.02.2, which has support for shared
|
|
-libraries. See L<http://caml.inria.fr/mantis/view.php?id=6693>
|
|
+compiled OCaml code. This requires OCaml E<ge> 4.03.
|
|
|
|
=head1 WRITING AN OCAML NBDKIT PLUGIN
|
|
|
|
--
|
|
2.31.1
|
|
|