Build wheels using setuptools-rust
Build wheels in a more "standard" way using setuptools-rust, which makes our life easier when dealing with multiple different platforms. Also use the new bdk-ffi's `generate` binary instead of relying on uniffi's bindgen cli.
This commit is contained in:
		
							parent
							
								
									964b7ae5f0
								
							
						
					
					
						commit
						d2bbecc5f5
					
				
							
								
								
									
										5
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -5,3 +5,8 @@ __pycache__/ | |||||||
| libbdkffi.dylib | libbdkffi.dylib | ||||||
| .idea/ | .idea/ | ||||||
| .DS_Store | .DS_Store | ||||||
|  | 
 | ||||||
|  | *.swp | ||||||
|  | 
 | ||||||
|  | src/bdkpython/bdk.py | ||||||
|  | *.whl | ||||||
|  | |||||||
							
								
								
									
										55
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										55
									
								
								README.md
									
									
									
									
									
								
							| @ -25,6 +25,11 @@ python -m tox | |||||||
| 
 | 
 | ||||||
| ## Build the package | ## Build the package | ||||||
| ```shell | ```shell | ||||||
|  | # Install dependecies | ||||||
|  | pip install -r requirements.txt | ||||||
|  | # Generate the bindings first | ||||||
|  | bash generate.sh | ||||||
|  | # Build the wheel | ||||||
| python -m build | python -m build | ||||||
| ``` | ``` | ||||||
| <br/> | <br/> | ||||||
| @ -34,53 +39,3 @@ python -m build | |||||||
| pip install ./dist/bdkpython-0.0.1-py3-none-any.whl | pip install ./dist/bdkpython-0.0.1-py3-none-any.whl | ||||||
| ``` | ``` | ||||||
| <br/> | <br/> | ||||||
| 
 |  | ||||||
