<!-- If your PR fixes issues, please note that here by adding "Fixes
#NNNNNN." for each fixed issue on separate lines. -->
<!-- If you are still working on the PR, open it as a Draft:
https://github.blog/2019-02-14-introducing-draft-pull-requests/. -->
- [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.
<!-- If this PR adds a new port, please uncomment and fill out this
checklist:
- [ ] Changes comply with the [maintainer
guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md).
- [ ] The name of the port matches an existing name for this component
on https://repology.org/ if possible, and/or is strongly associated with
that component on search engines.
- [ ] Optional dependencies are resolved in exactly one way. For
example, if the component is built with CMake, all `find_package` calls
are REQUIRED, are satisfied by `vcpkg.json`'s declared dependencies, or
disabled with
[CMAKE_DISABLE_FIND_PACKAGE_Xxx](https://cmake.org/cmake/help/latest/variable/CMAKE_DISABLE_FIND_PACKAGE_PackageName.html).
- [ ] The versioning scheme in `vcpkg.json` matches what upstream says.
- [ ] The license declaration in `vcpkg.json` matches what upstream
says.
- [ ] The installed as the "copyright" file matches what upstream says.
- [ ] The source code of the component installed comes from an
authoritative source.
- [ ] The generated "usage text" is accurate. See
[adding-usage](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/examples/adding-usage.md)
for context.
- [ ] The version database is fixed by rerunning `./vcpkg x-add-version
--all` and committing the result.
- [ ] Only one version is in the new port's versions file.
- [ ] Only one version is added to each modified port's versions file.
END OF NEW PORT CHECKLIST (delete this line) -->
<!-- If your PR fixes issues, please note that here by adding "Fixes
#NNNNNN." for each fixed issue on separate lines. -->
<!-- If you are still working on the PR, open it as a Draft:
https://github.blog/2019-02-14-introducing-draft-pull-requests/. -->
- [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.
<!-- If this PR adds a new port, please uncomment and fill out this
checklist:
- [ ] Changes comply with the [maintainer
guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md).
- [ ] The name of the port matches an existing name for this component
on https://repology.org/ if possible, and/or is strongly associated with
that component on search engines.
- [ ] Optional dependencies are resolved in exactly one way. For
example, if the component is built with CMake, all `find_package` calls
are REQUIRED, are satisfied by `vcpkg.json`'s declared dependencies, or
disabled with
[CMAKE_DISABLE_FIND_PACKAGE_Xxx](https://cmake.org/cmake/help/latest/variable/CMAKE_DISABLE_FIND_PACKAGE_PackageName.html).
- [ ] The versioning scheme in `vcpkg.json` matches what upstream says.
- [ ] The license declaration in `vcpkg.json` matches what upstream
says.
- [ ] The installed as the "copyright" file matches what upstream says.
- [ ] The source code of the component installed comes from an
authoritative source.
- [ ] The generated "usage text" is accurate. See
[adding-usage](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/examples/adding-usage.md)
for context.
- [ ] The version database is fixed by rerunning `./vcpkg x-add-version
--all` and committing the result.
- [ ] Only one version is in the new port's versions file.
- [ ] Only one version is added to each modified port's versions file.
END OF NEW PORT CHECKLIST (delete this line) -->
<!-- If your PR fixes issues, please note that here by adding "Fixes
#NNNNNN." for each fixed issue on separate lines. -->
<!-- If you are still working on the PR, open it as a Draft:
https://github.blog/2019-02-14-introducing-draft-pull-requests/. -->
- [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.
<!-- If this PR adds a new port, please uncomment and fill out this
checklist:
- [ ] Changes comply with the [maintainer
guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md).
- [ ] The name of the port matches an existing name for this component
on https://repology.org/ if possible, and/or is strongly associated with
that component on search engines.
- [ ] Optional dependencies are resolved in exactly one way. For
example, if the component is built with CMake, all `find_package` calls
are REQUIRED, are satisfied by `vcpkg.json`'s declared dependencies, or
disabled with
[CMAKE_DISABLE_FIND_PACKAGE_Xxx](https://cmake.org/cmake/help/latest/variable/CMAKE_DISABLE_FIND_PACKAGE_PackageName.html).
- [ ] The versioning scheme in `vcpkg.json` matches what upstream says.
- [ ] The license declaration in `vcpkg.json` matches what upstream
says.
- [ ] The installed as the "copyright" file matches what upstream says.
- [ ] The source code of the component installed comes from an
authoritative source.
- [ ] The generated "usage text" is accurate. See
[adding-usage](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/examples/adding-usage.md)
for context.
- [ ] The version database is fixed by rerunning `./vcpkg x-add-version
--all` and committing the result.
- [ ] Only one version is in the new port's versions file.
- [ ] Only one version is added to each modified port's versions file.
END OF NEW PORT CHECKLIST (delete this line) -->
---
1. Apologies for the _huge_ PR, but these packages are interdependent,
making it difficult to separate them into individual PRs.
2. The main focus of this PR is to update the following ports: folly,
fizz, wangle, proxygen, mvfst, and fbthrift. Additionally, rsocket needs
to be updated due to its reliance on folly. It is concerning that
rsocket has not been updated since 2021, while folly is actively
developed and maintained.
3. This PR also consolidates some patches into a single one, as some
patches modify the same file.
4. I need to include the cachelib package in the CI baseline file
because it depends on the libaio system package. I can achieve a
successful build locally when libaio is installed. Note that cachelib is
also updated to the latest available version.
```
$ sudo apt search libaio
Sorting... Done
Full Text Search... Done
libaio-dev/mantic,now 0.3.113-5 amd64 [installed]
Linux kernel AIO access library - development files
libaio1/mantic,now 0.3.113-5 amd64 [installed,automatic]
Linux kernel AIO access library - shared library
$ vcpkg install cachelib
Computing installation plan...
The following packages will be built and installed:
cachelib:x64-linux@2024.04.15.00
* fbthrift:x64-linux@2024.04.15.00
* fizz:x64-linux@2024.04.15.00
* folly[core,libaio,zlib]:x64-linux@2024.04.15.00
* mvfst:x64-linux@2024.04.15.00
* wangle:x64-linux@2024.04.15.00
Additional packages (*) will be modified to complete this operation.
Detecting compiler hash for triplet x64-linux...
Restored 0 package(s) from /home/miao/.cache/vcpkg/archives in 14.9 us. Use --debug to see more details.
Installing 1/6 folly[core,libaio,zlib]:x64-linux@2024.04.15.00...
Building folly[core,libaio,zlib]:x64-linux@2024.04.15.00...
-- Using cached facebook-folly-v2024.04.15.00.tar.gz.
-- Cleaning sources at /home/miao/vcpkg/buildtrees/folly/src/4.04.15.00-b80a213ee9.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source /home/miao/vcpkg/downloads/facebook-folly-v2024.04.15.00.tar.gz
-- Applying patch disable-non-underscore-posix-names.patch
-- Applying patch boost-1.70.patch
-- Applying patch fix-windows-minmax.patch
-- Applying patch fix-deps.patch
-- Applying patch disable-uninitialized-resize-on-new-stl.patch
-- Applying patch fix-unistd-include.patch
-- Using source at /home/miao/vcpkg/buildtrees/folly/src/4.04.15.00-b80a213ee9.clean
-- Found external ninja('1.11.1').
-- Configuring x64-linux
-- Building x64-linux-dbg
-- Building x64-linux-rel
-- Installing: /home/miao/vcpkg/packages/folly_x64-linux/share/folly/copyright
-- Fixing pkgconfig file: /home/miao/vcpkg/packages/folly_x64-linux/lib/pkgconfig/libfolly.pc
-- Fixing pkgconfig file: /home/miao/vcpkg/packages/folly_x64-linux/debug/lib/pkgconfig/libfolly.pc
-- Performing post-build validation
Stored binaries in 1 destinations in 17 s.
Elapsed time to handle folly:x64-linux: 6.3 min
folly:x64-linux package ABI: ce6dd8349631a07b047b6242099b65accab633afe713705b0da435414bc119c2
Installing 2/6 fizz:x64-linux@2024.04.15.00...
Building fizz:x64-linux@2024.04.15.00...
-- Using cached facebookincubator-fizz-v2024.04.15.00.tar.gz.
-- Cleaning sources at /home/miao/vcpkg/buildtrees/fizz/src/4.04.15.00-d535f4a534.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source /home/miao/vcpkg/downloads/facebookincubator-fizz-v2024.04.15.00.tar.gz
-- Applying patch fix-build.patch
-- Using source at /home/miao/vcpkg/buildtrees/fizz/src/4.04.15.00-d535f4a534.clean
-- Found external ninja('1.11.1').
-- Configuring x64-linux
-- Building x64-linux-dbg
-- Building x64-linux-rel
-- Installing: /home/miao/vcpkg/packages/fizz_x64-linux/share/fizz/copyright
-- Performing post-build validation
Stored binaries in 1 destinations in 3.1 s.
Elapsed time to handle fizz:x64-linux: 2 min
fizz:x64-linux package ABI: 844ba8f534cdb73330de3ba6c4c7429635035d093395152a1bb7daeb4cd3f511
Installing 3/6 mvfst:x64-linux@2024.04.15.00...
Building mvfst:x64-linux@2024.04.15.00...
-- Using cached facebook-mvfst-v2024.04.15.00.tar.gz.
-- Cleaning sources at /home/miao/vcpkg/buildtrees/mvfst/src/4.04.15.00-aab79f192b.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source /home/miao/vcpkg/downloads/facebook-mvfst-v2024.04.15.00.tar.gz
-- Using source at /home/miao/vcpkg/buildtrees/mvfst/src/4.04.15.00-aab79f192b.clean
-- Found external ninja('1.11.1').
-- Configuring x64-linux
-- Building x64-linux-dbg
-- Building x64-linux-rel
-- Installing: /home/miao/vcpkg/packages/mvfst_x64-linux/share/mvfst/copyright
-- Performing post-build validation
Stored binaries in 1 destinations in 9.3 s.
Elapsed time to handle mvfst:x64-linux: 5.4 min
mvfst:x64-linux package ABI: 742b1e47a5108adac566ae4ad787e73fb4ac3d1dac7c0ab290056a8884ec8585
Installing 4/6 wangle:x64-linux@2024.04.15.00...
Building wangle:x64-linux@2024.04.15.00...
-- Using cached facebook-wangle-v2024.04.15.00.tar.gz.
-- Cleaning sources at /home/miao/vcpkg/buildtrees/wangle/src/4.04.15.00-d032e08eb3.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source /home/miao/vcpkg/downloads/facebook-wangle-v2024.04.15.00.tar.gz
-- Applying patch fix-config-cmake.patch
-- Applying patch fix_dependency.patch
-- Using source at /home/miao/vcpkg/buildtrees/wangle/src/4.04.15.00-d032e08eb3.clean
-- Found external ninja('1.11.1').
-- Configuring x64-linux
-- Building x64-linux-dbg
-- Building x64-linux-rel
-- Installing: /home/miao/vcpkg/packages/wangle_x64-linux/share/wangle/usage
-- Installing: /home/miao/vcpkg/packages/wangle_x64-linux/share/wangle/copyright
-- Performing post-build validation
Stored binaries in 1 destinations in 2 s.
Elapsed time to handle wangle:x64-linux: 1.4 min
wangle:x64-linux package ABI: 25eecbd80463fb623b986e0a839d936bdb7ce84418cfbb122b7c6a18f9298da8
Installing 5/6 fbthrift:x64-linux@2024.04.15.00...
Building fbthrift:x64-linux@2024.04.15.00...
-- Using cached facebook-fbthrift-v2024.04.15.00.tar.gz.
-- Cleaning sources at /home/miao/vcpkg/buildtrees/fbthrift/src/4.04.15.00-676cd7c3b0.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source /home/miao/vcpkg/downloads/facebook-fbthrift-v2024.04.15.00.tar.gz
-- Applying patch fix-glog.patch
-- Applying patch 0002-fix-dependency.patch
-- Using source at /home/miao/vcpkg/buildtrees/fbthrift/src/4.04.15.00-676cd7c3b0.clean
-- Found external ninja('1.11.1').
-- Configuring x64-linux
-- Building x64-linux-dbg
-- Building x64-linux-rel
-- Installing: /home/miao/vcpkg/packages/fbthrift_x64-linux/share/fbthrift/copyright
-- Adjusted RPATH of '/home/miao/vcpkg/packages/fbthrift_x64-linux/tools/fbthrift/thrift1' (From '/home/miao/vcpkg/packages/fbthrift_x64-linux/lib' -> To '$ORIGIN:$ORIGIN/../../lib')
-- Performing post-build validation
Stored binaries in 1 destinations in 22 s.
Elapsed time to handle fbthrift:x64-linux: 16 min
fbthrift:x64-linux package ABI: 1bc7f81cd065c797e1272ed12b0d101f500ec31707185b183489f16e17224410
Installing 6/6 cachelib:x64-linux@2024.04.15.00...
Building cachelib:x64-linux@2024.04.15.00...
-- Using cached facebook-CacheLib-v2024.04.15.00.tar.gz.
-- Cleaning sources at /home/miao/vcpkg/buildtrees/cachelib/src/4.04.15.00-467d8fff12.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source /home/miao/vcpkg/downloads/facebook-CacheLib-v2024.04.15.00.tar.gz
-- Applying patch fix-build.patch
-- Applying patch fix-glog.patch
-- Using source at /home/miao/vcpkg/buildtrees/cachelib/src/4.04.15.00-467d8fff12.clean
-- Found external ninja('1.11.1').
-- Configuring x64-linux
-- Building x64-linux-dbg
-- Building x64-linux-rel
-- Installing: /home/miao/vcpkg/packages/cachelib_x64-linux/share/cachelib/copyright
-- Performing post-build validation
Stored binaries in 1 destinations in 9.2 s.
Elapsed time to handle cachelib:x64-linux: 6.8 min
cachelib:x64-linux package ABI: eb476b6caf2174b1be9ef3564cc9ba66c4ca2bc11e44545b090f5e3349669704
Total install time: 38 min
cachelib provides CMake targets:
# this is heuristically generated, and may not be correct
find_package(cachelib CONFIG REQUIRED)
# note: 2 additional targets are not displayed.
target_link_libraries(main PRIVATE cachelib cachelib_shm cachelib_navy cachelib_common)
```
* [fbthrift, fizz, folly] Fix dependency resolution.
Found by nightly build https://dev.azure.com/vcpkg/public/_build/results?buildId=67402
* wangle was fixed by a compiler update on a patch tuesday.
* this unblocked attempting fbthrift on x64-windows hosts, but it misses a header; added patch already merged upstream adding missing algorithm <include>
* fixed folly attempt to insert the right debug prefix which was broken by vcpkg_fixup_cmake_targets no longer generating _IMPORT_PREFIX.
* disable dynamic build of fbthrift on Windows because it tries to create DLLs with no import libs (because it makes no exports)
* Format and fix version database.
* Back out fizz patches.
* Block dynamic flavors. (The build in question builds an exe and expects all its dependencies to be linked statically and patching the build system to copy over the right DLLs seems out of scope)
* Add libevent patch.
* Also fixup mvfst and add missing CONFIG to patch.
* Remove unused patch.
* Fix version sha
* Update folly
* Update wangle
* Update fizz
* Version
* Fix patch
* Fix patch
* version
* Fix error in rsocket
* Fix patch
* Fix patch
* version vor rsocket
* Update fbthrift
* fbthrift version
* Fix fbthrift
* Fix fbthreft version
* fbthrift: fix empty dir
* fbthrift: update version
* Update mvfst
* Update proxygen
* Update hashes
* update version
* remove unused patchfiles
* Fix deprecated cmake functions
* format and version
* version
* rsocket: fix version
* rsocket: update port version
* fix version
* fix version
* update version
* restore version
* update port version
* update version
* fix port version
* version
* remove v from version string
* version
* Add quotes
* version
* Bulk remove vcpkg_fail_port_install calls.
Interesting ones have been split out into separate reviews, where "interesting" means "anything more than just deleting the call to vcpkg_fail_port_install",
In support of https://github.com/microsoft/vcpkg/pull/21502
* Update version database.
* Revert google benchmark changes already submitted as https://github.com/microsoft/vcpkg/pull/22728
* Repair version database.
* [boost] update generator script for boost 1.76
* [boost] update ports to 1.76.0 (run generator)
* [boost] fix windows build?
* [quantlib] update and fix mac build
* [symengine] update and fix build
* [avro-cpp] update to latest master and fix windows build
* [folly] update to 2021.05.31.00
* [fbthrift, fizz, wangle] update to v2021.05.31.00 and fix build
* [proxygen] update to version 2021.05.31.00
* [fizz, proxygen, fbthrift] fix sodium target
* [proxygen] also works on macOS
* [quantlib] use fix from upstream to fix mac build
* [symengine] minimize patch file and fix deprecation warning
* [folly,proxygen,wangle,fizz,fbthrift] update to 2021.06.14.00
* [fbthrift] remove unnecessary dependency rsocket
I couldn't find any information that this dependency exists. The term is used in the code, but not in the context of a dependency
* [fizz,fbthrift] fix zlib dependency
* [fbthrift] pass required flex executable to cmake configure
* add version files
* [boost] generate-ports.ps1: Apply code review
* [boost] changes from new version of generate-ports script
* update version files
* [boost] generate-ports.ps1: Apply code review
* [fbthrift] Add new port
* [fbthrift] only supports x64, except osx
* [fbthrift] add missing vcpkg_fail_port_install
* [fbthrift] format code
* [fbthrift] use vcpkg_copy_tools install thrift1
* [fbthrift] support build on osx
* [fbthrift] specify the bison path directly