From 432f5c527f30ec6d97b851bc23bb21f663f1dcfe Mon Sep 17 00:00:00 2001 From: Nathan <35282710+nazame@users.noreply.github.com> Date: Tue, 2 Mar 2021 09:34:36 -0700 Subject: [PATCH 01/60] Add Static Library Dependencies Add geos.lib, shell32.lib, and ole32.lib so that downstream projects do not need to explicitly include them --- ports/gdal/dependency_win.cmake | 4 ++-- ports/gdal/portfile.cmake | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ports/gdal/dependency_win.cmake b/ports/gdal/dependency_win.cmake index c18bc9b2d12ff2..c5ce6c25c7fcca 100644 --- a/ports/gdal/dependency_win.cmake +++ b/ports/gdal/dependency_win.cmake @@ -16,8 +16,8 @@ macro(find_dependency_win) # Setup geos libraries + include path set(GEOS_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include" ) - set(GEOS_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/geos_c.lib" ) - set(GEOS_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/geos_cd.lib" ) + set(GEOS_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/geos_c.lib ${CURRENT_INSTALLED_DIR}/lib/geos.lib" ) + set(GEOS_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/geos_cd.lib ${CURRENT_INSTALLED_DIR}/debug/lib/geosd.lib" ) # Setup expat libraries + include path set(EXPAT_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include" ) diff --git a/ports/gdal/portfile.cmake b/ports/gdal/portfile.cmake index 2f2cae4bb8aeeb..d9885a150ef029 100644 --- a/ports/gdal/portfile.cmake +++ b/ports/gdal/portfile.cmake @@ -88,7 +88,7 @@ if (VCPKG_TARGET_IS_WINDOWS) ${NMAKE_OPTIONS} GDAL_HOME=${CURRENT_PACKAGES_DIR} CXX_CRT_FLAGS=${LINKAGE_FLAGS} - PROJ_LIBRARY=${PROJ_LIBRARY_REL} + "PROJ_LIBRARY=${PROJ_LIBRARY_REL} shell32.lib ole32.lib" PNG_LIB=${PNG_LIBRARY_REL} "GEOS_LIB=${GEOS_LIBRARY_REL}" EXPAT_LIB=${EXPAT_LIBRARY_REL} @@ -105,7 +105,7 @@ if (VCPKG_TARGET_IS_WINDOWS) ${NMAKE_OPTIONS} GDAL_HOME=${CURRENT_PACKAGES_DIR}/debug CXX_CRT_FLAGS="${LINKAGE_FLAGS}d" - PROJ_LIBRARY=${PROJ_LIBRARY_DBG} + "PROJ_LIBRARY=${PROJ_LIBRARY_DBG} shell32.lib ole32.lib" PNG_LIB=${PNG_LIBRARY_DBG} "GEOS_LIB=${GEOS_LIBRARY_DBG}" EXPAT_LIB=${EXPAT_LIBRARY_DBG} From 57c3a9f60404b0ac3870414ddb8c455d4d3274c3 Mon Sep 17 00:00:00 2001 From: Nathan <35282710+nazame@users.noreply.github.com> Date: Mon, 29 Mar 2021 23:29:25 -0600 Subject: [PATCH 02/60] Update port version --- ports/gdal/vcpkg.json | 2 +- versions/baseline.json | 4 ++-- versions/g-/gdal.json | 5 +++++ 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/ports/gdal/vcpkg.json b/ports/gdal/vcpkg.json index f04c0356296cd3..b485a220262aa1 100644 --- a/ports/gdal/vcpkg.json +++ b/ports/gdal/vcpkg.json @@ -1,7 +1,7 @@ { "name": "gdal", "version-string": "3.1.3", - "port-version": 3, + "port-version": 4, "description": "The Geographic Data Abstraction Library for reading and writing geospatial raster and vector data.", "homepage": "hhttps://gdal.org/", "dependencies": [ diff --git a/versions/baseline.json b/versions/baseline.json index 92d134e9b6dfbd..b29f05e80a7c6b 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -2138,7 +2138,7 @@ }, "gdal": { "baseline": "3.1.3", - "port-version": 3 + "port-version": 4 }, "gdcm": { "baseline": "3.0.7", @@ -2552,7 +2552,7 @@ "baseline": "9.0.0", "port-version": 0 }, - "iir1": { + "iir1": { "baseline": "1.8.0", "port-version": 0 }, diff --git a/versions/g-/gdal.json b/versions/g-/gdal.json index ec66103c005730..0d72b9ab4bd81e 100644 --- a/versions/g-/gdal.json +++ b/versions/g-/gdal.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "5d3e68869075ed189fc5b23c2ee85efc4295bd5a", + "version-string": "3.1.3", + "port-version": 4 + }, { "git-tree": "548d5f5f1ad969bf88d86c17de3ee40ebb096a2f", "version-string": "3.1.3", From 06b74954b4ab5c9a532f96f93fe8894724105a04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jack=C2=B7Boos=C2=B7Yu?= <47264268+JackBoosY@users.noreply.github.com> Date: Tue, 30 Mar 2021 14:02:01 +0800 Subject: [PATCH 03/60] Update versions/g-/gdal.json --- versions/g-/gdal.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versions/g-/gdal.json b/versions/g-/gdal.json index 0d72b9ab4bd81e..5d31d00c33366d 100644 --- a/versions/g-/gdal.json +++ b/versions/g-/gdal.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "5d3e68869075ed189fc5b23c2ee85efc4295bd5a", + "git-tree": "1195f30c63703eca670c1675a24dcabf36a5f954", "version-string": "3.1.3", "port-version": 4 }, From a434cc74ea515e6612bcb66d8f4ab69bbb8c62bf Mon Sep 17 00:00:00 2001 From: Niall Douglas Date: Tue, 30 Mar 2021 18:17:02 +0100 Subject: [PATCH 04/60] [outcome] Replace Outcome single header based port with full fat cmake install port (#15603) * Replace Outcome single header based port with full fat cmake install port. * [outcome] Improve portfile.cmake * update baseline * Refactor @JackBoosY's changes to make the dependency SHA feature chosen. * update baseline * Fix outcome features so they actually work. * update baseline * [outcome] install usage * update baseline * [outcome] Always use vcpkg copies of dependencies * DO NOT MERGE YET, ONLY FOR INSPECTION BY PR REVIEW. 1. Break out these dependencies into standalone ports: - ned14-internal-quickcpplib - status-code 2. Add port for LLFIO. 3. Add dependency smoke tests for Outcome and LLFIO as per instructions. * Fix all remaining issues, including link failure. This changeset is now ready to merge into vcpkg. * Update versions. * Have LLFIO not build static or shared libs according to VCPKG_LIBRARY_LINKAGE. * Fix last commit breaking everything :) * Update versions. * Disable uwp support for LLFIO. * versions * Fix status code on GCC 6 and 7 * Don't download ntkernel-error-category if not on Windows. * Fix status-code on UWP. * Update versions. * Fix MSVC on ARM. * Apply all the feedback from the PR review, more or less. * versions * Update to latest, disable UWP for Outcome. Co-authored-by: JackBoosY Co-authored-by: Robert Schumacher --- ports/llfio/CONTROL | 12 +++ ports/llfio/portfile.cmake | 91 +++++++++++++++++++ ports/llfio/usage-error-code-dynamic | 9 ++ ports/llfio/usage-error-code-static | 9 ++ ports/llfio/usage-status-code-dynamic | 9 ++ ports/llfio/usage-status-code-static | 9 ++ ports/ned14-internal-quickcpplib/CONTROL | 5 + .../ned14-internal-quickcpplib/portfile.cmake | 74 +++++++++++++++ .../quicklib-depheaders.patch | 29 ++++++ .../sha_manifest.cmake | 5 + ports/ned14-internal-quickcpplib/usage | 2 + ports/outcome/CONTROL | 7 +- ports/outcome/outcome-prune-sources.patch | 12 +++ ports/outcome/portfile.cmake | 76 ++++++++++++++-- ports/outcome/usage | 4 + ports/status-code/CONTROL | 4 + ports/status-code/portfile.cmake | 29 ++++++ ports/status-code/usage | 4 + scripts/test_ports/llfio-run-tests/CONTROL | 5 + .../test_ports/llfio-run-tests/portfile.cmake | 1 + scripts/test_ports/outcome-run-tests/CONTROL | 5 + .../outcome-run-tests/portfile.cmake | 1 + versions/baseline.json | 14 ++- versions/l-/llfio.json | 9 ++ versions/n-/ned14-internal-quickcpplib.json | 9 ++ versions/o-/outcome.json | 5 + versions/s-/status-code.json | 9 ++ 27 files changed, 440 insertions(+), 8 deletions(-) create mode 100644 ports/llfio/CONTROL create mode 100644 ports/llfio/portfile.cmake create mode 100644 ports/llfio/usage-error-code-dynamic create mode 100644 ports/llfio/usage-error-code-static create mode 100644 ports/llfio/usage-status-code-dynamic create mode 100644 ports/llfio/usage-status-code-static create mode 100644 ports/ned14-internal-quickcpplib/CONTROL create mode 100644 ports/ned14-internal-quickcpplib/portfile.cmake create mode 100644 ports/ned14-internal-quickcpplib/quicklib-depheaders.patch create mode 100644 ports/ned14-internal-quickcpplib/sha_manifest.cmake create mode 100644 ports/ned14-internal-quickcpplib/usage create mode 100644 ports/outcome/outcome-prune-sources.patch create mode 100644 ports/outcome/usage create mode 100644 ports/status-code/CONTROL create mode 100644 ports/status-code/portfile.cmake create mode 100644 ports/status-code/usage create mode 100644 scripts/test_ports/llfio-run-tests/CONTROL create mode 100644 scripts/test_ports/llfio-run-tests/portfile.cmake create mode 100644 scripts/test_ports/outcome-run-tests/CONTROL create mode 100644 scripts/test_ports/outcome-run-tests/portfile.cmake create mode 100644 versions/l-/llfio.json create mode 100644 versions/n-/ned14-internal-quickcpplib.json create mode 100644 versions/s-/status-code.json diff --git a/ports/llfio/CONTROL b/ports/llfio/CONTROL new file mode 100644 index 00000000000000..ef0cffc23d7be1 --- /dev/null +++ b/ports/llfio/CONTROL @@ -0,0 +1,12 @@ +Source: llfio +Version: 2.0-a74411ed +Homepage: https://github.com/ned14/llfio +Description: P1031 low level file i/o and filesystem library for the C++ standard +Build-Depends: outcome +Supports: !(uwp|static) + +Feature: status-code +Description: Have LLFIO use SG14 `status_code` (proposed `std::error`) instead of `std::error_code`. + +Feature: run-tests +Description: Build and run the dependency validation tests diff --git a/ports/llfio/portfile.cmake b/ports/llfio/portfile.cmake new file mode 100644 index 00000000000000..401f0b3f358e05 --- /dev/null +++ b/ports/llfio/portfile.cmake @@ -0,0 +1,91 @@ +message(WARNING [=[ +LLFIO depends on Outcome which depends on QuickCppLib which uses the vcpkg versions of gsl-lite and byte-lite, rather than the versions tested by QuickCppLib's, Outcome's and LLFIO's CI. It is not guaranteed to work with other versions, with failures experienced in the past up-to-and-including runtime crashes. See the warning message from QuickCppLib for how you can pin the versions of those dependencies in your manifest file to those with which QuickCppLib was tested. Do not report issues to upstream without first pinning the versions as QuickCppLib was tested against. +]=]) + + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ned14/llfio + REF a74411eddb6401ab884c5f92cccc24b9a64a9e6f + SHA512 e0f8b030ac995c24135aae89450f05ad75e5fed10caec254b327f1fc0d4c23eaeb53b7859e5e5b4731ffeace9fdfc75cd04a66025243e7f35c7dea37dc0d1b6c + HEAD_REF develop +) + +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_from_github( + OUT_SOURCE_PATH NTKEC_SOURCE_PATH + REPO ned14/ntkernel-error-category + REF bbd44623594142155d49bd3ce8820d3cf9da1e1e + SHA512 589d3bc7bca98ca8d05ce9f5cf009dd98b8884bdf3739582f2f6cbf5a324ce95007ea041450ed935baa4a401b4a0242c181fb6d2dcf7ad91587d75f05491f50e + HEAD_REF master + ) +endif() + +vcpkg_check_features( + OUT_FEATURE_OPTIONS LLFIO_FEATURE_OPTIONS + FEATURES + status-code LLFIO_USE_EXPERIMENTAL_SG14_STATUS_CODE +) + +# LLFIO needs a copy of QuickCppLib with which to bootstrap its cmake +file(COPY "${CURRENT_INSTALLED_DIR}/include/quickcpplib" + DESTINATION "${SOURCE_PATH}/quickcpplib/repo/include/" +) +file(COPY "${CURRENT_INSTALLED_DIR}/share/ned14-internal-quickcpplib/" + DESTINATION "${SOURCE_PATH}/quickcpplib/repo/" +) + +# LLFIO expects ntkernel-error-category to live inside its include directory +file(REMOVE_RECURSE "${SOURCE_PATH}/include/llfio/ntkernel-error-category") +if(VCPKG_TARGET_IS_WINDOWS) + file(RENAME "${NTKEC_SOURCE_PATH}" "${SOURCE_PATH}/include/llfio/ntkernel-error-category") +endif() + +# Already installed dependencies don't appear on the include path, which LLFIO assumes. +string(APPEND VCPKG_CXX_FLAGS " \"-I${CURRENT_INSTALLED_DIR}/include\"") +string(APPEND VCPKG_C_FLAGS " \"-I${CURRENT_INSTALLED_DIR}/include\"") + +set(extra_config) +# cmake does not correctly set CMAKE_SYSTEM_PROCESSOR when targeting ARM on Windows +if(VCPKG_TARGET_IS_WINDOWS AND (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")) + list(APPEND extra_config -DLLFIO_ASSUME_CROSS_COMPILING=On) +endif() + +vcpkg_configure_cmake( + SOURCE_PATH "${SOURCE_PATH}" + PREFER_NINJA + OPTIONS + -DPROJECT_IS_DEPENDENCY=On + -Dquickcpplib_FOUND=1 + -Doutcome_FOUND=1 + ${LLFIO_FEATURE_OPTIONS} + -DLLFIO_ENABLE_DEPENDENCY_SMOKE_TEST=ON # Leave this always on to test everything compiles + -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON + ${extra_config} +) + +# LLFIO install assumes that the static library is always built +vcpkg_build_cmake(TARGET _sl) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + vcpkg_build_cmake(TARGET _dl) +endif() + +if("run-tests" IN_LIST FEATURES) + vcpkg_build_cmake(TARGET test) +endif() + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/llfio) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() + +if("status-code" IN_LIST FEATURES) + file(INSTALL "${CURRENT_PORT_DIR}/usage-status-code-${VCPKG_LIBRARY_LINKAGE}" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +else() + file(INSTALL "${CURRENT_PORT_DIR}/usage-error-code-${VCPKG_LIBRARY_LINKAGE}" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +endif() +file(INSTALL "${SOURCE_PATH}/Licence.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/llfio/usage-error-code-dynamic b/ports/llfio/usage-error-code-dynamic new file mode 100644 index 00000000000000..ed8ab0310916af --- /dev/null +++ b/ports/llfio/usage-error-code-dynamic @@ -0,0 +1,9 @@ +The package llfio provides two CMake targets: + + find_package(llfio CONFIG REQUIRED) + +- If you want the header-only form of LLFIO: + target_link_libraries(main PUBLIC llfio::hl) + +- If you want the shared library form of LLFIO with shared NT kernel error code category: + target_link_libraries(main PUBLIC llfio::dl llfio::ntkernel-error-category::dl) diff --git a/ports/llfio/usage-error-code-static b/ports/llfio/usage-error-code-static new file mode 100644 index 00000000000000..5ddc1c5b48dc60 --- /dev/null +++ b/ports/llfio/usage-error-code-static @@ -0,0 +1,9 @@ +The package llfio provides two CMake targets: + + find_package(llfio CONFIG REQUIRED) + +- If you want the header-only form of LLFIO: + target_link_libraries(main PUBLIC llfio::hl) + +- If you want the static library form of LLFIO with static NT kernel error code category: + target_link_libraries(main PUBLIC llfio::sl llfio::ntkernel-error-category::sl) diff --git a/ports/llfio/usage-status-code-dynamic b/ports/llfio/usage-status-code-dynamic new file mode 100644 index 00000000000000..a940705d7c6b59 --- /dev/null +++ b/ports/llfio/usage-status-code-dynamic @@ -0,0 +1,9 @@ +The package llfio provides two CMake targets: + + find_package(llfio CONFIG REQUIRED) + +- If you want the header-only form of LLFIO: + target_link_libraries(main PUBLIC llfio::hl) + +- If you want the shared library form of LLFIO: + target_link_libraries(main PUBLIC llfio::dl) diff --git a/ports/llfio/usage-status-code-static b/ports/llfio/usage-status-code-static new file mode 100644 index 00000000000000..6bedd7114536ae --- /dev/null +++ b/ports/llfio/usage-status-code-static @@ -0,0 +1,9 @@ +The package llfio provides two CMake targets: + + find_package(llfio CONFIG REQUIRED) + +- If you want the header-only form of LLFIO: + target_link_libraries(main PUBLIC llfio::hl) + +- If you want the static library form of LLFIO: + target_link_libraries(main PUBLIC llfio::sl) diff --git a/ports/ned14-internal-quickcpplib/CONTROL b/ports/ned14-internal-quickcpplib/CONTROL new file mode 100644 index 00000000000000..ee47c924e0f3e8 --- /dev/null +++ b/ports/ned14-internal-quickcpplib/CONTROL @@ -0,0 +1,5 @@ +Source: ned14-internal-quickcpplib +Version: 0.0.0-24d92c71 +Homepage: https://github.com/ned14/quickcpplib +Description: NOT FOR EXTERNAL CONSUMPTION, a set of internal scripts used by ned14's libraries. +Build-Depends: byte-lite, gsl-lite diff --git a/ports/ned14-internal-quickcpplib/portfile.cmake b/ports/ned14-internal-quickcpplib/portfile.cmake new file mode 100644 index 00000000000000..57cb70c7fb6aaa --- /dev/null +++ b/ports/ned14-internal-quickcpplib/portfile.cmake @@ -0,0 +1,74 @@ +# QuickCppLib is composed of other third party libraries: +# <= quickcpplib +# <= byte-lite +# <= gsl-lite +# <= Optional +# +# byte-lite and gsl-lite are in vcpkg, but may not be versions +# known to be compatible with QuickCppLib. It has occurred in the +# past that newer versions were severely broken with QuickCppLib. + +include(${CURRENT_PORT_DIR}/sha_manifest.cmake) + +message(WARNING [=[ +QuickCppLib and its downstream dependencies Outcome and LLFIO were tested against gsl-lite version 0.37.0 and byte-lite version 0.2.0. They are not guaranteed to work with newer versions, with failures experienced in the past up-to-and-including runtime crashes. You can pin the versions as verified to work in QuickCppLib's CI in your manifest file by adding: + "overrides": [ + { "name": "gsl-lite", "version": "0.37.0" }, + { "name": "byte-lite", "version": "0.2.0" } + ] +Do not report issues to upstream without first pinning these previous versions. +]=]) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ned14/quickcpplib + REF ${QUICKCPPLIB_REF} + SHA512 ${QUICKCPPLIB_SHA512} + HEAD_REF master + PATCHES + quicklib-depheaders.patch +) + +# Quickcpplib deploys subsets of the dependency headers into a private subdirectory +file(COPY "${CURRENT_INSTALLED_DIR}/include/nonstd/byte.hpp" + DESTINATION "${SOURCE_PATH}/include/quickcpplib/byte/include/nonstd") +file(COPY "${CURRENT_INSTALLED_DIR}/include/gsl/gsl-lite.hpp" + DESTINATION "${SOURCE_PATH}/include/quickcpplib/gsl-lite/include/gsl") +file(COPY "${CURRENT_INSTALLED_DIR}/include/gsl-lite/gsl-lite.hpp" + DESTINATION "${SOURCE_PATH}/include/quickcpplib/gsl-lite/include/gsl-lite") + +vcpkg_from_github( + OUT_SOURCE_PATH OPT_SOURCE_PATH + REPO akrzemi1/Optional + REF ${OPTIONAL_REF} + SHA512 ${OPTIONAL_SHA512} + HEAD_REF master +) + +file(COPY "${OPT_SOURCE_PATH}/." DESTINATION "${SOURCE_PATH}/include/quickcpplib/optional") + +# Because quickcpplib's deployed files are header-only, the debug build it not necessary +set(VCPKG_BUILD_TYPE release) + +# Use QuickCppLib's own build process, skipping examples and tests. +vcpkg_configure_cmake( + SOURCE_PATH "${SOURCE_PATH}" + PREFER_NINJA + OPTIONS + -DPROJECT_IS_DEPENDENCY=On + -DQUICKCPPLIB_USE_VCPKG_BYTE_LITE=ON + -DQUICKCPPLIB_USE_VCPKG_GSL_LITE=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/quickcpplib) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") +file(RENAME "${CURRENT_PACKAGES_DIR}/share/cmakelib" "${CURRENT_PACKAGES_DIR}/share/ned14-internal-quickcpplib/cmakelib") +file(RENAME "${CURRENT_PACKAGES_DIR}/share/scripts" "${CURRENT_PACKAGES_DIR}/share/ned14-internal-quickcpplib/scripts") + +file(INSTALL "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(INSTALL "${SOURCE_PATH}/Licence.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/ned14-internal-quickcpplib/quicklib-depheaders.patch b/ports/ned14-internal-quickcpplib/quicklib-depheaders.patch new file mode 100644 index 00000000000000..6e7ea0a5d543f1 --- /dev/null +++ b/ports/ned14-internal-quickcpplib/quicklib-depheaders.patch @@ -0,0 +1,29 @@ +diff --git a/cmake/headers.cmake b/cmake/headers.cmake +index 1aad359..e5053ed 100644 +--- a/cmake/headers.cmake ++++ b/cmake/headers.cmake +@@ -13,8 +13,6 @@ set(quickcpplib_HEADERS + "include/quickcpplib/boost/test/unit_test.hpp" + "include/quickcpplib/byte.hpp" + "include/quickcpplib/byte/include/nonstd/byte.hpp" +- "include/quickcpplib/byte/test/byte-main.t.hpp" +- "include/quickcpplib/byte/test/lest_cpp03.hpp" + "include/quickcpplib/config.hpp" + "include/quickcpplib/console_colours.hpp" + "include/quickcpplib/cpp_feature.h" +@@ -25,15 +23,8 @@ set(quickcpplib_HEADERS + "include/quickcpplib/erasure_cast.hpp" + "include/quickcpplib/execinfo_win64.h" + "include/quickcpplib/function_ptr.hpp" +- "include/quickcpplib/gsl-lite/gsl-lite.natvis" + "include/quickcpplib/gsl-lite/include/gsl-lite/gsl-lite.hpp" +- "include/quickcpplib/gsl-lite/include/gsl.h" +- "include/quickcpplib/gsl-lite/include/gsl.hpp" +- "include/quickcpplib/gsl-lite/include/gsl/gsl-lite-vc6.hpp" +- "include/quickcpplib/gsl-lite/include/gsl/gsl-lite.h" + "include/quickcpplib/gsl-lite/include/gsl/gsl-lite.hpp" +- "include/quickcpplib/gsl-lite/test/gsl-lite.t.hpp" +- "include/quickcpplib/gsl-lite/test/lest_cpp03.hpp" + "include/quickcpplib/import.h" + "include/quickcpplib/in_place_detach_attach.hpp" + "include/quickcpplib/mem_flush_loads_stores.hpp" diff --git a/ports/ned14-internal-quickcpplib/sha_manifest.cmake b/ports/ned14-internal-quickcpplib/sha_manifest.cmake new file mode 100644 index 00000000000000..72a1188dff1566 --- /dev/null +++ b/ports/ned14-internal-quickcpplib/sha_manifest.cmake @@ -0,0 +1,5 @@ +set(QUICKCPPLIB_REF 24d92c71ef5d2200f7e42bc47e6dd59ad6d99fe3) +set(QUICKCPPLIB_SHA512 9e39237833dea8288fbc5fda4189d971dff76284e3f352c7a0762e71a4bf311f4550fefd0f8926b6d971ca1c62acc3d055af233912de0adb0c6821995b6ce7e7) + +set(OPTIONAL_REF 2b43315458a99fc5de1da6e7bc0ddd364b26d643) +set(OPTIONAL_SHA512 1952386cd3c7b963861f9634055e1baa4181d398d6f1b068a8a3f411368432bdcd42e47aadfa856584ed9a7c724a1c83369243ccb653e650af5c9155b42a84f4) diff --git a/ports/ned14-internal-quickcpplib/usage b/ports/ned14-internal-quickcpplib/usage new file mode 100644 index 00000000000000..91f1dff7e95028 --- /dev/null +++ b/ports/ned14-internal-quickcpplib/usage @@ -0,0 +1,2 @@ +You should NOT DIRECTLY USE quickcpplib in your own libraries! +It is intended for internal use by ned14's vcpkg libraries only. diff --git a/ports/outcome/CONTROL b/ports/outcome/CONTROL index 449485ed9611fc..947330ee022558 100644 --- a/ports/outcome/CONTROL +++ b/ports/outcome/CONTROL @@ -1,4 +1,9 @@ Source: outcome -Version: 2.1.3 +Version: 2.2.0-b9e664fb Homepage: https://github.com/ned14/outcome Description: Provides very lightweight outcome and result (non-Boost edition) +Build-Depends: ned14-internal-quickcpplib, status-code +Supports: !uwp + +Feature: run-tests +Description: Build and run the dependency validation tests diff --git a/ports/outcome/outcome-prune-sources.patch b/ports/outcome/outcome-prune-sources.patch new file mode 100644 index 00000000000000..59c5db01a50f2b --- /dev/null +++ b/ports/outcome/outcome-prune-sources.patch @@ -0,0 +1,12 @@ +diff --git "a/cmake/headers.cmake" "b/cmake/headers.cmake" +index 108038d16..bf4807e16 100644 +--- "a/cmake/headers.cmake" ++++ "b/cmake/headers.cmake" +@@ -47,7 +47,6 @@ set(outcome_HEADERS + "include/outcome/experimental/status-code/include/system_code_from_exception.hpp" + "include/outcome/experimental/status-code/include/system_error2.hpp" + "include/outcome/experimental/status-code/include/win32_code.hpp" +- "include/outcome/experimental/status-code/single-header/system_error2.hpp" + "include/outcome/experimental/status_outcome.hpp" + "include/outcome/experimental/status_result.hpp" + "include/outcome/iostream_support.hpp" diff --git a/ports/outcome/portfile.cmake b/ports/outcome/portfile.cmake index 0d1223fc74a3d4..77275f1d596df3 100644 --- a/ports/outcome/portfile.cmake +++ b/ports/outcome/portfile.cmake @@ -1,13 +1,77 @@ -# header-only library +# Outcome is composed of other third party libraries: +# Outcome +# <= status-code +# <= quickcpplib +# <= byte-lite +# <= gsl-lite +# <= Optional +# +# byte-lite and gsl-lite are in vcpkg, but may not be versions +# known to be compatible with Outcome. It has occurred in the +# past that newer versions were severely broken with Outcome. +# +# One can fetch an 'all sources' tarball from +# https://github.com/ned14/outcome/releases which contains +# the exact copy of those third party libraries known to +# have passed Outcome's CI process. + +message(WARNING [=[ +Outcome depends on QuickCppLib which uses the vcpkg versions of gsl-lite and byte-lite, rather than the versions tested by QuickCppLib's and Outcome's CI. It is not guaranteed to work with other versions, with failures experienced in the past up-to-and-including runtime crashes. See the warning message from QuickCppLib for how you can pin the versions of those dependencies in your manifest file to those with which QuickCppLib was tested. Do not report issues to upstream without first pinning the versions as QuickCppLib was tested against. +]=]) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ned14/outcome - REF 34f3bd55e2bcaf246cb79efe64a5600e89b91b66 #v2.1.3 - SHA512 83eba50e2095e7c768dacb3af5f82db117c3451f1d5bc2f73d716608d56f7b73006ec33d0f3842fdefd076f0e82b72ece5777868712f75e83eac93aa8adf351c + REF all_tests_passed_b9e664fbf87a4122731f7f19590abad24f1448b8 + SHA512 50666de7c6fed8260780a3bbd97eb8c8a27cf02541f15a19c316ddef30eafce155817ea8d77efee0180dbd07ad5da06a888275c324a554e25d5ce6bb80666071 HEAD_REF develop + PATCHES + outcome-prune-sources.patch +) + +# Outcome needs a copy of QuickCppLib with which to bootstrap its cmake +file(COPY "${CURRENT_INSTALLED_DIR}/include/quickcpplib" + DESTINATION "${SOURCE_PATH}/quickcpplib/repo/include/" +) +file(COPY "${CURRENT_INSTALLED_DIR}/share/ned14-internal-quickcpplib/" + DESTINATION "${SOURCE_PATH}/quickcpplib/repo/" +) + +# Outcome expects status-code to live inside its include directory +file(COPY "${CURRENT_INSTALLED_DIR}/include/status-code/" + DESTINATION "${SOURCE_PATH}/include/outcome/experimental/status-code/include/" +) +file(COPY "${CURRENT_INSTALLED_DIR}/include/status-code/detail/" + DESTINATION "${SOURCE_PATH}/include/outcome/experimental/status-code/include/detail/" ) -file(GLOB_RECURSE OUTCOME_HEADERS "${SOURCE_PATH}/single-header/*.hpp") -file(INSTALL ${OUTCOME_HEADERS} DESTINATION ${CURRENT_PACKAGES_DIR}/include) +# Because outcome's deployed files are header-only, the debug build is not necessary +set(VCPKG_BUILD_TYPE release) + +# Already installed dependencies don't appear on the include path, which Outcome assumes. +string(APPEND VCPKG_CXX_FLAGS " \"-I${CURRENT_INSTALLED_DIR}/include\"") +string(APPEND VCPKG_C_FLAGS " \"-I${CURRENT_INSTALLED_DIR}/include\"") + +# Use Outcome's own build process, skipping examples and tests. +vcpkg_configure_cmake( + SOURCE_PATH "${SOURCE_PATH}" + PREFER_NINJA + OPTIONS + -DPROJECT_IS_DEPENDENCY=On + -Dquickcpplib_FOUND=1 + -DOUTCOME_ENABLE_DEPENDENCY_SMOKE_TEST=ON # Leave this always on to test everything compiles + -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON +) + +if("run-tests" IN_LIST FEATURES) + vcpkg_build_cmake(TARGET test) +endif() + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/outcome) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") -file(INSTALL ${SOURCE_PATH}/Licence.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(INSTALL "${SOURCE_PATH}/Licence.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/outcome/usage b/ports/outcome/usage new file mode 100644 index 00000000000000..6bf00403606032 --- /dev/null +++ b/ports/outcome/usage @@ -0,0 +1,4 @@ +The package outcome provides CMake targets: + + find_package(outcome CONFIG REQUIRED) + target_link_libraries(main PUBLIC outcome::hl) diff --git a/ports/status-code/CONTROL b/ports/status-code/CONTROL new file mode 100644 index 00000000000000..ac86283bd5771f --- /dev/null +++ b/ports/status-code/CONTROL @@ -0,0 +1,4 @@ +Source: status-code +Version: 1.0.0-ab3cd821 +Homepage: https://github.com/ned14/status-code +Description: Proposed SG14 status_code for the C++ standard (https://wg21.link/P1028). diff --git a/ports/status-code/portfile.cmake b/ports/status-code/portfile.cmake new file mode 100644 index 00000000000000..f369a3ba05a17d --- /dev/null +++ b/ports/status-code/portfile.cmake @@ -0,0 +1,29 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ned14/status-code + REF ab3cd8217b6a89b91708a497f77f119c096fcce3 + SHA512 266c79875fd6edb4a239768da29401193d5b710fe3d06208df010c5ca56bf80fa4558f572c738ab9290ee378437c882d072e93e8fb10fb1e3787b460f40a7102 + HEAD_REF master +) + +# Because status-code's deployed files are header-only, the debug build is not necessary +set(VCPKG_BUILD_TYPE release) + +vcpkg_configure_cmake( + SOURCE_PATH "${SOURCE_PATH}" + PREFER_NINJA + OPTIONS + -DPROJECT_IS_DEPENDENCY=On +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/status-code) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") +file(RENAME "${CURRENT_PACKAGES_DIR}/include" "${CURRENT_PACKAGES_DIR}/include2") +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/include") +file(RENAME "${CURRENT_PACKAGES_DIR}/include2" "${CURRENT_PACKAGES_DIR}/include/status-code") + +file(INSTALL "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(INSTALL "${SOURCE_PATH}/Licence.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/status-code/usage b/ports/status-code/usage new file mode 100644 index 00000000000000..52d8cd77c88b66 --- /dev/null +++ b/ports/status-code/usage @@ -0,0 +1,4 @@ +The package status-code provides CMake targets: + + find_package(status-code CONFIG REQUIRED) + target_link_libraries(main PUBLIC status-code::hl) diff --git a/scripts/test_ports/llfio-run-tests/CONTROL b/scripts/test_ports/llfio-run-tests/CONTROL new file mode 100644 index 00000000000000..eeac83f9155fec --- /dev/null +++ b/scripts/test_ports/llfio-run-tests/CONTROL @@ -0,0 +1,5 @@ +Source: llfio-run-tests +Version: 0 +Description: Ensures that LLFIO built with vcpkg version of dependencies produces working executables. +Build-Depends: llfio[run-tests], llfio[status-code,run-tests] +Supports: x64 diff --git a/scripts/test_ports/llfio-run-tests/portfile.cmake b/scripts/test_ports/llfio-run-tests/portfile.cmake new file mode 100644 index 00000000000000..065116c276adcf --- /dev/null +++ b/scripts/test_ports/llfio-run-tests/portfile.cmake @@ -0,0 +1 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) diff --git a/scripts/test_ports/outcome-run-tests/CONTROL b/scripts/test_ports/outcome-run-tests/CONTROL new file mode 100644 index 00000000000000..bc289efab9465b --- /dev/null +++ b/scripts/test_ports/outcome-run-tests/CONTROL @@ -0,0 +1,5 @@ +Source: outcome-run-tests +Version: 0 +Description: Ensures that outcome built with vcpkg version of dependencies produces working executables. +Build-Depends: outcome[run-tests] +Supports: x64 diff --git a/scripts/test_ports/outcome-run-tests/portfile.cmake b/scripts/test_ports/outcome-run-tests/portfile.cmake new file mode 100644 index 00000000000000..065116c276adcf --- /dev/null +++ b/scripts/test_ports/outcome-run-tests/portfile.cmake @@ -0,0 +1 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) diff --git a/versions/baseline.json b/versions/baseline.json index 92d134e9b6dfbd..c984e3c4db8ee2 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3664,6 +3664,10 @@ "baseline": "latest-1", "port-version": 0 }, + "llfio": { + "baseline": "2.0-a74411ed", + "port-version": 0 + }, "llgl": { "baseline": "2019-08-15", "port-version": 1 @@ -4140,6 +4144,10 @@ "baseline": "0.2.2", "port-version": 0 }, + "ned14-internal-quickcpplib": { + "baseline": "0.0.0-24d92c71", + "port-version": 0 + }, "netcdf-c": { "baseline": "4.7.4", "port-version": 2 @@ -4537,7 +4545,7 @@ "port-version": 1 }, "outcome": { - "baseline": "2.1.3", + "baseline": "2.2.0-b9e664fb", "port-version": 0 }, "p-ranav-csv": { @@ -5716,6 +5724,10 @@ "baseline": "0.6.4", "port-version": 0 }, + "status-code": { + "baseline": "1.0.0-ab3cd821", + "port-version": 0 + }, "status-value-lite": { "baseline": "1.1.0", "port-version": 0 diff --git a/versions/l-/llfio.json b/versions/l-/llfio.json new file mode 100644 index 00000000000000..be8d6699e92ae9 --- /dev/null +++ b/versions/l-/llfio.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "debab55b24a36f3615bd29f0fe3088032bd61e53", + "version-string": "2.0-a74411ed", + "port-version": 0 + } + ] +} diff --git a/versions/n-/ned14-internal-quickcpplib.json b/versions/n-/ned14-internal-quickcpplib.json new file mode 100644 index 00000000000000..8ef6d4aceb08ab --- /dev/null +++ b/versions/n-/ned14-internal-quickcpplib.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "d71cb92f85e0f089d1d2f4161be4f08be9de26d1", + "version-string": "0.0.0-24d92c71", + "port-version": 0 + } + ] +} diff --git a/versions/o-/outcome.json b/versions/o-/outcome.json index 3e807b020a36bb..dcdf04c4f4d171 100644 --- a/versions/o-/outcome.json +++ b/versions/o-/outcome.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "77cd889f0b2157b6ae77982c30c8e17355d95245", + "version-string": "2.2.0-b9e664fb", + "port-version": 0 + }, { "git-tree": "33dc2e0d31074248a2313ff2eeecad075206d9bb", "version-string": "2.1.3", diff --git a/versions/s-/status-code.json b/versions/s-/status-code.json new file mode 100644 index 00000000000000..9273d78c39a5d6 --- /dev/null +++ b/versions/s-/status-code.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "a140621d67b58b39b6f3ab49cc0c4f1456e5a29f", + "version-string": "1.0.0-ab3cd821", + "port-version": 0 + } + ] +} From ed54efbb16ae8a457296c7a7e1462a9f54571e94 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Tue, 30 Mar 2021 19:56:00 +0200 Subject: [PATCH 05/60] [qt5-webengine] Fix issues (#16770) * [qt5-webengine] - add feature "proprietary-codecs" - fix build error due to internal changes how options are passed. - try to fail early on too long build paths instead of late * comment the ci baseline for x64-windows to actually test it in ci and only build one configuration to not overstress the ci system * be less strict about the buildtree path length * adjust qt5-webengine ci back * update baseline * change length error message according to CR. Co-authored-by: Robert Schumacher * fix version Co-authored-by: Robert Schumacher --- ports/qt5-webengine/CONTROL | 6 +++++- ports/qt5-webengine/portfile.cmake | 17 +++++++++++++---- versions/baseline.json | 2 +- versions/q-/qt5-webengine.json | 5 +++++ 4 files changed, 24 insertions(+), 6 deletions(-) diff --git a/ports/qt5-webengine/CONTROL b/ports/qt5-webengine/CONTROL index 929a7ad64d489d..a34cdc1ecd25ac 100644 --- a/ports/qt5-webengine/CONTROL +++ b/ports/qt5-webengine/CONTROL @@ -1,6 +1,10 @@ Source: qt5-webengine Version: 5.15.2 -Port-Version: 1 +Port-Version: 2 Description: Qt5 webengine Module; Build-Depends: qt5-base[core], qt5-declarative, qt5-location, qt5-quickcontrols, qt5-quickcontrols2, qt5-tools, qt5-webchannel, atlmfc (windows), ffmpeg[core] (!windows) Supports: !static +Default-Features: + +Feature: proprietary-codecs +Description: Enable proprietary-codecs in qtwebengine \ No newline at end of file diff --git a/ports/qt5-webengine/portfile.cmake b/ports/qt5-webengine/portfile.cmake index 797d5fedb46793..60020c83f8a139 100644 --- a/ports/qt5-webengine/portfile.cmake +++ b/ports/qt5-webengine/portfile.cmake @@ -1,7 +1,12 @@ vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) +string(LENGTH "${CURRENT_BUILDTREES_DIR}" buildtrees_path_length) +if(buildtrees_path_length GREATER 35 AND CMAKE_HOST_WIN32) + vcpkg_buildpath_length_warning(35) + message(FATAL_ERROR "terminating due to source length.") +endif() #set(VCPKG_BUILD_TYPE release) #You probably want to set this to reduce build type and space requirements -message(STATUS "${PORT} requires a lot of free disk space (>300GB), ram (>32 GB) and time (>4h per configuration) to be successfully build.\n\ --- As such ${PORT} is not properly tested.\n\ +message(STATUS "${PORT} requires a lot of free disk space (>100GB), ram (>8 GB) and time (>2h per configuration) to be successfully build.\n\ +-- As such ${PORT} is currently experimental.\n\ -- If ${PORT} fails post build validation please open up an issue. \n\ -- If it fails due to post validation the successfully installed files can be found in ${CURRENT_PACKAGES_DIR} \n\ -- and just need to be copied into ${CURRENT_INSTALLED_DIR}") @@ -42,8 +47,12 @@ set(PATCHES common.pri.patch build_2.patch build_3.patch) +set(OPTIONS) +if("proprietary-codecs" IN_LIST FEATURES) + list(APPEND OPTIONS "-webengine-proprietary-codecs") +endif() if(NOT VCPKG_TARGET_IS_WINDOWS) - list(APPEND CORE_OPTIONS "BUILD_OPTIONS" "-webengine-system-libwebp" "-webengine-system-ffmpeg" "-webengine-system-icu") + list(APPEND OPTIONS "-webengine-system-libwebp" "-webengine-system-ffmpeg" "-webengine-system-icu") endif() -qt_submodule_installation(${CORE_OPTIONS} PATCHES ${PATCHES}) +qt_submodule_installation(PATCHES ${PATCHES} BUILD_OPTIONS ${OPTIONS}) diff --git a/versions/baseline.json b/versions/baseline.json index c984e3c4db8ee2..bbe16fdf84951b 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -5058,7 +5058,7 @@ }, "qt5-webengine": { "baseline": "5.15.2", - "port-version": 1 + "port-version": 2 }, "qt5-webglplugin": { "baseline": "5.15.2", diff --git a/versions/q-/qt5-webengine.json b/versions/q-/qt5-webengine.json index 08757c6e6ac42c..d3382ca0721799 100644 --- a/versions/q-/qt5-webengine.json +++ b/versions/q-/qt5-webengine.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "3a220ca2fe835251196c717e4f1df91516430d8b", + "version-string": "5.15.2", + "port-version": 2 + }, { "git-tree": "8f8f6defb09c499cfe581195f03e88951431d73c", "version-string": "5.15.2", From db1df24767ae50fdcd8229bc4ae37c672e2b3e53 Mon Sep 17 00:00:00 2001 From: genevanmeter <47541158+genevanmeter@users.noreply.github.com> Date: Wed, 31 Mar 2021 13:20:17 -0400 Subject: [PATCH 06/60] [ffmpeg] Fix FindFFMPEG lib versions for building opencv[ffmpeg] (#16882) * Fix FindFFMPEG lib versions for opencv[ffmpeg] libavutil, libavdevice, etc. define their versions separate from FFMPEG main version in a version.h file located with each component headers. This change fixes building opencv[ffmpeg] when it attempts to discover the individual versions of FFMPEG libs. Before this change opencv[ffmpeg] would build but the FFMPEG functionality was disabled since all the lib versions were set to 4.3.1 * Modified Port-Version of CONTROL to 13 Ran vcpkg.exe x-add-version ffmpeg * Ran vcpkg.exe x-add-version ffmpeg --overwrite-version per Cheney-W's instructions * Updated Port-Version of CONTROL to 1 for FFMPEG version 4.3.2 * Ran vcpkg x-add-version ffmpeg --- ports/ffmpeg/CONTROL | 2 +- ports/ffmpeg/FindFFMPEG.cmake.in | 18 +++++++++--------- versions/baseline.json | 4 ++-- versions/f-/ffmpeg.json | 5 +++++ 4 files changed, 17 insertions(+), 12 deletions(-) diff --git a/ports/ffmpeg/CONTROL b/ports/ffmpeg/CONTROL index 9fb3e5b5fd0788..9d7162faf05489 100644 --- a/ports/ffmpeg/CONTROL +++ b/ports/ffmpeg/CONTROL @@ -1,6 +1,6 @@ Source: ffmpeg Version: 4.3.2 -Port-Version: 0 +Port-Version: 1 Homepage: https://ffmpeg.org Description: a library to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. It supports the most obscure ancient formats up to the cutting edge. No matter if they were designed by some standards committee, the community or a corporation. It is also highly portable: FFmpeg compiles, runs, and passes our testing infrastructure FATE across Linux, Mac OS X, Microsoft Windows, the BSDs, Solaris, etc. under a wide variety of build environments, machine architectures, and configurations. diff --git a/ports/ffmpeg/FindFFMPEG.cmake.in b/ports/ffmpeg/FindFFMPEG.cmake.in index c06b355d3d8a90..afad38cb068576 100644 --- a/ports/ffmpeg/FindFFMPEG.cmake.in +++ b/ports/ffmpeg/FindFFMPEG.cmake.in @@ -72,7 +72,7 @@ function(find_platform_dependent_libraries) set(FFMPEG_PLATFORM_DEPENDENT_LIBS ${FFMPEG_PLATFORM_DEPENDENT_LIBS} PARENT_SCOPE) endfunction() -set(FFMPEG_VERSION "4.3.1") +set(FFMPEG_VERSION "4.3.2") find_dependency(Threads) if(UNIX) @@ -287,28 +287,28 @@ FFMPEG_FIND(libavutil avutil avutil.h) if (FFMPEG_libavutil_FOUND) list(REMOVE_DUPLICATES FFMPEG_INCLUDE_DIRS) list(REMOVE_DUPLICATES FFMPEG_LIBRARY_DIRS) - set(FFMPEG_libavutil_VERSION "${FFMPEG_VERSION}" CACHE STRING "") + set(FFMPEG_libavutil_VERSION "56.51.100" CACHE STRING "") if(FFMPEG_libavcodec_FOUND) - set(FFMPEG_libavcodec_VERSION "${FFMPEG_VERSION}" CACHE STRING "") + set(FFMPEG_libavcodec_VERSION "58.91.100" CACHE STRING "") endif() if(FFMPEG_libavdevice_FOUND) - set(FFMPEG_libavdevice_VERSION "${FFMPEG_VERSION}" CACHE STRING "") + set(FFMPEG_libavdevice_VERSION "58.10.100" CACHE STRING "") endif() if(FFMPEG_libavfilter_FOUND) - set(FFMPEG_libavfilter_VERSION "${FFMPEG_VERSION}" CACHE STRING "") + set(FFMPEG_libavfilter_VERSION "7.85.100" CACHE STRING "") endif() if(FFMPEG_libavformat_FOUND) - set(FFMPEG_libavformat_VERSION "${FFMPEG_VERSION}" CACHE STRING "") + set(FFMPEG_libavformat_VERSION "58.45.100" CACHE STRING "") endif() if(FFMPEG_libavresample_FOUND) - set(FFMPEG_libavresample_VERSION "${FFMPEG_VERSION}" CACHE STRING "") + set(FFMPEG_libavresample_VERSION "4.0.0" CACHE STRING "") endif() if(FFMPEG_libswresample_FOUND) - set(FFMPEG_libswresample_VERSION "${FFMPEG_VERSION}" CACHE STRING "") + set(FFMPEG_libswresample_VERSION "3.7.100" CACHE STRING "") endif() if(FFMPEG_libswscale_FOUND) - set(FFMPEG_libswscale_VERSION "${FFMPEG_VERSION}" CACHE STRING "") + set(FFMPEG_libswscale_VERSION "5.7.100" CACHE STRING "") endif() list(APPEND FFMPEG_LIBRARIES diff --git a/versions/baseline.json b/versions/baseline.json index bbe16fdf84951b..d37be89bb7606b 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -1934,7 +1934,7 @@ }, "ffmpeg": { "baseline": "4.3.2", - "port-version": 0 + "port-version": 1 }, "ffnvcodec": { "baseline": "10.0.26.0", @@ -2552,7 +2552,7 @@ "baseline": "9.0.0", "port-version": 0 }, - "iir1": { + "iir1": { "baseline": "1.8.0", "port-version": 0 }, diff --git a/versions/f-/ffmpeg.json b/versions/f-/ffmpeg.json index 5fbf8e4dda0d76..42b7421a3786d5 100644 --- a/versions/f-/ffmpeg.json +++ b/versions/f-/ffmpeg.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "8d581e93ca7ee374d63bae07dff49356c79dee8c", + "version-string": "4.3.2", + "port-version": 1 + }, { "git-tree": "fd3c02af90662935ece6ca6ced78f23319b753c9", "version-string": "4.3.2", From 8646c6587b69b9294337c2034671b03da3d47291 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Wed, 31 Mar 2021 20:54:44 +0200 Subject: [PATCH 07/60] [vcpkg/meson] fix some details (#15756) * [vcpkg_install_meson] add bin to path to run code generators * [vcpkg_configure_meson] deactivate native compiler in cross builds make x86 on x86_x64 a native instead of a cross build (as long as we are not building for UWP) * remove double spaces in _FLAGS remove unnecessary comments * change regex to take double - into account. * add missing removal of multiple spaces back into the regex * remove ws diff change * remove ws to reduce diff * Change macro to function Co-authored-by: Robert Schumacher * UWP is cross target. Co-authored-by: Robert Schumacher --- docs/maintainers/vcpkg_install_meson.md | 6 +- scripts/buildsystems/meson/none.txt | 19 +++ scripts/cmake/vcpkg_configure_meson.cmake | 149 +++++++++------------- scripts/cmake/vcpkg_install_meson.cmake | 45 +++++-- 4 files changed, 116 insertions(+), 103 deletions(-) create mode 100644 scripts/buildsystems/meson/none.txt diff --git a/docs/maintainers/vcpkg_install_meson.md b/docs/maintainers/vcpkg_install_meson.md index 6d52dd11b9af57..dcda9fb32a8e8a 100644 --- a/docs/maintainers/vcpkg_install_meson.md +++ b/docs/maintainers/vcpkg_install_meson.md @@ -6,9 +6,13 @@ Builds a meson project previously configured with `vcpkg_configure_meson()`. ## Usage ```cmake -vcpkg_install_meson() +vcpkg_install_meson([ADD_BIN_TO_PATH]) ``` +## Parameters: +### ADD_BIN_TO_PATH +Adds the appropriate Release and Debug `bin\` directories to the path during the build such that executables can run against the in-tree DLLs. + ## Examples * [fribidi](https://github.com/Microsoft/vcpkg/blob/master/ports/fribidi/portfile.cmake) diff --git a/scripts/buildsystems/meson/none.txt b/scripts/buildsystems/meson/none.txt new file mode 100644 index 00000000000000..6dafc80904f97d --- /dev/null +++ b/scripts/buildsystems/meson/none.txt @@ -0,0 +1,19 @@ +# native file used to make the build machine compiler unusable + +[host_machine] +system = 'none' +cpu_family = 'none' +cpu = 'none' +endian = 'little' + +[properties] + +[binaries] +c = ['false'] +cpp = ['false'] +objc = ['false'] +objcpp = ['false'] +ar = ['false'] +pkgconfig = ['false'] +cmake = ['false'] +ninja = ['false'] \ No newline at end of file diff --git a/scripts/cmake/vcpkg_configure_meson.cmake b/scripts/cmake/vcpkg_configure_meson.cmake index 0616d68ac9a4b4..6dc80ef2fa96c9 100644 --- a/scripts/cmake/vcpkg_configure_meson.cmake +++ b/scripts/cmake/vcpkg_configure_meson.cmake @@ -69,7 +69,10 @@ function(vcpkg_internal_meson_generate_native_file _additional_binaries) #https: string(APPEND NATIVE "[built-in options]\n") #https://mesonbuild.com/Builtin-options.html if(VCPKG_DETECTED_CMAKE_C_COMPILER MATCHES "cl.exe") - string(APPEND NATIVE "cpp_eh='none'\n") # To make sure meson is not adding eh flags by itself using msvc + # This is currently wrongly documented in the meson docs or buggy. The docs say: 'none' = no flags + # In reality however 'none' tries to deactivate eh and meson passes the flags for it resulting in a lot of warnings + # about overriden flags. Until this is fixed in meson vcpkg should not pass this here. + # string(APPEND NATIVE "cpp_eh='none'\n") # To make sure meson is not adding eh flags by itself using msvc endif() if(VCPKG_TARGET_IS_WINDOWS) string(REGEX REPLACE "( |^)(-|/)" ";\\2" WIN_C_STANDARD_LIBRARIES "${VCPKG_DETECTED_CMAKE_C_STANDARD_LIBRARIES}") @@ -92,51 +95,56 @@ function(vcpkg_internal_meson_generate_native_file _additional_binaries) #https: endfunction() function(vcpkg_internal_meson_convert_compiler_flags_to_list _out_var _compiler_flags) - string(REGEX REPLACE [=[( +|^)((\"(\\\"|[^"])+\"|\\\"|\\ |[^ ])+)]=] ";\\2" ${_out_var} "${_compiler_flags}") + string(REPLACE ";" "\\\;" tmp_var "${_compiler_flags}") + string(REGEX REPLACE [=[( +|^)((\"(\\\"|[^"])+\"|\\\"|\\ |[^ ])+)]=] ";\\2" ${_out_var} "${tmp_var}") + list(POP_FRONT ${_out_var}) # The first element is always empty due to the above replacement + list(TRANSFORM ${_out_var} STRIP) # Strip leading trailing whitespaces from each element in the list. set(${_out_var} "${${_out_var}}" PARENT_SCOPE) endfunction() -function(vcpkg_internal_meson_generate_native_file_config _config) #https://mesonbuild.com/Native-environments.html +function(vcpkg_internal_meson_convert_list_to_python_array _out_var) + set(FLAG_LIST ${ARGN}) + list(TRANSFORM FLAG_LIST APPEND "'") + list(TRANSFORM FLAG_LIST PREPEND "'") + list(JOIN FLAG_LIST ", " ${_out_var}) + string(REPLACE "'', " "" ${_out_var} "${${_out_var}}") # remove empty elements if any + set(${_out_var} "[${${_out_var}}]" PARENT_SCOPE) +endfunction() + +# Generates the required compiler properties for meson +function(vcpkg_internal_meson_generate_flags_properties_string _out_var _config) if(VCPKG_TARGET_IS_WINDOWS) set(L_FLAG /LIBPATH:) else() set(L_FLAG -L) endif() set(PATH_SUFFIX_DEBUG /debug) - set(LIBPATH_${_config} "'${L_FLAG}${CURRENT_INSTALLED_DIR}${PATH_SUFFIX_${_config}}/lib'") - - set(NATIVE_${_config} "[properties]\n") #https://mesonbuild.com/Builtin-options.html + set(LIBPATH_${_config} "${L_FLAG}${CURRENT_INSTALLED_DIR}${PATH_SUFFIX_${_config}}/lib") vcpkg_internal_meson_convert_compiler_flags_to_list(MESON_CFLAGS_${_config} "${VCPKG_DETECTED_CMAKE_C_FLAGS_${_config}}") - list(TRANSFORM MESON_CFLAGS_${_config} APPEND "'") - list(TRANSFORM MESON_CFLAGS_${_config} PREPEND "'") - #list(APPEND MESON_CFLAGS_${_config} "${LIBPATH_${_config}}") - list(APPEND MESON_CFLAGS_${_config} "'-I${CURRENT_INSTALLED_DIR}/include'") - list(JOIN MESON_CFLAGS_${_config} ", " MESON_CFLAGS_${_config}) - string(REPLACE "'', " "" MESON_CFLAGS_${_config} "${MESON_CFLAGS_${_config}}") - string(APPEND NATIVE_${_config} "c_args = [${MESON_CFLAGS_${_config}}]\n") + list(APPEND MESON_CFLAGS_${_config} "-I\"${CURRENT_INSTALLED_DIR}/include\"") + vcpkg_internal_meson_convert_list_to_python_array(MESON_CFLAGS_${_config} ${MESON_CFLAGS_${_config}}) + string(APPEND ${_out_var} "c_args = ${MESON_CFLAGS_${_config}}\n") vcpkg_internal_meson_convert_compiler_flags_to_list(MESON_CXXFLAGS_${_config} "${VCPKG_DETECTED_CMAKE_CXX_FLAGS_${_config}}") - list(TRANSFORM MESON_CXXFLAGS_${_config} APPEND "'") - list(TRANSFORM MESON_CXXFLAGS_${_config} PREPEND "'") - #list(APPEND MESON_CXXFLAGS_${_config} "${LIBPATH_${_config}}") - list(APPEND MESON_CXXFLAGS_${_config} "'-I${CURRENT_INSTALLED_DIR}/include'") - list(JOIN MESON_CXXFLAGS_${_config} ", " MESON_CXXFLAGS_${_config}) - string(REPLACE "'', " "" MESON_CXXFLAGS_${_config} "${MESON_CXXFLAGS_${_config}}") - string(APPEND NATIVE_${_config} "cpp_args = [${MESON_CXXFLAGS_${_config}}]\n") - + list(APPEND MESON_CXXFLAGS_${_config} "-I\"${CURRENT_INSTALLED_DIR}/include\"") + vcpkg_internal_meson_convert_list_to_python_array(MESON_CXXFLAGS_${_config} ${MESON_CXXFLAGS_${_config}}) + string(APPEND ${_out_var} "cpp_args = ${MESON_CXXFLAGS_${_config}}\n") if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") set(LINKER_FLAGS_${_config} "${VCPKG_DETECTED_CMAKE_SHARED_LINKER_FLAGS_${_config}}") else() set(LINKER_FLAGS_${_config} "${VCPKG_DETECTED_CMAKE_STATIC_LINKER_FLAGS_${_config}}") endif() vcpkg_internal_meson_convert_compiler_flags_to_list(LINKER_FLAGS_${_config} "${LINKER_FLAGS_${_config}}") - list(TRANSFORM LINKER_FLAGS_${_config} APPEND "'") - list(TRANSFORM LINKER_FLAGS_${_config} PREPEND "'") list(APPEND LINKER_FLAGS_${_config} "${LIBPATH_${_config}}") - list(JOIN LINKER_FLAGS_${_config} ", " LINKER_FLAGS_${_config}) - string(REPLACE "'', " "" LINKER_FLAGS_${_config} "${LINKER_FLAGS_${_config}}") - string(APPEND NATIVE_${_config} "c_link_args = [${LINKER_FLAGS_${_config}}]\n") - string(APPEND NATIVE_${_config} "cpp_link_args = [${LINKER_FLAGS_${_config}}]\n") + vcpkg_internal_meson_convert_list_to_python_array(LINKER_FLAGS_${_config} ${LINKER_FLAGS_${_config}}) + string(APPEND ${_out_var} "c_link_args = ${LINKER_FLAGS_${_config}}\n") + string(APPEND ${_out_var} "cpp_link_args = ${LINKER_FLAGS_${_config}}\n") + set(${_out_var} "${${_out_var}}" PARENT_SCOPE) +endfunction() +function(vcpkg_internal_meson_generate_native_file_config _config) #https://mesonbuild.com/Native-environments.html + set(NATIVE_${_config} "[properties]\n") #https://mesonbuild.com/Builtin-options.html + vcpkg_internal_meson_generate_flags_properties_string(NATIVE_PROPERTIES ${_config}) + string(APPEND NATIVE_${_config} "${NATIVE_PROPERTIES}") #Setup CMake properties string(APPEND NATIVE_${_config} "cmake_toolchain_file = '${SCRIPTS}/buildsystems/vcpkg.cmake'\n") string(APPEND NATIVE_${_config} "[cmake]\n") @@ -254,7 +262,7 @@ function(vcpkg_internal_meson_generate_cross_file _additional_binaries) #https:/ endforeach() string(APPEND CROSS "[properties]\n") - string(APPEND CROSS "skip_sanity_check = true\n") + string(APPEND CROSS "[host_machine]\n") string(APPEND CROSS "endian = 'little'\n") if(NOT VCPKG_CMAKE_SYSTEM_NAME) @@ -278,7 +286,7 @@ function(vcpkg_internal_meson_generate_cross_file _additional_binaries) #https:/ string(APPEND CROSS "cpu_family = '${BUILD_CPU_FAM}'\n") string(APPEND CROSS "cpu = '${BUILD_CPU}'\n") - if(NOT BUILD_CPU_FAM STREQUAL HOST_CPU_FAM OR VCPKG_TARGET_IS_ANDROID OR VCPKG_TARGET_IS_IOS) + if(NOT BUILD_CPU_FAM MATCHES "${HOST_CPU_FAM}" OR VCPKG_TARGET_IS_ANDROID OR VCPKG_TARGET_IS_IOS OR VCPKG_TARGET_IS_UWP) set(_file "${CURRENT_BUILDTREES_DIR}/meson-cross-${TARGET_TRIPLET}.log") set(VCPKG_MESON_CROSS_FILE "${_file}" PARENT_SCOPE) file(WRITE "${_file}" "${CROSS}") @@ -286,46 +294,10 @@ function(vcpkg_internal_meson_generate_cross_file _additional_binaries) #https:/ endfunction() function(vcpkg_internal_meson_generate_cross_file_config _config) #https://mesonbuild.com/Native-environments.html - if(VCPKG_TARGET_IS_WINDOWS) - set(L_FLAG /LIBPATH:) - else() - set(L_FLAG -L) - endif() - set(PATH_SUFFIX_DEBUG /debug) - set(LIBPATH_${_config} "'${L_FLAG}${CURRENT_INSTALLED_DIR}${PATH_SUFFIX_${_config}}/lib'") - - - set(NATIVE_${_config} "[properties]\n") #https://mesonbuild.com/Builtin-options.html - vcpkg_internal_meson_convert_compiler_flags_to_list(MESON_CFLAGS_${_config} "${VCPKG_DETECTED_CMAKE_C_FLAGS_${_config}}") - list(TRANSFORM MESON_CFLAGS_${_config} APPEND "'") - list(TRANSFORM MESON_CFLAGS_${_config} PREPEND "'") - list(APPEND MESON_CFLAGS_${_config} "'-I\"${CURRENT_INSTALLED_DIR}/include\"'") - list(JOIN MESON_CFLAGS_${_config} ", " MESON_CFLAGS_${_config}) - string(REPLACE "'', " "" MESON_CFLAGS_${_config} "${MESON_CFLAGS_${_config}}") - string(APPEND NATIVE_${_config} "c_args = [${MESON_CFLAGS_${_config}}]\n") - vcpkg_internal_meson_convert_compiler_flags_to_list(MESON_CXXFLAGS_${_config} "${VCPKG_DETECTED_CMAKE_CXX_FLAGS_${_config}}") - list(TRANSFORM MESON_CXXFLAGS_${_config} APPEND "'") - list(TRANSFORM MESON_CXXFLAGS_${_config} PREPEND "'") - list(APPEND MESON_CXXFLAGS_${_config} "'-I\"${CURRENT_INSTALLED_DIR}/include\"'") - list(JOIN MESON_CXXFLAGS_${_config} ", " MESON_CXXFLAGS_${_config}) - string(REPLACE "'', " "" MESON_CXXFLAGS_${_config} "${MESON_CXXFLAGS_${_config}}") - string(APPEND NATIVE_${_config} "cpp_args = [${MESON_CXXFLAGS_${_config}}]\n") - - if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(LINKER_FLAGS_${_config} "${VCPKG_DETECTED_CMAKE_SHARED_LINKER_FLAGS_${_config}}") - else() - set(LINKER_FLAGS_${_config} "${VCPKG_DETECTED_CMAKE_STATIC_LINKER_FLAGS_${_config}}") - endif() - vcpkg_internal_meson_convert_compiler_flags_to_list(LINKER_FLAGS_${_config} "${LINKER_FLAGS_${_config}}") - list(TRANSFORM LINKER_FLAGS_${_config} APPEND "'") - list(TRANSFORM LINKER_FLAGS_${_config} PREPEND "'") - list(APPEND LINKER_FLAGS_${_config} "${LIBPATH_${_config}}") - list(JOIN LINKER_FLAGS_${_config} ", " LINKER_FLAGS_${_config}) - string(REPLACE "'', " "" LINKER_FLAGS_${_config} "${LINKER_FLAGS_${_config}}") - string(APPEND NATIVE_${_config} "c_link_args = [${LINKER_FLAGS_${_config}}]\n") - string(APPEND NATIVE_${_config} "cpp_link_args = [${LINKER_FLAGS_${_config}}]\n") - - string(APPEND NATIVE_${_config} "[built-in options]\n") + set(CROSS_${_config} "[properties]\n") #https://mesonbuild.com/Builtin-options.html + vcpkg_internal_meson_generate_flags_properties_string(CROSS_PROPERTIES ${_config}) + string(APPEND CROSS_${_config} "${CROSS_PROPERTIES}") + string(APPEND CROSS_${_config} "[built-in options]\n") if(VCPKG_TARGET_IS_WINDOWS) if(VCPKG_CRT_LINKAGE STREQUAL "static") set(CRT mt) @@ -335,13 +307,12 @@ function(vcpkg_internal_meson_generate_cross_file_config _config) #https://meson if(${_config} STREQUAL DEBUG) set(CRT ${CRT}d) endif() - string(APPEND NATIVE_${_config} "b_vscrt = '${CRT}'\n") + string(APPEND CROSS_${_config} "b_vscrt = '${CRT}'\n") endif() - string(TOLOWER "${_config}" lowerconfig) set(_file "${CURRENT_BUILDTREES_DIR}/meson-cross-${TARGET_TRIPLET}-${lowerconfig}.log") set(VCPKG_MESON_CROSS_FILE_${_config} "${_file}" PARENT_SCOPE) - file(WRITE "${_file}" "${NATIVE_${_config}}") + file(WRITE "${_file}" "${CROSS_${_config}}") endfunction() @@ -349,8 +320,8 @@ function(vcpkg_configure_meson) # parse parameters such that semicolons in options arguments to COMMAND don't get erased cmake_parse_arguments(PARSE_ARGV 0 _vcm "" "SOURCE_PATH" "OPTIONS;OPTIONS_DEBUG;OPTIONS_RELEASE;ADDITIONAL_NATIVE_BINARIES;ADDITIONAL_CROSS_BINARIES") - file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) - file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) + file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") + file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") vcpkg_internal_get_cmake_vars(OUTPUT_FILE _VCPKG_CMAKE_VARS_FILE) set(_VCPKG_CMAKE_VARS_FILE "${_VCPKG_CMAKE_VARS_FILE}" PARENT_SCOPE) @@ -375,19 +346,6 @@ function(vcpkg_configure_meson) list(APPEND _vcm_OPTIONS --buildtype plain --backend ninja --wrap-mode nodownload) - if(NOT VCPKG_MESON_NATIVE_FILE) - vcpkg_internal_meson_generate_native_file("_vcm_ADDITIONAL_NATIVE_BINARIES") - endif() - if(NOT VCPKG_MESON_NATIVE_FILE_DEBUG) - vcpkg_internal_meson_generate_native_file_config(DEBUG) - endif() - if(NOT VCPKG_MESON_NATIVE_FILE_RELEASE) - vcpkg_internal_meson_generate_native_file_config(RELEASE) - endif() - list(APPEND _vcm_OPTIONS --native "${VCPKG_MESON_NATIVE_FILE}") - list(APPEND _vcm_OPTIONS_DEBUG --native "${VCPKG_MESON_NATIVE_FILE_DEBUG}") - list(APPEND _vcm_OPTIONS_RELEASE --native "${VCPKG_MESON_NATIVE_FILE_RELEASE}") - if(NOT VCPKG_MESON_CROSS_FILE) vcpkg_internal_meson_generate_cross_file("_vcm_ADDITIONAL_CROSS_BINARIES") endif() @@ -400,7 +358,6 @@ function(vcpkg_configure_meson) if(VCPKG_MESON_CROSS_FILE) list(APPEND _vcm_OPTIONS --cross "${VCPKG_MESON_CROSS_FILE}") endif() - if(VCPKG_MESON_CROSS_FILE_DEBUG) list(APPEND _vcm_OPTIONS_DEBUG --cross "${VCPKG_MESON_CROSS_FILE_DEBUG}") endif() @@ -408,6 +365,22 @@ function(vcpkg_configure_meson) list(APPEND _vcm_OPTIONS_RELEASE --cross "${VCPKG_MESON_CROSS_FILE_RELEASE}") endif() + if(NOT VCPKG_MESON_NATIVE_FILE AND NOT VCPKG_MESON_CROSS_FILE) + vcpkg_internal_meson_generate_native_file("_vcm_ADDITIONAL_NATIVE_BINARIES") + endif() + if(NOT VCPKG_MESON_NATIVE_FILE_DEBUG AND NOT VCPKG_MESON_CROSS_FILE) + vcpkg_internal_meson_generate_native_file_config(DEBUG) + endif() + if(NOT VCPKG_MESON_NATIVE_FILE_RELEASE AND NOT VCPKG_MESON_CROSS_FILE) + vcpkg_internal_meson_generate_native_file_config(RELEASE) + endif() + if(VCPKG_MESON_NATIVE_FILE AND NOT VCPKG_MESON_CROSS_FILE) + list(APPEND _vcm_OPTIONS --native "${VCPKG_MESON_NATIVE_FILE}") + list(APPEND _vcm_OPTIONS_DEBUG --native "${VCPKG_MESON_NATIVE_FILE_DEBUG}") + list(APPEND _vcm_OPTIONS_RELEASE --native "${VCPKG_MESON_NATIVE_FILE_RELEASE}") + else() + list(APPEND _vcm_OPTIONS --native "${SCRIPTS}/buildsystems/meson/none.txt") + endif() if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") list(APPEND _vcm_OPTIONS --default-library shared) else() diff --git a/scripts/cmake/vcpkg_install_meson.cmake b/scripts/cmake/vcpkg_install_meson.cmake index 18cd03e6c7a822..6310a96cd0284d 100644 --- a/scripts/cmake/vcpkg_install_meson.cmake +++ b/scripts/cmake/vcpkg_install_meson.cmake @@ -5,9 +5,13 @@ Builds a meson project previously configured with `vcpkg_configure_meson()`. ## Usage ```cmake -vcpkg_install_meson() +vcpkg_install_meson([ADD_BIN_TO_PATH]) ``` +## Parameters: +### ADD_BIN_TO_PATH +Adds the appropriate Release and Debug `bin\` directories to the path during the build such that executables can run against the in-tree DLLs. + ## Examples * [fribidi](https://github.com/Microsoft/vcpkg/blob/master/ports/fribidi/portfile.cmake) @@ -17,6 +21,7 @@ vcpkg_install_meson() function(vcpkg_install_meson) vcpkg_find_acquire_program(NINJA) unset(ENV{DESTDIR}) # installation directory was already specified with '--prefix' option + cmake_parse_arguments(PARSE_ARGV 0 _im "ADD_BIN_TO_PATH" "" "") if(VCPKG_TARGET_IS_OSX) if(DEFINED ENV{SDKROOT}) @@ -30,23 +35,35 @@ function(vcpkg_install_meson) set(ENV{MACOSX_DEPLOYMENT_TARGET} "${VCPKG_DETECTED_CMAKE_OSX_DEPLOYMENT_TARGET}") endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - message(STATUS "Package ${TARGET_TRIPLET}-rel") - vcpkg_execute_required_process( - COMMAND ${NINJA} install -v - WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel - LOGNAME package-${TARGET_TRIPLET}-rel - ) - endif() + foreach(BUILDTYPE "debug" "release") + if(DEFINED VCPKG_BUILD_TYPE AND NOT VCPKG_BUILD_TYPE STREQUAL BUILDTYPE) + continue() + endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - message(STATUS "Package ${TARGET_TRIPLET}-dbg") + if(BUILDTYPE STREQUAL "debug") + set(SHORT_BUILDTYPE "dbg") + else() + set(SHORT_BUILDTYPE "rel") + endif() + + message(STATUS "Package ${TARGET_TRIPLET}-${SHORT_BUILDTYPE}") + if(_im_ADD_BIN_TO_PATH) + set(_BACKUP_ENV_PATH "$ENV{PATH}") + if(BUILDTYPE STREQUAL "debug") + vcpkg_add_to_path(PREPEND "${CURRENT_INSTALLED_DIR}/debug/bin") + else() + vcpkg_add_to_path(PREPEND "${CURRENT_INSTALLED_DIR}/bin") + endif() + endif() vcpkg_execute_required_process( COMMAND ${NINJA} install -v - WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg - LOGNAME package-${TARGET_TRIPLET}-dbg + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${SHORT_BUILDTYPE} + LOGNAME package-${TARGET_TRIPLET}-${SHORT_BUILDTYPE} ) - endif() + if(_im_ADD_BIN_TO_PATH) + set(ENV{PATH} "${_BACKUP_ENV_PATH}") + endif() + endforeach() set(RENAMED_LIBS) if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL static) From 87ae70da914eeff6c98c5700d61f8fb8b58f893b Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Wed, 31 Mar 2021 20:58:31 +0200 Subject: [PATCH 08/60] [open62541] add amalgamation feature (#16969) * [open62541] add amalgamation features * version stuff * Update versions/baseline.json * Update ports/open62541/vcpkg.json Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> * update version file Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> --- ports/open62541/CONTROL | 14 -------------- ports/open62541/portfile.cmake | 1 + ports/open62541/vcpkg.json | 28 ++++++++++++++++++++++++++++ versions/baseline.json | 2 +- versions/o-/open62541.json | 5 +++++ 5 files changed, 35 insertions(+), 15 deletions(-) delete mode 100644 ports/open62541/CONTROL create mode 100644 ports/open62541/vcpkg.json diff --git a/ports/open62541/CONTROL b/ports/open62541/CONTROL deleted file mode 100644 index 1c000d539edfe9..00000000000000 --- a/ports/open62541/CONTROL +++ /dev/null @@ -1,14 +0,0 @@ -Source: open62541 -Version: 1.1.2 -Homepage: https://open62541.org -Description: open62541 is an open source C (C99) implementation of OPC UA licensed under the Mozilla Public License v2.0. -Supports: !uwp -Default-Features: openssl - -Feature: openssl -Description: Enable encryption support (uses OpenSSL) -Build-Depends: openssl - -Feature: mbedtls -Description: Enable encryption support (uses MbedTLS) -Build-Depends: mbedtls diff --git a/ports/open62541/portfile.cmake b/ports/open62541/portfile.cmake index 91f0545604354d..55fbd6edb9ab9c 100644 --- a/ports/open62541/portfile.cmake +++ b/ports/open62541/portfile.cmake @@ -11,6 +11,7 @@ vcpkg_from_github( vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS openssl UA_ENABLE_ENCRYPTION_OPENSSL mbedtls UA_ENABLE_ENCRYPTION_MBEDTLS + amalgamation UA_ENABLE_AMALGAMATION ) vcpkg_find_acquire_program(PYTHON3) diff --git a/ports/open62541/vcpkg.json b/ports/open62541/vcpkg.json new file mode 100644 index 00000000000000..5e0841e7c72ead --- /dev/null +++ b/ports/open62541/vcpkg.json @@ -0,0 +1,28 @@ +{ + "name": "open62541", + "version": "1.1.2", + "port-version": 1, + "description": "open62541 is an open source C (C99) implementation of OPC UA licensed under the Mozilla Public License v2.0.", + "homepage": "https://open62541.org", + "supports": "!uwp", + "default-features": [ + "openssl" + ], + "features": { + "amalgamation": { + "description": "Concatenate the library to a single file open62541.h/.c" + }, + "mbedtls": { + "description": "Enable encryption support (uses MbedTLS)", + "dependencies": [ + "mbedtls" + ] + }, + "openssl": { + "description": "Enable encryption support (uses OpenSSL)", + "dependencies": [ + "openssl" + ] + } + } +} diff --git a/versions/baseline.json b/versions/baseline.json index d37be89bb7606b..b62970cbe554a1 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -4346,7 +4346,7 @@ }, "open62541": { "baseline": "1.1.2", - "port-version": 0 + "port-version": 1 }, "openal-soft": { "baseline": "1.21.1", diff --git a/versions/o-/open62541.json b/versions/o-/open62541.json index a8ada2e9573c0b..a24c7cee80d693 100644 --- a/versions/o-/open62541.json +++ b/versions/o-/open62541.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "43c958ba9799820838fdf2332020ef83cacc4595", + "version": "1.1.2", + "port-version": 1 + }, { "git-tree": "3963c6ad1810891560f00a71c17f14ce53fe290e", "version-string": "1.1.2", From 93304d198183634d07ea97aa831480a79f6960d6 Mon Sep 17 00:00:00 2001 From: Phoebe <20694052+PhoebeHui@users.noreply.github.com> Date: Thu, 1 Apr 2021 03:11:19 +0800 Subject: [PATCH 09/60] [opensubdiv] Remove debug/share folder (#16962) * [opensubdiv] Remove debug/share folder * Format the vcpkg.json * Update baseline revision --- ports/opensubdiv/portfile.cmake | 1 + ports/opensubdiv/vcpkg.json | 3 ++- versions/baseline.json | 2 +- versions/o-/opensubdiv.json | 5 +++++ 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ports/opensubdiv/portfile.cmake b/ports/opensubdiv/portfile.cmake index f4c8bf1d8eef45..defd00a5a414d8 100644 --- a/ports/opensubdiv/portfile.cmake +++ b/ports/opensubdiv/portfile.cmake @@ -50,5 +50,6 @@ vcpkg_install_cmake() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/opensubdiv/vcpkg.json b/ports/opensubdiv/vcpkg.json index 0849aaa59848d2..42a86d483f50ec 100644 --- a/ports/opensubdiv/vcpkg.json +++ b/ports/opensubdiv/vcpkg.json @@ -1,6 +1,7 @@ { "name": "opensubdiv", - "version-string": "3.4.3", + "version-semver": "3.4.3", + "port-version": 1, "description": "An Open-Source subdivision surface library.", "homepage": "https://github.com/PixarAnimationStudios/OpenSubdiv", "supports": "!arm & !uwp" diff --git a/versions/baseline.json b/versions/baseline.json index b62970cbe554a1..0a477ba6580791 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -4478,7 +4478,7 @@ }, "opensubdiv": { "baseline": "3.4.3", - "port-version": 0 + "port-version": 1 }, "opentracing": { "baseline": "1.6.0", diff --git a/versions/o-/opensubdiv.json b/versions/o-/opensubdiv.json index d7250e40de9c0d..d0c5cb18ce34ae 100644 --- a/versions/o-/opensubdiv.json +++ b/versions/o-/opensubdiv.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "2ca1bb01f46ea1e8d94d453dfc9e535a8bb220b0", + "version-semver": "3.4.3", + "port-version": 1 + }, { "git-tree": "306ae6eba55d7f3300c17c8c7a88ea6d648e2b69", "version-string": "3.4.3", From 2779b733c221361aa33290f2dce1dd2cc5a0cbf1 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Wed, 31 Mar 2021 21:47:35 +0200 Subject: [PATCH 10/60] [vcpkg/scripts] add a way to define another tool destination (#16935) --- docs/maintainers/vcpkg_copy_tools.md | 4 ++++ docs/maintainers/vcpkg_fixup_cmake_targets.md | 12 +++++++--- scripts/cmake/vcpkg_copy_tools.cmake | 16 ++++++++++---- scripts/cmake/vcpkg_fixup_cmake_targets.cmake | 22 ++++++++++++++----- 4 files changed, 41 insertions(+), 13 deletions(-) diff --git a/docs/maintainers/vcpkg_copy_tools.md b/docs/maintainers/vcpkg_copy_tools.md index 34a4bb84a63c25..98e86e05b5d349 100644 --- a/docs/maintainers/vcpkg_copy_tools.md +++ b/docs/maintainers/vcpkg_copy_tools.md @@ -9,6 +9,7 @@ Copy tools and all their DLL dependencies into the `tools` folder. vcpkg_copy_tools( TOOL_NAMES ... [SEARCH_DIR <${CURRENT_PACKAGES_DIR}/bin>] + [DESTINATION <${CURRENT_PACKAGES_DIR}/tools/${PORT}>] [AUTO_CLEAN] ) ``` @@ -19,6 +20,9 @@ A list of tool filenames without extension. ### SEARCH_DIR The path to the directory containing the tools. This will be set to `${CURRENT_PACKAGES_DIR}/bin` if ommited. +### DESTINATION +Destination to copy the tools to. This will be set to `${CURRENT_PACKAGES_DIR}/tools/${PORT}` if ommited. + ### AUTO_CLEAN Auto clean executables in `${CURRENT_PACKAGES_DIR}/bin` and `${CURRENT_PACKAGES_DIR}/debug/bin`. diff --git a/docs/maintainers/vcpkg_fixup_cmake_targets.md b/docs/maintainers/vcpkg_fixup_cmake_targets.md index dbb6fb4325bf5f..704ac4ad19d6b1 100644 --- a/docs/maintainers/vcpkg_fixup_cmake_targets.md +++ b/docs/maintainers/vcpkg_fixup_cmake_targets.md @@ -10,7 +10,10 @@ Additionally corrects common issues with targets, such as absolute paths and inc ## Usage ```cmake -vcpkg_fixup_cmake_targets([CONFIG_PATH ] [TARGET_PATH ] [DO_NOT_DELETE_PARENT_CONFIG_PATH]) +vcpkg_fixup_cmake_targets([CONFIG_PATH ] + [TARGET_PATH ] + [TOOLS_PATH ] + [DO_NOT_DELETE_PARENT_CONFIG_PATH]) ``` ## Parameters @@ -36,12 +39,15 @@ Disables the correction of_IMPORT_PREFIX done by vcpkg due to moving the targets Currently the correction does not take into account how the files are moved and applies I rather simply correction which in some cases will yield the wrong results. +### TOOLS_PATH +Define the base path to tools. Default: `tools/` + ## Notes Transform all `/debug//*targets-debug.cmake` files and move them to `/`. Removes all `/debug//*targets.cmake` and `/debug//*config.cmake`. -Transform all references matching `/bin/*.exe` to `/tools//*.exe` on Windows. -Transform all references matching `/bin/*` to `/tools//*` on other platforms. +Transform all references matching `/bin/*.exe` to `/${TOOLS_PATH}/*.exe` on Windows. +Transform all references matching `/bin/*` to `/${TOOLS_PATH}/*` on other platforms. Fix `${_IMPORT_PREFIX}` in auto generated targets to be one folder deeper. Replace `${CURRENT_INSTALLED_DIR}` with `${_IMPORT_PREFIX}` in configs and targets. diff --git a/scripts/cmake/vcpkg_copy_tools.cmake b/scripts/cmake/vcpkg_copy_tools.cmake index 628bfc506435fc..ea1368da0126a4 100644 --- a/scripts/cmake/vcpkg_copy_tools.cmake +++ b/scripts/cmake/vcpkg_copy_tools.cmake @@ -8,6 +8,7 @@ Copy tools and all their DLL dependencies into the `tools` folder. vcpkg_copy_tools( TOOL_NAMES ... [SEARCH_DIR <${CURRENT_PACKAGES_DIR}/bin>] + [DESTINATION <${CURRENT_PACKAGES_DIR}/tools/${PORT}>] [AUTO_CLEAN] ) ``` @@ -18,6 +19,9 @@ A list of tool filenames without extension. ### SEARCH_DIR The path to the directory containing the tools. This will be set to `${CURRENT_PACKAGES_DIR}/bin` if ommited. +### DESTINATION +Destination to copy the tools to. This will be set to `${CURRENT_PACKAGES_DIR}/tools/${PORT}` if ommited. + ### AUTO_CLEAN Auto clean executables in `${CURRENT_PACKAGES_DIR}/bin` and `${CURRENT_PACKAGES_DIR}/debug/bin`. @@ -30,12 +34,16 @@ Auto clean executables in `${CURRENT_PACKAGES_DIR}/bin` and `${CURRENT_PACKAGES_ function(vcpkg_copy_tools) # parse parameters such that semicolons in options arguments to COMMAND don't get erased - cmake_parse_arguments(PARSE_ARGV 0 _vct "AUTO_CLEAN" "SEARCH_DIR" "TOOL_NAMES") + cmake_parse_arguments(PARSE_ARGV 0 _vct "AUTO_CLEAN" "SEARCH_DIR;DESTINATION" "TOOL_NAMES") if(NOT DEFINED _vct_TOOL_NAMES) message(FATAL_ERROR "TOOL_NAMES must be specified.") endif() + if(NOT DEFINED _vct_DESTINATION) + set(_vct_DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") + endif() + if(NOT DEFINED _vct_SEARCH_DIR) set(_vct_SEARCH_DIR "${CURRENT_PACKAGES_DIR}/bin") elseif(NOT IS_DIRECTORY ${_vct_SEARCH_DIR}) @@ -46,12 +54,12 @@ function(vcpkg_copy_tools) set(tool_path "${_vct_SEARCH_DIR}/${tool_name}${VCPKG_TARGET_EXECUTABLE_SUFFIX}") set(tool_pdb "${_vct_SEARCH_DIR}/${tool_name}.pdb") if(EXISTS "${tool_path}") - file(COPY "${tool_path}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") + file(COPY "${tool_path}" DESTINATION "${_vct_DESTINATION}") else() message(FATAL_ERROR "Couldn't find this tool: ${tool_path}.") endif() if(EXISTS "${tool_pdb}") - file(COPY "${tool_pdb}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") + file(COPY "${tool_pdb}" DESTINATION "${_vct_DESTINATION}") endif() endforeach() @@ -59,5 +67,5 @@ function(vcpkg_copy_tools) vcpkg_clean_executables_in_bin(FILE_NAMES ${_vct_TOOL_NAMES}) endif() - vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}") + vcpkg_copy_tool_dependencies("${_vct_DESTINATION}") endfunction() diff --git a/scripts/cmake/vcpkg_fixup_cmake_targets.cmake b/scripts/cmake/vcpkg_fixup_cmake_targets.cmake index d4eae04a651121..f38270e8c48414 100644 --- a/scripts/cmake/vcpkg_fixup_cmake_targets.cmake +++ b/scripts/cmake/vcpkg_fixup_cmake_targets.cmake @@ -9,7 +9,10 @@ Additionally corrects common issues with targets, such as absolute paths and inc ## Usage ```cmake -vcpkg_fixup_cmake_targets([CONFIG_PATH ] [TARGET_PATH ] [DO_NOT_DELETE_PARENT_CONFIG_PATH]) +vcpkg_fixup_cmake_targets([CONFIG_PATH ] + [TARGET_PATH ] + [TOOLS_PATH ] + [DO_NOT_DELETE_PARENT_CONFIG_PATH]) ``` ## Parameters @@ -35,12 +38,15 @@ Disables the correction of_IMPORT_PREFIX done by vcpkg due to moving the targets Currently the correction does not take into account how the files are moved and applies I rather simply correction which in some cases will yield the wrong results. +### TOOLS_PATH +Define the base path to tools. Default: `tools/` + ## Notes Transform all `/debug//*targets-debug.cmake` files and move them to `/`. Removes all `/debug//*targets.cmake` and `/debug//*config.cmake`. -Transform all references matching `/bin/*.exe` to `/tools//*.exe` on Windows. -Transform all references matching `/bin/*` to `/tools//*` on other platforms. +Transform all references matching `/bin/*.exe` to `/${TOOLS_PATH}/*.exe` on Windows. +Transform all references matching `/bin/*` to `/${TOOLS_PATH}/*` on other platforms. Fix `${_IMPORT_PREFIX}` in auto generated targets to be one folder deeper. Replace `${CURRENT_INSTALLED_DIR}` with `${_IMPORT_PREFIX}` in configs and targets. @@ -57,7 +63,7 @@ function(vcpkg_fixup_cmake_targets) message(FATAL_ERROR "The ${PORT} port already depends on vcpkg-cmake-config; using both vcpkg-cmake-config and vcpkg_fixup_cmake_targets in the same port is unsupported.") endif() - cmake_parse_arguments(PARSE_ARGV 0 arg "DO_NOT_DELETE_PARENT_CONFIG_PATH" "CONFIG_PATH;TARGET_PATH;NO_PREFIX_CORRECTION" "") + cmake_parse_arguments(PARSE_ARGV 0 arg "DO_NOT_DELETE_PARENT_CONFIG_PATH" "CONFIG_PATH;TARGET_PATH;NO_PREFIX_CORRECTION;TOOLS_PATH" "") if(arg_UNPARSED_ARGUMENTS) message(FATAL_ERROR "vcpkg_fixup_cmake_targets was passed extra arguments: ${arg_UNPARSED_ARGUMENTS}") @@ -66,6 +72,10 @@ function(vcpkg_fixup_cmake_targets) if(NOT arg_TARGET_PATH) set(arg_TARGET_PATH share/${PORT}) endif() + + if(NOT arg_TOOLS_PATH) + set(arg_TOOLS_PATH tools/${PORT}) + endif() string(REPLACE "." "\\." EXECUTABLE_SUFFIX "${VCPKG_TARGET_EXECUTABLE_SUFFIX}") @@ -148,7 +158,7 @@ function(vcpkg_fixup_cmake_targets) foreach(RELEASE_TARGET IN LISTS RELEASE_TARGETS) file(READ ${RELEASE_TARGET} _contents) string(REPLACE "${CURRENT_INSTALLED_DIR}" "\${_IMPORT_PREFIX}" _contents "${_contents}") - string(REGEX REPLACE "\\\${_IMPORT_PREFIX}/bin/([^ \"]+${EXECUTABLE_SUFFIX})" "\${_IMPORT_PREFIX}/tools/${PORT}/\\1" _contents "${_contents}") + string(REGEX REPLACE "\\\${_IMPORT_PREFIX}/bin/([^ \"]+${EXECUTABLE_SUFFIX})" "\${_IMPORT_PREFIX}/${arg_TOOLS_PATH}/\\1" _contents "${_contents}") file(WRITE ${RELEASE_TARGET} "${_contents}") endforeach() @@ -161,7 +171,7 @@ function(vcpkg_fixup_cmake_targets) file(READ ${DEBUG_TARGET} _contents) string(REPLACE "${CURRENT_INSTALLED_DIR}" "\${_IMPORT_PREFIX}" _contents "${_contents}") - string(REGEX REPLACE "\\\${_IMPORT_PREFIX}/bin/([^ \";]+${EXECUTABLE_SUFFIX})" "\${_IMPORT_PREFIX}/tools/${PORT}/\\1" _contents "${_contents}") + string(REGEX REPLACE "\\\${_IMPORT_PREFIX}/bin/([^ \";]+${EXECUTABLE_SUFFIX})" "\${_IMPORT_PREFIX}/${arg_TOOLS_PATH}/\\1" _contents "${_contents}") string(REPLACE "\${_IMPORT_PREFIX}/lib" "\${_IMPORT_PREFIX}/debug/lib" _contents "${_contents}") string(REPLACE "\${_IMPORT_PREFIX}/bin" "\${_IMPORT_PREFIX}/debug/bin" _contents "${_contents}") file(WRITE ${RELEASE_SHARE}/${DEBUG_TARGET_REL} "${_contents}") From 58d3efbc9946810af632c23d8b844f4cea71b8c0 Mon Sep 17 00:00:00 2001 From: Frank Hale Date: Wed, 31 Mar 2021 17:09:56 -0400 Subject: [PATCH 11/60] [lua]Update port to version 5.4.3 (#16943) * Update Lua to version 5.4.3 * Update Lua versions file --- ports/lua/CONTROL | 2 +- ports/lua/portfile.cmake | 6 +++--- versions/baseline.json | 2 +- versions/l-/lua.json | 5 +++++ 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/ports/lua/CONTROL b/ports/lua/CONTROL index 29350d265895a3..00ec94852f114d 100644 --- a/ports/lua/CONTROL +++ b/ports/lua/CONTROL @@ -1,5 +1,5 @@ Source: lua -Version: 5.4.2 +Version: 5.4.3 Homepage: https://www.lua.org Description: a powerful, fast, lightweight, embeddable scripting language diff --git a/ports/lua/portfile.cmake b/ports/lua/portfile.cmake index 3130bebe115bce..d73e72ad61a19f 100644 --- a/ports/lua/portfile.cmake +++ b/ports/lua/portfile.cmake @@ -1,7 +1,7 @@ vcpkg_download_distfile(ARCHIVE - URLS "https://www.lua.org/ftp/lua-5.4.2.tar.gz" - FILENAME "lua-5.4.2.tar.gz" - SHA512 9454a6ffd973598f2f4a2399834c31c4d5090bd12e716776e3189aa57760319d114ee64a8338bbc2ef5e08150bf0adc2ad94a1b2677f38538a43359969d4d920 + URLS "https://www.lua.org/ftp/lua-5.4.3.tar.gz" + FILENAME "lua-5.4.3.tar.gz" + SHA512 3a1a3ee8694b72b4ec9d3ce76705fe179328294353604ca950c53f41b41161b449877d43318ef4501fee44ecbd6c83314ce7468d7425ba9b2903c9c32a28bbc0 ) vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH diff --git a/versions/baseline.json b/versions/baseline.json index 0a477ba6580791..000823487958cb 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3709,7 +3709,7 @@ "port-version": 0 }, "lua": { - "baseline": "5.4.2", + "baseline": "5.4.3", "port-version": 0 }, "luabridge": { diff --git a/versions/l-/lua.json b/versions/l-/lua.json index a0badb27561fe6..a45533a9768790 100644 --- a/versions/l-/lua.json +++ b/versions/l-/lua.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "8a52fbd7ff551d4c1b7e6d308283cfe92ca81758", + "version-string": "5.4.3", + "port-version": 0 + }, { "git-tree": "5f3de4a36739615d9ffba11571f50226b385721b", "version-string": "5.4.2", From c6034033c4dede40a6df7f546f1f6c067a1181da Mon Sep 17 00:00:00 2001 From: Odysseas Georgoudis Date: Thu, 1 Apr 2021 00:15:24 +0300 Subject: [PATCH 12/60] [quill] Upgrade to 1.6.2 (#16931) * update quill to 1.6.2 * update json file --- ports/quill/CONTROL | 6 +++--- ports/quill/portfile.cmake | 6 +++--- versions/baseline.json | 4 ++-- versions/q-/quill.json | 5 +++++ 4 files changed, 13 insertions(+), 8 deletions(-) diff --git a/ports/quill/CONTROL b/ports/quill/CONTROL index 7bb9d9acee6000..5faedf02199fc1 100644 --- a/ports/quill/CONTROL +++ b/ports/quill/CONTROL @@ -1,7 +1,7 @@ Source: quill -Version: 1.6.1 -Port-Version: 1 +Version: 1.6.2 +Port-Version: 0 Homepage: https://github.com/odygrd/quill/ Description: C++14 Asynchronous Low Latency Logging Library -Supports: !(arm|uwp|android) +Supports: !(uwp|android) Build-Depends: fmt diff --git a/ports/quill/portfile.cmake b/ports/quill/portfile.cmake index 28e2da3e5c5500..8fb5be21060f83 100644 --- a/ports/quill/portfile.cmake +++ b/ports/quill/portfile.cmake @@ -1,12 +1,12 @@ -vcpkg_fail_port_install(ON_ARCH "arm" ON_TARGET "uwp") +vcpkg_fail_port_install(ON_TARGET "uwp") vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO odygrd/quill - REF v1.6.1 - SHA512 108a93108b0e8fa99a9d76ec4bcadd3ad477d871f274ad832fc0d15538c632a787b83b8a8134f750b613eb08a2742aebf3e79726ac430a7e1dd16c42a62f57f3 + REF v1.6.2 + SHA512 c1db04c96c70b6bced38ecc83b4bba9e60b02cf13ff48ab92132ceb828414fcf046cb2c41337a4ae321b0bad8598eb280a7edcc30e0720d7609898e15d514380 HEAD_REF master ) diff --git a/versions/baseline.json b/versions/baseline.json index 000823487958cb..fb99f8ffa24328 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -5113,8 +5113,8 @@ "port-version": 0 }, "quill": { - "baseline": "1.6.1", - "port-version": 1 + "baseline": "1.6.2", + "port-version": 0 }, "quirc": { "baseline": "1.1", diff --git a/versions/q-/quill.json b/versions/q-/quill.json index 3215bf4e44e090..5cf510cf354596 100644 --- a/versions/q-/quill.json +++ b/versions/q-/quill.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "0e3b811db3b65c4239a657bfd1a2fae470a8096a", + "version-string": "1.6.2", + "port-version": 0 + }, { "git-tree": "aa542e38f0f2480e495b785840e919d46a1d58d5", "version-string": "1.6.1", From 9c2aae721d75f028df37f411ff475712760e3242 Mon Sep 17 00:00:00 2001 From: Alexandre Bique Date: Wed, 31 Mar 2021 23:17:19 +0200 Subject: [PATCH 13/60] [fontconfig] fixes for macos (#16905) References: - https://github.com/Homebrew/homebrew-core/pull/57999 - https://github.com/Homebrew/homebrew-core/issues/57994 --- ports/fontconfig/CONTROL | 4 +-- ports/fontconfig/macos_arm_fccache.patch | 34 ++++++++++++++++++++++++ ports/fontconfig/portfile.cmake | 3 ++- versions/baseline.json | 2 +- versions/f-/fontconfig.json | 5 ++++ 5 files changed, 44 insertions(+), 4 deletions(-) create mode 100644 ports/fontconfig/macos_arm_fccache.patch diff --git a/ports/fontconfig/CONTROL b/ports/fontconfig/CONTROL index 4b455e985c4155..330c801e0aee53 100644 --- a/ports/fontconfig/CONTROL +++ b/ports/fontconfig/CONTROL @@ -1,6 +1,6 @@ Source: fontconfig Version: 2.13.1 -Port-Version: 3 +Port-Version: 4 Homepage: https://www.freedesktop.org/software/fontconfig/front.html Description: Library for configuring and customizing font access. -Build-Depends: freetype, expat, libiconv, dirent, pthread, json-c, dirent, libuuid (!windows&!osx), gettext \ No newline at end of file +Build-Depends: freetype, expat, libiconv, dirent, pthread, json-c, dirent, libuuid (!windows&!osx), gettext diff --git a/ports/fontconfig/macos_arm_fccache.patch b/ports/fontconfig/macos_arm_fccache.patch new file mode 100644 index 00000000000000..2cc0734fb20464 --- /dev/null +++ b/ports/fontconfig/macos_arm_fccache.patch @@ -0,0 +1,34 @@ + src/fcatomic.h | 12 ++---------- + 1 file changed, 2 insertions(+), 10 deletions(-) + +diff --git a/src/fcatomic.h b/src/fcatomic.h +index cc28a883c13fadf2ad9900586a9cae3097354671..657a5f551adfc37415231b7002746ad6cd031c78 100644 +--- a/src/fcatomic.h ++++ b/src/fcatomic.h +@@ -70,24 +70,16 @@ typedef LONG fc_atomic_int_t; + #elif !defined(FC_NO_MT) && defined(__APPLE__) + + #include +-#ifdef __MAC_OS_X_MIN_REQUIRED + #include +-#elif defined(__IPHONE_OS_MIN_REQUIRED) +-#include +-#endif + + typedef int fc_atomic_int_t; + #define fc_atomic_int_add(AI, V) (OSAtomicAdd32Barrier ((V), &(AI)) - (V)) + + #define fc_atomic_ptr_get(P) (OSMemoryBarrier (), (void *) *(P)) +-#if (MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_4 || __IPHONE_VERSION_MIN_REQUIRED >= 20100) ++#if (MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_4 || __IPHONE_OS_VERSION_MIN_REQUIRED >= 20100) + #define fc_atomic_ptr_cmpexch(P,O,N) OSAtomicCompareAndSwapPtrBarrier ((void *) (O), (void *) (N), (void **) (P)) + #else +-#if __ppc64__ || __x86_64__ +-#define fc_atomic_ptr_cmpexch(P,O,N) OSAtomicCompareAndSwap64Barrier ((int64_t) (O), (int64_t) (N), (int64_t*) (P)) +-#else +-#define fc_atomic_ptr_cmpexch(P,O,N) OSAtomicCompareAndSwap32Barrier ((int32_t) (O), (int32_t) (N), (int32_t*) (P)) +-#endif ++#error "Your macOS / iOS targets are too old" + #endif + + #elif !defined(FC_NO_MT) && defined(HAVE_INTEL_ATOMIC_PRIMITIVES) diff --git a/ports/fontconfig/portfile.cmake b/ports/fontconfig/portfile.cmake index d50ff6392d7ddb..90aae8b84a6b0d 100644 --- a/ports/fontconfig/portfile.cmake +++ b/ports/fontconfig/portfile.cmake @@ -15,6 +15,7 @@ vcpkg_from_gitlab( build.patch build2.patch disable-install-data.patch + macos_arm_fccache.patch ${PATCHES} ) @@ -86,7 +87,7 @@ endif() file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) -## Build the fontconfig cache +# Build the fontconfig cache if(NOT VCPKG_TARGET_IS_WINDOWS) set(ENV{FONTCONFIG_PATH} "${CURRENT_PACKAGES_DIR}/etc/fonts") set(ENV{FONTCONFIG_FILE} "${CURRENT_PACKAGES_DIR}/etc/fonts/fonts.conf") diff --git a/versions/baseline.json b/versions/baseline.json index fb99f8ffa24328..8a0d94c7b7167f 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -2018,7 +2018,7 @@ }, "fontconfig": { "baseline": "2.13.1", - "port-version": 3 + "port-version": 4 }, "foonathan-memory": { "baseline": "2019-07-21-1", diff --git a/versions/f-/fontconfig.json b/versions/f-/fontconfig.json index 97cf49e3ddec07..319fc75ea92c66 100644 --- a/versions/f-/fontconfig.json +++ b/versions/f-/fontconfig.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "2b49a3ee02b25efc3101d849a0df38280a1ca299", + "version-string": "2.13.1", + "port-version": 4 + }, { "git-tree": "e4e2d26ab9639fb737206592a04791d998461fa3", "version-string": "2.13.1", From f22705fd158e09d432cc23b36ed249ca99386718 Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 31 Mar 2021 14:27:55 -0700 Subject: [PATCH 14/60] [spdlog] Update to 1.8.5 (#16870) * remove featurebuild patch see: https://github.com/gabime/spdlog/commit/3d8f71c4d23fd2df08e4f6284155958b0df47b33 https://github.com/gabime/spdlog/commit/42c36f48ed8d5d64bd244b1097257f575569d472 * remove external fmt patch see: https://github.com/gabime/spdlog/blob/53e1c9ab112aa97062ba3df8fede91c3acd248d5/CMakeLists.txt#L183-L184 * remove target fixup branching see: https://github.com/gabime/spdlog/commit/4858d7e454e66d347024a074749535b91ccbeed9 * convert control file to manifest file * remove android build patch see: https://github.com/gabime/spdlog/commit/e86f450428fd5373ea72606b21a4055fb411abfd * update to 1.8.3 * remove redundant cleanup these folders don't exist in the build tree, and so they don't need to be cleaned up * update deprecated functions * remove empty folder * add version * report version using semantic versioning * correct version comment * update version file * fixup pkgconfig * update version file again * accomodate non-cmake users * update to 1.8.5 * update version files * remove 1.8.3 from version file --- ports/spdlog/CONTROL | 10 -------- ports/spdlog/fix-androidbuild.patch | 15 ----------- ports/spdlog/fix-featurebuild.patch | 39 ----------------------------- ports/spdlog/portfile.cmake | 26 ++++++------------- ports/spdlog/vcpkg.json | 25 ++++++++++++++++++ versions/baseline.json | 4 +-- versions/s-/spdlog.json | 5 ++++ 7 files changed, 40 insertions(+), 84 deletions(-) delete mode 100644 ports/spdlog/CONTROL delete mode 100644 ports/spdlog/fix-androidbuild.patch delete mode 100644 ports/spdlog/fix-featurebuild.patch create mode 100644 ports/spdlog/vcpkg.json diff --git a/ports/spdlog/CONTROL b/ports/spdlog/CONTROL deleted file mode 100644 index 6110199ff11e58..00000000000000 --- a/ports/spdlog/CONTROL +++ /dev/null @@ -1,10 +0,0 @@ -Source: spdlog -Version: 1.8.0 -Port-Version: 3 -Homepage: https://github.com/gabime/spdlog -Description: Very fast, header only, C++ logging library -Build-Depends: fmt - -Feature: benchmark -Description: Use google benchmark -Build-Depends: benchmark diff --git a/ports/spdlog/fix-androidbuild.patch b/ports/spdlog/fix-androidbuild.patch deleted file mode 100644 index bd1648e90f4bc0..00000000000000 --- a/ports/spdlog/fix-androidbuild.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt ---- a/CMakeLists.txt (revision 4a9ccf7e38e257feecce0c579a782741254eaeef) -+++ b/CMakeLists.txt (date 1616381634500) -@@ -188,6 +188,11 @@ - set(PKG_CONFIG_REQUIRES fmt) # add dependency to pkg-config - endif () - -+if (ANDROID) -+ target_link_libraries(spdlog PUBLIC log) -+ target_link_libraries(spdlog_header_only INTERFACE log) -+endif () -+ - # --------------------------------------------------------------------------------------- - # Misc definitions according to tweak options - # --------------------------------------------------------------------------------------- diff --git a/ports/spdlog/fix-featurebuild.patch b/ports/spdlog/fix-featurebuild.patch deleted file mode 100644 index 1b90c5a99e5309..00000000000000 --- a/ports/spdlog/fix-featurebuild.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3a7663b..3e554d6 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -171,7 +171,7 @@ target_link_libraries(spdlog_header_only INTERFACE Threads::Threads) - # --------------------------------------------------------------------------------------- - if (SPDLOG_FMT_EXTERNAL OR SPDLOG_FMT_EXTERNAL_HO) - if (NOT TARGET fmt::fmt) -- find_package(fmt 5.3.0 REQUIRED) -+ find_package(fmt CONFIG REQUIRED) - endif () - target_compile_definitions(spdlog PUBLIC SPDLOG_FMT_EXTERNAL) - target_compile_definitions(spdlog_header_only INTERFACE SPDLOG_FMT_EXTERNAL) -diff --git a/bench/async_bench.cpp b/bench/async_bench.cpp -index d4167a4..ccb5406 100644 ---- a/bench/async_bench.cpp -+++ b/bench/async_bench.cpp -@@ -9,7 +9,7 @@ - #include "spdlog/spdlog.h" - #include "spdlog/async.h" - #include "spdlog/sinks/basic_file_sink.h" --#include "spdlog/fmt/bundled/locale.h" -+#include - - #include "utils.h" - #include -diff --git a/bench/bench.cpp b/bench/bench.cpp -index b7d2fc7..e2f8109 100644 ---- a/bench/bench.cpp -+++ b/bench/bench.cpp -@@ -11,7 +11,7 @@ - #include "spdlog/sinks/daily_file_sink.h" - #include "spdlog/sinks/null_sink.h" - #include "spdlog/sinks/rotating_file_sink.h" --#include "spdlog/fmt/bundled/locale.h" -+#include - - #include "utils.h" - #include diff --git a/ports/spdlog/portfile.cmake b/ports/spdlog/portfile.cmake index f62514007842ef..b08d34c43a1951 100644 --- a/ports/spdlog/portfile.cmake +++ b/ports/spdlog/portfile.cmake @@ -1,12 +1,9 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO gabime/spdlog - REF 4a9ccf7e38e257feecce0c579a782741254eaeef # v1.8.0 - SHA512 333f14704e0d0aa88abbe4ddd29aeb009de2f845440559d463f1b7f9c7da32b2fbdba0f2abf97ec2a5c479d2d62bb2220b21a1bc423d62fbbb93952cf829d532 + REF v1.8.5 + SHA512 77cc9df0c40bbdbfe1f3e5818dccf121918bfceac28f2608f39e5bf944968b7e8e24a6fc29f01bc58a9bae41b8892d49cfb59c196935ec9868884320b50f130c HEAD_REF v1.x - PATCHES - fix-featurebuild.patch - fix-androidbuild.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -16,9 +13,8 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" SPDLOG_BUILD_SHARED) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA OPTIONS ${FEATURE_OPTIONS} -DSPDLOG_FMT_EXTERNAL=ON @@ -26,14 +22,9 @@ vcpkg_configure_cmake( -DSPDLOG_BUILD_SHARED=${SPDLOG_BUILD_SHARED} ) -vcpkg_install_cmake() - -if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/cmake/${PORT}") - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) -elseif(EXISTS "${CURRENT_PACKAGES_DIR}/lib/${PORT}/cmake") - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/${PORT}/cmake) -endif() - +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/spdlog) +vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() # use vcpkg-provided fmt library (see also option SPDLOG_FMT_EXTERNAL above) @@ -49,9 +40,8 @@ vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/spdlog/fmt/ostr.h "#if 0 // !defined(SPDLOG_FMT_EXTERNAL)" ) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/spdlog - ${CURRENT_PACKAGES_DIR}/debug/lib/spdlog - ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include + ${CURRENT_PACKAGES_DIR}/debug/share) # Handle copyright file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/spdlog/vcpkg.json b/ports/spdlog/vcpkg.json new file mode 100644 index 00000000000000..dcd47b7fb5594e --- /dev/null +++ b/ports/spdlog/vcpkg.json @@ -0,0 +1,25 @@ +{ + "name": "spdlog", + "version-semver": "1.8.5", + "description": "Very fast, header only, C++ logging library", + "homepage": "https://github.com/gabime/spdlog", + "dependencies": [ + "fmt", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "benchmark": { + "description": "Use google benchmark", + "dependencies": [ + "benchmark" + ] + } + } +} diff --git a/versions/baseline.json b/versions/baseline.json index 8a0d94c7b7167f..a4d3b16e6f7528 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -5649,8 +5649,8 @@ "port-version": 0 }, "spdlog": { - "baseline": "1.8.0", - "port-version": 3 + "baseline": "1.8.5", + "port-version": 0 }, "spectra": { "baseline": "0.9.0", diff --git a/versions/s-/spdlog.json b/versions/s-/spdlog.json index c161c6f01c1f0e..7177a8418006de 100644 --- a/versions/s-/spdlog.json +++ b/versions/s-/spdlog.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "a2f8d7856c8821fb685f99873f5e058dc6136c2b", + "version-semver": "1.8.5", + "port-version": 0 + }, { "git-tree": "aa6f400b5acd74dd5071a1419d4fce8ccaa3981c", "version-string": "1.8.0", From 13640c56717dec1bba16c6eb0815d3889dbe1c4d Mon Sep 17 00:00:00 2001 From: Matthieu Penant Date: Wed, 31 Mar 2021 17:29:14 -0400 Subject: [PATCH 15/60] [zstd] update to 1.4.9 (#16865) * [zstd] update to 1.4.9 Fixes #16642 Update zstd to the latest version 1.4.9: https://github.com/facebook/zstd/releases/tag/v1.4.9 * update baseline / version * Update vcpkg.json * Update vcpkg.json apply suggested diff file * attempt to fix build errors (missing file libzstd?) * Update zstd.json * Update portfile.cmake * fix version Co-authored-by: JonLiu1993 <63675417+JonLiu1993@users.noreply.github.com> --- ports/zstd/0002-crosscompile-windows.patch | 12 ------------ ports/zstd/CONTROL | 5 ----- ports/zstd/fix_assert.patch | 13 ------------- ports/zstd/install_dll.patch | 12 ------------ ports/zstd/install_pkgpc.patch | 9 +++++---- ports/zstd/portfile.cmake | 7 ++----- ports/zstd/vcpkg.json | 6 ++++++ versions/baseline.json | 4 ++-- versions/z-/zstd.json | 5 +++++ 9 files changed, 20 insertions(+), 53 deletions(-) delete mode 100644 ports/zstd/0002-crosscompile-windows.patch delete mode 100644 ports/zstd/CONTROL delete mode 100644 ports/zstd/fix_assert.patch delete mode 100644 ports/zstd/install_dll.patch create mode 100644 ports/zstd/vcpkg.json diff --git a/ports/zstd/0002-crosscompile-windows.patch b/ports/zstd/0002-crosscompile-windows.patch deleted file mode 100644 index c084da1ffa5c07..00000000000000 --- a/ports/zstd/0002-crosscompile-windows.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/build/cmake/CMakeModules/AddZstdCompilationFlags.cmake b/build/cmake/CMakeModules/AddZstdCompilationFlags.cmake -index 7adca875..8835d1c6 100644 ---- a/build/cmake/CMakeModules/AddZstdCompilationFlags.cmake 2019-11-04 17:54:32.000000000 +0000 -+++ b/build/cmake/CMakeModules/AddZstdCompilationFlags.cmake 2020-09-09 20:54:13.817515706 +0000 -@@ -52,7 +52,6 @@ - CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO) - if( ${flag_var} ) - separate_arguments(${flag_var}) -- list(REMOVE_DUPLICATES ${flag_var}) - string(REPLACE ";" " " ${flag_var} "${${flag_var}}") - endif() - endforeach () diff --git a/ports/zstd/CONTROL b/ports/zstd/CONTROL deleted file mode 100644 index f87e519c9ecf5f..00000000000000 --- a/ports/zstd/CONTROL +++ /dev/null @@ -1,5 +0,0 @@ -Source: zstd -Version: 1.4.5 -Port-Version: 1 -Description: Zstandard - Fast real-time compression algorithm -Homepage: https://facebook.github.io/zstd/ diff --git a/ports/zstd/fix_assert.patch b/ports/zstd/fix_assert.patch deleted file mode 100644 index b7fa3dc8d8b554..00000000000000 --- a/ports/zstd/fix_assert.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/lib/decompress/zstd_decompress.c b/lib/decompress/zstd_decompress.c -index be5c7cfc3..539190998 100644 ---- a/lib/decompress/zstd_decompress.c -+++ b/lib/decompress/zstd_decompress.c -@@ -721,7 +721,7 @@ static size_t ZSTD_decompressMultiFrame(ZSTD_DCtx* dctx, - decodedSize = ZSTD_decompressLegacy(dst, dstCapacity, src, frameSize, dict, dictSize); - if (ZSTD_isError(decodedSize)) return decodedSize; - -- assert(decodedSize <=- dstCapacity); -+ assert(decodedSize <= dstCapacity); - dst = (BYTE*)dst + decodedSize; - dstCapacity -= decodedSize; - diff --git a/ports/zstd/install_dll.patch b/ports/zstd/install_dll.patch deleted file mode 100644 index 569b481f1d33ed..00000000000000 --- a/ports/zstd/install_dll.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/build/cmake/lib/CMakeLists.txt b/build/cmake/lib/CMakeLists.txt -index 4274cbdd3..ea1b5f088 100644 ---- a/build/cmake/lib/CMakeLists.txt -+++ b/build/cmake/lib/CMakeLists.txt -@@ -163,6 +163,7 @@ install(TARGETS ${library_targets} - INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" - ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" - LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" -+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" - ) - - # uninstall target diff --git a/ports/zstd/install_pkgpc.patch b/ports/zstd/install_pkgpc.patch index 4936f05f6bbce8..61c8a956a5e371 100644 --- a/ports/zstd/install_pkgpc.patch +++ b/ports/zstd/install_pkgpc.patch @@ -1,13 +1,14 @@ diff --git a/build/cmake/lib/CMakeLists.txt b/build/cmake/lib/CMakeLists.txt -index 666da60c1..4274cbdd3 100644 +index 179c9762..f86efdbc 100644 --- a/build/cmake/lib/CMakeLists.txt +++ b/build/cmake/lib/CMakeLists.txt @@ -134,7 +134,7 @@ if (ZSTD_BUILD_STATIC) OUTPUT_NAME ${STATIC_LIBRARY_BASE_NAME}) endif () - --if (UNIX) + +-if (UNIX OR MINGW) +if (1) # pkg-config set(PREFIX "${CMAKE_INSTALL_PREFIX}") - set(LIBDIR "${CMAKE_INSTALL_LIBDIR}") + set(EXEC_PREFIX "\${prefix}") + \ No newline at end of file diff --git a/ports/zstd/portfile.cmake b/ports/zstd/portfile.cmake index 73cc2b18584a40..656ee5714a7657 100644 --- a/ports/zstd/portfile.cmake +++ b/ports/zstd/portfile.cmake @@ -1,14 +1,11 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO facebook/zstd - REF b706286adbba780006a47ef92df0ad7a785666b6 # v1.4.5 - SHA512 1be43e8cc1dad9dd59036f86a7dd579b8fcbf16b3ebae62f38aa0397f45ab0eab2e97e924cede40428fa9125a2e5e567694bb04a0c9ec0c4275a79cd2ef8eb11 + REF v1.4.9 + SHA512 f529db9c094f9ae26428bf1fdfcc91c6d783d400980e0f0d802d2cf13c2be2931465ef568907e03841ff76a369a1447e7371f8799d8526edb9a513ba5c6db133 HEAD_REF dev PATCHES - 0002-crosscompile-windows.patch - fix_assert.patch install_pkgpc.patch - install_dll.patch ) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") diff --git a/ports/zstd/vcpkg.json b/ports/zstd/vcpkg.json new file mode 100644 index 00000000000000..6ac7d4b521b5e0 --- /dev/null +++ b/ports/zstd/vcpkg.json @@ -0,0 +1,6 @@ +{ + "name": "zstd", + "version": "1.4.9", + "description": "Zstandard - Fast real-time compression algorithm", + "homepage": "https://facebook.github.io/zstd/" +} diff --git a/versions/baseline.json b/versions/baseline.json index a4d3b16e6f7528..5a417e53cfe0c5 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -6529,8 +6529,8 @@ "port-version": 0 }, "zstd": { - "baseline": "1.4.5", - "port-version": 1 + "baseline": "1.4.9", + "port-version": 0 }, "zstr": { "baseline": "1.0.4", diff --git a/versions/z-/zstd.json b/versions/z-/zstd.json index a4417103611d4b..8e7a2ef0f65768 100644 --- a/versions/z-/zstd.json +++ b/versions/z-/zstd.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "3a0ffa2a8fe8246a3937d9f6a77d577e351dd445", + "version": "1.4.9", + "port-version": 0 + }, { "git-tree": "b592e9dd5ab7aa6c1b46e0d23e0d31093edd73ca", "version-string": "1.4.5", From 338964e3ffd130f094c98f07ccbbb53578f8d633 Mon Sep 17 00:00:00 2001 From: Mathis Logemann Date: Thu, 1 Apr 2021 19:04:08 +0200 Subject: [PATCH 16/60] [mapbox-geometry,mapbox-polylabel,geojson-vt-cpp,geojson-cpp] new ports (#16838) * added geometry * added mapbox-polylabel * added versions * add port geojson-vt-cpp * add version * fix formatting * fix version * eh ok * version... * add geojson * add version * false version * fix internal version * use semver string Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> * fix versions * added mapbox prefix to name. fixed description * changed versions Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> --- ports/mapbox-geojson-cpp/portfile.cmake | 15 +++++++++++++++ ports/mapbox-geojson-cpp/vcpkg.json | 9 +++++++++ ports/mapbox-geojson-vt-cpp/portfile.cmake | 15 +++++++++++++++ ports/mapbox-geojson-vt-cpp/vcpkg.json | 9 +++++++++ ports/mapbox-geometry/portfile.cmake | 15 +++++++++++++++ ports/mapbox-geometry/vcpkg.json | 6 ++++++ ports/mapbox-polylabel/portfile.cmake | 15 +++++++++++++++ ports/mapbox-polylabel/vcpkg.json | 10 ++++++++++ versions/baseline.json | 16 ++++++++++++++++ versions/m-/mapbox-geojson-cpp.json | 9 +++++++++ versions/m-/mapbox-geojson-vt-cpp.json | 9 +++++++++ versions/m-/mapbox-geometry.json | 9 +++++++++ versions/m-/mapbox-polylabel.json | 9 +++++++++ 13 files changed, 146 insertions(+) create mode 100644 ports/mapbox-geojson-cpp/portfile.cmake create mode 100644 ports/mapbox-geojson-cpp/vcpkg.json create mode 100644 ports/mapbox-geojson-vt-cpp/portfile.cmake create mode 100644 ports/mapbox-geojson-vt-cpp/vcpkg.json create mode 100644 ports/mapbox-geometry/portfile.cmake create mode 100644 ports/mapbox-geometry/vcpkg.json create mode 100644 ports/mapbox-polylabel/portfile.cmake create mode 100644 ports/mapbox-polylabel/vcpkg.json create mode 100644 versions/m-/mapbox-geojson-cpp.json create mode 100644 versions/m-/mapbox-geojson-vt-cpp.json create mode 100644 versions/m-/mapbox-geometry.json create mode 100644 versions/m-/mapbox-polylabel.json diff --git a/ports/mapbox-geojson-cpp/portfile.cmake b/ports/mapbox-geojson-cpp/portfile.cmake new file mode 100644 index 00000000000000..7bef00f68d6c22 --- /dev/null +++ b/ports/mapbox-geojson-cpp/portfile.cmake @@ -0,0 +1,15 @@ +#header-only library + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO mapbox/geojson-cpp + REF v0.5.1 + SHA512 1282bd4a21773c8b300149abc95c4baea7c36facf283d05d18db246a40614625fab1a71e51190c1cdfc80852ea60b2727af9a679661bfede860d822306467037 + HEAD_REF master +) + +# Copy header files +file(COPY ${SOURCE_PATH}/include/mapbox/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/mapbox FILES_MATCHING PATTERN "*.hpp") + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/mapbox-geojson-cpp/vcpkg.json b/ports/mapbox-geojson-cpp/vcpkg.json new file mode 100644 index 00000000000000..e3a4f681f2b70b --- /dev/null +++ b/ports/mapbox-geojson-cpp/vcpkg.json @@ -0,0 +1,9 @@ +{ + "name": "mapbox-geojson-cpp", + "version-semver": "0.5.1", + "description": "A C++14 library for converting GeoJSON into geometry.hpp representation", + "homepage": "https://github.com/mapbox/geojson-cpp", + "dependencies": [ + "mapbox-geometry" + ] +} diff --git a/ports/mapbox-geojson-vt-cpp/portfile.cmake b/ports/mapbox-geojson-vt-cpp/portfile.cmake new file mode 100644 index 00000000000000..324fc9269ff24d --- /dev/null +++ b/ports/mapbox-geojson-vt-cpp/portfile.cmake @@ -0,0 +1,15 @@ +#header-only library + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO mapbox/geojson-vt-cpp + REF v6.6.4 + SHA512 8a78159112be3e6a1a477fbb92e7bd9645b0b174ab6db7ef72557e154d53c3a9fb818d62b6f0d0a5b8b8a9839132c523fb44efa038388d4cd2b46c5bea60d2da + HEAD_REF master +) + +# Copy header files +file(COPY ${SOURCE_PATH}/include/mapbox/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/mapbox FILES_MATCHING PATTERN "*.hpp") + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/mapbox-geojson-vt-cpp/vcpkg.json b/ports/mapbox-geojson-vt-cpp/vcpkg.json new file mode 100644 index 00000000000000..e12741484f117f --- /dev/null +++ b/ports/mapbox-geojson-vt-cpp/vcpkg.json @@ -0,0 +1,9 @@ +{ + "name": "mapbox-geojson-vt-cpp", + "version-semver": "6.6.4", + "description": "Port to C++ of JS GeoJSON-VT for slicing GeoJSON into vector tiles on the fly", + "homepage": "https://github.com/mapbox/geojson-vt-cpp", + "dependencies": [ + "mapbox-geometry" + ] +} diff --git a/ports/mapbox-geometry/portfile.cmake b/ports/mapbox-geometry/portfile.cmake new file mode 100644 index 00000000000000..9ee4065e927e0d --- /dev/null +++ b/ports/mapbox-geometry/portfile.cmake @@ -0,0 +1,15 @@ +#header-only library + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO mapbox/geometry.hpp + REF v2.0.3 + SHA512 76c10578e1fba44430786fb5e043dbc063aa251f62396701a509f7fa1e2e5c351fa0fe041d16be84bda9816ec5df3342cd9890da6fe99d78d6fb26e0a3b2485b + HEAD_REF master +) + +# Copy header files +file(COPY ${SOURCE_PATH}/include/mapbox/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/mapbox FILES_MATCHING PATTERN "*.hpp") + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/mapbox-geometry/vcpkg.json b/ports/mapbox-geometry/vcpkg.json new file mode 100644 index 00000000000000..bcde9b38a666c7 --- /dev/null +++ b/ports/mapbox-geometry/vcpkg.json @@ -0,0 +1,6 @@ +{ + "name": "mapbox-geometry", + "version-semver": "2.0.3", + "description": "C++ geometry types", + "homepage": "https://github.com/mapbox/geometry.hpp" +} diff --git a/ports/mapbox-polylabel/portfile.cmake b/ports/mapbox-polylabel/portfile.cmake new file mode 100644 index 00000000000000..a0c711699241d1 --- /dev/null +++ b/ports/mapbox-polylabel/portfile.cmake @@ -0,0 +1,15 @@ +#header-only library + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO mapbox/polylabel + REF v1.0.4 + SHA512 c337577545e072dbc43b5fc822e7a4fc9585051e24f6af76a3525faee7ab5c332915c43401629ad2e8f1f142f9e920f65347609607aec9394fd6bbc5d4936564 + HEAD_REF master +) + +# Copy header files +file(COPY ${SOURCE_PATH}/include/mapbox/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/mapbox FILES_MATCHING PATTERN "*.hpp") + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/mapbox-polylabel/vcpkg.json b/ports/mapbox-polylabel/vcpkg.json new file mode 100644 index 00000000000000..bb26bf6421162a --- /dev/null +++ b/ports/mapbox-polylabel/vcpkg.json @@ -0,0 +1,10 @@ +{ + "name": "mapbox-polylabel", + "version-semver": "1.0.4", + "description": "A fast algorithm for finding the pole of inaccessibility of a polygon (in JavaScript and C++)", + "homepage": "https://github.com/mapbox/polylabel", + "dependencies": [ + "mapbox-geometry", + "mapbox-variant" + ] +} diff --git a/versions/baseline.json b/versions/baseline.json index 5a417e53cfe0c5..f3f1a8f1b65113 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3776,6 +3776,22 @@ "baseline": "0.20.0", "port-version": 1 }, + "mapbox-geojson-cpp": { + "baseline": "0.5.1", + "port-version": 0 + }, + "mapbox-geojson-vt-cpp": { + "baseline": "6.6.4", + "port-version": 0 + }, + "mapbox-geometry": { + "baseline": "2.0.3", + "port-version": 0 + }, + "mapbox-polylabel": { + "baseline": "1.0.4", + "port-version": 0 + }, "mapbox-variant": { "baseline": "1.2.0", "port-version": 0 diff --git a/versions/m-/mapbox-geojson-cpp.json b/versions/m-/mapbox-geojson-cpp.json new file mode 100644 index 00000000000000..e68a78fe449622 --- /dev/null +++ b/versions/m-/mapbox-geojson-cpp.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "b49d52ff8e08ce5985c91e3690bf7a9866823bc1", + "version-semver": "0.5.1", + "port-version": 0 + } + ] +} diff --git a/versions/m-/mapbox-geojson-vt-cpp.json b/versions/m-/mapbox-geojson-vt-cpp.json new file mode 100644 index 00000000000000..a988ecd71d3ce1 --- /dev/null +++ b/versions/m-/mapbox-geojson-vt-cpp.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "61a9b2210212dbddceb433d2f61baa1da834ca8c", + "version-semver": "6.6.4", + "port-version": 0 + } + ] +} diff --git a/versions/m-/mapbox-geometry.json b/versions/m-/mapbox-geometry.json new file mode 100644 index 00000000000000..723cd74d0547da --- /dev/null +++ b/versions/m-/mapbox-geometry.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "ad46e4919724e089e2644999d7a93cac6beff79e", + "version-semver": "2.0.3", + "port-version": 0 + } + ] +} diff --git a/versions/m-/mapbox-polylabel.json b/versions/m-/mapbox-polylabel.json new file mode 100644 index 00000000000000..73bded4c3e0a03 --- /dev/null +++ b/versions/m-/mapbox-polylabel.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "964316686ad04d8fca92d15be807161886935979", + "version-semver": "1.0.4", + "port-version": 0 + } + ] +} From 7d40a546b87572e81c2d37f9aae6d4cd99bb9aaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jack=C2=B7Boos=C2=B7Yu?= <47264268+JackBoosY@users.noreply.github.com> Date: Fri, 2 Apr 2021 01:07:01 +0800 Subject: [PATCH 17/60] [vcpkg baseline][pangolin] Add options to dependencies to avoid finding them automatically (#17014) * [vcpkg baseline][pangolin] Add options to dependencies to avoid finding them automatically * update version record * switch to CMAKE_DISABLE_FIND_PACKAGE_PORT * bump version --- ports/pangolin/CONTROL | 7 ------- ports/pangolin/portfile.cmake | 12 ++++++++++++ ports/pangolin/vcpkg.json | 20 ++++++++++++++++++++ versions/baseline.json | 2 +- versions/p-/pangolin.json | 5 +++++ 5 files changed, 38 insertions(+), 8 deletions(-) delete mode 100644 ports/pangolin/CONTROL create mode 100644 ports/pangolin/vcpkg.json diff --git a/ports/pangolin/CONTROL b/ports/pangolin/CONTROL deleted file mode 100644 index 7d29b2e2dcee3d..00000000000000 --- a/ports/pangolin/CONTROL +++ /dev/null @@ -1,7 +0,0 @@ -Source: pangolin -Version: 0.5 -Port-Version: 12 -Build-Depends: eigen3, glew, libpng, libjpeg-turbo, ffmpeg[avformat] -Homepage: https://github.com/stevenlovegrove/Pangolin -Description: Lightweight GUI Library -Supports: !uwp & !osx diff --git a/ports/pangolin/portfile.cmake b/ports/pangolin/portfile.cmake index 303e697b482b63..df9c5bad806029 100644 --- a/ports/pangolin/portfile.cmake +++ b/ports/pangolin/portfile.cmake @@ -27,6 +27,18 @@ vcpkg_configure_cmake( -DBUILD_EXTERN_GLEW=OFF -DBUILD_EXTERN_LIBPNG=OFF -DBUILD_EXTERN_LIBJPEG=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_PythonLibs=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_TooN=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_DC1394=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_LibRealSense=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_OpenNI=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_OpenNI2=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_uvc=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_DepthSense=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_TeliCam=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_Pleora=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_TIFF=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_OpenEXR=OFF -DMSVC_USE_STATIC_CRT=${MSVC_USE_STATIC_CRT} ) diff --git a/ports/pangolin/vcpkg.json b/ports/pangolin/vcpkg.json new file mode 100644 index 00000000000000..32b6ba79695278 --- /dev/null +++ b/ports/pangolin/vcpkg.json @@ -0,0 +1,20 @@ +{ + "name": "pangolin", + "version-string": "0.5", + "port-version": 13, + "description": "Lightweight GUI Library", + "homepage": "https://github.com/stevenlovegrove/Pangolin", + "supports": "!uwp & !osx", + "dependencies": [ + "eigen3", + { + "name": "ffmpeg", + "features": [ + "avformat" + ] + }, + "glew", + "libjpeg-turbo", + "libpng" + ] +} diff --git a/versions/baseline.json b/versions/baseline.json index f3f1a8f1b65113..409aece97e1e0d 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -4594,7 +4594,7 @@ }, "pangolin": { "baseline": "0.5", - "port-version": 12 + "port-version": 13 }, "pangomm": { "baseline": "2.40.1", diff --git a/versions/p-/pangolin.json b/versions/p-/pangolin.json index dabe35abea93e4..0b309bc7d25d0e 100644 --- a/versions/p-/pangolin.json +++ b/versions/p-/pangolin.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "e746f01a619539fbbb0aae9b0edb9df733e555d7", + "version-string": "0.5", + "port-version": 13 + }, { "git-tree": "a27ee268db34edfd09ce5d0b51e574c7e6719931", "version-string": "0.5", From 5d1b3e8081ae45f22d85bccfd360f2af1f98fe17 Mon Sep 17 00:00:00 2001 From: JonLiu1993 <63675417+JonLiu1993@users.noreply.github.com> Date: Fri, 2 Apr 2021 01:29:15 +0800 Subject: [PATCH 18/60] [podofo] update to 0.9.7 (#16373) * [podofo] update to 0.9.7 * update version * [podofo] update to 0.9.7 * update version * fix-osx-error * Modify patch format * update version * Restore patch endline format * update version * update patch file * update version * update patch file * update version * revert the changes to this file * update version * revert the changes to this file * update version --- ports/podofo/0001-unique_ptr.patch | 198 ----------------------------- ports/podofo/0003-uwp_fix.patch | 8 +- ports/podofo/CONTROL | 10 -- ports/podofo/fix-x64-osx.patch | 13 ++ ports/podofo/portfile.cmake | 6 +- ports/podofo/vcpkg.json | 23 ++++ versions/baseline.json | 4 +- versions/p-/podofo.json | 5 + 8 files changed, 50 insertions(+), 217 deletions(-) delete mode 100644 ports/podofo/0001-unique_ptr.patch delete mode 100644 ports/podofo/CONTROL create mode 100644 ports/podofo/fix-x64-osx.patch create mode 100644 ports/podofo/vcpkg.json diff --git a/ports/podofo/0001-unique_ptr.patch b/ports/podofo/0001-unique_ptr.patch deleted file mode 100644 index 5c70e847120643..00000000000000 --- a/ports/podofo/0001-unique_ptr.patch +++ /dev/null @@ -1,198 +0,0 @@ -diff -ruNp a/src/base/PdfFilter.cpp b/src/base/PdfFilter.cpp ---- a/src/base/PdfFilter.cpp 2016-11-18 20:08:56.000000000 +0100 -+++ b/src/base/PdfFilter.cpp 2019-01-16 10:25:22.934430500 +0100 -@@ -131,7 +131,7 @@ class PdfFilteredEncodeStream : public P - - private: - PdfOutputStream* m_pOutputStream; -- std::auto_ptr m_filter; -+ std::unique_ptr m_filter; - }; - - /** Create a filter that is a PdfOutputStream. -@@ -206,7 +206,7 @@ class PdfFilteredDecodeStream : public P - - private: - PdfOutputStream* m_pOutputStream; -- std::auto_ptr m_filter; -+ std::unique_ptr m_filter; - bool m_bFilterFailed; - }; - -@@ -264,7 +264,7 @@ PdfFilterFactory::PdfFilterFactory() - { - } - --std::auto_ptr PdfFilterFactory::Create( const EPdfFilter eFilter ) -+std::unique_ptr PdfFilterFactory::Create( const EPdfFilter eFilter ) - { - PdfFilter* pFilter = NULL; - switch( eFilter ) -@@ -316,7 +316,7 @@ std::auto_ptr PdfFilterFactor - break; - } - -- return std::auto_ptr(pFilter); -+ return std::unique_ptr(pFilter); - } - - PdfOutputStream* PdfFilterFactory::CreateEncodeStream( const TVecFilters & filters, PdfOutputStream* pStream ) -diff -ruNp a/src/base/PdfFilter.h b/src/base/PdfFilter.h ---- a/src/base/PdfFilter.h 2016-11-18 20:08:56.000000000 +0100 -+++ b/src/base/PdfFilter.h 2019-01-16 10:25:22.981323900 +0100 -@@ -454,7 +454,7 @@ class PODOFO_API PdfFilterFactory { - public: - /** Create a filter from an enum. - * -- * Ownership is transferred to the caller, who should let the auto_ptr -+ * Ownership is transferred to the caller, who should let the unique_ptr - * the filter is returned in take care of freeing it when they're done - * with it. - * -@@ -463,7 +463,7 @@ class PODOFO_API PdfFilterFactory { - * \returns a new PdfFilter allocated using new, or NULL if no - * filter is available for this type. - */ -- static std::auto_ptr Create( const EPdfFilter eFilter ); -+ static std::unique_ptr Create( const EPdfFilter eFilter ); - - /** Create a PdfOutputStream that applies a list of filters - * on all data written to it. -diff -ruNp a/src/base/PdfMemStream.cpp b/src/base/PdfMemStream.cpp ---- a/src/base/PdfMemStream.cpp 2016-11-18 20:08:56.000000000 +0100 -+++ b/src/base/PdfMemStream.cpp 2019-01-16 10:25:23.479681200 +0100 -@@ -245,7 +245,7 @@ void PdfMemStream::FlateCompressStreamDa - if( !m_lLength ) - return; - -- std::auto_ptr pFilter = PdfFilterFactory::Create( ePdfFilter_FlateDecode ); -+ std::unique_ptr pFilter = PdfFilterFactory::Create( ePdfFilter_FlateDecode ); - if( pFilter.get() ) - { - pFilter->Encode( m_buffer.GetBuffer(), m_buffer.GetSize(), &pBuffer, &lLen ); -diff -ruNp a/src/base/PdfStream.cpp b/src/base/PdfStream.cpp ---- a/src/base/PdfStream.cpp 2016-11-18 20:08:56.000000000 +0100 -+++ b/src/base/PdfStream.cpp 2019-01-16 10:25:24.387075400 +0100 -@@ -91,9 +91,9 @@ void PdfStream::GetFilteredCopy( char** - PdfMemoryOutputStream stream; - if( vecFilters.size() ) - { -- // Use std::auto_ptr so that pDecodeStream is deleted -+ // Use std::unique_ptr so that pDecodeStream is deleted - // even in the case of an exception -- std::auto_ptr pDecodeStream( PdfFilterFactory::CreateDecodeStream( vecFilters, &stream, -+ std::unique_ptr pDecodeStream( PdfFilterFactory::CreateDecodeStream( vecFilters, &stream, - m_pParent ? - &(m_pParent->GetDictionary()) : NULL ) ); - -diff -ruNp a/src/base/PdfString.cpp b/src/base/PdfString.cpp ---- a/src/base/PdfString.cpp 2018-03-10 17:30:53.000000000 +0100 -+++ b/src/base/PdfString.cpp 2019-01-16 10:25:24.480799400 +0100 -@@ -673,7 +673,7 @@ PdfString PdfString::HexEncode() const - return *this; - else - { -- std::auto_ptr pFilter; -+ std::unique_ptr pFilter; - - pdf_long lLen = (m_buffer.GetSize() - 1) << 1; - PdfString str; -@@ -702,7 +702,7 @@ PdfString PdfString::HexDecode() const - return *this; - else - { -- std::auto_ptr pFilter; -+ std::unique_ptr pFilter; - - pdf_long lLen = m_buffer.GetSize() >> 1; - PdfString str; -diff -ruNp a/src/doc/PdfFont.cpp b/src/doc/PdfFont.cpp ---- a/src/doc/PdfFont.cpp 2016-05-13 16:04:34.000000000 +0200 -+++ b/src/doc/PdfFont.cpp 2019-01-16 10:25:26.372048300 +0100 -@@ -145,7 +145,7 @@ void PdfFont::WriteStringToStream( const - pdf_long lLen = 0; - char* pBuffer = NULL; - -- std::auto_ptr pFilter = PdfFilterFactory::Create( ePdfFilter_ASCIIHexDecode ); -+ std::unique_ptr pFilter = PdfFilterFactory::Create( ePdfFilter_ASCIIHexDecode ); - pFilter->Encode( buffer.GetBuffer(), buffer.GetSize(), &pBuffer, &lLen ); - - pStream->Append( "<", 1 ); -diff -ruNp a/src/doc/PdfPainter.cpp b/src/doc/PdfPainter.cpp ---- a/src/doc/PdfPainter.cpp 2018-03-06 15:04:03.000000000 +0100 -+++ b/src/doc/PdfPainter.cpp 2019-01-16 10:25:28.512159900 +0100 -@@ -829,7 +829,7 @@ void PdfPainter::DrawText( double dX, do - - /* - char* pBuffer; -- std::auto_ptr pFilter = PdfFilterFactory::Create( ePdfFilter_ASCIIHexDecode ); -+ std::unique_ptr pFilter = PdfFilterFactory::Create( ePdfFilter_ASCIIHexDecode ); - pFilter->Encode( sString.GetString(), sString.GetLength(), &pBuffer, &lLen ); - - m_pCanvas->Append( pBuffer, lLen ); -diff -ruNp a/test/CreationTest/CreationTest.cpp b/test/CreationTest/CreationTest.cpp ---- a/test/CreationTest/CreationTest.cpp 2018-02-25 12:48:38.000000000 +0100 -+++ b/test/CreationTest/CreationTest.cpp 2019-01-16 10:25:29.605315700 +0100 -@@ -37,7 +37,7 @@ void WriteStringToStream( const PdfStrin - pdf_long lLen = 0; - char* pBuffer = NULL; - -- std::auto_ptr pFilter = PdfFilterFactory::Create( ePdfFilter_ASCIIHexDecode ); -+ std::unique_ptr pFilter = PdfFilterFactory::Create( ePdfFilter_ASCIIHexDecode ); - pFilter->Encode( buffer.GetBuffer(), buffer.GetSize(), &pBuffer, &lLen ); - - oss << "<"; -diff -ruNp a/test/FilterTest/FilterTest.cpp b/test/FilterTest/FilterTest.cpp ---- a/test/FilterTest/FilterTest.cpp 2018-03-10 15:06:27.000000000 +0100 -+++ b/test/FilterTest/FilterTest.cpp 2019-01-16 10:25:29.777214800 +0100 -@@ -57,7 +57,7 @@ void test_filter( EPdfFilter eFilter, co - pdf_long lEncoded; - pdf_long lDecoded; - -- std::auto_ptr pFilter = PdfFilterFactory::Create( eFilter ); -+ std::unique_ptr pFilter = PdfFilterFactory::Create( eFilter ); - if( !pFilter.get() ) - { - printf("!!! Filter %i not implemented.\n", eFilter); -@@ -256,7 +256,7 @@ int main() - char* pLargeBuffer2 = static_cast(malloc( strlen(pszInputAscii85Lzw) * 6 )); - - try { -- std::auto_ptr pFilter = PdfFilterFactory::Create( ePdfFilter_ASCII85Decode ); -+ std::unique_ptr pFilter = PdfFilterFactory::Create( ePdfFilter_ASCII85Decode ); - pFilter->Decode( pszInputAscii85Lzw, strlen(pszInputAscii85Lzw), - &pLargeBuffer1, &lLargeBufer1 ); - pFilter->Encode( pLargeBuffer1, lLargeBufer1, -diff -ruNp a/test/VariantTest/VariantTest.cpp b/test/VariantTest/VariantTest.cpp ---- a/test/VariantTest/VariantTest.cpp 2010-10-21 19:09:00.000000000 +0200 -+++ b/test/VariantTest/VariantTest.cpp 2019-01-16 10:25:32.418465600 +0100 -@@ -124,7 +124,7 @@ int main() - printf("This test tests the PdfVariant class.\n"); - printf("---\n"); - -- std::auto_ptr pFilter = PdfFilterFactory::Create( ePdfFilter_ASCIIHexDecode ); -+ std::unique_ptr pFilter = PdfFilterFactory::Create( ePdfFilter_ASCIIHexDecode ); - - // testing strings - TEST_SAFE_OP( Test( "(Hallo Welt!)", ePdfDataType_String ) ); -diff -ruNp a/test/unit/FilterTest.cpp b/test/unit/FilterTest.cpp ---- a/test/unit/FilterTest.cpp 2016-05-12 22:25:45.000000000 +0200 -+++ b/test/unit/FilterTest.cpp 2019-01-16 10:25:31.464162600 +0100 -@@ -59,7 +59,7 @@ void FilterTest::TestFilter( EPdfFilter - pdf_long lEncoded; - pdf_long lDecoded; - -- std::auto_ptr pFilter = PdfFilterFactory::Create( eFilter ); -+ std::unique_ptr pFilter = PdfFilterFactory::Create( eFilter ); - if( !pFilter.get() ) - { - printf("!!! Filter %i not implemented.\n", eFilter); -@@ -123,7 +123,7 @@ void FilterTest::testFilters() - - void FilterTest::testCCITT() - { -- std::auto_ptr pFilter = PdfFilterFactory::Create( ePdfFilter_CCITTFaxDecode ); -+ std::unique_ptr pFilter = PdfFilterFactory::Create( ePdfFilter_CCITTFaxDecode ); - if( !pFilter.get() ) - { - printf("!!! ePdfFilter_CCITTFaxDecode not implemented skipping test!\n"); diff --git a/ports/podofo/0003-uwp_fix.patch b/ports/podofo/0003-uwp_fix.patch index 91872d7ebeafd6..4801447c7f9421 100644 --- a/ports/podofo/0003-uwp_fix.patch +++ b/ports/podofo/0003-uwp_fix.patch @@ -1,7 +1,7 @@ -diff --git a/src/base/PdfCompilerCompat.h b/src/base/PdfCompilerCompat.h -index 706875f..8efb349 100644 ---- a/src/base/PdfCompilerCompat.h -+++ b/src/base/PdfCompilerCompat.h +diff --git a/src/podofo/base/PdfCompilerCompat.h b/src/podofo/base/PdfCompilerCompat.h +index 146731d..7041712 100644 +--- a/src/podofo/base/PdfCompilerCompat.h ++++ b/src/podofo/base/PdfCompilerCompat.h @@ -113,6 +113,10 @@ #define NOMINMAX #endif diff --git a/ports/podofo/CONTROL b/ports/podofo/CONTROL deleted file mode 100644 index 80171a235842f9..00000000000000 --- a/ports/podofo/CONTROL +++ /dev/null @@ -1,10 +0,0 @@ -Source: podofo -Version: 0.9.6 -Port-Version: 13 -Homepage: https://sourceforge.net/projects/podofo/ -Description: PoDoFo is a library to work with the PDF file format -Build-Depends: zlib, libpng, libjpeg-turbo, tiff, openssl, freetype - -Feature: fontconfig -Description: Enable font manager support on Unix platforms. -Build-Depends: fontconfig diff --git a/ports/podofo/fix-x64-osx.patch b/ports/podofo/fix-x64-osx.patch new file mode 100644 index 00000000000000..621f0f68e8e43e --- /dev/null +++ b/ports/podofo/fix-x64-osx.patch @@ -0,0 +1,13 @@ +diff --git a/src/podofo/base/PdfDate.cpp b/src/podofo/base/PdfDate.cpp +index cefa221..75d80e4 100644 +--- a/src/podofo/base/PdfDate.cpp ++++ b/src/podofo/base/PdfDate.cpp +@@ -196,7 +196,7 @@ PdfDate::PdfDate( const PdfString & sDate ) + + strncpy(m_szDate,sDate.GetString(),PDF_DATE_BUFFER_SIZE); + +- struct tm _tm{}; ++ struct tm _tm; memset (&_tm, 0, sizeof(struct tm)); + _tm.tm_mday = 1; + + const char * pszDate = sDate.GetString(); diff --git a/ports/podofo/portfile.cmake b/ports/podofo/portfile.cmake index 8bde0930ee078b..b47fbaaf8a3a59 100644 --- a/ports/podofo/portfile.cmake +++ b/ports/podofo/portfile.cmake @@ -1,4 +1,4 @@ -set(PODOFO_VERSION 0.9.6) +set(PODOFO_VERSION 0.9.7) if (VCPKG_TARGET_IS_UWP) set(ADDITIONAL_PATCH "0003-uwp_fix.patch") @@ -9,13 +9,13 @@ vcpkg_from_sourceforge( REPO podofo/podofo REF ${PODOFO_VERSION} FILENAME "podofo-${PODOFO_VERSION}.tar.gz" - SHA512 35c1a457758768bdadc93632385f6b9214824fead279f1b85420443fb2135837cefca9ced476df0d47066f060e9150e12fcd40f60fa1606b177da433feb20130 + SHA512 0e699739c2fb7d4d02ffca371504bb19f3a8a97ddcbfc06f8d9636db9e73064b4f633f7f09bce92140bb2174610ad68c1e5f8460d474d176ab803ed28295251b PATCHES - 0001-unique_ptr.patch 0002-HAVE_UNISTD_H.patch freetype.patch ${ADDITIONAL_PATCH} 0005-fix-crypto.patch + fix-x64-osx.patch ) set(PODOFO_NO_FONTMANAGER ON) diff --git a/ports/podofo/vcpkg.json b/ports/podofo/vcpkg.json new file mode 100644 index 00000000000000..19429b858ad0f0 --- /dev/null +++ b/ports/podofo/vcpkg.json @@ -0,0 +1,23 @@ +{ + "name": "podofo", + "version": "0.9.7", + "description": "PoDoFo is a library to work with the PDF file format", + "homepage": "https://sourceforge.net/projects/podofo/", + "supports": "!uwp", + "dependencies": [ + "freetype", + "libjpeg-turbo", + "libpng", + "openssl", + "tiff", + "zlib" + ], + "features": { + "fontconfig": { + "description": "Enable font manager support on Unix platforms", + "dependencies": [ + "fontconfig" + ] + } + } +} diff --git a/versions/baseline.json b/versions/baseline.json index 409aece97e1e0d..4adebc09d3ec44 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -4773,8 +4773,8 @@ "port-version": 4 }, "podofo": { - "baseline": "0.9.6", - "port-version": 13 + "baseline": "0.9.7", + "port-version": 0 }, "poly2tri": { "baseline": "2020-07-21", diff --git a/versions/p-/podofo.json b/versions/p-/podofo.json index 42c72581c73fb6..58c25a330d288d 100644 --- a/versions/p-/podofo.json +++ b/versions/p-/podofo.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "5dd647995b24991182eb684029b8629eb6d66e43", + "version": "0.9.7", + "port-version": 0 + }, { "git-tree": "69967a79faa43c4d15f5fc533f44b3d095813d63", "version-string": "0.9.6", From c72572f731931927afb979fdfae9c067b14256f4 Mon Sep 17 00:00:00 2001 From: Nick Strupat Date: Thu, 1 Apr 2021 13:31:47 -0400 Subject: [PATCH 19/60] [antlr4] update to 4.9.1 (#16383) * [antlr4] update to 4.9.1 * update version * [antlr4] fix utfcpp dependency issue * fix version SHA to account for utfcpp patch * [antlr4] Minimize patch Co-authored-by: Jonliu1993 <13720414433@163.com> Co-authored-by: Robert Schumacher --- ports/antlr4/CONTROL | 3 +- ports/antlr4/fix_utfcpp_dependency.patch | 45 ++++++++++++++++++++++++ ports/antlr4/portfile.cmake | 12 ++++--- versions/a-/antlr4.json | 5 +++ versions/baseline.json | 4 +-- 5 files changed, 60 insertions(+), 9 deletions(-) create mode 100644 ports/antlr4/fix_utfcpp_dependency.patch diff --git a/ports/antlr4/CONTROL b/ports/antlr4/CONTROL index e483545287b2ea..64287d02b98440 100644 --- a/ports/antlr4/CONTROL +++ b/ports/antlr4/CONTROL @@ -1,6 +1,5 @@ Source: antlr4 -Version: 4.8 -Port-Version: 1 +Version: 4.9.1 Homepage: https://www.antlr.org Description: ANother Tool for Language Recognition Build-Depends: libuuid (!uwp&!windows&!osx) diff --git a/ports/antlr4/fix_utfcpp_dependency.patch b/ports/antlr4/fix_utfcpp_dependency.patch new file mode 100644 index 00000000000000..629e12f38ec2c9 --- /dev/null +++ b/ports/antlr4/fix_utfcpp_dependency.patch @@ -0,0 +1,45 @@ +diff --git a/runtime/Cpp/runtime/CMakeLists.txt b/runtime/Cpp/runtime/CMakeLists.txt +index a8503bb61..e7b01b7cb 100644 +--- a/runtime/CMakeLists.txt ++++ b/runtime/CMakeLists.txt +@@ -1,17 +1,3 @@ +- +-include(${CMAKE_ROOT}/Modules/ExternalProject.cmake) +- +-set(THIRDPARTY_DIR ${CMAKE_BINARY_DIR}/runtime/thirdparty) +-set(UTFCPP_DIR ${THIRDPARTY_DIR}/utfcpp) +-ExternalProject_Add( +- utfcpp +- GIT_REPOSITORY "git://github.com/nemtrif/utfcpp" +- GIT_TAG "v3.1.1" +- SOURCE_DIR ${UTFCPP_DIR} +- UPDATE_DISCONNECTED 1 +- CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${UTFCPP_DIR}/install -Dgtest_force_shared_crt=ON +- TEST_AFTER_INSTALL 1 +- STEP_TARGETS build) + + + include_directories( +@@ -23,8 +13,6 @@ include_directories( + ${PROJECT_SOURCE_DIR}/runtime/src/tree + ${PROJECT_SOURCE_DIR}/runtime/src/tree/pattern + ${PROJECT_SOURCE_DIR}/runtime/src/tree/xpath +- ${UTFCPP_DIR}/install/include/utf8cpp +- ${UTFCPP_DIR}/install/include/utf8cpp/utf8 + ) + + +@@ -131,13 +119,6 @@ install(DIRECTORY "${PROJECT_SOURCE_DIR}/runtime/src/" + FILES_MATCHING PATTERN "*.h" + ) + +-install(FILES "${UTFCPP_DIR}/source/utf8.h" +- DESTINATION "include/antlr4-runtime") +-install(DIRECTORY "${UTFCPP_DIR}/source/utf8" +- DESTINATION "include/antlr4-runtime" +- COMPONENT dev +- FILES_MATCHING PATTERN "*.h" +- ) + + + diff --git a/ports/antlr4/portfile.cmake b/ports/antlr4/portfile.cmake index 6ceaa3af9b711b..1770cabfc1dcac 100644 --- a/ports/antlr4/portfile.cmake +++ b/ports/antlr4/portfile.cmake @@ -1,11 +1,11 @@ vcpkg_fail_port_install(ON_TARGET "uwp") -set(VERSION 4.8) +set(VERSION 4.9.1) vcpkg_download_distfile(ARCHIVE URLS "http://www.antlr.org/download/antlr4-cpp-runtime-${VERSION}-source.zip" FILENAME "antlr4-cpp-runtime-${VERSION}-source.zip" - SHA512 df76a724e8acf29018ad122d909e1d43e7c8842e1c0df8022a3e8c840cb2b99de49cc148f75fef519b65ece9bd27b92cf0067c9099b664c127e80559c6492322 + SHA512 fe33005f73f8d408fcea8ebab62c0def119bbe0c075f04a66404d0df258126eb6caf0a8bbac34d5c4c9e79d4aa8896f32698a560d4be7d71a32dcc3457245cee ) # license not exist in antlr folder. @@ -20,9 +20,11 @@ vcpkg_extract_source_archive_ex( ARCHIVE ${ARCHIVE} NO_REMOVE_ONE_LEVEL REF ${VERSION} - PATCHES fixed_build.patch - uuid_discovery_fix.patch - export_guid.patch + PATCHES + fixed_build.patch + uuid_discovery_fix.patch + export_guid.patch + fix_utfcpp_dependency.patch ) vcpkg_configure_cmake( diff --git a/versions/a-/antlr4.json b/versions/a-/antlr4.json index d6c0f87550231e..fbf64088f79357 100644 --- a/versions/a-/antlr4.json +++ b/versions/a-/antlr4.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "846cffb150c26539ce36129c5a45d7ce54e6a1c8", + "version-string": "4.9.1", + "port-version": 0 + }, { "git-tree": "ed270bdb7075f6ed46cbe345c367ecb00ef64eff", "version-string": "4.8", diff --git a/versions/baseline.json b/versions/baseline.json index 4adebc09d3ec44..02e8935dbd8a10 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -81,8 +81,8 @@ "port-version": 2 }, "antlr4": { - "baseline": "4.8", - "port-version": 1 + "baseline": "4.9.1", + "port-version": 0 }, "any-lite": { "baseline": "0.2.0", From 4fb865b8b763fe149cf3af0598f0cd80a4686d53 Mon Sep 17 00:00:00 2001 From: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> Date: Fri, 2 Apr 2021 01:32:41 +0800 Subject: [PATCH 20/60] [protobuf] Fix deprecation warning in vcpkg_check_feature() (#16997) * [protobuf] Fix deprecation warning in vcpkg_check_feature() * Update versions * Update keyword * Update versions/p-/protobuf.json --- ports/protobuf/portfile.cmake | 3 ++- ports/protobuf/vcpkg.json | 2 +- versions/baseline.json | 2 +- versions/p-/protobuf.json | 5 +++++ 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/ports/protobuf/portfile.cmake b/ports/protobuf/portfile.cmake index 174b9617e9da1b..4628f56367a5a0 100644 --- a/ports/protobuf/portfile.cmake +++ b/ports/protobuf/portfile.cmake @@ -14,7 +14,8 @@ string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" protobuf_BUILD_SHARED_ string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" protobuf_MSVC_STATIC_RUNTIME) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - zlib protobuf_WITH_ZLIB + FEATURES + zlib protobuf_WITH_ZLIB ) if(VCPKG_TARGET_IS_UWP) diff --git a/ports/protobuf/vcpkg.json b/ports/protobuf/vcpkg.json index a33f12a6454833..d69019b82483d8 100644 --- a/ports/protobuf/vcpkg.json +++ b/ports/protobuf/vcpkg.json @@ -1,7 +1,7 @@ { "name": "protobuf", "version-string": "3.14.0", - "port-version": 3, + "port-version": 4, "description": "Protocol Buffers - Google's data interchange format", "homepage": "https://github.com/protocolbuffers/protobuf", "dependencies": [ diff --git a/versions/baseline.json b/versions/baseline.json index 02e8935dbd8a10..3714389082bf2b 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -4846,7 +4846,7 @@ }, "protobuf": { "baseline": "3.14.0", - "port-version": 3 + "port-version": 4 }, "protobuf-c": { "baseline": "1.3.2-2", diff --git a/versions/p-/protobuf.json b/versions/p-/protobuf.json index 20c3397f58023d..2c5861a4d518f6 100644 --- a/versions/p-/protobuf.json +++ b/versions/p-/protobuf.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "d60f4db7f63f55aa3b9be8c8848f2d492cab577f", + "version-string": "3.14.0", + "port-version": 4 + }, { "git-tree": "9f8c80db7cf8a925199facba3ba0c6c8436c41c8", "version-string": "3.14.0", From b05fe02703b4dcef51a5a616cd6a498d48b00d0c Mon Sep 17 00:00:00 2001 From: Kris Jusiak Date: Thu, 1 Apr 2021 11:33:58 -0600 Subject: [PATCH 21/60] [bext-di] Rename `boost-di` to `bext-di` (#16302) * Rename `boost-di` to `di` Problem: - `boost-di` is not an official Boost library and it shouldn't use boost name. Solution: - Rename it to `di` instead. * Update the port name to bext-di * Update the version Co-authored-by: Kris Jusiak Co-authored-by: PhoebeHui <20694052+PhoebeHui@users.noreply.github.com> --- ports/{boost-di => bext-di}/portfile.cmake | 2 +- ports/{boost-di => bext-di}/vcpkg.json | 2 +- versions/b-/bext-di.json | 9 +++++++++ versions/baseline.json | 4 ++++ 4 files changed, 15 insertions(+), 2 deletions(-) rename ports/{boost-di => bext-di}/portfile.cmake (95%) rename ports/{boost-di => bext-di}/vcpkg.json (86%) create mode 100644 versions/b-/bext-di.json diff --git a/ports/boost-di/portfile.cmake b/ports/bext-di/portfile.cmake similarity index 95% rename from ports/boost-di/portfile.cmake rename to ports/bext-di/portfile.cmake index 936eefcee7a381..8b123db7d2de4e 100644 --- a/ports/boost-di/portfile.cmake +++ b/ports/bext-di/portfile.cmake @@ -11,7 +11,7 @@ file(INSTALL ${SOURCE_PATH}/include/boost vcpkg_download_distfile(LICENSE URLS http://www.boost.org/LICENSE_1_0.txt - FILENAME "boost-di-copyright" + FILENAME "di-copyright" SHA512 d6078467835dba8932314c1c1e945569a64b065474d7aced27c9a7acc391d52e9f234138ed9f1aa9cd576f25f12f557e0b733c14891d42c16ecdc4a7bd4d60b8 ) file(INSTALL ${LICENSE} DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/boost-di/vcpkg.json b/ports/bext-di/vcpkg.json similarity index 86% rename from ports/boost-di/vcpkg.json rename to ports/bext-di/vcpkg.json index d1250851defaed..3278462b4b5ada 100644 --- a/ports/boost-di/vcpkg.json +++ b/ports/bext-di/vcpkg.json @@ -1,5 +1,5 @@ { - "name": "boost-di", + "name": "bext-di", "version-string": "1.2.0", "description": "C++14 Dependency Injection Library.", "homepage": "https://github.com/boost-ext/di" diff --git a/versions/b-/bext-di.json b/versions/b-/bext-di.json new file mode 100644 index 00000000000000..d0526b9c9d523e --- /dev/null +++ b/versions/b-/bext-di.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "a77676231f3c6c3fe9c145bfe670cfae495fb8ac", + "version-string": "1.2.0", + "port-version": 0 + } + ] +} diff --git a/versions/baseline.json b/versions/baseline.json index 3714389082bf2b..2ca9b999d7c580 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -332,6 +332,10 @@ "baseline": "4.8.30", "port-version": 5 }, + "bext-di": { + "baseline": "1.2.0", + "port-version": 0 + }, "bfgroup-lyra": { "baseline": "1.5", "port-version": 1 From 67d8f453e5c6dbf6f6eefe223cddb721f6189c6d Mon Sep 17 00:00:00 2001 From: Park DongHa Date: Fri, 2 Apr 2021 02:36:07 +0900 Subject: [PATCH 22/60] [fp16] create a new port (#16340) * [psimd] create a new port * [psimd] update baseline and port SHA * [fp16] create a new port * [fp16] update baseline and port SHA * [fp16] apply PR feedback --- ports/fp16/find-psimd.patch | 31 +++++++++++++++++++++++++++++++ ports/fp16/portfile.cmake | 19 +++++++++++++++++++ ports/fp16/vcpkg.json | 9 +++++++++ versions/baseline.json | 4 ++++ versions/f-/fp16.json | 9 +++++++++ 5 files changed, 72 insertions(+) create mode 100644 ports/fp16/find-psimd.patch create mode 100644 ports/fp16/portfile.cmake create mode 100644 ports/fp16/vcpkg.json create mode 100644 versions/f-/fp16.json diff --git a/ports/fp16/find-psimd.patch b/ports/fp16/find-psimd.patch new file mode 100644 index 00000000000000..6eeed9aa714ac6 --- /dev/null +++ b/ports/fp16/find-psimd.patch @@ -0,0 +1,31 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -33,7 +33,8 @@ SET(CONFU_DEPENDENCIES_SOURCE_DIR ${CMAKE_SOURCE_DIR}/deps + SET(CONFU_DEPENDENCIES_BINARY_DIR ${CMAKE_BINARY_DIR}/deps + CACHE PATH "Confu-style dependencies binary directory") + +-IF(NOT DEFINED PSIMD_SOURCE_DIR) ++find_path(PSIMD_INCLUDE_DIRS "psimd.h") ++IF(FALSE) + MESSAGE(STATUS "Downloading PSimd to ${CONFU_DEPENDENCIES_SOURCE_DIR}/psimd (define PSIMD_SOURCE_DIR to avoid it)") + CONFIGURE_FILE(cmake/DownloadPSimd.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/psimd-download/CMakeLists.txt") + EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" . +@@ -76,7 +77,7 @@ ELSE() + ENDIF() + TARGET_INCLUDE_DIRECTORIES(fp16 INTERFACE + $ +- $) ++ $ $) + + INSTALL(FILES include/fp16.h + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) +@@ -90,7 +91,7 @@ INSTALL(FILES + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/fp16) + + # ---[ Configure psimd +-IF(NOT TARGET psimd) ++IF(FALSE) + ADD_SUBDIRECTORY( + "${PSIMD_SOURCE_DIR}" + "${CONFU_DEPENDENCIES_BINARY_DIR}/psimd") diff --git a/ports/fp16/portfile.cmake b/ports/fp16/portfile.cmake new file mode 100644 index 00000000000000..101255b8b908bf --- /dev/null +++ b/ports/fp16/portfile.cmake @@ -0,0 +1,19 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Maratyszcza/fp16 + REF 4dfe081cf6bcd15db339cf2680b9281b8451eeb3 + SHA512 e79a1f6f8d4aeca85982158d5b070923d31d4f2062ed84cfa6f26c47a34f2e8ac49e0f330b7d49f5732d5e1eec6e7afccdac43645070060fb7827e2ce261dd3e + PATCHES + find-psimd.patch +) +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DFP16_BUILD_TESTS=OFF + -DFP16_BUILD_BENCHMARKS=OFF +) +vcpkg_install_cmake() + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) diff --git a/ports/fp16/vcpkg.json b/ports/fp16/vcpkg.json new file mode 100644 index 00000000000000..76eac902f7e055 --- /dev/null +++ b/ports/fp16/vcpkg.json @@ -0,0 +1,9 @@ +{ + "name": "fp16", + "version-date": "2021-02-21", + "description": "Header-only library for conversion to/from half-precision floating point formats", + "homepage": "https://github.com/Maratyszcza/FP16", + "dependencies": [ + "psimd" + ] +} diff --git a/versions/baseline.json b/versions/baseline.json index 2ca9b999d7c580..dc9e7da9efacdc 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -2036,6 +2036,10 @@ "baseline": "1.0.5", "port-version": 0 }, + "fp16": { + "baseline": "2021-02-21", + "port-version": 0 + }, "fplus": { "baseline": "0.2.13-p0", "port-version": 0 diff --git a/versions/f-/fp16.json b/versions/f-/fp16.json new file mode 100644 index 00000000000000..2785c93e5b7465 --- /dev/null +++ b/versions/f-/fp16.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "849acf1f87e0194fda4cd5459e51c564874c60ed", + "version-date": "2021-02-21", + "port-version": 0 + } + ] +} From c095d5a2713edc21b1afa829fee10be20ad41b5a Mon Sep 17 00:00:00 2001 From: Park DongHa Date: Fri, 2 Apr 2021 02:37:58 +0900 Subject: [PATCH 23/60] [pthreadpool] create a new port (#16342) * [fxdiv] create a new port * [fxdiv] update baseline and port SHA * [pthreadpool] create a new port * [pthreadpool] update baseline and port SHA * [pthreadpool] update deps for uwp * [pthreadpool] apply PR feedback * [pthreadpool] remove unnecessary work in portfile --- ports/pthreadpool/fix-cmakelists.patch | 65 ++++++++++++++++++++++++++ ports/pthreadpool/portfile.cmake | 25 ++++++++++ ports/pthreadpool/vcpkg.json | 14 ++++++ versions/baseline.json | 4 ++ versions/p-/pthreadpool.json | 9 ++++ 5 files changed, 117 insertions(+) create mode 100644 ports/pthreadpool/fix-cmakelists.patch create mode 100644 ports/pthreadpool/portfile.cmake create mode 100644 ports/pthreadpool/vcpkg.json create mode 100644 versions/p-/pthreadpool.json diff --git a/ports/pthreadpool/fix-cmakelists.patch b/ports/pthreadpool/fix-cmakelists.patch new file mode 100644 index 00000000000000..2f56f6b9bfe643 --- /dev/null +++ b/ports/pthreadpool/fix-cmakelists.patch @@ -0,0 +1,65 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -4,8 +4,6 @@ CMAKE_MINIMUM_REQUIRED(VERSION 3.5 FATAL_ERROR) + PROJECT(pthreadpool C CXX) + + # ---[ Options. +-SET(PTHREADPOOL_LIBRARY_TYPE "default" CACHE STRING "Type of library (shared, static, or default) to build") +-SET_PROPERTY(CACHE PTHREADPOOL_LIBRARY_TYPE PROPERTY STRINGS default static shared) + OPTION(PTHREADPOOL_ALLOW_DEPRECATED_API "Enable deprecated API functions" ON) + SET(PTHREADPOOL_SYNC_PRIMITIVE "default" CACHE STRING "Synchronization primitive (condvar, futex, gcd, event, or default) for worker threads") + SET_PROPERTY(CACHE PTHREADPOOL_SYNC_PRIMITIVE PROPERTY STRINGS default condvar futex gcd event) +@@ -14,7 +12,7 @@ IF(CMAKE_SYSTEM_PROCESSOR MATCHES "^(i[3-6]86|AMD64|x86(_64)?)$") + ELSE() + OPTION(PTHREADPOOL_ENABLE_FASTPATH "Enable fast path using atomic decrement instead of atomic compare-and-swap" OFF) + ENDIF() +-IF("${CMAKE_SOURCE_DIR}" STREQUAL "${PROJECT_SOURCE_DIR}") ++IF(FALSE) + OPTION(PTHREADPOOL_BUILD_TESTS "Build pthreadpool unit tests" ON) + OPTION(PTHREADPOOL_BUILD_BENCHMARKS "Build pthreadpool micro-benchmarks" ON) + ELSE() +@@ -36,7 +34,8 @@ MACRO(PTHREADPOOL_TARGET_ENABLE_CXX11 target) + ENDMACRO() + + # ---[ Download deps +-IF(NOT DEFINED FXDIV_SOURCE_DIR) ++find_path(FXDIV_INCLUDE_DIRS "fxdiv.h") ++IF(FALSE) + MESSAGE(STATUS "Downloading FXdiv to ${CMAKE_BINARY_DIR}/FXdiv-source (define FXDIV_SOURCE_DIR to avoid it)") + CONFIGURE_FILE(cmake/DownloadFXdiv.cmake "${CMAKE_BINARY_DIR}/FXdiv-download/CMakeLists.txt") + EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" . +@@ -93,15 +92,7 @@ IF(NOT PTHREADPOOL_ALLOW_DEPRECATED_API) + ENDIF() + INSTALL(FILES include/pthreadpool.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + +-IF(PTHREADPOOL_LIBRARY_TYPE STREQUAL "default") +- ADD_LIBRARY(pthreadpool ${PTHREADPOOL_SRCS}) +-ELSEIF(PTHREADPOOL_LIBRARY_TYPE STREQUAL "shared") +- ADD_LIBRARY(pthreadpool SHARED ${PTHREADPOOL_SRCS}) +-ELSEIF(PTHREADPOOL_LIBRARY_TYPE STREQUAL "static") +- ADD_LIBRARY(pthreadpool STATIC ${PTHREADPOOL_SRCS}) +-ELSE() +- MESSAGE(FATAL_ERROR "Unsupported library type ${PTHREADPOOL_LIBRARY_TYPE}") +-ENDIF() ++ADD_LIBRARY(pthreadpool ${PTHREADPOOL_SRCS}) + + IF(PTHREADPOOL_SYNC_PRIMITIVE STREQUAL "condvar") + TARGET_COMPILE_DEFINITIONS(pthreadpool PRIVATE PTHREADPOOL_USE_FUTEX=0) +@@ -150,14 +141,14 @@ IF(CMAKE_SYSTEM_NAME STREQUAL "Linux") + ENDIF() + + # ---[ Configure FXdiv +-IF(NOT TARGET fxdiv) ++IF(FALSE) + SET(FXDIV_BUILD_TESTS OFF CACHE BOOL "") + SET(FXDIV_BUILD_BENCHMARKS OFF CACHE BOOL "") + ADD_SUBDIRECTORY( + "${FXDIV_SOURCE_DIR}" + "${CMAKE_BINARY_DIR}/FXdiv") + ENDIF() +-TARGET_LINK_LIBRARIES(pthreadpool PRIVATE fxdiv) ++TARGET_INCLUDE_DIRECTORIES(pthreadpool PRIVATE ${FXDIV_INCLUDE_DIRS}) + + INSTALL(TARGETS pthreadpool + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} diff --git a/ports/pthreadpool/portfile.cmake b/ports/pthreadpool/portfile.cmake new file mode 100644 index 00000000000000..f3be9109275692 --- /dev/null +++ b/ports/pthreadpool/portfile.cmake @@ -0,0 +1,25 @@ +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Maratyszcza/pthreadpool + REF b4589998be9a0f794236cf46f1b5b232b2b15ca3 # there is a too much gap from the last release... + SHA512 8459e489a41c38f4dbe6c4401ebe624c7dc4685181b0852c2284f0e413a192ae9fd1ffd9b43fd97b7fd95dbda4970bc71d8c1eba8e33afa9efea74440f00803d + PATCHES + fix-cmakelists.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DPTHREADPOOL_BUILD_TESTS=OFF + -DPTHREADPOOL_BUILD_BENCHMARKS=OFF +) +vcpkg_install_cmake() +vcpkg_copy_pdbs() + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) diff --git a/ports/pthreadpool/vcpkg.json b/ports/pthreadpool/vcpkg.json new file mode 100644 index 00000000000000..e3924a69836df5 --- /dev/null +++ b/ports/pthreadpool/vcpkg.json @@ -0,0 +1,14 @@ +{ + "name": "pthreadpool", + "version-date": "2020-02-21", + "description": "Portable (POSIX/Windows/Emscripten) thread pool for C/C++", + "homepage": "https://github.com/Maratyszcza/pthreadpool", + "supports": "!uwp", + "dependencies": [ + "fxdiv", + { + "name": "pthreads", + "platform": "uwp" + } + ] +} diff --git a/versions/baseline.json b/versions/baseline.json index dc9e7da9efacdc..3dd4baa61d2db3 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -4888,6 +4888,10 @@ "baseline": "3.0.0", "port-version": 0 }, + "pthreadpool": { + "baseline": "2020-02-21", + "port-version": 0 + }, "pthreads": { "baseline": "3.0.0-6", "port-version": 0 diff --git a/versions/p-/pthreadpool.json b/versions/p-/pthreadpool.json new file mode 100644 index 00000000000000..09c0ab0156ee8a --- /dev/null +++ b/versions/p-/pthreadpool.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "9c1519f2cc1eb186ccd706a4f634350877da6dba", + "version-date": "2020-02-21", + "port-version": 0 + } + ] +} From 6563298448e5d5b6c1b8b12de074d6e711385946 Mon Sep 17 00:00:00 2001 From: Niel <60291810+cpp-niel@users.noreply.github.com> Date: Thu, 1 Apr 2021 19:39:10 +0200 Subject: [PATCH 24/60] [mfl] Add new port (#16345) * Add control and portfile for mfl port * Add mfl port * reference version better header inclusion * reference version with fmt linkage * Apply suggestions from code review Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> * Set ports that don't build to fail in the ci baseline * add version * Check for static linkage and add message about C++20 requirements. * add fail to ci baseline for dynamic windows builds * version update * Code review improvements - Improve warning message that the port requires a C++20 compiler - Use `version` rather than `version-string` in manifest - Use `"supports": "static"` in manifest instead of setting dynamic builds to `fail` in ci baseline. * update version Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> --- ports/mfl/portfile.cmake | 24 ++++++++++++++++++++++++ ports/mfl/vcpkg.json | 16 ++++++++++++++++ scripts/ci.baseline.txt | 1 + versions/baseline.json | 4 ++++ versions/m-/mfl.json | 9 +++++++++ 5 files changed, 54 insertions(+) create mode 100644 ports/mfl/portfile.cmake create mode 100644 ports/mfl/vcpkg.json create mode 100644 versions/m-/mfl.json diff --git a/ports/mfl/portfile.cmake b/ports/mfl/portfile.cmake new file mode 100644 index 00000000000000..3bb9cbceb5d53b --- /dev/null +++ b/ports/mfl/portfile.cmake @@ -0,0 +1,24 @@ +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +message(WARNING "${PORT} is a C++20 library and requires a corresponding compiler. GCC 10, Clang 10 and MSVC 2019 16.8 are known to work.") + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO cpp-niel/mfl + REF v0.0.1 + SHA512 a609b4ff23a01e9f9d9bf60bfa6e0b2346b054cf0c27e74e6da574dcfd2a6ead30dcb8464cf03cae2bb9995f15f01ffda5f862c0ec2744a9ad38b856ff27f073 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/mfl) + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/mfl/vcpkg.json b/ports/mfl/vcpkg.json new file mode 100644 index 00000000000000..88dc46f3c03f62 --- /dev/null +++ b/ports/mfl/vcpkg.json @@ -0,0 +1,16 @@ +{ + "name": "mfl", + "version": "0.0.1", + "description": "Computes the layout information for mathematical formulas provided in TeX-like syntax.", + "homepage": "https://github.com/cpp-niel/mfl", + "license": "MIT", + "supports": "static", + "dependencies": [ + "cairo", + "doctest", + "fmt", + "freetype", + "harfbuzz", + "range-v3" + ] +} diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 2d52fbcbee06d1..b11c3963f04c8a 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -922,6 +922,7 @@ meschach:x64-osx=fail meschach:x64-uwp=fail metis:arm-uwp=fail metis:x64-uwp=fail +mfl:x64-linux=skip mhook:arm64-windows=fail mhook:arm-uwp=fail mhook:x64-linux=fail diff --git a/versions/baseline.json b/versions/baseline.json index 3dd4baa61d2db3..1091abbad08afb 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3876,6 +3876,10 @@ "baseline": "1.1.3", "port-version": 4 }, + "mfl": { + "baseline": "0.0.1", + "port-version": 0 + }, "mgnlibs": { "baseline": "2019-09-29", "port-version": 0 diff --git a/versions/m-/mfl.json b/versions/m-/mfl.json new file mode 100644 index 00000000000000..37f9797621be83 --- /dev/null +++ b/versions/m-/mfl.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "a01a0e6d38ab404c3ae58d21d734969a089ef82c", + "version": "0.0.1", + "port-version": 0 + } + ] +} From c02feb90c2e321ec0cc99e5651c4fa9827dcdf1c Mon Sep 17 00:00:00 2001 From: autoantwort <41973254+autoantwort@users.noreply.github.com> Date: Thu, 1 Apr 2021 19:39:35 +0200 Subject: [PATCH 25/60] vcpkg_copy_tool_dependencies: show description how to install powershell (#16347) --- scripts/cmake/vcpkg_copy_tool_dependencies.cmake | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts/cmake/vcpkg_copy_tool_dependencies.cmake b/scripts/cmake/vcpkg_copy_tool_dependencies.cmake index 73a9cc4e6275b7..0cb0bbcefbf48d 100644 --- a/scripts/cmake/vcpkg_copy_tool_dependencies.cmake +++ b/scripts/cmake/vcpkg_copy_tool_dependencies.cmake @@ -23,6 +23,9 @@ function(vcpkg_copy_tool_dependencies TOOL_DIR) if (VCPKG_TARGET_IS_WINDOWS) find_program(PWSH_EXE pwsh) if (NOT PWSH_EXE) + if(UNIX AND NOT CYGWIN) + message(FATAL_ERROR "Could not find PowerShell Core; install PowerShell Core as described here: https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell-core-on-linux") + endif() message(FATAL_ERROR "Could not find PowerShell Core; please open an issue to report this.") endif() macro(search_for_dependencies PATH_TO_SEARCH) From fecd9f144977ec6d327e334bb67d54c44e992741 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jack=C2=B7Boos=C2=B7Yu?= <47264268+JackBoosY@users.noreply.github.com> Date: Fri, 2 Apr 2021 01:41:01 +0800 Subject: [PATCH 26/60] [ceres] Fix static library path on Linux (#15362) * [ceres] Fix static library path on Linux * [ceres] Bump version * update version record --- ports/ceres/0004_fix_lib_path_linux.patch | 13 +++++++++++++ ports/ceres/portfile.cmake | 1 + ports/ceres/vcpkg.json | 2 +- versions/baseline.json | 2 +- versions/c-/ceres.json | 5 +++++ 5 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 ports/ceres/0004_fix_lib_path_linux.patch diff --git a/ports/ceres/0004_fix_lib_path_linux.patch b/ports/ceres/0004_fix_lib_path_linux.patch new file mode 100644 index 00000000000000..e2c9c56b4ffba1 --- /dev/null +++ b/ports/ceres/0004_fix_lib_path_linux.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f24ce30..8e5759b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -192,7 +192,7 @@ endif() + # install native libraries to lib64 rather than lib. Most distros seem to + # follow this convention with a couple notable exceptions (Debian-based and + # Arch-based distros) which we try to detect here. +-if (CMAKE_SYSTEM_NAME MATCHES "Linux" AND ++if (0 AND CMAKE_SYSTEM_NAME MATCHES "Linux" AND + NOT DEFINED LIB_SUFFIX AND + NOT CMAKE_CROSSCOMPILING AND + CMAKE_SIZEOF_VOID_P EQUAL "8" AND diff --git a/ports/ceres/portfile.cmake b/ports/ceres/portfile.cmake index 6b67a7797b7ee8..78fff33b68ee6a 100644 --- a/ports/ceres/portfile.cmake +++ b/ports/ceres/portfile.cmake @@ -16,6 +16,7 @@ vcpkg_from_github( 0001_cmakelists_fixes.patch 0002_use_glog_target.patch 0003_fix_exported_ceres_config.patch + 0004_fix_lib_path_linux.patch find-package-required.patch ) diff --git a/ports/ceres/vcpkg.json b/ports/ceres/vcpkg.json index 55e5b30e1752d1..927a150a23a3f7 100644 --- a/ports/ceres/vcpkg.json +++ b/ports/ceres/vcpkg.json @@ -1,7 +1,7 @@ { "name": "ceres", "version-semver": "2.0.0", - "port-version": 3, + "port-version": 4, "description": "non-linear optimization package", "homepage": "https://github.com/ceres-solver/ceres-solver", "dependencies": [ diff --git a/versions/baseline.json b/versions/baseline.json index 1091abbad08afb..2cdf055389f4f8 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -1138,7 +1138,7 @@ }, "ceres": { "baseline": "2.0.0", - "port-version": 3 + "port-version": 4 }, "cfitsio": { "baseline": "3.49", diff --git a/versions/c-/ceres.json b/versions/c-/ceres.json index 0ea9c26c4e584e..c4607a3ae012be 100644 --- a/versions/c-/ceres.json +++ b/versions/c-/ceres.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "ba834e4ef32213f516d2b0539240ba4cc4a9c90a", + "version-semver": "2.0.0", + "port-version": 4 + }, { "git-tree": "bfe64de75017dfef5a1dbd6b034078a0316201c8", "version-semver": "2.0.0", From cd7f976e99c2b2ee4c6d2ac55e6e6ed206c4865c Mon Sep 17 00:00:00 2001 From: Julian Scholle Date: Thu, 1 Apr 2021 19:44:04 +0200 Subject: [PATCH 27/60] [sciplot] Add new port (#15913) * add sciplot port * port should also work on all platforms, as long as gnuplot can be installed * add version information to vcpkg * disable uwp in build pipeline and fix version SHA * uwp not supported * fix version sha * Use vcpkg.json and bump version to 0.2.2 * add sciplot version * [sciplot] Remove inaccessible 0.1 port Co-authored-by: Robert Schumacher --- ports/sciplot/portfile.cmake | 22 ++++++++++++++++++++++ ports/sciplot/vcpkg.json | 7 +++++++ versions/baseline.json | 4 ++++ versions/s-/sciplot.json | 9 +++++++++ 4 files changed, 42 insertions(+) create mode 100644 ports/sciplot/portfile.cmake create mode 100644 ports/sciplot/vcpkg.json create mode 100644 versions/s-/sciplot.json diff --git a/ports/sciplot/portfile.cmake b/ports/sciplot/portfile.cmake new file mode 100644 index 00000000000000..c6a369eb6bc180 --- /dev/null +++ b/ports/sciplot/portfile.cmake @@ -0,0 +1,22 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO sciplot/sciplot + REF v0.2.2 + SHA512 2e7646e0fd52643bf86c09466d921d7b6a53349cd113e15177c3389654e0489df1d56f5fdcad7fc73834e632fff0a303d1366688ac7bb11937d49babd0742a7f + HEAD_REF vcpkg +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH share/sciplot) + +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/sciplot/vcpkg.json b/ports/sciplot/vcpkg.json new file mode 100644 index 00000000000000..0fdf43a09f7e65 --- /dev/null +++ b/ports/sciplot/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "sciplot", + "version": "0.2.2", + "description": "A modern c++ scientific plotting library powered by gnuplot", + "homepage": "https://github.com/sciplot/sciplot", + "supports": "!uwp" +} diff --git a/versions/baseline.json b/versions/baseline.json index 2cdf055389f4f8..556e2b77b1f802 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -5388,6 +5388,10 @@ "baseline": "4.4.6", "port-version": 0 }, + "sciplot": { + "baseline": "0.2.2", + "port-version": 0 + }, "sciter": { "baseline": "4.4.3.20", "port-version": 0 diff --git a/versions/s-/sciplot.json b/versions/s-/sciplot.json new file mode 100644 index 00000000000000..ff250aea145d12 --- /dev/null +++ b/versions/s-/sciplot.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "6d01187d3c940b9bf5b3f35902469959fe640a6c", + "version": "0.2.2", + "port-version": 0 + } + ] +} From 2afee4c5aad8f936ea2bbe58dcdff96d2eadc258 Mon Sep 17 00:00:00 2001 From: Carlos O'Ryan Date: Fri, 2 Apr 2021 15:38:26 -0400 Subject: [PATCH 28/60] [google-cloud-cpp] update to the latest release (v1.26.0) (#17027) * [google-cloud-cpp] update to the latest release (v1.26.0) * Reset port version after update --- ports/google-cloud-cpp/portfile.cmake | 4 ++-- ports/google-cloud-cpp/vcpkg.json | 3 +-- versions/baseline.json | 4 ++-- versions/g-/google-cloud-cpp.json | 5 +++++ 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/ports/google-cloud-cpp/portfile.cmake b/ports/google-cloud-cpp/portfile.cmake index f597e30ae479da..459755ac03671f 100644 --- a/ports/google-cloud-cpp/portfile.cmake +++ b/ports/google-cloud-cpp/portfile.cmake @@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO googleapis/google-cloud-cpp - REF v1.25.0 - SHA512 db1803b9de38028a171d3b295b85da5dd36f150c78f2ec523f24eb67998c27d06584aa26e572cab8508841cb469c980304501b87f4157a8020f85bc733f968b5 + REF v1.26.0 + SHA512 686b6390c9b64075d4644db4c9b19c3f01d53a2385dc85028e3277361e21fe834ddc1248c5ac6c63ff3c87d3a21de229ea77d3bec8480a0904ed0126e2e619f6 HEAD_REF master PATCHES disable-benchmarks.patch diff --git a/ports/google-cloud-cpp/vcpkg.json b/ports/google-cloud-cpp/vcpkg.json index 07eb59b4ff9223..22ccda6a422a38 100644 --- a/ports/google-cloud-cpp/vcpkg.json +++ b/ports/google-cloud-cpp/vcpkg.json @@ -1,7 +1,6 @@ { "name": "google-cloud-cpp", - "version": "1.25.0", - "port-version": 3, + "version": "1.26.0", "description": "C++ Client Libraries for Google Cloud Platform APIs.", "homepage": "https://github.com/googleapis/google-cloud-cpp", "license": "Apache-2.0", diff --git a/versions/baseline.json b/versions/baseline.json index 556e2b77b1f802..ea0d48d37fafe0 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -2289,8 +2289,8 @@ "port-version": 4 }, "google-cloud-cpp": { - "baseline": "1.25.0", - "port-version": 3 + "baseline": "1.26.0", + "port-version": 0 }, "google-cloud-cpp-common": { "baseline": "alias", diff --git a/versions/g-/google-cloud-cpp.json b/versions/g-/google-cloud-cpp.json index 8b66640c677fcb..30575bbe2b44f6 100644 --- a/versions/g-/google-cloud-cpp.json +++ b/versions/g-/google-cloud-cpp.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "249151585040064668071c55f2cd0e4ec1fae8c5", + "version": "1.26.0", + "port-version": 0 + }, { "git-tree": "83200cc9220f1d5da7d7367321597708cf4ee044", "version": "1.25.0", From 92608fb8b00384c504e95ffd4f5b84f5c492fa8a Mon Sep 17 00:00:00 2001 From: Angus Comrie Date: Fri, 2 Apr 2021 21:39:17 +0200 Subject: [PATCH 29/60] [vtk] enables openvr module when openvr is listed (#17015) * enables openvr module when openvr is listed * bumped port number * add version bump to json files --- ports/vtk/CONTROL | 2 +- ports/vtk/portfile.cmake | 6 ++++++ versions/baseline.json | 2 +- versions/v-/vtk.json | 5 +++++ 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/ports/vtk/CONTROL b/ports/vtk/CONTROL index 058530581aa3ab..cd76b37bb0e0b3 100644 --- a/ports/vtk/CONTROL +++ b/ports/vtk/CONTROL @@ -1,6 +1,6 @@ Source: vtk Version: 9.0.1 -Port-Version: 5 +Port-Version: 6 Description: Software system for 3D computer graphics, image processing, and visualization Homepage: https://github.com/Kitware/VTK Build-Depends: zlib, libpng, tiff, libxml2, jsoncpp, glew, freetype, expat, hdf5[core], libjpeg-turbo, proj4, lz4, liblzma, libtheora, eigen3, double-conversion, pugixml, libharu[notiffsymbols], sqlite3, netcdf-c, utfcpp, libogg, pegtl-2 diff --git a/ports/vtk/portfile.cmake b/ports/vtk/portfile.cmake index ecbd2be3a61a10..596731a33a578b 100644 --- a/ports/vtk/portfile.cmake +++ b/ports/vtk/portfile.cmake @@ -91,6 +91,12 @@ if("opengl" IN_LIST FEATURES) ) endif() +if ("openvr" IN_LIST FEATURES) + list(APPEND ADDITIONAL_OPTIONS + -DVTK_MODULE_ENABLE_VTK_RenderingOpenVR=YES + ) +endif() + if("cuda" IN_LIST FEATURES AND CMAKE_HOST_WIN32) vcpkg_add_to_path("$ENV{CUDA_PATH}/bin") endif() diff --git a/versions/baseline.json b/versions/baseline.json index ea0d48d37fafe0..005e80a753c4fd 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -6290,7 +6290,7 @@ }, "vtk": { "baseline": "9.0.1", - "port-version": 5 + "port-version": 6 }, "vtk-dicom": { "baseline": "0.8.12-1", diff --git a/versions/v-/vtk.json b/versions/v-/vtk.json index 3eee5db7b4223c..df66e2cb688cf0 100644 --- a/versions/v-/vtk.json +++ b/versions/v-/vtk.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "78be7ee36f34395e4d5511fd61457c4f7178a438", + "version-string": "9.0.1", + "port-version": 6 + }, { "git-tree": "88d95daae73bf5c3413bb18188c81f9ea752e418", "version-string": "9.0.1", From 25d26e75948e3871061bef6a739a2794585a7aa1 Mon Sep 17 00:00:00 2001 From: Ilya Arzhannikov Date: Fri, 2 Apr 2021 21:40:16 +0200 Subject: [PATCH 30/60] [vcpkg_build_make] pass no parallel command to execute_process when parallel build is disabled (#17018) Co-authored-by: Ilya Arzhannikov --- scripts/cmake/vcpkg_build_make.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/cmake/vcpkg_build_make.cmake b/scripts/cmake/vcpkg_build_make.cmake index 2560f93d4de78f..722dbbd746a53c 100755 --- a/scripts/cmake/vcpkg_build_make.cmake +++ b/scripts/cmake/vcpkg_build_make.cmake @@ -187,7 +187,7 @@ function(vcpkg_build_make) if (_bc_DISABLE_PARALLEL) vcpkg_execute_build_process( - COMMAND ${MAKE_BASH} ${MAKE_CMD_LINE} + COMMAND ${MAKE_BASH} ${NO_PARALLEL_MAKE_CMD_LINE} WORKING_DIRECTORY "${WORKING_DIRECTORY}" LOGNAME "${_bc_LOGFILE_ROOT}-${TARGET_TRIPLET}${SHORT_BUILDTYPE}" ) From 10e85f2cd126e22f6ee23c0ffe4e4f150ddf05a1 Mon Sep 17 00:00:00 2001 From: David <34756939+skaarj1989@users.noreply.github.com> Date: Fri, 2 Apr 2021 21:43:24 +0200 Subject: [PATCH 31/60] [entt] Update to 3.7.0 (#17047) * Update to 3.7.0 * fix --- ports/entt/CONTROL | 2 +- ports/entt/portfile.cmake | 4 ++-- versions/baseline.json | 2 +- versions/e-/entt.json | 5 +++++ 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/ports/entt/CONTROL b/ports/entt/CONTROL index 64e63c29b41e26..49fba8bcdc52c5 100644 --- a/ports/entt/CONTROL +++ b/ports/entt/CONTROL @@ -1,4 +1,4 @@ Source: entt -Version: 3.6.0 +Version: 3.7.0 Description: Gaming meets modern C++ - a fast and reliable entity-component system and much more. Homepage: https://github.com/skypjack/entt diff --git a/ports/entt/portfile.cmake b/ports/entt/portfile.cmake index 890ec090e209ca..5d44756fffcf3d 100644 --- a/ports/entt/portfile.cmake +++ b/ports/entt/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO skypjack/entt - REF 7a949dd32849e8230b15a5ff8ad1104c7f748c2a #v3.6.0 - SHA512 fe1fcac31f174fb878da5c1737ff1261be0c26e896c858f32fa524db45f70f17d7c7b67f8ebdeabe21f6c977fad7642ff9f6fd6a865b645a4f93e13c7812b922 + REF 1e07b981f0b305400f854084c61c4efe2fd36206 + SHA512 0a61d293b8f6d9eec07711f9ac87c185e158b42da7ca1f91c1ab189a573686a79efa0d15cc76d8e7a2770c6b625df20b8bce1aa16147c0af07cd722a3d32d583 HEAD_REF master ) diff --git a/versions/baseline.json b/versions/baseline.json index 005e80a753c4fd..66a357e15800fa 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -1829,7 +1829,7 @@ "port-version": 0 }, "entt": { - "baseline": "3.6.0", + "baseline": "3.7.0", "port-version": 0 }, "epsilon": { diff --git a/versions/e-/entt.json b/versions/e-/entt.json index 1e8b150242010a..b1d6e23afd299f 100644 --- a/versions/e-/entt.json +++ b/versions/e-/entt.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "a0eb634638dbb4feb9532d9fd86028345657b9e3", + "version-string": "3.7.0", + "port-version": 0 + }, { "git-tree": "9ac028a6b2a32e309f446f9afa9242a0ce2fd891", "version-string": "3.6.0", From db0ec30af6eb8d548a324ec7ab31b8467d85464e Mon Sep 17 00:00:00 2001 From: JonLiu1993 <63675417+JonLiu1993@users.noreply.github.com> Date: Sat, 3 Apr 2021 03:46:30 +0800 Subject: [PATCH 32/60] [libmariadb] update to the 3.1.12 (#17004) * [libmariadb] update to the 3.1.12 * update version * Add keyword FEATURES * update version --- ports/libmariadb/CONTROL | 3 +-- ports/libmariadb/fix-iconv.patch | 8 ++++---- ports/libmariadb/portfile.cmake | 11 ++++++----- versions/baseline.json | 4 ++-- versions/l-/libmariadb.json | 5 +++++ 5 files changed, 18 insertions(+), 13 deletions(-) diff --git a/ports/libmariadb/CONTROL b/ports/libmariadb/CONTROL index 413a2e9af8d982..949f66ce2f084c 100644 --- a/ports/libmariadb/CONTROL +++ b/ports/libmariadb/CONTROL @@ -1,6 +1,5 @@ Source: libmariadb -Version: 3.1.10 -Port-Version: 5 +Version: 3.1.12 Homepage: https://github.com/MariaDB/mariadb-connector-c Description: MariaDB Connector/C is used to connect C/C++ applications to MariaDB and MySQL databases Default-Features: zlib, openssl diff --git a/ports/libmariadb/fix-iconv.patch b/ports/libmariadb/fix-iconv.patch index dd34fc2cf27f64..a3b42842108908 100644 --- a/ports/libmariadb/fix-iconv.patch +++ b/ports/libmariadb/fix-iconv.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index cd716e3..7b694e9 100644 +index 203fca7..65cc350 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -346,7 +346,8 @@ ENDIF() +@@ -342,7 +342,8 @@ ENDIF() IF(WITH_ICONV) IF(NOT WIN32) @@ -12,10 +12,10 @@ index cd716e3..7b694e9 100644 ENDIF() ENDIF() -@@ -363,8 +364,8 @@ IF(WIN32) +@@ -359,8 +360,8 @@ IF(WIN32) SET(SYSTEM_LIBS ws2_32 advapi32 kernel32 shlwapi crypt32 ${LIBZ}) ELSE() - SET(SYSTEM_LIBS ${SYSTEM_LIBS} ${LIBPTHREAD} ${LIBDL} ${LIBM}) + SET(SYSTEM_LIBS ${SYSTEM_LIBS} ${LIBPTHREAD} ${CMAKE_DL_LIBS} ${LIBM}) - IF(ICONV_EXTERNAL) - SET(SYSTEM_LIBS ${SYSTEM_LIBS} ${ICONV_LIBRARIES}) + IF(WITH_ICONV) diff --git a/ports/libmariadb/portfile.cmake b/ports/libmariadb/portfile.cmake index cf538deaa56d4d..e2d37d6405eaba 100644 --- a/ports/libmariadb/portfile.cmake +++ b/ports/libmariadb/portfile.cmake @@ -4,9 +4,9 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO MariaDB/mariadb-connector-c - REF 159540fe8c8f30b281748fe8a1b79e8b17993a67 # v3.1.10 - SHA512 3e154f5dc4b5051607c7ebc0691a50c0699d60e4414660cf8f65689081ff78ef6b135667761ba8ac4163b469a3b55158c6b48c6fc0a0cc09381452aad157e4ad + REPO mariadb-corporation/mariadb-connector-c + REF 7d304d26c787a3f0430624db977b615aba56e4bb # v3.1.12 + SHA512 16e74b2cbe401492ef294e2442a00ef1739089152a88d9263ca4d17b65260554b330630e9405813fd9089fa445d676e3b6aa91ac94128ad6b0a299e8b7edc1b3 HEAD_REF 3.1 PATCHES arm64.patch @@ -18,8 +18,9 @@ vcpkg_from_github( ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - zlib WITH_EXTERNAL_ZLIB - iconv WITH_ICONV + FEATURES + zlib WITH_EXTERNAL_ZLIB + iconv WITH_ICONV ) if("openssl" IN_LIST FEATURES) diff --git a/versions/baseline.json b/versions/baseline.json index 66a357e15800fa..4213607c215de2 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3217,8 +3217,8 @@ "port-version": 2 }, "libmariadb": { - "baseline": "3.1.10", - "port-version": 5 + "baseline": "3.1.12", + "port-version": 0 }, "libmaxminddb": { "baseline": "1.4.3", diff --git a/versions/l-/libmariadb.json b/versions/l-/libmariadb.json index 294844bea93eaf..87f111a2c5d259 100644 --- a/versions/l-/libmariadb.json +++ b/versions/l-/libmariadb.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "9bac7cad6eff90bd3227093a10ff9b85175922da", + "version-string": "3.1.12", + "port-version": 0 + }, { "git-tree": "674b0c8bcc3ee3276a0bce8afd72b99c5013f4a0", "version-string": "3.1.10", From 42c437bb33261a2da5e1471195cc6a231af099f3 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Fri, 2 Apr 2021 21:51:05 +0200 Subject: [PATCH 33/60] [vcpkg/scripts] add variable VCPKG_CROSSCOMPILING (#16900) * add VCPKG_CROSSCOMPILING * update docs * Apply suggestions from code review Co-authored-by: nicole mazzuca * update docs Co-authored-by: nicole mazzuca --- docs/maintainers/vcpkg_common_definitions.md | 1 + scripts/cmake/vcpkg_common_definitions.cmake | 2 ++ 2 files changed, 3 insertions(+) diff --git a/docs/maintainers/vcpkg_common_definitions.md b/docs/maintainers/vcpkg_common_definitions.md index a97723c1b0627d..44b7ea74f3626b 100644 --- a/docs/maintainers/vcpkg_common_definitions.md +++ b/docs/maintainers/vcpkg_common_definitions.md @@ -23,6 +23,7 @@ TARGET_TRIPLET the name of the current triplet to buil CURRENT_INSTALLED_DIR the absolute path to the installed files for the current triplet HOST_TRIPLET the name of the triplet corresponding to the host CURRENT_HOST_INSTALLED_DIR the absolute path to the installed files for the host triplet +VCPKG_CROSSCOMPILING Whether vcpkg is cross-compiling: in other words, whether TARGET_TRIPLET and HOST_TRIPLET are different ``` CMAKE_STATIC_LIBRARY_(PREFIX|SUFFIX), CMAKE_SHARED_LIBRARY_(PREFIX|SUFFIX) and CMAKE_IMPORT_LIBRARY_(PREFIX|SUFFIX) are defined for the target diff --git a/scripts/cmake/vcpkg_common_definitions.cmake b/scripts/cmake/vcpkg_common_definitions.cmake index b505f3693bb23c..6d2b6df5b5ed94 100644 --- a/scripts/cmake/vcpkg_common_definitions.cmake +++ b/scripts/cmake/vcpkg_common_definitions.cmake @@ -22,6 +22,7 @@ TARGET_TRIPLET the name of the current triplet to buil CURRENT_INSTALLED_DIR the absolute path to the installed files for the current triplet HOST_TRIPLET the name of the triplet corresponding to the host CURRENT_HOST_INSTALLED_DIR the absolute path to the installed files for the host triplet +VCPKG_CROSSCOMPILING Whether vcpkg is cross-compiling: in other words, whether TARGET_TRIPLET and HOST_TRIPLET are different ``` CMAKE_STATIC_LIBRARY_(PREFIX|SUFFIX), CMAKE_SHARED_LIBRARY_(PREFIX|SUFFIX) and CMAKE_IMPORT_LIBRARY_(PREFIX|SUFFIX) are defined for the target @@ -29,6 +30,7 @@ Furthermore the variables CMAKE_FIND_LIBRARY_(PREFIXES|SUFFIXES) are also define portfiles are able to use find_library calls to discover dependent libraries within the current triplet for ports. #]===] +string(COMPARE EQUAL "${TARGET_TRIPLET}" "${HOST_TRIPLET}" VCPKG_CROSSCOMPILING) #Helper variable to identify the Target system. VCPKG_TARGET_IS_ if (NOT DEFINED VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "") set(VCPKG_TARGET_IS_WINDOWS ON) From e353c4bdda6e1f89b730abf411b26ecd2a0b5e86 Mon Sep 17 00:00:00 2001 From: Phoebe <20694052+PhoebeHui@users.noreply.github.com> Date: Sat, 3 Apr 2021 03:53:07 +0800 Subject: [PATCH 34/60] [libarchive] Remove lzo from the default feature list (#16957) * [libarchive] Remove lzo from the default feature list * Update the baseline version --- ports/libarchive/CONTROL | 36 --------------------- ports/libarchive/vcpkg.json | 63 +++++++++++++++++++++++++++++++++++++ versions/baseline.json | 2 +- versions/l-/libarchive.json | 5 +++ 4 files changed, 69 insertions(+), 37 deletions(-) delete mode 100644 ports/libarchive/CONTROL create mode 100644 ports/libarchive/vcpkg.json diff --git a/ports/libarchive/CONTROL b/ports/libarchive/CONTROL deleted file mode 100644 index a16b6179e27b2f..00000000000000 --- a/ports/libarchive/CONTROL +++ /dev/null @@ -1,36 +0,0 @@ -Source: libarchive -Version: 3.4.3 -Port-Version: 3 -Homepage: https://github.com/libarchive/libarchive -Description: Library for reading and writing streaming archives -Build-Depends: zlib -Default-Features: bzip2, libxml2, lz4, lzma, lzo, openssl, zstd -Supports: !uwp - -Feature: bzip2 -Build-Depends: bzip2 -Description: BZip2 support - -Feature: zstd -Build-Depends: zstd -Description: zstd support - -Feature: libxml2 -Build-Depends: libxml2 -Description: Libxml2 support - -Feature: lz4 -Build-Depends: lz4 -Description: LZ4 support - -Feature: lzma -Build-Depends: liblzma -Description: LZMA support - -Feature: lzo -Build-Depends: lzo -Description: LZO support - -Feature: openssl -Build-Depends: openssl -Description: OpenSSL support diff --git a/ports/libarchive/vcpkg.json b/ports/libarchive/vcpkg.json new file mode 100644 index 00000000000000..f70adef088d0c7 --- /dev/null +++ b/ports/libarchive/vcpkg.json @@ -0,0 +1,63 @@ +{ + "name": "libarchive", + "version-semver": "3.4.3", + "port-version": 4, + "description": "Library for reading and writing streaming archives", + "homepage": "https://github.com/libarchive/libarchive", + "supports": "!uwp", + "dependencies": [ + "zlib" + ], + "default-features": [ + "bzip2", + "libxml2", + "lz4", + "lzma", + "openssl", + "zstd" + ], + "features": { + "bzip2": { + "description": "BZip2 support", + "dependencies": [ + "bzip2" + ] + }, + "libxml2": { + "description": "Libxml2 support", + "dependencies": [ + "libxml2" + ] + }, + "lz4": { + "description": "Lz4 support", + "dependencies": [ + "lz4" + ] + }, + "lzma": { + "description": "Lzma support", + "dependencies": [ + "liblzma" + ] + }, + "lzo": { + "description": "Lzo support", + "dependencies": [ + "lzo" + ] + }, + "openssl": { + "description": "Openssl support", + "dependencies": [ + "openssl" + ] + }, + "zstd": { + "description": "Zstd support", + "dependencies": [ + "zstd" + ] + } + } +} diff --git a/versions/baseline.json b/versions/baseline.json index 4213607c215de2..822fd931b53869 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -2926,7 +2926,7 @@ }, "libarchive": { "baseline": "3.4.3", - "port-version": 3 + "port-version": 4 }, "libass": { "baseline": "0.15.0", diff --git a/versions/l-/libarchive.json b/versions/l-/libarchive.json index ebb09268797a46..4d3ad510881c81 100644 --- a/versions/l-/libarchive.json +++ b/versions/l-/libarchive.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "1246e0e0cd6bc4f0987fa5f5a130dc3b2e071285", + "version-semver": "3.4.3", + "port-version": 4 + }, { "git-tree": "114dd98b5e7865923e2e06a1ffad5661b0aec246", "version-string": "3.4.3", From 69f5165163f68536c10ec24be8e988c3817a9c06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jack=C2=B7Boos=C2=B7Yu?= <47264268+JackBoosY@users.noreply.github.com> Date: Sat, 3 Apr 2021 04:00:07 +0800 Subject: [PATCH 35/60] [pthreads] Fix crt linkage (#17011) * [pthreads] Fix crt linkage * update version record * update baseline --- ports/pthreads/CONTROL | 5 ----- ports/pthreads/portfile.cmake | 7 +++++++ ports/pthreads/use-md.patch | 33 +++++++++++++++++++++++++++++++++ ports/pthreads/use-mt.patch | 33 +++++++++++++++++++++++++++++++++ ports/pthreads/vcpkg.json | 8 ++++++++ scripts/ci.baseline.txt | 4 +++- versions/baseline.json | 4 ++-- versions/p-/pthreads.json | 5 +++++ 8 files changed, 91 insertions(+), 8 deletions(-) delete mode 100644 ports/pthreads/CONTROL create mode 100644 ports/pthreads/use-md.patch create mode 100644 ports/pthreads/use-mt.patch create mode 100644 ports/pthreads/vcpkg.json diff --git a/ports/pthreads/CONTROL b/ports/pthreads/CONTROL deleted file mode 100644 index 0aadc971514e54..00000000000000 --- a/ports/pthreads/CONTROL +++ /dev/null @@ -1,5 +0,0 @@ -Source: pthreads -Version: 3.0.0-6 -Homepage: https://sourceware.org/pub/pthreads-win32/ -Description: pthreads for windows -Supports: !(uwp|arm|arm64) \ No newline at end of file diff --git a/ports/pthreads/portfile.cmake b/ports/pthreads/portfile.cmake index 911eb4deda35fe..967ff54e10574b 100644 --- a/ports/pthreads/portfile.cmake +++ b/ports/pthreads/portfile.cmake @@ -7,11 +7,18 @@ vcpkg_fail_port_install(MESSAGE "${PORT} does not currently support UWP platform set(PTHREADS4W_VERSION "3.0.0") +if (VCPKG_CRT_LINKAGE STREQUAL dynamic) + set(PATCH_FILE use-md.patch) +else() + set(PATCH_FILE use-mt.patch) +endif() + vcpkg_from_sourceforge( OUT_SOURCE_PATH SOURCE_PATH REPO pthreads4w FILENAME "pthreads4w-code-v${PTHREADS4W_VERSION}.zip" SHA512 49e541b66c26ddaf812edb07b61d0553e2a5816ab002edc53a38a897db8ada6d0a096c98a9af73a8f40c94283df53094f76b429b09ac49862465d8697ed20013 + PATCHES ${PATCH_FILE} ) find_program(NMAKE nmake REQUIRED) diff --git a/ports/pthreads/use-md.patch b/ports/pthreads/use-md.patch new file mode 100644 index 00000000000000..b25a744a8ce44b --- /dev/null +++ b/ports/pthreads/use-md.patch @@ -0,0 +1,33 @@ +diff --git a/Makefile b/Makefile +index a703b9c..ff81e7c 100644 +--- a/Makefile ++++ b/Makefile +@@ -173,22 +173,22 @@ VC-debug: + # @ $(MAKE) /E /nologo XCFLAGS="/MTd" EHFLAGS="$(VCFLAGSD) /D__PTW32_STATIC_LIB" CLEANUP=__PTW32_CLEANUP_C pthreadVC$(PTW32_VER_DEBUG).small_static_stamp + + VCE-static: +- @ $(MAKE) /E /nologo XCFLAGS="/MT" EHFLAGS="$(VCEFLAGS) /D__PTW32_STATIC_LIB /D__PTW32_BUILD_INLINED" CLEANUP=__PTW32_CLEANUP_CXX pthreadVCE$(PTW32_VER).inlined_static_stamp ++ @ $(MAKE) /E /nologo XCFLAGS="/MD" EHFLAGS="$(VCEFLAGS) /D__PTW32_STATIC_LIB /D__PTW32_BUILD_INLINED" CLEANUP=__PTW32_CLEANUP_CXX pthreadVCE$(PTW32_VER).inlined_static_stamp + + VCE-static-debug: +- @ $(MAKE) /E /nologo XCFLAGS="/MTd" EHFLAGS="$(VCEFLAGSD) /D__PTW32_STATIC_LIB /D__PTW32_BUILD_INLINED" CLEANUP=__PTW32_CLEANUP_CXX pthreadVCE$(PTW32_VER_DEBUG).inlined_static_stamp ++ @ $(MAKE) /E /nologo XCFLAGS="/MDd" EHFLAGS="$(VCEFLAGSD) /D__PTW32_STATIC_LIB /D__PTW32_BUILD_INLINED" CLEANUP=__PTW32_CLEANUP_CXX pthreadVCE$(PTW32_VER_DEBUG).inlined_static_stamp + + VSE-static: +- @ $(MAKE) /E /nologo XCFLAGS="/MT" EHFLAGS="$(VSEFLAGS) /D__PTW32_STATIC_LIB /D__PTW32_BUILD_INLINED" CLEANUP=__PTW32_CLEANUP_SEH pthreadVSE$(PTW32_VER).inlined_static_stamp ++ @ $(MAKE) /E /nologo XCFLAGS="/MD" EHFLAGS="$(VSEFLAGS) /D__PTW32_STATIC_LIB /D__PTW32_BUILD_INLINED" CLEANUP=__PTW32_CLEANUP_SEH pthreadVSE$(PTW32_VER).inlined_static_stamp + + VSE-static-debug: +- @ $(MAKE) /E /nologo XCFLAGS="/MTd" EHFLAGS="$(VSEFLAGSD) /D__PTW32_STATIC_LIB /D__PTW32_BUILD_INLINED" CLEANUP=__PTW32_CLEANUP_SEH pthreadVSE$(PTW32_VER_DEBUG).inlined_static_stamp ++ @ $(MAKE) /E /nologo XCFLAGS="/MDd" EHFLAGS="$(VSEFLAGSD) /D__PTW32_STATIC_LIB /D__PTW32_BUILD_INLINED" CLEANUP=__PTW32_CLEANUP_SEH pthreadVSE$(PTW32_VER_DEBUG).inlined_static_stamp + + VC-static: +- @ $(MAKE) /E /nologo XCFLAGS="/MT" EHFLAGS="$(VCFLAGS) /D__PTW32_STATIC_LIB /D__PTW32_BUILD_INLINED" CLEANUP=__PTW32_CLEANUP_C pthreadVC$(PTW32_VER).inlined_static_stamp ++ @ $(MAKE) /E /nologo XCFLAGS="/MD" EHFLAGS="$(VCFLAGS) /D__PTW32_STATIC_LIB /D__PTW32_BUILD_INLINED" CLEANUP=__PTW32_CLEANUP_C pthreadVC$(PTW32_VER).inlined_static_stamp + + VC-static-debug: +- @ $(MAKE) /E /nologo XCFLAGS="/MTd" EHFLAGS="$(VCFLAGSD) /D__PTW32_STATIC_LIB /D__PTW32_BUILD_INLINED" CLEANUP=__PTW32_CLEANUP_C pthreadVC$(PTW32_VER_DEBUG).inlined_static_stamp ++ @ $(MAKE) /E /nologo XCFLAGS="/MDd" EHFLAGS="$(VCFLAGSD) /D__PTW32_STATIC_LIB /D__PTW32_BUILD_INLINED" CLEANUP=__PTW32_CLEANUP_C pthreadVC$(PTW32_VER_DEBUG).inlined_static_stamp + + + realclean: clean diff --git a/ports/pthreads/use-mt.patch b/ports/pthreads/use-mt.patch new file mode 100644 index 00000000000000..41154e0311a529 --- /dev/null +++ b/ports/pthreads/use-mt.patch @@ -0,0 +1,33 @@ +diff --git a/Makefile b/Makefile +index a703b9c..502275f 100644 +--- a/Makefile ++++ b/Makefile +@@ -134,22 +134,22 @@ all-tests-mt: + @ echo $@ completed successfully. + + VCE: +- @ $(MAKE) /E /nologo XCFLAGS="/MD" EHFLAGS="$(VCEFLAGS) /D__PTW32_BUILD_INLINED" CLEANUP=__PTW32_CLEANUP_CXX pthreadVCE$(PTW32_VER).dll ++ @ $(MAKE) /E /nologo XCFLAGS="/MT" EHFLAGS="$(VCEFLAGS) /D__PTW32_BUILD_INLINED" CLEANUP=__PTW32_CLEANUP_CXX pthreadVCE$(PTW32_VER).dll + + VCE-debug: +- @ $(MAKE) /E /nologo XCFLAGS="/MDd" EHFLAGS="$(VCEFLAGSD) /D__PTW32_BUILD_INLINED" CLEANUP=__PTW32_CLEANUP_CXX pthreadVCE$(PTW32_VER_DEBUG).dll ++ @ $(MAKE) /E /nologo XCFLAGS="/MTd" EHFLAGS="$(VCEFLAGSD) /D__PTW32_BUILD_INLINED" CLEANUP=__PTW32_CLEANUP_CXX pthreadVCE$(PTW32_VER_DEBUG).dll + + VSE: +- @ $(MAKE) /E /nologo XCFLAGS="/MD" EHFLAGS="$(VSEFLAGS) /D__PTW32_BUILD_INLINED" CLEANUP=__PTW32_CLEANUP_SEH pthreadVSE$(PTW32_VER).dll ++ @ $(MAKE) /E /nologo XCFLAGS="/MT" EHFLAGS="$(VSEFLAGS) /D__PTW32_BUILD_INLINED" CLEANUP=__PTW32_CLEANUP_SEH pthreadVSE$(PTW32_VER).dll + + VSE-debug: +- @ $(MAKE) /E /nologo XCFLAGS="/MDd" EHFLAGS="$(VSEFLAGSD) /D__PTW32_BUILD_INLINED" CLEANUP=__PTW32_CLEANUP_SEH pthreadVSE$(PTW32_VER_DEBUG).dll ++ @ $(MAKE) /E /nologo XCFLAGS="/MTd" EHFLAGS="$(VSEFLAGSD) /D__PTW32_BUILD_INLINED" CLEANUP=__PTW32_CLEANUP_SEH pthreadVSE$(PTW32_VER_DEBUG).dll + + VC: +- @ $(MAKE) /E /nologo XCFLAGS="/MD" EHFLAGS="$(VCFLAGS) /D__PTW32_BUILD_INLINED" CLEANUP=__PTW32_CLEANUP_C pthreadVC$(PTW32_VER).dll ++ @ $(MAKE) /E /nologo XCFLAGS="/MT" EHFLAGS="$(VCFLAGS) /D__PTW32_BUILD_INLINED" CLEANUP=__PTW32_CLEANUP_C pthreadVC$(PTW32_VER).dll + + VC-debug: +- @ $(MAKE) /E /nologo XCFLAGS="/MDd" EHFLAGS="$(VCFLAGSD) /D__PTW32_BUILD_INLINED" CLEANUP=__PTW32_CLEANUP_C pthreadVC$(PTW32_VER_DEBUG).dll ++ @ $(MAKE) /E /nologo XCFLAGS="/MTd" EHFLAGS="$(VCFLAGSD) /D__PTW32_BUILD_INLINED" CLEANUP=__PTW32_CLEANUP_C pthreadVC$(PTW32_VER_DEBUG).dll + + # + # Static builds diff --git a/ports/pthreads/vcpkg.json b/ports/pthreads/vcpkg.json new file mode 100644 index 00000000000000..5a0423fb6dd12c --- /dev/null +++ b/ports/pthreads/vcpkg.json @@ -0,0 +1,8 @@ +{ + "name": "pthreads", + "version": "3.0.0", + "port-version": 7, + "description": "pthreads for windows", + "homepage": "https://sourceware.org/pub/pthreads-win32/", + "supports": "!(uwp | arm | arm64)" +} diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index b11c3963f04c8a..9b0bd80f4712fa 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -1794,6 +1794,7 @@ akali:x64-windows-static-md=fail chromium-base:x64-windows-static-md=fail clockutils:x64-windows-static-md=fail fastcgi:x64-windows-static-md=fail +fontconfig:x64-windows-static-md=fail gmp:x64-windows-static-md=fail ijg-libjpeg:x64-windows-static-md=fail keystone:x64-windows-static-md=fail @@ -1806,8 +1807,8 @@ mmloader:x64-windows-static-md=fail mpg123:x64-windows-static-md=fail netcdf-cxx4:x64-windows-static-md=fail open62541:x64-windows-static-md=fail +openscap:x64-windows-static-md=fail portmidi:x64-windows-static-md=fail -pthreads:x64-windows-static-md=fail quantlib:x64-windows-static-md=fail readosm:x64-windows-static-md=fail sentencepiece:x64-windows-static-md=fail @@ -1817,5 +1818,6 @@ unicorn:x64-windows-static-md=fail v8:x64-windows-static-md=fail yato:x64-windows-static-md=fail zyre:x64-windows-static-md=fail +usbmuxd:x64-windows-static-md=fail workflow:x64-uwp=fail workflow:arm-uwp=fail diff --git a/versions/baseline.json b/versions/baseline.json index 822fd931b53869..c1531e703962e9 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -4897,8 +4897,8 @@ "port-version": 0 }, "pthreads": { - "baseline": "3.0.0-6", - "port-version": 0 + "baseline": "3.0.0", + "port-version": 7 }, "pugixml": { "baseline": "1.11.4", diff --git a/versions/p-/pthreads.json b/versions/p-/pthreads.json index d0fdfb87344889..c5b9839f5512cb 100644 --- a/versions/p-/pthreads.json +++ b/versions/p-/pthreads.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "f76c9c365aff8cf663941bbe6dac93379e856345", + "version": "3.0.0", + "port-version": 7 + }, { "git-tree": "6251ee2f710bfb8fb8c0177c07ef8fc5d7831aec", "version-string": "3.0.0-6", From 0a251caefd77da030782748898950832b3dcf9b6 Mon Sep 17 00:00:00 2001 From: Moritz Beutel Date: Fri, 2 Apr 2021 22:19:24 +0200 Subject: [PATCH 36/60] [gsl-lite] Update to 0.38.0 (#16984) * [gsl-lite] Update to 0.38.0 * [gsl-lite] Update version registry * Re-run "vcpkg x-add-version" --- ports/gsl-lite/CONTROL | 4 ---- ports/gsl-lite/portfile.cmake | 6 +++--- ports/gsl-lite/vcpkg.json | 6 ++++++ versions/baseline.json | 2 +- versions/g-/gsl-lite.json | 5 +++++ 5 files changed, 15 insertions(+), 8 deletions(-) delete mode 100644 ports/gsl-lite/CONTROL create mode 100644 ports/gsl-lite/vcpkg.json diff --git a/ports/gsl-lite/CONTROL b/ports/gsl-lite/CONTROL deleted file mode 100644 index 65c6fb37c6db21..00000000000000 --- a/ports/gsl-lite/CONTROL +++ /dev/null @@ -1,4 +0,0 @@ -Source: gsl-lite -Version: 0.37.0 -Description: A single-file header-only implementation of ISO C++ Guidelines Support Library (GSL) for C++98, C++11 and later. -Homepage: https://github.com/gsl-lite/gsl-lite/ diff --git a/ports/gsl-lite/portfile.cmake b/ports/gsl-lite/portfile.cmake index 5239c71092ac84..04b7f99da63b76 100644 --- a/ports/gsl-lite/portfile.cmake +++ b/ports/gsl-lite/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO gsl-lite/gsl-lite - REF 4b796627ad0fa42640f5fdb96f23c4a0d9ee084f - SHA512 c0943824149b17c66947160bd83f3b14b821ba14bba02247546bd98d2b2809fae611e7841000fbe3be8f675cd076585f12ede05366fd1f9ba96a1067ac63ef43 + REF f829848572e68102f9012b75ebc5d79a653f9d8c + SHA512 db9b72ef04c928f0b23be0c9603dca8ce317762a44247b1fc8538d2c9701ced43f8fefad4516298040860598d0f3ea26990de6f52e2835a479c68ab561f3b1d3 HEAD_REF master ) @@ -16,7 +16,7 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/gsl-lite") file(WRITE ${CURRENT_PACKAGES_DIR}/include/gsl-lite.hpp "#ifndef GSL_LITE_HPP_VCPKG_COMPAT_HEADER_INCLUDED #define GSL_LITE_HPP_VCPKG_COMPAT_HEADER_INCLUDED -#pragma message(\"The header is deprecated and provided only for compatibility; please include instead.\") +#pragma message(\"The header is deprecated and provided by Vcpkg for compatibility only; please include instead.\") #include #endif // GSL_LITE_HPP_VCPKG_COMPAT_HEADER_INCLUDED") diff --git a/ports/gsl-lite/vcpkg.json b/ports/gsl-lite/vcpkg.json new file mode 100644 index 00000000000000..89c79b3ce72be8 --- /dev/null +++ b/ports/gsl-lite/vcpkg.json @@ -0,0 +1,6 @@ +{ + "name": "gsl-lite", + "version": "0.38.0", + "description": "A single-file header-only implementation of ISO C++ Guidelines Support Library (GSL) for C++98, C++11 and later.", + "homepage": "https://github.com/gsl-lite/gsl-lite/" +} diff --git a/versions/baseline.json b/versions/baseline.json index c1531e703962e9..3de49865525aaa 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -2353,7 +2353,7 @@ "port-version": 0 }, "gsl-lite": { - "baseline": "0.37.0", + "baseline": "0.38.0", "port-version": 0 }, "gsoap": { diff --git a/versions/g-/gsl-lite.json b/versions/g-/gsl-lite.json index 81170a352bfcae..7a020f167afb11 100644 --- a/versions/g-/gsl-lite.json +++ b/versions/g-/gsl-lite.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "e72d735460dca6a55ce1f4b76bbaf65ad34d5584", + "version": "0.38.0", + "port-version": 0 + }, { "git-tree": "d043228295d723584f0143ed1395945c677e05e9", "version-string": "0.37.0", From 4ec290c716a258ec9c5e8c51051ee1f8a693d31d Mon Sep 17 00:00:00 2001 From: evpobr Date: Sat, 3 Apr 2021 01:24:18 +0500 Subject: [PATCH 37/60] [mpg123] Upgrade to 1.26.3-1 (#16910) * [mpg123] Upgrade to 1.26.3-1 Fix invalid MPG123_API_VERSION value in mpg123.h.in for Windows platform. It was equal to @API_VERSION@, now it is read from configure.ac and set to correct value. See also libsndfile/libsndfile#499. * [mpg123] Update 1.26.3-1 baseline version --- ports/mpg123/portfile.cmake | 24 ++++++++++++++++++++++-- ports/mpg123/vcpkg.json | 1 + versions/baseline.json | 2 +- versions/m-/mpg123.json | 5 +++++ 4 files changed, 29 insertions(+), 3 deletions(-) diff --git a/ports/mpg123/portfile.cmake b/ports/mpg123/portfile.cmake index b96d2fade16e60..b438340bab0607 100644 --- a/ports/mpg123/portfile.cmake +++ b/ports/mpg123/portfile.cmake @@ -36,6 +36,12 @@ vcpkg_from_sourceforge( include(${CURRENT_INSTALLED_DIR}/share/yasm-tool-helper/yasm-tool-helper.cmake) yasm_tool_helper(APPEND_TO_PATH) +macro(read_api_version) + file(READ "${SOURCE_PATH}/configure.ac" configure_ac) + string(REGEX MATCH "API_VERSION=([0-9]+)" result ${configure_ac}) + set(API_VERSION ${CMAKE_MATCH_1}) +endmacro() + if(VCPKG_TARGET_IS_UWP) vcpkg_install_msbuild( SOURCE_PATH ${SOURCE_PATH} @@ -45,12 +51,19 @@ if(VCPKG_TARGET_IS_UWP) RELEASE_CONFIGURATION Release_uwp DEBUG_CONFIGURATION Debug_uwp ) + file(INSTALL ${SOURCE_PATH}/ports/MSVC++/mpg123.h ${SOURCE_PATH}/src/libmpg123/fmt123.h - ${SOURCE_PATH}/src/libmpg123/mpg123.h.in DESTINATION ${CURRENT_PACKAGES_DIR}/include ) + + read_api_version() + configure_file( + ${SOURCE_PATH}/src/libmpg123/mpg123.h.in + ${CURRENT_PACKAGES_DIR}/include/mpg123.h.in @ONLY + ) + elseif(VCPKG_TARGET_IS_WINDOWS) vcpkg_install_msbuild( SOURCE_PATH ${SOURCE_PATH} @@ -59,12 +72,19 @@ elseif(VCPKG_TARGET_IS_WINDOWS) RELEASE_CONFIGURATION Release${MPG123_CONFIGURATION}${MPG123_CONFIGURATION_SUFFIX} DEBUG_CONFIGURATION Debug${MPG123_CONFIGURATION}${MPG123_CONFIGURATION_SUFFIX} ) + file(INSTALL ${SOURCE_PATH}/ports/MSVC++/mpg123.h ${SOURCE_PATH}/src/libmpg123/fmt123.h - ${SOURCE_PATH}/src/libmpg123/mpg123.h.in DESTINATION ${CURRENT_PACKAGES_DIR}/include ) + + read_api_version() + configure_file( + ${SOURCE_PATH}/src/libmpg123/mpg123.h.in + ${CURRENT_PACKAGES_DIR}/include/mpg123.h.in @ONLY + ) + elseif(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_LINUX) set(MPG123_OPTIONS --disable-dependency-tracking diff --git a/ports/mpg123/vcpkg.json b/ports/mpg123/vcpkg.json index 080bc57d0b497b..e03100757b9e96 100644 --- a/ports/mpg123/vcpkg.json +++ b/ports/mpg123/vcpkg.json @@ -1,6 +1,7 @@ { "name": "mpg123", "version-string": "1.26.3", + "port-version": 1, "description": "mpg123 is a real time MPEG 1.0/2.0/2.5 audio player/decoder for layers 1, 2 and 3 (MPEG 1.0 layer 3 also known as MP3).", "homepage": "https://sourceforge.net/projects/mpg123/", "dependencies": [ diff --git a/versions/baseline.json b/versions/baseline.json index 3de49865525aaa..57742facb07cd0 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -4030,7 +4030,7 @@ }, "mpg123": { "baseline": "1.26.3", - "port-version": 0 + "port-version": 1 }, "mpi": { "baseline": "1", diff --git a/versions/m-/mpg123.json b/versions/m-/mpg123.json index 7861b984ea9d9b..5870bbfbb55cd5 100644 --- a/versions/m-/mpg123.json +++ b/versions/m-/mpg123.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "b143abaf1493952c9a04569e7d8379dac8ff8c1c", + "version-string": "1.26.3", + "port-version": 1 + }, { "git-tree": "19e2118fcd63fde61be2fd29d54a7bc8699ffa75", "version-string": "1.26.3", From 23c1c65fc7d7142ea7ed5f6e1f0f0296e31d9fb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joe=20No=C3=ABl?= Date: Fri, 2 Apr 2021 21:25:21 +0100 Subject: [PATCH 38/60] [libsoundio] Add support for linux backends (#16891) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add support for linux backends * Run vcpkg format-manifest * Bump version * Run vcpkg-format * Add version * Use vcpkg_check_features * Use version instead of version-string * Update version * Update versions/l-/libsoundio.json Co-authored-by: Victor Romero Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com> Co-authored-by: Victor Romero --- ports/libsoundio/CONTROL | 5 ----- ports/libsoundio/portfile.cmake | 11 ++++++++--- ports/libsoundio/vcpkg.json | 22 ++++++++++++++++++++++ versions/baseline.json | 4 ++-- versions/l-/libsoundio.json | 5 +++++ 5 files changed, 37 insertions(+), 10 deletions(-) delete mode 100644 ports/libsoundio/CONTROL create mode 100644 ports/libsoundio/vcpkg.json diff --git a/ports/libsoundio/CONTROL b/ports/libsoundio/CONTROL deleted file mode 100644 index d8abcf070365b5..00000000000000 --- a/ports/libsoundio/CONTROL +++ /dev/null @@ -1,5 +0,0 @@ -Source: libsoundio -Version: 2.0.0-3 -Description: libsoundio is C library providing cross-platform audio input and output. -Homepage: http://libsound.io/ -Supports: !uwp \ No newline at end of file diff --git a/ports/libsoundio/portfile.cmake b/ports/libsoundio/portfile.cmake index acf4d9fc682393..3b5081cf970b23 100644 --- a/ports/libsoundio/portfile.cmake +++ b/ports/libsoundio/portfile.cmake @@ -14,6 +14,13 @@ vcpkg_from_github( string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_DYNAMIC_LIBS) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS) +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + alsa ENABLE_ALSA + jack ENABLE_JACK + pulseaudio ENABLE_PULSEAUDIO +) + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA @@ -22,9 +29,7 @@ vcpkg_configure_cmake( -DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS} -DBUILD_EXAMPLE_PROGRAMS=OFF -DBUILD_TESTS=OFF - -DENABLE_JACK=OFF - -DENABLE_PULSEAUDIO=OFF - -DENABLE_ALSA=OFF + ${FEATURE_OPTIONS} -DENABLE_COREAUDIO=${VCPKG_TARGET_IS_OSX} -DENABLE_WASAPI=${VCPKG_TARGET_IS_WINDOWS} ) diff --git a/ports/libsoundio/vcpkg.json b/ports/libsoundio/vcpkg.json new file mode 100644 index 00000000000000..6dc71724b929cf --- /dev/null +++ b/ports/libsoundio/vcpkg.json @@ -0,0 +1,22 @@ +{ + "name": "libsoundio", + "version": "2.0.0", + "port-version": 4, + "description": "libsoundio is C library providing cross-platform audio input and output.", + "homepage": "http://libsound.io/", + "supports": "!uwp", + "features": { + "alsa": { + "description": "ALSA backend for libsoundio" + }, + "jack": { + "description": "JACK backend for libsoundio", + "dependencies": [ + "jack2" + ] + }, + "pulseaudio": { + "description": "PulseAudio backend for libsoundio" + } + } +} diff --git a/versions/baseline.json b/versions/baseline.json index 57742facb07cd0..a189f885778638 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3457,8 +3457,8 @@ "port-version": 4 }, "libsoundio": { - "baseline": "2.0.0-3", - "port-version": 0 + "baseline": "2.0.0", + "port-version": 4 }, "libspatialindex": { "baseline": "1.9.0", diff --git a/versions/l-/libsoundio.json b/versions/l-/libsoundio.json index 57de025bfbe8ad..083e8b901d8e7e 100644 --- a/versions/l-/libsoundio.json +++ b/versions/l-/libsoundio.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "96de946826ca6aafdc9409f9d75f02a6d082cffb", + "version": "2.0.0", + "port-version": 4 + }, { "git-tree": "b7c77d32f74a10cb1ff43cb80c15d6a6f65d5d53", "version-string": "2.0.0-3", From b0e099f0fc820e1d6a1479363045b124aefe2900 Mon Sep 17 00:00:00 2001 From: Ewout ter Hoeven Date: Fri, 2 Apr 2021 22:37:13 +0200 Subject: [PATCH 39/60] [dav1d] Update to 0.8.2 (#16916) * [dav1d] Update to 0.8.2 Update dav1d from 0.8.1 to 0.8.2 * versions: Update dav1d to 0.8.2 * Update version schemes * Update the baseline version Co-authored-by: PhoebeHui <20694052+PhoebeHui@users.noreply.github.com> --- ports/dav1d/portfile.cmake | 4 ++-- ports/dav1d/vcpkg.json | 2 +- versions/baseline.json | 2 +- versions/d-/dav1d.json | 5 +++++ 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/ports/dav1d/portfile.cmake b/ports/dav1d/portfile.cmake index 649d7e6c74f0bf..2c7e31f793353d 100644 --- a/ports/dav1d/portfile.cmake +++ b/ports/dav1d/portfile.cmake @@ -4,8 +4,8 @@ vcpkg_from_gitlab( GITLAB_URL https://code.videolan.org OUT_SOURCE_PATH SOURCE_PATH REPO videolan/dav1d - REF 0.8.1 - SHA512 dd40b82b65e4be37a27ab11e7116f7a244b0da4469915ead3922ac31724fb6da3910a78629a32a669031fe08d4323ab135174afb7462f6ea4adf96c111841c1c + REF 0.8.2 + SHA512 2f48c88fdbe627f089eb378f43b8f18e1c5cff4645148ee7e14b8f3f8e9d690b28e58fc9cb466e7a9a4c147f06b0d34c47c132070acefbd01abe23cd3c6047d8 PATCHES "patch_underscore_prefix.patch" ) diff --git a/ports/dav1d/vcpkg.json b/ports/dav1d/vcpkg.json index 02d8d473a4f75b..c0cd986e6a6c7a 100644 --- a/ports/dav1d/vcpkg.json +++ b/ports/dav1d/vcpkg.json @@ -1,6 +1,6 @@ { "name": "dav1d", - "version-string": "0.8.1", + "version-semver": "0.8.2", "description": "dav1d is a new open-source AV1 decoder developed by the VideoLAN and FFmpeg communities and sponsored by the Alliance for Open Media.", "homepage": "https://code.videolan.org/videolan/dav1d", "supports": "!(uwp | arm | x86)", diff --git a/versions/baseline.json b/versions/baseline.json index a189f885778638..169e1c3b634337 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -1573,7 +1573,7 @@ "port-version": 2 }, "dav1d": { - "baseline": "0.8.1", + "baseline": "0.8.2", "port-version": 0 }, "dbg-macro": { diff --git a/versions/d-/dav1d.json b/versions/d-/dav1d.json index de707ec64409d0..31405d32579988 100644 --- a/versions/d-/dav1d.json +++ b/versions/d-/dav1d.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "5cf96f43b20ddf0af353ccebe6acbbe34ce97b42", + "version-semver": "0.8.2", + "port-version": 0 + }, { "git-tree": "1c30fb68cde7004f37eb289c95fb9823331fe571", "version-string": "0.8.1", From 7aa11380a53cae720956ae83e8633403420aa45b Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Fri, 2 Apr 2021 13:37:46 -0700 Subject: [PATCH 40/60] [vcpkg_acquire_msys] Update package versions (#16952) --- scripts/cmake/vcpkg_acquire_msys.cmake | 64 +++++++++---------- .../vcpkg-acquire-msys-test/CONTROL | 4 ++ .../vcpkg-acquire-msys-test/portfile.cmake | 3 + 3 files changed, 39 insertions(+), 32 deletions(-) create mode 100644 scripts/test_ports/vcpkg-acquire-msys-test/CONTROL create mode 100644 scripts/test_ports/vcpkg-acquire-msys-test/portfile.cmake diff --git a/scripts/cmake/vcpkg_acquire_msys.cmake b/scripts/cmake/vcpkg_acquire_msys.cmake index 960fd26631894d..21ad4baf0c093c 100644 --- a/scripts/cmake/vcpkg_acquire_msys.cmake +++ b/scripts/cmake/vcpkg_acquire_msys.cmake @@ -58,7 +58,7 @@ vcpkg_execute_required_process( function(vcpkg_acquire_msys PATH_TO_ROOT_OUT) # parse parameters such that semicolons in options arguments to COMMAND don't get erased - cmake_parse_arguments(PARSE_ARGV 0 _am "NO_DEFAULT_PACKAGES" "" "PACKAGES;DIRECT_PACKAGES") + cmake_parse_arguments(PARSE_ARGV 0 _am "NO_DEFAULT_PACKAGES;Z_ALL_PACKAGES" "" "PACKAGES;DIRECT_PACKAGES") set(TOTAL_HASH 0) set(ARCHIVES) @@ -122,7 +122,7 @@ function(vcpkg_acquire_msys PATH_TO_ROOT_OUT) set(FILENAME "${p_NAME}-${p_VERSION}-${ARCH}.pkg.tar.${EXT}") set(p_URL "https://repo.msys2.org/${p_REPO}/${FILENAME}") endif() - if("${p_NAME}" IN_LIST PACKAGES) + if("${p_NAME}" IN_LIST PACKAGES OR _am_Z_ALL_PACKAGES) list(REMOVE_ITEM PACKAGES "${p_NAME}") list(APPEND PACKAGES ${p_DEPS}) msys_package_download("${p_URL}" "${p_SHA512}" "${FILENAME}") @@ -163,8 +163,8 @@ function(vcpkg_acquire_msys PATH_TO_ROOT_OUT) DEPS msys2-runtime ) msys_package( - URL "https://repo.msys2.org/msys/x86_64/texinfo-6.7-1-x86_64.pkg.tar.xz" - SHA512 d352e06c916ab5d8e34722a8d8bb93ff975525349c9bdf8206e472d93b25158134f97ba5101ffd0d32cd8d88522c0935d3c83847e759aa5376a2276aa2a392b3 + URL "https://repo.msys2.org/msys/x86_64/texinfo-6.7-3-x86_64.pkg.tar.zst" + SHA512 d8bcce1a338d45a8c2350af3edee1d021a76524b767d465d3f7fd9cb03c8799d9cd3454526c10e4a2b4d58f75ae26a1a8177c50079dfdb4299129e0d45b093bc DEPS bash perl ) msys_package( @@ -281,18 +281,18 @@ function(vcpkg_acquire_msys PATH_TO_ROOT_OUT) DEPS msys2-runtime ) msys_package( - URL "https://repo.msys2.org/msys/x86_64/automake1.16-1.16.2-1-any.pkg.tar.zst" - SHA512 568d1250a31a53452e029d1c236da66d67fffa786a8713128027d33a6a9408cda6e493e9c1555a816efee6245b05a1ef8f9ce3482c39de71356c2e983d926bf7 + URL "https://repo.msys2.org/msys/x86_64/automake1.16-1.16.2-2-any.pkg.tar.zst" + SHA512 b837ec70fce700fc6415f1e73287911cbdf665628b63dcffac4cad1b3a3a23efeabacd950d6757567cbcc4c9cedb120e06d2a7dd5cad028434063cab936e03ae DEPS perl ) msys_package( - URL "https://repo.msys2.org/msys/x86_64/automake1.15-1.15.1-1-any.pkg.tar.xz" - SHA512 d5bb245ab1bb6b57c40ef97755bfb0919dcceb0eccc33e848809922bf6b032f9e4eb36d89aedf41542051277d92238bd48a74115867db0bbc1e1db1c975cc72c + URL "https://repo.msys2.org/msys/x86_64/automake1.15-1.15.1-2-any.pkg.tar.zst" + SHA512 aed269720344948d50965354e35d640a8db1589bb9e98d21427a3cc47a8e8dfd2a6e4828b1ca109a4010eb808bdf9a627383c302a0713efcb6ab3be1f887d930 DEPS perl ) msys_package( - URL "https://repo.msys2.org/msys/x86_64/perl-5.32.0-1-x86_64.pkg.tar.zst" - SHA512 8acc6c4901bd2e24faf1951084d70029847f05e870826e07b8d9a5d90144f4aa0ab6e568e77c28c36650f016ee75ce78b0356c75673b212c992401f7f1543dd8 + URL "https://repo.msys2.org/msys/x86_64/perl-5.32.0-2-x86_64.pkg.tar.zst" + SHA512 d8397c64cf9d8deb43904f705e6263b8086773a64c2feb4eb8f36921e4115fc1230267a18c0ef2ca9726fbcce6ed22125f3c7c2472042bf1279b423b2088d3df DEPS libcrypt ) msys_package( @@ -445,8 +445,8 @@ function(vcpkg_acquire_msys PATH_TO_ROOT_OUT) DEPS mingw-w64-x86_64-gcc-libs ) msys_package( - URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-tk-8.6.10-1-any.pkg.tar.xz" - SHA512 3be88b87d5e77a875ea98f0bce4192242e550eeb1b0d44abfee9c8797135a45dd3219b89006de99458dd3f9ae47da77dccc63dab25cea93fbc285af756264eb8 + URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-tk-8.6.10-2-any.pkg.tar.zst" + SHA512 a2d05ce3070d3a3bdf823fa5c790b124aa7493e60758e2911d3f9651899cf58328044f9b06edd82060d8a4b5efb5c4cb32085d827aecd796dbb5e42441da305f DEPS mingw-w64-x86_64-tcl ) msys_package( @@ -455,49 +455,49 @@ function(vcpkg_acquire_msys PATH_TO_ROOT_OUT) DEPS mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-zlib ) msys_package( - URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-xz-5.2.5-1-any.pkg.tar.xz" - SHA512 0e1336a1565cda6e78996d69ba973aaa3522392ab586f70b0b93dbe09be50baf3e14f8ba0afcc665bc885508f1a898b16f206f89eaa3cbc9985afeea6ff1c02b + URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-xz-5.2.5-2-any.pkg.tar.zst" + SHA512 94fcf8b9f9fbc2cfdb2ed53dbe72797806aa3399c4dcfea9c6204702c4504eb4d4204000accd965fcd0680d994bf947eae308bc576e629bbaa3a4cefda3aea52 DEPS mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-gettext ) msys_package( - URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gettext-0.19.8.1-9-any.pkg.tar.zst" - SHA512 571a36cf60e40172aaa7a5a40b1db60bbea145d9f399603a625a57ca106679f6feb53fda73d935ce8f0057935cad5b9a8770ae4f065e54e1554a1932b48eec97 + URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gettext-0.19.8.1-10-any.pkg.tar.zst" + SHA512 ebe948028942738918930b1f3b7aa0314ce0fb617dbd36dcfaf3980958555c7c476f2b50c21d272d01fd3b0bb87ac4f800e485a5b7f8fcc7b30aacdf76740348 DEPS mingw-w64-x86_64-expat mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-libiconv ) msys_package( - URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gcc-libs-10.2.0-1-any.pkg.tar.zst" - SHA512 d17eff08c83d08ef020d999a2ead0d25036ada1c1bf6ed7c02bad9b56840ee5a3304acd790d86f52b83b09c1e788f0cecdf7254dc6760c3c7e478f65882cd32d + URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gcc-libs-10.2.0-9-any.pkg.tar.zst" + SHA512 b2952015e0b27c51219fe15d7550a349e6d73032bbe328f00d6654008c4bda28766d75ce8898d765879ec5f4815695d0f047d01811d8253ed2d433cd5c77d5a9 DEPS mingw-w64-x86_64-gmp mingw-w64-x86_64-libwinpthread mingw-w64-x86_64-mpc mingw-w64-x86_64-mpfr ) msys_package( - URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-mpc-1.2.0-1-any.pkg.tar.zst" - SHA512 e2e561ef7c1bd85bbf021ecbe4df1cfd377a5b426ec0091f267111b9f18d476d5f95a40e0ffbd97aee5f331c49dc7a8dfc2111d54cc979643fae30e564d671aa + URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-mpc-1.2.0-2-any.pkg.tar.zst" + SHA512 f094b3ec407382018b3454afa07ea82b94acf3b92c094c46ab6d27e56cd2647cf5bc4986ecb18f8a5da721fd267dceba25353822e7cac33d9107604ac5d429bc DEPS mingw-w64-x86_64-mpfr ) msys_package( - URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-mpfr-4.1.0-2-any.pkg.tar.zst" - SHA512 14739667242b8852f0d26547eb3297899a51fd1edafc7101b4e7489273e1efb9cb8422fc067361e3c3694c2afcc6c49fc89537f9f811ad5b9b595873112ee890 + URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-mpfr-4.1.0-3-any.pkg.tar.zst" + SHA512 be8ad04e53804f18cfeec5b9cba1877af1516762de60891e115826fcfe95166751a68e24cdf351a021294e3189c31ce3c2db0ebf9c1d4d4ab6fea1468f73ced5 DEPS mingw-w64-x86_64-gmp ) msys_package( - URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gmp-6.2.0-1-any.pkg.tar.xz" - SHA512 0b22b7363e27cec706eb79ee0c45b5fe7088a5ca69e0868e7366481ed2ea9b3f6623d340cebba0b5ed3d79e4dfc7cf15f53530eb260c6d4057bfc3d92eb8c7bc + URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gmp-6.2.0-3-any.pkg.tar.zst" + SHA512 2736ba40bd7cac4ed12aae3d677aa0b788b161d2488976fbbae0fc6cff9ab154a09c903c1eec38ffe408a41abc62fd6106b55e17d7826b6dc10e720053685b1f ) msys_package( - URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-expat-2.2.9-1-any.pkg.tar.xz" - SHA512 1f747b9c7e6ee680b6d8f76429e81a42e2d4ab72d5d930207c90f4513cca5158c08c8296889fd27fe07a275cdeff5d34b5de0e6d1cd982d2e1d05765d6c8c31a + URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-expat-2.2.10-1-any.pkg.tar.zst" + SHA512 ea3069abd7b9809186d1204479a49d605797535e5d618c5c4fc068511134ef9a277facd67fc47fa9a00da2018db90291190fdb2187cb6a7bd99331a1c0c7e119 ) msys_package( - URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-libffi-3.3-1-any.pkg.tar.xz" - SHA512 90451ac2dadcd3f1310b6af977d4c56d239500743a3d67e4f8df915e6e6f65f34d4244843d8bac5718642973be5312c17cb3fb0b4c64732cda06437e9f1ce86d + URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-libffi-3.3-3-any.pkg.tar.zst" + SHA512 6d7700e218018454e406737108c40328038deb8d159b147b4159192d01fb72f8df90a81cf769c0b452fdab1f2ff110ead2e1894e3804f7e827fa2770349c63f8 ) msys_package( - URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-libiconv-1.16-1-any.pkg.tar.xz" - SHA512 c8e2fda532c753e0b1004596bf737c3669355f32af9b45d96c23fcef14994ba21ddf4f75138bdecc94cbf8a8c449eff530d24b74a0da47793e24ce92d154f411 + URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-libiconv-1.16-2-any.pkg.tar.zst" + SHA512 542ed5d898a57a79d3523458f8f3409669b411f87d0852bb566d66f75c96422433f70628314338993461bcb19d4bfac4dadd9d21390cb4d95ef0445669288658 ) msys_package( - URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-zlib-1.2.11-7-any.pkg.tar.xz" - SHA512 bbd4a549efc2a5f4b1e9f1be00331e8726d80401a9c6117afa9d5dd92f4ac42a06cf2ce491a988e5c6ed7a6e536f8f1746081f4944bc6d473ccd16390fea27fe + URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-zlib-1.2.11-9-any.pkg.tar.zst" + SHA512 f386d3a8d8c169a62a4580af074b7fdc0760ef0fde22ef7020a349382dd374a9e946606c757d12da1c1fe68baf5e2eaf459446e653477035a63e0e20df8f4aa0 ) msys_package( URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-libwinpthread-git-8.0.0.5906.c9a21571-1-any.pkg.tar.zst" diff --git a/scripts/test_ports/vcpkg-acquire-msys-test/CONTROL b/scripts/test_ports/vcpkg-acquire-msys-test/CONTROL new file mode 100644 index 00000000000000..47859b0769b2e9 --- /dev/null +++ b/scripts/test_ports/vcpkg-acquire-msys-test/CONTROL @@ -0,0 +1,4 @@ +Source: vcpkg-acquire-msys-test +Version: 0 +Description: Test port to exercise vcpkg_acquire_msys +Supports: x86 & windows diff --git a/scripts/test_ports/vcpkg-acquire-msys-test/portfile.cmake b/scripts/test_ports/vcpkg-acquire-msys-test/portfile.cmake new file mode 100644 index 00000000000000..7095dc682677c4 --- /dev/null +++ b/scripts/test_ports/vcpkg-acquire-msys-test/portfile.cmake @@ -0,0 +1,3 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +vcpkg_acquire_msys(MSYS_ROOT Z_ALL_PACKAGES) From 92a3c70f1d03dd174c913f30bd634eb7ff7d246c Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Fri, 2 Apr 2021 22:41:17 +0200 Subject: [PATCH 41/60] [vcpkg/make/scripts]only append the lib directories if they exist. (#16959) * [vcpkg/make/scripts]only append the lib directories if they exist. * fix path concat --- scripts/cmake/vcpkg_configure_make.cmake | 40 ++++++++++++++++++++---- 1 file changed, 34 insertions(+), 6 deletions(-) diff --git a/scripts/cmake/vcpkg_configure_make.cmake b/scripts/cmake/vcpkg_configure_make.cmake index 95c1fb322751b5..6cccaa34107c47 100644 --- a/scripts/cmake/vcpkg_configure_make.cmake +++ b/scripts/cmake/vcpkg_configure_make.cmake @@ -631,7 +631,15 @@ function(vcpkg_configure_make) set(LINK_ENV_${_VAR_SUFFIX} "${LINKER_FLAGS_${_VAR_SUFFIX}}") endif() else() - set(LDFLAGS_${_VAR_SUFFIX} "-L${_VCPKG_INSTALLED}${PATH_SUFFIX_${_VAR_SUFFIX}}/lib -L${_VCPKG_INSTALLED}${PATH_SUFFIX_${_VAR_SUFFIX}}/lib/manual-link ${LINKER_FLAGS_${_VAR_SUFFIX}}") + set(_link_dirs) + if(EXISTS "${_VCPKG_INSTALLED}${PATH_SUFFIX_${_VAR_SUFFIX}}/lib") + set(_link_dirs "-L${_VCPKG_INSTALLED}${PATH_SUFFIX_${_VAR_SUFFIX}}/lib") + endif() + if(EXISTS "{_VCPKG_INSTALLED}${PATH_SUFFIX_${_VAR_SUFFIX}}/lib/manual-link") + set(_link_dirs "${_link_dirs} -L${_VCPKG_INSTALLED}${PATH_SUFFIX_${_VAR_SUFFIX}}/lib/manual-link") + endif() + string(STRIP "${_link_dirs}" _link_dirs) + set(LDFLAGS_${_VAR_SUFFIX} "${_link_dirs} ${LINKER_FLAGS_${_VAR_SUFFIX}}") endif() unset(_VAR_SUFFIX) endif() @@ -656,7 +664,15 @@ function(vcpkg_configure_make) set(LINK_ENV_${_VAR_SUFFIX} "${LINKER_FLAGS_${_VAR_SUFFIX}}") endif() else() - set(LDFLAGS_${_VAR_SUFFIX} "-L${_VCPKG_INSTALLED}${PATH_SUFFIX_${_VAR_SUFFIX}}/lib/ -L${_VCPKG_INSTALLED}${PATH_SUFFIX_${_VAR_SUFFIX}}/lib/manual-link/ ${LINKER_FLAGS_${_VAR_SUFFIX}}") + set(_link_dirs) + if(EXISTS "${_VCPKG_INSTALLED}${PATH_SUFFIX_${_VAR_SUFFIX}}/lib") + set(_link_dirs "-L${_VCPKG_INSTALLED}${PATH_SUFFIX_${_VAR_SUFFIX}}/lib") + endif() + if(EXISTS "{_VCPKG_INSTALLED}${PATH_SUFFIX_${_VAR_SUFFIX}}/lib/manual-link") + set(_link_dirs "${_link_dirs} -L${_VCPKG_INSTALLED}${PATH_SUFFIX_${_VAR_SUFFIX}}/lib/manual-link") + endif() + string(STRIP "${_link_dirs}" _link_dirs) + set(LDFLAGS_${_VAR_SUFFIX} "${_link_dirs} ${LINKER_FLAGS_${_VAR_SUFFIX}}") endif() unset(_VAR_SUFFIX) endif() @@ -700,10 +716,22 @@ function(vcpkg_configure_make) endif() set(ENV{PKG_CONFIG} "${PKGCONFIG} --define-variable=prefix=${_VCPKG_INSTALLED}${PATH_SUFFIX_${_buildtype}}") - set(ENV{LIB} "${_VCPKG_INSTALLED}${PATH_SUFFIX_${_buildtype}}/lib/${VCPKG_HOST_PATH_SEPARATOR}${_VCPKG_INSTALLED}${PATH_SUFFIX_${_buildtype}}/lib/manual-link/${LIB_PATHLIKE_CONCAT}") - set(ENV{LIBPATH} "${_VCPKG_INSTALLED}${PATH_SUFFIX_${_buildtype}}/lib/${VCPKG_HOST_PATH_SEPARATOR}${_VCPKG_INSTALLED}${PATH_SUFFIX_${_buildtype}}/lib/manual-link/${LIBPATH_PATHLIKE_CONCAT}") - set(ENV{LIBRARY_PATH} "${_VCPKG_INSTALLED}${PATH_SUFFIX_${_buildtype}}/lib/${VCPKG_HOST_PATH_SEPARATOR}${_VCPKG_INSTALLED}${PATH_SUFFIX_${_buildtype}}/lib/manual-link/${LIBRARY_PATH_PATHLIKE_CONCAT}") - set(ENV{LD_LIBRARY_PATH} "${_VCPKG_INSTALLED}${PATH_SUFFIX_${_buildtype}}/lib/${VCPKG_HOST_PATH_SEPARATOR}${_VCPKG_INSTALLED}${PATH_SUFFIX_${_buildtype}}/lib/manual-link/${LD_LIBRARY_PATH_PATHLIKE_CONCAT}") + set(_lib_env_vars LIB LIBPATH LIBRARY_PATH LD_LIBRARY_PATH) + foreach(_lib_env_var IN LISTS _lib_env_vars) + set(_link_path) + if(EXISTS "${_VCPKG_INSTALLED}${PATH_SUFFIX_${_buildtype}}/lib") + set(_link_path "${_VCPKG_INSTALLED}${PATH_SUFFIX_${_buildtype}}/lib") + endif() + if(EXISTS "${_VCPKG_INSTALLED}${PATH_SUFFIX_${_buildtype}}/lib/manual-link") + if(_link_path) + set(_link_path "${_link_path}${VCPKG_HOST_PATH_SEPARATOR}") + endif() + set(_link_path "${_link_path}${_VCPKG_INSTALLED}${PATH_SUFFIX_${_buildtype}}/lib/manual-link") + endif() + set(ENV{${_lib_env_var}} "${_link_path}${${_lib_env_var}_PATHLIKE_CONCAT}") + endforeach() + unset(_link_path) + unset(_lib_env_vars) if (CMAKE_HOST_WIN32) set(command ${base_cmd} -c "${CONFIGURE_ENV} ./${RELATIVE_BUILD_PATH}/configure ${_csc_BUILD_TRIPLET} ${_csc_OPTIONS} ${_csc_OPTIONS_${_buildtype}}") From 45bc3d367a86352c7f97bf8b86bbe03a7f75a679 Mon Sep 17 00:00:00 2001 From: autoantwort <41973254+autoantwort@users.noreply.github.com> Date: Fri, 2 Apr 2021 23:01:50 +0200 Subject: [PATCH 42/60] [libffi] Fix processors (#16285) * [libffi] fix build on apple silicon * [libffi] add version files * [libffi] changes * [libffi] add version files * [libffi] Rearrange target conditional list Co-authored-by: Robert Schumacher --- ports/libffi/CMakeLists.txt | 24 +++++++++++------------- ports/libffi/CONTROL | 5 ----- ports/libffi/vcpkg.json | 7 +++++++ versions/baseline.json | 2 +- versions/l-/libffi.json | 5 +++++ 5 files changed, 24 insertions(+), 19 deletions(-) delete mode 100644 ports/libffi/CONTROL create mode 100644 ports/libffi/vcpkg.json diff --git a/ports/libffi/CMakeLists.txt b/ports/libffi/CMakeLists.txt index c9eba2f13cc5cb..bfdd2e60b1bcb2 100644 --- a/ports/libffi/CMakeLists.txt +++ b/ports/libffi/CMakeLists.txt @@ -11,23 +11,15 @@ endif() # config variables for ffi.h.in set(VERSION 3.3) -set(KNOWN_PROCESSORS x86 x86_64 AMD64 ARM ARM64 i386 armv7l armv7-a aarch64) +set(KNOWN_PROCESSORS x86 x86_64 amd64 arm arm64 i386 armv7l armv7-a aarch64) -if(NOT CMAKE_SYSTEM_PROCESSOR IN_LIST KNOWN_PROCESSORS) +string(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" lower_system_processor) + +if(NOT lower_system_processor IN_LIST KNOWN_PROCESSORS) message(FATAL_ERROR "Unknown processor: ${CMAKE_SYSTEM_PROCESSOR}") endif() -if(CMAKE_SYSTEM_PROCESSOR MATCHES "ARM") - set(TARGET ARM) -elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "armv7l") - set(TARGET ARM) -elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "armv7-a") - set(TARGET ARM) -elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64") - set(TARGET ARM64) -elseif(CMAKE_SYSTEM_NAME MATCHES "BSD" AND CMAKE_SIZEOF_VOID_P EQUAL 4) - set(TARGET X86_FREEBSD) -elseif(CMAKE_SYSTEM_NAME MATCHES "Windows" AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") +if(CMAKE_SYSTEM_NAME MATCHES "Windows" AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") set(TARGET ARM_WIN32) elseif(CMAKE_SYSTEM_NAME MATCHES "Windows" AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") set(TARGET ARM_WIN64) @@ -35,6 +27,12 @@ elseif(CMAKE_SYSTEM_NAME MATCHES "Windows" AND VCPKG_TARGET_ARCHITECTURE STREQUA set(TARGET X86_WIN32) elseif(CMAKE_SYSTEM_NAME MATCHES "Windows" AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") set(TARGET X86_WIN64) +elseif(lower_system_processor MATCHES "arm64|aarch64") + set(TARGET ARM64) +elseif(lower_system_processor MATCHES "arm") + set(TARGET ARM) +elseif(CMAKE_SYSTEM_NAME MATCHES "BSD" AND CMAKE_SIZEOF_VOID_P EQUAL 4) + set(TARGET X86_FREEBSD) elseif(CMAKE_SYSTEM_NAME MATCHES "Darwin" AND CMAKE_SIZEOF_VOID_P EQUAL 4) set(TARGET X86_DARWIN) elseif(CMAKE_SIZEOF_VOID_P EQUAL 8) diff --git a/ports/libffi/CONTROL b/ports/libffi/CONTROL deleted file mode 100644 index 7ba4813a3ef072..00000000000000 --- a/ports/libffi/CONTROL +++ /dev/null @@ -1,5 +0,0 @@ -Source: libffi -Version: 3.3 -Port-Version: 7 -Homepage: https://github.com/libffi/libffi -Description: Portable, high level programming interface to various calling conventions diff --git a/ports/libffi/vcpkg.json b/ports/libffi/vcpkg.json new file mode 100644 index 00000000000000..8934328b416115 --- /dev/null +++ b/ports/libffi/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "libffi", + "version": "3.3", + "port-version": 8, + "description": "Portable, high level programming interface to various calling conventions", + "homepage": "https://github.com/libffi/libffi" +} diff --git a/versions/baseline.json b/versions/baseline.json index 169e1c3b634337..cba0b79c9650b7 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3042,7 +3042,7 @@ }, "libffi": { "baseline": "3.3", - "port-version": 7 + "port-version": 8 }, "libflac": { "baseline": "1.3.3", diff --git a/versions/l-/libffi.json b/versions/l-/libffi.json index 03255992e02428..340ad5664702d4 100644 --- a/versions/l-/libffi.json +++ b/versions/l-/libffi.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "ea2ed30397fc14caf66d8f7290306cfc5c5aa424", + "version": "3.3", + "port-version": 8 + }, { "git-tree": "7582c1b20c576263d22b8429155ead9117cc7c95", "version-string": "3.3", From 030cfaa24de9ea1bbf0a4d9c615ce7312ba77af1 Mon Sep 17 00:00:00 2001 From: John Farrier <3240972+DigitalInBlue@users.noreply.github.com> Date: Fri, 2 Apr 2021 17:18:13 -0400 Subject: [PATCH 43/60] [celero] Updated to Celero v2.8.0 (#16802) * [celero] Updated to Celero v2.8.0 * [celero] Improving static linking support in VCPKG. Celero issue #154 is tracking a fix. https://github.com/DigitalInBlue/Celero/issues/154 * [celero] Updated to v2.8.1 * [celero] Updated version for VCPKG. * [celero] Updates to better support VCPKG. * [celero] Updated versions. * Update celero.json Co-authored-by: JonLiu1993 <63675417+JonLiu1993@users.noreply.github.com> --- ports/celero/CONTROL | 2 +- ports/celero/portfile.cmake | 6 +++--- versions/baseline.json | 2 +- versions/c-/celero.json | 5 +++++ 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/ports/celero/CONTROL b/ports/celero/CONTROL index 2e3327dbdf9881..d61655b2d5d581 100644 --- a/ports/celero/CONTROL +++ b/ports/celero/CONTROL @@ -1,4 +1,4 @@ Source: celero -Version: 2.7.2 +Version: 2.8.2 Homepage: https://github.com/DigitalInBlue/Celero Description: Celero is a modern cross-platform (Windows, Linux, MacOS) Microbenchmarking library for C++. diff --git a/ports/celero/portfile.cmake b/ports/celero/portfile.cmake index c2eb0b04025556..e39bac92d716df 100644 --- a/ports/celero/portfile.cmake +++ b/ports/celero/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO DigitalInBlue/Celero - REF b9bbe63ebc464f799676cd4c696b376296178d63 #2.7.2 - SHA512 00a93c433b99a2c918741350c3fbfad67e4fe239948497de33fea2f13c8666e4fe37caf9f0e92d3c04dcb8b5c5e12501b199de3e69bbcf4f321c57a7c086e228 + REF 6208b63dcd4baeea6817d3e84f79fb04ad99c720 #2.8.2 + SHA512 13a486dafba394cc3e072292008d00e8a3e1b12b4fe7c82cf2ce43b3d24629d08b5762494c19da0a12b186a70114cba101553ed1b4cea90d090514307b06dec8 HEAD_REF master ) @@ -24,7 +24,7 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH share) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/celero/Export.h "ifdef CELERO_STATIC" "if 1") endif() diff --git a/versions/baseline.json b/versions/baseline.json index cba0b79c9650b7..7ba361f3b15b9f 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -1125,7 +1125,7 @@ "port-version": 0 }, "celero": { - "baseline": "2.7.2", + "baseline": "2.8.2", "port-version": 0 }, "cello": { diff --git a/versions/c-/celero.json b/versions/c-/celero.json index a1baf67c079a36..2a6b5c3d8d2404 100644 --- a/versions/c-/celero.json +++ b/versions/c-/celero.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "a170553c57f438bdab8cde9f4c6494e774763681", + "version-string": "2.8.2", + "port-version": 0 + }, { "git-tree": "25d338809366c358afe158e52694be2a670ab054", "version-string": "2.7.2", From 1bb0fe61dfecd1450a1ff44c7fc8d424365366aa Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Tue, 6 Apr 2021 19:53:41 +0200 Subject: [PATCH 44/60] [vcpkg baseline][qt5-base] Fix glib link issues on linux (#16954) * [qt5-base] fix glib link issues on linux * add version * remove unused vars * update version * write port info file. * version stuff * remove paraview from baseline. It was added due to the same spurious glib failures. * trying out a different approach * more changes * change the if to actually use the buildtype instead * remove x_vcpkg_get_port_info * add option QT_OPENSSL_LINK back in * use INCLUDE_DIRS_(DEBUG|RELEASE) instead of just INCLUDE_DIRS * regen docs * remove function call I forgot to remove * [vcpkg-pkgconfig-get-modules] Move to port * revert changes to ports.cmake * include the file in qt5-base * fix path * remove unnecessary include * Apply suggestions from code review Co-authored-by: nicole mazzuca * Apply suggestions from code review * update version * ws removal * version stuff Co-authored-by: Robert Schumacher Co-authored-by: nicole mazzuca --- docs/maintainers/portfile-functions.md | 4 + .../ports/vcpkg-pkgconfig-get-modules.md | 6 + .../x_vcpkg_pkgconfig_get_modules.md | 44 ++++++ docs/regenerate.ps1 | 1 + ports/qt5-base/cmake/qt_build_submodule.cmake | 29 ++-- ports/qt5-base/portfile.cmake | 75 +++++---- ports/qt5-base/vcpkg.json | 6 +- ports/vcpkg-pkgconfig-get-modules/README.md | 6 + ports/vcpkg-pkgconfig-get-modules/copyright | 23 +++ .../portfile.cmake | 12 ++ .../vcpkg-port-config.cmake | 1 + ports/vcpkg-pkgconfig-get-modules/vcpkg.json | 4 + .../x_vcpkg_pkgconfig_get_modules.cmake | 146 ++++++++++++++++++ scripts/ci.baseline.txt | 1 - versions/baseline.json | 6 +- versions/q-/qt5-base.json | 5 + versions/v-/vcpkg-pkgconfig-get-modules.json | 9 ++ 17 files changed, 321 insertions(+), 57 deletions(-) create mode 100644 docs/maintainers/ports/vcpkg-pkgconfig-get-modules.md create mode 100644 docs/maintainers/ports/vcpkg-pkgconfig-get-modules/x_vcpkg_pkgconfig_get_modules.md create mode 100644 ports/vcpkg-pkgconfig-get-modules/README.md create mode 100644 ports/vcpkg-pkgconfig-get-modules/copyright create mode 100644 ports/vcpkg-pkgconfig-get-modules/portfile.cmake create mode 100644 ports/vcpkg-pkgconfig-get-modules/vcpkg-port-config.cmake create mode 100644 ports/vcpkg-pkgconfig-get-modules/vcpkg.json create mode 100644 ports/vcpkg-pkgconfig-get-modules/x_vcpkg_pkgconfig_get_modules.cmake create mode 100644 versions/v-/vcpkg-pkgconfig-get-modules.json diff --git a/docs/maintainers/portfile-functions.md b/docs/maintainers/portfile-functions.md index fbad18c8ef634d..842ef6137a0cea 100644 --- a/docs/maintainers/portfile-functions.md +++ b/docs/maintainers/portfile-functions.md @@ -73,3 +73,7 @@ ### [vcpkg-cmake-config](ports/vcpkg-cmake-config.md) - [vcpkg\_cmake\_config\_fixup](ports/vcpkg-cmake-config/vcpkg_cmake_config_fixup.md) + +### [vcpkg-pkgconfig-get-modules](ports/vcpkg-pkgconfig-get-modules.md) + +- [x\_vcpkg\_pkgconfig\_get\_modules](ports/vcpkg-pkgconfig-get-modules/x_vcpkg_pkgconfig_get_modules.md) diff --git a/docs/maintainers/ports/vcpkg-pkgconfig-get-modules.md b/docs/maintainers/ports/vcpkg-pkgconfig-get-modules.md new file mode 100644 index 00000000000000..ac99412c2484bd --- /dev/null +++ b/docs/maintainers/ports/vcpkg-pkgconfig-get-modules.md @@ -0,0 +1,6 @@ +# vcpkg-pkgconfig-get-modules + +**Experimental: will change or be removed at any time** + +`vcpkg-pkgconfig-get-modules` provides `x_vcpkg_pkgconfig_get_modules()`, a function which simplifies calling +`pkg-config` in portfiles in order to gather dependencies for exotic buildsystems. diff --git a/docs/maintainers/ports/vcpkg-pkgconfig-get-modules/x_vcpkg_pkgconfig_get_modules.md b/docs/maintainers/ports/vcpkg-pkgconfig-get-modules/x_vcpkg_pkgconfig_get_modules.md new file mode 100644 index 00000000000000..06299533a00c6f --- /dev/null +++ b/docs/maintainers/ports/vcpkg-pkgconfig-get-modules/x_vcpkg_pkgconfig_get_modules.md @@ -0,0 +1,44 @@ +# x_vcpkg_pkgconfig_get_modules + +The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/ports/vcpkg-pkgconfig-get-modules/x_vcpkg_pkgconfig_get_modules.md). + +Experimental +Retrieve required module information from pkgconfig modules + +## Usage +```cmake +x_vcpkg_pkgconfig_get_modules( + PREFIX + MODULES ... + [LIBS] + [LIBRARIES] + [LIBRARIES_DIRS] + [INCLUDE_DIRS] +) +``` +## Parameters + +### PREFIX +Used variable prefix to use + +### MODULES +List of pkgconfig modules to retrieve information for. + +### LIBS +Returns `"${PKGCONFIG}" --libs` in _LIBS_(DEBUG|RELEASE) + +### LIBRARIES +Returns `"${PKGCONFIG}" --libs-only-l` in _LIBRARIES_(DEBUG|RELEASE) + +### LIBRARIES_DIRS +Returns `"${PKGCONFIG}" --libs-only-L` in _LIBRARIES_DIRS_(DEBUG|RELEASE) + +### INCLUDE_DIRS +Returns `"${PKGCONFIG}" --cflags-only-I` in _INCLUDE_DIRS_(DEBUG|RELEASE) + +## Examples + +* [qt5-base](https://github.com/microsoft/vcpkg/blob/master/ports/qt5-base/portfile.cmake) + +## Source +[ports/vcpkg-pkgconfig-get-modules/x\_vcpkg\_pkgconfig\_get\_modules.cmake](https://github.com/Microsoft/vcpkg/blob/master/ports/vcpkg-pkgconfig-get-modules/x_vcpkg_pkgconfig_get_modules.cmake) diff --git a/docs/regenerate.ps1 b/docs/regenerate.ps1 index 93e78a3c915d53..4c847f75aaff5c 100755 --- a/docs/regenerate.ps1 +++ b/docs/regenerate.ps1 @@ -26,6 +26,7 @@ class CMakeDocumentation { [String[]]$cmakeScriptsPorts = @( 'vcpkg-cmake' 'vcpkg-cmake-config' + 'vcpkg-pkgconfig-get-modules' ) [CMakeDocumentation[]]$tableOfContents = @() diff --git a/ports/qt5-base/cmake/qt_build_submodule.cmake b/ports/qt5-base/cmake/qt_build_submodule.cmake index b30ef029909300..52f9c6c1ba3f7f 100644 --- a/ports/qt5-base/cmake/qt_build_submodule.cmake +++ b/ports/qt5-base/cmake/qt_build_submodule.cmake @@ -6,19 +6,20 @@ function(qt_build_submodule SOURCE_PATH) vcpkg_find_acquire_program(PYTHON2) get_filename_component(PYTHON2_EXE_PATH ${PYTHON2} DIRECTORY) vcpkg_add_to_path("${PYTHON2_EXE_PATH}") - + vcpkg_configure_qmake(SOURCE_PATH ${SOURCE_PATH} ${ARGV}) vcpkg_build_qmake(SKIP_MAKEFILES) - + #Fix the installation location within the makefiles qt_fix_makefile_install("${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/") qt_fix_makefile_install("${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/") #Install the module files vcpkg_build_qmake(TARGETS install SKIP_MAKEFILES BUILD_LOGNAME install) - + qt_fix_cmake(${CURRENT_PACKAGES_DIR} ${PORT}) + vcpkg_fixup_pkgconfig() # Needs further investigation if this is enough! #Replace with VCPKG variables if PR #7733 is merged unset(BUILDTYPES) @@ -26,13 +27,13 @@ function(qt_build_submodule SOURCE_PATH) set(_buildname "DEBUG") list(APPEND BUILDTYPES ${_buildname}) set(_short_name_${_buildname} "dbg") - set(_path_suffix_${_buildname} "/debug") + set(_path_suffix_${_buildname} "/debug") endif() if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") set(_buildname "RELEASE") list(APPEND BUILDTYPES ${_buildname}) set(_short_name_${_buildname} "rel") - set(_path_suffix_${_buildname} "") + set(_path_suffix_${_buildname} "") endif() unset(_buildname) @@ -42,14 +43,14 @@ function(qt_build_submodule SOURCE_PATH) file(GLOB_RECURSE PRL_FILES "${CURRENT_BUILD_PACKAGE_DIR}/lib/*.prl" "${CURRENT_PACKAGES_DIR}/tools/qt5${_path_suffix_${_buildname}}/lib/*.prl" "${CURRENT_PACKAGES_DIR}/tools/qt5${_path_suffix_${_buildname}}/mkspecs/*.pri") qt_fix_prl("${CURRENT_BUILD_PACKAGE_DIR}" "${PRL_FILES}") - + # This makes it impossible to use the build tools in any meaningful way. qt5 assumes they are all in one folder! # So does the Qt VS Plugin which even assumes all of the in a bin folder #Move tools to the correct directory #if(EXISTS ${CURRENT_BUILD_PACKAGE_DIR}/tools/qt5) # file(RENAME ${CURRENT_BUILD_PACKAGE_DIR}/tools/qt5 ${CURRENT_PACKAGES_DIR}/tools/${PORT}) #endif() - + # Move executables in bin to tools # This is ok since those are not build tools. file(GLOB PACKAGE_EXE ${CURRENT_BUILD_PACKAGE_DIR}/bin/*.exe) @@ -64,13 +65,13 @@ function(qt_build_submodule SOURCE_PATH) endif() endforeach() endif() - + #cleanup empty folders file(GLOB PACKAGE_LIBS "${CURRENT_BUILD_PACKAGE_DIR}/lib/*") if(NOT PACKAGE_LIBS) file(REMOVE_RECURSE "${CURRENT_BUILD_PACKAGE_DIR}/lib") endif() - + file(GLOB PACKAGE_BINS "${CURRENT_BUILD_PACKAGE_DIR}/bin/*") if(NOT PACKAGE_BINS) file(REMOVE_RECURSE "${CURRENT_BUILD_PACKAGE_DIR}/bin") @@ -78,12 +79,12 @@ function(qt_build_submodule SOURCE_PATH) endforeach() if(EXISTS "${CURRENT_PACKAGES_DIR}/tools/qt5/bin") file(COPY "${CURRENT_PACKAGES_DIR}/tools/qt5/bin" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") - + set(CURRENT_INSTALLED_DIR_BACKUP "${CURRENT_INSTALLED_DIR}") set(CURRENT_INSTALLED_DIR "./../../.." ) # Making the qt.conf relative and not absolute configure_file(${CURRENT_INSTALLED_DIR_BACKUP}/tools/qt5/qt_release.conf ${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/qt.conf) # This makes the tools at least useable for release set(CURRENT_INSTALLED_DIR "${CURRENT_INSTALLED_DIR_BACKUP}") - + vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin") if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") file(GLOB_RECURSE DLL_DEPS_AVAIL "${CURRENT_INSTALLED_DIR}/tools/qt5/bin/*.dll") @@ -99,14 +100,14 @@ function(qt_build_submodule SOURCE_PATH) endforeach() endif() endif() - + #This should be removed if somehow possible if(EXISTS "${CURRENT_PACKAGES_DIR}/tools/qt5/debug/bin") set(CURRENT_INSTALLED_DIR_BACKUP "${CURRENT_INSTALLED_DIR}") set(CURRENT_INSTALLED_DIR "./../../../.." ) # Making the qt.conf relative and not absolute configure_file(${CURRENT_INSTALLED_DIR_BACKUP}/tools/qt5/qt_debug.conf ${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/bin/qt.conf) # This makes the tools at least useable for release set(CURRENT_INSTALLED_DIR "${CURRENT_INSTALLED_DIR_BACKUP}") - + vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/bin") if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") file(GLOB_RECURSE DLL_DEPS_AVAIL "${CURRENT_INSTALLED_DIR}/tools/qt5/debug/bin/*.dll") @@ -122,5 +123,5 @@ function(qt_build_submodule SOURCE_PATH) endforeach() endif() endif() - + endfunction() \ No newline at end of file diff --git a/ports/qt5-base/portfile.cmake b/ports/qt5-base/portfile.cmake index 1ca13c5597a587..5137f72d00eff8 100644 --- a/ports/qt5-base/portfile.cmake +++ b/ports/qt5-base/portfile.cmake @@ -1,19 +1,11 @@ vcpkg_buildpath_length_warning(37) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - option(QT_OPENSSL_LINK "Link against OpenSSL at compile-time." ON) + set(QT_OPENSSL_LINK_DEFAULT ON) else() - option(QT_OPENSSL_LINK "Link against OpenSSL at compile-time." OFF) + set(QT_OPENSSL_LINK_DEFAULT OFF) endif() - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - option(QT_MYSQL_PLUGIN "Create MySQL plugin" OFF) -else() - if ("mysqlplugin" IN_LIST FEATURES) - option(QT_MYSQL_PLUGIN "Create MySQL plugin" ON) - endif() -endif() - +option(QT_OPENSSL_LINK "Link against OpenSSL at compile-time." ${QT_OPENSSL_LINK_DEFAULT}) if (VCPKG_TARGET_IS_LINUX) message(WARNING "qt5-base currently requires some packages from the system package manager, see https://doc.qt.io/qt-5/linux-requirements.html") @@ -45,9 +37,17 @@ else() ) endif() -set(WITH_PGSQL OFF) +set(WITH_PGSQL_PLUGIN OFF) if("postgresqlplugin" IN_LIST FEATURES) - set(WITH_PGSQL ON) + set(WITH_PGSQL_PLUGIN ON) +endif() + +set(WITH_MYSQL_PLUGIN OFF) +if ("mysqlplugin" IN_LIST FEATURES) + set(WITH_MYSQL_PLUGIN ON) +endif() +if(WITH_MYSQL_PLUGIN AND NOT VCPKG_TARGET_IS_WINDOWS) + message(WARNING "${PORT} is currently not setup to support feature 'mysqlplugin' on platforms other than windows. Feel free to open up a PR to fix it!") endif() include(qt_port_functions) @@ -121,31 +121,33 @@ list(APPEND CORE_OPTIONS -system-zlib -system-libjpeg -system-libpng - -system-freetype # static builds require to also link its dependent bzip! + -system-freetype -system-pcre -system-doubleconversion -system-sqlite -system-harfbuzz -icu -no-vulkan - -no-angle) # Qt does not need to build angle. VCPKG will build angle! + -no-angle # Qt does not need to build angle. VCPKG will build angle! + -no-glib + ) if(QT_OPENSSL_LINK) list(APPEND CORE_OPTIONS -openssl-linked) endif() -if(WITH_PGSQL) +if(WITH_PGSQL_PLUGIN) list(APPEND CORE_OPTIONS -sql-psql) else() list(APPEND CORE_OPTIONS -no-sql-psql) endif() - -if(VCPKG_TARGET_IS_WINDOWS) - if(QT_MYSQL_PLUGIN) - list(APPEND CORE_OPTIONS -sql-mysql) - endif() +if(WITH_MYSQL_PLUGIN) + list(APPEND CORE_OPTIONS -sql-mysql) +else() + list(APPEND CORE_OPTIONS -no-sql-mysql) endif() + find_library(ZLIB_RELEASE NAMES z zlib PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) find_library(ZLIB_DEBUG NAMES z zlib zd zlibd PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) find_library(JPEG_RELEASE NAMES jpeg jpeg-static PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) @@ -202,7 +204,6 @@ if(VCPKG_TARGET_IS_WINDOWS) set(ICU_DEBUG "${ICU_DEBUG} Advapi32.lib" ) endif() - find_library(FONTCONFIG_RELEASE NAMES fontconfig PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) find_library(FONTCONFIG_DEBUG NAMES fontconfig PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) find_library(EXPAT_RELEASE NAMES expat PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) @@ -222,13 +223,7 @@ set(FREETYPE_RELEASE_ALL "${FREETYPE_RELEASE} ${BZ2_RELEASE} ${LIBPNG_RELEASE} $ set(FREETYPE_DEBUG_ALL "${FREETYPE_DEBUG} ${BZ2_DEBUG} ${LIBPNG_DEBUG} ${ZLIB_DEBUG} ${BROTLI_DEC_DEBUG} ${BROTLI_COMMON_DEBUG}") # If HarfBuzz is built with GLib enabled, it must be statically link -set(GLIB_LIB_VERSION 2.0) -find_library(GLIB_RELEASE NAMES glib-${GLIB_LIB_VERSION} PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) -find_library(GLIB_DEBUG NAMES glib-${GLIB_LIB_VERSION} PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) -if(GLIB_RELEASE MATCHES "-NOTFOUND" OR GLIB_DEBUG MATCHES "-NOTFOUND") - set(GLIB_RELEASE "") - set(GLIB_DEBUG "") -endif() +x_vcpkg_pkgconfig_get_modules(PREFIX harfbuzz MODULES harfbuzz LIBRARIES) set(RELEASE_OPTIONS "LIBJPEG_LIBS=${JPEG_RELEASE}" @@ -266,23 +261,23 @@ if(VCPKG_TARGET_IS_WINDOWS) endif() list(APPEND RELEASE_OPTIONS "SQLITE_LIBS=${SQLITE_RELEASE}" - "HARFBUZZ_LIBS=${HARFBUZZ_RELEASE} ${FREETYPE_RELEASE_ALL}" + "HARFBUZZ_LIBS=${harfbuzz_LIBRARIES_RELEASE}" "OPENSSL_LIBS=${SSL_RELEASE} ${EAY_RELEASE} ws2_32.lib secur32.lib advapi32.lib shell32.lib crypt32.lib user32.lib gdi32.lib" ) list(APPEND DEBUG_OPTIONS "SQLITE_LIBS=${SQLITE_DEBUG}" - "HARFBUZZ_LIBS=${HARFBUZZ_DEBUG} ${FREETYPE_DEBUG_ALL}" + "HARFBUZZ_LIBS=${harfbuzz_LIBRARIES_DEBUG}" "OPENSSL_LIBS=${SSL_DEBUG} ${EAY_DEBUG} ws2_32.lib secur32.lib advapi32.lib shell32.lib crypt32.lib user32.lib gdi32.lib" ) - if(WITH_PGSQL) + if(WITH_PGSQL_PLUGIN) list(APPEND RELEASE_OPTIONS "PSQL_LIBS=${PSQL_RELEASE} ${PSQL_PORT_RELEASE} ${PSQL_COMMON_RELEASE} ${SSL_RELEASE} ${EAY_RELEASE} ws2_32.lib secur32.lib advapi32.lib shell32.lib crypt32.lib user32.lib gdi32.lib") list(APPEND DEBUG_OPTIONS "PSQL_LIBS=${PSQL_DEBUG} ${PSQL_PORT_DEBUG} ${PSQL_COMMON_DEBUG} ${SSL_DEBUG} ${EAY_DEBUG} ws2_32.lib secur32.lib advapi32.lib shell32.lib crypt32.lib user32.lib gdi32.lib") endif() - if (QT_MYSQL_PLUGIN) + if (WITH_MYSQL_PLUGIN) list(APPEND RELEASE_OPTIONS "MYSQL_LIBS=${MYSQL_RELEASE}") list(APPEND DEBUG_OPTIONS "MYSQL_LIBS=${MYSQL_DEBUG}") - endif(QT_MYSQL_PLUGIN) + endif(WITH_MYSQL_PLUGIN) elseif(VCPKG_TARGET_IS_LINUX) list(APPEND CORE_OPTIONS -fontconfig -xcb-xlib -xcb -linuxfb) @@ -291,17 +286,17 @@ elseif(VCPKG_TARGET_IS_LINUX) endif() list(APPEND RELEASE_OPTIONS "SQLITE_LIBS=${SQLITE_RELEASE} -ldl -lpthread" - "HARFBUZZ_LIBS=${HARFBUZZ_RELEASE} ${FREETYPE_RELEASE_ALL} ${GLIB_RELEASE} -lpthread" + "HARFBUZZ_LIBS=${harfbuzz_LIBRARIES_RELEASE}" "OPENSSL_LIBS=${SSL_RELEASE} ${EAY_RELEASE} -ldl -lpthread" "FONTCONFIG_LIBS=${FONTCONFIG_RELEASE} ${FREETYPE_RELEASE} ${EXPAT_RELEASE} -luuid" ) list(APPEND DEBUG_OPTIONS "SQLITE_LIBS=${SQLITE_DEBUG} -ldl -lpthread" - "HARFBUZZ_LIBS=${HARFBUZZ_DEBUG} ${FREETYPE_DEBUG_ALL} ${GLIB_DEBUG} -lpthread" + "HARFBUZZ_LIBS=${harfbuzz_LIBRARIES_DEBUG}" "OPENSSL_LIBS=${SSL_DEBUG} ${EAY_DEBUG} -ldl -lpthread" "FONTCONFIG_LIBS=${FONTCONFIG_DEBUG} ${FREETYPE_DEBUG} ${EXPAT_DEBUG} -luuid" ) - if(WITH_PGSQL) + if(WITH_PGSQL_PLUGIN) list(APPEND RELEASE_OPTIONS "PSQL_LIBS=${PSQL_RELEASE} ${PSQL_PORT_RELEASE} ${PSQL_TYPES_RELEASE} ${PSQL_COMMON_RELEASE} ${SSL_RELEASE} ${EAY_RELEASE} -ldl -lpthread") list(APPEND DEBUG_OPTIONS "PSQL_LIBS=${PSQL_DEBUG} ${PSQL_PORT_DEBUG} ${PSQL_TYPES_DEBUG} ${PSQL_COMMON_DEBUG} ${SSL_DEBUG} ${EAY_DEBUG} -ldl -lpthread") endif() @@ -331,18 +326,18 @@ elseif(VCPKG_TARGET_IS_OSX) #list(APPEND QT_PLATFORM_CONFIGURE_OPTIONS HOST_PLATFORM ${TARGET_MKSPEC}) list(APPEND RELEASE_OPTIONS "SQLITE_LIBS=${SQLITE_RELEASE} -ldl -lpthread" - "HARFBUZZ_LIBS=${HARFBUZZ_RELEASE} ${FREETYPE_RELEASE_ALL} -framework ApplicationServices" + "HARFBUZZ_LIBS=${harfbuzz_LIBRARIES_RELEASE} -framework ApplicationServices" "OPENSSL_LIBS=${SSL_RELEASE} ${EAY_RELEASE} -ldl -lpthread" "FONTCONFIG_LIBS=${FONTCONFIG_RELEASE} ${FREETYPE_RELEASE} ${EXPAT_RELEASE} -liconv" ) list(APPEND DEBUG_OPTIONS "SQLITE_LIBS=${SQLITE_DEBUG} -ldl -lpthread" - "HARFBUZZ_LIBS=${HARFBUZZ_DEBUG} ${FREETYPE_DEBUG_ALL} -framework ApplicationServices" + "HARFBUZZ_LIBS=${harfbuzz_LIBRARIES_DEBUG} -framework ApplicationServices" "OPENSSL_LIBS=${SSL_DEBUG} ${EAY_DEBUG} -ldl -lpthread" "FONTCONFIG_LIBS=${FONTCONFIG_DEBUG} ${FREETYPE_DEBUG} ${EXPAT_DEBUG} -liconv" ) - if(WITH_PGSQL) + if(WITH_PGSQL_PLUGIN) list(APPEND RELEASE_OPTIONS "PSQL_LIBS=${PSQL_RELEASE} ${PSQL_PORT_RELEASE} ${PSQL_TYPES_RELEASE} ${PSQL_COMMON_RELEASE} ${SSL_RELEASE} ${EAY_RELEASE} -ldl -lpthread") list(APPEND DEBUG_OPTIONS "PSQL_LIBS=${PSQL_DEBUG} ${PSQL_PORT_DEBUG} ${PSQL_TYPES_DEBUG} ${PSQL_COMMON_DEBUG} ${SSL_DEBUG} ${EAY_DEBUG} -ldl -lpthread") endif() diff --git a/ports/qt5-base/vcpkg.json b/ports/qt5-base/vcpkg.json index 37e62526c21711..e71dbb245f744a 100644 --- a/ports/qt5-base/vcpkg.json +++ b/ports/qt5-base/vcpkg.json @@ -1,7 +1,7 @@ { "name": "qt5-base", "version-string": "5.15.2", - "port-version": 3, + "port-version": 4, "description": "Qt5 Application Framework Base Module. Includes Core, GUI, Widgets, Networking, SQL, Concurrent and other essential qt components.", "homepage": "https://www.qt.io/", "dependencies": [ @@ -26,6 +26,10 @@ "openssl", "pcre2", "sqlite3", + { + "name": "vcpkg-pkgconfig-get-modules", + "host": true + }, "zlib", "zstd" ], diff --git a/ports/vcpkg-pkgconfig-get-modules/README.md b/ports/vcpkg-pkgconfig-get-modules/README.md new file mode 100644 index 00000000000000..ac99412c2484bd --- /dev/null +++ b/ports/vcpkg-pkgconfig-get-modules/README.md @@ -0,0 +1,6 @@ +# vcpkg-pkgconfig-get-modules + +**Experimental: will change or be removed at any time** + +`vcpkg-pkgconfig-get-modules` provides `x_vcpkg_pkgconfig_get_modules()`, a function which simplifies calling +`pkg-config` in portfiles in order to gather dependencies for exotic buildsystems. diff --git a/ports/vcpkg-pkgconfig-get-modules/copyright b/ports/vcpkg-pkgconfig-get-modules/copyright new file mode 100644 index 00000000000000..2e4eac8264fa4c --- /dev/null +++ b/ports/vcpkg-pkgconfig-get-modules/copyright @@ -0,0 +1,23 @@ +Copyright (c) Microsoft Corporation + +All rights reserved. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/ports/vcpkg-pkgconfig-get-modules/portfile.cmake b/ports/vcpkg-pkgconfig-get-modules/portfile.cmake new file mode 100644 index 00000000000000..18df919b49f362 --- /dev/null +++ b/ports/vcpkg-pkgconfig-get-modules/portfile.cmake @@ -0,0 +1,12 @@ +if(NOT TARGET_TRIPLET STREQUAL HOST_TRIPLET) + # make FATAL_ERROR in CI when issue #16773 fixed + message(WARNING "vcpkg-pkgconfig-get-modules is a host-only port; please mark it as a host port in your dependencies.") +endif() + +file(COPY + "${CMAKE_CURRENT_LIST_DIR}/x_vcpkg_pkgconfig_get_modules.cmake" + "${CMAKE_CURRENT_LIST_DIR}/vcpkg-port-config.cmake" + "${CMAKE_CURRENT_LIST_DIR}/copyright" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) diff --git a/ports/vcpkg-pkgconfig-get-modules/vcpkg-port-config.cmake b/ports/vcpkg-pkgconfig-get-modules/vcpkg-port-config.cmake new file mode 100644 index 00000000000000..01c9e6aec63bf6 --- /dev/null +++ b/ports/vcpkg-pkgconfig-get-modules/vcpkg-port-config.cmake @@ -0,0 +1 @@ +include("${CMAKE_CURRENT_LIST_DIR}/x_vcpkg_pkgconfig_get_modules.cmake") diff --git a/ports/vcpkg-pkgconfig-get-modules/vcpkg.json b/ports/vcpkg-pkgconfig-get-modules/vcpkg.json new file mode 100644 index 00000000000000..f9c24c7f3623ca --- /dev/null +++ b/ports/vcpkg-pkgconfig-get-modules/vcpkg.json @@ -0,0 +1,4 @@ +{ + "name": "vcpkg-pkgconfig-get-modules", + "version-date": "2021-04-02" +} diff --git a/ports/vcpkg-pkgconfig-get-modules/x_vcpkg_pkgconfig_get_modules.cmake b/ports/vcpkg-pkgconfig-get-modules/x_vcpkg_pkgconfig_get_modules.cmake new file mode 100644 index 00000000000000..43ccf92e7a8c83 --- /dev/null +++ b/ports/vcpkg-pkgconfig-get-modules/x_vcpkg_pkgconfig_get_modules.cmake @@ -0,0 +1,146 @@ +#[===[.md: +# x_vcpkg_pkgconfig_get_modules + +Experimental +Retrieve required module information from pkgconfig modules + +## Usage +```cmake +x_vcpkg_pkgconfig_get_modules( + PREFIX + MODULES ... + [LIBS] + [LIBRARIES] + [LIBRARIES_DIRS] + [INCLUDE_DIRS] +) +``` +## Parameters + +### PREFIX +Used variable prefix to use + +### MODULES +List of pkgconfig modules to retrieve information for. + +### LIBS +Returns `"${PKGCONFIG}" --libs` in _LIBS_(DEBUG|RELEASE) + +### LIBRARIES +Returns `"${PKGCONFIG}" --libs-only-l` in _LIBRARIES_(DEBUG|RELEASE) + +### LIBRARIES_DIRS +Returns `"${PKGCONFIG}" --libs-only-L` in _LIBRARIES_DIRS_(DEBUG|RELEASE) + +### INCLUDE_DIRS +Returns `"${PKGCONFIG}" --cflags-only-I` in _INCLUDE_DIRS_(DEBUG|RELEASE) + +## Examples + +* [qt5-base](https://github.com/microsoft/vcpkg/blob/master/ports/qt5-base/portfile.cmake) +#]===] +if(Z_VCPKG_PKGCONFIG_GET_MODULES_GUARD) + return() +endif() +set(Z_VCPKG_PKGCONFIG_GET_MODULES_GUARD ON CACHE INTERNAL "guard variable") + +function(x_vcpkg_pkgconfig_get_modules) + cmake_parse_arguments(PARSE_ARGV 0 "arg" "LIBS;LIBRARIES;LIBRARIES_DIR;INCLUDE_DIRS" "PREFIX" "MODULES") + if(NOT DEFINED arg_PREFIX OR arg_PREFIX STREQUAL "") + message(FATAL_ERROR "x_vcpkg_pkgconfig_get_modules requires parameter PREFIX!") + endif() + if(NOT DEFINED arg_MODULES OR arg_MODULES STREQUAL "") + message(FATAL_ERROR "x_vcpkg_pkgconfig_get_modules requires parameter MODULES!") + endif() + if(DEFINED arg_UNPARSED_ARGUMENTS) + message(FATAL_ERROR "extra arguments passed to x_vcpkg_pkgconfig_get_modules: ${arg_UNPARSED_ARGUMENTS}") + endif() + + vcpkg_find_acquire_program(PKGCONFIG) + set(backup_PKG_CONFIG_PATH "$ENV{PKG_CONFIG_PATH}") + + set(var_suffixes) + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + z_vcpkg_set_pkgconfig_path("${CURRENT_INSTALLED_DIR}/lib/pkgconfig" "${backup_PKG_CONFIG_PATH}") + if(arg_LIBS) + execute_process( + COMMAND "${PKGCONFIG}" --libs ${arg_MODULES} + OUTPUT_VARIABLE ${arg_PREFIX}_LIBS_RELEASE + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + list(APPEND var_suffixes LIBS_RELEASE) + endif() + if(arg_LIBRARIES) + execute_process( + COMMAND "${PKGCONFIG}" --libs-only-l ${arg_MODULES} + OUTPUT_VARIABLE ${arg_PREFIX}_LIBRARIES_RELEASE + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + list(APPEND var_suffixes LIBRARIES_RELEASE) + endif() + if(arg_LIBRARIES_DIRS) + execute_process( + COMMAND "${PKGCONFIG}" --libs-only-L ${arg_MODULES} + OUTPUT_VARIABLE ${arg_PREFIX}_LIBRARIES_DIRS_RELEASE + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + list(APPEND var_suffixes LIBRARIES_DIRS_RELEASE) + endif() + if(arg_INCLUDE_DIRS) + execute_process( + COMMAND "${PKGCONFIG}" --cflags-only-I ${arg_MODULES} + OUTPUT_VARIABLE ${arg_PREFIX}_INCLUDE_DIRS_RELEASE + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + list(APPEND var_suffixes INCLUDE_DIRS_RELEASE) + endif() + endif() + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + z_vcpkg_set_pkgconfig_path("${CURRENT_INSTALLED_DIR}/debug/lib/pkgconfig" "${backup_PKG_CONFIG_PATH}") + if(arg_LIBS) + execute_process( + COMMAND "${PKGCONFIG}" --libs ${arg_MODULES} + OUTPUT_VARIABLE ${arg_PREFIX}_LIBS_DEBUG + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + list(APPEND var_suffixes LIBS_DEBUG) + endif() + if(arg_LIBRARIES) + execute_process( + COMMAND "${PKGCONFIG}" --libs-only-l ${arg_MODULES} + OUTPUT_VARIABLE ${arg_PREFIX}_LIBRARIES_DEBUG + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + list(APPEND var_suffixes LIBRARIES_DEBUG) + endif() + if(arg_LIBRARIES_DIRS) + execute_process( + COMMAND "${PKGCONFIG}" --libs-only-L ${arg_MODULES} + OUTPUT_VARIABLE ${arg_PREFIX}_LIBRARIES_DIRS_DEBUG + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + list(APPEND var_suffixes LIBRARIES_DIRS_DEBUG) + endif() + if(arg_INCLUDE_DIRS) + execute_process( + COMMAND "${PKGCONFIG}" --cflags-only-I ${arg_MODULES} + OUTPUT_VARIABLE ${arg_PREFIX}_INCLUDE_DIRS_DEBUG + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + list(APPEND var_suffixes INCLUDE_DIRS_DEBUG) + endif() + endif() + set(ENV{PKG_CONFIG_PATH} "${backup_PKG_CONFIG_PATH}") + + foreach(_var IN LISTS var_suffixes) + set("${arg_PREFIX}_${_var}" "${${arg_PREFIX}_${_var}}" PARENT_SCOPE) + endforeach() +endfunction() + +function(z_vcpkg_set_pkgconfig_path _path _backup) + if(NOT _backup STREQUAL "") + set(ENV{PKG_CONFIG_PATH} "${_path}${VCPKG_HOST_PATH_SEPARATOR}${_backup}") + else() + set(ENV{PKG_CONFIG_PATH} "${_path}") + endif() +endfunction() diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 9b0bd80f4712fa..124afea578b9e5 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -1213,7 +1213,6 @@ paho-mqtt:arm-uwp=fail paho-mqtt:x64-uwp=fail pangomm:x64-osx=fail pangomm:arm64-windows=fail -paraview:x64-linux=fail parmetis:x64-linux=fail parmetis:x64-osx=fail pdal:x64-linux=fail diff --git a/versions/baseline.json b/versions/baseline.json index 7ba361f3b15b9f..eefd125a722dd9 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -4962,7 +4962,7 @@ }, "qt5-base": { "baseline": "5.15.2", - "port-version": 3 + "port-version": 4 }, "qt5-canvas3d": { "baseline": "0", @@ -6264,6 +6264,10 @@ "baseline": "3", "port-version": 0 }, + "vcpkg-pkgconfig-get-modules": { + "baseline": "2021-04-02", + "port-version": 0 + }, "vectorclass": { "baseline": "2.00.01", "port-version": 0 diff --git a/versions/q-/qt5-base.json b/versions/q-/qt5-base.json index 4fbe36d47daf79..8b437940ad8747 100644 --- a/versions/q-/qt5-base.json +++ b/versions/q-/qt5-base.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "6bd06b14752f1123c7d43df59ae19c584c24ea54", + "version-string": "5.15.2", + "port-version": 4 + }, { "git-tree": "da84dcfb306668b2cdb510efb6a130882da2055a", "version-string": "5.15.2", diff --git a/versions/v-/vcpkg-pkgconfig-get-modules.json b/versions/v-/vcpkg-pkgconfig-get-modules.json new file mode 100644 index 00000000000000..c1c65a5417ae94 --- /dev/null +++ b/versions/v-/vcpkg-pkgconfig-get-modules.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "827541895526ebcd68711de9d05e98acd09bd323", + "version-date": "2021-04-02", + "port-version": 0 + } + ] +} From 88f0e6a94b785f387bc714772d0e8878a2b6059a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jack=C2=B7Boos=C2=B7Yu?= <47264268+JackBoosY@users.noreply.github.com> Date: Wed, 7 Apr 2021 03:12:53 +0800 Subject: [PATCH 45/60] [vcpkg baseline][gdal] Fix configure error on OSX (#17083) * [gdal] Fix configure error on OSX * update version record * Revert changes * add touch command * update version record --- ports/gdal/portfile.cmake | 7 +++++++ ports/gdal/vcpkg.json | 2 +- versions/baseline.json | 2 +- versions/g-/gdal.json | 5 +++++ 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/ports/gdal/portfile.cmake b/ports/gdal/portfile.cmake index 2f2cae4bb8aeeb..5b138f8a1f7a7e 100644 --- a/ports/gdal/portfile.cmake +++ b/ports/gdal/portfile.cmake @@ -176,6 +176,13 @@ if (VCPKG_TARGET_IS_WINDOWS) endif() else() + # See https://github.com/microsoft/vcpkg/issues/16990 + vcpkg_execute_required_process( + COMMAND touch config.rpath + WORKING_DIRECTORY ${SOURCE_PATH} + LOGNAME touch-${TARGET_TRIPLET} + ) + if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) set(BUILD_DYNAMIC yes) set(BUILD_STATIC no) diff --git a/ports/gdal/vcpkg.json b/ports/gdal/vcpkg.json index f04c0356296cd3..b485a220262aa1 100644 --- a/ports/gdal/vcpkg.json +++ b/ports/gdal/vcpkg.json @@ -1,7 +1,7 @@ { "name": "gdal", "version-string": "3.1.3", - "port-version": 3, + "port-version": 4, "description": "The Geographic Data Abstraction Library for reading and writing geospatial raster and vector data.", "homepage": "hhttps://gdal.org/", "dependencies": [ diff --git a/versions/baseline.json b/versions/baseline.json index eefd125a722dd9..c8ec96e3c88871 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -2146,7 +2146,7 @@ }, "gdal": { "baseline": "3.1.3", - "port-version": 3 + "port-version": 4 }, "gdcm": { "baseline": "3.0.7", diff --git a/versions/g-/gdal.json b/versions/g-/gdal.json index ec66103c005730..f53bc429fad139 100644 --- a/versions/g-/gdal.json +++ b/versions/g-/gdal.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "b503a5dd67c0251115346ebfc05551bc8f36c06f", + "version-string": "3.1.3", + "port-version": 4 + }, { "git-tree": "548d5f5f1ad969bf88d86c17de3ee40ebb096a2f", "version-string": "3.1.3", From 4278a5f9eafbdadfaa65d7aafd914964841cba42 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Tue, 6 Apr 2021 22:22:44 +0200 Subject: [PATCH 46/60] [cmake] update cmake test port (#16948) * [cmake] update cmake test port * correct hash add expat as dependency * remove double expat dependency --- scripts/test_ports/cmake/CONTROL | 5 ----- scripts/test_ports/cmake/portfile.cmake | 6 +++--- scripts/test_ports/cmake/vcpkg.json | 23 +++++++++++++++++++++++ 3 files changed, 26 insertions(+), 8 deletions(-) delete mode 100644 scripts/test_ports/cmake/CONTROL create mode 100644 scripts/test_ports/cmake/vcpkg.json diff --git a/scripts/test_ports/cmake/CONTROL b/scripts/test_ports/cmake/CONTROL deleted file mode 100644 index 8eb6a661f19099..00000000000000 --- a/scripts/test_ports/cmake/CONTROL +++ /dev/null @@ -1,5 +0,0 @@ -Source: cmake -Version: 3.18.1 -Build-Depends: qt5-base, qt5-winextras (windows), bzip2, expat, jsoncpp, liblzma, zlib, zstd, libarchive, curl, libuv, nghttp2 -Homepage: https://cmake.org/ -Description: CMake is an open-source, cross-platform family of tools designed to build, test and package software. diff --git a/scripts/test_ports/cmake/portfile.cmake b/scripts/test_ports/cmake/portfile.cmake index 932e1feed72859..b08df8afb8b377 100644 --- a/scripts/test_ports/cmake/portfile.cmake +++ b/scripts/test_ports/cmake/portfile.cmake @@ -4,9 +4,9 @@ vcpkg_from_gitlab( OUT_SOURCE_PATH SOURCE_PATH REPO cmake/cmake REF - 63a65baf4c343c73b2142078ef0045d3711dea1d + b7b0fb430397bafae4a7bd80b41d474c91a3b7f3 SHA512 - 7874b26adb739649ea3a8c2d8701b44ea348d5d6387e0e2a3dd87494dfeae62084593f88f46d53a161ac24c46a7712489621213b61315593df4dc2ccc728084b + 3b0de26910bceaf4bc6546255bada4c502cd0fd32f44bc28b067f347c09d028c175a3243551bbe4bb64bcf312df9ff827e8fdbcb0b34a12e1ce4a26ba0799ee2 HEAD_REF master ) @@ -18,7 +18,7 @@ vcpkg_configure_cmake( #-DCMAKE_USE_SYSTEM_LIBRARIES=ON -DCMAKE_USE_SYSTEM_LIBARCHIVE=ON -DCMAKE_USE_SYSTEM_CURL=ON - -DCMAKE_USE_SYSTEM_EXPAT=OFF # CMake is not compatible with expat 2.2.9 + -DCMAKE_USE_SYSTEM_EXPAT=ON -DCMAKE_USE_SYSTEM_ZLIB=ON -DCMAKE_USE_SYSTEM_BZIP2=ON -DCMAKE_USE_SYSTEM_ZSTD=ON diff --git a/scripts/test_ports/cmake/vcpkg.json b/scripts/test_ports/cmake/vcpkg.json new file mode 100644 index 00000000000000..5ffb7f124b476e --- /dev/null +++ b/scripts/test_ports/cmake/vcpkg.json @@ -0,0 +1,23 @@ +{ + "name": "cmake", + "version-string": "3.20.0", + "description": "CMake is an open-source, cross-platform family of tools designed to build, test and package software.", + "homepage": "https://cmake.org/", + "dependencies": [ + "bzip2", + "curl", + "expat", + "jsoncpp", + "libarchive", + "liblzma", + "libuv", + "nghttp2", + "qt5-base", + { + "name": "qt5-winextras", + "platform": "windows" + }, + "zlib", + "zstd" + ] +} From 85a48c1ed558210cab67a03209510c4bf6e5e285 Mon Sep 17 00:00:00 2001 From: Matthew Oliver Date: Thu, 8 Apr 2021 03:06:55 +1000 Subject: [PATCH 47/60] [ffmpeg] Add support for dav1d,fontconfig,freetype,fribidi,ilbc,modplug,opengl,openjpeg,libssh,tensorflow,tesseract,webp,libxml2 dependencies. (#15787) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [tesseract] Use vcpkg_fixup_pkgconfig. * [libxml2] Correct pkgconfig lib name. * [libwebp] Use vcpkg_fixup_pkgconfig. * [libssh] Export pkgconfig on windows. Also move to using git to get source. * [modplug] Export pkgconfig on windows. * [ffmpeg] Add support for fontconfig,freetype,fribidi,modplug,openjpeg,libssh,tesseract,libxml2 dependencies. * [openjpeg] Correct required static link libs in pkgconfig. * [modplug] Combine vcpkg_from_github using variable. * Update ports/libssh/CONTROL * Improve portfile.cmake * update version records. * [openjpeg] Update libs in pkgcfg. Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com> * update version records * [libssh] Add pthread to pkgconfig when using mbedtls. * [libssh] Correct pthread naming on windows. * [fontconfig] Add libintl to pkgconfig on windows. * update version records * [ffmpeg] Fixup FindFFmpeg. * [ffmpeg] speex now supports non-windows. * [ffmpeg] Add feature libass. * [ffmpeg] Add dav1d feature. * [ffmpeg] Add feature ilbc. * [ffmpeg] Add tensorflow feature. * [ffmpeg] update version record. * [ffmpeg] Add CI feature test. * [ffmpeg] Limit features based on CI failures. * [ffmpeg] Update version record. * [ffmpeg] limit features based on ci.baseline. * [various ports] Update supports field. * [ffmpeg] Limit features more based on CI. * update version records. * [ffmpeg] Add detection of additional non target deps.. select_library_configurations_from_names currently detects the debug libs even for release builds as _IMPORT_PREFIX was not being set. * [aubio] Silence warning about FindFFMPEG. * [pangolin] Use vcpkg supplied FindFFMPEG. * update version files. * [ffnvcodec] Set as not supporting uwp. ffnvcodec will build under uwp as its a header only lib, but it can not be used as it requires dynamic dll loading. * [ffmpeg] Update feature all. * update version records * [tesseract] Wrap debug pkgcfg update. * [libssh,libxml2,openjpeg,fontconfig] Fix pkg-config for release only triplets. * [libssh] Correct port version after merge. * [ffmpeg] Fixup after merge. * Update version files. * [ffmpeg] Add opengl support. * [ffmpeg] Update package version. * [ffmpeg] Fix ffnvcodec support. * [ffmpeg] Fix x265 detection on osx. * [libvpx] Enable arm-uwp build. * [ffmpeg] Fixup x265 patch. * trigger sdl rebuild * [ffmpeg] Disable opengl on osx. * Revert "trigger sdl rebuild" This reverts commit 94065bfe8414259ad5a5576bd4ac0b7ab4b97c6b. * [ffmpeg] Disable failing features on osx. * Update ports/ffmpeg/FindFFMPEG.cmake.in Co-authored-by: Matthias C. M. Troffaes * [ffmpeg] Add ass dependencies to FindFFmpeg. * Update ports/ffmpeg/FindFFMPEG.cmake.in Co-authored-by: Matthias C. M. Troffaes * update version * [fontconfig] disable pthread/json as they are not needed for lib builds. Only used for tests. * [ffmpeg] Enable fontconfig on static+windows. * update versions * update versions. * Fix incorrectly included commits * revert pangolin commit Reverts most of 2543be2edf60bf38511c2d477bb17b617398a108 * update versions * Correct port version after merge. * update versions. * [ffmpeg] Fix cmake dependency detection on non-windows. * Revert "revert pangolin commit" This reverts commit f59bc5a53ea74fd9df17fc368886e9d1a80ac42f. * [ffmpeg] Fix dependency loading that does not define separate debug/release libs. * update versions. * [ffmpeg] set CMP0072 policy. * [wavpack] Fix cmake config export. * [ffmpeg] Add optional system dependent libraries. * update versions after merge. * update versions. Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com> Co-authored-by: JackBoosY Co-authored-by: Matthias C. M. Troffaes --- ports/fdk-aac/CONTROL | 4 +- ports/ffmpeg/0011-Fix-x265-detection.patch | 5 +- ports/ffmpeg/0015-Fix-xml2-detection.patch | 17 ++ ports/ffmpeg/CONTROL | 140 ++++++++++++---- ports/ffmpeg/FindFFMPEG.cmake.in | 158 ++++++++++++++++-- ports/ffmpeg/portfile.cmake | 127 +++++++++++++- ports/ffnvcodec/CONTROL | 3 +- ports/fontconfig/CONTROL | 4 +- ports/fontconfig/portfile.cmake | 7 + ports/fribidi/CONTROL | 3 +- ports/libmodplug/004-export-pkgconfig.patch | 30 ++++ ports/libmodplug/CONTROL | 3 +- ports/libmodplug/portfile.cmake | 35 ++-- ports/libssh/0001-export-pkgconfig-file.patch | 43 +++++ ports/libssh/CONTROL | 4 +- ports/libssh/portfile.cmake | 24 +-- ports/libvpx/CONTROL | 3 +- ports/libwebp/CONTROL | 2 +- ports/libwebp/portfile.cmake | 6 + ports/libxml2/portfile.cmake | 6 + ports/libxml2/vcpkg.json | 2 +- ports/opencl/CONTROL | 3 +- ports/openjpeg/portfile.cmake | 12 +- ports/openjpeg/vcpkg.json | 2 +- ports/pangolin/fix-cmake-version.patch | 11 ++ ports/pangolin/portfile.cmake | 1 + ports/pangolin/vcpkg.json | 2 +- ports/tesseract/CONTROL | 2 +- ports/tesseract/portfile.cmake | 5 + ports/wavpack/CONTROL | 1 + ports/wavpack/fix-symbol-exports.patch | 22 +++ ports/wavpack/portfile.cmake | 1 + ports/x265/CONTROL | 3 +- scripts/test_ports/vcpkg-ci-ffmpeg/CONTROL | 5 + .../test_ports/vcpkg-ci-ffmpeg/portfile.cmake | 1 + versions/baseline.json | 34 ++-- versions/f-/fdk-aac.json | 5 + versions/f-/ffmpeg.json | 5 + versions/f-/ffnvcodec.json | 5 + versions/f-/fontconfig.json | 5 + versions/f-/fribidi.json | 5 + versions/l-/libmodplug.json | 5 + versions/l-/libssh.json | 5 + versions/l-/libvpx.json | 5 + versions/l-/libwebp.json | 5 + versions/l-/libxml2.json | 5 + versions/o-/opencl.json | 5 + versions/o-/openjpeg.json | 5 + versions/p-/pangolin.json | 5 + versions/t-/tesseract.json | 5 + versions/w-/wavpack.json | 5 + versions/x-/x265.json | 5 + 52 files changed, 682 insertions(+), 129 deletions(-) create mode 100644 ports/ffmpeg/0015-Fix-xml2-detection.patch create mode 100644 ports/libmodplug/004-export-pkgconfig.patch create mode 100644 ports/libssh/0001-export-pkgconfig-file.patch create mode 100644 ports/pangolin/fix-cmake-version.patch create mode 100644 ports/wavpack/fix-symbol-exports.patch create mode 100644 scripts/test_ports/vcpkg-ci-ffmpeg/CONTROL create mode 100644 scripts/test_ports/vcpkg-ci-ffmpeg/portfile.cmake diff --git a/ports/fdk-aac/CONTROL b/ports/fdk-aac/CONTROL index fe523b9b8101b3..3afcf5ff0f1b7a 100644 --- a/ports/fdk-aac/CONTROL +++ b/ports/fdk-aac/CONTROL @@ -1,4 +1,6 @@ Source: fdk-aac -Version: 2018-07-08-2 +Version: 2018-07-08 +Port-Version: 3 Homepage: https://github.com/mstorsjo/fdk-aac Description: A standalone library of the Fraunhofer FDK AAC code +Supports: !(uwp | arm) diff --git a/ports/ffmpeg/0011-Fix-x265-detection.patch b/ports/ffmpeg/0011-Fix-x265-detection.patch index af1b6751daff60..69c6380a1f8379 100644 --- a/ports/ffmpeg/0011-Fix-x265-detection.patch +++ b/ports/ffmpeg/0011-Fix-x265-detection.patch @@ -2,13 +2,14 @@ diff --git a/configure b/configure index 34a2e644c4..0ea64bd306 100755 --- a/configure +++ b/configure -@@ -6447,7 +6447,9 @@ enabled libx264 && { check_pkg_config libx264 x264 "stdint.h x264.h" x +@@ -6447,7 +6447,10 @@ enabled libx264 && { check_pkg_config libx264 x264 "stdint.h x264.h" x warn "using libx264 without pkg-config"; } } && require_cpp_condition libx264 x264.h "X264_BUILD >= 118" && check_cpp_condition libx262 x264.h "X264_MPEG2" -enabled libx265 && require_pkg_config libx265 x265 x265.h x265_api_get && +enabled libx265 && { check_pkg_config libx265 x265 x265.h x265_api_get || -+ { require libx265 x265.h x265_api_get "-lx265 $pthreads_extralibs $libm_extralibs -ldl -lstdc++ -lgcc_s -lgcc -lrt -lnuma" && ++ { { check_lib libx265 x265.h x265_api_get "-lx265 $pthreads_extralibs $libm_extralibs -ldl -lstdc++ -lgcc_s -lgcc -lrt -lnuma" || ++ require libx265 x265.h x265_api_get "-lx265 $pthreads_extralibs $libm_extralibs -ldl -lstdc++"; } && + warn "using libx265 without pkg-config"; } } && require_cpp_condition libx265 x265.h "X265_BUILD >= 70" enabled libxavs && require libxavs "stdint.h xavs.h" xavs_encoder_encode "-lxavs $pthreads_extralibs $libm_extralibs" diff --git a/ports/ffmpeg/0015-Fix-xml2-detection.patch b/ports/ffmpeg/0015-Fix-xml2-detection.patch new file mode 100644 index 00000000000000..7d2f148b09ea7e --- /dev/null +++ b/ports/ffmpeg/0015-Fix-xml2-detection.patch @@ -0,0 +1,17 @@ + configure | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure b/configure +index 900505756b..8d1388a347 100755 +--- a/configure ++++ b/configure +@@ -6476,7 +6476,7 @@ enabled libzmq && require_pkg_config libzmq "libzmq >= 4.2.1" zmq.h z + enabled libzvbi && require_pkg_config libzvbi zvbi-0.2 libzvbi.h vbi_decoder_new && + { test_cpp_condition libzvbi.h "VBI_VERSION_MAJOR > 0 || VBI_VERSION_MINOR > 2 || VBI_VERSION_MINOR == 2 && VBI_VERSION_MICRO >= 28" || + enabled gpl || die "ERROR: libzvbi requires version 0.2.28 or --enable-gpl."; } +-enabled libxml2 && require_pkg_config libxml2 libxml-2.0 libxml2/libxml/xmlversion.h xmlCheckVersion ++enabled libxml2 && require_pkg_config libxml2 libxml-2.0 libxml/xmlversion.h xmlCheckVersion + enabled mbedtls && { check_pkg_config mbedtls mbedtls mbedtls/x509_crt.h mbedtls_x509_crt_init || + check_pkg_config mbedtls mbedtls mbedtls/ssl.h mbedtls_ssl_init || + check_lib mbedtls mbedtls/ssl.h mbedtls_ssl_init -lmbedtls -lmbedx509 -lmbedcrypto || + diff --git a/ports/ffmpeg/CONTROL b/ports/ffmpeg/CONTROL index 9d7162faf05489..2548dc30124390 100644 --- a/ports/ffmpeg/CONTROL +++ b/ports/ffmpeg/CONTROL @@ -1,6 +1,6 @@ Source: ffmpeg Version: 4.3.2 -Port-Version: 1 +Port-Version: 2 Homepage: https://ffmpeg.org Description: a library to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. It supports the most obscure ancient formats up to the cutting edge. No matter if they were designed by some standards committee, the community or a corporation. It is also highly portable: FFmpeg compiles, runs, and passes our testing infrastructure FATE across Linux, Mac OS X, Microsoft Windows, the BSDs, Solaris, etc. under a wide variety of build environments, machine architectures, and configurations. @@ -8,132 +8,200 @@ Default-Features: avresample, avcodec, avformat, avdevice, avfilter, postproc, s Feature: ffmpeg Build-Depends: ffmpeg[core,avcodec,avfilter,avformat] -Description: build the ffmpeg.exe application +Description: Build the ffmpeg application Feature: ffplay Build-Depends: ffmpeg[core,avcodec,avfilter,avformat,swscale,swresample,sdl2] -Description: ffplay application support in ffmpeg +Description: Build the ffplay application Feature: ffprobe Build-Depends: ffmpeg[core,avcodec,avformat] -Description: ffprobe application support in ffmpeg +Description: Build the ffprobe application Feature: avcodec -Description: Codec support in ffmpeg +Description: Build the avcodec library Feature: avformat Build-Depends: ffmpeg[core,avcodec] -Description: Format support in ffmpeg +Description: Build the avformat library Feature: avdevice Build-Depends: ffmpeg[core,avcodec,avformat] -Description: Device support in ffmpeg +Description: Build the avdevice library Feature: avfilter -Description: Filter support in ffmpeg +Description: Build the avfilter library Feature: postproc Build-Depends: ffmpeg[core,gpl] -Description: Postproc support in ffmpeg +Description: Build the postproc library Feature: swresample -Description: Swresample support in ffmpeg +Description: Build the swresample library Feature: swscale -Description: Swscale support in ffmpeg +Description: Build the swscale library Feature: avresample -Description: Libav audio resampling library support in ffmpeg +Description: Build the avresample library Feature: nonfree -Description: allow nonfree and unredistributable libraries +Description: Allow use of nonfree code, the resulting libs and binaries will be unredistributable Feature: gpl -Description: allow GPL licensed libraries +Description: Allow use of GPL code, the resulting libs and binaries will be under GPL Feature: version3 -Description: upgrade (L)GPL to version 3 +Description: Upgrade (L)GPL to version 3 + +Feature: all +Build-Depends: ffmpeg[bzip2,iconv,freetype,lzma,mp3lame,openjpeg,opus,snappy,soxr,speex,theora,vorbis,vpx,webp,zlib], ffmpeg[ass] (!(uwp | arm)), ffmpeg[dav1d] (!(uwp | arm | x86 | osx)), ffmpeg[fontconfig] (!(windows & static) & !(uwp | arm)), ffmpeg[fribidi] (!(uwp | arm)), ffmpeg[ilbc] (!(arm & uwp)), ffmpeg[modplug] (!(windows & static) & !uwp), ffmpeg[nvcodec] ((windows | linux) & !uwp & !arm), ffmpeg[opencl] (!uwp), ffmpeg[ssh] (!(uwp | arm) & !static), ffmpeg[opengl] (!uwp & !(windows & arm) & !osx), ffmpeg[sdl2] (!osx), ffmpeg[tensorflow] (!(x86 | arm | uwp) & !static), ffmpeg[tesseract] (!uwp & !(windows & arm) & !static), ffmpeg[wavpack] (!arm), ffmpeg[xml2] (!static) +Description: Build with all allowed dependencies selected that are compatible with the lgpl license + +Feature: all-gpl +Build-Depends: ffmpeg[gpl,all], ffmpeg[avisynthplus] (windows & !arm & !uwp & !static), ffmpeg[x264] (!arm), ffmpeg[x265] (!arm & !uwp) +Description: Build with all allowed dependencies selected that are compatible with the gpl license + +Feature: all-nonfree +Build-Depends: ffmpeg[nonfree,all-gpl,openssl], ffmpeg[fdk-aac] (!arm & !uwp) +Description: Build with all allowed dependencies selected with a non-redistributable license + +Feature: ass +Build-Depends: libass +Description: Libass subtitles rendering, needed for subtitles and ass filter support in ffmpeg Feature: avisynthplus Build-Depends: avisynthplus, ffmpeg[core,gpl] -Description: avisynthplus support in ffmpeg +Description: Reading of AviSynth script files Feature: bzip2 Build-Depends: bzip2 -Description: bzip2 support in ffmpeg +Description: Bzip2 support + +Feature: dav1d +Build-Depends: dav1d +Description: AV1 decoding via libdav1d Feature: iconv Build-Depends: libiconv -Description: iconv support in ffmpeg +Description: Iconv support + +Feature: ilbc +Build-Depends: libilbc +Description: iLBC de/encoding via libilbc Feature: fdk-aac Build-Depends: fdk-aac, ffmpeg[core,nonfree] -Description: AAC de/encoding via libfdk-aac support in ffmpeg +Description: AAC de/encoding via libfdk-aac + +Feature: fontconfig +Build-Depends: fontconfig +Description: Useful for drawtext filter + +Feature: freetype +Build-Depends: freetype +Description: Needed for drawtext filter + +Feature: fribidi +Build-Depends: fribidi +Description: Improves drawtext filter Feature: lzma Build-Depends: liblzma -Description: lzma support in ffmpeg +Description: lzma support + +Feature: modplug +Build-Depends: libmodplug +Description: ModPlug via libmodplug Feature: mp3lame Build-Depends: mp3lame -Description: MP3 encoding via libmp3lame support in ffmpeg +Description: MP3 encoding via libmp3lame Feature: nvcodec Build-Depends: ffnvcodec -Description: Hardware accelerated codecs +Description: Nvidia video decoding/encoding acceleration Feature: opencl Build-Depends: opencl -Description: OpenCL processing support in ffmpeg +Description: OpenCL processing + +Feature: opengl +Build-Depends: opengl, opengl-registry +Description: OpenGL rendering + +Feature: openjpeg +Build-Depends: openjpeg +Description: JPEG 2000 de/encoding via OpenJPEG Feature: openssl Build-Depends: openssl, ffmpeg[core,nonfree] -Description: openssl support in ffmpeg +Description: Needed for https support if gnutls, libtls or mbedtls is not used Feature: opus Build-Depends: opus -Description: Opus de/encoding via libopus support in ffmpeg +Description: Opus de/encoding via libopus Feature: sdl2 Build-Depends: sdl2 -Description: sdl2 support in ffmpeg +Description: Sdl2 support Feature: snappy Build-Depends: snappy -Description: Snappy compression, needed for hap encoding support in ffmpeg +Description: Snappy compression, needed for hap encoding Feature: soxr Build-Depends: soxr -Description: libsoxr resampling support in ffmpeg +Description: Include libsoxr resampling Feature: speex Build-Depends: speex -Description: Speex de/encoding via libspeex support in ffmpeg +Description: Speex de/encoding via libspeex + +Feature: ssh +Build-Depends: libssh +Description: SFTP protocol via libssh + +Feature: tensorflow +Build-Depends: tensorflow +Description: TensorFlow as a DNN module backend for DNN based filters like sr + +Feature: tesseract +Build-Depends: tesseract +Description: Tesseract, needed for ocr filter Feature: theora Build-Depends: libtheora -Description: Theora encoding via libtheora support in ffmpeg +Description: Theora encoding via libtheora Feature: vorbis Build-Depends: libvorbis -Description: Vorbis en/decoding via libvorbis support in ffmpeg +Description: Vorbis en/decoding via libvorbis, native implementation exists Feature: vpx Build-Depends: libvpx -Description: VP8 and VP9 de/encoding via libvpx support in ffmpeg +Description: VP8 and VP9 de/encoding via libvpx Feature: wavpack Build-Depends: wavpack -Description: wavpack encoding via libwavpack support in ffmpeg +Description: Wavpack encoding via libwavpack + +Feature: webp +Build-Depends: libwebp +Description: WebP encoding via libwebp Feature: x264 Build-Depends: x264, ffmpeg[core,gpl] -Description: H.264 encoding via x264 support in ffmpeg +Description: H.264 encoding via x264 Feature: x265 Build-Depends: x265, ffmpeg[core,gpl] -Description: HEVC encoding via x265 support in ffmpeg +Description: HEVC encoding via x265 + +Feature: xml2 +Build-Depends: libxml2 +Description: XML parsing using the C library libxml2, needed for dash demuxing support Feature: zlib Build-Depends: zlib -Description: zlib support in ffmpeg +Description: zlib support diff --git a/ports/ffmpeg/FindFFMPEG.cmake.in b/ports/ffmpeg/FindFFMPEG.cmake.in index afad38cb068576..8be51419eeb61a 100644 --- a/ports/ffmpeg/FindFFMPEG.cmake.in +++ b/ports/ffmpeg/FindFFMPEG.cmake.in @@ -31,12 +31,20 @@ include(CMakeFindDependencyMacro) if(NOT FFMPEG_FOUND) +# Compute the installation path relative to this file. +get_filename_component(SEARCH_PATH "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(SEARCH_PATH "${SEARCH_PATH}" PATH) +get_filename_component(SEARCH_PATH "${SEARCH_PATH}" PATH) +if(SEARCH_PATH STREQUAL "/") + set(SEARCH_PATH "") +endif() + function(select_library_configurations_from_names) cmake_parse_arguments(_slc "" "BASENAME" "NAMES;NAMES_RELEASE;NAMES_DEBUG" ${ARGN}) list(APPEND _slc_NAMES_RELEASE ${_slc_NAMES}) list(APPEND _slc_NAMES_DEBUG ${_slc_NAMES}) - find_library(${_slc_BASENAME}_LIBRARY_RELEASE NAMES ${_slc_NAMES_RELEASE} PATHS ${_IMPORT_PREFIX}/lib/ NO_DEFAULT_PATH) - find_library(${_slc_BASENAME}_LIBRARY_DEBUG NAMES ${_slc_NAMES_DEBUG} PATHS ${_IMPORT_PREFIX}/debug/lib/ NO_DEFAULT_PATH) + find_library(${_slc_BASENAME}_LIBRARY_RELEASE NAMES ${_slc_NAMES_RELEASE} PATHS ${SEARCH_PATH}/lib/ NO_DEFAULT_PATH) + find_library(${_slc_BASENAME}_LIBRARY_DEBUG NAMES ${_slc_NAMES_DEBUG} PATHS ${SEARCH_PATH}/debug/lib/ NO_DEFAULT_PATH) select_library_configurations(${_slc_BASENAME}) set(${_slc_BASENAME}_LIBRARIES ${${_slc_BASENAME}_LIBRARIES} PARENT_SCOPE) endfunction() @@ -53,12 +61,25 @@ function(select_library_configurations_from_targets) if(TARGET ${_dep}) get_target_property(_dep_rel ${_dep} IMPORTED_LOCATION_RELEASE) get_target_property(_dep_dbg ${_dep} IMPORTED_LOCATION_DEBUG) + if(_dep_rel MATCHES _dep_rel-NOTFOUND) + set(_dep_rel ${_dep_dbg}) + elseif(_dep_dbg MATCHES _dep_dbg-NOTFOUND) + set(_dep_dbg ${_dep_rel}) + endif() list(APPEND ${_slc_BASENAME}_LIBRARY_RELEASE ${_dep_rel}) list(APPEND ${_slc_BASENAME}_LIBRARY_DEBUG ${_dep_dbg}) + elseif(NOT ${_dep} MATCHES _deps-NOTFOUND) + if(${_dep} MATCHES ::) + #TODO Handle targets contained in cmake generator expressions + message(STATUS Unhandled dependency ${_slc_BASENAME}: ${_dep}) + else() + list(APPEND ${_slc_BASENAME}_DEP_LIBRARIES ${_dep}) + endif() endif() endforeach() endforeach() select_library_configurations(${_slc_BASENAME}) + list(APPEND ${_slc_BASENAME}_LIBRARIES ${${_slc_BASENAME}_DEP_LIBRARIES}) set(${_slc_BASENAME}_LIBRARIES ${${_slc_BASENAME}_LIBRARIES} PARENT_SCOPE) endfunction() @@ -72,14 +93,39 @@ function(find_platform_dependent_libraries) set(FFMPEG_PLATFORM_DEPENDENT_LIBS ${FFMPEG_PLATFORM_DEPENDENT_LIBS} PARENT_SCOPE) endfunction() +# for finding system libraries that may not always be available +function(find_platform_dependent_optional_libraries) + cmake_parse_arguments(_fpdo "" "" "NAMES" ${ARGN}) + foreach(_name ${_fpdo_NAMES}) + find_library(${_name}_LIBRARY ${_name}) + if(NOT ${_name}_LIBRARY MATCHES ${_name}_LIBRARY-NOTFOUND) + list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${${_name}_LIBRARY}) + endif() + endforeach() + set(FFMPEG_PLATFORM_DEPENDENT_LIBS ${FFMPEG_PLATFORM_DEPENDENT_LIBS} PARENT_SCOPE) +endfunction() + set(FFMPEG_VERSION "4.3.2") find_dependency(Threads) if(UNIX) list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS -pthread) endif() -if(UNIX AND NOT APPLE) - list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS -lX11) + +if(@ENABLE_ASS@) + select_library_configurations_from_names(BASENAME ASS NAMES ass libass) + list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${ASS_LIBRARIES}) + if(NOT @ENABLE_FREETYPE@) + find_dependency(Freetype) + select_library_configurations_from_targets(BASENAME freetype TARGETS Freetype::Freetype) + list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${freetype_LIBRARIES}) + endif() + if(NOT @ENABLE_FRIBIDI@) + select_library_configurations_from_names(BASENAME FRIBIDI NAMES fribidi libfribidi) + list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${FRIBIDI_LIBRARIES}) + endif() + select_library_configurations_from_names(BASENAME HARFBUZZ NAMES harfbuzz libharfbuzz) + list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${HARFBUZZ_LIBRARIES}) endif() if(@ENABLE_BZIP2@) @@ -88,16 +134,46 @@ if(@ENABLE_BZIP2@) list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${BZip2_LIBRARIES}) endif() +if(@ENABLE_DAV1D@) + select_library_configurations_from_names(BASENAME DAV1D NAMES dav1d libdav1d) + list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${DAV1D_LIBRARIES}) + if(UNIX) + list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS dl) + endif() +endif() + if(@ENABLE_ICONV@) find_dependency(Iconv) list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${Iconv_LIBRARIES}) endif() +if(@ENABLE_ILBC@) + select_library_configurations_from_names(BASENAME ILBC NAMES ilbc libilbc) + list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${ILBC_LIBRARIES}) +endif() + if(@ENABLE_FDKAAC@) select_library_configurations_from_names(BASENAME FDK NAMES fdk-aac libfdk-aac) list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${FDK_LIBRARIES}) endif() +if(@ENABLE_FONTCONFIG@) + find_dependency(Fontconfig) + select_library_configurations_from_targets(BASENAME fontconfig TARGETS Fontconfig::Fontconfig) + list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${fontconfig_LIBRARIES}) +endif() + +if(@ENABLE_FREETYPE@) + find_dependency(Freetype) + select_library_configurations_from_targets(BASENAME freetype TARGETS Freetype::Freetype) + list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${freetype_LIBRARIES}) +endif() + +if(@ENABLE_FRIBIDI@) + select_library_configurations_from_names(BASENAME FRIBIDI NAMES fribidi libfribidi) + list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${FRIBIDI_LIBRARIES}) +endif() + if(@ENABLE_LZMA@) find_dependency(LibLZMA) list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${LibLZMA_LIBRARIES}) @@ -109,6 +185,11 @@ if(@ENABLE_LAME@) list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${mp3lame_LIBRARIES}) endif() +if(@ENABLE_MODPLUG@) + select_library_configurations_from_names(BASENAME MODPLUG NAMES modplug libmodplug) + list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${MODPLUG_LIBRARIES}) +endif() + if(@ENABLE_NVCODEC@) if(UNIX) list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS dl) @@ -120,6 +201,20 @@ if(@ENABLE_OPENCL@) list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${OpenCL_LIBRARIES}) endif() +if(@ENABLE_OPENGL@) + if(POLICY CMP0072) + cmake_policy (SET CMP0072 OLD) + endif(POLICY CMP0072) + find_dependency(OpenGL) + list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${OPENGL_LIBRARIES}) +endif() + +if(@ENABLE_OPENJPEG@) + find_dependency(OpenJPEG) + select_library_configurations_from_targets(BASENAME openjpeg TARGETS openjp2) + list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${openjpeg_LIBRARIES}) +endif() + if(@ENABLE_OPENSSL@) find_dependency(OpenSSL) list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${OPENSSL_LIBRARIES}) @@ -153,10 +248,20 @@ if(@ENABLE_SOXR@) endif() if(@ENABLE_SPEEX@) - select_library_configurations_from_names(BASENAME SPEEX NAMES_RELEASE libspeex NAMES_DEBUG libspeexd) + if(WIN32) + select_library_configurations_from_names(BASENAME SPEEX NAMES_RELEASE libspeex NAMES_DEBUG libspeexd) + else() + select_library_configurations_from_names(BASENAME SPEEX NAMES speex libspeex) + endif() list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${SPEEX_LIBRARIES}) endif() +if(@ENABLE_SSH@) + find_dependency(libssh) + select_library_configurations_from_targets(BASENAME libssh TARGETS ssh) + list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${libssh_LIBRARIES}) +endif() + if(@ENABLE_THEORA@) find_dependency(Ogg) # ensure Ogg::ogg is defined as a target find_dependency(unofficial-theora) @@ -164,6 +269,12 @@ if(@ENABLE_THEORA@) list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${THEORA_LIBRARIES}) endif() +if(@ENABLE_TESSERACT@) + find_dependency(Tesseract) + select_library_configurations_from_targets(BASENAME tesseract TARGETS libtesseract) + list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${tesseract_LIBRARIES}) +endif() + if(@ENABLE_VORBIS@) find_dependency(Vorbis) select_library_configurations_from_targets(BASENAME vorbis TARGETS Vorbis::vorbis Vorbis::vorbisenc) @@ -182,6 +293,12 @@ if(@ENABLE_WAVPACK@) list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${wavpack_LIBRARIES}) endif() +if(@ENABLE_WEBP@) + find_dependency(WebP) + select_library_configurations_from_targets(BASENAME webp TARGETS WebP::webp WebP::webpdemux WebP::libwebpmux WebP::webpdecoder) + list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${webp_LIBRARIES}) +endif() + if(@ENABLE_X264@) select_library_configurations_from_names(BASENAME X264 NAMES x264 libx264) list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${X264_LIBRARIES}) @@ -193,6 +310,16 @@ endif() if(@ENABLE_X265@) select_library_configurations_from_names(BASENAME X265 NAMES x265 x265-static) list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${X265_LIBRARIES}) + if(UNIX) + list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS dl) + find_platform_dependent_optional_libraries(NAMES numa) + endif() +endif() + +if(@ENABLE_XML2@) + find_dependency(LibXml2) + select_library_configurations_from_targets(BASENAME libxml2 TARGETS LibXml2::LibXml2) + list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${libxml2_LIBRARIES}) endif() if(@ENABLE_ZLIB@) @@ -201,6 +328,11 @@ if(@ENABLE_ZLIB@) endif() # Platform dependent libraries required by FFMPEG +if(UNIX AND NOT APPLE) + list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS -lX11) + find_platform_dependent_optional_libraries(NAMES va-drm va vdpau) +endif() + if(WIN32) if(NOT CYGWIN) list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS wsock32 ws2_32 secur32 bcrypt strmiids Vfw32 Shlwapi mfplat mfuuid) @@ -209,23 +341,13 @@ else() list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS m) endif() -# Compute the installation prefix relative to this file. -get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -if(_IMPORT_PREFIX STREQUAL "/") - set(_IMPORT_PREFIX "") -endif() - -set(_IMPORT_PREFIX) - macro(FFMPEG_FIND varname shortname headername) if(NOT FFMPEG_${varname}_INCLUDE_DIRS) - find_path(FFMPEG_${varname}_INCLUDE_DIRS NAMES lib${shortname}/${headername} ${headername} PATHS ${_IMPORT_PREFIX}/include NO_DEFAULT_PATH) + find_path(FFMPEG_${varname}_INCLUDE_DIRS NAMES lib${shortname}/${headername} ${headername} PATHS ${SEARCH_PATH}/include NO_DEFAULT_PATH) endif() if(NOT FFMPEG_${varname}_LIBRARY) - find_library(FFMPEG_${varname}_LIBRARY_RELEASE NAMES ${shortname} PATHS ${_IMPORT_PREFIX}/lib/ NO_DEFAULT_PATH) - find_library(FFMPEG_${varname}_LIBRARY_DEBUG NAMES ${shortname}d ${shortname} PATHS ${_IMPORT_PREFIX}/debug/lib/ NO_DEFAULT_PATH) + find_library(FFMPEG_${varname}_LIBRARY_RELEASE NAMES ${shortname} PATHS ${SEARCH_PATH}/lib/ NO_DEFAULT_PATH) + find_library(FFMPEG_${varname}_LIBRARY_DEBUG NAMES ${shortname}d ${shortname} PATHS ${SEARCH_PATH}/debug/lib/ NO_DEFAULT_PATH) get_filename_component(FFMPEG_${varname}_LIBRARY_RELEASE_DIR ${FFMPEG_${varname}_LIBRARY_RELEASE} DIRECTORY) get_filename_component(FFMPEG_${varname}_LIBRARY_DEBUG_DIR ${FFMPEG_${varname}_LIBRARY_DEBUG} DIRECTORY) select_library_configurations(FFMPEG_${varname}) diff --git a/ports/ffmpeg/portfile.cmake b/ports/ffmpeg/portfile.cmake index 469a062ff8795a..b5b5c49e209f95 100644 --- a/ports/ffmpeg/portfile.cmake +++ b/ports/ffmpeg/portfile.cmake @@ -18,6 +18,7 @@ vcpkg_from_github( 0012-Fix-ssl-110-detection.patch 0013-define-WINVER.patch 0014-avfilter-dependency-fix.patch + 0015-Fix-xml2-detection.patch ) if (SOURCE_PATH MATCHES " ") @@ -181,17 +182,25 @@ if("avresample" IN_LIST FEATURES) set(ENABLE_AVRESAMPLE ON) endif() +set(STATIC_LINKAGE OFF) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + set(STATIC_LINKAGE ON) +endif() + +set(ENABLE_ASS OFF) +if("ass" IN_LIST FEATURES) + set(OPTIONS "${OPTIONS} --enable-libass") + set(ENABLE_ASS ${STATIC_LINKAGE}) +else() + set(OPTIONS "${OPTIONS} --disable-libass") +endif() + if("avisynthplus" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-avisynth") else() set(OPTIONS "${OPTIONS} --disable-avisynth") endif() -set(STATIC_LINKAGE OFF) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") -set(STATIC_LINKAGE ON) -endif() - set(ENABLE_BZIP2 OFF) if("bzip2" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-bzlib") @@ -200,6 +209,14 @@ else() set(OPTIONS "${OPTIONS} --disable-bzlib") endif() +set(ENABLE_DAV1D OFF) +if("dav1d" IN_LIST FEATURES) + set(OPTIONS "${OPTIONS} --enable-libdav1d") + set(ENABLE_DAV1D ${STATIC_LINKAGE}) +else() + set(OPTIONS "${OPTIONS} --disable-libdav1d") +endif() + set(ENABLE_ICONV OFF) if("iconv" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-iconv") @@ -208,6 +225,14 @@ else() set(OPTIONS "${OPTIONS} --disable-iconv") endif() +set(ENABLE_ILBC OFF) +if("ilbc" IN_LIST FEATURES) + set(OPTIONS "${OPTIONS} --enable-libilbc") + set(ENABLE_ILBC ${STATIC_LINKAGE}) +else() + set(OPTIONS "${OPTIONS} --disable-libilbc") +endif() + set(ENABLE_FDKAAC OFF) if("fdk-aac" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-libfdk-aac") @@ -216,6 +241,30 @@ else() set(OPTIONS "${OPTIONS} --disable-libfdk-aac") endif() +set(ENABLE_FONTCONFIG OFF) +if("fontconfig" IN_LIST FEATURES) + set(OPTIONS "${OPTIONS} --enable-libfontconfig") + set(ENABLE_FONTCONFIG ${STATIC_LINKAGE}) +else() + set(OPTIONS "${OPTIONS} --disable-libfontconfig") +endif() + +set(ENABLE_FREETYPE OFF) +if("freetype" IN_LIST FEATURES) + set(OPTIONS "${OPTIONS} --enable-libfreetype") + set(ENABLE_FREETYPE ${STATIC_LINKAGE}) +else() + set(OPTIONS "${OPTIONS} --disable-libfreetype") +endif() + +set(ENABLE_FRIBIDI OFF) +if("fribidi" IN_LIST FEATURES) + set(OPTIONS "${OPTIONS} --enable-libfribidi") + set(ENABLE_FRIBIDI ${STATIC_LINKAGE}) +else() + set(OPTIONS "${OPTIONS} --disable-libfribidi") +endif() + set(ENABLE_LZMA OFF) if("lzma" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-lzma") @@ -232,13 +281,21 @@ else() set(OPTIONS "${OPTIONS} --disable-libmp3lame") endif() +set(ENABLE_MODPLUG OFF) +if("modplug" IN_LIST FEATURES) + set(OPTIONS "${OPTIONS} --enable-libmodplug") + set(ENABLE_MODPLUG ${STATIC_LINKAGE}) +else() + set(OPTIONS "${OPTIONS} --disable-libmodplug") +endif() + set(ENABLE_NVCODEC OFF) if("nvcodec" IN_LIST FEATURES) #Note: the --enable-cuda option does not actually require the cuda sdk or toolset port dependency as ffmpeg uses runtime detection and dynamic loading set(ENABLE_NVCODEC ON) - set(OPTIONS "${OPTIONS} --enable-cuda --enable-nvenc --enable-nvdec --enable-cuvid") + set(OPTIONS "${OPTIONS} --enable-cuda --enable-nvenc --enable-nvdec --enable-cuvid --enable-ffnvcodec") else() - set(OPTIONS "${OPTIONS} --disable-cuda --disable-nvenc --disable-nvdec --disable-cuvid") + set(OPTIONS "${OPTIONS} --disable-cuda --disable-nvenc --disable-nvdec --disable-cuvid --disable-ffnvcodec") endif() set(ENABLE_OPENCL OFF) @@ -249,6 +306,22 @@ else() set(OPTIONS "${OPTIONS} --disable-opencl") endif() +set(ENABLE_OPENGL OFF) +if("opengl" IN_LIST FEATURES) + set(OPTIONS "${OPTIONS} --enable-opengl") + set(ENABLE_OPENGL ${STATIC_LINKAGE}) +else() + set(OPTIONS "${OPTIONS} --disable-opengl") +endif() + +set(ENABLE_OPENJPEG OFF) +if("openjpeg" IN_LIST FEATURES) + set(OPTIONS "${OPTIONS} --enable-libopenjpeg") + set(ENABLE_OPENJPEG ${STATIC_LINKAGE}) +else() + set(OPTIONS "${OPTIONS} --disable-libopenjpeg") +endif() + set(ENABLE_OPENSSL OFF) if("openssl" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-openssl") @@ -297,6 +370,30 @@ else() set(OPTIONS "${OPTIONS} --disable-libspeex") endif() +set(ENABLE_SSH OFF) +if("ssh" IN_LIST FEATURES) + set(OPTIONS "${OPTIONS} --enable-libssh") + set(ENABLE_SSH ${STATIC_LINKAGE}) +else() + set(OPTIONS "${OPTIONS} --disable-libssh") +endif() + +set(ENABLE_TENSORFLOW OFF) +if("tensorflow" IN_LIST FEATURES) + set(OPTIONS "${OPTIONS} --enable-libtensorflow") + set(ENABLE_TENSORFLOW ${STATIC_LINKAGE}) +else() + set(OPTIONS "${OPTIONS} --disable-libtensorflow") +endif() + +set(ENABLE_TESSERACT OFF) +if("tesseract" IN_LIST FEATURES) + set(OPTIONS "${OPTIONS} --enable-libtesseract") + set(ENABLE_TESSERACT ${STATIC_LINKAGE}) +else() + set(OPTIONS "${OPTIONS} --disable-libtesseract") +endif() + set(ENABLE_THEORA OFF) if("theora" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-libtheora") @@ -329,6 +426,14 @@ else() set(OPTIONS "${OPTIONS} --disable-libwavpack") endif() +set(ENABLE_WEBP OFF) +if("webp" IN_LIST FEATURES) + set(OPTIONS "${OPTIONS} --enable-libwebp") + set(ENABLE_WEBP ${STATIC_LINKAGE}) +else() + set(OPTIONS "${OPTIONS} --disable-libwebp") +endif() + set(ENABLE_X264 OFF) if("x264" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-libx264") @@ -345,6 +450,14 @@ else() set(OPTIONS "${OPTIONS} --disable-libx265") endif() +set(ENABLE_XML2 OFF) +if("xml2" IN_LIST FEATURES) + set(OPTIONS "${OPTIONS} --enable-libxml2") + set(ENABLE_XML2 ${STATIC_LINKAGE}) +else() + set(OPTIONS "${OPTIONS} --disable-libxml2") +endif() + set(ENABLE_ZLIB OFF) if("zlib" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-zlib") diff --git a/ports/ffnvcodec/CONTROL b/ports/ffnvcodec/CONTROL index 5b09398f04c6d8..d1cde3bfea9fae 100644 --- a/ports/ffnvcodec/CONTROL +++ b/ports/ffnvcodec/CONTROL @@ -1,5 +1,6 @@ Source: ffnvcodec Version: 10.0.26.0 +Port-Version: 1 Homepage: https://github.com/FFmpeg/nv-codec-headers Description: FFmpeg version of Nvidia Codec SDK headers. -Supports: windows|linux +Supports: (windows|linux)&!uwp diff --git a/ports/fontconfig/CONTROL b/ports/fontconfig/CONTROL index 330c801e0aee53..f6892ac2386910 100644 --- a/ports/fontconfig/CONTROL +++ b/ports/fontconfig/CONTROL @@ -1,6 +1,6 @@ Source: fontconfig Version: 2.13.1 -Port-Version: 4 +Port-Version: 5 Homepage: https://www.freedesktop.org/software/fontconfig/front.html Description: Library for configuring and customizing font access. -Build-Depends: freetype, expat, libiconv, dirent, pthread, json-c, dirent, libuuid (!windows&!osx), gettext +Build-Depends: freetype, expat, libiconv, dirent, pthread, json-c, libuuid (!windows&!osx), gettext diff --git a/ports/fontconfig/portfile.cmake b/ports/fontconfig/portfile.cmake index 90aae8b84a6b0d..9635d185403353 100644 --- a/ports/fontconfig/portfile.cmake +++ b/ports/fontconfig/portfile.cmake @@ -46,6 +46,13 @@ vcpkg_configure_make( vcpkg_install_make(ADD_BIN_TO_PATH) vcpkg_copy_pdbs() +#Fix missing libintl static dependency +if(NOT VCPKG_TARGET_IS_MINGW AND VCPKG_TARGET_IS_WINDOWS) + if(NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/fontconfig.pc" "-liconv" "-liconv -lintl") + endif() + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/fontconfig.pc" "-liconv" "-liconv -lintl") +endif() vcpkg_fixup_pkgconfig() # Fix paths in debug pc file. diff --git a/ports/fribidi/CONTROL b/ports/fribidi/CONTROL index 5ca0a10a44e59f..9de3f926efca12 100644 --- a/ports/fribidi/CONTROL +++ b/ports/fribidi/CONTROL @@ -1,5 +1,6 @@ Source: fribidi Version: 1.0.10 -Port-Version: 1 +Port-Version: 2 Description: GNU FriBidi is an implementation of the Unicode Bidirectional Algorithm (bidi) Build-Depends: tool-meson +Supports: !(uwp | arm) diff --git a/ports/libmodplug/004-export-pkgconfig.patch b/ports/libmodplug/004-export-pkgconfig.patch new file mode 100644 index 00000000000000..28201a96183802 --- /dev/null +++ b/ports/libmodplug/004-export-pkgconfig.patch @@ -0,0 +1,30 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 468f1a3..8e94458 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -142,6 +142,8 @@ if(HAVE_SINF) + endif(HAVE_SINF) + + if (NOT WIN32) ++ set(UNIXLIBS "-lstdc++ -lm") ++endif (NOT WIN32) + set(prefix "${CMAKE_INSTALL_PREFIX}") + set(exec_prefix "${CMAKE_INSTALL_PREFIX}") + set(libdir "${CMAKE_INSTALL_PREFIX}/lib") +@@ -152,4 +154,3 @@ if (NOT WIN32) + install(FILES "${PROJECT_BINARY_DIR}/libmodplug.pc" + DESTINATION lib/pkgconfig + ) +-endif (NOT WIN32) +diff --git a/libmodplug.pc.in b/libmodplug.pc.in +index bbf05f9..1699d76 100644 +--- a/libmodplug.pc.in ++++ b/libmodplug.pc.in +@@ -8,5 +8,5 @@ Description: The ModPlug mod file playing library. + Version: @VERSION@ + Requires: + Libs: -L${libdir} -lmodplug +-Libs.private: -lstdc++ -lm ++Libs.private: @UNIXLIBS@ + Cflags: -I${includedir} + diff --git a/ports/libmodplug/CONTROL b/ports/libmodplug/CONTROL index c8339b10483474..2d05f206aaec8c 100644 --- a/ports/libmodplug/CONTROL +++ b/ports/libmodplug/CONTROL @@ -1,5 +1,6 @@ Source: libmodplug Version: 0.8.9.0 -Port-Version: 6 +Port-Version: 7 Homepage: https://github.com/Konstanty/libmodplug Description: The ModPlug mod file playing library. +Supports: !uwp diff --git a/ports/libmodplug/portfile.cmake b/ports/libmodplug/portfile.cmake index 261544349c428f..6ead190d83425d 100644 --- a/ports/libmodplug/portfile.cmake +++ b/ports/libmodplug/portfile.cmake @@ -1,28 +1,21 @@ set(MODPLUG_HASH 5a39f5913d07ba3e61d8d5afdba00b70165da81d) if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - vcpkg_from_github(ARCHIVE - OUT_SOURCE_PATH SOURCE_PATH - REPO Konstanty/libmodplug - REF ${MODPLUG_HASH} - SHA512 c43bb3190b62c3a4e3636bba121b5593bbf8e6577ca9f2aa04d90b03730ea7fb590e640cdadeb565758b92e81187bc456e693fe37f1f4deace9b9f37556e3ba1 - PATCHES - "001-automagically-define-modplug-static.patch" - "002-detect_sinf.patch" - "003-use-static-cast-for-ctype.patch" - ) -else() - vcpkg_from_github(ARCHIVE - OUT_SOURCE_PATH SOURCE_PATH - REPO Konstanty/libmodplug - REF ${MODPLUG_HASH} - SHA512 c43bb3190b62c3a4e3636bba121b5593bbf8e6577ca9f2aa04d90b03730ea7fb590e640cdadeb565758b92e81187bc456e693fe37f1f4deace9b9f37556e3ba1 - PATCHES - "002-detect_sinf.patch" - "003-use-static-cast-for-ctype.patch" - ) + set(STATIC_PATCH "001-automagically-define-modplug-static.patch") endif() +vcpkg_from_github(ARCHIVE + OUT_SOURCE_PATH SOURCE_PATH + REPO Konstanty/libmodplug + REF ${MODPLUG_HASH} + SHA512 c43bb3190b62c3a4e3636bba121b5593bbf8e6577ca9f2aa04d90b03730ea7fb590e640cdadeb565758b92e81187bc456e693fe37f1f4deace9b9f37556e3ba1 + PATCHES + ${STATIC_PATCH} + 002-detect_sinf.patch + 003-use-static-cast-for-ctype.patch + 004-export-pkgconfig.patch +) + vcpkg_configure_cmake(SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA) vcpkg_install_cmake() @@ -42,5 +35,7 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic AND VCPKG_TARGET_IS_WINDOWS) vcpkg_copy_pdbs() endif() +vcpkg_fixup_pkgconfig() + file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libmodplug) file(RENAME ${CURRENT_PACKAGES_DIR}/share/libmodplug/COPYING ${CURRENT_PACKAGES_DIR}/share/libmodplug/copyright) diff --git a/ports/libssh/0001-export-pkgconfig-file.patch b/ports/libssh/0001-export-pkgconfig-file.patch new file mode 100644 index 00000000000000..c84510ce58661d --- /dev/null +++ b/ports/libssh/0001-export-pkgconfig-file.patch @@ -0,0 +1,43 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1f5b0bf5..c51fb0d3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -111,8 +111,28 @@ add_subdirectory(include) + add_subdirectory(src) + + # pkg-config file +-if (UNIX) + configure_file(libssh.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc) ++ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc "Requires:") ++ if (WITH_ZLIB) ++ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc " zlib") ++ endif () ++ if (WITH_GCRYPT) ++ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc "\nLibs.private: -lgcrypt") ++ elseif (WITH_MBEDTLS) ++ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc "\nLibs.private: -lmbedcrypto -lpthread") ++ else () ++ if (WIN32) ++ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc "\nLibs.private: -llibcrypto -lUser32 -lCrypt32") ++ else () ++ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc " libcrypto\nLibs.private:") ++ endif () ++ endif () ++ if (CMAKE_USE_PTHREADS_INIT) ++ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc " -lpthread") ++ endif () ++ if (WIN32) ++ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc " -lws2_32 -lShell32 -lAdvapi32") ++ endif () + install( + FILES + ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc +@@ -121,7 +141,6 @@ install( + COMPONENT + pkgconfig + ) +-endif (UNIX) + + # CMake config files + include(CMakePackageConfigHelpers) + diff --git a/ports/libssh/CONTROL b/ports/libssh/CONTROL index d1e607e8cbdfd6..0a138fcd92441e 100644 --- a/ports/libssh/CONTROL +++ b/ports/libssh/CONTROL @@ -1,11 +1,11 @@ Source: libssh Version: 0.9.5 -Port-Version: 1 +Port-Version: 2 Homepage: https://www.libssh.org/ Build-Depends: libssh[core,mbedtls] (android) Description: libssh is a multiplatform C library implementing the SSHv2 protocol on client and server side Default-Features: crypto -Supports: !uwp +Supports: !(uwp | arm) Feature: crypto Build-Depends: libssh[mbedtls] diff --git a/ports/libssh/portfile.cmake b/ports/libssh/portfile.cmake index ee7f0ac8f761a3..a35ee116269a2e 100644 --- a/ports/libssh/portfile.cmake +++ b/ports/libssh/portfile.cmake @@ -1,16 +1,12 @@ vcpkg_fail_port_install(ON_TARGET "UWP") -set(VERSION 0.9.5) -vcpkg_download_distfile(ARCHIVE - URLS "https://www.libssh.org/files/0.9/libssh-${VERSION}.tar.xz" - FILENAME "libssh-${VERSION}.tar.xz" - SHA512 64e692a0bfa7f73585ea7b7b8b1d4c9a7f9be59565bfd4de32ca8cd9db121f87e7ad51f5c80269fbd99545af34dcf1894374ed8a6d6c1ac5f8601c026572ac18 -) - -vcpkg_extract_source_archive_ex( +vcpkg_from_git( OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF ${VERSION} + URL https://git.libssh.org/projects/libssh.git + REF 9c4af47965d284b2de26407bcd80473aba4ee4c9 # REFERENCE VERSION 0.9.5 + SHA512 64e692a0bfa7f73585ea7b7b8b1d4c9a7f9be59565bfd4de32ca8cd9db121f87e7ad51f5c80269fbd99545af34dcf1894374ed8a6d6c1ac5f8601c026572ac18 + PATCHES + 0001-export-pkgconfig-file.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -40,6 +36,14 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) vcpkg_copy_pdbs() +#Fixup pthread naming +if(NOT VCPKG_TARGET_IS_MINGW AND VCPKG_TARGET_IS_WINDOWS) + if(NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libssh.pc" "-lpthread" "-lpthreadVC3d") + endif() + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libssh.pc" "-lpthread" "-lpthreadVC3") +endif() +vcpkg_fixup_pkgconfig() if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) diff --git a/ports/libvpx/CONTROL b/ports/libvpx/CONTROL index 504a4e3bbe8a2a..67f157a3f1dbc0 100644 --- a/ports/libvpx/CONTROL +++ b/ports/libvpx/CONTROL @@ -1,6 +1,5 @@ Source: libvpx Version: 1.9.0 -Port-Version: 6 +Port-Version: 7 Homepage: https://github.com/webmproject/libvpx Description: The reference software implementation for the video coding formats VP8 and VP9. -Supports: !(uwp&arm) diff --git a/ports/libwebp/CONTROL b/ports/libwebp/CONTROL index a96f6c40c36448..eea81b46c51723 100644 --- a/ports/libwebp/CONTROL +++ b/ports/libwebp/CONTROL @@ -1,6 +1,6 @@ Source: libwebp Version: 1.1.0 -Port-Version: 1 +Port-Version: 2 Homepage: https://github.com/webmproject/libwebp Description: WebP codec: library to encode and decode images in WebP format Default-Features: simd, nearlossless diff --git a/ports/libwebp/portfile.cmake b/ports/libwebp/portfile.cmake index 9bea70aecde745..4318c34d4f98b1 100644 --- a/ports/libwebp/portfile.cmake +++ b/ports/libwebp/portfile.cmake @@ -61,6 +61,12 @@ vcpkg_copy_pdbs() vcpkg_fixup_cmake_targets(CONFIG_PATH share/WebP/cmake TARGET_PATH share/WebP) # find_package is called with WebP not libwebp file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libwebp.pc" "-lwebp" "-lwebpd") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libwebpdecoder.pc" "-lwebpdecoder" "-lwebpdecoderd") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libwebpdemux.pc" "-lwebpdemux" "-lwebpdemuxd") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libwebpmux.pc" "-lwebpmux" "-lwebpmuxd") +vcpkg_fixup_pkgconfig() + set(BIN_NAMES get_disto gif2webp img2webp vwebp vwebp_sdl webpinfo webpmux webp_quality cwebp dwebp) file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/webp/") diff --git a/ports/libxml2/portfile.cmake b/ports/libxml2/portfile.cmake index 8130761ece9813..a5708fe026b729 100644 --- a/ports/libxml2/portfile.cmake +++ b/ports/libxml2/portfile.cmake @@ -30,6 +30,12 @@ vcpkg_configure_cmake( vcpkg_install_cmake() +if(VCPKG_TARGET_IS_WINDOWS) + if(NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libxml-2.0.pc" "-lxml2" "-llibxml2") + endif() + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libxml-2.0.pc" "-lxml2" "-llibxml2") +endif () vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() diff --git a/ports/libxml2/vcpkg.json b/ports/libxml2/vcpkg.json index c5ac7c0fd32aa1..cf516de7b4e6eb 100644 --- a/ports/libxml2/vcpkg.json +++ b/ports/libxml2/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libxml2", "version-semver": "2.9.10", - "port-version": 3, + "port-version": 4, "description": "Libxml2 is the XML C parser and toolkit developed for the Gnome project (but usable outside of the Gnome platform).", "homepage": "https://xmlsoft.org/", "dependencies": [ diff --git a/ports/opencl/CONTROL b/ports/opencl/CONTROL index 8b4f7a2d1c24e6..d9e08847cd6e86 100644 --- a/ports/opencl/CONTROL +++ b/ports/opencl/CONTROL @@ -1,5 +1,6 @@ Source: opencl Version: 2.2 -Port-Version: 6 +Port-Version: 7 Homepage: https://github.com/KhronosGroup/OpenCL-Headers Description: C/C++ headers and ICD loader (Installable Client Driver) for OpenCL +Supports: !uwp diff --git a/ports/openjpeg/portfile.cmake b/ports/openjpeg/portfile.cmake index 6885513baf36b9..348b2594fc7ac1 100644 --- a/ports/openjpeg/portfile.cmake +++ b/ports/openjpeg/portfile.cmake @@ -39,8 +39,16 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_fixup_cmake_targets() -if(VCPKG_TARGET_IS_WINDOWS) - # TODO: remove -lm from *.pc files +if(VCPKG_TARGET_IS_WINDOWS AND (NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL MinGW)) + if(NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libopenjp2.pc" "-lm" "") + endif() + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libopenjp2.pc" "-lm" "") +else() + if(NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libopenjp2.pc" "-lm" "-lm -pthread") + endif() + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libopenjp2.pc" "-lm" "-lm -pthread") endif() vcpkg_fixup_pkgconfig(SYSTEM_LIBRARIES m) diff --git a/ports/openjpeg/vcpkg.json b/ports/openjpeg/vcpkg.json index d54e271dc259ff..f910c2cc4d62ad 100644 --- a/ports/openjpeg/vcpkg.json +++ b/ports/openjpeg/vcpkg.json @@ -1,7 +1,7 @@ { "name": "openjpeg", "version-semver": "2.3.1", - "port-version": 3, + "port-version": 4, "description": "OpenJPEG is an open-source JPEG 2000 codec written in C language. It has been developed in order to promote the use of JPEG 2000, a still-image compression standard from the Joint Photographic Experts Group (JPEG). Since April 2015, it is officially recognized by ISO/IEC and ITU-T as a JPEG 2000 Reference Software.", "homepage": "https://github.com/uclouvain/openjpeg", "features": { diff --git a/ports/pangolin/fix-cmake-version.patch b/ports/pangolin/fix-cmake-version.patch new file mode 100644 index 00000000000000..352171d32a673a --- /dev/null +++ b/ports/pangolin/fix-cmake-version.patch @@ -0,0 +1,11 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index dd08d31..7f364a7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,5 +1,5 @@ +-cmake_minimum_required(VERSION 2.6) ++cmake_minimum_required(VERSION 3.8) + project("Pangolin") + set(PANGOLIN_VERSION_MAJOR 0) + set(PANGOLIN_VERSION_MINOR 5) + set(PANGOLIN_VERSION ${PANGOLIN_VERSION_MAJOR}.${PANGOLIN_VERSION_MINOR}) diff --git a/ports/pangolin/portfile.cmake b/ports/pangolin/portfile.cmake index df9c5bad806029..452aaf771c3da7 100644 --- a/ports/pangolin/portfile.cmake +++ b/ports/pangolin/portfile.cmake @@ -13,6 +13,7 @@ vcpkg_from_github( fix-includepath-error.patch # include path has one more ../ fix-dependency-python.patch add-definition.patch + fix-cmake-version.patch ) file(REMOVE ${SOURCE_PATH}/CMakeModules/FindGLEW.cmake) diff --git a/ports/pangolin/vcpkg.json b/ports/pangolin/vcpkg.json index 32b6ba79695278..cd138bfffa0073 100644 --- a/ports/pangolin/vcpkg.json +++ b/ports/pangolin/vcpkg.json @@ -1,7 +1,7 @@ { "name": "pangolin", "version-string": "0.5", - "port-version": 13, + "port-version": 14, "description": "Lightweight GUI Library", "homepage": "https://github.com/stevenlovegrove/Pangolin", "supports": "!uwp & !osx", diff --git a/ports/tesseract/CONTROL b/ports/tesseract/CONTROL index 021496d324392a..b43581f6bc0aae 100644 --- a/ports/tesseract/CONTROL +++ b/ports/tesseract/CONTROL @@ -1,6 +1,6 @@ Source: tesseract Version: 4.1.1 -Port-Version: 6 +Port-Version: 7 Homepage: https://github.com/tesseract-ocr/tesseract Description: An OCR Engine that was developed at HP Labs between 1985 and 1995... and now at Google. Build-Depends: leptonica, libarchive diff --git a/ports/tesseract/portfile.cmake b/ports/tesseract/portfile.cmake index e5e09e4d0c5d08..4f40e3ec71424d 100644 --- a/ports/tesseract/portfile.cmake +++ b/ports/tesseract/portfile.cmake @@ -47,6 +47,11 @@ file(WRITE ${CURRENT_PACKAGES_DIR}/share/tesseract/TesseractConfig.cmake "${TESS vcpkg_copy_tools(TOOL_NAMES tesseract AUTO_CLEAN) +if(NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/tesseract.pc" "-ltesseract41" "-ltesseract41d") +endif() +vcpkg_fixup_pkgconfig() + if("training-tools" IN_LIST FEATURES) list(APPEND TRAINING_TOOLS ambiguous_words classifier_tester combine_tessdata diff --git a/ports/wavpack/CONTROL b/ports/wavpack/CONTROL index f3cb5f3ac6c406..0064da522795c3 100644 --- a/ports/wavpack/CONTROL +++ b/ports/wavpack/CONTROL @@ -1,5 +1,6 @@ Source: wavpack Version: 5.3.0 +Port-Version: 1 Homepage: https://github.com/dbry/WavPack Description: WavPack encode/decode library, command-line programs, and several plugins Supports: !(arm|arm64) \ No newline at end of file diff --git a/ports/wavpack/fix-symbol-exports.patch b/ports/wavpack/fix-symbol-exports.patch new file mode 100644 index 00000000000000..999a05417cfeb7 --- /dev/null +++ b/ports/wavpack/fix-symbol-exports.patch @@ -0,0 +1,22 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 70e1043f..d8cb8b10 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -328,7 +328,7 @@ foreach(EXPORT_SYMBOL ${WAVPACK_EXPORT_SYMBOLS}) + list(APPEND FILE_CONTENTS "_${EXPORT_SYMBOL}\n") + endforeach() + file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/libwavpack.sym ${FILE_CONTENTS}) +- target_link_libraries(wavpack PRIVATE "-Wl,-exported_symbols_list,'${CMAKE_CURRENT_BINARY_DIR}/libwavpack.sym'") ++ set_target_properties(wavpack PROPERTIES LINK_FLAGS "-Wl,-exported_symbols_list,'${CMAKE_CURRENT_BINARY_DIR}/libwavpack.sym'") + else() + set(CONFTTEST_CONTENTS "VERS_1 {\n global: sym\;\n\n};\n\nVERS_2 {\n global: sym;\n} VERS_1\;") + file(WRITE ${PROJECT_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/conftest.map "${CONFTTEST_CONTENTS}") +@@ -340,7 +340,7 @@ list(APPEND FILE_CONTENTS "${EXPORT_SYMBOL}\;\n") + endforeach() + list(APPEND FILE_CONTENTS "local: *\; }\;") + file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/libwavpack.map ${FILE_CONTENTS}) +- target_link_libraries(wavpack PRIVATE "-Wl,--version-script='${CMAKE_CURRENT_BINARY_DIR}/libwavpack.map';-Wl,-no-undefined") ++ set_target_properties(wavpack PROPERTIES LINK_FLAGS "-Wl,--version-script='${CMAKE_CURRENT_BINARY_DIR}/libwavpack.map';-Wl,-no-undefined") + endif() + endif() + diff --git a/ports/wavpack/portfile.cmake b/ports/wavpack/portfile.cmake index a030e1ec521a32..13d35a8f2f2457 100644 --- a/ports/wavpack/portfile.cmake +++ b/ports/wavpack/portfile.cmake @@ -8,6 +8,7 @@ vcpkg_from_github( HEAD_REF master PATCHES OpenSSL.patch + fix-symbol-exports.patch ) vcpkg_configure_cmake( diff --git a/ports/x265/CONTROL b/ports/x265/CONTROL index 269a4c30d37068..c101f7ea440b6e 100644 --- a/ports/x265/CONTROL +++ b/ports/x265/CONTROL @@ -1,5 +1,6 @@ Source: x265 Version: 3.4 -Port-Version: 2 +Port-Version: 3 Homepage: https://github.com/videolan/x265 Description: x265 is a H.265 / HEVC video encoder application library, designed to encode video or images into an H.265 / HEVC encoded bitstream. +Supports: !(uwp | arm) diff --git a/scripts/test_ports/vcpkg-ci-ffmpeg/CONTROL b/scripts/test_ports/vcpkg-ci-ffmpeg/CONTROL new file mode 100644 index 00000000000000..78687c423501f2 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-ffmpeg/CONTROL @@ -0,0 +1,5 @@ +Source: vcpkg-ci-ffmpeg +Version: 1 +Homepage: https://github.com/microsoft/vcpkg +Description: Port to force features of certain ports within CI +Build-Depends: ffmpeg[all-nonfree] diff --git a/scripts/test_ports/vcpkg-ci-ffmpeg/portfile.cmake b/scripts/test_ports/vcpkg-ci-ffmpeg/portfile.cmake new file mode 100644 index 00000000000000..0015715fb66c72 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-ffmpeg/portfile.cmake @@ -0,0 +1 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) \ No newline at end of file diff --git a/versions/baseline.json b/versions/baseline.json index c8ec96e3c88871..c126a99d2afa1f 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -1929,8 +1929,8 @@ "port-version": 0 }, "fdk-aac": { - "baseline": "2018-07-08-2", - "port-version": 0 + "baseline": "2018-07-08", + "port-version": 3 }, "fdlibm": { "baseline": "5.3-4", @@ -1938,11 +1938,11 @@ }, "ffmpeg": { "baseline": "4.3.2", - "port-version": 1 + "port-version": 2 }, "ffnvcodec": { "baseline": "10.0.26.0", - "port-version": 0 + "port-version": 1 }, "fftw3": { "baseline": "3.3.8-7", @@ -2022,7 +2022,7 @@ }, "fontconfig": { "baseline": "2.13.1", - "port-version": 4 + "port-version": 5 }, "foonathan-memory": { "baseline": "2019-07-21-1", @@ -2078,7 +2078,7 @@ }, "fribidi": { "baseline": "1.0.10", - "port-version": 1 + "port-version": 2 }, "frozen": { "baseline": "1.0.0", @@ -3250,7 +3250,7 @@ }, "libmodplug": { "baseline": "0.8.9.0", - "port-version": 6 + "port-version": 7 }, "libmorton": { "baseline": "0.2", @@ -3486,7 +3486,7 @@ }, "libssh": { "baseline": "0.9.5", - "port-version": 1 + "port-version": 2 }, "libssh2": { "baseline": "1.9.0", @@ -3586,7 +3586,7 @@ }, "libvpx": { "baseline": "1.9.0", - "port-version": 6 + "port-version": 7 }, "libwandio": { "baseline": "4.2.1", @@ -3598,7 +3598,7 @@ }, "libwebp": { "baseline": "1.1.0", - "port-version": 1 + "port-version": 2 }, "libwebsockets": { "baseline": "4.1.6", @@ -3614,7 +3614,7 @@ }, "libxml2": { "baseline": "2.9.10", - "port-version": 3 + "port-version": 4 }, "libxmlmm": { "baseline": "0.6.0", @@ -4398,7 +4398,7 @@ }, "opencl": { "baseline": "2.2", - "port-version": 6 + "port-version": 7 }, "opencolorio": { "baseline": "1.1.1", @@ -4458,7 +4458,7 @@ }, "openjpeg": { "baseline": "2.3.1", - "port-version": 3 + "port-version": 4 }, "openmama": { "baseline": "6.3.1", @@ -4606,7 +4606,7 @@ }, "pangolin": { "baseline": "0.5", - "port-version": 13 + "port-version": 14 }, "pangomm": { "baseline": "2.40.1", @@ -5890,7 +5890,7 @@ }, "tesseract": { "baseline": "4.1.1", - "port-version": 6 + "port-version": 7 }, "tfhe": { "baseline": "1.0.1-1", @@ -6338,7 +6338,7 @@ }, "wavpack": { "baseline": "5.3.0", - "port-version": 0 + "port-version": 1 }, "websocketpp": { "baseline": "0.8.2", @@ -6426,7 +6426,7 @@ }, "x265": { "baseline": "3.4", - "port-version": 2 + "port-version": 3 }, "xalan-c": { "baseline": "1.11-12", diff --git a/versions/f-/fdk-aac.json b/versions/f-/fdk-aac.json index ba737a95d94228..d6a76e6b941820 100644 --- a/versions/f-/fdk-aac.json +++ b/versions/f-/fdk-aac.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "671b0954f5fe51fd11991f77f710901c26a8bd8b", + "version-string": "2018-07-08", + "port-version": 3 + }, { "git-tree": "4652092e7f7d8dc6578db286c7ce4ef7f5aebafd", "version-string": "2018-07-08-2", diff --git a/versions/f-/ffmpeg.json b/versions/f-/ffmpeg.json index 42b7421a3786d5..5f9ff52e6f2c5a 100644 --- a/versions/f-/ffmpeg.json +++ b/versions/f-/ffmpeg.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "95a584d785f17bb9158d505bedfda26aa1c52db1", + "version-string": "4.3.2", + "port-version": 2 + }, { "git-tree": "8d581e93ca7ee374d63bae07dff49356c79dee8c", "version-string": "4.3.2", diff --git a/versions/f-/ffnvcodec.json b/versions/f-/ffnvcodec.json index fb611ffb34ebed..7c8d62c3554762 100644 --- a/versions/f-/ffnvcodec.json +++ b/versions/f-/ffnvcodec.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "a8340b2c8379d1a6e0bbf5ae3ef2270074a2da2e", + "version-string": "10.0.26.0", + "port-version": 1 + }, { "git-tree": "85f47c87ba8461e3fddb5dfb28e4a89af683a989", "version-string": "10.0.26.0", diff --git a/versions/f-/fontconfig.json b/versions/f-/fontconfig.json index 319fc75ea92c66..b5bb4c3ad46ddf 100644 --- a/versions/f-/fontconfig.json +++ b/versions/f-/fontconfig.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "de83a21d912d9b87d8ad069d94dffcca201830a3", + "version-string": "2.13.1", + "port-version": 5 + }, { "git-tree": "2b49a3ee02b25efc3101d849a0df38280a1ca299", "version-string": "2.13.1", diff --git a/versions/f-/fribidi.json b/versions/f-/fribidi.json index 343c1c72a505cc..7f6553ab7cb696 100644 --- a/versions/f-/fribidi.json +++ b/versions/f-/fribidi.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "197340b9f9db2c444b70c27b54cfbe0ce3601c0b", + "version-string": "1.0.10", + "port-version": 2 + }, { "git-tree": "cfd7b4f4b0342721b50ef5eab54510351797e343", "version-string": "1.0.10", diff --git a/versions/l-/libmodplug.json b/versions/l-/libmodplug.json index 1fcfa21d183634..f5cfdf03d17a1c 100644 --- a/versions/l-/libmodplug.json +++ b/versions/l-/libmodplug.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "974a84bd910a82a86d2e27d2bb9416d0672390c4", + "version-string": "0.8.9.0", + "port-version": 7 + }, { "git-tree": "0a5fabb8c35482c3d20e2f207305fd233614c59f", "version-string": "0.8.9.0", diff --git a/versions/l-/libssh.json b/versions/l-/libssh.json index 117d34e07531ab..a28238b243a243 100644 --- a/versions/l-/libssh.json +++ b/versions/l-/libssh.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "a9b49412296a9eec38c564afa33555a92898a11f", + "version-string": "0.9.5", + "port-version": 2 + }, { "git-tree": "bf1fb5ae9324823a60784a5ed0ecbca8a3325214", "version-string": "0.9.5", diff --git a/versions/l-/libvpx.json b/versions/l-/libvpx.json index 5f1f268e07b6f4..facc4c15330fcf 100644 --- a/versions/l-/libvpx.json +++ b/versions/l-/libvpx.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "09c64743d3dc62d2fa0ef55ef52b7bdad45cea0c", + "version-string": "1.9.0", + "port-version": 7 + }, { "git-tree": "017466933d1b0a427b79b86b61129fb5cf12f05f", "version-string": "1.9.0", diff --git a/versions/l-/libwebp.json b/versions/l-/libwebp.json index 4e8d19547e1337..1ecc51c0dd42f4 100644 --- a/versions/l-/libwebp.json +++ b/versions/l-/libwebp.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "8e1a0ef8ea8d864f10f3ad1604f3d0e920534ecd", + "version-string": "1.1.0", + "port-version": 2 + }, { "git-tree": "de60c0060bd08d336b79bf5676c28394e81bf1b8", "version-string": "1.1.0", diff --git a/versions/l-/libxml2.json b/versions/l-/libxml2.json index e7a5c70f798a24..40b026f1cc6ef8 100644 --- a/versions/l-/libxml2.json +++ b/versions/l-/libxml2.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "98c48a2d0545e6d392084260abc6411eb44f0577", + "version-semver": "2.9.10", + "port-version": 4 + }, { "git-tree": "7aa5a9ea1742082d57eb67708f107ade65f94c12", "version-semver": "2.9.10", diff --git a/versions/o-/opencl.json b/versions/o-/opencl.json index 960118c3853a6d..68c1b983fb2610 100644 --- a/versions/o-/opencl.json +++ b/versions/o-/opencl.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "9f93abeb8cc37eb7d67dc0c5f526ec264735de56", + "version-string": "2.2", + "port-version": 7 + }, { "git-tree": "c886ba756e6871aa46eeca3d34cb9ca852fcb3e9", "version-string": "2.2", diff --git a/versions/o-/openjpeg.json b/versions/o-/openjpeg.json index a556f81fca76d7..e0acda96d4fc47 100644 --- a/versions/o-/openjpeg.json +++ b/versions/o-/openjpeg.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "a11a593758d57ee96493bd2cb667ac1aa88e972c", + "version-semver": "2.3.1", + "port-version": 4 + }, { "git-tree": "55220d839365c2134574acc4e9b43b8adc2e20ab", "version-semver": "2.3.1", diff --git a/versions/p-/pangolin.json b/versions/p-/pangolin.json index 0b309bc7d25d0e..0569731e883df6 100644 --- a/versions/p-/pangolin.json +++ b/versions/p-/pangolin.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "b93d201ff49c7b409349f6322d8f23cb630da0e5", + "version-string": "0.5", + "port-version": 14 + }, { "git-tree": "e746f01a619539fbbb0aae9b0edb9df733e555d7", "version-string": "0.5", diff --git a/versions/t-/tesseract.json b/versions/t-/tesseract.json index 6c8124580f28a6..6fa7f4fa614b18 100644 --- a/versions/t-/tesseract.json +++ b/versions/t-/tesseract.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "486def9d5e02e287825fb8a27227f2b965a3e109", + "version-string": "4.1.1", + "port-version": 7 + }, { "git-tree": "46aa8d12c08674f4518e9b74b32826bbb380cac9", "version-string": "4.1.1", diff --git a/versions/w-/wavpack.json b/versions/w-/wavpack.json index 28ee22579c9134..f52c3c1b82e2c4 100644 --- a/versions/w-/wavpack.json +++ b/versions/w-/wavpack.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "73e8b55fed24b05b9c0b9f84d1bc85196c241ca3", + "version-string": "5.3.0", + "port-version": 1 + }, { "git-tree": "ab00fac3cf38ba1104e6365183fe6f7bef09f46d", "version-string": "5.3.0", diff --git a/versions/x-/x265.json b/versions/x-/x265.json index f40e2500f77828..2ed2d26cdcd975 100644 --- a/versions/x-/x265.json +++ b/versions/x-/x265.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "aa119fefeb5d57dd2b34ec63ea94942f868f1d94", + "version-string": "3.4", + "port-version": 3 + }, { "git-tree": "6323296cab664ff847a474065dd4ba983c742781", "version-string": "3.4", From c8ce7d27aa89ad43cc6fac6e46fbbf9e1f084d1c Mon Sep 17 00:00:00 2001 From: autoantwort <41973254+autoantwort@users.noreply.github.com> Date: Wed, 7 Apr 2021 21:23:20 +0200 Subject: [PATCH 48/60] format vcpkg.json testing files (#17120) --- .../version-files/ports_incomplete/cat/vcpkg.json | 8 ++++---- .../version-files/ports_incomplete/dog/vcpkg.json | 10 +++++----- .../version-files/ports_incomplete/duck/vcpkg.json | 8 ++++---- .../version-files/ports_incomplete/ferret/vcpkg.json | 8 ++++---- .../version-files/ports_incomplete/fish/vcpkg.json | 10 +++++----- .../version-files/ports_incomplete/mouse/vcpkg.json | 8 ++++---- 6 files changed, 26 insertions(+), 26 deletions(-) diff --git a/scripts/testing/version-files/ports_incomplete/cat/vcpkg.json b/scripts/testing/version-files/ports_incomplete/cat/vcpkg.json index b87e4a2dac957d..d8b8fd81ec0831 100644 --- a/scripts/testing/version-files/ports_incomplete/cat/vcpkg.json +++ b/scripts/testing/version-files/ports_incomplete/cat/vcpkg.json @@ -1,4 +1,4 @@ -{ - "name": "cat", - "version": "1.0" -} \ No newline at end of file +{ + "name": "cat", + "version": "1.0" +} diff --git a/scripts/testing/version-files/ports_incomplete/dog/vcpkg.json b/scripts/testing/version-files/ports_incomplete/dog/vcpkg.json index 65465b9408ef43..847857f6cf0272 100644 --- a/scripts/testing/version-files/ports_incomplete/dog/vcpkg.json +++ b/scripts/testing/version-files/ports_incomplete/dog/vcpkg.json @@ -1,5 +1,5 @@ -{ - "name": "dog", - "version-date": "2001-01-01", - "port-version": 1 -} \ No newline at end of file +{ + "name": "dog", + "version-date": "2001-01-01", + "port-version": 1 +} diff --git a/scripts/testing/version-files/ports_incomplete/duck/vcpkg.json b/scripts/testing/version-files/ports_incomplete/duck/vcpkg.json index d780d01bfc83ef..f6e7aba53e5263 100644 --- a/scripts/testing/version-files/ports_incomplete/duck/vcpkg.json +++ b/scripts/testing/version-files/ports_incomplete/duck/vcpkg.json @@ -1,4 +1,4 @@ -{ - "name": "duck", - "version-string": "mallard" -} \ No newline at end of file +{ + "name": "duck", + "version-string": "mallard" +} diff --git a/scripts/testing/version-files/ports_incomplete/ferret/vcpkg.json b/scripts/testing/version-files/ports_incomplete/ferret/vcpkg.json index 1b4b5c2c1b5c98..3c444c42c1bdd6 100644 --- a/scripts/testing/version-files/ports_incomplete/ferret/vcpkg.json +++ b/scripts/testing/version-files/ports_incomplete/ferret/vcpkg.json @@ -1,4 +1,4 @@ -{ - "name": "ferret", - "version": "1" -} \ No newline at end of file +{ + "name": "ferret", + "version": "1" +} diff --git a/scripts/testing/version-files/ports_incomplete/fish/vcpkg.json b/scripts/testing/version-files/ports_incomplete/fish/vcpkg.json index f67c10a5a0cc50..044ef847414e68 100644 --- a/scripts/testing/version-files/ports_incomplete/fish/vcpkg.json +++ b/scripts/testing/version-files/ports_incomplete/fish/vcpkg.json @@ -1,5 +1,5 @@ -{ - "name": "fish", - "version-string": "1.0.0", - "description": "This description causes an intentional discrepancy between the local SHA and the SHA in fish.json for version 1.0.0" -} \ No newline at end of file +{ + "name": "fish", + "version-string": "1.0.0", + "description": "This description causes an intentional discrepancy between the local SHA and the SHA in fish.json for version 1.0.0" +} diff --git a/scripts/testing/version-files/ports_incomplete/mouse/vcpkg.json b/scripts/testing/version-files/ports_incomplete/mouse/vcpkg.json index fd6cab451f0cf1..8cbe81f9305f6a 100644 --- a/scripts/testing/version-files/ports_incomplete/mouse/vcpkg.json +++ b/scripts/testing/version-files/ports_incomplete/mouse/vcpkg.json @@ -1,4 +1,4 @@ -{ - "name": "mouse", - "version-semver": "1.0.0" -} \ No newline at end of file +{ + "name": "mouse", + "version-semver": "1.0.0" +} From 88e03109aae553fe35c850a20b0fcd6888654664 Mon Sep 17 00:00:00 2001 From: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> Date: Thu, 8 Apr 2021 03:25:49 +0800 Subject: [PATCH 49/60] [libmariadb] Fix build error with cmake 3.20.0 (#17113) * [libmariadb] Fix build error with cmake 3.20.0 * Update versions * Add vcpkg.json * Update versions/l-/libmariadb.json --- ports/libmariadb/CONTROL | 17 ---------- .../fix-build-error-with-cmake3.20.patch | 13 ++++++++ ports/libmariadb/portfile.cmake | 1 + ports/libmariadb/vcpkg.json | 31 +++++++++++++++++++ versions/baseline.json | 2 +- versions/l-/libmariadb.json | 5 +++ 6 files changed, 51 insertions(+), 18 deletions(-) delete mode 100644 ports/libmariadb/CONTROL create mode 100644 ports/libmariadb/fix-build-error-with-cmake3.20.patch create mode 100644 ports/libmariadb/vcpkg.json diff --git a/ports/libmariadb/CONTROL b/ports/libmariadb/CONTROL deleted file mode 100644 index 949f66ce2f084c..00000000000000 --- a/ports/libmariadb/CONTROL +++ /dev/null @@ -1,17 +0,0 @@ -Source: libmariadb -Version: 3.1.12 -Homepage: https://github.com/MariaDB/mariadb-connector-c -Description: MariaDB Connector/C is used to connect C/C++ applications to MariaDB and MySQL databases -Default-Features: zlib, openssl - -Feature: zlib -Build-Depends: zlib -Description: Use internal zlib - -Feature: openssl -Build-Depends: openssl -Description: Enable SSL support - -Feature: iconv -Build-Depends: libiconv -Description: Enables character set conversion \ No newline at end of file diff --git a/ports/libmariadb/fix-build-error-with-cmake3.20.patch b/ports/libmariadb/fix-build-error-with-cmake3.20.patch new file mode 100644 index 00000000000000..1eed4ee4741b0d --- /dev/null +++ b/ports/libmariadb/fix-build-error-with-cmake3.20.patch @@ -0,0 +1,13 @@ +diff --git a/cmake/ConnectorName.cmake b/cmake/ConnectorName.cmake +index b7bbbad..357b8ac 100644 +--- a/cmake/ConnectorName.cmake ++++ b/cmake/ConnectorName.cmake +@@ -22,7 +22,7 @@ IF(CMAKE_SYSTEM_NAME MATCHES "Windows") + SET(MACHINE_NAME "x64") + ELSE() + SET(MACHINE_NAME "32") +- END() ++ ENDIF() + ENDIF() + + SET(product_name "mysql-connector-c-${CPACK_PACKAGE_VERSION}-${PLATFORM_NAME}${CONCAT_SIGN}${MACHINE_NAME}") diff --git a/ports/libmariadb/portfile.cmake b/ports/libmariadb/portfile.cmake index e2d37d6405eaba..6a3c6e6905ea7e 100644 --- a/ports/libmariadb/portfile.cmake +++ b/ports/libmariadb/portfile.cmake @@ -15,6 +15,7 @@ vcpkg_from_github( fix-InstallPath.patch fix-iconv.patch export-cmake-targets.patch + fix-build-error-with-cmake3.20.patch #This can be removed in next release, which has been merged to upstream. ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS diff --git a/ports/libmariadb/vcpkg.json b/ports/libmariadb/vcpkg.json new file mode 100644 index 00000000000000..622fe62dc99d9f --- /dev/null +++ b/ports/libmariadb/vcpkg.json @@ -0,0 +1,31 @@ +{ + "name": "libmariadb", + "version-semver": "3.1.12", + "port-version": 1, + "description": "MariaDB Connector/C is used to connect C/C++ applications to MariaDB and MySQL databases", + "homepage": "https://github.com/MariaDB/mariadb-connector-c", + "default-features": [ + "openssl", + "zlib" + ], + "features": { + "iconv": { + "description": "Enables character set conversion", + "dependencies": [ + "libiconv" + ] + }, + "openssl": { + "description": "Enable SSL support", + "dependencies": [ + "openssl" + ] + }, + "zlib": { + "description": "Use internal zlib", + "dependencies": [ + "zlib" + ] + } + } +} diff --git a/versions/baseline.json b/versions/baseline.json index c126a99d2afa1f..a28e6ae27e8d85 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3218,7 +3218,7 @@ }, "libmariadb": { "baseline": "3.1.12", - "port-version": 0 + "port-version": 1 }, "libmaxminddb": { "baseline": "1.4.3", diff --git a/versions/l-/libmariadb.json b/versions/l-/libmariadb.json index 87f111a2c5d259..ac03435597a049 100644 --- a/versions/l-/libmariadb.json +++ b/versions/l-/libmariadb.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "98ab3766e520cc0e6804bdba42090eae12f9f24f", + "version-semver": "3.1.12", + "port-version": 1 + }, { "git-tree": "9bac7cad6eff90bd3227093a10ff9b85175922da", "version-string": "3.1.12", From c9ab7da4d468d877bc2edf489cbe9c8d14fc4053 Mon Sep 17 00:00:00 2001 From: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> Date: Thu, 8 Apr 2021 03:30:16 +0800 Subject: [PATCH 50/60] [fastcdr] Fix support Linux (#17112) * [fastcdr] Fix support Linux * Format json and update versions * Update versions/f-/fastcdr.json --- ports/fastcdr/CONTROL | 5 ----- ports/fastcdr/portfile.cmake | 4 +--- ports/fastcdr/vcpkg.json | 7 +++++++ scripts/ci.baseline.txt | 1 - versions/baseline.json | 2 +- versions/f-/fastcdr.json | 5 +++++ 6 files changed, 14 insertions(+), 10 deletions(-) delete mode 100644 ports/fastcdr/CONTROL create mode 100644 ports/fastcdr/vcpkg.json diff --git a/ports/fastcdr/CONTROL b/ports/fastcdr/CONTROL deleted file mode 100644 index 87775a41af0d96..00000000000000 --- a/ports/fastcdr/CONTROL +++ /dev/null @@ -1,5 +0,0 @@ -Source: fastcdr -Version: 1.0.15 -Homepage: https://github.com/eProsima/Fast-CDR -Description: eProsima FastCDR is a C++ library that provides two serialization mechanisms. One is the standard CDR serialization mechanism, while the other is a faster implementation that modifies the standard. -Supports: !linux diff --git a/ports/fastcdr/portfile.cmake b/ports/fastcdr/portfile.cmake index cfb26720ad1e5e..1bd5034a716bf3 100644 --- a/ports/fastcdr/portfile.cmake +++ b/ports/fastcdr/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_fail_port_install(ON_TARGET "linux") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO eProsima/Fast-CDR @@ -35,4 +33,4 @@ else() file(WRITE ${CURRENT_PACKAGES_DIR}/include/fastcdr/config.h "${FASTCDR_H}") endif() -file(INSTALL ${SOURCE_PATH}/license DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/fastcdr/vcpkg.json b/ports/fastcdr/vcpkg.json new file mode 100644 index 00000000000000..0f2241e4ebd021 --- /dev/null +++ b/ports/fastcdr/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "fastcdr", + "version-semver": "1.0.15", + "port-version": 1, + "description": "eProsima FastCDR is a C++ library that provides two serialization mechanisms. One is the standard CDR serialization mechanism, while the other is a faster implementation that modifies the standard.", + "homepage": "https://github.com/eProsima/Fast-CDR" +} diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 124afea578b9e5..1412a023a339a9 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -297,7 +297,6 @@ farmhash:x64-windows-static=fail farmhash:x64-windows-static-md=fail farmhash:x86-windows=fail fastrtps:arm-uwp=fail -fastrtps:x64-linux=fail fastrtps:x64-uwp=fail fastrtps:x64-windows-static=fail fastrtps:x64-windows-static-md=fail diff --git a/versions/baseline.json b/versions/baseline.json index a28e6ae27e8d85..b15e281628340a 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -1898,7 +1898,7 @@ }, "fastcdr": { "baseline": "1.0.15", - "port-version": 0 + "port-version": 1 }, "fastcgi": { "baseline": "2020-09-11", diff --git a/versions/f-/fastcdr.json b/versions/f-/fastcdr.json index 87de4ed5ad53b9..6a8cb5af314139 100644 --- a/versions/f-/fastcdr.json +++ b/versions/f-/fastcdr.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "d44198a7b4b57e8f66b4c3ce6b4877066a4a8bf2", + "version-semver": "1.0.15", + "port-version": 1 + }, { "git-tree": "2737f3f6c1cb3e6d652f474740726eb93f4e420a", "version-string": "1.0.15", From b3e8d4dc69046c3a9b0aaff9ae9a40aa08d988f1 Mon Sep 17 00:00:00 2001 From: pastdue <30942300+past-due@users.noreply.github.com> Date: Wed, 7 Apr 2021 15:31:03 -0400 Subject: [PATCH 51/60] [sdl2] Fix pthread detection on macOS (#17106) * [sdl2] Fix pthread detection on macOS * Add missing "FEATURES" to vcpkg_check_features * [sdl2] Bump port-version * Run x-add-version sdl2 --- .../sdl2/0004-sdl2-macos-thread-detection-fix.patch | 12 ++++++++++++ ports/sdl2/portfile.cmake | 2 ++ ports/sdl2/vcpkg.json | 2 +- versions/baseline.json | 2 +- versions/s-/sdl2.json | 5 +++++ 5 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 ports/sdl2/0004-sdl2-macos-thread-detection-fix.patch diff --git a/ports/sdl2/0004-sdl2-macos-thread-detection-fix.patch b/ports/sdl2/0004-sdl2-macos-thread-detection-fix.patch new file mode 100644 index 00000000000000..4db047a5ff8d20 --- /dev/null +++ b/ports/sdl2/0004-sdl2-macos-thread-detection-fix.patch @@ -0,0 +1,12 @@ +diff --git a/cmake/sdlchecks.cmake b/cmake/sdlchecks.cmake +--- a/cmake/sdlchecks.cmake ++++ b/cmake/sdlchecks.cmake +@@ -847,7 +847,7 @@ macro(CheckPTHREAD) + # Run some tests + set(ORIG_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}") + set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${PTHREAD_CFLAGS} ${PTHREAD_LDFLAGS}") +- if(CMAKE_CROSSCOMPILING) ++ if(CMAKE_CROSSCOMPILING OR DARWIN) + set(HAVE_PTHREADS 1) + else() + check_c_source_runs(" diff --git a/ports/sdl2/portfile.cmake b/ports/sdl2/portfile.cmake index 2bd389c3f5b411..84e57a89d9f11a 100644 --- a/ports/sdl2/portfile.cmake +++ b/ports/sdl2/portfile.cmake @@ -12,6 +12,7 @@ vcpkg_extract_source_archive_ex( 0001-sdl2-Enable-creation-of-pkg-cfg-file-on-windows.patch 0002-sdl2-skip-ibus-on-linux.patch 0003-sdl2-fix-uwp-build.patch + 0004-sdl2-macos-thread-detection-fix.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" SDL_STATIC) @@ -19,6 +20,7 @@ string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" SDL_SHARED) string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" FORCE_STATIC_VCRT) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES vulkan VIDEO_VULKAN ) diff --git a/ports/sdl2/vcpkg.json b/ports/sdl2/vcpkg.json index 6918756702e230..f4e9e9c8dc86ec 100644 --- a/ports/sdl2/vcpkg.json +++ b/ports/sdl2/vcpkg.json @@ -1,7 +1,7 @@ { "name": "sdl2", "version-string": "2.0.14", - "port-version": 3, + "port-version": 4, "description": "Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D.", "homepage": "https://www.libsdl.org/download-2.0.php", "features": { diff --git a/versions/baseline.json b/versions/baseline.json index b15e281628340a..c679babf139554 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -5426,7 +5426,7 @@ }, "sdl2": { "baseline": "2.0.14", - "port-version": 3 + "port-version": 4 }, "sdl2-gfx": { "baseline": "1.0.4", diff --git a/versions/s-/sdl2.json b/versions/s-/sdl2.json index fba093c63f0a29..a0ba355567961e 100644 --- a/versions/s-/sdl2.json +++ b/versions/s-/sdl2.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "44061d4f51d8cba5625da7b41ef712976d9416e8", + "version-string": "2.0.14", + "port-version": 4 + }, { "git-tree": "07b3a3a427d35ed4ba0a154d7ff3e34be2f0ddfb", "version-string": "2.0.14", From 64efdb4658069b8320e6c13638a8b9a141acb8ee Mon Sep 17 00:00:00 2001 From: huangqinjin Date: Thu, 8 Apr 2021 03:41:56 +0800 Subject: [PATCH 52/60] [vcpkg/scripts/make] add compiler tools to PATH (#17085) * [vcpkg/scripts/make] add compiler tools to PATH * use find_program to check if tools are already in PATH --- scripts/cmake/vcpkg_configure_make.cmake | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/scripts/cmake/vcpkg_configure_make.cmake b/scripts/cmake/vcpkg_configure_make.cmake index 6cccaa34107c47..fb68eeb875de4a 100644 --- a/scripts/cmake/vcpkg_configure_make.cmake +++ b/scripts/cmake/vcpkg_configure_make.cmake @@ -329,13 +329,20 @@ function(vcpkg_configure_make) endmacro() set(CONFIGURE_ENV "V=1") - # Remove full filepaths due to spaces (compiler needs to be on path) + # Remove full filepaths due to spaces and prepend filepaths to PATH (cross-compiling tools are unlikely on path by default) set(progs VCPKG_DETECTED_CMAKE_C_COMPILER VCPKG_DETECTED_CMAKE_CXX_COMPILER VCPKG_DETECTED_CMAKE_AR VCPKG_DETECTED_CMAKE_LINKER VCPKG_DETECTED_CMAKE_RANLIB VCPKG_DETECTED_CMAKE_OBJDUMP VCPKG_DETECTED_CMAKE_STRIP VCPKG_DETECTED_CMAKE_NM VCPKG_DETECTED_CMAKE_DLLTOOL VCPKG_DETECTED_CMAKE_RC_COMPILER) foreach(prog IN LISTS progs) if(${prog}) + set(path "${${prog}}") + unset(prog_found CACHE) get_filename_component(${prog} "${${prog}}" NAME) + find_program(prog_found ${${prog}} PATHS ENV PATH NO_DEFAULT_PATH) + if(NOT path STREQUAL prog_found) + get_filename_component(path "${path}" DIRECTORY) + vcpkg_add_to_path(PREPEND ${path}) + endif() endif() endforeach() if (_csc_AUTOCONFIG OR _csc_USE_WRAPPERS) # without autotools we assume a custom configure script which correctly handles cl and lib. Otherwise the port needs to set CC|CXX|AR and probably CPP From f0979f36714eeae931eac715c410e42e781d8f5e Mon Sep 17 00:00:00 2001 From: Samuel Marks <807580+SamuelMarks@users.noreply.github.com> Date: Thu, 8 Apr 2021 05:42:31 +1000 Subject: [PATCH 53/60] [nuklear] Upgrade from 2020-09-14 to 2021-03-18 version and switch repo (#17082) * [nuklear] Upgrade from 2020-09-14 to 2021-03-18 version and switch repo * Ran `vcpkg x-add-version --all` --- ports/nuklear/CONTROL | 4 ++-- ports/nuklear/portfile.cmake | 6 +++--- versions/baseline.json | 2 +- versions/n-/nuklear.json | 5 +++++ 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/ports/nuklear/CONTROL b/ports/nuklear/CONTROL index 39d82fde590f41..7b641a2a0676ac 100644 --- a/ports/nuklear/CONTROL +++ b/ports/nuklear/CONTROL @@ -1,4 +1,4 @@ Source: nuklear -Version: 2020-09-14 -Homepage: https://github.com/vurtun/nuklear +Version: 2021-03-18 +Homepage: https://github.com/Immediate-Mode-UI/Nuklear Description: This is a minimal state immediate mode graphical user interface toolkit written in ANSI C and licensed under public domain diff --git a/ports/nuklear/portfile.cmake b/ports/nuklear/portfile.cmake index 7c8f47590ec1f8..53dd4c41910a9f 100644 --- a/ports/nuklear/portfile.cmake +++ b/ports/nuklear/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO vurtun/nuklear - REF 6b9f937475db9280d966f44f469bc80191b5092a # accessed on 2020-09-14 - SHA512 d45cd5277127e0ffe8fce7017203424fd5b16970f6949894d75923a73172bc05954ca3d751d2033ec498dccf5c29d41d614629fc154a44d0163108902868b833 + REPO Immediate-Mode-UI/Nuklear + REF 6e80e2a646f35be4afc157a932f2936392ec8f74 # accessed on 2021-04-04 + SHA512 ce064dff721111749d4056717879f42d3e24bb94655dd2b04c137eb7391d2c90d0b1b95155912c100b537f74fd150aedc48e0ac85eb72963c66e35ac81048323 HEAD_REF master ) file(INSTALL ${SOURCE_PATH}/nuklear.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) diff --git a/versions/baseline.json b/versions/baseline.json index c679babf139554..21d83e8a7fa73c 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -4257,7 +4257,7 @@ "port-version": 0 }, "nuklear": { - "baseline": "2020-09-14", + "baseline": "2021-03-18", "port-version": 0 }, "numactl": { diff --git a/versions/n-/nuklear.json b/versions/n-/nuklear.json index baae5d570af8b8..82d95ffb8ad2e5 100644 --- a/versions/n-/nuklear.json +++ b/versions/n-/nuklear.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "2a8abfe81ed0757650f10d7fd0e2ef8ecd484ae6", + "version-string": "2021-03-18", + "port-version": 0 + }, { "git-tree": "00b0e82f4c9c3653b96e8eeaf54f9b74800249fc", "version-string": "2020-09-14", From 12eb540f89729deee88898bdb0a3a40a56387892 Mon Sep 17 00:00:00 2001 From: Nemirtingas <9432037+Nemirtingas@users.noreply.github.com> Date: Wed, 7 Apr 2021 21:44:37 +0200 Subject: [PATCH 54/60] Update libjuice to 0.7.1 to update libdatachannel (#17076) * Update libjuice to 0.7.1 to update libdatachannel * Transform the CONTROL file to .json and update version baseline. * Update libjuice version. I don't really know why it changed. * Fix version type * Fix version type Co-authored-by: Nemirtingas --- ports/libjuice/CONTROL | 8 -------- ports/libjuice/fix-for-vcpkg.patch | 12 ++++++------ ports/libjuice/portfile.cmake | 4 ++-- ports/libjuice/vcpkg.json | 14 ++++++++++++++ versions/baseline.json | 2 +- versions/l-/libjuice.json | 5 +++++ 6 files changed, 28 insertions(+), 17 deletions(-) delete mode 100644 ports/libjuice/CONTROL create mode 100644 ports/libjuice/vcpkg.json diff --git a/ports/libjuice/CONTROL b/ports/libjuice/CONTROL deleted file mode 100644 index 4660f8033409fc..00000000000000 --- a/ports/libjuice/CONTROL +++ /dev/null @@ -1,8 +0,0 @@ -Source: libjuice -Version: 0.6.0 -Homepage: https://github.com/paullouisageneau/libjuice -Description: The library is a simplified implementation of the Interactive Connectivity Establishment (ICE) protocol in C for POSIX platforms (including Linux and Apple macOS) and Microsoft Windows. - -Feature: nettle -Build-Depends: nettle -Description: Use nettle for HMAC computation instead of the Builtin diff --git a/ports/libjuice/fix-for-vcpkg.patch b/ports/libjuice/fix-for-vcpkg.patch index 2d390aa9f0b3ef..72ef83d0bc454f 100644 --- a/ports/libjuice/fix-for-vcpkg.patch +++ b/ports/libjuice/fix-for-vcpkg.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8136e2e..fa7ce92 100644 +index 6142f91..cfdfa40 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -46,6 +46,9 @@ set(LIBJUICE_SOURCES +@@ -53,6 +53,9 @@ set(LIBJUICE_SOURCES set(LIBJUICE_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/include/juice/juice.h ) @@ -12,7 +12,7 @@ index 8136e2e..fa7ce92 100644 set(TESTS_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/test/main.c -@@ -59,10 +62,10 @@ set(TESTS_SOURCES +@@ -70,10 +73,10 @@ set(TESTS_SOURCES set(THREADS_PREFER_PTHREAD_FLAG ON) find_package(Threads REQUIRED) @@ -25,7 +25,7 @@ index 8136e2e..fa7ce92 100644 target_include_directories(juice PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include/juice) target_include_directories(juice PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src) target_link_libraries(juice PUBLIC Threads::Threads) -@@ -86,10 +89,14 @@ endif() +@@ -97,10 +100,14 @@ endif() if (USE_NETTLE) find_package(Nettle REQUIRED) @@ -42,7 +42,7 @@ index 8136e2e..fa7ce92 100644 else() target_compile_definitions(juice PRIVATE USE_NETTLE=0) target_compile_definitions(juice-static PRIVATE USE_NETTLE=0) -@@ -109,8 +116,13 @@ endif() +@@ -125,8 +132,13 @@ endif() add_library(LibJuice::LibJuice ALIAS juice) add_library(LibJuice::LibJuiceStatic ALIAS juice-static) @@ -57,7 +57,7 @@ index 8136e2e..fa7ce92 100644 if(NOT MSVC) target_compile_options(juice PRIVATE -Wall -Wextra) -@@ -145,3 +157,8 @@ if(NOT NO_TESTS) +@@ -161,3 +173,8 @@ if(NOT NO_TESTS) target_link_libraries(juice-tests juice) endif() diff --git a/ports/libjuice/portfile.cmake b/ports/libjuice/portfile.cmake index c03818b2ba7a7b..16c83d1895bf71 100644 --- a/ports/libjuice/portfile.cmake +++ b/ports/libjuice/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO paullouisageneau/libjuice - REF v0.6.0 - SHA512 43ab1f4d7d51c05b5cf2c948c9910b26b5cb7f0f15f10cdfcfdbfc833cfc0caf23da18f12adc1aa7183f77cfb510f5637031d89b3b08014c1fb7266b7f5f31f2 + REF v0.7.1 + SHA512 4a8a8705d8ee5f6d242e4463e13fbd45ec86145bf17f9c4f755e60922166b3cb12773296fac34f02cbe4ac79f91d73f2bc6406445cfe9520bf09e10d1606bc7e HEAD_REF master PATCHES fix-for-vcpkg.patch diff --git a/ports/libjuice/vcpkg.json b/ports/libjuice/vcpkg.json new file mode 100644 index 00000000000000..7aa06acb5a39db --- /dev/null +++ b/ports/libjuice/vcpkg.json @@ -0,0 +1,14 @@ +{ + "name": "libjuice", + "version": "0.7.1", + "description": "The library is a simplified implementation of the Interactive Connectivity Establishment (ICE) protocol in C for POSIX platforms (including Linux and Apple macOS) and Microsoft Windows.", + "homepage": "https://github.com/paullouisageneau/libjuice", + "features": { + "nettle": { + "description": "Use nettle for HMAC computation instead of the Builtin", + "dependencies": [ + "nettle" + ] + } + } +} diff --git a/versions/baseline.json b/versions/baseline.json index 21d83e8a7fa73c..05e50c9076b099 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3169,7 +3169,7 @@ "port-version": 0 }, "libjuice": { - "baseline": "0.6.0", + "baseline": "0.7.1", "port-version": 0 }, "libkeyfinder": { diff --git a/versions/l-/libjuice.json b/versions/l-/libjuice.json index abd1cc8361647d..04ae9e972c206a 100644 --- a/versions/l-/libjuice.json +++ b/versions/l-/libjuice.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "42cecee2b8da92c2c8c120c09bd663b20f2c947a", + "version": "0.7.1", + "port-version": 0 + }, { "git-tree": "e7ef5f1f7d883e5f8a7dcb52ea5821730281e375", "version-string": "0.6.0", From a5ab7c382d1de0efa3d6b1b6ff28cedb45b91230 Mon Sep 17 00:00:00 2001 From: autoantwort <41973254+autoantwort@users.noreply.github.com> Date: Wed, 7 Apr 2021 21:48:02 +0200 Subject: [PATCH 55/60] [libmt32emu] update to 2.5.0 (#17070) * [libmt32emu] update to 2.5.0 * add version files --- ports/libmt32emu/portfile.cmake | 4 ++-- ports/libmt32emu/vcpkg.json | 2 +- versions/baseline.json | 2 +- versions/l-/libmt32emu.json | 5 +++++ 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/ports/libmt32emu/portfile.cmake b/ports/libmt32emu/portfile.cmake index 2d68caa6b1089a..fc2ed4ef17729d 100644 --- a/ports/libmt32emu/portfile.cmake +++ b/ports/libmt32emu/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO munt/munt - REF libmt32emu_2_4_2 - SHA512 6e567260bce4a7ba7f4696d08fde78a05402d8b3087d7720bf86cdbe8c6c392036ce4a5c0ec5951c547d2a98218145fa155d4730404e98ad2dcc573d3cca8da4 + REF libmt32emu_2_5_0 + SHA512 e86733bb26714a2a5f54a1b443db1e6f320bc3373dde6bbbe6662ecfb5b36c8ba0811919f2ddd54a11f264551add76e7032cd51f5803c502bfd4b1020fafb86b HEAD_REF master ) diff --git a/ports/libmt32emu/vcpkg.json b/ports/libmt32emu/vcpkg.json index 700ee799aaa948..ee72d3c71d1f63 100644 --- a/ports/libmt32emu/vcpkg.json +++ b/ports/libmt32emu/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libmt32emu", - "version": "2.4.2", + "version": "2.5.0", "description": "A MT-32 emulator", "homepage": "https://github.com/munt/munt/tree/master/mt32emu" } diff --git a/versions/baseline.json b/versions/baseline.json index 05e50c9076b099..1c3b1b8e4a44ff 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3265,7 +3265,7 @@ "port-version": 0 }, "libmt32emu": { - "baseline": "2.4.2", + "baseline": "2.5.0", "port-version": 0 }, "libmupdf": { diff --git a/versions/l-/libmt32emu.json b/versions/l-/libmt32emu.json index 5dd15ab5e170f4..0d2d6ac3eb7961 100644 --- a/versions/l-/libmt32emu.json +++ b/versions/l-/libmt32emu.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "a57fc5791efae931cf33dc307104c0463a2207be", + "version": "2.5.0", + "port-version": 0 + }, { "git-tree": "b60fd8501e86b53f2d3125d0f0a1a793ff5f9a60", "version": "2.4.2", From e8b9eca6b1e84c7776c44a6b9e41bd501660e714 Mon Sep 17 00:00:00 2001 From: autoantwort <41973254+autoantwort@users.noreply.github.com> Date: Wed, 7 Apr 2021 21:51:40 +0200 Subject: [PATCH 56/60] fix VCPKG_CROSSCOMPILING (#17068) --- scripts/cmake/vcpkg_common_definitions.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/cmake/vcpkg_common_definitions.cmake b/scripts/cmake/vcpkg_common_definitions.cmake index 6d2b6df5b5ed94..1cf2567f70277e 100644 --- a/scripts/cmake/vcpkg_common_definitions.cmake +++ b/scripts/cmake/vcpkg_common_definitions.cmake @@ -30,7 +30,7 @@ Furthermore the variables CMAKE_FIND_LIBRARY_(PREFIXES|SUFFIXES) are also define portfiles are able to use find_library calls to discover dependent libraries within the current triplet for ports. #]===] -string(COMPARE EQUAL "${TARGET_TRIPLET}" "${HOST_TRIPLET}" VCPKG_CROSSCOMPILING) +string(COMPARE NOTEQUAL "${TARGET_TRIPLET}" "${HOST_TRIPLET}" VCPKG_CROSSCOMPILING) #Helper variable to identify the Target system. VCPKG_TARGET_IS_ if (NOT DEFINED VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "") set(VCPKG_TARGET_IS_WINDOWS ON) From 820b31cfcfe90e4d03f48b59690134966f764c67 Mon Sep 17 00:00:00 2001 From: pastdue <30942300+past-due@users.noreply.github.com> Date: Wed, 7 Apr 2021 15:52:33 -0400 Subject: [PATCH 57/60] [sqlite3] Update to 3.35.4 (#17067) * [sqlite3] Update to 3.35.4 * Run x-add-version sqlite3 --- ports/sqlite3/portfile.cmake | 4 ++-- ports/sqlite3/vcpkg.json | 2 +- versions/baseline.json | 2 +- versions/s-/sqlite3.json | 5 +++++ 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/ports/sqlite3/portfile.cmake b/ports/sqlite3/portfile.cmake index c4d86e8712e303..d149283c11cce2 100644 --- a/ports/sqlite3/portfile.cmake +++ b/ports/sqlite3/portfile.cmake @@ -1,5 +1,5 @@ -set(SQLITE_VERSION 3350200) -set(SQLITE_HASH fbf09a5005377d48e30a578b824aa6a99c8b0d50bdf62c4677148a4f547f936923aa3c999953d18f4c6585b807bde064cf73d8767cb1afac7a107d1234043df2) +set(SQLITE_VERSION 3350400) +set(SQLITE_HASH 1e11c7fa11256a3ac862661e5992211fd29789dba37abfc40e1e39b5e00f7b029a9918e71e8a332e65338142cc62b9dc3d79adf2be28284e1934707e1332b4c6) vcpkg_download_distfile(ARCHIVE URLS "https://sqlite.org/2021/sqlite-amalgamation-${SQLITE_VERSION}.zip" diff --git a/ports/sqlite3/vcpkg.json b/ports/sqlite3/vcpkg.json index bbe681e6caaedf..da76ea50e7e6f9 100644 --- a/ports/sqlite3/vcpkg.json +++ b/ports/sqlite3/vcpkg.json @@ -1,6 +1,6 @@ { "name": "sqlite3", - "version": "3.35.2", + "version": "3.35.4", "description": "SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine.", "homepage": "https://sqlite.org/", "features": { diff --git a/versions/baseline.json b/versions/baseline.json index 1c3b1b8e4a44ff..a4467d64e09760 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -5737,7 +5737,7 @@ "port-version": 0 }, "sqlite3": { - "baseline": "3.35.2", + "baseline": "3.35.4", "port-version": 0 }, "sqlitecpp": { diff --git a/versions/s-/sqlite3.json b/versions/s-/sqlite3.json index 847f1543ae3ed1..bcde5079f2fe77 100644 --- a/versions/s-/sqlite3.json +++ b/versions/s-/sqlite3.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "dbe1b93bfd28e58498a79992312b06422b049afb", + "version": "3.35.4", + "port-version": 0 + }, { "git-tree": "c07c11e24a6dae74b7e8b5816c5cc0313e85c438", "version": "3.35.2", From 580200d11308af9c06b7ff11b96a222bc7cb3dd3 Mon Sep 17 00:00:00 2001 From: autoantwort <41973254+autoantwort@users.noreply.github.com> Date: Wed, 7 Apr 2021 21:52:48 +0200 Subject: [PATCH 58/60] add link to common vcpkg definitions (#17066) --- docs/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/README.md b/docs/README.md index 665c913b3d3e24..5bce2d1631e2ba 100644 --- a/docs/README.md +++ b/docs/README.md @@ -28,6 +28,7 @@ Vcpkg helps you manage C and C++ libraries on Windows, Linux and MacOS. This too - [Manifest files - vcpkg.json](maintainers/manifest-files.md) - [Control files](maintainers/control-files.md) - [Portfile functions](maintainers/portfile-functions.md) +- [Common CMake definitions](maintainers/vcpkg_common_definitions.md) - [Maintainer Guidelines](maintainers/maintainer-guide.md) ### [Vcpkg-Tool](https://github.com/microsoft/vcpkg-tool) Maintainer Help From 6024d07717fe9174b24b7870ee4b77365c9eb269 Mon Sep 17 00:00:00 2001 From: Nathan <35282710+nazame@users.noreply.github.com> Date: Tue, 2 Mar 2021 09:34:36 -0700 Subject: [PATCH 59/60] Add Static Library Dependencies Add geos.lib, shell32.lib, and ole32.lib so that downstream projects do not need to explicitly include them --- ports/gdal/dependency_win.cmake | 4 ++-- ports/gdal/portfile.cmake | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ports/gdal/dependency_win.cmake b/ports/gdal/dependency_win.cmake index c18bc9b2d12ff2..c5ce6c25c7fcca 100644 --- a/ports/gdal/dependency_win.cmake +++ b/ports/gdal/dependency_win.cmake @@ -16,8 +16,8 @@ macro(find_dependency_win) # Setup geos libraries + include path set(GEOS_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include" ) - set(GEOS_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/geos_c.lib" ) - set(GEOS_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/geos_cd.lib" ) + set(GEOS_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/geos_c.lib ${CURRENT_INSTALLED_DIR}/lib/geos.lib" ) + set(GEOS_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/geos_cd.lib ${CURRENT_INSTALLED_DIR}/debug/lib/geosd.lib" ) # Setup expat libraries + include path set(EXPAT_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include" ) diff --git a/ports/gdal/portfile.cmake b/ports/gdal/portfile.cmake index 5b138f8a1f7a7e..88cb834865669b 100644 --- a/ports/gdal/portfile.cmake +++ b/ports/gdal/portfile.cmake @@ -88,7 +88,7 @@ if (VCPKG_TARGET_IS_WINDOWS) ${NMAKE_OPTIONS} GDAL_HOME=${CURRENT_PACKAGES_DIR} CXX_CRT_FLAGS=${LINKAGE_FLAGS} - PROJ_LIBRARY=${PROJ_LIBRARY_REL} + "PROJ_LIBRARY=${PROJ_LIBRARY_REL} shell32.lib ole32.lib" PNG_LIB=${PNG_LIBRARY_REL} "GEOS_LIB=${GEOS_LIBRARY_REL}" EXPAT_LIB=${EXPAT_LIBRARY_REL} @@ -105,7 +105,7 @@ if (VCPKG_TARGET_IS_WINDOWS) ${NMAKE_OPTIONS} GDAL_HOME=${CURRENT_PACKAGES_DIR}/debug CXX_CRT_FLAGS="${LINKAGE_FLAGS}d" - PROJ_LIBRARY=${PROJ_LIBRARY_DBG} + "PROJ_LIBRARY=${PROJ_LIBRARY_DBG} shell32.lib ole32.lib" PNG_LIB=${PNG_LIBRARY_DBG} "GEOS_LIB=${GEOS_LIBRARY_DBG}" EXPAT_LIB=${EXPAT_LIBRARY_DBG} From 3f8918492cd0d7c5732f3adb0288f38d77720a6a Mon Sep 17 00:00:00 2001 From: Nathan <35282710+nazame@users.noreply.github.com> Date: Wed, 7 Apr 2021 14:01:44 -0600 Subject: [PATCH 60/60] Update port version There was a change in master which updated the port version causing a conflict with this branch so I re-based and updated my port version to 5. --- ports/gdal/vcpkg.json | 2 +- versions/baseline.json | 2 +- versions/g-/gdal.json | 5 +++++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/ports/gdal/vcpkg.json b/ports/gdal/vcpkg.json index b485a220262aa1..382ed11b1a408c 100644 --- a/ports/gdal/vcpkg.json +++ b/ports/gdal/vcpkg.json @@ -1,7 +1,7 @@ { "name": "gdal", "version-string": "3.1.3", - "port-version": 4, + "port-version": 5, "description": "The Geographic Data Abstraction Library for reading and writing geospatial raster and vector data.", "homepage": "hhttps://gdal.org/", "dependencies": [ diff --git a/versions/baseline.json b/versions/baseline.json index a4467d64e09760..819ad3539249d9 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -2146,7 +2146,7 @@ }, "gdal": { "baseline": "3.1.3", - "port-version": 4 + "port-version": 5 }, "gdcm": { "baseline": "3.0.7", diff --git a/versions/g-/gdal.json b/versions/g-/gdal.json index f53bc429fad139..035f37bbe13199 100644 --- a/versions/g-/gdal.json +++ b/versions/g-/gdal.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "eb5590ef06da7fa90ad4a12d788d496a7233028f", + "version-string": "3.1.3", + "port-version": 5 + }, { "git-tree": "b503a5dd67c0251115346ebfc05551bc8f36c06f", "version-string": "3.1.3",