From 3f6e8e9c09e28a0eae4b37cceb2982ca2518278c Mon Sep 17 00:00:00 2001 From: Taylor Foxhall Date: Thu, 31 Aug 2023 16:53:07 -0400 Subject: [PATCH] [ntf-core] new port (#32855) --- ports/ntf-core/portfile.cmake | 53 +++++++++++++++++++++++++++++++++++ ports/ntf-core/usage | 9 ++++++ ports/ntf-core/vcpkg.json | 17 +++++++++++ versions/baseline.json | 4 +++ versions/n-/ntf-core.json | 9 ++++++ 5 files changed, 92 insertions(+) create mode 100644 ports/ntf-core/portfile.cmake create mode 100644 ports/ntf-core/usage create mode 100644 ports/ntf-core/vcpkg.json create mode 100644 versions/n-/ntf-core.json diff --git a/ports/ntf-core/portfile.cmake b/ports/ntf-core/portfile.cmake new file mode 100644 index 00000000000000..fd7cf95d31b9ad --- /dev/null +++ b/ports/ntf-core/portfile.cmake @@ -0,0 +1,53 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO bloomberg/ntf-core + REF "${VERSION}" + SHA512 57662d2dd105b2781e580623c26cd7bde84fce8374bbd70c18595a5f6934869b7a570f0d3c2e17e115f6c7eb1067541f8d19523639815b285324061f807d3179 + HEAD_REF main +) + +# ntf-core requires debugger information to for dev tooling purposes, so we just fake it +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS "-DNTF_BUILD_WITH_USAGE_EXAMPLES=0" + "-DNTF_TOOLCHAIN_DEBUGGER_PATH=NOT-FOUND" +) + +vcpkg_cmake_build() + +vcpkg_cmake_install() + +function(fix_pkgconfig_ufid lib_dir ufid pc_name) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/${lib_dir}/pkgconfig/${pc_name}.pc" "/${ufid}" "") + if ("${ufid}" MATCHES opt) + set(build_mode "release") + else() + set(build_mode "debug") + endif() + + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/${lib_dir}/cmake/${pc_name}Targets-${build_mode}.cmake" "/${ufid}" "") +endfunction() + +function(fix_install_dir lib_dir ufid) + message(STATUS "Fixing ufid layout for ${CURRENT_PACKAGES_DIR}/${lib_dir}/${ufid}") + file(RENAME "${CURRENT_PACKAGES_DIR}/${lib_dir}/${ufid}" "${CURRENT_PACKAGES_DIR}/tmp") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/${lib_dir}") + file(RENAME "${CURRENT_PACKAGES_DIR}/tmp" "${CURRENT_PACKAGES_DIR}/${lib_dir}") + + fix_pkgconfig_ufid("${lib_dir}" "${ufid}" "nts") + fix_pkgconfig_ufid("${lib_dir}" "${ufid}" "ntc") +endfunction() + +fix_install_dir("lib" "opt_exc_mt") +fix_install_dir("debug/lib" "dbg_exc_mt") +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake") + +# Handle copyright +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +vcpkg_fixup_pkgconfig() + +# Usage +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + diff --git a/ports/ntf-core/usage b/ports/ntf-core/usage new file mode 100644 index 00000000000000..96f7e6ce9de9f1 --- /dev/null +++ b/ports/ntf-core/usage @@ -0,0 +1,9 @@ +The package ntf-core provides the CMake targets: + + # Blocking and non-blocking sockets for network programming + find_package(nts REQUIRED) + target_link_libraries(main PRIVATE nts) + + # Asynchronous sockets, timers, event loops, and thread pools for network programming + find_package(ntc REQUIRED) + target_link_libraries(main PRIVATE ntc) diff --git a/ports/ntf-core/vcpkg.json b/ports/ntf-core/vcpkg.json new file mode 100644 index 00000000000000..7fbcbcee574128 --- /dev/null +++ b/ports/ntf-core/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "ntf-core", + "version": "2.1.0", + "description": "The Network Transport Framework: Core Libraries", + "license": "Apache-2.0", + "dependencies": [ + "bde", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/versions/baseline.json b/versions/baseline.json index 31e72bc0263112..16028a1a6f2aaf 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -5808,6 +5808,10 @@ "baseline": "2019-08-10", "port-version": 3 }, + "ntf-core": { + "baseline": "2.1.0", + "port-version": 0 + }, "nu-book-zxing-cpp": { "baseline": "2.1.0", "port-version": 0 diff --git a/versions/n-/ntf-core.json b/versions/n-/ntf-core.json new file mode 100644 index 00000000000000..66a785b44060f1 --- /dev/null +++ b/versions/n-/ntf-core.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "version": "2.1.0", + "port-version": 0, + "git-tree": "eabeb2b30205bef45e72e4a069f21d71797f3f5d" + } + ] +}