echo "}" >> /tmp/$1-crate-source.txt
cat /tmp/$1-crate-source.txt >> /tmp/crate-source.txt
rm /tmp/$1-crate-source.txt
+ FEATURES="$(echo "$3\"" | sed 's/--features=/"/' | sed 's/,/", "/g')"
+ [ "$FEATURES" = '"' ] && FEATURES=""
if is_gnu_sed; then
- sed -E -i 's|#*'$1' = \{ .*|'$1' = \{ path = "'"$LIGHTNING_PATH"'/'$1'", default-features = false }|' lightning-c-bindings/Cargo.toml
+ sed -E -i 's|#*'$1' = \{ .*|'$1' = \{ path = "'"$LIGHTNING_PATH"'/'$1'", default-features = false, features = ['"$FEATURES"'] }|' lightning-c-bindings/Cargo.toml
else
# OSX sed is for some reason not compatible with GNU sed
- sed -E -i '' 's|#*'$1' = \{ .*|'$1' = \{ path = "'"$LIGHTNING_PATH"'/'$1'", default-features = false }|' lightning-c-bindings/Cargo.toml
+ sed -E -i '' 's|#*'$1' = \{ .*|'$1' = \{ path = "'"$LIGHTNING_PATH"'/'$1'", default-features = false, features = ['"$FEATURES"'] }|' lightning-c-bindings/Cargo.toml
fi
}
add_crate "lightning-background-processor" "lightning_background_processor" --features=std
add_crate "lightning-invoice" "lightning_invoice" --features=std
add_crate "lightning-rapid-gossip-sync" "lightning_rapid_gossip_sync" --features=std
- CARGO_BUILD_ARGS="--features=std"
+ add_crate "lightning-transaction-sync" "lightning_transaction_sync" --features=esplora-blocking,electrum
else
add_crate lightning lightning --features=no-std
drop_crate "lightning-persister"
add_crate "lightning-background-processor" "lightning_background_processor" --features=no-std
- add_crate "lightning-rapid-gossip-sync" "lightning_rapid_gossip_sync" --features=no-std
add_crate "lightning-invoice" "lightning_invoice" --features=no-std
+ add_crate "lightning-rapid-gossip-sync" "lightning_rapid_gossip_sync" --features=no-std
+ drop_crate "lightning-transaction-sync"
CARGO_BUILD_ARGS="--features=no-std"
fi
cargo update -p cc --precise "1.0.79" --verbose
( RUSTC_BOOTSTRAP=1 cargo build --features=std -v --release --target x86_64-apple-darwin -Zbuild-std=std,panic_abort > /dev/null 2>&1 ) || echo -n
( RUSTC_BOOTSTRAP=1 cargo build --features=std -v --release --target aarch64-apple-darwin -Zbuild-std=std,panic_abort > /dev/null 2>&1 ) || echo -n
+ pushd ../deterministic-build-wrappers/compiler-builtins-dummy
+ cargo build > /dev/null 2>&1 || echo -n
+ popd
# Sadly, std also depends on cc, and we can't pin it in that tree
# directly. Instead, we have to delete the file out of the cargo
# registry and build --offline to avoid it using the latest version.
NEW_CC_DEP="$CARGO_HOME"
[ "$NEW_CC_DEP" = "" ] && NEW_CC_DEP="$HOME"
- [ -d "$NEW_CC_DEP/.cargo/registry/cache/"github.com-* ] && CARGO_REGISTRY_CACHE="$NEW_CC_DEP/.cargo/registry/cache/"github.com-*
- [ -d "$NEW_CC_DEP/.cargo/registry/cache/"index.crates.io-* ] && CARGO_REGISTRY_CACHE="$NEW_CC_DEP/.cargo/registry/cache/"index.crates.io-*
+ [ -d "$NEW_CC_DEP/.cargo/registry/cache/"github.com-* ] && CARGO_REGISTRY_CACHE="$(echo "$NEW_CC_DEP/.cargo/registry/cache/"github.com-*)"
+ [ -d "$NEW_CC_DEP/.cargo/registry/cache/"index.crates.io-* ] && CARGO_REGISTRY_CACHE="$(echo "$NEW_CC_DEP/.cargo/registry/cache/"index.crates.io-*)"
if [ -d "$CARGO_REGISTRY_CACHE" ]; then
+ if [ -f "$CARGO_REGISTRY_CACHE/compiler_builtins-0.1.109.crate" ]; then
+ mv "$CARGO_REGISTRY_CACHE/compiler_builtins-0.1.109.crate" ./
+ fi
if [ -f "$CARGO_REGISTRY_CACHE/cc-1.0.79.crate" ]; then
mv "$CARGO_REGISTRY_CACHE/cc-1.0.79.crate" ./
fi
- rm -f "$CARGO_REGISTRY_CACHE/"*/cc-*.crate
+ rm -f "$CARGO_REGISTRY_CACHE/"cc-*.crate
[ -f ./cc-1.0.79.crate ] && mv ./cc-1.0.79.crate "$CARGO_REGISTRY_CACHE/"
+ rm -f "$CARGO_REGISTRY_CACHE/"compiler_builtins-0.1.11*.crate
+ [ -f ./compiler_builtins-0.1.109.crate ] && mv ./compiler_builtins-0.1.109.crate "$CARGO_REGISTRY_CACHE/"
else
echo "Couldn't find cargo cache, build-std builds are likely to fail!"
fi