<pre style='margin:0'>
Joshua Root (jmroot) pushed a commit to branch master
in repository macports-base.
</pre>
<p><a href="https://github.com/macports/macports-base/commit/425b15838d1016c49eb2118b3b4187008949fe56">https://github.com/macports/macports-base/commit/425b15838d1016c49eb2118b3b4187008949fe56</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new 425b15838 Allow running under Rosetta 2 if build_arch=x86_64
</span>425b15838 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 425b15838d1016c49eb2118b3b4187008949fe56
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Tue Oct 15 14:40:20 2024 +1100
<span style='display:block; white-space:pre;color:#404040;'> Allow running under Rosetta 2 if build_arch=x86_64
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> This allows users who explicitly request it by setting build_arch in
</span><span style='display:block; white-space:pre;color:#404040;'> macports.conf to have a fully x86_64 build environment.
</span>---
src/macports1.0/macports.tcl | 16 ++++++++--------
src/macports1.0/migrate.tcl | 4 ++--
src/macports1.0/selfupdate.tcl | 3 ++-
3 files changed, 12 insertions(+), 11 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/macports1.0/macports.tcl b/src/macports1.0/macports.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index d29dae8b6..c3891771e 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/macports1.0/macports.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/macports1.0/macports.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1069,14 +1069,6 @@ proc mportinit {{up_ui_options {}} {up_options {}} {up_variations {}}} {
</span> }
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # Check that the current platform is the one we were configured for, otherwise need to do migration
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set skip_migration_check [expr {[info exists macports::global_options(ports_no_migration_check)] && $macports::global_options(ports_no_migration_check)}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {!$skip_migration_check && [migrate::needs_migration migrate_reason]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_error $migrate_reason
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_error "Please run 'sudo port migrate' or follow the migration instructions: https://trac.macports.org/wiki/Migration"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return -code error "OS platform mismatch"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> # Ensure that the macports user directory (i.e. ~/.macports) exists if HOME is defined.
# Also save $HOME for later use before replacing it with our own.
if {[info exists env(HOME)]} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1614,6 +1606,14 @@ match macports.conf.default."
</span> set build_arch [lindex $build_arch 0]
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Check that the current platform is the one we were configured for, otherwise need to do migration
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set skip_migration_check [expr {[info exists macports::global_options(ports_no_migration_check)] && $macports::global_options(ports_no_migration_check)}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {!$skip_migration_check && [migrate::needs_migration migrate_reason]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_error $migrate_reason
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_error "Please run 'sudo port migrate' or follow the migration instructions: https://trac.macports.org/wiki/Migration"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return -code error "OS platform mismatch"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> if {![info exists macosx_deployment_target]} {
if {[vercmp $macos_version 11] >= 0} {
set macosx_deployment_target ${macos_version_major}.0
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/macports1.0/migrate.tcl b/src/macports1.0/migrate.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 9b380c2b0..ab132f889 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/macports1.0/migrate.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/macports1.0/migrate.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -234,7 +234,7 @@ namespace eval migrate {
</span> #
# @return true iff the migration procedure is needed
proc needs_migration {{reasonvar {}}} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- global macports::os_platform macports::os_major
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ global macports::os_platform macports::os_major macports::build_arch
</span> if {$reasonvar ne {}} {
upvar $reasonvar reason
set reason {}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -245,7 +245,7 @@ namespace eval migrate {
</span> set reason "Current platform \"$os_platform $os_major\" does not match expected platform \"$macports::autoconf::os_platform $macports::autoconf::os_major\""
return 1
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if {$os_platform eq "darwin" && $os_major >= 20
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {$os_platform eq "darwin" && $os_major >= 20 && $build_arch ne "x86_64"
</span> && ![catch {sysctl sysctl.proc_translated} translated] && $translated
} then {
# Check if our tclsh has an arm64 slice - rebuilding not needed if it's universal
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/macports1.0/selfupdate.tcl b/src/macports1.0/selfupdate.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index f6b76ca5b..f7f3d38ad 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/macports1.0/selfupdate.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/macports1.0/selfupdate.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -414,6 +414,7 @@ proc selfupdate::verify_signature_legacy {path signature_path} {
</span> # @param source Path to the source code to be installed.
proc selfupdate::install {source} {
global \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ macports::build_arch \
</span> macports::developer_dir \
macports::macos_version_major \
macports::os_major \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -489,7 +490,7 @@ proc selfupdate::install {source} {
</span> }
}
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if {$os_major >= 20 && ![catch {sysctl sysctl.proc_translated} translated] && $translated} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {$os_major >= 20 && $build_arch ne "x86_64" && ![catch {sysctl sysctl.proc_translated} translated] && $translated} {
</span> # Force a native build
set arch_arg "/usr/bin/arch -arm64 /usr/bin/env "
}
</pre><pre style='margin:0'>
</pre>