ci: keep the synthesised macOS SDK symlink out of the dependency directory
Build / macOS (macos-latest) (push) Failing after 18s
Build / Linux (ubuntu-24.04) (push) Successful in 52s
Build / Windows (windows-latest) (push) Failing after 8m15s

libobs now builds AND installs cleanly on macOS -- libobs.framework, its
headers, and libobsConfig/libobsTargets all land. The configure then fell over
one step later, in the template's own quarantine-clearing step:

  xattr: [Errno 13] Permission denied:
    '.../.deps/sdk/MacOSX.platform/Developer/SDKs/MacOSX26.5.sdk'

`xattr -r -d com.apple.quarantine "${dependencies_dir}"` recurses, so it
followed the SDK symlink into the read-only system SDK. The symlink moves to
the build directory, where that sweep never reaches it. The xattr call itself
also stops being fatal: clearing quarantine on downloaded dependencies is a
convenience, and it should not be able to take the whole configure down.

Separately, in the adapter: the last-frame-geometry marker is cleared whenever
the session leaves Connected, so the next stream logs its first frame again.
Verified in the headless libobs harness by switching the selected camera to a
dark slot and back -- previously the switch back was silent because the
resolution had not changed, so the log stopped answering "did video come
back". It now reads:

  connected to ws://... watching cam-test
  video frame 640x360 I420
  --- switching camera to 'other-cam'
  connected to ws://... watching other-cam
  --- switching camera back to 'cam-test'
  connected to ws://... watching cam-test
  video frame 640x360 I420
  status after switch-back: connected

which also confirms the whole change-settings path: each switch mints a fresh
obs:<room>:<nonce> identity and reconnects, with no crash and no stale frame.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RL8abRmgFXkVASHkkqiJbE
This commit is contained in:
2026-09-06 22:18:41 -07:00
co-authored by Claude Sonnet 5
parent a910d22870
commit f281b4c382
3 changed files with 23 additions and 6 deletions
+8 -1
View File
@@ -26,11 +26,18 @@ function(_check_dependencies_macos)
_check_dependencies()
# Clearing the quarantine flag on the downloaded dependencies is a
# convenience, not a correctness requirement, so a failure here must not
# take the whole configure down with it. Upstream makes it fatal.
execute_process(
COMMAND "xattr" -r -d com.apple.quarantine "${dependencies_dir}"
RESULT_VARIABLE result
COMMAND_ERROR_IS_FATAL ANY
OUTPUT_QUIET
ERROR_QUIET
)
if(NOT result EQUAL 0)
message(STATUS "Could not clear the quarantine attribute under ${dependencies_dir} (continuing)")
endif()
list(APPEND CMAKE_FRAMEWORK_PATH "${dependencies_dir}/Frameworks")
set(CMAKE_FRAMEWORK_PATH ${CMAKE_FRAMEWORK_PATH} PARENT_SCOPE)