<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>