cdo: update to 2.4.1
Description
Simple update to upstream version 2.4.1
Type(s)
- [ ] bugfix
- [ ] enhancement
- [ ] security fix
Tested on
macOS 14.5 23F79 x86_64 Command Line Tools 15.3.0.0.1.1708646388
Verification
Have you
- [x] followed our Commit Message Guidelines?
- [x] squashed and minimized your commits?
- [x] checked that there aren't other open pull requests for the same change?
- [x] referenced existing tickets on Trac with full URL in commit message?
- [x] checked your Portfile with
port lint --nitpick? - [x] tried existing tests with
sudo port test? - [x] tried a full install with
sudo port -vst install? - [x] tested basic functionality of all binary files?
- [x] checked that the Portfile's most important variants haven't been broken?
Notifying maintainers: @tenomoto for port cdo.
After all the work with v2.4.0 (#23406) regarding the C++20 support, macos-13 now fails again on something to do with C++20 support (https://github.com/macports/macports-ports/actions/runs/9192649442/job/25281816454?pr=24069).
./cpp_lib.h:15:2: error: C++20 Ranges library is Not Available!
#error C++20 Ranges library is Not Available!
There seems to be some inconsistency in what MacOS versions will select for C++ and C compilers:
macos-11 and macos-12:
"CXX" : "/opt/local/bin/clang++-mp-16 -std=gnu++20",
"CC" : "/opt/local/bin/clang-mp-16",
macos-13 and macos-14:
"CXX" : "/usr/bin/clang++ -std=gnu++11 -std=gnu++20",
"CC" : "/usr/bin/clang",
It's kind of weird that the -std=gnu++11 -std=gnu++20 works on macos-14 but not macos-13.
Solutions may be in forcing clang++-mp-16 on macos-13 by blacklisting older clang versions or try to suppress the -std=gnu++11
In the end, what worked was to add compiler.blacklist-append clang so that macports clang++-mp-* is always used. I would have expected that compiler.blacklist-append { clang < 1500 } would work, since I would have expected the macos-13 version for clang to be older than 1500. In any case, with that in place, macos-13 still tried to compile with /usr/bin/clang++ -std=gnu++11 -std=gnu++20 and failed with the same error indicated above.
Finally, with compiler.blacklist-append clang the following compilers are selected:
macos-11 and macos-12:
"CXX" : "/opt/local/bin/clang++-mp-16 -std=gnu++20",
"CC" : "/opt/local/bin/clang-mp-16",
macos-13 and macos-14:
"CXX" : "/opt/local/bin/clang++-mp-18 -std=gnu++20",
"CC" : "/opt/local/bin/clang-mp-18",
resulting in successful compilations on all systems.
This PR should now be ready to be merged after review.
Thanks for your efforts here, @remkos.
And thanks, @herbygillot, for your support, as always.