<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/1d21d1914a61d878a442d19211abc7daa223cb64">https://github.com/macports/macports-base/commit/1d21d1914a61d878a442d19211abc7daa223cb64</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 1d21d1914 portpkg: set hostArchitectures in Distribution
</span>1d21d1914 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 1d21d1914a61d878a442d19211abc7daa223cb64
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Wed Jan 29 09:47:48 2025 +1100

<span style='display:block; white-space:pre;color:#404040;'>    portpkg: set hostArchitectures in Distribution
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Also add a todo for the more difficult mpkg case.
</span>---
 src/package1.0/portmpkg.tcl |  2 ++
 src/package1.0/portpkg.tcl  | 17 ++++++++++++++++-
 2 files changed, 18 insertions(+), 1 deletion(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/package1.0/portmpkg.tcl b/src/package1.0/portmpkg.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 1fc08ff2f..94275a64f 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/package1.0/portmpkg.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/package1.0/portmpkg.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -198,6 +198,8 @@ proc portmpkg::package_mpkg {portname portepoch portversion portrevision} {
</span> }
 
 proc portmpkg::write_distribution {dfile portname dependencies} {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    # TODO: Set hostArchitectures. This requires calculating the intersection
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # of the archs of all the component pkgs.
</span>     global macosx_deployment_target
     set portname [xml_escape $portname]
     set dfd [open $dfile w+]
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/package1.0/portpkg.tcl b/src/package1.0/portpkg.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index b140b3321..c591552d6 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/package1.0/portpkg.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/package1.0/portpkg.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -408,6 +408,21 @@ proc portpkg::write_package_info {infofile} {
</span>     close $infofd
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# Return a hostArchitectures Distribution attribute reflecting the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# architectures that this pkg will work on.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc portpkg::get_hostArchitectures {} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global supported_archs configure.build_arch configure.universal_archs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {$supported_archs eq "noarch"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        return \ hostArchitectures="arm64,i386,ppc,x86_64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } elseif {[variant_exists universal] && [variant_isset universal] && [llength ${configure.universal_archs}] >= 2} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        return \ hostArchitectures="[join [lsort -ascii ${configure.universal_archs}] ,]"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } elseif {${configure.build_arch} ne ""} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        return \ hostArchitectures="${configure.build_arch}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        return {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> proc portpkg::write_distribution {dfile portname portversion portrevision} {
     global macosx_deployment_target
     set portname_e [xml_escape $portname]
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -415,7 +430,7 @@ proc portpkg::write_distribution {dfile portname portversion portrevision} {
</span>     puts $dfd "<?xml version=\"1.0\" encoding=\"utf-8\"?>
 <installer-gui-script minSpecVersion=\"1\">
     <title>${portname_e}</title>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    <options customize=\"never\"/>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    <options customize=\"never\"[get_hostArchitectures]/>
</span>     <allowed-os-versions><os-version min=\"${macosx_deployment_target}\"/></allowed-os-versions>
     <background file=\"background.tiff\" mime-type=\"image/tiff\" alignment=\"bottomleft\" scaling=\"none\"/>
     <welcome mime-type=\"text/html\" file=\"Welcome.html\"/>
</pre><pre style='margin:0'>

</pre>