Skip to content

Conversation

@dennmart
Copy link
Contributor

@dennmart dennmart commented Apr 30, 2025

This pull request updates the configuration file for the ed25519_ref10 extension to use append_cflags instead of directly modifying the CFLAGS environment variable as it was before.

This approach is recommended over modifying CFLAGS since it ensures compatibility across different build environments by checking whether the flag is acceptable, and should not affect most systems. In my case, I was running into an issue on Fedora 42 where recent updates to GCC seem to not work well with the -std=c99 flag that was being set when building the extension (as noted in #44). Using append_cflags checks this and doesn't include it in CFLAGS, allowing the extension to build successfully.

I also updated the rubocop and rubocop-packaging gems to their latest versions, as those checks were failing with Ruby 3.4. Besides updating the gems, I also modified the .rubocop.yml file since the rubocop-packaging extension now uses the new plugins system, and I also disabled a few gem-related cops (Gemspec/RequireMFA and Gemspec/DevelopmentDependencies) since I probably shouldn't be modifying the gemspec. If you prefer these changes be made separately, I can create a separate pull request for the Rubocop updates.

Edit: I pushed one last commit to update the CI workflow to include Ruby 3.3 and 3.4 at part of the test matrix.

@tarcieri
Copy link
Collaborator

@dennmart you can drop support for older Rubies (though it would be good to test on a more recent JRuby)

@dennmart
Copy link
Contributor Author

@tarcieri Thanks for the review! I made a few more changes:

  • I dropped most EOL versions for Ruby and JRuby and added recent JRuby versions to the test matrix. I kept Ruby 3.0 and 3.1 although they're already EOL, but tests are still passing. I'm guessing support for these should maybe be dropped soon as well.
  • I excluded testing against JRuby 10.0.0 on Windows since there's a Java incompatibility on the runner. It's probably due to the runner using an older version of Java but I didn't want to tinker too much with it for now. I can take a look at this one in the future.
  • I set the minimum Ruby version to 3.0 for Rubocop, and needed to update the minimum version on the gemspec as well to accommodate this change.

@tarcieri tarcieri merged commit c1ee0e0 into RubyCrypto:main Apr 30, 2025
15 checks passed
@tarcieri tarcieri mentioned this pull request May 4, 2025
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