Control: tags 995123 +patch

On 2021-09-26, Dmitry Shachnev wrote:
> On Sun, Sep 26, 2021 at 07:37:13PM +0200, Helmut Grohne wrote:
>> cyrus-sasl2 fails to build from source in unstable on amd64. A build
>> ends as follows:
...
>> It built fine yesterday and today sphinx got uploaded to unstable. That
>> seems like a very plausible reason, right? I've put Dmitry in the loop.
>
> Yes, it is caused by a change in Sphinx.
>
> CyrusManualPageTranslator inherits from Sphinx' ManualPageTranslator and
> calls the super-class constructor as follows:
>
>   BaseTranslator.__init__(self, builder, *args, **kwds)
>
> However, starting with Sphinx 2.0 it should be called with document as the
> first argument and builder as the second one [1]. The old way of calling it
> raised a warning for some time and was completely removed in Sphinx 4.0.

I tested the attached patch which seems to fix this.

Next... fixing the outstanding reproducible builds issues...

live well,
  vagrant
From 7570e73df1dbf6eea0f1ef07ff76bc2cd01eae6e Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagr...@reproducible-builds.org>
Date: Mon, 27 Sep 2021 01:21:20 +0000
Subject: [PATCH 1/3] Fix build with sphinx 4+ (Closes: #995123).

The positional arguments changed order in newer sphinx versions.
---
 docsrc/exts/sphinxlocal/writers/manpage.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/docsrc/exts/sphinxlocal/writers/manpage.py b/docsrc/exts/sphinxlocal/writers/manpage.py
index e8e9c3a..c33ba61 100644
--- a/docsrc/exts/sphinxlocal/writers/manpage.py
+++ b/docsrc/exts/sphinxlocal/writers/manpage.py
@@ -34,7 +34,7 @@ class CyrusManualPageWriter(ManualPageWriter):
         self.builder = builder
 
     def translate(self):
-        visitor = CyrusManualPageTranslator(self.builder, self.document)
+        visitor = CyrusManualPageTranslator(self.document, self.builder)
         self.visitor = visitor
         self.document.walkabout(visitor)
         self.output = visitor.astext()
@@ -45,8 +45,8 @@ class CyrusManualPageTranslator(BaseTranslator):
     Custom translator.
     """
 
-    def __init__(self, builder, *args, **kwds):
-        BaseTranslator.__init__(self, builder, *args, **kwds)
+    def __init__(self, document, builder, *args, **kwds):
+        BaseTranslator.__init__(self, document, builder, *args, **kwds)
         self.builder = builder
 
         self.in_productionlist = 0
-- 
2.30.2

Attachment: signature.asc
Description: PGP signature

Reply via email to