meta-openembedded/meta-python/recipes-devtools/hotdoc/hotdoc/0002-avoid-third-party-backports-dependency-on-sufficient.patch
Liu Yiding 6efa5edcf2
hotdoc : Add new recipe
1. Backport following patch to solve build and runtime issue
  0001-c_comment_scanner-fix-function-prototypes.patch
  0002-avoid-third-party-backports-dependency-on-sufficient.patch
  0003-CMake-4-compatibility.patch

2. Add do_configure:prepend() to solve buildpaths QA check
  do_package_qa: QA Issue: File /usr/lib/python3.14/site-packages/hotdoc/parsers/cmark.cpython-314-x86_64-linux-gnu.so in package hotdoc contains reference to TMPDIR [buildpaths]

3. Add 0004-Use-flex-with-noline-option-to-prevent.patch to solve buildpaths QA check
  do_package_qa:QA Issue: File /usr/src/debug/hotdoc/0.17.4/hotdoc/parsers/c_comment_scanner/scanner.c in package hotdoc-src contains reference to TMPDIR [buildpaths]

4. Add clang as RDEPENDS for following reason
  Hotdoc has some Extensions including c-Extension.
  The c-Extension needs llvm and clang in runtime as introduced in doc of hotdoc.
  https://hotdoc.github.io/c-extension.html#c-extension
  "The extension uses Clang to build and walk an AST from the source code"

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2026-02-16 00:34:04 -08:00

73 lines
2.3 KiB
Diff

Subject: [PATCH 2/2] avoid third-party backports dependency on sufficiently
new python
`backports.entry_points_selectable` backports functionality from python
3.10 to older versions of python.
Backport this patch to solve runtime backports import problem as following:
File "/usr/lib/python3.14/site-packages/hotdoc/utils/utils.py", line 38, in <module>
from backports.entry_points_selectable import entry_points
ModuleNotFoundError: No module named 'backports'
Upstream-Status: Backport [https://github.com/hotdoc/hotdoc/commit/51043c3ef889e36c8232280581598b875073ded7]
Signed-off-by: Liu Yiding <liuyd.fnst@fujitsu.com>
---
hotdoc/extensions/gi/utils.py | 6 +++++-
hotdoc/utils/utils.py | 6 +++++-
setup.py | 2 +-
3 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/hotdoc/extensions/gi/utils.py b/hotdoc/extensions/gi/utils.py
index 159c2b6..91902cb 100644
--- a/hotdoc/extensions/gi/utils.py
+++ b/hotdoc/extensions/gi/utils.py
@@ -1,9 +1,13 @@
import os
from collections import namedtuple
import pathlib
+import sys
import traceback
-from backports.entry_points_selectable import entry_points
+if sys.version_info >= (3, 10):
+ from importlib.metadata import entry_points
+else:
+ from backports.entry_points_selectable import entry_points
from hotdoc.core.links import Link
from hotdoc.utils.loggable import info, debug
diff --git a/hotdoc/utils/utils.py b/hotdoc/utils/utils.py
index 518d308..aef657a 100644
--- a/hotdoc/utils/utils.py
+++ b/hotdoc/utils/utils.py
@@ -35,7 +35,11 @@ import importlib.util
from urllib.request import urlretrieve
from pathlib import Path
-from backports.entry_points_selectable import entry_points
+if sys.version_info >= (3, 10):
+ from importlib.metadata import entry_points
+else:
+ from backports.entry_points_selectable import entry_points
+
try:
import importlib.metadata as meta
except ImportError:
diff --git a/setup.py b/setup.py
index 5d7f131..9ee504d 100644
--- a/setup.py
+++ b/setup.py
@@ -300,7 +300,7 @@ INSTALL_REQUIRES = [
'wheezy.template',
'toposort>=1.4',
'importlib_metadata; python_version<"3.10"',
- 'backports.entry_points_selectable',
+ 'backports.entry_points_selectable; python_version<"3.10"',
]
# dbus-deviation requires sphinx, which requires python 3.5
--
2.43.0