public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-util/gn/files/, dev-util/gn/
@ 2021-11-03 16:49 Stephan Hartmann
  0 siblings, 0 replies; 5+ messages in thread
From: Stephan Hartmann @ 2021-11-03 16:49 UTC (permalink / raw
  To: gentoo-commits

commit:     8729baea03c1267feb19fcea810489c836460483
Author:     Stephan Hartmann <sultan <AT> gentoo <DOT> org>
AuthorDate: Wed Nov  3 16:48:38 2021 +0000
Commit:     Stephan Hartmann <sultan <AT> gentoo <DOT> org>
CommitDate: Wed Nov  3 16:48:58 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8729baea

dev-util/gn: bump to 0.1942

Bug: https://bugs.gentoo.org/821400
Package-Manager: Portage-3.0.20, Repoman-3.0.3
Signed-off-by: Stephan Hartmann <sultan <AT> gentoo.org>

 dev-util/gn/Manifest              |  1 +
 dev-util/gn/files/gn-gen-r5.patch | 46 ++++++++++++++++++++++++++++
 dev-util/gn/gn-0.1942.ebuild      | 64 +++++++++++++++++++++++++++++++++++++++
 3 files changed, 111 insertions(+)

diff --git a/dev-util/gn/Manifest b/dev-util/gn/Manifest
index bb91def32a7..2e41b70c5b6 100644
--- a/dev-util/gn/Manifest
+++ b/dev-util/gn/Manifest
@@ -1 +1,2 @@
 DIST gn-0.1807.tar.xz 682644 BLAKE2B 5beb3c03b0ae467cb98eff2069ef6e4355cba56c57e2717139b698fa563efc404dd1cf0b3fd196f432ca3a13b0402e895b46407cb90bc16b63963710fd5be060 SHA512 82f468e389d08a46e582f816d056813af9bfc810ad0bd84f02731c17c0e2c6140a62e827b8a3c5f89eef467f9bcfc2e88dd7aed325a7955d8584e753fcd09103
+DIST gn-0.1942.tar.xz 706792 BLAKE2B 2cc3439c1765af9d8068c73f31bbd5bbc947bcf061e59ca3876d2a99687d1d26d6bfcef7cd5b897afb639b48a8a3d8e445b18a71494291368b5a2c0985126602 SHA512 bb2480fb18ff32b502a0448c7a5bf895b9ed4a27a269bf02481fa74b3046bf1c898623007284fbdf89735d1aebcd58ab6f9cfcea85d3652de86435794e2492b0

diff --git a/dev-util/gn/files/gn-gen-r5.patch b/dev-util/gn/files/gn-gen-r5.patch
new file mode 100644
index 00000000000..80966b3c7f5
--- /dev/null
+++ b/dev-util/gn/files/gn-gen-r5.patch
@@ -0,0 +1,46 @@
+From ef45f2e73264e62ad3fb24d064453a17099da8d7 Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <floppym@gentoo.org>
+Date: Sat, 14 Mar 2020 18:02:51 +0000
+Subject: [PATCH] Remove unwanted cflags/ldflags parameters
+
+---
+ build/gen.py | 9 ---------
+ 1 file changed, 9 deletions(-)
+
+diff --git a/build/gen.py b/build/gen.py
+index 265b1f5..06c6d8b 100755
+--- a/build/gen.py
++++ b/build/gen.py
+@@ -343,11 +343,6 @@ def WriteGNNinja(path, platform, host, options):
+     if options.debug:
+       cflags.extend(['-O0', '-g'])
+     else:
+-      cflags.append('-DNDEBUG')
+-      cflags.append('-O3')
+-      if options.no_strip:
+-        cflags.append('-g')
+-      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.
+@@ -383,7 +378,6 @@ def WriteGNNinja(path, platform, host, options):
+         '-D_FILE_OFFSET_BITS=64',
+         '-D__STDC_CONSTANT_MACROS', '-D__STDC_FORMAT_MACROS',
+         '-pthread',
+-        '-pipe',
+         '-fno-exceptions',
+         '-fno-rtti',
+         '-fdiagnostics-color',
+@@ -411,9 +405,6 @@ def WriteGNNinja(path, platform, host, options):
+           '-Wno-cast-function-type', # Casting FARPROC to RegDeleteKeyExPtr
+           '-std=gnu++17',
+         ])
+-      else:
+-        # This is needed by libc++.
+-        libs.append('-ldl')
+     elif platform.is_darwin():
+       min_mac_version_flag = '-mmacosx-version-min=10.9'
+       cflags.append(min_mac_version_flag)
+-- 
+2.32.0
+

