<pre style='margin:0'>
Renee Otten (reneeotten) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/0158c885021cbd84ab54114f4cb436a9c0a23213">https://github.com/macports/macports-ports/commit/0158c885021cbd84ab54114f4cb436a9c0a23213</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 0158c885021cbd84ab54114f4cb436a9c0a23213
</span>Author: Renee Otten <reneeotten@macports.org>
AuthorDate: Sat Oct 21 21:18:09 2023 -0400
<span style='display:block; white-space:pre;color:#404040;'> py-meson: new port
</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/68208
</span>---
python/py-meson/Portfile | 171 +++++++++++++++++++++
python/py-meson/files/cross/arm64-darwin | 9 ++
python/py-meson/files/cross/i386-darwin | 9 ++
python/py-meson/files/cross/ppc-darwin | 9 ++
python/py-meson/files/cross/ppc64-darwin | 9 ++
python/py-meson/files/cross/x86_64-darwin | 9 ++
python/py-meson/files/patch-meson-32bit-apple.diff | 49 ++++++
...tch-meson-clang-unknown-optimization-error.diff | 13 ++
.../files/patch-meson-gcc-appleframeworks.diff | 12 ++
python/py-meson/files/patch-meson-gnome.diff | 34 ++++
.../patch-meson-remove-Wl,-no_weak_imports.diff | 23 +++
.../patch-meson-search-prefix-for-cross-files.diff | 21 +++
.../py-meson/files/patch-meson64-32bit-apple.diff | 39 +++++
...h-meson64-clang-unknown-optimization-error.diff | 13 ++
.../files/patch-meson64-gcc-appleframeworks.diff | 12 ++
python/py-meson/files/patch-meson64-gnome.diff | 16 ++
.../patch-meson64-remove-Wl,-no_weak_imports.diff | 23 +++
...atch-meson64-search-prefix-for-cross-files.diff | 21 +++
.../files/patch-meson64-tiger-no-rpath-fix.diff | 89 +++++++++++
19 files changed, 581 insertions(+)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-meson/Portfile b/python/py-meson/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..70ad89e1634
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-meson/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,171 @@
</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 python 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup github 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name py-meson
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# update version and revision also in the meson port
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup mesonbuild meson 1.2.2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.tarball_from releases
</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;'>+checksums rmd160 b059e5c44efb0671373c78659f5ed36956d7dc1b \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 4a0f04de331fbc7af3b802a844fc8838f4ccd1ded1e792ba4f8f2faf8c5fe4d6 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 2190455
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license Apache-2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories-append devel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers {soap.za.net:git @SoapZA} {reneeotten @reneeotten} openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+supported_archs noarch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platforms {darwin any}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage https://mesonbuild.com
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description Meson - A high productivity build system
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description Meson is a build system designed to optimize programmer productivity. \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ It aims to do this by providing simple, out-of-the-box support for modern \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ software development tools and practices, such as unit tests, coverage reports, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Valgrind, CCache and the like. It is both extremely fast, and, even more importantly, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ as user friendly as possible.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+python.versions 38 39 310 311 312
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${subport} ne ${name}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${python.version}-setuptools
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_run-append port:py${python.version}-setuptools \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:ninja
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # requires a newer install_name_tool on older systems
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${os.platform} eq "darwin" && ${os.major} <= 9} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_run-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:cctools
</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;'>+ if {${os.platform} eq "darwin" && ${os.major} <= 10} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patchfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch-meson-remove-Wl,-no_weak_imports.diff
</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;'>+ # https://github.com/mesonbuild/meson/issues/6187
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patchfiles-append patch-meson-32bit-apple.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # https://github.com/mesonbuild/meson/pull/9211
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patchfiles-append patch-meson-gcc-appleframeworks.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><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><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # disable warning not accepted by older clang versions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # this manifests currently on systems up to 10.9
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # https://github.com/mesonbuild/meson/issues/8307
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${os.platform} eq "darwin" && ${os.major} <= 13} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patchfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch-meson-clang-unknown-optimization-error.diff
</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;'>+ # add a search path for crossfiles in our prefix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patchfiles-append patch-meson-search-prefix-for-cross-files.diff
</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;'>+ # 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;'>+ github.setup mesonbuild meson 0.64.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.tarball_from releases
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ revision 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ checksums rmd160 6ed7a0c8b1ac2a0de91d25aa253ad2efa132c6dc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 3a8e030c2334f782085f81627062cc6d4a6771edf31e055ffe374f9e6b089ab9 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 2089752
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patchfiles patch-meson64-tiger-no-rpath-fix.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch-meson64-remove-Wl,-no_weak_imports.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch-meson64-32bit-apple.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch-meson64-gcc-appleframeworks.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch-meson64-gnome.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch-meson64-clang-unknown-optimization-error.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch-meson64-search-prefix-for-cross-files.diff
</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;'>+ post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace "s|@@PREFIX@@|${prefix}|g" ${worksrcpath}/data/shell-completions/bash/meson \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${worksrcpath}/mesonbuild/coredata.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace "s|@@SUBPORT@@|${subport}|g" ${worksrcpath}/data/shell-completions/bash/meson \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${worksrcpath}/mesonbuild/coredata.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;'>+ post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # install our MacPorts cross files
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -m 0755 -d ${destroot}${prefix}/share/${subport}/meson
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ copy ${filespath}/cross ${destroot}${prefix}/share/${subport}/meson
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fs-traverse f ${destroot}${prefix}/share/${subport}/meson/cross/ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {![file isdirectory ${f}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace "s|@@PREFIX@@|${prefix}|g" ${f}
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # install shell completion files
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set bash_completion_dir ${prefix}/share/${subport}/bash-completion/completions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -d ${destroot}${bash_completion_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -m 0644 ${worksrcpath}/data/shell-completions/bash/meson ${destroot}${bash_completion_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -m 0644 ${worksrcpath}/data/shell-completions/bash/meson ${destroot}${bash_completion_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set zsh_completion_dir ${prefix}/share/${subport}/zsh/site-functions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -d ${destroot}${zsh_completion_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -m 0644 ${worksrcpath}/data/shell-completions/zsh/_meson ${destroot}${zsh_completion_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -m 0644 ${worksrcpath}/data/shell-completions/zsh/_meson ${destroot}${zsh_completion_dir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # install editor syntax files
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set vim_dir ${prefix}/share/${subport}/vim/vimfiles
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach d {ftdetect ftplugin syntax indent} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -d ${destroot}${vim_dir}/${d}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -m 0644 ${worksrcpath}/data/syntax-highlighting/vim/${d}/meson.vim ${destroot}${vim_dir}/${d}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -m 0644 ${worksrcpath}/data/syntax-highlighting/vim/${d}/meson.vim ${destroot}${vim_dir}/${d}
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pre-activate {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # the original meson port new pyXY-meson ports conflict
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {![catch {lindex [registry_active meson] 0} installed]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set _version [lindex $installed 1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[vercmp $_version 1.2.3] < 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ registry_deactivate_composite meson "" [list ports_nodepcheck 1]
</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;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # the following block avoids requiring users to 'sudo port select python3 python37'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # doing a file test for ${prefix}/bin/python3 and requiring this
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # to be honest would have been much simpler, but not the "MacPorts way"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pre-test {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace "s|/usr/bin/env python3$|${python.bin}|" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${worksrcpath}/run_tests.py \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${worksrcpath}/run_cross_test.py \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${worksrcpath}/run_meson_command_tests.py \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${worksrcpath}/run_project_tests.py \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${worksrcpath}/run_unittests.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set testpath "${worksrcpath}/test\\ cases"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fs-traverse f ${testpath} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if { [string match *.py ${f}] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace "s|/usr/bin/env python3$|${python.bin}|" ${f}
</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;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ test.run yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ python.test_framework
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ test.env CXX=${configure.cxx} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "CXXFLAGS=${configure.cxxflags} [get_canonical_archflags cxx]" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CC=${configure.cc} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "CFLAGS=${configure.cflags} [get_canonical_archflags cc]" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "LDFLAGS=${configure.ldflags} [get_canonical_archflags ld]" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PREFIX=${prefix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ test.cmd ./run_tests.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ test.target
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # restrict livecheck to release versions only, no pre-releases
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.livecheck.regex {(\d+(?:\.\d+)*)}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-meson/files/cross/arm64-darwin b/python/py-meson/files/cross/arm64-darwin
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..f7d98c21090
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-meson/files/cross/arm64-darwin
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+[host_machine]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+system = 'darwin'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cpu_family = 'aarch64'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cpu = 'arm64'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+endian = 'little'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+[binaries]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+pkgconfig = '@@PREFIX@@/bin/pkg-config'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cmake = '@@PREFIX@@/bin/cmake'
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-meson/files/cross/i386-darwin b/python/py-meson/files/cross/i386-darwin
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..8c9f8016092
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-meson/files/cross/i386-darwin
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+[host_machine]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+system = 'darwin'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cpu_family = 'x86'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cpu = 'i386'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+endian = 'little'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+[binaries]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+pkgconfig = '@@PREFIX@@/bin/pkg-config'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cmake = '@@PREFIX@@/bin/cmake'
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-meson/files/cross/ppc-darwin b/python/py-meson/files/cross/ppc-darwin
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..0daab987131
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-meson/files/cross/ppc-darwin
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+[host_machine]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+system = 'darwin'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cpu_family = 'ppc'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cpu = 'ppc'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+endian = 'big'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+[binaries]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+pkgconfig = '@@PREFIX@@/bin/pkg-config'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cmake = '@@PREFIX@@/bin/cmake'
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-meson/files/cross/ppc64-darwin b/python/py-meson/files/cross/ppc64-darwin
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..669d96e9699
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-meson/files/cross/ppc64-darwin
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+[host_machine]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+system = 'darwin'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cpu_family = 'ppc64'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cpu = 'ppc64'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+endian = 'big'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+[binaries]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+pkgconfig = '@@PREFIX@@/bin/pkg-config'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cmake = '@@PREFIX@@/bin/cmake'
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-meson/files/cross/x86_64-darwin b/python/py-meson/files/cross/x86_64-darwin
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..7a7d24f2ef7
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-meson/files/cross/x86_64-darwin
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+[host_machine]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+system = 'darwin'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cpu_family = 'x86_64'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cpu = 'x86_64'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+endian = 'little'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+[binaries]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+pkgconfig = '@@PREFIX@@/bin/pkg-config'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cmake = '@@PREFIX@@/bin/cmake'
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-meson/files/patch-meson-32bit-apple.diff b/python/py-meson/files/patch-meson-32bit-apple.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..80ba35a739f
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-meson/files/patch-meson-32bit-apple.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,49 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git mesonbuild/environment.py.orig mesonbuild/environment.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 71286a5..0b004e7 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- mesonbuild/environment.py.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ mesonbuild/environment.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -14,6 +14,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import itertools
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import os, platform, re, sys, shutil
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++import subprocess
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import typing as T
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import collections
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -284,6 +285,23 @@ def detect_windows_arch(compilers: CompilersDict) -> str:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return 'x86'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return os_arch
</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 detect_osx_arch() -> str:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ """
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ per #6187, handle early Mac 64-bit Intel CPU with 64-bit OSX using a **32-bit kernel**
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ testing this requires old MacOS and hardware, not easily available for cloud CI,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ so users needing this functionality may kindly need to help with debugging info.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ """
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ try:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ret = subprocess.run(['sysctl', '-n', 'hw.cpu64bit_capable'],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ universal_newlines=True, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL).stdout
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ trial = 'x86_64' if ret.strip() == '1' else 'x86'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ except subprocess.SubprocessError:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # very old MacOS version with implicit 32-bit CPU due to calling if-elif stack
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ trial = 'x86'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return trial
</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 any_compiler_has_define(compilers: CompilersDict, define):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ for c in compilers.values():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ try:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -308,7 +326,11 @@ def detect_cpu_family(compilers: CompilersDict) -> str:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ trial = platform.machine().lower()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if trial.startswith('i') and trial.endswith('86'):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- trial = 'x86'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if mesonlib.is_osx():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # handle corner case with early Mac 64-bit CPU and older OSX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ trial = detect_osx_arch()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ trial = 'x86'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ elif trial == 'bepc':
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ trial = 'x86'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ elif trial == 'arm64':
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-meson/files/patch-meson-clang-unknown-optimization-error.diff b/python/py-meson/files/patch-meson-clang-unknown-optimization-error.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..f8a8b109500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-meson/files/patch-meson-clang-unknown-optimization-error.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,13 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git mesonbuild/compilers/mixins/clang.py.orig mesonbuild/compilers/mixins/clang.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index acdb352..0a3e879 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- mesonbuild/compilers/mixins/clang.py.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ mesonbuild/compilers/mixins/clang.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -81,7 +81,7 @@ class ClangCompiler(GnuLikeCompiler):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ myargs = [] # type: T.List[str]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if mode is CompileCheckMode.COMPILE:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ myargs.extend(['-Werror=unknown-warning-option', '-Werror=unused-command-line-argument'])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if mesonlib.version_compare(self.version, '>=3.6.0'):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if mesonlib.version_compare(self.version, '>=9.6.0'):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ myargs.append('-Werror=ignored-optimization-argument')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return super().get_compiler_check_args(mode) + myargs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-meson/files/patch-meson-gcc-appleframeworks.diff b/python/py-meson/files/patch-meson-gcc-appleframeworks.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..e90cc85ddb5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-meson/files/patch-meson-gcc-appleframeworks.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- mesonbuild/compilers/mixins/clike.py.orig 2022-01-03 04:12:32.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ mesonbuild/compilers/mixins/clike.py 2022-04-06 05:50:19.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1123,9 +1123,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ unless you select a particular macOS SDK with the -isysroot flag.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ You can also add to this by setting -F in CFLAGS.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ '''
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # TODO: this really needs to be *AppleClang*, not just any clang.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if self.id != 'clang':
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- raise mesonlib.MesonException('Cannot find framework path with non-clang compiler')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Construct the compiler command-line
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ commands = self.get_exelist() + ['-v', '-E', '-']
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ commands += self.get_always_args()
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-meson/files/patch-meson-gnome.diff b/python/py-meson/files/patch-meson-gnome.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..f5fcfea0877
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-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 2022-03-22 05:17:35.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ mesonbuild/modules/gnome.py 2022-04-06 05:54:44.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1177,6 +1177,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, T.cast('T.Dict[str, T.Any]', kwargs))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ self._devenv_prepend('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/python/py-meson/files/patch-meson-remove-Wl,-no_weak_imports.diff b/python/py-meson/files/patch-meson-remove-Wl,-no_weak_imports.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..26ea92099e7
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-meson/files/patch-meson-remove-Wl,-no_weak_imports.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,23 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Don't use -Wl,-no_weak_imports when checking function existence.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This patch should only be applied on Snow Leopard and earlier because
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+the version of ld64 that MacPorts uses by default on Snow Leopard and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+earlier doesn't understand that option.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Temporary workaround for https://github.com/mesonbuild/meson/issues/7204
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- mesonbuild/compilers/mixins/clang.py.orig 2020-04-26 04:07:10.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ mesonbuild/compilers/mixins/clang.py 2020-05-28 08:15:20.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -81,13 +81,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ dependencies: T.Optional[T.List['Dependency']] = None) -> bool:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if extra_args is None:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extra_args = []
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # Starting with XCode 8, we need to pass this to force linker
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # visibility to obey OS X/iOS/tvOS minimum version targets with
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # -mmacosx-version-min, -miphoneos-version-min, -mtvos-version-min etc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # https://github.com/Homebrew/homebrew-core/issues/3727
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # TODO: this really should be communicated by the linker
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if isinstance(self.linker, AppleDynamicLinker) and mesonlib.version_compare(self.version, '>=8.0'):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- extra_args.append('-Wl,-no_weak_imports')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return super().has_function(funcname, prefix, env, extra_args=extra_args,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ dependencies=dependencies)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-meson/files/patch-meson-search-prefix-for-cross-files.diff b/python/py-meson/files/patch-meson-search-prefix-for-cross-files.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..fed7f9025b1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-meson/files/patch-meson-search-prefix-for-cross-files.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,21 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- data/shell-completions/bash/meson.orig 2020-08-03 09:20:31.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ data/shell-completions/bash/meson 2020-08-03 09:21:01.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -114,6 +114,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cross-file)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ _filedir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ COMPREPLY+=($(_filedir_in "$XDG_DATA_DIRS"/meson/cross))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ COMPREPLY+=($(_filedir_in @@PREFIX@@/share/@@SUBPORT@@/meson/cross))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ COMPREPLY+=($(_filedir_in /usr/local/share/meson/cross))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ COMPREPLY+=($(_filedir_in /usr/share/meson/cross))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ COMPREPLY+=($(_filedir_in "$XDG_DATA_HOME"/meson/cross))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./mesonbuild/coredata.py.orig 2020-08-03 09:46:13.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./mesonbuild/coredata.py 2020-08-03 09:46:49.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -431,7 +431,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if sys.platform != 'win32':
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ paths = [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ os.environ.get('XDG_DATA_HOME', os.path.expanduser('~/.local/share')),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ] + os.environ.get('XDG_DATA_DIRS', '/usr/local/share:/usr/share').split(':')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ] + os.environ.get('XDG_DATA_DIRS', '@@PREFIX@@/share/@@SUBPORT@@:/usr/local/share:/usr/share').split(':')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ for path in paths:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ path_to_try = os.path.join(path, 'meson', ftype, f)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if os.path.isfile(path_to_try):
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-meson/files/patch-meson64-32bit-apple.diff b/python/py-meson/files/patch-meson64-32bit-apple.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..0dbc4e2bbcc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-meson/files/patch-meson64-32bit-apple.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,39 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- mesonbuild/environment.py.orig 2020-07-05 13:13:14.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ mesonbuild/environment.py 2020-07-14 13:46:43.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -314,6 +314,23 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return 'x86'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return os_arch
</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 detect_osx_arch() -> str:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ """
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ per #6187, handle early Mac 64-bit Intel CPU with 64-bit OSX using a **32-bit kernel**
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ testing this requires old MacOS and hardware, not easily available for cloud CI,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ so users needing this functionality may kindly need to help with debugging info.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ """
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ try:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ret = subprocess.run(['sysctl', '-n', 'hw.cpu64bit_capable'],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ universal_newlines=True, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL).stdout
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ trial = 'x86_64' if ret.strip() == '1' else 'x86'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ except subprocess.SubprocessError:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # very old MacOS version with implicit 32-bit CPU due to calling if-elif stack
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ trial = 'x86'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return trial
</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 any_compiler_has_define(compilers: CompilersDict, define):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ for c in compilers.values():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ try:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -338,7 +355,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ trial = platform.machine().lower()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if trial.startswith('i') and trial.endswith('86'):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- trial = 'x86'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if mesonlib.is_osx():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # handle corner case with early Mac 64-bit CPU and older OSX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ trial = detect_osx_arch()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ trial = 'x86'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ elif trial == 'bepc':
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ trial = 'x86'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ elif trial == 'arm64':
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-meson/files/patch-meson64-clang-unknown-optimization-error.diff b/python/py-meson/files/patch-meson64-clang-unknown-optimization-error.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..f8a8b109500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-meson/files/patch-meson64-clang-unknown-optimization-error.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,13 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git mesonbuild/compilers/mixins/clang.py.orig mesonbuild/compilers/mixins/clang.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index acdb352..0a3e879 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- mesonbuild/compilers/mixins/clang.py.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ mesonbuild/compilers/mixins/clang.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -81,7 +81,7 @@ class ClangCompiler(GnuLikeCompiler):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ myargs = [] # type: T.List[str]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if mode is CompileCheckMode.COMPILE:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ myargs.extend(['-Werror=unknown-warning-option', '-Werror=unused-command-line-argument'])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if mesonlib.version_compare(self.version, '>=3.6.0'):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if mesonlib.version_compare(self.version, '>=9.6.0'):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ myargs.append('-Werror=ignored-optimization-argument')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return super().get_compiler_check_args(mode) + myargs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-meson/files/patch-meson64-gcc-appleframeworks.diff b/python/py-meson/files/patch-meson64-gcc-appleframeworks.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..e90cc85ddb5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-meson/files/patch-meson64-gcc-appleframeworks.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- mesonbuild/compilers/mixins/clike.py.orig 2022-01-03 04:12:32.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ mesonbuild/compilers/mixins/clike.py 2022-04-06 05:50:19.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1123,9 +1123,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ unless you select a particular macOS SDK with the -isysroot flag.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ You can also add to this by setting -F in CFLAGS.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ '''
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # TODO: this really needs to be *AppleClang*, not just any clang.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if self.id != 'clang':
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- raise mesonlib.MesonException('Cannot find framework path with non-clang compiler')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Construct the compiler command-line
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ commands = self.get_exelist() + ['-v', '-E', '-']
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ commands += self.get_always_args()
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-meson/files/patch-meson64-gnome.diff b/python/py-meson/files/patch-meson64-gnome.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..8000b7ca66b
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-meson/files/patch-meson64-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, generated_files, T.cast('T.Dict[str, T.Any]', kwargs))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ self._devenv_prepend('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/python/py-meson/files/patch-meson64-remove-Wl,-no_weak_imports.diff b/python/py-meson/files/patch-meson64-remove-Wl,-no_weak_imports.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..26ea92099e7
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-meson/files/patch-meson64-remove-Wl,-no_weak_imports.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,23 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Don't use -Wl,-no_weak_imports when checking function existence.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This patch should only be applied on Snow Leopard and earlier because
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+the version of ld64 that MacPorts uses by default on Snow Leopard and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+earlier doesn't understand that option.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Temporary workaround for https://github.com/mesonbuild/meson/issues/7204
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- mesonbuild/compilers/mixins/clang.py.orig 2020-04-26 04:07:10.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ mesonbuild/compilers/mixins/clang.py 2020-05-28 08:15:20.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -81,13 +81,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ dependencies: T.Optional[T.List['Dependency']] = None) -> bool:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if extra_args is None:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extra_args = []
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # Starting with XCode 8, we need to pass this to force linker
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # visibility to obey OS X/iOS/tvOS minimum version targets with
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # -mmacosx-version-min, -miphoneos-version-min, -mtvos-version-min etc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # https://github.com/Homebrew/homebrew-core/issues/3727
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- # TODO: this really should be communicated by the linker
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if isinstance(self.linker, AppleDynamicLinker) and mesonlib.version_compare(self.version, '>=8.0'):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- extra_args.append('-Wl,-no_weak_imports')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return super().has_function(funcname, prefix, env, extra_args=extra_args,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ dependencies=dependencies)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-meson/files/patch-meson64-search-prefix-for-cross-files.diff b/python/py-meson/files/patch-meson64-search-prefix-for-cross-files.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..83b4df5ffc0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-meson/files/patch-meson64-search-prefix-for-cross-files.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,21 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- data/shell-completions/bash/meson.orig 2020-08-03 09:20:31.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ data/shell-completions/bash/meson 2020-08-03 09:21:01.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -114,6 +114,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cross-file)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ _filedir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ COMPREPLY+=($(_filedir_in "$XDG_DATA_DIRS"/meson/cross))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ COMPREPLY+=($(_filedir_in @@PREFIX@@/share/@@SUBPORT@@meson/cross))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ COMPREPLY+=($(_filedir_in /usr/local/share/meson/cross))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ COMPREPLY+=($(_filedir_in /usr/share/meson/cross))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ COMPREPLY+=($(_filedir_in "$XDG_DATA_HOME"/meson/cross))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./mesonbuild/coredata.py.orig 2020-08-03 09:46:13.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./mesonbuild/coredata.py 2020-08-03 09:46:49.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -431,7 +431,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if sys.platform != 'win32':
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ paths = [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ os.environ.get('XDG_DATA_HOME', os.path.expanduser('~/.local/share')),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ] + os.environ.get('XDG_DATA_DIRS', '/usr/local/share:/usr/share').split(':')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ] + os.environ.get('XDG_DATA_DIRS', '@@PREFIX@@/share/@@SUBPORT@@:/usr/local/share:/usr/share').split(':')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ for path in paths:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ path_to_try = os.path.join(path, 'meson', ftype, f)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if os.path.isfile(path_to_try):
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-meson/files/patch-meson64-tiger-no-rpath-fix.diff b/python/py-meson/files/patch-meson64-tiger-no-rpath-fix.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..d810c1b20d6
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-meson/files/patch-meson64-tiger-no-rpath-fix.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,89 @@
</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;'>+--- mesonbuild/linkers/linkers.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ mesonbuild/llnkers/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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ def get_soname_args(self, env: 'Environment', prefix: str, shlib_name: str,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ suffix: str, soversion: str, darwin_versions: T.Tuple[str, str]) -> T.List[str]:
</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;'>+ new_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(flag)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ external_ldflags.update([f'-L{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([f'-Wl,-rpath {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([f'-Wl,-rpath {lib_dir}'])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libname = os.path.basename(flag)
</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>