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 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/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/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/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/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/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/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/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/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/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/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/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/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 9fb3e5b5fd0788..2548dc30124390 100644 --- a/ports/ffmpeg/CONTROL +++ b/ports/ffmpeg/CONTROL @@ -1,6 +1,6 @@ Source: ffmpeg Version: 4.3.2 -Port-Version: 0 +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 c06b355d3d8a90..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() -set(FFMPEG_VERSION "4.3.1") +# 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}) @@ -287,28 +409,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/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 4b455e985c4155..f6892ac2386910 100644 --- a/ports/fontconfig/CONTROL +++ b/ports/fontconfig/CONTROL @@ -1,6 +1,6 @@ Source: fontconfig Version: 2.13.1 -Port-Version: 3 +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 \ No newline at end of file +Build-Depends: freetype, expat, libiconv, dirent, pthread, json-c, 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..9635d185403353 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} ) @@ -45,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. @@ -86,7 +94,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/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/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/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..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} @@ -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..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": 3, + "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/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/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/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/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/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/ports/libmariadb/CONTROL b/ports/libmariadb/CONTROL deleted file mode 100644 index 413a2e9af8d982..00000000000000 --- a/ports/libmariadb/CONTROL +++ /dev/null @@ -1,18 +0,0 @@ -Source: libmariadb -Version: 3.1.10 -Port-Version: 5 -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/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..6a3c6e6905ea7e 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 @@ -15,11 +15,13 @@ 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 - zlib WITH_EXTERNAL_ZLIB - iconv WITH_ICONV + FEATURES + zlib WITH_EXTERNAL_ZLIB + iconv WITH_ICONV ) if("openssl" IN_LIST FEATURES) 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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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 303e697b482b63..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) @@ -27,6 +28,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..cd138bfffa0073 --- /dev/null +++ b/ports/pangolin/vcpkg.json @@ -0,0 +1,20 @@ +{ + "name": "pangolin", + "version-string": "0.5", + "port-version": 14, + "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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/ci.baseline.txt b/scripts/ci.baseline.txt index 2d52fbcbee06d1..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 @@ -922,6 +921,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 @@ -1212,7 +1212,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 @@ -1793,6 +1792,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 @@ -1805,8 +1805,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 @@ -1816,5 +1816,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/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/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}" ) diff --git a/scripts/cmake/vcpkg_common_definitions.cmake b/scripts/cmake/vcpkg_common_definitions.cmake index b505f3693bb23c..1cf2567f70277e 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 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) diff --git a/scripts/cmake/vcpkg_configure_make.cmake b/scripts/cmake/vcpkg_configure_make.cmake index 95c1fb322751b5..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 @@ -631,7 +638,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 +671,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 +723,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}}") 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_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) 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}") 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) 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" + ] +} 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/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) 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/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" +} 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/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 92d134e9b6dfbd..819ad3539249d9 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", @@ -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 @@ -1121,7 +1125,7 @@ "port-version": 0 }, "celero": { - "baseline": "2.7.2", + "baseline": "2.8.2", "port-version": 0 }, "cello": { @@ -1134,7 +1138,7 @@ }, "ceres": { "baseline": "2.0.0", - "port-version": 3 + "port-version": 4 }, "cfitsio": { "baseline": "3.49", @@ -1569,7 +1573,7 @@ "port-version": 2 }, "dav1d": { - "baseline": "0.8.1", + "baseline": "0.8.2", "port-version": 0 }, "dbg-macro": { @@ -1825,7 +1829,7 @@ "port-version": 0 }, "entt": { - "baseline": "3.6.0", + "baseline": "3.7.0", "port-version": 0 }, "epsilon": { @@ -1894,7 +1898,7 @@ }, "fastcdr": { "baseline": "1.0.15", - "port-version": 0 + "port-version": 1 }, "fastcgi": { "baseline": "2020-09-11", @@ -1925,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", @@ -1934,11 +1938,11 @@ }, "ffmpeg": { "baseline": "4.3.2", - "port-version": 0 + "port-version": 2 }, "ffnvcodec": { "baseline": "10.0.26.0", - "port-version": 0 + "port-version": 1 }, "fftw3": { "baseline": "3.3.8-7", @@ -2018,7 +2022,7 @@ }, "fontconfig": { "baseline": "2.13.1", - "port-version": 3 + "port-version": 5 }, "foonathan-memory": { "baseline": "2019-07-21-1", @@ -2032,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 @@ -2070,7 +2078,7 @@ }, "fribidi": { "baseline": "1.0.10", - "port-version": 1 + "port-version": 2 }, "frozen": { "baseline": "1.0.0", @@ -2138,7 +2146,7 @@ }, "gdal": { "baseline": "3.1.3", - "port-version": 3 + "port-version": 5 }, "gdcm": { "baseline": "3.0.7", @@ -2281,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", @@ -2345,7 +2353,7 @@ "port-version": 0 }, "gsl-lite": { - "baseline": "0.37.0", + "baseline": "0.38.0", "port-version": 0 }, "gsoap": { @@ -2552,7 +2560,7 @@ "baseline": "9.0.0", "port-version": 0 }, - "iir1": { + "iir1": { "baseline": "1.8.0", "port-version": 0 }, @@ -2918,7 +2926,7 @@ }, "libarchive": { "baseline": "3.4.3", - "port-version": 3 + "port-version": 4 }, "libass": { "baseline": "0.15.0", @@ -3034,7 +3042,7 @@ }, "libffi": { "baseline": "3.3", - "port-version": 7 + "port-version": 8 }, "libflac": { "baseline": "1.3.3", @@ -3161,7 +3169,7 @@ "port-version": 0 }, "libjuice": { - "baseline": "0.6.0", + "baseline": "0.7.1", "port-version": 0 }, "libkeyfinder": { @@ -3209,8 +3217,8 @@ "port-version": 2 }, "libmariadb": { - "baseline": "3.1.10", - "port-version": 5 + "baseline": "3.1.12", + "port-version": 1 }, "libmaxminddb": { "baseline": "1.4.3", @@ -3242,7 +3250,7 @@ }, "libmodplug": { "baseline": "0.8.9.0", - "port-version": 6 + "port-version": 7 }, "libmorton": { "baseline": "0.2", @@ -3257,7 +3265,7 @@ "port-version": 0 }, "libmt32emu": { - "baseline": "2.4.2", + "baseline": "2.5.0", "port-version": 0 }, "libmupdf": { @@ -3449,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", @@ -3478,7 +3486,7 @@ }, "libssh": { "baseline": "0.9.5", - "port-version": 1 + "port-version": 2 }, "libssh2": { "baseline": "1.9.0", @@ -3578,7 +3586,7 @@ }, "libvpx": { "baseline": "1.9.0", - "port-version": 6 + "port-version": 7 }, "libwandio": { "baseline": "4.2.1", @@ -3590,7 +3598,7 @@ }, "libwebp": { "baseline": "1.1.0", - "port-version": 1 + "port-version": 2 }, "libwebsockets": { "baseline": "4.1.6", @@ -3606,7 +3614,7 @@ }, "libxml2": { "baseline": "2.9.10", - "port-version": 3 + "port-version": 4 }, "libxmlmm": { "baseline": "0.6.0", @@ -3664,6 +3672,10 @@ "baseline": "latest-1", "port-version": 0 }, + "llfio": { + "baseline": "2.0-a74411ed", + "port-version": 0 + }, "llgl": { "baseline": "2019-08-15", "port-version": 1 @@ -3705,7 +3717,7 @@ "port-version": 0 }, "lua": { - "baseline": "5.4.2", + "baseline": "5.4.3", "port-version": 0 }, "luabridge": { @@ -3772,6 +3784,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 @@ -3848,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 @@ -3998,7 +4030,7 @@ }, "mpg123": { "baseline": "1.26.3", - "port-version": 0 + "port-version": 1 }, "mpi": { "baseline": "1", @@ -4140,6 +4172,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 @@ -4221,7 +4257,7 @@ "port-version": 0 }, "nuklear": { - "baseline": "2020-09-14", + "baseline": "2021-03-18", "port-version": 0 }, "numactl": { @@ -4338,7 +4374,7 @@ }, "open62541": { "baseline": "1.1.2", - "port-version": 0 + "port-version": 1 }, "openal-soft": { "baseline": "1.21.1", @@ -4362,7 +4398,7 @@ }, "opencl": { "baseline": "2.2", - "port-version": 6 + "port-version": 7 }, "opencolorio": { "baseline": "1.1.1", @@ -4422,7 +4458,7 @@ }, "openjpeg": { "baseline": "2.3.1", - "port-version": 3 + "port-version": 4 }, "openmama": { "baseline": "6.3.1", @@ -4470,7 +4506,7 @@ }, "opensubdiv": { "baseline": "3.4.3", - "port-version": 0 + "port-version": 1 }, "opentracing": { "baseline": "1.6.0", @@ -4537,7 +4573,7 @@ "port-version": 1 }, "outcome": { - "baseline": "2.1.3", + "baseline": "2.2.0-b9e664fb", "port-version": 0 }, "p-ranav-csv": { @@ -4570,7 +4606,7 @@ }, "pangolin": { "baseline": "0.5", - "port-version": 12 + "port-version": 14 }, "pangomm": { "baseline": "2.40.1", @@ -4749,8 +4785,8 @@ "port-version": 4 }, "podofo": { - "baseline": "0.9.6", - "port-version": 13 + "baseline": "0.9.7", + "port-version": 0 }, "poly2tri": { "baseline": "2020-07-21", @@ -4822,7 +4858,7 @@ }, "protobuf": { "baseline": "3.14.0", - "port-version": 3 + "port-version": 4 }, "protobuf-c": { "baseline": "1.3.2-2", @@ -4856,10 +4892,14 @@ "baseline": "3.0.0", "port-version": 0 }, - "pthreads": { - "baseline": "3.0.0-6", + "pthreadpool": { + "baseline": "2020-02-21", "port-version": 0 }, + "pthreads": { + "baseline": "3.0.0", + "port-version": 7 + }, "pugixml": { "baseline": "1.11.4", "port-version": 0 @@ -4922,7 +4962,7 @@ }, "qt5-base": { "baseline": "5.15.2", - "port-version": 3 + "port-version": 4 }, "qt5-canvas3d": { "baseline": "0", @@ -5050,7 +5090,7 @@ }, "qt5-webengine": { "baseline": "5.15.2", - "port-version": 1 + "port-version": 2 }, "qt5-webglplugin": { "baseline": "5.15.2", @@ -5105,8 +5145,8 @@ "port-version": 0 }, "quill": { - "baseline": "1.6.1", - "port-version": 1 + "baseline": "1.6.2", + "port-version": 0 }, "quirc": { "baseline": "1.1", @@ -5348,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 @@ -5382,7 +5426,7 @@ }, "sdl2": { "baseline": "2.0.14", - "port-version": 3 + "port-version": 4 }, "sdl2-gfx": { "baseline": "1.0.4", @@ -5641,8 +5685,8 @@ "port-version": 0 }, "spdlog": { - "baseline": "1.8.0", - "port-version": 3 + "baseline": "1.8.5", + "port-version": 0 }, "spectra": { "baseline": "0.9.0", @@ -5693,7 +5737,7 @@ "port-version": 0 }, "sqlite3": { - "baseline": "3.35.2", + "baseline": "3.35.4", "port-version": 0 }, "sqlitecpp": { @@ -5716,6 +5760,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 @@ -5842,7 +5890,7 @@ }, "tesseract": { "baseline": "4.1.1", - "port-version": 6 + "port-version": 7 }, "tfhe": { "baseline": "1.0.1-1", @@ -6216,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 @@ -6242,7 +6294,7 @@ }, "vtk": { "baseline": "9.0.1", - "port-version": 5 + "port-version": 6 }, "vtk-dicom": { "baseline": "0.8.12-1", @@ -6286,7 +6338,7 @@ }, "wavpack": { "baseline": "5.3.0", - "port-version": 0 + "port-version": 1 }, "websocketpp": { "baseline": "0.8.2", @@ -6374,7 +6426,7 @@ }, "x265": { "baseline": "3.4", - "port-version": 2 + "port-version": 3 }, "xalan-c": { "baseline": "1.11-12", @@ -6517,8 +6569,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/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", 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", 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", 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", 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", 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 5fbf8e4dda0d76..5f9ff52e6f2c5a 100644 --- a/versions/f-/ffmpeg.json +++ b/versions/f-/ffmpeg.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "95a584d785f17bb9158d505bedfda26aa1c52db1", + "version-string": "4.3.2", + "port-version": 2 + }, + { + "git-tree": "8d581e93ca7ee374d63bae07dff49356c79dee8c", + "version-string": "4.3.2", + "port-version": 1 + }, { "git-tree": "fd3c02af90662935ece6ca6ced78f23319b753c9", "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 97cf49e3ddec07..b5bb4c3ad46ddf 100644 --- a/versions/f-/fontconfig.json +++ b/versions/f-/fontconfig.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "de83a21d912d9b87d8ad069d94dffcca201830a3", + "version-string": "2.13.1", + "port-version": 5 + }, + { + "git-tree": "2b49a3ee02b25efc3101d849a0df38280a1ca299", + "version-string": "2.13.1", + "port-version": 4 + }, { "git-tree": "e4e2d26ab9639fb737206592a04791d998461fa3", "version-string": "2.13.1", 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 + } + ] +} 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/g-/gdal.json b/versions/g-/gdal.json index ec66103c005730..035f37bbe13199 100644 --- a/versions/g-/gdal.json +++ b/versions/g-/gdal.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "eb5590ef06da7fa90ad4a12d788d496a7233028f", + "version-string": "3.1.3", + "port-version": 5 + }, + { + "git-tree": "b503a5dd67c0251115346ebfc05551bc8f36c06f", + "version-string": "3.1.3", + "port-version": 4 + }, { "git-tree": "548d5f5f1ad969bf88d86c17de3ee40ebb096a2f", "version-string": "3.1.3", 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", 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", 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", 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", 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", diff --git a/versions/l-/libmariadb.json b/versions/l-/libmariadb.json index 294844bea93eaf..ac03435597a049 100644 --- a/versions/l-/libmariadb.json +++ b/versions/l-/libmariadb.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "98ab3766e520cc0e6804bdba42090eae12f9f24f", + "version-semver": "3.1.12", + "port-version": 1 + }, + { + "git-tree": "9bac7cad6eff90bd3227093a10ff9b85175922da", + "version-string": "3.1.12", + "port-version": 0 + }, { "git-tree": "674b0c8bcc3ee3276a0bce8afd72b99c5013f4a0", "version-string": "3.1.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-/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", 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", 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/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/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", 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 + } + ] +} 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 + } + ] +} 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", 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/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", 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", 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/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", 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/p-/pangolin.json b/versions/p-/pangolin.json index dabe35abea93e4..0569731e883df6 100644 --- a/versions/p-/pangolin.json +++ b/versions/p-/pangolin.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "b93d201ff49c7b409349f6322d8f23cb630da0e5", + "version-string": "0.5", + "port-version": 14 + }, + { + "git-tree": "e746f01a619539fbbb0aae9b0edb9df733e555d7", + "version-string": "0.5", + "port-version": 13 + }, { "git-tree": "a27ee268db34edfd09ce5d0b51e574c7e6719931", "version-string": "0.5", 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", 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", 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 + } + ] +} 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", 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/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", 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", 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 + } + ] +} 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", 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", 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", 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 + } + ] +} 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/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 + } + ] +} 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", 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", 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",