summaryrefslogtreecommitdiffstats
path: root/meta/recipes-gnome/gobject-introspection/gobject-introspection
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-gnome/gobject-introspection/gobject-introspection')
-rw-r--r--meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-configure.ac-make-GIR_DIR-configurable.patch68
-rw-r--r--meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-g-ir-tools-respect-gir_dir_prefix.patch76
2 files changed, 144 insertions, 0 deletions
diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-configure.ac-make-GIR_DIR-configurable.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-configure.ac-make-GIR_DIR-configurable.patch
new file mode 100644
index 0000000000..e0402f8f49
--- /dev/null
+++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-configure.ac-make-GIR_DIR-configurable.patch
@@ -0,0 +1,68 @@
1configure.ac: make GIR_DIR configurable
2
3Some .gir files such as GLib-2.0.gir are arch related which contain such
4as lengths of pointers that they are different for 64 and 32 bit target.
5It causes install file conflicts for multilib when intall
6gobject-introspection and lib32-gobject-introspection both.
7
8Add configure option 'with-gir-dir-prefix' for autotools to make .gir
9could be installed to a configured path such as ${libdir}. And update
10girdir in .pc files as well.
11
12Upstream-Status: Accepted [https://gitlab.gnome.org/GNOME/gobject-introspection/commit/3301c7e]
13
14Signed-off-by: Kai Kang <kai.kang@windriver.com>
15---
16 configure.ac | 7 +++++--
17 gobject-introspection-1.0.pc.in | 2 +-
18 gobject-introspection-no-export-1.0.pc.in | 2 +-
19 3 files changed, 7 insertions(+), 4 deletions(-)
20
21diff --git a/configure.ac b/configure.ac
22index b4294c57..60506947 100644
23--- a/configure.ac
24+++ b/configure.ac
25@@ -114,9 +114,12 @@ GIR_SUFFIX="gir-1.0"
26 AC_SUBST(GIR_SUFFIX)
27 AC_DEFINE_UNQUOTED(GIR_SUFFIX, "$GIR_SUFFIX", [Name of the gir directory])
28
29-GIR_DIR="$EXPANDED_DATADIR/$GIR_SUFFIX"
30+AC_ARG_WITH([gir-dir-prefix],
31+ [AS_HELP_STRING([--with-gir-dir-prefix], [Directory prefix for gir installation])],
32+ [GIR_DIR_PREFIX="$withval"], [GIR_DIR_PREFIX="$EXPANDED_DATADIR"])
33+GIR_DIR="$GIR_DIR_PREFIX/$GIR_SUFFIX"
34 AC_SUBST(GIR_DIR)
35-AC_DEFINE_UNQUOTED(GIR_DIR, "$GIR_DIR", [Director prefix for gir installation])
36+AC_DEFINE_UNQUOTED(GIR_DIR, "$GIR_DIR", [Directory prefix for gir installation])
37
38 PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.58.0])
39
40diff --git a/gobject-introspection-1.0.pc.in b/gobject-introspection-1.0.pc.in
41index a08b5d27..3409856c 100644
42--- a/gobject-introspection-1.0.pc.in
43+++ b/gobject-introspection-1.0.pc.in
44@@ -10,7 +10,7 @@ g_ir_scanner=${bindir}/g-ir-scanner
45 g_ir_compiler=${bindir}/g-ir-compiler@EXEEXT@
46 g_ir_generate=${bindir}/g-ir-generate@EXEEXT@
47 gidatadir=${datadir}/gobject-introspection-1.0
48-girdir=${datadir}/gir-1.0
49+girdir=@GIR_DIR@
50 typelibdir=${libdir}/girepository-1.0
51
52 Cflags: -I${includedir}/gobject-introspection-1.0 @FFI_PC_CFLAGS@
53diff --git a/gobject-introspection-no-export-1.0.pc.in b/gobject-introspection-no-export-1.0.pc.in
54index d214d22d..745aaade 100644
55--- a/gobject-introspection-no-export-1.0.pc.in
56+++ b/gobject-introspection-no-export-1.0.pc.in
57@@ -9,7 +9,7 @@ includedir=@includedir@
58 g_ir_scanner=${bindir}/g-ir-scanner
59 g_ir_compiler=${bindir}/g-ir-compiler@EXEEXT@
60 g_ir_generate=${bindir}/g-ir-generate@EXEEXT@
61-girdir=${datadir}/gir-1.0
62+girdir=@GIR_DIR@
63 typelibdir=${libdir}/girepository-1.0
64
65 Cflags: -I${includedir}/gobject-introspection-1.0 @FFI_PC_CFLAGS@
66--
672.17.0
68
diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-g-ir-tools-respect-gir_dir_prefix.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-g-ir-tools-respect-gir_dir_prefix.patch
new file mode 100644
index 0000000000..5e4176725c
--- /dev/null
+++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0002-g-ir-tools-respect-gir_dir_prefix.patch
@@ -0,0 +1,76 @@
1g-ir-tools: respect gir_dir_prefix
2
3Configure option gir_dir_prefix is used to configure install dir for
4.gir files, so add its value to include file search paths.
5
6Upstream-Status: Accepted [https://gitlab.gnome.org/GNOME/gobject-introspection/commit/3fe995a]
7
8Signed-off-by: Kai Kang <kai.kang@windriver.com>
9---
10 Makefile-tools.am | 2 +-
11 giscanner/transformer.py | 1 +
12 tests/warn/warningtester.py | 1 +
13 tools/g-ir-tool-template.in | 10 ++++++++++
14 6 files changed, 15 insertions(+), 2 deletions(-)
15
16diff --git a/Makefile-tools.am b/Makefile-tools.am
17index c70d9850..fcaf1e01 100644
18--- a/Makefile-tools.am
19+++ b/Makefile-tools.am
20@@ -9,7 +9,7 @@ EXTRA_DIST += \
21 tools/g-ir-tool-template.in \
22 tools/meson.build
23
24-TOOL_SUBSTITUTIONS = -e s,@libdir\@,$(libdir), -e s,@datarootdir\@,$(datarootdir), -e s,@PYTHON_CMD\@,\/usr\/bin\/env\ $(PYTHON),
25+TOOL_SUBSTITUTIONS = -e s,@libdir\@,$(libdir), -e s,@datarootdir\@,$(datarootdir), -e s,@PYTHON_CMD\@,\/usr\/bin\/env\ $(PYTHON), -e s,@GIR_DIR\@,$(GIR_DIR),g
26
27 g-ir-scanner: tools/g-ir-tool-template.in _giscanner.la Makefile
28 $(AM_V_GEN) sed $(TOOL_SUBSTITUTIONS) -e s,@TOOL_MODULE\@,scannermain, -e s,@TOOL_FUNCTION\@,scanner_main, $< > $@.tmp && mv $@.tmp $@
29diff --git a/giscanner/transformer.py b/giscanner/transformer.py
30index 335e229f..2c412339 100644
31--- a/giscanner/transformer.py
32+++ b/giscanner/transformer.py
33@@ -184,6 +184,7 @@ None."""
34 def _get_gi_data_dirs(self):
35 data_dirs = utils.get_system_data_dirs()
36 data_dirs.append(DATADIR)
37+ data_dirs.append(GIRDIR)
38 if os.name != 'nt':
39 # For backwards compatibility, was always unconditionally added to the list.
40 data_dirs.append('/usr/share')
41diff --git a/tests/warn/warningtester.py b/tests/warn/warningtester.py
42index f17c8889..be5aec13 100644
43--- a/tests/warn/warningtester.py
44+++ b/tests/warn/warningtester.py
45@@ -18,6 +18,7 @@ sys.path.insert(0, path)
46
47 # Not correct, but enough to get the tests going uninstalled
48 builtins.__dict__['DATADIR'] = path
49+builtins.__dict__['GIRDIR'] = ''
50
51 from giscanner.annotationparser import GtkDocCommentBlockParser
52 from giscanner.ast import Include, Namespace
53diff --git a/tools/g-ir-tool-template.in b/tools/g-ir-tool-template.in
54index ed33d16b..b9cf0911 100755
55--- a/tools/g-ir-tool-template.in
56+++ b/tools/g-ir-tool-template.in
57@@ -60,6 +60,16 @@ if not os.path.isdir(os.path.join(datadir, 'gir-1.0')):
58
59 builtins.__dict__['DATADIR'] = datadir
60
61+# Respect gir_dir_prefix for meson and autotools
62+girdir = ''
63+# for meson
64+if '@gir_dir_prefix@' and not '@gir_dir_prefix@'.startswith('@'):
65+ girdir = os.path.abspath(os.path.join(filedir, '..', '@gir_dir_prefix@'))
66+# for autotools
67+elif '@GIR_DIR@' and not '@GIR_DIR@'.startswith('@'):
68+ girdir = os.path.dirname(os.path.abspath('@GIR_DIR@'))
69+builtins.__dict__['GIRDIR'] = girdir
70+
71 # Again, relative paths first so that the installation prefix is relocatable
72 pylibdir = os.path.abspath(os.path.join(filedir, '..', 'lib', 'gobject-introspection'))
73
74--
752.17.0
76