guix_mirror_bot pushed a commit to branch master
in repository guix.
commit a86a1d13d0e709594605ac7b6be6364d36c316ca
Author: Maxim Cournoyer <[email protected]>
AuthorDate: Tue Jun 30 12:55:34 2026 +0900
gnu: Add python-sphinxcontrib-httpdomain.
* gnu/packages/sphinx.scm (python-sphinxcontrib-httpdomain): New variable.
* gnu/packages/patches/python-sphinxcontrib-httpdomain-texinfo.patch: New
file.
* gnu/local.mk (dist_patch_DATA): Register it.
---
gnu/local.mk | 1 +
.../python-sphinxcontrib-httpdomain-texinfo.patch | 43 ++++++++++++++++++++++
gnu/packages/sphinx.scm | 34 +++++++++++++++--
3 files changed, 74 insertions(+), 4 deletions(-)
diff --git a/gnu/local.mk b/gnu/local.mk
index 568f4d7a5c..f5b89d7255 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2182,6 +2182,7 @@ dist_patch_DATA =
\
%D%/packages/patches/python-sgmllib3k-assertions.patch \
%D%/packages/patches/python-sphobjinv-defer-ssl-import.patch \
%D%/packages/patches/python-sphinx-prompt-docutils-0.19.patch \
+ %D%/packages/patches/python-sphinxcontrib-httpdomain-texinfo.patch \
%D%/packages/patches/python-sshtunnel-pep518.patch \
%D%/packages/patches/python-twtxt-replace-pkg-resources.patch \
%D%/packages/patches/python-zeroc-ice-3.6.5-python-3.11-support.patch
\
diff --git a/gnu/packages/patches/python-sphinxcontrib-httpdomain-texinfo.patch
b/gnu/packages/patches/python-sphinxcontrib-httpdomain-texinfo.patch
new file mode 100644
index 0000000000..d9d40771d5
--- /dev/null
+++ b/gnu/packages/patches/python-sphinxcontrib-httpdomain-texinfo.patch
@@ -0,0 +1,43 @@
+Upstream-status: Partially integrated
<https://github.com/sphinx-contrib/httpdomain/pull/110>
+
+TODO: Find a better fix than the HTTPIndex removal, and resubmit to upstream
+(probably in Sphinx).
+
+diff --git a/src/sphinxcontrib/httpdomain/__init__.py
b/src/sphinxcontrib/httpdomain/__init__.py
+index 48bb580..2cf41d7 100644
+--- a/src/sphinxcontrib/httpdomain/__init__.py
++++ b/src/sphinxcontrib/httpdomain/__init__.py
+@@ -207,6 +207,7 @@ HTTP_STATUS_CODES = {
+ 304: 'Not Modified',
+ 305: 'Use Proxy',
+ 307: 'Temporary Redirect',
++ 308: 'Permanent Redirect',
+ 400: 'Bad Request',
+ 401: 'Unauthorized',
+ 402: 'Payment Required', # unused
+@@ -221,7 +222,7 @@ HTTP_STATUS_CODES = {
+ 411: 'Length Required',
+ 412: 'Precondition Failed',
+ 413: 'Request Entity Too Large',
+- 414: 'Request URI Too Long',
++ 414: 'URI Too Long',
+ 415: 'Unsupported Media Type',
+ 416: 'Requested Range Not Satisfiable',
+ 417: 'Expectation Failed',
+@@ -229,6 +230,7 @@ HTTP_STATUS_CODES = {
+ 422: 'Unprocessable Entity',
+ 423: 'Locked',
+ 424: 'Failed Dependency',
++ 425: 'Too Early', # RFC 8470
+ 426: 'Upgrade Required',
+ 429: 'Too Many Requests',
+ 449: 'Retry With', # proprietary MS extension
+@@ -651,7 +653,7 @@ class HTTPDomain(Domain):
+ 'any': {}
+ }
+
+- indices = [HTTPIndex]
++ indices = []
+
+ @property
+ def routes(self):
diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm
index 69002a379b..40339f35bd 100644
--- a/gnu/packages/sphinx.scm
+++ b/gnu/packages/sphinx.scm
@@ -17,7 +17,7 @@
;;; Copyright © 2021 Eric Bavier <[email protected]>
;;; Copyright © 2021, 2022, 2024 Vinicius Monego <[email protected]>
;;; Copyright © 2021 Hugo Lecomte <[email protected]>
-;;; Copyright © 2021, 2022, 2024, 2025 Maxim Cournoyer <[email protected]>
+;;; Copyright © 2021-2022, 2024-2026 Maxim Cournoyer <[email protected]>
;;; Copyright © 2024 Troy Figiel <[email protected]>
;;; Copyright © 2021 Maxime Devos <[email protected]>
;;; Copyright © 2026 Yan Abu Arab <[email protected]>
@@ -48,25 +48,26 @@
#:use-module (guix build-system pyproject)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
- #:use-module (gnu packages nss)
+ #:use-module (gnu packages build-tools)
#:use-module (gnu packages check)
#:use-module (gnu packages documentation)
#:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils)
+ #:use-module (gnu packages graph)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages haskell-xyz)
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages jupyter)
+ #:use-module (gnu packages nss)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-crypto)
+ #:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages time)
- #:use-module (gnu packages python-science)
- #:use-module (gnu packages graph)
#:use-module (gnu packages statistics)
#:use-module (gnu packages tex)
#:use-module (gnu packages web)
@@ -605,6 +606,31 @@ users from Sphinx docs.")
HTML help files.")
(license license:bsd-2)))
+(define-public python-sphinxcontrib-httpdomain
+ (package
+ (name "python-sphinxcontrib-httpdomain")
+ (version "2.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/sphinx-contrib/httpdomain")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "056l5h5ykmdh1nlrxsqp548m6fdky6638w9vfc8c1g911xhvjc8c"))
+ (patches
+ (search-patches "python-sphinxcontrib-httpdomain-texinfo.patch"))))
+ (arguments (list #:tests? #f)) ;no real tests
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-sphinx))
+ (native-inputs (list python-uv-build))
+ (home-page "https://github.com/sphinx-contrib/httpdomain")
+ (synopsis "Sphinx extension for documenting HTTP APIs")
+ (description "The @code{sphinxcontrib.httpdomain} extension provides a
+Sphinx domain for documenting RESTful HTTP APIs.")
+ (license license:bsd-3)))
+
(define-public python-sphinxcontrib-jsmath
(package
(name "python-sphinxcontrib-jsmath")