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