public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/icecat] main: Update bundled cbindgen to 0.29.4| Patched for rust-1.98
@ 2026-09-03  6:38 Antonio Trande
  0 siblings, 0 replies; only message in thread
From: Antonio Trande @ 2026-09-03  6:38 UTC (permalink / raw)
  To: git-commits

A new commit has been pushed.

Repo   : rpms/icecat
Branch : main
Commit : b375325dacf89fd72e816c5548bd797e07e89fd0
Author : Antonio Trande <sagitter@fedoraproject.org>
Date   : 2026-09-03T08:37:57+02:00
Stats  : +119/-8 in 3 file(s)
URL    : https://src.fedoraproject.org/rpms/icecat/c/b375325dacf89fd72e816c5548bd797e07e89fd0?branch=main

Log:
Update bundled cbindgen to 0.29.4| Patched for rust-1.98

---
diff --git a/icecat-rust-1.98_additional_targets_mzb2053518.patch b/icecat-rust-1.98_additional_targets_mzb2053518.patch
new file mode 100644
index 0000000..db44c35
--- /dev/null
+++ b/icecat-rust-1.98_additional_targets_mzb2053518.patch
@@ -0,0 +1,109 @@
+From 1ecaa12836a69896dd6702fb5ed5e13979399371 Mon Sep 17 00:00:00 2001
+From: Jesse Schwartzentruber <truber@mozilla.com>
+Date: Tue, 28 Jul 2026 17:26:38 +0000
+Subject: [PATCH] Bug 2053518 - Handle the *-oe-linux-* rust targets added in
+ rustc 1.98 in rust target detection.
+ r=firefox-build-system-reviewers,glandium
+
+Differential Revision: https://phabricator.services.mozilla.com/D311145
+---
+ build/moz.configure/rust.configure            | 29 ++++++++++++++++---
+ .../configure/test_toolchain_configure.py     | 15 ++++++++++
+ 2 files changed, 40 insertions(+), 4 deletions(-)
+
+diff --git a/build/moz.configure/rust.configure b/build/moz.configure/rust.configure
+index 5525c26a184da..35cb30416c647 100644
+--- a/build/moz.configure/rust.configure
++++ b/build/moz.configure/rust.configure
+@@ -302,6 +302,11 @@
+         elif not candidates:
+             return None
+ 
++        # config.guess uses the "pc" vendor for x86/x86_64 where rust uses its
++        # generic "unknown" vendor; normalize so we correlate on the right one.
++        vendor = "unknown" if host_or_target.vendor == "pc" else host_or_target.vendor
++
++
+         # We have multiple candidates. There are two cases where we can try to
+         # narrow further down using extra information from the build system.
+         # - For windows targets, correlate with the C compiler type
+@@ -369,11 +374,19 @@
+             else:
+                 suffix = ""
+             for p in prefixes:
+-                for c in candidates:
+-                    if c.rust_target.startswith(
+-                        "{}-".format(p)
+-                    ) and c.rust_target.endswith(suffix):
++                matches = [
++                    c
++                    for c in candidates
++                    if c.rust_target.startswith("{}-".format(p))
++                    and c.rust_target.endswith(suffix)
++                ]
++                if not matches:
++                    continue
++                # As below, correlate on the (normalized) vendor.
++                for c in matches:
++                    if c.target.vendor == vendor:
+                         return c.rust_target
++                return matches[0].rust_target
+ 
+         # See if we can narrow down on the exact alias.
+         # We use the sub_configure_alias to keep support mingw32 triplets as input.
+@@ -402,6 +415,15 @@
+             elif narrowed:
+                 candidates = narrowed
+ 
++        # Correlate on the (normalized) vendor, so vendor-specific targets (e.g.
++        # the *-oe-linux-gnu targets added in rust 1.98) don't shadow the
++        # generic ones for aliases whose vendor doesn't match a rust target.
++        narrowed = [c for c in candidates if c.target.vendor == vendor]
++        if len(narrowed) == 1:
++            return narrowed[0].rust_target
++        elif narrowed:
++            candidates = narrowed
++
+         # See if we can narrow down with the raw OS and raw CPU
+         narrowed = [
+             c
+diff --git a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
+index 58a736ee85fcc..7dfb0efb9201c 100644
+--- a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
++++ b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
+@@ -1992,6 +1992,16 @@
+                 rust_targets += [
+                     "wasm32v1-none",
+                 ]
++            # Additional targets from 1.98
++            if Version(version) >= "1.98.0":
++                rust_targets += [
++                    "aarch64-oe-linux-gnu",
++                    "armv7-oe-linux-gnueabihf",
++                    "i686-oe-linux-gnu",
++                    "riscv64-oe-linux-gnu",
++                    "x86_64-oe-linux-gnu",
++                    "x86_64-pc-linux-gnu",
++                ]
+                 rust_targets.remove("wasm32-wasi")
+ 
+             return 0, "\n".join(sorted(rust_targets)), ""
+@@ -2089,6 +2099,7 @@
+             ("x86_64-unknown-linux-android", "x86_64-linux-android"),
+             ("x86_64-unknown-linux-android21", "x86_64-linux-android"),
+             ("x86_64-pc-linux-gnu", "x86_64-unknown-linux-gnu"),
++            ("riscv64-unknown-linux-gnu", "riscv64gc-unknown-linux-gnu"),
+             ("sparcv9-sun-solaris2", "sparcv9-sun-solaris"),
+             (
+                 "x86_64-sun-solaris2",
+@@ -2241,5 +2252,10 @@
+         self.assertEqual(self.get_rust_target("wasm32-unknown-wasi"), "wasm32-wasip1")
+ 
+ 
++# Exercises the vendor-specific *-oe-linux-* targets added in rust 1.98.
++class Rust198Test(RustTest):
++    VERSION = "1.98.0"
++
++
+ if __name__ == "__main__":
+     main()

diff --git a/icecat.spec b/icecat.spec
index cc5ba1d..14c9a33 100644
--- a/icecat.spec
+++ b/icecat.spec
@@ -7,9 +7,9 @@
 
 ExcludeArch: %{ix86} %{arm}
 
-# Bundled cbindgen-0.29.3
+# Bundled cbindgen-0.29.4
 # Enable only if system cbindgen is not available and/or incompatible
-%global use_bundled_cbindgen  1
+%global use_bundled_cbindgen 0
 
 ####################
 
@@ -160,6 +160,7 @@ Patch226: rhbz-1354671.patch
 # Build patches
 Patch228: %{name}-protobuf_s390.patch
 Patch229: mozilla-2034301.patch
+Patch230: icecat-rust-1.98_additional_targets_mzb2053518.patch
 
 # Fix crash on ppc64le (mozilla#1512162)
 Patch423: mozilla-1512162.patch
@@ -346,17 +347,18 @@ tar -xf %{SOURCE5}
 %patch -P 227 -p 1 -b .build-seccomp
 %endif
 
+# ARM64
+%ifarch %{arm64}
+%patch -P 226 -p 1 -b .1354671
+%endif
+
 # s390x
 %ifarch s390x
 %patch -P 228 -p 1 -b .build-protobuf
 %endif
 
 %patch -P 229 -p 1 -b .incom-pointer
-
-# ARM64
-%ifarch %{arm64}
-%patch -P 226 -p 1 -b .1354671
-%endif
+%patch -P 230 -p 1 -b .rust_additional_targets
 
 %ifarch %{power64}
 %patch -P 423 -p 1 -b .1512162

diff --git a/sources b/sources
index 02964c2..6bc0bd5 100644
--- a/sources
+++ b/sources
@@ -1,4 +1,4 @@
-SHA512 (cbindgen-vendor.tar.xz) = ac3f6d2b94f052dc9a5003a5789470e9a5b50590c95d3da8fe29bbbd08d5f3e4939023a4322d207c3779a4252631f33df466c3195950257b54a03b0bff62579a
+SHA512 (cbindgen-vendor.tar.xz) = 532844c3253bd0b1ee2ed751df8e7b777515877173ab1958e75fc11488908b87ba1aea0d5148c0f2a0b3ca8494ff186f82de1aaf86e8cab38b4eeb02c23e43b3
 SHA512 (icecat-140.15.0-langpacks.tar.gz) = dc0978aaa1f381887ada136d684620425305c3499f97040601ec01f1a6c663c87e6acc5df85a03a972dc99469a4df2e3ab5a55746aa23c17029782ffb0827668
 SHA512 (icecat-140.15.0-rh1.tar.bz2) = aaaddd0a94f2c7b7cbb085f53a129139dc87fcea729e0b11f40650c63cb98e1f62a44ccfd35ef48083ef718a6e5830138e3a302c25df7f753366c0f04d0d25a1
 SHA512 (icecat-COPYING-licensefiles.tar.gz) = ed541845170f1d209e322b0def3248d571e0c42c4a17c74e83197e743bd8a128a1475f5312d905c8e70d047eddeac17e604373892eb6d5f1720c5c361849c42c

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-09-03  6:38 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-03  6:38 [rpms/icecat] main: Update bundled cbindgen to 0.29.4| Patched for rust-1.98 Antonio Trande

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