<pre style='margin:0'>
Ken (kencu) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/8f58afc2f37e944f1b96b2bbdf21bbdf67b10258">https://github.com/macports/macports-ports/commit/8f58afc2f37e944f1b96b2bbdf21bbdf67b10258</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 8f58afc2f37 meson: Fix dylib install paths for typelib files
</span>8f58afc2f37 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 8f58afc2f37e944f1b96b2bbdf21bbdf67b10258
</span>Author: Evan Miller <emmiller@gmail.com>
AuthorDate: Sat Sep 11 21:21:17 2021 -0400

<span style='display:block; white-space:pre;color:#404040;'>    meson: Fix dylib install paths for typelib files
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    See: https://trac.macports.org/ticket/62391
</span><span style='display:block; white-space:pre;color:#404040;'>    See: https://trac.macports.org/ticket/61792
</span><span style='display:block; white-space:pre;color:#404040;'>    See: https://trac.macports.org/ticket/61934
</span>---
 devel/meson/Portfile                       | 11 +++++++---
 devel/meson/files/patch-meson-gnome.diff   | 34 ++++++++++++++++++++++++++++++
 devel/meson/files/patch-meson57-gnome.diff | 16 ++++++++++++++
 3 files changed, 58 insertions(+), 3 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/meson/Portfile b/devel/meson/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 9612fd3164f..1bb52fba603 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/meson/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/meson/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -57,6 +57,9 @@ patchfiles-append   patch-meson-32bit-apple.diff
</span> # https://github.com/mesonbuild/meson/pull/9211
 patchfiles-append   patch-meson-gcc-appleframeworks.diff
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# Compiled typelib files need their dylibs' full install path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append   patch-meson-gnome.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # disable warning not accepted by older clang versions
 # this manifests currently on systems up to 10.9
 # https://github.com/mesonbuild/meson/issues/8307
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -74,16 +77,18 @@ platform darwin 8 {
</span> 
     github.setup        mesonbuild meson 0.57.2
     github.tarball_from releases
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    revision            1
</span>     checksums           rmd160  8cf66e2b6cd4214cf6166d67fd4820de1f7776fb \
                         sha256  3a83e7b1c5de94fa991ec34d9b198d94f38ed699d3524cb0fdf3b99fd23d4cc5 \
                         size    1853721
 
     patchfiles-delete   patch-meson-clang-unknown-optimization-error.diff \
                         patch-meson-objc-accept-gnu89.diff \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                        patch-meson-32bit-apple.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        patch-meson-32bit-apple.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        patch-meson-gnome.diff
</span>     patchfiles-append   patch-meson57-tiger-no-rpath-fix.diff \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                        patch-meson-32bit-apple-tiger.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        patch-meson-32bit-apple-tiger.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        patch-meson57-gnome.diff
</span> }
 
 # add a search path for crossfiles in our prefix
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/meson/files/patch-meson-gnome.diff b/devel/meson/files/patch-meson-gnome.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..c6d16041b64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/meson/files/patch-meson-gnome.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,34 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Due to a presumed bug in MP's g-ir-scanner[1], generated typelib files often
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+point to the dylib's relative build path. E.g. running
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    g-ir-inspect --print-shlibs Pango
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Will print something like
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    shlib: ./pango/libpango-1.0.0.dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+At run-time, the GObject Introspection infrastructure won't be able to find the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+libpango dylib, and panic ensues. This patch ensures that the full install
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+paths are specified in the typelib file. You can ensure correct operation with
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+the above command, which should print something like
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    shlib: /opt/local/lib/libpango-1.0.0.dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+[1] https://trac.macports.org/ticket/62391
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- mesonbuild/modules/gnome.py.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ mesonbuild/modules/gnome.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -816,6 +816,13 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         for incdir in typelib_includes:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             typelib_cmd += ["--includedir=" + incdir]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        for target in girtargets:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            if isinstance(target, build.SharedLibrary):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                typelib_cmd += ["--shared-library=" +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        os.path.join(state.environment.get_prefix(),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                     state.environment.get_shared_lib_dir(),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                     target.filename)]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         typelib_target = self._make_typelib_target(state, typelib_output, typelib_cmd, generated_files, kwargs)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         self._devenv_append('GI_TYPELIB_PATH', os.path.join(state.environment.get_build_dir(), state.subdir))
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/meson/files/patch-meson57-gnome.diff b/devel/meson/files/patch-meson57-gnome.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..9ceabec04cf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/meson/files/patch-meson57-gnome.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,16 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- mesonbuild/modules/gnome.py.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ mesonbuild/modules/gnome.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -816,6 +816,13 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         for incdir in typelib_includes:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             typelib_cmd += ["--includedir=" + incdir]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        for target in girtargets:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            if isinstance(target, build.SharedLibrary):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                typelib_cmd += ["--shared-library=" +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        os.path.join(state.environment.get_prefix(),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                     state.environment.get_shared_lib_dir(),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                     target.filename)]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         typelib_target = self._make_typelib_target(state, typelib_output, typelib_cmd, kwargs)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         rv = [scan_target, typelib_target]
</span></pre><pre style='margin:0'>

</pre>