aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>2019-12-24 07:58:21 +0800
committerdan-shaw <51385773+dan-shaw@users.noreply.github.com>2019-12-23 15:58:21 -0800
commit5f56ea9b5bc9a8e6a3a43fe69d867f0d22b86552 (patch)
treeb74c06ddfc6779cbea945aec4a1c54bcf0ea082c
parent7ac7a463433c9e1d166b7e5951b6706dc88d3719 (diff)
downloadvcpkg-5f56ea9b5bc9a8e6a3a43fe69d867f0d22b86552.tar.gz
vcpkg-5f56ea9b5bc9a8e6a3a43fe69d867f0d22b86552.zip
[proxygen]Add new port. (#8766)
-rw-r--r--ports/proxygen/CONTROL5
-rw-r--r--ports/proxygen/fix-tools-path.patch49
-rw-r--r--ports/proxygen/portfile.cmake39
3 files changed, 93 insertions, 0 deletions
diff --git a/ports/proxygen/CONTROL b/ports/proxygen/CONTROL
new file mode 100644
index 000000000..86c5b5b7e
--- /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 000000000..2e6ab171a
--- /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 000000000..8624ea48a
--- /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)