aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/wangle
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/wangle
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/wangle')
-rw-r--r--vcpkg/ports/wangle/fix-config-cmake.patch22
-rw-r--r--vcpkg/ports/wangle/fix_dependency.patch79
-rw-r--r--vcpkg/ports/wangle/portfile.cmake52
-rw-r--r--vcpkg/ports/wangle/usage4
-rw-r--r--vcpkg/ports/wangle/vcpkg.json29
5 files changed, 186 insertions, 0 deletions
diff --git a/vcpkg/ports/wangle/fix-config-cmake.patch b/vcpkg/ports/wangle/fix-config-cmake.patch
new file mode 100644
index 0000000..1d5949c
--- /dev/null
+++ b/vcpkg/ports/wangle/fix-config-cmake.patch
@@ -0,0 +1,22 @@
+diff --git a/wangle/cmake/wangle-config.cmake.in b/wangle/cmake/wangle-config.cmake.in
+index e50af54..e0fd0dc 100644
+--- a/wangle/cmake/wangle-config.cmake.in
++++ b/wangle/cmake/wangle-config.cmake.in
+@@ -12,7 +12,16 @@
+ @PACKAGE_INIT@
+
+ set_and_check(WANGLE_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@")
+-set_and_check(WANGLE_CMAKE_DIR "@PACKAGE_CMAKE_INSTALL_DIR@")
++set_and_check(WANGLE_CMAKE_DIR "${PACKAGE_PREFIX_DIR}/share/wangle")
++
++include(CMakeFindDependencyMacro)
++find_dependency(folly REQUIRED)
++find_dependency(fizz REQUIRED)
++find_dependency(glog REQUIRED)
++find_dependency(Threads REQUIRED)
++find_dependency(Libevent REQUIRED)
++find_dependency(OpenSSL REQUIRED)
++find_dependency(double-conversion REQUIRED)
+
+ if (NOT TARGET wangle::wangle)
+ include("${WANGLE_CMAKE_DIR}/wangle-targets.cmake")
diff --git a/vcpkg/ports/wangle/fix_dependency.patch b/vcpkg/ports/wangle/fix_dependency.patch
new file mode 100644
index 0000000..f44d39f
--- /dev/null
+++ b/vcpkg/ports/wangle/fix_dependency.patch
@@ -0,0 +1,79 @@
+diff --git a/wangle/CMakeLists.txt b/wangle/CMakeLists.txt
+index 85ae066..766d3d3 100644
+--- a/wangle/CMakeLists.txt
++++ b/wangle/CMakeLists.txt
+@@ -64,18 +64,23 @@ set(CMAKE_INSTALL_DIR lib/cmake/wangle CACHE STRING
+ find_package(folly CONFIG REQUIRED)
+
+ find_package(fizz CONFIG REQUIRED)
+-find_package(fmt CONFIG REQUIRED)
+ find_package(OpenSSL REQUIRED)
+-find_package(Glog REQUIRED)
+-find_package(gflags CONFIG QUIET)
++find_package(glog CONFIG REQUIRED)
++find_package(gflags CONFIG REQUIRED)
++find_package(Boost REQUIRED
++ COMPONENTS
++ filesystem
++ thread
++)
++
+ if (gflags_FOUND)
+ message(STATUS "Found gflags from package config")
+ message(STATUS "gflags_CONFIG=${gflags_CONFIG}")
+ else()
+ find_package(Gflags REQUIRED)
+ endif()
+-find_package(LibEvent MODULE REQUIRED)
+-find_package(DoubleConversion REQUIRED)
++find_package(Libevent CONFIG REQUIRED)
++find_package(double-conversion CONFIG REQUIRED)
+ find_package(Threads REQUIRED)
+ if (UNIX AND NOT APPLE)
+ find_package(Librt)
+@@ -166,6 +171,14 @@ target_include_directories(
+ ${LIBEVENT_INCLUDE_DIR}
+ ${DOUBLE_CONVERSION_INCLUDE_DIR}
+ )
++set(Boost_LIBRARIES Boost::boost Boost::filesystem Boost::thread )
++set(FOLLY_LIBRARIES Folly::folly)
++set(FIZZ_LIBRARIES fizz::fizz)
++set(GLOG_LIBRARIES glog::glog)
++set(GFLAGS_LIBRARIES gflags::gflags)
++set(LIBEVENT_LIB libevent::core libevent::extra)
++set(DOUBLE_CONVERSION_LIBRARIES double-conversion::double-conversion)
++
+ target_link_libraries(wangle PUBLIC
+ ${FOLLY_LIBRARIES}
+ ${FIZZ_LIBRARIES}
+diff --git a/wangle/cmake/wangle-config.cmake.in b/wangle/cmake/wangle-config.cmake.in
+index e0fd0dc..5f6cf14 100644
+--- a/wangle/cmake/wangle-config.cmake.in
++++ b/wangle/cmake/wangle-config.cmake.in
+@@ -15,13 +15,19 @@ set_and_check(WANGLE_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@")
+ set_and_check(WANGLE_CMAKE_DIR "${PACKAGE_PREFIX_DIR}/share/wangle")
+
+ include(CMakeFindDependencyMacro)
+-find_dependency(folly REQUIRED)
+-find_dependency(fizz REQUIRED)
+-find_dependency(glog REQUIRED)
+-find_dependency(Threads REQUIRED)
+-find_dependency(Libevent REQUIRED)
+-find_dependency(OpenSSL REQUIRED)
+-find_dependency(double-conversion REQUIRED)
++find_dependency(folly CONFIG)
++find_dependency(fizz CONFIG)
++find_dependency(gflags CONFIG)
++find_dependency(glog CONFIG)
++find_dependency(Threads)
++find_dependency(Libevent CONFIG)
++find_dependency(OpenSSL)
++find_dependency(double-conversion CONFIG)
++find_dependency(Boost
++ COMPONENTS
++ filesystem
++ thread
++)
+
+ if (NOT TARGET wangle::wangle)
+ include("${WANGLE_CMAKE_DIR}/wangle-targets.cmake")
diff --git a/vcpkg/ports/wangle/portfile.cmake b/vcpkg/ports/wangle/portfile.cmake
new file mode 100644
index 0000000..36e0f05
--- /dev/null
+++ b/vcpkg/ports/wangle/portfile.cmake
@@ -0,0 +1,52 @@
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO facebook/wangle
+ REF "v${VERSION}"
+ SHA512 d595350fe4ce16f96f93b4922d86035da7aa40c04a6557db09b715b800a275f19ca0e57028eaa558d3512999bfd8c2399d13f540f9f85ceacb4a13d33a3265db
+ HEAD_REF main
+ PATCHES
+ fix-config-cmake.patch
+ fix_dependency.patch
+)
+
+file(REMOVE
+ "${SOURCE_PATH}/wangle/cmake/FindDoubleConversion.cmake"
+ "${SOURCE_PATH}/build/fbcode_builder/CMake/FindGflags.cmake"
+ "${SOURCE_PATH}/build/fbcode_builder/CMake/FindGlog.cmake"
+ "${SOURCE_PATH}/build/fbcode_builder/CMake/FindGMock.cmake"
+ "${SOURCE_PATH}/build/fbcode_builder/CMake/FindLibEvent.cmake"
+ "${SOURCE_PATH}/build/fbcode_builder/CMake/FindSodium.cmake"
+ "${SOURCE_PATH}/build/fbcode_builder/CMake/FindZstd.cmake"
+)
+
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}/wangle"
+ OPTIONS
+ -DBUILD_TESTS=OFF
+ -DBUILD_EXAMPLES=OFF
+ -DINCLUDE_INSTALL_DIR:STRING=include
+)
+
+vcpkg_cmake_install()
+vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/wangle)
+
+file(READ "${CURRENT_PACKAGES_DIR}/share/wangle/wangle-targets.cmake" _contents)
+STRING(REPLACE "\${_IMPORT_PREFIX}/lib/" "\${_IMPORT_PREFIX}/\$<\$<CONFIG:DEBUG>:debug/>lib/" _contents "${_contents}")
+STRING(REPLACE "\${_IMPORT_PREFIX}/debug/lib/" "\${_IMPORT_PREFIX}/\$<\$<CONFIG:DEBUG>:debug/>lib/" _contents "${_contents}")
+file(WRITE "${CURRENT_PACKAGES_DIR}/share/wangle/wangle-targets.cmake" "${_contents}")
+
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE
+ "${CURRENT_PACKAGES_DIR}/debug/include"
+ "${CURRENT_PACKAGES_DIR}/include/wangle/util/test"
+ "${CURRENT_PACKAGES_DIR}/include/wangle/ssl/test/certs"
+ "${CURRENT_PACKAGES_DIR}/include/wangle/service/test"
+ "${CURRENT_PACKAGES_DIR}/include/wangle/deprecated/rx/test"
+)
+
+file(INSTALL "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
diff --git a/vcpkg/ports/wangle/usage b/vcpkg/ports/wangle/usage
new file mode 100644
index 0000000..50903e7
--- /dev/null
+++ b/vcpkg/ports/wangle/usage
@@ -0,0 +1,4 @@
+The package wangle is compatible with built-in CMake targets:
+
+ find_package(wangle REQUIRED)
+ target_link_libraries(main PRIVATE wangle::wangle)
diff --git a/vcpkg/ports/wangle/vcpkg.json b/vcpkg/ports/wangle/vcpkg.json
new file mode 100644
index 0000000..032e790
--- /dev/null
+++ b/vcpkg/ports/wangle/vcpkg.json
@@ -0,0 +1,29 @@
+{
+ "name": "wangle",
+ "version-string": "2025.05.19.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",
+ "dependencies": [
+ "boost-context",
+ "boost-filesystem",
+ "boost-regex",
+ "boost-system",
+ "boost-thread",
+ "double-conversion",
+ "fizz",
+ "folly",
+ "gflags",
+ "glog",
+ "libevent",
+ "openssl",
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ]
+}