gnu: sphinxbase: Fix building.
authorEfraim Flashner <efraim@flashner.co.il>
Wed, 29 Jul 2020 09:45:36 +0000 (12:45 +0300)
committerEfraim Flashner <efraim@flashner.co.il>
Wed, 29 Jul 2020 09:45:36 +0000 (12:45 +0300)
* gnu/packages/speech.scm (sphinxbase)[source]: Add patch.
* gnu/packages/patches/sphinxbase-fix-doxygen.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.

gnu/local.mk
gnu/packages/patches/sphinxbase-fix-doxygen.patch [new file with mode: 0644]
gnu/packages/speech.scm

index 83727b6..dc9ef74 100644 (file)
@@ -1541,6 +1541,7 @@ dist_patch_DATA =                                         \
   %D%/packages/patches/slim-display.patch                      \
   %D%/packages/patches/snappy-add-O2-flag-in-CmakeLists.txt.patch      \
   %D%/packages/patches/sooperlooper-build-with-wx-30.patch     \
+  %D%/packages/patches/sphinxbase-fix-doxygen.patch            \
   %D%/packages/patches/sssd-fix-samba.patch                    \
   %D%/packages/patches/steghide-fixes.patch                    \
   %D%/packages/patches/suitesparse-mongoose-cmake.patch                \
diff --git a/gnu/packages/patches/sphinxbase-fix-doxygen.patch b/gnu/packages/patches/sphinxbase-fix-doxygen.patch
new file mode 100644 (file)
index 0000000..c8ebc52
--- /dev/null
@@ -0,0 +1,24 @@
+https://github.com/cmusphinx/sphinxbase/commit/6989c52a3fb9473fd61326e548440fff887525c2
+
+commit 6989c52a3fb9473fd61326e548440fff887525c2
+Author: Michel Zou <xantares09@hotmail.com>
+Date:   Thu Feb 6 07:02:06 2020 +0100
+
+    Fix doxy2swig.py IndexError: list index out of range
+
+diff --git a/doc/doxy2swig.py b/doc/doxy2swig.py
+index 5589b0d..a01c4b1 100644
+--- a/doc/doxy2swig.py
++++ b/doc/doxy2swig.py
+@@ -299,7 +299,10 @@ class Doxy2SWIG:
+             name = first['name'].firstChild.data
+             for n in node.getElementsByTagName('param'):
+-              arg_type = n.getElementsByTagName('type')[0]
++              elts = n.getElementsByTagName('type')
++              if len(elts) == 0:
++                  continue
++              arg_type = elts[0]
+               ref = self.get_specific_nodes(arg_type, ('ref'))
+               if 'ref' in ref:
+                 type_name = ref['ref'].firstChild.data
index c9c1eaa..fc87a19 100644 (file)
@@ -6,6 +6,7 @@
 ;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
 ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -497,7 +498,8 @@ control.")
                            "sphinxbase/" version "/"
                            "sphinxbase-" version ".tar.gz"))
        (sha256
-        (base32 "0vr4k8pv5a8nvq9yja7kl13b5lh0f9vha8fc8znqnm8bwmcxnazp"))))
+        (base32 "0vr4k8pv5a8nvq9yja7kl13b5lh0f9vha8fc8znqnm8bwmcxnazp"))
+       (patches (search-patches "sphinxbase-fix-doxygen.patch"))))
     (build-system gnu-build-system)
     (arguments
      `(#:parallel-tests? #f))           ;tests fail otherwise