diff --git a/dev-util/gn/gn-0.1942.ebuild b/dev-util/gn/gn-0.1942.ebuild
new file mode 100644
index 00000000000..0722a1480a0
--- /dev/null
+++ b/dev-util/gn/gn-0.1942.ebuild
@@ -0,0 +1,64 @@
+# Copyright 2018-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7,8,9} )
+
+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/~sultan/distfiles/dev-util/gn/${P}.tar.xz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+IUSE="vim-syntax"
+
+BDEPEND="
+	${PYTHON_DEPS}
+	dev-util/ninja
+"
+
+PATCHES=(
+	"${FILESDIR}"/gn-gen-r5.patch
+)
+
+pkg_setup() {
+	:
+}
+
+src_configure() {
+	python_setup
+	tc-export AR CC CXX
+	unset CFLAGS
+	set -- ${EPYTHON} build/gen.py --no-last-commit-position --no-strip --no-static-libstdc++
+	echo "$@" >&2
+	"$@" || 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_NUM ${PV##0.}
+	#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 misc/vim/{autoload,ftdetect,ftplugin,syntax}
+	fi
+}


^ permalink raw reply related	[flat|nested] 5+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-util/gn/files/, dev-util/gn/
@ 2020-07-18 13:35 Mike Gilbert
  0 siblings, 0 replies; 5+ messages in thread
From: Mike Gilbert @ 2020-07-18 13:35 UTC (permalink / raw
  To: gentoo-commits

commit:     dc7d3a9edfb07f6dd1ce561e3fa223f71f65e141
Author:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 18 13:35:35 2020 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Sat Jul 18 13:35:52 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dc7d3a9e

dev-util/gn: remove old

Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>

 dev-util/gn/Manifest              |  1 -
 dev-util/gn/files/gn-gen-r1.patch | 57 ---------------------------------------
 dev-util/gn/gn-0.1463.ebuild      | 56 --------------------------------------
 3 files changed, 114 deletions(-)

diff --git a/dev-util/gn/Manifest b/dev-util/gn/Manifest
index c062fb74a31..6297d282005 100644
--- a/dev-util/gn/Manifest
+++ b/dev-util/gn/Manifest
@@ -1,3 +1,2 @@
-DIST gn-0.1463.tar.gz 905571 BLAKE2B e048e642704533d478fb751748a97f60283f63868ab1ab6fa5b8e7bc0322745cf21464eaa16194f684869b50f306668d3c7d3b4f72c3985b865d8492d1ff0901 SHA512 f32861a8fa44034b932e6aae4787fd7da6e4c6c19c5b6919de7b0d0f1ba20f415c1c55db95a08958a338b7b9de740ff49a29ab894a9c4e9049a89450d8c88281
 DIST gn-0.1726.tar.xz 663480 BLAKE2B 26920a1594e9cc664293efaeaa8725568b78ecc1f2ac8c9a3cd27333e5fe89f1fa5bdee9e42c408f3c4a7cfb630e79220926c5694e31131d3e7627be49b5d6b2 SHA512 3e93ba02f251386c4aa320a45b8a045c2a1fa686a8f170455f3c06bb25b1a628c44530ae2e56bcbb2ff4b2a84dd065d54dde90955a55a325a8d219acce69ec2f
 DIST gn-0.1807.tar.xz 682644 BLAKE2B 5beb3c03b0ae467cb98eff2069ef6e4355cba56c57e2717139b698fa563efc404dd1cf0b3fd196f432ca3a13b0402e895b46407cb90bc16b63963710fd5be060 SHA512 82f468e389d08a46e582f816d056813af9bfc810ad0bd84f02731c17c0e2c6140a62e827b8a3c5f89eef467f9bcfc2e88dd7aed325a7955d8584e753fcd09103

diff --git a/dev-util/gn/files/gn-gen-r1.patch b/dev-util/gn/files/gn-gen-r1.patch
deleted file mode 100644
index 77fdefcf222..00000000000
--- a/dev-util/gn/files/gn-gen-r1.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-diff --git a/build/gen.py b/build/gen.py
-index 76f88e84..5e088b2a 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,26 +345,17 @@ 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',
-     ])
-     cflags_cc.extend(['-std=c++14', '-Wno-c++11-narrowing'])
-+    ldflags.append('-pthread')
- 
-     if platform.is_linux():
-       if linux_sysroot:
-         # Use the sid sysroot that UpdateLinuxSysroot() downloads.
-         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)

