Skip to content

Commit 0cf8f75

Browse files
authored
Merge pull request #163 from alexanderwiederin/ffi
Chore: remove `bindgen` and replace with hand-rolled FFI bindings
2 parents d29b3c7 + d1561f4 commit 0cf8f75

14 files changed

Lines changed: 1043 additions & 573 deletions

File tree

Cargo-minimal.lock

Lines changed: 28 additions & 173 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ version = 3
44

55
[[package]]
66
name = "aho-corasick"
7-
version = "0.7.18"
7+
version = "0.7.6"
88
source = "registry+https://github.com/rust-lang/crates.io-index"
9-
checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
9+
checksum = "58fb5e95d83b38284460a5fda7d6470aa0b8844d283a0b614b8535e880800d2d"
1010
dependencies = [
1111
"memchr",
1212
]
@@ -86,26 +86,6 @@ version = "0.6.0"
8686
source = "registry+https://github.com/rust-lang/crates.io-index"
8787
checksum = "f92b72b8f03128773278bf74418b9205f3d2a12c39a61f92395f47af390c32bf"
8888

89-
[[package]]
90-
name = "bindgen"
91-
version = "0.72.0"
92-
source = "registry+https://github.com/rust-lang/crates.io-index"
93-
checksum = "4f72209734318d0b619a5e0f5129918b848c416e122a3c4ce054e03cb87b726f"
94-
dependencies = [
95-
"bitflags",
96-
"cexpr",
97-
"clang-sys",
98-
"itertools",
99-
"log",
100-
"prettyplease",
101-
"proc-macro2",
102-
"quote 1.0.25",
103-
"regex",
104-
"rustc-hash",
105-
"shlex",
106-
"syn 2.0.16",
107-
]
108-
10989
[[package]]
11090
name = "bitcoin"
11191
version = "0.31.0"
@@ -161,12 +141,6 @@ dependencies = [
161141
"log",
162142
]
163143

164-
[[package]]
165-
name = "bitflags"
166-
version = "2.2.1"
167-
source = "registry+https://github.com/rust-lang/crates.io-index"
168-
checksum = "24a6904aef64d73cf10ab17ebace7befb918b82164785cb89907993be7f83813"
169-
170144
[[package]]
171145
name = "cc"
172146
version = "1.2.0"
@@ -176,32 +150,12 @@ dependencies = [
176150
"shlex",
177151
]
178152

179-
[[package]]
180-
name = "cexpr"
181-
version = "0.6.0"
182-
source = "registry+https://github.com/rust-lang/crates.io-index"
183-
checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
184-
dependencies = [
185-
"nom",
186-
]
187-
188153
[[package]]
189154
name = "cfg-if"
190155
version = "0.1.2"
191156
source = "registry+https://github.com/rust-lang/crates.io-index"
192157
checksum = "d4c819a1287eb618df47cc647173c5c4c66ba19d888a6e50d605672aed3140de"
193158

194-
[[package]]
195-
name = "clang-sys"
196-
version = "1.1.0"
197-
source = "registry+https://github.com/rust-lang/crates.io-index"
198-
checksum = "5cb92721cb37482245ed88428f72253ce422b3b4ee169c70a0642521bb5db4cc"
199-
dependencies = [
200-
"glob",
201-
"libc",
202-
"libloading",
203-
]
204-
205159
[[package]]
206160
name = "colorchoice"
207161
version = "1.0.0"
@@ -215,7 +169,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
215169
checksum = "df89dd0d075dea5cc5fdd6d5df6b8a61172a710b3efac1d6bdb9dd8b78f82c1a"
216170
dependencies = [
217171
"proc-macro2",
218-
"quote 1.0.25",
172+
"quote 1.0.0",
219173
"syn 1.0.0",
220174
]
221175

@@ -225,12 +179,6 @@ version = "0.4.0"
225179
source = "registry+https://github.com/rust-lang/crates.io-index"
226180
checksum = "5edd69c67b2f8e0911629b7e6b8a34cb3956613cd7c6e6414966dee349c2db4f"
227181

228-
[[package]]
229-
name = "either"
230-
version = "1.0.0"
231-
source = "registry+https://github.com/rust-lang/crates.io-index"
232-
checksum = "5845bf77d497f79416df39462df26d4a8b71dd6440246848ee63709476dbb9a6"
233-
234182
[[package]]
235183
name = "env_filter"
236184
version = "0.1.0"
@@ -266,12 +214,6 @@ dependencies = [
266214
"silentpayments",
267215
]
268216

269-
[[package]]
270-
name = "glob"
271-
version = "0.3.0"
272-
source = "registry+https://github.com/rust-lang/crates.io-index"
273-
checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
274-
275217
[[package]]
276218
name = "hex"
277219
version = "0.4.0"
@@ -296,35 +238,25 @@ version = "2.0.0"
296238
source = "registry+https://github.com/rust-lang/crates.io-index"
297239
checksum = "b9b6c53306532d3c8e8087b44e6580e10db51a023cf9b433cea2ac38066b92da"
298240

299-
[[package]]
300-
name = "itertools"
301-
version = "0.10.0"
302-
source = "registry+https://github.com/rust-lang/crates.io-index"
303-
checksum = "37d572918e350e82412fe766d24b15e6682fb2ed2bbe018280caa810397cb319"
304-
dependencies = [
305-
"either",
306-
]
307-
308241
[[package]]
309242
name = "itoa"
310243
version = "0.3.0"
311244
source = "registry+https://github.com/rust-lang/crates.io-index"
312245
checksum = "91fd9dc2c587067de817fec4ad355e3818c3d893a78cab32a0a474c7a15bb8d5"
313246

247+
[[package]]
248+
name = "lazy_static"
249+
version = "1.0.0"
250+
source = "registry+https://github.com/rust-lang/crates.io-index"
251+
checksum = "c8f31047daa365f19be14b47c29df4f7c3b581832407daabe6ae77397619237d"
252+
314253
[[package]]
315254
name = "libbitcoinkernel-sys"
316255
version = "0.2.0"
317256
dependencies = [
318-
"bindgen",
319257
"cc",
320258
]
321259

322-
[[package]]
323-
name = "libc"
324-
version = "0.2.39"
325-
source = "registry+https://github.com/rust-lang/crates.io-index"
326-
checksum = "f54263ad99207254cf58b5f701ecb432c717445ea2ee8af387334bdd1a03fdff"
327-
328260
[[package]]
329261
name = "libfuzzer-sys"
330262
version = "0.4.0"
@@ -335,15 +267,6 @@ dependencies = [
335267
"cc",
336268
]
337269

338-
[[package]]
339-
name = "libloading"
340-
version = "0.6.0"
341-
source = "registry+https://github.com/rust-lang/crates.io-index"
342-
checksum = "2c979a19ffb457f0273965c333053f3d586bf759bf7b683fbebc37f9a9ebedc4"
343-
dependencies = [
344-
"winapi",
345-
]
346-
347270
[[package]]
348271
name = "log"
349272
version = "0.4.8"
@@ -355,50 +278,23 @@ dependencies = [
355278

356279
[[package]]
357280
name = "memchr"
358-
version = "2.4.0"
359-
source = "registry+https://github.com/rust-lang/crates.io-index"
360-
checksum = "b16bd47d9e329435e309c58469fe0791c2d0d1ba96ec0954152a5ae2b04387dc"
361-
362-
[[package]]
363-
name = "minimal-lexical"
364-
version = "0.1.2"
281+
version = "2.2.1"
365282
source = "registry+https://github.com/rust-lang/crates.io-index"
366-
checksum = "6595bb28ed34f43c3fe088e48f6cfb2e033cab45f25a5384d5fdf564fbc8c4b2"
367-
368-
[[package]]
369-
name = "nom"
370-
version = "7.0.0"
371-
source = "registry+https://github.com/rust-lang/crates.io-index"
372-
checksum = "7ffd9d26838a953b4af82cbeb9f1592c6798916983959be223a7124e992742c1"
373-
dependencies = [
374-
"memchr",
375-
"minimal-lexical",
376-
"version_check",
377-
]
283+
checksum = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e"
378284

379285
[[package]]
380286
name = "num-traits"
381287
version = "0.1.32"
382288
source = "registry+https://github.com/rust-lang/crates.io-index"
383289
checksum = "51eab148f171aefad295f8cece636fc488b9b392ef544da31ea4b8ef6b9e9c39"
384290

385-
[[package]]
386-
name = "prettyplease"
387-
version = "0.2.7"
388-
source = "registry+https://github.com/rust-lang/crates.io-index"
389-
checksum = "43ded2b5b204571f065ab8540367d738dfe1b3606ab9eb669dcfb5e7a3a07501"
390-
dependencies = [
391-
"proc-macro2",
392-
"syn 2.0.16",
393-
]
394-
395291
[[package]]
396292
name = "proc-macro2"
397-
version = "1.0.80"
293+
version = "1.0.0"
398294
source = "registry+https://github.com/rust-lang/crates.io-index"
399-
checksum = "a56dea16b0a29e94408b9aa5e2940a4eedbd128a1ba20e8f7ae60fd3d465af0e"
295+
checksum = "19f287c234c9b2d0308d692dee5c449c1a171167a6f8150f7cf2a49d8fd96967"
400296
dependencies = [
401-
"unicode-ident",
297+
"unicode-xid 0.2.0",
402298
]
403299

404300
[[package]]
@@ -409,9 +305,9 @@ checksum = "9f0fc799e40f2a2c2be239825b30b686f1bd1d2e0e3d5e943b14c1380db49acf"
409305

410306
[[package]]
411307
name = "quote"
412-
version = "1.0.25"
308+
version = "1.0.0"
413309
source = "registry+https://github.com/rust-lang/crates.io-index"
414-
checksum = "5308e8208729c3e1504a6cfad0d5daacc4614c9a2e65d1ea312a34b5cb00fe84"
310+
checksum = "7ab938ebe6f1c82426b5fb82eaf10c3e3028c53deaa3fbe38f5904b37cf4d767"
415311
dependencies = [
416312
"proc-macro2",
417313
]
@@ -433,20 +329,21 @@ checksum = "34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7"
433329

434330
[[package]]
435331
name = "regex"
436-
version = "1.5.3"
332+
version = "1.3.0"
437333
source = "registry+https://github.com/rust-lang/crates.io-index"
438-
checksum = "ce5f1ceb7f74abbce32601642fcf8e8508a8a8991e0621c7d750295b9095702b"
334+
checksum = "fc98360d9e6ad383647702acc90f80b0582eac3ea577ab47d96325d3575de908"
439335
dependencies = [
440336
"aho-corasick",
441337
"memchr",
442338
"regex-syntax",
339+
"thread_local",
443340
]
444341

445342
[[package]]
446343
name = "regex-syntax"
447-
version = "0.6.25"
344+
version = "0.6.12"
448345
source = "registry+https://github.com/rust-lang/crates.io-index"
449-
checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b"
346+
checksum = "11a7e20d1cce64ef2fed88b66d347f88bd9babb82845b2b858f3edbf59a4f716"
450347

451348
[[package]]
452349
name = "rust-bitcoinkernel-fuzz"
@@ -457,12 +354,6 @@ dependencies = [
457354
"libfuzzer-sys",
458355
]
459356

460-
[[package]]
461-
name = "rustc-hash"
462-
version = "2.1.0"
463-
source = "registry+https://github.com/rust-lang/crates.io-index"
464-
checksum = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497"
465-
466357
[[package]]
467358
name = "secp256k1"
468359
version = "0.28.1"
@@ -564,21 +455,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
564455
checksum = "9f8c8eab7d9f493cd89d4068085651d81ac7d39c56eb64f7158ea514b156e280"
565456
dependencies = [
566457
"proc-macro2",
567-
"quote 1.0.25",
458+
"quote 1.0.0",
568459
"unicode-xid 0.2.0",
569460
]
570461

571-
[[package]]
572-
name = "syn"
573-
version = "2.0.16"
574-
source = "registry+https://github.com/rust-lang/crates.io-index"
575-
checksum = "a6f671d4b5ffdb8eadec19c0ae67fe2639df8684bd7bc4b83d986b8db549cf01"
576-
dependencies = [
577-
"proc-macro2",
578-
"quote 1.0.25",
579-
"unicode-ident",
580-
]
581-
582462
[[package]]
583463
name = "synom"
584464
version = "0.11.0"
@@ -589,10 +469,13 @@ dependencies = [
589469
]
590470

591471
[[package]]
592-
name = "unicode-ident"
593-
version = "1.0.0"
472+
name = "thread_local"
473+
version = "0.3.6"
594474
source = "registry+https://github.com/rust-lang/crates.io-index"
595-
checksum = "d22af068fba1eb5edcb4aea19d382b2a3deb4c8f9d475c589b6ada9e0fd493ee"
475+
checksum = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b"
476+
dependencies = [
477+
"lazy_static",
478+
]
596479

597480
[[package]]
598481
name = "unicode-xid"
@@ -612,34 +495,6 @@ version = "0.2.1"
612495
source = "registry+https://github.com/rust-lang/crates.io-index"
613496
checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
614497

615-
[[package]]
616-
name = "version_check"
617-
version = "0.9.0"
618-
source = "registry+https://github.com/rust-lang/crates.io-index"
619-
checksum = "45d3d553fd9413fffe7147a20171d640eda0ad4c070acd7d0c885a21bcd2e8b7"
620-
621-
[[package]]
622-
name = "winapi"
623-
version = "0.3.0"
624-
source = "registry+https://github.com/rust-lang/crates.io-index"
625-
checksum = "b3ad91d846a4a5342c1fb7008d26124ee6cf94a3953751618577295373b32117"
626-
dependencies = [
627-
"winapi-i686-pc-windows-gnu",
628-
"winapi-x86_64-pc-windows-gnu",
629-
]
630-
631-
[[package]]
632-
name = "winapi-i686-pc-windows-gnu"
633-
version = "0.3.0"
634-
source = "registry+https://github.com/rust-lang/crates.io-index"
635-
checksum = "a16a8e2ebfc883e2b1771c6482b1fb3c6831eab289ba391619a2d93a7356220f"
636-
637-
[[package]]
638-
name = "winapi-x86_64-pc-windows-gnu"
639-
version = "0.3.0"
640-
source = "registry+https://github.com/rust-lang/crates.io-index"
641-
checksum = "8ca29cb03c8ceaf20f8224a18a530938305e9872b1478ea24ff44b4f503a1d1d"
642-
643498
[[package]]
644499
name = "windows-sys"
645500
version = "0.48.0"

0 commit comments

Comments
 (0)