<pre style='margin:0'>
Ken (kencu) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/ecb1dc8dabb800a0fa569b84d32516d81a387180">https://github.com/macports/macports-ports/commit/ecb1dc8dabb800a0fa569b84d32516d81a387180</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 ecb1dc8dabb boost176: allow univeral building on arm/Intel
</span>ecb1dc8dabb is described below
<span style='display:block; white-space:pre;color:#808000;'>commit ecb1dc8dabb800a0fa569b84d32516d81a387180
</span>Author: Ken Cunningham <kencu@macports.org>
AuthorDate: Tue Dec 19 08:41:47 2023 -0800
<span style='display:block; white-space:pre;color:#404040;'> boost176: allow univeral building on arm/Intel
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> boost176 predates the arm Macs by some years
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> We use a fallback pathway to force the "combined" architecture
</span><span style='display:block; white-space:pre;color:#404040;'> and jam the proper archflags into the build via that method.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Then there is an issue properly selecting a set of asm sources
</span><span style='display:block; white-space:pre;color:#404040;'> to use. The hiccup is on the abi, which is different between
</span><span style='display:block; white-space:pre;color:#404040;'> arm64 and Intel, so we remove the abi from the specifications
</span><span style='display:block; white-space:pre;color:#404040;'> for asm files.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> With these two changes, boost176 builds through as universal
</span><span style='display:block; white-space:pre;color:#404040;'> on arm and has the required architectures in libraries.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> This is not elegant, but it works until our default boost is advanced
</span><span style='display:block; white-space:pre;color:#404040;'> to some newer version that better supports arm/Intel universal builds.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> closes: https://trac.macports.org/ticket/64954
</span>---
devel/boost176/Portfile | 6 ++++++
devel/boost176/files/patch-boost176-no-abi-asm_sources.diff | 11 +++++++++++
.../files/patch-boost176-universal-arm64-x86_64-fix.diff | 11 +++++++++++
3 files changed, 28 insertions(+)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/boost176/Portfile b/devel/boost176/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index d299ac05fe9..0a43dc56f14 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/boost176/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/boost176/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -480,6 +480,12 @@ variant universal {
</span>
if {[lsearch ${configure.universal_archs} arm*] != -1} {
build.args-append address-model=64 architecture=combined
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # allow universal building on arm/Intel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # https://trac.macports.org/ticket/64954
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patchfiles-append patch-boost176-universal-arm64-x86_64-fix.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch-boost176-no-abi-asm_sources.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> } else {
if {[lsearch ${configure.universal_archs} ppc*] != -1} {
if {[lsearch ${configure.universal_archs} *86*] != -1} {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/boost176/files/patch-boost176-no-abi-asm_sources.diff b/devel/boost176/files/patch-boost176-no-abi-asm_sources.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..3aa374498f3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/boost176/files/patch-boost176-no-abi-asm_sources.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libs/context/build/Jamfile.v2.orig 2023-12-19 08:22:36
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libs/context/build/Jamfile.v2 2023-12-19 08:28:41
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -793,7 +793,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ : asm/make_combined_sysv_macho_gas.S
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ asm/jump_combined_sysv_macho_gas.S
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ asm/ontop_combined_sysv_macho_gas.S
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- : <abi>sysv
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ : <address-model>64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <architecture>combined
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <binary-format>mach-o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/boost176/files/patch-boost176-universal-arm64-x86_64-fix.diff b/devel/boost176/files/patch-boost176-universal-arm64-x86_64-fix.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..8af139a199e
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/boost176/files/patch-boost176-universal-arm64-x86_64-fix.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- tools/build/src/tools/darwin.jam.orig 2023-12-18 23:33:52
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ tools/build/src/tools/darwin.jam 2023-12-18 23:35:46
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -463,7 +463,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if $(support-ppc64) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ options = -arch x86_64 -arch ppc64 ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- errors.user-error "64-bit PPC compilation is not supported when targeting OSX 10.6 or later" ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ options = -arch x86_64 -arch arm64 ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ options = -arch i386 -arch ppc ;
</span></pre><pre style='margin:0'>
</pre>