[MacPorts] #69051: qt5.x on PowerPC: approaches to bypass broken Cocoa
MacPorts
noreply at macports.org
Fri Jan 5 22:42:34 UTC 2024
#69051: qt5.x on PowerPC: approaches to bypass broken Cocoa
-------------------------------------------+------------------------
Reporter: barracuda156 | Owner: (none)
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version: 2.8.1
Keywords: powerpc, leopard, snowleopard | Port: qt5-qtbase
-------------------------------------------+------------------------
I made some attempts to fix early `qt5` (qtbase) versions on PowerPC, and
after sorting out what upstream has broken with build system itself plus
some minor bugs I bumped into failures with Cocoa code (unsurprisingly so,
to be honest).
Now, the problem is that Cocoa was already broken in `qt4`, and Macports
builds `qt4` as Carbon (which works nicely). However, Carbon was thrown
away with `qt5` release, as well as support for Leopard.
Given that it never worked to begin with, it is perhaps completely
unrealistic to have it fixed in any version of Qt5, and arguably a waste
of time to even try. What seems at least possible in principle are the
following:
1. Turn off Mac-specific stuff in .pro files which include respective
directories and use generic Unix code. (Trivial effort, might work?)
2. Build with whatever Mac-specific code is there, but use ad hoc fixes
like it was done for SDL2 at some point. (Likely high effort, perhaps will
end up defunct.)
3. Restore Carbon code which was known to work fine. Caveat: if the design
is not really modular and substantial amount of generic code refers to
specific Cocoa functions, that will not work. If the task pretty much
amounts to tracking down which chunks of code should go where and then
copying those from 4.8.7 with some minor amendments, that should be doable
with reasonable efforts: Qt4 has about 100 files which have fallbacks to
Carbon and perhaps something like 400 instances of fallback code chunks
altogether. Tracking down is itself a problematic task, since the codebase
structure had been changed substantially, but it should be feasible.
''Perhaps'' aside of Cocoa stuff nothing in Qt5 is too broken and should
build with minimal fixups.
What do you think? What sounds more reasonable?
--
Ticket URL: <https://trac.macports.org/ticket/69051>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list