diff --git a/dev-util/gn/gn-0.1463.ebuild b/dev-util/gn/gn-0.1463.ebuild
deleted file mode 100644
index 6ef882d7120..00000000000
--- a/dev-util/gn/gn-0.1463.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# 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 ~x86"
-
-BDEPEND="
-	${PYTHON_DEPS}
-	dev-util/ninja
-"
-
-PATCHES=(
-	"${FILESDIR}"/gn-gen-r1.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
-}


^ permalink raw reply related	[flat|nested] 5+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-util/gn/files/, dev-util/gn/
@ 2019-03-23 17:34 Mike Gilbert
  0 siblings, 0 replies; 5+ messages in thread
From: Mike Gilbert @ 2019-03-23 17:34 UTC (permalink / raw
  To: gentoo-commits

commit:     7b860c9a0f8cc727a2314b1b5976f1de671b6063
Author:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 23 16:54:16 2019 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Sat Mar 23 17:34:13 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7b860c9a

dev-util/gn: bump to 0.1544

Package-Manager: Portage-2.3.62_p4, Repoman-2.3.12_p87
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>

 dev-util/gn/Manifest              |  1 +
 dev-util/gn/files/gn-gen-r3.patch | 48 +++++++++++++++++++++++++++++
 dev-util/gn/gn-0.1544.ebuild      | 63 +++++++++++++++++++++++++++++++++++++++
 3 files changed, 112 insertions(+)

diff --git a/dev-util/gn/Manifest b/dev-util/gn/Manifest
index 7fc339c546c..f3ba0f953f9 100644
--- a/dev-util/gn/Manifest
+++ b/dev-util/gn/Manifest
@@ -1,3 +1,4 @@
 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
+DIST gn-0.1544.tar.gz 911124 BLAKE2B b8bac7783c373e8101cf727c254c2ee50af49c3e679a8df2cb337a0637e305f1f9094517e6af6a76a19300f533a41d9433624a7963ba0151a88a636bc7e6b4f8 SHA512 5cb3a25b66d44cd26063453ddf96563d62b24e8a961ca7fa29a48ee7bde4a423bd0dace36c432b46b677e042fcac9a4fb23afa5dc27e994fca54030b972dad29

diff --git a/dev-util/gn/files/gn-gen-r3.patch b/dev-util/gn/files/gn-gen-r3.patch
new file mode 100644
index 00000000000..362a6854a26
--- /dev/null
+++ b/dev-util/gn/files/gn-gen-r3.patch
@@ -0,0 +1,48 @@
+From bedf2161dea8cf4813fd14891feee2e8e8d5bf28 Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <floppym@gentoo.org>
+Date: Sun, 14 Oct 2018 20:34:07 -0400
+Subject: [PATCH] Remove unwanted cflags/ldflags parameters
+
+---
+ build/gen.py | 9 ---------
+ 1 file changed, 9 deletions(-)
+
+diff --git a/build/gen.py b/build/gen.py
+index a7142fab..06d5e2b3 100755
+--- a/build/gen.py
++++ b/build/gen.py
+@@ -278,11 +278,6 @@ def WriteGNNinja(path, platform, host, options):
+     if options.debug:
+       cflags.extend(['-O0', '-g'])
+     else:
+-      cflags.append('-DNDEBUG')
+-      cflags.append('-O3')
+-      if options.no_strip:
+-        cflags.append('-g')
+-      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.
+@@ -311,7 +306,6 @@ def WriteGNNinja(path, platform, host, options):
+         '-D_FILE_OFFSET_BITS=64',
+         '-D__STDC_CONSTANT_MACROS', '-D__STDC_FORMAT_MACROS',
+         '-pthread',
+-        '-pipe',
+         '-fno-exceptions',
+         '-fno-rtti',
+         '-fdiagnostics-color',
+@@ -320,11 +314,8 @@ def WriteGNNinja(path, platform, host, options):
+ 
+     if platform.is_linux():
+       ldflags.extend([
+-          '-static-libstdc++',
+           '-Wl,--as-needed',
+       ])
+-      # This is needed by libc++.
+-      libs.append('-ldl')
+     elif platform.is_darwin():
+       min_mac_version_flag = '-mmacosx-version-min=10.9'
+       cflags.append(min_mac_version_flag)
+-- 
+2.21.0
+

diff --git a/dev-util/gn/gn-0.1544.ebuild b/dev-util/gn/gn-0.1544.ebuild
new file mode 100644
index 00000000000..92d8f91252f
--- /dev/null
+++ b/dev-util/gn/gn-0.1544.ebuild
@@ -0,0 +1,63 @@
+# Copyright 2018-2019 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-r3.patch
+)
+
+pkg_setup() {
+	:
+}
+
+src_configure() {
+	python_setup
+	tc-export AR CC CXX
+	unset CFLAGS
+	set -- ${EPYTHON} build/gen.py --no-last-commit-position --no-strip
+	echo "$@" >&2
+	"$@" || 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
+}


