<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/f2b82f62cd4e30240b577df02f5489c17757af93">https://github.com/macports/macports-ports/commit/f2b82f62cd4e30240b577df02f5489c17757af93</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit f2b82f62cd4e30240b577df02f5489c17757af93
</span>Author: Christopher Nielsen <mascguy@github.com>
AuthorDate: Sun Feb 6 10:52:35 2022 -0500
<span style='display:block; white-space:pre;color:#404040;'> gobject-introspection-devel: new port for testing
</span>---
gnome/gobject-introspection-devel/Portfile | 84 ++++++++++++++++++++++
.../files/no-env-shebang.patch | 11 +++
.../files/patch-fix-rpath-gir-typelib.diff | 61 ++++++++++++++++
.../patch-fix-scanner-in-build-execution.diff | 65 +++++++++++++++++
.../files/patch-girscanner-tiger-no-rpath.diff | 32 +++++++++
.../files/patch-giscanner_girparser_py.diff | 50 +++++++++++++
.../files/use-AC_PROG_CPP.patch | 11 +++
7 files changed, 314 insertions(+)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gobject-introspection-devel/Portfile b/gnome/gobject-introspection-devel/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..caa6bd2fbdd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gobject-introspection-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,84 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup active_variants 1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name gobject-introspection-devel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+conflicts gobject-introspection
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set my_name gobject-introspection
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version 1.60.2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories gnome
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platforms darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# library under LGPL-2+, tools under GPL-2+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license {LGPL GPL-2+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers {mascguy @mascguy} openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description GObject Introspection
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description Gobject Introspection acts as a bridge between low-level C+GObject code and \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ a managed runtime (JavaScript, Python, Java, Lua, .NET, Scheme, etc.).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage https://wiki.gnome.org/Projects/GObjectIntrospection
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set branch [join [lrange [split ${version} .] 0 1] .]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites gnome:sources/${my_name}/${branch}/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+use_xz yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums rmd160 6455f1b5e4427b8f0a26efb94597a476ed9ca96e \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 ffdfe2368fb2e34a547898b01aac0520d52d8627fdeb1c306559bcb503ab5e9c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 1285000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set py_ver 3.9
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set py_ver_nodot [string map {. {}} ${py_ver}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_build port:pkgconfig \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:autoconf-archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib path:lib/pkgconfig/cairo.pc:cairo \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ path:lib/pkgconfig/glib-2.0.pc:glib2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:libffi \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${py_ver_nodot}-mako \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${py_ver_nodot}-markdown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_run bin:glibtool:libtool
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles no-env-shebang.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch-fix-rpath-gir-typelib.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch-fix-scanner-in-build-execution.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch-giscanner_girparser_py.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace "s|libcairo-gobject.2.dylib|${prefix}/lib/libcairo-gobject.2.dylib|g" ${worksrcpath}/configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace "s|@MP_LIB@|${prefix}/lib/|g" ${worksrcpath}/giscanner/shlibs.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.python ${prefix}/bin/python${py_ver}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Use autoreconf to sync with our build tools.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# The gtk-doc dependency is needed due to use of autoreconf -fvi, which
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# completely regenerates the build system, which uses gtkdocize.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# TODO: check if not using -i with autoreconf works; if so, gtk-doc can
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# be removed. Also check if running only autoconf and automake is
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# sufficient, rather than a full autoreconf.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_build-append port:gtk-doc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append use-AC_PROG_CPP.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+use_autoreconf yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+autoreconf.args -fvi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.args CC="${configure.cc} ${configure.cc_archflags}" V=1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platform darwin 8 {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # GObject introspection doesn't build with tiger's make, #32358
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_build-append port:gmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ build.cmd ${prefix}/bin/gmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Tiger does not support RPATHs at this time
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patchfiles-append patch-girscanner-tiger-no-rpath.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Tiger requires
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append --disable-dependency-tracking
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.type gnome
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.name ${my_name}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gobject-introspection-devel/files/no-env-shebang.patch b/gnome/gobject-introspection-devel/files/no-env-shebang.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..79ad321fbd3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gobject-introspection-devel/files/no-env-shebang.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Makefile-tools.am.orig 2018-09-29 11:39:49.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Makefile-tools.am 2018-09-29 11:40:20.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -9,7 +9,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tools/g-ir-tool-template.in \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ tools/meson.build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-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
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++TOOL_SUBSTITUTIONS = -e s,@libdir\@,$(libdir), -e s,@datarootdir\@,$(datarootdir), -e s,@PYTHON_CMD\@,$(PYTHON), -e s,@GIR_DIR\@,$(GIR_DIR),g
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ g-ir-scanner: tools/g-ir-tool-template.in _giscanner.la Makefile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(AM_V_GEN) sed $(TOOL_SUBSTITUTIONS) -e s,@TOOL_MODULE\@,scannermain, -e s,@TOOL_FUNCTION\@,scanner_main, $< > $@.tmp && mv $@.tmp $@
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gobject-introspection-devel/files/patch-fix-rpath-gir-typelib.diff b/gnome/gobject-introspection-devel/files/patch-fix-rpath-gir-typelib.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..3889583c658
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gobject-introspection-devel/files/patch-fix-rpath-gir-typelib.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,61 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- giscanner/shlibs.py.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ giscanner/shlibs.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19,7 +19,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import os
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-import sys
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import platform
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import re
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import subprocess
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -104,24 +103,40 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output = subprocess.check_output(args)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if isinstance(output, bytes):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ output = output.decode("utf-8", "replace")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ shlibs = resolve_from_ldd_output(libraries, output)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return list(map(sanitize_shlib_path, shlibs))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-def sanitize_shlib_path(lib):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ libdir = ''
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # for Darwin purposes, assume libraries get installed into
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # the first non-build library path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if platform.system() == 'Darwin':
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for lpath in options.library_paths:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if not lpath.startswith (os.getcwd()):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ libdir = lpath
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ break
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if libdir == '':
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # no way to resolve @rpath and the like, since we can't
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # make a reasonable assumpion of the install libdir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ libdir = '@MP_LIB@'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ libdir = libdir + '/'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ outlibs = []
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for lib in shlibs:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ outlibs.append(sanitize_shlib_path(lib,libdir))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return list (outlibs)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++def sanitize_shlib_path(lib,libdir):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Use absolute paths on OS X to conform to how libraries are usually
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # referenced on OS X systems, and file names everywhere else.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # In case we get relative paths on macOS (like @rpath) then we fall
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # back to the basename as well:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # https://gitlab.gnome.org/GNOME/gobject-introspection/issues/222
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if sys.platform == "darwin":
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if platform.system() == 'Darwin':
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if not os.path.isabs(lib):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return os.path.basename(lib)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ lib = os.path.basename(lib)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # prepend the libdir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ lib = libdir + lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return os.path.basename(lib)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ lib = os.path.basename(lib)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ def resolve_from_ldd_output(libraries, output):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patterns = {}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gobject-introspection-devel/files/patch-fix-scanner-in-build-execution.diff b/gnome/gobject-introspection-devel/files/patch-fix-scanner-in-build-execution.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..b16a7b5c49b
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gobject-introspection-devel/files/patch-fix-scanner-in-build-execution.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,65 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- giscanner/ccompiler.py.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ giscanner/ccompiler.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -184,7 +184,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if os.name == 'nt':
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ runtime_path_envvar = ['LIB', 'PATH']
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- runtime_path_envvar = ['LD_LIBRARY_PATH', 'DYLD_FALLBACK_LIBRARY_PATH']
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if sys.platform == "darwin":
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ runtime_path_envvar = ['DYLD_LIBRARY_PATH']
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ runtime_path_envvar = ['LD_LIBRARY_PATH']
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Search the current directory first
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # (This flag is not supported nor needed for Visual C++)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ args.append('-L.')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- giscanner/dumper.py.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ giscanner/dumper.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -236,8 +236,28 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ args.extend(sources)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- pkg_config_libs = pkgconfig.libs(self._packages,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- msvc_syntax=self._compiler.check_is_msvc())
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ pkg_config_libs, pkg_config_libs_only_L = pkgconfig.libs(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ self._packages, msvc_syntax=self._compiler.check_is_msvc())
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ this_L = [lib[len('-L'):] for lib in pkg_config_libs_only_L]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # uniquely merge pkg_config and options library paths
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ self._options.library_paths = list (set().union (self._options.library_paths,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ this_L))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # remove anything in LIBRARY_PATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ env_LIBRARY_PATH = os.environ['LIBRARY_PATH'].split(':') if \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ 'LIBRARY_PATH' in os.environ else []
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ self._options.library_paths = [l for l in self._options.library_paths
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if l not in env_LIBRARY_PATH]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if os.name == 'nt':
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ runtime_path_envvar = ['LIB', 'PATH']
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ runtime_path_envvar = ['LIBRARY_PATH']
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for envvar in runtime_path_envvar:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ os.environ[envvar] = os.pathsep.join \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (list (set().union (os.environ[envvar].split(':'), this_L))) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if envvar in os.environ else os.pathsep.join(this_L)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if not self._options.external_library:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ self._compiler.get_internal_link_flags(args,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- giscanner/pkgconfig.py.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ giscanner/pkgconfig.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -52,7 +52,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ def libs(packages, msvc_syntax=False, ignore_errors=True, command=None):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ flags = ['--msvc-syntax'] if msvc_syntax else []
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- flags.append('--libs')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ flags.append('--libs-only-l')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ flags.append('--libs-only-other')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ flags.extend(packages)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- out = check_output(flags, ignore_errors, command)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return shlex.split(out)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ out_libs_only_not_L = shlex.split(check_output(flags, ignore_errors, command))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ flags = ['--msvc-syntax'] if msvc_syntax else []
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ flags.append('--libs-only-L')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ flags.extend(packages)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ out_libs_only_L = shlex.split(check_output(flags, ignore_errors, command))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return out_libs_only_not_L, out_libs_only_L
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gobject-introspection-devel/files/patch-girscanner-tiger-no-rpath.diff b/gnome/gobject-introspection-devel/files/patch-girscanner-tiger-no-rpath.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..4d906ac6ba1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gobject-introspection-devel/files/patch-girscanner-tiger-no-rpath.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,32 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git giscanner/ccompiler.py giscanner/ccompiler.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index c003828..87f98d2 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- giscanner/ccompiler.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ giscanner/ccompiler.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -191,7 +191,7 @@ class CCompiler(object):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if not libtool:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # https://bugzilla.gnome.org/show_bug.cgi?id=625195
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- args.append('-Wl,-rpath,.')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# args.append('-Wl,-rpath,.')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Ensure libraries are always linked as we are going to use ldd to work
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # out their names later
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -206,12 +206,12 @@ class CCompiler(object):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ args.append('-libpath:' + library_path)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ args.append('-L' + library_path)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if os.path.isabs(library_path):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if libtool:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- args.append('-rpath')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- args.append(library_path)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- args.append('-Wl,-rpath,' + library_path)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# if os.path.isabs(library_path):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# if libtool:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# args.append('-rpath')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# args.append(library_path)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# args.append('-Wl,-rpath,' + library_path)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ runtime_paths.append(library_path)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gobject-introspection-devel/files/patch-giscanner_girparser_py.diff b/gnome/gobject-introspection-devel/files/patch-giscanner_girparser_py.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..bf538995435
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gobject-introspection-devel/files/patch-giscanner_girparser_py.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,50 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- giscanner/girparser.py.orig 2021-03-18 14:46:52.000000000 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ giscanner/girparser.py 2021-03-18 14:47:41.000000000 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -75,17 +75,17 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ def _find_first_child(self, node, name_or_names):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if isinstance(name_or_names, str):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- for child in node.getchildren():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for child in node:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if child.tag == name_or_names:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return child
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- for child in node.getchildren():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for child in node:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if child.tag in name_or_names:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return child
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return None
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ def _find_children(self, node, name):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return [child for child in node.getchildren() if child.tag == name]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return [child for child in node if child.tag == name]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ def _get_current_file(self):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if not self._filename_stack:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -103,7 +103,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ raise SystemExit("%s: Incompatible version %s (supported: %s)" %
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (self._get_current_file(), version, COMPATIBLE_GIR_VERSION))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- for node in root.getchildren():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for node in root:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if node.tag == _corens('include'):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ self._parse_include(node)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ elif node.tag == _corens('package'):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -144,7 +144,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ parser_methods[_corens('constant')] = self._parse_constant
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ parser_methods[_corens('function')] = self._parse_function
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- for node in ns.getchildren():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for node in ns:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ method = parser_methods.get(node.tag)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if method is not None:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ method(node)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -395,7 +395,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ def _parse_fields(self, node, obj):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ res = []
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ names = (_corens('field'), _corens('record'), _corens('union'), _corens('callback'))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- for child in node.getchildren():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for child in node:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if child.tag in names:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fieldobj = self._parse_field(child, obj)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ res.append(fieldobj)
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gobject-introspection-devel/files/use-AC_PROG_CPP.patch b/gnome/gobject-introspection-devel/files/use-AC_PROG_CPP.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..6c25b759a79
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gobject-introspection-devel/files/use-AC_PROG_CPP.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+CPP needs to be set since it is used by AM_CHECK_PYTHON_HEADERS.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- configure.ac.orig 2019-06-16 04:14:20.000000000 +1000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ configure.ac 2021-03-16 20:21:17.000000000 +1100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -47,6 +47,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Checks for programs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AC_PROG_CC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++AC_PROG_CPP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AM_PROG_CC_C_O
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AC_PROG_MKDIR_P
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span></pre><pre style='margin:0'>
</pre>