diff --git a/ports/proxygen/CONTROL b/ports/proxygen/CONTROL new file mode 100644 index 0000000000..86c5b5b7ee --- /dev/null +++ b/ports/proxygen/CONTROL @@ -0,0 +1,5 @@ +Source: proxygen +Version: 2019.10.21.00 +Homepage: https://github.com/facebook/proxygen +Description: It comprises the core C++ HTTP abstractions used at Facebook. +Build-Depends: folly, fizz, wangle, zstd, zlib, openssl, boost-iostreams, boost-context, boost-date-time, boost-filesystem, boost-program-options, boost-regex, boost-system, boost-thread \ No newline at end of file diff --git a/ports/proxygen/fix-tools-path.patch b/ports/proxygen/fix-tools-path.patch new file mode 100644 index 0000000000..2e6ab171a3 --- /dev/null +++ b/ports/proxygen/fix-tools-path.patch @@ -0,0 +1,49 @@ +diff --git a/proxygen/httpserver/CMakeLists.txt b/proxygen/httpserver/CMakeLists.txt +index 40046e5..ab53b06 100644 +--- a/proxygen/httpserver/CMakeLists.txt ++++ b/proxygen/httpserver/CMakeLists.txt +@@ -45,7 +45,7 @@ target_link_libraries( + install( + TARGETS proxygen_push + EXPORT proxygen-exports +- DESTINATION bin ++ DESTINATION tools + ) + + add_executable(proxygen_proxy +@@ -66,7 +66,7 @@ target_link_libraries( + install( + TARGETS proxygen_proxy + EXPORT proxygen-exports +- DESTINATION bin ++ DESTINATION tools + ) + + add_executable(proxygen_static +@@ -87,7 +87,7 @@ target_link_libraries( + install( + TARGETS proxygen_static + EXPORT proxygen-exports +- DESTINATION bin ++ DESTINATION tools + ) + + add_executable(proxygen_echo +@@ -108,7 +108,7 @@ target_link_libraries( + install( + TARGETS proxygen_echo + EXPORT proxygen-exports +- DESTINATION bin ++ DESTINATION tools + ) + + if (BUILD_QUIC) +@@ -140,7 +140,7 @@ if (BUILD_QUIC) + install( + TARGETS hq + EXPORT proxygen-exports +- DESTINATION bin ++ DESTINATION tools + ) + endif() + diff --git a/ports/proxygen/portfile.cmake b/ports/proxygen/portfile.cmake new file mode 100644 index 0000000000..8624ea48ac --- /dev/null +++ b/ports/proxygen/portfile.cmake @@ -0,0 +1,39 @@ +vcpkg_fail_port_install(ON_TARGET "Windows") + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO facebook/proxygen + REF ac8a0f520b1d5fb91cd3f3ef681d4b37053b09f0 #v2019.10.21.00 + SHA512 2a76fed7cf9947e1096b36d25fe7886c06655fa2faf6d4829fd07c682efdf2bd9003a4c9e4772a4ccfd72df81e7066df736d2330a5edf0e836da30dcc81d3b5f + HEAD_REF master + PATCHES fix-tools-path.patch +) + +vcpkg_find_acquire_program(PYTHON3) +get_filename_component(PYTHON3_PATH ${PYTHON3} DIRECTORY) +vcpkg_add_to_path(${PYTHON3_PATH}) + +if (VCPKG_TARGET_IS_WINDOWS) + vcpkg_find_acquire_program(GPERF) + get_filename_component(GPERF_PATH ${GPERF} DIRECTORY) + vcpkg_add_to_path(${GPERF_PATH}) +else() + # gperf only have windows package in vcpkg now. + if (NOT EXISTS /usr/bin/gperf) + message(FATAL_ERROR "proxygen requires gperf, these can be installed on Ubuntu systems via apt-get install gperf.") + endif() +endif() + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/proxygen) +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +#Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)