Resolves https://github.com/microsoft/vcpkg/issues/35566
This pr includes https://github.com/microsoft/vcpkg/pull/31159 and
https://github.com/microsoft/vcpkg/pull/35399
Ports changed in this pr:
Most of these changes stem from the fact that protobuf now depends on
abseil and requires c++14 while ports consume protobuf using
`target_link_libraries(lib ${Protobuf_LIBRARIES})` instead of
`target_link_libraries(lib PUBLIC protobuf::libprotobuf)`.
* **abseil** Updated to 03/04/2024 to address MSVC build issue in
openvino
* **arcus** Updated to 4.13.2
* **braft** Patched to use `find_package(Protobuf` instead of custom
FindProtobuf module. also link with `PUBLIC protobuf::libprotobuf)`.
* **brpc** Patch several `target_link_library` calls to include `PUBLIC`
instead of nothing. Patch some warnings that are treated as errors by
some OSX compiler. Patch usage of changed protobuf features most
importantly removal of `SetLogHandler`, tbd whether this patch is
acceptable with upstream.
* **cld3** Use CONFIG to find protobuf to propagate dependent abseil
libs and cxx14 correctly.
* **ecal** Use CONFIG to find protobuf. Use PUBLIC when linking it.
* **gamenetworkingsockets** Add `-DCMAKE_FIND_PACKAGE_PREFER_CONFIG=on`
for protobuf.
* **gz-transport12** Update to fix usage of removed protobuf features.
* **ignition-msgs1/5/6** Remove protobuf version check which is confused
by the duplicate versioning scheme (v25.1 vs. 3.25.1 vs 4.x). Why are we
even maintaining this no longer maintained major version of this port? I
would welcome a more strict policy on removing ports/adding them to
ci.baseline.txt
* **ignition-transport4/8/9** Same as above + cherry-pick a protobuf
deprecation patch.
* **libprotobuf-mutator** Cherry-pick two commits to address altered
protobuf functionality. Add CONFIG and PUBLIC to protobuf handling in
CMake.
* **marble** Explicitly set protobuf to not found since it is not part
of the vcpkg.json but is made available transitively but another
dependency.
* **mysql-connector-cpp** Several CMake changes and removal of
protobuf::SetLogHandler patch.
* **openvino** Find protobuf using CONFIG
* **osgearth** Link libraries using PUBLIC and link with
protobuf::libprotobuf instead of Protobuf_LIBRARIES
* **paraview** Find protobuf using CONFIG and remove version check
* **pulsar-client-cpp** Add protobuf linkage to PULSAR_OBJECT_LIB.
Simplify protoc patch. Remove -Werror.
* **shogun** Update and patch as much as possible. Users are required to
override bitsery version to 4.x to use shogun since it does not support
5.x provided by vcpkg. Therefore add shogun to ci.baseline.txt.
* **srpc** Update and fix static crt linkage. Patch protobuf linkage and
remove hardcoded `-std=c++11` flag. Protobuf requires c++14 and CMake
does not recognize the hardcoded c++11 flag and will therefore not add a
c++14 flag when the compiler uses c++14 by default.
* **upb** Update to align version with protobuf/grpc and use new github
repo. Patch usual CMake mess (they do not support CMake officially)
which should probably be `unofficial-upbConfig.cmake` but I didn't dig
into downstream implications so I kept it at `upbConfig.cmake` as
before.
* **utf8-range** Update to allign version with protobuf.
Passing on
https://dev.azure.com/vcpkg/public/_build/results?buildId=103938&view=results.
```
PASSING, REMOVE FROM FAIL LIST: c4core:arm-neon-android
PASSING, REMOVE FROM FAIL LIST: botan:arm-neon-android
PASSING, REMOVE FROM FAIL LIST: concurrencpp:arm-neon-android
PASSING, REMOVE FROM FAIL LIST: cppgraphqlgen:arm-neon-android
PASSING, REMOVE FROM FAIL LIST: graphicsmagick:arm-neon-android
PASSING, REMOVE FROM FAIL LIST: libcoro:arm-neon-android
PASSING, REMOVE FROM FAIL LIST: ms-ifc-sdk:arm-neon-android
PASSING, REMOVE FROM FAIL LIST: stx:arm-neon-android
PASSING, REMOVE FROM FAIL LIST: yoga:arm-neon-android
PASSING, REMOVE FROM FAIL LIST: c4core:x64-android
PASSING, REMOVE FROM FAIL LIST: botan:x64-android
PASSING, REMOVE FROM FAIL LIST: concurrencpp:x64-android
PASSING, REMOVE FROM FAIL LIST: cppgraphqlgen:x64-android
PASSING, REMOVE FROM FAIL LIST: graphicsmagick:x64-android
PASSING, REMOVE FROM FAIL LIST: libcoro:x64-android
PASSING, REMOVE FROM FAIL LIST: ms-ifc-sdk:x64-android
PASSING, REMOVE FROM FAIL LIST: stx:x64-android
PASSING, REMOVE FROM FAIL LIST: yoga:x64-android
PASSING, REMOVE FROM FAIL LIST: c4core:arm64-android
PASSING, REMOVE FROM FAIL LIST: botan:arm64-android
PASSING, REMOVE FROM FAIL LIST: concurrencpp:arm64-android
PASSING, REMOVE FROM FAIL LIST: cppgraphqlgen:arm64-android
PASSING, REMOVE FROM FAIL LIST: graphicsmagick:arm64-android
PASSING, REMOVE FROM FAIL LIST: libcoro:arm64-android
PASSING, REMOVE FROM FAIL LIST: ms-ifc-sdk:arm64-android
PASSING, REMOVE FROM FAIL LIST: stx:arm64-android
PASSING, REMOVE FROM FAIL LIST: yoga:arm64-android
```
Added `c4core` to `ci.baseline.txt` by #29406, which has been fixed by
#39287.
Added `botan` to `ci.baseline.txt` by #37252, which has been fixed by
#38975.
Added `concurrencpp` to `ci.baseline.txt` by #29406, which may have been
fixed by #39160.
Added `cppgraphqlgen` to `ci.baseline.txt` by #29406, which may have
been fixed by #38975.
Added `graphicsmagick` to `ci.baseline.txt` by #29406, which has been
fixed by #39210.
Added `libcoro` to `ci.baseline.txt` by #30623, which may have been
fixed by #38975.
Added `ms-ifc-sdk` to `ci.baseline.txt` by #35972, which may have been
fixed by #39210.
Added `stx` to `ci.baseline.txt` by #29406, which may have been fixed by
#38975.
Added `yoga` to `ci.baseline.txt` by #37507, which may have been fixed
by #38975.
Fixes#38764, update `7zip` to 24.06.
No feature needs to be tested, the usage test passed on
`x64-windows`(header files found):
```
7zip provides CMake targets:
# this is heuristically generated, and may not be correct
find_package(7zip CONFIG REQUIRED)
target_link_libraries(main PRIVATE 7zip::7zip)
```
Passing on
https://dev.azure.com/vcpkg/public/_build/results?buildId=103701&view=results.
Added `clockutils:x64-linux=fail` to `ci.baseline.txt` by #9203, which
has been fixed by #38834.
```
PASSING, REMOVE FROM FAIL LIST: clockutils:x64-linux
```
- [x] Changes comply with the [maintainer
guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md).
- [ ] ~~SHA512s are updated for each updated download.~~
- [ ] ~~The "supports" clause reflects platforms that may be fixed by
this new version.~~
- [ ] ~~Any fixed [CI
baseline](https://github.com/microsoft/vcpkg/blob/master/scripts/ci.baseline.txt)
entries are removed from that file.~~
- [ ] ~~Any patches that are no longer applied are deleted from the
port's directory.~~
- [x] The version database is fixed by rerunning `./vcpkg x-add-version
--all` and committing the result.
- [x] Only one version is added to each modified port's versions file.
Co-authored-by: Monica <v-liumonica@microsoft.com>
Fixes#37189
- [x] Changes comply with the [maintainer
guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md).
- [x] SHA512s are updated for each updated download.
- [x] The "supports" clause reflects platforms that may be fixed by this
new version.
- [x] Any fixed [CI
baseline](https://github.com/microsoft/vcpkg/blob/master/scripts/ci.baseline.txt)
entries are removed from that file.
- [x] Any patches that are no longer applied are deleted from the port's
directory.
- [x] The version database is fixed by rerunning `./vcpkg x-add-version
--all` and committing the result.
- [x] Only one version is added to each modified port's versions file.
Fix incorrect entries of `scripts/ci.baseline.txt`.
Fix#38787, won't fix downstream `rmqcpp` for #38736.
* Keep skip in CI
- Conflict dependencies `pcre2`, `ryu` in #32645
* Disable `android`
- There is a weird error that failed to find
`BdeBuildSystem/bbs_runtest.py` by
`BdeBuildSystem/BdeBuildSystemConfig.cmake`
* Disable `arm64-windows`
- Failed with `groups\bsl\bsls\bsls_platform.h(419): fatal error C1189:
#error: "Unable to identify CPU on which the MSVC compiler is running."`
* Disable `uwp`
- Failed with `groups\bdl\bdlb\bdlb_randomdevice.cpp(93): error C3861:
'CryptAcquireContext': identifier not found`
* Check `scripts/ci.baseline.txt`
- Checked by `Get-Content ./scripts/ci.baseline.txt | Select-String
-NotMatch '^#' | Select-String -NotMatch
':(arm-neon-android|arm64-android|arm64-osx|arm64-uwp|arm64-windows|x64-android|x64-linux|x64-osx|x64-uwp|x64-windows|x64-windows-static|x64-windows-static-md|x86-windows)\s*='`
```
PASSING, REMOVE FROM FAIL LIST: hdf5:arm-neon-android
PASSING, REMOVE FROM FAIL LIST: hdf5:x64-android
PASSING, REMOVE FROM FAIL LIST: hdf5:arm64-android
PASSING, REMOVE FROM FAIL LIST: hdf5:arm64-windows
```
Passing on
https://dev.azure.com/vcpkg/public/_build/results?buildId=103642&view=results.
The installation of `hdf5:arm64-windows` and androids triplet were fixed
by PR https://github.com/microsoft/vcpkg/pull/38911.
Other ports are dependent on `hdf5`, so add them fail status of androids
triplet in `ci.baseline.txt`.
- [x] Changes comply with the [maintainer
guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md).
- [ ] ~~SHA512s are updated for each updated download.~~
- [ ] ~~The "supports" clause reflects platforms that may be fixed by
this new version.~~
- [ ] ~~Any fixed [CI
baseline](https://github.com/microsoft/vcpkg/blob/master/scripts/ci.baseline.txt)
entries are removed from that file.~~
- [ ] ~~Any patches that are no longer applied are deleted from the
port's directory.~~
- [x] The version database is fixed by rerunning `./vcpkg x-add-version
--all` and committing the result.
- [x] Only one version is added to each modified port's versions file.
---------
Co-authored-by: Lily Wang <v-lilywang@microsoft.com>
* Run through the macOS update instructions one more time. I think
they're in a pretty good state now since this is the first attempt to
rerun them since we dropped Vagrant.
* Removed Parallels references for arm64.
* Removed references to removing Vagrant because it's no longer on any
of the hosts.
* Update macOS to 14.5.
* Update XCode CLT to 14.3.
libidn2: Enable android support.
libgnutls: CCAS defaults to CC, but CCASFLAGS would lack what we move to
CPPFLAGS.
---------
Co-authored-by: Monica <v-liumonica@microsoft.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
Fixes regression:
https://dev.azure.com/vcpkg/public/_build/results?buildId=102737&view=results
````
REGRESSION: lunarg-vulkantools:x64-linux failed with BUILD_FAILED
REGRESSION: qt5-serialbus:x64-linux failed with BUILD_FAILED
````
Error:
````
/usr/bin/ld: /mnt/vcpkg-ci/b/krb5/x64-linux-dbg/lib/gssapi/krb5/../../.././../src/krb5-1-8a38cd677f.clean/src/lib/gssapi/krb5/export_name.c:61: undefined reference to `krb5_free_context'
````
Add option _--gssapi=no_ to disable use feature gssapi
Remove
````
lunarg-vulkantools:x64-linux=fail
qt5-serialbus:x64-linux=fail
````
from ci.baseline.txt
- [x] Changes comply with the [maintainer
guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md).
- [ ] ~~SHA512s are updated for each updated download.~~
- [ ] ~~The "supports" clause reflects platforms that may be fixed by
this new version.~~
- [ ] ~~Any fixed [CI
baseline](https://github.com/microsoft/vcpkg/blob/master/scripts/ci.baseline.txt)
entries are removed from that file.~~
- [ ] ~~Any patches that are no longer applied are deleted from the
port's directory.~~
- [x] The version database is fixed by rerunning `./vcpkg x-add-version
--all` and committing the result.
- [x] Only one version is added to each modified port's versions file.
---------
Co-authored-by: Jon <v-zhli17@microsoft.com>
Fixes regression:
https://dev.azure.com/vcpkg/public/_build/results?buildId=102737&view=results
````
REGRESSION: lunarg-vulkantools:x64-linux failed with BUILD_FAILED
REGRESSION: qt5-serialbus:x64-linux failed with BUILD_FAILED
````
Error:
````
/usr/bin/ld: /mnt/vcpkg-ci/b/krb5/x64-linux-dbg/lib/gssapi/krb5/../../.././../src/krb5-1-8a38cd677f.clean/src/lib/gssapi/krb5/export_name.c:61: undefined reference to `krb5_free_context'
````
- [x] Changes comply with the [maintainer
guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md).
- [ ] ~~SHA512s are updated for each updated download.~~
- [ ] ~~The "supports" clause reflects platforms that may be fixed by
this new version.~~
- [ ] ~~Any fixed [CI
baseline](https://github.com/microsoft/vcpkg/blob/master/scripts/ci.baseline.txt)
entries are removed from that file.~~
- [ ] ~~Any patches that are no longer applied are deleted from the
port's directory.~~
- [ ] ~~The version database is fixed by rerunning `./vcpkg
x-add-version --all` and committing the result.~~
- [x] Only one version is added to each modified port's versions file.
Co-authored-by: Jon <v-zhli17@microsoft.com>
Fix one of [32398](https://github.com/microsoft/vcpkg/issues/32398)
issue.
```
/mnt/vcpkg/buildtrees/libodb/src/libodb-2-59eaf93c2b.clean/odb/details/shared-ptr/base.hxx:38:49: error: ISO C++17 does not allow dynamic exception specifications
38 | operator new (std::size_t, odb::details::share) throw (std::bad_alloc);
| ^~~~~
/mnt/vcpkg/buildtrees/libodb/src/libodb-2-59eaf93c2b.clean/odb/details/shared-ptr/base.hxx:65:34: error: ISO C++17 does not allow dynamic exception specifications
65 | operator new (std::size_t) throw (std::bad_alloc);
| ^~~~~
/mnt/vcpkg/buildtrees/libodb/src/libodb-2-59eaf93c2b.clean/odb/details/shared-ptr/base.hxx:68:41: error: ISO C++17 does not allow dynamic exception specifications
68 | operator new (std::size_t, share) throw (std::bad_alloc);
| ^~~~~
In file included from /mnt/vcpkg/buildtrees/libodb/src/libodb-2-59eaf93c2b.clean/odb/details/shared-ptr/base.hxx:108,
from /mnt/vcpkg/buildtrees/libodb/src/libodb-2-59eaf93c2b.clean/odb/details/shared-ptr/base.cxx:5:
/mnt/vcpkg/buildtrees/libodb/src/libodb-2-59eaf93c2b.clean/odb/details/shared-ptr/base.ixx:67:34: error: ISO C++17 does not allow dynamic exception specifications
67 | operator new (std::size_t n) throw (std::bad_alloc)
| ^~~~~
/mnt/vcpkg/buildtrees/libodb/src/libodb-2-59eaf93c2b.clean/odb/details/shared-ptr/base.ixx:73:41: error: ISO C++17 does not allow dynamic exception specifications
73 | operator new (std::size_t n, share) throw (std::bad_alloc)
| ^~~~~
/mnt/vcpkg/buildtrees/libodb/src/libodb-2-59eaf93c2b.clean/odb/details/shared-ptr/base.cxx:57:48: error: ISO C++17 does not allow dynamic exception specifications
57 | operator new (size_t n, odb::details::share s) throw (std::bad_alloc)
```
Fix the syntax not supported by C++17 and modify the export file name.
- [X] Changes comply with the [maintainer
guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md).
- [ ] ~~SHA512s are updated for each updated download.~~
- [ ] ~~The "supports" clause reflects platforms that may be fixed by
this new version.~~
- [X] Any fixed [CI
baseline](https://github.com/microsoft/vcpkg/blob/master/scripts/ci.baseline.txt)
entries are removed from that file.
- [ ] ~~Any patches that are no longer applied are deleted from the
port's directory.~~
- [X] The version database is fixed by rerunning `./vcpkg x-add-version
--all` and committing the result.
- [X] Only one version is added to each modified port's versions file.
Usage test pass with following triplets:
```
x64-windows
```
Compile test pass with following triplets:
```
x64-windows
x64-linux
```
Fix osx. Closes https://github.com/microsoft/vcpkg/issues/38595.
Enable install for static library linkage triplets. (osx and linux CI!)
Fixes#29445.
Enable arm64 linux and windows.
Install all binaries and headers from upstream's package.
Install non-DLL shared objects to `lib`.
Update. Simplify. Facilitate future updates.