Skip to content

Sync master with upstream (2026-07-23)#3

Merged
pathanin merged 5 commits into
masterfrom
sync-upstream-2026-07-23
Jul 23, 2026
Merged

Sync master with upstream (2026-07-23)#3
pathanin merged 5 commits into
masterfrom
sync-upstream-2026-07-23

Conversation

@pathanin

Copy link
Copy Markdown
Owner

Merges 3 upstream commits from PathOfBuildingCommunity/PathOfBuilding-SimpleGraphic@master:

macOS port: one silent break, resolved

No file-path overlap and no textual conflict, but the LuaJIT bump would have silently disabled three of this fork's macOS fixes. Upstream added a new port directory vcpkg-ports/ports/luajit/2026-07-20_1/ and repointed the filesystem-registry baseline (vcpkg-configuration.json: 2025-10-07 -> 2026-07-22) at it. That directory is byte-identical to 2025-07-24_1 except it lacks the fork's fixes, so the next build would have picked up an unpatched port with no conflict to warn us.

Forward-ported in 5d5679d:

Fix File Why it matters on macOS
INSTALL_TSYMNAME=luajit-lnk configure:80 installed tool symlink collides with an existing target on the osx triplet
null-safe _lua_getenvcopy / const-safe _lua_getenvfree pob-wide-crt.patch:396-397 strdup(NULL) on an unset env var is UB; free() discarded a const qualifier
exec bit 100644 -> 100755 configure portfile.cmake file(COPY)s the script in and the make step invokes it directly; upstream's own 2025-07-24_1 shipped it 100755

Both files are now byte-identical to their known-good 2025-07-24_1 counterparts (verified via diff). Editing in place is the correct mechanism here because the registry entry is path-based ("path": "$/ports/luajit/2026-07-20_1"), not git-tree-pinned.

Upstream's new port also ships two genuinely macOS-friendly patches of its own (003-do-not-set-macosx-deployment-target, 005-do-not-pass-ld-e-macosx) — kept as-is.

Other verification

  • All other fork-only patches intact: git diff <pre-merge master> HEAD shows only upstream's additions, nothing fork-only touched. Covers the ANGLE Metal backend (sys_video.cpp, vcpkg.json), Cmd->CTRL mapping, sleep_for replacement, base64 includes, CMake platform-conditional sources, FindLuaJIT.cmake, and macos-launcher/pob_launch.c.
  • libs/luautf8 submodule pin 1bb70d4 still reachable from its own origin/master — the earlier orphan-pin problem stays fixed. No upstream commit touched a submodule pin.
  • cmake/FindLuaJIT.cmake is not version-coupled (searches by soname luajit-2.1/lua51, not port version).

Not build-verified

The forward-port is not compile-tested — a full CMake rebuild is the real test, and that's deliberately out of scope for the sync. A native rebuild + runtime/ restage in PathOfBuilding-PoE2 is recommended before the macOS build reflects this update.

LocalIdentity and others added 5 commits July 22, 2026 05:52
Updates to the latest LuaJIT version so that we can use the new backported extensions from LuaJIT 3.0
https://luajit.org/extensions.html#lj30_bp_syntax
Upstream's LuaJIT bump adds vcpkg-ports/ports/luajit/2026-07-20_1 and
points the filesystem-registry baseline at it. That directory is
byte-identical to 2025-07-24_1 apart from lacking the macOS fixes this
fork carries, so they would have silently stopped applying on the next
build without any textual merge conflict.

Restore all three in the new port:

- configure: pin the installed tool symlink via INSTALL_TSYMNAME so it
  doesn't collide with an existing target on the osx triplet.
- configure: restore the executable bit; portfile.cmake file(COPY)s the
  script into the source tree and the make step invokes it directly.
  Upstream's own 2025-07-24_1 shipped it 100755.
- pob-wide-crt.patch: make _lua_getenvcopy null-safe, since
  strdup(NULL) on an unset env var is UB, and cast in _lua_getenvfree
  so free() doesn't discard a const qualifier.

Both files are now byte-identical to their 2025-07-24_1 counterparts.

Not build-verified: a CMake rebuild is the real test.
@pathanin pathanin closed this Jul 23, 2026
@pathanin
pathanin deleted the sync-upstream-2026-07-23 branch July 23, 2026 15:12
@pathanin
pathanin restored the sync-upstream-2026-07-23 branch July 23, 2026 15:13
@pathanin pathanin reopened this Jul 23, 2026
@pathanin
pathanin merged commit 407d2f1 into master Jul 23, 2026
4 checks passed
@pathanin
pathanin deleted the sync-upstream-2026-07-23 branch July 23, 2026 15:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants