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

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/88a17eb424eefc7c304d29d3ff248166e1f15aa1">https://github.com/macports/macports-ports/commit/88a17eb424eefc7c304d29d3ff248166e1f15aa1</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 88a17eb424e gn: new port in devel
</span>88a17eb424e is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 88a17eb424eefc7c304d29d3ff248166e1f15aa1
</span>Author: barracuda156 <vital.had@gmail.com>
AuthorDate: Fri Nov 3 15:51:53 2023 +0800

<span style='display:block; white-space:pre;color:#404040;'>    gn: new port in devel
</span>---
 devel/gn/Portfile                                  | 76 +++++++++++++++++++++
 ...-gen.py-do-not-force-random-macOS-version.patch | 22 ++++++
 ...ed-do-not-use-objc-types-when-unsupported.patch | 46 +++++++++++++
 ...ed-version-due-to-configure-not-honoring-.patch | 55 +++++++++++++++
 ...g.h-sys_info.cc-args.cc-fix-PowerPC-defin.patch | 78 ++++++++++++++++++++++
 ...se-libdispatch-only-where-it-actually-exi.patch | 53 +++++++++++++++
 6 files changed, 330 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/gn/Portfile b/devel/gn/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..3f23b722155
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/gn/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,76 @@
</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           github 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup        cglogic gn 2124 v
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories          devel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license             BSD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         {@barracuda156 gmail.com:vital.had} openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description         Gn meta build framework – standalone version
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description    GN is a meta-build system that generates build files for Ninja. \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    GN is currently used as the build system for Chromium, Fuchsia and related projects.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage            https://gn.googlesource.com/gn
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  cb2d071cd328363724468a5a50b6739f0c5f52ed \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  91ab314affb97c61cd4037520e873438ffa356bf6bbbbfc086e7bc3e9e9a20e3 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    1068534
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.tarball_from archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set py_ver          3.11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set py_ver_nodot    [string map {. {}} ${py_ver}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:ninja \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:python${py_ver_nodot}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_run-append  port:python${py_ver_nodot}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.python    ${prefix}/bin/python${py_ver}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.cxx_standard 2017
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles          0001-gen.py-do-not-force-random-macOS-version.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    0002-mac-scoped-do-not-use-objc-types-when-unsupported.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    0003-Fix-undefined-version-due-to-configure-not-honoring-.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    0004-build_config.h-sys_info.cc-args.cc-fix-PowerPC-defin.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    0005-semaphore-use-libdispatch-only-where-it-actually-exi.patch
</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|python3|${configure.python}|" ${worksrcpath}/src/gn/exec_process_unittest.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s|/usr/bin/env python3|${configure.python}|" ${worksrcpath}/build/full_test.py ${worksrcpath}/build/gen.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s|@DEPLOYMENT_TARGET@|${macosx_deployment_target}|" ${worksrcpath}/build/gen.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s|@VERSION@|${version}|" ${worksrcpath}/src/gn/gn_main.cc ${worksrcpath}/src/gn/scope_per_file_provider.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.cmd       ${configure.python} ./build/gen.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# --prefix is not accepted by the configure script.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.pre_args-delete \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --prefix=${prefix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# You would expect this to be honored, but it is not, and the sources include non-existent header unconditionally.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# It is fixed by a patch above.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args      --no-last-commit-position
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Upstream seems to support minimum 10.9. Build fails with -Werror on older systems:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# desc_builder.cc: error: redundant move in return statement [-Werror=redundant-move]
</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;'>+    configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --allow-warnings
</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;'>+build.cmd           ${prefix}/bin/ninja
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.dir           ${worksrcpath}/out
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.target
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.env-append    CC=${configure.cc} CXX=${configure.cxx}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    copy ${worksrcpath}/out/${name} ${destroot}${prefix}/bin/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set docdir ${prefix}/share/doc/${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -d ${destroot}${docdir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -m 0644 -W ${worksrcpath} AUTHORS LICENSE OWNERS README.md ${destroot}${docdir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    copy ${worksrcpath}/docs ${destroot}${docdir}
</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;'>+test.cmd            ${worksrcpath}/out/gn_unittests
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+test.target
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/gn/files/0001-gen.py-do-not-force-random-macOS-version.patch b/devel/gn/files/0001-gen.py-do-not-force-random-macOS-version.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..97f302ece05
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/gn/files/0001-gen.py-do-not-force-random-macOS-version.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,22 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 2172257dffa703fd8f567bf6b1268012a4eb7ad7 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: barracuda156 <vital.had@gmail.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Fri, 3 Nov 2023 13:21:31 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 1/5] gen.py: do not force random macOS version
</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;'>+ build/gen.py | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 1 insertion(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git build/gen.py build/gen.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index adb622a9..6420b4a1 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- build/gen.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ build/gen.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -495,7 +495,7 @@ def WriteGNNinja(path, platform, host, options, args_list):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         # This is needed by libc++.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         libs.append('-ldl')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     elif platform.is_darwin():
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      min_mac_version_flag = '-mmacosx-version-min=10.9'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      min_mac_version_flag = '-mmacosx-version-min=@DEPLOYMENT_TARGET@'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       cflags.append(min_mac_version_flag)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       ldflags.append(min_mac_version_flag)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     elif platform.is_aix():
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/gn/files/0002-mac-scoped-do-not-use-objc-types-when-unsupported.patch b/devel/gn/files/0002-mac-scoped-do-not-use-objc-types-when-unsupported.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..ba49bbb3af9
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/gn/files/0002-mac-scoped-do-not-use-objc-types-when-unsupported.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,46 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 58747108a78a5767d678c0a69d64a98e02c2bee5 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: barracuda156 <vital.had@gmail.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Fri, 3 Nov 2023 14:02:45 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 2/5] mac/scoped*: do not use objc types when unsupported
</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;'>+ src/base/mac/scoped_cftyperef.h | 2 ++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ src/base/mac/scoped_typeref.h   | 2 ++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 4 insertions(+)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/base/mac/scoped_cftyperef.h src/base/mac/scoped_cftyperef.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index a602fd9c..2631cd53 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/base/mac/scoped_cftyperef.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/base/mac/scoped_cftyperef.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -9,6 +9,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "base/mac/scoped_typeref.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(__OBJC__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace base {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // ScopedCFTypeRef<> is patterned after std::unique_ptr<>, but maintains
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -45,4 +46,5 @@ using ScopedCFTypeRef =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }  // namespace base
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif  // BASE_MAC_SCOPED_CFTYPEREF_H_
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/base/mac/scoped_typeref.h src/base/mac/scoped_typeref.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 034ed902..cab6374e 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/base/mac/scoped_typeref.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/base/mac/scoped_typeref.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -9,6 +9,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "base/logging.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "base/memory/scoped_policy.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(__OBJC__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace base {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // ScopedTypeRef<> is patterned after std::unique_ptr<>, but maintains ownership
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -135,4 +136,5 @@ class ScopedTypeRef {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }  // namespace base
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif  // BASE_MAC_SCOPED_TYPEREF_H_
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/gn/files/0003-Fix-undefined-version-due-to-configure-not-honoring-.patch b/devel/gn/files/0003-Fix-undefined-version-due-to-configure-not-honoring-.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..9a954e4df35
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/gn/files/0003-Fix-undefined-version-due-to-configure-not-honoring-.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,55 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From d219814e39648848dc0c12c1b908f163c6a97f86 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: barracuda156 <vital.had@gmail.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Fri, 3 Nov 2023 14:50:28 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 3/5] Fix undefined version due to configure not honoring
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ options set
</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;'>+ src/gn/gn_main.cc                 | 4 +---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ src/gn/scope_per_file_provider.cc | 4 ++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 3 insertions(+), 5 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/gn/gn_main.cc src/gn/gn_main.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index e1a05177..4f528223 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/gn/gn_main.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/gn/gn_main.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -16,8 +16,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "util/msg_loop.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "util/sys_info.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include "last_commit_position.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ std::vector<std::string> GetArgs(const base::CommandLine& cmdline) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -49,7 +47,7 @@ int main(int argc, char** argv) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     command = commands::kHelp;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   } else if (cmdline.HasSwitch(switches::kVersion)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     // Make "--version" print the version and exit.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    OutputString(std::string(LAST_COMMIT_POSITION) + "\n");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    OutputString("@VERSION@\n");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     exit(0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   } else if (args.empty()) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     // No command, print error and exit.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/gn/scope_per_file_provider.cc src/gn/scope_per_file_provider.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 9332c40e..d508d873 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/gn/scope_per_file_provider.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/gn/scope_per_file_provider.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12,7 +12,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "gn/value.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "gn/variables.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include "last_commit_position.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define gc_ver_num @VERSION@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ScopePerFileProvider::ScopePerFileProvider(Scope* scope, bool allow_target_vars)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     : ProgrammaticProvider(scope), allow_target_vars_(allow_target_vars) {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -68,7 +68,7 @@ const Value* ScopePerFileProvider::GetDefaultToolchain() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ const Value* ScopePerFileProvider::GetGnVersion() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (!gn_version_) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     gn_version_ = std::make_unique<Value>(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        nullptr, static_cast<int64_t>(LAST_COMMIT_POSITION_NUM));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        nullptr, static_cast<int64_t>(gc_ver_num));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   return gn_version_.get();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/gn/files/0004-build_config.h-sys_info.cc-args.cc-fix-PowerPC-defin.patch b/devel/gn/files/0004-build_config.h-sys_info.cc-args.cc-fix-PowerPC-defin.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..1c867af2ffc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/gn/files/0004-build_config.h-sys_info.cc-args.cc-fix-PowerPC-defin.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,78 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From b065043451b9fcf69b1a812e6853c55d598d4092 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: barracuda156 <vital.had@gmail.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Fri, 3 Nov 2023 13:36:26 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 4/5] build_config.h, sys_info.cc, args.cc: fix PowerPC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ definitions
</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;'>+ src/gn/args.cc          |  3 +++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ src/util/build_config.h | 13 +++++++++----
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ src/util/sys_info.cc    |  4 +++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 3 files changed, 15 insertions(+), 5 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/gn/args.cc src/gn/args.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 6b5d25f3..d5feaf24 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/gn/args.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/gn/args.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -344,6 +344,7 @@ void Args::SetSystemVarsLocked(Scope* dest) const {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   static const char kMips[] = "mipsel";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   static const char kMips64[] = "mips64el";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   static const char kS390X[] = "s390x";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  static const char kPPC[] = "ppc";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   static const char kPPC64[] = "ppc64";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   static const char kRISCV32[] = "riscv32";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   static const char kRISCV64[] = "riscv64";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -368,6 +369,8 @@ void Args::SetSystemVarsLocked(Scope* dest) const {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     arch = kMips64;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   else if (os_arch == "s390x")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     arch = kS390X;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  else if (os_arch == "ppc")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    arch = kPPC;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   else if (os_arch == "ppc64" || os_arch == "ppc64le")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     // We handle the endianness inside //build/config/host_byteorder.gni.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     // This allows us to use the same toolchain as ppc64 BE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/util/build_config.h src/util/build_config.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 668518ba..baa667b7 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/util/build_config.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/util/build_config.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -120,16 +120,21 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define ARCH_CPU_S390 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define ARCH_CPU_31_BITS 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define ARCH_CPU_BIG_ENDIAN 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#elif (defined(__PPC64__) || defined(__PPC__)) && defined(__BIG_ENDIAN__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#elif defined(__ppc__) || defined(__PPC__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define ARCH_CPU_PPC_FAMILY 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define ARCH_CPU_PPC 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define ARCH_CPU_32_BITS 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define ARCH_CPU_BIG_ENDIAN 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#elif defined(__PPC64__) && defined(__LITTLE_ENDIAN__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define ARCH_CPU_PPC64_FAMILY 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define ARCH_CPU_PPC64 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define ARCH_CPU_64_BITS 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define ARCH_CPU_BIG_ENDIAN 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#elif defined(__PPC64__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define ARCH_CPU_LITTLE_ENDIAN 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#elif (defined(__PPC64__) || defined(__ppc64__))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define ARCH_CPU_PPC64_FAMILY 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define ARCH_CPU_PPC64 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define ARCH_CPU_64_BITS 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define ARCH_CPU_LITTLE_ENDIAN 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define ARCH_CPU_BIG_ENDIAN 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #elif defined(__ARMEL__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define ARCH_CPU_ARM_FAMILY 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define ARCH_CPU_ARMEL 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/util/sys_info.cc src/util/sys_info.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index c8dc590a..a1970d67 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/util/sys_info.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/util/sys_info.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -34,7 +34,9 @@ std::string OperatingSystemArchitecture() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     arch = "x86_64";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   } else if (arch == "amd64") {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     arch = "x86_64";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  } else if (os == "AIX" || os == "OS400") {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  } else if (arch == "ppc" || arch == "powerpc" || arch == "Power Macintosh") {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    arch = "ppc";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  } else if (os == "AIX" || os == "OS400" || arch == "ppc64" || arch == "powerpc64") {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     arch = "ppc64";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   } else if (std::string(info.sysname) == "OS/390") {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     arch = "s390x";
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/gn/files/0005-semaphore-use-libdispatch-only-where-it-actually-exi.patch b/devel/gn/files/0005-semaphore-use-libdispatch-only-where-it-actually-exi.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..48bbabe676c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/gn/files/0005-semaphore-use-libdispatch-only-where-it-actually-exi.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,53 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From f54e4e1cbdb11821bb3f66b2b50c793399e0af84 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: barracuda156 <vital.had@gmail.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Fri, 3 Nov 2023 13:40:25 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH 5/5] semaphore: use libdispatch only where it actually exists
</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;'>+ src/util/semaphore.cc | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ src/util/semaphore.h  | 8 ++++++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 7 insertions(+), 3 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/util/semaphore.cc src/util/semaphore.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index afed45e1..88107a36 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/util/semaphore.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/util/semaphore.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -13,7 +13,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <windows.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if defined(OS_MACOSX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(OS_MACOSX) && (MAC_OS_X_VERSION_MIN_REQUIRED > 1050 && !defined(__ppc__))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Semaphore::Semaphore(int count) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   native_handle_ = dispatch_semaphore_create(count);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/util/semaphore.h src/util/semaphore.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 13a09927..e40aae0f 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/util/semaphore.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/util/semaphore.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -8,11 +8,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifndef UTIL_SEMAPHORE_H_
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define UTIL_SEMAPHORE_H_
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <AvailabilityMacros.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "util/build_config.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if defined(OS_WIN)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <windows.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#elif defined(OS_MACOSX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#elif defined(OS_MACOSX) && (MAC_OS_X_VERSION_MIN_REQUIRED > 1050 && !defined(__ppc__))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <dispatch/dispatch.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #elif defined(OS_ZOS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "zos-semaphore.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -34,7 +38,7 @@ class Semaphore {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // becomes positive and then decrements the counter.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   void Wait();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if defined(OS_MACOSX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(OS_MACOSX) && (MAC_OS_X_VERSION_MIN_REQUIRED > 1050 && !defined(__ppc__))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   using NativeHandle = dispatch_semaphore_t;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #elif defined(OS_POSIX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   using NativeHandle = sem_t;
</span></pre><pre style='margin:0'>

</pre>