F44 Change Proposal: Bump Minimum Rust Bindgen To v0.72 [SelfContained]

Bump Minimum Rust Bindgen to v0.72

Wiki

Announced

This is a proposed Change for Fedora Linux.
This document represents a proposed Change. As part of the Changes process, proposals are publicly announced in order to receive community feedback. This proposal will only be implemented if approved by the Fedora Engineering Steering Committee.

Summary :open_book:

Fedora currently includes packages for v0.68, v0.69, v0.71, and v0.72 of the Rust “bindgen” crate. All dependent packages will be updated to use bindgen v0.72 (or newer) to address breaking changes in LLVM 22 that are only fixed in bindgen v0.72.1 and newer.

Owner :open_book:

  • Name: Fabio Valentini
  • Email: decathorpe AT gmail DOT com
  • Name: Rust SIG
  • Email: rust AT lists DOT fedoraproject DOT org

Detailed Description :open_book:

LLVM 22 brings (potentially breaking) changes to how clang represents parsed AST. This required changes in the bindgen crate, which have only been released in v0.72.1 and newer.

Older versions of the bindgen crate will potentially generate broken code with libclang 22, so all dependent packages in Fedora will be updated to use bindgen v0.72.1 or newer, and packages for old versions of bindgen will be retired from Fedora when they are no longer needed. This process has been ongoing for the past few months, but there are a few remaining packages that need to be handled:

  • rust-tss-esapi-sys (bindgen v0.68 → v0.72)
  • clamav (bindgen v0.69 → v0.72)
  • retis (bindgen v0.69 → v0.72)
  • rust-krun-sys (bindgen v0.69 → v0.72)
  • rust-libbpf-sys (bindgen v0.69 → v0.72)
  • rust-libmonado (bindgen v0.69 → v0.72)
  • rust-libspa-sys0.8 (bindgen v0.69 → v0.72)
  • rust-pipewire-sys0.8 (bindgen v0.69 → v0.72)
  • rust-scx_utils (bindgen v0.69 → v0.72)
  • rust-tree-sitter0.23 (bindgen v0.69 → v0.72)
  • rust-tree-sitter0.24 (bindgen v0.69 → v0.72)
  • kryoptic (bindgen v0.71 → v0.72)
  • rust-tree-sitter (bindgen v0.71 → v0.72)

Updating and / or patching packages that include “bindgen” in vendored Rust dependencies is explicitly out of scope of this Change.

Feedback :open_book:

N/Y

Benefit to Fedora :open_book:

Fedora packages are only built with versions of the “bindgen” crate that officially support LLVM 22 (not accounting for packages that build with vendored Rust dependencies).

Scope :open_book:

  • Proposal owners:
    • Submit packaging changes (and upstream pull requests) for updating the “bindgen” dependency, where necessary.
    • Submit pull requests for packages not under the Rust SIG umbrella (clamav, retis, kryoptic).
  • Other developers:
    • Merge + build pull requests and / or rely on provenpackagers to merge + build pull requests for packages not under the Rust SIG umbrella.
  • Release engineering: N/A
  • Policies and guidelines: N/A
  • Trademark approval: N/A
  • Alignment with the Fedora Strategy: N/A

Upgrade/compatibility impact :open_book:

There should be no upgrade / compatibility impact, other than improved support for building Rust packages when using LLVM 22 - the default version of LLVM in Fedora 44.

Early Testing (Optional) :open_book:

N/A

Do you require ‘QA Blueprint’ support? N

How To Test :open_book:

  • Check that all packages that depend on “crate(bindgen)” are built with bindgen v0.72.1 or newer.
  • Verify that packages for older versions of the “bindgen” crate were retired from Fedora 44+.

User Experience :open_book:

No change in user experience (not a user-facing change).

Dependencies :open_book:

Three dependent packages are not co-maintained by the Rust SIG (clamav, retis, kryoptic). Maintainers of these packages (or provenpackagers) will need to merge pull requests and / or implement necessary changes themselves.

Contingency Plan :open_book:

If packages cannot be ported to bindgen v0.72 in time for the final freeze, retirement of older bindgen versions can be postponed to later versions of Fedora, as necessary. Not all packages will be affected by the changes in LLVM 22.

  • Contingency mechanism: Postpone retirement of old bindgen versions to a later Fedora release.
  • Contingency deadline: Final freeze.
  • Blocks release? No / N/A (not a System Wide Change)

Documentation :open_book:

Release Notes :open_book:

The minimum version of the “bindgen” crate in Fedora has been raised to v0.72.1 to address compatibility issues with LLVM 22.

Last edited by @alking 2026-01-22T13:47:47Z

Last edited by @alking 2026-01-22T13:47:47Z

How do you feel about the proposal as written?

  • Strongly in favor
  • In favor, with reservations
  • Neutral
  • Opposed, but could be convinced
  • Strongly opposed
0 voters

If you are in favor but have reservations, or are opposed but something could change your mind, please explain in a reply.

We want everyone to be heard, but many posts repeating the same thing actually makes that harder. If you have something new to say, please say it. If, instead, you find someone has already covered what you’d like to express, please simply give that post a :heart: instead of reiterating. You can even do this by email, by replying with the heart emoji or just “+1”. This will make long topics easier to follow.

Please note that this is an advisory “straw poll” meant to gauge sentiment. It isn’t a vote or a scientific survey. See About the Change Proposals category for more about the Change Process and moderation policy.

This change proposal has now been submitted to FESCo with ticket #3536 for voting.

To find out more, please visit our Changes Policy documentation.

I recommend reading the canonical version of this proposal on the Wiki, since it looks like the formatting for discourse got messed up:

https://fedoraproject.org/wiki/Changes/Bump_Minimum_Rust_Bindgen_To_v0.72

Note: I filed this proposal only today, so there has been no discussion yet, but it appears that the fesco ticket was filed early so it can get processed quickly (today is the deadline for self-contained changes for f44).

However, this is not actually urgent - the change can be implemented any time, though preferably, it is finished before LLVM 22 lands at or around the F44 beta freeze.

I have tried to improve the visual presentation. Please let me know if it needs further corrections.

1 Like

This change proposal has now been submitted to FESCo with ticket #3548 for voting.

To find out more, please visit our Changes Policy documentation.

eh … ?