diff --git a/dev-util/gn/Manifest b/dev-util/gn/Manifest index 0892e0a420bd9..7fc339c546c1f 100644 --- a/dev-util/gn/Manifest +++ b/dev-util/gn/Manifest @@ -1,2 +1,3 @@ DIST gn-0.1445.tar.gz 958901 BLAKE2B f50dfa07c621e37d8a9face19ca91f28ca24e14717052218690e85911e25c91b109e6cede8d2be6c8493c0b7b8a305d530db4393123956c42da51cd4812d0300 SHA512 2ca21303aa8709fc4f23f15e01f2eaa8e77e394c27970a21361a22445d5cb29da150b1d05d77b471702ab2da2be04cea2a0d927eb0eb3a1baf3358c6eae15d06 DIST gn-0.1463.tar.gz 905571 BLAKE2B e048e642704533d478fb751748a97f60283f63868ab1ab6fa5b8e7bc0322745cf21464eaa16194f684869b50f306668d3c7d3b4f72c3985b865d8492d1ff0901 SHA512 f32861a8fa44034b932e6aae4787fd7da6e4c6c19c5b6919de7b0d0f1ba20f415c1c55db95a08958a338b7b9de740ff49a29ab894a9c4e9049a89450d8c88281 +DIST gn-0.1479.tar.gz 909494 BLAKE2B 5d7165371337be630b2d8dcfd8cd067358d56d8d82501288a56bc15955674f0528fde27056c13f32a2b908576a9e2f28529dec9cd1f259e964405874ce74e90f SHA512 2be22c95952f9993d3f89e932abc0ed08eb2e99a3659322d90bf953b1f68591303b3490e0e55bf3988b1226fefef0a5b7f5d3039eb9ef76e4fe36a2e538ef94a diff --git a/dev-util/gn/files/gn-gen-r2.patch b/dev-util/gn/files/gn-gen-r2.patch new file mode 100644 index 0000000000000..701a317bf023a --- /dev/null +++ b/dev-util/gn/files/gn-gen-r2.patch @@ -0,0 +1,70 @@ +From 00e907811ea7fc56de73ad44903946a9179b1c4f Mon Sep 17 00:00:00 2001 +From: Mike Gilbert +Date: Sun, 14 Oct 2018 20:34:07 -0400 +Subject: [PATCH] Remove unwanted cflags/ldflags parameters + +--- + build/gen.py | 19 +------------------ + 1 file changed, 1 insertion(+), 18 deletions(-) + +diff --git a/build/gen.py b/build/gen.py +index 11c92460..b186e3b0 100755 +--- a/build/gen.py ++++ b/build/gen.py +@@ -326,9 +326,6 @@ def WriteGNNinja(path, platform, host, options, linux_sysroot): + if options.debug: + cflags.extend(['-O0', '-g']) + else: +- cflags.append('-DNDEBUG') +- cflags.append('-O3') +- ldflags.append('-O3') + # Use -fdata-sections and -ffunction-sections to place each function + # or data item into its own section so --gc-sections can eliminate any + # unused functions and data items. +@@ -340,14 +337,6 @@ def WriteGNNinja(path, platform, host, options, linux_sysroot): + # Garbage collection is done by default on aix. + ldflags.append('-Wl,--gc-sections') + +- # Omit all symbol information from the output file. +- if platform.is_darwin(): +- ldflags.append('-Wl,-S') +- elif platform.is_aix(): +- ldflags.append('-Wl,-s') +- else: +- ldflags.append('-Wl,-strip-all') +- + # Enable identical code-folding. + if options.use_icf: + ldflags.append('-Wl,--icf=all') +@@ -356,12 +345,12 @@ def WriteGNNinja(path, platform, host, options, linux_sysroot): + '-D_FILE_OFFSET_BITS=64', + '-D__STDC_CONSTANT_MACROS', '-D__STDC_FORMAT_MACROS', + '-pthread', +- '-pipe', + '-fno-exceptions', + '-fno-rtti', + '-fdiagnostics-color', + ]) + cflags_cc.extend(['-std=c++14', '-Wno-c++11-narrowing']) ++ ldflags.extend(['-pthread']) + + if platform.is_linux(): + if linux_sysroot: +@@ -369,14 +358,8 @@ def WriteGNNinja(path, platform, host, options, linux_sysroot): + cflags.append('--sysroot=' + linux_sysroot) + ldflags.append('--sysroot=' + linux_sysroot) + ldflags.extend([ +- '-static-libstdc++', + '-Wl,--as-needed', + ]) +- libs.extend([ +- # These are needed by libc++. +- '-ldl', +- '-lpthread', +- ]) + elif platform.is_darwin(): + min_mac_version_flag = '-mmacosx-version-min=10.9' + cflags.append(min_mac_version_flag) +-- +2.19.1 + diff --git a/dev-util/gn/gn-0.1479.ebuild b/dev-util/gn/gn-0.1479.ebuild new file mode 100644 index 0000000000000..fc369d2c0db07 --- /dev/null +++ b/dev-util/gn/gn-0.1479.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +PYTHON_COMPAT=( python2_7 ) + +inherit ninja-utils python-any-r1 toolchain-funcs + +DESCRIPTION="GN is a meta-build system that generates build files for Ninja" +HOMEPAGE="https://gn.googlesource.com/" +SRC_URI="https://dev.gentoo.org/~floppym/dist/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="vim-syntax" + +BDEPEND=" + ${PYTHON_DEPS} + dev-util/ninja +" + +PATCHES=( + "${FILESDIR}"/gn-gen-r2.patch +) + +pkg_setup() { + : +} + +src_configure() { + python_setup + tc-export AR CC CXX + unset CFLAGS + set -- ${EPYTHON} build/gen.py --no-sysroot --no-last-commit-position + echo "$@" + "$@" || die + cat >out/last_commit_position.h <<-EOF || die + #ifndef OUT_LAST_COMMIT_POSITION_H_ + #define OUT_LAST_COMMIT_POSITION_H_ + #define LAST_COMMIT_POSITION "${PV}" + #endif // OUT_LAST_COMMIT_POSITION_H_ + EOF +} + +src_compile() { + eninja -C out gn +} + +src_test() { + eninja -C out gn_unittests + out/gn_unittests || die +} + +src_install() { + dobin out/gn + einstalldocs + + if use vim-syntax; then + insinto /usr/share/vim/vimfiles + doins -r tools/gn/misc/vim/{autoload,ftdetect,ftplugin,syntax} + fi +}