aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/fizz
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/fizz')
-rw-r--r--vcpkg/ports/fizz/fix-build.patch152
-rw-r--r--vcpkg/ports/fizz/portfile.cmake43
-rw-r--r--vcpkg/ports/fizz/vcpkg.json27
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"
+ ]
+}