Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
28 lines
1.1 KiB
Diff
28 lines
1.1 KiB
Diff
Sphinx changed something between sphinx=4.5.0 and sphinx=5.3 that broke
|
|
"sphinxcontrib.log_cabinet" plugin.
|
|
|
|
When Sphinx tries to importlib.import_module("sphinxcontrib.log_cabinet"), it
|
|
has couple other sphinxcontrib.* libraries in sys.path, and they seem to cause
|
|
conflict. So here I purge sys.path from sphixcontrib-related things, import
|
|
log_cabinet and put everything back, so when Sphinx will do "import_module",
|
|
"sphinxcontrib.log_cabinet" will be already imported and cached.
|
|
|
|
All this is quite hacky, but we are talking about merely building documentation
|
|
here. If resulting html looks good, what happened in Nix sandbox stays in Nix
|
|
sandbox.
|
|
|
|
--- a/docs/conf.py 1970-01-01 00:00:00.000000000 -0000
|
|
+++ b/docs/conf.py 1970-01-01 00:00:00.000000000 -0000
|
|
@@ -1,5 +1,12 @@
|
|
from pallets_sphinx_themes import get_version
|
|
from pallets_sphinx_themes import ProjectLink
|
|
+import importlib
|
|
+import sys
|
|
+
|
|
+saved_path = sys.path
|
|
+sys.path = [x for x in sys.path if "sphinxcontrib" not in x or "cabinet" in x]
|
|
+import sphinxcontrib.log_cabinet
|
|
+sys.path = saved_path
|
|
|
|
# Project --------------------------------------------------------------
|