summaryrefslogtreecommitdiff
path: root/app-accessibility/caribou/files/caribou-drop_gir_patch.patch
blob: bbcf1ddee9e5088a1086c60dee610a88892e5792 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
From c52ce71c49dc8d6109a58d16cc8d491d7bd1d781 Mon Sep 17 00:00:00 2001
From: Rico Tzschichholz <ricotz@ubuntu.com>
Date: Wed, 20 Jan 2021 22:59:49 +0100
Subject: [PATCH] Stop patching the generated GIR

---
 libcaribou/Makefile.am |  8 ++-----
 tools/Makefile.am      |  1 -
 tools/fix_gir.py       | 53 ------------------------------------------
 3 files changed, 2 insertions(+), 60 deletions(-)
 delete mode 100755 tools/fix_gir.py

diff --git a/libcaribou/Makefile.am b/libcaribou/Makefile.am
index 05f2774..0634374 100644
--- a/libcaribou/Makefile.am
+++ b/libcaribou/Makefile.am
@@ -7,7 +7,7 @@ libcaribou_la_VALAFLAGS = \
 	--pkg xtst --pkg gee-0.8 --pkg gdk-x11-3.0 --pkg libxml-2.0 \
 	--pkg libxklavier --pkg external-libs \
 	--internal-vapi caribou-internals-1.0.vapi \
-	--library caribou-1.0 --gir _Caribou-1.0.gir \
+	--library caribou-1.0 --gir Caribou-1.0.gir \
 	--symbols libcaribou.symbols \
 	$(VALAFLAGS)
 
@@ -63,9 +63,6 @@ gir_DATA = Caribou-1.0.gir
 typelibdir = $(libdir)/girepository-1.0
 typelib_DATA = Caribou-1.0.typelib
 
-Caribou-1.0.gir: _Caribou-1.0.gir
-	$(AM_V_GEN)$(PYTHON) -B $(top_srcdir)/tools/fix_gir.py $< > $@
-
 Caribou-1.0.typelib: Caribou-1.0.gir
 	@INTROSPECTION_COMPILER@ --shared-library=libcaribou.so.0 -o $@ $^
 
@@ -81,8 +78,7 @@ CLEANFILES = \
 	caribou-1.0.vapi \
 	caribou-internals-1.0.vapi \
 	Caribou-1.0.typelib \
-	Caribou-1.0.gir \
-	_Caribou-1.0.gir
+	Caribou-1.0.gir
 
 DISTCLEANFILES = \
 	caribou-1.0.pc
diff --git a/tools/Makefile.am b/tools/Makefile.am
index 3a9bcdb..89f753d 100644
--- a/tools/Makefile.am
+++ b/tools/Makefile.am
@@ -1,5 +1,4 @@
 EXTRA_DIST = \
-	fix_gir.py \
 	make_schema.py \
 	convert_cldr.py \
 	basic.xsl
diff --git a/tools/fix_gir.py b/tools/fix_gir.py
deleted file mode 100755
index 182d108..0000000
--- a/tools/fix_gir.py
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/usr/bin/python
-
-from xml.dom import minidom
-
-def purge_white_space_and_fix_namespace(node, indent=0):
-    if getattr(node, "tagName", None) == "namespace":
-        name = node.getAttribute("name")
-        node.setAttribute("name", name.lstrip('_'))
-    for child in [c for c in node.childNodes]:
-        if child.nodeType == node.TEXT_NODE or \
-                getattr(child, "tagName", None) == "annotation":
-            node.removeChild(child)
-            continue
-        purge_white_space_and_fix_namespace(child, indent+1)
-
-def find_ancestor(node, name):
-    if getattr(node, "tagName", None) == name:
-        return node
-    parent = getattr(node, "parentNode", None)
-    if not parent:
-        return None
-    return find_ancestor(parent, name)
-
-def fix_vfuncs(dom):
-    for f in dom.getElementsByTagName("field"):
-        callbacks = f.getElementsByTagName("callback")
-
-        record = find_ancestor(f, "record")
-        if not record:
-            continue
-
-        name = record.getAttribute("name")
-        cname = record.getAttribute("c:type")
-
-        assert(name.endswith("Class") or name.endswith("Iface"))
-        assert(cname.endswith("Class") or name.endswith("Iface"))
-
-        if len(callbacks) == 2:
-            callbacks[-1].parentNode.removeChild(callbacks[-1])
-
-if __name__ == "__main__":
-    import sys
-
-    if len(sys.argv) != 2:
-        print("supply a gir file")
-        sys.exit(1)
-
-    dom = minidom.parse(sys.argv[-1])
-
-    purge_white_space_and_fix_namespace(dom)
-    fix_vfuncs(dom)
-
-    print(dom.toprettyxml(indent=" ", newl="\n"))
-- 
GitLab