<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/384e7502afd4cd07760715f2b16a810849d5ad66">https://github.com/macports/macports-ports/commit/384e7502afd4cd07760715f2b16a810849d5ad66</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 384e7502afd4cd07760715f2b16a810849d5ad66
</span>Author: Ken Cunningham <kencu@macports.org>
AuthorDate: Sun Oct 18 14:57:25 2020 -0700
<span style='display:block; white-space:pre;color:#404040;'> meson: add workaround for Tiger
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> and peg meson at 55.3 on Tiger as updates are likely fragile
</span><span style='display:block; white-space:pre;color:#404040;'> will update meson occasionally, as we do for libuv on Tiger
</span>---
devel/meson/Portfile | 14 ++++
.../files/patch-meson55-tiger-no-rpath-fix.diff | 91 ++++++++++++++++++++++
2 files changed, 105 insertions(+)
<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 f8702a69b9b..1710f0c7e05 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;'>@@ -55,6 +55,20 @@ if {${os.platform} eq "darwin" && ${os.major} <= 10} {
</span> # https://github.com/mesonbuild/meson/issues/6187
patchfiles-append patch-meson-32bit-apple.diff
<span style='display:block; white-space:pre;background:#e0ffe0;'>+platform darwin 8 {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # this meson is modified for systems without @rpath support
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # and is therefore fragile. Keep pegged, and update occasionally
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.setup mesonbuild meson 0.55.3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ revision 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ checksums rmd160 b1e7f12184a7a61ae8bfa7ed210af8020d531009 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 6bed2a25a128bbabe97cf40f63165ebe800e4fcb46db8ab7ef5c2b5789f092a5 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 1740465
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patchfiles-append patch-meson55-tiger-no-rpath-fix.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # add a search path for crossfiles in our prefix
patchfiles-append patch-meson-search-prefix-for-cross-files.diff
post-patch {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/meson/files/patch-meson55-tiger-no-rpath-fix.diff b/devel/meson/files/patch-meson55-tiger-no-rpath-fix.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..3de6a467655
</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-meson55-tiger-no-rpath-fix.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,91 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git mesonbuild/build.py mesonbuild/build.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index a06979c..8b8d6ca 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- mesonbuild/build.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ mesonbuild/build.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -103,7 +103,7 @@ known_jar_kwargs = known_exe_kwargs | {'main_class'}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @lru_cache(maxsize=None)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ def get_target_macos_dylib_install_name(ld) -> str:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- name = ['@rpath/', ld.prefix, ld.name]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ name = ['@loader_path/', ld.prefix, ld.name]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if ld.soversion is not None:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ name.append('.' + ld.soversion)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ name.append('.dylib')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git mesonbuild/linkers.py mesonbuild/linkers.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index fe1441e..841fafa 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- mesonbuild/linkers.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ mesonbuild/linkers.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -678,7 +678,7 @@ class AppleDynamicLinker(PosixDynamicLinkerMixin, DynamicLinker):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ is_shared_module: bool) -> T.List[str]:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if is_shared_module:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return []
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- install_name = ['@rpath/', prefix, shlib_name]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ install_name = ['@loader_path/', prefix, shlib_name]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if soversion is not None:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ install_name.append('.' + soversion)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ install_name.append('.dylib')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -701,8 +701,8 @@ class AppleDynamicLinker(PosixDynamicLinkerMixin, DynamicLinker):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ all_paths = mesonlib.OrderedSet([os.path.join(origin_placeholder, p) for p in processed_rpaths])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if build_rpath != '':
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ all_paths.add(build_rpath)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- for rp in all_paths:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- args.extend(self._apply_prefix('-rpath,' + rp))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ #KEN for rp in all_paths:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ #KEN args.extend(self._apply_prefix('-rpath,' + rp))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return (args, set())
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git mesonbuild/modules/gnome.py mesonbuild/modules/gnome.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 1faa128..4ef1b07 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- mesonbuild/modules/gnome.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ mesonbuild/modules/gnome.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -277,8 +277,8 @@ class GnomeModule(ExtensionModule):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if isinstance(lib, build.SharedLibrary):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libdir = os.path.join(state.environment.get_build_dir(), state.backend.get_target_dir(lib))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ link_command.append('-L' + libdir)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if include_rpath:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- link_command.append('-Wl,-rpath,' + libdir)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ #KEN if include_rpath:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ #KEN link_command.append('-Wl,-rpath,' + libdir)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends.append(lib)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Needed for the following binutils bug:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # https://github.com/mesonbuild/meson/issues/1911
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -287,8 +287,8 @@ class GnomeModule(ExtensionModule):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ for d in state.backend.determine_rpath_dirs(lib):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ d = os.path.join(state.environment.get_build_dir(), d)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ link_command.append('-L' + d)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if include_rpath:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- link_command.append('-Wl,-rpath,' + d)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ #KEN if include_rpath:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ #KEN link_command.append('-Wl,-rpath,' + d)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if use_gir_args and self._gir_has_option('--extra-library'):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ link_command.append('--extra-library=' + lib.name)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -345,8 +345,8 @@ class GnomeModule(ExtensionModule):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ getattr(dep, 'is_libtool', False)):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lib_dir = os.path.dirname(lib)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ external_ldflags.update(["-L%s" % lib_dir])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if include_rpath:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- external_ldflags.update(['-Wl,-rpath {}'.format(lib_dir)])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ #KEN if include_rpath:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ #KEN external_ldflags.update(['-Wl,-rpath {}'.format(lib_dir)])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libname = os.path.basename(lib)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if libname.startswith("lib"):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libname = libname[3:]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git mesonbuild/scripts/depfixer.py mesonbuild/scripts/depfixer.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index f927693..c1e4541 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- mesonbuild/scripts/depfixer.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ mesonbuild/scripts/depfixer.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -424,9 +424,9 @@ def fix_darwin(fname, new_rpath, final_path, install_name_mappings):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ stdout=subprocess.DEVNULL,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ stderr=subprocess.DEVNULL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ args = []
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if new_rpath:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- args += ['-add_rpath', new_rpath]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # Rewrite -install_name @rpath/libfoo.dylib to /path/to/libfoo.dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ #KEN if new_rpath:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ #KEN args += ['-add_rpath', new_rpath]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # Rewrite -install_name @loader_path/libfoo.dylib to /path/to/libfoo.dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if fname.endswith('dylib'):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ args += ['-id', final_path]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if install_name_mappings:
</span></pre><pre style='margin:0'>
</pre>