Skip to content

Commit

Permalink
rust: synchronize patches with merged PR
Browse files Browse the repository at this point in the history
See rust-lang/rust#105920
No revbump since installed files will not change.
  • Loading branch information
MarcusCalhoun-Lopez committed Dec 30, 2022
1 parent 9848c64 commit 59b8931
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 35 deletions.
3 changes: 1 addition & 2 deletions lang/rust/Portfile
Original file line number Diff line number Diff line change
Expand Up @@ -84,9 +84,8 @@ post-extract {
}

patchfiles-append patch-offline_bootstrap.diff \
patch-configure.py.diff \
patch-UsingTheRightCompiler.diff \
patch-i686_to_i386.diff \
patch-macports_linker.diff \
patch-emulate_tls.diff
if { ${rust.use_cctools} } {
patchfiles-append patch-llvm_libtool.diff
Expand Down
29 changes: 29 additions & 0 deletions lang/rust/files/patch-UsingTheRightCompiler.diff
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
See https://github.com/rust-lang/rust/pull/105920

--- src/bootstrap/bootstrap.py
+++ src/bootstrap/bootstrap.py
@@ -752,6 +752,9 @@ def build_bootstrap(self, color):
target_features += ["-crt-static"]
if target_features:
env["RUSTFLAGS"] += " -C target-feature=" + (",".join(target_features))
+ target_linker = self.get_toml("linker", build_section)
+ if target_linker is not None:
+ env["RUSTFLAGS"] += " -C linker=" + target_linker
env["RUSTFLAGS"] += " -Wrust_2018_idioms -Wunused_lifetimes"
env["RUSTFLAGS"] += " -Wsemicolon_in_expressions_from_macros"
if self.get_toml("deny-warnings", "rust") != "false":
diff --git a/src/bootstrap/configure.py b/src/bootstrap/configure.py
index 6b139decb5551..31cc4aa57bbea 100755
--- src/bootstrap/configure.py
+++ src/bootstrap/configure.py
@@ -405,7 +405,9 @@ def set(key, value):
configured_targets.append(target)
for target in configured_targets:
targets[target] = sections['target'][:]
- targets[target][0] = targets[target][0].replace("x86_64-unknown-linux-gnu", "'{}'".format(target))
+ # For `.` to be valid TOML, it needs to be quoted. But `bootstrap.py` doesn't use a proper TOML parser and fails to parse the target.
+ # Avoid using quotes unless it's necessary.
+ targets[target][0] = targets[target][0].replace("x86_64-unknown-linux-gnu", "'{}'".format(target) if "." in target else target)


def is_number(value):
16 changes: 0 additions & 16 deletions lang/rust/files/patch-configure.py.diff

This file was deleted.

17 changes: 0 additions & 17 deletions lang/rust/files/patch-macports_linker.diff

This file was deleted.

0 comments on commit 59b8931

Please sign in to comment.