| 5e139d9f | 05-Jun-2026 |
Jim Jagielski <jimjag@gmail.com> |
Native Apple Silicon (arm64) support and bundled Python 3.10 baseline
Squashed combination of two efforts, applied onto trunk as a single commit. (trunk is not intended to be buildable; this lands t
Native Apple Silicon (arm64) support and bundled Python 3.10 baseline
Squashed combination of two efforts, applied onto trunk as a single commit. (trunk is not intended to be buildable; this lands the work for reference/integration.)
=== Apple Silicon (macOS arm64 / AAPCS64) === Build plumbing: set_soenv.in + source_soenv.sh arm64 Darwin branch (CPU=R, CPUNAME=AARCH64, OUTPATH=unxmaccr); new solenv/inc/unxmaccr.mk and unx.mk dispatch; macro.hxx AARCH64 arch string; osarch.pm + gbuild/platform/macosx.mk arch entries; configure.ac arm64 host detection, Big Sur+ version math, and 11.0 deployment target.
C++/UNO bridge (new s5abi_macosx_aarch64): abi.cxx/hxx AAPCS64 classifier (HFA + <=16B/>16B size rules), uno2cpp + call.s AArch64 trampoline, cpp2uno incoming path + privateSnippetExecutor + AArch64 codeSnippet codegen (x8 indirect-result handled, not displacing this/x0), share.hxx __cxa_exception reserved-member alignment fix; Library_cpp_uno.mk + makefile.mk wiring. sal/osl/unx/interlck.c arm64 atomics (__sync_* -> LSE).
Externals: openssl darwin64-arm64-cc; icu arm64 little-endian. (NSS 3.39 deferred -- too old for arm64.)
Packaging/JVM: Info.plist LSMinimumSystemVersion 11.0; installer download.pm/worker.pm/update_module_ignore_lists.pl recognize unxmaccr; jvmfwk modern macOS JDK discovery (/Library/Java/JavaVirtualMachines + Contents/Home probe).
The ABI/atomics/trampoline/JDK-discovery code was unit-tested natively on an arm64 macOS host; a full AOO build (and bridgetest) was not run. Code-signing infra (mandatory for arm64 distribution) is NOT included.
=== Bundled Python 2.7.18 -> 3.10 baseline (Unix/macOS first) === pyversion.mk/_dmake.mk -> 3.10.18 (single version knob). Shipped .py fixes: imp -> types.ModuleType (pythonscript.py, pythonloader.py) and file() -> open(); mailmerge.py Py3 email module imports + encoders. Windows Python 3 build and the makefile.mk/d.lst/configure.ac Py3 work are NOT included (separate, larger effort).
NOTE: macOS 11 becomes the minimum supported version. Python 3.10 is EOL 2026-10; the version knob allows a later bump.
show more ...
|
| 8e23be74 | 30-Apr-2026 |
Damjan Jovanovic <damjan@apache.org> |
Use pop() instead of del to delete keys from the self.modules dictionary for Python scripts, so KeyError isn't thrown when the key is missing.
Remove the saving to temporary files, it's not used for
Use pop() instead of del to delete keys from the self.modules dictionary for Python scripts, so KeyError isn't thrown when the key is missing.
Remove the saving to temporary files, it's not used for any other scripting language, and can cause bugs when the temporary files already exist from previous errors.
Patch by: me
show more ...
|
| 1a9bb40f | 29-Apr-2026 |
Damjan Jovanovic <damjan@apache.org> |
Forget Python modules from the cache after they are saved, so they get reloaded in the future. This is necessary as getModuleByUrl()'s self.sfa.getDateTimeModified() returns timestamps with all zeroe
Forget Python modules from the cache after they are saved, so they get reloaded in the future. This is necessary as getModuleByUrl()'s self.sfa.getDateTimeModified() returns timestamps with all zeroes for documents (== ZIP files), breaking the test for whether the embedded Python file has been changed. Also even if it worked, the minimum granularity for timestamps in ZIP files is 2 seconds, which isn't good enough.
Patch by: me
show more ...
|
| 2fa24674 | 25-Apr-2026 |
Damjan Jovanovic <damjan@apache.org> |
On Python, XInvocation.invoke() must return a tuple of 3 values, the return value, the aOutParamIndex and the aOutParam.
Deal with the ".py" file extension wrongly being added to macros, or wrongly
On Python, XInvocation.invoke() must return a tuple of 3 values, the return value, the aOutParamIndex and the aOutParam.
Deal with the ".py" file extension wrongly being added to macros, or wrongly being removed.
Return the changed "self" XBrowseNode when renaming.
The Deletable and Renamable events should not be allowed for the root "Python" node.
Libraries and macros can now be successfully created, renamed and deleted.
Patch by: me
show more ...
|