의존성이 걸린 패키지가 좀 있습니다.
그 부분은 미리 해결해야 합니다.

pip3 download hotdoc
tar -xf hotdoc-0.17.4.tar.gz
cd hotdoc-0.17.4
patch -Np1 -i hotdoc-0.17.4-cmake4-and-gcc15.patch
pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD
sudo pip3 install --no-index --find-links dist --no-user asciidoc
--- hotdoc-0.17.4/cmark/CMakeLists.txt  2019-08-18 07:54:31.000000000 +0900
+++ hotdoc-0.17.4-patched/cmark/CMakeLists.txt  2026-02-09 09:23:17.000331031 +0900
@@ -1,9 +1,8 @@
-cmake_minimum_required(VERSION 2.8.9)
-
+cmake_minimum_required(VERSION 3.10)
 # prevent ugly developer warnings because version is set directly, not through project()
 # it should be redone properly by using VERSION in project() if on CMake 3.x
 if(CMAKE_MAJOR_VERSION GREATER 2)
-    cmake_policy(SET CMP0048 OLD)
+    cmake_policy(SET CMP0048 NEW)
 endif()

 project(cmark)
--- hotdoc-0.17.4/cmark/extensions/CMakeLists.txt       2019-08-18 07:54:31.000000000 +0900
+++ hotdoc-0.17.4-patched/cmark/extensions/CMakeLists.txt       2026-02-09 09:07:12.413449434 +0900
@@ -1,4 +1,5 @@
-cmake_minimum_required(VERSION 2.8)
+cmake_minimum_required(VERSION 3.10)
+cmake_policy(SET CMP0148 NEW)
 set(LIBRARY "cmarkextensions")
 set(LIBRARY_SOURCES
     core-extensions.c
--- hotdoc-0.17.4/cmark/test/CMakeLists.txt     2019-08-18 07:54:31.000000000 +0900
+++ hotdoc-0.17.4-patched/cmark/test/CMakeLists.txt     2026-02-09 09:13:44.091477097 +0900
@@ -4,9 +4,11 @@
 # To require the spec tests, compile with -DSPEC_TESTS=1

 if (SPEC_TESTS)
-  find_package(PythonInterp 3 REQUIRED)
+#  find_package(PythonInterp 3 REQUIRED)
+  find_package(Python3 COMPONENTS Interpreter REQUIRED)
 else(SPEC_TESTS)
-  find_package(PythonInterp 3)
+#  find_package(PythonInterp 3)
+  find_package(Python3 COMPONENTS Interpreter REQUIRED)
 endif(SPEC_TESTS)

 if (CMARK_SHARED OR CMARK_STATIC)
--- hotdoc-0.17.4/hotdoc/parsers/c_comment_scanner/scanner.l    2019-05-19 09:53:45.000000000 +0900
+++ hotdoc-0.17.4-patched/hotdoc/parsers/c_comment_scanner/scanner.l    2026-02-09 09:17:47.129357750 +0900
@@ -34,8 +34,8 @@
 extern int yylex (PyObject *comments);
 #define YY_DECL int yylex (PyObject *comments)
 static int yywrap (void);
-static int parse_comment ();
-static int parse_define ();
+static int parse_comment (PyObject *comments);
+static int parse_define (PyObject *comments);
 %}

 %option nounput