diff options
author | Mike Gilbert <floppym@gentoo.org> | 2018-07-21 17:09:44 -0400 |
---|---|---|
committer | Mike Gilbert <floppym@gentoo.org> | 2018-07-21 17:11:01 -0400 |
commit | 246535438e909fe39ffc724c3e3aca26e5cd7841 (patch) | |
tree | c2b7c460e7f40cd0f94a75771365499c4e8228a9 /dev-util | |
parent | dev-python/pytest-mock: Add python@ as co-maint (diff) | |
download | gentoo-246535438e909fe39ffc724c3e3aca26e5cd7841.tar.gz gentoo-246535438e909fe39ffc724c3e3aca26e5cd7841.tar.bz2 gentoo-246535438e909fe39ffc724c3e3aca26e5cd7841.zip |
dev-util/gn: new package
Package-Manager: Portage-2.3.40_p15, Repoman-2.3.9_p247
Diffstat (limited to 'dev-util')
-rw-r--r-- | dev-util/gn/Manifest | 1 | ||||
-rw-r--r-- | dev-util/gn/files/gn-gen-r0.patch | 51 | ||||
-rw-r--r-- | dev-util/gn/gn-0.1445.ebuild | 56 | ||||
-rw-r--r-- | dev-util/gn/metadata.xml | 7 |
4 files changed, 115 insertions, 0 deletions
diff --git a/dev-util/gn/Manifest b/dev-util/gn/Manifest new file mode 100644 index 000000000000..105ea6699779 --- /dev/null +++ b/dev-util/gn/Manifest @@ -0,0 +1 @@ +DIST gn-0.1445.tar.gz 958901 BLAKE2B f50dfa07c621e37d8a9face19ca91f28ca24e14717052218690e85911e25c91b109e6cede8d2be6c8493c0b7b8a305d530db4393123956c42da51cd4812d0300 SHA512 2ca21303aa8709fc4f23f15e01f2eaa8e77e394c27970a21361a22445d5cb29da150b1d05d77b471702ab2da2be04cea2a0d927eb0eb3a1baf3358c6eae15d06 diff --git a/dev-util/gn/files/gn-gen-r0.patch b/dev-util/gn/files/gn-gen-r0.patch new file mode 100644 index 000000000000..d30af3ab4ac6 --- /dev/null +++ b/dev-util/gn/files/gn-gen-r0.patch @@ -0,0 +1,51 @@ +diff --git a/build/gen.py b/build/gen.py +index fce8fb18..2927da5f 100755 +--- a/build/gen.py ++++ b/build/gen.py +@@ -260,17 +260,12 @@ def WriteGNNinja(path, 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. + cflags.extend(['-fdata-sections', '-ffunction-sections']) + ldflags.extend(['-fdata-sections', '-ffunction-sections']) + ldflags.append('-Wl,-dead_strip' if is_mac else '-Wl,--gc-sections') +- # Omit all symbol information from the output file. +- ldflags.append('-Wl,-S' if is_mac else '-Wl,-strip-all') + # Enable identical code-folding. + if options.use_icf: + ldflags.append('-Wl,--icf=all') +@@ -279,11 +274,11 @@ def WriteGNNinja(path, options, linux_sysroot): + '-D_FILE_OFFSET_BITS=64', + '-D__STDC_CONSTANT_MACROS', '-D__STDC_FORMAT_MACROS', + '-pthread', +- '-pipe', + '-fno-exceptions', + '-fno-rtti', + ]) + cflags_cc.extend(['-std=c++14', '-Wno-c++11-narrowing']) ++ ldflags.append('-pthread') + + if is_linux: + if linux_sysroot: +@@ -293,15 +288,6 @@ def WriteGNNinja(path, options, linux_sysroot): + # probably resolve this and (re-)add a way to build against libc++. + cflags.append('--sysroot=' + linux_sysroot) + ldflags.append('--sysroot=' + linux_sysroot) +- cflags.append('-stdlib=libstdc++') +- ldflags.extend(['-static-libstdc++', +- '-stdlib=libstdc++', +- '-Wl,--as-needed', +- ]) +- libs.extend([ +- '-lgcc_s', +- '-lpthread', +- ]) + elif is_mac: + min_mac_version_flag = '-mmacosx-version-min=10.9' + cflags.append(min_mac_version_flag) diff --git a/dev-util/gn/gn-0.1445.ebuild b/dev-util/gn/gn-0.1445.ebuild new file mode 100644 index 000000000000..206f8a04e4e7 --- /dev/null +++ b/dev-util/gn/gn-0.1445.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2018 Gentoo Foundation +# 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" + +BDEPEND=" + ${PYTHON_DEPS} + dev-util/ninja +" + +PATCHES=( + "${FILESDIR}"/gn-gen-r0.patch +) + +pkg_setup() { + : +} + +src_configure() { + python_setup + tc-export AR CC CXX + 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 +} diff --git a/dev-util/gn/metadata.xml b/dev-util/gn/metadata.xml new file mode 100644 index 000000000000..02041b24510a --- /dev/null +++ b/dev-util/gn/metadata.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>chromium@gentoo.org</email> + </maintainer> +</pkgmetadata> |