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

avro-cpp: 1.11.3 -> 1.12.0, enable tests, libserdes: fix build with avro-cpp 1.12.0 #369338

Merged
merged 4 commits into from
Jan 1, 2025

Conversation

xokdvium
Copy link
Contributor

This update gets pretty ugly because of the new dependency on fmt, which needs some patching and finagling.

Release notes: https://github.com/apache/avro/releases/tag/release-1.12.0.

Resolves #368981.

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • 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/)
  • 25.05 Release Notes (or backporting 24.11 and 25.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.

Add a 👍 reaction to pull requests you find important.

This is a major change to the public API. Now avro-cpp public headers
depend on fmt as well as boost. The build system tries to do FetchContent
on fmtlib unconditionally, which requires patching to circumvent.
Looks like the least painful thing to do is to propagate both boost and fmt and hope
that dependant packages don't break too much.
Unit tests are built unconditionally by the build system.
Might as well run them, since they take very little time to execute.
@khaneliman
Copy link
Contributor

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 369338


x86_64-linux

❌ 2 packages failed to build:
  • irods
  • irods-icommands
✅ 4 packages built:
  • avro-cpp
  • kcat
  • libserdes
  • libserdes.dev

aarch64-linux

❌ 2 packages failed to build:
  • irods
  • irods-icommands
✅ 4 packages built:
  • avro-cpp
  • kcat
  • libserdes
  • libserdes.dev

x86_64-darwin

❌ 3 packages failed to build:
  • kcat
  • libserdes
  • libserdes.dev
✅ 1 package built:
  • avro-cpp

aarch64-darwin

❌ 3 packages failed to build:
  • kcat
  • libserdes
  • libserdes.dev
✅ 1 package built:
  • avro-cpp

@khaneliman
Copy link
Contributor

Looks like this breaks libserdes on darwin.

Some finagling is required to make the configure scripts cooperate with the required
bump to the minimum C++ standard version. avro-cpp needs at least C++17, but libserdes
is stuck at C++11.
@khaneliman
Copy link
Contributor

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 369338


x86_64-linux

❌ 2 packages failed to build:
  • irods
  • irods-icommands
✅ 4 packages built:
  • avro-cpp
  • kcat
  • libserdes
  • libserdes.dev

aarch64-linux

❌ 2 packages failed to build:
  • irods
  • irods-icommands
✅ 4 packages built:
  • avro-cpp
  • kcat
  • libserdes
  • libserdes.dev

x86_64-darwin

✅ 4 packages built:
  • avro-cpp
  • kcat
  • libserdes
  • libserdes.dev

aarch64-darwin

✅ 4 packages built:
  • avro-cpp
  • kcat
  • libserdes
  • libserdes.dev

@khaneliman khaneliman merged commit 27c1df6 into NixOS:master Jan 1, 2025
23 of 24 checks passed
@xokdvium xokdvium deleted the dev/avro-cpp-bump branch January 1, 2025 08:44
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.

Build failure: avro-cpp (Also update request: 1.11.3 → 1.12.0)
2 participants