diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/fizz | |
Diffstat (limited to 'vcpkg/ports/fizz')
| -rw-r--r-- | vcpkg/ports/fizz/fix-build.patch | 152 | ||||
| -rw-r--r-- | vcpkg/ports/fizz/portfile.cmake | 43 | ||||
| -rw-r--r-- | vcpkg/ports/fizz/vcpkg.json | 27 |
3 files changed, 222 insertions, 0 deletions
diff --git a/vcpkg/ports/fizz/fix-build.patch b/vcpkg/ports/fizz/fix-build.patch new file mode 100644 index 0000000..a7f8276 --- /dev/null +++ b/vcpkg/ports/fizz/fix-build.patch @@ -0,0 +1,152 @@ +diff --git a/fizz/CMakeLists.txt b/fizz/CMakeLists.txt +index cb536415..81824a45 100644 +--- a/fizz/CMakeLists.txt ++++ b/fizz/CMakeLists.txt +@@ -50,7 +50,7 @@ find_package(folly CONFIG REQUIRED) + find_package(fmt CONFIG REQUIRED) + + find_package(OpenSSL REQUIRED) +-find_package(Glog REQUIRED) ++find_package(glog CONFIG REQUIRED) + find_package(Threads REQUIRED) + find_package(Zstd REQUIRED) + if (UNIX AND NOT APPLE) +@@ -59,43 +59,23 @@ endif() + + include(CheckAtomic) + +-find_package(Sodium REQUIRED) ++find_package(unofficial-sodium CONFIG REQUIRED) + + SET(FIZZ_SHINY_DEPENDENCIES "") + SET(FIZZ_LINK_LIBRARIES "") + SET(FIZZ_INCLUDE_DIRECTORIES "") + +-find_package(gflags CONFIG QUIET) +-if (gflags_FOUND) +- message(STATUS "Found gflags from package config") +- if (TARGET gflags-shared) +- list(APPEND FIZZ_SHINY_DEPENDENCIES gflags-shared) +- elseif (TARGET gflags) +- list(APPEND FIZZ_SHINY_DEPENDENCIES gflags) +- else() +- message(FATAL_ERROR "Unable to determine the target name for the GFlags package.") +- endif() +- list(APPEND CMAKE_REQUIRED_LIBRARIES ${GFLAGS_LIBRARIES}) +- list(APPEND CMAKE_REQUIRED_INCLUDES ${GFLAGS_INCLUDE_DIR}) +-else() +- find_package(Gflags REQUIRED MODULE) +- list(APPEND FIZZ_LINK_LIBRARIES ${LIBGFLAGS_LIBRARY}) +- list(APPEND FIZZ_INCLUDE_DIRECTORIES ${LIBGFLAGS_INCLUDE_DIR}) +- list(APPEND CMAKE_REQUIRED_LIBRARIES ${LIBGFLAGS_LIBRARY}) +- list(APPEND CMAKE_REQUIRED_INCLUDES ${LIBGFLAGS_INCLUDE_DIR}) ++find_package(zstd CONFIG REQUIRED) ++if(TARGET zstd::libzstd_shared) ++ list(APPEND FIZZ_LINK_LIBRARIES zstd::libzstd_shared) ++elseif(TARGET zstd::libzstd_static) ++ list(APPEND FIZZ_LINK_LIBRARIES zstd::libzstd_static) + endif() + ++find_package(gflags CONFIG REQUIRED) + find_package(ZLIB REQUIRED) + +-find_package(Libevent CONFIG QUIET) +-if(TARGET event) +- message(STATUS "Found libevent from package config") +- 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) + + find_package(liboqs 0.11.0 CONFIG) + if (liboqs_FOUND) +@@ -193,28 +173,24 @@ target_include_directories( + $<BUILD_INTERFACE:${FIZZ_BASE_DIR}> + $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/generated> + $<INSTALL_INTERFACE:${INCLUDE_INSTALL_DIR}> +- ${FOLLY_INCLUDE_DIR} +- ${OPENSSL_INCLUDE_DIR} +- ${sodium_INCLUDE_DIR} +- ${ZSTD_INCLUDE_DIR} + PRIVATE +- ${GLOG_INCLUDE_DIRS} + ${FIZZ_INCLUDE_DIRECTORIES} + ) + + + target_link_libraries(fizz + PUBLIC +- ${FOLLY_LIBRARIES} +- ${OPENSSL_LIBRARIES} +- sodium ++ Folly::folly ++ OpenSSL::SSL ++ OpenSSL::Crypto ++ unofficial-sodium::sodium + Threads::Threads + ZLIB::ZLIB +- ${ZSTD_LIBRARY} + PRIVATE +- ${GLOG_LIBRARIES} +- ${GFLAGS_LIBRARIES} ++ glog::glog ++ gflags::gflags + ${FIZZ_LINK_LIBRARIES} ++ libevent::core + ${CMAKE_DL_LIBS} + ${LIBRT_LIBRARIES}) + +@@ -279,8 +255,7 @@ ENDIF(CMAKE_CROSSCOMPILING) + SET(FIZZ_TEST_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) + + if(BUILD_TESTS) +- find_package(GMock 1.8.0 MODULE REQUIRED) +- find_package(GTest 1.8.0 MODULE REQUIRED) ++ find_package(GTest CONFIG REQUIRED) + endif() + + add_library(fizz_test_support +@@ -317,14 +292,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) +- target_include_directories( +- ${test_name} PUBLIC ${LIBGMOCK_INCLUDE_DIR} ${LIBGTEST_INCLUDE_DIR}) +- target_compile_definitions(${test_name} PUBLIC ${LIBGMOCK_DEFINES}) + target_link_libraries( + ${test_name} + fizz + fizz_test_support +- ${LIBGMOCK_LIBRARIES}) ++ GTest::gtest ++ 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 9d07110a..a47bb998 100644 +--- a/fizz/cmake/fizz-config.cmake.in ++++ b/fizz/cmake/fizz-config.cmake.in +@@ -31,9 +31,18 @@ set(FIZZ_LIBRARIES fizz::fizz) + + include(CMakeFindDependencyMacro) + +-find_dependency(Sodium) ++find_dependency(unofficial-sodium CONFIG) + find_dependency(folly CONFIG) + find_dependency(ZLIB) ++find_dependency(Libevent CONFIG) ++find_dependency(fmt CONFIG) ++find_dependency(OpenSSL) ++find_dependency(glog CONFIG) ++find_dependency(double-conversion CONFIG) ++find_dependency(Threads) ++find_dependency(gflags CONFIG) ++find_dependency(zstd CONFIG) ++find_dependency(GTest CONFIG) + if(FIZZ_HAVE_OQS) + find_dependency(liboqs CONFIG) + endif() diff --git a/vcpkg/ports/fizz/portfile.cmake b/vcpkg/ports/fizz/portfile.cmake new file mode 100644 index 0000000..0332670 --- /dev/null +++ b/vcpkg/ports/fizz/portfile.cmake @@ -0,0 +1,43 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO facebookincubator/fizz
+ REF "v${VERSION}"
+ SHA512 c3f0732d8eac8fe86daf27be9c596d7eb7a7f72b1d94ce77432948ab8755cb720386a17704bf8d00988999664d003164501edfef17c24df6136f332bfdefae7e
+ HEAD_REF main
+ PATCHES
+ fix-build.patch
+)
+
+# Prefer installed config files
+file(REMOVE
+ "${SOURCE_PATH}/fizz/cmake/FindGMock.cmake"
+ "${SOURCE_PATH}/fizz/cmake/FindGflags.cmake"
+ "${SOURCE_PATH}/fizz/cmake/FindGlog.cmake"
+ "${SOURCE_PATH}/fizz/cmake/FindLibevent.cmake"
+)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}/fizz"
+ OPTIONS
+ -DBUILD_TESTS=OFF
+ -DBUILD_EXAMPLES=OFF
+ -DINCLUDE_INSTALL_DIR:STRING=include
+)
+
+vcpkg_cmake_install()
+vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/fizz)
+vcpkg_copy_pdbs()
+
+vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/fizz/fizz-config.cmake" "lib/cmake/fizz" "share/fizz")
+
+file(REMOVE_RECURSE
+ "${CURRENT_PACKAGES_DIR}/debug/include"
+ "${CURRENT_PACKAGES_DIR}/include/fizz/crypto/aead/test/facebook"
+ "${CURRENT_PACKAGES_DIR}/include/fizz/record/test/facebook"
+ "${CURRENT_PACKAGES_DIR}/include/fizz/server/test/facebook"
+ "${CURRENT_PACKAGES_DIR}/include/fizz/tool/test"
+ "${CURRENT_PACKAGES_DIR}/include/fizz/util/test")
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
diff --git a/vcpkg/ports/fizz/vcpkg.json b/vcpkg/ports/fizz/vcpkg.json new file mode 100644 index 0000000..acabd2a --- /dev/null +++ b/vcpkg/ports/fizz/vcpkg.json @@ -0,0 +1,27 @@ +{ + "name": "fizz", + "version-string": "2025.05.19.00", + "description": "a TLS 1.3 implementation by Facebook", + "homepage": "https://github.com/facebookincubator/fizz", + "license": "BSD-3-Clause", + "dependencies": [ + "double-conversion", + "fmt", + "folly", + "gflags", + "glog", + "gtest", + "libevent", + "libsodium", + "openssl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zstd" + ] +} |