opencv4: protobuf_21 -> protobuf#419335
Conversation
Signed-off-by: Connor Baker <ConnorBaker01@gmail.com>
|
Old Details## `nixpkgs-review` resultGenerated using Command:
|
|
Old Details## `nixpkgs-review` resultGenerated using Command:
|
|
Old Details## `nixpkgs-review` resultGenerated using Command:
|
|
CC @autra @SuperSandro2000 @phanirithvij since you've all previously discussed OpenCV/protobuf in one way or another, what needs to be done to validate whether a protobuf bump is acceptable? |
|
As far as I remember we need to check the configure log and/or the cmake file to see what is happening there. At least the cmake file should contain some version constraint or condition and will then log that the feature was disabled or skipped or similar. |
|
Watching the build more closely, I did see That shouldn't be the default language version for these compilers and I don't see anything in the derivation setting it. @SuperSandro2000 would you happen to know if the language standard for C/C++ is set somewhere by default by Nix or its toolchain wrappers? |
|
see also #386339 |
|
It seems like opencv sets a default in many places opencv/opencv#23752 I think the compilers have an inbuilt default, I don't think we set that by default but it could also be burried somewhere deep. Maybe see #218671 and #255979 |
fixes NixOS#386327 (cherry picked from commit fbced4e)
def0c7c to
3eb8b87
Compare
|
|
|
I ran |
Imo, apart from a successful build, a check that upstream supports it and some testing. Relevant thread (where we decided not to bump protobuf), which in summary was "bumping CXX is risky, let's not do it now": #375774 (comment) |
I'm currently running the passthru tests to check for breakage. EDIT: Added the results of running the tests above.
I saw that -- I'm not sure what's risky beyond the possibility of link-time failures (which would cause build failures, not runtime failures). @SuperSandro2000 any ideas on what to look for specifically in terms of breakages typically caused by bumping the language standard with which a package builds? The only thing I could think of as having caused issues previously was the C++ ABI. |
|
I think most issues should be catched at compile time, so if most things continue to build afterwards we should be fine. |
|
The CUDA tests weren't working, so I did a general cleanup of the tests here:#422208. |
philiptaron
left a comment
There was a problem hiding this comment.
Builds for me and a quick survey of dependent packages indicate they build and test, too. Let's give it a go.
|
Successfully created backport PR for |
Updates the OpenCV derivation expression to use the default version of
protobufand updates the language standard used by OpenCV to C++17.protobuf_29was briefly made the default (#370155), but reverted in c312f6f due to language standard requirements (C++17) and concerns about possible linking breakage as a result (#375774 (comment)).#386339 raises the language standard to C++17 -- this
appears unnecessary given the default language standard for GCC and Clang has been C++17 since versions 11 and 16, respectively (https://gcc.gnu.org/projects/cxx-status.html#cxx17 and https://clang.llvm.org/cxx_status.html)is necessary given OpenCV sets the default language standard in several places (#419335 (comment)).Things done
nix.conf? (See Nix manual)sandbox = relaxedsandbox = truenix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/)Add a 👍 reaction to pull requests you find important.