@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.
Files changed (68) hide show
  1. binaryen-archive/CHANGELOG.md +38 -0
  2. binaryen-archive/binaryen.opam +2 -2
  3. binaryen-archive/esy.lock/index.json +355 -346
  4. binaryen-archive/esy.lock/opam/camlp-streams.5.0.1/opam +59 -0
  5. binaryen-archive/esy.lock/opam/chrome-trace.3.5.0/opam +39 -0
  6. binaryen-archive/esy.lock/opam/{dune-build-info.3.2.0 → dune-build-info.3.5.0}/opam +5 -6
  7. binaryen-archive/esy.lock/opam/{dune-configurator.3.2.0 → dune-configurator.3.5.0}/opam +6 -6
  8. binaryen-archive/esy.lock/opam/{dune-rpc.3.2.0 → dune-rpc.3.5.0}/opam +5 -6
  9. binaryen-archive/esy.lock/opam/{dune.3.2.0 → dune.3.5.0}/opam +4 -5
  10. binaryen-archive/esy.lock/opam/{dyn.3.2.0 → dyn.3.5.0}/opam +5 -6
  11. binaryen-archive/esy.lock/opam/{fiber.3.2.0 → fiber.3.5.0}/opam +5 -6
  12. binaryen-archive/esy.lock/opam/{ocaml-lsp-server.1.11.6 → ocaml-lsp-server.1.14.1}/opam +9 -8
  13. binaryen-archive/esy.lock/opam/{ocaml-version.3.4.0 → ocaml-version.3.5.0}/opam +4 -4
  14. binaryen-archive/esy.lock/opam/{ocamlbuild.0.14.1 → ocamlbuild.0.14.2}/opam +3 -3
  15. binaryen-archive/esy.lock/opam/ocamlfind.1.9.5/files/0001-Fix-bug-when-installing-with-a-system-compiler.patch +26 -0
  16. binaryen-archive/esy.lock/opam/{ocamlfind.1.9.3 → ocamlfind.1.9.5}/opam +6 -3
  17. binaryen-archive/esy.lock/opam/{ocamlformat-rpc-lib.0.22.4 → ocamlformat-rpc-lib.0.24.1}/opam +4 -4
  18. binaryen-archive/esy.lock/opam/ocamlformat.0.20.1/opam +1 -1
  19. binaryen-archive/esy.lock/opam/{odoc-parser.1.0.0 → odoc-parser.1.0.1}/opam +5 -4
  20. binaryen-archive/esy.lock/opam/omd.1.3.2/opam +50 -0
  21. binaryen-archive/esy.lock/opam/{ordering.3.2.0 → ordering.3.5.0}/opam +5 -6
  22. binaryen-archive/esy.lock/opam/{ppxlib.0.26.0 → ppxlib.0.28.0}/opam +7 -7
  23. binaryen-archive/esy.lock/opam/sexplib0.v0.14.0/opam +1 -1
  24. binaryen-archive/esy.lock/opam/{stdune.3.2.0 → stdune.3.5.0}/opam +6 -6
  25. binaryen-archive/esy.lock/opam/uucp.15.0.0/opam +55 -0
  26. binaryen-archive/esy.lock/opam/{uuseg.14.0.0 → uuseg.15.0.0}/opam +39 -25
  27. binaryen-archive/esy.lock/opam/{xdg.3.2.0 → xdg.3.5.0}/opam +5 -6
  28. binaryen-archive/esy.lock/opam/{yojson.1.7.0 → yojson.2.0.2}/opam +14 -14
  29. 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
  30. 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
  31. 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
  32. 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
  33. binaryen-archive/package.json +2 -2
  34. binaryen-archive/src/binaryen_stubs_exports.js +36 -20
  35. binaryen-archive/src/binaryen_stubs_expressions.c +101 -0
  36. binaryen-archive/src/binaryen_stubs_expressions.js +543 -508
  37. binaryen-archive/src/binaryen_stubs_features.js +34 -34
  38. binaryen-archive/src/binaryen_stubs_functions.js +45 -19
  39. binaryen-archive/src/binaryen_stubs_globals.js +8 -8
  40. binaryen-archive/src/binaryen_stubs_imports.c +14 -0
  41. binaryen-archive/src/binaryen_stubs_imports.js +67 -14
  42. binaryen-archive/src/binaryen_stubs_memory.c +40 -0
  43. binaryen-archive/src/binaryen_stubs_memory.js +45 -2
  44. binaryen-archive/src/binaryen_stubs_modules.c +20 -0
  45. binaryen-archive/src/binaryen_stubs_modules.js +26 -8
  46. binaryen-archive/src/binaryen_stubs_ops.js +632 -632
  47. binaryen-archive/src/binaryen_stubs_settings.js +36 -38
  48. binaryen-archive/src/binaryen_stubs_tables.js +18 -12
  49. binaryen-archive/src/binaryen_stubs_types.c +23 -2
  50. binaryen-archive/src/binaryen_stubs_types.js +44 -26
  51. binaryen-archive/src/expression.ml +27 -0
  52. binaryen-archive/src/expression.mli +18 -0
  53. binaryen-archive/src/import.ml +4 -0
  54. binaryen-archive/src/import.mli +2 -0
  55. binaryen-archive/src/memory.ml +25 -12
  56. binaryen-archive/src/memory.mli +12 -6
  57. binaryen-archive/src/module.ml +2 -0
  58. binaryen-archive/src/module.mli +2 -0
  59. binaryen-archive/src/passes.ml +6 -0
  60. binaryen-archive/src/passes.mli +6 -0
  61. binaryen-archive/src/type.ml +14 -2
  62. binaryen-archive/src/type.mli +4 -1
  63. binaryen-archive/test/test.expected +49 -12
  64. binaryen-archive/test/test.ml +49 -12
  65. binaryen-archive/esy.lock/opam/biniou.1.2.1/opam +0 -45
  66. binaryen-archive/esy.lock/opam/easy-format.1.3.4/opam +0 -56
  67. binaryen-archive/esy.lock/opam/omd.1.3.1/opam +0 -39
  68. 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 $externref_i32_i32_=>_i32 (func (param externref i32 i32) (result i32)))
13
- (type $externref_=>_i32 (func (param externref) (result i32)))
14
- (import "future-wasi" "write" (func $write (param externref i32 i32) (result i32)))
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 externref) (result i32)
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 $externref_i32_i32_=>_i32 (func (param externref i32 i32) (result i32)))
65
- (type $externref_=>_i32 (func (param externref) (result i32)))
66
- (import "future-wasi" "write" (func $write (param externref i32 i32) (result i32)))
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 externref) (result i32)
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 externref i32 i32) (result i32)))
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 externref) (result i32)))
108
- (import "future-wasi" "write" (func $fimport$0 (param externref i32 i32) (result i32)))
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 externref) (result i32)
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
+ )
@@ -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 passive = false in
128
- let offset = Expression.Const.make wasm_mod (Literal.int32 0l) in
129
- let size = String.length data in
130
- { data; passive; offset; size }
131
-
132
- let _ = Memory.set_memory wasm_mod 1 Memory.unlimited "memory" [ segment ] false
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
- (* Create an imported "write" function i32 (externref, i32, i32) *)
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.externref; Type.int32; Type.int32 |])
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.externref Type.int32 [||]
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.externref;
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")}]