fix: exclude matrix from [all] extras — python-olm is upstream-broken (#4615)
python-olm (required by matrix-nio[e2e]) fails to build on modern macOS: - CMake 4 rejects vendored libolm's cmake_minimum_required(VERSION 3.4) - Apple Clang 21+ rejects a C++ type error in include/olm/list.hh - Upstream libolm repo is archived, no fix forthcoming Including matrix in [all] causes the entire extras install to fail during `hermes update`, silently dropping all other extras (telegram, discord, slack, cron, etc.) when the fallback kicks in. The [matrix] extra is preserved for opt-in install: pip install 'hermes-agent[matrix]' Closes #4178
This commit is contained in:
@@ -76,7 +76,10 @@ all = [
|
||||
"hermes-agent[modal]",
|
||||
"hermes-agent[daytona]",
|
||||
"hermes-agent[messaging]",
|
||||
"hermes-agent[matrix]",
|
||||
# matrix excluded: python-olm (required by matrix-nio[e2e]) is upstream-broken
|
||||
# on modern macOS (archived libolm, C++ errors with Clang 21+). Including it
|
||||
# here causes the entire [all] install to fail, dropping all other extras.
|
||||
# Users who need Matrix can install manually: pip install 'hermes-agent[matrix]'
|
||||
"hermes-agent[cron]",
|
||||
"hermes-agent[cli]",
|
||||
"hermes-agent[dev]",
|
||||
|
||||
@@ -11,8 +11,12 @@ def _load_optional_dependencies():
|
||||
return project["optional-dependencies"]
|
||||
|
||||
|
||||
def test_all_extra_includes_matrix_dependency():
|
||||
def test_matrix_extra_exists_but_excluded_from_all():
|
||||
"""matrix-nio[e2e] depends on python-olm which is upstream-broken on modern
|
||||
macOS (archived libolm, C++ errors with Clang 21+). The [matrix] extra is
|
||||
kept for opt-in install but deliberately excluded from [all] so one broken
|
||||
upstream dep doesn't nuke every other extra during ``hermes update``."""
|
||||
optional_dependencies = _load_optional_dependencies()
|
||||
|
||||
assert "matrix" in optional_dependencies
|
||||
assert "hermes-agent[matrix]" in optional_dependencies["all"]
|
||||
assert "hermes-agent[matrix]" not in optional_dependencies["all"]
|
||||
|
||||
Reference in New Issue
Block a user