| ## Known issues |  | ||||||
| Note that until the fix is merged upstream in [uniffi-rs](https://github.com/mozilla/uniffi-rs), the `loadIndirect()` function in the `bdk.py` module must be replaced with the following: |  | ||||||
| ```python |  | ||||||
| def loadIndirect(): |  | ||||||
|     if sys.platform == "linux": |  | ||||||
|         # libname = "lib{}.so" |  | ||||||
|         libname = os.path.join(os.path.dirname(__file__), "lib{}.so") |  | ||||||
|     elif sys.platform == "darwin": |  | ||||||
|         # libname = "lib{}.dylib" |  | ||||||
|         libname = os.path.join(os.path.dirname(__file__), "lib{}.dylib") |  | ||||||
|     elif sys.platform.startswith("win"): |  | ||||||
|         # As of python3.8, ctypes does not seem to search $PATH when loading DLLs. |  | ||||||
|         # We could use `os.add_dll_directory` to configure the search path, but |  | ||||||
|         # it doesn't feel right to mess with application-wide settings. Let's |  | ||||||
|         # assume that the `.dll` is next to the `.py` file and load by full path. |  | ||||||
|         libname = os.path.join( |  | ||||||
|             os.path.dirname(__file__), |  | ||||||
|             "{}.dll", |  | ||||||
|         ) |  | ||||||
|     return getattr(ctypes.cdll, libname.format("bdkffi")) |  | ||||||
| ``` |  | ||||||
| 
 |  | ||||||
| ## Support both macOS architectures |  | ||||||
| In order to support both macOS architectures, we must modify the `loadIndirect()` method a little further: |  | ||||||
| ```python |  | ||||||
| import platform |  | ||||||
| def loadIndirect(): |  | ||||||
|     if sys.platform == "linux": |  | ||||||
|         # libname = "lib{}.so" |  | ||||||
|         # libname = os.path.join(os.path.dirname(__file__), "lib{}.so") |  | ||||||
|         libname = os.path.join(os.path.dirname(__file__), "linux-x86_64/lib{}.so") |  | ||||||
|     elif sys.platform == "darwin": |  | ||||||
|         # libname = "lib{}.dylib" |  | ||||||
|         # libname = os.path.join(os.path.dirname(__file__), "lib{}.dylib") |  | ||||||
|         if platform.machine() == "arm64": |  | ||||||
|             libname = os.path.join(os.path.dirname(__file__), "darwin-arm64/lib{}.dylib") |  | ||||||
|         elif platform.machine() == "x86_64": |  | ||||||
|             libname = os.path.join(os.path.dirname(__file__), "darwin-x86_64/lib{}.dylib") |  | ||||||
|     elif sys.platform.startswith("win"): |  | ||||||
|         # As of python3.8, ctypes does not seem to search $PATH when loading DLLs. |  | ||||||
|         # We could use `os.add_dll_directory` to configure the search path, but |  | ||||||
|         # it doesn't feel right to mess with application-wide settings. Let's |  | ||||||
|         # assume that the `.dll` is next to the `.py` file and load by full path. |  | ||||||
|         libname = os.path.join( |  | ||||||
|             os.path.dirname(__file__), |  | ||||||
|             "{}.dll", |  | ||||||
|         ) |  | ||||||
|     return getattr(ctypes.cdll, libname.format("bdkffi")) |  | ||||||
| ``` |  | ||||||
|  | |||||||
							
								
								
									
										2
									
								
								bdk-ffi
									
									
									
									
									
								
							
							
								
								
								
								
								
								
									
									
								
							
						
						
									
										2
									
								
								bdk-ffi
									
									
									
									
									
								
							| @ -1 +1 @@ | |||||||
| Subproject commit e4d53b5e4b213e484bf4b76a4bf33884dd68f086 | Subproject commit 68f266a17b29a84e8c63ed90126c5c152d2f51aa | ||||||
							
								
								
									
										19
									
								
								build.sh
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								build.sh
									
									
									
									
									
								
							| @ -1,19 +0,0 @@ | |||||||
| #!/usr/bin/env bash |  | ||||||
| #set -euo pipefail |  | ||||||
| 
 |  | ||||||
| #pushd bdk-ffi |  | ||||||
| echo "Confirm bdk-ffi rust library builds" |  | ||||||
| cargo build --manifest-path ./bdk-ffi/Cargo.toml --release |  | ||||||
| 
 |  | ||||||
| echo "Generate bdk-ffi Python bindings" |  | ||||||
| # clean solution once uniffi-bindgen 0.15.3 is released |  | ||||||
| # uniffi-bindgen generate src/bdk.udl --no-format --out-dir ../src/bdkpython/ --language python |  | ||||||
| 
 |  | ||||||
| # in the meantime, set UNIFFI_BINDGEN environment variable to a local, latest version of uniffi-rs/uniffi_bindgen/Cargo.toml |  | ||||||
| # and the BDK_PYTHON environment variable to the current directory |  | ||||||
| #cd $UNIFFI_BINDGEN/ |  | ||||||
| #cargo run -- generate $BDK_PYTHON/src/bdk.udl --no-format --out-dir ./src/bdkpython/ --language python |  | ||||||
| #cd - |  | ||||||
| 
 |  | ||||||
| cargo run --manifest-path $UNIFFI_BINDGEN -- generate ./bdk-ffi/src/bdk.udl --no-format --out-dir ./src/bdkpython/ --language python |  | ||||||
| cp ./bdk-ffi/target/release/libbdkffi.dylib ./src/bdkpython/ |  | ||||||
							
								
								
									
										9
									
								
								generate.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								generate.sh
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,9 @@ | |||||||
|  | #!/usr/bin/env bash | ||||||
|  | 
 | ||||||
|  | set -euo pipefail | ||||||
|  | 
 | ||||||
|  | SCRIPT_DIR=$(dirname "$(realpath $0)") | ||||||
|  | PY_SRC="${SCRIPT_DIR}/src/bdkpython/" | ||||||
|  | 
 | ||||||
|  | echo "Generating bdk.py..." | ||||||
|  | GENERATE_PYTHON_BINDINGS_OUT="$PY_SRC" GENERATE_PYTHON_BINDINGS_FIXUP_LIB_PATH=bdkffi cargo run --manifest-path ./bdk-ffi/Cargo.toml --release --bin generate --features generate-python | ||||||
							
								
								
									
										387
									
								
								nix/uniffi_0.14.1_cargo_lock.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										387
									
								
								nix/uniffi_0.14.1_cargo_lock.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,387 @@ | |||||||
|  | --- /dev/null	2021-12-15 11:22:02.342000000 +0100
 | ||||||
|  | +++ uniffi_bindgen/Cargo.lock	2021-12-15 16:15:16.132084011 +0100
 | ||||||
|  | @@ -0,0 +1,384 @@
 | ||||||
|  | +# This file is automatically @generated by Cargo.
 | ||||||
|  | +# It is not intended for manual editing.
 | ||||||
|  | +version = 3
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "anyhow"
 | ||||||
|  | +version = "1.0.51"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "8b26702f315f53b6071259e15dd9d64528213b44d61de1ec926eca7715d62203"
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "arrayvec"
 | ||||||
|  | +version = "0.5.2"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "askama"
 | ||||||
|  | +version = "0.10.5"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "d298738b6e47e1034e560e5afe63aa488fea34e25ec11b855a76f0d7b8e73134"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "askama_derive",
 | ||||||
|  | + "askama_escape",
 | ||||||
|  | + "askama_shared",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "askama_derive"
 | ||||||
|  | +version = "0.10.5"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "ca2925c4c290382f9d2fa3d1c1b6a63fa1427099721ecca4749b154cc9c25522"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "askama_shared",
 | ||||||
|  | + "proc-macro2",
 | ||||||
|  | + "syn",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "askama_escape"
 | ||||||
|  | +version = "0.10.1"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "90c108c1a94380c89d2215d0ac54ce09796823cca0fd91b299cfff3b33e346fb"
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "askama_shared"
 | ||||||
|  | +version = "0.11.1"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "2582b77e0f3c506ec4838a25fa8a5f97b9bed72bb6d3d272ea1c031d8bd373bc"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "askama_escape",
 | ||||||
|  | + "nom 6.2.1",
 | ||||||
|  | + "proc-macro2",
 | ||||||
|  | + "quote",
 | ||||||
|  | + "serde",
 | ||||||
|  | + "syn",
 | ||||||
|  | + "toml",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "bitflags"
 | ||||||
|  | +version = "1.3.2"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "bitvec"
 | ||||||
|  | +version = "0.19.6"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "55f93d0ef3363c364d5976646a38f04cf67cfe1d4c8d160cdea02cab2c116b33"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "funty",
 | ||||||
|  | + "radium",
 | ||||||
|  | + "tap",
 | ||||||
|  | + "wyz",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "camino"
 | ||||||
|  | +version = "1.0.5"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "52d74260d9bf6944e2208aa46841b4b8f0d7ffc0849a06837b2f510337f86b2b"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "serde",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "cargo-platform"
 | ||||||
|  | +version = "0.1.2"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "cbdb825da8a5df079a43676dbe042702f1707b1109f713a01420fbb4cc71fa27"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "serde",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "cargo_metadata"
 | ||||||
|  | +version = "0.13.1"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "081e3f0755c1f380c2d010481b6fa2e02973586d5f2b24eebb7a2a1d98b143d8"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "camino",
 | ||||||
|  | + "cargo-platform",
 | ||||||
|  | + "semver",
 | ||||||
|  | + "semver-parser",
 | ||||||
|  | + "serde",
 | ||||||
|  | + "serde_json",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "cfg-if"
 | ||||||
|  | +version = "1.0.0"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "clap"
 | ||||||
|  | +version = "2.34.0"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "bitflags",
 | ||||||
|  | + "textwrap",
 | ||||||
|  | + "unicode-width",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "funty"
 | ||||||
|  | +version = "1.1.0"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7"
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "heck"
 | ||||||
|  | +version = "0.3.3"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "unicode-segmentation",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "itoa"
 | ||||||
|  | +version = "1.0.1"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35"
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "lexical-core"
 | ||||||
|  | +version = "0.7.6"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "6607c62aa161d23d17a9072cc5da0be67cdfc89d3afb1e8d9c842bebc2525ffe"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "arrayvec",
 | ||||||
|  | + "bitflags",
 | ||||||
|  | + "cfg-if",
 | ||||||
|  | + "ryu",
 | ||||||
|  | + "static_assertions",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "memchr"
 | ||||||
|  | +version = "2.3.4"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525"
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "nom"
 | ||||||
|  | +version = "5.1.2"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "memchr",
 | ||||||
|  | + "version_check",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "nom"
 | ||||||
|  | +version = "6.2.1"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "9c5c51b9083a3c620fa67a2a635d1ce7d95b897e957d6b28ff9a5da960a103a6"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "bitvec",
 | ||||||
|  | + "funty",
 | ||||||
|  | + "lexical-core",
 | ||||||
|  | + "memchr",
 | ||||||
|  | + "version_check",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "paste"
 | ||||||
|  | +version = "1.0.6"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "0744126afe1a6dd7f394cb50a716dbe086cb06e255e53d8d0185d82828358fb5"
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "pest"
 | ||||||
|  | +version = "2.1.3"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "ucd-trie",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "proc-macro2"
 | ||||||
|  | +version = "1.0.34"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "2f84e92c0f7c9d58328b85a78557813e4bd845130db68d7184635344399423b1"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "unicode-xid",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "quote"
 | ||||||
|  | +version = "1.0.10"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "38bc8cc6a5f2e3655e0899c1b848643b2562f853f114bfec7be120678e3ace05"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "proc-macro2",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "radium"
 | ||||||
|  | +version = "0.5.3"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "941ba9d78d8e2f7ce474c015eea4d9c6d25b6a3327f9832ee29a4de27f91bbb8"
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "ryu"
 | ||||||
|  | +version = "1.0.9"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f"
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "semver"
 | ||||||
|  | +version = "0.11.0"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "semver-parser",
 | ||||||
|  | + "serde",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "semver-parser"
 | ||||||
|  | +version = "0.10.2"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "pest",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "serde"
 | ||||||
|  | +version = "1.0.131"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "b4ad69dfbd3e45369132cc64e6748c2d65cdfb001a2b1c232d128b4ad60561c1"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "serde_derive",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "serde_derive"
 | ||||||
|  | +version = "1.0.131"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "b710a83c4e0dff6a3d511946b95274ad9ca9e5d3ae497b63fda866ac955358d2"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "proc-macro2",
 | ||||||
|  | + "quote",
 | ||||||
|  | + "syn",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "serde_json"
 | ||||||
|  | +version = "1.0.73"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "bcbd0344bc6533bc7ec56df11d42fb70f1b912351c0825ccb7211b59d8af7cf5"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "itoa",
 | ||||||
|  | + "ryu",
 | ||||||
|  | + "serde",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "static_assertions"
 | ||||||
|  | +version = "1.1.0"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "syn"
 | ||||||
|  | +version = "1.0.82"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "8daf5dd0bb60cbd4137b1b587d2fc0ae729bc07cf01cd70b36a1ed5ade3b9d59"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "proc-macro2",
 | ||||||
|  | + "quote",
 | ||||||
|  | + "unicode-xid",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "tap"
 | ||||||
|  | +version = "1.0.1"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "textwrap"
 | ||||||
|  | +version = "0.11.0"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "unicode-width",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "toml"
 | ||||||
|  | +version = "0.5.8"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "serde",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "ucd-trie"
 | ||||||
|  | +version = "0.1.3"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c"
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "unicode-segmentation"
 | ||||||
|  | +version = "1.8.0"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b"
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "unicode-width"
 | ||||||
|  | +version = "0.1.9"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973"
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "unicode-xid"
 | ||||||
|  | +version = "0.2.2"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "uniffi_bindgen"
 | ||||||
|  | +version = "0.14.1"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "anyhow",
 | ||||||
|  | + "askama",
 | ||||||
|  | + "cargo_metadata",
 | ||||||
|  | + "clap",
 | ||||||
|  | + "heck",
 | ||||||
|  | + "paste",
 | ||||||
|  | + "serde",
 | ||||||
|  | + "toml",
 | ||||||
|  | + "weedle",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "version_check"
 | ||||||
|  | +version = "0.9.3"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe"
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "weedle"
 | ||||||
|  | +version = "0.12.0"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "610950904727748ca09682e857f0d6d6437f0ca862f32f9229edba8cec8b2635"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "nom 5.1.2",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "wyz"
 | ||||||
|  | +version = "0.2.0"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214"
 | ||||||
							
								
								
									
										387
									
								
								nix/uniffi_0.15.2_cargo_lock.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										387
									
								
								nix/uniffi_0.15.2_cargo_lock.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,387 @@ | |||||||
|  | --- /dev/null	2021-12-15 11:22:02.342000000 +0100
 | ||||||
|  | +++ uniffi_bindgen/Cargo.lock	2021-12-15 15:54:49.278543090 +0100
 | ||||||
|  | @@ -0,0 +1,384 @@
 | ||||||
|  | +# This file is automatically @generated by Cargo.
 | ||||||
|  | +# It is not intended for manual editing.
 | ||||||
|  | +version = 3
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "anyhow"
 | ||||||
|  | +version = "1.0.51"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "8b26702f315f53b6071259e15dd9d64528213b44d61de1ec926eca7715d62203"
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "arrayvec"
 | ||||||
|  | +version = "0.5.2"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "askama"
 | ||||||
|  | +version = "0.10.5"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "d298738b6e47e1034e560e5afe63aa488fea34e25ec11b855a76f0d7b8e73134"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "askama_derive",
 | ||||||
|  | + "askama_escape",
 | ||||||
|  | + "askama_shared",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "askama_derive"
 | ||||||
|  | +version = "0.10.5"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "ca2925c4c290382f9d2fa3d1c1b6a63fa1427099721ecca4749b154cc9c25522"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "askama_shared",
 | ||||||
|  | + "proc-macro2",
 | ||||||
|  | + "syn",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "askama_escape"
 | ||||||
|  | +version = "0.10.1"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "90c108c1a94380c89d2215d0ac54ce09796823cca0fd91b299cfff3b33e346fb"
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "askama_shared"
 | ||||||
|  | +version = "0.11.1"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "2582b77e0f3c506ec4838a25fa8a5f97b9bed72bb6d3d272ea1c031d8bd373bc"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "askama_escape",
 | ||||||
|  | + "nom 6.2.1",
 | ||||||
|  | + "proc-macro2",
 | ||||||
|  | + "quote",
 | ||||||
|  | + "serde",
 | ||||||
|  | + "syn",
 | ||||||
|  | + "toml",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "bitflags"
 | ||||||
|  | +version = "1.3.2"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "bitvec"
 | ||||||
|  | +version = "0.19.6"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "55f93d0ef3363c364d5976646a38f04cf67cfe1d4c8d160cdea02cab2c116b33"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "funty",
 | ||||||
|  | + "radium",
 | ||||||
|  | + "tap",
 | ||||||
|  | + "wyz",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "camino"
 | ||||||
|  | +version = "1.0.5"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "52d74260d9bf6944e2208aa46841b4b8f0d7ffc0849a06837b2f510337f86b2b"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "serde",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "cargo-platform"
 | ||||||
|  | +version = "0.1.2"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "cbdb825da8a5df079a43676dbe042702f1707b1109f713a01420fbb4cc71fa27"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "serde",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "cargo_metadata"
 | ||||||
|  | +version = "0.13.1"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "081e3f0755c1f380c2d010481b6fa2e02973586d5f2b24eebb7a2a1d98b143d8"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "camino",
 | ||||||
|  | + "cargo-platform",
 | ||||||
|  | + "semver",
 | ||||||
|  | + "semver-parser",
 | ||||||
|  | + "serde",
 | ||||||
|  | + "serde_json",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "cfg-if"
 | ||||||
|  | +version = "1.0.0"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "clap"
 | ||||||
|  | +version = "2.34.0"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "bitflags",
 | ||||||
|  | + "textwrap",
 | ||||||
|  | + "unicode-width",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "funty"
 | ||||||
|  | +version = "1.1.0"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7"
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "heck"
 | ||||||
|  | +version = "0.3.3"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "unicode-segmentation",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "itoa"
 | ||||||
|  | +version = "1.0.1"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35"
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "lexical-core"
 | ||||||
|  | +version = "0.7.6"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "6607c62aa161d23d17a9072cc5da0be67cdfc89d3afb1e8d9c842bebc2525ffe"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "arrayvec",
 | ||||||
|  | + "bitflags",
 | ||||||
|  | + "cfg-if",
 | ||||||
|  | + "ryu",
 | ||||||
|  | + "static_assertions",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "memchr"
 | ||||||
|  | +version = "2.3.4"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525"
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "nom"
 | ||||||
|  | +version = "5.1.2"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "memchr",
 | ||||||
|  | + "version_check",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "nom"
 | ||||||
|  | +version = "6.2.1"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "9c5c51b9083a3c620fa67a2a635d1ce7d95b897e957d6b28ff9a5da960a103a6"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "bitvec",
 | ||||||
|  | + "funty",
 | ||||||
|  | + "lexical-core",
 | ||||||
|  | + "memchr",
 | ||||||
|  | + "version_check",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "paste"
 | ||||||
|  | +version = "1.0.6"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "0744126afe1a6dd7f394cb50a716dbe086cb06e255e53d8d0185d82828358fb5"
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "pest"
 | ||||||
|  | +version = "2.1.3"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "ucd-trie",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "proc-macro2"
 | ||||||
|  | +version = "1.0.34"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "2f84e92c0f7c9d58328b85a78557813e4bd845130db68d7184635344399423b1"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "unicode-xid",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "quote"
 | ||||||
|  | +version = "1.0.10"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "38bc8cc6a5f2e3655e0899c1b848643b2562f853f114bfec7be120678e3ace05"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "proc-macro2",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "radium"
 | ||||||
|  | +version = "0.5.3"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "941ba9d78d8e2f7ce474c015eea4d9c6d25b6a3327f9832ee29a4de27f91bbb8"
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "ryu"
 | ||||||
|  | +version = "1.0.9"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f"
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "semver"
 | ||||||
|  | +version = "0.11.0"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "semver-parser",
 | ||||||
|  | + "serde",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "semver-parser"
 | ||||||
|  | +version = "0.10.2"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "pest",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "serde"
 | ||||||
|  | +version = "1.0.131"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "b4ad69dfbd3e45369132cc64e6748c2d65cdfb001a2b1c232d128b4ad60561c1"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "serde_derive",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "serde_derive"
 | ||||||
|  | +version = "1.0.131"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "b710a83c4e0dff6a3d511946b95274ad9ca9e5d3ae497b63fda866ac955358d2"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "proc-macro2",
 | ||||||
|  | + "quote",
 | ||||||
|  | + "syn",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "serde_json"
 | ||||||
|  | +version = "1.0.73"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "bcbd0344bc6533bc7ec56df11d42fb70f1b912351c0825ccb7211b59d8af7cf5"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "itoa",
 | ||||||
|  | + "ryu",
 | ||||||
|  | + "serde",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "static_assertions"
 | ||||||
|  | +version = "1.1.0"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "syn"
 | ||||||
|  | +version = "1.0.82"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "8daf5dd0bb60cbd4137b1b587d2fc0ae729bc07cf01cd70b36a1ed5ade3b9d59"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "proc-macro2",
 | ||||||
|  | + "quote",
 | ||||||
|  | + "unicode-xid",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "tap"
 | ||||||
|  | +version = "1.0.1"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "textwrap"
 | ||||||
|  | +version = "0.11.0"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "unicode-width",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "toml"
 | ||||||
|  | +version = "0.5.8"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "serde",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "ucd-trie"
 | ||||||
|  | +version = "0.1.3"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c"
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "unicode-segmentation"
 | ||||||
|  | +version = "1.8.0"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b"
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "unicode-width"
 | ||||||
|  | +version = "0.1.9"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973"
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "unicode-xid"
 | ||||||
|  | +version = "0.2.2"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "uniffi_bindgen"
 | ||||||
|  | +version = "0.15.2"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "anyhow",
 | ||||||
|  | + "askama",
 | ||||||
|  | + "cargo_metadata",
 | ||||||
|  | + "clap",
 | ||||||
|  | + "heck",
 | ||||||
|  | + "paste",
 | ||||||
|  | + "serde",
 | ||||||
|  | + "toml",
 | ||||||
|  | + "weedle",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "version_check"
 | ||||||
|  | +version = "0.9.3"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe"
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "weedle"
 | ||||||
|  | +version = "0.12.0"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "610950904727748ca09682e857f0d6d6437f0ca862f32f9229edba8cec8b2635"
 | ||||||
|  | +dependencies = [
 | ||||||
|  | + "nom 5.1.2",
 | ||||||
|  | +]
 | ||||||
|  | +
 | ||||||
|  | +[[package]]
 | ||||||
|  | +name = "wyz"
 | ||||||
|  | +version = "0.2.0"
 | ||||||
|  | +source = "registry+https://github.com/rust-lang/crates.io-index"
 | ||||||
|  | +checksum = "85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214"
 | ||||||
							
								
								
									
										20
									
								
								nix/uniffi_bindgen.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								nix/uniffi_bindgen.nix
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,20 @@ | |||||||
|  | with import <nixpkgs> {}; | ||||||
|  | 
 | ||||||
|  | rustPlatform.buildRustPackage rec { | ||||||
|  |   pname = "uniffi_bindgen"; | ||||||
|  |   version = "0.15.2"; | ||||||
|  |   src = fetchFromGitHub { | ||||||
|  |     owner = "mozilla"; | ||||||
|  |     repo = "uniffi-rs"; | ||||||
|  |     rev = "6fa9c06a394b4e9b219fa30fc94e353d17f86e11"; | ||||||
|  |     # rev = "refs/tags/v0.14.1"; | ||||||
|  |     sha256 = "1chahy1ac1r88drpslln2p1b04cbg79ylpxzyyp92s1z7ldm5ddb"; # 0.15.2 | ||||||
|  |     # sha256 = "1mff3f3fqqzqx1yv70ff1yzdnvbd90vg2r477mzzcgisg1wfpwi0"; # 0.14.1 | ||||||
|  |     fetchSubmodules = true; | ||||||
|  |   } + "/uniffi_bindgen/"; | ||||||
|  | 
 | ||||||
|  |   doCheck = false; | ||||||
|  |   cargoSha256 = "sha256:08gg285fq8i32nf9kd8s0nn0niacd7sg8krv818nx41i18sm2cf3"; # 0.15.2 | ||||||
|  |   # cargoSha256 = "sha256:01zp3rwlni988h02dqhkhzhwccs7bhwc1alhbf6gbw3av4b0m9cf"; # 0.14.1 | ||||||
|  |   cargoPatches = [ ./uniffi_0.15.2_cargo_lock.patch ]; | ||||||
|  | } | ||||||
							
								
								
									
										3
									
								
								requirements.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								requirements.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,3 @@ | |||||||
|  | semantic-version==2.9.0 | ||||||
|  | setuptools-rust==1.1.2 | ||||||
|  | typing_extensions==4.0.1 | ||||||
							
								
								
									
										24
									
								
								setup.py
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								setup.py
									
									
									
									
									
								
							| @ -1,6 +1,9 @@ | |||||||
| #!/usr/bin/env python | #!/usr/bin/env python | ||||||
| 
 | 
 | ||||||
| from setuptools import setup, find_packages | import os | ||||||
|  | 
 | ||||||
|  | from setuptools import setup | ||||||
|  | from setuptools_rust import Binding, RustExtension | ||||||
| 
 | 
 | ||||||
| LONG_DESCRIPTION = """# bdkpython | LONG_DESCRIPTION = """# bdkpython | ||||||
| The Python language bindings for the [bitcoindevkit](https://github.com/bitcoindevkit). | The Python language bindings for the [bitcoindevkit](https://github.com/bitcoindevkit). | ||||||
| @ -60,17 +63,22 @@ print(f"Wallet balance is: {balance}") | |||||||
| ``` | ``` | ||||||
| """ | """ | ||||||
| 
 | 
 | ||||||
|  | rust_ext = RustExtension( | ||||||
|  |     "bdkpython.bdkffi", | ||||||
|  |     path="./bdk-ffi/Cargo.toml", | ||||||
|  |     binding=Binding.NoBinding, | ||||||
|  | ) | ||||||
|  | 
 | ||||||
| setup( | setup( | ||||||
|     name='bdkpython', |     name = 'bdkpython', | ||||||
|     version='0.0.4', |     version = '0.0.4', | ||||||
|     packages=find_packages(where="src"), |  | ||||||
|     package_dir={"": "src"}, |  | ||||||
|     package_data={"bdkpython": ["*/*.dylib", "*/*.so"]}, |  | ||||||
|     include_package_data=True, |  | ||||||
|     zip_safe=False, |  | ||||||
|     description="The Python language bindings for the bitcoindevkit", |     description="The Python language bindings for the bitcoindevkit", | ||||||
|     long_description=LONG_DESCRIPTION, |     long_description=LONG_DESCRIPTION, | ||||||
|     long_description_content_type='text/markdown', |     long_description_content_type='text/markdown', | ||||||
|  |     rust_extensions=[rust_ext], | ||||||
|  |     zip_safe=False, | ||||||
|  |     packages=['bdkpython'], | ||||||
|  |     package_dir={ 'bdkpython': './src/bdkpython' }, | ||||||
|     url="https://github.com/thunderbiscuit/bdk-python", |     url="https://github.com/thunderbiscuit/bdk-python", | ||||||
|     author="Alekos Filini <alekos.filini@gmail.com>, Steve Myers <steve@notmandatory.org>", |     author="Alekos Filini <alekos.filini@gmail.com>, Steve Myers <steve@notmandatory.org>", | ||||||
|     license="MIT or Apache 2.0", |     license="MIT or Apache 2.0", | ||||||
|  | |||||||
							
								
								
									
										17
									
								
								shell.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								shell.nix
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,17 @@ | |||||||
|  | with import <nixpkgs> {}; | ||||||
|  | 
 | ||||||
|  | mkShell { | ||||||
|  |   name = "bdk-python-shell"; | ||||||
|  |   packages = [ ( import ./nix/uniffi_bindgen.nix ) ]; | ||||||
|  |   buildInputs = with python37.pkgs; [ | ||||||
|  |     pip | ||||||
|  |     setuptools | ||||||
|  |   ]; | ||||||
|  |   shellHook = '' | ||||||
|  |     export LD_LIBRARY_PATH=${pkgs.stdenv.cc.cc.lib}/lib:$LD_LIBRARY_PATH | ||||||
|  |     alias pip="PIP_PREFIX='$(pwd)/_build/pip_packages' \pip" | ||||||
|  |     export PYTHONPATH="$(pwd)/_build/pip_packages/lib/python3.7/site-packages:$(pwd):$PYTHONPATH" | ||||||
|  |     export PATH="$(pwd)/_build/pip_packages/bin:$PATH" | ||||||
|  |     unset SOURCE_DATE_EPOCH | ||||||
|  |   ''; | ||||||
|  | } | ||||||
							
								
								
									
										1891
									
								
								src/bdkpython/bdk.py
									
									
									
									
									
								
							
							
						
						
									
										1891
									
								
								src/bdkpython/bdk.py
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user