Architecture specific change in rpms/rust-concurrent-queue.git
by githook-noreply@fedoraproject.org
The package rpms/rust-concurrent-queue.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/rust-concurrent-queue.git/commit/....
Change:
-%ifnarch s390x
Thanks.
Full change:
============
commit 3ddbb88e895268d7646ebf5500744f10f47739a1
Author: Fabio Valentini <decathorpe(a)gmail.com>
Date: Sun Dec 4 14:33:19 2022 +0100
Update to version 2.0.0; Fixes RHBZ#2141178
diff --git a/.gitignore b/.gitignore
index 73af755..3b4a7bc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,3 +4,4 @@
/concurrent-queue-1.2.2.crate
/concurrent-queue-1.2.3.crate
/concurrent-queue-1.2.4.crate
+/concurrent-queue-2.0.0.crate
diff --git a/concurrent-queue-fix-metadata-auto.diff b/concurrent-queue-fix-metadata-auto.diff
new file mode 100644
index 0000000..d481556
--- /dev/null
+++ b/concurrent-queue-fix-metadata-auto.diff
@@ -0,0 +1,9 @@
+--- concurrent-queue-2.0.0/Cargo.toml 1970-01-01T00:00:01+00:00
++++ concurrent-queue-2.0.0/Cargo.toml 1970-01-01T00:00:01+00:00
+@@ -62,6 +62,3 @@
+ default = ["std"]
+ std = []
+
+-[target."cfg(loom)".dependencies.loom]
+-version = "0.5"
+-optional = true
diff --git a/concurrent-queue-fix-metadata.diff b/concurrent-queue-fix-metadata.diff
new file mode 100644
index 0000000..d94af30
--- /dev/null
+++ b/concurrent-queue-fix-metadata.diff
@@ -0,0 +1,12 @@
+--- concurrent-queue-2.0.0/Cargo.toml 1970-01-01T00:00:01+00:00
++++ concurrent-queue-2.0.0/Cargo.toml 2022-12-04T13:30:25.029288+00:00
+@@ -49,9 +49,6 @@
+ optional = true
+ default-features = false
+
+-[dev-dependencies.criterion]
+-version = "0.3.4"
+-
+ [dev-dependencies.easy-parallel]
+ version = "3.1.0"
+
diff --git a/rust-concurrent-queue.spec b/rust-concurrent-queue.spec
index 090083c..9d23701 100644
--- a/rust-concurrent-queue.spec
+++ b/rust-concurrent-queue.spec
@@ -1,19 +1,22 @@
-# Generated by rust2rpm 22
+# Generated by rust2rpm 23
%bcond_without check
%global debug_package %{nil}
%global crate concurrent-queue
Name: rust-concurrent-queue
-Version: 1.2.4
+Version: 2.0.0
Release: %autorelease
Summary: Concurrent multi-producer multi-consumer queue
License: Apache-2.0 OR MIT
URL: https://crates.io/crates/concurrent-queue
Source: %{crates_source}
-
-ExclusiveArch: %{rust_arches}
+# Automatically generated patch to strip foreign dependencies
+Patch: concurrent-queue-fix-metadata-auto.diff
+# Manually created patch for downstream crate metadata changes
+# * drop unused, benchmark-only criterion dev-dependency to speed up builds
+Patch: concurrent-queue-fix-metadata.diff
BuildRequires: rust-packaging >= 21
@@ -50,6 +53,18 @@ use the "default" feature of the "%{crate}" crate.
%files -n %{name}+default-devel
%ghost %{crate_instdir}/Cargo.toml
+%package -n %{name}+std-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+std-devel %{_description}
+
+This package contains library source intended for building other packages which
+use the "std" feature of the "%{crate}" crate.
+
+%files -n %{name}+std-devel
+%ghost %{crate_instdir}/Cargo.toml
+
%prep
%autosetup -n %{crate}-%{version_no_tilde} -p1
%cargo_prep
@@ -65,12 +80,8 @@ use the "default" feature of the "%{crate}" crate.
%if %{with check}
%check
-%ifnarch s390x
-# * some tests fail or get stuck on s390x when compiled with LLVM 13:
-# https://github.com/smol-rs/concurrent-queue/issues/21
%cargo_test
%endif
-%endif
%changelog
%autochangelog
diff --git a/rust2rpm.conf b/rust2rpm.conf
new file mode 100644
index 0000000..ce6e74a
--- /dev/null
+++ b/rust2rpm.conf
@@ -0,0 +1,3 @@
+[DEFAULT]
+unwanted-features =
+ portable-atomic
diff --git a/sources b/sources
index 24c8f55..900daf1 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (concurrent-queue-1.2.4.crate) = 4c0c81f02bc10b1ac25880f7a9647d787742f694a8cbc6aa921cb76c5416bae7ad94eab857e48d56a42243a96cc86bb0b7e18651021d281cca90d77a644d941a
+SHA512 (concurrent-queue-2.0.0.crate) = e518fb6c25424f49eceff427a5a4840ef277eceb8bde40c73604e798397eb4733b513de26f147093012a0addaced14540b88b411d176b95065f3cc60788c3e08
1 year, 4 months
Architecture specific change in rpms/firefox.git
by githook-noreply@fedoraproject.org
The package rpms/firefox.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/firefox.git/commit/?id=cd7d2b004a....
Change:
-ExcludeArch: armv7hl
Thanks.
Full change:
============
commit cd7d2b004aab96ba5a9b1545f1e5244c50f1781a
Author: Martin Stransky <stransky(a)redhat.com>
Date: Wed Dec 21 10:41:32 2022 +0100
Added second arch build fix
diff --git a/D164896.diff b/D164896.diff
new file mode 100644
index 0000000..3212ea5
--- /dev/null
+++ b/D164896.diff
@@ -0,0 +1,1842 @@
+diff --git a/Cargo.lock b/Cargo.lock
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -5775,13 +5775,13 @@
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "957e51f3646910546462e67d5f7599b9e4fb8acdd304b087a6494730f9eebf04"
+
+ [[package]]
+ name = "uniffi"
+-version = "0.21.0"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "f54af5ada67d1173457a99a7bb44a7917f63e7466764cb4714865c7a6678b830"
++version = "0.21.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b983553c0d1ad73547c65fa0c399aa800bee4a70ad330198e1c7a523212da5ee"
+ dependencies = [
+ "anyhow",
+ "bytes 1.2.1",
+ "camino",
+ "cargo_metadata",
+@@ -5885,13 +5885,11 @@
+ "uniffi_macros",
+ ]
+
+ [[package]]
+ name = "uniffi_bindgen"
+-version = "0.21.0"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "12cc4af3c0180c7e86c4a3acf2b6587af04ba2567b1e948993df10f421796621"
++version = "0.21.1"
+ dependencies = [
+ "anyhow",
+ "askama",
+ "bincode",
+ "camino",
+@@ -5908,24 +5906,34 @@
+ "weedle2",
+ ]
+
+ [[package]]
+ name = "uniffi_build"
+-version = "0.21.0"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "510287c368a9386eb731ebe824a6fc6c82a105e20d020af1aa20519c1c1561db"
++version = "0.21.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d035e50433ee3d52ab0dcdcf3b9b26f2cc2ec39294b3c07d95865a518709455f"
+ dependencies = [
+ "anyhow",
+ "camino",
+ "uniffi_bindgen",
+ ]
+
+ [[package]]
++name = "uniffi_checksum_derive"
++version = "0.21.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "78b6e16d46caf942016997af8bbdf4b163bf8ae3deb0b667d9643de7b7ffd4c9"
++dependencies = [
++ "quote",
++ "syn",
++]
++
++[[package]]
+ name = "uniffi_macros"
+-version = "0.21.0"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "5c8604503caa2cbcf271578dc51ca236d40e3b22e1514ffa2e638e2c39f6ad10"
++version = "0.21.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c96a574677566f83ea8458dac1dd7792fd63e7c3f9dbcd865f0e8d6f8057b127"
+ dependencies = [
+ "bincode",
+ "camino",
+ "fs-err",
+ "once_cell",
+@@ -5938,15 +5946,17 @@
+ "uniffi_meta",
+ ]
+
+ [[package]]
+ name = "uniffi_meta"
+-version = "0.21.0"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "cd9417cc653937681436b93838d8c5f97a5b8c58697813982ee8810bd1dc3b57"
++version = "0.21.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "729835442da829c9b6f7c111c76cf87b2498e129101203bec94f0c39a3296a38"
+ dependencies = [
+ "serde",
++ "siphasher",
++ "uniffi_checksum_derive",
+ ]
+
+ [[package]]
+ name = "unix_path"
+ version = "1.0.1"
+diff --git a/Cargo.toml b/Cargo.toml
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -180,10 +180,14 @@
+ # okay, but it means that their dependencies on UniFFI crates will normally
+ # also be the git versions. Patch them to use the published versions to avoid
+ # duplicate crates.
+
+ [patch."https://github.com/mozilla/uniffi-rs.git"]
+-uniffi = "=0.21.0"
+-uniffi_bindgen = "=0.21.0"
+-uniffi_build = "=0.21.0"
+-uniffi_macros = "=0.21.0"
++uniffi = "=0.21.1"
++#uniffi_bindgen = "=0.21.1"
++uniffi_build = "=0.21.1"
++uniffi_macros = "=0.21.1"
+ weedle2 = "=4.0.0"
++
++# Patched to use uniffi_version = 0.21.0 for checksums.
++[patch.crates-io.uniffi_bindgen]
++path = "third_party/rust/uniffi_bindgen"
+diff --git a/supply-chain/audits.toml b/supply-chain/audits.toml
+--- a/supply-chain/audits.toml
++++ b/supply-chain/audits.toml
+@@ -1535,10 +1535,16 @@
+ who = "Jan-Erik Rediger <jrediger(a)mozilla.com>"
+ criteria = "safe-to-deploy"
+ delta = "0.20.0 -> 0.21.0"
+ notes = "Maintained by the Glean and Application Services team."
+
++[[audits.uniffi]]
++who = "Mike Hommey <mh+mozilla(a)glandium.org>"
++criteria = "safe-to-deploy"
++delta = "0.21.0 -> 0.21.1"
++notes = "No changes."
++
+ [[audits.uniffi_bindgen]]
+ who = "Travis Long <tlong(a)mozilla.com>"
+ criteria = "safe-to-deploy"
+ version = "0.19.3"
+ notes = "Maintained by the Glean and Application Services teams."
+@@ -1558,10 +1564,16 @@
+ who = "Jan-Erik Rediger <jrediger(a)mozilla.com>"
+ criteria = "safe-to-deploy"
+ delta = "0.20.0 -> 0.21.0"
+ notes = "Maintained by the Glean and Application Services team."
+
++[[audits.uniffi_bindgen]]
++who = "Mike Hommey <mh+mozilla(a)glandium.org>"
++criteria = "safe-to-deploy"
++delta = "0.21.0 -> 0.21.1"
++notes = "I authored the changes in this version."
++
+ [[audits.uniffi_build]]
+ who = "Travis Long <tlong(a)mozilla.com>"
+ criteria = "safe-to-deploy"
+ version = "0.19.3"
+ notes = "Maintained by the Glean and Application Services teams."
+@@ -1581,10 +1593,22 @@
+ who = "Jan-Erik Rediger <jrediger(a)mozilla.com>"
+ criteria = "safe-to-deploy"
+ delta = "0.20.0 -> 0.21.0"
+ notes = "Maintained by the Glean and Application Services team."
+
++[[audits.uniffi_build]]
++who = "Mike Hommey <mh+mozilla(a)glandium.org>"
++criteria = "safe-to-deploy"
++delta = "0.21.0 -> 0.21.1"
++notes = "No changes."
++
++[[audits.uniffi_checksum_derive]]
++who = "Mike Hommey <mh+mozilla(a)glandium.org>"
++criteria = "safe-to-deploy"
++version = "0.21.1"
++notes = "I authored this crate."
++
+ [[audits.uniffi_macros]]
+ who = "Travis Long <tlong(a)mozilla.com>"
+ criteria = "safe-to-deploy"
+ version = "0.19.3"
+ notes = "Maintained by the Glean and Application Services teams."
+@@ -1604,10 +1628,16 @@
+ who = "Jan-Erik Rediger <jrediger(a)mozilla.com>"
+ criteria = "safe-to-deploy"
+ delta = "0.20.0 -> 0.21.0"
+ notes = "Maintained by the Glean and Application Services team."
+
++[[audits.uniffi_macros]]
++who = "Mike Hommey <mh+mozilla(a)glandium.org>"
++criteria = "safe-to-deploy"
++delta = "0.21.0 -> 0.21.1"
++notes = "No changes."
++
+ [[audits.uniffi_meta]]
+ who = "Jan-Erik Rediger <jrediger(a)mozilla.com>"
+ criteria = "safe-to-deploy"
+ version = "0.19.6"
+ notes = "Maintained by the Glean and Application Services team."
+@@ -1621,10 +1651,16 @@
+ who = "Jan-Erik Rediger <jrediger(a)mozilla.com>"
+ criteria = "safe-to-deploy"
+ delta = "0.20.0 -> 0.21.0"
+ notes = "Maintained by the Glean and Application Services team."
+
++[[audits.uniffi_meta]]
++who = "Mike Hommey <mh+mozilla(a)glandium.org>"
++criteria = "safe-to-deploy"
++delta = "0.21.0 -> 0.21.1"
++notes = "I authored the changes in this version."
++
+ [[audits.void]]
+ who = "Bobby Holley <bobbyholley(a)gmail.com>"
+ criteria = "safe-to-deploy"
+ version = "1.0.2"
+ notes = "Very small crate, just hosts the Void type for easier cross-crate interfacing."
+diff --git a/supply-chain/config.toml b/supply-chain/config.toml
+--- a/supply-chain/config.toml
++++ b/supply-chain/config.toml
+@@ -156,10 +156,14 @@
+
+ [policy.tabs]
+ audit-as-crates-io = false
+ notes = "This is a first-party crate, maintained by the appservices team, which is entirely unrelated to the crates.io package of the same name."
+
++[policy.uniffi_bindgen]
++audit-as-crates-io = false
++notes = "This is a first-party crate, normally vendored, but currently patched in-tree until next update."
++
+ [policy.viaduct]
+ audit-as-crates-io = false
+ notes = "This is a first-party crate, maintained by the appservices team, which is entirely unrelated to the crates.io package of the same name."
+
+ [policy.webdriver]
+diff --git a/third_party/rust/uniffi/.cargo-checksum.json b/third_party/rust/uniffi/.cargo-checksum.json
+--- a/third_party/rust/uniffi/.cargo-checksum.json
++++ b/third_party/rust/uniffi/.cargo-checksum.json
+@@ -1 +1 @@
+-{"files":{"Cargo.toml":"b7bde8b1b6bb7e1420c9c486d7562d1639fbb82a2b6459b8b3b7d15f002377d3","release.toml":"a6602545cd6eb46e44d89ce946d7954957ac00f1c955de54c736fa2cb560b1df","src/ffi/ffidefault.rs":"c7ab752fffed17c3fabb60e818ad1d093482f95dd0bdeae6871287695c583e48","src/ffi/foreignbytes.rs":"37061e2da7135576abccb86fe27b4fefc054586a040f2ca81fe9858d5649e887","src/ffi/foreigncallbacks.rs":"c0974920313ac81dd4bb28a51dd9e9ef50c8ea6d965f0bfdde58c661a4ca719f","src/ffi/mod.rs":"3fb3b74607066e0052fc91168e9473dbf82dbae562f85c33774a7f5f6b350616","src/ffi/rustbuffer.rs":"b773637d9e4651b80cd16f7a02ed75846d02ce0a9e32b718ce644cdba3a83cdd","src/ffi/rustcalls.rs":"4a85a90b0d46974ab9e80e403a1cddaa252337b227e1a672bb6fdbbca5a66259","src/lib.rs":"83614739f8c0c939b217755cfde169a85608a52ea197f63f7850e5765e2c5f97","src/panichook.rs":"9f49c7994a8e5489c1105c488bb3f8c5571bc5f813e7be90441eca15da5c9851","src/testing.rs":"f287d682a8f27465838b2aba91993c635a4dcd281d802dc12c7c75794324123f","tests/ui/proc_macro_arc.rs":"d766dffee3fe6a93522d40f44a7f15592db141fd674034fa5f016e06f510e87b","tests/ui/proc_macro_arc.stderr":"9e7d098abdd47f249ff62fe0a2ee0f8b96282ec5a3be0c48a778baab4624180f","tests/ui/version_mismatch.rs":"16ea359e5853517ee0d0704c015ae8c825533109fbefd715130d0f4a51f15898","tests/ui/version_mismatch.stderr":"aadbd8f3847f5663022d8dd75d6afa3b25dfc8abccd30b386a681f98587d4ceb"},"package":"f54af5ada67d1173457a99a7bb44a7917f63e7466764cb4714865c7a6678b830"}
+\ No newline at end of file
++{"files":{"Cargo.toml":"40a5376941ee93f7d3d013862731eaced1121c852bd4df4affe1cd65bf9b68be","release.toml":"a6602545cd6eb46e44d89ce946d7954957ac00f1c955de54c736fa2cb560b1df","src/ffi/ffidefault.rs":"c7ab752fffed17c3fabb60e818ad1d093482f95dd0bdeae6871287695c583e48","src/ffi/foreignbytes.rs":"37061e2da7135576abccb86fe27b4fefc054586a040f2ca81fe9858d5649e887","src/ffi/foreigncallbacks.rs":"c0974920313ac81dd4bb28a51dd9e9ef50c8ea6d965f0bfdde58c661a4ca719f","src/ffi/mod.rs":"3fb3b74607066e0052fc91168e9473dbf82dbae562f85c33774a7f5f6b350616","src/ffi/rustbuffer.rs":"b773637d9e4651b80cd16f7a02ed75846d02ce0a9e32b718ce644cdba3a83cdd","src/ffi/rustcalls.rs":"4a85a90b0d46974ab9e80e403a1cddaa252337b227e1a672bb6fdbbca5a66259","src/lib.rs":"83614739f8c0c939b217755cfde169a85608a52ea197f63f7850e5765e2c5f97","src/panichook.rs":"9f49c7994a8e5489c1105c488bb3f8c5571bc5f813e7be90441eca15da5c9851","src/testing.rs":"f287d682a8f27465838b2aba91993c635a4dcd281d802dc12c7c75794324123f","tests/ui/proc_macro_arc.rs":"d766dffee3fe6a93522d40f44a7f15592db141fd674034fa5f016e06f510e87b","tests/ui/proc_macro_arc.stderr":"9e7d098abdd47f249ff62fe0a2ee0f8b96282ec5a3be0c48a778baab4624180f","tests/ui/version_mismatch.rs":"16ea359e5853517ee0d0704c015ae8c825533109fbefd715130d0f4a51f15898","tests/ui/version_mismatch.stderr":"aadbd8f3847f5663022d8dd75d6afa3b25dfc8abccd30b386a681f98587d4ceb"},"package":"b983553c0d1ad73547c65fa0c399aa800bee4a70ad330198e1c7a523212da5ee"}
+\ No newline at end of file
+diff --git a/third_party/rust/uniffi/Cargo.toml b/third_party/rust/uniffi/Cargo.toml
+--- a/third_party/rust/uniffi/Cargo.toml
++++ b/third_party/rust/uniffi/Cargo.toml
+@@ -10,22 +10,21 @@
+ # See Cargo.toml.orig for the original contents.
+
+ [package]
+ edition = "2021"
+ name = "uniffi"
+-version = "0.21.0"
++version = "0.21.1"
+ authors = ["Firefox Sync Team <sync-team(a)mozilla.com>"]
+ description = "a multi-language bindings generator for rust (runtime support code)"
+ homepage = "https://mozilla.github.io/uniffi-rs"
+ documentation = "https://mozilla.github.io/uniffi-rs"
+ keywords = [
+ "ffi",
+ "bindgen",
+ ]
+ license = "MPL-2.0"
+ repository = "https://github.com/mozilla/uniffi-rs"
+-resolver = "2"
+
+ [dependencies.anyhow]
+ version = "1"
+
+ [dependencies.bytes]
+@@ -48,15 +47,15 @@
+
+ [dependencies.static_assertions]
+ version = "1.1.0"
+
+ [dependencies.uniffi_bindgen]
+-version = "=0.21.0"
++version = "=0.21.1"
+ optional = true
+
+ [dependencies.uniffi_macros]
+-version = "=0.21.0"
++version = "=0.21.1"
+
+ [dev-dependencies.trybuild]
+ version = "1"
+
+ [features]
+diff --git a/third_party/rust/uniffi_bindgen/.cargo-checksum.json b/third_party/rust/uniffi_bindgen/.cargo-checksum.json
+--- a/third_party/rust/uniffi_bindgen/.cargo-checksum.json
++++ b/third_party/rust/uniffi_bindgen/.cargo-checksum.json
+@@ -1 +1 @@
+-{"files":{"Cargo.lock":"5ed0714fd87076b5b5f11ca60553f12559e69794c2fec7d487a398f31a577a5f","Cargo.toml":"209b8cb7759ec813ee1e27a4b7e1d2bed2604c37d7c55578058bc7089ee9557e","askama.toml":"1a245b7803adca782837e125c49100147d2de0d5a1c949ff95e91af1701f6058","src/backend/config.rs":"4861dbf251dbb10beb1ed7e3eea7d79499a0de1cd9ce9ee8381a0e729c097dea","src/backend/declarations.rs":"12b8d6e651f84634de5cd02a47601965df7438f64f1a73f136bd89b6b5d515cf","src/backend/mod.rs":"899cd3b816d0467e35789b92ac3b8d5910f6dab98156d405db4803da8721fd36","src/backend/oracle.rs":"9e2b8a45af604a6e4952644e81f43f6aec6e0a1d03939c68b582529dd01a51e0","src/backend/types.rs":"7c49a92096a54eefd2336c48d60fe20ded9490142ab3a229a7c1a99fec14df3d","src/bindings/kotlin/gen_kotlin/callback_interface.rs":"b7fe795670830f3aa8a955c787b1127fe68313ee751013948527948fe5526b01","src/bindings/kotlin/gen_kotlin/compounds.rs":"d1e9a4237ff2ff711a3eae7a564c39e26f598c156ebfd34c0f04879e3533dd4f","src/bindings/kotlin/gen_kotlin/custom.rs":"4176f6ed5f66504f8fd981198bbfbae795dab5ef0d0281881d19b697f5560c44","src/bindings/kotlin/gen_kotlin/enum_.rs":"f85ae8dcb55c8f274139bf321af0ba237ae69894165ad6bd693d793f58af8e5e","src/bindings/kotlin/gen_kotlin/error.rs":"867f583aea5da7aabeb9b6d2544d7e52984cdea4aa008ce5f2ec941074735e1a","src/bindings/kotlin/gen_kotlin/external.rs":"1f7e91d7439891fe3c403274e35880ee4fc3a0da555510bdfa23c1ed2bbd8020","src/bindings/kotlin/gen_kotlin/miscellany.rs":"644ee5bb1f3619be5a36b2b3900af554ea38073cd054004f421e69c3cb8d50bc","src/bindings/kotlin/gen_kotlin/mod.rs":"90412e7927c284668a9eb75823c198182e58e5177d5561896c43b79367564b27","src/bindings/kotlin/gen_kotlin/object.rs":"6478a3e9d5e66186521730d0d481abd1ee4f123050ea050ac5a483842f08b003","src/bindings/kotlin/gen_kotlin/primitives.rs":"914d1f8253ed6a2937f67e8bd8f04f46aef4f22455ceb8a6caa84427adc2093e","src/bindings/kotlin/gen_kotlin/record.rs":"7961fcfbec5ebf8fc010b564ea4bd59402c919f6922898d48226d8c995569dd7","src/bindings/kotlin/mod.rs":"e68f2ea29e66ee62a56704e1e4464eea6d28bbdb52ab187bbe7a57ab3f362ea7","src/bindings/kotlin/templates/BooleanHelper.kt":"28e8a5088c8d58c9bfdbc575af8d8725060521fdd7d092684a8044b24ae567c7","src/bindings/kotlin/templates/CallbackInterfaceRuntime.kt":"6ede374b0fcbb3bcc939894e6f4729b3bec7ec7356831a60fba96ca38dc91aa8","src/bindings/kotlin/templates/CallbackInterfaceTemplate.kt":"5a704eb8c044ed22905e4d526ee3fc0b86f42fe82ac1eb4ad3758ad0552ea8c8","src/bindings/kotlin/templates/CustomTypeTemplate.kt":"5d4dacf29e89bcdcc46d155d993e6059d2df704e775dc853469310198253b231","src/bindings/kotlin/templates/DurationHelper.kt":"414a98161538a26f3a9b357353270c1f245ad6ceed99496aca7162cf473a92fd","src/bindings/kotlin/templates/EnumTemplate.kt":"ab3e2063aad3b91188db839dceb59b854a6a8b60fb35e545e270e64fee7c73fa","src/bindings/kotlin/templates/ErrorTemplate.kt":"a5ec2bdfc026838e1096dbf3301f21aa4ea22e8c93458d45bb1c8c7b9ee1fc5b","src/bindings/kotlin/templates/ExternalTypeTemplate.kt":"2097e0b830640ef18c79449ffa376d1dd35a8c4a5230e413c915f3b868aae872","src/bindings/kotlin/templates/FfiConverterTemplate.kt":"aa22962aaa9f641d48ccf44cb56d9f8a7736cbfaa01e1a1656662cfe5dd5c1d7","src/bindings/kotlin/templates/Float32Helper.kt":"662d95af3b629d143fb4d47cb7e9aa26ed28a5f3846de0341e28b0f9fb08bc25","src/bindings/kotlin/templates/Float64Helper.kt":"a77d099fa7d91e8702c1700e7949ffb6aaba9c6e8041ff48bab34b8e1fc9a0aa","src/bindings/kotlin/templates/Helpers.kt":"46c07798a26b53b06405c8bbbf86e3fcf38fadc1484ea04ce9d482defea89288","src/bindings/kotlin/templates/Int16Helper.kt":"7f83c4a48e1f3b2a59a3ca6a2662be8bc9baf3a5a748b31223cb3f51721ef249","src/bindings/kotlin/templates/Int32Helper.kt":"e02e4702175554b09fd2dd6ac3089dcd2c395f08ec60e762159566a9c9889450","src/bindings/kotlin/templates/Int64Helper.kt":"7a6fd6ca486852c89399c699935a9dfa1c32b9356d9a965cfde532581f05d9fa","src/bindings/kotlin/templates/Int8Helper.kt":"0554545494b6b9a76ce94f9c1723f8cf4230a13076feb75d620b1c9ca1ac4668","src/bindings/kotlin/templates/MapTemplate.kt":"399569d6443e8ad01e2deb95d78d8d2d15bf8eccee8be4fbe9ce4b8ebc0a6101","src/bindings/kotlin/templates/NamespaceLibraryTemplate.kt":"1eba4e77381155c2c96a6af2ef30fca881ade4957852f730fd10aa4f3d9cd3c4","src/bindings/kotlin/templates/ObjectRuntime.kt":"c11d233de41405caa55a56bcaa3bb69ce153ffa6fdff2aa218051929f5c4aeec","src/bindings/kotlin/templates/ObjectTemplate.kt":"7e32d92ec6116da9b7d7f278b15333a2fd2a82dde8c21534e3f6fe371d19f333","src/bindings/kotlin/templates/OptionalTemplate.kt":"5f9f2c1baa829ed3c9b61c3edb0f1fccf5ea3cccc052a69cf8966715d8fcf149","src/bindings/kotlin/templates/RecordTemplate.kt":"193ecdad9322fb5483b95bf2a259270a9b22ba054790794e9abb3fd219196bc5","src/bindings/kotlin/templates/RustBufferTemplate.kt":"415637f80a78c12b3d00db063c14a7ab5c61b098bdb1fc81a0be8bae9511776b","src/bindings/kotlin/templates/SequenceTemplate.kt":"786693b20c608a4f059b91df115278f5f12122b4c14a2e7ce18b6fc9b22b1296","src/bindings/kotlin/templates/StringHelper.kt":"060839663580d8199671b7c3bb3dce5e9106aa766ce2c6e0afc2d2bd788a1d83","src/bindings/kotlin/templates/TimestampHelper.kt":"353c2890f06ad6dda238e9aebb4bdff7bb838e17e46abf351ed3ff1fbc4e6580","src/bindings/kotlin/templates/TopLevelFunctionTemplate.kt":"09b8bb5ffea7075518ee657f83017d44ff0cbf584fd85676b082199139c9be09","src/bindings/kotlin/templates/Types.kt":"db7ed7384b4391a4bc1425ec3a89e0c890538ad30f5e115bae4998c059c8a21b","src/bindings/kotlin/templates/UInt16Helper.kt":"e84a1f30a5a899ba2c5db614d3f3c74f25bccf6dd99bf68b8830829332d051e9","src/bindings/kotlin/templates/UInt32Helper.kt":"7cdf08cc580046935f27ba07b53685968608a102e0a6be305111037c63d7ddf8","src/bindings/kotlin/templates/UInt64Helper.kt":"fd7baacbf3ab6202ff83edcc66e5f7beb11a10053ba66d0b49547616cc7cbe1f","src/bindings/kotlin/templates/UInt8Helper.kt":"bbf5a6d66c995aea9fe2fa9840c6bfa78b03520a09469b984f0e1d43191e453a","src/bindings/kotlin/templates/macros.kt":"eb5e0f9915b8ec9fbf3bf1a714625fbdcef7a7ee7461916e87fec872434ed3ec","src/bindings/kotlin/templates/wrapper.kt":"dd81cf28a4e07c685d29c87a4053eccb6339835cfc7fce3cf581d3d111fed4f5","src/bindings/mod.rs":"51ac55a3d505d5a88eedc83cf12623c2738277a9cd22bf3bbe05be1244de078b","src/bindings/python/gen_python/callback_interface.rs":"e3ffb8ba1aa8ac8ddcfff6554e7ec0d2d695d12955a98a04d114d2d6ca5dacc8","src/bindings/python/gen_python/compounds.rs":"e406c773c3b66368ea74973df742cdcba3014521812048f15de7c0e783eedfaf","src/bindings/python/gen_python/custom.rs":"33756f6bdafbd9b1a3a439c1cced3c83dc1fdb82b5ec235c064e69670ea6086c","src/bindings/python/gen_python/enum_.rs":"634c8406b07cbd24ea4f71cae4c971169e4989ce8019188f4bcd515bc3c77c5d","src/bindings/python/gen_python/error.rs":"d1a3b3edb91d9502064463cc3324770a1a6e0f234d6b49b5d7c43636bfe81d59","src/bindings/python/gen_python/external.rs":"8920b7a2a3b39a9647ec17cdff44308db3bfe9a582f026b060003edd76407599","src/bindings/python/gen_python/miscellany.rs":"f3898b75cf494b39662d886eb78d9cc06685650265fc8a1e87e5de67baa342ae","src/bindings/python/gen_python/mod.rs":"552de45cab20c4467bdcc774c305f298c9d7487c6b89f6786cb7ef1774ccddf6","src/bindings/python/gen_python/object.rs":"b4d3d8a935d4acd689cf1f3857d461dbab3a51c7c8bd821890198fb58ef3a63f","src/bindings/python/gen_python/primitives.rs":"928523bb91d2192d615d044f1fef3714681140562b740cf72dce3168e660e276","src/bindings/python/gen_python/record.rs":"f961dfe8dd1e5caa633754de7ecc684c2211c9b6633a5e6beb6053e60500b9f2","src/bindings/python/mod.rs":"bcf295b334b332c7fd1214ddfdaa727cfe37fed531c3862ce25906b3a70b71c7","src/bindings/python/templates/BooleanHelper.py":"d384ffeefcb5982c4875e819d06e919a295eaa9ff57735e6fef0801bb810d5c9","src/bindings/python/templates/CallbackInterfaceRuntime.py":"7ffef485fc008e2d9efcd07326102f300bd4673b4351353e9e2908355936c3d7","src/bindings/python/templates/CallbackInterfaceTemplate.py":"089b5cc1131e8c9b867c899cb649ce22eb9ba6a4addab4ebf9ba63316c394693","src/bindings/python/templates/CustomType.py":"db3309b3f944fb813d4cef47a04d67a86f824183f7e31289184683155fd985d9","src/bindings/python/templates/DurationHelper.py":"179c14dccd8cc7dc9791f896414f0b5d124ec116eb78173371bd8a0743208da1","src/bindings/python/templates/EnumTemplate.py":"825ca373286f1b3b252b8a1263e29c9e2f0d3e170ceb364bd6c28d6c4595597b","src/bindings/python/templates/ErrorTemplate.py":"b6b1b0d3fc074a7c3ba7db394c5d6cb3279b0fc0e6a331154303c2c6c907458b","src/bindings/python/templates/ExternalTemplate.py":"f582a6e872fe9f8275d33d36ffe017028ca459fe7c53aa680a2512718d0c0fda","src/bindings/python/templates/Float32Helper.py":"7dbc51889cff47ebf1600fad490849e4a87cac4fc0d1756eebd21609eb80b4a9","src/bindings/python/templates/Float64Helper.py":"ba9f334d1339b6eaedcacc1e35068939727170a684f41dec9ee04762ed98cec1","src/bindings/python/templates/Helpers.py":"68f03f651c38c810fa453e123e26f7c94b7a1f9178e0d863b985c3c8fabaa642","src/bindings/python/templates/Int16Helper.py":"60c22fb8b445841ebb3c68be11b81c9eba84a680eaa0e30770953361231da9b5","src/bindings/python/templates/Int32Helper.py":"aff0a017cf767394174e46d8c4fe5a5a704a8e6384fcc38d227634dfe7826916","src/bindings/python/templates/Int64Helper.py":"6c314b91699a6c6ad7db3ef636713bc2a0af9609c82acfd6062b0588177c0026","src/bindings/python/templates/Int8Helper.py":"a6e2d121b1a6d59886fceab3949e571aba1abc06dfede52666954bf15366fb6f","src/bindings/python/templates/MapTemplate.py":"bbe609b865010b98b38c58f2d4fcc97f2adec3e931903bf67263a5e440a84400","src/bindings/python/templates/NamespaceLibraryTemplate.py":"4726dbeb61508a71153436126bc04d03af966dca4f5b37511beb8bcfb6f1f307","src/bindings/python/templates/ObjectTemplate.py":"68302f6da6e4e80fc0cc8eb4ef2d4353d19ad3e9955112a2fabec8bf1b1293c7","src/bindings/python/templates/OptionalTemplate.py":"ab6da433370ba7c1316e266247ee1b7165bc02f6f288e40a7c68806c018e3282","src/bindings/python/templates/RecordTemplate.py":"98cef2adbc2b890e5c67257fb32a57380070988ef4112408eeca85e0b87b566b","src/bindings/python/templates/RustBufferHelper.py":"11f733051e63733c637fb19c4758cb58a40d045792028465f36891f89c7c5f36","src/bindings/python/templates/RustBufferTemplate.py":"90950cfeeb7a028aac9b65aeca897b217eddcfa165a0d59e8af037e834f34146","src/bindings/python/templates/SequenceTemplate.py":"faf2b1d5272a66258972d88c29d5b527cf9e589c8399e30f7ad5a0503133ce9b","src/bindings/python/templates/StringHelper.py":"941a7ad71d9598701efa15323df93766934583a55f4266d26db31e6b744603fc","src/bindings/python/templates/TimestampHelper.py":"b412cea69117858c05bae3210d378c6296658ed02a50e87c52c392dcb62c7892","src/bindings/python/templates/TopLevelFunctionTemplate.py":"2b2883b14f324e543cfeea5293d2a4907fa9ebe93b779da7174a58929d8b0442","src/bindings/python/templates/Types.py":"2eee78ca838f65b7e8ff8f760558c71ca80ad314aaa44efd1d1b8e13b349f1bc","src/bindings/python/templates/UInt16Helper.py":"06be5c9dacdf20e586f8236ed75cf2ca2470078fd8570843ea97c581b25bf860","src/bindings/python/templates/UInt32Helper.py":"41bb9bbf9b7be1060945e1267b1cc052585ec43696b1591f0ee779a0be0feaff","src/bindings/python/templates/UInt64Helper.py":"ba2825fc295a07292d9fb4aeebe74dabb9e6dbe505643e2347875ab12e511f31","src/bindings/python/templates/UInt8Helper.py":"dca5b3fc4a429fb233326224f85c4eccd3a7802ca9958ec309c7f197d59b4e3d","src/bindings/python/templates/macros.py":"3f02a32941e20aea15e136780c24c9695021dbcae08044c4f654f75aadcbd1e1","src/bindings/python/templates/wrapper.py":"627a6e18e72040909887261b8ad918c68104b15110df26b2205d7827c690e8c3","src/bindings/ruby/gen_ruby/mod.rs":"33ae9fc3f69e4c5b7bb6df41e53298f89934cee2bb6d7e7ea8488cefc9d06c03","src/bindings/ruby/gen_ruby/tests.rs":"7dcb86b08e643c43503f4cac6396833497f6988b004321c0067700ee29ffbf32","src/bindings/ruby/mod.rs":"f57fccdfc544210e8cc70e01e4991cee6e72d258ede9d2bb226baad24a3ef0d7","src/bindings/ruby/templates/EnumTemplate.rb":"5480edb347f5829e478d19474691babd72f37616ed846d519b5a61cb1d6cf047","src/bindings/ruby/templates/ErrorTemplate.rb":"147b2c3ff44c19624e7bf7b3a2a04b7badbba5743eaefa0d5e6c05943119c87e","src/bindings/ruby/templates/NamespaceLibraryTemplate.rb":"9b1454208bc83ef8f26aef33713d681e2284dbfea986ec0dd6c9b9c8b7d65e4a","src/bindings/ruby/templates/ObjectTemplate.rb":"c2d2fa2db62d48322b66b53888dcc6de2fc3e579a6b8d0a9f24029c18fffcbb5","src/bindings/ruby/templates/RecordTemplate.rb":"4aeff886928ca972e5dc9b799581b30c66a6f6dce446af3285dd3ed6b422dea9","src/bindings/ruby/templates/RustBufferBuilder.rb":"2ee5a4b97fe590de98ec2119b2dfe103bba75e15b5fb3c178fa51dfa662dfe2c","src/bindings/ruby/templates/RustBufferStream.rb":"ddfc38a6388bdddf8cc24bb6f1af948e4eef2d7ae2091a5130fee57cf53e5a7d","src/bindings/ruby/templates/RustBufferTemplate.rb":"8f37664f5436ba74ccdd801e16220f1b879d2fb56f51f5845b6047c92dc079f8","src/bindings/ruby/templates/TopLevelFunctionTemplate.rb":"88213e7e25bef664da939c04dd5621f438af735ffcb4d2d0c24a529538630069","src/bindings/ruby/templates/macros.rb":"d732a62291c78ccfbc3208227c1b57f6add723fad91b7e699d693e360840e1b0","src/bindings/ruby/templates/wrapper.rb":"542cdf46fb871e66089c9f008cf472cca411fe217d8c66a0a66776c35469aab5","src/bindings/swift/gen_swift/callback_interface.rs":"e331871ac6c9ac9b9533848fb6ddfcabc1e605970343cad307b6d86b72ebe96a","src/bindings/swift/gen_swift/compounds.rs":"f9e87b342f1f9a14295d87bad59d786d4c253a24d22900c2aba44816713718ae","src/bindings/swift/gen_swift/custom.rs":"45cdfa35ef7345dc353d0d2f3cebb17d726e90abdf5ef49422d6b2db65f8fd25","src/bindings/swift/gen_swift/enum_.rs":"018eea78ef85c9f8d715a5bc15c8273030d4f6ba297019949eb578c5cc6276fd","src/bindings/swift/gen_swift/error.rs":"bd95c3303e40f03a321f2cdc8e15a0251f4c7ddbc3c32c4c57eb9569db218488","src/bindings/swift/gen_swift/miscellany.rs":"66f16968f6cccc0b61c544e336a49b96218551731dcce566a176903c9afb3b57","src/bindings/swift/gen_swift/mod.rs":"1e8f98e05a5b03798c91ada854f6a4f2a0682c252143d63c16c6a06bd0419e4b","src/bindings/swift/gen_swift/object.rs":"072a44f484cc66694c57a9fa41ba50a531c9ce19738e11ce9df17cdfc007648f","src/bindings/swift/gen_swift/primitives.rs":"b37b8f3ad3aa7e769e6d465a31282e377f93cd69e4dcf39a56dc833f412ed412","src/bindings/swift/gen_swift/record.rs":"48296332960be3731b9139dc664d4b8a5d56d04cffa34dc995b62cf202b4dbfd","src/bindings/swift/mod.rs":"0ad4afd667ef17b3b577ded9a09cdaa5595afbdb24e7474c6b1e6a8e0a024593","src/bindings/swift/templates/BooleanHelper.swift":"f607928c4d598893421fe9c9f183bab2f23a877a07afeb123dbe90515249ec86","src/bindings/swift/templates/BridgingHeaderTemplate.h":"93a289e393ecdbe1bf986215c3b19d2aed7677d47f79b1833ce73cf6f8762e80","src/bindings/swift/templates/CallbackInterfaceRuntime.swift":"aac01eb4269151be9dde8c95ee8eba7e8d0841b3c2b1dbd88885f01ac64ee147","src/bindings/swift/templates/CallbackInterfaceTemplate.swift":"c9700f52e932556c59a9bfea68fc786746b7f321ff75c33d0a8c1565effaeef5","src/bindings/swift/templates/CustomType.swift":"fe6414f2ce3ea7b148742e2fecf2206d7e69935dd78d56e014aec70f4d6ad3ec","src/bindings/swift/templates/DurationHelper.swift":"bca4a6498b27fe0c877df3c7fbe148538eeda03e68d4e760a7c8a6a15f2067ff","src/bindings/swift/templates/EnumTemplate.swift":"e61bdf7949aa5a7b55a2c10c243e960f683c862e5977f06e7f5956646b4ccb49","src/bindings/swift/templates/ErrorTemplate.swift":"58fb5907d20b7a6db67b128e5f6350015278990fef5945be42477a5b5f82bb18","src/bindings/swift/templates/Float32Helper.swift":"6c1a4da059dd4c6c4392511c93fe9daf4ddeeab71e39afd122797b0e19254318","src/bindings/swift/templates/Float64Helper.swift":"f741568cdfb8e1421369a9a1dc845630a3a0e2dc2d6acf157afd80cd3ef5966f","src/bindings/swift/templates/Helpers.swift":"3cf3a5342a1ef0c7e078b0e58c32ae4437c4fb5dc41acbbd56b1128393c76602","src/bindings/swift/templates/Int16Helper.swift":"76eec2a54a65790c5959380cc9a7362b1e2e201632cccb789153c52e10c8dc4f","src/bindings/swift/templates/Int32Helper.swift":"5afc5e103bf637813fd4b77ab63e47ed38893525101a483218a339f222710061","src/bindings/swift/templates/Int64Helper.swift":"c1a6f6661ef1ad3bd00e8d0bf81adaa6539686eee2b481b046b76dbd87681adf","src/bindings/swift/templates/Int8Helper.swift":"bc46598c966e579cca22d336748c74cdce5674eaaaf75fc24e5fdaa36a43cf9c","src/bindings/swift/templates/MapTemplate.swift":"8b5a9cb41a1ad41b5566fbe3906a1449e5453289208a9fc6a611de1eb937142a","src/bindings/swift/templates/ModuleMapTemplate.modulemap":"99ad1e9bf550a21497296f9248ecd4385dd6d0b5892951d24cf990cdbf3eec2c","src/bindings/swift/templates/ObjectTemplate.swift":"98f744d7baf41e28d9184ae7e1aa9522b1bd951d507e0987879b11d7995782aa","src/bindings/swift/templates/OptionalTemplate.swift":"73f777d2df4fdf42daf0d6035436d168b0d5f0abc15153b97029bc305408f597","src/bindings/swift/templates/RecordTemplate.swift":"af0dc13b32d34254b4cfef3b74f52fd4611aa6c32e055e203414511fd3bbb00a","src/bindings/swift/templates/RustBufferTemplate.swift":"ed16f20cecd264f086c923cd92a5198f444aec99aad4d39e9012f09f530ca809","src/bindings/swift/templates/SequenceTemplate.swift":"977f1409909ff08018c0a80c1330737023b39a8f9fa9a13f5bf9ab4806cac199","src/bindings/swift/templates/StringHelper.swift":"b773c2b3a03f30338ff233881d1b0c0238831b812eff6eb9f0fafcb32ab0743a","src/bindings/swift/templates/TimestampHelper.swift":"6e22e370feae1199bff16bcc6f431decfb7700b02e6afdd84693a0c474eb045e","src/bindings/swift/templates/TopLevelFunctionTemplate.swift":"ca7fcbaa06ee31c7433fd6aa238b6c1135a843f469d9b4f37d4874d514fd80d0","src/bindings/swift/templates/Types.swift":"2f42430cb4ffba8e9b5084c0cf8790fb5bae151878134b8a21e745acf75d2b08","src/bindings/swift/templates/UInt16Helper.swift":"16adb3b50403dad114fad0b86bc220c5adc3bd987c57c290aee7c6407891dfbc","src/bindings/swift/templates/UInt32Helper.swift":"680ddd2815184f520723820f10698a089c222df0388bc0f7734c6d5234194aec","src/bindings/swift/templates/UInt64Helper.swift":"b752852162028a0c132f79f9005c47c263a4dab98833e86758cd7b467e305629","src/bindings/swift/templates/UInt8Helper.swift":"54f4821e704969eeb5c0e002b890d975a20eda3ddc3ee56169ee3c615dfa1079","src/bindings/swift/templates/macros.swift":"0744724c37419e894132b39aea4b8e1f473460583883fa37f38c787a7deea32c","src/bindings/swift/templates/wrapper.swift":"ca1af5fe47bca972c76fb8c9f52b18f727d4343204408de3dd0aae384f0a4171","src/interface/attributes.rs":"2f76377eebdd62e770bb9089885482a49a57e1f8405320bb778353f3e8974447","src/interface/callbacks.rs":"c9f4b97b21195ba2d1787f032f1daa5f4ce2fc40e014942e07e4eb37b5b95ee9","src/interface/enum_.rs":"1a7cda619a986a20fd4d0f145206aba2c500ce5dfca90d01e5324996fd68dc04","src/interface/error.rs":"f31fc0a7e41b4c8f4b81d06958fda14af6f05bfa318206098e0ec351cf4db809","src/interface/ffi.rs":"22d24e4dda327fa78c7632a6e5bbe374ecac0165acc550007feb729d8f4d6adf","src/interface/function.rs":"d6df6d8d412d7c45fe33c7337b37aeb851ae0f21834c4bd8b315aad4ca4ec309","src/interface/literal.rs":"3d2102cb47ff658f329d66d6c867b13a50e7f56535f23c1b414f857741360358","src/interface/mod.rs":"1d1993504ce61a2f578cb6fb42c79b7829a0767c20983581d631ee948819665e","src/interface/namespace.rs":"ab0f63241bb6a0a32f9fd2a1544468cb6daa1f91f6116b7246b52a4a94e4f461","src/interface/object.rs":"44836747d5d00bb40ecadb889c9a6ff32c1cbf625b5a6a337f5891f495fd92fd","src/interface/record.rs":"5859ea6c1f6c5524d1e6f3846954986710d5f74f1c6fd6324c4245b5f70013d5","src/interface/types/finder.rs":"a27f24e64b5bfc796378d1012b5e72001f0a442e8185fdc4430b106595d4b819","src/interface/types/mod.rs":"fe63c3fd233ad905af0358c5d610c85a5a57f263eb899acc756454a1029c4569","src/interface/types/resolver.rs":"7e7ce336ef77c0a6c23deea36856737a97cca9b1c3f5cd0d676fe7df6ade6480","src/lib.rs":"a41b43e3628bb6b3f725580eec255b409947945672887de87c21d5122775a245","src/macro_metadata/ci.rs":"0d6e53d2b5645dd3cc7d196bd3a32ee82c029e1adb9ae93708c27a3fa5c55a88","src/macro_metadata/extract.rs":"ec392692a4601343312f60937987fe460cfb40d2c63a6bb1531fe91903916f10","src/macro_metadata/mod.rs":"1668e6d947fd4a957f557410a8095649de6f8d7fd3eb6a403b8587280dca2d54","src/main.rs":"bbf8e9942d398387e7518533f9b9dc42bfa66156430a87a17605a80a356c0dea","src/scaffolding/mod.rs":"35ae72220843cf3cccefd96e190553e32a5f34ccc58d552fd9165faea12db260","src/scaffolding/templates/CallbackInterfaceTemplate.rs":"3c8caa2e148add8d80701894ee6904fc2d3c5c6424d6d414b36edb6f593b5023","src/scaffolding/templates/EnumTemplate.rs":"eb8802f04f1fd1c9451ad72c1195c136288fdb4e488922b24db75b2fdae65cd7","src/scaffolding/templates/ErrorTemplate.rs":"e7ca4538908a273dd7ba3834219b30fa0e537b2171144f06b6a96fbefb90cd1d","src/scaffolding/templates/ExternalTypesTemplate.rs":"8ecc805cf119abac8c5f60605f9183ee9ec8d37f9ec75bba5e18bb8b482a1abb","src/scaffolding/templates/ObjectTemplate.rs":"34de640428486e17a61ded4f42ce13d8eac3e66cc9f60196ce2575cdc0bd8df6","src/scaffolding/templates/RecordTemplate.rs":"e8d5af954f46f023a243721d6fc70aa176c3a4c0a9dd340048bfe46f3eeed783","src/scaffolding/templates/ReexportUniFFIScaffolding.rs":"559a17c8e39c473ff1effe9651f05b83d443ecd8abed13e03f2b63872d7e1593","src/scaffolding/templates/RustBuffer.rs":"ccf7521012d93c41265375c6d2e80ce861ec93b41383da83c37718386dd726f6","src/scaffolding/templates/TopLevelFunctionTemplate.rs":"35eaefb0862f25ff683d58fb0be6ad5f74bbe2fc85047273200c3a5f4c728434","src/scaffolding/templates/macros.rs":"a41c9690d411074c59fc4609f897431669b9d939625a08f5304a71a88901ba7c","src/scaffolding/templates/scaffolding_template.rs":"3589f8e8e1f9b194ff4a6245665d3a421c771dec3cc947c4264bfcd34573550e"},"package":"12cc4af3c0180c7e86c4a3acf2b6587af04ba2567b1e948993df10f421796621"}
+\ No newline at end of file
++{"files":{"Cargo.lock":"3b1693f0ada97ba7e0527d763402404b39fe341da22bd45aaf057e4be3fa3234","Cargo.toml":"58662147277f1620eccd6592f83623cf71959df8326e9d700fdaac47c6e6cf35","askama.toml":"1a245b7803adca782837e125c49100147d2de0d5a1c949ff95e91af1701f6058","src/backend/config.rs":"4861dbf251dbb10beb1ed7e3eea7d79499a0de1cd9ce9ee8381a0e729c097dea","src/backend/declarations.rs":"12b8d6e651f84634de5cd02a47601965df7438f64f1a73f136bd89b6b5d515cf","src/backend/mod.rs":"899cd3b816d0467e35789b92ac3b8d5910f6dab98156d405db4803da8721fd36","src/backend/oracle.rs":"9e2b8a45af604a6e4952644e81f43f6aec6e0a1d03939c68b582529dd01a51e0","src/backend/types.rs":"7c49a92096a54eefd2336c48d60fe20ded9490142ab3a229a7c1a99fec14df3d","src/bindings/kotlin/gen_kotlin/callback_interface.rs":"b7fe795670830f3aa8a955c787b1127fe68313ee751013948527948fe5526b01","src/bindings/kotlin/gen_kotlin/compounds.rs":"d1e9a4237ff2ff711a3eae7a564c39e26f598c156ebfd34c0f04879e3533dd4f","src/bindings/kotlin/gen_kotlin/custom.rs":"4176f6ed5f66504f8fd981198bbfbae795dab5ef0d0281881d19b697f5560c44","src/bindings/kotlin/gen_kotlin/enum_.rs":"f85ae8dcb55c8f274139bf321af0ba237ae69894165ad6bd693d793f58af8e5e","src/bindings/kotlin/gen_kotlin/error.rs":"867f583aea5da7aabeb9b6d2544d7e52984cdea4aa008ce5f2ec941074735e1a","src/bindings/kotlin/gen_kotlin/external.rs":"1f7e91d7439891fe3c403274e35880ee4fc3a0da555510bdfa23c1ed2bbd8020","src/bindings/kotlin/gen_kotlin/miscellany.rs":"644ee5bb1f3619be5a36b2b3900af554ea38073cd054004f421e69c3cb8d50bc","src/bindings/kotlin/gen_kotlin/mod.rs":"90412e7927c284668a9eb75823c198182e58e5177d5561896c43b79367564b27","src/bindings/kotlin/gen_kotlin/object.rs":"6478a3e9d5e66186521730d0d481abd1ee4f123050ea050ac5a483842f08b003","src/bindings/kotlin/gen_kotlin/primitives.rs":"914d1f8253ed6a2937f67e8bd8f04f46aef4f22455ceb8a6caa84427adc2093e","src/bindings/kotlin/gen_kotlin/record.rs":"7961fcfbec5ebf8fc010b564ea4bd59402c919f6922898d48226d8c995569dd7","src/bindings/kotlin/mod.rs":"e68f2ea29e66ee62a56704e1e4464eea6d28bbdb52ab187bbe7a57ab3f362ea7","src/bindings/kotlin/templates/BooleanHelper.kt":"28e8a5088c8d58c9bfdbc575af8d8725060521fdd7d092684a8044b24ae567c7","src/bindings/kotlin/templates/CallbackInterfaceRuntime.kt":"6ede374b0fcbb3bcc939894e6f4729b3bec7ec7356831a60fba96ca38dc91aa8","src/bindings/kotlin/templates/CallbackInterfaceTemplate.kt":"5a704eb8c044ed22905e4d526ee3fc0b86f42fe82ac1eb4ad3758ad0552ea8c8","src/bindings/kotlin/templates/CustomTypeTemplate.kt":"5d4dacf29e89bcdcc46d155d993e6059d2df704e775dc853469310198253b231","src/bindings/kotlin/templates/DurationHelper.kt":"414a98161538a26f3a9b357353270c1f245ad6ceed99496aca7162cf473a92fd","src/bindings/kotlin/templates/EnumTemplate.kt":"ab3e2063aad3b91188db839dceb59b854a6a8b60fb35e545e270e64fee7c73fa","src/bindings/kotlin/templates/ErrorTemplate.kt":"a5ec2bdfc026838e1096dbf3301f21aa4ea22e8c93458d45bb1c8c7b9ee1fc5b","src/bindings/kotlin/templates/ExternalTypeTemplate.kt":"2097e0b830640ef18c79449ffa376d1dd35a8c4a5230e413c915f3b868aae872","src/bindings/kotlin/templates/FfiConverterTemplate.kt":"aa22962aaa9f641d48ccf44cb56d9f8a7736cbfaa01e1a1656662cfe5dd5c1d7","src/bindings/kotlin/templates/Float32Helper.kt":"662d95af3b629d143fb4d47cb7e9aa26ed28a5f3846de0341e28b0f9fb08bc25","src/bindings/kotlin/templates/Float64Helper.kt":"a77d099fa7d91e8702c1700e7949ffb6aaba9c6e8041ff48bab34b8e1fc9a0aa","src/bindings/kotlin/templates/Helpers.kt":"46c07798a26b53b06405c8bbbf86e3fcf38fadc1484ea04ce9d482defea89288","src/bindings/kotlin/templates/Int16Helper.kt":"7f83c4a48e1f3b2a59a3ca6a2662be8bc9baf3a5a748b31223cb3f51721ef249","src/bindings/kotlin/templates/Int32Helper.kt":"e02e4702175554b09fd2dd6ac3089dcd2c395f08ec60e762159566a9c9889450","src/bindings/kotlin/templates/Int64Helper.kt":"7a6fd6ca486852c89399c699935a9dfa1c32b9356d9a965cfde532581f05d9fa","src/bindings/kotlin/templates/Int8Helper.kt":"0554545494b6b9a76ce94f9c1723f8cf4230a13076feb75d620b1c9ca1ac4668","src/bindings/kotlin/templates/MapTemplate.kt":"399569d6443e8ad01e2deb95d78d8d2d15bf8eccee8be4fbe9ce4b8ebc0a6101","src/bindings/kotlin/templates/NamespaceLibraryTemplate.kt":"1eba4e77381155c2c96a6af2ef30fca881ade4957852f730fd10aa4f3d9cd3c4","src/bindings/kotlin/templates/ObjectRuntime.kt":"c11d233de41405caa55a56bcaa3bb69ce153ffa6fdff2aa218051929f5c4aeec","src/bindings/kotlin/templates/ObjectTemplate.kt":"7e32d92ec6116da9b7d7f278b15333a2fd2a82dde8c21534e3f6fe371d19f333","src/bindings/kotlin/templates/OptionalTemplate.kt":"5f9f2c1baa829ed3c9b61c3edb0f1fccf5ea3cccc052a69cf8966715d8fcf149","src/bindings/kotlin/templates/RecordTemplate.kt":"193ecdad9322fb5483b95bf2a259270a9b22ba054790794e9abb3fd219196bc5","src/bindings/kotlin/templates/RustBufferTemplate.kt":"415637f80a78c12b3d00db063c14a7ab5c61b098bdb1fc81a0be8bae9511776b","src/bindings/kotlin/templates/SequenceTemplate.kt":"786693b20c608a4f059b91df115278f5f12122b4c14a2e7ce18b6fc9b22b1296","src/bindings/kotlin/templates/StringHelper.kt":"060839663580d8199671b7c3bb3dce5e9106aa766ce2c6e0afc2d2bd788a1d83","src/bindings/kotlin/templates/TimestampHelper.kt":"353c2890f06ad6dda238e9aebb4bdff7bb838e17e46abf351ed3ff1fbc4e6580","src/bindings/kotlin/templates/TopLevelFunctionTemplate.kt":"09b8bb5ffea7075518ee657f83017d44ff0cbf584fd85676b082199139c9be09","src/bindings/kotlin/templates/Types.kt":"db7ed7384b4391a4bc1425ec3a89e0c890538ad30f5e115bae4998c059c8a21b","src/bindings/kotlin/templates/UInt16Helper.kt":"e84a1f30a5a899ba2c5db614d3f3c74f25bccf6dd99bf68b8830829332d051e9","src/bindings/kotlin/templates/UInt32Helper.kt":"7cdf08cc580046935f27ba07b53685968608a102e0a6be305111037c63d7ddf8","src/bindings/kotlin/templates/UInt64Helper.kt":"fd7baacbf3ab6202ff83edcc66e5f7beb11a10053ba66d0b49547616cc7cbe1f","src/bindings/kotlin/templates/UInt8Helper.kt":"bbf5a6d66c995aea9fe2fa9840c6bfa78b03520a09469b984f0e1d43191e453a","src/bindings/kotlin/templates/macros.kt":"eb5e0f9915b8ec9fbf3bf1a714625fbdcef7a7ee7461916e87fec872434ed3ec","src/bindings/kotlin/templates/wrapper.kt":"dd81cf28a4e07c685d29c87a4053eccb6339835cfc7fce3cf581d3d111fed4f5","src/bindings/mod.rs":"51ac55a3d505d5a88eedc83cf12623c2738277a9cd22bf3bbe05be1244de078b","src/bindings/python/gen_python/callback_interface.rs":"e3ffb8ba1aa8ac8ddcfff6554e7ec0d2d695d12955a98a04d114d2d6ca5dacc8","src/bindings/python/gen_python/compounds.rs":"e406c773c3b66368ea74973df742cdcba3014521812048f15de7c0e783eedfaf","src/bindings/python/gen_python/custom.rs":"33756f6bdafbd9b1a3a439c1cced3c83dc1fdb82b5ec235c064e69670ea6086c","src/bindings/python/gen_python/enum_.rs":"634c8406b07cbd24ea4f71cae4c971169e4989ce8019188f4bcd515bc3c77c5d","src/bindings/python/gen_python/error.rs":"d1a3b3edb91d9502064463cc3324770a1a6e0f234d6b49b5d7c43636bfe81d59","src/bindings/python/gen_python/external.rs":"8920b7a2a3b39a9647ec17cdff44308db3bfe9a582f026b060003edd76407599","src/bindings/python/gen_python/miscellany.rs":"f3898b75cf494b39662d886eb78d9cc06685650265fc8a1e87e5de67baa342ae","src/bindings/python/gen_python/mod.rs":"552de45cab20c4467bdcc774c305f298c9d7487c6b89f6786cb7ef1774ccddf6","src/bindings/python/gen_python/object.rs":"b4d3d8a935d4acd689cf1f3857d461dbab3a51c7c8bd821890198fb58ef3a63f","src/bindings/python/gen_python/primitives.rs":"928523bb91d2192d615d044f1fef3714681140562b740cf72dce3168e660e276","src/bindings/python/gen_python/record.rs":"f961dfe8dd1e5caa633754de7ecc684c2211c9b6633a5e6beb6053e60500b9f2","src/bindings/python/mod.rs":"bcf295b334b332c7fd1214ddfdaa727cfe37fed531c3862ce25906b3a70b71c7","src/bindings/python/templates/BooleanHelper.py":"d384ffeefcb5982c4875e819d06e919a295eaa9ff57735e6fef0801bb810d5c9","src/bindings/python/templates/CallbackInterfaceRuntime.py":"7ffef485fc008e2d9efcd07326102f300bd4673b4351353e9e2908355936c3d7","src/bindings/python/templates/CallbackInterfaceTemplate.py":"089b5cc1131e8c9b867c899cb649ce22eb9ba6a4addab4ebf9ba63316c394693","src/bindings/python/templates/CustomType.py":"db3309b3f944fb813d4cef47a04d67a86f824183f7e31289184683155fd985d9","src/bindings/python/templates/DurationHelper.py":"179c14dccd8cc7dc9791f896414f0b5d124ec116eb78173371bd8a0743208da1","src/bindings/python/templates/EnumTemplate.py":"825ca373286f1b3b252b8a1263e29c9e2f0d3e170ceb364bd6c28d6c4595597b","src/bindings/python/templates/ErrorTemplate.py":"b6b1b0d3fc074a7c3ba7db394c5d6cb3279b0fc0e6a331154303c2c6c907458b","src/bindings/python/templates/ExternalTemplate.py":"f582a6e872fe9f8275d33d36ffe017028ca459fe7c53aa680a2512718d0c0fda","src/bindings/python/templates/Float32Helper.py":"7dbc51889cff47ebf1600fad490849e4a87cac4fc0d1756eebd21609eb80b4a9","src/bindings/python/templates/Float64Helper.py":"ba9f334d1339b6eaedcacc1e35068939727170a684f41dec9ee04762ed98cec1","src/bindings/python/templates/Helpers.py":"68f03f651c38c810fa453e123e26f7c94b7a1f9178e0d863b985c3c8fabaa642","src/bindings/python/templates/Int16Helper.py":"60c22fb8b445841ebb3c68be11b81c9eba84a680eaa0e30770953361231da9b5","src/bindings/python/templates/Int32Helper.py":"aff0a017cf767394174e46d8c4fe5a5a704a8e6384fcc38d227634dfe7826916","src/bindings/python/templates/Int64Helper.py":"6c314b91699a6c6ad7db3ef636713bc2a0af9609c82acfd6062b0588177c0026","src/bindings/python/templates/Int8Helper.py":"a6e2d121b1a6d59886fceab3949e571aba1abc06dfede52666954bf15366fb6f","src/bindings/python/templates/MapTemplate.py":"bbe609b865010b98b38c58f2d4fcc97f2adec3e931903bf67263a5e440a84400","src/bindings/python/templates/NamespaceLibraryTemplate.py":"4726dbeb61508a71153436126bc04d03af966dca4f5b37511beb8bcfb6f1f307","src/bindings/python/templates/ObjectTemplate.py":"68302f6da6e4e80fc0cc8eb4ef2d4353d19ad3e9955112a2fabec8bf1b1293c7","src/bindings/python/templates/OptionalTemplate.py":"ab6da433370ba7c1316e266247ee1b7165bc02f6f288e40a7c68806c018e3282","src/bindings/python/templates/RecordTemplate.py":"98cef2adbc2b890e5c67257fb32a57380070988ef4112408eeca85e0b87b566b","src/bindings/python/templates/RustBufferHelper.py":"11f733051e63733c637fb19c4758cb58a40d045792028465f36891f89c7c5f36","src/bindings/python/templates/RustBufferTemplate.py":"90950cfeeb7a028aac9b65aeca897b217eddcfa165a0d59e8af037e834f34146","src/bindings/python/templates/SequenceTemplate.py":"faf2b1d5272a66258972d88c29d5b527cf9e589c8399e30f7ad5a0503133ce9b","src/bindings/python/templates/StringHelper.py":"941a7ad71d9598701efa15323df93766934583a55f4266d26db31e6b744603fc","src/bindings/python/templates/TimestampHelper.py":"b412cea69117858c05bae3210d378c6296658ed02a50e87c52c392dcb62c7892","src/bindings/python/templates/TopLevelFunctionTemplate.py":"2b2883b14f324e543cfeea5293d2a4907fa9ebe93b779da7174a58929d8b0442","src/bindings/python/templates/Types.py":"2eee78ca838f65b7e8ff8f760558c71ca80ad314aaa44efd1d1b8e13b349f1bc","src/bindings/python/templates/UInt16Helper.py":"06be5c9dacdf20e586f8236ed75cf2ca2470078fd8570843ea97c581b25bf860","src/bindings/python/templates/UInt32Helper.py":"41bb9bbf9b7be1060945e1267b1cc052585ec43696b1591f0ee779a0be0feaff","src/bindings/python/templates/UInt64Helper.py":"ba2825fc295a07292d9fb4aeebe74dabb9e6dbe505643e2347875ab12e511f31","src/bindings/python/templates/UInt8Helper.py":"dca5b3fc4a429fb233326224f85c4eccd3a7802ca9958ec309c7f197d59b4e3d","src/bindings/python/templates/macros.py":"3f02a32941e20aea15e136780c24c9695021dbcae08044c4f654f75aadcbd1e1","src/bindings/python/templates/wrapper.py":"627a6e18e72040909887261b8ad918c68104b15110df26b2205d7827c690e8c3","src/bindings/ruby/gen_ruby/mod.rs":"33ae9fc3f69e4c5b7bb6df41e53298f89934cee2bb6d7e7ea8488cefc9d06c03","src/bindings/ruby/gen_ruby/tests.rs":"7dcb86b08e643c43503f4cac6396833497f6988b004321c0067700ee29ffbf32","src/bindings/ruby/mod.rs":"f57fccdfc544210e8cc70e01e4991cee6e72d258ede9d2bb226baad24a3ef0d7","src/bindings/ruby/templates/EnumTemplate.rb":"5480edb347f5829e478d19474691babd72f37616ed846d519b5a61cb1d6cf047","src/bindings/ruby/templates/ErrorTemplate.rb":"147b2c3ff44c19624e7bf7b3a2a04b7badbba5743eaefa0d5e6c05943119c87e","src/bindings/ruby/templates/NamespaceLibraryTemplate.rb":"9b1454208bc83ef8f26aef33713d681e2284dbfea986ec0dd6c9b9c8b7d65e4a","src/bindings/ruby/templates/ObjectTemplate.rb":"c2d2fa2db62d48322b66b53888dcc6de2fc3e579a6b8d0a9f24029c18fffcbb5","src/bindings/ruby/templates/RecordTemplate.rb":"4aeff886928ca972e5dc9b799581b30c66a6f6dce446af3285dd3ed6b422dea9","src/bindings/ruby/templates/RustBufferBuilder.rb":"2ee5a4b97fe590de98ec2119b2dfe103bba75e15b5fb3c178fa51dfa662dfe2c","src/bindings/ruby/templates/RustBufferStream.rb":"ddfc38a6388bdddf8cc24bb6f1af948e4eef2d7ae2091a5130fee57cf53e5a7d","src/bindings/ruby/templates/RustBufferTemplate.rb":"8f37664f5436ba74ccdd801e16220f1b879d2fb56f51f5845b6047c92dc079f8","src/bindings/ruby/templates/TopLevelFunctionTemplate.rb":"88213e7e25bef664da939c04dd5621f438af735ffcb4d2d0c24a529538630069","src/bindings/ruby/templates/macros.rb":"d732a62291c78ccfbc3208227c1b57f6add723fad91b7e699d693e360840e1b0","src/bindings/ruby/templates/wrapper.rb":"542cdf46fb871e66089c9f008cf472cca411fe217d8c66a0a66776c35469aab5","src/bindings/swift/gen_swift/callback_interface.rs":"e331871ac6c9ac9b9533848fb6ddfcabc1e605970343cad307b6d86b72ebe96a","src/bindings/swift/gen_swift/compounds.rs":"f9e87b342f1f9a14295d87bad59d786d4c253a24d22900c2aba44816713718ae","src/bindings/swift/gen_swift/custom.rs":"45cdfa35ef7345dc353d0d2f3cebb17d726e90abdf5ef49422d6b2db65f8fd25","src/bindings/swift/gen_swift/enum_.rs":"018eea78ef85c9f8d715a5bc15c8273030d4f6ba297019949eb578c5cc6276fd","src/bindings/swift/gen_swift/error.rs":"bd95c3303e40f03a321f2cdc8e15a0251f4c7ddbc3c32c4c57eb9569db218488","src/bindings/swift/gen_swift/miscellany.rs":"66f16968f6cccc0b61c544e336a49b96218551731dcce566a176903c9afb3b57","src/bindings/swift/gen_swift/mod.rs":"1e8f98e05a5b03798c91ada854f6a4f2a0682c252143d63c16c6a06bd0419e4b","src/bindings/swift/gen_swift/object.rs":"072a44f484cc66694c57a9fa41ba50a531c9ce19738e11ce9df17cdfc007648f","src/bindings/swift/gen_swift/primitives.rs":"b37b8f3ad3aa7e769e6d465a31282e377f93cd69e4dcf39a56dc833f412ed412","src/bindings/swift/gen_swift/record.rs":"48296332960be3731b9139dc664d4b8a5d56d04cffa34dc995b62cf202b4dbfd","src/bindings/swift/mod.rs":"0ad4afd667ef17b3b577ded9a09cdaa5595afbdb24e7474c6b1e6a8e0a024593","src/bindings/swift/templates/BooleanHelper.swift":"f607928c4d598893421fe9c9f183bab2f23a877a07afeb123dbe90515249ec86","src/bindings/swift/templates/BridgingHeaderTemplate.h":"93a289e393ecdbe1bf986215c3b19d2aed7677d47f79b1833ce73cf6f8762e80","src/bindings/swift/templates/CallbackInterfaceRuntime.swift":"aac01eb4269151be9dde8c95ee8eba7e8d0841b3c2b1dbd88885f01ac64ee147","src/bindings/swift/templates/CallbackInterfaceTemplate.swift":"c9700f52e932556c59a9bfea68fc786746b7f321ff75c33d0a8c1565effaeef5","src/bindings/swift/templates/CustomType.swift":"fe6414f2ce3ea7b148742e2fecf2206d7e69935dd78d56e014aec70f4d6ad3ec","src/bindings/swift/templates/DurationHelper.swift":"bca4a6498b27fe0c877df3c7fbe148538eeda03e68d4e760a7c8a6a15f2067ff","src/bindings/swift/templates/EnumTemplate.swift":"e61bdf7949aa5a7b55a2c10c243e960f683c862e5977f06e7f5956646b4ccb49","src/bindings/swift/templates/ErrorTemplate.swift":"58fb5907d20b7a6db67b128e5f6350015278990fef5945be42477a5b5f82bb18","src/bindings/swift/templates/Float32Helper.swift":"6c1a4da059dd4c6c4392511c93fe9daf4ddeeab71e39afd122797b0e19254318","src/bindings/swift/templates/Float64Helper.swift":"f741568cdfb8e1421369a9a1dc845630a3a0e2dc2d6acf157afd80cd3ef5966f","src/bindings/swift/templates/Helpers.swift":"3cf3a5342a1ef0c7e078b0e58c32ae4437c4fb5dc41acbbd56b1128393c76602","src/bindings/swift/templates/Int16Helper.swift":"76eec2a54a65790c5959380cc9a7362b1e2e201632cccb789153c52e10c8dc4f","src/bindings/swift/templates/Int32Helper.swift":"5afc5e103bf637813fd4b77ab63e47ed38893525101a483218a339f222710061","src/bindings/swift/templates/Int64Helper.swift":"c1a6f6661ef1ad3bd00e8d0bf81adaa6539686eee2b481b046b76dbd87681adf","src/bindings/swift/templates/Int8Helper.swift":"bc46598c966e579cca22d336748c74cdce5674eaaaf75fc24e5fdaa36a43cf9c","src/bindings/swift/templates/MapTemplate.swift":"8b5a9cb41a1ad41b5566fbe3906a1449e5453289208a9fc6a611de1eb937142a","src/bindings/swift/templates/ModuleMapTemplate.modulemap":"99ad1e9bf550a21497296f9248ecd4385dd6d0b5892951d24cf990cdbf3eec2c","src/bindings/swift/templates/ObjectTemplate.swift":"98f744d7baf41e28d9184ae7e1aa9522b1bd951d507e0987879b11d7995782aa","src/bindings/swift/templates/OptionalTemplate.swift":"73f777d2df4fdf42daf0d6035436d168b0d5f0abc15153b97029bc305408f597","src/bindings/swift/templates/RecordTemplate.swift":"af0dc13b32d34254b4cfef3b74f52fd4611aa6c32e055e203414511fd3bbb00a","src/bindings/swift/templates/RustBufferTemplate.swift":"ed16f20cecd264f086c923cd92a5198f444aec99aad4d39e9012f09f530ca809","src/bindings/swift/templates/SequenceTemplate.swift":"977f1409909ff08018c0a80c1330737023b39a8f9fa9a13f5bf9ab4806cac199","src/bindings/swift/templates/StringHelper.swift":"b773c2b3a03f30338ff233881d1b0c0238831b812eff6eb9f0fafcb32ab0743a","src/bindings/swift/templates/TimestampHelper.swift":"6e22e370feae1199bff16bcc6f431decfb7700b02e6afdd84693a0c474eb045e","src/bindings/swift/templates/TopLevelFunctionTemplate.swift":"ca7fcbaa06ee31c7433fd6aa238b6c1135a843f469d9b4f37d4874d514fd80d0","src/bindings/swift/templates/Types.swift":"2f42430cb4ffba8e9b5084c0cf8790fb5bae151878134b8a21e745acf75d2b08","src/bindings/swift/templates/UInt16Helper.swift":"16adb3b50403dad114fad0b86bc220c5adc3bd987c57c290aee7c6407891dfbc","src/bindings/swift/templates/UInt32Helper.swift":"680ddd2815184f520723820f10698a089c222df0388bc0f7734c6d5234194aec","src/bindings/swift/templates/UInt64Helper.swift":"b752852162028a0c132f79f9005c47c263a4dab98833e86758cd7b467e305629","src/bindings/swift/templates/UInt8Helper.swift":"54f4821e704969eeb5c0e002b890d975a20eda3ddc3ee56169ee3c615dfa1079","src/bindings/swift/templates/macros.swift":"0744724c37419e894132b39aea4b8e1f473460583883fa37f38c787a7deea32c","src/bindings/swift/templates/wrapper.swift":"ca1af5fe47bca972c76fb8c9f52b18f727d4343204408de3dd0aae384f0a4171","src/interface/attributes.rs":"6c062b60deb332fbb76e70bc675e65c2bc3f2060fad7cec87492609fa9ce166c","src/interface/callbacks.rs":"e311fe8c80fae1d84c1e867a3c36a47a6d6a41847bb2d633edefac7c69402c84","src/interface/enum_.rs":"4ff34ff12c19be0bc9d807020fd4c8e20660c418741e68408671a18165e4b95b","src/interface/error.rs":"85a61e5bb38b369b60110928a78dc84ae77a06d0cbae4dfe9ff9dff2b8c27e5a","src/interface/ffi.rs":"22d24e4dda327fa78c7632a6e5bbe374ecac0165acc550007feb729d8f4d6adf","src/interface/function.rs":"19219c6c984d4117362ee5c269712ec2ad462476902442062ef2a3b0619b014c","src/interface/literal.rs":"d93d168176ba2824d26c490396f4baffc1d418c3c94e4a1ef0ceb3cfca16a239","src/interface/mod.rs":"88dd169859004da79bd1488e6432bc7dae8b6cba9238cab1d676e570dad31d62","src/interface/namespace.rs":"ab0f63241bb6a0a32f9fd2a1544468cb6daa1f91f6116b7246b52a4a94e4f461","src/interface/object.rs":"106cbf5ec2a684700dd99c9748ba161320abb2cecec3c5022d5dd1a9ec4f5b85","src/interface/record.rs":"5b9db093c0c90f5c757e09e6c9afee6b99e2e724c7b388924990b1a6f46357e9","src/interface/types/finder.rs":"a27f24e64b5bfc796378d1012b5e72001f0a442e8185fdc4430b106595d4b819","src/interface/types/mod.rs":"25a598fd206975cc1e62aaa269b461654c913ad6c0b6a2719c486acfcc68b45b","src/interface/types/resolver.rs":"7e7ce336ef77c0a6c23deea36856737a97cca9b1c3f5cd0d676fe7df6ade6480","src/lib.rs":"a41b43e3628bb6b3f725580eec255b409947945672887de87c21d5122775a245","src/macro_metadata/ci.rs":"0d6e53d2b5645dd3cc7d196bd3a32ee82c029e1adb9ae93708c27a3fa5c55a88","src/macro_metadata/extract.rs":"ec392692a4601343312f60937987fe460cfb40d2c63a6bb1531fe91903916f10","src/macro_metadata/mod.rs":"1668e6d947fd4a957f557410a8095649de6f8d7fd3eb6a403b8587280dca2d54","src/main.rs":"bbf8e9942d398387e7518533f9b9dc42bfa66156430a87a17605a80a356c0dea","src/scaffolding/mod.rs":"35ae72220843cf3cccefd96e190553e32a5f34ccc58d552fd9165faea12db260","src/scaffolding/templates/CallbackInterfaceTemplate.rs":"3c8caa2e148add8d80701894ee6904fc2d3c5c6424d6d414b36edb6f593b5023","src/scaffolding/templates/EnumTemplate.rs":"eb8802f04f1fd1c9451ad72c1195c136288fdb4e488922b24db75b2fdae65cd7","src/scaffolding/templates/ErrorTemplate.rs":"e7ca4538908a273dd7ba3834219b30fa0e537b2171144f06b6a96fbefb90cd1d","src/scaffolding/templates/ExternalTypesTemplate.rs":"8ecc805cf119abac8c5f60605f9183ee9ec8d37f9ec75bba5e18bb8b482a1abb","src/scaffolding/templates/ObjectTemplate.rs":"34de640428486e17a61ded4f42ce13d8eac3e66cc9f60196ce2575cdc0bd8df6","src/scaffolding/templates/RecordTemplate.rs":"e8d5af954f46f023a243721d6fc70aa176c3a4c0a9dd340048bfe46f3eeed783","src/scaffolding/templates/ReexportUniFFIScaffolding.rs":"559a17c8e39c473ff1effe9651f05b83d443ecd8abed13e03f2b63872d7e1593","src/scaffolding/templates/RustBuffer.rs":"ccf7521012d93c41265375c6d2e80ce861ec93b41383da83c37718386dd726f6","src/scaffolding/templates/TopLevelFunctionTemplate.rs":"35eaefb0862f25ff683d58fb0be6ad5f74bbe2fc85047273200c3a5f4c728434","src/scaffolding/templates/macros.rs":"a41c9690d411074c59fc4609f897431669b9d939625a08f5304a71a88901ba7c","src/scaffolding/templates/scaffolding_template.rs":"3589f8e8e1f9b194ff4a6245665d3a421c771dec3cc947c4264bfcd34573550e"},"package":"5d46080a4840abccf7c0cce21931dae53215cbd7dd969b5e63c486235ce91a2a"}
+\ No newline at end of file
+diff --git a/third_party/rust/uniffi_bindgen/Cargo.lock b/third_party/rust/uniffi_bindgen/Cargo.lock
+--- a/third_party/rust/uniffi_bindgen/Cargo.lock
++++ b/third_party/rust/uniffi_bindgen/Cargo.lock
+@@ -2,13 +2,13 @@
+ # It is not intended for manual editing.
+ version = 3
+
+ [[package]]
+ name = "anyhow"
+-version = "1.0.65"
++version = "1.0.66"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "98161a4e3e2184da77bb14f02184cdd111e83bbbcc9979dfee3c44b9a85f5602"
++checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6"
+
+ [[package]]
+ name = "askama"
+ version = "0.11.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+@@ -97,13 +97,13 @@
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+ [[package]]
+ name = "clap"
+-version = "3.2.22"
++version = "3.2.23"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "86447ad904c7fb335a790c9d7fe3d0d971dc523b8ccd1561a520de9a85302750"
++checksum = "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5"
+ dependencies = [
+ "atty",
+ "bitflags",
+ "clap_derive",
+ "clap_lex",
+@@ -136,13 +136,13 @@
+ "os_str_bytes",
+ ]
+
+ [[package]]
+ name = "fs-err"
+-version = "2.8.1"
++version = "2.9.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "64db3e262960f0662f43a6366788d5f10f7f244b8f7d7d987f560baf5ded5c50"
++checksum = "0845fa252299212f0389d64ba26f34fa32cfe41588355f21ed507c59a0f64541"
+
+ [[package]]
+ name = "goblin"
+ version = "0.5.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+@@ -174,13 +174,13 @@
+ "libc",
+ ]
+
+ [[package]]
+ name = "indexmap"
+-version = "1.9.1"
++version = "1.9.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e"
++checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399"
+ dependencies = [
+ "autocfg",
+ "hashbrown",
+ ]
+
+@@ -190,13 +190,13 @@
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc"
+
+ [[package]]
+ name = "libc"
+-version = "0.2.135"
++version = "0.2.138"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "68783febc7782c6c5cb401fbda4de5a9898be1762314da0bb2c10ced61f18b0c"
++checksum = "db6d7e329c562c5dfab7a46a2afabc8b987ab9a4834c9d1ca04dc54c1546cef8"
+
+ [[package]]
+ name = "log"
+ version = "0.4.17"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+@@ -243,25 +243,25 @@
+ "minimal-lexical",
+ ]
+
+ [[package]]
+ name = "once_cell"
+-version = "1.15.0"
++version = "1.16.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "e82dad04139b71a90c080c8463fe0dc7902db5192d939bd0950f074d014339e1"
++checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860"
+
+ [[package]]
+ name = "os_str_bytes"
+-version = "6.3.0"
++version = "6.4.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "9ff7415e9ae3fff1225851df9e0d9e4e5479f947619774677a63572e55e80eff"
++checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee"
+
+ [[package]]
+ name = "paste"
+-version = "1.0.9"
++version = "1.0.10"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "b1de2e551fb905ac83f73f7aedf2f0cb4a0da7e35efa24a202a936269f1f18e1"
++checksum = "cf1c2c742266c2f1041c914ba65355a83ae8747b05f208319784083583494b4b"
+
+ [[package]]
+ name = "plain"
+ version = "0.2.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+@@ -291,13 +291,13 @@
+ "version_check",
+ ]
+
+ [[package]]
+ name = "proc-macro2"
+-version = "1.0.46"
++version = "1.0.47"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "94e2ef8dbfc347b10c094890f778ee2e36ca9bb4262e86dc99cd217e35f3470b"
++checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725"
+ dependencies = [
+ "unicode-ident",
+ ]
+
+ [[package]]
+@@ -335,50 +335,56 @@
+ "syn",
+ ]
+
+ [[package]]
+ name = "serde"
+-version = "1.0.145"
++version = "1.0.150"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "728eb6351430bccb993660dfffc5a72f91ccc1295abaa8ce19b27ebe4f75568b"
++checksum = "e326c9ec8042f1b5da33252c8a37e9ffbd2c9bef0155215b6e6c80c790e05f91"
+ dependencies = [
+ "serde_derive",
+ ]
+
+ [[package]]
+ name = "serde_derive"
+-version = "1.0.145"
++version = "1.0.150"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "81fa1584d3d1bcacd84c277a0dfe21f5b0f6accf4a23d04d4c6d61f1af522b4c"
++checksum = "42a3df25b0713732468deadad63ab9da1f1fd75a48a15024b50363f128db627e"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ ]
+
+ [[package]]
+ name = "serde_json"
+-version = "1.0.86"
++version = "1.0.89"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "41feea4228a6f1cd09ec7a3593a682276702cd67b5273544757dae23c096f074"
++checksum = "020ff22c755c2ed3f8cf162dbb41a7268d934702f3ed3631656ea597e08fc3db"
+ dependencies = [
+ "itoa",
+ "ryu",
+ "serde",
+ ]
+
+ [[package]]
++name = "siphasher"
++version = "0.3.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de"
++
++[[package]]
+ name = "strsim"
+ version = "0.10.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
+
+ [[package]]
+ name = "syn"
+-version = "1.0.102"
++version = "1.0.105"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "3fcd952facd492f9be3ef0d0b7032a6e442ee9b361d4acc2b1d0c4aaa5f613a1"
++checksum = "60b9b43d45702de4c839cb9b51d9f529c5dd26a4aff255b42b1ebc03e88ee908"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+ ]
+@@ -392,19 +398,19 @@
+ "winapi-util",
+ ]
+
+ [[package]]
+ name = "textwrap"
+-version = "0.15.1"
++version = "0.16.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "949517c0cf1bf4ee812e2e07e08ab448e3ae0d23472aee8a06c985f0c8815b16"
++checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
+
+ [[package]]
+ name = "toml"
+-version = "0.5.9"
++version = "0.5.10"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7"
++checksum = "1333c76748e868a4d9d1017b5ab53171dfd095f70c712fdb4653a406547f598f"
+ dependencies = [
+ "serde",
+ ]
+
+ [[package]]
+@@ -422,11 +428,11 @@
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3"
+
+ [[package]]
+ name = "uniffi_bindgen"
+-version = "0.21.0"
++version = "0.21.1"
+ dependencies = [
+ "anyhow",
+ "askama",
+ "bincode",
+ "camino",
+@@ -442,16 +448,28 @@
+ "uniffi_meta",
+ "weedle2",
+ ]
+
+ [[package]]
++name = "uniffi_checksum_derive"
++version = "0.21.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "78b6e16d46caf942016997af8bbdf4b163bf8ae3deb0b667d9643de7b7ffd4c9"
++dependencies = [
++ "quote",
++ "syn",
++]
++
++[[package]]
+ name = "uniffi_meta"
+-version = "0.21.0"
++version = "0.21.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "cd9417cc653937681436b93838d8c5f97a5b8c58697813982ee8810bd1dc3b57"
++checksum = "729835442da829c9b6f7c111c76cf87b2498e129101203bec94f0c39a3296a38"
+ dependencies = [
+ "serde",
++ "siphasher",
++ "uniffi_checksum_derive",
+ ]
+
+ [[package]]
+ name = "version_check"
+ version = "0.9.4"
+diff --git a/third_party/rust/uniffi_bindgen/Cargo.toml b/third_party/rust/uniffi_bindgen/Cargo.toml
+--- a/third_party/rust/uniffi_bindgen/Cargo.toml
++++ b/third_party/rust/uniffi_bindgen/Cargo.toml
+@@ -10,22 +10,21 @@
+ # See Cargo.toml.orig for the original contents.
+
+ [package]
+ edition = "2021"
+ name = "uniffi_bindgen"
+-version = "0.21.0"
++version = "0.21.1"
+ authors = ["Firefox Sync Team <sync-team(a)mozilla.com>"]
+ description = "a multi-language bindings generator for rust (codegen and cli tooling)"
+ homepage = "https://mozilla.github.io/uniffi-rs"
+ documentation = "https://mozilla.github.io/uniffi-rs"
+ keywords = [
+ "ffi",
+ "bindgen",
+ ]
+ license = "MPL-2.0"
+ repository = "https://github.com/mozilla/uniffi-rs"
+-resolver = "2"
+
+ [[bin]]
+ name = "uniffi-bindgen"
+ path = "src/main.rs"
+
+@@ -74,9 +73,9 @@
+
+ [dependencies.toml]
+ version = "0.5"
+
+ [dependencies.uniffi_meta]
+-version = "=0.21.0"
++version = "=0.21.1"
+
+ [dependencies.weedle2]
+ version = "4.0.0"
+diff --git a/third_party/rust/uniffi_bindgen/src/interface/attributes.rs b/third_party/rust/uniffi_bindgen/src/interface/attributes.rs
+--- a/third_party/rust/uniffi_bindgen/src/interface/attributes.rs
++++ b/third_party/rust/uniffi_bindgen/src/interface/attributes.rs
+@@ -13,17 +13,18 @@
+ //! We only support a small number of attributes, so it's manageable to have them
+ //! all handled by a single abstraction. This might need to be refactored in future
+ //! if we grow significantly more complicated attribute handling.
+
+ use anyhow::{bail, Result};
++use uniffi_meta::Checksum;
+
+ /// Represents an attribute parsed from UDL, like `[ByRef]` or `[Throws]`.
+ ///
+ /// This is a convenience enum for parsing UDL attributes and erroring out if we encounter
+ /// any unsupported ones. These don't convert directly into parts of a `ComponentInterface`, but
+ /// may influence the properties of things like functions and arguments.
+-#[derive(Debug, Clone, Hash)]
++#[derive(Debug, Clone, Checksum)]
+ pub(super) enum Attribute {
+ ByRef,
+ Enum,
+ Error,
+ Name(String),
+@@ -117,11 +118,11 @@
+ Ok(attrs)
+ }
+
+ /// Attributes that can be attached to an `enum` definition in the UDL.
+ /// There's only one case here: using `[Error]` to mark an enum as an error class.
+-#[derive(Debug, Clone, Hash, Default)]
++#[derive(Debug, Clone, Checksum, Default)]
+ pub(super) struct EnumAttributes(Vec<Attribute>);
+
+ impl EnumAttributes {
+ pub fn contains_error_attr(&self) -> bool {
+ self.0.iter().any(|attr| attr.is_error())
+@@ -153,11 +154,11 @@
+
+ /// Represents UDL attributes that might appear on a function.
+ ///
+ /// This supports the `[Throws=ErrorName]` attribute for functions that
+ /// can produce an error.
+-#[derive(Debug, Clone, Hash, Default)]
++#[derive(Debug, Clone, Checksum, Default)]
+ pub(super) struct FunctionAttributes(Vec<Attribute>);
+
+ impl FunctionAttributes {
+ pub(super) fn get_throws_err(&self) -> Option<&str> {
+ self.0.iter().find_map(|attr| match attr {
+@@ -196,11 +197,11 @@
+
+ /// Represents UDL attributes that might appear on a function argument.
+ ///
+ /// This supports the `[ByRef]` attribute for arguments that should be passed
+ /// by reference in the generated Rust scaffolding.
+-#[derive(Debug, Clone, Hash, Default)]
++#[derive(Debug, Clone, Checksum, Default)]
+ pub(super) struct ArgumentAttributes(Vec<Attribute>);
+
+ impl ArgumentAttributes {
+ pub fn by_ref(&self) -> bool {
+ self.0.iter().any(|attr| matches!(attr, Attribute::ByRef))
+@@ -231,11 +232,11 @@
+ }
+ }
+ }
+
+ /// Represents UDL attributes that might appear on an `interface` definition.
+-#[derive(Debug, Clone, Hash, Default)]
++#[derive(Debug, Clone, Checksum, Default)]
+ pub(super) struct InterfaceAttributes(Vec<Attribute>);
+
+ impl InterfaceAttributes {
+ pub fn contains_enum_attr(&self) -> bool {
+ self.0.iter().any(|attr| attr.is_enum())
+@@ -285,11 +286,11 @@
+
+ /// Represents UDL attributes that might appear on a constructor.
+ ///
+ /// This supports the `[Throws=ErrorName]` attribute for constructors that can produce
+ /// an error, and the `[Name=MethodName]` for non-default constructors.
+-#[derive(Debug, Clone, Hash, Default)]
++#[derive(Debug, Clone, Checksum, Default)]
+ pub(super) struct ConstructorAttributes(Vec<Attribute>);
+
+ impl ConstructorAttributes {
+ pub(super) fn get_throws_err(&self) -> Option<&str> {
+ self.0.iter().find_map(|attr| match attr {
+@@ -324,11 +325,11 @@
+
+ /// Represents UDL attributes that might appear on a method.
+ ///
+ /// This supports the `[Throws=ErrorName]` attribute for methods that can produce
+ /// an error, and the `[Self=ByArc]` attribute for methods that take `Arc<Self>` as receiver.
+-#[derive(Debug, Clone, Hash, Default)]
++#[derive(Debug, Clone, Checksum, Default)]
+ pub(super) struct MethodAttributes(Vec<Attribute>);
+
+ impl MethodAttributes {
+ pub(super) fn get_throws_err(&self) -> Option<&str> {
+ self.0.iter().find_map(|attr| match attr {
+@@ -373,11 +374,11 @@
+ /// Represents the different possible types of method call receiver.
+ ///
+ /// Actually we only support one of these right now, `[Self=ByArc]`.
+ /// We might add more in future, e.g. a `[Self=ByRef]` if there are cases
+ /// where we need to force the receiver to be taken by reference.
+-#[derive(Debug, Clone, Hash)]
++#[derive(Debug, Clone, Checksum)]
+ pub(super) enum SelfType {
+ ByArc, // Method receiver is `Arc<Self>`.
+ }
+
+ impl TryFrom<&weedle::attribute::IdentifierOrString<'_>> for SelfType {
+@@ -396,11 +397,11 @@
+ }
+
+ /// Represents UDL attributes that might appear on a typedef
+ ///
+ /// This supports the `[External="crate_name"]` and `[Custom]` attributes for types.
+-#[derive(Debug, Clone, Hash, Default)]
++#[derive(Debug, Clone, Checksum, Default)]
+ pub(super) struct TypedefAttributes(Vec<Attribute>);
+
+ impl TypedefAttributes {
+ pub(super) fn get_crate_name(&self) -> String {
+ self.0
+diff --git a/third_party/rust/uniffi_bindgen/src/interface/callbacks.rs b/third_party/rust/uniffi_bindgen/src/interface/callbacks.rs
+--- a/third_party/rust/uniffi_bindgen/src/interface/callbacks.rs
++++ b/third_party/rust/uniffi_bindgen/src/interface/callbacks.rs
+@@ -31,23 +31,29 @@
+ //! assert_eq!(callback.name(), "Example");
+ //! assert_eq!(callback.methods()[0].name(), "hello");
+ //! # Ok::<(), anyhow::Error>(())
+ //! ```
+
+-use std::hash::{Hash, Hasher};
+-
+ use anyhow::{bail, Result};
++use uniffi_meta::Checksum;
+
+ use super::ffi::{FFIArgument, FFIFunction, FFIType};
+ use super::object::Method;
+ use super::types::{Type, TypeIterator};
+ use super::{APIConverter, ComponentInterface};
+
+-#[derive(Debug, Clone)]
++#[derive(Debug, Clone, Checksum)]
+ pub struct CallbackInterface {
+ pub(super) name: String,
+ pub(super) methods: Vec<Method>,
++ // We don't include the FFIFunc in the hash calculation, because:
++ // - it is entirely determined by the other fields,
++ // so excluding it is safe.
++ // - its `name` property includes a checksum derived from the very
++ // hash value we're trying to calculate here, so excluding it
++ // avoids a weird circular depenendency in the calculation.
++ #[checksum_ignore]
+ pub(super) ffi_init_callback: FFIFunction,
+ }
+
+ impl CallbackInterface {
+ fn new(name: String) -> CallbackInterface {
+@@ -86,23 +92,10 @@
+ pub fn iter_types(&self) -> TypeIterator<'_> {
+ Box::new(self.methods.iter().flat_map(Method::iter_types))
+ }
+ }
+
+-impl Hash for CallbackInterface {
+- fn hash<H: Hasher>(&self, state: &mut H) {
+- // We don't include the FFIFunc in the hash calculation, because:
+- // - it is entirely determined by the other fields,
+- // so excluding it is safe.
+- // - its `name` property includes a checksum derived from the very
+- // hash value we're trying to calculate here, so excluding it
+- // avoids a weird circular depenendency in the calculation.
+- self.name.hash(state);
+- self.methods.hash(state);
+- }
+-}
+-
+ impl APIConverter<CallbackInterface> for weedle::CallbackInterfaceDefinition<'_> {
+ fn convert(&self, ci: &mut ComponentInterface) -> Result<CallbackInterface> {
+ if self.attributes.is_some() {
+ bail!("callback interface attributes are not supported yet");
+ }
+diff --git a/third_party/rust/uniffi_bindgen/src/interface/enum_.rs b/third_party/rust/uniffi_bindgen/src/interface/enum_.rs
+--- a/third_party/rust/uniffi_bindgen/src/interface/enum_.rs
++++ b/third_party/rust/uniffi_bindgen/src/interface/enum_.rs
+@@ -75,21 +75,22 @@
+ //! assert_eq!(e.variants()[1].fields()[0].name(), "first");
+ //! # Ok::<(), anyhow::Error>(())
+ //! ```
+
+ use anyhow::{bail, Result};
++use uniffi_meta::Checksum;
+
+ use super::record::Field;
+ use super::types::{Type, TypeIterator};
+ use super::{APIConverter, ComponentInterface};
+
+ /// Represents an enum with named variants, each of which may have named
+ /// and typed fields.
+ ///
+ /// Enums are passed across the FFI by serializing to a bytebuffer, with a
+ /// i32 indicating the variant followed by the serialization of each field.
+-#[derive(Debug, Clone, Hash)]
++#[derive(Debug, Clone, Checksum)]
+ pub struct Enum {
+ pub(super) name: String,
+ pub(super) variants: Vec<Variant>,
+ // "Flat" enums do not have, and will never have, variants with associated data.
+ pub(super) flat: bool,
+@@ -172,11 +173,11 @@
+ }
+
+ /// Represents an individual variant in an Enum.
+ ///
+ /// Each variant has a name and zero or more fields.
+-#[derive(Debug, Clone, Default, Hash)]
++#[derive(Debug, Clone, Default, Checksum)]
+ pub struct Variant {
+ pub(super) name: String,
+ pub(super) fields: Vec<Field>,
+ }
+
+diff --git a/third_party/rust/uniffi_bindgen/src/interface/error.rs b/third_party/rust/uniffi_bindgen/src/interface/error.rs
+--- a/third_party/rust/uniffi_bindgen/src/interface/error.rs
++++ b/third_party/rust/uniffi_bindgen/src/interface/error.rs
+@@ -81,10 +81,11 @@
+ //! assert_eq!(err.is_flat(), false);
+ //! # Ok::<(), anyhow::Error>(())
+ //! ```
+
+ use anyhow::Result;
++use uniffi_meta::Checksum;
+
+ use super::enum_::{Enum, Variant};
+ use super::types::{Type, TypeIterator};
+ use super::{APIConverter, ComponentInterface};
+
+@@ -92,11 +93,11 @@
+ ///
+ /// Errors are represented in the UDL as enums with the special `[Error]` attribute, but
+ /// they're handled in the FFI very differently. We create them in `uniffi::call_with_result()` if
+ /// the wrapped function returns an `Err` value
+ /// struct and assign an integer error code to each variant.
+-#[derive(Debug, Clone, Hash)]
++#[derive(Debug, Clone, Checksum)]
+ pub struct Error {
+ pub name: String,
+ enum_: Enum,
+ }
+
+diff --git a/third_party/rust/uniffi_bindgen/src/interface/function.rs b/third_party/rust/uniffi_bindgen/src/interface/function.rs
+--- a/third_party/rust/uniffi_bindgen/src/interface/function.rs
++++ b/third_party/rust/uniffi_bindgen/src/interface/function.rs
+@@ -30,13 +30,13 @@
+ //! assert!(matches!(func.return_type(), Some(Type::String)));
+ //! assert_eq!(func.arguments().len(), 0);
+ //! # Ok::<(), anyhow::Error>(())
+ //! ```
+ use std::convert::TryFrom;
+-use std::hash::{Hash, Hasher};
+
+ use anyhow::{bail, Result};
++use uniffi_meta::Checksum;
+
+ use super::ffi::{FFIArgument, FFIFunction};
+ use super::literal::{convert_default_value, Literal};
+ use super::types::{Type, TypeIterator};
+ use super::{
+@@ -49,15 +49,22 @@
+ ///
+ /// Each `Function` corresponds to a standalone function in the rust module,
+ /// and has a corresponding standalone function in the foreign language bindings.
+ ///
+ /// In the FFI, this will be a standalone function with appropriately lowered types.
+-#[derive(Debug, Clone)]
++#[derive(Debug, Clone, Checksum)]
+ pub struct Function {
+ pub(super) name: String,
+ pub(super) arguments: Vec<Argument>,
+ pub(super) return_type: Option<Type>,
++ // We don't include the FFIFunc in the hash calculation, because:
++ // - it is entirely determined by the other fields,
++ // so excluding it is safe.
++ // - its `name` property includes a checksum derived from the very
++ // hash value we're trying to calculate here, so excluding it
++ // avoids a weird circular depenendency in the calculation.
++ #[checksum_ignore]
+ pub(super) ffi_func: FFIFunction,
+ pub(super) attributes: FunctionAttributes,
+ }
+
+ impl Function {
+@@ -140,25 +147,10 @@
+ attributes: Default::default(),
+ }
+ }
+ }
+
+-impl Hash for Function {
+- fn hash<H: Hasher>(&self, state: &mut H) {
+- // We don't include the FFIFunc in the hash calculation, because:
+- // - it is entirely determined by the other fields,
+- // so excluding it is safe.
+- // - its `name` property includes a checksum derived from the very
+- // hash value we're trying to calculate here, so excluding it
+- // avoids a weird circular depenendency in the calculation.
+- self.name.hash(state);
+- self.arguments.hash(state);
+- self.return_type.hash(state);
+- self.attributes.hash(state);
+- }
+-}
+-
+ impl APIConverter<Function> for weedle::namespace::NamespaceMember<'_> {
+ fn convert(&self, ci: &mut ComponentInterface) -> Result<Function> {
+ match self {
+ weedle::namespace::NamespaceMember::Operation(f) => f.convert(ci),
+ _ => bail!("no support for namespace member type {:?} yet", self),
+@@ -183,11 +175,11 @@
+ }
+
+ /// Represents an argument to a function/constructor/method call.
+ ///
+ /// Each argument has a name and a type, along with some optional metadata.
+-#[derive(Debug, Clone, Hash)]
++#[derive(Debug, Clone, Checksum)]
+ pub struct Argument {
+ pub(super) name: String,
+ pub(super) type_: Type,
+ pub(super) by_ref: bool,
+ pub(super) optional: bool,
+diff --git a/third_party/rust/uniffi_bindgen/src/interface/literal.rs b/third_party/rust/uniffi_bindgen/src/interface/literal.rs
+--- a/third_party/rust/uniffi_bindgen/src/interface/literal.rs
++++ b/third_party/rust/uniffi_bindgen/src/interface/literal.rs
+@@ -6,16 +6,17 @@
+ //!
+ //! This module provides support for interpreting literal values from the UDL,
+ //! which appear in places such as default arguments.
+
+ use anyhow::{bail, Result};
++use uniffi_meta::Checksum;
+
+ use super::types::Type;
+
+ // Represents a literal value.
+ // Used for e.g. default argument values.
+-#[derive(Debug, Clone, Hash)]
++#[derive(Debug, Clone, Checksum)]
+ pub enum Literal {
+ Boolean(bool),
+ String(String),
+ // Integers are represented as the widest representation we can.
+ // Number formatting vary with language and radix, so we avoid a lot of parsing and
+@@ -33,11 +34,11 @@
+ Null,
+ }
+
+ // Represent the radix of integer literal values.
+ // We preserve the radix into the generated bindings for readability reasons.
+-#[derive(Debug, Clone, Copy, Hash)]
++#[derive(Debug, Clone, Copy, Checksum)]
+ pub enum Radix {
+ Decimal = 10,
+ Octal = 8,
+ Hexadecimal = 16,
+ }
+diff --git a/third_party/rust/uniffi_bindgen/src/interface/mod.rs b/third_party/rust/uniffi_bindgen/src/interface/mod.rs
+--- a/third_party/rust/uniffi_bindgen/src/interface/mod.rs
++++ b/third_party/rust/uniffi_bindgen/src/interface/mod.rs
+@@ -42,16 +42,11 @@
+ //! a good opportunity here for e.g. interned strings, but we're nowhere near the point were we need
+ //! that kind of optimization just yet.
+ //!
+ //! * Error messages and general developer experience leave a lot to be desired.
+
+-use std::{
+- collections::HashSet,
+- convert::TryFrom,
+- hash::{Hash, Hasher},
+- iter,
+-};
++use std::{collections::HashSet, convert::TryFrom, iter};
+
+ use anyhow::{bail, Result};
+
+ pub mod types;
+ pub use types::Type;
+@@ -75,26 +70,30 @@
+ mod record;
+ pub use record::{Field, Record};
+
+ pub mod ffi;
+ pub use ffi::{FFIArgument, FFIFunction, FFIType};
+-use uniffi_meta::{MethodMetadata, ObjectMetadata};
++use uniffi_meta::{Checksum, MethodMetadata, ObjectMetadata};
+
+ /// The main public interface for this module, representing the complete details of an interface exposed
+ /// by a rust component and the details of consuming it via an extern-C FFI layer.
+ ///
+-#[derive(Debug, Default)]
++#[derive(Debug, Default, Checksum)]
+ pub struct ComponentInterface {
+ /// Every ComponentInterface gets tagged with the version of uniffi used to create it.
+ /// This helps us avoid using a lib compiled with one version together with bindings created
+ /// using a different version, which might introduce unsafety.
+ uniffi_version: String,
+ /// All of the types used in the interface.
++ // We can't checksum `self.types`, but its contents are implied by the other fields
++ // anyway, so it's safe to ignore it.
++ #[checksum_ignore]
+ pub(super) types: TypeUniverse,
+ /// The unique prefix that we'll use for namespacing when exposing this component's API.
+ namespace: String,
+ /// The internal unique prefix used to namespace FFI symbols
++ #[checksum_ignore]
+ ffi_namespace: String,
+ /// The high-level API provided by the component.
+ enums: Vec<Enum>,
+ records: Vec<Record>,
+ functions: Vec<Function>,
+@@ -105,11 +104,11 @@
+
+ impl ComponentInterface {
+ /// Parse a `ComponentInterface` from a string containing a WebIDL definition.
+ pub fn from_webidl(idl: &str) -> Result<Self> {
+ let mut ci = Self {
+- uniffi_version: env!("CARGO_PKG_VERSION").to_string(),
++ uniffi_version: "0.21.0".to_string(),
+ ..Default::default()
+ };
+ // There's some lifetime thing with the errors returned from weedle::Definitions::parse
+ // that my own lifetime is too short to worry about figuring out; unwrap and move on.
+
+@@ -319,20 +318,12 @@
+ /// and the same version of Rust, will always have the same checksum value.
+ /// - Two ComponentInterfaces will, with high probability, have different checksum values if:
+ /// - They were generated from two different WebIDL files.
+ /// - They were generated by two different versions of uniffi
+ ///
+- /// The checksum may or may not change depending on the version of Rust used; since we expect
+- /// consumers to be using the same executable to generate both the scaffolding and the bindings,
+- /// assuming the same version of Rust seems acceptable.
+- ///
+ /// Note that this is designed to prevent accidents, not attacks, so there is no need for the
+ /// checksum to be cryptographically secure.
+- ///
+- /// TODO: it's not clear to me if the derivation of `Hash` is actually deterministic enough to
+- /// ensure the guarantees above, or if it might be sensitive to e.g. compiler-driven re-ordering
+- /// of struct field. Let's see how it goes...
+ pub fn checksum(&self) -> u16 {
+ uniffi_meta::checksum(self)
+ }
+
+ /// The namespace to use in FFI-level function definitions.
+@@ -670,27 +661,10 @@
+ }
+ Ok(())
+ }
+ }
+
+-/// `ComponentInterface` structs can be hashed, but this is mostly a convenient way to
+-/// produce a checksum of their contents. They're not really intended to live in a hashtable.
+-impl Hash for ComponentInterface {
+- fn hash<H: Hasher>(&self, state: &mut H) {
+- // We can't hash `self.types`, but its contents are implied by the other fields
+- // anyway, so it's safe to ignore it.
+- self.uniffi_version.hash(state);
+- self.namespace.hash(state);
+- self.enums.hash(state);
+- self.records.hash(state);
+- self.functions.hash(state);
+- self.objects.hash(state);
+- self.callback_interfaces.hash(state);
+- self.errors.hash(state);
+- }
+-}
+-
+ fn get_or_insert_object<'a>(objects: &'a mut Vec<Object>, name: &str) -> &'a mut Object {
+ // The find-based way of writing this currently runs into a borrow checker
+ // error, so we use position
+ match objects.iter_mut().position(|o| o.name == name) {
+ Some(idx) => &mut objects[idx],
+diff --git a/third_party/rust/uniffi_bindgen/src/interface/object.rs b/third_party/rust/uniffi_bindgen/src/interface/object.rs
+--- a/third_party/rust/uniffi_bindgen/src/interface/object.rs
++++ b/third_party/rust/uniffi_bindgen/src/interface/object.rs
+@@ -56,14 +56,14 @@
+ //! assert_eq!(obj.constructors().len(), 0);
+ //! # Ok::<(), anyhow::Error>(())
+ //! ```
+
+ use std::convert::TryFrom;
+-use std::hash::{Hash, Hasher};
+ use std::{collections::HashSet, iter};
+
+ use anyhow::{bail, Result};
++use uniffi_meta::Checksum;
+
+ use super::ffi::{FFIArgument, FFIFunction, FFIType};
+ use super::function::Argument;
+ use super::types::{Type, TypeIterator};
+ use super::{
+@@ -84,16 +84,24 @@
+ /// binding code is expected to stitch these functions back together into an appropriate class
+ /// definition (or that language's equivalent thereof).
+ ///
+ /// TODO:
+ /// - maybe "Class" would be a better name than "Object" here?
+-#[derive(Debug, Clone)]
++#[derive(Debug, Clone, Checksum)]
+ pub struct Object {
+ pub(super) name: String,
+ pub(super) constructors: Vec<Constructor>,
+ pub(super) methods: Vec<Method>,
++ // We don't include the FFIFunc in the hash calculation, because:
++ // - it is entirely determined by the other fields,
++ // so excluding it is safe.
++ // - its `name` property includes a checksum derived from the very
++ // hash value we're trying to calculate here, so excluding it
++ // avoids a weird circular depenendency in the calculation.
++ #[checksum_ignore]
+ pub(super) ffi_func_free: FFIFunction,
++ #[checksum_ignore]
+ pub(super) uses_deprecated_threadsafe_attribute: bool,
+ }
+
+ impl Object {
+ pub(super) fn new(name: String) -> Object {
+@@ -188,24 +196,10 @@
+ .flatten(),
+ )
+ }
+ }
+
+-impl Hash for Object {
+- fn hash<H: Hasher>(&self, state: &mut H) {
+- // We don't include the FFIFunc in the hash calculation, because:
+- // - it is entirely determined by the other fields,
+- // so excluding it is safe.
+- // - its `name` property includes a checksum derived from the very
+- // hash value we're trying to calculate here, so excluding it
+- // avoids a weird circular depenendency in the calculation.
+- self.name.hash(state);
+- self.constructors.hash(state);
+- self.methods.hash(state);
+- }
+-}
+-
+ impl APIConverter<Object> for weedle::InterfaceDefinition<'_> {
+ fn convert(&self, ci: &mut ComponentInterface) -> Result<Object> {
+ if self.inheritance.is_some() {
+ bail!("interface inheritence is not supported");
+ }
+@@ -243,14 +237,21 @@
+
+ // Represents a constructor for an object type.
+ //
+ // In the FFI, this will be a function that returns a pointer to an instance
+ // of the corresponding object type.
+-#[derive(Debug, Clone)]
++#[derive(Debug, Clone, Checksum)]
+ pub struct Constructor {
+ pub(super) name: String,
+ pub(super) arguments: Vec<Argument>,
++ // We don't include the FFIFunc in the hash calculation, because:
++ // - it is entirely determined by the other fields,
++ // so excluding it is safe.
++ // - its `name` property includes a checksum derived from the very
++ // hash value we're trying to calculate here, so excluding it
++ // avoids a weird circular depenendency in the calculation.
++ #[checksum_ignore]
+ pub(super) ffi_func: FFIFunction,
+ pub(super) attributes: ConstructorAttributes,
+ }
+
+ impl Constructor {
+@@ -297,24 +298,10 @@
+ pub fn iter_types(&self) -> TypeIterator<'_> {
+ Box::new(self.arguments.iter().flat_map(Argument::iter_types))
+ }
+ }
+
+-impl Hash for Constructor {
+- fn hash<H: Hasher>(&self, state: &mut H) {
+- // We don't include the FFIFunc in the hash calculation, because:
+- // - it is entirely determined by the other fields,
+- // so excluding it is safe.
+- // - its `name` property includes a checksum derived from the very
+- // hash value we're trying to calculate here, so excluding it
+- // avoids a weird circular depenendency in the calculation.
+- self.name.hash(state);
+- self.arguments.hash(state);
+- self.attributes.hash(state);
+- }
+-}
+-
+ impl Default for Constructor {
+ fn default() -> Self {
+ Constructor {
+ name: String::from("new"),
+ arguments: Vec::new(),
+@@ -341,16 +328,23 @@
+
+ // Represents an instance method for an object type.
+ //
+ // The FFI will represent this as a function whose first/self argument is a
+ // `FFIType::RustArcPtr` to the instance.
+-#[derive(Debug, Clone)]
++#[derive(Debug, Clone, Checksum)]
+ pub struct Method {
+ pub(super) name: String,
+ pub(super) object_name: String,
++ pub(super) arguments: Vec<Argument>,
+ pub(super) return_type: Option<Type>,
+- pub(super) arguments: Vec<Argument>,
++ // We don't include the FFIFunc in the hash calculation, because:
++ // - it is entirely determined by the other fields,
++ // so excluding it is safe.
++ // - its `name` property includes a checksum derived from the very
++ // hash value we're trying to calculate here, so excluding it
++ // avoids a weird circular depenendency in the calculation.
++ #[checksum_ignore]
+ pub(super) ffi_func: FFIFunction,
+ pub(super) attributes: MethodAttributes,
+ }
+
+ impl Method {
+@@ -448,26 +442,10 @@
+ attributes: Default::default(),
+ }
+ }
+ }
+
+-impl Hash for Method {
+- fn hash<H: Hasher>(&self, state: &mut H) {
+- // We don't include the FFIFunc in the hash calculation, because:
+- // - it is entirely determined by the other fields,
+- // so excluding it is safe.
+- // - its `name` property includes a checksum derived from the very
+- // hash value we're trying to calculate here, so excluding it
+- // avoids a weird circular depenendency in the calculation.
+- self.name.hash(state);
+- self.object_name.hash(state);
+- self.arguments.hash(state);
+- self.return_type.hash(state);
+- self.attributes.hash(state);
+- }
+-}
+-
+ impl APIConverter<Method> for weedle::interface::OperationInterfaceMember<'_> {
+ fn convert(&self, ci: &mut ComponentInterface) -> Result<Method> {
+ if self.special.is_some() {
+ bail!("special operations not supported");
+ }
+diff --git a/third_party/rust/uniffi_bindgen/src/interface/record.rs b/third_party/rust/uniffi_bindgen/src/interface/record.rs
+--- a/third_party/rust/uniffi_bindgen/src/interface/record.rs
++++ b/third_party/rust/uniffi_bindgen/src/interface/record.rs
+@@ -43,10 +43,11 @@
+ //! assert_eq!(record.fields()[1].name(), "value");
+ //! # Ok::<(), anyhow::Error>(())
+ //! ```
+
+ use anyhow::{bail, Result};
++use uniffi_meta::Checksum;
+
+ use super::types::{Type, TypeIterator};
+ use super::{
+ convert_type,
+ literal::{convert_default_value, Literal},
+@@ -56,11 +57,11 @@
+ /// Represents a "data class" style object, for passing around complex values.
+ ///
+ /// In the FFI these are represented as a byte buffer, which one side explicitly
+ /// serializes the data into and the other serializes it out of. So I guess they're
+ /// kind of like "pass by clone" values.
+-#[derive(Debug, Clone, Hash)]
++#[derive(Debug, Clone, Checksum)]
+ pub struct Record {
+ pub(super) name: String,
+ pub(super) fields: Vec<Field>,
+ }
+
+@@ -107,11 +108,11 @@
+ })
+ }
+ }
+
+ // Represents an individual field on a Record.
+-#[derive(Debug, Clone, Hash)]
++#[derive(Debug, Clone, Checksum)]
+ pub struct Field {
+ pub(super) name: String,
+ pub(super) type_: Type,
+ pub(super) required: bool,
+ pub(super) default: Option<Literal>,
+diff --git a/third_party/rust/uniffi_bindgen/src/interface/types/mod.rs b/third_party/rust/uniffi_bindgen/src/interface/types/mod.rs
+--- a/third_party/rust/uniffi_bindgen/src/interface/types/mod.rs
++++ b/third_party/rust/uniffi_bindgen/src/interface/types/mod.rs
+@@ -23,10 +23,11 @@
+
+ use std::{collections::hash_map::Entry, collections::BTreeSet, collections::HashMap, iter};
+
+ use anyhow::{bail, Result};
+ use heck::ToUpperCamelCase;
++use uniffi_meta::Checksum;
+
+ use super::ffi::FFIType;
+
+ mod finder;
+ pub(super) use finder::TypeFinder;
+@@ -34,11 +35,11 @@
+ pub(super) use resolver::{resolve_builtin_type, TypeResolver};
+
+ /// Represents all the different high-level types that can be used in a component interface.
+ /// At this level we identify user-defined types by name, without knowing any details
+ /// of their internal structure apart from what type of thing they are (record, enum, etc).
+-#[derive(Debug, Clone, Eq, PartialEq, Hash, Ord, PartialOrd)]
++#[derive(Debug, Clone, Eq, PartialEq, Checksum, Ord, PartialOrd)]
+ pub enum Type {
+ // Primitive types.
+ UInt8,
+ Int8,
+ UInt16,
+diff --git a/third_party/rust/uniffi_build/.cargo-checksum.json b/third_party/rust/uniffi_build/.cargo-checksum.json
+--- a/third_party/rust/uniffi_build/.cargo-checksum.json
++++ b/third_party/rust/uniffi_build/.cargo-checksum.json
+@@ -1 +1 @@
+-{"files":{"Cargo.toml":"bf9105f53978ecdccad9a75fc3645f97982d3c4162a5a9b49ab16554162b51c1","src/lib.rs":"485a0c0ab99077a1d4037f4deec9801e87a248196e7589a002556fb84973528a"},"package":"510287c368a9386eb731ebe824a6fc6c82a105e20d020af1aa20519c1c1561db"}
+\ No newline at end of file
++{"files":{"Cargo.toml":"30736876caf953bd0040b6c0fc824744556bf52fe23d656c7d01442d4c180674","src/lib.rs":"485a0c0ab99077a1d4037f4deec9801e87a248196e7589a002556fb84973528a"},"package":"d035e50433ee3d52ab0dcdcf3b9b26f2cc2ec39294b3c07d95865a518709455f"}
+\ No newline at end of file
+diff --git a/third_party/rust/uniffi_build/Cargo.toml b/third_party/rust/uniffi_build/Cargo.toml
+--- a/third_party/rust/uniffi_build/Cargo.toml
++++ b/third_party/rust/uniffi_build/Cargo.toml
+@@ -10,31 +10,30 @@
+ # See Cargo.toml.orig for the original contents.
+
+ [package]
+ edition = "2021"
+ name = "uniffi_build"
+-version = "0.21.0"
++version = "0.21.1"
+ authors = ["Firefox Sync Team <sync-team(a)mozilla.com>"]
+ description = "a multi-language bindings generator for rust (build script helpers)"
+ homepage = "https://mozilla.github.io/uniffi-rs"
+ documentation = "https://mozilla.github.io/uniffi-rs"
+ keywords = [
+ "ffi",
+ "bindgen",
+ ]
+ license = "MPL-2.0"
+ repository = "https://github.com/mozilla/uniffi-rs"
+-resolver = "2"
+
+ [dependencies.anyhow]
+ version = "1"
+
+ [dependencies.camino]
+ version = "1.0.8"
+
+ [dependencies.uniffi_bindgen]
+-version = "=0.21.0"
++version = "=0.21.1"
+ optional = true
+
+ [features]
+ builtin-bindgen = ["uniffi_bindgen"]
+ default = []
+diff --git a/third_party/rust/uniffi_checksum_derive/.cargo-checksum.json b/third_party/rust/uniffi_checksum_derive/.cargo-checksum.json
+new file mode 100644
+--- /dev/null
++++ b/third_party/rust/uniffi_checksum_derive/.cargo-checksum.json
+@@ -0,0 +1 @@
++{"files":{"Cargo.toml":"2ab3c60724c4c504297f8876bf0a8d1291f76a2fc46f5e83634aa147e89ffc71","src/lib.rs":"c68c69a1cf6a69e5fe78f7b069364a265c5bb6ce8c0abf0b5745eca01c79604a"},"package":"78b6e16d46caf942016997af8bbdf4b163bf8ae3deb0b667d9643de7b7ffd4c9"}
+\ No newline at end of file
+diff --git a/third_party/rust/uniffi_checksum_derive/Cargo.toml b/third_party/rust/uniffi_checksum_derive/Cargo.toml
+new file mode 100644
+--- /dev/null
++++ b/third_party/rust/uniffi_checksum_derive/Cargo.toml
+@@ -0,0 +1,42 @@
++# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
++#
++# When uploading crates to the registry Cargo will automatically
++# "normalize" Cargo.toml files for maximal compatibility
++# with all versions of Cargo and also rewrite `path` dependencies
++# to registry (e.g., crates.io) dependencies.
++#
++# If you are reading this file be aware that the original Cargo.toml
++# will likely look very different (and much more reasonable).
++# See Cargo.toml.orig for the original contents.
++
++[package]
++edition = "2021"
++name = "uniffi_checksum_derive"
++version = "0.21.1"
++authors = ["Firefox Sync Team <sync-team(a)mozilla.com>"]
++description = "a multi-language bindings generator for rust (checksum custom derive)"
++homepage = "https://mozilla.github.io/uniffi-rs"
++documentation = "https://mozilla.github.io/uniffi-rs"
++keywords = [
++ "ffi",
++ "bindgen",
++]
++license = "MPL-2.0"
++repository = "https://github.com/mozilla/uniffi-rs"
++
++[lib]
++proc-macro = true
++
++[dependencies.quote]
++version = "1.0"
++
++[dependencies.syn]
++version = "1.0"
++features = [
++ "derive",
++ "parsing",
++]
++
++[features]
++default = []
++nightly = []
+diff --git a/third_party/rust/uniffi_checksum_derive/src/lib.rs b/third_party/rust/uniffi_checksum_derive/src/lib.rs
+new file mode 100644
+--- /dev/null
++++ b/third_party/rust/uniffi_checksum_derive/src/lib.rs
+@@ -0,0 +1,134 @@
++/* This Source Code Form is subject to the terms of the Mozilla Public
++ * License, v. 2.0. If a copy of the MPL was not distributed with this
++ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
++#![cfg_attr(feature = "nightly", feature(proc_macro_expand))]
++
++//! Custom derive for uniffi_meta::Checksum
++
++use proc_macro::TokenStream;
++use quote::{format_ident, quote};
++use syn::{parse_macro_input, Attribute, Data, DeriveInput, Expr, ExprLit, Fields, Index, Lit};
++
++fn has_ignore_attribute(attrs: &[Attribute]) -> bool {
++ attrs.iter().any(|attr| {
++ if attr.path.is_ident("checksum_ignore") {
++ if !attr.tokens.is_empty() {
++ panic!("#[checksum_ignore] doesn't accept extra information");
++ }
++ true
++ } else {
++ false
++ }
++ })
++}
++
++#[proc_macro_derive(Checksum, attributes(checksum_ignore))]
++pub fn checksum_derive(input: TokenStream) -> TokenStream {
++ let input: DeriveInput = parse_macro_input!(input);
++
++ let name = input.ident;
++
++ let (impl_generics, ty_generics, where_clause) = input.generics.split_for_impl();
++
++ let code = match input.data {
++ Data::Enum(enum_)
++ if enum_.variants.len() == 1
++ && enum_
++ .variants
++ .iter()
++ .all(|variant| matches!(variant.fields, Fields::Unit)) =>
++ {
++ quote!()
++ }
++ Data::Enum(enum_) => {
++ let mut next_discriminant = 0u64;
++ let match_inner = enum_.variants.iter().map(|variant| {
++ let ident = &variant.ident;
++ if has_ignore_attribute(&variant.attrs) {
++ panic!("#[checksum_ignore] is not supported in enums");
++ }
++ match &variant.discriminant {
++ Some((_, Expr::Lit(ExprLit { lit: Lit::Int(value), .. }))) => {
++ next_discriminant = value.base10_parse::<u64>().unwrap();
++ }
++ Some(_) => {
++ panic!("#[derive(Checksum)] doesn't support non-numeric explicit discriminants in enums");
++ }
++ None => {}
++ }
++ let discriminant = quote! { state.write(&#next_discriminant.to_le_bytes()) };
++ next_discriminant += 1;
++ match &variant.fields {
++ Fields::Unnamed(fields) => {
++ let field_idents = fields
++ .unnamed
++ .iter()
++ .enumerate()
++ .map(|(num, _)| format_ident!("__self_{}", num));
++ let field_stmts = field_idents
++ .clone()
++ .map(|ident| quote! { Checksum::checksum(#ident, state); });
++ quote! {
++ Self::#ident(#(#field_idents,)*) => {
++ #discriminant;
++ #(#field_stmts)*
++ }
++ }
++ }
++ Fields::Named(fields) => {
++ let field_idents = fields
++ .named
++ .iter()
++ .map(|field| field.ident.as_ref().unwrap());
++ let field_stmts = field_idents
++ .clone()
++ .map(|ident| quote! { Checksum::checksum(#ident, state); });
++ quote! {
++ Self::#ident { #(#field_idents,)* } => {
++ #discriminant;
++ #(#field_stmts)*
++ }
++ }
++ }
++ Fields::Unit => quote! { Self::#ident => #discriminant, },
++ }
++ });
++ quote! {
++ match self {
++ #(#match_inner)*
++ }
++ }
++ }
++ Data::Struct(struct_) => {
++ let stmts = struct_
++ .fields
++ .iter()
++ .enumerate()
++ .filter_map(|(num, field)| {
++ (!has_ignore_attribute(&field.attrs)).then(|| match field.ident.as_ref() {
++ Some(ident) => quote! { Checksum::checksum(&self.#ident, state); },
++ None => {
++ let i = Index::from(num);
++ quote! { Checksum::checksum(&self.#i, state); }
++ }
++ })
++ });
++ quote! {
++ #(#stmts)*
++ }
++ }
++ Data::Union(_) => {
++ panic!("#[derive(Checksum)] is not supported for unions");
++ }
++ };
++
++ quote! {
++ #[automatically_derived]
++ impl #impl_generics Checksum for #name #ty_generics #where_clause {
++ fn checksum<__H: ::core::hash::Hasher>(&self, state: &mut __H) {
++ #code
++ }
++ }
++ }
++ .into()
++}
+diff --git a/third_party/rust/uniffi_macros/.cargo-checksum.json b/third_party/rust/uniffi_macros/.cargo-checksum.json
+--- a/third_party/rust/uniffi_macros/.cargo-checksum.json
++++ b/third_party/rust/uniffi_macros/.cargo-checksum.json
+@@ -1 +1 @@
+-{"files":{"Cargo.toml":"55f7e114dd34b0c60b58890120f8707601a5401e9d49d42a239b03da2e660d4f","src/export.rs":"e23929cf6fb5542d29514fe668f3b3d836fad968eacd9c6fcba74c5cd9cf2b61","src/export/metadata.rs":"af89a9942c7c0c4043a3cd57d1e6bd71cde19005e1f9f246efac761f47eff6be","src/export/metadata/convert.rs":"81060fb3390165d77db021f44142a2f3f10882515f859d7393857083370f2d35","src/export/metadata/function.rs":"11833cabd37e7671c0a01944bec73b8892a15df814bbe4c26fdae57aad89a2ba","src/export/metadata/impl_.rs":"ecfdaa132f05dd946414281e52165ef19c90c0bfd76ec651d4ec86837bd41d1c","src/export/scaffolding.rs":"66939405063e56fc983126f249e2d7ddc3257cb045a738abd0cf813a4aafc59c","src/lib.rs":"ca77b437a58cfb3ddeb106d3c1c8378545c46ef241298e62ab1190c5136d1fb1","src/object.rs":"955b596f344304013692042bdc1760bbb1192ec33950b0dd2932cb8de94ec297","src/record.rs":"67a5c7ed6a448f7ad8f5c8e930c5e3007b2b0cac32f52cc8596bdae6fb3c816e","src/util.rs":"6389a9b4258808a3af168cf85658fb7c069172d5e528ee0e94210fa664f2a414"},"package":"5c8604503caa2cbcf271578dc51ca236d40e3b22e1514ffa2e638e2c39f6ad10"}
+\ No newline at end of file
++{"files":{"Cargo.toml":"6511b493b676ac3941d70477c91abec62642c3c9aab088ecdf4f733eef3f1faa","src/export.rs":"e23929cf6fb5542d29514fe668f3b3d836fad968eacd9c6fcba74c5cd9cf2b61","src/export/metadata.rs":"af89a9942c7c0c4043a3cd57d1e6bd71cde19005e1f9f246efac761f47eff6be","src/export/metadata/convert.rs":"81060fb3390165d77db021f44142a2f3f10882515f859d7393857083370f2d35","src/export/metadata/function.rs":"11833cabd37e7671c0a01944bec73b8892a15df814bbe4c26fdae57aad89a2ba","src/export/metadata/impl_.rs":"ecfdaa132f05dd946414281e52165ef19c90c0bfd76ec651d4ec86837bd41d1c","src/export/scaffolding.rs":"66939405063e56fc983126f249e2d7ddc3257cb045a738abd0cf813a4aafc59c","src/lib.rs":"ca77b437a58cfb3ddeb106d3c1c8378545c46ef241298e62ab1190c5136d1fb1","src/object.rs":"955b596f344304013692042bdc1760bbb1192ec33950b0dd2932cb8de94ec297","src/record.rs":"67a5c7ed6a448f7ad8f5c8e930c5e3007b2b0cac32f52cc8596bdae6fb3c816e","src/util.rs":"6389a9b4258808a3af168cf85658fb7c069172d5e528ee0e94210fa664f2a414"},"package":"c96a574677566f83ea8458dac1dd7792fd63e7c3f9dbcd865f0e8d6f8057b127"}
+\ No newline at end of file
+diff --git a/third_party/rust/uniffi_macros/Cargo.toml b/third_party/rust/uniffi_macros/Cargo.toml
+--- a/third_party/rust/uniffi_macros/Cargo.toml
++++ b/third_party/rust/uniffi_macros/Cargo.toml
+@@ -10,22 +10,21 @@
+ # See Cargo.toml.orig for the original contents.
+
+ [package]
+ edition = "2021"
+ name = "uniffi_macros"
+-version = "0.21.0"
++version = "0.21.1"
+ authors = ["Firefox Sync Team <sync-team(a)mozilla.com>"]
+ description = "a multi-language bindings generator for rust (convenience macros)"
+ homepage = "https://mozilla.github.io/uniffi-rs"
+ documentation = "https://mozilla.github.io/uniffi-rs"
+ keywords = [
+ "ffi",
+ "bindgen",
+ ]
+ license = "MPL-2.0"
+ repository = "https://github.com/mozilla/uniffi-rs"
+-resolver = "2"
+
+ [lib]
+ proc-macro = true
+
+ [dependencies.bincode]
+@@ -58,14 +57,14 @@
+
+ [dependencies.toml]
+ version = "0.5.9"
+
+ [dependencies.uniffi_build]
+-version = "=0.21.0"
++version = "=0.21.1"
+
+ [dependencies.uniffi_meta]
+-version = "=0.21.0"
++version = "=0.21.1"
+
+ [features]
+ builtin-bindgen = ["uniffi_build/builtin-bindgen"]
+ default = []
+ nightly = []
+diff --git a/third_party/rust/uniffi_meta/.cargo-checksum.json b/third_party/rust/uniffi_meta/.cargo-checksum.json
+--- a/third_party/rust/uniffi_meta/.cargo-checksum.json
++++ b/third_party/rust/uniffi_meta/.cargo-checksum.json
+@@ -1 +1 @@
+-{"files":{"Cargo.toml":"4a474782b3acac7e99435c0cfc6cd4790817ee5c15980b10dc927d95795b977f","src/lib.rs":"dc4c91763c01e8c09ef55cdb103bc02c7aba71c5660ba88f776a8a03a747d6e8"},"package":"cd9417cc653937681436b93838d8c5f97a5b8c58697813982ee8810bd1dc3b57"}
+\ No newline at end of file
++{"files":{"Cargo.toml":"4c34032ec5fadf8b996c671425d5afa38e0e5c223ab0b2ed3b44099fb78157d3","src/lib.rs":"a9854421f120e1c4a9d7d36bb006a4c5e7d2e054564f95aa9b6956e7ebb348fd"},"package":"729835442da829c9b6f7c111c76cf87b2498e129101203bec94f0c39a3296a38"}
+\ No newline at end of file
+diff --git a/third_party/rust/uniffi_meta/Cargo.toml b/third_party/rust/uniffi_meta/Cargo.toml
+--- a/third_party/rust/uniffi_meta/Cargo.toml
++++ b/third_party/rust/uniffi_meta/Cargo.toml
+@@ -10,19 +10,24 @@
+ # See Cargo.toml.orig for the original contents.
+
+ [package]
+ edition = "2021"
+ name = "uniffi_meta"
+-version = "0.21.0"
++version = "0.21.1"
+ description = "uniffi_meta"
+ homepage = "https://mozilla.github.io/uniffi-rs"
+ keywords = [
+ "ffi",
+ "bindgen",
+ ]
+ license = "MPL-2.0"
+ repository = "https://github.com/mozilla/uniffi-rs"
+-resolver = "2"
+
+ [dependencies.serde]
+ version = "1.0.136"
+ features = ["derive"]
++
++[dependencies.siphasher]
++version = "0.3"
++
++[dependencies.uniffi_checksum_derive]
++version = "0.21.0"
+diff --git a/third_party/rust/uniffi_meta/src/lib.rs b/third_party/rust/uniffi_meta/src/lib.rs
+--- a/third_party/rust/uniffi_meta/src/lib.rs
++++ b/third_party/rust/uniffi_meta/src/lib.rs
+@@ -1,17 +1,87 @@
+ /* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+-use std::{
+- collections::hash_map::DefaultHasher,
+- hash::{Hash, Hasher},
+-};
++use std::hash::Hasher;
++pub use uniffi_checksum_derive::Checksum;
+
+ use serde::{Deserialize, Serialize};
+
+-#[derive(Clone, Debug, Hash, Deserialize, Serialize)]
++/// Similar to std::hash::Hash.
++///
++/// Implementations of this trait are expected to update the hasher state in
++/// the same way across platforms. #[derive(Checksum)] will do the right thing.
++pub trait Checksum {
++ fn checksum<H: Hasher>(&self, state: &mut H);
++}
++
++impl Checksum for bool {
++ fn checksum<H: Hasher>(&self, state: &mut H) {
++ state.write_u8(*self as u8);
++ }
++}
++
++impl Checksum for u64 {
++ fn checksum<H: Hasher>(&self, state: &mut H) {
++ state.write(&self.to_le_bytes());
++ }
++}
++
++impl Checksum for i64 {
++ fn checksum<H: Hasher>(&self, state: &mut H) {
++ state.write(&self.to_le_bytes());
++ }
++}
++
++impl<T: Checksum> Checksum for Box<T> {
++ fn checksum<H: Hasher>(&self, state: &mut H) {
++ (**self).checksum(state)
++ }
++}
++
++impl<T: Checksum> Checksum for [T] {
++ fn checksum<H: Hasher>(&self, state: &mut H) {
++ state.write(&(self.len() as u64).to_le_bytes());
++ for item in self {
++ Checksum::checksum(item, state);
++ }
++ }
++}
++
++impl<T: Checksum> Checksum for Vec<T> {
++ fn checksum<H: Hasher>(&self, state: &mut H) {
++ Checksum::checksum(&**self, state);
++ }
++}
++
++impl<T: Checksum> Checksum for Option<T> {
++ fn checksum<H: Hasher>(&self, state: &mut H) {
++ match self {
++ None => state.write(&0u64.to_le_bytes()),
++ Some(value) => {
++ state.write(&1u64.to_le_bytes());
++ Checksum::checksum(value, state)
++ }
++ }
++ }
++}
++
++impl Checksum for str {
++ fn checksum<H: Hasher>(&self, state: &mut H) {
++ state.write(self.as_bytes());
++ state.write_u8(0xff);
++ }
++}
++
++impl Checksum for String {
++ fn checksum<H: Hasher>(&self, state: &mut H) {
++ (**self).checksum(state)
++ }
++}
++
++#[derive(Clone, Debug, Checksum, Deserialize, Serialize)]
+ pub struct FnMetadata {
+ pub module_path: Vec<String>,
+ pub name: String,
+ pub inputs: Vec<FnParamMetadata>,
+ pub return_type: Option<Type>,
+@@ -21,11 +91,11 @@
+ pub fn ffi_symbol_name(&self) -> String {
+ fn_ffi_symbol_name(&self.module_path, &self.name, checksum(self))
+ }
+ }
+
+-#[derive(Clone, Debug, Hash, Deserialize, Serialize)]
++#[derive(Clone, Debug, Checksum, Deserialize, Serialize)]
+ pub struct MethodMetadata {
+ pub module_path: Vec<String>,
+ pub self_name: String,
+ pub name: String,
+ pub inputs: Vec<FnParamMetadata>,
+@@ -37,18 +107,18 @@
+ let full_name = format!("impl_{}_{}", self.self_name, self.name);
+ fn_ffi_symbol_name(&self.module_path, &full_name, checksum(self))
+ }
+ }
+
+-#[derive(Clone, Debug, Hash, Deserialize, Serialize)]
++#[derive(Clone, Debug, Checksum, Deserialize, Serialize)]
+ pub struct FnParamMetadata {
+ pub name: String,
+ #[serde(rename = "type")]
+ pub ty: Type,
+ }
+
+-#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Deserialize, Serialize)]
++#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Checksum, Deserialize, Serialize)]
+ pub enum Type {
+ U8,
+ U16,
+ U32,
+ U64,
+@@ -76,25 +146,25 @@
+ Unresolved {
+ name: String,
+ },
+ }
+
+-#[derive(Clone, Debug, Hash, Deserialize, Serialize)]
++#[derive(Clone, Debug, Checksum, Deserialize, Serialize)]
+ pub struct RecordMetadata {
+ pub module_path: Vec<String>,
+ pub name: String,
+ pub fields: Vec<FieldMetadata>,
+ }
+
+-#[derive(Clone, Debug, Hash, Deserialize, Serialize)]
++#[derive(Clone, Debug, Checksum, Deserialize, Serialize)]
+ pub struct FieldMetadata {
+ pub name: String,
+ #[serde(rename = "type")]
+ pub ty: Type,
+ }
+
+-#[derive(Clone, Debug, Hash, Deserialize, Serialize)]
++#[derive(Clone, Debug, Checksum, Deserialize, Serialize)]
+ pub struct ObjectMetadata {
+ pub module_path: Vec<String>,
+ pub name: String,
+ }
+
+@@ -106,27 +176,27 @@
+ let free_name = format!("object_free_{}", self.name);
+ fn_ffi_symbol_name(&self.module_path, &free_name, checksum(self))
+ }
+ }
+
+-/// Returns the last 16 bits of the value's hash as computed with [`DefaultHasher`].
++/// Returns the last 16 bits of the value's hash as computed with [`SipHasher13`].
+ ///
+ /// To be used as a checksum of FFI symbols, as a safeguard against different UniFFI versions being
+ /// used for scaffolding and bindings generation.
+-pub fn checksum<T: Hash>(val: &T) -> u16 {
+- let mut hasher = DefaultHasher::new();
+- val.hash(&mut hasher);
++pub fn checksum<T: Checksum>(val: &T) -> u16 {
++ let mut hasher = siphasher::sip::SipHasher13::new();
++ val.checksum(&mut hasher);
+ (hasher.finish() & 0x000000000000FFFF) as u16
+ }
+
+ pub fn fn_ffi_symbol_name(mod_path: &[String], name: &str, checksum: u16) -> String {
+ let mod_path = mod_path.join("__");
+ format!("_uniffi_{mod_path}_{name}_{checksum:x}")
+ }
+
+ /// Enum covering all the possible metadata types
+-#[derive(Clone, Debug, Hash, Deserialize, Serialize)]
++#[derive(Clone, Debug, Checksum, Deserialize, Serialize)]
+ pub enum Metadata {
+ Func(FnMetadata),
+ Method(MethodMetadata),
+ Record(RecordMetadata),
+ Object(ObjectMetadata),
+
diff --git a/firefox.spec b/firefox.spec
index aa1d967..c3d5f02 100644
--- a/firefox.spec
+++ b/firefox.spec
@@ -6,11 +6,6 @@
# https://bugzilla.redhat.com/show_bug.cgi?id=2129720
ExcludeArch: i686
-# Disabled due to build failures:
-# https://bugzilla.redhat.com/show_bug.cgi?id=2153213
-ExcludeArch: s390x
-ExcludeArch: armv7hl
-
# Run Mozilla test suite as a part of compile rpm section. Turn off when
# building locally and don't want to spend 24 hours waiting for results.
%global run_firefox_tests 0
@@ -178,7 +173,7 @@ ExcludeArch: armv7hl
Summary: Mozilla Firefox Web browser
Name: firefox
Version: 108.0.1
-Release: 2%{?pre_tag}%{?dist}
+Release: 3%{?pre_tag}%{?dist}
URL: https://www.mozilla.org/firefox/
License: MPLv1.1 or GPLv2+ or LGPLv2+
Source0: https://archive.mozilla.org/pub/firefox/releases/%{version}%{?pre_version...
@@ -258,6 +253,7 @@ Patch415: mozilla-1670333.patch
Patch416: D163696.diff
Patch417: D163697.diff
Patch418: D163698.diff
+Patch419: D164896.diff
# PGO/LTO patches
Patch600: pgo.patch
@@ -536,6 +532,7 @@ This package contains results of tests executed during build.
%patch416 -p1 -b .D163696
%patch417 -p1 -b .D163697
%patch418 -p1 -b .D163698
+%patch419 -p1 -b .D164896
# PGO patches
%if %{build_with_pgo}
@@ -1138,6 +1135,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
#---------------------------------------------------------------------
%changelog
+* Wed Dec 21 2022 Martin Stransky <stransky(a)redhat.com>- 108.0.1-3
+- Added second arch build fix
+
* Wed Dec 21 2022 Martin Stransky <stransky(a)redhat.com>- 108.0.1-2
- Added mozbz#1795851 [wayland] Crash buffer size (170x113)
is not divisible by scale (2)
1 year, 4 months
Architecture specific change in rpms/firefox.git
by githook-noreply@fedoraproject.org
The package rpms/firefox.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/firefox.git/commit/?id=cd7d2b004a....
Change:
-ExcludeArch: armv7hl
Thanks.
Full change:
============
commit cd7d2b004aab96ba5a9b1545f1e5244c50f1781a
Author: Martin Stransky <stransky(a)redhat.com>
Date: Wed Dec 21 10:41:32 2022 +0100
Added second arch build fix
diff --git a/D164896.diff b/D164896.diff
new file mode 100644
index 0000000..3212ea5
--- /dev/null
+++ b/D164896.diff
@@ -0,0 +1,1842 @@
+diff --git a/Cargo.lock b/Cargo.lock
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -5775,13 +5775,13 @@
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "957e51f3646910546462e67d5f7599b9e4fb8acdd304b087a6494730f9eebf04"
+
+ [[package]]
+ name = "uniffi"
+-version = "0.21.0"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "f54af5ada67d1173457a99a7bb44a7917f63e7466764cb4714865c7a6678b830"
++version = "0.21.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b983553c0d1ad73547c65fa0c399aa800bee4a70ad330198e1c7a523212da5ee"
+ dependencies = [
+ "anyhow",
+ "bytes 1.2.1",
+ "camino",
+ "cargo_metadata",
+@@ -5885,13 +5885,11 @@
+ "uniffi_macros",
+ ]
+
+ [[package]]
+ name = "uniffi_bindgen"
+-version = "0.21.0"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "12cc4af3c0180c7e86c4a3acf2b6587af04ba2567b1e948993df10f421796621"
++version = "0.21.1"
+ dependencies = [
+ "anyhow",
+ "askama",
+ "bincode",
+ "camino",
+@@ -5908,24 +5906,34 @@
+ "weedle2",
+ ]
+
+ [[package]]
+ name = "uniffi_build"
+-version = "0.21.0"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "510287c368a9386eb731ebe824a6fc6c82a105e20d020af1aa20519c1c1561db"
++version = "0.21.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d035e50433ee3d52ab0dcdcf3b9b26f2cc2ec39294b3c07d95865a518709455f"
+ dependencies = [
+ "anyhow",
+ "camino",
+ "uniffi_bindgen",
+ ]
+
+ [[package]]
++name = "uniffi_checksum_derive"
++version = "0.21.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "78b6e16d46caf942016997af8bbdf4b163bf8ae3deb0b667d9643de7b7ffd4c9"
++dependencies = [
++ "quote",
++ "syn",
++]
++
++[[package]]
+ name = "uniffi_macros"
+-version = "0.21.0"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "5c8604503caa2cbcf271578dc51ca236d40e3b22e1514ffa2e638e2c39f6ad10"
++version = "0.21.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c96a574677566f83ea8458dac1dd7792fd63e7c3f9dbcd865f0e8d6f8057b127"
+ dependencies = [
+ "bincode",
+ "camino",
+ "fs-err",
+ "once_cell",
+@@ -5938,15 +5946,17 @@
+ "uniffi_meta",
+ ]
+
+ [[package]]
+ name = "uniffi_meta"
+-version = "0.21.0"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "cd9417cc653937681436b93838d8c5f97a5b8c58697813982ee8810bd1dc3b57"
++version = "0.21.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "729835442da829c9b6f7c111c76cf87b2498e129101203bec94f0c39a3296a38"
+ dependencies = [
+ "serde",
++ "siphasher",
++ "uniffi_checksum_derive",
+ ]
+
+ [[package]]
+ name = "unix_path"
+ version = "1.0.1"
+diff --git a/Cargo.toml b/Cargo.toml
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -180,10 +180,14 @@
+ # okay, but it means that their dependencies on UniFFI crates will normally
+ # also be the git versions. Patch them to use the published versions to avoid
+ # duplicate crates.
+
+ [patch."https://github.com/mozilla/uniffi-rs.git"]
+-uniffi = "=0.21.0"
+-uniffi_bindgen = "=0.21.0"
+-uniffi_build = "=0.21.0"
+-uniffi_macros = "=0.21.0"
++uniffi = "=0.21.1"
++#uniffi_bindgen = "=0.21.1"
++uniffi_build = "=0.21.1"
++uniffi_macros = "=0.21.1"
+ weedle2 = "=4.0.0"
++
++# Patched to use uniffi_version = 0.21.0 for checksums.
++[patch.crates-io.uniffi_bindgen]
++path = "third_party/rust/uniffi_bindgen"
+diff --git a/supply-chain/audits.toml b/supply-chain/audits.toml
+--- a/supply-chain/audits.toml
++++ b/supply-chain/audits.toml
+@@ -1535,10 +1535,16 @@
+ who = "Jan-Erik Rediger <jrediger(a)mozilla.com>"
+ criteria = "safe-to-deploy"
+ delta = "0.20.0 -> 0.21.0"
+ notes = "Maintained by the Glean and Application Services team."
+
++[[audits.uniffi]]
++who = "Mike Hommey <mh+mozilla(a)glandium.org>"
++criteria = "safe-to-deploy"
++delta = "0.21.0 -> 0.21.1"
++notes = "No changes."
++
+ [[audits.uniffi_bindgen]]
+ who = "Travis Long <tlong(a)mozilla.com>"
+ criteria = "safe-to-deploy"
+ version = "0.19.3"
+ notes = "Maintained by the Glean and Application Services teams."
+@@ -1558,10 +1564,16 @@
+ who = "Jan-Erik Rediger <jrediger(a)mozilla.com>"
+ criteria = "safe-to-deploy"
+ delta = "0.20.0 -> 0.21.0"
+ notes = "Maintained by the Glean and Application Services team."
+
++[[audits.uniffi_bindgen]]
++who = "Mike Hommey <mh+mozilla(a)glandium.org>"
++criteria = "safe-to-deploy"
++delta = "0.21.0 -> 0.21.1"
++notes = "I authored the changes in this version."
++
+ [[audits.uniffi_build]]
+ who = "Travis Long <tlong(a)mozilla.com>"
+ criteria = "safe-to-deploy"
+ version = "0.19.3"
+ notes = "Maintained by the Glean and Application Services teams."
+@@ -1581,10 +1593,22 @@
+ who = "Jan-Erik Rediger <jrediger(a)mozilla.com>"
+ criteria = "safe-to-deploy"
+ delta = "0.20.0 -> 0.21.0"
+ notes = "Maintained by the Glean and Application Services team."
+
++[[audits.uniffi_build]]
++who = "Mike Hommey <mh+mozilla(a)glandium.org>"
++criteria = "safe-to-deploy"
++delta = "0.21.0 -> 0.21.1"
++notes = "No changes."
++
++[[audits.uniffi_checksum_derive]]
++who = "Mike Hommey <mh+mozilla(a)glandium.org>"
++criteria = "safe-to-deploy"
++version = "0.21.1"
++notes = "I authored this crate."
++
+ [[audits.uniffi_macros]]
+ who = "Travis Long <tlong(a)mozilla.com>"
+ criteria = "safe-to-deploy"
+ version = "0.19.3"
+ notes = "Maintained by the Glean and Application Services teams."
+@@ -1604,10 +1628,16 @@
+ who = "Jan-Erik Rediger <jrediger(a)mozilla.com>"
+ criteria = "safe-to-deploy"
+ delta = "0.20.0 -> 0.21.0"
+ notes = "Maintained by the Glean and Application Services team."
+
++[[audits.uniffi_macros]]
++who = "Mike Hommey <mh+mozilla(a)glandium.org>"
++criteria = "safe-to-deploy"
++delta = "0.21.0 -> 0.21.1"
++notes = "No changes."
++
+ [[audits.uniffi_meta]]
+ who = "Jan-Erik Rediger <jrediger(a)mozilla.com>"
+ criteria = "safe-to-deploy"
+ version = "0.19.6"
+ notes = "Maintained by the Glean and Application Services team."
+@@ -1621,10 +1651,16 @@
+ who = "Jan-Erik Rediger <jrediger(a)mozilla.com>"
+ criteria = "safe-to-deploy"
+ delta = "0.20.0 -> 0.21.0"
+ notes = "Maintained by the Glean and Application Services team."
+
++[[audits.uniffi_meta]]
++who = "Mike Hommey <mh+mozilla(a)glandium.org>"
++criteria = "safe-to-deploy"
++delta = "0.21.0 -> 0.21.1"
++notes = "I authored the changes in this version."
++
+ [[audits.void]]
+ who = "Bobby Holley <bobbyholley(a)gmail.com>"
+ criteria = "safe-to-deploy"
+ version = "1.0.2"
+ notes = "Very small crate, just hosts the Void type for easier cross-crate interfacing."
+diff --git a/supply-chain/config.toml b/supply-chain/config.toml
+--- a/supply-chain/config.toml
++++ b/supply-chain/config.toml
+@@ -156,10 +156,14 @@
+
+ [policy.tabs]
+ audit-as-crates-io = false
+ notes = "This is a first-party crate, maintained by the appservices team, which is entirely unrelated to the crates.io package of the same name."
+
++[policy.uniffi_bindgen]
++audit-as-crates-io = false
++notes = "This is a first-party crate, normally vendored, but currently patched in-tree until next update."
++
+ [policy.viaduct]
+ audit-as-crates-io = false
+ notes = "This is a first-party crate, maintained by the appservices team, which is entirely unrelated to the crates.io package of the same name."
+
+ [policy.webdriver]
+diff --git a/third_party/rust/uniffi/.cargo-checksum.json b/third_party/rust/uniffi/.cargo-checksum.json
+--- a/third_party/rust/uniffi/.cargo-checksum.json
++++ b/third_party/rust/uniffi/.cargo-checksum.json
+@@ -1 +1 @@
+-{"files":{"Cargo.toml":"b7bde8b1b6bb7e1420c9c486d7562d1639fbb82a2b6459b8b3b7d15f002377d3","release.toml":"a6602545cd6eb46e44d89ce946d7954957ac00f1c955de54c736fa2cb560b1df","src/ffi/ffidefault.rs":"c7ab752fffed17c3fabb60e818ad1d093482f95dd0bdeae6871287695c583e48","src/ffi/foreignbytes.rs":"37061e2da7135576abccb86fe27b4fefc054586a040f2ca81fe9858d5649e887","src/ffi/foreigncallbacks.rs":"c0974920313ac81dd4bb28a51dd9e9ef50c8ea6d965f0bfdde58c661a4ca719f","src/ffi/mod.rs":"3fb3b74607066e0052fc91168e9473dbf82dbae562f85c33774a7f5f6b350616","src/ffi/rustbuffer.rs":"b773637d9e4651b80cd16f7a02ed75846d02ce0a9e32b718ce644cdba3a83cdd","src/ffi/rustcalls.rs":"4a85a90b0d46974ab9e80e403a1cddaa252337b227e1a672bb6fdbbca5a66259","src/lib.rs":"83614739f8c0c939b217755cfde169a85608a52ea197f63f7850e5765e2c5f97","src/panichook.rs":"9f49c7994a8e5489c1105c488bb3f8c5571bc5f813e7be90441eca15da5c9851","src/testing.rs":"f287d682a8f27465838b2aba91993c635a4dcd281d802dc12c7c75794324123f","tests/ui/proc_macro_arc.rs":"d766dffee3fe6a93522d40f44a7f15592db141fd674034fa5f016e06f510e87b","tests/ui/proc_macro_arc.stderr":"9e7d098abdd47f249ff62fe0a2ee0f8b96282ec5a3be0c48a778baab4624180f","tests/ui/version_mismatch.rs":"16ea359e5853517ee0d0704c015ae8c825533109fbefd715130d0f4a51f15898","tests/ui/version_mismatch.stderr":"aadbd8f3847f5663022d8dd75d6afa3b25dfc8abccd30b386a681f98587d4ceb"},"package":"f54af5ada67d1173457a99a7bb44a7917f63e7466764cb4714865c7a6678b830"}
+\ No newline at end of file
++{"files":{"Cargo.toml":"40a5376941ee93f7d3d013862731eaced1121c852bd4df4affe1cd65bf9b68be","release.toml":"a6602545cd6eb46e44d89ce946d7954957ac00f1c955de54c736fa2cb560b1df","src/ffi/ffidefault.rs":"c7ab752fffed17c3fabb60e818ad1d093482f95dd0bdeae6871287695c583e48","src/ffi/foreignbytes.rs":"37061e2da7135576abccb86fe27b4fefc054586a040f2ca81fe9858d5649e887","src/ffi/foreigncallbacks.rs":"c0974920313ac81dd4bb28a51dd9e9ef50c8ea6d965f0bfdde58c661a4ca719f","src/ffi/mod.rs":"3fb3b74607066e0052fc91168e9473dbf82dbae562f85c33774a7f5f6b350616","src/ffi/rustbuffer.rs":"b773637d9e4651b80cd16f7a02ed75846d02ce0a9e32b718ce644cdba3a83cdd","src/ffi/rustcalls.rs":"4a85a90b0d46974ab9e80e403a1cddaa252337b227e1a672bb6fdbbca5a66259","src/lib.rs":"83614739f8c0c939b217755cfde169a85608a52ea197f63f7850e5765e2c5f97","src/panichook.rs":"9f49c7994a8e5489c1105c488bb3f8c5571bc5f813e7be90441eca15da5c9851","src/testing.rs":"f287d682a8f27465838b2aba91993c635a4dcd281d802dc12c7c75794324123f","tests/ui/proc_macro_arc.rs":"d766dffee3fe6a93522d40f44a7f15592db141fd674034fa5f016e06f510e87b","tests/ui/proc_macro_arc.stderr":"9e7d098abdd47f249ff62fe0a2ee0f8b96282ec5a3be0c48a778baab4624180f","tests/ui/version_mismatch.rs":"16ea359e5853517ee0d0704c015ae8c825533109fbefd715130d0f4a51f15898","tests/ui/version_mismatch.stderr":"aadbd8f3847f5663022d8dd75d6afa3b25dfc8abccd30b386a681f98587d4ceb"},"package":"b983553c0d1ad73547c65fa0c399aa800bee4a70ad330198e1c7a523212da5ee"}
+\ No newline at end of file
+diff --git a/third_party/rust/uniffi/Cargo.toml b/third_party/rust/uniffi/Cargo.toml
+--- a/third_party/rust/uniffi/Cargo.toml
++++ b/third_party/rust/uniffi/Cargo.toml
+@@ -10,22 +10,21 @@
+ # See Cargo.toml.orig for the original contents.
+
+ [package]
+ edition = "2021"
+ name = "uniffi"
+-version = "0.21.0"
++version = "0.21.1"
+ authors = ["Firefox Sync Team <sync-team(a)mozilla.com>"]
+ description = "a multi-language bindings generator for rust (runtime support code)"
+ homepage = "https://mozilla.github.io/uniffi-rs"
+ documentation = "https://mozilla.github.io/uniffi-rs"
+ keywords = [
+ "ffi",
+ "bindgen",
+ ]
+ license = "MPL-2.0"
+ repository = "https://github.com/mozilla/uniffi-rs"
+-resolver = "2"
+
+ [dependencies.anyhow]
+ version = "1"
+
+ [dependencies.bytes]
+@@ -48,15 +47,15 @@
+
+ [dependencies.static_assertions]
+ version = "1.1.0"
+
+ [dependencies.uniffi_bindgen]
+-version = "=0.21.0"
++version = "=0.21.1"
+ optional = true
+
+ [dependencies.uniffi_macros]
+-version = "=0.21.0"
++version = "=0.21.1"
+
+ [dev-dependencies.trybuild]
+ version = "1"
+
+ [features]
+diff --git a/third_party/rust/uniffi_bindgen/.cargo-checksum.json b/third_party/rust/uniffi_bindgen/.cargo-checksum.json
+--- a/third_party/rust/uniffi_bindgen/.cargo-checksum.json
++++ b/third_party/rust/uniffi_bindgen/.cargo-checksum.json
+@@ -1 +1 @@
+-{"files":{"Cargo.lock":"5ed0714fd87076b5b5f11ca60553f12559e69794c2fec7d487a398f31a577a5f","Cargo.toml":"209b8cb7759ec813ee1e27a4b7e1d2bed2604c37d7c55578058bc7089ee9557e","askama.toml":"1a245b7803adca782837e125c49100147d2de0d5a1c949ff95e91af1701f6058","src/backend/config.rs":"4861dbf251dbb10beb1ed7e3eea7d79499a0de1cd9ce9ee8381a0e729c097dea","src/backend/declarations.rs":"12b8d6e651f84634de5cd02a47601965df7438f64f1a73f136bd89b6b5d515cf","src/backend/mod.rs":"899cd3b816d0467e35789b92ac3b8d5910f6dab98156d405db4803da8721fd36","src/backend/oracle.rs":"9e2b8a45af604a6e4952644e81f43f6aec6e0a1d03939c68b582529dd01a51e0","src/backend/types.rs":"7c49a92096a54eefd2336c48d60fe20ded9490142ab3a229a7c1a99fec14df3d","src/bindings/kotlin/gen_kotlin/callback_interface.rs":"b7fe795670830f3aa8a955c787b1127fe68313ee751013948527948fe5526b01","src/bindings/kotlin/gen_kotlin/compounds.rs":"d1e9a4237ff2ff711a3eae7a564c39e26f598c156ebfd34c0f04879e3533dd4f","src/bindings/kotlin/gen_kotlin/custom.rs":"4176f6ed5f66504f8fd981198bbfbae795dab5ef0d0281881d19b697f5560c44","src/bindings/kotlin/gen_kotlin/enum_.rs":"f85ae8dcb55c8f274139bf321af0ba237ae69894165ad6bd693d793f58af8e5e","src/bindings/kotlin/gen_kotlin/error.rs":"867f583aea5da7aabeb9b6d2544d7e52984cdea4aa008ce5f2ec941074735e1a","src/bindings/kotlin/gen_kotlin/external.rs":"1f7e91d7439891fe3c403274e35880ee4fc3a0da555510bdfa23c1ed2bbd8020","src/bindings/kotlin/gen_kotlin/miscellany.rs":"644ee5bb1f3619be5a36b2b3900af554ea38073cd054004f421e69c3cb8d50bc","src/bindings/kotlin/gen_kotlin/mod.rs":"90412e7927c284668a9eb75823c198182e58e5177d5561896c43b79367564b27","src/bindings/kotlin/gen_kotlin/object.rs":"6478a3e9d5e66186521730d0d481abd1ee4f123050ea050ac5a483842f08b003","src/bindings/kotlin/gen_kotlin/primitives.rs":"914d1f8253ed6a2937f67e8bd8f04f46aef4f22455ceb8a6caa84427adc2093e","src/bindings/kotlin/gen_kotlin/record.rs":"7961fcfbec5ebf8fc010b564ea4bd59402c919f6922898d48226d8c995569dd7","src/bindings/kotlin/mod.rs":"e68f2ea29e66ee62a56704e1e4464eea6d28bbdb52ab187bbe7a57ab3f362ea7","src/bindings/kotlin/templates/BooleanHelper.kt":"28e8a5088c8d58c9bfdbc575af8d8725060521fdd7d092684a8044b24ae567c7","src/bindings/kotlin/templates/CallbackInterfaceRuntime.kt":"6ede374b0fcbb3bcc939894e6f4729b3bec7ec7356831a60fba96ca38dc91aa8","src/bindings/kotlin/templates/CallbackInterfaceTemplate.kt":"5a704eb8c044ed22905e4d526ee3fc0b86f42fe82ac1eb4ad3758ad0552ea8c8","src/bindings/kotlin/templates/CustomTypeTemplate.kt":"5d4dacf29e89bcdcc46d155d993e6059d2df704e775dc853469310198253b231","src/bindings/kotlin/templates/DurationHelper.kt":"414a98161538a26f3a9b357353270c1f245ad6ceed99496aca7162cf473a92fd","src/bindings/kotlin/templates/EnumTemplate.kt":"ab3e2063aad3b91188db839dceb59b854a6a8b60fb35e545e270e64fee7c73fa","src/bindings/kotlin/templates/ErrorTemplate.kt":"a5ec2bdfc026838e1096dbf3301f21aa4ea22e8c93458d45bb1c8c7b9ee1fc5b","src/bindings/kotlin/templates/ExternalTypeTemplate.kt":"2097e0b830640ef18c79449ffa376d1dd35a8c4a5230e413c915f3b868aae872","src/bindings/kotlin/templates/FfiConverterTemplate.kt":"aa22962aaa9f641d48ccf44cb56d9f8a7736cbfaa01e1a1656662cfe5dd5c1d7","src/bindings/kotlin/templates/Float32Helper.kt":"662d95af3b629d143fb4d47cb7e9aa26ed28a5f3846de0341e28b0f9fb08bc25","src/bindings/kotlin/templates/Float64Helper.kt":"a77d099fa7d91e8702c1700e7949ffb6aaba9c6e8041ff48bab34b8e1fc9a0aa","src/bindings/kotlin/templates/Helpers.kt":"46c07798a26b53b06405c8bbbf86e3fcf38fadc1484ea04ce9d482defea89288","src/bindings/kotlin/templates/Int16Helper.kt":"7f83c4a48e1f3b2a59a3ca6a2662be8bc9baf3a5a748b31223cb3f51721ef249","src/bindings/kotlin/templates/Int32Helper.kt":"e02e4702175554b09fd2dd6ac3089dcd2c395f08ec60e762159566a9c9889450","src/bindings/kotlin/templates/Int64Helper.kt":"7a6fd6ca486852c89399c699935a9dfa1c32b9356d9a965cfde532581f05d9fa","src/bindings/kotlin/templates/Int8Helper.kt":"0554545494b6b9a76ce94f9c1723f8cf4230a13076feb75d620b1c9ca1ac4668","src/bindings/kotlin/templates/MapTemplate.kt":"399569d6443e8ad01e2deb95d78d8d2d15bf8eccee8be4fbe9ce4b8ebc0a6101","src/bindings/kotlin/templates/NamespaceLibraryTemplate.kt":"1eba4e77381155c2c96a6af2ef30fca881ade4957852f730fd10aa4f3d9cd3c4","src/bindings/kotlin/templates/ObjectRuntime.kt":"c11d233de41405caa55a56bcaa3bb69ce153ffa6fdff2aa218051929f5c4aeec","src/bindings/kotlin/templates/ObjectTemplate.kt":"7e32d92ec6116da9b7d7f278b15333a2fd2a82dde8c21534e3f6fe371d19f333","src/bindings/kotlin/templates/OptionalTemplate.kt":"5f9f2c1baa829ed3c9b61c3edb0f1fccf5ea3cccc052a69cf8966715d8fcf149","src/bindings/kotlin/templates/RecordTemplate.kt":"193ecdad9322fb5483b95bf2a259270a9b22ba054790794e9abb3fd219196bc5","src/bindings/kotlin/templates/RustBufferTemplate.kt":"415637f80a78c12b3d00db063c14a7ab5c61b098bdb1fc81a0be8bae9511776b","src/bindings/kotlin/templates/SequenceTemplate.kt":"786693b20c608a4f059b91df115278f5f12122b4c14a2e7ce18b6fc9b22b1296","src/bindings/kotlin/templates/StringHelper.kt":"060839663580d8199671b7c3bb3dce5e9106aa766ce2c6e0afc2d2bd788a1d83","src/bindings/kotlin/templates/TimestampHelper.kt":"353c2890f06ad6dda238e9aebb4bdff7bb838e17e46abf351ed3ff1fbc4e6580","src/bindings/kotlin/templates/TopLevelFunctionTemplate.kt":"09b8bb5ffea7075518ee657f83017d44ff0cbf584fd85676b082199139c9be09","src/bindings/kotlin/templates/Types.kt":"db7ed7384b4391a4bc1425ec3a89e0c890538ad30f5e115bae4998c059c8a21b","src/bindings/kotlin/templates/UInt16Helper.kt":"e84a1f30a5a899ba2c5db614d3f3c74f25bccf6dd99bf68b8830829332d051e9","src/bindings/kotlin/templates/UInt32Helper.kt":"7cdf08cc580046935f27ba07b53685968608a102e0a6be305111037c63d7ddf8","src/bindings/kotlin/templates/UInt64Helper.kt":"fd7baacbf3ab6202ff83edcc66e5f7beb11a10053ba66d0b49547616cc7cbe1f","src/bindings/kotlin/templates/UInt8Helper.kt":"bbf5a6d66c995aea9fe2fa9840c6bfa78b03520a09469b984f0e1d43191e453a","src/bindings/kotlin/templates/macros.kt":"eb5e0f9915b8ec9fbf3bf1a714625fbdcef7a7ee7461916e87fec872434ed3ec","src/bindings/kotlin/templates/wrapper.kt":"dd81cf28a4e07c685d29c87a4053eccb6339835cfc7fce3cf581d3d111fed4f5","src/bindings/mod.rs":"51ac55a3d505d5a88eedc83cf12623c2738277a9cd22bf3bbe05be1244de078b","src/bindings/python/gen_python/callback_interface.rs":"e3ffb8ba1aa8ac8ddcfff6554e7ec0d2d695d12955a98a04d114d2d6ca5dacc8","src/bindings/python/gen_python/compounds.rs":"e406c773c3b66368ea74973df742cdcba3014521812048f15de7c0e783eedfaf","src/bindings/python/gen_python/custom.rs":"33756f6bdafbd9b1a3a439c1cced3c83dc1fdb82b5ec235c064e69670ea6086c","src/bindings/python/gen_python/enum_.rs":"634c8406b07cbd24ea4f71cae4c971169e4989ce8019188f4bcd515bc3c77c5d","src/bindings/python/gen_python/error.rs":"d1a3b3edb91d9502064463cc3324770a1a6e0f234d6b49b5d7c43636bfe81d59","src/bindings/python/gen_python/external.rs":"8920b7a2a3b39a9647ec17cdff44308db3bfe9a582f026b060003edd76407599","src/bindings/python/gen_python/miscellany.rs":"f3898b75cf494b39662d886eb78d9cc06685650265fc8a1e87e5de67baa342ae","src/bindings/python/gen_python/mod.rs":"552de45cab20c4467bdcc774c305f298c9d7487c6b89f6786cb7ef1774ccddf6","src/bindings/python/gen_python/object.rs":"b4d3d8a935d4acd689cf1f3857d461dbab3a51c7c8bd821890198fb58ef3a63f","src/bindings/python/gen_python/primitives.rs":"928523bb91d2192d615d044f1fef3714681140562b740cf72dce3168e660e276","src/bindings/python/gen_python/record.rs":"f961dfe8dd1e5caa633754de7ecc684c2211c9b6633a5e6beb6053e60500b9f2","src/bindings/python/mod.rs":"bcf295b334b332c7fd1214ddfdaa727cfe37fed531c3862ce25906b3a70b71c7","src/bindings/python/templates/BooleanHelper.py":"d384ffeefcb5982c4875e819d06e919a295eaa9ff57735e6fef0801bb810d5c9","src/bindings/python/templates/CallbackInterfaceRuntime.py":"7ffef485fc008e2d9efcd07326102f300bd4673b4351353e9e2908355936c3d7","src/bindings/python/templates/CallbackInterfaceTemplate.py":"089b5cc1131e8c9b867c899cb649ce22eb9ba6a4addab4ebf9ba63316c394693","src/bindings/python/templates/CustomType.py":"db3309b3f944fb813d4cef47a04d67a86f824183f7e31289184683155fd985d9","src/bindings/python/templates/DurationHelper.py":"179c14dccd8cc7dc9791f896414f0b5d124ec116eb78173371bd8a0743208da1","src/bindings/python/templates/EnumTemplate.py":"825ca373286f1b3b252b8a1263e29c9e2f0d3e170ceb364bd6c28d6c4595597b","src/bindings/python/templates/ErrorTemplate.py":"b6b1b0d3fc074a7c3ba7db394c5d6cb3279b0fc0e6a331154303c2c6c907458b","src/bindings/python/templates/ExternalTemplate.py":"f582a6e872fe9f8275d33d36ffe017028ca459fe7c53aa680a2512718d0c0fda","src/bindings/python/templates/Float32Helper.py":"7dbc51889cff47ebf1600fad490849e4a87cac4fc0d1756eebd21609eb80b4a9","src/bindings/python/templates/Float64Helper.py":"ba9f334d1339b6eaedcacc1e35068939727170a684f41dec9ee04762ed98cec1","src/bindings/python/templates/Helpers.py":"68f03f651c38c810fa453e123e26f7c94b7a1f9178e0d863b985c3c8fabaa642","src/bindings/python/templates/Int16Helper.py":"60c22fb8b445841ebb3c68be11b81c9eba84a680eaa0e30770953361231da9b5","src/bindings/python/templates/Int32Helper.py":"aff0a017cf767394174e46d8c4fe5a5a704a8e6384fcc38d227634dfe7826916","src/bindings/python/templates/Int64Helper.py":"6c314b91699a6c6ad7db3ef636713bc2a0af9609c82acfd6062b0588177c0026","src/bindings/python/templates/Int8Helper.py":"a6e2d121b1a6d59886fceab3949e571aba1abc06dfede52666954bf15366fb6f","src/bindings/python/templates/MapTemplate.py":"bbe609b865010b98b38c58f2d4fcc97f2adec3e931903bf67263a5e440a84400","src/bindings/python/templates/NamespaceLibraryTemplate.py":"4726dbeb61508a71153436126bc04d03af966dca4f5b37511beb8bcfb6f1f307","src/bindings/python/templates/ObjectTemplate.py":"68302f6da6e4e80fc0cc8eb4ef2d4353d19ad3e9955112a2fabec8bf1b1293c7","src/bindings/python/templates/OptionalTemplate.py":"ab6da433370ba7c1316e266247ee1b7165bc02f6f288e40a7c68806c018e3282","src/bindings/python/templates/RecordTemplate.py":"98cef2adbc2b890e5c67257fb32a57380070988ef4112408eeca85e0b87b566b","src/bindings/python/templates/RustBufferHelper.py":"11f733051e63733c637fb19c4758cb58a40d045792028465f36891f89c7c5f36","src/bindings/python/templates/RustBufferTemplate.py":"90950cfeeb7a028aac9b65aeca897b217eddcfa165a0d59e8af037e834f34146","src/bindings/python/templates/SequenceTemplate.py":"faf2b1d5272a66258972d88c29d5b527cf9e589c8399e30f7ad5a0503133ce9b","src/bindings/python/templates/StringHelper.py":"941a7ad71d9598701efa15323df93766934583a55f4266d26db31e6b744603fc","src/bindings/python/templates/TimestampHelper.py":"b412cea69117858c05bae3210d378c6296658ed02a50e87c52c392dcb62c7892","src/bindings/python/templates/TopLevelFunctionTemplate.py":"2b2883b14f324e543cfeea5293d2a4907fa9ebe93b779da7174a58929d8b0442","src/bindings/python/templates/Types.py":"2eee78ca838f65b7e8ff8f760558c71ca80ad314aaa44efd1d1b8e13b349f1bc","src/bindings/python/templates/UInt16Helper.py":"06be5c9dacdf20e586f8236ed75cf2ca2470078fd8570843ea97c581b25bf860","src/bindings/python/templates/UInt32Helper.py":"41bb9bbf9b7be1060945e1267b1cc052585ec43696b1591f0ee779a0be0feaff","src/bindings/python/templates/UInt64Helper.py":"ba2825fc295a07292d9fb4aeebe74dabb9e6dbe505643e2347875ab12e511f31","src/bindings/python/templates/UInt8Helper.py":"dca5b3fc4a429fb233326224f85c4eccd3a7802ca9958ec309c7f197d59b4e3d","src/bindings/python/templates/macros.py":"3f02a32941e20aea15e136780c24c9695021dbcae08044c4f654f75aadcbd1e1","src/bindings/python/templates/wrapper.py":"627a6e18e72040909887261b8ad918c68104b15110df26b2205d7827c690e8c3","src/bindings/ruby/gen_ruby/mod.rs":"33ae9fc3f69e4c5b7bb6df41e53298f89934cee2bb6d7e7ea8488cefc9d06c03","src/bindings/ruby/gen_ruby/tests.rs":"7dcb86b08e643c43503f4cac6396833497f6988b004321c0067700ee29ffbf32","src/bindings/ruby/mod.rs":"f57fccdfc544210e8cc70e01e4991cee6e72d258ede9d2bb226baad24a3ef0d7","src/bindings/ruby/templates/EnumTemplate.rb":"5480edb347f5829e478d19474691babd72f37616ed846d519b5a61cb1d6cf047","src/bindings/ruby/templates/ErrorTemplate.rb":"147b2c3ff44c19624e7bf7b3a2a04b7badbba5743eaefa0d5e6c05943119c87e","src/bindings/ruby/templates/NamespaceLibraryTemplate.rb":"9b1454208bc83ef8f26aef33713d681e2284dbfea986ec0dd6c9b9c8b7d65e4a","src/bindings/ruby/templates/ObjectTemplate.rb":"c2d2fa2db62d48322b66b53888dcc6de2fc3e579a6b8d0a9f24029c18fffcbb5","src/bindings/ruby/templates/RecordTemplate.rb":"4aeff886928ca972e5dc9b799581b30c66a6f6dce446af3285dd3ed6b422dea9","src/bindings/ruby/templates/RustBufferBuilder.rb":"2ee5a4b97fe590de98ec2119b2dfe103bba75e15b5fb3c178fa51dfa662dfe2c","src/bindings/ruby/templates/RustBufferStream.rb":"ddfc38a6388bdddf8cc24bb6f1af948e4eef2d7ae2091a5130fee57cf53e5a7d","src/bindings/ruby/templates/RustBufferTemplate.rb":"8f37664f5436ba74ccdd801e16220f1b879d2fb56f51f5845b6047c92dc079f8","src/bindings/ruby/templates/TopLevelFunctionTemplate.rb":"88213e7e25bef664da939c04dd5621f438af735ffcb4d2d0c24a529538630069","src/bindings/ruby/templates/macros.rb":"d732a62291c78ccfbc3208227c1b57f6add723fad91b7e699d693e360840e1b0","src/bindings/ruby/templates/wrapper.rb":"542cdf46fb871e66089c9f008cf472cca411fe217d8c66a0a66776c35469aab5","src/bindings/swift/gen_swift/callback_interface.rs":"e331871ac6c9ac9b9533848fb6ddfcabc1e605970343cad307b6d86b72ebe96a","src/bindings/swift/gen_swift/compounds.rs":"f9e87b342f1f9a14295d87bad59d786d4c253a24d22900c2aba44816713718ae","src/bindings/swift/gen_swift/custom.rs":"45cdfa35ef7345dc353d0d2f3cebb17d726e90abdf5ef49422d6b2db65f8fd25","src/bindings/swift/gen_swift/enum_.rs":"018eea78ef85c9f8d715a5bc15c8273030d4f6ba297019949eb578c5cc6276fd","src/bindings/swift/gen_swift/error.rs":"bd95c3303e40f03a321f2cdc8e15a0251f4c7ddbc3c32c4c57eb9569db218488","src/bindings/swift/gen_swift/miscellany.rs":"66f16968f6cccc0b61c544e336a49b96218551731dcce566a176903c9afb3b57","src/bindings/swift/gen_swift/mod.rs":"1e8f98e05a5b03798c91ada854f6a4f2a0682c252143d63c16c6a06bd0419e4b","src/bindings/swift/gen_swift/object.rs":"072a44f484cc66694c57a9fa41ba50a531c9ce19738e11ce9df17cdfc007648f","src/bindings/swift/gen_swift/primitives.rs":"b37b8f3ad3aa7e769e6d465a31282e377f93cd69e4dcf39a56dc833f412ed412","src/bindings/swift/gen_swift/record.rs":"48296332960be3731b9139dc664d4b8a5d56d04cffa34dc995b62cf202b4dbfd","src/bindings/swift/mod.rs":"0ad4afd667ef17b3b577ded9a09cdaa5595afbdb24e7474c6b1e6a8e0a024593","src/bindings/swift/templates/BooleanHelper.swift":"f607928c4d598893421fe9c9f183bab2f23a877a07afeb123dbe90515249ec86","src/bindings/swift/templates/BridgingHeaderTemplate.h":"93a289e393ecdbe1bf986215c3b19d2aed7677d47f79b1833ce73cf6f8762e80","src/bindings/swift/templates/CallbackInterfaceRuntime.swift":"aac01eb4269151be9dde8c95ee8eba7e8d0841b3c2b1dbd88885f01ac64ee147","src/bindings/swift/templates/CallbackInterfaceTemplate.swift":"c9700f52e932556c59a9bfea68fc786746b7f321ff75c33d0a8c1565effaeef5","src/bindings/swift/templates/CustomType.swift":"fe6414f2ce3ea7b148742e2fecf2206d7e69935dd78d56e014aec70f4d6ad3ec","src/bindings/swift/templates/DurationHelper.swift":"bca4a6498b27fe0c877df3c7fbe148538eeda03e68d4e760a7c8a6a15f2067ff","src/bindings/swift/templates/EnumTemplate.swift":"e61bdf7949aa5a7b55a2c10c243e960f683c862e5977f06e7f5956646b4ccb49","src/bindings/swift/templates/ErrorTemplate.swift":"58fb5907d20b7a6db67b128e5f6350015278990fef5945be42477a5b5f82bb18","src/bindings/swift/templates/Float32Helper.swift":"6c1a4da059dd4c6c4392511c93fe9daf4ddeeab71e39afd122797b0e19254318","src/bindings/swift/templates/Float64Helper.swift":"f741568cdfb8e1421369a9a1dc845630a3a0e2dc2d6acf157afd80cd3ef5966f","src/bindings/swift/templates/Helpers.swift":"3cf3a5342a1ef0c7e078b0e58c32ae4437c4fb5dc41acbbd56b1128393c76602","src/bindings/swift/templates/Int16Helper.swift":"76eec2a54a65790c5959380cc9a7362b1e2e201632cccb789153c52e10c8dc4f","src/bindings/swift/templates/Int32Helper.swift":"5afc5e103bf637813fd4b77ab63e47ed38893525101a483218a339f222710061","src/bindings/swift/templates/Int64Helper.swift":"c1a6f6661ef1ad3bd00e8d0bf81adaa6539686eee2b481b046b76dbd87681adf","src/bindings/swift/templates/Int8Helper.swift":"bc46598c966e579cca22d336748c74cdce5674eaaaf75fc24e5fdaa36a43cf9c","src/bindings/swift/templates/MapTemplate.swift":"8b5a9cb41a1ad41b5566fbe3906a1449e5453289208a9fc6a611de1eb937142a","src/bindings/swift/templates/ModuleMapTemplate.modulemap":"99ad1e9bf550a21497296f9248ecd4385dd6d0b5892951d24cf990cdbf3eec2c","src/bindings/swift/templates/ObjectTemplate.swift":"98f744d7baf41e28d9184ae7e1aa9522b1bd951d507e0987879b11d7995782aa","src/bindings/swift/templates/OptionalTemplate.swift":"73f777d2df4fdf42daf0d6035436d168b0d5f0abc15153b97029bc305408f597","src/bindings/swift/templates/RecordTemplate.swift":"af0dc13b32d34254b4cfef3b74f52fd4611aa6c32e055e203414511fd3bbb00a","src/bindings/swift/templates/RustBufferTemplate.swift":"ed16f20cecd264f086c923cd92a5198f444aec99aad4d39e9012f09f530ca809","src/bindings/swift/templates/SequenceTemplate.swift":"977f1409909ff08018c0a80c1330737023b39a8f9fa9a13f5bf9ab4806cac199","src/bindings/swift/templates/StringHelper.swift":"b773c2b3a03f30338ff233881d1b0c0238831b812eff6eb9f0fafcb32ab0743a","src/bindings/swift/templates/TimestampHelper.swift":"6e22e370feae1199bff16bcc6f431decfb7700b02e6afdd84693a0c474eb045e","src/bindings/swift/templates/TopLevelFunctionTemplate.swift":"ca7fcbaa06ee31c7433fd6aa238b6c1135a843f469d9b4f37d4874d514fd80d0","src/bindings/swift/templates/Types.swift":"2f42430cb4ffba8e9b5084c0cf8790fb5bae151878134b8a21e745acf75d2b08","src/bindings/swift/templates/UInt16Helper.swift":"16adb3b50403dad114fad0b86bc220c5adc3bd987c57c290aee7c6407891dfbc","src/bindings/swift/templates/UInt32Helper.swift":"680ddd2815184f520723820f10698a089c222df0388bc0f7734c6d5234194aec","src/bindings/swift/templates/UInt64Helper.swift":"b752852162028a0c132f79f9005c47c263a4dab98833e86758cd7b467e305629","src/bindings/swift/templates/UInt8Helper.swift":"54f4821e704969eeb5c0e002b890d975a20eda3ddc3ee56169ee3c615dfa1079","src/bindings/swift/templates/macros.swift":"0744724c37419e894132b39aea4b8e1f473460583883fa37f38c787a7deea32c","src/bindings/swift/templates/wrapper.swift":"ca1af5fe47bca972c76fb8c9f52b18f727d4343204408de3dd0aae384f0a4171","src/interface/attributes.rs":"2f76377eebdd62e770bb9089885482a49a57e1f8405320bb778353f3e8974447","src/interface/callbacks.rs":"c9f4b97b21195ba2d1787f032f1daa5f4ce2fc40e014942e07e4eb37b5b95ee9","src/interface/enum_.rs":"1a7cda619a986a20fd4d0f145206aba2c500ce5dfca90d01e5324996fd68dc04","src/interface/error.rs":"f31fc0a7e41b4c8f4b81d06958fda14af6f05bfa318206098e0ec351cf4db809","src/interface/ffi.rs":"22d24e4dda327fa78c7632a6e5bbe374ecac0165acc550007feb729d8f4d6adf","src/interface/function.rs":"d6df6d8d412d7c45fe33c7337b37aeb851ae0f21834c4bd8b315aad4ca4ec309","src/interface/literal.rs":"3d2102cb47ff658f329d66d6c867b13a50e7f56535f23c1b414f857741360358","src/interface/mod.rs":"1d1993504ce61a2f578cb6fb42c79b7829a0767c20983581d631ee948819665e","src/interface/namespace.rs":"ab0f63241bb6a0a32f9fd2a1544468cb6daa1f91f6116b7246b52a4a94e4f461","src/interface/object.rs":"44836747d5d00bb40ecadb889c9a6ff32c1cbf625b5a6a337f5891f495fd92fd","src/interface/record.rs":"5859ea6c1f6c5524d1e6f3846954986710d5f74f1c6fd6324c4245b5f70013d5","src/interface/types/finder.rs":"a27f24e64b5bfc796378d1012b5e72001f0a442e8185fdc4430b106595d4b819","src/interface/types/mod.rs":"fe63c3fd233ad905af0358c5d610c85a5a57f263eb899acc756454a1029c4569","src/interface/types/resolver.rs":"7e7ce336ef77c0a6c23deea36856737a97cca9b1c3f5cd0d676fe7df6ade6480","src/lib.rs":"a41b43e3628bb6b3f725580eec255b409947945672887de87c21d5122775a245","src/macro_metadata/ci.rs":"0d6e53d2b5645dd3cc7d196bd3a32ee82c029e1adb9ae93708c27a3fa5c55a88","src/macro_metadata/extract.rs":"ec392692a4601343312f60937987fe460cfb40d2c63a6bb1531fe91903916f10","src/macro_metadata/mod.rs":"1668e6d947fd4a957f557410a8095649de6f8d7fd3eb6a403b8587280dca2d54","src/main.rs":"bbf8e9942d398387e7518533f9b9dc42bfa66156430a87a17605a80a356c0dea","src/scaffolding/mod.rs":"35ae72220843cf3cccefd96e190553e32a5f34ccc58d552fd9165faea12db260","src/scaffolding/templates/CallbackInterfaceTemplate.rs":"3c8caa2e148add8d80701894ee6904fc2d3c5c6424d6d414b36edb6f593b5023","src/scaffolding/templates/EnumTemplate.rs":"eb8802f04f1fd1c9451ad72c1195c136288fdb4e488922b24db75b2fdae65cd7","src/scaffolding/templates/ErrorTemplate.rs":"e7ca4538908a273dd7ba3834219b30fa0e537b2171144f06b6a96fbefb90cd1d","src/scaffolding/templates/ExternalTypesTemplate.rs":"8ecc805cf119abac8c5f60605f9183ee9ec8d37f9ec75bba5e18bb8b482a1abb","src/scaffolding/templates/ObjectTemplate.rs":"34de640428486e17a61ded4f42ce13d8eac3e66cc9f60196ce2575cdc0bd8df6","src/scaffolding/templates/RecordTemplate.rs":"e8d5af954f46f023a243721d6fc70aa176c3a4c0a9dd340048bfe46f3eeed783","src/scaffolding/templates/ReexportUniFFIScaffolding.rs":"559a17c8e39c473ff1effe9651f05b83d443ecd8abed13e03f2b63872d7e1593","src/scaffolding/templates/RustBuffer.rs":"ccf7521012d93c41265375c6d2e80ce861ec93b41383da83c37718386dd726f6","src/scaffolding/templates/TopLevelFunctionTemplate.rs":"35eaefb0862f25ff683d58fb0be6ad5f74bbe2fc85047273200c3a5f4c728434","src/scaffolding/templates/macros.rs":"a41c9690d411074c59fc4609f897431669b9d939625a08f5304a71a88901ba7c","src/scaffolding/templates/scaffolding_template.rs":"3589f8e8e1f9b194ff4a6245665d3a421c771dec3cc947c4264bfcd34573550e"},"package":"12cc4af3c0180c7e86c4a3acf2b6587af04ba2567b1e948993df10f421796621"}
+\ No newline at end of file
++{"files":{"Cargo.lock":"3b1693f0ada97ba7e0527d763402404b39fe341da22bd45aaf057e4be3fa3234","Cargo.toml":"58662147277f1620eccd6592f83623cf71959df8326e9d700fdaac47c6e6cf35","askama.toml":"1a245b7803adca782837e125c49100147d2de0d5a1c949ff95e91af1701f6058","src/backend/config.rs":"4861dbf251dbb10beb1ed7e3eea7d79499a0de1cd9ce9ee8381a0e729c097dea","src/backend/declarations.rs":"12b8d6e651f84634de5cd02a47601965df7438f64f1a73f136bd89b6b5d515cf","src/backend/mod.rs":"899cd3b816d0467e35789b92ac3b8d5910f6dab98156d405db4803da8721fd36","src/backend/oracle.rs":"9e2b8a45af604a6e4952644e81f43f6aec6e0a1d03939c68b582529dd01a51e0","src/backend/types.rs":"7c49a92096a54eefd2336c48d60fe20ded9490142ab3a229a7c1a99fec14df3d","src/bindings/kotlin/gen_kotlin/callback_interface.rs":"b7fe795670830f3aa8a955c787b1127fe68313ee751013948527948fe5526b01","src/bindings/kotlin/gen_kotlin/compounds.rs":"d1e9a4237ff2ff711a3eae7a564c39e26f598c156ebfd34c0f04879e3533dd4f","src/bindings/kotlin/gen_kotlin/custom.rs":"4176f6ed5f66504f8fd981198bbfbae795dab5ef0d0281881d19b697f5560c44","src/bindings/kotlin/gen_kotlin/enum_.rs":"f85ae8dcb55c8f274139bf321af0ba237ae69894165ad6bd693d793f58af8e5e","src/bindings/kotlin/gen_kotlin/error.rs":"867f583aea5da7aabeb9b6d2544d7e52984cdea4aa008ce5f2ec941074735e1a","src/bindings/kotlin/gen_kotlin/external.rs":"1f7e91d7439891fe3c403274e35880ee4fc3a0da555510bdfa23c1ed2bbd8020","src/bindings/kotlin/gen_kotlin/miscellany.rs":"644ee5bb1f3619be5a36b2b3900af554ea38073cd054004f421e69c3cb8d50bc","src/bindings/kotlin/gen_kotlin/mod.rs":"90412e7927c284668a9eb75823c198182e58e5177d5561896c43b79367564b27","src/bindings/kotlin/gen_kotlin/object.rs":"6478a3e9d5e66186521730d0d481abd1ee4f123050ea050ac5a483842f08b003","src/bindings/kotlin/gen_kotlin/primitives.rs":"914d1f8253ed6a2937f67e8bd8f04f46aef4f22455ceb8a6caa84427adc2093e","src/bindings/kotlin/gen_kotlin/record.rs":"7961fcfbec5ebf8fc010b564ea4bd59402c919f6922898d48226d8c995569dd7","src/bindings/kotlin/mod.rs":"e68f2ea29e66ee62a56704e1e4464eea6d28bbdb52ab187bbe7a57ab3f362ea7","src/bindings/kotlin/templates/BooleanHelper.kt":"28e8a5088c8d58c9bfdbc575af8d8725060521fdd7d092684a8044b24ae567c7","src/bindings/kotlin/templates/CallbackInterfaceRuntime.kt":"6ede374b0fcbb3bcc939894e6f4729b3bec7ec7356831a60fba96ca38dc91aa8","src/bindings/kotlin/templates/CallbackInterfaceTemplate.kt":"5a704eb8c044ed22905e4d526ee3fc0b86f42fe82ac1eb4ad3758ad0552ea8c8","src/bindings/kotlin/templates/CustomTypeTemplate.kt":"5d4dacf29e89bcdcc46d155d993e6059d2df704e775dc853469310198253b231","src/bindings/kotlin/templates/DurationHelper.kt":"414a98161538a26f3a9b357353270c1f245ad6ceed99496aca7162cf473a92fd","src/bindings/kotlin/templates/EnumTemplate.kt":"ab3e2063aad3b91188db839dceb59b854a6a8b60fb35e545e270e64fee7c73fa","src/bindings/kotlin/templates/ErrorTemplate.kt":"a5ec2bdfc026838e1096dbf3301f21aa4ea22e8c93458d45bb1c8c7b9ee1fc5b","src/bindings/kotlin/templates/ExternalTypeTemplate.kt":"2097e0b830640ef18c79449ffa376d1dd35a8c4a5230e413c915f3b868aae872","src/bindings/kotlin/templates/FfiConverterTemplate.kt":"aa22962aaa9f641d48ccf44cb56d9f8a7736cbfaa01e1a1656662cfe5dd5c1d7","src/bindings/kotlin/templates/Float32Helper.kt":"662d95af3b629d143fb4d47cb7e9aa26ed28a5f3846de0341e28b0f9fb08bc25","src/bindings/kotlin/templates/Float64Helper.kt":"a77d099fa7d91e8702c1700e7949ffb6aaba9c6e8041ff48bab34b8e1fc9a0aa","src/bindings/kotlin/templates/Helpers.kt":"46c07798a26b53b06405c8bbbf86e3fcf38fadc1484ea04ce9d482defea89288","src/bindings/kotlin/templates/Int16Helper.kt":"7f83c4a48e1f3b2a59a3ca6a2662be8bc9baf3a5a748b31223cb3f51721ef249","src/bindings/kotlin/templates/Int32Helper.kt":"e02e4702175554b09fd2dd6ac3089dcd2c395f08ec60e762159566a9c9889450","src/bindings/kotlin/templates/Int64Helper.kt":"7a6fd6ca486852c89399c699935a9dfa1c32b9356d9a965cfde532581f05d9fa","src/bindings/kotlin/templates/Int8Helper.kt":"0554545494b6b9a76ce94f9c1723f8cf4230a13076feb75d620b1c9ca1ac4668","src/bindings/kotlin/templates/MapTemplate.kt":"399569d6443e8ad01e2deb95d78d8d2d15bf8eccee8be4fbe9ce4b8ebc0a6101","src/bindings/kotlin/templates/NamespaceLibraryTemplate.kt":"1eba4e77381155c2c96a6af2ef30fca881ade4957852f730fd10aa4f3d9cd3c4","src/bindings/kotlin/templates/ObjectRuntime.kt":"c11d233de41405caa55a56bcaa3bb69ce153ffa6fdff2aa218051929f5c4aeec","src/bindings/kotlin/templates/ObjectTemplate.kt":"7e32d92ec6116da9b7d7f278b15333a2fd2a82dde8c21534e3f6fe371d19f333","src/bindings/kotlin/templates/OptionalTemplate.kt":"5f9f2c1baa829ed3c9b61c3edb0f1fccf5ea3cccc052a69cf8966715d8fcf149","src/bindings/kotlin/templates/RecordTemplate.kt":"193ecdad9322fb5483b95bf2a259270a9b22ba054790794e9abb3fd219196bc5","src/bindings/kotlin/templates/RustBufferTemplate.kt":"415637f80a78c12b3d00db063c14a7ab5c61b098bdb1fc81a0be8bae9511776b","src/bindings/kotlin/templates/SequenceTemplate.kt":"786693b20c608a4f059b91df115278f5f12122b4c14a2e7ce18b6fc9b22b1296","src/bindings/kotlin/templates/StringHelper.kt":"060839663580d8199671b7c3bb3dce5e9106aa766ce2c6e0afc2d2bd788a1d83","src/bindings/kotlin/templates/TimestampHelper.kt":"353c2890f06ad6dda238e9aebb4bdff7bb838e17e46abf351ed3ff1fbc4e6580","src/bindings/kotlin/templates/TopLevelFunctionTemplate.kt":"09b8bb5ffea7075518ee657f83017d44ff0cbf584fd85676b082199139c9be09","src/bindings/kotlin/templates/Types.kt":"db7ed7384b4391a4bc1425ec3a89e0c890538ad30f5e115bae4998c059c8a21b","src/bindings/kotlin/templates/UInt16Helper.kt":"e84a1f30a5a899ba2c5db614d3f3c74f25bccf6dd99bf68b8830829332d051e9","src/bindings/kotlin/templates/UInt32Helper.kt":"7cdf08cc580046935f27ba07b53685968608a102e0a6be305111037c63d7ddf8","src/bindings/kotlin/templates/UInt64Helper.kt":"fd7baacbf3ab6202ff83edcc66e5f7beb11a10053ba66d0b49547616cc7cbe1f","src/bindings/kotlin/templates/UInt8Helper.kt":"bbf5a6d66c995aea9fe2fa9840c6bfa78b03520a09469b984f0e1d43191e453a","src/bindings/kotlin/templates/macros.kt":"eb5e0f9915b8ec9fbf3bf1a714625fbdcef7a7ee7461916e87fec872434ed3ec","src/bindings/kotlin/templates/wrapper.kt":"dd81cf28a4e07c685d29c87a4053eccb6339835cfc7fce3cf581d3d111fed4f5","src/bindings/mod.rs":"51ac55a3d505d5a88eedc83cf12623c2738277a9cd22bf3bbe05be1244de078b","src/bindings/python/gen_python/callback_interface.rs":"e3ffb8ba1aa8ac8ddcfff6554e7ec0d2d695d12955a98a04d114d2d6ca5dacc8","src/bindings/python/gen_python/compounds.rs":"e406c773c3b66368ea74973df742cdcba3014521812048f15de7c0e783eedfaf","src/bindings/python/gen_python/custom.rs":"33756f6bdafbd9b1a3a439c1cced3c83dc1fdb82b5ec235c064e69670ea6086c","src/bindings/python/gen_python/enum_.rs":"634c8406b07cbd24ea4f71cae4c971169e4989ce8019188f4bcd515bc3c77c5d","src/bindings/python/gen_python/error.rs":"d1a3b3edb91d9502064463cc3324770a1a6e0f234d6b49b5d7c43636bfe81d59","src/bindings/python/gen_python/external.rs":"8920b7a2a3b39a9647ec17cdff44308db3bfe9a582f026b060003edd76407599","src/bindings/python/gen_python/miscellany.rs":"f3898b75cf494b39662d886eb78d9cc06685650265fc8a1e87e5de67baa342ae","src/bindings/python/gen_python/mod.rs":"552de45cab20c4467bdcc774c305f298c9d7487c6b89f6786cb7ef1774ccddf6","src/bindings/python/gen_python/object.rs":"b4d3d8a935d4acd689cf1f3857d461dbab3a51c7c8bd821890198fb58ef3a63f","src/bindings/python/gen_python/primitives.rs":"928523bb91d2192d615d044f1fef3714681140562b740cf72dce3168e660e276","src/bindings/python/gen_python/record.rs":"f961dfe8dd1e5caa633754de7ecc684c2211c9b6633a5e6beb6053e60500b9f2","src/bindings/python/mod.rs":"bcf295b334b332c7fd1214ddfdaa727cfe37fed531c3862ce25906b3a70b71c7","src/bindings/python/templates/BooleanHelper.py":"d384ffeefcb5982c4875e819d06e919a295eaa9ff57735e6fef0801bb810d5c9","src/bindings/python/templates/CallbackInterfaceRuntime.py":"7ffef485fc008e2d9efcd07326102f300bd4673b4351353e9e2908355936c3d7","src/bindings/python/templates/CallbackInterfaceTemplate.py":"089b5cc1131e8c9b867c899cb649ce22eb9ba6a4addab4ebf9ba63316c394693","src/bindings/python/templates/CustomType.py":"db3309b3f944fb813d4cef47a04d67a86f824183f7e31289184683155fd985d9","src/bindings/python/templates/DurationHelper.py":"179c14dccd8cc7dc9791f896414f0b5d124ec116eb78173371bd8a0743208da1","src/bindings/python/templates/EnumTemplate.py":"825ca373286f1b3b252b8a1263e29c9e2f0d3e170ceb364bd6c28d6c4595597b","src/bindings/python/templates/ErrorTemplate.py":"b6b1b0d3fc074a7c3ba7db394c5d6cb3279b0fc0e6a331154303c2c6c907458b","src/bindings/python/templates/ExternalTemplate.py":"f582a6e872fe9f8275d33d36ffe017028ca459fe7c53aa680a2512718d0c0fda","src/bindings/python/templates/Float32Helper.py":"7dbc51889cff47ebf1600fad490849e4a87cac4fc0d1756eebd21609eb80b4a9","src/bindings/python/templates/Float64Helper.py":"ba9f334d1339b6eaedcacc1e35068939727170a684f41dec9ee04762ed98cec1","src/bindings/python/templates/Helpers.py":"68f03f651c38c810fa453e123e26f7c94b7a1f9178e0d863b985c3c8fabaa642","src/bindings/python/templates/Int16Helper.py":"60c22fb8b445841ebb3c68be11b81c9eba84a680eaa0e30770953361231da9b5","src/bindings/python/templates/Int32Helper.py":"aff0a017cf767394174e46d8c4fe5a5a704a8e6384fcc38d227634dfe7826916","src/bindings/python/templates/Int64Helper.py":"6c314b91699a6c6ad7db3ef636713bc2a0af9609c82acfd6062b0588177c0026","src/bindings/python/templates/Int8Helper.py":"a6e2d121b1a6d59886fceab3949e571aba1abc06dfede52666954bf15366fb6f","src/bindings/python/templates/MapTemplate.py":"bbe609b865010b98b38c58f2d4fcc97f2adec3e931903bf67263a5e440a84400","src/bindings/python/templates/NamespaceLibraryTemplate.py":"4726dbeb61508a71153436126bc04d03af966dca4f5b37511beb8bcfb6f1f307","src/bindings/python/templates/ObjectTemplate.py":"68302f6da6e4e80fc0cc8eb4ef2d4353d19ad3e9955112a2fabec8bf1b1293c7","src/bindings/python/templates/OptionalTemplate.py":"ab6da433370ba7c1316e266247ee1b7165bc02f6f288e40a7c68806c018e3282","src/bindings/python/templates/RecordTemplate.py":"98cef2adbc2b890e5c67257fb32a57380070988ef4112408eeca85e0b87b566b","src/bindings/python/templates/RustBufferHelper.py":"11f733051e63733c637fb19c4758cb58a40d045792028465f36891f89c7c5f36","src/bindings/python/templates/RustBufferTemplate.py":"90950cfeeb7a028aac9b65aeca897b217eddcfa165a0d59e8af037e834f34146","src/bindings/python/templates/SequenceTemplate.py":"faf2b1d5272a66258972d88c29d5b527cf9e589c8399e30f7ad5a0503133ce9b","src/bindings/python/templates/StringHelper.py":"941a7ad71d9598701efa15323df93766934583a55f4266d26db31e6b744603fc","src/bindings/python/templates/TimestampHelper.py":"b412cea69117858c05bae3210d378c6296658ed02a50e87c52c392dcb62c7892","src/bindings/python/templates/TopLevelFunctionTemplate.py":"2b2883b14f324e543cfeea5293d2a4907fa9ebe93b779da7174a58929d8b0442","src/bindings/python/templates/Types.py":"2eee78ca838f65b7e8ff8f760558c71ca80ad314aaa44efd1d1b8e13b349f1bc","src/bindings/python/templates/UInt16Helper.py":"06be5c9dacdf20e586f8236ed75cf2ca2470078fd8570843ea97c581b25bf860","src/bindings/python/templates/UInt32Helper.py":"41bb9bbf9b7be1060945e1267b1cc052585ec43696b1591f0ee779a0be0feaff","src/bindings/python/templates/UInt64Helper.py":"ba2825fc295a07292d9fb4aeebe74dabb9e6dbe505643e2347875ab12e511f31","src/bindings/python/templates/UInt8Helper.py":"dca5b3fc4a429fb233326224f85c4eccd3a7802ca9958ec309c7f197d59b4e3d","src/bindings/python/templates/macros.py":"3f02a32941e20aea15e136780c24c9695021dbcae08044c4f654f75aadcbd1e1","src/bindings/python/templates/wrapper.py":"627a6e18e72040909887261b8ad918c68104b15110df26b2205d7827c690e8c3","src/bindings/ruby/gen_ruby/mod.rs":"33ae9fc3f69e4c5b7bb6df41e53298f89934cee2bb6d7e7ea8488cefc9d06c03","src/bindings/ruby/gen_ruby/tests.rs":"7dcb86b08e643c43503f4cac6396833497f6988b004321c0067700ee29ffbf32","src/bindings/ruby/mod.rs":"f57fccdfc544210e8cc70e01e4991cee6e72d258ede9d2bb226baad24a3ef0d7","src/bindings/ruby/templates/EnumTemplate.rb":"5480edb347f5829e478d19474691babd72f37616ed846d519b5a61cb1d6cf047","src/bindings/ruby/templates/ErrorTemplate.rb":"147b2c3ff44c19624e7bf7b3a2a04b7badbba5743eaefa0d5e6c05943119c87e","src/bindings/ruby/templates/NamespaceLibraryTemplate.rb":"9b1454208bc83ef8f26aef33713d681e2284dbfea986ec0dd6c9b9c8b7d65e4a","src/bindings/ruby/templates/ObjectTemplate.rb":"c2d2fa2db62d48322b66b53888dcc6de2fc3e579a6b8d0a9f24029c18fffcbb5","src/bindings/ruby/templates/RecordTemplate.rb":"4aeff886928ca972e5dc9b799581b30c66a6f6dce446af3285dd3ed6b422dea9","src/bindings/ruby/templates/RustBufferBuilder.rb":"2ee5a4b97fe590de98ec2119b2dfe103bba75e15b5fb3c178fa51dfa662dfe2c","src/bindings/ruby/templates/RustBufferStream.rb":"ddfc38a6388bdddf8cc24bb6f1af948e4eef2d7ae2091a5130fee57cf53e5a7d","src/bindings/ruby/templates/RustBufferTemplate.rb":"8f37664f5436ba74ccdd801e16220f1b879d2fb56f51f5845b6047c92dc079f8","src/bindings/ruby/templates/TopLevelFunctionTemplate.rb":"88213e7e25bef664da939c04dd5621f438af735ffcb4d2d0c24a529538630069","src/bindings/ruby/templates/macros.rb":"d732a62291c78ccfbc3208227c1b57f6add723fad91b7e699d693e360840e1b0","src/bindings/ruby/templates/wrapper.rb":"542cdf46fb871e66089c9f008cf472cca411fe217d8c66a0a66776c35469aab5","src/bindings/swift/gen_swift/callback_interface.rs":"e331871ac6c9ac9b9533848fb6ddfcabc1e605970343cad307b6d86b72ebe96a","src/bindings/swift/gen_swift/compounds.rs":"f9e87b342f1f9a14295d87bad59d786d4c253a24d22900c2aba44816713718ae","src/bindings/swift/gen_swift/custom.rs":"45cdfa35ef7345dc353d0d2f3cebb17d726e90abdf5ef49422d6b2db65f8fd25","src/bindings/swift/gen_swift/enum_.rs":"018eea78ef85c9f8d715a5bc15c8273030d4f6ba297019949eb578c5cc6276fd","src/bindings/swift/gen_swift/error.rs":"bd95c3303e40f03a321f2cdc8e15a0251f4c7ddbc3c32c4c57eb9569db218488","src/bindings/swift/gen_swift/miscellany.rs":"66f16968f6cccc0b61c544e336a49b96218551731dcce566a176903c9afb3b57","src/bindings/swift/gen_swift/mod.rs":"1e8f98e05a5b03798c91ada854f6a4f2a0682c252143d63c16c6a06bd0419e4b","src/bindings/swift/gen_swift/object.rs":"072a44f484cc66694c57a9fa41ba50a531c9ce19738e11ce9df17cdfc007648f","src/bindings/swift/gen_swift/primitives.rs":"b37b8f3ad3aa7e769e6d465a31282e377f93cd69e4dcf39a56dc833f412ed412","src/bindings/swift/gen_swift/record.rs":"48296332960be3731b9139dc664d4b8a5d56d04cffa34dc995b62cf202b4dbfd","src/bindings/swift/mod.rs":"0ad4afd667ef17b3b577ded9a09cdaa5595afbdb24e7474c6b1e6a8e0a024593","src/bindings/swift/templates/BooleanHelper.swift":"f607928c4d598893421fe9c9f183bab2f23a877a07afeb123dbe90515249ec86","src/bindings/swift/templates/BridgingHeaderTemplate.h":"93a289e393ecdbe1bf986215c3b19d2aed7677d47f79b1833ce73cf6f8762e80","src/bindings/swift/templates/CallbackInterfaceRuntime.swift":"aac01eb4269151be9dde8c95ee8eba7e8d0841b3c2b1dbd88885f01ac64ee147","src/bindings/swift/templates/CallbackInterfaceTemplate.swift":"c9700f52e932556c59a9bfea68fc786746b7f321ff75c33d0a8c1565effaeef5","src/bindings/swift/templates/CustomType.swift":"fe6414f2ce3ea7b148742e2fecf2206d7e69935dd78d56e014aec70f4d6ad3ec","src/bindings/swift/templates/DurationHelper.swift":"bca4a6498b27fe0c877df3c7fbe148538eeda03e68d4e760a7c8a6a15f2067ff","src/bindings/swift/templates/EnumTemplate.swift":"e61bdf7949aa5a7b55a2c10c243e960f683c862e5977f06e7f5956646b4ccb49","src/bindings/swift/templates/ErrorTemplate.swift":"58fb5907d20b7a6db67b128e5f6350015278990fef5945be42477a5b5f82bb18","src/bindings/swift/templates/Float32Helper.swift":"6c1a4da059dd4c6c4392511c93fe9daf4ddeeab71e39afd122797b0e19254318","src/bindings/swift/templates/Float64Helper.swift":"f741568cdfb8e1421369a9a1dc845630a3a0e2dc2d6acf157afd80cd3ef5966f","src/bindings/swift/templates/Helpers.swift":"3cf3a5342a1ef0c7e078b0e58c32ae4437c4fb5dc41acbbd56b1128393c76602","src/bindings/swift/templates/Int16Helper.swift":"76eec2a54a65790c5959380cc9a7362b1e2e201632cccb789153c52e10c8dc4f","src/bindings/swift/templates/Int32Helper.swift":"5afc5e103bf637813fd4b77ab63e47ed38893525101a483218a339f222710061","src/bindings/swift/templates/Int64Helper.swift":"c1a6f6661ef1ad3bd00e8d0bf81adaa6539686eee2b481b046b76dbd87681adf","src/bindings/swift/templates/Int8Helper.swift":"bc46598c966e579cca22d336748c74cdce5674eaaaf75fc24e5fdaa36a43cf9c","src/bindings/swift/templates/MapTemplate.swift":"8b5a9cb41a1ad41b5566fbe3906a1449e5453289208a9fc6a611de1eb937142a","src/bindings/swift/templates/ModuleMapTemplate.modulemap":"99ad1e9bf550a21497296f9248ecd4385dd6d0b5892951d24cf990cdbf3eec2c","src/bindings/swift/templates/ObjectTemplate.swift":"98f744d7baf41e28d9184ae7e1aa9522b1bd951d507e0987879b11d7995782aa","src/bindings/swift/templates/OptionalTemplate.swift":"73f777d2df4fdf42daf0d6035436d168b0d5f0abc15153b97029bc305408f597","src/bindings/swift/templates/RecordTemplate.swift":"af0dc13b32d34254b4cfef3b74f52fd4611aa6c32e055e203414511fd3bbb00a","src/bindings/swift/templates/RustBufferTemplate.swift":"ed16f20cecd264f086c923cd92a5198f444aec99aad4d39e9012f09f530ca809","src/bindings/swift/templates/SequenceTemplate.swift":"977f1409909ff08018c0a80c1330737023b39a8f9fa9a13f5bf9ab4806cac199","src/bindings/swift/templates/StringHelper.swift":"b773c2b3a03f30338ff233881d1b0c0238831b812eff6eb9f0fafcb32ab0743a","src/bindings/swift/templates/TimestampHelper.swift":"6e22e370feae1199bff16bcc6f431decfb7700b02e6afdd84693a0c474eb045e","src/bindings/swift/templates/TopLevelFunctionTemplate.swift":"ca7fcbaa06ee31c7433fd6aa238b6c1135a843f469d9b4f37d4874d514fd80d0","src/bindings/swift/templates/Types.swift":"2f42430cb4ffba8e9b5084c0cf8790fb5bae151878134b8a21e745acf75d2b08","src/bindings/swift/templates/UInt16Helper.swift":"16adb3b50403dad114fad0b86bc220c5adc3bd987c57c290aee7c6407891dfbc","src/bindings/swift/templates/UInt32Helper.swift":"680ddd2815184f520723820f10698a089c222df0388bc0f7734c6d5234194aec","src/bindings/swift/templates/UInt64Helper.swift":"b752852162028a0c132f79f9005c47c263a4dab98833e86758cd7b467e305629","src/bindings/swift/templates/UInt8Helper.swift":"54f4821e704969eeb5c0e002b890d975a20eda3ddc3ee56169ee3c615dfa1079","src/bindings/swift/templates/macros.swift":"0744724c37419e894132b39aea4b8e1f473460583883fa37f38c787a7deea32c","src/bindings/swift/templates/wrapper.swift":"ca1af5fe47bca972c76fb8c9f52b18f727d4343204408de3dd0aae384f0a4171","src/interface/attributes.rs":"6c062b60deb332fbb76e70bc675e65c2bc3f2060fad7cec87492609fa9ce166c","src/interface/callbacks.rs":"e311fe8c80fae1d84c1e867a3c36a47a6d6a41847bb2d633edefac7c69402c84","src/interface/enum_.rs":"4ff34ff12c19be0bc9d807020fd4c8e20660c418741e68408671a18165e4b95b","src/interface/error.rs":"85a61e5bb38b369b60110928a78dc84ae77a06d0cbae4dfe9ff9dff2b8c27e5a","src/interface/ffi.rs":"22d24e4dda327fa78c7632a6e5bbe374ecac0165acc550007feb729d8f4d6adf","src/interface/function.rs":"19219c6c984d4117362ee5c269712ec2ad462476902442062ef2a3b0619b014c","src/interface/literal.rs":"d93d168176ba2824d26c490396f4baffc1d418c3c94e4a1ef0ceb3cfca16a239","src/interface/mod.rs":"88dd169859004da79bd1488e6432bc7dae8b6cba9238cab1d676e570dad31d62","src/interface/namespace.rs":"ab0f63241bb6a0a32f9fd2a1544468cb6daa1f91f6116b7246b52a4a94e4f461","src/interface/object.rs":"106cbf5ec2a684700dd99c9748ba161320abb2cecec3c5022d5dd1a9ec4f5b85","src/interface/record.rs":"5b9db093c0c90f5c757e09e6c9afee6b99e2e724c7b388924990b1a6f46357e9","src/interface/types/finder.rs":"a27f24e64b5bfc796378d1012b5e72001f0a442e8185fdc4430b106595d4b819","src/interface/types/mod.rs":"25a598fd206975cc1e62aaa269b461654c913ad6c0b6a2719c486acfcc68b45b","src/interface/types/resolver.rs":"7e7ce336ef77c0a6c23deea36856737a97cca9b1c3f5cd0d676fe7df6ade6480","src/lib.rs":"a41b43e3628bb6b3f725580eec255b409947945672887de87c21d5122775a245","src/macro_metadata/ci.rs":"0d6e53d2b5645dd3cc7d196bd3a32ee82c029e1adb9ae93708c27a3fa5c55a88","src/macro_metadata/extract.rs":"ec392692a4601343312f60937987fe460cfb40d2c63a6bb1531fe91903916f10","src/macro_metadata/mod.rs":"1668e6d947fd4a957f557410a8095649de6f8d7fd3eb6a403b8587280dca2d54","src/main.rs":"bbf8e9942d398387e7518533f9b9dc42bfa66156430a87a17605a80a356c0dea","src/scaffolding/mod.rs":"35ae72220843cf3cccefd96e190553e32a5f34ccc58d552fd9165faea12db260","src/scaffolding/templates/CallbackInterfaceTemplate.rs":"3c8caa2e148add8d80701894ee6904fc2d3c5c6424d6d414b36edb6f593b5023","src/scaffolding/templates/EnumTemplate.rs":"eb8802f04f1fd1c9451ad72c1195c136288fdb4e488922b24db75b2fdae65cd7","src/scaffolding/templates/ErrorTemplate.rs":"e7ca4538908a273dd7ba3834219b30fa0e537b2171144f06b6a96fbefb90cd1d","src/scaffolding/templates/ExternalTypesTemplate.rs":"8ecc805cf119abac8c5f60605f9183ee9ec8d37f9ec75bba5e18bb8b482a1abb","src/scaffolding/templates/ObjectTemplate.rs":"34de640428486e17a61ded4f42ce13d8eac3e66cc9f60196ce2575cdc0bd8df6","src/scaffolding/templates/RecordTemplate.rs":"e8d5af954f46f023a243721d6fc70aa176c3a4c0a9dd340048bfe46f3eeed783","src/scaffolding/templates/ReexportUniFFIScaffolding.rs":"559a17c8e39c473ff1effe9651f05b83d443ecd8abed13e03f2b63872d7e1593","src/scaffolding/templates/RustBuffer.rs":"ccf7521012d93c41265375c6d2e80ce861ec93b41383da83c37718386dd726f6","src/scaffolding/templates/TopLevelFunctionTemplate.rs":"35eaefb0862f25ff683d58fb0be6ad5f74bbe2fc85047273200c3a5f4c728434","src/scaffolding/templates/macros.rs":"a41c9690d411074c59fc4609f897431669b9d939625a08f5304a71a88901ba7c","src/scaffolding/templates/scaffolding_template.rs":"3589f8e8e1f9b194ff4a6245665d3a421c771dec3cc947c4264bfcd34573550e"},"package":"5d46080a4840abccf7c0cce21931dae53215cbd7dd969b5e63c486235ce91a2a"}
+\ No newline at end of file
+diff --git a/third_party/rust/uniffi_bindgen/Cargo.lock b/third_party/rust/uniffi_bindgen/Cargo.lock
+--- a/third_party/rust/uniffi_bindgen/Cargo.lock
++++ b/third_party/rust/uniffi_bindgen/Cargo.lock
+@@ -2,13 +2,13 @@
+ # It is not intended for manual editing.
+ version = 3
+
+ [[package]]
+ name = "anyhow"
+-version = "1.0.65"
++version = "1.0.66"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "98161a4e3e2184da77bb14f02184cdd111e83bbbcc9979dfee3c44b9a85f5602"
++checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6"
+
+ [[package]]
+ name = "askama"
+ version = "0.11.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+@@ -97,13 +97,13 @@
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+ [[package]]
+ name = "clap"
+-version = "3.2.22"
++version = "3.2.23"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "86447ad904c7fb335a790c9d7fe3d0d971dc523b8ccd1561a520de9a85302750"
++checksum = "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5"
+ dependencies = [
+ "atty",
+ "bitflags",
+ "clap_derive",
+ "clap_lex",
+@@ -136,13 +136,13 @@
+ "os_str_bytes",
+ ]
+
+ [[package]]
+ name = "fs-err"
+-version = "2.8.1"
++version = "2.9.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "64db3e262960f0662f43a6366788d5f10f7f244b8f7d7d987f560baf5ded5c50"
++checksum = "0845fa252299212f0389d64ba26f34fa32cfe41588355f21ed507c59a0f64541"
+
+ [[package]]
+ name = "goblin"
+ version = "0.5.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+@@ -174,13 +174,13 @@
+ "libc",
+ ]
+
+ [[package]]
+ name = "indexmap"
+-version = "1.9.1"
++version = "1.9.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e"
++checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399"
+ dependencies = [
+ "autocfg",
+ "hashbrown",
+ ]
+
+@@ -190,13 +190,13 @@
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc"
+
+ [[package]]
+ name = "libc"
+-version = "0.2.135"
++version = "0.2.138"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "68783febc7782c6c5cb401fbda4de5a9898be1762314da0bb2c10ced61f18b0c"
++checksum = "db6d7e329c562c5dfab7a46a2afabc8b987ab9a4834c9d1ca04dc54c1546cef8"
+
+ [[package]]
+ name = "log"
+ version = "0.4.17"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+@@ -243,25 +243,25 @@
+ "minimal-lexical",
+ ]
+
+ [[package]]
+ name = "once_cell"
+-version = "1.15.0"
++version = "1.16.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "e82dad04139b71a90c080c8463fe0dc7902db5192d939bd0950f074d014339e1"
++checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860"
+
+ [[package]]
+ name = "os_str_bytes"
+-version = "6.3.0"
++version = "6.4.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "9ff7415e9ae3fff1225851df9e0d9e4e5479f947619774677a63572e55e80eff"
++checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee"
+
+ [[package]]
+ name = "paste"
+-version = "1.0.9"
++version = "1.0.10"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "b1de2e551fb905ac83f73f7aedf2f0cb4a0da7e35efa24a202a936269f1f18e1"
++checksum = "cf1c2c742266c2f1041c914ba65355a83ae8747b05f208319784083583494b4b"
+
+ [[package]]
+ name = "plain"
+ version = "0.2.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+@@ -291,13 +291,13 @@
+ "version_check",
+ ]
+
+ [[package]]
+ name = "proc-macro2"
+-version = "1.0.46"
++version = "1.0.47"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "94e2ef8dbfc347b10c094890f778ee2e36ca9bb4262e86dc99cd217e35f3470b"
++checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725"
+ dependencies = [
+ "unicode-ident",
+ ]
+
+ [[package]]
+@@ -335,50 +335,56 @@
+ "syn",
+ ]
+
+ [[package]]
+ name = "serde"
+-version = "1.0.145"
++version = "1.0.150"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "728eb6351430bccb993660dfffc5a72f91ccc1295abaa8ce19b27ebe4f75568b"
++checksum = "e326c9ec8042f1b5da33252c8a37e9ffbd2c9bef0155215b6e6c80c790e05f91"
+ dependencies = [
+ "serde_derive",
+ ]
+
+ [[package]]
+ name = "serde_derive"
+-version = "1.0.145"
++version = "1.0.150"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "81fa1584d3d1bcacd84c277a0dfe21f5b0f6accf4a23d04d4c6d61f1af522b4c"
++checksum = "42a3df25b0713732468deadad63ab9da1f1fd75a48a15024b50363f128db627e"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ ]
+
+ [[package]]
+ name = "serde_json"
+-version = "1.0.86"
++version = "1.0.89"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "41feea4228a6f1cd09ec7a3593a682276702cd67b5273544757dae23c096f074"
++checksum = "020ff22c755c2ed3f8cf162dbb41a7268d934702f3ed3631656ea597e08fc3db"
+ dependencies = [
+ "itoa",
+ "ryu",
+ "serde",
+ ]
+
+ [[package]]
++name = "siphasher"
++version = "0.3.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de"
++
++[[package]]
+ name = "strsim"
+ version = "0.10.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
+
+ [[package]]
+ name = "syn"
+-version = "1.0.102"
++version = "1.0.105"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "3fcd952facd492f9be3ef0d0b7032a6e442ee9b361d4acc2b1d0c4aaa5f613a1"
++checksum = "60b9b43d45702de4c839cb9b51d9f529c5dd26a4aff255b42b1ebc03e88ee908"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+ ]
+@@ -392,19 +398,19 @@
+ "winapi-util",
+ ]
+
+ [[package]]
+ name = "textwrap"
+-version = "0.15.1"
++version = "0.16.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "949517c0cf1bf4ee812e2e07e08ab448e3ae0d23472aee8a06c985f0c8815b16"
++checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
+
+ [[package]]
+ name = "toml"
+-version = "0.5.9"
++version = "0.5.10"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7"
++checksum = "1333c76748e868a4d9d1017b5ab53171dfd095f70c712fdb4653a406547f598f"
+ dependencies = [
+ "serde",
+ ]
+
+ [[package]]
+@@ -422,11 +428,11 @@
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3"
+
+ [[package]]
+ name = "uniffi_bindgen"
+-version = "0.21.0"
++version = "0.21.1"
+ dependencies = [
+ "anyhow",
+ "askama",
+ "bincode",
+ "camino",
+@@ -442,16 +448,28 @@
+ "uniffi_meta",
+ "weedle2",
+ ]
+
+ [[package]]
++name = "uniffi_checksum_derive"
++version = "0.21.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "78b6e16d46caf942016997af8bbdf4b163bf8ae3deb0b667d9643de7b7ffd4c9"
++dependencies = [
++ "quote",
++ "syn",
++]
++
++[[package]]
+ name = "uniffi_meta"
+-version = "0.21.0"
++version = "0.21.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "cd9417cc653937681436b93838d8c5f97a5b8c58697813982ee8810bd1dc3b57"
++checksum = "729835442da829c9b6f7c111c76cf87b2498e129101203bec94f0c39a3296a38"
+ dependencies = [
+ "serde",
++ "siphasher",
++ "uniffi_checksum_derive",
+ ]
+
+ [[package]]
+ name = "version_check"
+ version = "0.9.4"
+diff --git a/third_party/rust/uniffi_bindgen/Cargo.toml b/third_party/rust/uniffi_bindgen/Cargo.toml
+--- a/third_party/rust/uniffi_bindgen/Cargo.toml
++++ b/third_party/rust/uniffi_bindgen/Cargo.toml
+@@ -10,22 +10,21 @@
+ # See Cargo.toml.orig for the original contents.
+
+ [package]
+ edition = "2021"
+ name = "uniffi_bindgen"
+-version = "0.21.0"
++version = "0.21.1"
+ authors = ["Firefox Sync Team <sync-team(a)mozilla.com>"]
+ description = "a multi-language bindings generator for rust (codegen and cli tooling)"
+ homepage = "https://mozilla.github.io/uniffi-rs"
+ documentation = "https://mozilla.github.io/uniffi-rs"
+ keywords = [
+ "ffi",
+ "bindgen",
+ ]
+ license = "MPL-2.0"
+ repository = "https://github.com/mozilla/uniffi-rs"
+-resolver = "2"
+
+ [[bin]]
+ name = "uniffi-bindgen"
+ path = "src/main.rs"
+
+@@ -74,9 +73,9 @@
+
+ [dependencies.toml]
+ version = "0.5"
+
+ [dependencies.uniffi_meta]
+-version = "=0.21.0"
++version = "=0.21.1"
+
+ [dependencies.weedle2]
+ version = "4.0.0"
+diff --git a/third_party/rust/uniffi_bindgen/src/interface/attributes.rs b/third_party/rust/uniffi_bindgen/src/interface/attributes.rs
+--- a/third_party/rust/uniffi_bindgen/src/interface/attributes.rs
++++ b/third_party/rust/uniffi_bindgen/src/interface/attributes.rs
+@@ -13,17 +13,18 @@
+ //! We only support a small number of attributes, so it's manageable to have them
+ //! all handled by a single abstraction. This might need to be refactored in future
+ //! if we grow significantly more complicated attribute handling.
+
+ use anyhow::{bail, Result};
++use uniffi_meta::Checksum;
+
+ /// Represents an attribute parsed from UDL, like `[ByRef]` or `[Throws]`.
+ ///
+ /// This is a convenience enum for parsing UDL attributes and erroring out if we encounter
+ /// any unsupported ones. These don't convert directly into parts of a `ComponentInterface`, but
+ /// may influence the properties of things like functions and arguments.
+-#[derive(Debug, Clone, Hash)]
++#[derive(Debug, Clone, Checksum)]
+ pub(super) enum Attribute {
+ ByRef,
+ Enum,
+ Error,
+ Name(String),
+@@ -117,11 +118,11 @@
+ Ok(attrs)
+ }
+
+ /// Attributes that can be attached to an `enum` definition in the UDL.
+ /// There's only one case here: using `[Error]` to mark an enum as an error class.
+-#[derive(Debug, Clone, Hash, Default)]
++#[derive(Debug, Clone, Checksum, Default)]
+ pub(super) struct EnumAttributes(Vec<Attribute>);
+
+ impl EnumAttributes {
+ pub fn contains_error_attr(&self) -> bool {
+ self.0.iter().any(|attr| attr.is_error())
+@@ -153,11 +154,11 @@
+
+ /// Represents UDL attributes that might appear on a function.
+ ///
+ /// This supports the `[Throws=ErrorName]` attribute for functions that
+ /// can produce an error.
+-#[derive(Debug, Clone, Hash, Default)]
++#[derive(Debug, Clone, Checksum, Default)]
+ pub(super) struct FunctionAttributes(Vec<Attribute>);
+
+ impl FunctionAttributes {
+ pub(super) fn get_throws_err(&self) -> Option<&str> {
+ self.0.iter().find_map(|attr| match attr {
+@@ -196,11 +197,11 @@
+
+ /// Represents UDL attributes that might appear on a function argument.
+ ///
+ /// This supports the `[ByRef]` attribute for arguments that should be passed
+ /// by reference in the generated Rust scaffolding.
+-#[derive(Debug, Clone, Hash, Default)]
++#[derive(Debug, Clone, Checksum, Default)]
+ pub(super) struct ArgumentAttributes(Vec<Attribute>);
+
+ impl ArgumentAttributes {
+ pub fn by_ref(&self) -> bool {
+ self.0.iter().any(|attr| matches!(attr, Attribute::ByRef))
+@@ -231,11 +232,11 @@
+ }
+ }
+ }
+
+ /// Represents UDL attributes that might appear on an `interface` definition.
+-#[derive(Debug, Clone, Hash, Default)]
++#[derive(Debug, Clone, Checksum, Default)]
+ pub(super) struct InterfaceAttributes(Vec<Attribute>);
+
+ impl InterfaceAttributes {
+ pub fn contains_enum_attr(&self) -> bool {
+ self.0.iter().any(|attr| attr.is_enum())
+@@ -285,11 +286,11 @@
+
+ /// Represents UDL attributes that might appear on a constructor.
+ ///
+ /// This supports the `[Throws=ErrorName]` attribute for constructors that can produce
+ /// an error, and the `[Name=MethodName]` for non-default constructors.
+-#[derive(Debug, Clone, Hash, Default)]
++#[derive(Debug, Clone, Checksum, Default)]
+ pub(super) struct ConstructorAttributes(Vec<Attribute>);
+
+ impl ConstructorAttributes {
+ pub(super) fn get_throws_err(&self) -> Option<&str> {
+ self.0.iter().find_map(|attr| match attr {
+@@ -324,11 +325,11 @@
+
+ /// Represents UDL attributes that might appear on a method.
+ ///
+ /// This supports the `[Throws=ErrorName]` attribute for methods that can produce
+ /// an error, and the `[Self=ByArc]` attribute for methods that take `Arc<Self>` as receiver.
+-#[derive(Debug, Clone, Hash, Default)]
++#[derive(Debug, Clone, Checksum, Default)]
+ pub(super) struct MethodAttributes(Vec<Attribute>);
+
+ impl MethodAttributes {
+ pub(super) fn get_throws_err(&self) -> Option<&str> {
+ self.0.iter().find_map(|attr| match attr {
+@@ -373,11 +374,11 @@
+ /// Represents the different possible types of method call receiver.
+ ///
+ /// Actually we only support one of these right now, `[Self=ByArc]`.
+ /// We might add more in future, e.g. a `[Self=ByRef]` if there are cases
+ /// where we need to force the receiver to be taken by reference.
+-#[derive(Debug, Clone, Hash)]
++#[derive(Debug, Clone, Checksum)]
+ pub(super) enum SelfType {
+ ByArc, // Method receiver is `Arc<Self>`.
+ }
+
+ impl TryFrom<&weedle::attribute::IdentifierOrString<'_>> for SelfType {
+@@ -396,11 +397,11 @@
+ }
+
+ /// Represents UDL attributes that might appear on a typedef
+ ///
+ /// This supports the `[External="crate_name"]` and `[Custom]` attributes for types.
+-#[derive(Debug, Clone, Hash, Default)]
++#[derive(Debug, Clone, Checksum, Default)]
+ pub(super) struct TypedefAttributes(Vec<Attribute>);
+
+ impl TypedefAttributes {
+ pub(super) fn get_crate_name(&self) -> String {
+ self.0
+diff --git a/third_party/rust/uniffi_bindgen/src/interface/callbacks.rs b/third_party/rust/uniffi_bindgen/src/interface/callbacks.rs
+--- a/third_party/rust/uniffi_bindgen/src/interface/callbacks.rs
++++ b/third_party/rust/uniffi_bindgen/src/interface/callbacks.rs
+@@ -31,23 +31,29 @@
+ //! assert_eq!(callback.name(), "Example");
+ //! assert_eq!(callback.methods()[0].name(), "hello");
+ //! # Ok::<(), anyhow::Error>(())
+ //! ```
+
+-use std::hash::{Hash, Hasher};
+-
+ use anyhow::{bail, Result};
++use uniffi_meta::Checksum;
+
+ use super::ffi::{FFIArgument, FFIFunction, FFIType};
+ use super::object::Method;
+ use super::types::{Type, TypeIterator};
+ use super::{APIConverter, ComponentInterface};
+
+-#[derive(Debug, Clone)]
++#[derive(Debug, Clone, Checksum)]
+ pub struct CallbackInterface {
+ pub(super) name: String,
+ pub(super) methods: Vec<Method>,
++ // We don't include the FFIFunc in the hash calculation, because:
++ // - it is entirely determined by the other fields,
++ // so excluding it is safe.
++ // - its `name` property includes a checksum derived from the very
++ // hash value we're trying to calculate here, so excluding it
++ // avoids a weird circular depenendency in the calculation.
++ #[checksum_ignore]
+ pub(super) ffi_init_callback: FFIFunction,
+ }
+
+ impl CallbackInterface {
+ fn new(name: String) -> CallbackInterface {
+@@ -86,23 +92,10 @@
+ pub fn iter_types(&self) -> TypeIterator<'_> {
+ Box::new(self.methods.iter().flat_map(Method::iter_types))
+ }
+ }
+
+-impl Hash for CallbackInterface {
+- fn hash<H: Hasher>(&self, state: &mut H) {
+- // We don't include the FFIFunc in the hash calculation, because:
+- // - it is entirely determined by the other fields,
+- // so excluding it is safe.
+- // - its `name` property includes a checksum derived from the very
+- // hash value we're trying to calculate here, so excluding it
+- // avoids a weird circular depenendency in the calculation.
+- self.name.hash(state);
+- self.methods.hash(state);
+- }
+-}
+-
+ impl APIConverter<CallbackInterface> for weedle::CallbackInterfaceDefinition<'_> {
+ fn convert(&self, ci: &mut ComponentInterface) -> Result<CallbackInterface> {
+ if self.attributes.is_some() {
+ bail!("callback interface attributes are not supported yet");
+ }
+diff --git a/third_party/rust/uniffi_bindgen/src/interface/enum_.rs b/third_party/rust/uniffi_bindgen/src/interface/enum_.rs
+--- a/third_party/rust/uniffi_bindgen/src/interface/enum_.rs
++++ b/third_party/rust/uniffi_bindgen/src/interface/enum_.rs
+@@ -75,21 +75,22 @@
+ //! assert_eq!(e.variants()[1].fields()[0].name(), "first");
+ //! # Ok::<(), anyhow::Error>(())
+ //! ```
+
+ use anyhow::{bail, Result};
++use uniffi_meta::Checksum;
+
+ use super::record::Field;
+ use super::types::{Type, TypeIterator};
+ use super::{APIConverter, ComponentInterface};
+
+ /// Represents an enum with named variants, each of which may have named
+ /// and typed fields.
+ ///
+ /// Enums are passed across the FFI by serializing to a bytebuffer, with a
+ /// i32 indicating the variant followed by the serialization of each field.
+-#[derive(Debug, Clone, Hash)]
++#[derive(Debug, Clone, Checksum)]
+ pub struct Enum {
+ pub(super) name: String,
+ pub(super) variants: Vec<Variant>,
+ // "Flat" enums do not have, and will never have, variants with associated data.
+ pub(super) flat: bool,
+@@ -172,11 +173,11 @@
+ }
+
+ /// Represents an individual variant in an Enum.
+ ///
+ /// Each variant has a name and zero or more fields.
+-#[derive(Debug, Clone, Default, Hash)]
++#[derive(Debug, Clone, Default, Checksum)]
+ pub struct Variant {
+ pub(super) name: String,
+ pub(super) fields: Vec<Field>,
+ }
+
+diff --git a/third_party/rust/uniffi_bindgen/src/interface/error.rs b/third_party/rust/uniffi_bindgen/src/interface/error.rs
+--- a/third_party/rust/uniffi_bindgen/src/interface/error.rs
++++ b/third_party/rust/uniffi_bindgen/src/interface/error.rs
+@@ -81,10 +81,11 @@
+ //! assert_eq!(err.is_flat(), false);
+ //! # Ok::<(), anyhow::Error>(())
+ //! ```
+
+ use anyhow::Result;
++use uniffi_meta::Checksum;
+
+ use super::enum_::{Enum, Variant};
+ use super::types::{Type, TypeIterator};
+ use super::{APIConverter, ComponentInterface};
+
+@@ -92,11 +93,11 @@
+ ///
+ /// Errors are represented in the UDL as enums with the special `[Error]` attribute, but
+ /// they're handled in the FFI very differently. We create them in `uniffi::call_with_result()` if
+ /// the wrapped function returns an `Err` value
+ /// struct and assign an integer error code to each variant.
+-#[derive(Debug, Clone, Hash)]
++#[derive(Debug, Clone, Checksum)]
+ pub struct Error {
+ pub name: String,
+ enum_: Enum,
+ }
+
+diff --git a/third_party/rust/uniffi_bindgen/src/interface/function.rs b/third_party/rust/uniffi_bindgen/src/interface/function.rs
+--- a/third_party/rust/uniffi_bindgen/src/interface/function.rs
++++ b/third_party/rust/uniffi_bindgen/src/interface/function.rs
+@@ -30,13 +30,13 @@
+ //! assert!(matches!(func.return_type(), Some(Type::String)));
+ //! assert_eq!(func.arguments().len(), 0);
+ //! # Ok::<(), anyhow::Error>(())
+ //! ```
+ use std::convert::TryFrom;
+-use std::hash::{Hash, Hasher};
+
+ use anyhow::{bail, Result};
++use uniffi_meta::Checksum;
+
+ use super::ffi::{FFIArgument, FFIFunction};
+ use super::literal::{convert_default_value, Literal};
+ use super::types::{Type, TypeIterator};
+ use super::{
+@@ -49,15 +49,22 @@
+ ///
+ /// Each `Function` corresponds to a standalone function in the rust module,
+ /// and has a corresponding standalone function in the foreign language bindings.
+ ///
+ /// In the FFI, this will be a standalone function with appropriately lowered types.
+-#[derive(Debug, Clone)]
++#[derive(Debug, Clone, Checksum)]
+ pub struct Function {
+ pub(super) name: String,
+ pub(super) arguments: Vec<Argument>,
+ pub(super) return_type: Option<Type>,
++ // We don't include the FFIFunc in the hash calculation, because:
++ // - it is entirely determined by the other fields,
++ // so excluding it is safe.
++ // - its `name` property includes a checksum derived from the very
++ // hash value we're trying to calculate here, so excluding it
++ // avoids a weird circular depenendency in the calculation.
++ #[checksum_ignore]
+ pub(super) ffi_func: FFIFunction,
+ pub(super) attributes: FunctionAttributes,
+ }
+
+ impl Function {
+@@ -140,25 +147,10 @@
+ attributes: Default::default(),
+ }
+ }
+ }
+
+-impl Hash for Function {
+- fn hash<H: Hasher>(&self, state: &mut H) {
+- // We don't include the FFIFunc in the hash calculation, because:
+- // - it is entirely determined by the other fields,
+- // so excluding it is safe.
+- // - its `name` property includes a checksum derived from the very
+- // hash value we're trying to calculate here, so excluding it
+- // avoids a weird circular depenendency in the calculation.
+- self.name.hash(state);
+- self.arguments.hash(state);
+- self.return_type.hash(state);
+- self.attributes.hash(state);
+- }
+-}
+-
+ impl APIConverter<Function> for weedle::namespace::NamespaceMember<'_> {
+ fn convert(&self, ci: &mut ComponentInterface) -> Result<Function> {
+ match self {
+ weedle::namespace::NamespaceMember::Operation(f) => f.convert(ci),
+ _ => bail!("no support for namespace member type {:?} yet", self),
+@@ -183,11 +175,11 @@
+ }
+
+ /// Represents an argument to a function/constructor/method call.
+ ///
+ /// Each argument has a name and a type, along with some optional metadata.
+-#[derive(Debug, Clone, Hash)]
++#[derive(Debug, Clone, Checksum)]
+ pub struct Argument {
+ pub(super) name: String,
+ pub(super) type_: Type,
+ pub(super) by_ref: bool,
+ pub(super) optional: bool,
+diff --git a/third_party/rust/uniffi_bindgen/src/interface/literal.rs b/third_party/rust/uniffi_bindgen/src/interface/literal.rs
+--- a/third_party/rust/uniffi_bindgen/src/interface/literal.rs
++++ b/third_party/rust/uniffi_bindgen/src/interface/literal.rs
+@@ -6,16 +6,17 @@
+ //!
+ //! This module provides support for interpreting literal values from the UDL,
+ //! which appear in places such as default arguments.
+
+ use anyhow::{bail, Result};
++use uniffi_meta::Checksum;
+
+ use super::types::Type;
+
+ // Represents a literal value.
+ // Used for e.g. default argument values.
+-#[derive(Debug, Clone, Hash)]
++#[derive(Debug, Clone, Checksum)]
+ pub enum Literal {
+ Boolean(bool),
+ String(String),
+ // Integers are represented as the widest representation we can.
+ // Number formatting vary with language and radix, so we avoid a lot of parsing and
+@@ -33,11 +34,11 @@
+ Null,
+ }
+
+ // Represent the radix of integer literal values.
+ // We preserve the radix into the generated bindings for readability reasons.
+-#[derive(Debug, Clone, Copy, Hash)]
++#[derive(Debug, Clone, Copy, Checksum)]
+ pub enum Radix {
+ Decimal = 10,
+ Octal = 8,
+ Hexadecimal = 16,
+ }
+diff --git a/third_party/rust/uniffi_bindgen/src/interface/mod.rs b/third_party/rust/uniffi_bindgen/src/interface/mod.rs
+--- a/third_party/rust/uniffi_bindgen/src/interface/mod.rs
++++ b/third_party/rust/uniffi_bindgen/src/interface/mod.rs
+@@ -42,16 +42,11 @@
+ //! a good opportunity here for e.g. interned strings, but we're nowhere near the point were we need
+ //! that kind of optimization just yet.
+ //!
+ //! * Error messages and general developer experience leave a lot to be desired.
+
+-use std::{
+- collections::HashSet,
+- convert::TryFrom,
+- hash::{Hash, Hasher},
+- iter,
+-};
++use std::{collections::HashSet, convert::TryFrom, iter};
+
+ use anyhow::{bail, Result};
+
+ pub mod types;
+ pub use types::Type;
+@@ -75,26 +70,30 @@
+ mod record;
+ pub use record::{Field, Record};
+
+ pub mod ffi;
+ pub use ffi::{FFIArgument, FFIFunction, FFIType};
+-use uniffi_meta::{MethodMetadata, ObjectMetadata};
++use uniffi_meta::{Checksum, MethodMetadata, ObjectMetadata};
+
+ /// The main public interface for this module, representing the complete details of an interface exposed
+ /// by a rust component and the details of consuming it via an extern-C FFI layer.
+ ///
+-#[derive(Debug, Default)]
++#[derive(Debug, Default, Checksum)]
+ pub struct ComponentInterface {
+ /// Every ComponentInterface gets tagged with the version of uniffi used to create it.
+ /// This helps us avoid using a lib compiled with one version together with bindings created
+ /// using a different version, which might introduce unsafety.
+ uniffi_version: String,
+ /// All of the types used in the interface.
++ // We can't checksum `self.types`, but its contents are implied by the other fields
++ // anyway, so it's safe to ignore it.
++ #[checksum_ignore]
+ pub(super) types: TypeUniverse,
+ /// The unique prefix that we'll use for namespacing when exposing this component's API.
+ namespace: String,
+ /// The internal unique prefix used to namespace FFI symbols
++ #[checksum_ignore]
+ ffi_namespace: String,
+ /// The high-level API provided by the component.
+ enums: Vec<Enum>,
+ records: Vec<Record>,
+ functions: Vec<Function>,
+@@ -105,11 +104,11 @@
+
+ impl ComponentInterface {
+ /// Parse a `ComponentInterface` from a string containing a WebIDL definition.
+ pub fn from_webidl(idl: &str) -> Result<Self> {
+ let mut ci = Self {
+- uniffi_version: env!("CARGO_PKG_VERSION").to_string(),
++ uniffi_version: "0.21.0".to_string(),
+ ..Default::default()
+ };
+ // There's some lifetime thing with the errors returned from weedle::Definitions::parse
+ // that my own lifetime is too short to worry about figuring out; unwrap and move on.
+
+@@ -319,20 +318,12 @@
+ /// and the same version of Rust, will always have the same checksum value.
+ /// - Two ComponentInterfaces will, with high probability, have different checksum values if:
+ /// - They were generated from two different WebIDL files.
+ /// - They were generated by two different versions of uniffi
+ ///
+- /// The checksum may or may not change depending on the version of Rust used; since we expect
+- /// consumers to be using the same executable to generate both the scaffolding and the bindings,
+- /// assuming the same version of Rust seems acceptable.
+- ///
+ /// Note that this is designed to prevent accidents, not attacks, so there is no need for the
+ /// checksum to be cryptographically secure.
+- ///
+- /// TODO: it's not clear to me if the derivation of `Hash` is actually deterministic enough to
+- /// ensure the guarantees above, or if it might be sensitive to e.g. compiler-driven re-ordering
+- /// of struct field. Let's see how it goes...
+ pub fn checksum(&self) -> u16 {
+ uniffi_meta::checksum(self)
+ }
+
+ /// The namespace to use in FFI-level function definitions.
+@@ -670,27 +661,10 @@
+ }
+ Ok(())
+ }
+ }
+
+-/// `ComponentInterface` structs can be hashed, but this is mostly a convenient way to
+-/// produce a checksum of their contents. They're not really intended to live in a hashtable.
+-impl Hash for ComponentInterface {
+- fn hash<H: Hasher>(&self, state: &mut H) {
+- // We can't hash `self.types`, but its contents are implied by the other fields
+- // anyway, so it's safe to ignore it.
+- self.uniffi_version.hash(state);
+- self.namespace.hash(state);
+- self.enums.hash(state);
+- self.records.hash(state);
+- self.functions.hash(state);
+- self.objects.hash(state);
+- self.callback_interfaces.hash(state);
+- self.errors.hash(state);
+- }
+-}
+-
+ fn get_or_insert_object<'a>(objects: &'a mut Vec<Object>, name: &str) -> &'a mut Object {
+ // The find-based way of writing this currently runs into a borrow checker
+ // error, so we use position
+ match objects.iter_mut().position(|o| o.name == name) {
+ Some(idx) => &mut objects[idx],
+diff --git a/third_party/rust/uniffi_bindgen/src/interface/object.rs b/third_party/rust/uniffi_bindgen/src/interface/object.rs
+--- a/third_party/rust/uniffi_bindgen/src/interface/object.rs
++++ b/third_party/rust/uniffi_bindgen/src/interface/object.rs
+@@ -56,14 +56,14 @@
+ //! assert_eq!(obj.constructors().len(), 0);
+ //! # Ok::<(), anyhow::Error>(())
+ //! ```
+
+ use std::convert::TryFrom;
+-use std::hash::{Hash, Hasher};
+ use std::{collections::HashSet, iter};
+
+ use anyhow::{bail, Result};
++use uniffi_meta::Checksum;
+
+ use super::ffi::{FFIArgument, FFIFunction, FFIType};
+ use super::function::Argument;
+ use super::types::{Type, TypeIterator};
+ use super::{
+@@ -84,16 +84,24 @@
+ /// binding code is expected to stitch these functions back together into an appropriate class
+ /// definition (or that language's equivalent thereof).
+ ///
+ /// TODO:
+ /// - maybe "Class" would be a better name than "Object" here?
+-#[derive(Debug, Clone)]
++#[derive(Debug, Clone, Checksum)]
+ pub struct Object {
+ pub(super) name: String,
+ pub(super) constructors: Vec<Constructor>,
+ pub(super) methods: Vec<Method>,
++ // We don't include the FFIFunc in the hash calculation, because:
++ // - it is entirely determined by the other fields,
++ // so excluding it is safe.
++ // - its `name` property includes a checksum derived from the very
++ // hash value we're trying to calculate here, so excluding it
++ // avoids a weird circular depenendency in the calculation.
++ #[checksum_ignore]
+ pub(super) ffi_func_free: FFIFunction,
++ #[checksum_ignore]
+ pub(super) uses_deprecated_threadsafe_attribute: bool,
+ }
+
+ impl Object {
+ pub(super) fn new(name: String) -> Object {
+@@ -188,24 +196,10 @@
+ .flatten(),
+ )
+ }
+ }
+
+-impl Hash for Object {
+- fn hash<H: Hasher>(&self, state: &mut H) {
+- // We don't include the FFIFunc in the hash calculation, because:
+- // - it is entirely determined by the other fields,
+- // so excluding it is safe.
+- // - its `name` property includes a checksum derived from the very
+- // hash value we're trying to calculate here, so excluding it
+- // avoids a weird circular depenendency in the calculation.
+- self.name.hash(state);
+- self.constructors.hash(state);
+- self.methods.hash(state);
+- }
+-}
+-
+ impl APIConverter<Object> for weedle::InterfaceDefinition<'_> {
+ fn convert(&self, ci: &mut ComponentInterface) -> Result<Object> {
+ if self.inheritance.is_some() {
+ bail!("interface inheritence is not supported");
+ }
+@@ -243,14 +237,21 @@
+
+ // Represents a constructor for an object type.
+ //
+ // In the FFI, this will be a function that returns a pointer to an instance
+ // of the corresponding object type.
+-#[derive(Debug, Clone)]
++#[derive(Debug, Clone, Checksum)]
+ pub struct Constructor {
+ pub(super) name: String,
+ pub(super) arguments: Vec<Argument>,
++ // We don't include the FFIFunc in the hash calculation, because:
++ // - it is entirely determined by the other fields,
++ // so excluding it is safe.
++ // - its `name` property includes a checksum derived from the very
++ // hash value we're trying to calculate here, so excluding it
++ // avoids a weird circular depenendency in the calculation.
++ #[checksum_ignore]
+ pub(super) ffi_func: FFIFunction,
+ pub(super) attributes: ConstructorAttributes,
+ }
+
+ impl Constructor {
+@@ -297,24 +298,10 @@
+ pub fn iter_types(&self) -> TypeIterator<'_> {
+ Box::new(self.arguments.iter().flat_map(Argument::iter_types))
+ }
+ }
+
+-impl Hash for Constructor {
+- fn hash<H: Hasher>(&self, state: &mut H) {
+- // We don't include the FFIFunc in the hash calculation, because:
+- // - it is entirely determined by the other fields,
+- // so excluding it is safe.
+- // - its `name` property includes a checksum derived from the very
+- // hash value we're trying to calculate here, so excluding it
+- // avoids a weird circular depenendency in the calculation.
+- self.name.hash(state);
+- self.arguments.hash(state);
+- self.attributes.hash(state);
+- }
+-}
+-
+ impl Default for Constructor {
+ fn default() -> Self {
+ Constructor {
+ name: String::from("new"),
+ arguments: Vec::new(),
+@@ -341,16 +328,23 @@
+
+ // Represents an instance method for an object type.
+ //
+ // The FFI will represent this as a function whose first/self argument is a
+ // `FFIType::RustArcPtr` to the instance.
+-#[derive(Debug, Clone)]
++#[derive(Debug, Clone, Checksum)]
+ pub struct Method {
+ pub(super) name: String,
+ pub(super) object_name: String,
++ pub(super) arguments: Vec<Argument>,
+ pub(super) return_type: Option<Type>,
+- pub(super) arguments: Vec<Argument>,
++ // We don't include the FFIFunc in the hash calculation, because:
++ // - it is entirely determined by the other fields,
++ // so excluding it is safe.
++ // - its `name` property includes a checksum derived from the very
++ // hash value we're trying to calculate here, so excluding it
++ // avoids a weird circular depenendency in the calculation.
++ #[checksum_ignore]
+ pub(super) ffi_func: FFIFunction,
+ pub(super) attributes: MethodAttributes,
+ }
+
+ impl Method {
+@@ -448,26 +442,10 @@
+ attributes: Default::default(),
+ }
+ }
+ }
+
+-impl Hash for Method {
+- fn hash<H: Hasher>(&self, state: &mut H) {
+- // We don't include the FFIFunc in the hash calculation, because:
+- // - it is entirely determined by the other fields,
+- // so excluding it is safe.
+- // - its `name` property includes a checksum derived from the very
+- // hash value we're trying to calculate here, so excluding it
+- // avoids a weird circular depenendency in the calculation.
+- self.name.hash(state);
+- self.object_name.hash(state);
+- self.arguments.hash(state);
+- self.return_type.hash(state);
+- self.attributes.hash(state);
+- }
+-}
+-
+ impl APIConverter<Method> for weedle::interface::OperationInterfaceMember<'_> {
+ fn convert(&self, ci: &mut ComponentInterface) -> Result<Method> {
+ if self.special.is_some() {
+ bail!("special operations not supported");
+ }
+diff --git a/third_party/rust/uniffi_bindgen/src/interface/record.rs b/third_party/rust/uniffi_bindgen/src/interface/record.rs
+--- a/third_party/rust/uniffi_bindgen/src/interface/record.rs
++++ b/third_party/rust/uniffi_bindgen/src/interface/record.rs
+@@ -43,10 +43,11 @@
+ //! assert_eq!(record.fields()[1].name(), "value");
+ //! # Ok::<(), anyhow::Error>(())
+ //! ```
+
+ use anyhow::{bail, Result};
++use uniffi_meta::Checksum;
+
+ use super::types::{Type, TypeIterator};
+ use super::{
+ convert_type,
+ literal::{convert_default_value, Literal},
+@@ -56,11 +57,11 @@
+ /// Represents a "data class" style object, for passing around complex values.
+ ///
+ /// In the FFI these are represented as a byte buffer, which one side explicitly
+ /// serializes the data into and the other serializes it out of. So I guess they're
+ /// kind of like "pass by clone" values.
+-#[derive(Debug, Clone, Hash)]
++#[derive(Debug, Clone, Checksum)]
+ pub struct Record {
+ pub(super) name: String,
+ pub(super) fields: Vec<Field>,
+ }
+
+@@ -107,11 +108,11 @@
+ })
+ }
+ }
+
+ // Represents an individual field on a Record.
+-#[derive(Debug, Clone, Hash)]
++#[derive(Debug, Clone, Checksum)]
+ pub struct Field {
+ pub(super) name: String,
+ pub(super) type_: Type,
+ pub(super) required: bool,
+ pub(super) default: Option<Literal>,
+diff --git a/third_party/rust/uniffi_bindgen/src/interface/types/mod.rs b/third_party/rust/uniffi_bindgen/src/interface/types/mod.rs
+--- a/third_party/rust/uniffi_bindgen/src/interface/types/mod.rs
++++ b/third_party/rust/uniffi_bindgen/src/interface/types/mod.rs
+@@ -23,10 +23,11 @@
+
+ use std::{collections::hash_map::Entry, collections::BTreeSet, collections::HashMap, iter};
+
+ use anyhow::{bail, Result};
+ use heck::ToUpperCamelCase;
++use uniffi_meta::Checksum;
+
+ use super::ffi::FFIType;
+
+ mod finder;
+ pub(super) use finder::TypeFinder;
+@@ -34,11 +35,11 @@
+ pub(super) use resolver::{resolve_builtin_type, TypeResolver};
+
+ /// Represents all the different high-level types that can be used in a component interface.
+ /// At this level we identify user-defined types by name, without knowing any details
+ /// of their internal structure apart from what type of thing they are (record, enum, etc).
+-#[derive(Debug, Clone, Eq, PartialEq, Hash, Ord, PartialOrd)]
++#[derive(Debug, Clone, Eq, PartialEq, Checksum, Ord, PartialOrd)]
+ pub enum Type {
+ // Primitive types.
+ UInt8,
+ Int8,
+ UInt16,
+diff --git a/third_party/rust/uniffi_build/.cargo-checksum.json b/third_party/rust/uniffi_build/.cargo-checksum.json
+--- a/third_party/rust/uniffi_build/.cargo-checksum.json
++++ b/third_party/rust/uniffi_build/.cargo-checksum.json
+@@ -1 +1 @@
+-{"files":{"Cargo.toml":"bf9105f53978ecdccad9a75fc3645f97982d3c4162a5a9b49ab16554162b51c1","src/lib.rs":"485a0c0ab99077a1d4037f4deec9801e87a248196e7589a002556fb84973528a"},"package":"510287c368a9386eb731ebe824a6fc6c82a105e20d020af1aa20519c1c1561db"}
+\ No newline at end of file
++{"files":{"Cargo.toml":"30736876caf953bd0040b6c0fc824744556bf52fe23d656c7d01442d4c180674","src/lib.rs":"485a0c0ab99077a1d4037f4deec9801e87a248196e7589a002556fb84973528a"},"package":"d035e50433ee3d52ab0dcdcf3b9b26f2cc2ec39294b3c07d95865a518709455f"}
+\ No newline at end of file
+diff --git a/third_party/rust/uniffi_build/Cargo.toml b/third_party/rust/uniffi_build/Cargo.toml
+--- a/third_party/rust/uniffi_build/Cargo.toml
++++ b/third_party/rust/uniffi_build/Cargo.toml
+@@ -10,31 +10,30 @@
+ # See Cargo.toml.orig for the original contents.
+
+ [package]
+ edition = "2021"
+ name = "uniffi_build"
+-version = "0.21.0"
++version = "0.21.1"
+ authors = ["Firefox Sync Team <sync-team(a)mozilla.com>"]
+ description = "a multi-language bindings generator for rust (build script helpers)"
+ homepage = "https://mozilla.github.io/uniffi-rs"
+ documentation = "https://mozilla.github.io/uniffi-rs"
+ keywords = [
+ "ffi",
+ "bindgen",
+ ]
+ license = "MPL-2.0"
+ repository = "https://github.com/mozilla/uniffi-rs"
+-resolver = "2"
+
+ [dependencies.anyhow]
+ version = "1"
+
+ [dependencies.camino]
+ version = "1.0.8"
+
+ [dependencies.uniffi_bindgen]
+-version = "=0.21.0"
++version = "=0.21.1"
+ optional = true
+
+ [features]
+ builtin-bindgen = ["uniffi_bindgen"]
+ default = []
+diff --git a/third_party/rust/uniffi_checksum_derive/.cargo-checksum.json b/third_party/rust/uniffi_checksum_derive/.cargo-checksum.json
+new file mode 100644
+--- /dev/null
++++ b/third_party/rust/uniffi_checksum_derive/.cargo-checksum.json
+@@ -0,0 +1 @@
++{"files":{"Cargo.toml":"2ab3c60724c4c504297f8876bf0a8d1291f76a2fc46f5e83634aa147e89ffc71","src/lib.rs":"c68c69a1cf6a69e5fe78f7b069364a265c5bb6ce8c0abf0b5745eca01c79604a"},"package":"78b6e16d46caf942016997af8bbdf4b163bf8ae3deb0b667d9643de7b7ffd4c9"}
+\ No newline at end of file
+diff --git a/third_party/rust/uniffi_checksum_derive/Cargo.toml b/third_party/rust/uniffi_checksum_derive/Cargo.toml
+new file mode 100644
+--- /dev/null
++++ b/third_party/rust/uniffi_checksum_derive/Cargo.toml
+@@ -0,0 +1,42 @@
++# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
++#
++# When uploading crates to the registry Cargo will automatically
++# "normalize" Cargo.toml files for maximal compatibility
++# with all versions of Cargo and also rewrite `path` dependencies
++# to registry (e.g., crates.io) dependencies.
++#
++# If you are reading this file be aware that the original Cargo.toml
++# will likely look very different (and much more reasonable).
++# See Cargo.toml.orig for the original contents.
++
++[package]
++edition = "2021"
++name = "uniffi_checksum_derive"
++version = "0.21.1"
++authors = ["Firefox Sync Team <sync-team(a)mozilla.com>"]
++description = "a multi-language bindings generator for rust (checksum custom derive)"
++homepage = "https://mozilla.github.io/uniffi-rs"
++documentation = "https://mozilla.github.io/uniffi-rs"
++keywords = [
++ "ffi",
++ "bindgen",
++]
++license = "MPL-2.0"
++repository = "https://github.com/mozilla/uniffi-rs"
++
++[lib]
++proc-macro = true
++
++[dependencies.quote]
++version = "1.0"
++
++[dependencies.syn]
++version = "1.0"
++features = [
++ "derive",
++ "parsing",
++]
++
++[features]
++default = []
++nightly = []
+diff --git a/third_party/rust/uniffi_checksum_derive/src/lib.rs b/third_party/rust/uniffi_checksum_derive/src/lib.rs
+new file mode 100644
+--- /dev/null
++++ b/third_party/rust/uniffi_checksum_derive/src/lib.rs
+@@ -0,0 +1,134 @@
++/* This Source Code Form is subject to the terms of the Mozilla Public
++ * License, v. 2.0. If a copy of the MPL was not distributed with this
++ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
++#![cfg_attr(feature = "nightly", feature(proc_macro_expand))]
++
++//! Custom derive for uniffi_meta::Checksum
++
++use proc_macro::TokenStream;
++use quote::{format_ident, quote};
++use syn::{parse_macro_input, Attribute, Data, DeriveInput, Expr, ExprLit, Fields, Index, Lit};
++
++fn has_ignore_attribute(attrs: &[Attribute]) -> bool {
++ attrs.iter().any(|attr| {
++ if attr.path.is_ident("checksum_ignore") {
++ if !attr.tokens.is_empty() {
++ panic!("#[checksum_ignore] doesn't accept extra information");
++ }
++ true
++ } else {
++ false
++ }
++ })
++}
++
++#[proc_macro_derive(Checksum, attributes(checksum_ignore))]
++pub fn checksum_derive(input: TokenStream) -> TokenStream {
++ let input: DeriveInput = parse_macro_input!(input);
++
++ let name = input.ident;
++
++ let (impl_generics, ty_generics, where_clause) = input.generics.split_for_impl();
++
++ let code = match input.data {
++ Data::Enum(enum_)
++ if enum_.variants.len() == 1
++ && enum_
++ .variants
++ .iter()
++ .all(|variant| matches!(variant.fields, Fields::Unit)) =>
++ {
++ quote!()
++ }
++ Data::Enum(enum_) => {
++ let mut next_discriminant = 0u64;
++ let match_inner = enum_.variants.iter().map(|variant| {
++ let ident = &variant.ident;
++ if has_ignore_attribute(&variant.attrs) {
++ panic!("#[checksum_ignore] is not supported in enums");
++ }
++ match &variant.discriminant {
++ Some((_, Expr::Lit(ExprLit { lit: Lit::Int(value), .. }))) => {
++ next_discriminant = value.base10_parse::<u64>().unwrap();
++ }
++ Some(_) => {
++ panic!("#[derive(Checksum)] doesn't support non-numeric explicit discriminants in enums");
++ }
++ None => {}
++ }
++ let discriminant = quote! { state.write(&#next_discriminant.to_le_bytes()) };
++ next_discriminant += 1;
++ match &variant.fields {
++ Fields::Unnamed(fields) => {
++ let field_idents = fields
++ .unnamed
++ .iter()
++ .enumerate()
++ .map(|(num, _)| format_ident!("__self_{}", num));
++ let field_stmts = field_idents
++ .clone()
++ .map(|ident| quote! { Checksum::checksum(#ident, state); });
++ quote! {
++ Self::#ident(#(#field_idents,)*) => {
++ #discriminant;
++ #(#field_stmts)*
++ }
++ }
++ }
++ Fields::Named(fields) => {
++ let field_idents = fields
++ .named
++ .iter()
++ .map(|field| field.ident.as_ref().unwrap());
++ let field_stmts = field_idents
++ .clone()
++ .map(|ident| quote! { Checksum::checksum(#ident, state); });
++ quote! {
++ Self::#ident { #(#field_idents,)* } => {
++ #discriminant;
++ #(#field_stmts)*
++ }
++ }
++ }
++ Fields::Unit => quote! { Self::#ident => #discriminant, },
++ }
++ });
++ quote! {
++ match self {
++ #(#match_inner)*
++ }
++ }
++ }
++ Data::Struct(struct_) => {
++ let stmts = struct_
++ .fields
++ .iter()
++ .enumerate()
++ .filter_map(|(num, field)| {
++ (!has_ignore_attribute(&field.attrs)).then(|| match field.ident.as_ref() {
++ Some(ident) => quote! { Checksum::checksum(&self.#ident, state); },
++ None => {
++ let i = Index::from(num);
++ quote! { Checksum::checksum(&self.#i, state); }
++ }
++ })
++ });
++ quote! {
++ #(#stmts)*
++ }
++ }
++ Data::Union(_) => {
++ panic!("#[derive(Checksum)] is not supported for unions");
++ }
++ };
++
++ quote! {
++ #[automatically_derived]
++ impl #impl_generics Checksum for #name #ty_generics #where_clause {
++ fn checksum<__H: ::core::hash::Hasher>(&self, state: &mut __H) {
++ #code
++ }
++ }
++ }
++ .into()
++}
+diff --git a/third_party/rust/uniffi_macros/.cargo-checksum.json b/third_party/rust/uniffi_macros/.cargo-checksum.json
+--- a/third_party/rust/uniffi_macros/.cargo-checksum.json
++++ b/third_party/rust/uniffi_macros/.cargo-checksum.json
+@@ -1 +1 @@
+-{"files":{"Cargo.toml":"55f7e114dd34b0c60b58890120f8707601a5401e9d49d42a239b03da2e660d4f","src/export.rs":"e23929cf6fb5542d29514fe668f3b3d836fad968eacd9c6fcba74c5cd9cf2b61","src/export/metadata.rs":"af89a9942c7c0c4043a3cd57d1e6bd71cde19005e1f9f246efac761f47eff6be","src/export/metadata/convert.rs":"81060fb3390165d77db021f44142a2f3f10882515f859d7393857083370f2d35","src/export/metadata/function.rs":"11833cabd37e7671c0a01944bec73b8892a15df814bbe4c26fdae57aad89a2ba","src/export/metadata/impl_.rs":"ecfdaa132f05dd946414281e52165ef19c90c0bfd76ec651d4ec86837bd41d1c","src/export/scaffolding.rs":"66939405063e56fc983126f249e2d7ddc3257cb045a738abd0cf813a4aafc59c","src/lib.rs":"ca77b437a58cfb3ddeb106d3c1c8378545c46ef241298e62ab1190c5136d1fb1","src/object.rs":"955b596f344304013692042bdc1760bbb1192ec33950b0dd2932cb8de94ec297","src/record.rs":"67a5c7ed6a448f7ad8f5c8e930c5e3007b2b0cac32f52cc8596bdae6fb3c816e","src/util.rs":"6389a9b4258808a3af168cf85658fb7c069172d5e528ee0e94210fa664f2a414"},"package":"5c8604503caa2cbcf271578dc51ca236d40e3b22e1514ffa2e638e2c39f6ad10"}
+\ No newline at end of file
++{"files":{"Cargo.toml":"6511b493b676ac3941d70477c91abec62642c3c9aab088ecdf4f733eef3f1faa","src/export.rs":"e23929cf6fb5542d29514fe668f3b3d836fad968eacd9c6fcba74c5cd9cf2b61","src/export/metadata.rs":"af89a9942c7c0c4043a3cd57d1e6bd71cde19005e1f9f246efac761f47eff6be","src/export/metadata/convert.rs":"81060fb3390165d77db021f44142a2f3f10882515f859d7393857083370f2d35","src/export/metadata/function.rs":"11833cabd37e7671c0a01944bec73b8892a15df814bbe4c26fdae57aad89a2ba","src/export/metadata/impl_.rs":"ecfdaa132f05dd946414281e52165ef19c90c0bfd76ec651d4ec86837bd41d1c","src/export/scaffolding.rs":"66939405063e56fc983126f249e2d7ddc3257cb045a738abd0cf813a4aafc59c","src/lib.rs":"ca77b437a58cfb3ddeb106d3c1c8378545c46ef241298e62ab1190c5136d1fb1","src/object.rs":"955b596f344304013692042bdc1760bbb1192ec33950b0dd2932cb8de94ec297","src/record.rs":"67a5c7ed6a448f7ad8f5c8e930c5e3007b2b0cac32f52cc8596bdae6fb3c816e","src/util.rs":"6389a9b4258808a3af168cf85658fb7c069172d5e528ee0e94210fa664f2a414"},"package":"c96a574677566f83ea8458dac1dd7792fd63e7c3f9dbcd865f0e8d6f8057b127"}
+\ No newline at end of file
+diff --git a/third_party/rust/uniffi_macros/Cargo.toml b/third_party/rust/uniffi_macros/Cargo.toml
+--- a/third_party/rust/uniffi_macros/Cargo.toml
++++ b/third_party/rust/uniffi_macros/Cargo.toml
+@@ -10,22 +10,21 @@
+ # See Cargo.toml.orig for the original contents.
+
+ [package]
+ edition = "2021"
+ name = "uniffi_macros"
+-version = "0.21.0"
++version = "0.21.1"
+ authors = ["Firefox Sync Team <sync-team(a)mozilla.com>"]
+ description = "a multi-language bindings generator for rust (convenience macros)"
+ homepage = "https://mozilla.github.io/uniffi-rs"
+ documentation = "https://mozilla.github.io/uniffi-rs"
+ keywords = [
+ "ffi",
+ "bindgen",
+ ]
+ license = "MPL-2.0"
+ repository = "https://github.com/mozilla/uniffi-rs"
+-resolver = "2"
+
+ [lib]
+ proc-macro = true
+
+ [dependencies.bincode]
+@@ -58,14 +57,14 @@
+
+ [dependencies.toml]
+ version = "0.5.9"
+
+ [dependencies.uniffi_build]
+-version = "=0.21.0"
++version = "=0.21.1"
+
+ [dependencies.uniffi_meta]
+-version = "=0.21.0"
++version = "=0.21.1"
+
+ [features]
+ builtin-bindgen = ["uniffi_build/builtin-bindgen"]
+ default = []
+ nightly = []
+diff --git a/third_party/rust/uniffi_meta/.cargo-checksum.json b/third_party/rust/uniffi_meta/.cargo-checksum.json
+--- a/third_party/rust/uniffi_meta/.cargo-checksum.json
++++ b/third_party/rust/uniffi_meta/.cargo-checksum.json
+@@ -1 +1 @@
+-{"files":{"Cargo.toml":"4a474782b3acac7e99435c0cfc6cd4790817ee5c15980b10dc927d95795b977f","src/lib.rs":"dc4c91763c01e8c09ef55cdb103bc02c7aba71c5660ba88f776a8a03a747d6e8"},"package":"cd9417cc653937681436b93838d8c5f97a5b8c58697813982ee8810bd1dc3b57"}
+\ No newline at end of file
++{"files":{"Cargo.toml":"4c34032ec5fadf8b996c671425d5afa38e0e5c223ab0b2ed3b44099fb78157d3","src/lib.rs":"a9854421f120e1c4a9d7d36bb006a4c5e7d2e054564f95aa9b6956e7ebb348fd"},"package":"729835442da829c9b6f7c111c76cf87b2498e129101203bec94f0c39a3296a38"}
+\ No newline at end of file
+diff --git a/third_party/rust/uniffi_meta/Cargo.toml b/third_party/rust/uniffi_meta/Cargo.toml
+--- a/third_party/rust/uniffi_meta/Cargo.toml
++++ b/third_party/rust/uniffi_meta/Cargo.toml
+@@ -10,19 +10,24 @@
+ # See Cargo.toml.orig for the original contents.
+
+ [package]
+ edition = "2021"
+ name = "uniffi_meta"
+-version = "0.21.0"
++version = "0.21.1"
+ description = "uniffi_meta"
+ homepage = "https://mozilla.github.io/uniffi-rs"
+ keywords = [
+ "ffi",
+ "bindgen",
+ ]
+ license = "MPL-2.0"
+ repository = "https://github.com/mozilla/uniffi-rs"
+-resolver = "2"
+
+ [dependencies.serde]
+ version = "1.0.136"
+ features = ["derive"]
++
++[dependencies.siphasher]
++version = "0.3"
++
++[dependencies.uniffi_checksum_derive]
++version = "0.21.0"
+diff --git a/third_party/rust/uniffi_meta/src/lib.rs b/third_party/rust/uniffi_meta/src/lib.rs
+--- a/third_party/rust/uniffi_meta/src/lib.rs
++++ b/third_party/rust/uniffi_meta/src/lib.rs
+@@ -1,17 +1,87 @@
+ /* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+-use std::{
+- collections::hash_map::DefaultHasher,
+- hash::{Hash, Hasher},
+-};
++use std::hash::Hasher;
++pub use uniffi_checksum_derive::Checksum;
+
+ use serde::{Deserialize, Serialize};
+
+-#[derive(Clone, Debug, Hash, Deserialize, Serialize)]
++/// Similar to std::hash::Hash.
++///
++/// Implementations of this trait are expected to update the hasher state in
++/// the same way across platforms. #[derive(Checksum)] will do the right thing.
++pub trait Checksum {
++ fn checksum<H: Hasher>(&self, state: &mut H);
++}
++
++impl Checksum for bool {
++ fn checksum<H: Hasher>(&self, state: &mut H) {
++ state.write_u8(*self as u8);
++ }
++}
++
++impl Checksum for u64 {
++ fn checksum<H: Hasher>(&self, state: &mut H) {
++ state.write(&self.to_le_bytes());
++ }
++}
++
++impl Checksum for i64 {
++ fn checksum<H: Hasher>(&self, state: &mut H) {
++ state.write(&self.to_le_bytes());
++ }
++}
++
++impl<T: Checksum> Checksum for Box<T> {
++ fn checksum<H: Hasher>(&self, state: &mut H) {
++ (**self).checksum(state)
++ }
++}
++
++impl<T: Checksum> Checksum for [T] {
++ fn checksum<H: Hasher>(&self, state: &mut H) {
++ state.write(&(self.len() as u64).to_le_bytes());
++ for item in self {
++ Checksum::checksum(item, state);
++ }
++ }
++}
++
++impl<T: Checksum> Checksum for Vec<T> {
++ fn checksum<H: Hasher>(&self, state: &mut H) {
++ Checksum::checksum(&**self, state);
++ }
++}
++
++impl<T: Checksum> Checksum for Option<T> {
++ fn checksum<H: Hasher>(&self, state: &mut H) {
++ match self {
++ None => state.write(&0u64.to_le_bytes()),
++ Some(value) => {
++ state.write(&1u64.to_le_bytes());
++ Checksum::checksum(value, state)
++ }
++ }
++ }
++}
++
++impl Checksum for str {
++ fn checksum<H: Hasher>(&self, state: &mut H) {
++ state.write(self.as_bytes());
++ state.write_u8(0xff);
++ }
++}
++
++impl Checksum for String {
++ fn checksum<H: Hasher>(&self, state: &mut H) {
++ (**self).checksum(state)
++ }
++}
++
++#[derive(Clone, Debug, Checksum, Deserialize, Serialize)]
+ pub struct FnMetadata {
+ pub module_path: Vec<String>,
+ pub name: String,
+ pub inputs: Vec<FnParamMetadata>,
+ pub return_type: Option<Type>,
+@@ -21,11 +91,11 @@
+ pub fn ffi_symbol_name(&self) -> String {
+ fn_ffi_symbol_name(&self.module_path, &self.name, checksum(self))
+ }
+ }
+
+-#[derive(Clone, Debug, Hash, Deserialize, Serialize)]
++#[derive(Clone, Debug, Checksum, Deserialize, Serialize)]
+ pub struct MethodMetadata {
+ pub module_path: Vec<String>,
+ pub self_name: String,
+ pub name: String,
+ pub inputs: Vec<FnParamMetadata>,
+@@ -37,18 +107,18 @@
+ let full_name = format!("impl_{}_{}", self.self_name, self.name);
+ fn_ffi_symbol_name(&self.module_path, &full_name, checksum(self))
+ }
+ }
+
+-#[derive(Clone, Debug, Hash, Deserialize, Serialize)]
++#[derive(Clone, Debug, Checksum, Deserialize, Serialize)]
+ pub struct FnParamMetadata {
+ pub name: String,
+ #[serde(rename = "type")]
+ pub ty: Type,
+ }
+
+-#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Deserialize, Serialize)]
++#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Checksum, Deserialize, Serialize)]
+ pub enum Type {
+ U8,
+ U16,
+ U32,
+ U64,
+@@ -76,25 +146,25 @@
+ Unresolved {
+ name: String,
+ },
+ }
+
+-#[derive(Clone, Debug, Hash, Deserialize, Serialize)]
++#[derive(Clone, Debug, Checksum, Deserialize, Serialize)]
+ pub struct RecordMetadata {
+ pub module_path: Vec<String>,
+ pub name: String,
+ pub fields: Vec<FieldMetadata>,
+ }
+
+-#[derive(Clone, Debug, Hash, Deserialize, Serialize)]
++#[derive(Clone, Debug, Checksum, Deserialize, Serialize)]
+ pub struct FieldMetadata {
+ pub name: String,
+ #[serde(rename = "type")]
+ pub ty: Type,
+ }
+
+-#[derive(Clone, Debug, Hash, Deserialize, Serialize)]
++#[derive(Clone, Debug, Checksum, Deserialize, Serialize)]
+ pub struct ObjectMetadata {
+ pub module_path: Vec<String>,
+ pub name: String,
+ }
+
+@@ -106,27 +176,27 @@
+ let free_name = format!("object_free_{}", self.name);
+ fn_ffi_symbol_name(&self.module_path, &free_name, checksum(self))
+ }
+ }
+
+-/// Returns the last 16 bits of the value's hash as computed with [`DefaultHasher`].
++/// Returns the last 16 bits of the value's hash as computed with [`SipHasher13`].
+ ///
+ /// To be used as a checksum of FFI symbols, as a safeguard against different UniFFI versions being
+ /// used for scaffolding and bindings generation.
+-pub fn checksum<T: Hash>(val: &T) -> u16 {
+- let mut hasher = DefaultHasher::new();
+- val.hash(&mut hasher);
++pub fn checksum<T: Checksum>(val: &T) -> u16 {
++ let mut hasher = siphasher::sip::SipHasher13::new();
++ val.checksum(&mut hasher);
+ (hasher.finish() & 0x000000000000FFFF) as u16
+ }
+
+ pub fn fn_ffi_symbol_name(mod_path: &[String], name: &str, checksum: u16) -> String {
+ let mod_path = mod_path.join("__");
+ format!("_uniffi_{mod_path}_{name}_{checksum:x}")
+ }
+
+ /// Enum covering all the possible metadata types
+-#[derive(Clone, Debug, Hash, Deserialize, Serialize)]
++#[derive(Clone, Debug, Checksum, Deserialize, Serialize)]
+ pub enum Metadata {
+ Func(FnMetadata),
+ Method(MethodMetadata),
+ Record(RecordMetadata),
+ Object(ObjectMetadata),
+
diff --git a/firefox.spec b/firefox.spec
index aa1d967..c3d5f02 100644
--- a/firefox.spec
+++ b/firefox.spec
@@ -6,11 +6,6 @@
# https://bugzilla.redhat.com/show_bug.cgi?id=2129720
ExcludeArch: i686
-# Disabled due to build failures:
-# https://bugzilla.redhat.com/show_bug.cgi?id=2153213
-ExcludeArch: s390x
-ExcludeArch: armv7hl
-
# Run Mozilla test suite as a part of compile rpm section. Turn off when
# building locally and don't want to spend 24 hours waiting for results.
%global run_firefox_tests 0
@@ -178,7 +173,7 @@ ExcludeArch: armv7hl
Summary: Mozilla Firefox Web browser
Name: firefox
Version: 108.0.1
-Release: 2%{?pre_tag}%{?dist}
+Release: 3%{?pre_tag}%{?dist}
URL: https://www.mozilla.org/firefox/
License: MPLv1.1 or GPLv2+ or LGPLv2+
Source0: https://archive.mozilla.org/pub/firefox/releases/%{version}%{?pre_version...
@@ -258,6 +253,7 @@ Patch415: mozilla-1670333.patch
Patch416: D163696.diff
Patch417: D163697.diff
Patch418: D163698.diff
+Patch419: D164896.diff
# PGO/LTO patches
Patch600: pgo.patch
@@ -536,6 +532,7 @@ This package contains results of tests executed during build.
%patch416 -p1 -b .D163696
%patch417 -p1 -b .D163697
%patch418 -p1 -b .D163698
+%patch419 -p1 -b .D164896
# PGO patches
%if %{build_with_pgo}
@@ -1138,6 +1135,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
#---------------------------------------------------------------------
%changelog
+* Wed Dec 21 2022 Martin Stransky <stransky(a)redhat.com>- 108.0.1-3
+- Added second arch build fix
+
* Wed Dec 21 2022 Martin Stransky <stransky(a)redhat.com>- 108.0.1-2
- Added mozbz#1795851 [wayland] Crash buffer size (170x113)
is not divisible by scale (2)
1 year, 4 months
[Report] Packages Restricting Arches
by root
Package no longer excluding arches (21)
==================================
- rust-automod
- rust-bitmaps
- rust-dissimilar
- rust-dyn-clone
- rust-erased-serde
- rust-ghost
- rust-indoc
- rust-itoa
- rust-link-cplusplus
- rust-prettyplease
- rust-proptest-derive
- rust-quote
- rust-rustversion
- rust-ryu
- rust-semver
- rust-serde_bytes
- rust-serde_ignored
- rust-serde_repr
- rust-serde_stacker
- rust-unindent
- rust-unsafe-libyaml
List of packages currently excluding arches (2577)
===========================================
- 0ad
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- 90-Second-Portraits
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- BareBonesBrowserLaunch
ExclusiveArch: %{java_arches} noarch
- CFR
ExclusiveArch: %{java_arches} noarch
- CardManager
ExclusiveArch: %{java_arches} noarch
- GAPDoc
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- GoldenCheetah
ExclusiveArch: %{qt5_qtwebengine_arches}
- GtkAda
ExclusiveArch: %{GPRbuild_arches}
- GtkAda3
ExclusiveArch: %{GPRbuild_arches}
- IPAddress
ExclusiveArch: %{java_arches} noarch
- Mars
ExclusiveArch: %{java_arches} noarch
- OpenColorIO
ExclusiveArch: x86_64 ppc64le
- OpenImageIO
ExclusiveArch: x86_64 ppc64le
- OpenMolcas
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- OpenStego
ExclusiveArch: %{java_arches} noarch
- PragmARC
ExclusiveArch: %{GPRbuild_arches}
- R-V8
ExclusiveArch: %{nodejs_arches}
- R-rJava
ExclusiveArch: %{java_arches}
- RdRand
ExclusiveArch: %{ix86} x86_64
- RediSearch
ExclusiveArch: x86_64
- SLOF
ExclusiveArch: ppc64le
- YafaRay
ExclusiveArch: %{ix86} x86_64
- aardvark-dns
ExclusiveArch: %{rust_arches}
- aboot
ExclusiveArch: alpha
- accel-config
ExclusiveArch: %{ix86} x86_64
- acpid
ExclusiveArch: ia64 x86_64 %{ix86} %{arm} aarch64
- ahven
ExclusiveArch: %{GPRbuild_arches}
- algobox
ExclusiveArch: %{qt5_qtwebengine_arches}
- alleyoop
ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le s390x %{arm} aarch64
- american-fuzzy-lop
ExclusiveArch: %{ix86} x86_64 s390x
- anet
ExclusiveArch: %{GPRbuild_arches}
- anki
ExclusiveArch: %{qt5_qtwebengine_arches} noarch
- ant
ExclusiveArch: %{java_arches} noarch
- ant-antunit
ExclusiveArch: %{java_arches} noarch
- antlr
ExclusiveArch: %{java_arches}
- antlr-maven-plugin
ExclusiveArch: %{java_arches} noarch
- antlr3
ExclusiveArch: %{java_arches}
- antlr32
ExclusiveArch: %{java_arches} noarch
- antlr4-project
ExclusiveArch: %{java_arches}
- antlrworks
ExclusiveArch: %{java_arches} noarch
- aopalliance
ExclusiveArch: %{java_arches} noarch
- apache-commons-beanutils
ExclusiveArch: %{java_arches} noarch
- apache-commons-cli
ExclusiveArch: %{java_arches} noarch
- apache-commons-codec
ExclusiveArch: %{java_arches} noarch
- apache-commons-collections
ExclusiveArch: %{java_arches} noarch
- apache-commons-collections4
ExclusiveArch: %{java_arches} noarch
- apache-commons-compress
ExclusiveArch: %{java_arches} noarch
- apache-commons-digester
ExclusiveArch: %{java_arches} noarch
- apache-commons-exec
ExclusiveArch: %{java_arches} noarch
- apache-commons-fileupload
ExclusiveArch: %{java_arches} noarch
- apache-commons-io
ExclusiveArch: %{java_arches} noarch
- apache-commons-jxpath
ExclusiveArch: %{java_arches} noarch
- apache-commons-lang3
ExclusiveArch: %{java_arches} noarch
- apache-commons-logging
ExclusiveArch: %{java_arches} noarch
- apache-commons-math
ExclusiveArch: %{java_arches} noarch
- apache-commons-modeler
ExclusiveArch: %{java_arches} noarch
- apache-commons-net
ExclusiveArch: %{java_arches} noarch
- apache-commons-parent
ExclusiveArch: %{java_arches} noarch
- apache-commons-pool
ExclusiveArch: %{java_arches} noarch
- apache-ivy
ExclusiveArch: %{java_arches} noarch
- apache-parent
ExclusiveArch: %{java_arches} noarch
- apache-resource-bundles
ExclusiveArch: %{java_arches} noarch
- apache-sshd
ExclusiveArch: %{java_arches} noarch
- apiguardian
ExclusiveArch: %{java_arches} noarch
- apmd
ExclusiveArch: %{ix86}
- appstream-generator
ExclusiveArch: %{ldc_arches}
- aqute-bnd
ExclusiveArch: %{java_arches} noarch
- args4j
ExclusiveArch: %{java_arches} noarch
- arm-trusted-firmware
ExclusiveArch: aarch64
- assertj-core
ExclusiveArch: %{java_arches} noarch
- atinject
ExclusiveArch: %{java_arches} noarch
- aunit
ExclusiveArch: %GPRbuild_arches
- auto
ExclusiveArch: %{java_arches} noarch
- avgtime
ExclusiveArch: %{ldc_arches}
- aws
ExclusiveArch: %GPRbuild_arches
- azure-cli
ExclusiveArch: %{java_arches} noarch
- batik
ExclusiveArch: %{java_arches} noarch
- bcal
ExclusiveArch: x86_64 aarch64 ia64 ppc64 ppc64le s390x
- bcc
ExclusiveArch: x86_64 %{power64} aarch64 s390x armv7hl
- bcel
ExclusiveArch: %{java_arches} noarch
- bcm283x-firmware
ExclusiveArch: %{arm} aarch64
- beansbinding
ExclusiveArch: %{java_arches} noarch
- belle-sip
ExclusiveArch: %{java_arches}
- berusky2
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{mips}
- beust-jcommander
ExclusiveArch: %{java_arches} noarch
- biosdevname
ExclusiveArch: %{ix86} x86_64
- blender
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- bless
ExclusiveArch: %mono_arches
- bolzplatz2006
ExclusiveArch: %{java_arches}
- bouncycastle
ExclusiveArch: %{java_arches} noarch
- bpftrace
ExclusiveArch: x86_64 %{power64} aarch64 s390x
- brazil
ExclusiveArch: %{java_arches} noarch
- bsf
ExclusiveArch: %{java_arches} noarch
- bsh
ExclusiveArch: %{java_arches} noarch
- buildah
ExclusiveArch: %{golang_arches}
- buildnumber-maven-plugin
ExclusiveArch: %{java_arches} noarch
- byte-buddy
ExclusiveArch: %{java_arches} noarch
- byteman
ExclusiveArch: %{java_arches} noarch
- cachelib
ExclusiveArch: x86_64 aarch64 ppc64le
- calamares
ExclusiveArch: %{ix86} x86_64 aarch64
- calibre
ExclusiveArch: %{qt5_qtwebengine_arches}
- cambozola
ExclusiveArch: %{java_arches} noarch
- canl-java
ExclusiveArch: %{java_arches} noarch
- ccdciel
ExclusiveArch: %{fpc_arches}
- cdcollect
ExclusiveArch: %{mono_arches}
- cdi-api
ExclusiveArch: %{java_arches} noarch
- ceph
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- cglib
ExclusiveArch: %{java_arches} noarch
- chromium
ExclusiveArch: x86_64 i686
ExclusiveArch: x86_64 aarch64
ExclusiveArch: x86_64 i686 aarch64
- cjdns
ExclusiveArch: %{nodejs_arches}
- classloader-leak-test-framework
ExclusiveArch: %{java_arches} noarch
- classpathless-compiler
ExclusiveArch: %{java_arches} noarch
- clevis-pin-tpm2
ExclusiveArch: %{rust_arches}
- clojure
ExclusiveArch: %{java_arches} noarch
- clojure-core-specs-alpha
ExclusiveArch: %{java_arches} noarch
- clojure-maven-plugin
ExclusiveArch: %{java_arches} noarch
- clojure-spec-alpha
ExclusiveArch: %{java_arches} noarch
- cmospwd
ExclusiveArch: %{ix86} x86_64
- cmrt
ExclusiveArch: %{ix86} x86_64 ia64
- codehaus-parent
ExclusiveArch: %{java_arches} noarch
- coffee-script
ExclusiveArch: %{nodejs_arches} noarch
- colorful
ExclusiveArch: %{fpc_arches}
- colossus
ExclusiveArch: %{java_arches} noarch
- conmon
ExclusiveArch: %{go_arches}
- console-image-viewer
ExclusiveArch: %{java_arches} noarch
- containernetworking-plugins
ExclusiveArch: %{golang_arches}
- coq
ExclusiveArch: %{java_arches}
- cortado
ExclusiveArch: %{java_arches} noarch
- cpu-x
ExclusiveArch: i686 x86_64
- cpufetch
ExclusiveArch: %{arm} aarch64 x86_64 ppc ppc64 ppc64le
- cpuid
ExclusiveArch: %{ix86} x86_64
- cqrlog
ExclusiveArch: %{fpc_arches}
- crash
ExclusiveArch: %{ix86} ia64 x86_64 ppc ppc64 s390 s390x %{arm} aarch64 ppc64le
- crash-gcore-command
ExclusiveArch: aarch64 ppc64le x86_64
- crash-trace-command
ExclusiveArch: aarch64 ppc64le s390x x86_64
- cri-o
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- cri-tools
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- criu
ExclusiveArch: x86_64 %{arm} ppc64le aarch64 s390x
- crun
ExclusiveArch: %{golang_arches}
- cryptlib
ExclusiveArch: x86_64 aarch64 ppc64le
- crypto-policies
ExclusiveArch: %{java_arches} noarch
- cryptobone
ExclusiveArch: x86_64 ppc64le aarch64
- csslint
ExclusiveArch: %{nodejs_arches} noarch
- cvc4
ExclusiveArch: %{java_arches}
- daq
ExclusiveArch: x86_64 aarch64
- dbus-parsec
ExclusiveArch: %{rust_arches}
- dbus-sharp
ExclusiveArch: %mono_arches
- dbus-sharp-glib
ExclusiveArch: %mono_arches
- decentxml
ExclusiveArch: %{java_arches} noarch
- deepin-daemon
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- deepin-desktop-schemas
ExclusiveArch: %{go_arches}
- directory-maven-plugin
ExclusiveArch: %{java_arches} noarch
- dirgra
ExclusiveArch: %{java_arches} noarch
- disruptor
ExclusiveArch: %{java_arches} noarch
- ditaa
ExclusiveArch: %{java_arches} noarch
- dlm
ExclusiveArch: i686 x86_64
- dmidecode
ExclusiveArch: %{ix86} x86_64 ia64 aarch64
- dmtcp
ExclusiveArch: x86_64
- docker-distribution
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- dolphin-emu
ExclusiveArch: x86_64 aarch64
- dom4j
ExclusiveArch: %{java_arches} noarch
- dotnet6.0
ExclusiveArch: aarch64 x86_64 s390x
ExclusiveArch: x86_64
- doublecmd
ExclusiveArch: %{ix86} x86_64
- dpdk
ExclusiveArch: x86_64 i686 aarch64 ppc64le
- dub
ExclusiveArch: %{ldc_arches}
- dxvk-native
ExclusiveArch: %{ix86} x86_64
- dyninst
ExclusiveArch: %{ix86} x86_64 ppc64le aarch64
- e3
ExclusiveArch: %{ix86} x86_64
- easymock
ExclusiveArch: %{java_arches} noarch
- ecj
ExclusiveArch: %{java_arches} noarch
- eclipse-swt
ExclusiveArch: %{java_arches}
- ed25519-java
ExclusiveArch: %{java_arches} noarch
- edk2
ExclusiveArch: x86_64 aarch64
- efibootmgr
ExclusiveArch: %{efi}
- efifs
ExclusiveArch: %{efi}
- efitools
ExclusiveArch: %{efi}
- efivar
ExclusiveArch: %{efi}
- elk
ExclusiveArch: x86_64 %{ix86}
ExclusiveArch: x86_64 %{ix86} aarch64 %{arm} %{power64}
- emacs-slime
ExclusiveArch: %{arm} %{ix86} x86_64 ppc sparcv9 aarch64
- embree
ExclusiveArch: aarch64 x86_64
- enjarify
ExclusiveArch: %{java_arches} noarch
- enki
ExclusiveArch: %{qt5_qtwebengine_arches} noarch
- envytools
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- eric
ExclusiveArch: %{qt5_qtwebengine_arches} noarch
- erlang-corba
ExclusiveArch: %{java_arches}
- eth-tools
ExclusiveArch: x86_64
- exec-maven-plugin
ExclusiveArch: %{java_arches} noarch
- external-editor-revived
ExclusiveArch: %{rust_arches}
- extra-enforcer-rules
ExclusiveArch: %{java_arches} noarch
- fasterxml-oss-parent
ExclusiveArch: %{java_arches} noarch
- fb303
ExclusiveArch: x86_64 aarch64 ppc64le
- fbthrift
ExclusiveArch: x86_64 aarch64 ppc64le
- fcitx-libpinyin
ExclusiveArch: %{qt5_qtwebengine_arches}
- fedora-dockerfiles
ExclusiveArch: %{go_arches}
- felix-parent
ExclusiveArch: %{java_arches} noarch
- felix-utils
ExclusiveArch: %{java_arches} noarch
- fernflower
ExclusiveArch: %{java_arches} noarch
- fes
ExclusiveArch: %{ix86} x86_64
- filedrop
ExclusiveArch: %{java_arches} noarch
- fishbowl
ExclusiveArch: %{java_arches} noarch
- fizz
ExclusiveArch: x86_64 aarch64 ppc64le
- flocq
ExclusiveArch: %{java_arches}
- florist
ExclusiveArch: %{GPRbuild_arches}
- fluent-bit
ExclusiveArch: x86_64 aarch64
- flute
ExclusiveArch: %{java_arches} noarch
- folly
ExclusiveArch: x86_64 aarch64 ppc64le
- fop
ExclusiveArch: %{java_arches} noarch
- forge-parent
ExclusiveArch: %{java_arches} noarch
- fpc
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64 ppc64le
- frama-c
ExclusiveArch: %{java_arches}
- freecol
ExclusiveArch: %{java_arches} noarch
- freemarker
ExclusiveArch: %{java_arches} noarch
- freerouting
ExclusiveArch: %{java_arches} noarch
- frescobaldi
ExclusiveArch: %{qt5_qtwebengine_arches}
- frysk
ExclusiveArch: x86_64 ppc64
- fusesource-pom
ExclusiveArch: %{java_arches} noarch
- fwts
ExclusiveArch: x86_64 %{arm} aarch64 s390x riscv64 %{power64}
- fwupd-efi
ExclusiveArch: x86_64 aarch64
- ga
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- gap-pkg-ace
ExclusiveArch: aarch64 ppc64le s390x x86_64
- gap-pkg-aclib
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-alnuth
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-atlasrep
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-autodoc
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-automata
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-autpgrp
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-browse
ExclusiveArch: aarch64 ppc64le s390x x86_64
- gap-pkg-caratinterface
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-circle
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-cohomolo
ExclusiveArch: aarch64 ppc64le s390x x86_64
- gap-pkg-congruence
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-corelg
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-crime
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-crisp
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-crypting
ExclusiveArch: aarch64 ppc64le s390x x86_64
- gap-pkg-cryst
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-crystcat
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-ctbllib
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-curlinterface
ExclusiveArch: aarch64 ppc64le s390x x86_64
- gap-pkg-cvec
ExclusiveArch: aarch64 ppc64le s390x x86_64
- gap-pkg-datastructures
ExclusiveArch: aarch64 ppc64le s390x x86_64
- gap-pkg-design
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-digraphs
ExclusiveArch: aarch64 ppc64le s390x x86_64
- gap-pkg-edim
ExclusiveArch: aarch64 ppc64le s390x x86_64
- gap-pkg-factint
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-ferret
ExclusiveArch: aarch64 ppc64le s390x x86_64
- gap-pkg-fga
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-fining
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-float
ExclusiveArch: aarch64 ppc64le s390x x86_64
- gap-pkg-format
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-forms
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-fr
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-francy
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-gbnp
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-genss
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-grape
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-groupoids
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-grpconst
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-guava
ExclusiveArch: aarch64 ppc64le s390x x86_64
- gap-pkg-hap
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-hapcryst
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-hecke
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch noarch
- gap-pkg-images
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-io
ExclusiveArch: aarch64 ppc64le s390x x86_64
- gap-pkg-irredsol
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-json
ExclusiveArch: aarch64 ppc64le s390x x86_64
- gap-pkg-jupyterkernel
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-jupyterviz
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-laguna
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-liealgdb
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-liepring
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-liering
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-loops
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-lpres
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-mapclass
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-nautytracesinterface
ExclusiveArch: aarch64 ppc64le s390x x86_64
- gap-pkg-nq
ExclusiveArch: aarch64 ppc64le s390x x86_64
- gap-pkg-openmath
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-orb
ExclusiveArch: aarch64 ppc64le s390x x86_64
- gap-pkg-polenta
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-polycyclic
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-polymaking
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-primgrp
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-profiling
ExclusiveArch: aarch64 ppc64le s390x x86_64
- gap-pkg-qpa
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-quagroup
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-radiroot
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-recog
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-repsn
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-resclasses
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-scscp
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-semigroups
ExclusiveArch: aarch64 ppc64le s390x x86_64
- gap-pkg-singular
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-sla
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-smallgrp
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-smallsemi
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-sonata
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-sophus
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-spinsym
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-standardff
ExclusiveArch: aarch64 ppc64le s390x x86_64
- gap-pkg-tomlib
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-toric
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-transgrp
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-utils
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-uuid
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-xmod
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-zeromqinterface
ExclusiveArch: aarch64 ppc64le s390x x86_64
- gappalib-coq
ExclusiveArch: %{java_arches}
- gbrainy
ExclusiveArch: %mono_arches
- gdb
ExclusiveArch: %{ix86} x86_64
- gdb-exploitable
ExclusiveArch: x86_64 i386
ExclusiveArch: x86_64 noarch
- gearhead1
ExclusiveArch: %{fpc_arches}
- gearhead2
ExclusiveArch: %{fpc_arches}
- ghdl
ExclusiveArch: %{GNAT_arches}
- ghostwriter
ExclusiveArch: %{qt5_qtwebengine_arches}
- gio-sharp
ExclusiveArch: %mono_arches
- gir-to-d
ExclusiveArch: %{ldc_arches}
- git-octopus
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- gitqlient
ExclusiveArch: %{qt5_qtwebengine_arches}
- giver
ExclusiveArch: %{mono_arches}
- gkeyfile-sharp
ExclusiveArch: %mono_arches
- glibc32
ExclusiveArch: x86_64
- glibd
ExclusiveArch: %{ldc_arches}
- gnatcoll
ExclusiveArch: %{GPRbuild_arches}
- gnatcoll-bindings
ExclusiveArch: %{GPRbuild_arches}
- gnatcoll-db
ExclusiveArch: %{GPRbuild_arches}
- gnome-boxes
ExclusiveArch: x86_64
- gnome-desktop-sharp
ExclusiveArch: %mono_arches
- gnome-do
ExclusiveArch: %mono_arches
- gnome-keyring-sharp
ExclusiveArch: %mono_arches
- gnome-rdp
ExclusiveArch: %{mono_arches}
- gnome-sharp
ExclusiveArch: %mono_arches
- gnome-subtitles
ExclusiveArch: %mono_arches
- gnu-efi
ExclusiveArch: %{efi}
- go-bindata
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- godep
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang
ExclusiveArch: %{golang_arches}
- gomtree
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- google-gson
ExclusiveArch: %{java_arches} noarch
- google-guice
ExclusiveArch: %{java_arches} noarch
- gotun
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
ExclusiveArch: x86_64
- goverlay
ExclusiveArch: %{fpc_arches}
- gprbuild
ExclusiveArch: %{GPRbuild_arches} %{bootstrap_arch}
- gprolog
ExclusiveArch: x86_64 %{ix86} ppc alpha aarch64
- grafana
ExclusiveArch: %{grafana_arches}
- grafana-pcp
ExclusiveArch: %{grafanapcp_arches}
- greetd
ExclusiveArch: %{rust_arches}
- gtk-sharp-beans
ExclusiveArch: %mono_arches
- gtk-sharp2
ExclusiveArch: %mono_arches
- gtk-sharp3
ExclusiveArch: %{mono_arches}
- gtkd
ExclusiveArch: %{ldc_arches}
- guava
ExclusiveArch: %{java_arches} noarch
- gudev-sharp
ExclusiveArch: %mono_arches
- guestfs-tools
ExclusiveArch: %{kernel_arches}
- hamcrest
ExclusiveArch: %{java_arches} noarch
- hawtjni
ExclusiveArch: %{java_arches} noarch
- hedgewars
ExclusiveArch: %{fpc_arches}
- hibernate-jpa-2.0-api
ExclusiveArch: %{java_arches} noarch
- hibernate-jpa-2.1-api
ExclusiveArch: %{java_arches} noarch
- hid4java
ExclusiveArch: %{java_arches} noarch
- hsakmt
ExclusiveArch: x86_64 aarch64 ppc64le
- httpcomponents-client
ExclusiveArch: %{java_arches} noarch
- httpcomponents-core
ExclusiveArch: %{java_arches} noarch
- httpcomponents-project
ExclusiveArch: %{java_arches} noarch
- hyena
ExclusiveArch: %{mono_arches}
- hyperscan
ExclusiveArch: x86_64
- hyperv-daemons
ExclusiveArch: i686 x86_64 aarch64
- i3status-rs
ExclusiveArch: %{rust_arches}
- icaro
ExclusiveArch: %{ix86} x86_64 noarch
- icu4j
ExclusiveArch: %{java_arches} noarch
- imagej
ExclusiveArch: %{java_arches} noarch
- imhex
ExclusiveArch: x86_64 %{arm64} ppc64le
- imvirt
ExclusiveArch: %{ix86} x86_64 ia64
- indistarter
ExclusiveArch: %{fpc_arches}
- infinipath-psm
ExclusiveArch: x86_64
- intel-cm-compiler
ExclusiveArch: i686 x86_64
- intel-cmt-cat
ExclusiveArch: x86_64 i686 i586
ExclusiveArch: x86_64 i686 i586
- intel-compute-runtime
ExclusiveArch: x86_64
- intel-gmmlib
ExclusiveArch: x86_64 i686
- intel-igc
ExclusiveArch: x86_64
- intel-ipp-crypto-mb
ExclusiveArch: x86_64
ExclusiveArch: x86_64
- intel-ipsec-mb
ExclusiveArch: x86_64
ExclusiveArch: x86_64
- intel-mediasdk
ExclusiveArch: x86_64
- intel-undervolt
ExclusiveArch: i386 x86_64
- ioport
ExclusiveArch: %{ix86} x86_64
- ipmctl
ExclusiveArch: x86_64
- ispc
ExclusiveArch: x86_64 aarch64
- iucode-tool
ExclusiveArch: %{ix86} x86_64
- iyfct
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- jFormatString
ExclusiveArch: %{java_arches} noarch
- jackson-annotations
ExclusiveArch: %{java_arches} noarch
- jackson-bom
ExclusiveArch: %{java_arches} noarch
- jackson-core
ExclusiveArch: %{java_arches} noarch
- jackson-databind
ExclusiveArch: %{java_arches} noarch
- jackson-dataformats-binary
ExclusiveArch: %{java_arches} noarch
- jackson-dataformats-text
ExclusiveArch: %{java_arches} noarch
- jackson-jaxrs-providers
ExclusiveArch: %{java_arches} noarch
- jackson-modules-base
ExclusiveArch: %{java_arches} noarch
- jackson-parent
ExclusiveArch: %{java_arches} noarch
- jacoco
ExclusiveArch: %{java_arches} noarch
- jacop
ExclusiveArch: %{java_arches} noarch
- jakarta-activation
ExclusiveArch: %{java_arches} noarch
- jakarta-activation1
ExclusiveArch: %{java_arches} noarch
- jakarta-annotations
ExclusiveArch: %{java_arches} noarch
- jakarta-el
ExclusiveArch: %{java_arches} noarch
- jakarta-interceptors
ExclusiveArch: %{java_arches} noarch
- jakarta-json
ExclusiveArch: %{java_arches} noarch
- jakarta-mail
ExclusiveArch: %{java_arches} noarch
- jakarta-oro
ExclusiveArch: %{java_arches} noarch
- jakarta-saaj
ExclusiveArch: %{java_arches} noarch
- jakarta-server-pages
ExclusiveArch: %{java_arches} noarch
- jakarta-servlet
ExclusiveArch: %{java_arches} noarch
- jakarta-xml-ws
ExclusiveArch: %{java_arches} noarch
- janino
ExclusiveArch: %{java_arches} noarch
- jansi
ExclusiveArch: %{java_arches}
- jansi-native
ExclusiveArch: %{java_arches}
- jansi1
ExclusiveArch: %{java_arches} noarch
- jargs
ExclusiveArch: %{java_arches} noarch
- java-1.8.0-openjdk
ExclusiveArch: %{java_arches}
- java-1.8.0-openjdk-aarch32
ExclusiveArch: %{arm}
- java-11-openjdk
ExclusiveArch: %{java_arches}
- java-17-openjdk
ExclusiveArch: %{java_arches}
- java-17-openjdk-portable
ExclusiveArch: %{java_arches}
- java-diff-utils
ExclusiveArch: %{java_arches} noarch
- java-dirq
ExclusiveArch: %{java_arches} noarch
- java-jd-decompiler
ExclusiveArch: %{java_arches} noarch
- java-latest-openjdk
ExclusiveArch: %{java_arches}
- java-latest-openjdk-portable
ExclusiveArch: %{java_arches}
- java-mersenne-twister
ExclusiveArch: %{java_arches} noarch
- java-runtime-decompiler
ExclusiveArch: %{java_arches} noarch
- java-scrypt
ExclusiveArch: %{java_arches} noarch
- java_cup
ExclusiveArch: %{java_arches} noarch
- javacc
ExclusiveArch: %{java_arches} noarch
- javacc-maven-plugin
ExclusiveArch: %{java_arches} noarch
- javadocofflinesearch
ExclusiveArch: %{java_arches} noarch
- javaewah
ExclusiveArch: %{java_arches} noarch
- javapackages-bootstrap
ExclusiveArch: %{java_arches} noarch
- javaparser
ExclusiveArch: %{java_arches} noarch
- javapoet
ExclusiveArch: %{java_arches} noarch
- javassist
ExclusiveArch: %{java_arches} noarch
- jaxb
ExclusiveArch: %{java_arches} noarch
- jaxb-api
ExclusiveArch: %{java_arches} noarch
- jaxb-api2
ExclusiveArch: %{java_arches} noarch
- jaxb-dtd-parser
ExclusiveArch: %{java_arches} noarch
- jaxb-fi
ExclusiveArch: %{java_arches} noarch
- jaxb-istack-commons
ExclusiveArch: %{java_arches} noarch
- jaxb-stax-ex
ExclusiveArch: %{java_arches} noarch
- jaxen
ExclusiveArch: %{java_arches} noarch
- jboss-jaxrs-2.0-api
ExclusiveArch: %{java_arches} noarch
- jboss-logging
ExclusiveArch: %{java_arches} noarch
- jboss-logging-tools
ExclusiveArch: %{java_arches} noarch
- jboss-parent
ExclusiveArch: %{java_arches} noarch
- jchardet
ExclusiveArch: %{java_arches} noarch
- jcip-annotations
ExclusiveArch: %{java_arches} noarch
- jcodings
ExclusiveArch: %{java_arches} noarch
- jcommon
ExclusiveArch: %{java_arches} noarch
- jcommon-serializer
ExclusiveArch: %{java_arches} noarch
- jctools
ExclusiveArch: %{java_arches} noarch
- jcuber
ExclusiveArch: %{java_arches} noarch
- jdeparser
ExclusiveArch: %{java_arches} noarch
- jdepend
ExclusiveArch: %{java_arches} noarch
- jdependency
ExclusiveArch: %{java_arches} noarch
- jdom
ExclusiveArch: %{java_arches} noarch
- jdom2
ExclusiveArch: %{java_arches} noarch
- jericho-html
ExclusiveArch: %{java_arches} noarch
- jetty
ExclusiveArch: %{java_arches} noarch
- jffi
ExclusiveArch: %{java_arches}
- jflex
ExclusiveArch: %{java_arches} noarch
- jfreechart
ExclusiveArch: %{java_arches} noarch
- jgit
ExclusiveArch: %{java_arches} noarch
- jglobus
ExclusiveArch: %{java_arches} noarch
- jgoodies-common
ExclusiveArch: %{java_arches} noarch
- jgoodies-forms
ExclusiveArch: %{java_arches} noarch
- jgoodies-looks
ExclusiveArch: %{java_arches} noarch
- jgrapht
ExclusiveArch: %{java_arches} noarch
- jigawatts
ExclusiveArch: x86_64 %{arm} ppc64le aarch64 s390x
- jline
ExclusiveArch: %{java_arches} noarch
- jline2
ExclusiveArch: %{java_arches} noarch
- jmock
ExclusiveArch: %{java_arches} noarch
- jmol
ExclusiveArch: %{java_arches} noarch
- jna
ExclusiveArch: %{java_arches}
- jneuroml-core
ExclusiveArch: %{java_arches} noarch
- jni-inchi
ExclusiveArch: %{java_arches}
- jnr-constants
ExclusiveArch: %{java_arches} noarch
- jnr-ffi
ExclusiveArch: %{java_arches} noarch
- jnr-netdb
ExclusiveArch: %{java_arches} noarch
- jnr-posix
ExclusiveArch: %{java_arches} noarch
- jnr-x86asm
ExclusiveArch: %{java_arches} noarch
- jol
ExclusiveArch: %{java_arches} noarch
- jolokia-jvm-agent
ExclusiveArch: %{java_arches} noarch
- joni
ExclusiveArch: %{java_arches} noarch
- jopt-simple
ExclusiveArch: %{java_arches} noarch
- jorbis
ExclusiveArch: %{java_arches} noarch
- jowl
ExclusiveArch: %{nodejs_arches} noarch
- jpanoramamaker
ExclusiveArch: %{java_arches} noarch
- jpcap
ExclusiveArch: %java_arches
- jsch
ExclusiveArch: %{java_arches} noarch
- jsch-agent-proxy
ExclusiveArch: %{java_arches} noarch
- json_simple
ExclusiveArch: %{java_arches} noarch
- jsr-305
ExclusiveArch: %{java_arches} noarch
- jssc
ExclusiveArch: %{java_arches}
- jtidy
ExclusiveArch: %{java_arches} noarch
- junit
ExclusiveArch: %{java_arches} noarch
- junit5
ExclusiveArch: %{java_arches} noarch
- juniversalchardet
ExclusiveArch: %{java_arches} noarch
- jzlib
ExclusiveArch: %{java_arches} noarch
- kchmviewer
ExclusiveArch: %{qt5_qtwebengine_arches}
- kernel
ExclusiveArch: noarch x86_64 s390x %{arm} aarch64 ppc64le
ExclusiveArch: noarch i386 i686 x86_64 s390x %{arm} aarch64 ppc64le
- keylime-agent-rust
ExclusiveArch: %{rust_arches}
- keyring-ima-signer
ExclusiveArch: %{rust_arches}
- kf5-akonadi-search
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-audiocd-kio
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kalarmcal
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kblog
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kcalendarcore
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kcalendarutils
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kitinerary
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-ktnef
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-libkdcraw
ExclusiveArch: x86_64 ppc64le %{arm}
- kicad
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- kiwix-desktop
ExclusiveArch: %{qt5_qtwebengine_arches}
- klee
ExclusiveArch: x86_64
- knot-resolver
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- knotes
ExclusiveArch: x86_64 %{arm}
- kompose
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 s390x
- kubernetes
ExclusiveArch: x86_64 aarch64 ppc64le s390x %{arm}
- laf-plugin
ExclusiveArch: %{java_arches} noarch
- lazarus
ExclusiveArch: %{fpc_arches}
- lazpaint
ExclusiveArch: %{fpc_arches}
- ldapjdk
ExclusiveArch: %{java_arches} noarch
- ldc
ExclusiveArch: %{ldc_arches} ppc64le
- libbase
ExclusiveArch: %{java_arches} noarch
- libbsr
ExclusiveArch: %{power64}
- libclc
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{power64} s390x
- libcxl
ExclusiveArch: %{power64}
- libdfp
ExclusiveArch: ppc ppc64 ppc64le s390 s390x x86_64
- libdispatch
ExclusiveArch: x86_64 aarch64 ppc64le
- libfonts
ExclusiveArch: %{java_arches} noarch
- libformula
ExclusiveArch: %{java_arches} noarch
- libguestfs
ExclusiveArch: %{kernel_arches}
- libica
ExclusiveArch: s390 s390x
- libipt
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86} x86_64
- libkgapi
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- libkrun
ExclusiveArch: x86_64 aarch64
- libkrunfw
ExclusiveArch: x86_64 aarch64
- liblayout
ExclusiveArch: %{java_arches} noarch
- libloader
ExclusiveArch: %{java_arches} noarch
- libnxz
ExclusiveArch: ppc64le
- libocxl
ExclusiveArch: ppc64le
- libpmemobj-cpp
ExclusiveArch: x86_64 ppc64le
- libpsm2
ExclusiveArch: x86_64
- libquentier
ExclusiveArch: %{qt5_qtwebengine_arches}
- libreoffice-TexMaths
ExclusiveArch: %{java_arches}
- librepository
ExclusiveArch: %{java_arches} noarch
- libretro-desmume2015
ExclusiveArch: i686 x86_64
- librtas
ExclusiveArch: %{power64}
- libserializer
ExclusiveArch: %{java_arches} noarch
- libservicelog
ExclusiveArch: ppc %{power64}
- libsmbios
ExclusiveArch: x86_64 %{ix86}
- libunwind
ExclusiveArch: %{arm} aarch64 hppa ia64 mips ppc %{power64} s390x %{ix86} x86_64
- libva-intel-hybrid-driver
ExclusiveArch: %{ix86} x86_64 ia64
- libvirt-java
ExclusiveArch: %{java_arches} noarch
- libvma
ExclusiveArch: x86_64 ppc64le ppc64 aarch64
- libvmi
ExclusiveArch: x86_64
- libvpd
ExclusiveArch: %{power64}
- libxsmm
ExclusiveArch: x86_64
- libzdnn
ExclusiveArch: s390x
- libzfcphbaapi
ExclusiveArch: s390 s390x
- libzpc
ExclusiveArch: s390x
- llhttp
ExclusiveArch: %{nodejs_arches}
- log4j
ExclusiveArch: %{java_arches} noarch
- log4net
ExclusiveArch: %mono_arches
- lrmi
ExclusiveArch: %{ix86}
- lsvpd
ExclusiveArch: %{power64}
- luajit
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
- lucene
ExclusiveArch: %{java_arches} noarch
- luxcorerender
ExclusiveArch: x86_64
- mactel-boot
ExclusiveArch: x86_64
- manifest-tool
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- mariadb-java-client
ExclusiveArch: %{java_arches} noarch
- marked
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- matreshka
ExclusiveArch: %GPRbuild_arches
- maui-mauikit
ExclusiveArch: %{ix86} s390x aarch64 x86_64
- maven
ExclusiveArch: %{java_arches} noarch
- maven-antrun-plugin
ExclusiveArch: %{java_arches} noarch
- maven-archetype
ExclusiveArch: %{java_arches} noarch
- maven-archiver
ExclusiveArch: %{java_arches} noarch
- maven-artifact-transfer
ExclusiveArch: %{java_arches} noarch
- maven-assembly-plugin
ExclusiveArch: %{java_arches} noarch
- maven-clean-plugin
ExclusiveArch: %{java_arches} noarch
- maven-common-artifact-filters
ExclusiveArch: %{java_arches} noarch
- maven-compiler-plugin
ExclusiveArch: %{java_arches} noarch
- maven-dependency-analyzer
ExclusiveArch: %{java_arches} noarch
- maven-dependency-plugin
ExclusiveArch: %{java_arches} noarch
- maven-dependency-tree
ExclusiveArch: %{java_arches} noarch
- maven-doxia
ExclusiveArch: %{java_arches} noarch
- maven-doxia-sitetools
ExclusiveArch: %{java_arches} noarch
- maven-enforcer
ExclusiveArch: %{java_arches} noarch
- maven-file-management
ExclusiveArch: %{java_arches} noarch
- maven-filtering
ExclusiveArch: %{java_arches} noarch
- maven-invoker
ExclusiveArch: %{java_arches} noarch
- maven-invoker-plugin
ExclusiveArch: %{java_arches} noarch
- maven-jar-plugin
ExclusiveArch: %{java_arches} noarch
- maven-mapping
ExclusiveArch: %{java_arches} noarch
- maven-native
ExclusiveArch: %{java_arches} noarch
- maven-parent
ExclusiveArch: %{java_arches} noarch
- maven-patch-plugin
ExclusiveArch: %{java_arches} noarch
- maven-plugin-build-helper
ExclusiveArch: %{java_arches} noarch
- maven-plugin-bundle
ExclusiveArch: %{java_arches} noarch
- maven-plugin-testing
ExclusiveArch: %{java_arches} noarch
- maven-plugin-tools
ExclusiveArch: %{java_arches} noarch
- maven-remote-resources-plugin
ExclusiveArch: %{java_arches} noarch
- maven-reporting-api
ExclusiveArch: %{java_arches} noarch
- maven-reporting-impl
ExclusiveArch: %{java_arches} noarch
- maven-resolver
ExclusiveArch: %{java_arches} noarch
- maven-resources-plugin
ExclusiveArch: %{java_arches} noarch
- maven-scm
ExclusiveArch: %{java_arches} noarch
- maven-script-interpreter
ExclusiveArch: %{java_arches} noarch
- maven-shade-plugin
ExclusiveArch: %{java_arches} noarch
- maven-shared-incremental
ExclusiveArch: %{java_arches} noarch
- maven-shared-io
ExclusiveArch: %{java_arches} noarch
- maven-shared-utils
ExclusiveArch: %{java_arches} noarch
- maven-source-plugin
ExclusiveArch: %{java_arches} noarch
- maven-surefire
ExclusiveArch: %{java_arches} noarch
- maven-verifier
ExclusiveArch: %{java_arches} noarch
- maven-verifier-plugin
ExclusiveArch: %{java_arches} noarch
- maven-wagon
ExclusiveArch: %{java_arches} noarch
- maven2
ExclusiveArch: %{java_arches} noarch
- maxima
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc sparcv9
ExclusiveArch: %{ix86} x86_64 ppc sparcv9
- mbpfan
ExclusiveArch: x86_64
- mcelog
ExclusiveArch: i686 x86_64
- mcrouter
ExclusiveArch: x86_64 aarch64 ppc64le
- mdevctl
ExclusiveArch: %{rust_arches}
- mecab-java
ExclusiveArch: %java_arches
- mediaconch
ExclusiveArch: %{qt5_qtwebengine_arches}
- mellowplayer
ExclusiveArch: %{qt5_qtwebengine_arches}
- memkind
ExclusiveArch: x86_64 ppc64 ppc64le s390x aarch64
- memtest86+
ExclusiveArch: %{ix86} x86_64
- mesos
ExclusiveArch: x86_64
- microcode_ctl
ExclusiveArch: %{ix86} x86_64
- micropython
ExclusiveArch: %{arm} x86_64
ExclusiveArch: %{arm} %{ix86} x86_64
- miglayout
ExclusiveArch: %{java_arches} noarch
- mine_detector
ExclusiveArch: %{GPRbuild_arches}
- minetest
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
- mingw-libidn2
ExclusiveArch: %{ix86} x86_64 %{arm}
- mingw-wine-gecko
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- mirrorlist-server
ExclusiveArch: %{rust_arches}
- mkbootdisk
ExclusiveArch: %{ix86} sparc sparc64 x86_64
- moby-engine
ExclusiveArch: %{golang_arches}
- mockito
ExclusiveArch: %{java_arches} noarch
- mod_mono
ExclusiveArch: %mono_arches
- modello
ExclusiveArch: %{java_arches} noarch
- module-build-service
ExclusiveArch: %{ix86} x86_64 noarch
- mojo-executor
ExclusiveArch: %{java_arches} noarch
- mojo-parent
ExclusiveArch: %{java_arches} noarch
- mokutil
ExclusiveArch: %{ix86} x86_64 aarch64 %{arm}
- mono
ExclusiveArch: %mono_arches
- mono-addins
ExclusiveArch: %mono_arches
- mono-basic
ExclusiveArch: %{mono_arches}
- mono-bouncycastle
ExclusiveArch: %mono_arches
- mono-cecil
ExclusiveArch: %mono_arches
- mono-cecil-flowanalysis
ExclusiveArch: %mono_arches
- mono-reflection
ExclusiveArch: %mono_arches
- mono-tools
ExclusiveArch: %mono_arches
- mono-zeroconf
ExclusiveArch: %mono_arches
- monodevelop
ExclusiveArch: %mono_arches
- monodevelop-debugger-gdb
ExclusiveArch: %{mono_arches}
- monosim
ExclusiveArch: %mono_arches
- mrrescue
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- msr-tools
ExclusiveArch: %{ix86} x86_64
- munge-maven-plugin
ExclusiveArch: %{java_arches} noarch
- mxparser
ExclusiveArch: %{java_arches} noarch
- mysql-connector-java
ExclusiveArch: %{java_arches} noarch
- mysql-connector-net
ExclusiveArch: %{mono_arches}
- naev
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
- naga
ExclusiveArch: %{java_arches} noarch
- nant
ExclusiveArch: %mono_arches
- nativejit
ExclusiveArch: x86_64
- nbc
ExclusiveArch: %{fpc_arches}
- nbdkit
ExclusiveArch: x86_64
- ndesk-dbus
ExclusiveArch: %{mono_arches}
- ndesk-dbus-glib
ExclusiveArch: %{mono_arches}
- nekohtml
ExclusiveArch: %{java_arches} noarch
- netavark
ExclusiveArch: %{rust_arches}
- newtonsoft-json
ExclusiveArch: %{mono_arches}
- nispor
ExclusiveArch: %{rust_arches}
- nodejs
ExclusiveArch: %{nodejs_arches}
- nodejs-acorn-object-spread
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-backbone
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bash-language-server
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-buble
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-colors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-generic-pool
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-less
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-linefix
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-nodemon
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-packaging
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-replace-require-self
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-supervisor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tape
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-typescript
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-underscore
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs16
ExclusiveArch: %{nodejs_arches}
- nodejs18
ExclusiveArch: %{nodejs_arches}
- nom-tam-fits
ExclusiveArch: %{java_arches} noarch
- notify-sharp
ExclusiveArch: %{mono_arches}
- notify-sharp3
ExclusiveArch: %{mono_arches}
- nuget
ExclusiveArch: %{mono_arches}
- numatop
ExclusiveArch: x86_64 ppc64le
- nunit
ExclusiveArch: %{mono_arches}
- nunit2
ExclusiveArch: %{mono_arches}
- nvml
ExclusiveArch: x86_64 ppc64le
- nwchem
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- objectweb-asm
ExclusiveArch: %{java_arches} noarch
- objenesis
ExclusiveArch: %{java_arches} noarch
- obs-service-rust2rpm
ExclusiveArch: %{rust_arches} noarch
- oci-seccomp-bpf-hook
ExclusiveArch: x86_64 %{power64} aarch64 s390x armv7hl
- oidn
ExclusiveArch: x86_64
- olpc-kbdshim
ExclusiveArch: %{ix86} %{arm}
- olpc-utils
ExclusiveArch: %{ix86} %{arm}
- oneVPL
ExclusiveArch: x86_64
- oneVPL-intel-gpu
ExclusiveArch: x86_64
- oneapi-level-zero
ExclusiveArch: x86_64
- onednn
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- onedrive
ExclusiveArch: %{ldc_arches}
- ongres-scram
ExclusiveArch: %{java_arches} noarch
- ongres-stringprep
ExclusiveArch: %{java_arches} noarch
- opae
ExclusiveArch: x86_64
- opal-prd
ExclusiveArch: ppc64le
- open-vm-tools
ExclusiveArch: x86_64 aarch64
ExclusiveArch: %{ix86} x86_64 aarch64
ExclusiveArch: x86_64
- openas2
ExclusiveArch: %{java_arches} noarch
ExclusiveArch: %{java_arches} noarch
- openblas
ExclusiveArch: %{openblas_arches}
- openjdk-asmtools
ExclusiveArch: %{java_arches} noarch
- openjdk-asmtools7
ExclusiveArch: %{java_arches} noarch
- openjfx
ExclusiveArch: %{java_arches}
- openjfx8
ExclusiveArch: x86_64
- openlibm
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 %{power64}
- openms
ExclusiveArch: %{qt5_qtwebengine_arches}
- openni
ExclusiveArch: %{ix86} x86_64 %{arm}
- openni-primesense
ExclusiveArch: %{ix86} x86_64 %{arm}
- openpgl
ExclusiveArch: x86_64
- openshadinglanguage
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- openssl-ibmca
ExclusiveArch: s390 s390x
- openstack-java-sdk
ExclusiveArch: %{java_arches} noarch
- opentest4j
ExclusiveArch: %{java_arches} noarch
- options
ExclusiveArch: %{java_arches} noarch
- orthorobot
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- osgi-annotation
ExclusiveArch: %{java_arches} noarch
- osgi-compendium
ExclusiveArch: %{java_arches} noarch
- osgi-core
ExclusiveArch: %{java_arches} noarch
- pacemaker
ExclusiveArch: aarch64 i686 ppc64le s390x x86_64 %{arm}
ExclusiveArch: aarch64 i686 ppc64le s390x x86_64
- paflib
ExclusiveArch: ppc %{power64}
- pageedit
ExclusiveArch: %{qt5_qtwebengine_arches}
- parsec
ExclusiveArch: %{rust_arches}
- parsec-tool
ExclusiveArch: %{rust_arches}
- parserng
ExclusiveArch: %{java_arches} noarch
- pasdoc
ExclusiveArch: %{fpc_arches}
- pcc
ExclusiveArch: %{ix86} x86_64
- pcfi
ExclusiveArch: %{java_arches} noarch
- pcm
ExclusiveArch: %{ix86} x86_64
- pcmciautils
ExclusiveArch: %{ix86} x86_64 ia64 ppc ppc64 %{arm}
- pdbg
ExclusiveArch: ppc64le
- pdfbox
ExclusiveArch: %{java_arches} noarch
- pdfmod
ExclusiveArch: %mono_arches
- pdftk-java
ExclusiveArch: %{java_arches} noarch
- pentaho-libxml
ExclusiveArch: %{java_arches} noarch
- pentaho-reporting-flow-engine
ExclusiveArch: %{java_arches} noarch
- perl-Dumbbench
ExclusiveArch: %{ix86} x86_64 noarch
- perl-Parse-DMIDecode
ExclusiveArch: %{ix86} x86_64 ia64 aarch64
- pesign
ExclusiveArch: %{ix86} x86_64 ia64 aarch64 %{arm}
- pesign-test-app
ExclusiveArch: x86_64
- picocli
ExclusiveArch: %{java_arches} noarch
- pinta
ExclusiveArch: %mono_arches
- pioneer
ExclusiveArch: %{ix86} x86_64
- plantuml
ExclusiveArch: %{java_arches} noarch
- plasma-dialer
ExclusiveArch: %{java_arches}
- playonlinux
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- plexus-active-collections
ExclusiveArch: %{java_arches} noarch
- plexus-archiver
ExclusiveArch: %{java_arches} noarch
- plexus-build-api
ExclusiveArch: %{java_arches} noarch
- plexus-cipher
ExclusiveArch: %{java_arches} noarch
- plexus-classworlds
ExclusiveArch: %{java_arches} noarch
- plexus-compiler
ExclusiveArch: %{java_arches} noarch
- plexus-component-api
ExclusiveArch: %{java_arches} noarch
- plexus-components-pom
ExclusiveArch: %{java_arches} noarch
- plexus-containers
ExclusiveArch: %{java_arches} noarch
- plexus-i18n
ExclusiveArch: %{java_arches} noarch
- plexus-interpolation
ExclusiveArch: %{java_arches} noarch
- plexus-io
ExclusiveArch: %{java_arches} noarch
- plexus-languages
ExclusiveArch: %{java_arches} noarch
- plexus-pom
ExclusiveArch: %{java_arches} noarch
- plexus-resources
ExclusiveArch: %{java_arches} noarch
- plexus-sec-dispatcher
ExclusiveArch: %{java_arches} noarch
- plexus-utils
ExclusiveArch: %{java_arches} noarch
- plexus-velocity
ExclusiveArch: %{java_arches} noarch
- pmdk-convert
ExclusiveArch: x86_64
- pmemkv
ExclusiveArch: x86_64
- podman
ExclusiveArch: %{golang_arches}
- pomchecker
ExclusiveArch: %{java_arches} noarch
- poppler-sharp
ExclusiveArch: %mono_arches
- popub
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- portlet-2.0-api
ExclusiveArch: %{java_arches} noarch
- postgresql-jdbc
ExclusiveArch: %{java_arches} noarch
- powerpc-utils
ExclusiveArch: ppc %{power64}
- ppc64-diag
ExclusiveArch: ppc %{power64}
- procyon
ExclusiveArch: %{java_arches} noarch
ExclusiveArch: %{java_arches} noarch
ExclusiveArch: %{java_arches} noarch
ExclusiveArch: %{java_arches} noarch
ExclusiveArch: %{java_arches} noarch
ExclusiveArch: %{java_arches} noarch
- proguard
ExclusiveArch: %{java_arches} noarch
- prometheus-jmx-exporter
ExclusiveArch: %{java_arches} noarch
- prometheus-simpleclient-java
ExclusiveArch: %{java_arches} noarch
- proxygen
ExclusiveArch: x86_64 aarch64 ppc64le
- pveclib
ExclusiveArch: ppc %{power64}
- pvs-sbcl
ExclusiveArch: x86_64
- pyqtwebengine
ExclusiveArch: %{qt5_qtwebengine_arches}
- python-ast-monitor
ExclusiveArch: %{qt5_qtwebengine_arches} noarch
- python-cryptography
ExclusiveArch: %{rust_arches}
- python-etcd
ExclusiveArch: noarch %{ix86} x86_64 %{arm} aarch64 ppc64le s390x
- python-javaobj
ExclusiveArch: %{java_arches} noarch
- python-jep
ExclusiveArch: %{java_arches}
- python-jupyter-polymake
ExclusiveArch: noarch aarch64 ppc64le s390x x86_64
- python-openoffice
ExclusiveArch: noarch x86_64
- python-pymoc
ExclusiveArch: aarch64 ppc64 ppc64le x86_64 s390x
- python-setuptools-rust
ExclusiveArch: %{rust_arches}
- q4wine
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- qatzip
ExclusiveArch: x86_64
- qbe
ExclusiveArch: x86_64 aarch64
- qcint
ExclusiveArch: x86_64
- qclib
ExclusiveArch: s390 s390x
- qdox
ExclusiveArch: %{java_arches} noarch
- qemu-sanity-check
ExclusiveArch: %{kernel_arches}
- qevercloud
ExclusiveArch: %{qt5_qtwebengine_arches}
- qmapshack
ExclusiveArch: %{qt5_qtwebengine_arches}
- qt4pas
ExclusiveArch: %{fpc_arches}
- qt5-qtwebengine
ExclusiveArch: %{qt5_qtwebengine_arches}
- quantum-espresso
ExclusiveArch: x86_64 %{ix86} aarch64 %{power64}
- quentier
ExclusiveArch: %{qt5_qtwebengine_arches}
- rEFInd
ExclusiveArch: %{efi}
- rachota
ExclusiveArch: %{java_arches} noarch
- rear
ExclusiveArch: %ix86 x86_64 ppc ppc64 ppc64le ia64
- reflections
ExclusiveArch: %{java_arches} noarch
- reg
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- regexp
ExclusiveArch: %{java_arches} noarch
- replacer
ExclusiveArch: %{java_arches} noarch
- reptyr
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- rescene
ExclusiveArch: %{mono_arches}
- resteasy
ExclusiveArch: %{java_arches} noarch
- restool
ExclusiveArch: aarch64
- restsharp
ExclusiveArch: %{mono_arches}
- retsnoop
ExclusiveArch: %{rust_arches}
- rhino
ExclusiveArch: %{java_arches} noarch
- rhythmbox-alternative-toolbar
ExclusiveArch: %{ix86} %{arm} x86_64 ppc64 ppc64le
- river
ExclusiveArch: %{zig_arches}
- rocm-compilersupport
ExclusiveArch: x86_64 aarch64 ppc64le
- rocm-device-libs
ExclusiveArch: x86_64 aarch64 ppc64le
- rocm-opencl
ExclusiveArch: x86_64 aarch64
ExclusiveArch: x86_64 aarch64 ppc64le
- rocm-runtime
ExclusiveArch: x86_64 aarch64 ppc64le
- rocminfo
ExclusiveArch: x86_64 aarch64 ppc64le
- rpm-ostree
ExclusiveArch: %{rust_arches}
- rr
ExclusiveArch: %{ix86} x86_64 aarch64
- rssguard
ExclusiveArch: %{qt5_qtwebengine_arches}
- rstudio
ExclusiveArch: %{java_arches}
- rsyntaxtextarea
ExclusiveArch: %{java_arches} noarch
- rubygem-childprocess
ExclusiveArch: %{ix86} x86_64 noarch
- runc
ExclusiveArch: %{golang_arches}
- rundoc
ExclusiveArch: %{java_arches} noarch
- rust
ExclusiveArch: %{rust_arches}
- rust-Inflector
ExclusiveArch: %{rust_arches}
- rust-actix
ExclusiveArch: %{rust_arches}
- rust-actix-codec
ExclusiveArch: %{rust_arches}
- rust-actix-http
ExclusiveArch: %{rust_arches}
- rust-actix-macros
ExclusiveArch: %{rust_arches}
- rust-actix-router
ExclusiveArch: %{rust_arches}
- rust-actix-rt
ExclusiveArch: %{rust_arches}
- rust-actix-server
ExclusiveArch: %{rust_arches}
- rust-actix-service
ExclusiveArch: %{rust_arches}
- rust-actix-tls
ExclusiveArch: %{rust_arches}
- rust-actix-web
ExclusiveArch: %{rust_arches}
- rust-actix-web-codegen
ExclusiveArch: %{rust_arches}
- rust-actix_derive
ExclusiveArch: %{rust_arches}
- rust-addr2line
ExclusiveArch: %{rust_arches}
- rust-aead
ExclusiveArch: %{rust_arches}
- rust-aes-gcm
ExclusiveArch: %{rust_arches}
- rust-aes0.7
ExclusiveArch: %{rust_arches}
- rust-afterburn
ExclusiveArch: %{rust_arches}
- rust-ahash0.4
ExclusiveArch: %{rust_arches}
- rust-alacritty
ExclusiveArch: %{rust_arches}
- rust-alacritty_config_derive
ExclusiveArch: %{rust_arches}
- rust-alacritty_terminal
ExclusiveArch: %{rust_arches}
- rust-alga
ExclusiveArch: %{rust_arches}
- rust-alga_derive
ExclusiveArch: %{rust_arches}
- rust-aliasable
ExclusiveArch: %{rust_arches}
- rust-alloc-no-stdlib
ExclusiveArch: %{rust_arches}
- rust-alloc-stdlib
ExclusiveArch: %{rust_arches}
- rust-ammonia
ExclusiveArch: %{rust_arches}
- rust-ansi_term
ExclusiveArch: %{rust_arches}
- rust-ansi_term0.11
ExclusiveArch: %{rust_arches}
- rust-aparato
ExclusiveArch: %{rust_arches}
- rust-app_dirs
ExclusiveArch: %{rust_arches}
- rust-approx
ExclusiveArch: %{rust_arches}
- rust-ar
ExclusiveArch: %{rust_arches}
- rust-arbitrary0.4
ExclusiveArch: %{rust_arches}
- rust-arc-swap
ExclusiveArch: %{rust_arches}
- rust-arg_enum_proc_macro
ExclusiveArch: %{rust_arches}
- rust-argh
ExclusiveArch: %{rust_arches}
- rust-argh_derive
ExclusiveArch: %{rust_arches}
- rust-argh_shared
ExclusiveArch: %{rust_arches}
- rust-argmax
ExclusiveArch: %{rust_arches}
- rust-argparse
ExclusiveArch: %{rust_arches}
- rust-arrayvec
ExclusiveArch: %{rust_arches}
- rust-arrayvec0.5
ExclusiveArch: %{rust_arches}
- rust-ascii
ExclusiveArch: %{rust_arches}
- rust-ascii-canvas
ExclusiveArch: %{rust_arches}
- rust-askalono
ExclusiveArch: %{rust_arches}
- rust-askalono-cli
ExclusiveArch: %{rust_arches}
- rust-askama
ExclusiveArch: %{rust_arches}
- rust-askama_derive
ExclusiveArch: %{rust_arches}
- rust-askama_escape
ExclusiveArch: %{rust_arches}
- rust-askama_shared
ExclusiveArch: %{rust_arches}
- rust-asn1
ExclusiveArch: %{rust_arches}
- rust-asn1_derive
ExclusiveArch: %{rust_arches}
- rust-assert-impl
ExclusiveArch: %{rust_arches}
- rust-assert-json-diff
ExclusiveArch: %{rust_arches}
- rust-assert_approx_eq
ExclusiveArch: %{rust_arches}
- rust-assert_cli
ExclusiveArch: %{rust_arches}
- rust-assert_cmd
ExclusiveArch: %{rust_arches}
- rust-assert_fs
ExclusiveArch: %{rust_arches}
- rust-assert_matches
ExclusiveArch: %{rust_arches}
- rust-async-attributes
ExclusiveArch: %{rust_arches}
- rust-async-broadcast
ExclusiveArch: %{rust_arches}
- rust-async-channel
ExclusiveArch: %{rust_arches}
- rust-async-compression
ExclusiveArch: %{rust_arches}
- rust-async-executor
ExclusiveArch: %{rust_arches}
- rust-async-io
ExclusiveArch: %{rust_arches}
- rust-async-mutex
ExclusiveArch: %{rust_arches}
- rust-async-recursion
ExclusiveArch: %{rust_arches}
- rust-async-std
ExclusiveArch: %{rust_arches}
- rust-async-task
ExclusiveArch: %{rust_arches}
- rust-asyncgit
ExclusiveArch: %{rust_arches}
- rust-atom
ExclusiveArch: %{rust_arches}
- rust-atomic
ExclusiveArch: %{rust_arches}
- rust-atomic-traits
ExclusiveArch: %{rust_arches}
- rust-atomic-waker
ExclusiveArch: %{rust_arches}
- rust-atty
ExclusiveArch: %{rust_arches}
- rust-autocfg
ExclusiveArch: %{rust_arches}
- rust-average
ExclusiveArch: %{rust_arches}
- rust-awc
ExclusiveArch: %{rust_arches}
- rust-aws-nitro-enclaves-cose
ExclusiveArch: %{rust_arches}
- rust-az
ExclusiveArch: %{rust_arches}
- rust-backtrace
ExclusiveArch: %{rust_arches}
- rust-base-x
ExclusiveArch: %{rust_arches}
- rust-base64
ExclusiveArch: %{rust_arches}
- rust-bat
ExclusiveArch: %{rust_arches}
- rust-below
ExclusiveArch: %{rust_arches}
- rust-below-common
ExclusiveArch: %{rust_arches}
- rust-below-config
ExclusiveArch: %{rust_arches}
- rust-below-dump
ExclusiveArch: %{rust_arches}
- rust-below-model
ExclusiveArch: %{rust_arches}
- rust-below-render
ExclusiveArch: %{rust_arches}
- rust-below-store
ExclusiveArch: %{rust_arches}
- rust-below-view
ExclusiveArch: %{rust_arches}
- rust-below_derive
ExclusiveArch: %{rust_arches}
- rust-bencher
ExclusiveArch: %{rust_arches}
- rust-benfred-read-process-memory
ExclusiveArch: %{rust_arches}
- rust-bigdecimal
ExclusiveArch: %{rust_arches}
- rust-binascii
ExclusiveArch: %{rust_arches}
- rust-bincode
ExclusiveArch: %{rust_arches}
- rust-bit-set
ExclusiveArch: %{rust_arches}
- rust-bit-vec
ExclusiveArch: %{rust_arches}
- rust-bit_field
ExclusiveArch: %{rust_arches}
- rust-bitfield
ExclusiveArch: %{rust_arches}
- rust-bitflags
ExclusiveArch: %{rust_arches}
- rust-blobby
ExclusiveArch: %{rust_arches}
- rust-blobby0.1
ExclusiveArch: %{rust_arches}
- rust-block-buffer
ExclusiveArch: %{rust_arches}
- rust-block-buffer0.9
ExclusiveArch: %{rust_arches}
- rust-block-modes
ExclusiveArch: %{rust_arches}
- rust-block-padding
ExclusiveArch: %{rust_arches}
- rust-block-padding0.2
ExclusiveArch: %{rust_arches}
- rust-blsctl
ExclusiveArch: %{rust_arches}
- rust-bodhi
ExclusiveArch: %{rust_arches}
- rust-bodhi-cli
ExclusiveArch: %{rust_arches}
- rust-bootupd
ExclusiveArch: x86_64 aarch64
- rust-box_drawing
ExclusiveArch: %{rust_arches}
- rust-boxfnonce
ExclusiveArch: %{rust_arches}
- rust-brotli
ExclusiveArch: %{rust_arches}
- rust-brotli-decompressor
ExclusiveArch: %{rust_arches}
- rust-bstr
ExclusiveArch: %{rust_arches}
- rust-btrd
ExclusiveArch: %{rust_arches}
- rust-buffered-reader
ExclusiveArch: %{rust_arches}
- rust-bufstream
ExclusiveArch: %{rust_arches}
- rust-bugreport
ExclusiveArch: %{rust_arches}
- rust-byte-unit3
ExclusiveArch: %{rust_arches}
- rust-bytecheck
ExclusiveArch: %{rust_arches}
- rust-bytecheck_derive
ExclusiveArch: %{rust_arches}
- rust-bytecount
ExclusiveArch: %{rust_arches}
- rust-byteorder
ExclusiveArch: %{rust_arches}
- rust-bytes-cast
ExclusiveArch: %{rust_arches}
- rust-bytes-cast-derive
ExclusiveArch: %{rust_arches}
- rust-bytes0.4
ExclusiveArch: %{rust_arches}
- rust-bytes0.5
ExclusiveArch: %{rust_arches}
- rust-bytesize
ExclusiveArch: %{rust_arches}
- rust-bzip2
ExclusiveArch: %{rust_arches}
- rust-bzip2-sys
ExclusiveArch: %{rust_arches}
- rust-cache-padded
ExclusiveArch: %{rust_arches}
- rust-calloop
ExclusiveArch: %{rust_arches}
- rust-cap
ExclusiveArch: %{rust_arches}
- rust-capng
ExclusiveArch: %{rust_arches}
- rust-capnp-futures
ExclusiveArch: %{rust_arches}
- rust-capnp-rpc
ExclusiveArch: %{rust_arches}
- rust-cargo
ExclusiveArch: %{rust_arches}
- rust-cargo-c
ExclusiveArch: %{rust_arches}
- rust-cargo-edit
ExclusiveArch: %{rust_arches}
- rust-cargo-husky
ExclusiveArch: %{rust_arches}
- rust-cargo-insta
ExclusiveArch: %{rust_arches}
- rust-cargo-manifest
ExclusiveArch: %{rust_arches}
- rust-cargo-platform
ExclusiveArch: %{rust_arches}
- rust-cargo-readme
ExclusiveArch: %{rust_arches}
- rust-cascade
ExclusiveArch: %{rust_arches}
- rust-case
ExclusiveArch: %{rust_arches}
- rust-cassowary
ExclusiveArch: %{rust_arches}
- rust-cast
ExclusiveArch: %{rust_arches}
- rust-cbindgen
ExclusiveArch: %{rust_arches}
- rust-cdylib-link-lines
ExclusiveArch: %{rust_arches}
- rust-cexpr
ExclusiveArch: %{rust_arches}
- rust-cfb
ExclusiveArch: %{rust_arches}
- rust-cfg-if
ExclusiveArch: %{rust_arches}
- rust-cfg-if0.1
ExclusiveArch: %{rust_arches}
- rust-cgroupfs
ExclusiveArch: %{rust_arches}
- rust-chainerror
ExclusiveArch: %{rust_arches}
- rust-charset
ExclusiveArch: %{rust_arches}
- rust-choosier
ExclusiveArch: %{rust_arches}
- rust-chrono-humanize
ExclusiveArch: %{rust_arches}
- rust-chrono-tz
ExclusiveArch: %{rust_arches}
- rust-ciborium
ExclusiveArch: %{rust_arches}
- rust-ciborium-io
ExclusiveArch: %{rust_arches}
- rust-ciborium-ll
ExclusiveArch: %{rust_arches}
- rust-cint
ExclusiveArch: %{rust_arches}
- rust-cipher
ExclusiveArch: %{rust_arches}
- rust-cipher0.3
ExclusiveArch: %{rust_arches}
- rust-clang-sys
ExclusiveArch: %{rust_arches}
- rust-clap
ExclusiveArch: %{rust_arches}
- rust-clap-verbosity-flag
ExclusiveArch: %{rust_arches}
- rust-clap2
ExclusiveArch: %{rust_arches}
- rust-clap_complete
ExclusiveArch: %{rust_arches}
- rust-clap_complete_fig
ExclusiveArch: %{rust_arches}
- rust-clap_derive
ExclusiveArch: %{rust_arches}
- rust-clap_generate
ExclusiveArch: %{rust_arches}
- rust-clap_generate_fig
ExclusiveArch: %{rust_arches}
- rust-clap_lex
ExclusiveArch: %{rust_arches}
- rust-clicolors-control
ExclusiveArch: %{rust_arches}
- rust-clircle
ExclusiveArch: %{rust_arches}
- rust-codespan-reporting
ExclusiveArch: %{rust_arches}
- rust-codicon
ExclusiveArch: %{rust_arches}
- rust-color-backtrace
ExclusiveArch: %{rust_arches}
- rust-color_quant
ExclusiveArch: %{rust_arches}
- rust-colored
ExclusiveArch: %{rust_arches}
- rust-colored1
ExclusiveArch: %{rust_arches}
- rust-colored_json
ExclusiveArch: %{rust_arches}
- rust-colorful
ExclusiveArch: %{rust_arches}
- rust-combine
ExclusiveArch: %{rust_arches}
- rust-comfy-table
ExclusiveArch: %{rust_arches}
- rust-common-path
ExclusiveArch: %{rust_arches}
- rust-compiletest_rs
ExclusiveArch: %{rust_arches}
- rust-compress-tools
ExclusiveArch: %{rust_arches}
- rust-comrak
ExclusiveArch: %{rust_arches}
- rust-concolor
ExclusiveArch: %{rust_arches}
- rust-concolor-control
ExclusiveArch: %{rust_arches}
- rust-concolor-query
ExclusiveArch: %{rust_arches}
- rust-concurrent-queue
ExclusiveArch: %{rust_arches}
- rust-config
ExclusiveArch: %{rust_arches}
- rust-configparser
ExclusiveArch: %{rust_arches}
- rust-confy
ExclusiveArch: %{rust_arches}
- rust-conhash
ExclusiveArch: %{rust_arches}
- rust-console
ExclusiveArch: %{rust_arches}
- rust-console0.11
ExclusiveArch: %{rust_arches}
- rust-console0.12
ExclusiveArch: %{rust_arches}
- rust-console0.13
ExclusiveArch: %{rust_arches}
- rust-console0.14
ExclusiveArch: %{rust_arches}
- rust-console0.9
ExclusiveArch: %{rust_arches}
- rust-const-cstr
ExclusiveArch: %{rust_arches}
- rust-const-oid0.6
ExclusiveArch: %{rust_arches}
- rust-const-random
ExclusiveArch: %{rust_arches}
- rust-const-random-macro
ExclusiveArch: %{rust_arches}
- rust-const_fn
ExclusiveArch: %{rust_arches}
- rust-const_format
ExclusiveArch: %{rust_arches}
- rust-const_format_proc_macros
ExclusiveArch: %{rust_arches}
- rust-constant_time_eq
ExclusiveArch: %{rust_arches}
- rust-content_inspector
ExclusiveArch: %{rust_arches}
- rust-conv
ExclusiveArch: %{rust_arches}
- rust-cookie
ExclusiveArch: %{rust_arches}
- rust-cookie-factory
ExclusiveArch: %{rust_arches}
- rust-cookie_store
ExclusiveArch: %{rust_arches}
- rust-coolor
ExclusiveArch: %{rust_arches}
- rust-copydeps
ExclusiveArch: %{rust_arches}
- rust-copypasta
ExclusiveArch: %{rust_arches}
- rust-cordic
ExclusiveArch: %{rust_arches}
- rust-coreos-installer
ExclusiveArch: %{rust_arches}
- rust-count-zeroes
ExclusiveArch: %{rust_arches}
- rust-counted-array
ExclusiveArch: %{rust_arches}
- rust-cpc
ExclusiveArch: %{rust_arches}
- rust-cpio
ExclusiveArch: %{rust_arches}
- rust-cpp_demangle
ExclusiveArch: %{rust_arches}
- rust-cpufeatures
ExclusiveArch: %{rust_arches}
- rust-crates-io
ExclusiveArch: %{rust_arches}
- rust-crc
ExclusiveArch: %{rust_arches}
- rust-crc-catalog
ExclusiveArch: %{rust_arches}
- rust-crc32fast
ExclusiveArch: %{rust_arches}
- rust-crossbeam
ExclusiveArch: %{rust_arches}
- rust-crossbeam-channel
ExclusiveArch: %{rust_arches}
- rust-crossbeam-channel0.4
ExclusiveArch: %{rust_arches}
- rust-crossbeam-deque
ExclusiveArch: %{rust_arches}
- rust-crossbeam-deque0.7
ExclusiveArch: %{rust_arches}
- rust-crossbeam-epoch
ExclusiveArch: %{rust_arches}
- rust-crossbeam-epoch0.8
ExclusiveArch: %{rust_arches}
- rust-crossbeam-queue0.2
ExclusiveArch: %{rust_arches}
- rust-crossbeam-utils0.7
ExclusiveArch: %{rust_arches}
- rust-crossbeam0.7
ExclusiveArch: %{rust_arches}
- rust-crossfont
ExclusiveArch: %{rust_arches}
- rust-crossterm0.17
ExclusiveArch: %{rust_arches}
- rust-crossterm0.19
ExclusiveArch: %{rust_arches}
- rust-crosstermion
ExclusiveArch: %{rust_arches}
- rust-crunchy
ExclusiveArch: %{rust_arches}
- rust-crypto-bigint
ExclusiveArch: %{rust_arches}
- rust-crypto-common
ExclusiveArch: %{rust_arches}
- rust-crypto-hash
ExclusiveArch: %{rust_arches}
- rust-crypto-mac
ExclusiveArch: %{rust_arches}
- rust-cryptoki
ExclusiveArch: %{rust_arches}
- rust-cryptoki-sys
ExclusiveArch: %{rust_arches}
- rust-csscolorparser
ExclusiveArch: %{rust_arches}
- rust-cssparser
ExclusiveArch: %{rust_arches}
- rust-cssparser-macros
ExclusiveArch: %{rust_arches}
- rust-cstr_core
ExclusiveArch: %{rust_arches}
- rust-csv
ExclusiveArch: %{rust_arches}
- rust-csv-core
ExclusiveArch: %{rust_arches}
- rust-ct-logs
ExclusiveArch: %{rust_arches}
- rust-ctr
ExclusiveArch: %{rust_arches}
- rust-ctr0.8
ExclusiveArch: %{rust_arches}
- rust-ctrlc
ExclusiveArch: %{rust_arches}
- rust-cty
ExclusiveArch: %{rust_arches}
- rust-curl
ExclusiveArch: %{rust_arches}
- rust-cursive-tabs
ExclusiveArch: %{rust_arches}
- rust-cursive_buffered_backend
ExclusiveArch: %{rust_arches}
- rust-custom_derive
ExclusiveArch: %{rust_arches}
- rust-custom_error
ExclusiveArch: %{rust_arches}
- rust-daemonize
ExclusiveArch: %{rust_arches}
- rust-darling0.12
ExclusiveArch: %{rust_arches}
- rust-darling_core0.12
ExclusiveArch: %{rust_arches}
- rust-darling_macro0.12
ExclusiveArch: %{rust_arches}
- rust-dashmap4
ExclusiveArch: %{rust_arches}
- rust-data-encoding-macro
ExclusiveArch: %{rust_arches}
- rust-data-encoding-macro-internal
ExclusiveArch: %{rust_arches}
- rust-data-url
ExclusiveArch: %{rust_arches}
- rust-datetime
ExclusiveArch: %{rust_arches}
- rust-dav1d-sys
ExclusiveArch: %{rust_arches}
- rust-dbus
ExclusiveArch: %{rust_arches}
- rust-dbus-codegen
ExclusiveArch: %{rust_arches}
- rust-dbus-crossroads
ExclusiveArch: %{rust_arches}
- rust-dbus-tokio
ExclusiveArch: %{rust_arches}
- rust-dbus-tree
ExclusiveArch: %{rust_arches}
- rust-dbus0.8
ExclusiveArch: %{rust_arches}
- rust-decimal
ExclusiveArch: %{rust_arches}
- rust-deflate
ExclusiveArch: %{rust_arches}
- rust-deflate0.8
ExclusiveArch: %{rust_arches}
- rust-defmac
ExclusiveArch: %{rust_arches}
- rust-deltae
ExclusiveArch: %{rust_arches}
- rust-der
ExclusiveArch: %{rust_arches}
- rust-der_derive
ExclusiveArch: %{rust_arches}
- rust-derivative
ExclusiveArch: %{rust_arches}
- rust-derive-new
ExclusiveArch: %{rust_arches}
- rust-derive_arbitrary0.4
ExclusiveArch: %{rust_arches}
- rust-derive_builder0.9
ExclusiveArch: %{rust_arches}
- rust-derive_builder_core0.9
ExclusiveArch: %{rust_arches}
- rust-derive_more
ExclusiveArch: %{rust_arches}
- rust-des
ExclusiveArch: %{rust_arches}
- rust-des0.7
ExclusiveArch: %{rust_arches}
- rust-desed
ExclusiveArch: %{rust_arches}
- rust-devicemapper
ExclusiveArch: %{rust_arches}
- rust-devicemapper-sys
ExclusiveArch: %{rust_arches}
- rust-dialoguer
ExclusiveArch: %{rust_arches}
- rust-diesel
ExclusiveArch: %{rust_arches}
- rust-diesel_derives
ExclusiveArch: %{rust_arches}
- rust-diff
ExclusiveArch: %{rust_arches}
- rust-difference
ExclusiveArch: %{rust_arches}
- rust-difflib
ExclusiveArch: %{rust_arches}
- rust-digest0.9
ExclusiveArch: %{rust_arches}
- rust-digest_auth
ExclusiveArch: %{rust_arches}
- rust-directories
ExclusiveArch: %{rust_arches}
- rust-directories-next
ExclusiveArch: %{rust_arches}
- rust-directories3
ExclusiveArch: %{rust_arches}
- rust-dirs
ExclusiveArch: %{rust_arches}
- rust-dirs-next
ExclusiveArch: %{rust_arches}
- rust-dirs-sys
ExclusiveArch: %{rust_arches}
- rust-dirs-sys-next
ExclusiveArch: %{rust_arches}
- rust-dirs2
ExclusiveArch: %{rust_arches}
- rust-dirs3
ExclusiveArch: %{rust_arches}
- rust-diskonaut
ExclusiveArch: %{rust_arches}
- rust-displaydoc
ExclusiveArch: %{rust_arches}
- rust-dlib
ExclusiveArch: %{rust_arches}
- rust-dns-lookup
ExclusiveArch: %{rust_arches}
- rust-doc-comment
ExclusiveArch: %{rust_arches}
- rust-docmatic
ExclusiveArch: %{rust_arches}
- rust-docopt
ExclusiveArch: %{rust_arches}
- rust-dotenv
ExclusiveArch: %{rust_arches}
- rust-downcast
ExclusiveArch: %{rust_arches}
- rust-downcast-rs
ExclusiveArch: %{rust_arches}
- rust-drg
ExclusiveArch: %{rust_arches}
- rust-dtoa
ExclusiveArch: %{rust_arches}
- rust-dtoa-short
ExclusiveArch: %{rust_arches}
- rust-dua-cli
ExclusiveArch: %{rust_arches}
- rust-duct
ExclusiveArch: %{rust_arches}
- rust-duct_sh
ExclusiveArch: %{rust_arches}
- rust-dummy
ExclusiveArch: %{rust_arches}
- rust-dunce
ExclusiveArch: %{rust_arches}
- rust-dutree
ExclusiveArch: %{rust_arches}
- rust-easy-cast
ExclusiveArch: %{rust_arches}
- rust-easy-parallel
ExclusiveArch: %{rust_arches}
- rust-edit
ExclusiveArch: %{rust_arches}
- rust-edit-distance
ExclusiveArch: %{rust_arches}
- rust-either
ExclusiveArch: %{rust_arches}
- rust-elf
ExclusiveArch: %{rust_arches}
- rust-elfcat
ExclusiveArch: %{rust_arches}
- rust-email-encoding
ExclusiveArch: %{rust_arches}
- rust-ena
ExclusiveArch: %{rust_arches}
- rust-encode_unicode
ExclusiveArch: %{rust_arches}
- rust-encoding
ExclusiveArch: %{rust_arches}
- rust-encoding-index-japanese
ExclusiveArch: %{rust_arches}
- rust-encoding-index-korean
ExclusiveArch: %{rust_arches}
- rust-encoding-index-simpchinese
ExclusiveArch: %{rust_arches}
- rust-encoding-index-singlebyte
ExclusiveArch: %{rust_arches}
- rust-encoding-index-tradchinese
ExclusiveArch: %{rust_arches}
- rust-encoding_index_tests
ExclusiveArch: %{rust_arches}
- rust-encoding_rs
ExclusiveArch: %{rust_arches}
- rust-encoding_rs_io
ExclusiveArch: %{rust_arches}
- rust-endian-type
ExclusiveArch: %{rust_arches}
- rust-enquote
ExclusiveArch: %{rust_arches}
- rust-entities
ExclusiveArch: %{rust_arches}
- rust-enum-as-inner
ExclusiveArch: %{rust_arches}
- rust-enum-iterator
ExclusiveArch: %{rust_arches}
- rust-enum-iterator-derive
ExclusiveArch: %{rust_arches}
- rust-enumflags2
ExclusiveArch: %{rust_arches}
- rust-enumflags2_0.6
ExclusiveArch: %{rust_arches}
- rust-enumflags2_derive
ExclusiveArch: %{rust_arches}
- rust-enumflags2_derive0.6
ExclusiveArch: %{rust_arches}
- rust-enumset
ExclusiveArch: %{rust_arches}
- rust-enumset_derive
ExclusiveArch: %{rust_arches}
- rust-env_logger0.4
ExclusiveArch: %{rust_arches}
- rust-env_logger0.5
ExclusiveArch: %{rust_arches}
- rust-env_logger0.6
ExclusiveArch: %{rust_arches}
- rust-env_logger0.7
ExclusiveArch: %{rust_arches}
- rust-env_logger0.8
ExclusiveArch: %{rust_arches}
- rust-env_proxy
ExclusiveArch: %{rust_arches}
- rust-environment
ExclusiveArch: %{rust_arches}
- rust-epoll
ExclusiveArch: %{rust_arches}
- rust-err-derive
ExclusiveArch: %{rust_arches}
- rust-errno
ExclusiveArch: %{rust_arches}
- rust-error-chain
ExclusiveArch: %{rust_arches}
- rust-escape_string
ExclusiveArch: %{rust_arches}
- rust-escargot
ExclusiveArch: %{rust_arches}
- rust-esphome
ExclusiveArch: %{rust_arches}
- rust-ethtool
ExclusiveArch: %{rust_arches}
- rust-event-listener
ExclusiveArch: %{rust_arches}
- rust-exa
ExclusiveArch: %{rust_arches}
- rust-executable-path
ExclusiveArch: %{rust_arches}
- rust-exitcode
ExclusiveArch: %{rust_arches}
- rust-exitfailure
ExclusiveArch: %{rust_arches}
- rust-expat-sys
ExclusiveArch: %{rust_arches}
- rust-eyre
ExclusiveArch: %{rust_arches}
- rust-faccess
ExclusiveArch: %{rust_arches}
- rust-fail
ExclusiveArch: %{rust_arches}
- rust-failure
ExclusiveArch: %{rust_arches}
- rust-failure-tools
ExclusiveArch: %{rust_arches}
- rust-failure_derive
ExclusiveArch: %{rust_arches}
- rust-fake
ExclusiveArch: %{rust_arches}
- rust-fake-simd
ExclusiveArch: %{rust_arches}
- rust-fallible-iterator
ExclusiveArch: %{rust_arches}
- rust-fallible-streaming-iterator
ExclusiveArch: %{rust_arches}
- rust-fastrand
ExclusiveArch: %{rust_arches}
- rust-fatfs
ExclusiveArch: %{rust_arches}
- rust-fb_procfs
ExclusiveArch: %{rust_arches}
- rust-fbthrift_codegen_includer_proc_macro
ExclusiveArch: %{rust_arches}
- rust-fd-find
ExclusiveArch: %{rust_arches}
- rust-fd-lock
ExclusiveArch: %{rust_arches}
- rust-fdlimit
ExclusiveArch: %{rust_arches}
- rust-fedora
ExclusiveArch: %{rust_arches}
- rust-fedora-update-feedback
ExclusiveArch: %{rust_arches}
- rust-femme
ExclusiveArch: %{rust_arches}
- rust-fern
ExclusiveArch: %{rust_arches}
- rust-field-offset
ExclusiveArch: %{rust_arches}
- rust-filedescriptor
ExclusiveArch: %{rust_arches}
- rust-filesize
ExclusiveArch: %{rust_arches}
- rust-filetreelist
ExclusiveArch: %{rust_arches}
- rust-find-crate
ExclusiveArch: %{rust_arches}
- rust-findshlibs
ExclusiveArch: %{rust_arches}
- rust-firestorm
ExclusiveArch: %{rust_arches}
- rust-fixed
ExclusiveArch: %{rust_arches}
- rust-fixedbitset
ExclusiveArch: %{rust_arches}
- rust-fixedbitset0.2
ExclusiveArch: %{rust_arches}
- rust-flate2
ExclusiveArch: %{rust_arches}
- rust-float-cmp
ExclusiveArch: %{rust_arches}
- rust-float-ord
ExclusiveArch: %{rust_arches}
- rust-fluent
ExclusiveArch: %{rust_arches}
- rust-flume
ExclusiveArch: %{rust_arches}
- rust-fn-error-context
ExclusiveArch: %{rust_arches}
- rust-fnv
ExclusiveArch: %{rust_arches}
- rust-font-kit
ExclusiveArch: %{rust_arches}
- rust-foreign-types
ExclusiveArch: %{rust_arches}
- rust-foreign-types-macros
ExclusiveArch: %{rust_arches}
- rust-foreign-types-shared
ExclusiveArch: %{rust_arches}
- rust-foreign-types-shared0.1
ExclusiveArch: %{rust_arches}
- rust-foreign-types0.3
ExclusiveArch: %{rust_arches}
- rust-format-bytes
ExclusiveArch: %{rust_arches}
- rust-format-bytes-macros
ExclusiveArch: %{rust_arches}
- rust-freetype
ExclusiveArch: %{rust_arches}
- rust-fs2
ExclusiveArch: %{rust_arches}
- rust-fs_extra
ExclusiveArch: %{rust_arches}
- rust-fscommon
ExclusiveArch: %{rust_arches}
- rust-fslock
ExclusiveArch: %{rust_arches}
- rust-funty
ExclusiveArch: %{rust_arches}
- rust-futf
ExclusiveArch: %{rust_arches}
- rust-futures-cpupool
ExclusiveArch: %{rust_arches}
- rust-futures-lite
ExclusiveArch: %{rust_arches}
- rust-futures-timer
ExclusiveArch: %{rust_arches}
- rust-futures0.1
ExclusiveArch: %{rust_arches}
- rust-fuzzy-matcher
ExclusiveArch: %{rust_arches}
- rust-fxhash
ExclusiveArch: %{rust_arches}
- rust-gag
ExclusiveArch: %{rust_arches}
- rust-generic-array
ExclusiveArch: %{rust_arches}
- rust-generic-array0.12
ExclusiveArch: %{rust_arches}
- rust-genetlink
ExclusiveArch: %{rust_arches}
- rust-getch
ExclusiveArch: %{rust_arches}
- rust-gethostname
ExclusiveArch: %{rust_arches}
- rust-getopts
ExclusiveArch: %{rust_arches}
- rust-getrandom0.1
ExclusiveArch: %{rust_arches}
- rust-getset
ExclusiveArch: %{rust_arches}
- rust-gettext-rs
ExclusiveArch: %{rust_arches}
- rust-gettext-sys
ExclusiveArch: %{rust_arches}
- rust-gh-emoji
ExclusiveArch: %{rust_arches}
- rust-ghash
ExclusiveArch: %{rust_arches}
- rust-gif
ExclusiveArch: %{rust_arches}
- rust-gimli
ExclusiveArch: %{rust_arches}
- rust-gir-format-check
ExclusiveArch: %{rust_arches}
- rust-git-delta
ExclusiveArch: %{rust_arches}
- rust-git-version
ExclusiveArch: %{rust_arches}
- rust-git-version-macro
ExclusiveArch: %{rust_arches}
- rust-git2
ExclusiveArch: %{rust_arches}
- rust-git2-curl
ExclusiveArch: %{rust_arches}
- rust-git2_0.13
ExclusiveArch: %{rust_arches}
- rust-gitui
ExclusiveArch: %{rust_arches}
- rust-gl_generator
ExclusiveArch: %{rust_arches}
- rust-glam
ExclusiveArch: %{rust_arches}
- rust-glob
ExclusiveArch: %{rust_arches}
- rust-globset
ExclusiveArch: %{rust_arches}
- rust-globwalk
ExclusiveArch: %{rust_arches}
- rust-glutin
ExclusiveArch: %{rust_arches}
- rust-glutin_egl_sys
ExclusiveArch: %{rust_arches}
- rust-glutin_glx_sys
ExclusiveArch: %{rust_arches}
- rust-goblin
ExclusiveArch: %{rust_arches}
- rust-gptman
ExclusiveArch: %{rust_arches}
- rust-greetd_ipc
ExclusiveArch: %{rust_arches}
- rust-grep
ExclusiveArch: %{rust_arches}
- rust-grep-cli
ExclusiveArch: %{rust_arches}
- rust-grep-matcher
ExclusiveArch: %{rust_arches}
- rust-grep-pcre2
ExclusiveArch: %{rust_arches}
- rust-grep-printer
ExclusiveArch: %{rust_arches}
- rust-grep-regex
ExclusiveArch: %{rust_arches}
- rust-grep-searcher
ExclusiveArch: %{rust_arches}
- rust-groupable
ExclusiveArch: %{rust_arches}
- rust-gstreamer
ExclusiveArch: %{rust_arches}
- rust-gstreamer-audio
ExclusiveArch: %{rust_arches}
- rust-gstreamer-audio-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-base
ExclusiveArch: %{rust_arches}
- rust-gstreamer-base-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-editing-services
ExclusiveArch: %{rust_arches}
- rust-gstreamer-editing-services-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-pbutils
ExclusiveArch: %{rust_arches}
- rust-gstreamer-pbutils-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-player
ExclusiveArch: %{rust_arches}
- rust-gstreamer-player-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-video
ExclusiveArch: %{rust_arches}
- rust-gstreamer-video-sys
ExclusiveArch: %{rust_arches}
- rust-gzip-header
ExclusiveArch: %{rust_arches}
- rust-half
ExclusiveArch: %{rust_arches}
- rust-hamcrest2
ExclusiveArch: %{rust_arches}
- rust-hamming
ExclusiveArch: %{rust_arches}
- rust-handlebars
ExclusiveArch: %{rust_arches}
- rust-hashbrown
ExclusiveArch: %{rust_arches}
- rust-hashbrown0.11
ExclusiveArch: %{rust_arches}
- rust-hashbrown0.9
ExclusiveArch: %{rust_arches}
- rust-hashlink
ExclusiveArch: %{rust_arches}
- rust-headers
ExclusiveArch: %{rust_arches}
- rust-headers-core
ExclusiveArch: %{rust_arches}
- rust-heapsize
ExclusiveArch: %{rust_arches}
- rust-heatseeker
ExclusiveArch: %{rust_arches}
- rust-heck
ExclusiveArch: %{rust_arches}
- rust-heck0.3
ExclusiveArch: %{rust_arches}
- rust-helvum
ExclusiveArch: %{rust_arches}
- rust-hex
ExclusiveArch: %{rust_arches}
- rust-hex-literal
ExclusiveArch: %{rust_arches}
- rust-hex-literal-impl
ExclusiveArch: %{rust_arches}
- rust-hex-literal0.2
ExclusiveArch: %{rust_arches}
- rust-hexyl
ExclusiveArch: %{rust_arches}
- rust-hidapi
ExclusiveArch: %{rust_arches}
- rust-hkdf
ExclusiveArch: %{rust_arches}
- rust-hkdf0.11
ExclusiveArch: %{rust_arches}
- rust-hmac
ExclusiveArch: %{rust_arches}
- rust-hmac0.11
ExclusiveArch: %{rust_arches}
- rust-home
ExclusiveArch: %{rust_arches}
- rust-hostname
ExclusiveArch: %{rust_arches}
- rust-hostname-validator
ExclusiveArch: %{rust_arches}
- rust-html2pango
ExclusiveArch: %{rust_arches}
- rust-http-body
ExclusiveArch: %{rust_arches}
- rust-http0.1
ExclusiveArch: %{rust_arches}
- rust-httparse
ExclusiveArch: %{rust_arches}
- rust-httpdate
ExclusiveArch: %{rust_arches}
- rust-human-panic
ExclusiveArch: %{rust_arches}
- rust-human-sort
ExclusiveArch: %{rust_arches}
- rust-humansize
ExclusiveArch: %{rust_arches}
- rust-humantime
ExclusiveArch: %{rust_arches}
- rust-humantime-serde
ExclusiveArch: %{rust_arches}
- rust-humantime1
ExclusiveArch: %{rust_arches}
- rust-hyper-rustls
ExclusiveArch: %{rust_arches}
- rust-hyper-tls
ExclusiveArch: %{rust_arches}
- rust-hyperfine
ExclusiveArch: %{rust_arches}
- rust-hyperlocal
ExclusiveArch: %{rust_arches}
- rust-i18n-config
ExclusiveArch: %{rust_arches}
- rust-i18n-embed
ExclusiveArch: %{rust_arches}
- rust-i18n-embed-fl
ExclusiveArch: %{rust_arches}
- rust-i18n-embed-impl
ExclusiveArch: %{rust_arches}
- rust-i3ipc
ExclusiveArch: %{rust_arches}
- rust-iai
ExclusiveArch: %{rust_arches}
- rust-id-arena
ExclusiveArch: %{rust_arches}
- rust-ident_case
ExclusiveArch: %{rust_arches}
- rust-idna0.1
ExclusiveArch: %{rust_arches}
- rust-ifcfg-devname
ExclusiveArch: %{rust_arches}
- rust-ignition-config
ExclusiveArch: %{rust_arches}
- rust-ignore
ExclusiveArch: %{rust_arches}
- rust-im-rc
ExclusiveArch: %{rust_arches}
- rust-image
ExclusiveArch: %{rust_arches}
- rust-image0.23
ExclusiveArch: %{rust_arches}
- rust-imgref
ExclusiveArch: %{rust_arches}
- rust-impls
ExclusiveArch: %{rust_arches}
- rust-indenter
ExclusiveArch: %{rust_arches}
- rust-indicatif
ExclusiveArch: %{rust_arches}
- rust-indicatif0.15
ExclusiveArch: %{rust_arches}
- rust-infer
ExclusiveArch: %{rust_arches}
- rust-inferno
ExclusiveArch: %{rust_arches}
- rust-inflate
ExclusiveArch: %{rust_arches}
- rust-inlinable_string
ExclusiveArch: %{rust_arches}
- rust-inotify
ExclusiveArch: %{rust_arches}
- rust-inotify-sys
ExclusiveArch: %{rust_arches}
- rust-inout
ExclusiveArch: %{rust_arches}
- rust-input_buffer
ExclusiveArch: %{rust_arches}
- rust-insta
ExclusiveArch: %{rust_arches}
- rust-instant
ExclusiveArch: %{rust_arches}
- rust-integer-encoding
ExclusiveArch: %{rust_arches}
- rust-interpolate_name
ExclusiveArch: %{rust_arches}
- rust-intervaltree
ExclusiveArch: %{rust_arches}
- rust-intl-memoizer
ExclusiveArch: %{rust_arches}
- rust-invalidstring
ExclusiveArch: %{rust_arches}
- rust-inventory
ExclusiveArch: %{rust_arches}
- rust-inventory-impl
ExclusiveArch: %{rust_arches}
- rust-inventory0.1
ExclusiveArch: %{rust_arches}
- rust-ioctl-rs
ExclusiveArch: %{rust_arches}
- rust-iocuddle
ExclusiveArch: %{rust_arches}
- rust-iovec
ExclusiveArch: %{rust_arches}
- rust-ipnetwork
ExclusiveArch: %{rust_arches}
- rust-ipnetwork0.17
ExclusiveArch: %{rust_arches}
- rust-iptables
ExclusiveArch: %{rust_arches}
- rust-is_ci
ExclusiveArch: %{rust_arches}
- rust-is_debug
ExclusiveArch: %{rust_arches}
- rust-is_executable
ExclusiveArch: %{rust_arches}
- rust-iso8601
ExclusiveArch: %{rust_arches}
- rust-iter-read
ExclusiveArch: %{rust_arches}
- rust-itertools
ExclusiveArch: %{rust_arches}
- rust-itertools-num
ExclusiveArch: %{rust_arches}
- rust-itertools0.8
ExclusiveArch: %{rust_arches}
- rust-itertools0.9
ExclusiveArch: %{rust_arches}
- rust-itoa0.4
ExclusiveArch: %{rust_arches}
- rust-ivf
ExclusiveArch: %{rust_arches}
- rust-jobserver
ExclusiveArch: %{rust_arches}
- rust-josekit
ExclusiveArch: %{rust_arches}
- rust-jpeg-decoder
ExclusiveArch: %{rust_arches}
- rust-jpeg-decoder0.1
ExclusiveArch: %{rust_arches}
- rust-json
ExclusiveArch: %{rust_arches}
- rust-json5
ExclusiveArch: %{rust_arches}
- rust-just
ExclusiveArch: %{rust_arches}
- rust-k9
ExclusiveArch: %{rust_arches}
- rust-khronos_api
ExclusiveArch: %{rust_arches}
- rust-konst
ExclusiveArch: %{rust_arches}
- rust-konst_macro_rules
ExclusiveArch: %{rust_arches}
- rust-konst_proc_macros
ExclusiveArch: %{rust_arches}
- rust-krunvm
ExclusiveArch: x86_64 aarch64
- rust-kstring
ExclusiveArch: %{rust_arches}
- rust-kv-log-macro
ExclusiveArch: %{rust_arches}
- rust-kvm-bindings
ExclusiveArch: %{rust_arches}
- rust-kvm-ioctls
ExclusiveArch: x86_64 aarch64
- rust-lalrpop
ExclusiveArch: %{rust_arches}
- rust-lalrpop-util
ExclusiveArch: %{rust_arches}
- rust-language-tags
ExclusiveArch: %{rust_arches}
- rust-lazy_static
ExclusiveArch: %{rust_arches}
- rust-lazycell
ExclusiveArch: %{rust_arches}
- rust-leb128
ExclusiveArch: %{rust_arches}
- rust-lebe
ExclusiveArch: %{rust_arches}
- rust-lev_distance
ExclusiveArch: %{rust_arches}
- rust-lexiclean
ExclusiveArch: %{rust_arches}
- rust-lexopt
ExclusiveArch: %{rust_arches}
- rust-libblkid-rs
ExclusiveArch: %{rust_arches}
- rust-libblkid-rs-sys
ExclusiveArch: %{rust_arches}
- rust-libbpf-cargo
ExclusiveArch: %{rust_arches}
- rust-libcryptsetup-rs
ExclusiveArch: %{rust_arches}
- rust-libcryptsetup-rs-sys
ExclusiveArch: %{rust_arches}
- rust-libdbus-sys
ExclusiveArch: %{rust_arches}
- rust-libflate
ExclusiveArch: %{rust_arches}
- rust-libflate_lz77
ExclusiveArch: %{rust_arches}
- rust-libgit2-sys
ExclusiveArch: %{rust_arches}
- rust-libgit2-sys0.12
ExclusiveArch: %{rust_arches}
- rust-libhandy
ExclusiveArch: %{rust_arches}
- rust-libhandy-sys
ExclusiveArch: %{rust_arches}
- rust-libmount
ExclusiveArch: %{rust_arches}
- rust-liboverdrop
ExclusiveArch: %{rust_arches}
- rust-libpulse-binding
ExclusiveArch: %{rust_arches}
- rust-libpulse-sys
ExclusiveArch: %{rust_arches}
- rust-libseccomp-sys
ExclusiveArch: %{rust_arches}
- rust-libslirp
ExclusiveArch: %{rust_arches}
- rust-libslirp-sys
ExclusiveArch: %{rust_arches}
- rust-libsodium-sys
ExclusiveArch: %{rust_arches}
- rust-libspa
ExclusiveArch: %{rust_arches}
- rust-libspa-sys
ExclusiveArch: %{rust_arches}
- rust-libsqlite3-sys
ExclusiveArch: %{rust_arches}
- rust-libssh2-sys
ExclusiveArch: %{rust_arches}
- rust-libsystemd
ExclusiveArch: %{rust_arches}
- rust-libudev-sys
ExclusiveArch: %{rust_arches}
- rust-libxml
ExclusiveArch: %{rust_arches}
- rust-libz-sys
ExclusiveArch: %{rust_arches}
- rust-line-wrap
ExclusiveArch: %{rust_arches}
- rust-linked-hash-map
ExclusiveArch: %{rust_arches}
- rust-linkify
ExclusiveArch: %{rust_arches}
- rust-lino
ExclusiveArch: %{rust_arches}
- rust-linreg
ExclusiveArch: %{rust_arches}
- rust-linux_proc
ExclusiveArch: %{rust_arches}
- rust-lipsum
ExclusiveArch: %{rust_arches}
- rust-listenfd
ExclusiveArch: %{rust_arches}
- rust-lmdb
ExclusiveArch: %{rust_arches}
- rust-lmdb-sys
ExclusiveArch: %{rust_arches}
- rust-local-channel
ExclusiveArch: %{rust_arches}
- rust-local-encoding
ExclusiveArch: %{rust_arches}
- rust-local-waker
ExclusiveArch: %{rust_arches}
- rust-local_ipaddress
ExclusiveArch: %{rust_arches}
- rust-locale
ExclusiveArch: %{rust_arches}
- rust-locale_config
ExclusiveArch: %{rust_arches}
- rust-lock_api
ExclusiveArch: %{rust_arches}
- rust-log
ExclusiveArch: %{rust_arches}
- rust-log-mdc
ExclusiveArch: %{rust_arches}
- rust-log-panics
ExclusiveArch: %{rust_arches}
- rust-log0.3
ExclusiveArch: %{rust_arches}
- rust-loggerv
ExclusiveArch: %{rust_arches}
- rust-loopdev
ExclusiveArch: %{rust_arches}
- rust-lru-cache
ExclusiveArch: %{rust_arches}
- rust-lscolors
ExclusiveArch: %{rust_arches}
- rust-lsd
ExclusiveArch: %{rust_arches}
- rust-lzw
ExclusiveArch: %{rust_arches}
- rust-mac
ExclusiveArch: %{rust_arches}
- rust-mac_address
ExclusiveArch: %{rust_arches}
- rust-macro-attr
ExclusiveArch: %{rust_arches}
- rust-madvr_parse
ExclusiveArch: %{rust_arches}
- rust-maildir
ExclusiveArch: %{rust_arches}
- rust-mailparse
ExclusiveArch: %{rust_arches}
- rust-man
ExclusiveArch: %{rust_arches}
- rust-maplit
ExclusiveArch: %{rust_arches}
- rust-markup5ever
ExclusiveArch: %{rust_arches}
- rust-markup5ever_rcdom
ExclusiveArch: %{rust_arches}
- rust-match_cfg
ExclusiveArch: %{rust_arches}
- rust-matches
ExclusiveArch: %{rust_arches}
- rust-matrixcompare
ExclusiveArch: %{rust_arches}
- rust-matrixcompare-core
ExclusiveArch: %{rust_arches}
- rust-matrixcompare-mock
ExclusiveArch: %{rust_arches}
- rust-matrixmultiply
ExclusiveArch: %{rust_arches}
- rust-maybe-uninit
ExclusiveArch: %{rust_arches}
- rust-mbox
ExclusiveArch: %{rust_arches}
- rust-mbrman
ExclusiveArch: %{rust_arches}
- rust-md-5
ExclusiveArch: %{rust_arches}
- rust-md-5_0.9
ExclusiveArch: %{rust_arches}
- rust-md5
ExclusiveArch: %{rust_arches}
- rust-mdl
ExclusiveArch: %{rust_arches}
- rust-memcached-rs
ExclusiveArch: %{rust_arches}
- rust-memchr
ExclusiveArch: %{rust_arches}
- rust-memmap
ExclusiveArch: %{rust_arches}
- rust-memmap2_0.3
ExclusiveArch: %{rust_arches}
- rust-memmem
ExclusiveArch: %{rust_arches}
- rust-memoffset0.5
ExclusiveArch: %{rust_arches}
- rust-memsec
ExclusiveArch: %{rust_arches}
- rust-micro-timer
ExclusiveArch: %{rust_arches}
- rust-micro-timer-macros
ExclusiveArch: %{rust_arches}
- rust-mime
ExclusiveArch: %{rust_arches}
- rust-minimad
ExclusiveArch: %{rust_arches}
- rust-minimal-lexical
ExclusiveArch: %{rust_arches}
- rust-miniz_oxide
ExclusiveArch: %{rust_arches}
- rust-miniz_oxide0.3
ExclusiveArch: %{rust_arches}
- rust-mint
ExclusiveArch: %{rust_arches}
- rust-mio-extras
ExclusiveArch: %{rust_arches}
- rust-mio-uds
ExclusiveArch: %{rust_arches}
- rust-mio0.6
ExclusiveArch: %{rust_arches}
- rust-mio0.7
ExclusiveArch: %{rust_arches}
- rust-mktemp
ExclusiveArch: %{rust_arches}
- rust-mnt
ExclusiveArch: %{rust_arches}
- rust-mockall_double
ExclusiveArch: %{rust_arches}
- rust-mockito
ExclusiveArch: %{rust_arches}
- rust-mptcp-pm
ExclusiveArch: %{rust_arches}
- rust-multer
ExclusiveArch: %{rust_arches}
- rust-multimap
ExclusiveArch: %{rust_arches}
- rust-mustache
ExclusiveArch: %{rust_arches}
- rust-nalgebra-macros
ExclusiveArch: %{rust_arches}
- rust-nanorand
ExclusiveArch: %{rust_arches}
- rust-nasm-rs
ExclusiveArch: %{rust_arches}
- rust-natord
ExclusiveArch: %{rust_arches}
- rust-navi
ExclusiveArch: %{rust_arches}
- rust-nb-connect
ExclusiveArch: %{rust_arches}
- rust-ncurses
ExclusiveArch: %{rust_arches}
- rust-netlink-packet-core
ExclusiveArch: %{rust_arches}
- rust-netlink-packet-generic
ExclusiveArch: %{rust_arches}
- rust-netlink-packet-route
ExclusiveArch: %{rust_arches}
- rust-netlink-packet-utils
ExclusiveArch: %{rust_arches}
- rust-netlink-proto
ExclusiveArch: %{rust_arches}
- rust-netlink-sys
ExclusiveArch: %{rust_arches}
- rust-netmap_sys
ExclusiveArch: %{rust_arches}
- rust-netstat2
ExclusiveArch: %{rust_arches}
- rust-nettle
ExclusiveArch: %{rust_arches}
- rust-nettle-sys
ExclusiveArch: %{rust_arches}
- rust-new_debug_unreachable
ExclusiveArch: %{rust_arches}
- rust-newtype_derive
ExclusiveArch: %{rust_arches}
- rust-nix
ExclusiveArch: %{rust_arches}
- rust-nix0.14
ExclusiveArch: %{rust_arches}
- rust-nix0.17
ExclusiveArch: %{rust_arches}
- rust-nix0.18
ExclusiveArch: %{rust_arches}
- rust-nix0.20
ExclusiveArch: %{rust_arches}
- rust-nix0.22
ExclusiveArch: %{rust_arches}
- rust-nix0.23
ExclusiveArch: %{rust_arches}
- rust-nodrop
ExclusiveArch: %{rust_arches}
- rust-nohash-hasher
ExclusiveArch: %{rust_arches}
- rust-nom
ExclusiveArch: %{rust_arches}
- rust-nom4
ExclusiveArch: %{rust_arches}
- rust-nom5
ExclusiveArch: %{rust_arches}
- rust-noop_proc_macro
ExclusiveArch: %{rust_arches}
- rust-normalize-line-endings
ExclusiveArch: %{rust_arches}
- rust-notify
ExclusiveArch: %{rust_arches}
- rust-notify-rust
ExclusiveArch: %{rust_arches}
- rust-nu-ansi-term
ExclusiveArch: %{rust_arches}
- rust-nu-engine
ExclusiveArch: %{rust_arches}
- rust-nu-glob
ExclusiveArch: %{rust_arches}
- rust-nu-json
ExclusiveArch: %{rust_arches}
- rust-nu-parser
ExclusiveArch: %{rust_arches}
- rust-nu-path
ExclusiveArch: %{rust_arches}
- rust-nu-plugin
ExclusiveArch: %{rust_arches}
- rust-nu-protocol
ExclusiveArch: %{rust_arches}
- rust-nu-system
ExclusiveArch: %{rust_arches}
- rust-nu-utils
ExclusiveArch: %{rust_arches}
- rust-num
ExclusiveArch: %{rust_arches}
- rust-num-bigint
ExclusiveArch: %{rust_arches}
- rust-num-bigint-dig
ExclusiveArch: %{rust_arches}
- rust-num-bigint0.3
ExclusiveArch: %{rust_arches}
- rust-num-complex
ExclusiveArch: %{rust_arches}
- rust-num-complex0.3
ExclusiveArch: %{rust_arches}
- rust-num-derive
ExclusiveArch: %{rust_arches}
- rust-num-integer
ExclusiveArch: %{rust_arches}
- rust-num-iter
ExclusiveArch: %{rust_arches}
- rust-num-rational
ExclusiveArch: %{rust_arches}
- rust-num-rational0.3
ExclusiveArch: %{rust_arches}
- rust-num-traits
ExclusiveArch: %{rust_arches}
- rust-num-traits0.1
ExclusiveArch: %{rust_arches}
- rust-num0.3
ExclusiveArch: %{rust_arches}
- rust-num_enum
ExclusiveArch: %{rust_arches}
- rust-num_enum_derive
ExclusiveArch: %{rust_arches}
- rust-num_threads
ExclusiveArch: %{rust_arches}
- rust-number_prefix
ExclusiveArch: %{rust_arches}
- rust-numtoa
ExclusiveArch: %{rust_arches}
- rust-oauth2
ExclusiveArch: %{rust_arches}
- rust-object
ExclusiveArch: %{rust_arches}
- rust-odds
ExclusiveArch: %{rust_arches}
- rust-oid
ExclusiveArch: %{rust_arches}
- rust-once_cell
ExclusiveArch: %{rust_arches}
- rust-onig
ExclusiveArch: %{rust_arches}
- rust-onig_sys
ExclusiveArch: %{rust_arches}
- rust-opaque-debug
ExclusiveArch: %{rust_arches}
- rust-openat
ExclusiveArch: %{rust_arches}
- rust-openat-ext
ExclusiveArch: %{rust_arches}
- rust-opener
ExclusiveArch: %{rust_arches}
- rust-openssh-keys
ExclusiveArch: %{rust_arches}
- rust-openssl-kdf
ExclusiveArch: %{rust_arches}
- rust-openssl-macros
ExclusiveArch: %{rust_arches}
- rust-openssl-probe
ExclusiveArch: %{rust_arches}
- rust-option-operations
ExclusiveArch: %{rust_arches}
- rust-ord_subset
ExclusiveArch: %{rust_arches}
- rust-ordered-float2
ExclusiveArch: %{rust_arches}
- rust-ordered-stream
ExclusiveArch: %{rust_arches}
- rust-os-release
ExclusiveArch: %{rust_arches}
- rust-os_display
ExclusiveArch: %{rust_arches}
- rust-os_info
ExclusiveArch: %{rust_arches}
- rust-os_pipe0.9
ExclusiveArch: %{rust_arches}
- rust-os_type
ExclusiveArch: %{rust_arches}
- rust-osmesa-sys
ExclusiveArch: %{rust_arches}
- rust-osstrtools
ExclusiveArch: %{rust_arches}
- rust-ouroboros
ExclusiveArch: %{rust_arches}
- rust-ouroboros_macro
ExclusiveArch: %{rust_arches}
- rust-overload
ExclusiveArch: %{rust_arches}
- rust-owning_ref
ExclusiveArch: %{rust_arches}
- rust-owo-colors
ExclusiveArch: %{rust_arches}
- rust-packaging
ExclusiveArch: %{rust_arches}
- rust-pad
ExclusiveArch: %{rust_arches}
- rust-page_size
ExclusiveArch: %{rust_arches}
- rust-pager
ExclusiveArch: %{rust_arches}
- rust-palette_derive
ExclusiveArch: %{rust_arches}
- rust-pam
ExclusiveArch: %{rust_arches}
- rust-pam-sys
ExclusiveArch: %{rust_arches}
- rust-pancurses
ExclusiveArch: %{rust_arches}
- rust-paris
ExclusiveArch: %{rust_arches}
- rust-parking
ExclusiveArch: %{rust_arches}
- rust-parking_lot
ExclusiveArch: %{rust_arches}
- rust-parking_lot0.11
ExclusiveArch: %{rust_arches}
- rust-parse-zoneinfo
ExclusiveArch: %{rust_arches}
- rust-parse_cfg
ExclusiveArch: %{rust_arches}
- rust-parsec-client
ExclusiveArch: %{rust_arches}
- rust-parsec-interface
ExclusiveArch: %{rust_arches}
- rust-partition-identity
ExclusiveArch: %{rust_arches}
- rust-passwd
ExclusiveArch: %{rust_arches}
- rust-password-hash
ExclusiveArch: %{rust_arches}
- rust-path-slash
ExclusiveArch: %{rust_arches}
- rust-pathdiff
ExclusiveArch: %{rust_arches}
- rust-pathfinder_geometry
ExclusiveArch: %{rust_arches}
- rust-pathfinder_simd
ExclusiveArch: %{rust_arches}
- rust-pathsearch
ExclusiveArch: %{rust_arches}
- rust-pbkdf2
ExclusiveArch: %{rust_arches}
- rust-pcap
ExclusiveArch: %{rust_arches}
- rust-pcre2
ExclusiveArch: %{rust_arches}
- rust-pcre2-sys
ExclusiveArch: %{rust_arches}
- rust-peeking_take_while
ExclusiveArch: %{rust_arches}
- rust-peg
ExclusiveArch: %{rust_arches}
- rust-peg-macros
ExclusiveArch: %{rust_arches}
- rust-peg-runtime
ExclusiveArch: %{rust_arches}
- rust-peg0.5
ExclusiveArch: %{rust_arches}
- rust-pem-rfc7468
ExclusiveArch: %{rust_arches}
- rust-pem0.8
ExclusiveArch: %{rust_arches}
- rust-percent-encoding
ExclusiveArch: %{rust_arches}
- rust-percent-encoding1
ExclusiveArch: %{rust_arches}
- rust-peresil
ExclusiveArch: %{rust_arches}
- rust-permutate
ExclusiveArch: %{rust_arches}
- rust-permutohedron
ExclusiveArch: %{rust_arches}
- rust-pest
ExclusiveArch: %{rust_arches}
- rust-pest_derive
ExclusiveArch: %{rust_arches}
- rust-pest_generator
ExclusiveArch: %{rust_arches}
- rust-pest_meta
ExclusiveArch: %{rust_arches}
- rust-petgraph
ExclusiveArch: %{rust_arches}
- rust-petgraph0.5
ExclusiveArch: %{rust_arches}
- rust-phf
ExclusiveArch: %{rust_arches}
- rust-phf0.8
ExclusiveArch: %{rust_arches}
- rust-phf_codegen
ExclusiveArch: %{rust_arches}
- rust-phf_macros
ExclusiveArch: %{rust_arches}
- rust-phf_macros0.8
ExclusiveArch: %{rust_arches}
- rust-phf_shared
ExclusiveArch: %{rust_arches}
- rust-phf_shared0.8
ExclusiveArch: %{rust_arches}
- rust-picky-asn1
ExclusiveArch: %{rust_arches}
- rust-picky-asn1-der
ExclusiveArch: %{rust_arches}
- rust-picky-asn1-x509
ExclusiveArch: %{rust_arches}
- rust-pico-args
ExclusiveArch: %{rust_arches}
- rust-pid
ExclusiveArch: %{rust_arches}
- rust-pin-project
ExclusiveArch: %{rust_arches}
- rust-pin-project-internal
ExclusiveArch: %{rust_arches}
- rust-pin-project-internal0.4
ExclusiveArch: %{rust_arches}
- rust-pin-project-lite
ExclusiveArch: %{rust_arches}
- rust-pin-project-lite0.1
ExclusiveArch: %{rust_arches}
- rust-pin-project0.4
ExclusiveArch: %{rust_arches}
- rust-pin-utils
ExclusiveArch: %{rust_arches}
- rust-piper
ExclusiveArch: %{rust_arches}
- rust-pipewire
ExclusiveArch: %{rust_arches}
- rust-pipewire-sys
ExclusiveArch: %{rust_arches}
- rust-pkcs1
ExclusiveArch: %{rust_arches}
- rust-pkcs5
ExclusiveArch: %{rust_arches}
- rust-pkcs8
ExclusiveArch: %{rust_arches}
- rust-plain
ExclusiveArch: %{rust_arches}
- rust-platform-info
ExclusiveArch: %{rust_arches}
- rust-plist
ExclusiveArch: %{rust_arches}
- rust-plotlib
ExclusiveArch: %{rust_arches}
- rust-pnet_base
ExclusiveArch: %{rust_arches}
- rust-pnet_datalink
ExclusiveArch: %{rust_arches}
- rust-pnet_sys
ExclusiveArch: %{rust_arches}
- rust-png
ExclusiveArch: %{rust_arches}
- rust-png0.16
ExclusiveArch: %{rust_arches}
- rust-podio
ExclusiveArch: %{rust_arches}
- rust-polyval
ExclusiveArch: %{rust_arches}
- rust-pom
ExclusiveArch: %{rust_arches}
- rust-pq-sys
ExclusiveArch: %{rust_arches}
- rust-precomputed-hash
ExclusiveArch: %{rust_arches}
- rust-predicates
ExclusiveArch: %{rust_arches}
- rust-predicates-tree
ExclusiveArch: %{rust_arches}
- rust-predicates1
ExclusiveArch: %{rust_arches}
- rust-pretty-bytes
ExclusiveArch: %{rust_arches}
- rust-pretty-git-prompt
ExclusiveArch: %{rust_arches}
- rust-pretty-hex
ExclusiveArch: %{rust_arches}
- rust-pretty_assertions
ExclusiveArch: %{rust_arches}
- rust-pretty_assertions0.6
ExclusiveArch: %{rust_arches}
- rust-pretty_assertions0.7
ExclusiveArch: %{rust_arches}
- rust-pretty_env_logger
ExclusiveArch: %{rust_arches}
- rust-prettytable-rs
ExclusiveArch: %{rust_arches}
- rust-primal-bit
ExclusiveArch: %{rust_arches}
- rust-primal-check
ExclusiveArch: %{rust_arches}
- rust-primal-estimate
ExclusiveArch: %{rust_arches}
- rust-primal-sieve
ExclusiveArch: %{rust_arches}
- rust-proc-macro-crate
ExclusiveArch: %{rust_arches}
- rust-proc-macro-crate0.1
ExclusiveArch: %{rust_arches}
- rust-proc-macro-error
ExclusiveArch: %{rust_arches}
- rust-proc-macro-error-attr
ExclusiveArch: %{rust_arches}
- rust-proc-macro-hack
ExclusiveArch: %{rust_arches}
- rust-proc-macro2-0.4
ExclusiveArch: %{rust_arches}
- rust-proc-maps
ExclusiveArch: %{rust_arches}
- rust-proc-mounts
ExclusiveArch: %{rust_arches}
- rust-proc-quote-impl
ExclusiveArch: %{rust_arches}
- rust-process_control
ExclusiveArch: %{rust_arches}
- rust-process_path
ExclusiveArch: %{rust_arches}
- rust-procfs
ExclusiveArch: %{rust_arches}
- rust-procfs0.9
ExclusiveArch: %{rust_arches}
- rust-procs
ExclusiveArch: %{rust_arches}
- rust-progress-streams
ExclusiveArch: %{rust_arches}
- rust-prometheus
ExclusiveArch: %{rust_arches}
- rust-proptest
ExclusiveArch: %{rust_arches}
- rust-proptest0.10
ExclusiveArch: %{rust_arches}
- rust-prost
ExclusiveArch: %{rust_arches}
- rust-prost-build
ExclusiveArch: %{rust_arches}
- rust-prost-derive
ExclusiveArch: %{rust_arches}
- rust-prost-derive0.8
ExclusiveArch: %{rust_arches}
- rust-prost-types
ExclusiveArch: %{rust_arches}
- rust-prost0.8
ExclusiveArch: %{rust_arches}
- rust-protobuf
ExclusiveArch: %{rust_arches}
- rust-protobuf-codegen
ExclusiveArch: %{rust_arches}
- rust-protobuf-codegen-pure
ExclusiveArch: %{rust_arches}
- rust-protoc
ExclusiveArch: %{rust_arches}
- rust-protoc-rust
ExclusiveArch: %{rust_arches}
- rust-psa-crypto
ExclusiveArch: %{rust_arches}
- rust-psa-crypto-sys
ExclusiveArch: %{rust_arches}
- rust-psl-types
ExclusiveArch: %{rust_arches}
- rust-psm
ExclusiveArch: %{rust_arches}
- rust-ptr_meta
ExclusiveArch: %{rust_arches}
- rust-ptr_meta_derive
ExclusiveArch: %{rust_arches}
- rust-publicsuffix
ExclusiveArch: %{rust_arches}
- rust-pulse
ExclusiveArch: %{rust_arches}
- rust-pure-rust-locales
ExclusiveArch: %{rust_arches}
- rust-pwd
ExclusiveArch: %{rust_arches}
- rust-pyo3
ExclusiveArch: %{rust_arches}
- rust-pyo3-build-config
ExclusiveArch: %{rust_arches}
- rust-pyo3-macros
ExclusiveArch: %{rust_arches}
- rust-pyo3-macros-backend
ExclusiveArch: %{rust_arches}
- rust-python-launcher
ExclusiveArch: %{rust_arches}
- rust-qstring
ExclusiveArch: %{rust_arches}
- rust-quantiles
ExclusiveArch: %{rust_arches}
- rust-quick-error
ExclusiveArch: %{rust_arches}
- rust-quick-error1
ExclusiveArch: %{rust_arches}
- rust-quick-xml0.22
ExclusiveArch: %{rust_arches}
- rust-quickcheck
ExclusiveArch: %{rust_arches}
- rust-quickcheck0.6
ExclusiveArch: %{rust_arches}
- rust-quickcheck0.9
ExclusiveArch: %{rust_arches}
- rust-quickcheck_macros
ExclusiveArch: %{rust_arches}
- rust-quickersort
ExclusiveArch: %{rust_arches}
- rust-quicli
ExclusiveArch: %{rust_arches}
- rust-quote0.3
ExclusiveArch: %{rust_arches}
- rust-quote0.6
ExclusiveArch: %{rust_arches}
- rust-r2d2
ExclusiveArch: %{rust_arches}
- rust-radium
ExclusiveArch: %{rust_arches}
- rust-rand
ExclusiveArch: %{rust_arches}
- rust-rand0.4
ExclusiveArch: %{rust_arches}
- rust-rand0.5
ExclusiveArch: %{rust_arches}
- rust-rand0.6
ExclusiveArch: %{rust_arches}
- rust-rand0.7
ExclusiveArch: %{rust_arches}
- rust-rand_chacha
ExclusiveArch: %{rust_arches}
- rust-rand_chacha0.1
ExclusiveArch: %{rust_arches}
- rust-rand_chacha0.2
ExclusiveArch: %{rust_arches}
- rust-rand_core
ExclusiveArch: %{rust_arches}
- rust-rand_core0.3
ExclusiveArch: %{rust_arches}
- rust-rand_core0.4
ExclusiveArch: %{rust_arches}
- rust-rand_core0.5
ExclusiveArch: %{rust_arches}
- rust-rand_distr
ExclusiveArch: %{rust_arches}
- rust-rand_hc
ExclusiveArch: %{rust_arches}
- rust-rand_hc0.1
ExclusiveArch: %{rust_arches}
- rust-rand_isaac
ExclusiveArch: %{rust_arches}
- rust-rand_isaac0.1
ExclusiveArch: %{rust_arches}
- rust-rand_jitter
ExclusiveArch: %{rust_arches}
- rust-rand_jitter0.1
ExclusiveArch: %{rust_arches}
- rust-rand_os
ExclusiveArch: %{rust_arches}
- rust-rand_os0.1
ExclusiveArch: %{rust_arches}
- rust-rand_pcg
ExclusiveArch: %{rust_arches}
- rust-rand_pcg0.1
ExclusiveArch: %{rust_arches}
- rust-rand_pcg0.2
ExclusiveArch: %{rust_arches}
- rust-rand_xorshift
ExclusiveArch: %{rust_arches}
- rust-rand_xorshift0.1
ExclusiveArch: %{rust_arches}
- rust-rand_xorshift0.2
ExclusiveArch: %{rust_arches}
- rust-rand_xoshiro
ExclusiveArch: %{rust_arches}
- rust-random
ExclusiveArch: %{rust_arches}
- rust-random-fast-rng
ExclusiveArch: %{rust_arches}
- rust-random-trait
ExclusiveArch: %{rust_arches}
- rust-randomize
ExclusiveArch: %{rust_arches}
- rust-rav1e
ExclusiveArch: %{rust_arches}
- rust-raw-window-handle
ExclusiveArch: %{rust_arches}
- rust-rawpointer
ExclusiveArch: %{rust_arches}
- rust-rawslice
ExclusiveArch: %{rust_arches}
- rust-rbspy
ExclusiveArch: %{rust_arches}
- rust-rbspy-ruby-structs
ExclusiveArch: %{rust_arches}
- rust-rbspy-testdata
ExclusiveArch: %{rust_arches}
- rust-rctree
ExclusiveArch: %{rust_arches}
- rust-rd-agent
ExclusiveArch: %{rust_arches}
- rust-rd-agent-intf
ExclusiveArch: %{rust_arches}
- rust-rd-hashd
ExclusiveArch: %{rust_arches}
- rust-rd-hashd-intf
ExclusiveArch: %{rust_arches}
- rust-rd-util
ExclusiveArch: %{rust_arches}
- rust-read-process-memory
ExclusiveArch: %{rust_arches}
- rust-read_input
ExclusiveArch: %{rust_arches}
- rust-readwrite
ExclusiveArch: %{rust_arches}
- rust-regex-automata
ExclusiveArch: %{rust_arches}
- rust-region
ExclusiveArch: %{rust_arches}
- rust-relay
ExclusiveArch: %{rust_arches}
- rust-remoteprocess
ExclusiveArch: %{rust_arches}
- rust-remove_dir_all
ExclusiveArch: %{rust_arches}
- rust-rend
ExclusiveArch: %{rust_arches}
- rust-reqwest
ExclusiveArch: %{rust_arches}
- rust-resctl-bench
ExclusiveArch: %{rust_arches}
- rust-resctl-bench-intf
ExclusiveArch: %{rust_arches}
- rust-resctl-demo
ExclusiveArch: %{rust_arches}
- rust-resize
ExclusiveArch: %{rust_arches}
- rust-resolv-conf
ExclusiveArch: %{rust_arches}
- rust-retry
ExclusiveArch: %{rust_arches}
- rust-rgb
ExclusiveArch: %{rust_arches}
- rust-ring
ExclusiveArch: %{rust_arches}
- rust-ripgrep
ExclusiveArch: %{rust_arches}
- rust-rkyv
ExclusiveArch: %{rust_arches}
- rust-rkyv_derive
ExclusiveArch: %{rust_arches}
- rust-rle-decode-fast
ExclusiveArch: %{rust_arches}
- rust-rmp
ExclusiveArch: %{rust_arches}
- rust-rmp-serde
ExclusiveArch: %{rust_arches}
- rust-rmpv
ExclusiveArch: %{rust_arches}
- rust-roff
ExclusiveArch: %{rust_arches}
- rust-ron
ExclusiveArch: %{rust_arches}
- rust-rpassword
ExclusiveArch: %{rust_arches}
- rust-rpick
ExclusiveArch: %{rust_arches}
- rust-rsa
ExclusiveArch: %{rust_arches}
- rust-rspec
ExclusiveArch: %{rust_arches}
- rust-rtnetlink
ExclusiveArch: %{rust_arches}
- rust-rusqlite
ExclusiveArch: %{rust_arches}
- rust-rust_decimal
ExclusiveArch: %{rust_arches}
- rust-rustbus_derive
ExclusiveArch: %{rust_arches}
- rust-rustc-hash
ExclusiveArch: %{rust_arches}
- rust-rustc-serialize
ExclusiveArch: %{rust_arches}
- rust-rustc-test
ExclusiveArch: %{rust_arches}
- rust-rustc_tools_util
ExclusiveArch: %{rust_arches}
- rust-rustc_version
ExclusiveArch: %{rust_arches}
- rust-rustc_version0.3
ExclusiveArch: %{rust_arches}
- rust-rustcat
ExclusiveArch: %{rust_arches}
- rust-rustdoc-stripper
ExclusiveArch: %{rust_arches}
- rust-rustfilt
ExclusiveArch: %{rust_arches}
- rust-rustfix
ExclusiveArch: %{rust_arches}
- rust-rustls-native-certs
ExclusiveArch: %{rust_arches}
- rust-rustls-pemfile
ExclusiveArch: %{rust_arches}
- rust-rusty-fork
ExclusiveArch: %{rust_arches}
- rust-rustyline
ExclusiveArch: %{rust_arches}
- rust-rustyline-derive
ExclusiveArch: %{rust_arches}
- rust-safe-transmute
ExclusiveArch: %{rust_arches}
- rust-safe_arch
ExclusiveArch: %{rust_arches}
- rust-safemem
ExclusiveArch: %{rust_arches}
- rust-salsa20
ExclusiveArch: %{rust_arches}
- rust-same-file
ExclusiveArch: %{rust_arches}
- rust-scan_fmt
ExclusiveArch: %{rust_arches}
- rust-scheduled-thread-pool
ExclusiveArch: %{rust_arches}
- rust-schemafy_core
ExclusiveArch: %{rust_arches}
- rust-schemafy_lib
ExclusiveArch: %{rust_arches}
- rust-scoped-tls-hkt
ExclusiveArch: %{rust_arches}
- rust-scoped_threadpool
ExclusiveArch: %{rust_arches}
- rust-scopeguard
ExclusiveArch: %{rust_arches}
- rust-scopetime
ExclusiveArch: %{rust_arches}
- rust-scratch
ExclusiveArch: %{rust_arches}
- rust-scroll
ExclusiveArch: %{rust_arches}
- rust-scroll_derive
ExclusiveArch: %{rust_arches}
- rust-scrypt
ExclusiveArch: %{rust_arches}
- rust-sct
ExclusiveArch: %{rust_arches}
- rust-sd
ExclusiveArch: %{rust_arches}
- rust-sd-notify
ExclusiveArch: %{rust_arches}
- rust-seahash
ExclusiveArch: %{rust_arches}
- rust-seahash3
ExclusiveArch: %{rust_arches}
- rust-secrecy
ExclusiveArch: %{rust_arches}
- rust-secret-service
ExclusiveArch: %{rust_arches}
- rust-selectors
ExclusiveArch: %{rust_arches}
- rust-self_cell
ExclusiveArch: %{rust_arches}
- rust-semver-parser
ExclusiveArch: %{rust_arches}
- rust-semver-parser0.9
ExclusiveArch: %{rust_arches}
- rust-semver0.11
ExclusiveArch: %{rust_arches}
- rust-sequoia-autocrypt
ExclusiveArch: %{rust_arches}
- rust-sequoia-ipc
ExclusiveArch: %{rust_arches}
- rust-sequoia-keyring-linter
ExclusiveArch: %{rust_arches}
- rust-sequoia-net
ExclusiveArch: %{rust_arches}
- rust-sequoia-octopus-librnp
ExclusiveArch: %{rust_arches}
- rust-sequoia-openpgp-mt
ExclusiveArch: %{rust_arches}
- rust-sequoia-sop
ExclusiveArch: %{rust_arches}
- rust-sequoia-sq
ExclusiveArch: %{rust_arches}
- rust-sequoia-sqv
ExclusiveArch: %{rust_arches}
- rust-serde-big-array
ExclusiveArch: %{rust_arches}
- rust-serde-pickle
ExclusiveArch: %{rust_arches}
- rust-serde-value
ExclusiveArch: %{rust_arches}
- rust-serde-xml-rs
ExclusiveArch: %{rust_arches}
- rust-serde_bser
ExclusiveArch: %{rust_arches}
- rust-serde_cbor
ExclusiveArch: %{rust_arches}
- rust-serde_fmt
ExclusiveArch: %{rust_arches}
- rust-serde_qs
ExclusiveArch: %{rust_arches}
- rust-serde_url_params
ExclusiveArch: %{rust_arches}
- rust-serde_urlencoded
ExclusiveArch: %{rust_arches}
- rust-serde_with
ExclusiveArch: %{rust_arches}
- rust-serde_with_macros
ExclusiveArch: %{rust_arches}
- rust-serde_yaml0.8
ExclusiveArch: %{rust_arches}
- rust-serial-core
ExclusiveArch: %{rust_arches}
- rust-serial_test0.5
ExclusiveArch: %{rust_arches}
- rust-serial_test_derive0.5
ExclusiveArch: %{rust_arches}
- rust-servo-fontconfig
ExclusiveArch: %{rust_arches}
- rust-servo-fontconfig-sys
ExclusiveArch: %{rust_arches}
- rust-servo_arc
ExclusiveArch: %{rust_arches}
- rust-sev
ExclusiveArch: x86_64
- rust-sevctl
ExclusiveArch: x86_64
- rust-sha-1_0.9
ExclusiveArch: %{rust_arches}
- rust-sha1
ExclusiveArch: %{rust_arches}
- rust-sha1_0.6
ExclusiveArch: %{rust_arches}
- rust-sha1_smol
ExclusiveArch: %{rust_arches}
- rust-sha1collisiondetection
ExclusiveArch: %{rust_arches}
- rust-sha2
ExclusiveArch: %{rust_arches}
- rust-sha2_0.9
ExclusiveArch: %{rust_arches}
- rust-sha3_0.9
ExclusiveArch: %{rust_arches}
- rust-shadow-rs
ExclusiveArch: %{rust_arches}
- rust-sharded-slab
ExclusiveArch: %{rust_arches}
- rust-shared_child
ExclusiveArch: %{rust_arches}
- rust-shared_library
ExclusiveArch: %{rust_arches}
- rust-shell-escape
ExclusiveArch: %{rust_arches}
- rust-shell-words
ExclusiveArch: %{rust_arches}
- rust-shellexpand
ExclusiveArch: %{rust_arches}
- rust-shellwords
ExclusiveArch: %{rust_arches}
- rust-shlex
ExclusiveArch: %{rust_arches}
- rust-signal
ExclusiveArch: %{rust_arches}
- rust-signal-hook
ExclusiveArch: %{rust_arches}
- rust-signal-hook-mio
ExclusiveArch: %{rust_arches}
- rust-signal-hook-registry
ExclusiveArch: %{rust_arches}
- rust-signal-hook0.1
ExclusiveArch: %{rust_arches}
- rust-signature
ExclusiveArch: %{rust_arches}
- rust-signature_derive
ExclusiveArch: %{rust_arches}
- rust-silver
ExclusiveArch: %{rust_arches}
- rust-simd_helpers
ExclusiveArch: %{rust_arches}
- rust-simdutf8
ExclusiveArch: %{rust_arches}
- rust-similar-asserts
ExclusiveArch: %{rust_arches}
- rust-simple-error
ExclusiveArch: %{rust_arches}
- rust-simple_asn1
ExclusiveArch: %{rust_arches}
- rust-simple_logger
ExclusiveArch: %{rust_arches}
- rust-simplelog
ExclusiveArch: %{rust_arches}
- rust-sinit
ExclusiveArch: %{rust_arches}
- rust-siphasher
ExclusiveArch: %{rust_arches}
- rust-sized-chunks
ExclusiveArch: %{rust_arches}
- rust-skeptic
ExclusiveArch: %{rust_arches}
- rust-skim
ExclusiveArch: %{rust_arches}
- rust-slab
ExclusiveArch: %{rust_arches}
- rust-slog-async
ExclusiveArch: %{rust_arches}
- rust-slog-scope
ExclusiveArch: %{rust_arches}
- rust-slog-term
ExclusiveArch: %{rust_arches}
- rust-slug
ExclusiveArch: %{rust_arches}
- rust-sluice
ExclusiveArch: %{rust_arches}
- rust-smallbitvec
ExclusiveArch: %{rust_arches}
- rust-smallstr
ExclusiveArch: %{rust_arches}
- rust-smallvec
ExclusiveArch: %{rust_arches}
- rust-smawk
ExclusiveArch: %{rust_arches}
- rust-smithay-client-toolkit
ExclusiveArch: %{rust_arches}
- rust-smithay-clipboard
ExclusiveArch: %{rust_arches}
- rust-smol_str
ExclusiveArch: %{rust_arches}
- rust-snake_case
ExclusiveArch: %{rust_arches}
- rust-socket2
ExclusiveArch: %{rust_arches}
- rust-sop
ExclusiveArch: %{rust_arches}
- rust-spin
ExclusiveArch: %{rust_arches}
- rust-spin0.5
ExclusiveArch: %{rust_arches}
- rust-spin_on
ExclusiveArch: %{rust_arches}
- rust-spinning_top
ExclusiveArch: %{rust_arches}
- rust-spki
ExclusiveArch: %{rust_arches}
- rust-spmc
ExclusiveArch: %{rust_arches}
- rust-ssh-key-dir
ExclusiveArch: %{rust_arches}
- rust-stable_deref_trait
ExclusiveArch: %{rust_arches}
- rust-stacker
ExclusiveArch: %{rust_arches}
- rust-standback
ExclusiveArch: %{rust_arches}
- rust-static_assertions
ExclusiveArch: %{rust_arches}
- rust-statistical
ExclusiveArch: %{rust_arches}
- rust-statrs
ExclusiveArch: %{rust_arches}
- rust-stb_truetype
ExclusiveArch: %{rust_arches}
- rust-str_stack
ExclusiveArch: %{rust_arches}
- rust-stratisd_proc_macros
ExclusiveArch: %{rust_arches}
- rust-streaming-stats
ExclusiveArch: %{rust_arches}
- rust-streebog
ExclusiveArch: %{rust_arches}
- rust-streebog0.9
ExclusiveArch: %{rust_arches}
- rust-strict
ExclusiveArch: %{rust_arches}
- rust-string_cache
ExclusiveArch: %{rust_arches}
- rust-string_cache_codegen
ExclusiveArch: %{rust_arches}
- rust-string_cache_shared
ExclusiveArch: %{rust_arches}
- rust-strings
ExclusiveArch: %{rust_arches}
- rust-strip-ansi-escapes
ExclusiveArch: %{rust_arches}
- rust-strsim
ExclusiveArch: %{rust_arches}
- rust-structopt
ExclusiveArch: %{rust_arches}
- rust-structopt-derive
ExclusiveArch: %{rust_arches}
- rust-structopt-derive0.2
ExclusiveArch: %{rust_arches}
- rust-structopt0.2
ExclusiveArch: %{rust_arches}
- rust-strum
ExclusiveArch: %{rust_arches}
- rust-strum0.21
ExclusiveArch: %{rust_arches}
- rust-strum_macros
ExclusiveArch: %{rust_arches}
- rust-strum_macros0.21
ExclusiveArch: %{rust_arches}
- rust-subprocess
ExclusiveArch: %{rust_arches}
- rust-subtle
ExclusiveArch: %{rust_arches}
- rust-sudo_plugin
ExclusiveArch: %{rust_arches}
- rust-sudo_plugin-sys
ExclusiveArch: %{rust_arches}
- rust-supports-color
ExclusiveArch: %{rust_arches}
- rust-supports-hyperlinks
ExclusiveArch: %{rust_arches}
- rust-supports-unicode
ExclusiveArch: %{rust_arches}
- rust-sval
ExclusiveArch: %{rust_arches}
- rust-sval_derive
ExclusiveArch: %{rust_arches}
- rust-sval_json
ExclusiveArch: %{rust_arches}
- rust-svg
ExclusiveArch: %{rust_arches}
- rust-sxd-document
ExclusiveArch: %{rust_arches}
- rust-syn0.15
ExclusiveArch: %{rust_arches}
- rust-synom
ExclusiveArch: %{rust_arches}
- rust-synstructure
ExclusiveArch: %{rust_arches}
- rust-syntect
ExclusiveArch: %{rust_arches}
- rust-syntect4
ExclusiveArch: %{rust_arches}
- rust-sys-info
ExclusiveArch: %{rust_arches}
- rust-sysctl
ExclusiveArch: %{rust_arches}
- rust-sysinfo0.19
ExclusiveArch: %{rust_arches}
- rust-syslog
ExclusiveArch: %{rust_arches}
- rust-system76_ectool
ExclusiveArch: %{rust_arches}
- rust-tabular
ExclusiveArch: %{rust_arches}
- rust-tabwriter
ExclusiveArch: %{rust_arches}
- rust-take
ExclusiveArch: %{rust_arches}
- rust-take_mut
ExclusiveArch: %{rust_arches}
- rust-tap
ExclusiveArch: %{rust_arches}
- rust-tar
ExclusiveArch: %{rust_arches}
- rust-target
ExclusiveArch: %{rust_arches}
- rust-tealdeer
ExclusiveArch: %{rust_arches}
- rust-temp-env
ExclusiveArch: %{rust_arches}
- rust-temp_testdir
ExclusiveArch: %{rust_arches}
- rust-tempdir
ExclusiveArch: %{rust_arches}
- rust-tempfile
ExclusiveArch: %{rust_arches}
- rust-temporary
ExclusiveArch: %{rust_arches}
- rust-temptree
ExclusiveArch: %{rust_arches}
- rust-tendril
ExclusiveArch: %{rust_arches}
- rust-tera
ExclusiveArch: %{rust_arches}
- rust-term
ExclusiveArch: %{rust_arches}
- rust-term0.6
ExclusiveArch: %{rust_arches}
- rust-term_grid
ExclusiveArch: %{rust_arches}
- rust-term_size
ExclusiveArch: %{rust_arches}
- rust-termbg
ExclusiveArch: %{rust_arches}
- rust-termcolor
ExclusiveArch: %{rust_arches}
- rust-terminal_size
ExclusiveArch: %{rust_arches}
- rust-terminfo
ExclusiveArch: %{rust_arches}
- rust-termion
ExclusiveArch: %{rust_arches}
- rust-termios
ExclusiveArch: %{rust_arches}
- rust-test-assembler
ExclusiveArch: %{rust_arches}
- rust-test-case
ExclusiveArch: %{rust_arches}
- rust-tester
ExclusiveArch: %{rust_arches}
- rust-testing_logger
ExclusiveArch: %{rust_arches}
- rust-textwrap
ExclusiveArch: %{rust_arches}
- rust-textwrap0.11
ExclusiveArch: %{rust_arches}
- rust-textwrap0.14
ExclusiveArch: %{rust_arches}
- rust-thread-id
ExclusiveArch: %{rust_arches}
- rust-thread-tree
ExclusiveArch: %{rust_arches}
- rust-thread_local
ExclusiveArch: %{rust_arches}
- rust-threadpool
ExclusiveArch: %{rust_arches}
- rust-tiff
ExclusiveArch: %{rust_arches}
- rust-tiff0.6
ExclusiveArch: %{rust_arches}
- rust-tiger
ExclusiveArch: %{rust_arches}
- rust-time
ExclusiveArch: %{rust_arches}
- rust-time-macros
ExclusiveArch: %{rust_arches}
- rust-time-macros-impl
ExclusiveArch: %{rust_arches}
- rust-time-macros0.1
ExclusiveArch: %{rust_arches}
- rust-time0.1
ExclusiveArch: %{rust_arches}
- rust-time0.2
ExclusiveArch: %{rust_arches}
- rust-timebomb
ExclusiveArch: %{rust_arches}
- rust-timer
ExclusiveArch: %{rust_arches}
- rust-tiny-keccak
ExclusiveArch: %{rust_arches}
- rust-tiny_http
ExclusiveArch: %{rust_arches}
- rust-tiny_http0.6
ExclusiveArch: %{rust_arches}
- rust-tinyvec
ExclusiveArch: %{rust_arches}
- rust-tinyvec_macros
ExclusiveArch: %{rust_arches}
- rust-tokei
ExclusiveArch: %{rust_arches}
- rust-tokio-codec
ExclusiveArch: %{rust_arches}
- rust-tokio-compat
ExclusiveArch: %{rust_arches}
- rust-tokio-core
ExclusiveArch: %{rust_arches}
- rust-tokio-current-thread
ExclusiveArch: %{rust_arches}
- rust-tokio-executor
ExclusiveArch: %{rust_arches}
- rust-tokio-fs
ExclusiveArch: %{rust_arches}
- rust-tokio-io
ExclusiveArch: %{rust_arches}
- rust-tokio-macros0.2
ExclusiveArch: %{rust_arches}
- rust-tokio-mock-task
ExclusiveArch: %{rust_arches}
- rust-tokio-native-tls
ExclusiveArch: %{rust_arches}
- rust-tokio-openssl
ExclusiveArch: %{rust_arches}
- rust-tokio-reactor
ExclusiveArch: %{rust_arches}
- rust-tokio-rustls
ExclusiveArch: %{rust_arches}
- rust-tokio-socks
ExclusiveArch: %{rust_arches}
- rust-tokio-sync
ExclusiveArch: %{rust_arches}
- rust-tokio-tcp
ExclusiveArch: %{rust_arches}
- rust-tokio-test
ExclusiveArch: %{rust_arches}
- rust-tokio-threadpool
ExclusiveArch: %{rust_arches}
- rust-tokio-timer
ExclusiveArch: %{rust_arches}
- rust-tokio-tungstenite
ExclusiveArch: %{rust_arches}
- rust-tokio-udp
ExclusiveArch: %{rust_arches}
- rust-tokio-uds
ExclusiveArch: %{rust_arches}
- rust-tokio-util
ExclusiveArch: %{rust_arches}
- rust-tokio-util0.6
ExclusiveArch: %{rust_arches}
- rust-tokio0.1
ExclusiveArch: %{rust_arches}
- rust-tokio0.2
ExclusiveArch: %{rust_arches}
- rust-toml0.4
ExclusiveArch: %{rust_arches}
- rust-toml_edit
ExclusiveArch: %{rust_arches}
- rust-totp-lite
ExclusiveArch: %{rust_arches}
- rust-tower-layer
ExclusiveArch: %{rust_arches}
- rust-tower-service
ExclusiveArch: %{rust_arches}
- rust-tower-test
ExclusiveArch: %{rust_arches}
- rust-tower-util
ExclusiveArch: %{rust_arches}
- rust-tpm2-policy
ExclusiveArch: %{rust_arches}
- rust-tracing
ExclusiveArch: %{rust_arches}
- rust-tracing-attributes
ExclusiveArch: %{rust_arches}
- rust-tracing-core
ExclusiveArch: %{rust_arches}
- rust-tracing-futures
ExclusiveArch: %{rust_arches}
- rust-tracing-log
ExclusiveArch: %{rust_arches}
- rust-trash
ExclusiveArch: %{rust_arches}
- rust-tree-sitter
ExclusiveArch: %{rust_arches}
- rust-tree-sitter-cli
ExclusiveArch: %{rust_arches}
- rust-tree-sitter-config
ExclusiveArch: %{rust_arches}
- rust-tree-sitter-highlight
ExclusiveArch: %{rust_arches}
- rust-tree-sitter-loader
ExclusiveArch: %{rust_arches}
- rust-tree-sitter-tags
ExclusiveArch: %{rust_arches}
- rust-treebitmap
ExclusiveArch: %{rust_arches}
- rust-treeline
ExclusiveArch: %{rust_arches}
- rust-trust-dns-proto
ExclusiveArch: %{rust_arches}
- rust-trust-dns-resolver
ExclusiveArch: %{rust_arches}
- rust-try-lock
ExclusiveArch: %{rust_arches}
- rust-tss-esapi
ExclusiveArch: %{rust_arches}
- rust-tss-esapi-sys
ExclusiveArch: %{rust_arches}
- rust-ttf-parser
ExclusiveArch: %{rust_arches}
- rust-ttf-parser0.12
ExclusiveArch: %{rust_arches}
- rust-tui
ExclusiveArch: %{rust_arches}
- rust-tui-react
ExclusiveArch: %{rust_arches}
- rust-tui0.11
ExclusiveArch: %{rust_arches}
- rust-tui0.9
ExclusiveArch: %{rust_arches}
- rust-tuikit
ExclusiveArch: %{rust_arches}
- rust-tungstenite
ExclusiveArch: %{rust_arches}
- rust-twoway
ExclusiveArch: %{rust_arches}
- rust-twox-hash
ExclusiveArch: %{rust_arches}
- rust-type-map
ExclusiveArch: %{rust_arches}
- rust-typed-arena
ExclusiveArch: %{rust_arches}
- rust-typed-arena1
ExclusiveArch: %{rust_arches}
- rust-typed-builder
ExclusiveArch: %{rust_arches}
- rust-typetag
ExclusiveArch: %{rust_arches}
- rust-typetag-impl
ExclusiveArch: %{rust_arches}
- rust-tzfile
ExclusiveArch: %{rust_arches}
- rust-ubyte
ExclusiveArch: %{rust_arches}
- rust-ucd-parse
ExclusiveArch: %{rust_arches}
- rust-ucd-trie
ExclusiveArch: %{rust_arches}
- rust-ucd-util
ExclusiveArch: %{rust_arches}
- rust-uefi-run
ExclusiveArch: %{rust_arches}
- rust-umask
ExclusiveArch: %{rust_arches}
- rust-uncased
ExclusiveArch: %{rust_arches}
- rust-unchecked-index
ExclusiveArch: %{rust_arches}
- rust-unescape
ExclusiveArch: %{rust_arches}
- rust-unic-char-property
ExclusiveArch: %{rust_arches}
- rust-unic-char-range
ExclusiveArch: %{rust_arches}
- rust-unic-common
ExclusiveArch: %{rust_arches}
- rust-unic-langid
ExclusiveArch: %{rust_arches}
- rust-unic-langid-macros
ExclusiveArch: %{rust_arches}
- rust-unic-langid-macros-impl
ExclusiveArch: %{rust_arches}
- rust-unic-locale
ExclusiveArch: %{rust_arches}
- rust-unic-locale-macros
ExclusiveArch: %{rust_arches}
- rust-unic-locale-macros-impl
ExclusiveArch: %{rust_arches}
- rust-unic-segment
ExclusiveArch: %{rust_arches}
- rust-unic-ucd-category
ExclusiveArch: %{rust_arches}
- rust-unic-ucd-common
ExclusiveArch: %{rust_arches}
- rust-unic-ucd-segment
ExclusiveArch: %{rust_arches}
- rust-unic-ucd-version
ExclusiveArch: %{rust_arches}
- rust-unicase
ExclusiveArch: %{rust_arches}
- rust-unicase1
ExclusiveArch: %{rust_arches}
- rust-unicode-bidi
ExclusiveArch: %{rust_arches}
- rust-unicode-linebreak
ExclusiveArch: %{rust_arches}
- rust-unicode-normalization
ExclusiveArch: %{rust_arches}
- rust-unicode-segmentation
ExclusiveArch: %{rust_arches}
- rust-unicode-width
ExclusiveArch: %{rust_arches}
- rust-unicode-xid
ExclusiveArch: %{rust_arches}
- rust-unicode-xid0.1
ExclusiveArch: %{rust_arches}
- rust-unicode_categories
ExclusiveArch: %{rust_arches}
- rust-universal-hash
ExclusiveArch: %{rust_arches}
- rust-unix_socket
ExclusiveArch: %{rust_arches}
- rust-unreachable
ExclusiveArch: %{rust_arches}
- rust-untrusted
ExclusiveArch: %{rust_arches}
- rust-uriparse
ExclusiveArch: %{rust_arches}
- rust-url
ExclusiveArch: %{rust_arches}
- rust-url1
ExclusiveArch: %{rust_arches}
- rust-url_serde
ExclusiveArch: %{rust_arches}
- rust-urlencoding
ExclusiveArch: %{rust_arches}
- rust-urlocator
ExclusiveArch: %{rust_arches}
- rust-users
ExclusiveArch: %{rust_arches}
- rust-users0.10
ExclusiveArch: %{rust_arches}
- rust-utf-8
ExclusiveArch: %{rust_arches}
- rust-utf8-ranges
ExclusiveArch: %{rust_arches}
- rust-utf8-width
ExclusiveArch: %{rust_arches}
- rust-utf8parse
ExclusiveArch: %{rust_arches}
- rust-uucore
ExclusiveArch: %{rust_arches}
- rust-uucore_procs
ExclusiveArch: %{rust_arches}
- rust-uuid0.7
ExclusiveArch: %{rust_arches}
- rust-uuid0.8
ExclusiveArch: %{rust_arches}
- rust-v_frame
ExclusiveArch: %{rust_arches}
- rust-value-bag
ExclusiveArch: %{rust_arches}
- rust-varbincode
ExclusiveArch: %{rust_arches}
- rust-varlink
ExclusiveArch: %{rust_arches}
- rust-varlink-cli
ExclusiveArch: %{rust_arches}
- rust-varlink_generator
ExclusiveArch: %{rust_arches}
- rust-varlink_parser
ExclusiveArch: %{rust_arches}
- rust-varlink_stdinterfaces
ExclusiveArch: %{rust_arches}
- rust-vcsgraph
ExclusiveArch: %{rust_arches}
- rust-vec_map
ExclusiveArch: %{rust_arches}
- rust-vergen
ExclusiveArch: %{rust_arches}
- rust-vergen3
ExclusiveArch: %{rust_arches}
- rust-version
ExclusiveArch: %{rust_arches}
- rust-version-sync
ExclusiveArch: %{rust_arches}
- rust-version-sync0.8
ExclusiveArch: %{rust_arches}
- rust-version_check
ExclusiveArch: %{rust_arches}
- rust-vhost
ExclusiveArch: %{rust_arches}
- rust-vhost-user-backend
ExclusiveArch: %{rust_arches}
- rust-virtio-bindings
ExclusiveArch: x86_64 aarch64 ppc64le
- rust-vmm-sys-util
ExclusiveArch: x86_64 aarch64 ppc64le
- rust-void
ExclusiveArch: %{rust_arches}
- rust-vsprintf
ExclusiveArch: %{rust_arches}
- rust-vte
ExclusiveArch: %{rust_arches}
- rust-vte_generate_state_changes
ExclusiveArch: %{rust_arches}
- rust-vtparse
ExclusiveArch: %{rust_arches}
- rust-wait-timeout
ExclusiveArch: %{rust_arches}
- rust-waker-fn
ExclusiveArch: %{rust_arches}
- rust-walkdir
ExclusiveArch: %{rust_arches}
- rust-want
ExclusiveArch: %{rust_arches}
- rust-warp
ExclusiveArch: %{rust_arches}
- rust-wasmer_enumset
ExclusiveArch: %{rust_arches}
- rust-wasmer_enumset_derive
ExclusiveArch: %{rust_arches}
- rust-watchman_client
ExclusiveArch: %{rust_arches}
- rust-web-ext-native-messaging
ExclusiveArch: %{rust_arches}
- rust-webbrowser
ExclusiveArch: %{rust_arches}
- rust-webpki
ExclusiveArch: %{rust_arches}
- rust-webpki-roots
ExclusiveArch: %{rust_arches}
- rust-weezl
ExclusiveArch: %{rust_arches}
- rust-wezterm-bidi
ExclusiveArch: %{rust_arches}
- rust-wezterm-color-types
ExclusiveArch: %{rust_arches}
- rust-wezterm-dynamic
ExclusiveArch: %{rust_arches}
- rust-wezterm-dynamic-derive
ExclusiveArch: %{rust_arches}
- rust-which
ExclusiveArch: %{rust_arches}
- rust-wide
ExclusiveArch: %{rust_arches}
- rust-wild
ExclusiveArch: %{rust_arches}
- rust-winit
ExclusiveArch: %{rust_arches}
- rust-wyz
ExclusiveArch: %{rust_arches}
- rust-x11-clipboard
ExclusiveArch: %{rust_arches}
- rust-xattr
ExclusiveArch: %{rust_arches}
- rust-xcb
ExclusiveArch: %{rust_arches}
- rust-xcursor
ExclusiveArch: %{rust_arches}
- rust-xdg
ExclusiveArch: %{rust_arches}
- rust-xi-unicode
ExclusiveArch: %{rust_arches}
- rust-xkbcommon
ExclusiveArch: %{rust_arches}
- rust-xml-rs
ExclusiveArch: %{rust_arches}
- rust-xmlwriter
ExclusiveArch: %{rust_arches}
- rust-xxhash-c-sys
ExclusiveArch: %{rust_arches}
- rust-xxhash-rust
ExclusiveArch: %{rust_arches}
- rust-xz2
ExclusiveArch: %{rust_arches}
- rust-y4m
ExclusiveArch: %{rust_arches}
- rust-yaml-rust
ExclusiveArch: %{rust_arches}
- rust-yaml-rust0.3
ExclusiveArch: %{rust_arches}
- rust-yansi
ExclusiveArch: %{rust_arches}
- rust-ybaas
ExclusiveArch: %{rust_arches}
- rust-yubibomb
ExclusiveArch: %{rust_arches}
- rust-z85
ExclusiveArch: %{rust_arches}
- rust-zbase32
ExclusiveArch: %{rust_arches}
- rust-zbus
ExclusiveArch: %{rust_arches}
- rust-zbus1
ExclusiveArch: %{rust_arches}
- rust-zbus_macros
ExclusiveArch: %{rust_arches}
- rust-zbus_macros1
ExclusiveArch: %{rust_arches}
- rust-zbus_names
ExclusiveArch: %{rust_arches}
- rust-zeroize
ExclusiveArch: %{rust_arches}
- rust-zincati
ExclusiveArch: %{rust_arches}
- rust-zip
ExclusiveArch: %{rust_arches}
- rust-zmq
ExclusiveArch: %{rust_arches}
- rust-zmq-sys
ExclusiveArch: %{rust_arches}
- rust-zoneinfo_compiled
ExclusiveArch: %{rust_arches}
- rust-zoxide
ExclusiveArch: %{rust_arches}
- rust-zram-generator
ExclusiveArch: %{rust_arches}
- rust-zstd
ExclusiveArch: %{rust_arches}
- rust-zstd-safe
ExclusiveArch: %{rust_arches}
- rust-zstd-sys
ExclusiveArch: %{rust_arches}
- rust-zvariant
ExclusiveArch: %{rust_arches}
- rust-zvariant2
ExclusiveArch: %{rust_arches}
- rust-zvariant_derive
ExclusiveArch: %{rust_arches}
- rust-zvariant_derive2
ExclusiveArch: %{rust_arches}
- s390utils
ExclusiveArch: s390 s390x
- sac
ExclusiveArch: %{java_arches} noarch
- safetyblanket
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- sagemath
ExclusiveArch: aarch64 x86_64
- sat4j
ExclusiveArch: %{java_arches} noarch
- sbcl
ExclusiveArch: %{arm} %{ix86} x86_64 ppc sparcv9 aarch64
- sbd
ExclusiveArch: i686 x86_64 s390x aarch64 ppc64le
- sblim-cim-client
ExclusiveArch: %{java_arches} noarch
- sblim-cim-client2
ExclusiveArch: %{java_arches} noarch
- sbsigntools
ExclusiveArch: x86_64 aarch64 %{arm} %{ix86}
- scala
ExclusiveArch: %{java_arches} noarch
- scalacheck
ExclusiveArch: %{java_arches} noarch
- scannotation
ExclusiveArch: %{java_arches} noarch
- sdljava
ExclusiveArch: %{java_arches}
- sdrangel
ExclusiveArch: %{qt5_qtwebengine_arches}
- sdsl-lite
ExclusiveArch: %{power64} x86_64 aarch64
- seabios
ExclusiveArch: x86_64
- seadrive-gui
ExclusiveArch: %{qt5_qtwebengine_arches}
- seafile-client
ExclusiveArch: %{qt5_qtwebengine_arches}
- seamonkey
ExclusiveArch: x86_64
- seqan3
ExclusiveArch: %{power64} x86_64 aarch64
- sequence-library
ExclusiveArch: %{java_arches} noarch
- serp
ExclusiveArch: %{java_arches} noarch
- servicelog
ExclusiveArch: ppc %{power64}
- sgabios
ExclusiveArch: %{ix86} x86_64
- shaman
ExclusiveArch: %{java_arches} noarch
- sharpfont
ExclusiveArch: %mono_arches
- sharpziplib
ExclusiveArch: %{mono_arches}
- shim
ExclusiveArch: %{efi}
- shim-unsigned-aarch64
ExclusiveArch: aarch64
- shim-unsigned-x64
ExclusiveArch: x86_64
- sigul
ExclusiveArch: x86_64
- singularity-ce
ExclusiveArch: %{go_arches}
- sisu
ExclusiveArch: %{java_arches} noarch
- sisu-mojos
ExclusiveArch: %{java_arches} noarch
- skopeo
ExclusiveArch: %{go_arches}
- skychart
ExclusiveArch: %{fpc_arches}
- slf4j
ExclusiveArch: %{java_arches} noarch
- slirp4netns
ExclusiveArch: %{golang_arches}
- snakeyaml
ExclusiveArch: %{java_arches} noarch
- snapd
ExclusiveArch: %{?golang_arches}%{!?golang_arches:%{ix86} x86_64 %{arm} aarch64 ppc64le s390x}
- snip
ExclusiveArch: %{java_arches} noarch
- softnet-stat
ExclusiveArch: %{rust_arches}
- soup-sharp
ExclusiveArch: %{mono_arches}
- spacebar
ExclusiveArch: %{java_arches}
- sparkleshare
ExclusiveArch: %{mono_arches}
- spec-version-maven-plugin
ExclusiveArch: %{java_arches} noarch
- spicctrl
ExclusiveArch: %{ix86} x86_64
- spice
ExclusiveArch: x86_64
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- spice-parent
ExclusiveArch: %{java_arches} noarch
- springlobby
ExclusiveArch: %{ix86} x86_64
- sqljet
ExclusiveArch: %{java_arches} noarch
- squeekboard
ExclusiveArch: %{rust_arches}
- startdde
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- statsd
ExclusiveArch: %{nodejs_arches} noarch
- stratis-cli
ExclusiveArch: %{rust_arches} noarch
- stratisd
ExclusiveArch: %{rust_arches}
ExclusiveArch: %{rust_arches}
- string-template-maven-plugin
ExclusiveArch: %{java_arches} noarch
- stringtemplate
ExclusiveArch: %{java_arches} noarch
- stringtemplate4
ExclusiveArch: %{java_arches} noarch
- stripesnoop
ExclusiveArch: %{ix86} x86_64
- subscription-manager-cockpit
ExclusiveArch: %{nodejs_arches} noarch
- supercollider
ExclusiveArch: %{qt5_qtwebengine_arches}
- supermin
ExclusiveArch: %{kernel_arches}
- svnkit
ExclusiveArch: %{java_arches} noarch
- svt-av1
ExclusiveArch: x86_64
- svt-vp9
ExclusiveArch: x86_64
- swift-lang
ExclusiveArch: x86_64 aarch64
- swing-layout
ExclusiveArch: %{java_arches} noarch
- sysbench
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips}
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64 ppc64le s390x
- syslinux
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86} x86_64
- system-rules
ExclusiveArch: %{java_arches} noarch
- system76-keyboard-configurator
ExclusiveArch: %{rust_arches}
- systemd-boot
ExclusiveArch: %efi
- t-digest
ExclusiveArch: %{java_arches} noarch
- taggle
ExclusiveArch: %{java_arches} noarch
- taglib-sharp
ExclusiveArch: %{mono_arches}
- tagsoup
ExclusiveArch: %{java_arches} noarch
- tarantool
ExclusiveArch: %{ix86} x86_64
- tboot
ExclusiveArch: %{ix86} x86_64
- tdlib
ExclusiveArch: x86_64 aarch64
- templates_parser
ExclusiveArch: %GPRbuild_arches
- ternimal
ExclusiveArch: %{rust_arches}
- test-interface
ExclusiveArch: %{java_arches} noarch
- testcloud
ExclusiveArch: %{kernel_arches} noarch
- testng
ExclusiveArch: %{java_arches} noarch
- texlive
ExclusiveArch: %{java_arches} noarch
- themonospot-base
ExclusiveArch: %mono_arches
- themonospot-console
ExclusiveArch: %mono_arches
- themonospot-gui-gtk
ExclusiveArch: %mono_arches
- themonospot-plugin-avi
ExclusiveArch: %mono_arches
- themonospot-plugin-mkv
ExclusiveArch: %mono_arches
- thermald
ExclusiveArch: %{ix86} x86_64
- tilix
ExclusiveArch: %{ldc_arches}
- tomboy
ExclusiveArch: %{mono_arches}
- tomcat
ExclusiveArch: %{java_arches} noarch
- tomcat-native
ExclusiveArch: %{java_arches}
- tomcat-taglibs-parent
ExclusiveArch: %{java_arches} noarch
- tomcatjss
ExclusiveArch: %{java_arches} noarch
- torbrowser-launcher
ExclusiveArch: %{ix86} x86_64
- treelayout
ExclusiveArch: %{java_arches} noarch
- trilead-ssh2
ExclusiveArch: %{java_arches} noarch
- truth
ExclusiveArch: %{java_arches} noarch
- tuned-profiles-nfv-host-bin
ExclusiveArch: %{ix86} x86_64
- typescript
ExclusiveArch: %{nodejs_arches} noarch
- uClibc
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips}
- ucx
ExclusiveArch: aarch64 ppc64le x86_64
- uglify-js
ExclusiveArch: %{nodejs_arches} noarch
- unetbootin
ExclusiveArch: %{ix86} x86_64
- univocity-parsers
ExclusiveArch: %{java_arches} noarch
- ursa-major
ExclusiveArch: noarch aarch64 ppc64le s390x x86_64
- usd
ExclusiveArch: aarch64 x86_64
- v8-314
ExclusiveArch: %{ix86} x86_64 %{arm} mips mipsel ppc ppc64
- vakzination
ExclusiveArch: %{java_arches}
- valgrind
ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le s390x armv7hl aarch64
- vboot-utils
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- vecmath1.2
ExclusiveArch: %{java_arches} noarch
- velocity
ExclusiveArch: %{java_arches} noarch
- vim-go
ExclusiveArch: %{?golang_arches}%{!?golang_arches:%{ix86} x86_64 %{arm}}
- vim-syntastic
ExclusiveArch: %{java_arches} noarch
- virt-p2v
ExclusiveArch: x86_64
- virt-v2v
ExclusiveArch: x86_64
- virtiofsd
ExclusiveArch: %{rust_arches}
- virtualbox-guest-additions
ExclusiveArch: i686 x86_64
- vkd3d
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- vmaf
ExclusiveArch: x86_64
- vmemcache
ExclusiveArch: x86_64 ppc64 ppc64le s390x aarch64
- voms-api-java
ExclusiveArch: %{java_arches} noarch
- voms-clients-java
ExclusiveArch: %{java_arches} noarch
- vrq
ExclusiveArch: %{ix86} x86_64
- wangle
ExclusiveArch: x86_64 aarch64 ppc64le
- warsow
ExclusiveArch: %{ix86} x86_64 %{arm}
- warsow-data
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{ix86} x86_64 %{arm}
- wasmedge
ExclusiveArch: x86_64 aarch64
- watchman
ExclusiveArch: x86_64 aarch64 ppc64le
- wdt
ExclusiveArch: x86_64 aarch64 ppc64le
- webkit2-sharp
ExclusiveArch: %mono_arches
- weld-parent
ExclusiveArch: %{java_arches} noarch
- why3
ExclusiveArch: %{java_arches}
- wine
ExclusiveArch: %{ix86} x86_64 aarch64
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86}
- wine-dxvk
ExclusiveArch: %{ix86} x86_64
- winetricks
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- writer2latex
ExclusiveArch: %{java_arches}
- ws-commons-util
ExclusiveArch: %{java_arches} noarch
- wsdl4j
ExclusiveArch: %{java_arches} noarch
- wxMaxima
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc sparcv9
- x2goclient
ExclusiveArch: x86_64
- xalan-j2
ExclusiveArch: %{java_arches} noarch
- xbean
ExclusiveArch: %{java_arches} noarch
- xbyak
ExclusiveArch: x86_64
- xe-guest-utilities-latest
ExclusiveArch: %{ix86} x86_64
- xen
ExclusiveArch: x86_64 aarch64
- xerces-j2
ExclusiveArch: %{java_arches} noarch
- xgap
ExclusiveArch: aarch64 ppc64le s390x x86_64
- xjparse
ExclusiveArch: %{java_arches} noarch
- xml-commons-apis
ExclusiveArch: %{java_arches} noarch
- xml-commons-resolver
ExclusiveArch: %{java_arches} noarch
- xml-maven-plugin
ExclusiveArch: %{java_arches} noarch
- xmlada
ExclusiveArch: %{GPRbuild_arches}
- xmlgraphics-commons
ExclusiveArch: %{java_arches} noarch
- xmlpull
ExclusiveArch: %{java_arches} noarch
- xmlstreambuffer
ExclusiveArch: %{java_arches} noarch
- xmltool
ExclusiveArch: %{java_arches} noarch
- xmlunit
ExclusiveArch: %{java_arches} noarch
- xmpcore
ExclusiveArch: %{java_arches} noarch
- xmvn
ExclusiveArch: %{java_arches} noarch
- xmvn-connector-ivy
ExclusiveArch: %{java_arches} noarch
- xorg-x11-drv-armsoc
ExclusiveArch: %{arm} aarch64
- xorg-x11-drv-intel
ExclusiveArch: %{ix86} x86_64
- xorg-x11-drv-openchrome
ExclusiveArch: %{ix86} x86_64
- xorg-x11-drv-vesa
ExclusiveArch: %{ix86} x86_64
- xorg-x11-drv-vmware
ExclusiveArch: %{ix86} x86_64 ia64
- xsp
ExclusiveArch: %mono_arches
- xstream
ExclusiveArch: %{java_arches} noarch
- xz-java
ExclusiveArch: %{java_arches} noarch
- yarnpkg
ExclusiveArch: %{nodejs_arches} noarch
- yuicompressor
ExclusiveArch: %{java_arches} noarch
- zcfan
ExclusiveArch: x86_64
- zeal
ExclusiveArch: %{qt5_qtwebengine_arches}
- zenon
ExclusiveArch: %{java_arches}
- zeromq-ada
ExclusiveArch: %{GPRbuild_arches}
- zig
ExclusiveArch: %{zig_arches}
- zlib-ada
ExclusiveArch: %{GPRbuild_arches}
- zlib-ng
ExclusiveArch: aarch64 i686 ppc64le s390x x86_64
- zola
ExclusiveArch: %{rust_arches}
1 year, 4 months
Architecture specific change in rpms/rust-jwalk.git
by githook-noreply@fedoraproject.org
The package rpms/rust-jwalk.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/rust-jwalk.git/commit/?id=b775c71....
Change:
-ExclusiveArch: %{rust_arches}
Thanks.
Full change:
============
commit 38c9b55b894dbfc96971b7e15163cfe4c2b84c00
Author: Fabio Valentini <decathorpe(a)gmail.com>
Date: Wed Dec 21 00:20:23 2022 +0100
Update to version 0.6.2
diff --git a/.gitignore b/.gitignore
index 51e6453..0420ba4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,4 @@
/jwalk-0.5.1.crate
/jwalk-0.5.2.crate
/jwalk-0.6.0.crate
+/jwalk-0.6.2.crate
diff --git a/jwalk-fix-metadata.diff b/jwalk-fix-metadata.diff
index 5aca5a4..22dd7cc 100644
--- a/jwalk-fix-metadata.diff
+++ b/jwalk-fix-metadata.diff
@@ -1,11 +1,14 @@
---- jwalk-0.6.0/Cargo.toml 2021-01-06T22:42:05+00:00
-+++ jwalk-0.6.0/Cargo.toml 2022-11-04T18:02:27.108232+00:00
-@@ -32,8 +32,6 @@
+--- jwalk-0.6.2/Cargo.toml 1970-01-01T00:00:01+00:00
++++ jwalk-0.6.2/Cargo.toml 2022-12-20T23:18:27.194214+00:00
+@@ -43,10 +43,7 @@
+ version = "0.8"
[dependencies.rayon]
- version = "1.5"
+-version = "1.5"
+-
-[dev-dependencies.criterion]
--version = "0.3"
+-version = "0.4.0"
++version = "1.6.1"
[dev-dependencies.fs_extra]
- version = "1.1"
+ version = "1.2"
diff --git a/rust-jwalk.spec b/rust-jwalk.spec
index efe31ec..7f086f7 100644
--- a/rust-jwalk.spec
+++ b/rust-jwalk.spec
@@ -5,7 +5,7 @@
%global crate jwalk
Name: rust-jwalk
-Version: 0.6.0
+Version: 0.6.2
Release: %autorelease
Summary: Filesystem walk performed in parallel with streamed and sorted results
@@ -13,6 +13,7 @@ License: MIT
URL: https://crates.io/crates/jwalk
Source: %{crates_source}
# Manually created patch for downstream crate metadata changes
+# * bump rayon dependency from 1.5 to 1.6.1 to fix a deadlock in parallel code
# * drop unused, benchmark-only criterion dev-dependency to speed up builds
Patch: jwalk-fix-metadata.diff
diff --git a/sources b/sources
index 28362b5..68cfeda 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (jwalk-0.6.0.crate) = c39bec3bd93b001db7f32a3195f18c51838102ab697bf132c3d5851b9a347401cb103f4872fb5c8cba0817fc5367e78cf44e530e986e4ebf0a0fea4298848791
+SHA512 (jwalk-0.6.2.crate) = c73b8bafe77359b49dd07d2ecbf6428c228128df64886809cabb14a8c9ef7546f369f572ab80197078f8e2b3b27f1b23ac945a5e7783128d0d6114eaf510f301
commit b775c71a939515d99039df325ee309c9e54fd14f
Author: Fabio Valentini <decathorpe(a)gmail.com>
Date: Fri Nov 4 19:05:02 2022 +0100
Drop unused, benchmark-only criterion dev-dependency
diff --git a/jwalk-fix-metadata.diff b/jwalk-fix-metadata.diff
new file mode 100644
index 0000000..5aca5a4
--- /dev/null
+++ b/jwalk-fix-metadata.diff
@@ -0,0 +1,11 @@
+--- jwalk-0.6.0/Cargo.toml 2021-01-06T22:42:05+00:00
++++ jwalk-0.6.0/Cargo.toml 2022-11-04T18:02:27.108232+00:00
+@@ -32,8 +32,6 @@
+
+ [dependencies.rayon]
+ version = "1.5"
+-[dev-dependencies.criterion]
+-version = "0.3"
+
+ [dev-dependencies.fs_extra]
+ version = "1.1"
diff --git a/rust-jwalk.spec b/rust-jwalk.spec
index 0373ac4..efe31ec 100644
--- a/rust-jwalk.spec
+++ b/rust-jwalk.spec
@@ -1,25 +1,22 @@
-# Generated by rust2rpm 17
+# Generated by rust2rpm 23
%bcond_without check
%global debug_package %{nil}
%global crate jwalk
-Name: rust-%{crate}
+Name: rust-jwalk
Version: 0.6.0
Release: %autorelease
Summary: Filesystem walk performed in parallel with streamed and sorted results
-# Upstream license specification: MIT
License: MIT
URL: https://crates.io/crates/jwalk
Source: %{crates_source}
+# Manually created patch for downstream crate metadata changes
+# * drop unused, benchmark-only criterion dev-dependency to speed up builds
+Patch: jwalk-fix-metadata.diff
-ExclusiveArch: %{rust_arches}
-%if %{__cargo_skip_build}
-BuildArch: noarch
-%endif
-
-BuildRequires: rust-packaging
+BuildRequires: rust-packaging >= 21
%global _description %{expand:
Filesystem walk performed in parallel with streamed and sorted results.}
@@ -32,13 +29,14 @@ BuildArch: noarch
%description devel %{_description}
-This package contains library source intended for building other packages
-which use "%{crate}" crate.
+This package contains library source intended for building other packages which
+use the "%{crate}" crate.
%files devel
-%license LICENSE
-%doc README.md CHANGELOG.md
-%{cargo_registry}/%{crate}-%{version_no_tilde}/
+%license %{crate_instdir}/LICENSE
+%doc %{crate_instdir}/CHANGELOG.md
+%doc %{crate_instdir}/README.md
+%{crate_instdir}/
%package -n %{name}+default-devel
Summary: %{summary}
@@ -46,11 +44,11 @@ BuildArch: noarch
%description -n %{name}+default-devel %{_description}
-This package contains library source intended for building other packages
-which use "default" feature of "%{crate}" crate.
+This package contains library source intended for building other packages which
+use the "default" feature of the "%{crate}" crate.
%files -n %{name}+default-devel
-%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+%ghost %{crate_instdir}/Cargo.toml
%prep
%autosetup -n %{crate}-%{version_no_tilde} -p1
commit b44e56079a6486fc91bc634678c24774eb57c8b2
Author: Fabio Valentini <decathorpe(a)gmail.com>
Date: Fri Nov 4 19:02:14 2022 +0100
Convert to rpmautospec
diff --git a/changelog b/changelog
new file mode 100644
index 0000000..224323c
--- /dev/null
+++ b/changelog
@@ -0,0 +1,33 @@
+* Sat Jul 23 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.6.0-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
+
+* Fri Jan 21 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.6.0-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
+
+* Fri Jul 23 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.6.0-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+
+* Wed Jan 27 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.6.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
+
+* Sun Jan 10 19:56:35 CET 2021 Igor Raits <ignatenkobrain(a)fedoraproject.org> - 0.6.0-1
+- Update to 0.6.0 (Fixes: RHBZ#1913495)
+
+* Mon Jan 04 2021 Fabio Valentini <decathorpe(a)gmail.com> - 0.5.2-1
+- Update to version 0.5.2.
+- Fixes RHBZ#1911329
+
+* Wed Jul 29 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.5.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Tue Mar 17 17:15:04 CET 2020 Igor Raits <ignatenkobrain(a)fedoraproject.org> - 0.5.1-1
+- Update to 0.5.1
+
+* Thu Feb 20 20:57:11 CET 2020 Igor Raits <ignatenkobrain(a)fedoraproject.org> - 0.4.0-3
+- Fix FTBFS
+
+* Thu Jan 30 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.4.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
+* Sun Sep 08 17:58:02 CEST 2019 Igor Gnatenko <ignatenkobrain(a)fedoraproject.org> - 0.4.0-1
+- Initial package
diff --git a/rust-jwalk.spec b/rust-jwalk.spec
index 7e61f0b..0373ac4 100644
--- a/rust-jwalk.spec
+++ b/rust-jwalk.spec
@@ -6,7 +6,7 @@
Name: rust-%{crate}
Version: 0.6.0
-Release: 5%{?dist}
+Release: %autorelease
Summary: Filesystem walk performed in parallel with streamed and sorted results
# Upstream license specification: MIT
@@ -71,36 +71,4 @@ which use "default" feature of "%{crate}" crate.
%endif
%changelog
-* Sat Jul 23 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.6.0-5
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
-
-* Fri Jan 21 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.6.0-4
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
-
-* Fri Jul 23 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.6.0-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
-
-* Wed Jan 27 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.6.0-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
-
-* Sun Jan 10 19:56:35 CET 2021 Igor Raits <ignatenkobrain(a)fedoraproject.org> - 0.6.0-1
-- Update to 0.6.0 (Fixes: RHBZ#1913495)
-
-* Mon Jan 04 2021 Fabio Valentini <decathorpe(a)gmail.com> - 0.5.2-1
-- Update to version 0.5.2.
-- Fixes RHBZ#1911329
-
-* Wed Jul 29 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.5.1-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
-
-* Tue Mar 17 17:15:04 CET 2020 Igor Raits <ignatenkobrain(a)fedoraproject.org> - 0.5.1-1
-- Update to 0.5.1
-
-* Thu Feb 20 20:57:11 CET 2020 Igor Raits <ignatenkobrain(a)fedoraproject.org> - 0.4.0-3
-- Fix FTBFS
-
-* Thu Jan 30 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.4.0-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
-
-* Sun Sep 08 17:58:02 CEST 2019 Igor Gnatenko <ignatenkobrain(a)fedoraproject.org> - 0.4.0-1
-- Initial package
+%autochangelog
commit f641ab9a6b0245afa2f673905b5b2ea0aa692e37
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Sat Jul 23 04:48:28 2022 +0000
Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
diff --git a/rust-jwalk.spec b/rust-jwalk.spec
index 89a3f8c..7e61f0b 100644
--- a/rust-jwalk.spec
+++ b/rust-jwalk.spec
@@ -6,7 +6,7 @@
Name: rust-%{crate}
Version: 0.6.0
-Release: 4%{?dist}
+Release: 5%{?dist}
Summary: Filesystem walk performed in parallel with streamed and sorted results
# Upstream license specification: MIT
@@ -71,6 +71,9 @@ which use "default" feature of "%{crate}" crate.
%endif
%changelog
+* Sat Jul 23 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.6.0-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
+
* Fri Jan 21 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.6.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
1 year, 4 months
Architecture specific change in rpms/rust-unindent.git
by githook-noreply@fedoraproject.org
The package rpms/rust-unindent.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/rust-unindent.git/commit/?id=f616....
Change:
-ExclusiveArch: %{rust_arches}
Thanks.
Full change:
============
commit f616e92fdccd328390fadcbf3104b149b17cae43
Author: Fabio Valentini <decathorpe(a)gmail.com>
Date: Wed Dec 21 00:02:27 2022 +0100
Update to version 0.1.11; Fixes RHBZ#2154565
diff --git a/.gitignore b/.gitignore
index c0809c6..456057e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,3 +7,4 @@
/unindent-0.1.8.crate
/unindent-0.1.9.crate
/unindent-0.1.10.crate
+/unindent-0.1.11.crate
diff --git a/rust-unindent.spec b/rust-unindent.spec
index 5c2e1b1..453d463 100644
--- a/rust-unindent.spec
+++ b/rust-unindent.spec
@@ -1,4 +1,4 @@
-# Generated by rust2rpm 22
+# Generated by rust2rpm 23
# * tests can only be run in-tree
%bcond_with check
%global debug_package %{nil}
@@ -6,7 +6,7 @@
%global crate unindent
Name: rust-unindent
-Version: 0.1.10
+Version: 0.1.11
Release: %autorelease
Summary: Remove a column of leading whitespace from a string
@@ -14,8 +14,6 @@ License: MIT OR Apache-2.0
URL: https://crates.io/crates/unindent
Source: %{crates_source}
-ExclusiveArch: %{rust_arches}
-
BuildRequires: rust-packaging >= 21
%global _description %{expand:
diff --git a/sources b/sources
index 86bdae2..6c33454 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (unindent-0.1.10.crate) = 46ff1a2c042972af2fe5958677b2fa5adf3b9edbb168bd66cc93baf9d1b128f583d9502b83f174b35866343b57a57c8a91a465eab267dddae919af24095bf6bd
+SHA512 (unindent-0.1.11.crate) = f800d6c37fe72477908c91457a738a73d2b8085bb5ae303d6d954405d6ccd98833b5da16a12c3ad1ab75d32a68dedc706dfaacc0fcbb95571dd829cdc03a356a
1 year, 4 months
Architecture specific change in rpms/rust-dissimilar.git
by githook-noreply@fedoraproject.org
The package rpms/rust-dissimilar.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/rust-dissimilar.git/commit/?id=be....
Change:
-ExclusiveArch: %{rust_arches}
Thanks.
Full change:
============
commit be06217d47c96c223d841e461c1b74c30c8f657d
Author: Fabio Valentini <decathorpe(a)gmail.com>
Date: Wed Dec 21 00:04:18 2022 +0100
Update to version 1.0.5; Fixes RHBZ#2154564
diff --git a/.gitignore b/.gitignore
index 585a85e..1fbc362 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,4 @@
/dissimilar-1.0.2.crate
/dissimilar-1.0.3.crate
/dissimilar-1.0.4.crate
+/dissimilar-1.0.5.crate
diff --git a/rust-dissimilar.spec b/rust-dissimilar.spec
index 62c70dd..9ebda86 100644
--- a/rust-dissimilar.spec
+++ b/rust-dissimilar.spec
@@ -1,21 +1,18 @@
-# Generated by rust2rpm 21
+# Generated by rust2rpm 23
%bcond_without check
%global debug_package %{nil}
%global crate dissimilar
-Name: rust-%{crate}
-Version: 1.0.4
+Name: rust-dissimilar
+Version: 1.0.5
Release: %autorelease
Summary: Diff library with semantic cleanup, based on Google's diff-match-patch
-# Upstream license specification: Apache-2.0
-License: ASL 2.0
+License: Apache-2.0
URL: https://crates.io/crates/dissimilar
Source: %{crates_source}
-ExclusiveArch: %{rust_arches}
-
BuildRequires: rust-packaging >= 21
%global _description %{expand:
diff --git a/sources b/sources
index c99af98..5e8ac49 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (dissimilar-1.0.4.crate) = 782f8b98ed734a37cec33722ab5add2a082f909a5e08c23b961e5049288e8304f68679fe33e4a7a87b2f4d45226c90978075253cc01f9d4f5ce9c379fadc9d54
+SHA512 (dissimilar-1.0.5.crate) = dff9d85c30b095807efcbbf2118336d633e56b8b710c0e71350a8dfdf71bbecf39e9f6fb105f82ff57b2324404fda560571b8f84d2ffc0e3fb12d0bc1b1e4eec
commit bb68fc132d2a275450daaef570cc5d61413828c6
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Sat Jul 23 03:47:19 2022 +0000
Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
1 year, 4 months
Architecture specific change in rpms/rust-jwalk.git
by githook-noreply@fedoraproject.org
The package rpms/rust-jwalk.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/rust-jwalk.git/commit/?id=b775c71....
Change:
-ExclusiveArch: %{rust_arches}
Thanks.
Full change:
============
commit 38c9b55b894dbfc96971b7e15163cfe4c2b84c00
Author: Fabio Valentini <decathorpe(a)gmail.com>
Date: Wed Dec 21 00:20:23 2022 +0100
Update to version 0.6.2
diff --git a/.gitignore b/.gitignore
index 51e6453..0420ba4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,4 @@
/jwalk-0.5.1.crate
/jwalk-0.5.2.crate
/jwalk-0.6.0.crate
+/jwalk-0.6.2.crate
diff --git a/jwalk-fix-metadata.diff b/jwalk-fix-metadata.diff
index 5aca5a4..22dd7cc 100644
--- a/jwalk-fix-metadata.diff
+++ b/jwalk-fix-metadata.diff
@@ -1,11 +1,14 @@
---- jwalk-0.6.0/Cargo.toml 2021-01-06T22:42:05+00:00
-+++ jwalk-0.6.0/Cargo.toml 2022-11-04T18:02:27.108232+00:00
-@@ -32,8 +32,6 @@
+--- jwalk-0.6.2/Cargo.toml 1970-01-01T00:00:01+00:00
++++ jwalk-0.6.2/Cargo.toml 2022-12-20T23:18:27.194214+00:00
+@@ -43,10 +43,7 @@
+ version = "0.8"
[dependencies.rayon]
- version = "1.5"
+-version = "1.5"
+-
-[dev-dependencies.criterion]
--version = "0.3"
+-version = "0.4.0"
++version = "1.6.1"
[dev-dependencies.fs_extra]
- version = "1.1"
+ version = "1.2"
diff --git a/rust-jwalk.spec b/rust-jwalk.spec
index efe31ec..7f086f7 100644
--- a/rust-jwalk.spec
+++ b/rust-jwalk.spec
@@ -5,7 +5,7 @@
%global crate jwalk
Name: rust-jwalk
-Version: 0.6.0
+Version: 0.6.2
Release: %autorelease
Summary: Filesystem walk performed in parallel with streamed and sorted results
@@ -13,6 +13,7 @@ License: MIT
URL: https://crates.io/crates/jwalk
Source: %{crates_source}
# Manually created patch for downstream crate metadata changes
+# * bump rayon dependency from 1.5 to 1.6.1 to fix a deadlock in parallel code
# * drop unused, benchmark-only criterion dev-dependency to speed up builds
Patch: jwalk-fix-metadata.diff
diff --git a/sources b/sources
index 28362b5..68cfeda 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (jwalk-0.6.0.crate) = c39bec3bd93b001db7f32a3195f18c51838102ab697bf132c3d5851b9a347401cb103f4872fb5c8cba0817fc5367e78cf44e530e986e4ebf0a0fea4298848791
+SHA512 (jwalk-0.6.2.crate) = c73b8bafe77359b49dd07d2ecbf6428c228128df64886809cabb14a8c9ef7546f369f572ab80197078f8e2b3b27f1b23ac945a5e7783128d0d6114eaf510f301
commit b775c71a939515d99039df325ee309c9e54fd14f
Author: Fabio Valentini <decathorpe(a)gmail.com>
Date: Fri Nov 4 19:05:02 2022 +0100
Drop unused, benchmark-only criterion dev-dependency
diff --git a/jwalk-fix-metadata.diff b/jwalk-fix-metadata.diff
new file mode 100644
index 0000000..5aca5a4
--- /dev/null
+++ b/jwalk-fix-metadata.diff
@@ -0,0 +1,11 @@
+--- jwalk-0.6.0/Cargo.toml 2021-01-06T22:42:05+00:00
++++ jwalk-0.6.0/Cargo.toml 2022-11-04T18:02:27.108232+00:00
+@@ -32,8 +32,6 @@
+
+ [dependencies.rayon]
+ version = "1.5"
+-[dev-dependencies.criterion]
+-version = "0.3"
+
+ [dev-dependencies.fs_extra]
+ version = "1.1"
diff --git a/rust-jwalk.spec b/rust-jwalk.spec
index 0373ac4..efe31ec 100644
--- a/rust-jwalk.spec
+++ b/rust-jwalk.spec
@@ -1,25 +1,22 @@
-# Generated by rust2rpm 17
+# Generated by rust2rpm 23
%bcond_without check
%global debug_package %{nil}
%global crate jwalk
-Name: rust-%{crate}
+Name: rust-jwalk
Version: 0.6.0
Release: %autorelease
Summary: Filesystem walk performed in parallel with streamed and sorted results
-# Upstream license specification: MIT
License: MIT
URL: https://crates.io/crates/jwalk
Source: %{crates_source}
+# Manually created patch for downstream crate metadata changes
+# * drop unused, benchmark-only criterion dev-dependency to speed up builds
+Patch: jwalk-fix-metadata.diff
-ExclusiveArch: %{rust_arches}
-%if %{__cargo_skip_build}
-BuildArch: noarch
-%endif
-
-BuildRequires: rust-packaging
+BuildRequires: rust-packaging >= 21
%global _description %{expand:
Filesystem walk performed in parallel with streamed and sorted results.}
@@ -32,13 +29,14 @@ BuildArch: noarch
%description devel %{_description}
-This package contains library source intended for building other packages
-which use "%{crate}" crate.
+This package contains library source intended for building other packages which
+use the "%{crate}" crate.
%files devel
-%license LICENSE
-%doc README.md CHANGELOG.md
-%{cargo_registry}/%{crate}-%{version_no_tilde}/
+%license %{crate_instdir}/LICENSE
+%doc %{crate_instdir}/CHANGELOG.md
+%doc %{crate_instdir}/README.md
+%{crate_instdir}/
%package -n %{name}+default-devel
Summary: %{summary}
@@ -46,11 +44,11 @@ BuildArch: noarch
%description -n %{name}+default-devel %{_description}
-This package contains library source intended for building other packages
-which use "default" feature of "%{crate}" crate.
+This package contains library source intended for building other packages which
+use the "default" feature of the "%{crate}" crate.
%files -n %{name}+default-devel
-%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+%ghost %{crate_instdir}/Cargo.toml
%prep
%autosetup -n %{crate}-%{version_no_tilde} -p1
commit b44e56079a6486fc91bc634678c24774eb57c8b2
Author: Fabio Valentini <decathorpe(a)gmail.com>
Date: Fri Nov 4 19:02:14 2022 +0100
Convert to rpmautospec
diff --git a/changelog b/changelog
new file mode 100644
index 0000000..224323c
--- /dev/null
+++ b/changelog
@@ -0,0 +1,33 @@
+* Sat Jul 23 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.6.0-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
+
+* Fri Jan 21 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.6.0-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
+
+* Fri Jul 23 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.6.0-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+
+* Wed Jan 27 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.6.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
+
+* Sun Jan 10 19:56:35 CET 2021 Igor Raits <ignatenkobrain(a)fedoraproject.org> - 0.6.0-1
+- Update to 0.6.0 (Fixes: RHBZ#1913495)
+
+* Mon Jan 04 2021 Fabio Valentini <decathorpe(a)gmail.com> - 0.5.2-1
+- Update to version 0.5.2.
+- Fixes RHBZ#1911329
+
+* Wed Jul 29 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.5.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Tue Mar 17 17:15:04 CET 2020 Igor Raits <ignatenkobrain(a)fedoraproject.org> - 0.5.1-1
+- Update to 0.5.1
+
+* Thu Feb 20 20:57:11 CET 2020 Igor Raits <ignatenkobrain(a)fedoraproject.org> - 0.4.0-3
+- Fix FTBFS
+
+* Thu Jan 30 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.4.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
+* Sun Sep 08 17:58:02 CEST 2019 Igor Gnatenko <ignatenkobrain(a)fedoraproject.org> - 0.4.0-1
+- Initial package
diff --git a/rust-jwalk.spec b/rust-jwalk.spec
index 7e61f0b..0373ac4 100644
--- a/rust-jwalk.spec
+++ b/rust-jwalk.spec
@@ -6,7 +6,7 @@
Name: rust-%{crate}
Version: 0.6.0
-Release: 5%{?dist}
+Release: %autorelease
Summary: Filesystem walk performed in parallel with streamed and sorted results
# Upstream license specification: MIT
@@ -71,36 +71,4 @@ which use "default" feature of "%{crate}" crate.
%endif
%changelog
-* Sat Jul 23 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.6.0-5
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
-
-* Fri Jan 21 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.6.0-4
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
-
-* Fri Jul 23 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.6.0-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
-
-* Wed Jan 27 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.6.0-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
-
-* Sun Jan 10 19:56:35 CET 2021 Igor Raits <ignatenkobrain(a)fedoraproject.org> - 0.6.0-1
-- Update to 0.6.0 (Fixes: RHBZ#1913495)
-
-* Mon Jan 04 2021 Fabio Valentini <decathorpe(a)gmail.com> - 0.5.2-1
-- Update to version 0.5.2.
-- Fixes RHBZ#1911329
-
-* Wed Jul 29 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.5.1-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
-
-* Tue Mar 17 17:15:04 CET 2020 Igor Raits <ignatenkobrain(a)fedoraproject.org> - 0.5.1-1
-- Update to 0.5.1
-
-* Thu Feb 20 20:57:11 CET 2020 Igor Raits <ignatenkobrain(a)fedoraproject.org> - 0.4.0-3
-- Fix FTBFS
-
-* Thu Jan 30 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 0.4.0-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
-
-* Sun Sep 08 17:58:02 CEST 2019 Igor Gnatenko <ignatenkobrain(a)fedoraproject.org> - 0.4.0-1
-- Initial package
+%autochangelog
1 year, 4 months
Architecture specific change in rpms/rust-unindent.git
by githook-noreply@fedoraproject.org
The package rpms/rust-unindent.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/rust-unindent.git/commit/?id=f616....
Change:
-ExclusiveArch: %{rust_arches}
Thanks.
Full change:
============
commit f616e92fdccd328390fadcbf3104b149b17cae43
Author: Fabio Valentini <decathorpe(a)gmail.com>
Date: Wed Dec 21 00:02:27 2022 +0100
Update to version 0.1.11; Fixes RHBZ#2154565
diff --git a/.gitignore b/.gitignore
index c0809c6..456057e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,3 +7,4 @@
/unindent-0.1.8.crate
/unindent-0.1.9.crate
/unindent-0.1.10.crate
+/unindent-0.1.11.crate
diff --git a/rust-unindent.spec b/rust-unindent.spec
index 5c2e1b1..453d463 100644
--- a/rust-unindent.spec
+++ b/rust-unindent.spec
@@ -1,4 +1,4 @@
-# Generated by rust2rpm 22
+# Generated by rust2rpm 23
# * tests can only be run in-tree
%bcond_with check
%global debug_package %{nil}
@@ -6,7 +6,7 @@
%global crate unindent
Name: rust-unindent
-Version: 0.1.10
+Version: 0.1.11
Release: %autorelease
Summary: Remove a column of leading whitespace from a string
@@ -14,8 +14,6 @@ License: MIT OR Apache-2.0
URL: https://crates.io/crates/unindent
Source: %{crates_source}
-ExclusiveArch: %{rust_arches}
-
BuildRequires: rust-packaging >= 21
%global _description %{expand:
diff --git a/sources b/sources
index 86bdae2..6c33454 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (unindent-0.1.10.crate) = 46ff1a2c042972af2fe5958677b2fa5adf3b9edbb168bd66cc93baf9d1b128f583d9502b83f174b35866343b57a57c8a91a465eab267dddae919af24095bf6bd
+SHA512 (unindent-0.1.11.crate) = f800d6c37fe72477908c91457a738a73d2b8085bb5ae303d6d954405d6ccd98833b5da16a12c3ad1ab75d32a68dedc706dfaacc0fcbb95571dd829cdc03a356a
1 year, 4 months
Architecture specific change in rpms/rust-dissimilar.git
by githook-noreply@fedoraproject.org
The package rpms/rust-dissimilar.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/rust-dissimilar.git/commit/?id=be....
Change:
-ExclusiveArch: %{rust_arches}
Thanks.
Full change:
============
commit be06217d47c96c223d841e461c1b74c30c8f657d
Author: Fabio Valentini <decathorpe(a)gmail.com>
Date: Wed Dec 21 00:04:18 2022 +0100
Update to version 1.0.5; Fixes RHBZ#2154564
diff --git a/.gitignore b/.gitignore
index 585a85e..1fbc362 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,4 @@
/dissimilar-1.0.2.crate
/dissimilar-1.0.3.crate
/dissimilar-1.0.4.crate
+/dissimilar-1.0.5.crate
diff --git a/rust-dissimilar.spec b/rust-dissimilar.spec
index 62c70dd..9ebda86 100644
--- a/rust-dissimilar.spec
+++ b/rust-dissimilar.spec
@@ -1,21 +1,18 @@
-# Generated by rust2rpm 21
+# Generated by rust2rpm 23
%bcond_without check
%global debug_package %{nil}
%global crate dissimilar
-Name: rust-%{crate}
-Version: 1.0.4
+Name: rust-dissimilar
+Version: 1.0.5
Release: %autorelease
Summary: Diff library with semantic cleanup, based on Google's diff-match-patch
-# Upstream license specification: Apache-2.0
-License: ASL 2.0
+License: Apache-2.0
URL: https://crates.io/crates/dissimilar
Source: %{crates_source}
-ExclusiveArch: %{rust_arches}
-
BuildRequires: rust-packaging >= 21
%global _description %{expand:
diff --git a/sources b/sources
index c99af98..5e8ac49 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (dissimilar-1.0.4.crate) = 782f8b98ed734a37cec33722ab5add2a082f909a5e08c23b961e5049288e8304f68679fe33e4a7a87b2f4d45226c90978075253cc01f9d4f5ce9c379fadc9d54
+SHA512 (dissimilar-1.0.5.crate) = dff9d85c30b095807efcbbf2118336d633e56b8b710c0e71350a8dfdf71bbecf39e9f6fb105f82ff57b2324404fda560571b8f84d2ffc0e3fb12d0bc1b1e4eec
1 year, 4 months