mirror of
https://github.com/lucannez64/darling-lol.git
synced 2026-10-27 19:54:38 +00:00
Fix X11 presentation handoff after resizing, preserve NSView size callbacks, and correct content and backing-layer geometry. Add CoreText font enumeration for the language dropdown and rebuild/install the matching runtime overlays. Correct CarbonCore Gestalt version queries and roll back proc_listpids for Vanguard testing. Document that VAN -101 can still recur. Include accumulated CoreAudio stream and AudioUnit corrections. Add standalone font, version, resize and publisher-handoff regressions. Record manual confirmation of the language dropdown and window resizing; all 29 pinned patches and the source/script audit validate.
29 lines
1.5 KiB
Python
29 lines
1.5 KiB
Python
#!/usr/bin/env python3
|
|
"""Rebuild the patched QuartzCore compositor and Metal presentation objects."""
|
|
import shlex
|
|
import subprocess
|
|
from pathlib import Path
|
|
|
|
project = Path(__file__).resolve().parent.parent
|
|
framework = project / 'build/darling-src/build/src/external/cocotron/QuartzCore'
|
|
flags = {}
|
|
for line in (framework / 'CMakeFiles/QuartzCore.dir/flags.make').read_text().splitlines():
|
|
if line.startswith(('C_', 'CXX_')) and ' = ' in line:
|
|
key, value = line.split(' = ', 1)
|
|
flags[key] = shlex.split(value)
|
|
link = shlex.split((framework / 'CMakeFiles/QuartzCore.dir/link.txt').read_text())
|
|
sources = ['CALayer.m', 'CALayerContext.m', 'CARenderer.m', 'CATransaction.m',
|
|
'CATransactionGroup.m', 'CATransformLayer.m', 'CAMetalLayer.mm', 'CAMetalDrawable.mm']
|
|
for source in sources:
|
|
kind = 'CXX' if source.endswith('.mm') else 'C'
|
|
obj = project / f'build/m336-{Path(source).stem}.o'
|
|
subprocess.run(['clang++' if kind == 'CXX' else 'clang', *flags[kind + '_DEFINES'],
|
|
*flags[kind + '_INCLUDES'], *flags[kind + '_FLAGS'], '-O2',
|
|
'-Wno-macro-redefined', '-c',
|
|
str(project / 'build/darling-src/src/external/cocotron/QuartzCore' / source),
|
|
'-o', str(obj)], check=True)
|
|
link[link.index(f'CMakeFiles/QuartzCore.dir/{source}.o')] = str(obj)
|
|
link[link.index('-o') + 1] = str(project / 'build/m336-QuartzCore')
|
|
subprocess.run(link, cwd=framework, check=True)
|
|
print('Built isolated QuartzCore compositor and Metal presentation')
|