^ permalink raw reply related	[flat|nested] 5+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-util/gn/files/, dev-util/gn/
@ 2018-12-10 15:31 Mike Gilbert
  0 siblings, 0 replies; 5+ messages in thread
From: Mike Gilbert @ 2018-12-10 15:31 UTC (permalink / raw
  To: gentoo-commits

commit:     c007723d59cc377de003e291c4614d36c4e51a41
Author:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 10 15:31:05 2018 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Mon Dec 10 15:31:05 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c007723d

dev-util/gn: restore missing headers to fix ARM build

Bug: https://bugs.gentoo.org/672862
Package-Manager: Portage-2.3.52_p8, Repoman-2.3.12_p20
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>

 dev-util/gn/files/gn-numerics-arm.patch | 201 ++++++++++++++++++++++++++++++++
 dev-util/gn/gn-0.1479.ebuild            |   1 +
 2 files changed, 202 insertions(+)

diff --git a/dev-util/gn/files/gn-numerics-arm.patch b/dev-util/gn/files/gn-numerics-arm.patch
new file mode 100644
index 00000000000..f822cdb4085
--- /dev/null
+++ b/dev-util/gn/files/gn-numerics-arm.patch
@@ -0,0 +1,201 @@
+From 8952cb06749d4bd390991878281bc7e72a6eef2c Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <floppymaster@gmail.com>
+Date: Mon, 10 Dec 2018 10:27:20 -0500
+Subject: [PATCH] Add missing headers for ARM
+
+Bug: https://bugs.gentoo.org/672862
+---
+ base/numerics/safe_conversions_arm_impl.h |  51 +++++++++
+ base/numerics/safe_math_arm_impl.h        | 122 ++++++++++++++++++++++
+ 2 files changed, 173 insertions(+)
+ create mode 100644 base/numerics/safe_conversions_arm_impl.h
+ create mode 100644 base/numerics/safe_math_arm_impl.h
+
+diff --git a/base/numerics/safe_conversions_arm_impl.h b/base/numerics/safe_conversions_arm_impl.h
+new file mode 100644
+index 00000000..da5813f6
+--- /dev/null
++++ b/base/numerics/safe_conversions_arm_impl.h
+@@ -0,0 +1,51 @@
++// Copyright 2017 The Chromium Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style license that can be
++// found in the LICENSE file.
++
++#ifndef BASE_NUMERICS_SAFE_CONVERSIONS_ARM_IMPL_H_
++#define BASE_NUMERICS_SAFE_CONVERSIONS_ARM_IMPL_H_
++
++#include <cassert>
++#include <limits>
++#include <type_traits>
++
++#include "base/numerics/safe_conversions_impl.h"
++
++namespace base {
++namespace internal {
++
++// Fast saturation to a destination type.
++template <typename Dst, typename Src>
++struct SaturateFastAsmOp {
++  static const bool is_supported =
++      std::is_signed<Src>::value && std::is_integral<Dst>::value &&
++      std::is_integral<Src>::value &&
++      IntegerBitsPlusSign<Src>::value <= IntegerBitsPlusSign<int32_t>::value &&
++      IntegerBitsPlusSign<Dst>::value <= IntegerBitsPlusSign<int32_t>::value &&
++      !IsTypeInRangeForNumericType<Dst, Src>::value;
++
++  __attribute__((always_inline)) static Dst Do(Src value) {
++    int32_t src = value;
++    typename std::conditional<std::is_signed<Dst>::value, int32_t,
++                              uint32_t>::type result;
++    if (std::is_signed<Dst>::value) {
++      asm("ssat %[dst], %[shift], %[src]"
++          : [dst] "=r"(result)
++          : [src] "r"(src), [shift] "n"(IntegerBitsPlusSign<Dst>::value <= 32
++                                            ? IntegerBitsPlusSign<Dst>::value
++                                            : 32));
++    } else {
++      asm("usat %[dst], %[shift], %[src]"
++          : [dst] "=r"(result)
++          : [src] "r"(src), [shift] "n"(IntegerBitsPlusSign<Dst>::value < 32
++                                            ? IntegerBitsPlusSign<Dst>::value
++                                            : 31));
++    }
++    return static_cast<Dst>(result);
++  }
++};
++
++}  // namespace internal
++}  // namespace base
++
++#endif  // BASE_NUMERICS_SAFE_CONVERSIONS_ARM_IMPL_H_
+diff --git a/base/numerics/safe_math_arm_impl.h b/base/numerics/safe_math_arm_impl.h
+new file mode 100644
+index 00000000..a7cda1bb
+--- /dev/null
++++ b/base/numerics/safe_math_arm_impl.h
+@@ -0,0 +1,122 @@
++// Copyright 2017 The Chromium Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style license that can be
++// found in the LICENSE file.
++
++#ifndef BASE_NUMERICS_SAFE_MATH_ARM_IMPL_H_
++#define BASE_NUMERICS_SAFE_MATH_ARM_IMPL_H_
++
++#include <cassert>
++#include <limits>
++#include <type_traits>
++
++#include "base/numerics/safe_conversions.h"
++
++namespace base {
++namespace internal {
++
++template <typename T, typename U>
++struct CheckedMulFastAsmOp {
++  static const bool is_supported =
++      FastIntegerArithmeticPromotion<T, U>::is_contained;
++
++  // The following is much more efficient than the Clang and GCC builtins for
++  // performing overflow-checked multiplication when a twice wider type is
++  // available. The below compiles down to 2-3 instructions, depending on the
++  // width of the types in use.
++  // As an example, an int32_t multiply compiles to:
++  //    smull   r0, r1, r0, r1
++  //    cmp     r1, r1, asr #31
++  // And an int16_t multiply compiles to:
++  //    smulbb  r1, r1, r0
++  //    asr     r2, r1, #16
++  //    cmp     r2, r1, asr #15
++  template <typename V>
++  __attribute__((always_inline)) static bool Do(T x, U y, V* result) {
++    using Promotion = typename FastIntegerArithmeticPromotion<T, U>::type;
++    Promotion presult;
++
++    presult = static_cast<Promotion>(x) * static_cast<Promotion>(y);
++    *result = static_cast<V>(presult);
++    return IsValueInRangeForNumericType<V>(presult);
++  }
++};
++
++template <typename T, typename U>
++struct ClampedAddFastAsmOp {
++  static const bool is_supported =
++      BigEnoughPromotion<T, U>::is_contained &&
++      IsTypeInRangeForNumericType<
++          int32_t,
++          typename BigEnoughPromotion<T, U>::type>::value;
++
++  template <typename V>
++  __attribute__((always_inline)) static V Do(T x, U y) {
++    // This will get promoted to an int, so let the compiler do whatever is
++    // clever and rely on the saturated cast to bounds check.
++    if (IsIntegerArithmeticSafe<int, T, U>::value)
++      return saturated_cast<V>(x + y);
++
++    int32_t result;
++    int32_t x_i32 = x;
++    int32_t y_i32 = y;
++
++    asm("qadd %[result], %[first], %[second]"
++        : [result] "=r"(result)
++        : [first] "r"(x_i32), [second] "r"(y_i32));
++    return saturated_cast<V>(result);
++  }
++};
++
++template <typename T, typename U>
++struct ClampedSubFastAsmOp {
++  static const bool is_supported =
++      BigEnoughPromotion<T, U>::is_contained &&
++      IsTypeInRangeForNumericType<
++          int32_t,
++          typename BigEnoughPromotion<T, U>::type>::value;
++
++  template <typename V>
++  __attribute__((always_inline)) static V Do(T x, U y) {
++    // This will get promoted to an int, so let the compiler do whatever is
++    // clever and rely on the saturated cast to bounds check.
++    if (IsIntegerArithmeticSafe<int, T, U>::value)
++      return saturated_cast<V>(x - y);
++
++    int32_t result;
++    int32_t x_i32 = x;
++    int32_t y_i32 = y;
++
++    asm("qsub %[result], %[first], %[second]"
++        : [result] "=r"(result)
++        : [first] "r"(x_i32), [second] "r"(y_i32));
++    return saturated_cast<V>(result);
++  }
++};
++
++template <typename T, typename U>
++struct ClampedMulFastAsmOp {
++  static const bool is_supported = CheckedMulFastAsmOp<T, U>::is_supported;
++
++  template <typename V>
++  __attribute__((always_inline)) static V Do(T x, U y) {
++    // Use the CheckedMulFastAsmOp for full-width 32-bit values, because
++    // it's fewer instructions than promoting and then saturating.
++    if (!IsIntegerArithmeticSafe<int32_t, T, U>::value &&
++        !IsIntegerArithmeticSafe<uint32_t, T, U>::value) {
++      V result;
++      if (CheckedMulFastAsmOp<T, U>::Do(x, y, &result))
++        return result;
++      return CommonMaxOrMin<V>(IsValueNegative(x) ^ IsValueNegative(y));
++    }
++
++    assert((FastIntegerArithmeticPromotion<T, U>::is_contained));
++    using Promotion = typename FastIntegerArithmeticPromotion<T, U>::type;
++    return saturated_cast<V>(static_cast<Promotion>(x) *
++                             static_cast<Promotion>(y));
++  }
++};
++
++}  // namespace internal
++}  // namespace base
++
++#endif  // BASE_NUMERICS_SAFE_MATH_ARM_IMPL_H_
+-- 
+2.20.0.rc2
+

diff --git a/dev-util/gn/gn-0.1479.ebuild b/dev-util/gn/gn-0.1479.ebuild
index fc369d2c0db..89fd565c959 100644
--- a/dev-util/gn/gn-0.1479.ebuild
+++ b/dev-util/gn/gn-0.1479.ebuild
@@ -22,6 +22,7 @@ BDEPEND="
 
 PATCHES=(
 	"${FILESDIR}"/gn-gen-r2.patch
+	"${FILESDIR}"/gn-numerics-arm.patch
 )
 
 pkg_setup() {


^ permalink raw reply related	[flat|nested] 5+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-util/gn/files/, dev-util/gn/
@ 2018-10-15  4:59 Mike Gilbert
  0 siblings, 0 replies; 5+ messages in thread
From: Mike Gilbert @ 2018-10-15  4:59 UTC (permalink / raw
  To: gentoo-commits

commit:     31b1852c8b72dbca9c03f9017c473b0f9add6dc0
Author:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 15 01:04:50 2018 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Mon Oct 15 04:59:02 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=31b1852c

dev-util/gn: bump to 0.1479

Package-Manager: Portage-2.3.50_p14, Repoman-2.3.11_p21
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>

 dev-util/gn/Manifest              |  1 +
 dev-util/gn/files/gn-gen-r2.patch | 70 +++++++++++++++++++++++++++++++++++++++
 dev-util/gn/gn-0.1479.ebuild      | 63 +++++++++++++++++++++++++++++++++++
 3 files changed, 134 insertions(+)

diff --git a/dev-util/gn/Manifest b/dev-util/gn/Manifest
index 0892e0a420b..7fc339c546c 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 00000000000..701a317bf02
--- /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 <floppym@gentoo.org>
+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 00000000000..fc369d2c0db
--- /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
+}


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-11-03 16:49 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-11-03 16:49 [gentoo-commits] repo/gentoo:master commit in: dev-util/gn/files/, dev-util/gn/ Stephan Hartmann
  -- strict thread matches above, loose matches on Subject: below --
2020-07-18 13:35 Mike Gilbert
2019-03-23 17:34 Mike Gilbert
2018-12-10 15:31 Mike Gilbert
2018-10-15  4:59 Mike Gilbert

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox