49 lines
1.9 KiB
Diff
49 lines
1.9 KiB
Diff
From 8850e4d0da76a85c5f9926cd40e148e0b29bddac Mon Sep 17 00:00:00 2001
|
|
From: Phaedrus Leeds <mwleeds@protonmail.com>
|
|
Date: Thu, 16 Dec 2021 10:50:10 -0800
|
|
Subject: [PATCH] Fix runtime error when using pyparsing >= 3.0.2
|
|
|
|
Ever since this commit
|
|
(https://github.com/pyparsing/pyparsing/commit/4ab17bb55)
|
|
variant-schema-compiler has failed to execute when used by Flatpak like
|
|
this:
|
|
$ variant-schema-compiler/variant-schema-compiler --outfile-header
|
|
common/flatpak-variant-private.h --outfile
|
|
common/flatpak-variant-impl-private.h --prefix var
|
|
./data/flatpak-variants.gv
|
|
|
|
For some reason our use of leaveWhitespace() to ensure that a named type
|
|
has a ' right before its name no longer works. But fortunately pyparsing
|
|
has a Combine() which does exactly what we want.
|
|
|
|
See https://github.com/flatpak/flatpak/issues/4534
|
|
|
|
Fixes https://gitlab.gnome.org/alexl/variant-schema-compiler/-/issues/4
|
|
|
|
Reference:https://gitlab.gnome.org/alexl/variant-schema-compiler/-/commit/8850e4d0da76a85c5f9926cd40e148e0b29bddac
|
|
|
|
diff --git a/variant-schema-compiler/variant-schema-compiler b/variant-schema-compiler/variant-schema-compiler
|
|
index 8b54232..7807f7c 100755
|
|
--- a/variant-schema-compiler/variant-schema-compiler
|
|
+++ b/variant-schema-compiler/variant-schema-compiler
|
|
@@ -4,6 +4,7 @@ import argparse
|
|
import sys
|
|
import os
|
|
from pyparsing import *
|
|
+pyparsing_version = tuple(int(x) for x in __version__.split('.'))
|
|
|
|
typename_prefix = ""
|
|
funcname_prefix = ""
|
|
@@ -1741,6 +1742,8 @@ def handleNameableType(toks):
|
|
return type
|
|
|
|
nameableType = (Optional((Suppress("'") + ident).leaveWhitespace()) + (arrayType ^ maybeType ^ dictType ^ structType)).setParseAction(handleNameableType)
|
|
+if pyparsing_version >= (3, 0, 4):
|
|
+ nameableType = (Optional((Suppress("'") + ident)) + (arrayType ^ maybeType ^ dictType ^ structType)).setParseAction(handleNameableType)
|
|
|
|
typeSpec <<= basicType ^ variantType ^ namedType ^ nameableType
|
|
|
|
--
|
|
2.30.0
|
|
|