public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Benjamin A. Beasley <code@musicinmybrain.net>
To: git-commits@fedoraproject.org
Subject: [rpms/gn] rawhide: Update to version 2437
Date: Tue, 30 Jun 2026 13:15:56 GMT [thread overview]
Message-ID: <178282535684.1.16912430096823801720.rpms-gn-6a78373ba7fe@fedoraproject.org> (raw)
A new commit has been pushed.
Repo : rpms/gn
Branch : rawhide
Commit : 6a78373ba7fe6e7c5e1825fcc824e8ecdaccd356
Author : Benjamin A. Beasley <code@musicinmybrain.net>
Date : 2026-06-30T14:09:52+01:00
Stats : +303/-17 in 6 file(s)
URL : https://src.fedoraproject.org/rpms/gn/c/6a78373ba7fe6e7c5e1825fcc824e8ecdaccd356?branch=rawhide
Log:
Update to version 2437
- Correct and improve License expressions and license text file handling
- Deal with upstream vendoring of a header from the Rust cxx crate
- Invoke ninja via the %ninja_build macro
---
diff --git a/.gitignore b/.gitignore
index ab1ab1a..a5003bc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -130,3 +130,4 @@ vs-chromium-project.txt
/gn-6f8c0328ee29.tar.gz
/gn-28df2d93df29.tar.gz
/gn-c276f01685bc.tar.gz
+/gn-5223a47630df.tar.gz
diff --git a/LICENSE-2.0.txt b/LICENSE-2.0.txt
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/LICENSE-2.0.txt
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/LICENSE-MIT b/LICENSE-MIT
new file mode 100644
index 0000000..31aa793
--- /dev/null
+++ b/LICENSE-MIT
@@ -0,0 +1,23 @@
+Permission is hereby granted, free of charge, to any
+person obtaining a copy of this software and associated
+documentation files (the "Software"), to deal in the
+Software without restriction, including without
+limitation the rights to use, copy, modify, merge,
+publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software
+is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice
+shall be included in all copies or substantial portions
+of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
+TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
+SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
+IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/gn.spec b/gn.spec
index 1213826..3af8a21 100644
--- a/gn.spec
+++ b/gn.spec
@@ -1,3 +1,5 @@
+%bcond bundled_cxx 0
+
Name: gn
# Upstream uses the number of commits in the git history as the version number.
# See gn --version, which outputs something like “1874 (2b683eff)”. The commit
@@ -21,30 +23,54 @@ Name: gn
# 7. Commit the changes
#
# See https://gn.googlesource.com/gn/+log for the latest changes.
-%global commit c276f01685bc836f88331b105cce71b690a0e1f4
-%global access 20260621
+%global commit 5223a47630df1b51c5fb3fd9b4f942289cce3d9b
+%global access 20260630
%global shortcommit %{sub %{commit} 1 12}
-%global position 2423
+%global position 2437
Version: %{position}^%{access}.%{shortcommit}
Release: %autorelease
Summary: Meta-build system that generates build files for Ninja
# The entire source is BSD-3-Clause, except:
-# - src/base/third_party/icu/ is (Unicode-DFS-2016 AND ICU); see
-# src/base/third_party/icu/LICENSE and also the header comment in
-# src/base/third_party/icu/icu_utf.h.
#
-# Note that src/util/test/gn_test.cc, which is licensed Apache-2.0, does not
-# contribute to the binary RPMs, only to the gn_unittests executable, which is
-# not installed; you may verify this with:
-# gdb -ex 'set pagination off' -ex 'info sources' gn | grep -F gn_test.cc
-License: BSD-3-Clause AND Unicode-DFS-2016 AND ICU
+# - src/base/third_party/icu/ is (Unicode-DFS-2016 AND ICU); see
+# src/base/third_party/icu/LICENSE and also the header comment in
+# src/base/third_party/icu/icu_utf.h.
+# - src/gn/starlark/vendor/cxx/include/cxx.h is (MIT OR Apache-2.0); per
+# src/gn/starlark/vendor/cxx/README.md, it is
+# https://github.com/dtolnay/cxx/blob/1.0.194/include/cxx.h.
+%global bundled_cxx_version 1.0.194
+# The license texts for this are missing,
+# https://gn.issues.chromium.org/issues/529413117.
+# - gn/src/util/test/gn_test.cc, gn/infra/recipes/gn.py, and
+# gn/infra/recipes.py are Apache-2.0. The first does not contribute to the
+# binary RPMs, only to the gn_unittests executable, which is not installed;
+# not installed; you may verify this with:
+# gdb -ex 'set pagination off' -ex 'info sources' gn | grep -F gn_test.cc
+# However, the two files from gn/infra/ are installed in the -doc subpackage.
+# The required Apache-2.0 license text is missing,
+# https://gn.issues.chromium.org/issues/529413117.
+License: %{shrink:
+ BSD-3-Clause AND
+ ICU AND
+ Unicode-DFS-2016 AND
+ (Apache-2.0 OR MIT)
+ }
SourceLicense: %{license} AND Apache-2.0
URL: https://gn.googlesource.com/gn
Source0: %{url}/+archive/%{commit}.tar.gz#/gn-%{shortcommit}.tar.gz
# Generated using script update-version:
Source1: last_commit_position.h
Source2: update-version
+# Missing Apache-2.0 license text for src/gn/starlark/vendor/cxx/include/cxx.h,
+# gn/src/util/test/gn_test.cc, gn/infra/recipes/gn.py, and gn/infra/recipes.py.
+# https://gn.issues.chromium.org/issues/529413117
+Source3: https://www.apache.org/licenses/LICENSE-2.0.txt
+# Missing MIT license text for src/gn/starlark/vendor/cxx/include/cxx.h; the
+# corresponding LICENSE-APACHE would be identical to LICENSE-2.0.txt, above, so
+# we don’t need another copy.
+# https://gn.issues.chromium.org/issues/529413117
+Source4: https://github.com/dtolnay/cxx/raw/refs/tags/%{bundled_cxx_version}/LICENSE-MIT
# Downstream-only: do not override optimization flags
#
@@ -69,6 +95,13 @@ BuildRequires: gcc-c++
BuildRequires: emacs-common
BuildRequires: help2man
+%if %{without bundled_cxx}
+BuildRequires: cargo-rpm-macros
+# We express this as rust-cxx-devel rather than crate(cxx) because we don’t use
+# the package as a Rust crate, only for the C++ header file it contains, and
+# this better reflectes our intent.
+BuildRequires: (rust-cxx-devel >= 1.0.0 with rust-cxx-devel < 2.0.0~)
+%endif
Requires: vim-filesystem
Requires: python3
@@ -90,6 +123,10 @@ Provides: emacs-gn = %{version}-%{release}
# See src/base/third_party/icu/README.chromium, from which the version number
# is taken.
Provides: bundled(icu) = 60
+%if %{with bundled_cxx}
+# src/gn/starlark/vendor/cxx/include/cxx.h
+Provides: bundled(crate(cxx)) = %{bundled_cxx_version}
+%endif
%description
GN is a meta-build system that generates build files for Ninja.
@@ -99,6 +136,13 @@ GN is a meta-build system that generates build files for Ninja.
Summary: Documentation for GN
BuildArch: noarch
+# The entire source is BSD-3-Clause, except where otherwise noted in the
+# comment above the base package’s License field.
+#
+# The -doc subpackage contains files that are Apache-2.0:
+# gn/infra/recipes/gn.py and gn/infra/recipes.py.
+License: BSD-3-Clause AND Apache-2.0
+
%description doc
The gn-doc package contains detailed documentation for GN.
@@ -117,6 +161,22 @@ cp --preserve misc/vim/README.md README-vim.md
# Fix shebangs in examples and such.
%py3_shebang_fix .
+# Copy in missing license texts.
+cp --preserve '%{SOURCE3}' '%{SOURCE4}' .
+# Put the ICU license text somewhere it’s easy to install, with a unique name.
+cp --preserve src/base/third_party/icu/LICENSE LICENSE-ICU
+
+%if %{without bundled_cxx}
+cxx_header='src/gn/starlark/vendor/cxx/include/cxx.h'
+# Explicit removal asserts that we still have the right path, failing if the
+# file does not exist.
+rm "${cxx_header}"
+system_cxx_header="$(
+ rpm --query --list rust-cxx-devel | grep -E '/cxx\.h$' | head -n 1
+)"
+ln --symbolic --verbose "${system_cxx_header}" "${cxx_header}"
+%endif
+
%conf
AR='gcc-ar'; export AR
@@ -133,7 +193,7 @@ AR='gcc-ar'; export AR
%build
-ninja -j %{_smp_build_ncpus} -C out -v
+%ninja_build -C out
help2man \
--name='%{summary}' \
@@ -180,7 +240,7 @@ grep --extended-regexp \
%files
-%license LICENSE
+%license LICENSE LICENSE-ICU LICENSE-2.0.txt LICENSE-MIT
%{_bindir}/gn
%{_mandir}/man1/gn.1*
@@ -195,7 +255,7 @@ grep --extended-regexp \
%files doc
-%license LICENSE src/base/third_party/icu/README.chromium
+%license LICENSE LICENSE-2.0.txt
%doc AUTHORS
%doc OWNERS
%doc README*.md
diff --git a/last_commit_position.h b/last_commit_position.h
index f2a37dc..f3e249d 100644
--- a/last_commit_position.h
+++ b/last_commit_position.h
@@ -3,7 +3,7 @@
#ifndef OUT_LAST_COMMIT_POSITION_H_
#define OUT_LAST_COMMIT_POSITION_H_
-#define LAST_COMMIT_POSITION_NUM 2423
-#define LAST_COMMIT_POSITION "2423 (c276f01685bc)"
+#define LAST_COMMIT_POSITION_NUM 2437
+#define LAST_COMMIT_POSITION "2437 (5223a47630df)"
#endif // OUT_LAST_COMMIT_POSITION_H_
diff --git a/sources b/sources
index 6b31b8a..31ba626 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (gn-c276f01685bc.tar.gz) = 731104e3da09bcb9f06f4e420aebe92f31052212175cbda31468dbd3c6ef727165116e57e9a6694ad29c993822b059ec2283a3798d6629a0d24cd797bab39488
+SHA512 (gn-5223a47630df.tar.gz) = 7c067c5e39f7008ea0f39b4e897d94b52d7d6ebf69c28f8bb60e728e6f0ea957dfd6624accf6eb8afb6041abac1e3dcb33d3c34121753f2eb7818a5bcee380e4
reply other threads:[~2026-06-30 13:15 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=178282535684.1.16912430096823801720.rpms-gn-6a78373ba7fe@fedoraproject.org \
--to=code@musicinmybrain.net \
--cc=git-commits@fedoraproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox