From baec2ef2f2f9352603623f478bce697334273355 Mon Sep 17 00:00:00 2001 From: Matt Corallo Date: Wed, 15 May 2024 02:33:32 +0000 Subject: [PATCH] Pin compiler_builtins to 0.1.109 when building std See https://github.com/rust-lang/compiler-builtins/issues/610 --- .../compiler-builtins-dummy/Cargo.toml | 7 +++++++ .../compiler-builtins-dummy/src/lib.rs | 0 genbindings.sh | 14 +++++++++++--- 3 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 deterministic-build-wrappers/compiler-builtins-dummy/Cargo.toml create mode 100644 deterministic-build-wrappers/compiler-builtins-dummy/src/lib.rs diff --git a/deterministic-build-wrappers/compiler-builtins-dummy/Cargo.toml b/deterministic-build-wrappers/compiler-builtins-dummy/Cargo.toml new file mode 100644 index 0000000..23113e2 --- /dev/null +++ b/deterministic-build-wrappers/compiler-builtins-dummy/Cargo.toml @@ -0,0 +1,7 @@ +[package] +name = "compiler-builtins-dummy" +version = "0.1.0" +edition = "2021" + +[dependencies] +compiler_builtins = "=0.1.109" diff --git a/deterministic-build-wrappers/compiler-builtins-dummy/src/lib.rs b/deterministic-build-wrappers/compiler-builtins-dummy/src/lib.rs new file mode 100644 index 0000000..e69de29 diff --git a/genbindings.sh b/genbindings.sh index 0e6f0f6..bc2e073 100755 --- a/genbindings.sh +++ b/genbindings.sh @@ -376,19 +376,27 @@ function REALLY_PIN_CC { 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 -- 2.30.2