View Issue Details

IDProjectCategoryView StatusLast Update
0011577Talerdocumentationpublic2026-09-19 14:42
Reporterapteryx Assigned ToFlorian Dold Resolution deadline
ImplementerReviewer 
Release signed byDeployed by 
VerifierCommunicator 
Data protection authority notification requiredNo  
CSIRT notification requiredNo  
Estimated effort (hours)Actual effort (hours)0 
Fast-trackNo
Work packagenone
PrioritylowSeveritytweakReproducibilityalways
Status closedResolutionfixed 
PlatformGNU/LinuxOSGuix SystemOS Versionlatest
Target Version1.6Fixed in Version1.6 
Summary0011577: taler-docs bundles an old httpdomain sphinx extension which does not work with Python 3.12
DescriptionHi,

Attempting to build taler-docs from source, I stumble on the following error:
```
sphinx-build -b texinfo -d _build/doctrees . _build/texinfo
Running Sphinx v9.0.3
loading translations [en]... done

Extension error!

Versions
========

* Platform: linux; (Linux-6.18.33-x86_64-with-glibc2.41)
* Python version: 3.12.12 (CPython)
* Sphinx version: 9.0.3
* Docutils version: 0.21.2
* Jinja2 version: 3.1.2
* Pygments version: 2.19.2

Last Messages
=============

None.

Loaded Extensions
=================

None.

Traceback
=========

      File "/gnu/store/4s6s5k2sysvy1q7q5dijhy5x43h4kxx9-python-sphinx-9.0.3/lib/python3.12/site-packages/sphinx/registry.py", line 546, in load_extension
        raise ExtensionError(
    sphinx.errors.ExtensionError: Could not import extension httpdomain.httpdomain (exception: No module named 'pkg_resources')


The full traceback has been saved in:
/tmp/guix-build-taler-docs-0.0.0-0.3626faf.drv-0/sphinx-err-fgwfdi8j.log

To report this error to the developers, please open an issue at <https://github.com/sphinx-doc/sphinx/issues/>. Thanks!
Please also report this if it was a user error, so that a better error message can be provided next time.
make: *** [Makefile:158: info] Error 2
```

If I understand, this is because the bundled httpdomain sphinx extension under _exts/httpdomain is too old and relies on older deprecated API that no longer exist in Python 3.12.
Steps To ReproduceBuilding using Guix with the following inputs:

python-minimal@3.12.12
python-myst-parser@5.0.0 python-sphinx-design@0.6.1
python-sphinx-multitoc-numbering@0.1.3
python-sphinx@9.0.3
python-sphinxcontrib-httpdomain@2.0.0 texinfo@6.8
Additional InformationI can remove the bundled library of httpdomain (and also multitoc-numbering since I packaged it in Guix) and adjust the conf.py to use the new package name `sphinxcontrib.httpdomain` instead of `httpdomain.httpdomain`, and then it proceeds further.
TagsNo tags attached.

Required notifications

Address or linkRemarkAdded byNotifiedActions

Activities

apteryx

2026-06-30 07:42

reporter   ~0029025

OK, I realized there are now improvements made in the taler-docs fork of httpdomain not yet upstreamed; I'm trying to rectify that in https://github.com/sphinx-contrib/httpdomain/pull/110

Christian Grothoff

2026-06-30 23:05

manager   ~0029033

Thanks for trying to upstream them!

Florian Dold

2026-08-27 09:01

manager   ~0029670

taler-docs commit 1db18522 replaced the bundled httpdomain namespace use of pkg_resources with pkgutil.extend_path; current _exts/httpdomain has no pkg_resources import, should resolve the reported Python 3.12/Sphinx 9 import failure.

Issue History

Date ModifiedUsernameFieldChange
2026-06-30 07:02apteryxNew Issue
2026-06-30 07:42apteryxNote Added: 0029025
2026-06-30 23:05Christian GrothoffNote Added: 0029033
2026-07-05 22:38Christian GrothoffPrioritynormal => low
2026-07-05 22:38Christian GrothoffSeverityminor => tweak
2026-07-05 22:38Christian GrothoffStatusnew => implementing
2026-07-05 22:38Christian GrothoffTarget Version => post-1.0
2026-08-27 09:01Florian DoldAssigned To => Florian Dold
2026-08-27 09:01Florian DoldStatusimplementing => informing
2026-08-27 09:01Florian DoldResolutionopen => fixed
2026-08-27 09:01Florian DoldNote Added: 0029670
2026-08-29 15:01vecirexStatusinforming => closed
2026-09-19 14:42Christian GrothoffFixed in Version => 1.6
2026-09-19 14:42Christian GrothoffTarget Versionpost-1.0 => 1.6