From ce7fcaca9a9a57aaa249be94b92c72f3347146b3 Mon Sep 17 00:00:00 2001 From: xiaozhuai <798047000@qq.com> Date: Tue, 28 Jul 2026 14:12:22 +0800 Subject: [PATCH 1/6] [sfparse] New port --- ports/sfparse/001-fix-exports.patch | 103 ++++++++++++++++++++++++++++ ports/sfparse/CMakeLists.txt | 28 ++++++++ ports/sfparse/portfile.cmake | 24 +++++++ ports/sfparse/vcpkg.json | 17 +++++ versions/baseline.json | 4 ++ versions/s-/sfparse.json | 9 +++ 6 files changed, 185 insertions(+) create mode 100644 ports/sfparse/001-fix-exports.patch create mode 100644 ports/sfparse/CMakeLists.txt create mode 100644 ports/sfparse/portfile.cmake create mode 100644 ports/sfparse/vcpkg.json create mode 100644 versions/s-/sfparse.json diff --git a/ports/sfparse/001-fix-exports.patch b/ports/sfparse/001-fix-exports.patch new file mode 100644 index 00000000000000..621d3165e3b7c8 --- /dev/null +++ b/ports/sfparse/001-fix-exports.patch @@ -0,0 +1,103 @@ +diff --git a/sfparse.h b/sfparse.h +index 7f36ce8..7242dd9 100644 +--- a/sfparse.h ++++ b/sfparse.h +@@ -33,6 +33,26 @@ + # define WIN32 + #endif /* (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32) */ + ++#if defined(_WIN32) ++# if defined(SFPARSE_STATIC) ++# define SFPARSE_API ++# elif defined(SFPARSE_BUILDING) ++# define SFPARSE_API __declspec(dllexport) ++# else ++# define SFPARSE_API __declspec(dllimport) ++# endif ++#elif defined(__GNUC__) || defined(__clang__) ++# if defined(SFPARSE_STATIC) ++# define SFPARSE_API ++# elif defined(SFPARSE_BUILDING) ++# define SFPARSE_API __attribute__((visibility("default"))) ++# else ++# define SFPARSE_API ++# endif ++#else ++# define SFPARSE_API ++#endif ++ + #ifdef __cplusplus + extern "C" { + #endif /* defined(__cplusplus) */ +@@ -247,6 +267,7 @@ typedef struct sfparse_parser { + * `sfparse_parser_init` initializes |sfp| with the given data encoded + * in Structured Field Values pointed by |data| of length |datalen|. + */ ++SFPARSE_API + void sfparse_parser_init(sfparse_parser *sfp, const uint8_t *data, + size_t datalen); + +@@ -266,6 +287,7 @@ void sfparse_parser_init(sfparse_parser *sfp, const uint8_t *data, + * it returns :macro:`SFPARSE_ERR_PARSE`, it encountered fatal error + * while parsing field value. + */ ++SFPARSE_API + int sfparse_parser_param(sfparse_parser *sfp, sfparse_vec *dest_key, + sfparse_value *dest_value); + +@@ -294,6 +316,7 @@ int sfparse_parser_param(sfparse_parser *sfp, sfparse_vec *dest_key, + * :macro:`SFPARSE_ERR_PARSE` + * It encountered fatal error while parsing field value. + */ ++SFPARSE_API + int sfparse_parser_dict(sfparse_parser *sfp, sfparse_vec *dest_key, + sfparse_value *dest_value); + +@@ -318,6 +341,7 @@ int sfparse_parser_dict(sfparse_parser *sfp, sfparse_vec *dest_key, + * :macro:`SFPARSE_ERR_PARSE` + * It encountered fatal error while parsing field value. + */ ++SFPARSE_API + int sfparse_parser_list(sfparse_parser *sfp, sfparse_value *dest); + + /** +@@ -345,6 +369,7 @@ int sfparse_parser_list(sfparse_parser *sfp, sfparse_value *dest); + * :macro:`SFPARSE_ERR_PARSE` + * It encountered fatal error while parsing field value. + */ ++SFPARSE_API + int sfparse_parser_item(sfparse_parser *sfp, sfparse_value *dest); + + /** +@@ -372,6 +397,7 @@ int sfparse_parser_item(sfparse_parser *sfp, sfparse_value *dest); + * :macro:`SFPARSE_ERR_PARSE` + * It encountered fatal error while parsing field value. + */ ++SFPARSE_API + int sfparse_parser_inner_list(sfparse_parser *sfp, sfparse_value *dest); + + /** +@@ -393,6 +419,7 @@ int sfparse_parser_inner_list(sfparse_parser *sfp, sfparse_value *dest); + * This function sets the length of unescaped string to + * :member:`dest->len `. + */ ++SFPARSE_API + void sfparse_unescape(sfparse_vec *dest, const sfparse_vec *src); + + /** +@@ -412,6 +439,7 @@ void sfparse_unescape(sfparse_vec *dest, const sfparse_vec *src); + * This function sets the length of decoded byte string to + * :member:`dest->len `. + */ ++SFPARSE_API + void sfparse_base64decode(sfparse_vec *dest, const sfparse_vec *src); + + /** +@@ -433,6 +461,7 @@ void sfparse_base64decode(sfparse_vec *dest, const sfparse_vec *src); + * This function sets the length of decoded byte string to + * :member:`dest->len `. + */ ++SFPARSE_API + void sfparse_pctdecode(sfparse_vec *dest, const sfparse_vec *src); + + #ifdef __cplusplus diff --git a/ports/sfparse/CMakeLists.txt b/ports/sfparse/CMakeLists.txt new file mode 100644 index 00000000000000..1c590728ccdb23 --- /dev/null +++ b/ports/sfparse/CMakeLists.txt @@ -0,0 +1,28 @@ +cmake_minimum_required(VERSION 3.15) +project(sfparse C) + +include(GNUInstallDirs) + +add_library(sfparse sfparse.c sfparse.h) + +set(DEFINITIONS) +list(APPEND DEFINITIONS SFPARSE_BUILDING) +if(NOT BUILD_SHARED_LIBS) + list(APPEND DEFINITIONS SFPARSE_STATIC) +endif() +target_compile_definitions(sfparse PRIVATE ${DEFINITIONS}) +target_include_directories(sfparse PUBLIC + "$" + "$" +) + +install( + FILES "${CMAKE_CURRENT_LIST_DIR}/sfparse.h" + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/sfparse" +) +install(TARGETS sfparse EXPORT unofficial-sfparse-config) +install( + EXPORT unofficial-sfparse-config + NAMESPACE unofficial::sfparse:: + DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/unofficial-sfparse" +) diff --git a/ports/sfparse/portfile.cmake b/ports/sfparse/portfile.cmake new file mode 100644 index 00000000000000..e79cba0c44725a --- /dev/null +++ b/ports/sfparse/portfile.cmake @@ -0,0 +1,24 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ngtcp2/sfparse + REF 4b313cfd2e1b389ae632b36dcd50402307289af2 + SHA512 cf5e7ac12af29c7ff77247b71d74e9b109444fd61a52f8b44c4421eb48e23865aba3618371f658d362740df92a21657b5e1298cea1e5685f24dbd7ed3b9ca5d1 + HEAD_REF main + PATCHES + 001-fix-exports.patch +) + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}/") + +vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-${PORT}) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/sfparse/sfparse.h" "defined(SFPARSE_STATIC)" "1") +endif() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/sfparse/vcpkg.json b/ports/sfparse/vcpkg.json new file mode 100644 index 00000000000000..97cf5deb3baee5 --- /dev/null +++ b/ports/sfparse/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "sfparse", + "version-date": "2026-06-04", + "description": "RFC 9651 Structured Field Values parser", + "homepage": "https://github.com/ngtcp2/sfparse", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/versions/baseline.json b/versions/baseline.json index dde75934ace3e6..79e8f0ea3fcc22 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -9288,6 +9288,10 @@ "baseline": "3.0.2", "port-version": 0 }, + "sfparse": { + "baseline": "2026-06-04", + "port-version": 0 + }, "sfsexp": { "baseline": "1.4.1", "port-version": 0 diff --git a/versions/s-/sfparse.json b/versions/s-/sfparse.json new file mode 100644 index 00000000000000..dc54602d152c03 --- /dev/null +++ b/versions/s-/sfparse.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "c5ba297be44f4ec516321a9f7cd42dc71bc7df0e", + "version-date": "2026-06-04", + "port-version": 0 + } + ] +} From a93ccf1c93a85b47fc0511eefeb05d3a52224c63 Mon Sep 17 00:00:00 2001 From: xiaozhuai <798047000@qq.com> Date: Mon, 27 Jul 2026 11:49:52 +0800 Subject: [PATCH 2/6] [nghttp3] Update to 1.18.0 --- ports/nghttp3/001-devendor-sfparse.patch | 43 ++++++++++++++++++++++++ ports/nghttp3/portfile.cmake | 18 ++-------- ports/nghttp3/vcpkg.json | 3 +- versions/baseline.json | 2 +- versions/n-/nghttp3.json | 5 +++ 5 files changed, 54 insertions(+), 17 deletions(-) create mode 100644 ports/nghttp3/001-devendor-sfparse.patch diff --git a/ports/nghttp3/001-devendor-sfparse.patch b/ports/nghttp3/001-devendor-sfparse.patch new file mode 100644 index 00000000000000..5e285a4bc14815 --- /dev/null +++ b/ports/nghttp3/001-devendor-sfparse.patch @@ -0,0 +1,43 @@ +diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt +index 7dbfde4..1d244f2 100644 +--- a/lib/CMakeLists.txt ++++ b/lib/CMakeLists.txt +@@ -63,7 +63,6 @@ set(nghttp3_SOURCES + nghttp3_settings.c + nghttp3_callbacks.c + nghttp3_ratelim.c +- sfparse/sfparse.c + ) + + set(NGHTTP3_GENERATED_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated") +@@ -85,9 +84,12 @@ install( + FILES "${NGHTTP3_PROJECT_CONFIG}" "${NGHTTP3_VERSION_CONFIG}" + DESTINATION "${NGHTTP3_CONFIG_INSTALL_DIR}") + ++find_package(unofficial-sfparse CONFIG REQUIRED) ++ + # Public shared library + if(ENABLE_SHARED_LIB) + add_library(nghttp3 SHARED ${nghttp3_SOURCES}) ++ target_link_libraries(nghttp3 PRIVATE unofficial::sfparse::sfparse) + set_target_properties(nghttp3 PROPERTIES + COMPILE_FLAGS "${WARNCFLAGS}" + VERSION ${LT_VERSION} SOVERSION ${LT_SOVERSION} +@@ -106,6 +108,7 @@ endif() + if(ENABLE_STATIC_LIB) + # Public static library + add_library(nghttp3_static STATIC ${nghttp3_SOURCES}) ++ target_link_libraries(nghttp3_static PRIVATE unofficial::sfparse::sfparse) + set_target_properties(nghttp3_static PROPERTIES + COMPILE_FLAGS "${WARNCFLAGS}" + VERSION ${LT_VERSION} SOVERSION ${LT_SOVERSION} +diff --git a/lib/config.cmake.in b/lib/config.cmake.in +index fc691dd..bc991b1 100644 +--- a/lib/config.cmake.in ++++ b/lib/config.cmake.in +@@ -1,3 +1,5 @@ + include(CMakeFindDependencyMacro) + ++find_dependency(unofficial-sfparse) ++ + include("${CMAKE_CURRENT_LIST_DIR}/@NGHTTP3_TARGETS_EXPORT_NAME@.cmake") diff --git a/ports/nghttp3/portfile.cmake b/ports/nghttp3/portfile.cmake index 4f86294eb62e10..a48471f419b2c9 100644 --- a/ports/nghttp3/portfile.cmake +++ b/ports/nghttp3/portfile.cmake @@ -2,24 +2,12 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ngtcp2/nghttp3 REF v${VERSION} - SHA512 23d85a2abfa81433049d7b1b0440b5b04ae3515830db0347da335a30b93c8be8e25d2f73e198cdb9207e2b51ce924f133bab7314cde76d80f73c51c1fd1c36c4 + SHA512 2d8bfed2ef5d9906769d717dff934d7b2a1ed832b5e17e56615b2c817093730ac2378b212d420ac6296158e1b0ac667ed6db4226016cb11797c0edc3083ef984 HEAD_REF main PATCHES + 001-devendor-sfparse.patch ) -vcpkg_from_github( - OUT_SOURCE_PATH SFPARSE_SOURCE_PATH - REPO ngtcp2/sfparse - REF f2046eaa1acba7c5467399b1e1e1f354d22d1f48 - SHA512 b3cbcce6d96dc731d21a67940a05c1603d43ee9766819e1d174ca93c7afc7fa6247aa818368cafbb31444e0198ab5bba45808772a3ca89e459f8d2c0ffae6f5d - HEAD_REF main -) - -file(REMOVE_RECURSE "${SOURCE_PATH}/lib/sfparse") -file(MAKE_DIRECTORY "${SOURCE_PATH}/lib") -file(RENAME "${SFPARSE_SOURCE_PATH}" "${SOURCE_PATH}/lib/sfparse") - - string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" ENABLE_STATIC_CRT) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" ENABLE_STATIC_LIB) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" ENABLE_SHARED_LIB) @@ -60,5 +48,5 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL static) ) endif() -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/nghttp3/vcpkg.json b/ports/nghttp3/vcpkg.json index d9767ee28b0fb9..e0388a873f96ea 100644 --- a/ports/nghttp3/vcpkg.json +++ b/ports/nghttp3/vcpkg.json @@ -1,10 +1,11 @@ { "name": "nghttp3", - "version": "1.17.0", + "version": "1.18.0", "description": "Implementation of RFC 9114 HTTP/3 mapping over QUIC and RFC 9204 QPACK in C", "homepage": "https://github.com/ngtcp2/nghttp3", "license": "MIT", "dependencies": [ + "sfparse", { "name": "vcpkg-cmake", "host": true diff --git a/versions/baseline.json b/versions/baseline.json index 79e8f0ea3fcc22..51558dac685130 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -7093,7 +7093,7 @@ "port-version": 0 }, "nghttp3": { - "baseline": "1.17.0", + "baseline": "1.18.0", "port-version": 0 }, "ngspice": { diff --git a/versions/n-/nghttp3.json b/versions/n-/nghttp3.json index 919d6f9bfcda2f..da22c80d52ab03 100644 --- a/versions/n-/nghttp3.json +++ b/versions/n-/nghttp3.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "0ee23a3169cf9d89546c2ab5902ebe07a5fbe8e0", + "version": "1.18.0", + "port-version": 0 + }, { "git-tree": "0cba24ff0e170771b59b6359816bff5dc0c021e4", "version": "1.17.0", From 3462131bc305984ced1c552f1d11bc19c8a4466e Mon Sep 17 00:00:00 2001 From: xiaozhuai <798047000@qq.com> Date: Tue, 28 Jul 2026 14:47:26 +0800 Subject: [PATCH 3/6] [vcpkg-ci-sfparse] New ci port --- scripts/test_ports/vcpkg-ci-sfparse/portfile.cmake | 6 ++++++ .../vcpkg-ci-sfparse/project/CMakeLists.txt | 7 +++++++ scripts/test_ports/vcpkg-ci-sfparse/project/main.c | 8 ++++++++ scripts/test_ports/vcpkg-ci-sfparse/vcpkg.json | 12 ++++++++++++ 4 files changed, 33 insertions(+) create mode 100644 scripts/test_ports/vcpkg-ci-sfparse/portfile.cmake create mode 100644 scripts/test_ports/vcpkg-ci-sfparse/project/CMakeLists.txt create mode 100644 scripts/test_ports/vcpkg-ci-sfparse/project/main.c create mode 100644 scripts/test_ports/vcpkg-ci-sfparse/vcpkg.json diff --git a/scripts/test_ports/vcpkg-ci-sfparse/portfile.cmake b/scripts/test_ports/vcpkg-ci-sfparse/portfile.cmake new file mode 100644 index 00000000000000..d1ab44ac5a76c1 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-sfparse/portfile.cmake @@ -0,0 +1,6 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +vcpkg_cmake_configure( + SOURCE_PATH "${CURRENT_PORT_DIR}/project" +) +vcpkg_cmake_build() diff --git a/scripts/test_ports/vcpkg-ci-sfparse/project/CMakeLists.txt b/scripts/test_ports/vcpkg-ci-sfparse/project/CMakeLists.txt new file mode 100644 index 00000000000000..2b7e8b87ca51d6 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-sfparse/project/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.16) +project(vcpkg-ci-sfparse C) + +find_package(unofficial-sfparse CONFIG REQUIRED) + +add_executable(main main.c) +target_link_libraries(main PRIVATE unofficial::sfparse::sfparse) diff --git a/scripts/test_ports/vcpkg-ci-sfparse/project/main.c b/scripts/test_ports/vcpkg-ci-sfparse/project/main.c new file mode 100644 index 00000000000000..ac408fce8fda41 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-sfparse/project/main.c @@ -0,0 +1,8 @@ +#include + +int main(void) { + sfparse_parser sfp; + const uint8_t data[] = {0}; + sfparse_parser_init(&sfp, data, 0); + return 0; +} diff --git a/scripts/test_ports/vcpkg-ci-sfparse/vcpkg.json b/scripts/test_ports/vcpkg-ci-sfparse/vcpkg.json new file mode 100644 index 00000000000000..71593224f3405a --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-sfparse/vcpkg.json @@ -0,0 +1,12 @@ +{ + "name": "vcpkg-ci-sfparse", + "version-string": "ci", + "description": "Validates sfparse", + "dependencies": [ + "sfparse", + { + "name": "vcpkg-cmake", + "host": true + } + ] +} From 9ac82e91f75b4bc896be8b36beb78cbb93684551 Mon Sep 17 00:00:00 2001 From: xiaozhuai <798047000@qq.com> Date: Tue, 28 Jul 2026 14:47:44 +0800 Subject: [PATCH 4/6] [vcpkg-ci-nghttp3] New ci port --- scripts/test_ports/vcpkg-ci-nghttp3/portfile.cmake | 6 ++++++ .../vcpkg-ci-nghttp3/project/CMakeLists.txt | 7 +++++++ scripts/test_ports/vcpkg-ci-nghttp3/project/main.c | 7 +++++++ scripts/test_ports/vcpkg-ci-nghttp3/vcpkg.json | 12 ++++++++++++ 4 files changed, 32 insertions(+) create mode 100644 scripts/test_ports/vcpkg-ci-nghttp3/portfile.cmake create mode 100644 scripts/test_ports/vcpkg-ci-nghttp3/project/CMakeLists.txt create mode 100644 scripts/test_ports/vcpkg-ci-nghttp3/project/main.c create mode 100644 scripts/test_ports/vcpkg-ci-nghttp3/vcpkg.json diff --git a/scripts/test_ports/vcpkg-ci-nghttp3/portfile.cmake b/scripts/test_ports/vcpkg-ci-nghttp3/portfile.cmake new file mode 100644 index 00000000000000..d1ab44ac5a76c1 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-nghttp3/portfile.cmake @@ -0,0 +1,6 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +vcpkg_cmake_configure( + SOURCE_PATH "${CURRENT_PORT_DIR}/project" +) +vcpkg_cmake_build() diff --git a/scripts/test_ports/vcpkg-ci-nghttp3/project/CMakeLists.txt b/scripts/test_ports/vcpkg-ci-nghttp3/project/CMakeLists.txt new file mode 100644 index 00000000000000..fe9dab2a49a6df --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-nghttp3/project/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.16) +project(vcpkg-ci-nghttp3 C) + +find_package(nghttp3 CONFIG REQUIRED) + +add_executable(main main.c) +target_link_libraries(main PRIVATE $,nghttp3::nghttp3,nghttp3::nghttp3_static>) diff --git a/scripts/test_ports/vcpkg-ci-nghttp3/project/main.c b/scripts/test_ports/vcpkg-ci-nghttp3/project/main.c new file mode 100644 index 00000000000000..b505a21f9826f1 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-nghttp3/project/main.c @@ -0,0 +1,7 @@ +#include + +int main(void) { + nghttp3_settings settings; + nghttp3_settings_default(&settings); + return 0; +} diff --git a/scripts/test_ports/vcpkg-ci-nghttp3/vcpkg.json b/scripts/test_ports/vcpkg-ci-nghttp3/vcpkg.json new file mode 100644 index 00000000000000..2071dbab3a82bc --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-nghttp3/vcpkg.json @@ -0,0 +1,12 @@ +{ + "name": "vcpkg-ci-nghttp3", + "version-string": "ci", + "description": "Validates nghttp3", + "dependencies": [ + "nghttp3", + { + "name": "vcpkg-cmake", + "host": true + } + ] +} From 76ee2a58061460173aca56f1f7ad533fb5f41449 Mon Sep 17 00:00:00 2001 From: Copilot <223556219+Copilot@users.noreply.github.com> Date: Tue, 28 Jul 2026 11:48:12 -0700 Subject: [PATCH 5/6] Fix static pkg-config dependency Record sfparse in Libs.private so static pkg-config consumers receive the separately packaged library after devendoring. Copilot-Session: d07809b6-a85c-4bb1-9710-96225247a0f4 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: c7b186e3-fc86-45e8-a903-bb87dfd375f5 --- ports/nghttp3/001-devendor-sfparse.patch | 10 ++++++++++ versions/n-/nghttp3.json | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/ports/nghttp3/001-devendor-sfparse.patch b/ports/nghttp3/001-devendor-sfparse.patch index 5e285a4bc14815..d983f402be247b 100644 --- a/ports/nghttp3/001-devendor-sfparse.patch +++ b/ports/nghttp3/001-devendor-sfparse.patch @@ -31,6 +31,16 @@ index 7dbfde4..1d244f2 100644 set_target_properties(nghttp3_static PROPERTIES COMPILE_FLAGS "${WARNCFLAGS}" VERSION ${LT_VERSION} SOVERSION ${LT_SOVERSION} +diff --git a/lib/libnghttp3.pc.in b/lib/libnghttp3.pc.in +--- a/lib/libnghttp3.pc.in ++++ b/lib/libnghttp3.pc.in +@@ -30,5 +30,6 @@ Name: libnghttp3 + Description: nghttp3 library + URL: https://github.com/ngtcp2/nghttp3 + Version: @VERSION@ + Libs: -L${libdir} -lnghttp3 ++Libs.private: -lsfparse + Cflags: -I${includedir} diff --git a/lib/config.cmake.in b/lib/config.cmake.in index fc691dd..bc991b1 100644 --- a/lib/config.cmake.in diff --git a/versions/n-/nghttp3.json b/versions/n-/nghttp3.json index da22c80d52ab03..e5537e295c67ec 100644 --- a/versions/n-/nghttp3.json +++ b/versions/n-/nghttp3.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "0ee23a3169cf9d89546c2ab5902ebe07a5fbe8e0", + "git-tree": "8240e611dfd7e1d6edb91d9db5b117673e716bce", "version": "1.18.0", "port-version": 0 }, From fcdbba7989c56d0f1ffaef98d6e5b6229f7bff6d Mon Sep 17 00:00:00 2001 From: xiaozhuai <798047000@qq.com> Date: Wed, 29 Jul 2026 10:56:20 +0800 Subject: [PATCH 6/6] [vcpkg-ci-nghttp3] Test pkgconf --- scripts/test_ports/vcpkg-ci-nghttp3/portfile.cmake | 4 ++++ .../vcpkg-ci-nghttp3/project/CMakeLists.txt | 14 ++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/scripts/test_ports/vcpkg-ci-nghttp3/portfile.cmake b/scripts/test_ports/vcpkg-ci-nghttp3/portfile.cmake index d1ab44ac5a76c1..dd2570612035c8 100644 --- a/scripts/test_ports/vcpkg-ci-nghttp3/portfile.cmake +++ b/scripts/test_ports/vcpkg-ci-nghttp3/portfile.cmake @@ -1,6 +1,10 @@ set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +vcpkg_find_acquire_program(PKGCONFIG) + vcpkg_cmake_configure( SOURCE_PATH "${CURRENT_PORT_DIR}/project" + OPTIONS + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" ) vcpkg_cmake_build() diff --git a/scripts/test_ports/vcpkg-ci-nghttp3/project/CMakeLists.txt b/scripts/test_ports/vcpkg-ci-nghttp3/project/CMakeLists.txt index fe9dab2a49a6df..4a91da1109b07b 100644 --- a/scripts/test_ports/vcpkg-ci-nghttp3/project/CMakeLists.txt +++ b/scripts/test_ports/vcpkg-ci-nghttp3/project/CMakeLists.txt @@ -1,7 +1,17 @@ cmake_minimum_required(VERSION 3.16) project(vcpkg-ci-nghttp3 C) +################################################################################ +# Use cmake config # +################################################################################ find_package(nghttp3 CONFIG REQUIRED) +add_executable(vcpkg-ci-nghttp3 main.c) +target_link_libraries(vcpkg-ci-nghttp3 PRIVATE $,nghttp3::nghttp3,nghttp3::nghttp3_static>) -add_executable(main main.c) -target_link_libraries(main PRIVATE $,nghttp3::nghttp3,nghttp3::nghttp3_static>) +################################################################################ +# Use pkg-config # +################################################################################ +find_package(PkgConfig) +pkg_check_modules(nghttp3 REQUIRED IMPORTED_TARGET libnghttp3) +add_executable(vcpkg-ci-nghttp3-pc main.c) +target_link_libraries(vcpkg-ci-nghttp3-pc PRIVATE PkgConfig::nghttp3)