python: Fix stripping deprecated functionality.
authorJustus Winter <justus@g10code.com>
Wed, 8 Jun 2016 14:51:35 +0000 (16:51 +0200)
committerJustus Winter <justus@g10code.com>
Wed, 8 Jun 2016 15:12:00 +0000 (17:12 +0200)
* 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 <justus@g10code.com>
lang/python/Makefile.am
lang/python/gpgme-h-clean.py

index 18f77bb..a9b39e7 100644 (file)
@@ -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
index 261e7b6..b7052ff 100755 (executable)
@@ -1,4 +1,6 @@
 #!/usr/bin/env python3
+
+# Copyright (C) 2016 g10 Code GmbH
 # Copyright (C) 2004,2008 Igor Belyi <belyi@users.sourceforge.net>
 #
 #    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()