@grain/binaryen.ml 0.17.1 → 0.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- binaryen-archive/CHANGELOG.md +38 -0
- binaryen-archive/binaryen.opam +2 -2
- binaryen-archive/esy.lock/index.json +355 -346
- binaryen-archive/esy.lock/opam/camlp-streams.5.0.1/opam +59 -0
- binaryen-archive/esy.lock/opam/chrome-trace.3.5.0/opam +39 -0
- binaryen-archive/esy.lock/opam/{dune-build-info.3.2.0 → dune-build-info.3.5.0}/opam +5 -6
- binaryen-archive/esy.lock/opam/{dune-configurator.3.2.0 → dune-configurator.3.5.0}/opam +6 -6
- binaryen-archive/esy.lock/opam/{dune-rpc.3.2.0 → dune-rpc.3.5.0}/opam +5 -6
- binaryen-archive/esy.lock/opam/{dune.3.2.0 → dune.3.5.0}/opam +4 -5
- binaryen-archive/esy.lock/opam/{dyn.3.2.0 → dyn.3.5.0}/opam +5 -6
- binaryen-archive/esy.lock/opam/{fiber.3.2.0 → fiber.3.5.0}/opam +5 -6
- binaryen-archive/esy.lock/opam/{ocaml-lsp-server.1.11.6 → ocaml-lsp-server.1.14.1}/opam +9 -8
- binaryen-archive/esy.lock/opam/{ocaml-version.3.4.0 → ocaml-version.3.5.0}/opam +4 -4
- binaryen-archive/esy.lock/opam/{ocamlbuild.0.14.1 → ocamlbuild.0.14.2}/opam +3 -3
- binaryen-archive/esy.lock/opam/ocamlfind.1.9.5/files/0001-Fix-bug-when-installing-with-a-system-compiler.patch +26 -0
- binaryen-archive/esy.lock/opam/{ocamlfind.1.9.3 → ocamlfind.1.9.5}/opam +6 -3
- binaryen-archive/esy.lock/opam/{ocamlformat-rpc-lib.0.22.4 → ocamlformat-rpc-lib.0.24.1}/opam +4 -4
- binaryen-archive/esy.lock/opam/ocamlformat.0.20.1/opam +1 -1
- binaryen-archive/esy.lock/opam/{odoc-parser.1.0.0 → odoc-parser.1.0.1}/opam +5 -4
- binaryen-archive/esy.lock/opam/omd.1.3.2/opam +50 -0
- binaryen-archive/esy.lock/opam/{ordering.3.2.0 → ordering.3.5.0}/opam +5 -6
- binaryen-archive/esy.lock/opam/{ppxlib.0.26.0 → ppxlib.0.28.0}/opam +7 -7
- binaryen-archive/esy.lock/opam/sexplib0.v0.14.0/opam +1 -1
- binaryen-archive/esy.lock/opam/{stdune.3.2.0 → stdune.3.5.0}/opam +6 -6
- binaryen-archive/esy.lock/opam/uucp.15.0.0/opam +55 -0
- binaryen-archive/esy.lock/opam/{uuseg.14.0.0 → uuseg.15.0.0}/opam +39 -25
- binaryen-archive/esy.lock/opam/{xdg.3.2.0 → xdg.3.5.0}/opam +5 -6
- binaryen-archive/esy.lock/opam/{yojson.1.7.0 → yojson.2.0.2}/opam +14 -14
- binaryen-archive/esy.lock/overrides/{opam__s__ocamlbuild_opam__c__0.14.1_opam_override → opam__s__ocamlbuild_opam__c__0.14.2_opam_override}/files/winpatch.patch +0 -0
- binaryen-archive/esy.lock/overrides/{opam__s__ocamlbuild_opam__c__0.14.1_opam_override → opam__s__ocamlbuild_opam__c__0.14.2_opam_override}/package.json +0 -0
- binaryen-archive/esy.lock/overrides/{opam__s__ocamlfind_opam__c__1.9.3_opam_override → opam__s__ocamlfind_opam__c__1.9.5_opam_override}/files/findlib.patch +0 -0
- binaryen-archive/esy.lock/overrides/{opam__s__ocamlfind_opam__c__1.9.3_opam_override → opam__s__ocamlfind_opam__c__1.9.5_opam_override}/package.json +0 -0
- binaryen-archive/package.json +2 -2
- binaryen-archive/src/binaryen_stubs_exports.js +36 -20
- binaryen-archive/src/binaryen_stubs_expressions.c +101 -0
- binaryen-archive/src/binaryen_stubs_expressions.js +543 -508
- binaryen-archive/src/binaryen_stubs_features.js +34 -34
- binaryen-archive/src/binaryen_stubs_functions.js +45 -19
- binaryen-archive/src/binaryen_stubs_globals.js +8 -8
- binaryen-archive/src/binaryen_stubs_imports.c +14 -0
- binaryen-archive/src/binaryen_stubs_imports.js +67 -14
- binaryen-archive/src/binaryen_stubs_memory.c +40 -0
- binaryen-archive/src/binaryen_stubs_memory.js +45 -2
- binaryen-archive/src/binaryen_stubs_modules.c +20 -0
- binaryen-archive/src/binaryen_stubs_modules.js +26 -8
- binaryen-archive/src/binaryen_stubs_ops.js +632 -632
- binaryen-archive/src/binaryen_stubs_settings.js +36 -38
- binaryen-archive/src/binaryen_stubs_tables.js +18 -12
- binaryen-archive/src/binaryen_stubs_types.c +23 -2
- binaryen-archive/src/binaryen_stubs_types.js +44 -26
- binaryen-archive/src/expression.ml +27 -0
- binaryen-archive/src/expression.mli +18 -0
- binaryen-archive/src/import.ml +4 -0
- binaryen-archive/src/import.mli +2 -0
- binaryen-archive/src/memory.ml +25 -12
- binaryen-archive/src/memory.mli +12 -6
- binaryen-archive/src/module.ml +2 -0
- binaryen-archive/src/module.mli +2 -0
- binaryen-archive/src/passes.ml +6 -0
- binaryen-archive/src/passes.mli +6 -0
- binaryen-archive/src/type.ml +14 -2
- binaryen-archive/src/type.mli +4 -1
- binaryen-archive/test/test.expected +49 -12
- binaryen-archive/test/test.ml +49 -12
- binaryen-archive/esy.lock/opam/biniou.1.2.1/opam +0 -45
- binaryen-archive/esy.lock/opam/easy-format.1.3.4/opam +0 -56
- binaryen-archive/esy.lock/opam/omd.1.3.1/opam +0 -39
- binaryen-archive/esy.lock/opam/uucp.14.0.0/opam +0 -41
|
@@ -9,14 +9,15 @@
|
|
|
9
9
|
(module
|
|
10
10
|
(type $i32_i32_=>_i32 (func (param i32 i32) (result i32)))
|
|
11
11
|
(type $none_=>_none (func))
|
|
12
|
-
(type $
|
|
13
|
-
(type $
|
|
14
|
-
(import "future-wasi" "write" (func $write (param
|
|
12
|
+
(type $anyref_i32_i32_=>_i32 (func (param anyref i32 i32) (result i32)))
|
|
13
|
+
(type $anyref_=>_i32 (func (param anyref) (result i32)))
|
|
14
|
+
(import "future-wasi" "write" (func $write (param anyref i32 i32) (result i32)))
|
|
15
15
|
(global $max_int64 i64 (i64.const 9223372036854775807))
|
|
16
16
|
(global $max_int64_mut (mut i64) (i64.const 9223372036854775807))
|
|
17
17
|
(global $test_float64_bits f64 (f64.const 1.23))
|
|
18
18
|
(memory $0 1)
|
|
19
19
|
(data (i32.const 0) "hello")
|
|
20
|
+
(data "world")
|
|
20
21
|
(table $table 1 1 funcref)
|
|
21
22
|
(elem $elem (i32.const 0) $adder)
|
|
22
23
|
(export "adder" (func $adder))
|
|
@@ -50,7 +51,7 @@
|
|
|
50
51
|
)
|
|
51
52
|
)
|
|
52
53
|
)
|
|
53
|
-
(func $hello (param $0
|
|
54
|
+
(func $hello (param $0 anyref) (result i32)
|
|
54
55
|
(call $write
|
|
55
56
|
(local.get $0)
|
|
56
57
|
(i32.const 0)
|
|
@@ -61,9 +62,9 @@
|
|
|
61
62
|
(module
|
|
62
63
|
(type $i32_i32_=>_i32 (func (param i32 i32) (result i32)))
|
|
63
64
|
(type $none_=>_none (func))
|
|
64
|
-
(type $
|
|
65
|
-
(type $
|
|
66
|
-
(import "future-wasi" "write" (func $write (param
|
|
65
|
+
(type $anyref_i32_i32_=>_i32 (func (param anyref i32 i32) (result i32)))
|
|
66
|
+
(type $anyref_=>_i32 (func (param anyref) (result i32)))
|
|
67
|
+
(import "future-wasi" "write" (func $write (param anyref i32 i32) (result i32)))
|
|
67
68
|
(memory $0 1)
|
|
68
69
|
(data (i32.const 0) "hello")
|
|
69
70
|
(table $table 1 1 funcref)
|
|
@@ -92,7 +93,7 @@
|
|
|
92
93
|
)
|
|
93
94
|
)
|
|
94
95
|
)
|
|
95
|
-
(func $hello (; has Stack IR ;) (param $0
|
|
96
|
+
(func $hello (; has Stack IR ;) (param $0 anyref) (result i32)
|
|
96
97
|
(call $write
|
|
97
98
|
(local.get $0)
|
|
98
99
|
(i32.const 0)
|
|
@@ -101,11 +102,11 @@
|
|
|
101
102
|
)
|
|
102
103
|
)
|
|
103
104
|
(module
|
|
104
|
-
(type $type$0 (func (param
|
|
105
|
+
(type $type$0 (func (param anyref i32 i32) (result i32)))
|
|
105
106
|
(type $type$1 (func (param i32 i32) (result i32)))
|
|
106
107
|
(type $type$2 (func))
|
|
107
|
-
(type $type$3 (func (param
|
|
108
|
-
(import "future-wasi" "write" (func $fimport$0 (param
|
|
108
|
+
(type $type$3 (func (param anyref) (result i32)))
|
|
109
|
+
(import "future-wasi" "write" (func $fimport$0 (param anyref i32 i32) (result i32)))
|
|
109
110
|
(memory $0 1)
|
|
110
111
|
(data (i32.const 0) "hello")
|
|
111
112
|
(table $0 1 1 funcref)
|
|
@@ -134,7 +135,7 @@
|
|
|
134
135
|
)
|
|
135
136
|
)
|
|
136
137
|
)
|
|
137
|
-
(func $2 (param $0
|
|
138
|
+
(func $2 (param $0 anyref) (result i32)
|
|
138
139
|
(call $fimport$0
|
|
139
140
|
(local.get $0)
|
|
140
141
|
(i32.const 0)
|
|
@@ -142,3 +143,39 @@
|
|
|
142
143
|
)
|
|
143
144
|
)
|
|
144
145
|
)
|
|
146
|
+
(module
|
|
147
|
+
(type $type$0 (func (param anyref i32 i32) (result i32)))
|
|
148
|
+
(type $type$1 (func (param i32 i32) (result i32)))
|
|
149
|
+
(type $type$2 (func))
|
|
150
|
+
(type $type$3 (func (param anyref) (result i32)))
|
|
151
|
+
(import "future-wasi" "write" (func $fimport$0 (param anyref i32 i32) (result i32)))
|
|
152
|
+
(memory $0 1)
|
|
153
|
+
(data (i32.const 0) "hello")
|
|
154
|
+
(table $0 1 1 funcref)
|
|
155
|
+
(elem (i32.const 0) $0)
|
|
156
|
+
(export "adder" (func $0))
|
|
157
|
+
(export "memory" (memory $0))
|
|
158
|
+
(export "hello" (func $2))
|
|
159
|
+
(start $1)
|
|
160
|
+
(func $0 (param $0 i32) (param $1 i32) (result i32)
|
|
161
|
+
local.get $0
|
|
162
|
+
local.get $1
|
|
163
|
+
i32.load8_s
|
|
164
|
+
i32.const 1
|
|
165
|
+
select
|
|
166
|
+
local.get $1
|
|
167
|
+
i32.add
|
|
168
|
+
)
|
|
169
|
+
(func $1
|
|
170
|
+
i32.const 3
|
|
171
|
+
i32.const 5
|
|
172
|
+
call $0
|
|
173
|
+
drop
|
|
174
|
+
)
|
|
175
|
+
(func $2 (param $0 anyref) (result i32)
|
|
176
|
+
local.get $0
|
|
177
|
+
i32.const 0
|
|
178
|
+
i32.const 1
|
|
179
|
+
call $fimport$0
|
|
180
|
+
)
|
|
181
|
+
)
|
binaryen-archive/test/test.ml
CHANGED
|
@@ -19,6 +19,19 @@ let _ = assert (Settings.get_low_memory_unused () == true)
|
|
|
19
19
|
let _ = Settings.set_low_memory_unused false
|
|
20
20
|
let wasm_mod = Module.create ()
|
|
21
21
|
let _ = Module.set_features wasm_mod [ Module.Feature.all ]
|
|
22
|
+
let import_wasm_mod = Module.create ()
|
|
23
|
+
|
|
24
|
+
let _ =
|
|
25
|
+
Import.add_memory_import import_wasm_mod "internal_name" "external_name"
|
|
26
|
+
"external_base_name" true
|
|
27
|
+
|
|
28
|
+
let _ =
|
|
29
|
+
assert (Import.memory_import_get_module import_wasm_mod = "external_name")
|
|
30
|
+
|
|
31
|
+
let _ =
|
|
32
|
+
assert (Import.memory_import_get_base import_wasm_mod = "external_base_name")
|
|
33
|
+
|
|
34
|
+
let _ = assert (Memory.is_shared import_wasm_mod = true)
|
|
22
35
|
|
|
23
36
|
(* Testing Return.get_value *)
|
|
24
37
|
let _ =
|
|
@@ -123,28 +136,50 @@ let _ =
|
|
|
123
136
|
let _ = Function.set_start wasm_mod start
|
|
124
137
|
|
|
125
138
|
let segment : Binaryen.Memory.segment =
|
|
126
|
-
let data = "hello" in
|
|
127
|
-
let
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
139
|
+
let data = Bytes.of_string "hello" in
|
|
140
|
+
let kind =
|
|
141
|
+
Binaryen.Memory.Active
|
|
142
|
+
{ offset = Expression.Const.make wasm_mod (Literal.int32 0l) }
|
|
143
|
+
in
|
|
144
|
+
let size = Bytes.length data in
|
|
145
|
+
{ data; kind; size }
|
|
146
|
+
|
|
147
|
+
let passive_segment : Binaryen.Memory.segment =
|
|
148
|
+
let data = Bytes.of_string "world" in
|
|
149
|
+
let kind = Binaryen.Memory.Passive in
|
|
150
|
+
let size = Bytes.length data in
|
|
151
|
+
{ data; kind; size }
|
|
152
|
+
|
|
153
|
+
let _ = assert (Memory.has_memory wasm_mod = false)
|
|
133
154
|
|
|
134
|
-
|
|
155
|
+
let _ =
|
|
156
|
+
Memory.set_memory wasm_mod 1 Memory.unlimited "memory"
|
|
157
|
+
[ segment; passive_segment ]
|
|
158
|
+
false
|
|
159
|
+
|
|
160
|
+
let _ = assert (Memory.has_memory wasm_mod = true)
|
|
161
|
+
let _ = assert (Memory.get_initial wasm_mod = 1)
|
|
162
|
+
let _ = assert (Memory.has_max wasm_mod = false)
|
|
163
|
+
let _ = assert (Memory.get_max wasm_mod = Memory.unlimited)
|
|
164
|
+
let max_memory_wasm_mod = Module.create ()
|
|
165
|
+
let _ = Memory.set_memory max_memory_wasm_mod 1 2 "memory" [] false
|
|
166
|
+
let _ = assert (Memory.has_max max_memory_wasm_mod = true)
|
|
167
|
+
let _ = assert (Memory.get_max max_memory_wasm_mod = 2)
|
|
168
|
+
|
|
169
|
+
(* Create an imported "write" function i32 (anyref, i32, i32) *)
|
|
135
170
|
(* Similar to the example here: https://bytecodealliance.org/articles/reference-types-in-wasmtime *)
|
|
136
171
|
|
|
137
172
|
let _ =
|
|
138
173
|
Import.add_function_import wasm_mod "write" "future-wasi" "write"
|
|
139
|
-
(Type.create [| Type.
|
|
174
|
+
(Type.create [| Type.anyref; Type.int32; Type.int32 |])
|
|
140
175
|
Type.int32
|
|
141
176
|
|
|
142
177
|
(* Create a function that calls the imported write function *)
|
|
143
178
|
let _ =
|
|
144
|
-
Function.add_function wasm_mod "hello" Type.
|
|
179
|
+
Function.add_function wasm_mod "hello" Type.anyref Type.int32 [||]
|
|
145
180
|
(Expression.Call.make wasm_mod "write"
|
|
146
181
|
[
|
|
147
|
-
Expression.Local_get.make wasm_mod 0 Type.
|
|
182
|
+
Expression.Local_get.make wasm_mod 0 Type.anyref;
|
|
148
183
|
Expression.Const.make wasm_mod (Literal.int32 0l);
|
|
149
184
|
Expression.Const.make wasm_mod (Literal.int32 1l);
|
|
150
185
|
]
|
|
@@ -180,7 +215,7 @@ let new_mod = Module.read byts
|
|
|
180
215
|
|
|
181
216
|
let _ =
|
|
182
217
|
Module.run_passes new_mod
|
|
183
|
-
[ Passes.name_types; Passes.merge_similar_functions ]
|
|
218
|
+
[ Passes.name_types; Passes.merge_similar_functions; Passes.spill_pointers ]
|
|
184
219
|
|
|
185
220
|
let _ =
|
|
186
221
|
Module.set_features new_mod
|
|
@@ -207,6 +242,8 @@ let _ =
|
|
|
207
242
|
let _ = Module.validate new_mod
|
|
208
243
|
let _ = Module.print new_mod
|
|
209
244
|
|
|
245
|
+
let _ = Module.print_stack_ir new_mod
|
|
246
|
+
|
|
210
247
|
(* Dispose the modules 👋 *)
|
|
211
248
|
|
|
212
249
|
let _ = Module.dispose wasm_mod
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
opam-version: "2.0"
|
|
2
|
-
build: [
|
|
3
|
-
["dune" "subst"] {dev}
|
|
4
|
-
["dune" "build" "-p" name "-j" jobs]
|
|
5
|
-
["dune" "runtest" "-p" name "-j" jobs] {with-test}
|
|
6
|
-
["dune" "build" "-p" name "@doc"] {with-doc}
|
|
7
|
-
]
|
|
8
|
-
maintainer: ["martin@mjambon.com"]
|
|
9
|
-
authors: ["Martin Jambon"]
|
|
10
|
-
bug-reports: "https://github.com/mjambon/biniou/issues"
|
|
11
|
-
homepage: "https://github.com/mjambon/biniou"
|
|
12
|
-
doc: "https://mjambon.github.io/biniou/"
|
|
13
|
-
license: "BSD-3-Clause"
|
|
14
|
-
dev-repo: "git+https://github.com/mjambon/biniou.git"
|
|
15
|
-
synopsis:
|
|
16
|
-
"Binary data format designed for speed, safety, ease of use and backward compatibility as protocols evolve"
|
|
17
|
-
description: """
|
|
18
|
-
|
|
19
|
-
Biniou (pronounced "be new") is a binary data format designed for speed, safety,
|
|
20
|
-
ease of use and backward compatibility as protocols evolve. Biniou is vastly
|
|
21
|
-
equivalent to JSON in terms of functionality but allows implementations several
|
|
22
|
-
times faster (4 times faster than yojson), with 25-35% space savings.
|
|
23
|
-
|
|
24
|
-
Biniou data can be decoded into human-readable form without knowledge of type
|
|
25
|
-
definitions except for field and variant names which are represented by 31-bit
|
|
26
|
-
hashes. A program named bdump is provided for routine visualization of biniou
|
|
27
|
-
data files.
|
|
28
|
-
|
|
29
|
-
The program atdgen is used to derive OCaml-Biniou serializers and deserializers
|
|
30
|
-
from type definitions.
|
|
31
|
-
|
|
32
|
-
Biniou format specification: mjambon.github.io/atdgen-doc/biniou-format.txt"""
|
|
33
|
-
depends: [
|
|
34
|
-
"easy-format"
|
|
35
|
-
"dune" {>= "1.10"}
|
|
36
|
-
"ocaml" {>= "4.02.3"}
|
|
37
|
-
]
|
|
38
|
-
url {
|
|
39
|
-
src:
|
|
40
|
-
"https://github.com/mjambon/biniou/releases/download/1.2.1/biniou-1.2.1.tbz"
|
|
41
|
-
checksum: [
|
|
42
|
-
"sha256=35546c68b1929a8e6d27a3b39ecd17b38303a0d47e65eb9d1480c2061ea84335"
|
|
43
|
-
"sha512=82670cc77bf3e869ee26e5fbe5a5affa45a22bc8b6c4bd7e85473912780e0111baca59b34a2c14feae3543ce6e239d7fddaeab24b686a65bfe642cdb91d27ebf"
|
|
44
|
-
]
|
|
45
|
-
}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
opam-version: "2.0"
|
|
2
|
-
synopsis:
|
|
3
|
-
"High-level and functional interface to the Format module of the OCaml standard library"
|
|
4
|
-
description: """
|
|
5
|
-
|
|
6
|
-
This module offers a high-level and functional interface to the Format module of
|
|
7
|
-
the OCaml standard library. It is a pretty-printing facility, i.e. it takes as
|
|
8
|
-
input some code represented as a tree and formats this code into the most
|
|
9
|
-
visually satisfying result, breaking and indenting lines of code where
|
|
10
|
-
appropriate.
|
|
11
|
-
|
|
12
|
-
Input data must be first modelled and converted into a tree using 3 kinds of
|
|
13
|
-
nodes:
|
|
14
|
-
|
|
15
|
-
* atoms
|
|
16
|
-
* lists
|
|
17
|
-
* labelled nodes
|
|
18
|
-
|
|
19
|
-
Atoms represent any text that is guaranteed to be printed as-is. Lists can model
|
|
20
|
-
any sequence of items such as arrays of data or lists of definitions that are
|
|
21
|
-
labelled with something like "int main", "let x =" or "x:"."""
|
|
22
|
-
maintainer: ["martin@mjambon.com" "rudi.grinberg@gmail.com"]
|
|
23
|
-
authors: ["Martin Jambon"]
|
|
24
|
-
license: "BSD-3-Clause"
|
|
25
|
-
homepage: "https://github.com/ocaml-community/easy-format"
|
|
26
|
-
doc: "https://mjambon.github.io/easy-format/"
|
|
27
|
-
bug-reports: "https://github.com/ocaml-community/easy-format/issues"
|
|
28
|
-
depends: [
|
|
29
|
-
"dune" {>= "3.2" & >= "1.10"}
|
|
30
|
-
"ocaml" {>= "4.08"}
|
|
31
|
-
"odoc" {with-doc}
|
|
32
|
-
]
|
|
33
|
-
build: [
|
|
34
|
-
["dune" "subst"] {dev}
|
|
35
|
-
[
|
|
36
|
-
"dune"
|
|
37
|
-
"build"
|
|
38
|
-
"-p"
|
|
39
|
-
name
|
|
40
|
-
"-j"
|
|
41
|
-
jobs
|
|
42
|
-
"@install"
|
|
43
|
-
"@runtest" {with-test}
|
|
44
|
-
"@doc" {with-doc}
|
|
45
|
-
]
|
|
46
|
-
]
|
|
47
|
-
dev-repo: "git+https://github.com/ocaml-community/easy-format.git"
|
|
48
|
-
url {
|
|
49
|
-
src:
|
|
50
|
-
"https://github.com/ocaml-community/easy-format/releases/download/1.3.4/easy-format-1.3.4.tbz"
|
|
51
|
-
checksum: [
|
|
52
|
-
"sha256=1dbf051e9f68574dde6e2e254a66b9c524ca425e80b36e99af96ed964ab610c3"
|
|
53
|
-
"sha512=90264864dde4cbf51f60fb5c21cf033e11bdeb662e76b62ce27b496c298ca9102174885ed7a6d29a6b8e43089e27d5bb5be247f88d9739c15cfd8470fec29d33"
|
|
54
|
-
]
|
|
55
|
-
}
|
|
56
|
-
x-commit-hash: "ba4962884509ceec63905dd6e0ccb429be4f9f66"
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
opam-version: "2.0"
|
|
2
|
-
maintainer: "Philippe Wang <philippe.wang@gmail.com>"
|
|
3
|
-
authors: [ "Philippe Wang <philippe.wang@gmail.com>" ]
|
|
4
|
-
license: "ISC"
|
|
5
|
-
homepage: "https://github.com/ocaml/omd"
|
|
6
|
-
dev-repo: "git+https://github.com/ocaml/omd.git"
|
|
7
|
-
bug-reports: "https://github.com/ocaml/omd/issues"
|
|
8
|
-
tags: [ "org:ocamllabs" "org:mirage" ]
|
|
9
|
-
build: [
|
|
10
|
-
["ocaml" "setup.ml" "-configure" "--prefix" prefix]
|
|
11
|
-
["ocaml" "setup.ml" "-build"]
|
|
12
|
-
["ocaml" "setup.ml" "-configure" "--enable-tests"] {with-test}
|
|
13
|
-
["ocaml" "setup.ml" "-build"] {with-test}
|
|
14
|
-
["ocaml" "setup.ml" "-test"] {with-test}
|
|
15
|
-
]
|
|
16
|
-
install: ["ocaml" "setup.ml" "-install"]
|
|
17
|
-
remove: [
|
|
18
|
-
["ocaml" "%{etc}%/omd/setup.ml" "-C" "%{etc}%/omd" "-uninstall"]
|
|
19
|
-
]
|
|
20
|
-
depends: [
|
|
21
|
-
"ocaml" {>= "4.01"}
|
|
22
|
-
"base-bigarray"
|
|
23
|
-
"base-bytes"
|
|
24
|
-
"ocamlbuild" {build}
|
|
25
|
-
"ocamlfind" {build & >= "1.5"}
|
|
26
|
-
]
|
|
27
|
-
synopsis: "A Markdown frontend in pure OCaml."
|
|
28
|
-
description: """
|
|
29
|
-
This Markdown library is implemented using only pure OCaml (including
|
|
30
|
-
I/O operations provided by the standard OCaml compiler distribution).
|
|
31
|
-
OMD is meant to be as faithful as possible to the original Markdown.
|
|
32
|
-
Additionally, OMD implements a few Github markdown features, an
|
|
33
|
-
extension mechanism, and some other features. Note that the opam
|
|
34
|
-
package installs both the OMD library and the command line tool `omd`."""
|
|
35
|
-
url {
|
|
36
|
-
src:
|
|
37
|
-
"https://github.com/Chris00/omd/releases/download/1.3.1/omd-1.3.1.tar.gz"
|
|
38
|
-
checksum: "md5=845fc38e86ec0e85721130f2dd044d00"
|
|
39
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
opam-version: "2.0"
|
|
2
|
-
synopsis: """Unicode character properties for OCaml"""
|
|
3
|
-
maintainer: ["Daniel Bünzli <daniel.buenzl i@erratique.ch>"]
|
|
4
|
-
authors: ["The uucp programmers"]
|
|
5
|
-
homepage: "https://erratique.ch/software/uucp"
|
|
6
|
-
doc: "https://erratique.ch/software/uucp/doc/"
|
|
7
|
-
dev-repo: "git+https://erratique.ch/repos/uucp.git"
|
|
8
|
-
bug-reports: "https://github.com/dbuenzli/uucp/issues"
|
|
9
|
-
license: ["ISC"]
|
|
10
|
-
tags: ["unicode" "text" "character" "org:erratique"]
|
|
11
|
-
depends: ["ocaml" {>= "4.03.0"}
|
|
12
|
-
"ocamlfind" {build}
|
|
13
|
-
"ocamlbuild" {build}
|
|
14
|
-
"topkg" {build & >= "1.0.3"}
|
|
15
|
-
"uucd" {with-test}
|
|
16
|
-
"uunf" {with-test}
|
|
17
|
-
"uutf" {with-test}]
|
|
18
|
-
depopts: ["uutf"
|
|
19
|
-
"uunf"
|
|
20
|
-
"cmdliner"]
|
|
21
|
-
conflicts: ["uutf" {< "1.0.1"}
|
|
22
|
-
"cmdliner" {< "1.0.0"}]
|
|
23
|
-
build: [["ocaml" "pkg/pkg.ml" "build" "--dev-pkg" "%{dev}%"
|
|
24
|
-
"--with-uutf" "%{uutf:installed}%"
|
|
25
|
-
"--with-uunf" "%{uunf:installed}%"
|
|
26
|
-
"--with-cmdliner" "%{cmdliner:installed}%" ]]
|
|
27
|
-
description: """
|
|
28
|
-
Uucp is an OCaml library providing efficient access to a selection of
|
|
29
|
-
character properties of the [Unicode character database][1].
|
|
30
|
-
|
|
31
|
-
Uucp is independent from any Unicode text data structure and has no
|
|
32
|
-
dependencies. It is distributed under the ISC license.
|
|
33
|
-
|
|
34
|
-
[1]: http://www.unicode.org/reports/tr44/
|
|
35
|
-
|
|
36
|
-
Home page: http://erratique.ch/software/uucp"""
|
|
37
|
-
url {
|
|
38
|
-
src: "https://erratique.ch/software/uucp/releases/uucp-14.0.0.tbz"
|
|
39
|
-
checksum: "sha512=2d0224aed5d5accbb121624898f08598e8c74a2415942f159a54221c0cdac62ed64fc70a039c833e50110cefce77754ada9ac2d58f79a6fc9331135326fe6899"}
|
|
40
|
-
post-messages: ["If the build fails with \"ocamlopt.opt got signal and exited\", issue 'ulimit -s unlimited' and retry."
|
|
41
|
-
{failure & (arch = "ppc64" | arch = "arm64")}]
|