From 8426304b67a0b0a5630db500abf740b0e0b9e43c Mon Sep 17 00:00:00 2001 From: Justus Winter Date: Wed, 8 Jun 2016 16:51:35 +0200 Subject: [PATCH] python: Fix stripping deprecated functionality. * lang/python/Makefile.am (gpgme.h): Add script as input. * lang/python/gpgme-h-clean.py (deprec_func): Also match struct members. (line_break): Fix matching on struct members. Signed-off-by: Justus Winter --- lang/python/Makefile.am | 2 +- lang/python/gpgme-h-clean.py | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/lang/python/Makefile.am b/lang/python/Makefile.am index 18f77bb7..a9b39e72 100644 --- a/lang/python/Makefile.am +++ b/lang/python/Makefile.am @@ -20,7 +20,7 @@ EXTRA_DIST = README.rst SUBDIRS = tests # Cleanup gpgme.h from deprecated functions and typedefs. -gpgme.h: ../../src/gpgme.h +gpgme.h: ../../src/gpgme.h $(srcdir)/gpgme-h-clean.py $(PYTHON) $(srcdir)/gpgme-h-clean.py $< >$@ # For VPATH builds we need to copy some files because Python's diff --git a/lang/python/gpgme-h-clean.py b/lang/python/gpgme-h-clean.py index 261e7b64..b7052ff6 100755 --- a/lang/python/gpgme-h-clean.py +++ b/lang/python/gpgme-h-clean.py @@ -1,4 +1,6 @@ #!/usr/bin/env python3 + +# Copyright (C) 2016 g10 Code GmbH # Copyright (C) 2004,2008 Igor Belyi # # This library is free software; you can redistribute it and/or @@ -21,8 +23,11 @@ if len(sys.argv) < 2: sys.stderr.write("Usage: %s gpgme.h\n" % sys.argv[0]) sys.exit(1) -deprec_func=re.compile('^(.*typedef.*|.*\(.*\))\s*_GPGME_DEPRECATED;\s*',re.S) -line_break=re.compile(';|\\$|\\x0c|^\s*#'); +deprec_func = re.compile(r'^(.*typedef.*|.*\(.*\)|[^#]+\s+.+)' + + r'\s*_GPGME_DEPRECATED(_OUTSIDE_GPGME)?;\s*', + re.S) +line_break = re.compile(';|\\$|\\x0c|^\s*#|{'); + try: gpgme = open(sys.argv[1]) tmp = gpgme.readline()