Hi,
Diff to use getexecpath(3) rather than the hardcoded path workaround.
(make update-patches also regenerated patch-build_gen_py FYI.)
ok?
Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/gn/Makefile,v
diff -u -p -r1.7 Makefile
--- Makefile 6 May 2026 16:40:28 -0000 1.7
+++ Makefile 18 Sep 2026 15:31:31 -0000
@@ -9,6 +9,7 @@ DATE = 20251214
VERSION = 0.0.${DATE}
DISTNAME = gn-${DATE}
PKGNAME = gn-${VERSION}
+REVISION = 0
# gn.googlesource.com does not provide stable snapshots
SITES = https://codeberg.org/vlkrs/gn/archive/
@@ -34,8 +35,7 @@ WRKDIST = ${WRKDIR}/gn
WANTLIB += ${COMPILER_LIBCXX} c m
post-patch:
- ${SUBST_CMD} ${WRKSRC}/src/util/exe_path.cc \
- ${WRKSRC}/src/gn/command_format_unittest.cc
+ ${SUBST_CMD} ${WRKSRC}/src/gn/command_format_unittest.cc
do-build:
${SETENV} ${MAKE_ENV} ninja -C${WRKSRC}/out -j${MAKE_JOBS} -v
Index: patches/patch-build_gen_py
===================================================================
RCS file: /cvs/ports/devel/gn/patches/patch-build_gen_py,v
diff -u -p -r1.2 patch-build_gen_py
--- patches/patch-build_gen_py 21 Mar 2025 22:33:25 -0000 1.2
+++ patches/patch-build_gen_py 18 Sep 2026 15:31:31 -0000
@@ -3,7 +3,7 @@ Set version based on port version, remov
Index: build/gen.py
--- build/gen.py.orig
+++ build/gen.py
-@@ -241,25 +241,16 @@ def is_gcc(cxx):
+@@ -245,25 +245,16 @@ def is_gcc(cxx):
return ret.returncode == 0 and "#define __GNUC__" in ret.stdout and not
"#define __clang__" in ret.stdout
def GenerateLastCommitPosition(host, header):
@@ -31,7 +31,7 @@ Index: build/gen.py
# Only write/touch this file if the commit position has changed.
old_contents = ''
-@@ -432,10 +423,8 @@ def WriteGNNinja(path, platform, host, options, args_l
+@@ -441,10 +432,8 @@ def WriteGNNinja(path, platform, host, options, args_l
cflags.extend(['-D_LIBCPP_DEBUG=1', '-D_GLIBCXX_DEBUG=1'])
else:
cflags.append('-DNDEBUG')
Index: patches/patch-src_util_exe_path_cc
===================================================================
RCS file: /cvs/ports/devel/gn/patches/patch-src_util_exe_path_cc,v
diff -u -p -r1.1.1.1 patch-src_util_exe_path_cc
--- patches/patch-src_util_exe_path_cc 3 May 2023 12:30:17 -0000 1.1.1.1
+++ patches/patch-src_util_exe_path_cc 18 Sep 2026 15:31:31 -0000
@@ -1,20 +1,19 @@
-Use hardcoded path to gn binary
-
Index: src/util/exe_path.cc
--- src/util/exe_path.cc.orig
+++ src/util/exe_path.cc
-@@ -117,13 +117,7 @@ base::FilePath GetExePath() {
- #else
-
- base::FilePath GetExePath() {
-- base::FilePath result;
-- const char kProcSelfExe[] = "/proc/self/exe";
-- if (!ReadSymbolicLink(base::FilePath(kProcSelfExe), &result)) {
-- NOTREACHED() << "Unable to resolve " << kProcSelfExe << ".";
-- return base::FilePath();
-- }
-- return result;
-+ return base::FilePath("${LOCALBASE}/bin/gn");
+@@ -81,6 +81,15 @@ base::FilePath GetExePath() {
+ return base::FilePath(buf);
}
- #endif
++#elif defined(OS_OPENBSD)
++
++base::FilePath GetExePath() {
++ char execpath[PATH_MAX];
++ if (getexecpath(execpath, sizeof(execpath)) != 0)
++ return base::FilePath();
++ return base::FilePath(execpath);
++}
++
+ #elif defined(OS_HAIKU)
+
+ base::FilePath GetExePath() {