commit:     246535438e909fe39ffc724c3e3aca26e5cd7841
Author:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 21 21:09:44 2018 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Sat Jul 21 21:11:01 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=24653543

dev-util/gn: new package

Package-Manager: Portage-2.3.40_p15, Repoman-2.3.9_p247

 dev-util/gn/Manifest              |  1 +
 dev-util/gn/files/gn-gen-r0.patch | 51 +++++++++++++++++++++++++++++++++++
 dev-util/gn/gn-0.1445.ebuild      | 56 +++++++++++++++++++++++++++++++++++++++
 dev-util/gn/metadata.xml          |  7 +++++
 4 files changed, 115 insertions(+)

diff --git a/dev-util/gn/Manifest b/dev-util/gn/Manifest
new file mode 100644
index 00000000000..105ea669977
--- /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 00000000000..d30af3ab4ac
--- /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 00000000000..206f8a04e4e
--- /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 00000000000..02041b24510
--- /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>chrom...@gentoo.org</email>
+       </maintainer>
+</pkgmetadata>

Reply via email to