[folly, fizz, wangle, proxygen, mvfst, fbthrift, cachelib] update to 2024.04.15 (#38279)

<!-- 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)
```
This commit is contained in:
c8ef 2024-04-25 21:17:39 +08:00 committed by GitHub
parent 2277ecd1cb
commit dd1baa1301
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
36 changed files with 271 additions and 323 deletions

View File

@ -1,44 +0,0 @@
diff --git a/cachelib/cachebench/cache/ItemRecords.h b/cachelib/cachebench/cache/ItemRecords.h
index 80fe7489..e581d78e 100644
--- a/cachelib/cachebench/cache/ItemRecords.h
+++ b/cachelib/cachebench/cache/ItemRecords.h
@@ -102,11 +102,11 @@ class ItemRecords {
}
if (record.destructCount != 0) {
XLOGF(ERR, "unexpected destructCount {} for item {}, context {}|{}",
- record.destructCount, item.getKey(), data.context, record.context);
+ record.destructCount, item.getKey().data(), data.context, record.context);
}
if (record.version != ptr->getVersion()) {
XLOGF(ERR, "unexpected version {}|{} for item {}", record.version,
- ptr->getVersion(), item.getKey());
+ ptr->getVersion(), item.getKey().data());
}
++record.destructCount;
diff --git a/cachelib/cachebench/runner/FastShutdown.cpp b/cachelib/cachebench/runner/FastShutdown.cpp
index 82c878eb..5ceb342d 100644
--- a/cachelib/cachebench/runner/FastShutdown.cpp
+++ b/cachelib/cachebench/runner/FastShutdown.cpp
@@ -27,7 +27,7 @@ namespace cachebench {
FastShutdownStressor::FastShutdownStressor(const CacheConfig& cacheConfig,
uint64_t numOps)
: numOps_(numOps),
- cacheDir_{folly::sformat("/tmp/cache_bench_fss_{}", getpid())},
+ cacheDir_{folly::sformat("/tmp/cache_bench_fss_{}", std::to_string(getpid()))},
cache_(std::make_unique<Cache<LruAllocator>>(
cacheConfig, nullptr, cacheDir_)) {}
diff --git a/cachelib/navy/admission_policy/DynamicRandomAP.cpp b/cachelib/navy/admission_policy/DynamicRandomAP.cpp
index 3a8a1aa0..2ab0fa45 100644
--- a/cachelib/navy/admission_policy/DynamicRandomAP.cpp
+++ b/cachelib/navy/admission_policy/DynamicRandomAP.cpp
@@ -189,7 +189,7 @@ void DynamicRandomAP::updateThrottleParamsLocked(std::chrono::seconds curTime) {
XLOGF(INFO,
"max write rate {} will be used because target current write rate {} "
"exceeds it.",
- maxRate_, curTargetRate);
+ maxRate_.load(std::memory_order_relaxed), curTargetRate);
curTargetRate = maxRate_;
}
writeStats_.curTargetRate = curTargetRate;

View File

@ -2,11 +2,10 @@ vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO facebook/CacheLib
REF "v${VERSION}"
SHA512 fac41a2cb477f252034b932b1499b32b100d164eec4638d387af0487eeb1f84d430cd5908652914e615b188264d2806d6374343938165ebd47dd2494d1e7450d
SHA512 3e9b5d799abdfcb52cc84ac8fc954d46ddd8aef51748ada32bdc57a7b8fc20bb7dd2481af873581069746408e76e0445de3f7973352a6a7c848befada869c379
HEAD_REF master
PATCHES
fix-build.patch
fmt-10.patch
fix-glog.patch
)

View File

@ -1,7 +1,6 @@
{
"name": "cachelib",
"version-string": "2023.05.08.00",
"port-version": 2,
"version-string": "2024.04.15.00",
"description": "Pluggable caching engine to build and scale high performance cache services.",
"homepage": "https://github.com/facebook/CacheLib",
"license": "Apache-2.0",
@ -10,7 +9,12 @@
"fbthrift",
"fizz",
"fmt",
"folly",
{
"name": "folly",
"features": [
"libaio"
]
},
"gflags",
"glog",
"gtest",

View File

@ -5,7 +5,7 @@ vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO facebook/fbthrift
REF "v${VERSION}"
SHA512 9138917c622eb1254043520708d49391196412ef5a4c309e82c25eacfcc680a41b3a0b81cde9c777a1893015da5751bac1a627633ef917f9e94b39771a981a07
SHA512 d04c93f63edf1e07421cda3ab26918d22d3bd89bda054c89848f5ed44589ef5e1ae5be3ca2a1838f2ec4238937369406b46585e391c45bf23aebfb053cbcda25
HEAD_REF master
PATCHES
fix-glog.patch
@ -21,13 +21,8 @@ file(REMOVE "${SOURCE_PATH}/build/fbcode_builder/CMake/FindGMock.cmake")
file(REMOVE "${SOURCE_PATH}/build/fbcode_builder/CMake/FindLibEvent.cmake")
file(REMOVE "${SOURCE_PATH}/build/fbcode_builder/CMake/FindSodium.cmake")
file(REMOVE "${SOURCE_PATH}/build/fbcode_builder/CMake/FindZstd.cmake")
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
"-DBISON_EXECUTABLE=${BISON}"
"-DFLEX_EXECUTABLE=${FLEX}"
)
vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}")
vcpkg_cmake_install()
vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/fbthrift)
@ -35,31 +30,32 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
# There should be no empty directories in vcpkg/packages/fbthrift_x64-linux
file(REMOVE_RECURSE
"${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp/transport/test"
"${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp/test"
"${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp/transport/test"
"${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp/util/test"
"${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/detail/test"
"${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/debug_thrift_data_difference/test"
"${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/transport/http2/server/test"
"${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/transport/http2/common/test"
"${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/transport/http2/test"
"${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/detail/test"
"${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/folly_dynamic/test"
"${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/frozen/test"
"${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/protocol/test"
"${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/reflection/docs"
"${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/security/extensions/test"
"${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/security/test"
"${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/server/test"
"${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/test"
"${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/transport/core/test"
"${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/transport/http2/common/test"
"${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/transport/http2/server/test"
"${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/transport/http2/test"
"${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/transport/inmemory/test"
"${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/transport/rocket/client/test"
"${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/transport/rocket/framing/parser/test"
"${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/transport/rocket/server/test"
"${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/protocol/test"
"${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/security/extensions/test"
"${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/security/test"
"${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/test"
"${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/frozen/test"
"${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/reflection/docs"
"${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/util/test"
"${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/util/gtest/test"
"${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/util/test"
"${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/visitation/test"
"${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/server/test"
"${CURRENT_PACKAGES_DIR}/include/thrift/lib/py3/test"
"${CURRENT_PACKAGES_DIR}/include/thrift/lib/py3/benchmark"
"${CURRENT_PACKAGES_DIR}/include/thrift/lib/py3/test"
"${CURRENT_PACKAGES_DIR}/include/thrift/lib/thrift/annotation"
)

View File

@ -1,6 +1,6 @@
{
"name": "fbthrift",
"version-string": "2024.01.01.00",
"version-string": "2024.04.15.00",
"description": "Facebook's branch of Apache Thrift, including a new C++ server.",
"homepage": "https://github.com/facebook/fbthrift",
"license": "Apache-2.0",

View File

@ -1,35 +0,0 @@
diff --git a/fizz/CMakeLists.txt b/fizz/CMakeLists.txt
index bb3e15e5..80c5051e 100644
--- a/fizz/CMakeLists.txt
+++ b/fizz/CMakeLists.txt
@@ -64,7 +64,7 @@ endif()
include(CheckAtomic)
-find_package(Sodium REQUIRED)
+find_package(unofficial-sodium CONFIG REQUIRED)
SET(FIZZ_SHINY_DEPENDENCIES "")
SET(FIZZ_LINK_LIBRARIES "")
@@ -255,7 +255,7 @@ target_link_libraries(fizz
PUBLIC
${FOLLY_LIBRARIES}
${OPENSSL_LIBRARIES}
- sodium
+ unofficial-sodium::sodium
Threads::Threads
ZLIB::ZLIB
${ZSTD_LIBRARY}
diff --git a/fizz/cmake/fizz-config.cmake.in b/fizz/cmake/fizz-config.cmake.in
index 679b0e61..b28750fa 100644
--- a/fizz/cmake/fizz-config.cmake.in
+++ b/fizz/cmake/fizz-config.cmake.in
@@ -26,7 +26,7 @@ endif()
set(FIZZ_LIBRARIES fizz::fizz)
include(CMakeFindDependencyMacro)
-find_dependency(Sodium)
+find_dependency(unofficial-sodium CONFIG REQUIRED)
find_dependency(folly CONFIG)
find_dependency(ZLIB)

View File

@ -1,30 +0,0 @@
diff --git a/fizz/CMakeLists.txt b/fizz/CMakeLists.txt
index 80c5051..9f2e3e6 100644
--- a/fizz/CMakeLists.txt
+++ b/fizz/CMakeLists.txt
@@ -92,10 +92,10 @@ endif()
find_package(ZLIB REQUIRED)
-find_package(Libevent CONFIG QUIET)
-if(TARGET event)
+find_package(Libevent CONFIG REQUIRED)
+if(TARGET libevent::core)
message(STATUS "Found libevent from package config")
- list(APPEND FIZZ_SHINY_DEPENDENCIES event)
+ list(APPEND FIZZ_SHINY_DEPENDENCIES libevent::core)
else()
find_package(Libevent MODULE REQUIRED)
list(APPEND FIZZ_LINK_LIBRARIES ${LIBEVENT_LIB})
diff --git a/fizz/cmake/fizz-config.cmake.in b/fizz/cmake/fizz-config.cmake.in
index b28750f..282c42d 100644
--- a/fizz/cmake/fizz-config.cmake.in
+++ b/fizz/cmake/fizz-config.cmake.in
@@ -29,6 +29,7 @@ include(CMakeFindDependencyMacro)
find_dependency(unofficial-sodium CONFIG REQUIRED)
find_dependency(folly CONFIG)
find_dependency(ZLIB)
+find_dependency(Libevent CONFIG)
if (NOT fizz_FIND_QUIETLY)
message(STATUS "Found fizz: ${PACKAGE_PREFIX_DIR}")

View File

@ -1,8 +1,8 @@
diff --git a/fizz/CMakeLists.txt b/fizz/CMakeLists.txt
index 64eec10..6c5a934 100644
index e69ae168..65c9d62c 100644
--- a/fizz/CMakeLists.txt
+++ b/fizz/CMakeLists.txt
@@ -50,10 +50,9 @@ find_package(folly CONFIG REQUIRED)
@@ -50,53 +50,31 @@ find_package(folly CONFIG REQUIRED)
find_package(fmt CONFIG REQUIRED)
find_package(OpenSSL REQUIRED)
@ -15,7 +15,13 @@ index 64eec10..6c5a934 100644
if (UNIX AND NOT APPLE)
find_package(Librt)
endif()
@@ -66,37 +65,17 @@ SET(FIZZ_SHINY_DEPENDENCIES "")
include(CheckAtomic)
-find_package(Sodium REQUIRED)
+find_package(unofficial-sodium CONFIG REQUIRED)
SET(FIZZ_SHINY_DEPENDENCIES "")
SET(FIZZ_LINK_LIBRARIES "")
SET(FIZZ_INCLUDE_DIRECTORIES "")
@ -46,20 +52,21 @@ index 64eec10..6c5a934 100644
+find_package(gflags CONFIG REQUIRED)
find_package(ZLIB REQUIRED)
find_package(Libevent CONFIG REQUIRED)
-if(TARGET libevent::core)
-
-find_package(Libevent CONFIG QUIET)
-if(TARGET event)
- message(STATUS "Found libevent from package config")
- list(APPEND FIZZ_SHINY_DEPENDENCIES libevent::core)
- list(APPEND FIZZ_SHINY_DEPENDENCIES event)
-else()
- find_package(Libevent MODULE REQUIRED)
- list(APPEND FIZZ_LINK_LIBRARIES ${LIBEVENT_LIB})
- list(APPEND FIZZ_INCLUDE_DIRECTORIES ${LIBEVENT_INCLUDE_DIR})
-endif()
+find_package(Libevent CONFIG REQUIRED)
configure_file(fizz-config.h.in ${CMAKE_CURRENT_BINARY_DIR}/generated/fizz/fizz-config.h)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/generated/fizz/fizz-config.h DESTINATION ${INCLUDE_INSTALL_DIR}/fizz/)
@@ -243,30 +222,25 @@ target_include_directories(
# Fizz build time options
include(FizzOptions)
@@ -254,30 +232,25 @@ target_include_directories(
$<BUILD_INTERFACE:${FIZZ_BASE_DIR}>
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/generated>
$<INSTALL_INTERFACE:${INCLUDE_INSTALL_DIR}>
@ -78,10 +85,11 @@ index 64eec10..6c5a934 100644
PUBLIC
- ${FOLLY_LIBRARIES}
- ${OPENSSL_LIBRARIES}
- sodium
+ Folly::folly
+ OpenSSL::SSL
+ OpenSSL::Crypto
unofficial-sodium::sodium
+ unofficial-sodium::sodium
Threads::Threads
ZLIB::ZLIB
- ${ZSTD_LIBRARY}
@ -97,7 +105,7 @@ index 64eec10..6c5a934 100644
${CMAKE_DL_LIBS}
${LIBRT_LIBRARIES})
@@ -323,8 +297,7 @@ ENDIF(CMAKE_CROSSCOMPILING)
@@ -334,8 +307,7 @@ ENDIF(CMAKE_CROSSCOMPILING)
SET(FIZZ_TEST_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
if(BUILD_TESTS)
@ -107,15 +115,14 @@ index 64eec10..6c5a934 100644
endif()
add_library(fizz_test_support
@@ -337,21 +310,9 @@ add_library(fizz_test_support
@@ -348,20 +320,7 @@ add_library(fizz_test_support
target_link_libraries(fizz_test_support
PUBLIC
fizz
- ${LIBGMOCK_LIBRARIES}
- ${GLOG_LIBRARY}
+ glog::glog
)
-)
-
-target_compile_definitions(fizz_test_support
- PUBLIC
- ${LIBGMOCK_DEFINES}
@ -126,11 +133,11 @@ index 64eec10..6c5a934 100644
- PUBLIC
- ${LIBGMOCK_INCLUDE_DIR}
- ${LIBGTEST_INCLUDE_DIRS}
-)
+ glog::glog
)
# export fizz headers and targets for unit tests utils
# since other projects such as mvfst and proxygen use them
@@ -375,14 +336,13 @@ macro(add_gtest test_source test_name)
@@ -386,14 +345,12 @@ macro(add_gtest test_source test_name)
add_executable(${test_name} ${test_source} test/CMakeTestMain.cpp)
set_property(TARGET ${test_name} PROPERTY ENABLE_EXPORTS true)
@ -143,24 +150,23 @@ index 64eec10..6c5a934 100644
fizz_test_support
- ${LIBGMOCK_LIBRARIES})
+ GTest::gtest
+ GTest::gmock
+ )
+ GTest::gmock)
if(NOT ${CMAKE_CXX_COMPILER_ID} STREQUAL MSVC)
# GMOCK_MOCK_METHOD() will complain otherwise
diff --git a/fizz/cmake/fizz-config.cmake.in b/fizz/cmake/fizz-config.cmake.in
index 3fb48b2..baa43a6 100644
index 679b0e61..8a4b189e 100644
--- a/fizz/cmake/fizz-config.cmake.in
+++ b/fizz/cmake/fizz-config.cmake.in
@@ -26,10 +26,19 @@ endif()
@@ -26,9 +26,18 @@ endif()
set(FIZZ_LIBRARIES fizz::fizz)
include(CMakeFindDependencyMacro)
-find_dependency(unofficial-sodium CONFIG REQUIRED)
-find_dependency(Sodium)
+find_dependency(unofficial-sodium CONFIG)
find_dependency(folly CONFIG)
find_dependency(ZLIB)
find_dependency(Libevent CONFIG)
+find_dependency(Libevent CONFIG)
+find_dependency(fmt CONFIG)
+find_dependency(OpenSSL)
+find_dependency(glog CONFIG)
@ -169,7 +175,6 @@ index 3fb48b2..baa43a6 100644
+find_dependency(gflags CONFIG)
+find_dependency(zstd CONFIG)
+find_dependency(GTest CONFIG)
+
if (NOT fizz_FIND_QUIETLY)
message(STATUS "Found fizz: ${PACKAGE_PREFIX_DIR}")

View File

@ -4,12 +4,10 @@ vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO facebookincubator/fizz
REF "v${VERSION}"
SHA512 e940aacb6dd08163f292a6e3e07e5782ccaa7658c638791a75604ba4a05da6a827a383d1727e56c85823da99a678a60ae67207f64b64c274786ad85793fd04bb
SHA512 d2f7c0fd198a2c2bfcd3557cc7af8f50dd8ad47452a1acb3880fed689cdac5dd8857222ef8b6897eccccb6392b714713fda055c4a735ba8fe3a517d1c618e139
HEAD_REF master
PATCHES
0001-fix-libsodium.patch
0002-fix-libevent.patch
0003-fix-deps.patch
fix-build.patch
)
# Prefer installed config files

View File

@ -1,6 +1,6 @@
{
"name": "fizz",
"version-string": "2024.01.01.00",
"version-string": "2024.04.15.00",
"description": "a TLS 1.3 implementation by Facebook",
"homepage": "https://github.com/facebookincubator/fizz",
"license": "BSD-3-Clause",

View File

@ -1,5 +1,5 @@
diff --git a/folly/memory/UninitializedMemoryHacks.h b/folly/memory/UninitializedMemoryHacks.h
index bd31c88..9f640a8 100644
index daf5eb735..1ac44d6b2 100644
--- a/folly/memory/UninitializedMemoryHacks.h
+++ b/folly/memory/UninitializedMemoryHacks.h
@@ -101,6 +101,9 @@ template <
@ -16,25 +16,19 @@ index bd31c88..9f640a8 100644
}
detail::unsafeStringSetLargerSize(s, n);
}
+#endif // STL workaround
+#endif // defined(_MSVC_STL_UPDATE) && _MSVC_STL_UPDATE >= 202206L
}
/**
@@ -244,6 +248,8 @@ struct MakeUnsafeStringSetLargerSize {
#elif defined(_MSC_VER)
// MSVC
@@ -278,8 +282,11 @@ struct MakeUnsafeStringSetLargerSize {
} // namespace folly
#if defined(FOLLY_DECLARE_STRING_RESIZE_WITHOUT_INIT)
+#if defined(_MSVC_STL_UPDATE) && _MSVC_STL_UPDATE >= 202206L
+#else
template <typename Tag, typename T, typename A, A Ptr_Eos>
struct MakeUnsafeStringSetLargerSize {
friend void unsafeStringSetLargerSizeImpl(
@@ -262,7 +268,7 @@ struct MakeUnsafeStringSetLargerSize {
void (std::basic_string<TYPE>::*)(std::size_t), \
&std::basic_string<TYPE>::_Eos>; \
FOLLY_DECLARE_STRING_RESIZE_WITHOUT_INIT_IMPL(TYPE)
-
+#endif // workaround
#else
#warning \
"No implementation for resizeWithoutInitialization of std::basic_string"
FOLLY_DECLARE_STRING_RESIZE_WITHOUT_INIT(char)
FOLLY_DECLARE_STRING_RESIZE_WITHOUT_INIT(wchar_t)
+#endif // defined(_MSVC_STL_UPDATE) && _MSVC_STL_UPDATE >= 202206L
#endif
namespace folly {

View File

@ -1,8 +1,8 @@
diff --git a/CMake/folly-config.cmake.in b/CMake/folly-config.cmake.in
index 1689f9a..e5d3e22 100644
index 0b96f0a10..1559f9f70 100644
--- a/CMake/folly-config.cmake.in
+++ b/CMake/folly-config.cmake.in
@@ -28,10 +28,30 @@ endif()
@@ -29,10 +29,30 @@ endif()
set(FOLLY_LIBRARIES Folly::folly)
# Find folly's dependencies
@ -36,7 +36,7 @@ index 1689f9a..e5d3e22 100644
context
filesystem
diff --git a/CMake/folly-deps.cmake b/CMake/folly-deps.cmake
index 4b78e9f..ac83c99 100644
index 41a513a30..32c8826ae 100644
--- a/CMake/folly-deps.cmake
+++ b/CMake/folly-deps.cmake
@@ -35,7 +35,7 @@ else()
@ -48,27 +48,17 @@ index 4b78e9f..ac83c99 100644
COMPONENTS
context
filesystem
@@ -45,37 +45,38 @@ find_package(Boost 1.51.0 MODULE
@@ -45,37 +45,37 @@ find_package(Boost 1.51.0 MODULE
thread
REQUIRED
)
+set (Boost_LIBRARIES Boost::boost Boost::context Boost::filesystem Boost::program_options Boost::regex Boost::system Boost::thread
+ )
+set(Boost_LIBRARIES Boost::boost Boost::context Boost::filesystem Boost::program_options Boost::regex Boost::system Boost::thread)
list(APPEND FOLLY_LINK_LIBRARIES ${Boost_LIBRARIES})
-list(APPEND FOLLY_INCLUDE_DIRECTORIES ${Boost_INCLUDE_DIRS})
-
-find_package(DoubleConversion MODULE REQUIRED)
-list(APPEND FOLLY_LINK_LIBRARIES ${DOUBLE_CONVERSION_LIBRARY})
-list(APPEND FOLLY_INCLUDE_DIRECTORIES ${DOUBLE_CONVERSION_INCLUDE_DIR})
+find_package(double-conversion CONFIG REQUIRED)
+list(APPEND FOLLY_LINK_LIBRARIES double-conversion::double-conversion)
-find_package(Glog CONFIG REQUIRED)
-set(FOLLY_HAVE_LIBGLOG ${GLOG_FOUND})
+find_package(glog CONFIG REQUIRED)
+set(FOLLY_HAVE_LIBGLOG 1)
list(APPEND FOLLY_LINK_LIBRARIES glog::glog)
-list(APPEND FOLLY_INCLUDE_DIRECTORIES ${GLOG_INCLUDE_DIR})
-
-find_package(Gflags MODULE)
-set(FOLLY_HAVE_LIBGFLAGS ${LIBGFLAGS_FOUND})
@ -77,22 +67,21 @@ index 4b78e9f..ac83c99 100644
- list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBGFLAGS_INCLUDE_DIR})
- set(FOLLY_LIBGFLAGS_LIBRARY ${LIBGFLAGS_LIBRARY})
- set(FOLLY_LIBGFLAGS_INCLUDE ${LIBGFLAGS_INCLUDE_DIR})
+
+find_package(gflags CONFIG)
+if(TARGET gflags::gflags)
+ set(FOLLY_HAVE_LIBGFLAGS 1)
+ list(APPEND FOLLY_LINK_LIBRARIES gflags::gflags)
+ set(FOLLY_LIBGFLAGS_LIBRARY gflags::gflags)
endif()
-endif()
-find_package(Glog MODULE)
-set(FOLLY_HAVE_LIBGLOG ${GLOG_FOUND})
-list(APPEND FOLLY_LINK_LIBRARIES ${GLOG_LIBRARY})
-list(APPEND FOLLY_INCLUDE_DIRECTORIES ${GLOG_INCLUDE_DIR})
+find_package(double-conversion CONFIG REQUIRED)
+list(APPEND FOLLY_LINK_LIBRARIES double-conversion::double-conversion)
-find_package(LibEvent MODULE REQUIRED)
-list(APPEND FOLLY_LINK_LIBRARIES ${LIBEVENT_LIB})
-list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBEVENT_INCLUDE_DIR})
+find_package(Libevent CONFIG REQUIRED)
+list(APPEND FOLLY_LINK_LIBRARIES libevent::core libevent::extra)
+if(NOT WIN32)
+ list(APPEND FOLLY_LINK_LIBRARIES libevent::pthreads)
+endif()
+find_package(glog CONFIG REQUIRED)
+set(FOLLY_HAVE_LIBGLOG 1)
+list(APPEND FOLLY_LINK_LIBRARIES glog::glog)
-find_package(ZLIB MODULE)
-set(FOLLY_HAVE_LIBZ ${ZLIB_FOUND})
@ -100,6 +89,19 @@ index 4b78e9f..ac83c99 100644
- list(APPEND FOLLY_INCLUDE_DIRECTORIES ${ZLIB_INCLUDE_DIRS})
- list(APPEND FOLLY_LINK_LIBRARIES ${ZLIB_LIBRARIES})
- list(APPEND CMAKE_REQUIRED_LIBRARIES ${ZLIB_LIBRARIES})
+find_package(gflags CONFIG)
+if(TARGET gflags::gflags)
+ set(FOLLY_HAVE_LIBGFLAGS 1)
+ list(APPEND FOLLY_LINK_LIBRARIES gflags::gflags)
+ set(FOLLY_LIBGFLAGS_LIBRARY gflags::gflags)
+endif()
+
+find_package(Libevent CONFIG REQUIRED)
+list(APPEND FOLLY_LINK_LIBRARIES libevent::core libevent::extra)
+if(NOT WIN32)
+ list(APPEND FOLLY_LINK_LIBRARIES libevent::pthreads)
+endif()
+
+if (CMAKE_REQUIRE_FIND_PACKAGE_ZLIB)
+ find_package(ZLIB MODULE REQUIRED)
+ set(FOLLY_HAVE_LIBZ ${ZLIB_FOUND})
@ -111,7 +113,7 @@ index 4b78e9f..ac83c99 100644
endif()
find_package(OpenSSL 1.1.1 MODULE REQUIRED)
@@ -104,25 +105,29 @@ if (LIBLZMA_FOUND)
@@ -103,25 +103,29 @@ if (LIBLZMA_FOUND)
list(APPEND FOLLY_LINK_LIBRARIES ${LIBLZMA_LIBRARIES})
endif()
@ -120,7 +122,7 @@ index 4b78e9f..ac83c99 100644
-if (LZ4_FOUND)
- list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LZ4_INCLUDE_DIR})
- list(APPEND FOLLY_LINK_LIBRARIES ${LZ4_LIBRARY})
+if (NOT CMAKE_DISABLE_FIND_PACKAGE_LZ4)
+if(NOT CMAKE_DISABLE_FIND_PACKAGE_LZ4)
+ find_package(lz4 CONFIG)
+ if(TARGET lz4::lz4)
+ list(APPEND FOLLY_LINK_LIBRARIES lz4::lz4)
@ -132,7 +134,7 @@ index 4b78e9f..ac83c99 100644
-if(ZSTD_FOUND)
- list(APPEND FOLLY_INCLUDE_DIRECTORIES ${ZSTD_INCLUDE_DIR})
- list(APPEND FOLLY_LINK_LIBRARIES ${ZSTD_LIBRARY})
+if (NOT CMAKE_DISABLE_FIND_PACKAGE_Zstd)
+if(NOT CMAKE_DISABLE_FIND_PACKAGE_Zstd)
+ find_package(zstd CONFIG)
+ if(TARGET zstd::libzstd_shared )
+ set(FOLLY_HAVE_LIBZSTD 1)
@ -148,7 +150,7 @@ index 4b78e9f..ac83c99 100644
-if (SNAPPY_FOUND)
- list(APPEND FOLLY_INCLUDE_DIRECTORIES ${SNAPPY_INCLUDE_DIR})
- list(APPEND FOLLY_LINK_LIBRARIES ${SNAPPY_LIBRARY})
+if (NOT CMAKE_DISABLE_FIND_PACKAGE_Snappy)
+if(NOT CMAKE_DISABLE_FIND_PACKAGE_Snappy)
+ find_package(Snappy CONFIG)
+ if(TARGET Snappy::snappy)
+ list(APPEND FOLLY_LINK_LIBRARIES Snappy::snappy)
@ -156,20 +158,32 @@ index 4b78e9f..ac83c99 100644
endif()
find_package(LibDwarf)
@@ -137,13 +142,18 @@ find_package(LibAIO)
list(APPEND FOLLY_LINK_LIBRARIES ${LIBAIO_LIBRARIES})
list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBAIO_INCLUDE_DIRS})
@@ -132,17 +136,24 @@ find_package(Libiberty)
list(APPEND FOLLY_LINK_LIBRARIES ${LIBIBERTY_LIBRARIES})
list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBIBERTY_INCLUDE_DIRS})
-find_package(LibAIO)
-list(APPEND FOLLY_LINK_LIBRARIES ${LIBAIO_LIBRARIES})
-list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBAIO_INCLUDE_DIRS})
+if(WITH_libaio)
+ find_package(LibAIO)
+ list(APPEND FOLLY_LINK_LIBRARIES ${LIBAIO_LIBRARIES})
+ list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBAIO_INCLUDE_DIRS})
+endif()
-find_package(LibUring)
-list(APPEND FOLLY_LINK_LIBRARIES ${LIBURING_LIBRARIES})
-list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBURING_INCLUDE_DIRS})
+if(WITH_liburing)
find_package(LibUring)
list(APPEND FOLLY_LINK_LIBRARIES ${LIBURING_LIBRARIES})
list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBURING_INCLUDE_DIRS})
+ find_package(LibUring)
+ list(APPEND FOLLY_LINK_LIBRARIES ${LIBURING_LIBRARIES})
+ list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBURING_INCLUDE_DIRS})
+endif()
-find_package(Libsodium)
-list(APPEND FOLLY_LINK_LIBRARIES ${LIBSODIUM_LIBRARIES})
-list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBSODIUM_INCLUDE_DIRS})
+if (NOT CMAKE_DISABLE_FIND_PACKAGE_unofficial-sodium)
+if(NOT CMAKE_DISABLE_FIND_PACKAGE_unofficial-sodium)
+ find_package(unofficial-sodium CONFIG)
+ if(TARGET unofficial-sodium::sodium)
+ list(APPEND FOLLY_LINK_LIBRARIES unofficial-sodium::sodium)
@ -178,19 +192,20 @@ index 4b78e9f..ac83c99 100644
list(APPEND FOLLY_LINK_LIBRARIES ${CMAKE_DL_LIBS})
list(APPEND CMAKE_REQUIRED_LIBRARIES ${CMAKE_DL_LIBS})
@@ -154,9 +164,9 @@ if (PYTHON_EXTENSIONS)
@@ -153,10 +164,10 @@ if (PYTHON_EXTENSIONS)
endif ()
find_package(LibUnwind)
-list(APPEND FOLLY_LINK_LIBRARIES ${LIBUNWIND_LIBRARIES})
-list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBUNWIND_INCLUDE_DIRS})
if (LIBUNWIND_FOUND)
set(FOLLY_HAVE_LIBUNWIND ON)
+ list(APPEND FOLLY_LINK_LIBRARIES ${LIBUNWIND_LIBRARIES})
+ list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBUNWIND_INCLUDE_DIRS})
set(FOLLY_HAVE_LIBUNWIND ON)
endif()
if (CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
@@ -299,11 +309,7 @@ endif()
list(APPEND FOLLY_LINK_LIBRARIES "execinfo")
@@ -298,11 +309,7 @@ endif()
add_library(folly_deps INTERFACE)

View File

@ -1,14 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b5e8758..bb488d6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -24,9 +24,6 @@ ELSEIF (CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
MESSAGE(STATUS "current platform: FreeBSD")
ELSEIF (CMAKE_SYSTEM_NAME MATCHES "Darwin")
MESSAGE(STATUS "current platform: MacOS")
- set(OPENSSL_ROOT_DIR "/usr/local/opt/openssl" )
- set(OPENSSL_LIBRARIES "/usr/local/opt/openssl/lib" )
- set(OPENSSL_INCLUDE_DIR "/usr/local/opt/openssl/include" )
ELSE ()
MESSAGE(STATUS "other platform: ${CMAKE_SYSTEM_NAME}")
ENDIF (CMAKE_SYSTEM_NAME MATCHES "Linux")

View File

@ -9,15 +9,13 @@ vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO facebook/folly
REF "v${VERSION}"
SHA512 c563aa64efa3098235db5f6354cdbc96d829f8bfc24e24464e0cae65279d00f1bba722c7060c2e76c89723ef66ef94225a02d6fb65e24fa6125adb619fc1d74b
SHA512 a3bf212fcbbb2db85f6212bbc383fb9106d54a692c9c76c23a13c4d0e163195623733382c067734af95b9f70c5d218e2672133df39aa72e3cdab4a009b52f24b
HEAD_REF main
PATCHES
reorder-glog-gflags.patch
disable-non-underscore-posix-names.patch
boost-1.70.patch
fix-windows-minmax.patch
fix-deps.patch
openssl.patch # from https://github.com/facebook/folly/pull/2016
disable-uninitialized-resize-on-new-stl.patch
fix-unistd-include.patch
)
@ -46,6 +44,7 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
"zlib" CMAKE_REQUIRE_FIND_PACKAGE_ZLIB
"liburing" WITH_liburing
"libaio" WITH_libaio
INVERTED_FEATURES
"bzip2" CMAKE_DISABLE_FIND_PACKAGE_BZip2
"lzma" CMAKE_DISABLE_FIND_PACKAGE_LibLZMA
@ -61,12 +60,9 @@ vcpkg_cmake_configure(
-DMSVC_USE_STATIC_RUNTIME=${MSVC_USE_STATIC_RUNTIME}
-DCMAKE_DISABLE_FIND_PACKAGE_LibDwarf=ON
-DCMAKE_DISABLE_FIND_PACKAGE_Libiberty=ON
-DCMAKE_DISABLE_FIND_PACKAGE_LibAIO=ON
-DLIBAIO_FOUND=OFF
-DCMAKE_INSTALL_DIR=share/folly
${FEATURE_OPTIONS}
MAYBE_UNUSED_VARIABLES
LIBAIO_FOUND
MSVC_USE_STATIC_RUNTIME
)

View File

@ -1,28 +0,0 @@
diff --git a/CMake/folly-deps.cmake b/CMake/folly-deps.cmake
index 92b8ce7..04589ed 100644
--- a/CMake/folly-deps.cmake
+++ b/CMake/folly-deps.cmake
@@ -52,6 +52,11 @@ find_package(DoubleConversion MODULE REQUIRED)
list(APPEND FOLLY_LINK_LIBRARIES ${DOUBLE_CONVERSION_LIBRARY})
list(APPEND FOLLY_INCLUDE_DIRECTORIES ${DOUBLE_CONVERSION_INCLUDE_DIR})
+find_package(Glog CONFIG REQUIRED)
+set(FOLLY_HAVE_LIBGLOG ${GLOG_FOUND})
+list(APPEND FOLLY_LINK_LIBRARIES glog::glog)
+list(APPEND FOLLY_INCLUDE_DIRECTORIES ${GLOG_INCLUDE_DIR})
+
find_package(Gflags MODULE)
set(FOLLY_HAVE_LIBGFLAGS ${LIBGFLAGS_FOUND})
if(LIBGFLAGS_FOUND)
@@ -61,11 +66,6 @@ if(LIBGFLAGS_FOUND)
set(FOLLY_LIBGFLAGS_INCLUDE ${LIBGFLAGS_INCLUDE_DIR})
endif()
-find_package(Glog MODULE)
-set(FOLLY_HAVE_LIBGLOG ${GLOG_FOUND})
-list(APPEND FOLLY_LINK_LIBRARIES ${GLOG_LIBRARY})
-list(APPEND FOLLY_INCLUDE_DIRECTORIES ${GLOG_INCLUDE_DIR})
-
find_package(LibEvent MODULE REQUIRED)
list(APPEND FOLLY_LINK_LIBRARIES ${LIBEVENT_LIB})
list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBEVENT_INCLUDE_DIR})

View File

@ -1,7 +1,6 @@
{
"name": "folly",
"version-string": "2024.01.01.00",
"port-version": 3,
"version-string": "2024.04.15.00",
"description": "An open-source C++ library developed and used at Facebook. The library is UNSTABLE on Windows",
"homepage": "https://github.com/facebook/folly",
"license": "Apache-2.0",
@ -45,6 +44,10 @@
"bzip2"
]
},
"libaio": {
"description": "Support compile with libaio",
"supports": "linux & x64"
},
"libsodium": {
"description": "Support libsodium for cryto",
"dependencies": [

View File

@ -2,7 +2,7 @@ vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO facebook/mvfst
REF "v${VERSION}"
SHA512 6bcc4df79b42bafb06ee69f253733dd5136ef329b8009fc5677f62c3476d205f5f0cdcca242d0bde15914bf487a37aeeab1adb4ad555d2edd5e6b3935e84dd37
SHA512 753faf1aa2d10a99242f3a06882db90eebf13d923bc4cec94401e02b203d39b3943b0e6076ddff3e522ca825243e4dcce0143f55ce7f839d0f57b4b42f44caf0
HEAD_REF main
)
@ -10,7 +10,6 @@ vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
-DBUILD_TESTS=OFF
-DBUILD_EXAMPLES=OFF
)
# Prefer installed config files

View File

@ -1,10 +1,10 @@
{
"name": "mvfst",
"version-string": "2024.01.01.00",
"version-string": "2024.04.15.00",
"description": "mvfst (Pronounced move fast) is a client and server implementation of IETF QUIC protocol in C++ by Facebook.",
"homepage": "https://github.com/facebook/mvfst",
"license": "MIT",
"supports": "!windows",
"supports": "!(windows & !static)",
"dependencies": [
"boost-context",
"boost-date-time",

View File

@ -2,7 +2,7 @@ vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO facebook/proxygen
REF "v${VERSION}"
SHA512 9a7081e0dafc93f1610a20ad2026111667711336efa46b9208873b539251f5b00d95597acde53818664aa6ea1fcda0dbd3417222af2fa23dc2f6b4c2bb079124
SHA512 83ae451f0f3454fcc5daae6c4f2555e37ca0c8d69a62c33451ad72638150b52843220f572a3a53e3826372ca01411b0c2b0ce13ca4b60df13a566cf706484593
HEAD_REF master
PATCHES
remove-register.patch

View File

@ -5,7 +5,7 @@ index a870b2d67..2dec9c5a1 100755
@@ -35,6 +35,7 @@ function generate_perfect_hash_table {
LC_ALL=C sort -u ${1?} | awk "${6?}" - "${5?}" | \
${8:-gperf} -m5 -D --output-file="${7?}"
perl -p -i -e "s/\/\*FALLTHROUGH\*\//FOLLY_FALLTHROUGH;/g" "${7?}"
perl -p -i -e "s/\/\*FALLTHROUGH\*\//[[fallthrough]];/g" "${7?}"
+ perl -p -i -e "s/register//g" "${7?}"
# Here we delete one of the comment lines gperf adds to the top of the file.

View File

@ -1,7 +1,6 @@
{
"name": "proxygen",
"version-string": "2024.01.01.00",
"port-version": 1,
"version-string": "2024.04.15.00",
"description": "It comprises the core C++ HTTP abstractions used at Facebook.",
"homepage": "https://github.com/facebook/proxygen",
"license": "BSD-3-Clause",

View File

@ -0,0 +1,48 @@
diff --git a/rsocket/transports/tcp/TcpConnectionFactory.cpp b/rsocket/transports/tcp/TcpConnectionFactory.cpp
index b970cd75..cba4405e 100644
--- a/rsocket/transports/tcp/TcpConnectionFactory.cpp
+++ b/rsocket/transports/tcp/TcpConnectionFactory.cpp
@@ -41,7 +41,7 @@ class ConnectCallback : public folly::AsyncSocket::ConnectCallback {
DCHECK(evb);
if (sslContext) {
-#if !FOLLY_OPENSSL_HAS_ALPN
+#if 0
// setAdvertisedNextProtocols() is unavailable
#error ALPN is required for rsockets. \
Your version of OpenSSL is likely too old.
diff --git a/yarpl/CMakeLists.txt b/yarpl/CMakeLists.txt
index f4159b82..33364f58 100644
--- a/yarpl/CMakeLists.txt
+++ b/yarpl/CMakeLists.txt
@@ -9,7 +9,7 @@ set(CMAKE_MODULE_PATH
${CMAKE_MODULE_PATH}
)
-add_definitions(-std=c++14)
+add_definitions(-std=c++17)
option(BUILD_TESTS "BUILD_TESTS" ON)
# Generate compilation database
@@ -17,7 +17,7 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS 1)
# Common configuration for all build modes.
if (NOT MSVC)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wno-unused-parameter")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-weak-vtables -Wno-padded")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-omit-frame-pointer")
diff --git a/yarpl/flowable/Flowable_FromObservable.h b/yarpl/flowable/Flowable_FromObservable.h
index e191ad7c..ce8565c8 100644
--- a/yarpl/flowable/Flowable_FromObservable.h
+++ b/yarpl/flowable/Flowable_FromObservable.h
@@ -180,7 +180,7 @@ class BufferBackpressureStrategy : public BackpressureStrategyBase<T> {
static constexpr size_t kNoLimit = 0;
explicit BufferBackpressureStrategy(size_t bufferSizeLimit = kNoLimit)
- : buffer_(folly::in_place, bufferSizeLimit) {}
+ : buffer_(std::in_place, bufferSizeLimit) {}
private:
using Super = BackpressureStrategyBase<T>;

View File

@ -15,6 +15,7 @@ vcpkg_from_github(
use-cpp-17.patch
fix-folly.patch
fix-rsockserver-build-error.patch
fix-yarpl.patch
)
vcpkg_cmake_configure(

View File

@ -1,7 +1,7 @@
{
"name": "rsocket",
"version-string": "2021.08.30.00",
"port-version": 3,
"port-version": 4,
"description": "C++ implementation of RSocket http://rsocket.io",
"homepage": "https://github.com/rsocket/rsocket-cpp",
"dependencies": [

View File

@ -4,7 +4,7 @@ vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO facebook/wangle
REF "v${VERSION}"
SHA512 a3c671b19cb4f4875fa894b3374a4c24e6d4715fbb025c21434d7ca89f10f0affb8c25f392acc15793b4a92b48998d95c51b5120457e1b47ea15890221d0dd6c
SHA512 1835d897b097b9bf4e87ba51d2eb1fcb926fe90813cdff661ba888b1186487980ec481c532f6ab18fc255ead28e28740976c3cd7ff723f61773c7c654d46718a
HEAD_REF master
PATCHES
fix-config-cmake.patch

View File

@ -1,6 +1,6 @@
{
"name": "wangle",
"version-string": "2024.01.01.00",
"version-string": "2024.04.15.00",
"description": "Wangle is a framework providing a set of common client/server abstractions for building services in a consistent, modular, and composable way.",
"homepage": "https://github.com/facebook/wangle",
"license": "Apache-2.0",

View File

@ -115,6 +115,8 @@ buck-yeh-bux:x64-android=fail
c4core:arm-neon-android=fail
c4core:arm64-android=fail
c4core:x64-android=fail
# Missing system libraries on linux: libaio1 & libaio-dev
cachelib:x64-linux=fail
caf:arm-neon-android=fail
caf:arm64-uwp=fail
caf:arm64-android=fail

View File

@ -1433,8 +1433,8 @@
"port-version": 0
},
"cachelib": {
"baseline": "2023.05.08.00",
"port-version": 2
"baseline": "2024.04.15.00",
"port-version": 0
},
"caf": {
"baseline": "0.19.3",
@ -2653,7 +2653,7 @@
"port-version": 0
},
"fbthrift": {
"baseline": "2024.01.01.00",
"baseline": "2024.04.15.00",
"port-version": 0
},
"fcl": {
@ -2697,7 +2697,7 @@
"port-version": 0
},
"fizz": {
"baseline": "2024.01.01.00",
"baseline": "2024.04.15.00",
"port-version": 0
},
"flagpp": {
@ -2781,8 +2781,8 @@
"port-version": 2
},
"folly": {
"baseline": "2024.01.01.00",
"port-version": 3
"baseline": "2024.04.15.00",
"port-version": 0
},
"font-chef": {
"baseline": "1.1.0",
@ -5973,7 +5973,7 @@
"port-version": 7
},
"mvfst": {
"baseline": "2024.01.01.00",
"baseline": "2024.04.15.00",
"port-version": 0
},
"mygui": {
@ -6993,8 +6993,8 @@
"port-version": 0
},
"proxygen": {
"baseline": "2024.01.01.00",
"port-version": 1
"baseline": "2024.04.15.00",
"port-version": 0
},
"psimd": {
"baseline": "2021-02-21",
@ -7766,7 +7766,7 @@
},
"rsocket": {
"baseline": "2021.08.30.00",
"port-version": 3
"port-version": 4
},
"rtabmap": {
"baseline": "0.21.4.1",
@ -9241,7 +9241,7 @@
"port-version": 5
},
"wangle": {
"baseline": "2024.01.01.00",
"baseline": "2024.04.15.00",
"port-version": 0
},
"wasmedge": {

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "f06b7028d67ad69b208b340bd8a8f173dd2ee444",
"version-string": "2024.04.15.00",
"port-version": 0
},
{
"git-tree": "1c83d8147b39a2ed0182a49deb8afa181ac6a54b",
"version-string": "2023.05.08.00",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "76ddc229d7bc95ce42a7f218b76aa6316a6a8911",
"version-string": "2024.04.15.00",
"port-version": 0
},
{
"git-tree": "824b246c1bf15c6d96a4ca1126d3e9a279663585",
"version-string": "2024.01.01.00",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "5a404f853e980e3898081e175fc198187746a021",
"version-string": "2024.04.15.00",
"port-version": 0
},
{
"git-tree": "b3a03c5a987e674153efbc6e8a9ab1ed9655b0b0",
"version-string": "2024.01.01.00",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "3b803b0dc89af872933e2ac7b801c606b2400d3e",
"version-string": "2024.04.15.00",
"port-version": 0
},
{
"git-tree": "e99a9ae70e66a41fc8bd159f89eba510d8dc2bc8",
"version-string": "2024.01.01.00",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "f33e273595f6c55018aca87d97f12eb3a83bfcd9",
"version-string": "2024.04.15.00",
"port-version": 0
},
{
"git-tree": "c0b5b25444aee23d293543cb07f671e422d131a1",
"version-string": "2024.01.01.00",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "4b72c30c87e3f16a813b51cd445c74643b5891c5",
"version-string": "2024.04.15.00",
"port-version": 0
},
{
"git-tree": "6017c60f2d9723fcd99c0d28e1919d5c7d8973c5",
"version-string": "2024.01.01.00",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "50711928560987beb101dcf47148369fb993ba89",
"version-string": "2021.08.30.00",
"port-version": 4
},
{
"git-tree": "52b82b815b431e296ffea53c1ce955c7df267d82",
"version-string": "2021.08.30.00",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "3c725fdec0c58cd624a8860320c560427ab2ce00",
"version-string": "2024.04.15.00",
"port-version": 0
},
{
"git-tree": "efa950ad690a3f10060fe5c09cfea6a55201736a",
"version-string": "2024.01.01.00",