[MacPorts] #56295: Correctly represent 64-bit platform as x86_64 in ${os.arch} and pre-generated PortIndex

MacPorts noreply at macports.org
Sun Apr 15 02:31:15 UTC 2018


#56295: Correctly represent 64-bit platform as x86_64 in ${os.arch} and pre-
generated PortIndex
-------------------------+--------------------
 Reporter:  raimue       |      Owner:  (none)
     Type:  enhancement  |     Status:  new
 Priority:  Normal       |  Milestone:
Component:  ports        |    Version:
 Keywords:               |       Port:
-------------------------+--------------------
 This initialization code in [https://github.com/macports/macports-
 base/blob/eb7a2827a625aed7e47fd32f7776dcd2d5384dab/src/macports1.0/macports.tcl#L675
 macports1.0] is currently folding all x86 platforms into the i386 arch:
 {{{
 if {$os_arch eq "i586" || $os_arch eq "i686" || $os_arch eq "x86_64"} {set
 os_arch "i386"}
 }}}

 However, it seems incorrect to do that for x86_64. Especially now that
 Apple is about to [https://support.apple.com/en-us/HT208436 remove support
 for 32-bit apps], this should be corrected in the output of `port
 platform` to avoid confusion.

 Portfiles may use it in a `platform ... {}` block, and a couple of
 Portfiles are using it in the ports tree with `i386`, although the current
 meaning is actually any of `i386` or `x86_64`. The actual intention of
 these platform blocks would probably be to match on `${build_arch}` and
 not on `${os.arch}` anyway.

 Furthermore, this value is also used to fetch a matching PortIndex for the
 current platform. When the mentioned change in Portfiles was done, the
 PortIndex files should also be built based on `${build_arch}` and not
 `${os.arch}`. Therefore this also requires changes to the jobs creating
 the PortIndex to additionally provide `x86_64` where appropriate.

-- 
Ticket URL: <https://trac.macports.org/ticket/56295>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list