<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>