pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
py-docutils: add upgrade candidate, with an upstream patch included
Module Name: pkgsrc-wip
Committed By: Thomas Klausner <wiz%NetBSD.org@localhost>
Pushed By: wiz
Date: Fri Aug 8 22:57:16 2025 +0200
Changeset: a31db71ff564e69934823f8b9786e1083762eba2
Modified Files:
Makefile
Added Files:
py-docutils/ALTERNATIVES
py-docutils/DESCR
py-docutils/Makefile
py-docutils/PLIST
py-docutils/distinfo
py-docutils/patches/patch-docutils_parsers_rst_states.py
Log Message:
py-docutils: add upgrade candidate, with an upstream patch included
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=a31db71ff564e69934823f8b9786e1083762eba2
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
Makefile | 1 +
py-docutils/ALTERNATIVES | 9 +
py-docutils/DESCR | 3 +
py-docutils/Makefile | 41 ++
py-docutils/PLIST | 482 +++++++++++++++++++++
py-docutils/distinfo | 6 +
.../patches/patch-docutils_parsers_rst_states.py | 60 +++
7 files changed, 602 insertions(+)
diffs:
diff --git a/Makefile b/Makefile
index 758e506ac1..9439f4fc6f 100644
--- a/Makefile
+++ b/Makefile
@@ -3748,6 +3748,7 @@ SUBDIR+= py-docker-hub
SUBDIR+= py-docker-interface
SUBDIR+= py-docker-ssh
SUBDIR+= py-docplex
+SUBDIR+= py-docutils
SUBDIR+= py-doh-proxy
SUBDIR+= py-dolo
SUBDIR+= py-dot2tex
diff --git a/py-docutils/ALTERNATIVES b/py-docutils/ALTERNATIVES
new file mode 100644
index 0000000000..cd01d484e2
--- /dev/null
+++ b/py-docutils/ALTERNATIVES
@@ -0,0 +1,9 @@
+bin/docutils @PREFIX@/bin/docutils-@PYVERSSUFFIX@
+bin/rst2html.py @PREFIX@/bin/rst2html-@PYVERSSUFFIX@
+bin/rst2latex.py @PREFIX@/bin/rst2latex-@PYVERSSUFFIX@
+bin/rst2man.py @PREFIX@/bin/rst2man-@PYVERSSUFFIX@
+bin/rst2odt.py @PREFIX@/bin/rst2odt-@PYVERSSUFFIX@
+bin/rst2pseudoxml.py @PREFIX@/bin/rst2pseudoxml-@PYVERSSUFFIX@
+bin/rst2s5.py @PREFIX@/bin/rst2s5-@PYVERSSUFFIX@
+bin/rst2xetex.py @PREFIX@/bin/rst2xetex-@PYVERSSUFFIX@
+bin/rst2xml.py @PREFIX@/bin/rst2xml-@PYVERSSUFFIX@
diff --git a/py-docutils/DESCR b/py-docutils/DESCR
new file mode 100644
index 0000000000..45fb65a446
--- /dev/null
+++ b/py-docutils/DESCR
@@ -0,0 +1,3 @@
+The purpose of the Docutils project is to create a set of tools
+for processing plaintext documentation into useful formats, such
+as HTML, XML, and TeX.
diff --git a/py-docutils/Makefile b/py-docutils/Makefile
new file mode 100644
index 0000000000..dd4029a56e
--- /dev/null
+++ b/py-docutils/Makefile
@@ -0,0 +1,41 @@
+# $NetBSD: Makefile,v 1.67 2025/08/03 10:06:37 wiz Exp $
+
+DISTNAME= docutils-0.22
+PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
+CATEGORIES= textproc python
+MASTER_SITES= ${MASTER_SITE_PYPI:=d/docutils/}
+
+MAINTAINER= pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE= https://docutils.sourceforge.io/
+COMMENT= Python tool to generate documents
+LICENSE= public-domain AND 2-clause-bsd
+
+TOOL_DEPENDS+= ${PYPKGPREFIX}-flit_core>=3.11:../../devel/py-flit_core
+DEPENDS+= ${PYPKGPREFIX}-pygments>=0:../../textproc/py-pygments
+
+USE_LANGUAGES= # none
+
+REPLACE_PYTHON+= docutils/__main__.py
+REPLACE_PYTHON+= docutils/utils/math/math2html.py
+REPLACE_PYTHON+= docutils/utils/smartquotes.py
+REPLACE_PYTHON+= docutils/writers/odf_odt/prepstyles.py
+REPLACE_PYTHON+= docutils/writers/xetex/__init__.py
+
+post-install:
+ cd ${DESTDIR}${PREFIX}/bin && \
+ ${MV} docutils docutils-${PYVERSSUFFIX} || ${TRUE}
+.for bin in rst2html rst2html4 rst2html5 rst2latex rst2man rst2odt \
+ rst2pseudoxml rst2s5 rst2xetex rst2xml
+ cd ${DESTDIR}${PREFIX}/bin && \
+ ${MV} ${bin} ${bin}-${PYVERSSUFFIX} || ${TRUE}
+.endfor
+# due to patches/patch-docutils_parsers_rst_states.py
+ ${RM} -f ${DESTDIR}${PREFIX}/${PYSITELIB}/docutils/parsers/rst/states.py.orig
+
+do-test:
+ cd ${WRKSRC} && ${PYTHONBIN} test/alltests.py
+
+.include "../../lang/python/batteries-included.mk"
+.include "../../lang/python/application.mk"
+.include "../../lang/python/wheel.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/py-docutils/PLIST b/py-docutils/PLIST
new file mode 100644
index 0000000000..9c2a17d31d
--- /dev/null
+++ b/py-docutils/PLIST
@@ -0,0 +1,482 @@
+@comment $NetBSD: PLIST,v 1.34 2025/08/03 10:06:37 wiz Exp $
+bin/docutils-${PYVERSSUFFIX}
+bin/rst2html-${PYVERSSUFFIX}
+bin/rst2html4-${PYVERSSUFFIX}
+bin/rst2html5-${PYVERSSUFFIX}
+bin/rst2latex-${PYVERSSUFFIX}
+bin/rst2man-${PYVERSSUFFIX}
+bin/rst2odt-${PYVERSSUFFIX}
+bin/rst2pseudoxml-${PYVERSSUFFIX}
+bin/rst2s5-${PYVERSSUFFIX}
+bin/rst2xetex-${PYVERSSUFFIX}
+bin/rst2xml-${PYVERSSUFFIX}
+${PYSITELIB}/${WHEEL_INFODIR}/METADATA
+${PYSITELIB}/${WHEEL_INFODIR}/RECORD
+${PYSITELIB}/${WHEEL_INFODIR}/WHEEL
+${PYSITELIB}/${WHEEL_INFODIR}/entry_points.txt
+${PYSITELIB}/${WHEEL_INFODIR}/licenses/COPYING.rst
+${PYSITELIB}/${WHEEL_INFODIR}/licenses/licenses/BSD-0-Clause.rst
+${PYSITELIB}/${WHEEL_INFODIR}/licenses/licenses/BSD-2-Clause.rst
+${PYSITELIB}/${WHEEL_INFODIR}/licenses/licenses/gpl-3-0.txt
+${PYSITELIB}/docutils/__init__.py
+${PYSITELIB}/docutils/__init__.pyc
+${PYSITELIB}/docutils/__init__.pyo
+${PYSITELIB}/docutils/__main__.py
+${PYSITELIB}/docutils/__main__.pyc
+${PYSITELIB}/docutils/__main__.pyo
+${PYSITELIB}/docutils/core.py
+${PYSITELIB}/docutils/core.pyc
+${PYSITELIB}/docutils/core.pyo
+${PYSITELIB}/docutils/docutils.conf
+${PYSITELIB}/docutils/examples.py
+${PYSITELIB}/docutils/examples.pyc
+${PYSITELIB}/docutils/examples.pyo
+${PYSITELIB}/docutils/frontend.py
+${PYSITELIB}/docutils/frontend.pyc
+${PYSITELIB}/docutils/frontend.pyo
+${PYSITELIB}/docutils/io.py
+${PYSITELIB}/docutils/io.pyc
+${PYSITELIB}/docutils/io.pyo
+${PYSITELIB}/docutils/languages/__init__.py
+${PYSITELIB}/docutils/languages/__init__.pyc
+${PYSITELIB}/docutils/languages/__init__.pyo
+${PYSITELIB}/docutils/languages/af.py
+${PYSITELIB}/docutils/languages/af.pyc
+${PYSITELIB}/docutils/languages/af.pyo
+${PYSITELIB}/docutils/languages/ar.py
+${PYSITELIB}/docutils/languages/ar.pyc
+${PYSITELIB}/docutils/languages/ar.pyo
+${PYSITELIB}/docutils/languages/ca.py
+${PYSITELIB}/docutils/languages/ca.pyc
+${PYSITELIB}/docutils/languages/ca.pyo
+${PYSITELIB}/docutils/languages/cs.py
+${PYSITELIB}/docutils/languages/cs.pyc
+${PYSITELIB}/docutils/languages/cs.pyo
+${PYSITELIB}/docutils/languages/da.py
+${PYSITELIB}/docutils/languages/da.pyc
+${PYSITELIB}/docutils/languages/da.pyo
+${PYSITELIB}/docutils/languages/de.py
+${PYSITELIB}/docutils/languages/de.pyc
+${PYSITELIB}/docutils/languages/de.pyo
+${PYSITELIB}/docutils/languages/en.py
+${PYSITELIB}/docutils/languages/en.pyc
+${PYSITELIB}/docutils/languages/en.pyo
+${PYSITELIB}/docutils/languages/eo.py
+${PYSITELIB}/docutils/languages/eo.pyc
+${PYSITELIB}/docutils/languages/eo.pyo
+${PYSITELIB}/docutils/languages/es.py
+${PYSITELIB}/docutils/languages/es.pyc
+${PYSITELIB}/docutils/languages/es.pyo
+${PYSITELIB}/docutils/languages/fa.py
+${PYSITELIB}/docutils/languages/fa.pyc
+${PYSITELIB}/docutils/languages/fa.pyo
+${PYSITELIB}/docutils/languages/fi.py
+${PYSITELIB}/docutils/languages/fi.pyc
+${PYSITELIB}/docutils/languages/fi.pyo
+${PYSITELIB}/docutils/languages/fr.py
+${PYSITELIB}/docutils/languages/fr.pyc
+${PYSITELIB}/docutils/languages/fr.pyo
+${PYSITELIB}/docutils/languages/gl.py
+${PYSITELIB}/docutils/languages/gl.pyc
+${PYSITELIB}/docutils/languages/gl.pyo
+${PYSITELIB}/docutils/languages/he.py
+${PYSITELIB}/docutils/languages/he.pyc
+${PYSITELIB}/docutils/languages/he.pyo
+${PYSITELIB}/docutils/languages/it.py
+${PYSITELIB}/docutils/languages/it.pyc
+${PYSITELIB}/docutils/languages/it.pyo
+${PYSITELIB}/docutils/languages/ja.py
+${PYSITELIB}/docutils/languages/ja.pyc
+${PYSITELIB}/docutils/languages/ja.pyo
+${PYSITELIB}/docutils/languages/ka.py
+${PYSITELIB}/docutils/languages/ka.pyc
+${PYSITELIB}/docutils/languages/ka.pyo
+${PYSITELIB}/docutils/languages/ko.py
+${PYSITELIB}/docutils/languages/ko.pyc
+${PYSITELIB}/docutils/languages/ko.pyo
+${PYSITELIB}/docutils/languages/lt.py
+${PYSITELIB}/docutils/languages/lt.pyc
+${PYSITELIB}/docutils/languages/lt.pyo
+${PYSITELIB}/docutils/languages/lv.py
+${PYSITELIB}/docutils/languages/lv.pyc
+${PYSITELIB}/docutils/languages/lv.pyo
+${PYSITELIB}/docutils/languages/nl.py
+${PYSITELIB}/docutils/languages/nl.pyc
+${PYSITELIB}/docutils/languages/nl.pyo
+${PYSITELIB}/docutils/languages/pl.py
+${PYSITELIB}/docutils/languages/pl.pyc
+${PYSITELIB}/docutils/languages/pl.pyo
+${PYSITELIB}/docutils/languages/pt_br.py
+${PYSITELIB}/docutils/languages/pt_br.pyc
+${PYSITELIB}/docutils/languages/pt_br.pyo
+${PYSITELIB}/docutils/languages/ru.py
+${PYSITELIB}/docutils/languages/ru.pyc
+${PYSITELIB}/docutils/languages/ru.pyo
+${PYSITELIB}/docutils/languages/sk.py
+${PYSITELIB}/docutils/languages/sk.pyc
+${PYSITELIB}/docutils/languages/sk.pyo
+${PYSITELIB}/docutils/languages/sv.py
+${PYSITELIB}/docutils/languages/sv.pyc
+${PYSITELIB}/docutils/languages/sv.pyo
+${PYSITELIB}/docutils/languages/uk.py
+${PYSITELIB}/docutils/languages/uk.pyc
+${PYSITELIB}/docutils/languages/uk.pyo
+${PYSITELIB}/docutils/languages/zh_cn.py
+${PYSITELIB}/docutils/languages/zh_cn.pyc
+${PYSITELIB}/docutils/languages/zh_cn.pyo
+${PYSITELIB}/docutils/languages/zh_tw.py
+${PYSITELIB}/docutils/languages/zh_tw.pyc
+${PYSITELIB}/docutils/languages/zh_tw.pyo
+${PYSITELIB}/docutils/nodes.py
+${PYSITELIB}/docutils/nodes.pyc
+${PYSITELIB}/docutils/nodes.pyo
+${PYSITELIB}/docutils/parsers/__init__.py
+${PYSITELIB}/docutils/parsers/__init__.pyc
+${PYSITELIB}/docutils/parsers/__init__.pyo
+${PYSITELIB}/docutils/parsers/commonmark_wrapper.py
+${PYSITELIB}/docutils/parsers/commonmark_wrapper.pyc
+${PYSITELIB}/docutils/parsers/commonmark_wrapper.pyo
+${PYSITELIB}/docutils/parsers/docutils_xml.py
+${PYSITELIB}/docutils/parsers/docutils_xml.pyc
+${PYSITELIB}/docutils/parsers/docutils_xml.pyo
+${PYSITELIB}/docutils/parsers/null.py
+${PYSITELIB}/docutils/parsers/null.pyc
+${PYSITELIB}/docutils/parsers/null.pyo
+${PYSITELIB}/docutils/parsers/recommonmark_wrapper.py
+${PYSITELIB}/docutils/parsers/recommonmark_wrapper.pyc
+${PYSITELIB}/docutils/parsers/recommonmark_wrapper.pyo
+${PYSITELIB}/docutils/parsers/rst/__init__.py
+${PYSITELIB}/docutils/parsers/rst/__init__.pyc
+${PYSITELIB}/docutils/parsers/rst/__init__.pyo
+${PYSITELIB}/docutils/parsers/rst/directives/__init__.py
+${PYSITELIB}/docutils/parsers/rst/directives/__init__.pyc
+${PYSITELIB}/docutils/parsers/rst/directives/__init__.pyo
+${PYSITELIB}/docutils/parsers/rst/directives/admonitions.py
+${PYSITELIB}/docutils/parsers/rst/directives/admonitions.pyc
+${PYSITELIB}/docutils/parsers/rst/directives/admonitions.pyo
+${PYSITELIB}/docutils/parsers/rst/directives/body.py
+${PYSITELIB}/docutils/parsers/rst/directives/body.pyc
+${PYSITELIB}/docutils/parsers/rst/directives/body.pyo
+${PYSITELIB}/docutils/parsers/rst/directives/html.py
+${PYSITELIB}/docutils/parsers/rst/directives/html.pyc
+${PYSITELIB}/docutils/parsers/rst/directives/html.pyo
+${PYSITELIB}/docutils/parsers/rst/directives/images.py
+${PYSITELIB}/docutils/parsers/rst/directives/images.pyc
+${PYSITELIB}/docutils/parsers/rst/directives/images.pyo
+${PYSITELIB}/docutils/parsers/rst/directives/misc.py
+${PYSITELIB}/docutils/parsers/rst/directives/misc.pyc
+${PYSITELIB}/docutils/parsers/rst/directives/misc.pyo
+${PYSITELIB}/docutils/parsers/rst/directives/parts.py
+${PYSITELIB}/docutils/parsers/rst/directives/parts.pyc
+${PYSITELIB}/docutils/parsers/rst/directives/parts.pyo
+${PYSITELIB}/docutils/parsers/rst/directives/references.py
+${PYSITELIB}/docutils/parsers/rst/directives/references.pyc
+${PYSITELIB}/docutils/parsers/rst/directives/references.pyo
+${PYSITELIB}/docutils/parsers/rst/directives/tables.py
+${PYSITELIB}/docutils/parsers/rst/directives/tables.pyc
+${PYSITELIB}/docutils/parsers/rst/directives/tables.pyo
+${PYSITELIB}/docutils/parsers/rst/include/README.rst
+${PYSITELIB}/docutils/parsers/rst/include/html-roles.txt
+${PYSITELIB}/docutils/parsers/rst/include/isoamsa.txt
+${PYSITELIB}/docutils/parsers/rst/include/isoamsb.txt
+${PYSITELIB}/docutils/parsers/rst/include/isoamsc.txt
+${PYSITELIB}/docutils/parsers/rst/include/isoamsn.txt
+${PYSITELIB}/docutils/parsers/rst/include/isoamso.txt
+${PYSITELIB}/docutils/parsers/rst/include/isoamsr.txt
+${PYSITELIB}/docutils/parsers/rst/include/isobox.txt
+${PYSITELIB}/docutils/parsers/rst/include/isocyr1.txt
+${PYSITELIB}/docutils/parsers/rst/include/isocyr2.txt
+${PYSITELIB}/docutils/parsers/rst/include/isodia.txt
+${PYSITELIB}/docutils/parsers/rst/include/isogrk1.txt
+${PYSITELIB}/docutils/parsers/rst/include/isogrk2.txt
+${PYSITELIB}/docutils/parsers/rst/include/isogrk3.txt
+${PYSITELIB}/docutils/parsers/rst/include/isogrk4-wide.txt
+${PYSITELIB}/docutils/parsers/rst/include/isogrk4.txt
+${PYSITELIB}/docutils/parsers/rst/include/isolat1.txt
+${PYSITELIB}/docutils/parsers/rst/include/isolat2.txt
+${PYSITELIB}/docutils/parsers/rst/include/isomfrk-wide.txt
+${PYSITELIB}/docutils/parsers/rst/include/isomfrk.txt
+${PYSITELIB}/docutils/parsers/rst/include/isomopf-wide.txt
+${PYSITELIB}/docutils/parsers/rst/include/isomopf.txt
+${PYSITELIB}/docutils/parsers/rst/include/isomscr-wide.txt
+${PYSITELIB}/docutils/parsers/rst/include/isomscr.txt
+${PYSITELIB}/docutils/parsers/rst/include/isonum.txt
+${PYSITELIB}/docutils/parsers/rst/include/isopub.txt
+${PYSITELIB}/docutils/parsers/rst/include/isotech.txt
+${PYSITELIB}/docutils/parsers/rst/include/mmlalias.txt
+${PYSITELIB}/docutils/parsers/rst/include/mmlextra-wide.txt
+${PYSITELIB}/docutils/parsers/rst/include/mmlextra.txt
+${PYSITELIB}/docutils/parsers/rst/include/s5defs.txt
+${PYSITELIB}/docutils/parsers/rst/include/xhtml1-lat1.txt
+${PYSITELIB}/docutils/parsers/rst/include/xhtml1-special.txt
+${PYSITELIB}/docutils/parsers/rst/include/xhtml1-symbol.txt
+${PYSITELIB}/docutils/parsers/rst/languages/__init__.py
+${PYSITELIB}/docutils/parsers/rst/languages/__init__.pyc
+${PYSITELIB}/docutils/parsers/rst/languages/__init__.pyo
+${PYSITELIB}/docutils/parsers/rst/languages/af.py
+${PYSITELIB}/docutils/parsers/rst/languages/af.pyc
+${PYSITELIB}/docutils/parsers/rst/languages/af.pyo
+${PYSITELIB}/docutils/parsers/rst/languages/ar.py
+${PYSITELIB}/docutils/parsers/rst/languages/ar.pyc
+${PYSITELIB}/docutils/parsers/rst/languages/ar.pyo
+${PYSITELIB}/docutils/parsers/rst/languages/ca.py
+${PYSITELIB}/docutils/parsers/rst/languages/ca.pyc
+${PYSITELIB}/docutils/parsers/rst/languages/ca.pyo
+${PYSITELIB}/docutils/parsers/rst/languages/cs.py
+${PYSITELIB}/docutils/parsers/rst/languages/cs.pyc
+${PYSITELIB}/docutils/parsers/rst/languages/cs.pyo
+${PYSITELIB}/docutils/parsers/rst/languages/da.py
+${PYSITELIB}/docutils/parsers/rst/languages/da.pyc
+${PYSITELIB}/docutils/parsers/rst/languages/da.pyo
+${PYSITELIB}/docutils/parsers/rst/languages/de.py
+${PYSITELIB}/docutils/parsers/rst/languages/de.pyc
+${PYSITELIB}/docutils/parsers/rst/languages/de.pyo
+${PYSITELIB}/docutils/parsers/rst/languages/en.py
+${PYSITELIB}/docutils/parsers/rst/languages/en.pyc
+${PYSITELIB}/docutils/parsers/rst/languages/en.pyo
+${PYSITELIB}/docutils/parsers/rst/languages/eo.py
+${PYSITELIB}/docutils/parsers/rst/languages/eo.pyc
+${PYSITELIB}/docutils/parsers/rst/languages/eo.pyo
+${PYSITELIB}/docutils/parsers/rst/languages/es.py
+${PYSITELIB}/docutils/parsers/rst/languages/es.pyc
+${PYSITELIB}/docutils/parsers/rst/languages/es.pyo
+${PYSITELIB}/docutils/parsers/rst/languages/fa.py
+${PYSITELIB}/docutils/parsers/rst/languages/fa.pyc
+${PYSITELIB}/docutils/parsers/rst/languages/fa.pyo
+${PYSITELIB}/docutils/parsers/rst/languages/fi.py
+${PYSITELIB}/docutils/parsers/rst/languages/fi.pyc
+${PYSITELIB}/docutils/parsers/rst/languages/fi.pyo
+${PYSITELIB}/docutils/parsers/rst/languages/fr.py
+${PYSITELIB}/docutils/parsers/rst/languages/fr.pyc
+${PYSITELIB}/docutils/parsers/rst/languages/fr.pyo
+${PYSITELIB}/docutils/parsers/rst/languages/gl.py
+${PYSITELIB}/docutils/parsers/rst/languages/gl.pyc
+${PYSITELIB}/docutils/parsers/rst/languages/gl.pyo
+${PYSITELIB}/docutils/parsers/rst/languages/he.py
+${PYSITELIB}/docutils/parsers/rst/languages/he.pyc
+${PYSITELIB}/docutils/parsers/rst/languages/he.pyo
+${PYSITELIB}/docutils/parsers/rst/languages/it.py
+${PYSITELIB}/docutils/parsers/rst/languages/it.pyc
+${PYSITELIB}/docutils/parsers/rst/languages/it.pyo
+${PYSITELIB}/docutils/parsers/rst/languages/ja.py
+${PYSITELIB}/docutils/parsers/rst/languages/ja.pyc
+${PYSITELIB}/docutils/parsers/rst/languages/ja.pyo
+${PYSITELIB}/docutils/parsers/rst/languages/ka.py
+${PYSITELIB}/docutils/parsers/rst/languages/ka.pyc
+${PYSITELIB}/docutils/parsers/rst/languages/ka.pyo
+${PYSITELIB}/docutils/parsers/rst/languages/ko.py
+${PYSITELIB}/docutils/parsers/rst/languages/ko.pyc
+${PYSITELIB}/docutils/parsers/rst/languages/ko.pyo
+${PYSITELIB}/docutils/parsers/rst/languages/lt.py
+${PYSITELIB}/docutils/parsers/rst/languages/lt.pyc
+${PYSITELIB}/docutils/parsers/rst/languages/lt.pyo
+${PYSITELIB}/docutils/parsers/rst/languages/lv.py
+${PYSITELIB}/docutils/parsers/rst/languages/lv.pyc
+${PYSITELIB}/docutils/parsers/rst/languages/lv.pyo
+${PYSITELIB}/docutils/parsers/rst/languages/nl.py
+${PYSITELIB}/docutils/parsers/rst/languages/nl.pyc
+${PYSITELIB}/docutils/parsers/rst/languages/nl.pyo
+${PYSITELIB}/docutils/parsers/rst/languages/pl.py
+${PYSITELIB}/docutils/parsers/rst/languages/pl.pyc
+${PYSITELIB}/docutils/parsers/rst/languages/pl.pyo
+${PYSITELIB}/docutils/parsers/rst/languages/pt_br.py
+${PYSITELIB}/docutils/parsers/rst/languages/pt_br.pyc
+${PYSITELIB}/docutils/parsers/rst/languages/pt_br.pyo
+${PYSITELIB}/docutils/parsers/rst/languages/ru.py
+${PYSITELIB}/docutils/parsers/rst/languages/ru.pyc
+${PYSITELIB}/docutils/parsers/rst/languages/ru.pyo
+${PYSITELIB}/docutils/parsers/rst/languages/sk.py
+${PYSITELIB}/docutils/parsers/rst/languages/sk.pyc
+${PYSITELIB}/docutils/parsers/rst/languages/sk.pyo
+${PYSITELIB}/docutils/parsers/rst/languages/sv.py
+${PYSITELIB}/docutils/parsers/rst/languages/sv.pyc
+${PYSITELIB}/docutils/parsers/rst/languages/sv.pyo
+${PYSITELIB}/docutils/parsers/rst/languages/uk.py
+${PYSITELIB}/docutils/parsers/rst/languages/uk.pyc
+${PYSITELIB}/docutils/parsers/rst/languages/uk.pyo
+${PYSITELIB}/docutils/parsers/rst/languages/zh_cn.py
+${PYSITELIB}/docutils/parsers/rst/languages/zh_cn.pyc
+${PYSITELIB}/docutils/parsers/rst/languages/zh_cn.pyo
+${PYSITELIB}/docutils/parsers/rst/languages/zh_tw.py
+${PYSITELIB}/docutils/parsers/rst/languages/zh_tw.pyc
+${PYSITELIB}/docutils/parsers/rst/languages/zh_tw.pyo
+${PYSITELIB}/docutils/parsers/rst/roles.py
+${PYSITELIB}/docutils/parsers/rst/roles.pyc
+${PYSITELIB}/docutils/parsers/rst/roles.pyo
+${PYSITELIB}/docutils/parsers/rst/states.py
+${PYSITELIB}/docutils/parsers/rst/states.pyc
+${PYSITELIB}/docutils/parsers/rst/states.pyo
+${PYSITELIB}/docutils/parsers/rst/tableparser.py
+${PYSITELIB}/docutils/parsers/rst/tableparser.pyc
+${PYSITELIB}/docutils/parsers/rst/tableparser.pyo
+${PYSITELIB}/docutils/readers/__init__.py
+${PYSITELIB}/docutils/readers/__init__.pyc
+${PYSITELIB}/docutils/readers/__init__.pyo
+${PYSITELIB}/docutils/readers/doctree.py
+${PYSITELIB}/docutils/readers/doctree.pyc
+${PYSITELIB}/docutils/readers/doctree.pyo
+${PYSITELIB}/docutils/readers/pep.py
+${PYSITELIB}/docutils/readers/pep.pyc
+${PYSITELIB}/docutils/readers/pep.pyo
+${PYSITELIB}/docutils/readers/standalone.py
+${PYSITELIB}/docutils/readers/standalone.pyc
+${PYSITELIB}/docutils/readers/standalone.pyo
+${PYSITELIB}/docutils/statemachine.py
+${PYSITELIB}/docutils/statemachine.pyc
+${PYSITELIB}/docutils/statemachine.pyo
+${PYSITELIB}/docutils/transforms/__init__.py
+${PYSITELIB}/docutils/transforms/__init__.pyc
+${PYSITELIB}/docutils/transforms/__init__.pyo
+${PYSITELIB}/docutils/transforms/components.py
+${PYSITELIB}/docutils/transforms/components.pyc
+${PYSITELIB}/docutils/transforms/components.pyo
+${PYSITELIB}/docutils/transforms/frontmatter.py
+${PYSITELIB}/docutils/transforms/frontmatter.pyc
+${PYSITELIB}/docutils/transforms/frontmatter.pyo
+${PYSITELIB}/docutils/transforms/misc.py
+${PYSITELIB}/docutils/transforms/misc.pyc
+${PYSITELIB}/docutils/transforms/misc.pyo
+${PYSITELIB}/docutils/transforms/parts.py
+${PYSITELIB}/docutils/transforms/parts.pyc
+${PYSITELIB}/docutils/transforms/parts.pyo
+${PYSITELIB}/docutils/transforms/peps.py
+${PYSITELIB}/docutils/transforms/peps.pyc
+${PYSITELIB}/docutils/transforms/peps.pyo
+${PYSITELIB}/docutils/transforms/references.py
+${PYSITELIB}/docutils/transforms/references.pyc
+${PYSITELIB}/docutils/transforms/references.pyo
+${PYSITELIB}/docutils/transforms/universal.py
+${PYSITELIB}/docutils/transforms/universal.pyc
+${PYSITELIB}/docutils/transforms/universal.pyo
+${PYSITELIB}/docutils/transforms/writer_aux.py
+${PYSITELIB}/docutils/transforms/writer_aux.pyc
+${PYSITELIB}/docutils/transforms/writer_aux.pyo
+${PYSITELIB}/docutils/utils/__init__.py
+${PYSITELIB}/docutils/utils/__init__.pyc
+${PYSITELIB}/docutils/utils/__init__.pyo
+${PYSITELIB}/docutils/utils/_roman_numerals.py
+${PYSITELIB}/docutils/utils/_roman_numerals.pyc
+${PYSITELIB}/docutils/utils/_roman_numerals.pyo
+${PYSITELIB}/docutils/utils/_typing.py
+${PYSITELIB}/docutils/utils/_typing.pyc
+${PYSITELIB}/docutils/utils/_typing.pyo
+${PYSITELIB}/docutils/utils/code_analyzer.py
+${PYSITELIB}/docutils/utils/code_analyzer.pyc
+${PYSITELIB}/docutils/utils/code_analyzer.pyo
+${PYSITELIB}/docutils/utils/math/__init__.py
+${PYSITELIB}/docutils/utils/math/__init__.pyc
+${PYSITELIB}/docutils/utils/math/__init__.pyo
+${PYSITELIB}/docutils/utils/math/latex2mathml.py
+${PYSITELIB}/docutils/utils/math/latex2mathml.pyc
+${PYSITELIB}/docutils/utils/math/latex2mathml.pyo
+${PYSITELIB}/docutils/utils/math/math2html.py
+${PYSITELIB}/docutils/utils/math/math2html.pyc
+${PYSITELIB}/docutils/utils/math/math2html.pyo
+${PYSITELIB}/docutils/utils/math/mathalphabet2unichar.py
+${PYSITELIB}/docutils/utils/math/mathalphabet2unichar.pyc
+${PYSITELIB}/docutils/utils/math/mathalphabet2unichar.pyo
+${PYSITELIB}/docutils/utils/math/mathml_elements.py
+${PYSITELIB}/docutils/utils/math/mathml_elements.pyc
+${PYSITELIB}/docutils/utils/math/mathml_elements.pyo
+${PYSITELIB}/docutils/utils/math/tex2mathml_extern.py
+${PYSITELIB}/docutils/utils/math/tex2mathml_extern.pyc
+${PYSITELIB}/docutils/utils/math/tex2mathml_extern.pyo
+${PYSITELIB}/docutils/utils/math/tex2unichar.py
+${PYSITELIB}/docutils/utils/math/tex2unichar.pyc
+${PYSITELIB}/docutils/utils/math/tex2unichar.pyo
+${PYSITELIB}/docutils/utils/math/unichar2tex.py
+${PYSITELIB}/docutils/utils/math/unichar2tex.pyc
+${PYSITELIB}/docutils/utils/math/unichar2tex.pyo
+${PYSITELIB}/docutils/utils/punctuation_chars.py
+${PYSITELIB}/docutils/utils/punctuation_chars.pyc
+${PYSITELIB}/docutils/utils/punctuation_chars.pyo
+${PYSITELIB}/docutils/utils/smartquotes.py
+${PYSITELIB}/docutils/utils/smartquotes.pyc
+${PYSITELIB}/docutils/utils/smartquotes.pyo
+${PYSITELIB}/docutils/utils/urischemes.py
+${PYSITELIB}/docutils/utils/urischemes.pyc
+${PYSITELIB}/docutils/utils/urischemes.pyo
+${PYSITELIB}/docutils/writers/__init__.py
+${PYSITELIB}/docutils/writers/__init__.pyc
+${PYSITELIB}/docutils/writers/__init__.pyo
+${PYSITELIB}/docutils/writers/_html_base.py
+${PYSITELIB}/docutils/writers/_html_base.pyc
+${PYSITELIB}/docutils/writers/_html_base.pyo
+${PYSITELIB}/docutils/writers/docutils_xml.py
+${PYSITELIB}/docutils/writers/docutils_xml.pyc
+${PYSITELIB}/docutils/writers/docutils_xml.pyo
+${PYSITELIB}/docutils/writers/html4css1/__init__.py
+${PYSITELIB}/docutils/writers/html4css1/__init__.pyc
+${PYSITELIB}/docutils/writers/html4css1/__init__.pyo
+${PYSITELIB}/docutils/writers/html4css1/html4css1.css
+${PYSITELIB}/docutils/writers/html4css1/template.txt
+${PYSITELIB}/docutils/writers/html5_polyglot/__init__.py
+${PYSITELIB}/docutils/writers/html5_polyglot/__init__.pyc
+${PYSITELIB}/docutils/writers/html5_polyglot/__init__.pyo
+${PYSITELIB}/docutils/writers/html5_polyglot/italic-field-names.css
+${PYSITELIB}/docutils/writers/html5_polyglot/math.css
+${PYSITELIB}/docutils/writers/html5_polyglot/minimal.css
+${PYSITELIB}/docutils/writers/html5_polyglot/plain.css
+${PYSITELIB}/docutils/writers/html5_polyglot/responsive.css
+${PYSITELIB}/docutils/writers/html5_polyglot/template.txt
+${PYSITELIB}/docutils/writers/html5_polyglot/tuftig.css
+${PYSITELIB}/docutils/writers/latex2e/__init__.py
+${PYSITELIB}/docutils/writers/latex2e/__init__.pyc
+${PYSITELIB}/docutils/writers/latex2e/__init__.pyo
+${PYSITELIB}/docutils/writers/latex2e/default.tex
+${PYSITELIB}/docutils/writers/latex2e/docutils.sty
+${PYSITELIB}/docutils/writers/latex2e/titlepage.tex
+${PYSITELIB}/docutils/writers/latex2e/titlingpage.tex
+${PYSITELIB}/docutils/writers/latex2e/xelatex.tex
+${PYSITELIB}/docutils/writers/manpage.py
+${PYSITELIB}/docutils/writers/manpage.pyc
+${PYSITELIB}/docutils/writers/manpage.pyo
+${PYSITELIB}/docutils/writers/null.py
+${PYSITELIB}/docutils/writers/null.pyc
+${PYSITELIB}/docutils/writers/null.pyo
+${PYSITELIB}/docutils/writers/odf_odt/__init__.py
+${PYSITELIB}/docutils/writers/odf_odt/__init__.pyc
+${PYSITELIB}/docutils/writers/odf_odt/__init__.pyo
+${PYSITELIB}/docutils/writers/odf_odt/prepstyles.py
+${PYSITELIB}/docutils/writers/odf_odt/prepstyles.pyc
+${PYSITELIB}/docutils/writers/odf_odt/prepstyles.pyo
+${PYSITELIB}/docutils/writers/odf_odt/pygmentsformatter.py
+${PYSITELIB}/docutils/writers/odf_odt/pygmentsformatter.pyc
+${PYSITELIB}/docutils/writers/odf_odt/pygmentsformatter.pyo
+${PYSITELIB}/docutils/writers/odf_odt/styles.odt
+${PYSITELIB}/docutils/writers/pep_html/__init__.py
+${PYSITELIB}/docutils/writers/pep_html/__init__.pyc
+${PYSITELIB}/docutils/writers/pep_html/__init__.pyo
+${PYSITELIB}/docutils/writers/pep_html/pep.css
+${PYSITELIB}/docutils/writers/pep_html/template.txt
+${PYSITELIB}/docutils/writers/pseudoxml.py
+${PYSITELIB}/docutils/writers/pseudoxml.pyc
+${PYSITELIB}/docutils/writers/pseudoxml.pyo
+${PYSITELIB}/docutils/writers/s5_html/__init__.py
+${PYSITELIB}/docutils/writers/s5_html/__init__.pyc
+${PYSITELIB}/docutils/writers/s5_html/__init__.pyo
+${PYSITELIB}/docutils/writers/s5_html/themes/README.rst
+${PYSITELIB}/docutils/writers/s5_html/themes/big-black/__base__
+${PYSITELIB}/docutils/writers/s5_html/themes/big-black/framing.css
+${PYSITELIB}/docutils/writers/s5_html/themes/big-black/pretty.css
+${PYSITELIB}/docutils/writers/s5_html/themes/big-white/framing.css
+${PYSITELIB}/docutils/writers/s5_html/themes/big-white/pretty.css
+${PYSITELIB}/docutils/writers/s5_html/themes/default/framing.css
+${PYSITELIB}/docutils/writers/s5_html/themes/default/opera.css
+${PYSITELIB}/docutils/writers/s5_html/themes/default/outline.css
+${PYSITELIB}/docutils/writers/s5_html/themes/default/pretty.css
+${PYSITELIB}/docutils/writers/s5_html/themes/default/print.css
+${PYSITELIB}/docutils/writers/s5_html/themes/default/s5-core.css
+${PYSITELIB}/docutils/writers/s5_html/themes/default/slides.css
+${PYSITELIB}/docutils/writers/s5_html/themes/default/slides.js
+${PYSITELIB}/docutils/writers/s5_html/themes/medium-black/__base__
+${PYSITELIB}/docutils/writers/s5_html/themes/medium-black/pretty.css
+${PYSITELIB}/docutils/writers/s5_html/themes/medium-white/framing.css
+${PYSITELIB}/docutils/writers/s5_html/themes/medium-white/pretty.css
+${PYSITELIB}/docutils/writers/s5_html/themes/small-black/__base__
+${PYSITELIB}/docutils/writers/s5_html/themes/small-black/pretty.css
+${PYSITELIB}/docutils/writers/s5_html/themes/small-white/framing.css
+${PYSITELIB}/docutils/writers/s5_html/themes/small-white/pretty.css
+${PYSITELIB}/docutils/writers/xetex/__init__.py
+${PYSITELIB}/docutils/writers/xetex/__init__.pyc
+${PYSITELIB}/docutils/writers/xetex/__init__.pyo
diff --git a/py-docutils/distinfo b/py-docutils/distinfo
new file mode 100644
index 0000000000..6e35654c46
--- /dev/null
+++ b/py-docutils/distinfo
@@ -0,0 +1,6 @@
+$NetBSD: distinfo,v 1.33 2025/08/03 10:06:37 wiz Exp $
+
+BLAKE2s (docutils-0.22.tar.gz) = 20d7b105f2af0a2417ab1e3800120565ef7c3fc77da8dd4ebef852624b7b3eaa
+SHA512 (docutils-0.22.tar.gz) = 09082eb3bdd5f9b3e977d356740efee47725a50fbaca7bf35c7fddff06003c2b2177a38d160a9956f9e96261f881c0d870c0aa9fef84f90d0cac079ccc73669d
+Size (docutils-0.22.tar.gz) = 2277984 bytes
+SHA1 (patch-docutils_parsers_rst_states.py) = b1c6bcd67d117267847d79516711f3c61dd11c3a
diff --git a/py-docutils/patches/patch-docutils_parsers_rst_states.py b/py-docutils/patches/patch-docutils_parsers_rst_states.py
new file mode 100644
index 0000000000..15a69f2ff4
--- /dev/null
+++ b/py-docutils/patches/patch-docutils_parsers_rst_states.py
@@ -0,0 +1,60 @@
+$NetBSD$
+
+https://sourceforge.net/p/docutils/bugs/508/
+
+--- docutils/parsers/rst/states.py.orig 2025-07-29 14:37:37.894344600 +0000
++++ docutils/parsers/rst/states.py
+@@ -331,30 +331,42 @@ class RSTState(StateWS):
+ title_styles = self.memo.title_styles
+ parent_sections = self.parent.section_hierarchy()
+ # current section level: (0 document, 1 section, 2 subsection, ...)
+- mylevel = len(parent_sections)
+- # Determine the level of the new section:
++ oldlevel = len(parent_sections)
++ # new section level:
+ try: # check for existing title style
+- level = title_styles.index(style) + 1
++ newlevel = title_styles.index(style) + 1
+ except ValueError: # new title style
+ title_styles.append(style)
+- level = len(title_styles)
++ newlevel = len(title_styles)
+ # The new level must not be deeper than an immediate child
+ # of the current level:
+- if level > mylevel + 1:
+- styles = " ".join("/".join(s for s in style)
+- for style in title_styles)
++ if newlevel > oldlevel + 1:
++ styles = ' '.join('/'.join(style) for style in title_styles)
+ self.parent += self.reporter.severe(
+ 'Inconsistent title style:'
+- f' skip from level {mylevel} to {level}.',
++ f' skip from level {oldlevel} to {newlevel}.',
+ nodes.literal_block('', source),
+ nodes.paragraph('', f'Established title styles: {styles}'),
+ line=lineno)
+ return False
+ # Update parent state:
+- self.memo.section_level = level
+- if level <= mylevel:
++ self.memo.section_level = newlevel
++ if newlevel <= oldlevel:
+ # new section is sibling or higher up in the section hierarchy
+- self.parent = parent_sections[level-1].parent
++ new_parent = parent_sections[newlevel-1].parent
++ if new_parent is None:
++ styles = ' '.join('/'.join(style) for style in title_styles)
++ self.parent += self.reporter.severe(
++ f'Cannot skip from level {oldlevel} to {newlevel}.'
++ ' Current element has only {len(self.parent_sections)'
++ ' parent sections.'
++ ' (Mismatch of `memo.section_styles`,'
++ ' and the root node of a nested parser?)',
++ nodes.literal_block('', source),
++ nodes.paragraph('', f'Established title styles: {styles}'),
++ line=lineno)
++ return False
++ self.parent = new_parent
+ return True
+
+ def title_inconsistent(self, sourcetext, lineno):
Home |
Main Index |
Thread Index |
Old Index