Skip to content

Default to LLVM 16 in shell.nix #16023

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

ysbaddaden
Copy link
Contributor

Updates shell.nix to install LLVM 16 instead of LLVM 11 by default. The immediate benefit is that the macOS CI will finally use a less outdated LLVM release.

Sadly, newer LLVM releases would require to upgrade to nixOS 24.05 at least, but it exhibits some bugs around iconv. See #14651 and #15212 for example.

@ysbaddaden ysbaddaden self-assigned this Jul 23, 2025
@straight-shoota straight-shoota changed the title Default to LLVM 16 in shell.nix. Default to LLVM 16 in shell.nix Jul 23, 2025
@straight-shoota straight-shoota added this to the 1.18.0 milestone Jul 23, 2025
@ysbaddaden
Copy link
Contributor Author

ysbaddaden commented Jul 23, 2025

Interesting: the iconv issue reproduces with Homebrew and LLVM 20, so it's probably not an issue with nixOS itself, but the upgraded LLVM version? Which makes no sense.

Using either -Dwithout_iconv or installing libiconv then using -Duse_libiconv --link-flags=-L$HOMEBREW_PREFIX/opt/libiconv/lib makes it pass.

@straight-shoota straight-shoota merged commit e4fbb93 into crystal-lang:master Jul 28, 2025
40 checks passed
@ysbaddaden ysbaddaden deleted the chore/upgrade-nixpkgs branch July 28, 2025 11:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants