Skip to content

fix: update flake.lock and add fix for rust-bindgen to default.nix#8874

Merged
jdx merged 3 commits intojdx:mainfrom
esteve:fix-nix-flake
Apr 4, 2026
Merged

fix: update flake.lock and add fix for rust-bindgen to default.nix#8874
jdx merged 3 commits intojdx:mainfrom
esteve:fix-nix-flake

Conversation

@esteve
Copy link
Copy Markdown
Contributor

@esteve esteve commented Apr 3, 2026

This updates the flake.lock file as it was installing Rust 1.85 and several crates no longer support that version:

❯ nix develop
❯ mise run build
[build] $ cargo build --all-features
error: rustc 1.85.0 is not supported by the following packages:
  aws-config@1.8.12 requires rustc 1.88
  aws-credential-types@1.2.11 requires rustc 1.88
  aws-runtime@1.5.18 requires rustc 1.88
  aws-sdk-s3@1.121.0 requires rustc 1.88.0
...

This PR also adds bindgenHook to default.nix so that bindgen can work (see https://ryantm.github.io/nixpkgs/languages-frameworks/rust/#hooks):

❯ nix develop
❯ mise run build
[build] $ cargo build --all-features
 ...
error: failed to run custom build command for `aws-lc-sys v0.39.0`
...
  thread 'main' (116706) panicked at /var/home/esteve/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/bindgen-0.72.1/lib.rs:616:27:
  Unable to find libclang: "the `libclang` shared library at /usr/lib64/llvm21/lib64/libclang.so.21.1.8 could not be opened: libLLVM.so.21.1: cannot open shared object file: No such file or directory"
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
[build] ERROR task failed

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the nixpkgs dependency in flake.lock and adds rustPlatform.bindgenHook to the nativeCheckInputs in default.nix. A review comment points out that bindgenHook should be moved to nativeBuildInputs because nativeCheckInputs are only available during the test phase, whereas the hook is required during the compilation phase to resolve build failures. Additionally, using the hook correctly would make existing manual configurations for libclang redundant.

Comment thread default.nix Outdated
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented Apr 3, 2026

Greptile Summary

This PR fixes two Nix-related build issues: it updates flake.lock to a newer nixpkgs revision (bumping from a pinned snapshot that shipped Rust 1.85 to one that provides Rust ≥ 1.88, satisfying the aws-* crate MSRV requirements), and adds rustPlatform.bindgenHook to nativeBuildInputs in default.nix so that bindgen/libclang is correctly wired up during the cargo build phase.

  • flake.lock: nixpkgs rev bumped to 8d8c1fa5b412c223ffa47410867813290cdedfef, resolving the Rust 1.85 MSRV failures in aws-config, aws-sdk-s3, etc.
  • default.nix: rustPlatform.bindgenHook added to nativeBuildInputs (correct placement — build phase, not check phase), fixing the libclang shared-library resolution error from aws-lc-sys.
  • The previous review concern about bindgenHook being placed in nativeCheckInputs has been resolved; it is now correctly in nativeBuildInputs.

Confidence Score: 5/5

Safe to merge — targeted Nix fixes with no logic changes to the Rust codebase.

Both changes are correct and minimal: bindgenHook lands in nativeBuildInputs (the right phase), and the nixpkgs lock is updated to a revision that satisfies the aws-* MSRV. The prior reviewer concern about nativeCheckInputs has been addressed. No P0/P1 findings remain.

No files require special attention.

Important Files Changed

Filename Overview
default.nix Adds rustPlatform.bindgenHook to nativeBuildInputs — correct placement to fix libclang resolution during the cargo build phase.
flake.lock Bumps nixpkgs pin to a revision from April 2026 that ships Rust ≥ 1.88, satisfying the MSRV requirements of the updated aws-* crates.

Greploops — Automatically fix all review issues by running /greploops in Claude Code. It iterates: fix, push, re-review, repeat until 5/5 confidence.
Use the Greptile plugin for Claude Code to query reviews, search comments, and manage custom context directly from your terminal.

Reviews (5): Last reviewed commit: "Merge branch 'main' into fix-nix-flake" | Re-trigger Greptile

Comment thread default.nix Outdated
Signed-off-by: Esteve Fernandez <esteve@apache.org>
@jdx jdx merged commit 0559705 into jdx:main Apr 4, 2026
17 checks passed
@esteve esteve deleted the fix-nix-flake branch April 4, 2026 13:53
jdx pushed a commit that referenced this pull request Apr 5, 2026
### 🚀 Features

- **(ci)** auto-convert external PRs to draft mode by @jdx in
[#8896](#8896)
- **(deps)** add `depends` field for user-specified tool dependencies by
@cprecioso in [#8776](#8776)
- **(dotnet)** support runtime-only installs by @fragon10 in
[#8524](#8524)
- **(npm)** apply install_before to transitive dependencies by @risu729
in [#8851](#8851)
- **(task)** allow passing arguments to task dependencies via
{{usage.*}} templates by @jdx in
[#8893](#8893)
- add options field to BackendListVersionsCtx by @esteve in
[#8875](#8875)

### 🐛 Bug Fixes

- **(backend)** filter PEP 440 .dev versions in fuzzy version matching
by @richardthe3rd in [#8849](#8849)
- **(ci)** update COPR BuildRequires rust version to match MSRV 1.88 by
@jdx in [#8911](#8911)
- **(ci)** add Ruby build dependencies to e2e Docker image by @jdx in
[#8910](#8910)
- **(ci)** add missing build dependencies to e2e Docker image by @jdx in
[#8912](#8912)
- **(ci)** add missing build dependencies to e2e Docker image by @jdx in
[#8914](#8914)
- **(ci)** use Node 24 LTS for corepack e2e test by @jdx in
[#8915](#8915)
- **(ci)** add libxml2 and pkg-config to e2e Docker image by @jdx in
[#8917](#8917)
- **(ci)** add libxml2-dev to e2e image and disable Swift SPM tests by
@jdx in [#8918](#8918)
- **(docs)** use sans-serif font for badges by @jdx in
[#8887](#8887)
- **(env)** parse --env=VALUE and -E=VALUE flag forms correctly by @jdx
in [#8889](#8889)
- **(exec)** use i64::from() for seccomp syscall numbers to survive
autofix by @jdx in [#8882](#8882)
- **(github)** preserve tool options like filter_bins when version
specified via CLI by @jdx in
[#8888](#8888)
- **(github)** use alias-specific options when tool_alias has its own
config by @jdx in [#8892](#8892)
- **(install)** add locked_verify_provenance setting and detect github
attestations at lock time by @jdx in
[#8901](#8901)
- **(lock)** prune stale version entries during filtered `mise lock
<tool>` runs by @altendky in
[#8599](#8599)
- **(python)** use lockfile URL for precompiled installs by @hehaoqian
in [#8750](#8750)
- **(release)** verify all build targets succeed before releasing by
@jdx in [#8886](#8886)
- **(ruby)** support build revisions for precompiled binaries in
mise.lock by @jdx in [#8900](#8900)
- **(swift)** fall back to Ubuntu 24.04 for unsupported Ubuntu versions
by @jdx in [#8916](#8916)
- **(zsh)** avoid duplicate trust warning after cd by @timothysparg in
[#8898](#8898)
- update flake.lock and add fix for rust-bindgen to default.nix by
@esteve in [#8874](#8874)
- when direnv diff is empty, do not try to parse it by @yaleman in
[#8857](#8857)
- skip trust check for plain .tool-versions in task list by @dportalesr
in [#8876](#8876)

### 🚜 Refactor

- **(go)** rename go_* settings to go.* namespace by @jdbruijn in
[#8598](#8598)

### 📚 Documentation

- **(tasks)** clarify task_config.includes behavior by @risu729 in
[#8905](#8905)

### 🧪 Testing

- **(ci)** run e2e tests inside Docker containers by @jdx in
[#8899](#8899)

### 📦️ Dependency Updates

- bump ubi from 0.8 to 0.9 by @jdx in
[#8906](#8906)
- bump zip from 3 to 8 by @jdx in
[#8908](#8908)
- update lockfile deps (hold back rattler) by @jdx in
[#8909](#8909)
- update bun.lock by @jdx in
[#8913](#8913)

### 📦 Registry

- add turso
([github:tursodatabase/turso-cli](https://github.com/tursodatabase/turso-cli))
by @kenn in [#8884](#8884)
- remove carp test by @jdx in
[#8894](#8894)

### Chore

- **(ci)** add workflow to warn PRs modifying vendored aqua-registry by
@jdx in [#8897](#8897)
- **(ci)** use github.token for draft conversion in auto-draft workflow
by @jdx in [#8903](#8903)
- remove deprecated settings older than 12 months by @jdx in
[#8904](#8904)

### New Contributors

- @dportalesr made their first contribution in
[#8876](#8876)
- @timothysparg made their first contribution in
[#8898](#8898)
- @hehaoqian made their first contribution in
[#8750](#8750)
- @jdbruijn made their first contribution in
[#8598](#8598)
- @cprecioso made their first contribution in
[#8776](#8776)
- @yaleman made their first contribution in
[#8857](#8857)
- @kenn made their first contribution in
[#8884](#8884)
- @fragon10 made their first contribution in
[#8524](#8524)

## 📦 Aqua Registry Updates

#### New Packages (6)

- [`ahkohd/oyo`](https://github.com/ahkohd/oyo)
- [`bellicose100xp/jiq`](https://github.com/bellicose100xp/jiq)
- [`kurama/dealve-tui`](https://github.com/kurama/dealve-tui)
- [`micahkepe/jsongrep`](https://github.com/micahkepe/jsongrep)
- [`textfuel/lazyjira`](https://github.com/textfuel/lazyjira)
- [`ubugeeei/vize`](https://github.com/ubugeeei/vize)

#### Updated Packages (1)

- [`sigstore/cosign`](https://github.com/sigstore/cosign)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants