|
80 | 80 | src = rust-src; |
81 | 81 | }; |
82 | 82 |
|
83 | | - |
84 | | - common-wasm-attrs = common-attrs // rec { |
85 | | - # really would could read it from Cargo.toml and reuse in here and in CI publish script as refactoring |
86 | | - pname = "golden-gate-runtime"; |
87 | | - cargoExtraArgs = "--package ${pname} --target wasm32-unknown-unknown --no-default-features --features=aura,with-rocksdb-weights"; |
| 83 | + common-wasm-deps-attrs = common-attrs // { |
| 84 | + cargoExtraArgs = # Removing "-deps" from pname is a hack to utilise this for deps and the actual package |
| 85 | + "--package \${pname%\"-deps\"} --target wasm32-unknown-unknown --no-default-features --features=aura,with-rocksdb-weights"; |
88 | 86 | RUSTFLAGS = |
89 | 87 | "-Clink-arg=--export=__heap_base -Clink-arg=--import-memory"; |
90 | | - version = "0.1.0"; |
91 | 88 | }; |
92 | 89 |
|
| 90 | + common-wasm-attrs = common-wasm-deps-attrs // { |
| 91 | + src = rust-src; |
| 92 | + installPhase = '' |
| 93 | + mkdir --parents $out/lib |
| 94 | + pname_underscore=''${pname//-/_} |
| 95 | + cp ./target/wasm32-unknown-unknown/release/wbuild/$pname/$pname_underscore.compact.compressed.wasm $out/lib |
| 96 | + ''; |
| 97 | + }; |
93 | 98 |
|
94 | 99 | common-native-release-attrs = common-attrs // rec { |
95 | 100 | cargoExtraArgs = "--package ${pname}"; |
96 | 101 | pname = "golden-gate-node"; |
97 | 102 | version = "0.1.0"; |
98 | 103 | }; |
99 | 104 |
|
100 | | - # calls `cargo vendor` on package deps |
101 | | - common-wasm-deps = |
102 | | - craneLib.buildDepsOnly (common-wasm-attrs // { }); |
103 | 105 | common-native-release-deps = |
104 | 106 | craneLib.buildDepsOnly (common-native-release-attrs // { }); |
105 | 107 |
|
|
130 | 132 | [ ./.gitignore ] ./.; |
131 | 133 | }; |
132 | 134 |
|
133 | | - golden-gate-runtime = craneLib.buildPackage (common-wasm-attrs // { |
134 | | - installPhase = '' |
135 | | - mkdir --parents $out/lib |
136 | | - cp ./target/wasm32-unknown-unknown/release/wbuild/${common-wasm-attrs.pname}/golden_gate_runtime.compact.compressed.wasm $out/lib |
137 | | - ''; |
138 | | - src = rust-src; |
139 | | - cargoArtifacts = common-wasm-deps; |
| 135 | + golden-gate-poa-runtime = craneLib.buildPackage (common-wasm-attrs // rec { |
| 136 | + pname = "golden-gate-poa-runtime"; |
| 137 | + version = "0.1.0"; |
| 138 | + cargoArtifacts = craneLib.buildDepsOnly (common-wasm-deps-attrs // { inherit pname version; }); |
| 139 | + }); |
| 140 | + |
| 141 | + golden-gate-pos-runtime = craneLib.buildPackage (common-wasm-attrs // rec { |
| 142 | + pname = "golden-gate-pos-runtime"; |
| 143 | + version = "0.1.0"; |
| 144 | + cargoArtifacts = craneLib.buildDepsOnly (common-wasm-deps-attrs // { inherit pname version; }); |
140 | 145 | }); |
141 | 146 |
|
142 | 147 | golden-gate-node = craneLib.buildPackage (common-native-release-attrs // { |
|
233 | 238 | }; |
234 | 239 | in |
235 | 240 | rec { |
236 | | - packages = flake-utils.lib.flattenTree { |
237 | | - inherit golden-gate-runtime golden-gate-node single-fast multi-fast tf-config tf-apply lint; |
| 241 | + packages = flake-utils.lib.flattenTree rec { |
| 242 | + inherit golden-gate-poa-runtime golden-gate-pos-runtime golden-gate-node single-fast multi-fast tf-config tf-apply lint; |
238 | 243 | node = golden-gate-node; |
239 | | - runtime = golden-gate-runtime; |
240 | | - default = golden-gate-runtime; |
| 244 | + pos-runtime = golden-gate-pos-runtime; |
| 245 | + poa-runtime = golden-gate-poa-runtime; |
| 246 | + default = poa-runtime; |
241 | 247 | # we should prune 3 things: |
242 | 248 | # - running process |
243 | 249 | # - logs/storages of run proccess |
|
0 commit comments