Skip to content
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

ruby: fix build with clang 16 #245813

Merged
merged 1 commit into from
Jul 28, 2023
Merged

ruby: fix build with clang 16 #245813

merged 1 commit into from
Jul 28, 2023

Conversation

reckenrode
Copy link
Contributor

Description of changes

Ruby requires __cospi and __sinpi from math.h. These should be available in 10.12, but they’re not because the upstream header used by the source-based SDK is from 2002. Unfortunately, there is no newer version of that header available upstream, so the only way to fix the calls to undefined library functions is by using the 11.0 SDK. These worked on clang 11, but they are an error on clang 16.

Targeting staging because of rebuilds. There shouldn’t be any on aarch64-darwin or Linux, but there are ~1300 on x86_64-darwin.

Things done
  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 23.11 Release Notes (or backporting 23.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Ruby requires `__cospi` and `__sinpi` from `math.h`. These should be
available in 10.12, but they’re not because the upstream header used by
the source-based SDK is from 2002. Unfortunately, there is no newer
version of that header available upstream, so the only way to fix the
calls to undefined library functions is by using the 11.0 SDK. These
worked on clang 11, but they are an error on clang 16.
@marsam marsam merged commit 5c53841 into NixOS:staging Jul 28, 2023
10 of 11 checks passed
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.

3 participants