From 59775f903b6e5a3fd5d29be607256fbfa159f942 Mon Sep 17 00:00:00 2001 From: Evgeny Grin Date: Tue, 30 May 2023 12:46:01 +0300 Subject: [PATCH 01/11] [libmicrohttpd] Update to version 0.9.77 --- ports/libmicrohttpd/portfile.cmake | 10 ++++------ ports/libmicrohttpd/vcpkg.json | 3 +-- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/ports/libmicrohttpd/portfile.cmake b/ports/libmicrohttpd/portfile.cmake index c6aa53b0c99285..ffb361696d101c 100644 --- a/ports/libmicrohttpd/portfile.cmake +++ b/ports/libmicrohttpd/portfile.cmake @@ -1,11 +1,9 @@ -set(MICROHTTPD_VERSION 0.9.75) - vcpkg_download_distfile(ARCHIVE URLS - "https://ftp.gnu.org/gnu/libmicrohttpd/libmicrohttpd-${MICROHTTPD_VERSION}.tar.gz" - "https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/libmicrohttpd/libmicrohttpd-${MICROHTTPD_VERSION}.tar.gz" - FILENAME "libmicrohttpd-${MICROHTTPD_VERSION}.tar.gz" - SHA512 4dc62ed191342a61cc2767171bb1ff4050f390db14ef7100299888237b52ea0b04b939c843878fe7f5daec2b35a47b3c1b7e7c11fb32d458184fe6b19986a37c + "https://ftp.gnu.org/gnu/libmicrohttpd/libmicrohttpd-${VERSION}.tar.gz" + "https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/libmicrohttpd/libmicrohttpd-${VERSION}.tar.gz" + FILENAME "libmicrohttpd-${VERSION}.tar.gz" + SHA512 001025c023dd94c4a0cf017ed575e65a577b5ce595e7e450346bfb75def77eaa8a4cfbeffb9f4b912e34165c2cfca147c02c895e067a4f6c5a321a12035758a5 ) vcpkg_extract_source_archive( diff --git a/ports/libmicrohttpd/vcpkg.json b/ports/libmicrohttpd/vcpkg.json index a43d4d0e735a9b..0226f8958113e6 100644 --- a/ports/libmicrohttpd/vcpkg.json +++ b/ports/libmicrohttpd/vcpkg.json @@ -1,7 +1,6 @@ { "name": "libmicrohttpd", - "version": "0.9.75", - "port-version": 1, + "version": "0.9.77", "description": "GNU libmicrohttpd is a small C library that is supposed to make it easy to run an HTTP server as part of another application", "homepage": "https://www.gnu.org/software/libmicrohttpd/", "supports": "!(arm | uwp)", From 1e6caef37f48cc6859e8a9c36504c2c8d735cd4b Mon Sep 17 00:00:00 2001 From: Evgeny Grin Date: Tue, 30 May 2023 13:32:32 +0300 Subject: [PATCH 02/11] [libmicrohttpd] Remove unneeded dependency Gettext is used by upstream only to build files for distribution. Gettext is not used by the library itself. --- ports/libmicrohttpd/portfile.cmake | 1 + ports/libmicrohttpd/vcpkg.json | 8 +------- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/ports/libmicrohttpd/portfile.cmake b/ports/libmicrohttpd/portfile.cmake index ffb361696d101c..03636ec281b403 100644 --- a/ports/libmicrohttpd/portfile.cmake +++ b/ports/libmicrohttpd/portfile.cmake @@ -35,6 +35,7 @@ else() SOURCE_PATH "${SOURCE_PATH}" OPTIONS --disable-doc + --disable-nls --disable-examples --disable-curl --disable-https diff --git a/ports/libmicrohttpd/vcpkg.json b/ports/libmicrohttpd/vcpkg.json index 0226f8958113e6..b4e63fc62d8525 100644 --- a/ports/libmicrohttpd/vcpkg.json +++ b/ports/libmicrohttpd/vcpkg.json @@ -3,11 +3,5 @@ "version": "0.9.77", "description": "GNU libmicrohttpd is a small C library that is supposed to make it easy to run an HTTP server as part of another application", "homepage": "https://www.gnu.org/software/libmicrohttpd/", - "supports": "!(arm | uwp)", - "dependencies": [ - { - "name": "gettext", - "platform": "!windows" - } - ] + "supports": "!(arm | uwp)" } From 09369884ea287acbc5747815b54cf0a90f28f533 Mon Sep 17 00:00:00 2001 From: Evgeny Grin Date: Tue, 30 May 2023 13:37:30 +0300 Subject: [PATCH 03/11] [libmicrohttpd] Add ARM support The ARM is supported by upstream for a long time, VC support for ARM was added in the version 0.9.77. --- ports/libmicrohttpd/vcpkg.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/libmicrohttpd/vcpkg.json b/ports/libmicrohttpd/vcpkg.json index b4e63fc62d8525..6cec83d30def77 100644 --- a/ports/libmicrohttpd/vcpkg.json +++ b/ports/libmicrohttpd/vcpkg.json @@ -3,5 +3,5 @@ "version": "0.9.77", "description": "GNU libmicrohttpd is a small C library that is supposed to make it easy to run an HTTP server as part of another application", "homepage": "https://www.gnu.org/software/libmicrohttpd/", - "supports": "!(arm | uwp)" + "supports": "!uwp" } From 0f31e465787ffeababd52e48d2faf86e4f3926a5 Mon Sep 17 00:00:00 2001 From: Evgeny Grin Date: Tue, 30 May 2023 13:44:24 +0300 Subject: [PATCH 04/11] [libmicrohttpd] Use universal project for VC builds --- ports/libmicrohttpd/portfile.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/libmicrohttpd/portfile.cmake b/ports/libmicrohttpd/portfile.cmake index 03636ec281b403..aee4f7428a14cf 100644 --- a/ports/libmicrohttpd/portfile.cmake +++ b/ports/libmicrohttpd/portfile.cmake @@ -20,7 +20,7 @@ if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) vcpkg_install_msbuild( SOURCE_PATH "${SOURCE_PATH}" - PROJECT_SUBPATH w32/VS2015/libmicrohttpd.vcxproj + PROJECT_SUBPATH w32/VS-Any-Version/libmicrohttpd.vcxproj RELEASE_CONFIGURATION "Release-${CFG_SUFFIX}" DEBUG_CONFIGURATION "Debug-${CFG_SUFFIX}" ) From cef992af401d8a9418c0f174977f96422aaa8bdc Mon Sep 17 00:00:00 2001 From: Evgeny Grin Date: Tue, 30 May 2023 13:45:08 +0300 Subject: [PATCH 05/11] [libmicrohttpd] Exclude wrong lib headers --- ports/libmicrohttpd/portfile.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/libmicrohttpd/portfile.cmake b/ports/libmicrohttpd/portfile.cmake index aee4f7428a14cf..e71d91c459706d 100644 --- a/ports/libmicrohttpd/portfile.cmake +++ b/ports/libmicrohttpd/portfile.cmake @@ -25,7 +25,7 @@ if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) DEBUG_CONFIGURATION "Debug-${CFG_SUFFIX}" ) - file(GLOB MICROHTTPD_HEADERS "${SOURCE_PATH}/src/include/microhttpd*.h") + file(GLOB MICROHTTPD_HEADERS "${SOURCE_PATH}/src/include/microhttpd.h") file(COPY ${MICROHTTPD_HEADERS} DESTINATION "${CURRENT_PACKAGES_DIR}/include") else() if(VCPKG_TARGET_IS_OSX AND VCPKG_LIBRARY_LINKAGE STREQUAL "static") From 1df8e99b7c22ed83531cf1c37e296ddb4e1e1dec Mon Sep 17 00:00:00 2001 From: Evgeny Grin Date: Tue, 30 May 2023 16:09:26 +0300 Subject: [PATCH 06/11] [libmicrohttpd] Support release/debug for non-VC builds --- ports/libmicrohttpd/portfile.cmake | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ports/libmicrohttpd/portfile.cmake b/ports/libmicrohttpd/portfile.cmake index e71d91c459706d..2abc4f9fe2cd7c 100644 --- a/ports/libmicrohttpd/portfile.cmake +++ b/ports/libmicrohttpd/portfile.cmake @@ -40,6 +40,8 @@ else() --disable-curl --disable-https --with-gnutls=no + OPTIONS_DEBUG --enable-asserts + OPTIONS_RELEASE --disable-asserts ) vcpkg_install_make() From ebb46c78d43c0db7517cdaa82191367b1ef31498 Mon Sep 17 00:00:00 2001 From: Evgeny Grin Date: Wed, 31 May 2023 09:20:20 +0300 Subject: [PATCH 07/11] [libmicrohttpd] Add license --- ports/libmicrohttpd/vcpkg.json | 1 + 1 file changed, 1 insertion(+) diff --git a/ports/libmicrohttpd/vcpkg.json b/ports/libmicrohttpd/vcpkg.json index 6cec83d30def77..bc6bdb9d27d3e6 100644 --- a/ports/libmicrohttpd/vcpkg.json +++ b/ports/libmicrohttpd/vcpkg.json @@ -3,5 +3,6 @@ "version": "0.9.77", "description": "GNU libmicrohttpd is a small C library that is supposed to make it easy to run an HTTP server as part of another application", "homepage": "https://www.gnu.org/software/libmicrohttpd/", + "license": "LGPL-2.1-or-later", "supports": "!uwp" } From 7b6fa7b3b5a5257e24c9b4613f0a14158e9b02bb Mon Sep 17 00:00:00 2001 From: Evgeny Grin Date: Wed, 31 May 2023 09:22:45 +0300 Subject: [PATCH 08/11] [libmicrohttpd] Add "https" feature --- ports/libmicrohttpd/portfile.cmake | 10 ++++++++-- ports/libmicrohttpd/vcpkg.json | 11 ++++++++++- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/ports/libmicrohttpd/portfile.cmake b/ports/libmicrohttpd/portfile.cmake index 2abc4f9fe2cd7c..48c8ab745bf710 100644 --- a/ports/libmicrohttpd/portfile.cmake +++ b/ports/libmicrohttpd/portfile.cmake @@ -28,9 +28,16 @@ if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) file(GLOB MICROHTTPD_HEADERS "${SOURCE_PATH}/src/include/microhttpd.h") file(COPY ${MICROHTTPD_HEADERS} DESTINATION "${CURRENT_PACKAGES_DIR}/include") else() + vcpkg_list(SET config_args) if(VCPKG_TARGET_IS_OSX AND VCPKG_LIBRARY_LINKAGE STREQUAL "static") set(ENV{LIBS} "$ENV{LIBS} -framework Foundation -framework AppKit") # TODO: Get this from the extracted cmake vars somehow endif() + if("https" IN_LIST FEATURES) + vcpkg_list(APPEND config_args "--enable-https") + else() + vcpkg_list(APPEND config_args "--disable-https") + endif() + vcpkg_configure_make( SOURCE_PATH "${SOURCE_PATH}" OPTIONS @@ -38,8 +45,7 @@ else() --disable-nls --disable-examples --disable-curl - --disable-https - --with-gnutls=no + ${config_args} OPTIONS_DEBUG --enable-asserts OPTIONS_RELEASE --disable-asserts ) diff --git a/ports/libmicrohttpd/vcpkg.json b/ports/libmicrohttpd/vcpkg.json index bc6bdb9d27d3e6..9d4a14d24bfe48 100644 --- a/ports/libmicrohttpd/vcpkg.json +++ b/ports/libmicrohttpd/vcpkg.json @@ -4,5 +4,14 @@ "description": "GNU libmicrohttpd is a small C library that is supposed to make it easy to run an HTTP server as part of another application", "homepage": "https://www.gnu.org/software/libmicrohttpd/", "license": "LGPL-2.1-or-later", - "supports": "!uwp" + "supports": "!uwp", + "features": { + "https": { + "description": "Enable HTTPS protocol support", + "supports": "!windows | mingw", + "dependencies": [ + "libgnutls" + ] + } + } } From 4f12f95b8ce5797aba45cd0e8ff78c21f513c6da Mon Sep 17 00:00:00 2001 From: Evgeny Grin Date: Wed, 31 May 2023 12:23:56 +0300 Subject: [PATCH 09/11] [libmicrohttpd] Use right function for license file --- ports/libmicrohttpd/portfile.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/libmicrohttpd/portfile.cmake b/ports/libmicrohttpd/portfile.cmake index 48c8ab745bf710..1a1e991d555e42 100644 --- a/ports/libmicrohttpd/portfile.cmake +++ b/ports/libmicrohttpd/portfile.cmake @@ -56,4 +56,4 @@ else() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") endif() -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") From 0d907c0d475060a9b7edd63642932c8b5f81787a Mon Sep 17 00:00:00 2001 From: Evgeny Grin Date: Wed, 31 May 2023 13:19:59 +0300 Subject: [PATCH 10/11] [libmicrohttpd] Fix "supports" libmicrohttpd VC projects support only static library with static runtime or dynamic library with dynamic runtime --- ports/libmicrohttpd/vcpkg.json | 2 +- scripts/ci.baseline.txt | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/ports/libmicrohttpd/vcpkg.json b/ports/libmicrohttpd/vcpkg.json index 9d4a14d24bfe48..2698b692ed55fe 100644 --- a/ports/libmicrohttpd/vcpkg.json +++ b/ports/libmicrohttpd/vcpkg.json @@ -4,7 +4,7 @@ "description": "GNU libmicrohttpd is a small C library that is supposed to make it easy to run an HTTP server as part of another application", "homepage": "https://www.gnu.org/software/libmicrohttpd/", "license": "LGPL-2.1-or-later", - "supports": "!uwp", + "supports": "!uwp & !(windows & !mingw & ((static & !staticcrt) | (!static & staticcrt)))", "features": { "https": { "description": "Enable HTTPS protocol support", diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 7d7f71aa5e796c..aa3f2df280fc8e 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -754,7 +754,6 @@ libmesh:x64-linux=skip # Build fails since PIC is not enabled and some configuration tests do not work properly on UWP libmicrodns:arm-uwp=fail libmicrodns:x64-uwp=fail -libmicrohttpd:x64-windows-static-md=fail libmikmod:arm-neon-android=fail libmikmod:arm64-android=fail libmikmod:x64-android=fail From 563222ca648e484863a3da45585b77c9fcc7205f Mon Sep 17 00:00:00 2001 From: Evgeny Grin Date: Tue, 6 Jun 2023 13:21:03 +0300 Subject: [PATCH 11/11] [libmicrohttpd] Update version database --- versions/baseline.json | 4 ++-- versions/l-/libmicrohttpd.json | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/versions/baseline.json b/versions/baseline.json index 1fcee846316de5..686027c14a4674 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -4261,8 +4261,8 @@ "port-version": 0 }, "libmicrohttpd": { - "baseline": "0.9.75", - "port-version": 1 + "baseline": "0.9.77", + "port-version": 0 }, "libmikmod": { "baseline": "3.3.11.1", diff --git a/versions/l-/libmicrohttpd.json b/versions/l-/libmicrohttpd.json index fec429522ee43c..33ff1494504c24 100644 --- a/versions/l-/libmicrohttpd.json +++ b/versions/l-/libmicrohttpd.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "99533d05bd2e457102ebabc8c74a065bc62eb900", + "version": "0.9.77", + "port-version": 0 + }, { "git-tree": "f1b42f3ba710ee2202398b46cc349adfa90cd3d9", "version": "0.9.75",