diff --git a/devel/gn/Makefile b/devel/gn/Makefile index 54c60d13b645..06b42e3c1eff 100644 --- a/devel/gn/Makefile +++ b/devel/gn/Makefile @@ -1,42 +1,42 @@ PORTNAME= gn DISTVERSIONPREFIX= v -DISTVERSION= 2234 +DISTVERSION= 2345 CATEGORIES= devel MAINTAINER= o.hushchenkov@gmail.com COMMENT= Gn meta build framework - standalone version WWW= https://gn.googlesource.com/gn/ LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE BROKEN_riscv64= fails to build: ../src/util/build_config.h:168:2: Please add support for your architecture in build_config.h USES= compiler:c++20-lang ninja python:build shebangfix USE_GITHUB= yes GH_ACCOUNT= cglogic # mirror SHEBANG_FILES= ${CONFIGURE_SCRIPT} HAS_CONFIGURE= yes CONFIGURE_SCRIPT= build/gen.py CONFIGURE_ARGS= --platform freebsd ${WITH_DEBUG:D--debug} CONFIGURE_ENV= GN_VERSION=${PORTVERSION} CONFIGURE_OUTSOURCE= yes ALL_TARGET= # empty CONFLICTS_INSTALL= chromium-gn CONFIGURE_WRKSRC= ${WRKSRC}/out # --out-path breaks "make test" PLIST_FILES= bin/${PORTNAME} post-patch: @${REINPLACE_CMD} 's/"python3"/"${PYTHON_CMD:T}"/' \ ${WRKSRC}/src/gn/exec_process_unittest.cc do-install: ${INSTALL_PROGRAM} ${INSTALL_WRKSRC}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin do-test: ${TEST_WRKSRC}/gn_unittests .include diff --git a/devel/gn/distinfo b/devel/gn/distinfo index 475be498de86..2351c3d3f3a0 100644 --- a/devel/gn/distinfo +++ b/devel/gn/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1747073404 -SHA256 (cglogic-gn-v2234_GH0.tar.gz) = a738b5971837e3ee0456406e429b1365745285a24edc36660a15e3bf76bb1246 -SIZE (cglogic-gn-v2234_GH0.tar.gz) = 1096906 +TIMESTAMP = 1773738592 +SHA256 (cglogic-gn-v2345_GH0.tar.gz) = c498e2b9598d71f2f6ec8a49f2636f22b87868a7fb6764837950d1e21835fb36 +SIZE (cglogic-gn-v2345_GH0.tar.gz) = 1132416 diff --git a/devel/gn/files/patch-build_gen.py b/devel/gn/files/patch-build_gen.py index b9a54cc80a22..98ffb4f18d3d 100644 --- a/devel/gn/files/patch-build_gen.py +++ b/devel/gn/files/patch-build_gen.py @@ -1,41 +1,41 @@ - .git/ is missing in archive, so use version from environment ---- build/gen.py.orig 2024-06-23 08:56:53 UTC +--- build/gen.py.orig 2026-03-17 09:10:16 UTC +++ build/gen.py -@@ -241,25 +241,16 @@ def GenerateLastCommitPosition(host, header): +@@ -245,25 +245,16 @@ def GenerateLastCommitPosition(host, header): return ret.returncode == 0 and "#define __GNUC__" in ret.stdout and not "#define __clang__" in ret.stdout def GenerateLastCommitPosition(host, header): - ROOT_TAG = 'initial-commit' - describe_output = subprocess.check_output( - ['git', 'describe', 'HEAD', '--abbrev=12', '--match', ROOT_TAG], - shell=host.is_windows(), cwd=REPO_ROOT) - mo = re.match(ROOT_TAG + r'-(\d+)-g([0-9a-f]+)', describe_output.decode()) - if not mo: - raise ValueError( - 'Unexpected output from git describe when generating version header') - contents = '''// Generated by build/gen.py. #ifndef OUT_LAST_COMMIT_POSITION_H_ #define OUT_LAST_COMMIT_POSITION_H_ #define LAST_COMMIT_POSITION_NUM %s -#define LAST_COMMIT_POSITION "%s (%s)" +#define LAST_COMMIT_POSITION "%s" #endif // OUT_LAST_COMMIT_POSITION_H_ -''' % (mo.group(1), mo.group(1), mo.group(2)) +''' % (os.environ['GN_VERSION'], os.environ['GN_VERSION']) # Only write/touch this file if the commit position has changed. old_contents = '' -@@ -302,7 +293,7 @@ def WriteGenericNinja(path, static_libraries, executab +@@ -306,7 +297,7 @@ def WriteGenericNinja(path, static_libraries, executab 'msys': 'build_linux.ninja.template', 'darwin': 'build_mac.ninja.template', 'linux': 'build_linux.ninja.template', - 'freebsd': 'build_linux.ninja.template', + 'freebsd': 'build_openbsd.ninja.template', 'aix': 'build_aix.ninja.template', 'openbsd': 'build_openbsd.ninja.template', 'haiku': 'build_haiku.ninja.template', diff --git a/devel/gn/files/patch-src_gn_args.cc b/devel/gn/files/patch-src_gn_args.cc index 5be9f056771a..53d5d96a002f 100644 --- a/devel/gn/files/patch-src_gn_args.cc +++ b/devel/gn/files/patch-src_gn_args.cc @@ -1,11 +1,11 @@ ---- src/gn/args.cc.orig 2023-10-23 08:20:06 UTC +--- src/gn/args.cc.orig 2026-03-12 15:29:33 UTC +++ src/gn/args.cc -@@ -368,7 +368,7 @@ void Args::SetSystemVarsLocked(Scope* dest) const { +@@ -396,7 +396,7 @@ void Args::SetSystemVarsLocked(Scope* dest) const { arch = kMips64; else if (os_arch == "s390x") arch = kS390X; - else if (os_arch == "ppc64" || os_arch == "ppc64le") + else if (os_arch == "ppc64" || os_arch == "ppc64le" || os_arch == "powerpc") // We handle the endianness inside //build/config/host_byteorder.gni. // This allows us to use the same toolchain as ppc64 BE // and specific flags are included using the host_byteorder logic.