[Spice-devel] [PATCH 1/3] add check for pyparsing

Christophe Fergeau cfergeau at redhat.com
Wed Jun 22 02:09:02 PDT 2011


Check both in configure.ac (after checking if we need to rebuild
the marshalling files) and in the python script using pyparsing
(for people modifying .proto files in tarballs)
---
 configure.ac                   |   10 ++++++++++
 python_modules/spice_parser.py |   11 ++++++++---
 2 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/configure.ac b/configure.ac
index 18209bf..c058edd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -214,6 +214,16 @@ AC_SUBST(CELT051_LIBS)
 AC_SUBST(CELT051_LIBDIR)
 SPICE_REQUIRES+=" celt051 >= 0.5.1.1"
 
+if test ! -e client/generated_marshallers.cpp; then
+AC_MSG_CHECKING([for pyparsing python module])
+echo "import pyparsing" | python - >/dev/null 2&>1
+if test $? -ne 0 ; then
+    AC_MSG_RESULT([not found])
+    AC_MSG_ERROR([pyparsing python module is required to compile this package])
+fi
+AC_MSG_RESULT([found])
+fi
+
 if test "$os_linux" = yes; then
 	PKG_CHECK_MODULES(ALSA, alsa)
 	AC_SUBST(ALSA_CFLAGS)
diff --git a/python_modules/spice_parser.py b/python_modules/spice_parser.py
index 43e930c..1d775bf 100644
--- a/python_modules/spice_parser.py
+++ b/python_modules/spice_parser.py
@@ -1,6 +1,11 @@
-from pyparsing import Literal, CaselessLiteral, Word, OneOrMore, ZeroOrMore, \
-        Forward, delimitedList, Group, Optional, Combine, alphas, nums, restOfLine, cStyleComment, \
-        alphanums, ParseException, ParseResults, Keyword, StringEnd, replaceWith
+try:
+    from pyparsing import Literal, CaselessLiteral, Word, OneOrMore, ZeroOrMore, \
+            Forward, delimitedList, Group, Optional, Combine, alphas, nums, restOfLine, cStyleComment, \
+            alphanums, ParseException, ParseResults, Keyword, StringEnd, replaceWith
+except ImportError:
+    print "Module pyparsing not found."
+    exit(1)
+
 
 import ptypes
 import sys
-- 
1.7.5.4



More information about the Spice-devel mailing list