From f05b2b639a4ba6bbd8b291158ab069732f249f3e Mon Sep 17 00:00:00 2001 From: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> Date: Sat, 23 Jan 2021 02:27:34 +0800 Subject: [PATCH 0001/1735] [vcpkg baseline] [mesa] Fix conflicts with angle (#15729) * [mesa] Remove libs conflicted with angle * Update port_versions check * Use gles-lib-suffix to avoid conflicts with angle * [mesa] Remove libs conflicted with angle * Update port_versions check * Use gles-lib-suffix to avoid conflicts with angle * Update port_versions/m-/mesa.json * Update ports/mesa/portfile.cmake * Update space and versions * Update versions/m-/mesa.json --- ports/mesa/CONTROL | 1 + ports/mesa/portfile.cmake | 2 +- versions/baseline.json | 2 +- versions/m-/mesa.json | 5 +++++ 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/ports/mesa/CONTROL b/ports/mesa/CONTROL index c29d91e31869a4..8ad3e5474f40e4 100644 --- a/ports/mesa/CONTROL +++ b/ports/mesa/CONTROL @@ -1,5 +1,6 @@ Source: mesa Version: 20.2.2 +Port-Version: 1 Homepage: https://www.mesa3d.org/ Description: Mesa - The 3D Graphics Library Build-Depends: zlib, zstd, tool-meson diff --git a/ports/mesa/portfile.cmake b/ports/mesa/portfile.cmake index 17e43d2c61be14..9461dc2c598740 100644 --- a/ports/mesa/portfile.cmake +++ b/ports/mesa/portfile.cmake @@ -168,7 +168,7 @@ endif() vcpkg_configure_meson( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - #-D gles-lib-suffix=_mesa + -Dgles-lib-suffix=_mesa #-D egl-lib-suffix=_mesa -Dbuild-tests=false ${MESA_OPTIONS} diff --git a/versions/baseline.json b/versions/baseline.json index ca9b3fada78baf..45975822275889 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3678,7 +3678,7 @@ }, "mesa": { "baseline": "20.2.2", - "port-version": 0 + "port-version": 1 }, "meschach": { "baseline": "1.2b-3", diff --git a/versions/m-/mesa.json b/versions/m-/mesa.json index a4b44389104f6b..b28bb72de859e0 100644 --- a/versions/m-/mesa.json +++ b/versions/m-/mesa.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "2966b4bb6816c1fa46e65c61f4cb30efb5c8381a", + "version-string": "20.2.2", + "port-version": 1 + }, { "git-tree": "9b75570d3f7a9cb58ff7c7c8479bbfb7e745d0d2", "version-string": "20.2.2", From 9053d58017ba3c8018ce6fb5e8e9f970db8525e4 Mon Sep 17 00:00:00 2001 From: Vitalii Koshura Date: Fri, 22 Jan 2021 19:28:34 +0100 Subject: [PATCH 0002/1735] [sentry-native] Update to 0.4.5 (#15790) Signed-off-by: Vitalii Koshura --- ports/sentry-native/CONTROL | 3 +-- ports/sentry-native/portfile.cmake | 6 +++--- versions/baseline.json | 4 ++-- versions/s-/sentry-native.json | 5 +++++ 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/ports/sentry-native/CONTROL b/ports/sentry-native/CONTROL index 404da1cdd1ad83..6618862603005a 100644 --- a/ports/sentry-native/CONTROL +++ b/ports/sentry-native/CONTROL @@ -1,6 +1,5 @@ Source: sentry-native -Version: 0.4.4 -Port-Version: 1 +Version: 0.4.5 Homepage: https://sentry.io/ Description: Sentry SDK for C, C++ and native applications. Build-Depends: curl (!windows) diff --git a/ports/sentry-native/portfile.cmake b/ports/sentry-native/portfile.cmake index 63eda4d3d4ea3d..6fba51e62b66e5 100644 --- a/ports/sentry-native/portfile.cmake +++ b/ports/sentry-native/portfile.cmake @@ -1,9 +1,9 @@ vcpkg_fail_port_install(ON_ARCH "arm" "arm64" ON_TARGET "UWP") vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/getsentry/sentry-native/releases/download/0.4.4/sentry-native.zip" - FILENAME "sentry-native-0.4.4.zip" - SHA512 2f714343d07328e287113323937fa9045ebb03e1cd95ee18f9dd63ca7b54eba89c7184122e3ad3640e6b4de27f9a619bca6089d6a49a018225fbd93dab446b2d + URLS "https://github.com/getsentry/sentry-native/releases/download/0.4.5/sentry-native.zip" + FILENAME "sentry-native-0.4.5.zip" + SHA512 5bbc58ab2c038d32049b12302f69270d54097092d97fb73d3cf717ad83e639082de75895f7c5244040775d874965d71480f1736b2b7b19579d9226a51aaf0017 ) vcpkg_extract_source_archive_ex( diff --git a/versions/baseline.json b/versions/baseline.json index 45975822275889..a932781ef23ef2 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -5237,8 +5237,8 @@ "port-version": 0 }, "sentry-native": { - "baseline": "0.4.4", - "port-version": 1 + "baseline": "0.4.5", + "port-version": 0 }, "septag-sx": { "baseline": "2019-05-07-2", diff --git a/versions/s-/sentry-native.json b/versions/s-/sentry-native.json index 2af81af9206b5d..d913cbf6a7063d 100644 --- a/versions/s-/sentry-native.json +++ b/versions/s-/sentry-native.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "12609c0d641d756b3c3f3170c1a019c662f903fb", + "version-string": "0.4.5", + "port-version": 0 + }, { "git-tree": "9d2965fd3424545a9f822802de092c6e514080b9", "version-string": "0.4.4", From 34a9432e2ba94bb4aa9bbbeb2a92aa3c0b1717a0 Mon Sep 17 00:00:00 2001 From: evpobr Date: Fri, 22 Jan 2021 23:29:41 +0500 Subject: [PATCH 0003/1735] [libsamplerate] Upgrade to 0.2.0 (#15797) * [libsamplerate] Upgrade to 0.2.0 * Add missiong OPTIONS * Use share/${PORT} instead of share/libsamplerate * Remove SYSTEM_LIBRARIES m argument Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> * Update version * Update version Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> Co-authored-by: Jonliu1993 <13720414433@163.com> --- ports/libsamplerate/CMakeLists.txt | 14 ------- .../Use-the-lrintf-intrinsic.patch | 39 ------------------- ports/libsamplerate/portfile.cmake | 19 +++++---- ports/libsamplerate/vcpkg.json | 5 +-- versions/baseline.json | 4 +- versions/l-/libsamplerate.json | 5 +++ 6 files changed, 20 insertions(+), 66 deletions(-) delete mode 100644 ports/libsamplerate/CMakeLists.txt delete mode 100644 ports/libsamplerate/Use-the-lrintf-intrinsic.patch diff --git a/ports/libsamplerate/CMakeLists.txt b/ports/libsamplerate/CMakeLists.txt deleted file mode 100644 index 44ba2277aa50ad..00000000000000 --- a/ports/libsamplerate/CMakeLists.txt +++ /dev/null @@ -1,14 +0,0 @@ -add_library(libsamplerate-0 - samplerate.c - src_sinc.c - src_zoh.c - src_linear.c - ../Win32/libsamplerate-0.def -) - -install(TARGETS libsamplerate-0 - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib) - -install(FILES samplerate.h DESTINATION include) diff --git a/ports/libsamplerate/Use-the-lrintf-intrinsic.patch b/ports/libsamplerate/Use-the-lrintf-intrinsic.patch deleted file mode 100644 index cf69b0d4619591..00000000000000 --- a/ports/libsamplerate/Use-the-lrintf-intrinsic.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff --git a/src/float_cast.h b/src/float_cast.h -index 0318427..8499e69 100644 ---- a/src/float_cast.h -+++ b/src/float_cast.h -@@ -117,6 +117,9 @@ - ** most likely both WIN32 and WIN64 will be defined in 64-bit case. - */ - -+/* MSVC pre 16.8 do not have lrintf */ -+#if defined(_MSC_VER) && _MSC_VER < 1928 -+ - #include - - /* Win64 doesn't seem to have these functions, nor inline assembly. -@@ -136,12 +139,16 @@ - { - return _mm_cvtss_si32(_mm_load_ss(&flt)); - } -+#endif - - #elif (defined (WIN32) || defined (_WIN32)) - - #undef HAVE_LRINT_REPLACEMENT - #define HAVE_LRINT_REPLACEMENT 1 - -+/* MSVC pre 16.8 do not have lrintf */ -+#if defined(_MSC_VER) && _MSC_VER < 1928 -+ - #include - - /* -@@ -172,6 +179,7 @@ - - return intgr ; - } -+#endif - - #elif (defined (__MWERKS__) && defined (macintosh)) - diff --git a/ports/libsamplerate/portfile.cmake b/ports/libsamplerate/portfile.cmake index 25a0d6a3b663a3..1085ef269ae1e8 100644 --- a/ports/libsamplerate/portfile.cmake +++ b/ports/libsamplerate/portfile.cmake @@ -1,24 +1,27 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libsndfile/libsamplerate - REF f6730d03c3e7660bb6ecad8816f1b09c5825142a # v0.1.9 - SHA512 6a349c9144d024212fc78dc0d9e39bdc1a43abaf590fcfbf84396af22834545962d5ef10176b48b21fcae2ce62d12277b682059383805d059f4dd2b9f6708478 + REF 0.2.0 + SHA512 6a12506ad391a557fcc354c7bb5767ae71349da26bf31753b806a36449cfc879ef97e4d25adab5722a9540ec1539203c6155b4581e42bdb8b6708dca1f089d11 HEAD_REF master - PATCHES Use-the-lrintf-intrinsic.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}/src) -file(COPY ${SOURCE_PATH}/Win32/config.h DESTINATION ${SOURCE_PATH}/src) - vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH}/src + SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA + OPTIONS + -DBUILD_TESTING=OFF + -DLIBSAMPLERATE_EXAMPLES=OFF ) vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/SampleRate TARGET_PATH share/SampleRate) +vcpkg_fixup_pkgconfig() + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libsamplerate RENAME copyright) +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) vcpkg_copy_pdbs() diff --git a/ports/libsamplerate/vcpkg.json b/ports/libsamplerate/vcpkg.json index 295d4ef5e43ac1..6b4bd48fe8a869 100644 --- a/ports/libsamplerate/vcpkg.json +++ b/ports/libsamplerate/vcpkg.json @@ -1,7 +1,6 @@ { "name": "libsamplerate", - "version-string": "0.1.9.0", - "port-version": 3, + "version-string": "0.2.0", "description": "Sample Rate Converter for audio", - "homepage": "https://www.mega-nerd.com/SRC" + "homepage": "http://libsndfile.github.io/libsamplerate/" } diff --git a/versions/baseline.json b/versions/baseline.json index a932781ef23ef2..4ed65a246420ac 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3289,8 +3289,8 @@ "port-version": 0 }, "libsamplerate": { - "baseline": "0.1.9.0", - "port-version": 3 + "baseline": "0.2.0", + "port-version": 0 }, "libsass": { "baseline": "3.6.4", diff --git a/versions/l-/libsamplerate.json b/versions/l-/libsamplerate.json index 2456512f6dc855..09d9618d7df6c9 100644 --- a/versions/l-/libsamplerate.json +++ b/versions/l-/libsamplerate.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "5247f6ff1ca88bae029dc84a18a5a6333e561a85", + "version-string": "0.2.0", + "port-version": 0 + }, { "git-tree": "ec1fec464998f298385bf9afe0ac63cdbc8adda2", "version-string": "0.1.9.0", From 83b8e27b95e0117a80fe5e2e4749ecaede098fa0 Mon Sep 17 00:00:00 2001 From: Andrei Lebedev Date: Fri, 22 Jan 2021 19:37:26 +0100 Subject: [PATCH 0004/1735] [vcpkg,boost-modular-build-helper] initial ppc64le community support (#15572) * [vcpkg] initial ppc64le community support Signed-off-by: Andrei Lebedev * [boost-modular-build-helper] ppc64le support Signed-off-by: Andrei Lebedev * Merge from master Co-authored-by: PhoebeHui <20694052+PhoebeHui@users.noreply.github.com> Co-authored-by: dan-shaw <51385773+dan-shaw@users.noreply.github.com> Co-authored-by: Nicole Mazzuca --- ports/boost-modular-build-helper/CMakeLists.txt | 2 ++ ports/boost-modular-build-helper/boost-modular-build.cmake | 2 ++ ports/boost-modular-build-helper/vcpkg.json | 2 +- scripts/bootstrap.sh | 4 ++-- scripts/buildsystems/vcpkg.cmake | 2 ++ toolsrc/include/vcpkg/base/system.h | 1 + toolsrc/src/vcpkg.cpp | 7 +++++-- toolsrc/src/vcpkg/base/system.cpp | 7 ++++++- toolsrc/src/vcpkg/triplet.cpp | 7 +++++++ triplets/community/ppc64le-linux.cmake | 5 +++++ versions/b-/boost-modular-build-helper.json | 5 +++++ versions/baseline.json | 2 +- 12 files changed, 39 insertions(+), 7 deletions(-) create mode 100644 triplets/community/ppc64le-linux.cmake diff --git a/ports/boost-modular-build-helper/CMakeLists.txt b/ports/boost-modular-build-helper/CMakeLists.txt index ce33c0f4a25261..d868b5ac82717f 100644 --- a/ports/boost-modular-build-helper/CMakeLists.txt +++ b/ports/boost-modular-build-helper/CMakeLists.txt @@ -39,6 +39,8 @@ if(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "s390x") list(APPEND B2_OPTIONS architecture=s390x) elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") list(APPEND B2_OPTIONS architecture=arm) +elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "ppc64le") + list(APPEND B2_OPTIONS architecture=power) else() list(APPEND B2_OPTIONS architecture=x86) endif() diff --git a/ports/boost-modular-build-helper/boost-modular-build.cmake b/ports/boost-modular-build-helper/boost-modular-build.cmake index 481dfd5108670c..09daaeea3c4b66 100644 --- a/ports/boost-modular-build-helper/boost-modular-build.cmake +++ b/ports/boost-modular-build-helper/boost-modular-build.cmake @@ -303,6 +303,8 @@ function(boost_modular_build) list(APPEND B2_OPTIONS address-model=64 architecture=arm) elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "s390x") list(APPEND B2_OPTIONS address-model=64 architecture=s390x) + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "ppc64le") + list(APPEND B2_OPTIONS address-model=64 architecture=power) else() list(APPEND B2_OPTIONS address-model=32 architecture=x86) endif() diff --git a/ports/boost-modular-build-helper/vcpkg.json b/ports/boost-modular-build-helper/vcpkg.json index 3ae62630e50b0b..bc96cdaef58032 100644 --- a/ports/boost-modular-build-helper/vcpkg.json +++ b/ports/boost-modular-build-helper/vcpkg.json @@ -1,7 +1,7 @@ { "name": "boost-modular-build-helper", "version-string": "1.75.0", - "port-version": 2, + "port-version": 3, "dependencies": [ "boost-uninstall" ] diff --git a/scripts/bootstrap.sh b/scripts/bootstrap.sh index ba76f4f6321529..b7d889f9ec9658 100644 --- a/scripts/bootstrap.sh +++ b/scripts/bootstrap.sh @@ -240,8 +240,8 @@ selectCXX() UNAME="$(uname)" ARCH="$(uname -m)" -# Force using system utilities for building vcpkg if host arch is arm, arm64, or s390x. -if [ "$ARCH" = "armv7l" -o "$ARCH" = "aarch64" -o "$ARCH" = "s390x" ]; then +# Force using system utilities for building vcpkg if host arch is arm, arm64, s390x, or ppc64le. +if [ "$ARCH" = "armv7l" -o "$ARCH" = "aarch64" -o "$ARCH" = "s390x" -o "$ARCH" = "ppc64le" ]; then vcpkgUseSystem=true fi diff --git a/scripts/buildsystems/vcpkg.cmake b/scripts/buildsystems/vcpkg.cmake index e13c3333b285d3..2969209399cba4 100644 --- a/scripts/buildsystems/vcpkg.cmake +++ b/scripts/buildsystems/vcpkg.cmake @@ -198,6 +198,8 @@ else() set(_VCPKG_TARGET_TRIPLET_ARCH x64) elseif(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "s390x") set(_VCPKG_TARGET_TRIPLET_ARCH s390x) + elseif(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "ppc64le") + set(_VCPKG_TARGET_TRIPLET_ARCH ppc64le) elseif(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "armv7l") set(_VCPKG_TARGET_TRIPLET_ARCH arm) elseif(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "aarch64") diff --git a/toolsrc/include/vcpkg/base/system.h b/toolsrc/include/vcpkg/base/system.h index da14fa4bbc62c2..992533eb5ffa18 100644 --- a/toolsrc/include/vcpkg/base/system.h +++ b/toolsrc/include/vcpkg/base/system.h @@ -29,6 +29,7 @@ namespace vcpkg::System ARM, ARM64, S390X, + PPC64LE, }; Optional to_cpu_architecture(StringView arch); diff --git a/toolsrc/src/vcpkg.cpp b/toolsrc/src/vcpkg.cpp index 250bca52a1137e..ccc951f101e82a 100644 --- a/toolsrc/src/vcpkg.cpp +++ b/toolsrc/src/vcpkg.cpp @@ -210,13 +210,16 @@ int main(const int argc, const char* const* const argv) load_config(fs); -#if (defined(__aarch64__) || defined(__arm__) || defined(__s390x__) || defined(_M_ARM) || defined(_M_ARM64)) && \ +#if (defined(__aarch64__) || defined(__arm__) || defined(__s390x__) || \ + ((defined(__ppc64__) || defined(__PPC64__) || defined(__ppc64le__) || defined(__PPC64LE__)) && \ + defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)) || \ + defined(_M_ARM) || defined(_M_ARM64)) && \ !defined(_WIN32) && !defined(__APPLE__) if (!System::get_environment_variable("VCPKG_FORCE_SYSTEM_BINARIES").has_value()) { Checks::exit_with_message( VCPKG_LINE_INFO, - "Environment variable VCPKG_FORCE_SYSTEM_BINARIES must be set on arm and s390x platforms."); + "Environment variable VCPKG_FORCE_SYSTEM_BINARIES must be set on arm, s390x, and ppc64le platforms."); } #endif diff --git a/toolsrc/src/vcpkg/base/system.cpp b/toolsrc/src/vcpkg/base/system.cpp index 687f6fa9c81cbd..b18a41e6d7353f 100644 --- a/toolsrc/src/vcpkg/base/system.cpp +++ b/toolsrc/src/vcpkg/base/system.cpp @@ -27,6 +27,7 @@ namespace vcpkg if (Strings::case_insensitive_ascii_equals(arch, "arm")) return CPUArchitecture::ARM; if (Strings::case_insensitive_ascii_equals(arch, "arm64")) return CPUArchitecture::ARM64; if (Strings::case_insensitive_ascii_equals(arch, "s390x")) return CPUArchitecture::S390X; + if (Strings::case_insensitive_ascii_equals(arch, "ppc64le")) return CPUArchitecture::PPC64LE; return nullopt; } @@ -39,7 +40,8 @@ namespace vcpkg case CPUArchitecture::ARM: return "arm"; case CPUArchitecture::ARM64: return "arm64"; case CPUArchitecture::S390X: return "s390x"; - default: Checks::unreachable(VCPKG_LINE_INFO); + case CPUArchitecture::PPC64LE: return "ppc64le"; + default: Checks::exit_with_message(VCPKG_LINE_INFO, "unexpected vcpkg::System::CPUArchitecture"); } } @@ -62,6 +64,9 @@ namespace vcpkg return CPUArchitecture::ARM64; #elif defined(__s390x__) return CPUArchitecture::S390X; +#elif (defined(__ppc64__) || defined(__PPC64__) || defined(__ppc64le__) || defined(__PPC64LE__)) && \ + defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__) + return CPUArchitecture::PPC64LE; #else // choose architecture #error "Unknown host architecture" #endif // choose architecture diff --git a/toolsrc/src/vcpkg/triplet.cpp b/toolsrc/src/vcpkg/triplet.cpp index dbb82e3c87ec55..e69f75b112095e 100644 --- a/toolsrc/src/vcpkg/triplet.cpp +++ b/toolsrc/src/vcpkg/triplet.cpp @@ -65,6 +65,10 @@ namespace vcpkg { return CPUArchitecture::S390X; } + if (Strings::starts_with(this->canonical_name(), "ppc64le-")) + { + return CPUArchitecture::PPC64LE; + } return nullopt; } @@ -99,6 +103,9 @@ namespace vcpkg return Triplet::from_canonical_name("arm-linux"); #elif defined(__s390x__) return Triplet::from_canonical_name("s390x-linux"); +#elif (defined(__ppc64__) || defined(__PPC64__) || defined(__ppc64le__) || defined(__PPC64LE__)) && \ + defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__) + return Triplet::from_canonical_name("ppc64le-linux"); #else return Triplet::from_canonical_name("x64-linux"); #endif diff --git a/triplets/community/ppc64le-linux.cmake b/triplets/community/ppc64le-linux.cmake new file mode 100644 index 00000000000000..70fa5b44c4dfa3 --- /dev/null +++ b/triplets/community/ppc64le-linux.cmake @@ -0,0 +1,5 @@ +set(VCPKG_TARGET_ARCHITECTURE ppc64le) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE static) + +set(VCPKG_CMAKE_SYSTEM_NAME Linux) diff --git a/versions/b-/boost-modular-build-helper.json b/versions/b-/boost-modular-build-helper.json index f0353be18a9054..52819f68118c6a 100644 --- a/versions/b-/boost-modular-build-helper.json +++ b/versions/b-/boost-modular-build-helper.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "39acb181b681e8ac20ff594d3ac1782bfbb37ba2", + "version-string": "1.75.0", + "port-version": 3 + }, { "git-tree": "1b4dda192c485153b97512519e48a06202fd6930", "version-string": "1.75.0", diff --git a/versions/baseline.json b/versions/baseline.json index 4ed65a246420ac..d09baa59e0c8a1 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -674,7 +674,7 @@ }, "boost-modular-build-helper": { "baseline": "1.75.0", - "port-version": 2 + "port-version": 3 }, "boost-move": { "baseline": "1.75.0", From ab0acc7439bf74bab07940ed2295cd97df59a38f Mon Sep 17 00:00:00 2001 From: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> Date: Sat, 23 Jan 2021 02:40:01 +0800 Subject: [PATCH 0005/1735] [poppler] Disable clang-format check (#15727) * [poppler] Disable clang-format check * Update port_version check * Add CLANG program * Add clang-format program * Update clang-format and add it to azure-pipelines/linux/provision-image.sh * Update ports/poppler/portfile.cmake * Revert the changes for clang-format --- ports/poppler/0004-disable-clang-format.patch | 12 ++++++++++++ ports/poppler/portfile.cmake | 1 + ports/poppler/vcpkg.json | 2 +- versions/baseline.json | 2 +- versions/p-/poppler.json | 5 +++++ 5 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 ports/poppler/0004-disable-clang-format.patch diff --git a/ports/poppler/0004-disable-clang-format.patch b/ports/poppler/0004-disable-clang-format.patch new file mode 100644 index 00000000000000..43a48da787bd5e --- /dev/null +++ b/ports/poppler/0004-disable-clang-format.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0b04be7..947d5be 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -532,7 +532,6 @@ if (GPERF AND RUN_GPERF_IF_PRESENT) + add_custom_command(OUTPUT poppler/${input}.c + COMMAND ${GPERF} poppler/${input}.gperf > ${CMAKE_CURRENT_BINARY_DIR}/poppler/${input}.c + COMMAND ${GPERF} poppler/${input}.gperf > ${CMAKE_CURRENT_SOURCE_DIR}/poppler/${input}.pregenerated.c +- COMMAND clang-format -i ${CMAKE_CURRENT_SOURCE_DIR}/poppler/${input}.pregenerated.c || true + DEPENDS poppler/${input}.gperf + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) + diff --git a/ports/poppler/portfile.cmake b/ports/poppler/portfile.cmake index 4d5b58dee75c07..77ebf431ca12da 100644 --- a/ports/poppler/portfile.cmake +++ b/ports/poppler/portfile.cmake @@ -8,6 +8,7 @@ vcpkg_from_github( 0001-remove-CMAKE_CXX_STANDARD.patch 0002-remove-test-subdirectory.patch 0003-fix-gperf-not-recognized.patch + 0004-disable-clang-format.patch ) vcpkg_find_acquire_program(GPERF) diff --git a/ports/poppler/vcpkg.json b/ports/poppler/vcpkg.json index 788c88abc9d5c5..b9af520839f992 100644 --- a/ports/poppler/vcpkg.json +++ b/ports/poppler/vcpkg.json @@ -1,7 +1,7 @@ { "name": "poppler", "version-string": "20.12.1", - "port-version": 2, + "port-version": 3, "description": "a PDF rendering library", "homepage": "https://poppler.freedesktop.org/", "dependencies": [ diff --git a/versions/baseline.json b/versions/baseline.json index d09baa59e0c8a1..08205525836755 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -4602,7 +4602,7 @@ }, "poppler": { "baseline": "20.12.1", - "port-version": 2 + "port-version": 3 }, "portable-snippets": { "baseline": "2019-09-20", diff --git a/versions/p-/poppler.json b/versions/p-/poppler.json index b6de22558db717..e961e39267d9be 100644 --- a/versions/p-/poppler.json +++ b/versions/p-/poppler.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "a6d078aca2d1c5803ddd287701692b891856c3fd", + "version-string": "20.12.1", + "port-version": 3 + }, { "git-tree": "acfc09df4e386e910884ee45b13e79c7ecb23d29", "version-string": "20.12.1", From f0997d3f85ec2aebd93985882164c77c90f361fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jack=C2=B7Boos=C2=B7Yu?= <47264268+JackBoosY@users.noreply.github.com> Date: Fri, 22 Jan 2021 10:45:08 -0800 Subject: [PATCH 0006/1735] [msys2] Update msys components pkgconfig url (#15732) * [pkgconfig] Update msys components pkgconfig url * update hash --- scripts/cmake/vcpkg_acquire_msys.cmake | 4 ++-- scripts/cmake/vcpkg_find_acquire_program.cmake | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/scripts/cmake/vcpkg_acquire_msys.cmake b/scripts/cmake/vcpkg_acquire_msys.cmake index 9b15a76c72e2ff..552269278dcaaf 100644 --- a/scripts/cmake/vcpkg_acquire_msys.cmake +++ b/scripts/cmake/vcpkg_acquire_msys.cmake @@ -291,8 +291,8 @@ function(vcpkg_acquire_msys PATH_TO_ROOT_OUT) DEPS gcc-libs ) msys_package( - URL "https://repo.msys2.org/msys/x86_64/pkg-config-0.29.2-1-x86_64.pkg.tar.xz" - SHA512 f1d70f0b4ebcfeb3fa2156a7a4f7b0b404795853e05361de14054dc6658a6154915bb982626cbfe76bef0828325f993f30da6817361ca8d7ea440a40023fa864 + URL "https://repo.msys2.org/msys/x86_64/pkg-config-0.29.2-4-x86_64.pkg.tar.zst" + SHA512 9f72c81d8095ca1c341998bc80788f7ce125770ec4252f1eb6445b9cba74db5614caf9a6cc7c0fcc2ac18d4a0f972c49b9f245c3c9c8e588126be6c72a8c1818 DEPS libiconv ) msys_package( diff --git a/scripts/cmake/vcpkg_find_acquire_program.cmake b/scripts/cmake/vcpkg_find_acquire_program.cmake index e3679c80a91fde..96b59c5c65f7c3 100644 --- a/scripts/cmake/vcpkg_find_acquire_program.cmake +++ b/scripts/cmake/vcpkg_find_acquire_program.cmake @@ -441,14 +441,14 @@ function(vcpkg_find_acquire_program VAR) set(VERSION_CMD --version) elseif(CMAKE_HOST_WIN32) if(NOT EXISTS "${PKGCONFIG}") - set(VERSION 0.29.2-1) + set(VERSION 0.29.2-2) set(LIBWINPTHREAD_VERSION git-8.0.0.5906.c9a21571-1) vcpkg_acquire_msys( PKGCONFIG_ROOT NO_DEFAULT_PACKAGES DIRECT_PACKAGES - "https://repo.msys2.org/mingw/i686/mingw-w64-i686-pkg-config-${VERSION}-any.pkg.tar.xz" - 3b1b706a24d9aef7bbdf3ce4427aaa813ba6fbd292ed9dda181b4300e117c3d59a159ddcca8b013fd01ce76da2d95d590314ff9628c0d68a6966bac4842540f0 + "https://repo.msys2.org/mingw/i686/mingw-w64-i686-pkg-config-${VERSION}-any.pkg.tar.zst" + 54f8dad3b1a36a4515db47825a3214fbd2bd82f604aec72e7fb8d79068095fda3c836fb2296acd308522d6e12ce15f69e0c26dcf4eb0681fd105d057d912cdb7 "https://repo.msys2.org/mingw/i686/mingw-w64-i686-libwinpthread-${LIBWINPTHREAD_VERSION}-any.pkg.tar.zst" 2c3d9e6b2eee6a4c16fd69ddfadb6e2dc7f31156627d85845c523ac85e5c585d4cfa978659b1fe2ec823d44ef57bc2b92a6127618ff1a8d7505458b794f3f01c ) From 925b64efd2210e04568dfd5a33473e86a6d618a9 Mon Sep 17 00:00:00 2001 From: Billy O'Neal Date: Fri, 22 Jan 2021 11:10:27 -0800 Subject: [PATCH 0007/1735] Restore x-upload-metrics command accidentally disabled by removing VCPKG_DISABLE_METRICS (#15810) * Restore x-upload-metrics command accidentally disabled by removing VCPKG_DISABLE_METRICS in https://github.com/microsoft/vcpkg/pull/15470 * Didn't save a file. --- toolsrc/src/vcpkg-test/commands.cpp | 4 ++-- toolsrc/src/vcpkg/commands.cpp | 8 ++++---- toolsrc/src/vcpkg/commands.upload-metrics.cpp | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/toolsrc/src/vcpkg-test/commands.cpp b/toolsrc/src/vcpkg-test/commands.cpp index e417505ad1cef8..1a582beb31a895 100644 --- a/toolsrc/src/vcpkg-test/commands.cpp +++ b/toolsrc/src/vcpkg-test/commands.cpp @@ -32,9 +32,9 @@ TEST_CASE ("get_available_basic_commands works", "[commands]") check_all_commands(Commands::get_available_basic_commands(), { "contact", "version", -#if VCPKG_ENABLE_X_UPLOAD_METRICS_COMMAND +#if defined(_WIN32) "x-upload-metrics", -#endif // VCPKG_ENABLE_X_UPLOAD_METRICS_COMMAND +#endif // defined(_WIN32) }); } diff --git a/toolsrc/src/vcpkg/commands.cpp b/toolsrc/src/vcpkg/commands.cpp index 19b5bdcde98003..386aedf5815c65 100644 --- a/toolsrc/src/vcpkg/commands.cpp +++ b/toolsrc/src/vcpkg/commands.cpp @@ -41,16 +41,16 @@ namespace vcpkg::Commands { static const Version::VersionCommand version{}; static const Contact::ContactCommand contact{}; -#if VCPKG_ENABLE_X_UPLOAD_METRICS_COMMAND +#if defined(_WIN32) static const UploadMetrics::UploadMetricsCommand upload_metrics{}; -#endif // VCPKG_ENABLE_X_UPLOAD_METRICS_COMMAND +#endif // defined(_WIN32) static std::vector> t = { {"version", &version}, {"contact", &contact}, -#if VCPKG_ENABLE_X_UPLOAD_METRICS_COMMAND +#if defined(_WIN32) {"x-upload-metrics", &upload_metrics}, -#endif // VCPKG_ENABLE_X_UPLOAD_METRICS_COMMAND +#endif // defined(_WIN32) }; return t; } diff --git a/toolsrc/src/vcpkg/commands.upload-metrics.cpp b/toolsrc/src/vcpkg/commands.upload-metrics.cpp index 6ac7cfcb6a0637..acf5a53774eeb7 100644 --- a/toolsrc/src/vcpkg/commands.upload-metrics.cpp +++ b/toolsrc/src/vcpkg/commands.upload-metrics.cpp @@ -1,6 +1,6 @@ #include -#if VCPKG_ENABLE_X_UPLOAD_METRICS_COMMAND +#if defined(_WIN32) #include #include @@ -26,4 +26,4 @@ namespace vcpkg::Commands::UploadMetrics Checks::exit_success(VCPKG_LINE_INFO); } } -#endif // VCPKG_ENABLE_X_UPLOAD_METRICS_COMMAND +#endif // defined(_WIN32) From a528e6ac1f239dbbae281e3a59ad3696bb4a8ee5 Mon Sep 17 00:00:00 2001 From: Stefano Sinigardi Date: Fri, 22 Jan 2021 21:08:50 +0100 Subject: [PATCH 0008/1735] [darknet] update to latest version (#15770) * [darknet] update to latest version * update version refs * [darknet] update to latest version * update version refs Co-authored-by: NancyLi1013 --- ...ame-_castu32_f32-to-gemm_castu32_f32.patch | 26 ------------------- ports/darknet/CONTROL | 3 +-- ports/darknet/portfile.cmake | 10 +++---- versions/baseline.json | 4 +-- versions/d-/darknet.json | 5 ++++ 5 files changed, 12 insertions(+), 36 deletions(-) delete mode 100644 ports/darknet/0001-rename-_castu32_f32-to-gemm_castu32_f32.patch diff --git a/ports/darknet/0001-rename-_castu32_f32-to-gemm_castu32_f32.patch b/ports/darknet/0001-rename-_castu32_f32-to-gemm_castu32_f32.patch deleted file mode 100644 index 3e459c22503274..00000000000000 --- a/ports/darknet/0001-rename-_castu32_f32-to-gemm_castu32_f32.patch +++ /dev/null @@ -1,26 +0,0 @@ -From ed14dcf873775dcfc56883f55c10619779d8f87e Mon Sep 17 00:00:00 2001 -From: Nicole Mazzuca -Date: Thu, 24 Sep 2020 09:48:16 -0700 -Subject: [PATCH] rename _castu32_f32 to gemm_castu32_f32 - -since _castu32_f32 is reserved, an implementation is allowed to name a function that, -and it turns out Xcode 12 did. ---- - src/gemm.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/gemm.c b/src/gemm.c -index 0b06d98..bc2aef3 100644 ---- a/src/gemm.c -+++ b/src/gemm.c -@@ -546,6 +546,7 @@ static inline float _mm256_extract_float32(__m256 a, const int index) { - #include - #include - -+#define _castu32_f32 gemm_castu32_f32 - static inline float _castu32_f32(uint32_t a) { - return *((float *)&a); - } --- -2.24.3 (Apple Git-128) - diff --git a/ports/darknet/CONTROL b/ports/darknet/CONTROL index b41b9737d2571b..e23b761d03caed 100644 --- a/ports/darknet/CONTROL +++ b/ports/darknet/CONTROL @@ -1,6 +1,5 @@ Source: darknet -Version: 2020-08-30 -Port-Version: 2 +Version: 2021-01-21 Description: Darknet is an open source neural network framework written in C and CUDA. You only look once (YOLO) is a state-of-the-art, real-time object detection system, best example of darknet functionalities. Build-Depends: pthreads, stb diff --git a/ports/darknet/portfile.cmake b/ports/darknet/portfile.cmake index d786e196eab045..3f3df119019d74 100644 --- a/ports/darknet/portfile.cmake +++ b/ports/darknet/portfile.cmake @@ -1,11 +1,9 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO AlexeyAB/darknet - REF ecad770071eb776208a46977347e6d2410d4f50e - SHA512 1de0dc3f4842c68f5c12addf100996f7176ffb50dcd89a0b57446ba996d9199e31531f64c32eedbc2ea6a449459573811444dd35f1a50ece3880f58717c795ab + REF 00d578e327c22638ea12e73c4efb74c798c08de5 + SHA512 ef2d46fab670759e9c22d0233b60192bfe47669e29d2ec1e020a77dfaf09894a93160c11de070bc39d86109dd2a37ca7172fbb081809b1ea2783207a6e385b2c HEAD_REF master - PATCHES - 0001-rename-_castu32_f32-to-gemm_castu32_f32.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -30,7 +28,7 @@ if("weights" IN_LIST FEATURES) vcpkg_download_distfile(YOLOV4-TINY_WEIGHTS URLS "https://github.com/AlexeyAB/darknet/releases/download/darknet_yolo_v4_pre/yolov4-tiny.weights" FILENAME "darknet-cache/yolov4-tiny.weights" - SHA512 7d4d9fe150f9fe3ea7d2310f1445fe983b31fbf06d301c70ecfe00e8559e6f1bf940198c2dd55db772238f23ea0092fb6553558e5414f3ee173b8b28e53c5b54 + SHA512 804ca2ab8e3699d31c95bf773d22f901f186703487c7945f30dc2dbb808094793362cb6f5da5cd0b4b83f820c8565a3cba22fafa069ee6ca2a925677137d95f4 ) vcpkg_download_distfile(YOLOV4_WEIGHTS URLS "https://github.com/AlexeyAB/darknet/releases/download/darknet_yolo_v3_optimal/yolov4.weights" @@ -73,7 +71,7 @@ if("weights-train" IN_LIST FEATURES) vcpkg_download_distfile(YOLOV4-TINY-CONV-29 URLS "https://github.com/AlexeyAB/darknet/releases/download/darknet_yolo_v4_pre/yolov4-tiny.conv.29" FILENAME "darknet-cache/yolov4-tiny.conv.29" - SHA512 d145deb80aea3d422752e784323d89919281ed7a37d15f939f5b680ff62e502072a30e074c34a09026669126d360c7d6817ea1afa53cfa53c56bd1e16333a602 + SHA512 318e47f4bdf43b7f4eff8f3669bc9ba66cd7bd8ffb31df5bc1978682c85fec8e63a8349958022fd933cc676cbf5241953f2181bf4d1789f7cf9d371e012e3e49 ) vcpkg_download_distfile(YOLOV4-CONV-137 URLS "https://github.com/AlexeyAB/darknet/releases/download/darknet_yolo_v3_optimal/yolov4.conv.137" diff --git a/versions/baseline.json b/versions/baseline.json index 08205525836755..eeba29e0ee319f 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -1513,8 +1513,8 @@ "port-version": 0 }, "darknet": { - "baseline": "2020-08-30", - "port-version": 2 + "baseline": "2021-01-21", + "port-version": 0 }, "darts-clone": { "baseline": "1767ab87cffe-1", diff --git a/versions/d-/darknet.json b/versions/d-/darknet.json index c7e4b4daa1754b..89f7d3ced79e11 100644 --- a/versions/d-/darknet.json +++ b/versions/d-/darknet.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "05bdc42da8656bf1acf80d6f3f821dff045c7b72", + "version-string": "2021-01-21", + "port-version": 0 + }, { "git-tree": "5013a879bca7ed0f5a443fa9e379abbedfd38eeb", "version-string": "2020-08-30", From 42bb41fa2d5f84a6d598e5d44eab168d8f4ae601 Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Fri, 22 Jan 2021 21:09:58 +0100 Subject: [PATCH 0009/1735] [ogre] Do not use strict mode by default in ogre for backward compatibility (#15789) * [ogre] Do not use strict mode by default in ogre for backward compatibility * Update port_versions metadata for ogre 1.12.9-5 --- ports/ogre/vcpkg.json | 3 +-- versions/baseline.json | 2 +- versions/o-/ogre.json | 5 +++++ 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ports/ogre/vcpkg.json b/ports/ogre/vcpkg.json index a92d9ea9b673cb..d084653e719bfb 100644 --- a/ports/ogre/vcpkg.json +++ b/ports/ogre/vcpkg.json @@ -1,7 +1,7 @@ { "name": "ogre", "version-string": "1.12.9", - "port-version": 4, + "port-version": 5, "description": "3D Object-Oriented Graphics Rendering Engine", "homepage": "https://github.com/OGRECave/ogre", "dependencies": [ @@ -13,7 +13,6 @@ "assimp", "freeimage", "overlay", - "strict", "zziplib" ], "features": { diff --git a/versions/baseline.json b/versions/baseline.json index eeba29e0ee319f..58d1198f7082bd 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -4142,7 +4142,7 @@ }, "ogre": { "baseline": "1.12.9", - "port-version": 4 + "port-version": 5 }, "ogre-next": { "baseline": "2019-10-20-1", diff --git a/versions/o-/ogre.json b/versions/o-/ogre.json index 711603b8495828..5dd8f1b76d14f4 100644 --- a/versions/o-/ogre.json +++ b/versions/o-/ogre.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "322b9a5290ce1656aa66b684b07d1e327b18eeeb", + "version-string": "1.12.9", + "port-version": 5 + }, { "git-tree": "7bd4cd10abb70cc91306e834cb8f7831bc33c8a0", "version-string": "1.12.9", From 450de5f3c61e072323d5ed705909782ea70ed5ea Mon Sep 17 00:00:00 2001 From: Stefano Sinigardi Date: Fri, 22 Jan 2021 21:13:33 +0100 Subject: [PATCH 0010/1735] [OpenCV] update to v4.5 and to v3.4.12 (#15162) * [tesseract] add missing reference for downstream projects * [tesseract] restore ci, fix many regressions that are uncovered by that * Update ports/opencv2/CONTROL Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> * [opencv] fix regressions on uwp, accept failure on arm64 for now * Apply suggestions from code review Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> * [opencv4] allow failures on all arm windows targets, both win32 and uwp * [OpenCV] update to v4.5, draft * Restore CI tests on arm architectures, they will have to work! * adopts hints from #15180 * [libarchive] bump control version * [libarchive] use vcpkg-cmake-wrapper instead of a custom libarchiveConfig, since it is vcpkg-provided and not port-provided * enable features to be visible in parent scope * apply documentation fix from CI * [libarchive] remove unnecessary lines in portfile * update patches * restore ci tests for all opencv4 configs * add port versions to baseline * [OpenCV contrib] fix glog integration * [OpenCV4] fix target processor detection * update version refs * [OpenCV3] fix target processor detection * fix also ocv3 * remove vtk feature from opencv-ci testing * remove qt5-tools from baseline, it works locally Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> --- ports/opencv3/0002-install-options.patch | 130 ++--- .../0004-add-missing-stdexcept-include.patch | 24 +- ports/opencv3/0005-fix-vtk9.patch | 2 +- ports/opencv3/0009-fix-uwp.patch | 2 +- ports/opencv3/CONTROL | 3 +- ports/opencv3/portfile.cmake | 22 +- ports/opencv4/0002-install-options.patch | 14 +- .../0003-force-package-requirements.patch | 12 +- ports/opencv4/0004-fix-policy-CMP0057.patch | 4 +- .../0005-add-missing-stdexcept-include.patch | 24 +- .../0006-fix-glog-abbreviated-severity.patch | 12 + ports/opencv4/0006-jpeg2000_getref.patch | 33 -- ports/opencv4/0007-fix-vtk9-contrib.patch | 470 ------------------ ports/opencv4/0008-fix-vtk9.patch | 41 -- ports/opencv4/0009-fix-uwp.patch | 4 +- ports/opencv4/CONTROL | 3 +- ports/opencv4/portfile.cmake | 44 +- scripts/ci.baseline.txt | 9 +- versions/baseline.json | 8 +- versions/o-/opencv3.json | 5 + versions/o-/opencv4.json | 5 + 21 files changed, 185 insertions(+), 686 deletions(-) create mode 100644 ports/opencv4/0006-fix-glog-abbreviated-severity.patch delete mode 100644 ports/opencv4/0006-jpeg2000_getref.patch delete mode 100644 ports/opencv4/0007-fix-vtk9-contrib.patch delete mode 100644 ports/opencv4/0008-fix-vtk9.patch diff --git a/ports/opencv3/0002-install-options.patch b/ports/opencv3/0002-install-options.patch index 4f0197f9d23304..1657579fa76960 100644 --- a/ports/opencv3/0002-install-options.patch +++ b/ports/opencv3/0002-install-options.patch @@ -1,65 +1,65 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 614baa2..1e930a3 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -601,7 +601,7 @@ endif() - ocv_cmake_hook(POST_CMAKE_BUILD_OPTIONS) - - # --- Python Support --- --if(NOT IOS) -+if(0) - include(cmake/OpenCVDetectPython.cmake) - endif() - -diff --git a/cmake/OpenCVCompilerOptions.cmake b/cmake/OpenCVCompilerOptions.cmake -index 476156f..4b27b6a 100644 ---- a/cmake/OpenCVCompilerOptions.cmake -+++ b/cmake/OpenCVCompilerOptions.cmake -@@ -261,7 +261,6 @@ if(MSVC) - #endif() - - if(BUILD_WITH_DEBUG_INFO) -- set(OPENCV_EXTRA_FLAGS_RELEASE "${OPENCV_EXTRA_FLAGS_RELEASE} /Zi") - set(OPENCV_EXTRA_EXE_LINKER_FLAGS_RELEASE "${OPENCV_EXTRA_EXE_LINKER_FLAGS_RELEASE} /debug") - set(OPENCV_EXTRA_SHARED_LINKER_FLAGS_RELEASE "${OPENCV_EXTRA_SHARED_LINKER_FLAGS_RELEASE} /debug") - endif() -diff --git a/cmake/OpenCVGenConfig.cmake b/cmake/OpenCVGenConfig.cmake -index c7f9fc2..84bd302 100644 ---- a/cmake/OpenCVGenConfig.cmake -+++ b/cmake/OpenCVGenConfig.cmake -@@ -109,11 +109,11 @@ function(ocv_gen_config TMP_DIR NESTED_PATH ROOT_NAME) - endif() - endfunction() - --if((CMAKE_HOST_SYSTEM_NAME MATCHES "Linux" OR UNIX) AND NOT ANDROID) -+if(TRUE) - ocv_gen_config("${CMAKE_BINARY_DIR}/unix-install" "" "") - endif() - --if(ANDROID) -+if(FALSE) - ocv_gen_config("${CMAKE_BINARY_DIR}/unix-install" "abi-${ANDROID_NDK_ABI_NAME}" "OpenCVConfig.root-ANDROID.cmake.in") - install(FILES "${OpenCV_SOURCE_DIR}/platforms/android/android.toolchain.cmake" DESTINATION "${OPENCV_CONFIG_INSTALL_PATH}" COMPONENT dev) - endif() -@@ -121,7 +121,7 @@ endif() - # -------------------------------------------------------------------------------------------- - # Part 3/3: ${BIN_DIR}/win-install/OpenCVConfig.cmake -> For use within binary installers/packages - # -------------------------------------------------------------------------------------------- --if(WIN32) -+if(0) - if(CMAKE_HOST_SYSTEM_NAME MATCHES Windows AND NOT OPENCV_SKIP_CMAKE_ROOT_CONFIG) - ocv_gen_config("${CMAKE_BINARY_DIR}/win-install" - "${OPENCV_INSTALL_BINARIES_PREFIX}${OPENCV_INSTALL_BINARIES_SUFFIX}" -diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt -index 1f0d720..0bb1ff7 100644 ---- a/data/CMakeLists.txt -+++ b/data/CMakeLists.txt -@@ -1,8 +1,6 @@ - file(GLOB HAAR_CASCADES haarcascades/*.xml) - file(GLOB LBP_CASCADES lbpcascades/*.xml) - --install(FILES ${HAAR_CASCADES} DESTINATION ${OPENCV_OTHER_INSTALL_PATH}/haarcascades COMPONENT libs) --install(FILES ${LBP_CASCADES} DESTINATION ${OPENCV_OTHER_INSTALL_PATH}/lbpcascades COMPONENT libs) - - if(INSTALL_TESTS AND OPENCV_TEST_DATA_PATH) - install(DIRECTORY "${OPENCV_TEST_DATA_PATH}/" DESTINATION "${OPENCV_TEST_DATA_INSTALL_PATH}" COMPONENT "tests") +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d143a7a..15eb053 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -602,7 +602,7 @@ endif() + ocv_cmake_hook(POST_CMAKE_BUILD_OPTIONS) + + # --- Python Support --- +-if(NOT IOS) ++if(FALSE) + include(cmake/OpenCVDetectPython.cmake) + endif() + +diff --git a/cmake/OpenCVCompilerOptions.cmake b/cmake/OpenCVCompilerOptions.cmake +index 9ac671d..b14ce09 100644 +--- a/cmake/OpenCVCompilerOptions.cmake ++++ b/cmake/OpenCVCompilerOptions.cmake +@@ -263,7 +263,6 @@ if(MSVC) + #endif() + + if(BUILD_WITH_DEBUG_INFO) +- set(OPENCV_EXTRA_FLAGS_RELEASE "${OPENCV_EXTRA_FLAGS_RELEASE} /Zi") + set(OPENCV_EXTRA_EXE_LINKER_FLAGS_RELEASE "${OPENCV_EXTRA_EXE_LINKER_FLAGS_RELEASE} /debug") + set(OPENCV_EXTRA_SHARED_LINKER_FLAGS_RELEASE "${OPENCV_EXTRA_SHARED_LINKER_FLAGS_RELEASE} /debug") + endif() +diff --git a/cmake/OpenCVGenConfig.cmake b/cmake/OpenCVGenConfig.cmake +index c7f9fc2..a1f657b 100644 +--- a/cmake/OpenCVGenConfig.cmake ++++ b/cmake/OpenCVGenConfig.cmake +@@ -109,11 +109,11 @@ function(ocv_gen_config TMP_DIR NESTED_PATH ROOT_NAME) + endif() + endfunction() + +-if((CMAKE_HOST_SYSTEM_NAME MATCHES "Linux" OR UNIX) AND NOT ANDROID) ++if(TRUE) + ocv_gen_config("${CMAKE_BINARY_DIR}/unix-install" "" "") + endif() + +-if(ANDROID) ++if(FALSE) + ocv_gen_config("${CMAKE_BINARY_DIR}/unix-install" "abi-${ANDROID_NDK_ABI_NAME}" "OpenCVConfig.root-ANDROID.cmake.in") + install(FILES "${OpenCV_SOURCE_DIR}/platforms/android/android.toolchain.cmake" DESTINATION "${OPENCV_CONFIG_INSTALL_PATH}" COMPONENT dev) + endif() +@@ -121,7 +121,7 @@ endif() + # -------------------------------------------------------------------------------------------- + # Part 3/3: ${BIN_DIR}/win-install/OpenCVConfig.cmake -> For use within binary installers/packages + # -------------------------------------------------------------------------------------------- +-if(WIN32) ++if(FALSE) + if(CMAKE_HOST_SYSTEM_NAME MATCHES Windows AND NOT OPENCV_SKIP_CMAKE_ROOT_CONFIG) + ocv_gen_config("${CMAKE_BINARY_DIR}/win-install" + "${OPENCV_INSTALL_BINARIES_PREFIX}${OPENCV_INSTALL_BINARIES_SUFFIX}" +diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt +index 1f0d720..0bb1ff7 100644 +--- a/data/CMakeLists.txt ++++ b/data/CMakeLists.txt +@@ -1,8 +1,6 @@ + file(GLOB HAAR_CASCADES haarcascades/*.xml) + file(GLOB LBP_CASCADES lbpcascades/*.xml) + +-install(FILES ${HAAR_CASCADES} DESTINATION ${OPENCV_OTHER_INSTALL_PATH}/haarcascades COMPONENT libs) +-install(FILES ${LBP_CASCADES} DESTINATION ${OPENCV_OTHER_INSTALL_PATH}/lbpcascades COMPONENT libs) + + if(INSTALL_TESTS AND OPENCV_TEST_DATA_PATH) + install(DIRECTORY "${OPENCV_TEST_DATA_PATH}/" DESTINATION "${OPENCV_TEST_DATA_INSTALL_PATH}" COMPONENT "tests") diff --git a/ports/opencv3/0004-add-missing-stdexcept-include.patch b/ports/opencv3/0004-add-missing-stdexcept-include.patch index 4f0df7d06615e5..2a7d90ce071cf8 100644 --- a/ports/opencv3/0004-add-missing-stdexcept-include.patch +++ b/ports/opencv3/0004-add-missing-stdexcept-include.patch @@ -1,12 +1,12 @@ -diff --git a/modules/cvv/src/util/observer_ptr.hpp b/modules/cvv/src/util/observer_ptr.hpp -index fef3fea..68d1a80 100644 ---- a/modules/cvv/src/util/observer_ptr.hpp -+++ b/modules/cvv/src/util/observer_ptr.hpp -@@ -11,6 +11,7 @@ - #include //size_t - #include // [u]intXX_t - #include // since some people like to forget that one -+#include - - namespace cvv - { +diff --git a/modules/cvv/src/util/observer_ptr.hpp b/modules/cvv/src/util/observer_ptr.hpp +index fef3fea..68d1a80 100644 +--- a/modules/cvv/src/util/observer_ptr.hpp ++++ b/modules/cvv/src/util/observer_ptr.hpp +@@ -11,6 +11,7 @@ + #include //size_t + #include // [u]intXX_t + #include // since some people like to forget that one ++#include + + namespace cvv + { diff --git a/ports/opencv3/0005-fix-vtk9.patch b/ports/opencv3/0005-fix-vtk9.patch index 137302ee37150e..2dfdee8f651ff7 100644 --- a/ports/opencv3/0005-fix-vtk9.patch +++ b/ports/opencv3/0005-fix-vtk9.patch @@ -1,5 +1,5 @@ diff --git a/cmake/OpenCVDetectVTK.cmake b/cmake/OpenCVDetectVTK.cmake -index 1495688..4c83504 100644 +index 1495688..e5c6049 100644 --- a/cmake/OpenCVDetectVTK.cmake +++ b/cmake/OpenCVDetectVTK.cmake @@ -1,12 +1,30 @@ diff --git a/ports/opencv3/0009-fix-uwp.patch b/ports/opencv3/0009-fix-uwp.patch index 73cac14531af2a..9968d869170e53 100644 --- a/ports/opencv3/0009-fix-uwp.patch +++ b/ports/opencv3/0009-fix-uwp.patch @@ -1,5 +1,5 @@ diff --git a/cmake/OpenCVModule.cmake b/cmake/OpenCVModule.cmake -index 634b5b2..07a96fb 100644 +index 10ee406..73f4af2 100644 --- a/cmake/OpenCVModule.cmake +++ b/cmake/OpenCVModule.cmake @@ -1183,7 +1183,7 @@ function(ocv_add_perf_tests) diff --git a/ports/opencv3/CONTROL b/ports/opencv3/CONTROL index 9067dab1882a44..586c4337e41739 100644 --- a/ports/opencv3/CONTROL +++ b/ports/opencv3/CONTROL @@ -1,6 +1,5 @@ Source: opencv3 -Version: 3.4.10 -Port-Version: 5 +Version: 3.4.12 Build-Depends: zlib Homepage: https://github.com/opencv/opencv Description: computer vision library diff --git a/ports/opencv3/portfile.cmake b/ports/opencv3/portfile.cmake index eff881a240efde..c65792bf00029d 100644 --- a/ports/opencv3/portfile.cmake +++ b/ports/opencv3/portfile.cmake @@ -6,13 +6,13 @@ if (EXISTS "${CURRENT_INSTALLED_DIR}/share/opencv4") message(FATAL_ERROR "OpenCV 4 is installed, please uninstall and try again:\n vcpkg remove opencv4") endif() -set(OPENCV_VERSION "3.4.10") +set(OPENCV_VERSION "3.4.12") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO opencv/opencv REF ${OPENCV_VERSION} - SHA512 7ccdc7fef26436b2f643cce2a13c9f9f77e56d3fd0340117419df3c1665ca12416277b626cce3c056fdc14899805bbe9ece391f11d28c6adea716d47ce8894bc + SHA512 e69ff4869a8128b7d2a0537d198ec7f287fb821a8965df26339bec662da1888860941f50a269db7693309b9861f986c219288bb5856de76a6c7bc4c0a7026bee HEAD_REF master PATCHES 0001-disable-downloading.patch @@ -22,6 +22,16 @@ vcpkg_from_github( 0009-fix-uwp.patch ) +if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(TARGET_IS_AARCH64 1) +elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") + set(TARGET_IS_ARM 1) +elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(TARGET_IS_X86_64 1) +else() + set(TARGET_IS_X86 1) +endif() + file(REMOVE "${SOURCE_PATH}/cmake/FindCUDNN.cmake") string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" BUILD_WITH_STATIC_CRT) @@ -101,7 +111,7 @@ if("contrib" IN_LIST FEATURES) OUT_SOURCE_PATH CONTRIB_SOURCE_PATH REPO opencv/opencv_contrib REF ${OPENCV_VERSION} - SHA512 70b4ecfaf9881390ad826a2aba24cced8514a680965ec7151df9926082fff53364bbe6be36458bb9ff466fda6f6f6ca2174eeac94c10a6bada989f07ed1c4da1 + SHA512 0191b1d49d5a50195ed94951c570da03dc33677b682e61a65b34d40f355c36a58441034730ea7eca78dcb4af4c821983754250f93fdf3adb2b4a20e71806eb03 HEAD_REF master PATCHES 0004-add-missing-stdexcept-include.patch @@ -242,6 +252,12 @@ vcpkg_configure_cmake( PREFER_NINJA SOURCE_PATH ${SOURCE_PATH} OPTIONS + ###### opencv cpu recognition is broken, always using host and not target: here we bypass that + -DOPENCV_SKIP_SYSTEM_PROCESSOR_DETECTION=TRUE + -DAARCH64=${TARGET_IS_AARCH64} + -DX86_64=${TARGET_IS_X86_64} + -DX86=${TARGET_IS_X86} + -DARM=${TARGET_IS_ARM} ###### ocv_options -DOpenCV_INSTALL_BINARIES_PREFIX= -DOPENCV_BIN_INSTALL_PATH=bin diff --git a/ports/opencv4/0002-install-options.patch b/ports/opencv4/0002-install-options.patch index 9707a6a323695c..533dd8354e4db5 100644 --- a/ports/opencv4/0002-install-options.patch +++ b/ports/opencv4/0002-install-options.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 4c0b388..16c0ede 100644 +index 4350b2f..89521b1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -594,7 +594,7 @@ endif() +@@ -603,7 +603,7 @@ endif() ocv_cmake_hook(POST_CMAKE_BUILD_OPTIONS) # --- Python Support --- @@ -12,10 +12,10 @@ index 4c0b388..16c0ede 100644 endif() diff --git a/cmake/OpenCVCompilerOptions.cmake b/cmake/OpenCVCompilerOptions.cmake -index 87b2161..5192875 100644 +index 080c78c..616ce64 100644 --- a/cmake/OpenCVCompilerOptions.cmake +++ b/cmake/OpenCVCompilerOptions.cmake -@@ -263,7 +263,6 @@ if(MSVC) +@@ -265,7 +265,6 @@ if(MSVC) #endif() if(BUILD_WITH_DEBUG_INFO) @@ -24,10 +24,10 @@ index 87b2161..5192875 100644 set(OPENCV_EXTRA_SHARED_LINKER_FLAGS_RELEASE "${OPENCV_EXTRA_SHARED_LINKER_FLAGS_RELEASE} /debug") endif() diff --git a/cmake/OpenCVGenConfig.cmake b/cmake/OpenCVGenConfig.cmake -index 6991289..3a691c5 100644 +index 838852c..04906b3 100644 --- a/cmake/OpenCVGenConfig.cmake +++ b/cmake/OpenCVGenConfig.cmake -@@ -109,11 +109,11 @@ function(ocv_gen_config TMP_DIR NESTED_PATH ROOT_NAME) +@@ -114,11 +114,11 @@ function(ocv_gen_config TMP_DIR NESTED_PATH ROOT_NAME) endif() endfunction() @@ -41,7 +41,7 @@ index 6991289..3a691c5 100644 ocv_gen_config("${CMAKE_BINARY_DIR}/unix-install" "abi-${ANDROID_NDK_ABI_NAME}" "OpenCVConfig.root-ANDROID.cmake.in") install(FILES "${OpenCV_SOURCE_DIR}/platforms/android/android.toolchain.cmake" DESTINATION "${OPENCV_CONFIG_INSTALL_PATH}" COMPONENT dev) endif() -@@ -121,7 +121,7 @@ endif() +@@ -126,7 +126,7 @@ endif() # -------------------------------------------------------------------------------------------- # Part 3/3: ${BIN_DIR}/win-install/OpenCVConfig.cmake -> For use within binary installers/packages # -------------------------------------------------------------------------------------------- diff --git a/ports/opencv4/0003-force-package-requirements.patch b/ports/opencv4/0003-force-package-requirements.patch index b25668b38325ee..c28dd5d9fe89b4 100644 --- a/ports/opencv4/0003-force-package-requirements.patch +++ b/ports/opencv4/0003-force-package-requirements.patch @@ -1,5 +1,5 @@ diff --git a/cmake/OpenCVFindLibsGrfmt.cmake b/cmake/OpenCVFindLibsGrfmt.cmake -index 0beaf19..3ba1ebd 100644 +index 22e20b6..5d1431c 100644 --- a/cmake/OpenCVFindLibsGrfmt.cmake +++ b/cmake/OpenCVFindLibsGrfmt.cmake @@ -6,7 +6,7 @@ @@ -38,7 +38,7 @@ index 0beaf19..3ba1ebd 100644 if(WEBP_FOUND) set(HAVE_WEBP 1) endif() -@@ -173,7 +173,7 @@ if(WITH_JASPER AND NOT HAVE_OPENJPEG) +@@ -186,7 +186,7 @@ if(WITH_JASPER AND NOT HAVE_OPENJPEG) if(BUILD_JASPER) ocv_clear_vars(JASPER_FOUND) else() @@ -47,7 +47,7 @@ index 0beaf19..3ba1ebd 100644 endif() if(NOT JASPER_FOUND) -@@ -197,7 +197,7 @@ if(WITH_PNG) +@@ -210,7 +210,7 @@ if(WITH_PNG) if(BUILD_PNG) ocv_clear_vars(PNG_FOUND) else() @@ -56,7 +56,7 @@ index 0beaf19..3ba1ebd 100644 if(PNG_FOUND) include(CheckIncludeFile) check_include_file("${PNG_PNG_INCLUDE_DIR}/libpng/png.h" HAVE_LIBPNG_PNG_H) -@@ -228,7 +228,7 @@ endif() +@@ -241,7 +241,7 @@ endif() if(WITH_OPENEXR) ocv_clear_vars(HAVE_OPENEXR) if(NOT BUILD_OPENEXR) @@ -65,7 +65,7 @@ index 0beaf19..3ba1ebd 100644 endif() if(OPENEXR_FOUND) -@@ -246,7 +246,7 @@ endif() +@@ -259,7 +259,7 @@ endif() # --- GDAL (optional) --- if(WITH_GDAL) @@ -74,7 +74,7 @@ index 0beaf19..3ba1ebd 100644 if(NOT GDAL_FOUND) set(HAVE_GDAL NO) -@@ -258,7 +258,7 @@ if(WITH_GDAL) +@@ -271,7 +271,7 @@ if(WITH_GDAL) endif() if (WITH_GDCM) diff --git a/ports/opencv4/0004-fix-policy-CMP0057.patch b/ports/opencv4/0004-fix-policy-CMP0057.patch index 7f0f0c0271ba01..8bff4f88b7be1b 100644 --- a/ports/opencv4/0004-fix-policy-CMP0057.patch +++ b/ports/opencv4/0004-fix-policy-CMP0057.patch @@ -1,9 +1,9 @@ diff --git a/modules/videoio/CMakeLists.txt b/modules/videoio/CMakeLists.txt -index c1c6754..360aa6b 100644 +index 12ff992..afd56eb 100644 --- a/modules/videoio/CMakeLists.txt +++ b/modules/videoio/CMakeLists.txt @@ -1,3 +1,4 @@ +cmake_minimum_required(VERSION 3.3) - set(VIDEOIO_PLUGIN_LIST "" CACHE STRING "List of videoio backends to be compiled as plugins (ffmpeg, gstreamer)") + set(VIDEOIO_PLUGIN_LIST "" CACHE STRING "List of videoio backends to be compiled as plugins (ffmpeg, gstreamer, mfx, msmf or special value 'all')") set(VIDEOIO_ENABLE_PLUGINS "ON" CACHE BOOL "Allow building videoio plugin support") set(VIDEOIO_ENABLE_STRICT_PLUGIN_CHECK "ON" CACHE BOOL "Make sure OpenCV version is the same in plugin and host code") diff --git a/ports/opencv4/0005-add-missing-stdexcept-include.patch b/ports/opencv4/0005-add-missing-stdexcept-include.patch index 4f0df7d06615e5..2a7d90ce071cf8 100644 --- a/ports/opencv4/0005-add-missing-stdexcept-include.patch +++ b/ports/opencv4/0005-add-missing-stdexcept-include.patch @@ -1,12 +1,12 @@ -diff --git a/modules/cvv/src/util/observer_ptr.hpp b/modules/cvv/src/util/observer_ptr.hpp -index fef3fea..68d1a80 100644 ---- a/modules/cvv/src/util/observer_ptr.hpp -+++ b/modules/cvv/src/util/observer_ptr.hpp -@@ -11,6 +11,7 @@ - #include //size_t - #include // [u]intXX_t - #include // since some people like to forget that one -+#include - - namespace cvv - { +diff --git a/modules/cvv/src/util/observer_ptr.hpp b/modules/cvv/src/util/observer_ptr.hpp +index fef3fea..68d1a80 100644 +--- a/modules/cvv/src/util/observer_ptr.hpp ++++ b/modules/cvv/src/util/observer_ptr.hpp +@@ -11,6 +11,7 @@ + #include //size_t + #include // [u]intXX_t + #include // since some people like to forget that one ++#include + + namespace cvv + { diff --git a/ports/opencv4/0006-fix-glog-abbreviated-severity.patch b/ports/opencv4/0006-fix-glog-abbreviated-severity.patch new file mode 100644 index 00000000000000..aafe61b1a5eb98 --- /dev/null +++ b/ports/opencv4/0006-fix-glog-abbreviated-severity.patch @@ -0,0 +1,12 @@ +diff --git a/modules/sfm/CMakeLists.txt b/modules/sfm/CMakeLists.txt +index 53a8d43..8809c88 100644 +--- a/modules/sfm/CMakeLists.txt ++++ b/modules/sfm/CMakeLists.txt +@@ -20,6 +20,7 @@ if((gflags_FOUND OR GFLAGS_FOUND OR GFLAGS_INCLUDE_DIRS) AND (glog_FOUND OR GLOG + ) + file(REMOVE "${_fname}") + message(STATUS "Checking SFM deps... ${SFM_DEPS_OK}") ++ add_definitions(-DGLOG_NO_ABBREVIATED_SEVERITIES) + else() + set(SFM_DEPS_OK FALSE) + endif() diff --git a/ports/opencv4/0006-jpeg2000_getref.patch b/ports/opencv4/0006-jpeg2000_getref.patch deleted file mode 100644 index 7b0fc09c0cb1ef..00000000000000 --- a/ports/opencv4/0006-jpeg2000_getref.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git a/modules/imgcodecs/src/grfmt_jpeg2000.cpp b/modules/imgcodecs/src/grfmt_jpeg2000.cpp ---- a/modules/imgcodecs/src/grfmt_jpeg2000.cpp -+++ b/modules/imgcodecs/src/grfmt_jpeg2000.cpp -@@ -375,13 +375,13 @@ - int lshift = MAX(0, -rshift); - rshift = MAX(0, rshift); - int delta = (rshift > 0 ? 1 << (rshift - 1) : 0) + offset; - - for( y = 0; y < yend - ystart; ) - { -- jas_seqent_t* pix_row = &jas_matrix_get( buffer, y / ystep, 0 ); -+ jas_seqent_t* pix_row = jas_matrix_getref( buffer, y / ystep, 0 ); - uchar* dst = data + (y - yoffset) * step - xoffset; - - if( xstep == 1 ) - { - if( maxval == 256 && offset == 0 ) - for( x = 0; x < xend - xstart; x++ ) -@@ -441,13 +441,13 @@ - int lshift = MAX(0, -rshift); - rshift = MAX(0, rshift); - int delta = (rshift > 0 ? 1 << (rshift - 1) : 0) + offset; - - for( y = 0; y < yend - ystart; ) - { -- jas_seqent_t* pix_row = &jas_matrix_get( buffer, y / ystep, 0 ); -+ jas_seqent_t* pix_row = jas_matrix_getref( buffer, y / ystep, 0 ); - ushort* dst = data + (y - yoffset) * step - xoffset; - - if( xstep == 1 ) - { - if( maxval == 65536 && offset == 0 ) - for( x = 0; x < xend - xstart; x++ ) diff --git a/ports/opencv4/0007-fix-vtk9-contrib.patch b/ports/opencv4/0007-fix-vtk9-contrib.patch deleted file mode 100644 index 1db18f1c640611..00000000000000 --- a/ports/opencv4/0007-fix-vtk9-contrib.patch +++ /dev/null @@ -1,470 +0,0 @@ -diff --git a/modules/viz/CMakeLists.txt b/modules/viz/CMakeLists.txt -index 89a9c3e098..3426e1dd26 100644 ---- a/modules/viz/CMakeLists.txt -+++ b/modules/viz/CMakeLists.txt -@@ -3,7 +3,9 @@ if(NOT HAVE_VTK) - endif() - - set(the_description "Viz") --include(${VTK_USE_FILE}) -+if(VTK_VERSION VERSION_LESS 8.90) -+ include(${VTK_USE_FILE}) -+endif() - - if(NOT BUILD_SHARED_LIBS) - # We observed conflict between builtin 3rdparty libraries and -diff --git a/modules/viz/src/precomp.hpp b/modules/viz/src/precomp.hpp -index f92fdb6ac2..4c4bf7c599 100644 ---- a/modules/viz/src/precomp.hpp -+++ b/modules/viz/src/precomp.hpp -@@ -133,7 +133,8 @@ - #include - #include - #include --#include "vtkCallbackCommand.h" -+#include -+#include - - #if !defined(_WIN32) || defined(__CYGWIN__) - # include /* unlink */ -@@ -149,6 +150,11 @@ - #include "vtk/vtkTrajectorySource.h" - #include "vtk/vtkImageMatSource.h" - -+#if VTK_MAJOR_VERSION >= 9 -+typedef vtkIdType const * CellIterT; -+#else -+typedef vtkIdType * CellIterT; -+#endif - - #include - #include -diff --git a/modules/viz/src/types.cpp b/modules/viz/src/types.cpp -index 65571a192e..0e14477891 100644 ---- a/modules/viz/src/types.cpp -+++ b/modules/viz/src/types.cpp -@@ -100,7 +100,8 @@ cv::viz::Mesh cv::viz::Mesh::load(const String& file, int type) - int* poly_ptr = mesh.polygons.ptr(); - - polygons->InitTraversal(); -- vtkIdType nr_cell_points, *cell_points; -+ vtkIdType nr_cell_points; -+ CellIterT cell_points; - while (polygons->GetNextCell(nr_cell_points, cell_points)) - { - *poly_ptr++ = nr_cell_points; -diff --git a/modules/viz/src/vizimpl.cpp b/modules/viz/src/vizimpl.cpp -index 2c291c0569..2c7ce997a4 100644 ---- a/modules/viz/src/vizimpl.cpp -+++ b/modules/viz/src/vizimpl.cpp -@@ -55,8 +55,17 @@ cv::viz::Viz3d::VizImpl::VizImpl(const String &name) : spin_once_state_(false), - - // Create render window - window_ = vtkSmartPointer::New(); -- cv::Vec2i window_size = cv::Vec2i(window_->GetScreenSize()) / 2; -- window_->SetSize(window_size.val); -+ int * sz = window_->GetScreenSize(); -+ if (sz) -+ { -+ cv::Vec2i window_size = cv::Vec2i(sz) / 2; -+ window_->SetSize(window_size.val); -+ } -+ else -+ { -+ int new_sz[2] = { 640, 480 }; -+ window_->SetSize(new_sz); -+ } - window_->AddRenderer(renderer_); - - // Create the interactor style -diff --git a/modules/viz/src/vtk/vtkOBJWriter.cpp b/modules/viz/src/vtk/vtkOBJWriter.cpp -index 296b6eb065..2e5764fc27 100644 ---- a/modules/viz/src/vtk/vtkOBJWriter.cpp -+++ b/modules/viz/src/vtk/vtkOBJWriter.cpp -@@ -72,7 +72,7 @@ void cv::viz::vtkOBJWriter::WriteData() - } - - vtkDebugMacro(<<"Opening vtk file for writing..."); -- ostream *outfilep = new ofstream(this->FileName, ios::out); -+ std::ostream *outfilep = new std::ofstream(this->FileName, ios::out); - if (outfilep->fail()) - { - vtkErrorMacro(<< "Unable to open file: "<< this->FileName); -@@ -127,7 +127,8 @@ void cv::viz::vtkOBJWriter::WriteData() - // write out verts if any - if (input->GetNumberOfVerts() > 0) - { -- vtkIdType npts = 0, *index = 0; -+ vtkIdType npts = 0; -+ CellIterT index = 0; - vtkCellArray *cells = input->GetVerts(); - for (cells->InitTraversal(); cells->GetNextCell(npts, index); ) - { -@@ -141,7 +142,8 @@ void cv::viz::vtkOBJWriter::WriteData() - // write out lines if any - if (input->GetNumberOfLines() > 0) - { -- vtkIdType npts = 0, *index = 0; -+ vtkIdType npts = 0; -+ CellIterT index = 0; - vtkCellArray *cells = input->GetLines(); - for (cells->InitTraversal(); cells->GetNextCell(npts, index); ) - { -@@ -162,7 +164,8 @@ void cv::viz::vtkOBJWriter::WriteData() - // write out polys if any - if (input->GetNumberOfPolys() > 0) - { -- vtkIdType npts = 0, *index = 0; -+ vtkIdType npts = 0; -+ CellIterT index = 0; - vtkCellArray *cells = input->GetPolys(); - for (cells->InitTraversal(); cells->GetNextCell(npts, index); ) - { -@@ -191,7 +194,8 @@ void cv::viz::vtkOBJWriter::WriteData() - // write out tstrips if any - if (input->GetNumberOfStrips() > 0) - { -- vtkIdType npts = 0, *index = 0; -+ vtkIdType npts = 0; -+ CellIterT index = 0; - vtkCellArray *cells = input->GetStrips(); - for (cells->InitTraversal(); cells->GetNextCell(npts, index); ) - { -diff --git a/modules/viz/src/vtk/vtkXYZReader.cpp b/modules/viz/src/vtk/vtkXYZReader.cpp -index 57726eae9b..3b9265fed6 100644 ---- a/modules/viz/src/vtk/vtkXYZReader.cpp -+++ b/modules/viz/src/vtk/vtkXYZReader.cpp -@@ -77,7 +77,7 @@ int cv::viz::vtkXYZReader::RequestData(vtkInformation*, vtkInformationVector**, - } - - // Open the input file. -- ifstream fin(this->FileName); -+ std::ifstream fin(this->FileName); - if(!fin) - { - vtkErrorMacro("Error opening file " << this->FileName); -diff --git a/modules/viz/src/vtk/vtkXYZWriter.cpp b/modules/viz/src/vtk/vtkXYZWriter.cpp -index cf95e3c6a0..56a26b38a0 100644 ---- a/modules/viz/src/vtk/vtkXYZWriter.cpp -+++ b/modules/viz/src/vtk/vtkXYZWriter.cpp -@@ -69,7 +69,7 @@ void cv::viz::vtkXYZWriter::WriteData() - } - - vtkDebugMacro(<<"Opening vtk file for writing..."); -- ostream *outfilep = new ofstream(this->FileName, ios::out); -+ std::ostream *outfilep = new std::ofstream(this->FileName, ios::out); - if (outfilep->fail()) - { - vtkErrorMacro(<< "Unable to open file: "<< this->FileName); - -diff --git a/modules/viz/test/test_tutorial2.cpp b/modules/viz/test/test_tutorial2.cpp -index 6b2972f0af..a4b5b99582 100644 ---- a/modules/viz/test/test_tutorial2.cpp -+++ b/modules/viz/test/test_tutorial2.cpp -@@ -28,7 +28,7 @@ static void tutorial2() - /// Rodrigues vector - Vec3d rot_vec = Vec3d::all(0); - double translation_phase = 0.0, translation = 0.0; -- while(!myWindow.wasStopped()) -+ for(unsigned num = 0; num < 50; ++num) - { - /* Rotation using rodrigues */ - /// Rotate around (1,1,1) -@@ -45,7 +45,7 @@ static void tutorial2() - - myWindow.setWidgetPose("Cube Widget", pose); - -- myWindow.spinOnce(1, true); -+ myWindow.spinOnce(100, true); - } - } - -diff --git a/modules/viz/test/test_tutorial3.cpp b/modules/viz/test/test_tutorial3.cpp -index 232130f0a6..32e33b1902 100644 ---- a/modules/viz/test/test_tutorial3.cpp -+++ b/modules/viz/test/test_tutorial3.cpp -@@ -48,7 +48,7 @@ static void tutorial3(bool camera_pov) - myWindow.setViewerPose(camera_pose); - - /// Start event loop. -- myWindow.spin(); -+ myWindow.spinOnce(500, true); - } - - TEST(Viz, tutorial3_global_view) -diff --git a/modules/viz/test/test_viz3d.cpp b/modules/viz/test/test_viz3d.cpp -index cdf8a00ad7..4ab05c3e0a 100644 ---- a/modules/viz/test/test_viz3d.cpp -+++ b/modules/viz/test/test_viz3d.cpp -@@ -59,7 +59,7 @@ TEST(Viz_viz3d, DISABLED_develop) - //cv::Mat cloud = cv::viz::readCloud(get_dragon_ply_file_path()); - //---->>>>> - -- viz.spin(); -+ viz.spinOnce(500, true); - } - - }} // namespace -diff --git a/modules/viz/test/tests_simple.cpp b/modules/viz/test/tests_simple.cpp -index 12d696dfba..5584483f4f 100644 ---- a/modules/viz/test/tests_simple.cpp -+++ b/modules/viz/test/tests_simple.cpp -@@ -56,7 +56,7 @@ TEST(Viz, show_cloud_bluberry) - viz.showWidget("dragon", WCloud(dragon_cloud, Color::bluberry()), pose); - - viz.showWidget("text2d", WText("Bluberry cloud", Point(20, 20), 20, Color::green())); -- viz.spin(); -+ viz.spinOnce(500, true); - } - - TEST(Viz, show_cloud_random_color) -@@ -73,7 +73,7 @@ TEST(Viz, show_cloud_random_color) - viz.showWidget("coosys", WCoordinateSystem()); - viz.showWidget("dragon", WCloud(dragon_cloud, colors), pose); - viz.showWidget("text2d", WText("Random color cloud", Point(20, 20), 20, Color::green())); -- viz.spin(); -+ viz.spinOnce(500, true); - } - - TEST(Viz, show_cloud_masked) -@@ -91,7 +91,7 @@ TEST(Viz, show_cloud_masked) - viz.showWidget("coosys", WCoordinateSystem()); - viz.showWidget("dragon", WCloud(dragon_cloud), pose); - viz.showWidget("text2d", WText("Nan masked cloud", Point(20, 20), 20, Color::green())); -- viz.spin(); -+ viz.spinOnce(500, true); - } - - TEST(Viz, show_cloud_collection) -@@ -109,7 +109,7 @@ TEST(Viz, show_cloud_collection) - viz.showWidget("coosys", WCoordinateSystem()); - viz.showWidget("ccol", ccol); - viz.showWidget("text2d", WText("Cloud collection", Point(20, 20), 20, Color::green())); -- viz.spin(); -+ viz.spinOnce(500, true); - } - - TEST(Viz, show_painted_clouds) -@@ -124,7 +124,7 @@ TEST(Viz, show_painted_clouds) - viz.showWidget("cloud3", WPaintedCloud(cloud, Vec3d(0.0, 0.0, -1.0), Vec3d(0.0, 0.0, 1.0), Color::blue(), Color::red())); - viz.showWidget("arrow", WArrow(Vec3d(0.0, 1.0, -1.0), Vec3d(0.0, 1.0, 1.0), 0.009, Color::raspberry())); - viz.showWidget("text2d", WText("Painted clouds", Point(20, 20), 20, Color::green())); -- viz.spin(); -+ viz.spinOnce(500, true); - } - - TEST(Viz, show_mesh) -@@ -137,7 +137,7 @@ TEST(Viz, show_mesh) - viz.showWidget("coosys", WCoordinateSystem()); - viz.showWidget("mesh", WMesh(mesh), pose); - viz.showWidget("text2d", WText("Just mesh", Point(20, 20), 20, Color::green())); -- viz.spin(); -+ viz.spinOnce(500, true); - } - - TEST(Viz, show_mesh_random_colors) -@@ -152,7 +152,7 @@ TEST(Viz, show_mesh_random_colors) - viz.showWidget("mesh", WMesh(mesh), pose); - viz.setRenderingProperty("mesh", SHADING, SHADING_PHONG); - viz.showWidget("text2d", WText("Random color mesh", Point(20, 20), 20, Color::green())); -- viz.spin(); -+ viz.spinOnce(500, true); - } - - TEST(Viz, show_widget_merger) -@@ -173,7 +173,7 @@ TEST(Viz, show_widget_merger) - viz.showWidget("coo", WCoordinateSystem()); - viz.showWidget("merger", merger); - viz.showWidget("text2d", WText("Widget merger", Point(20, 20), 20, Color::green())); -- viz.spin(); -+ viz.spinOnce(500, true); - } - - TEST(Viz, show_textured_mesh) -@@ -210,7 +210,7 @@ TEST(Viz, show_textured_mesh) - viz.showWidget("mesh", WMesh(mesh)); - viz.setRenderingProperty("mesh", SHADING, SHADING_PHONG); - viz.showWidget("text2d", WText("Textured mesh", Point(20, 20), 20, Color::green())); -- viz.spin(); -+ viz.spinOnce(500, true); - } - - TEST(Viz, show_polyline) -@@ -229,7 +229,7 @@ TEST(Viz, show_polyline) - viz.showWidget("polyline", WPolyLine(polyline, colors)); - viz.showWidget("coosys", WCoordinateSystem()); - viz.showWidget("text2d", WText("Polyline", Point(20, 20), 20, Color::green())); -- viz.spin(); -+ viz.spinOnce(500, true); - } - - TEST(Viz, show_sampled_normals) -@@ -244,7 +244,7 @@ TEST(Viz, show_sampled_normals) - viz.showWidget("normals", WCloudNormals(mesh.cloud, mesh.normals, 30, 0.1f, Color::green()), pose); - viz.setRenderingProperty("normals", LINE_WIDTH, 2.0); - viz.showWidget("text2d", WText("Cloud or mesh normals", Point(20, 20), 20, Color::green())); -- viz.spin(); -+ viz.spinOnce(500, true); - } - - TEST(Viz, show_cloud_shaded_by_normals) -@@ -260,7 +260,7 @@ TEST(Viz, show_cloud_shaded_by_normals) - Viz3d viz("show_cloud_shaded_by_normals"); - viz.showWidget("cloud", cloud, pose); - viz.showWidget("text2d", WText("Cloud shaded by normals", Point(20, 20), 20, Color::green())); -- viz.spin(); -+ viz.spinOnce(500, true); - } - - TEST(Viz, show_trajectories) -@@ -287,15 +287,15 @@ TEST(Viz, show_trajectories) - viz.showWidget("text2d", WText("Different kinds of supported trajectories", Point(20, 20), 20, Color::green())); - - int i = 0; -- while(!viz.wasStopped()) -+ for(unsigned num = 0; num < 50; ++num) - { - double a = --i % 360; - Vec3d pose(sin(a * CV_PI/180), 0.7, cos(a * CV_PI/180)); - viz.setViewerPose(makeCameraPose(pose * 7.5, Vec3d(0.0, 0.5, 0.0), Vec3d(0.0, 0.1, 0.0))); -- viz.spinOnce(20, true); -+ viz.spinOnce(100, true); - } - viz.resetCamera(); -- viz.spin(); -+ viz.spinOnce(500, true); - } - - TEST(Viz, show_trajectory_reposition) -@@ -306,7 +306,7 @@ TEST(Viz, show_trajectory_reposition) - viz.showWidget("coos", WCoordinateSystem()); - viz.showWidget("sub3", WTrajectory(Mat(path).rowRange(0, (int)path.size()/3), WTrajectory::BOTH, 0.2, Color::brown()), path.front().inv()); - viz.showWidget("text2d", WText("Trajectory resposition to origin", Point(20, 20), 20, Color::green())); -- viz.spin(); -+ viz.spinOnce(500, true); - } - - TEST(Viz, show_camera_positions) -@@ -330,7 +330,7 @@ TEST(Viz, show_camera_positions) - viz.showWidget("pos3", WCameraPosition(0.75), poses[1]); - viz.showWidget("pos4", WCameraPosition(K, gray, 3, Color::indigo()), poses[1]); - viz.showWidget("text2d", WText("Camera positions with images", Point(20, 20), 20, Color::green())); -- viz.spin(); -+ viz.spinOnce(500, true); - } - - TEST(Viz, show_overlay_image) -@@ -353,16 +353,16 @@ TEST(Viz, show_overlay_image) - viz.showWidget("text2d", WText("Overlay images", Point(20, 20), 20, Color::green())); - - int i = 0; -- while(!viz.wasStopped()) -+ for(unsigned num = 0; num < 50; ++num) - { - double a = ++i % 360; - Vec3d pose(sin(a * CV_PI/180), 0.7, cos(a * CV_PI/180)); - viz.setViewerPose(makeCameraPose(pose * 3, Vec3d(0.0, 0.5, 0.0), Vec3d(0.0, 0.1, 0.0))); - viz.getWidget("img1").cast().setImage(lena * pow(sin(i*10*CV_PI/180) * 0.5 + 0.5, 1.0)); -- viz.spinOnce(1, true); -+ viz.spinOnce(100, true); - } - viz.showWidget("text2d", WText("Overlay images (stopped)", Point(20, 20), 20, Color::green())); -- viz.spin(); -+ viz.spinOnce(500, true); - } - - -@@ -376,7 +376,7 @@ TEST(Viz, show_image_method) - viz.showImage(lena, lena.size()); - viz.spinOnce(1500, true); - -- cv::viz::imshow("show_image_method", make_gray(lena)).spin(); -+ cv::viz::imshow("show_image_method", make_gray(lena)).spinOnce(500, true); - } - - TEST(Viz, show_image_3d) -@@ -398,13 +398,13 @@ TEST(Viz, show_image_3d) - viz.showWidget("text2d", WText("Images in 3D", Point(20, 20), 20, Color::green())); - - int i = 0; -- while(!viz.wasStopped()) -+ for(unsigned num = 0; num < 50; ++num) - { - viz.getWidget("img0").cast().setImage(lena * pow(sin(i++*7.5*CV_PI/180) * 0.5 + 0.5, 1.0)); -- viz.spinOnce(1, true); -+ viz.spinOnce(100, true); - } - viz.showWidget("text2d", WText("Images in 3D (stopped)", Point(20, 20), 20, Color::green())); -- viz.spin(); -+ viz.spinOnce(500, true); - } - - TEST(Viz, show_simple_widgets) -@@ -431,10 +431,10 @@ TEST(Viz, show_simple_widgets) - - viz.showWidget("grid1", WGrid(Vec2i(7,7), Vec2d::all(0.75), Color::gray()), Affine3d().translate(Vec3d(0.0, 0.0, -1.0))); - -- viz.spin(); -+ viz.spinOnce(500, true); - viz.getWidget("text2d").cast().setText("Different simple widgets (updated)"); - viz.getWidget("text3d").cast().setText("Updated text 3D"); -- viz.spin(); -+ viz.spinOnce(500, true); - } - - TEST(Viz, show_follower) -@@ -446,9 +446,9 @@ TEST(Viz, show_follower) - viz.showWidget("t3d_2", WText3D("Simple 3D follower", Point3d(-0.5, -0.5, 0.5), 0.125, true, Color::green())); - viz.showWidget("text2d", WText("Follower: text always facing camera", Point(20, 20), 20, Color::green())); - viz.setBackgroundMeshLab(); -- viz.spin(); -+ viz.spinOnce(500, true); - viz.getWidget("t3d_2").cast().setText("Updated follower 3D"); -- viz.spin(); -+ viz.spinOnce(500, true); - } - - }} // namespace - -diff --git a/modules/viz/CMakeLists.txt b/modules/viz/CMakeLists.txt -index 3426e1dd26..cd225960ce 100644 ---- a/modules/viz/CMakeLists.txt -+++ b/modules/viz/CMakeLists.txt -@@ -3,9 +3,6 @@ if(NOT HAVE_VTK) - endif() - - set(the_description "Viz") --if(VTK_VERSION VERSION_LESS 8.90) -- include(${VTK_USE_FILE}) --endif() - - if(NOT BUILD_SHARED_LIBS) - # We observed conflict between builtin 3rdparty libraries and -@@ -37,7 +34,14 @@ ocv_add_accuracy_tests() - ocv_add_perf_tests() - ocv_add_samples(opencv_imgproc opencv_calib3d opencv_features2d opencv_flann) - --ocv_target_link_libraries(${the_module} PRIVATE ${VTK_LIBRARIES}) -+ -+if (VTK_VERSION VERSION_LESS "8.90.0") -+ include(${VTK_USE_FILE}) -+ ocv_target_link_libraries(${the_module} PRIVATE ${VTK_LIBRARIES}) -+else () -+ ocv_target_link_libraries(${the_module} PRIVATE ${VTK_LIBRARIES}) -+ vtk_module_autoinit(TARGETS ${the_module} MODULES ${VTK_LIBRARIES}) -+endif() - - if(APPLE AND BUILD_opencv_viz) - ocv_target_link_libraries(${the_module} PRIVATE "-framework Cocoa") -diff --git a/modules/viz/src/types.cpp b/modules/viz/src/types.cpp -index 0e14477891..e9a470cf83 100644 ---- a/modules/viz/src/types.cpp -+++ b/modules/viz/src/types.cpp -@@ -97,6 +97,7 @@ cv::viz::Mesh cv::viz::Mesh::load(const String& file, int type) - // Now handle the polygons - vtkSmartPointer polygons = polydata->GetPolys(); - mesh.polygons.create(1, polygons->GetSize(), CV_32SC1); -+ mesh.polygons = 0; - int* poly_ptr = mesh.polygons.ptr(); - - polygons->InitTraversal(); diff --git a/ports/opencv4/0008-fix-vtk9.patch b/ports/opencv4/0008-fix-vtk9.patch deleted file mode 100644 index 7942b0aa4d8b43..00000000000000 --- a/ports/opencv4/0008-fix-vtk9.patch +++ /dev/null @@ -1,41 +0,0 @@ -diff --git a/cmake/OpenCVDetectVTK.cmake b/cmake/OpenCVDetectVTK.cmake -index 0f2b958..4c83504 100644 ---- a/cmake/OpenCVDetectVTK.cmake -+++ b/cmake/OpenCVDetectVTK.cmake -@@ -1,12 +1,30 @@ -+# VTK 9.0 -+if(NOT VTK_FOUND) -+ find_package(VTK 9 QUIET NAMES vtk COMPONENTS -+ FiltersExtraction -+ FiltersSources -+ FiltersTexture -+ IOExport -+ IOGeometry -+ IOPLY -+ InteractionStyle -+ RenderingCore -+ RenderingLOD -+ RenderingOpenGL2 -+ NO_MODULE) -+endif() -+ - # VTK 6.x components --find_package(VTK QUIET COMPONENTS vtkInteractionStyle vtkRenderingLOD vtkIOPLY vtkFiltersTexture vtkRenderingFreeType vtkIOExport NO_MODULE) --IF(VTK_FOUND) -- IF(VTK_RENDERING_BACKEND) #in vtk 7, the rendering backend is exported as a var. -+if(NOT VTK_FOUND) -+ find_package(VTK QUIET COMPONENTS vtkInteractionStyle vtkRenderingLOD vtkIOPLY vtkFiltersTexture vtkRenderingFreeType vtkIOExport NO_MODULE) -+ IF(VTK_FOUND) -+ IF(VTK_RENDERING_BACKEND) #in vtk 7, the rendering backend is exported as a var. - find_package(VTK QUIET COMPONENTS vtkRendering${VTK_RENDERING_BACKEND} vtkInteractionStyle vtkRenderingLOD vtkIOPLY vtkFiltersTexture vtkRenderingFreeType vtkIOExport vtkIOGeometry NO_MODULE) -- ELSE(VTK_RENDERING_BACKEND) -+ ELSE(VTK_RENDERING_BACKEND) - find_package(VTK QUIET COMPONENTS vtkRenderingOpenGL vtkInteractionStyle vtkRenderingLOD vtkIOPLY vtkFiltersTexture vtkRenderingFreeType vtkIOExport NO_MODULE) -- ENDIF(VTK_RENDERING_BACKEND) --ENDIF(VTK_FOUND) -+ ENDIF(VTK_RENDERING_BACKEND) -+ ENDIF(VTK_FOUND) -+endif() - - # VTK 5.x components - if(NOT VTK_FOUND) diff --git a/ports/opencv4/0009-fix-uwp.patch b/ports/opencv4/0009-fix-uwp.patch index 1c40cf1e17d4aa..9ace8e2147333e 100644 --- a/ports/opencv4/0009-fix-uwp.patch +++ b/ports/opencv4/0009-fix-uwp.patch @@ -1,8 +1,8 @@ diff --git a/cmake/OpenCVModule.cmake b/cmake/OpenCVModule.cmake -index 9053957..d2b6412 100644 +index bd14aa2..58cd11e 100644 --- a/cmake/OpenCVModule.cmake +++ b/cmake/OpenCVModule.cmake -@@ -1196,7 +1196,7 @@ function(ocv_add_perf_tests) +@@ -1197,7 +1197,7 @@ function(ocv_add_perf_tests) set_target_properties(${the_target} PROPERTIES FOLDER "tests performance") endif() diff --git a/ports/opencv4/CONTROL b/ports/opencv4/CONTROL index baebc1c59cf635..5de96cd0be31c3 100644 --- a/ports/opencv4/CONTROL +++ b/ports/opencv4/CONTROL @@ -1,6 +1,5 @@ Source: opencv4 -Version: 4.3.0 -Port-Version: 5 +Version: 4.5.0 Build-Depends: zlib Homepage: https://github.com/opencv/opencv Description: computer vision library diff --git a/ports/opencv4/portfile.cmake b/ports/opencv4/portfile.cmake index 007ce8a26db024..21f6e227868e17 100644 --- a/ports/opencv4/portfile.cmake +++ b/ports/opencv4/portfile.cmake @@ -6,25 +6,33 @@ if (EXISTS "${CURRENT_INSTALLED_DIR}/share/opencv3") message(FATAL_ERROR "OpenCV 3 is installed, please uninstall and try again:\n vcpkg remove opencv3") endif() -set(OPENCV_VERSION "4.3.0") +set(OPENCV_VERSION "4.5.0") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO opencv/opencv REF ${OPENCV_VERSION} - SHA512 ac22b41fffa3e3138701fa0df0d19900b3ce72e168f4478ecdc593c5c9fd004b4b1b26612d62c25b681db99a8720db7a11b5b224e576e595624965fa79b0f383 + SHA512 c34100f3f3fe45f2115975350d23288a3badb32864ba0cbd32512387416d1cf10d16d3ef5f3d089d6a1c2be587d788d33997513fc015dbf7d774a622f2d3811f HEAD_REF master PATCHES 0001-disable-downloading.patch 0002-install-options.patch 0003-force-package-requirements.patch 0004-fix-policy-CMP0057.patch - 0006-jpeg2000_getref.patch - 0008-fix-vtk9.patch 0009-fix-uwp.patch 0010-fix-interface_link_libraries.patch # Remove this patch when the next update ) +if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(TARGET_IS_AARCH64 1) +elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") + set(TARGET_IS_ARM 1) +elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(TARGET_IS_X86_64 1) +else() + set(TARGET_IS_X86 1) +endif() + file(REMOVE "${SOURCE_PATH}/cmake/FindCUDNN.cmake") string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" BUILD_WITH_STATIC_CRT) @@ -66,13 +74,6 @@ if("dnn" IN_LIST FEATURES) endif() endif() -#OpenCV on arm on windows platform (non UWP) has serious problems right now. Disabling this module is not enough (remember to put the definition in vcpkg_configure_cmake) -#set(BUILD_opencv_surface_matching ON) -#if(VCPKG_TARGET_ARCHITECTURE MATCHES "arm") -# set(BUILD_opencv_surface_matching OFF) -# message(WARNING "The surface_matching module cannot be enabled on ARM architectures") -#endif() - set(BUILD_opencv_gapi ON) if(VCPKG_TARGET_IS_UWP) set(BUILD_opencv_gapi OFF) @@ -135,11 +136,11 @@ if("contrib" IN_LIST FEATURES) OUT_SOURCE_PATH CONTRIB_SOURCE_PATH REPO opencv/opencv_contrib REF ${OPENCV_VERSION} - SHA512 cfeda06a9f86ccaedbca9521c35bf685c3d8d3a182fb943f9378a7ecd1949d6e2e9df1673f0e3e9686840ca4c9e5a8e8cf2ac962a33b6e1f88f8278abd8c37e5 + SHA512 b2ae72e920c78472fd677281b8dd6f25872399d8ade97b0d3b0fc50bbabea8c00ea849d87bfb311ac148cef663481d0c89c0f6875578c052c1cc7ddcd70e6e17 HEAD_REF master PATCHES 0005-add-missing-stdexcept-include.patch - 0007-fix-vtk9-contrib.patch + 0006-fix-glog-abbreviated-severity.patch ) set(BUILD_WITH_CONTRIB_FLAG "-DOPENCV_EXTRA_MODULES_PATH=${CONTRIB_SOURCE_PATH}/modules") @@ -289,6 +290,12 @@ vcpkg_configure_cmake( PREFER_NINJA SOURCE_PATH ${SOURCE_PATH} OPTIONS + ###### opencv cpu recognition is broken, always using host and not target: here we bypass that + -DOPENCV_SKIP_SYSTEM_PROCESSOR_DETECTION=TRUE + -DAARCH64=${TARGET_IS_AARCH64} + -DX86_64=${TARGET_IS_X86_64} + -DX86=${TARGET_IS_X86} + -DARM=${TARGET_IS_ARM} ###### ocv_options -DOpenCV_INSTALL_BINARIES_PREFIX= -DOPENCV_BIN_INSTALL_PATH=bin @@ -351,13 +358,15 @@ vcpkg_configure_cmake( ###### customized properties ## Options from vcpkg_check_features() ${FEATURE_OPTIONS} - -DHALIDE_ROOT_DIR=${CURRENT_INSTALLED_DIR} -DCMAKE_DISABLE_FIND_PACKAGE_Halide=ON + -DHALIDE_ROOT_DIR=${CURRENT_INSTALLED_DIR} -DWITH_GTK=OFF -DWITH_IPP=${WITH_IPP} + -DWITH_MATLAB=OFF -DWITH_MSMF=${WITH_MSMF} -DWITH_OPENMP=${WITH_OPENMP} -DWITH_PROTOBUF=${BUILD_opencv_dnn} + -DWITH_OPENCLAMDBLAS=OFF -DWITH_TBB=${WITH_TBB} -DWITH_OPENJPEG=OFF ###### BUILD_options (mainly modules which require additional libraries) @@ -421,12 +430,12 @@ find_dependency(Tesseract)") if("eigen" IN_LIST FEATURES) string(APPEND DEPS_STRING "\nfind_dependency(Eigen3 CONFIG)") endif() - if("openexr" IN_LIST FEATURES) - string(APPEND DEPS_STRING "\nfind_dependency(OpenEXR CONFIG)") - endif() if("lapack" IN_LIST FEATURES) string(APPEND DEPS_STRING "\nfind_dependency(LAPACK)") endif() + if("openexr" IN_LIST FEATURES) + string(APPEND DEPS_STRING "\nfind_dependency(OpenEXR CONFIG)") + endif() if(WITH_OPENMP) string(APPEND DEPS_STRING "\nfind_dependency(OpenMP)") endif() @@ -464,6 +473,7 @@ find_dependency(Qt5 COMPONENTS OpenGL Concurrent Test)") file(WRITE ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules.cmake "${OPENCV_MODULES}") + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) endif() diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index f4d376c7b3dce1..a44f6881eaff38 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -366,7 +366,7 @@ gdal:x64-windows-static-md=fail geos:arm-uwp=fail geos:x64-uwp=fail -# Port geotrans source ftp://ftp.nga.mil server +# Port geotrans source ftp://ftp.nga.mil server # extremely slow may take several hours to download geotrans:x64-linux = skip geotrans:x64-windows = skip @@ -893,9 +893,9 @@ memorymodule:arm-uwp=fail memorymodule:x64-linux=fail memorymodule:x64-osx=fail memorymodule:x64-uwp=fail -# Due to static crt. +# Due to static crt. mesa:x64-windows-static=fail -# Missing dependent libraries. +# Missing dependent libraries. mesa:x64-linux=fail mesa:x64-osx=fail meschach:arm-uwp=fail @@ -1136,8 +1136,6 @@ opencv3:x64-windows = skip opencv3:x64-windows-static = skip opencv3:x64-windows-static-md=skip opencv3:x86-windows = skip -opencv4:arm64-windows = fail -opencv4:arm-uwp = fail opendnp3:x64-uwp=fail opendnp3:arm-uwp=fail openexr:arm64-windows=fail @@ -1802,7 +1800,6 @@ open62541:x64-windows-static-md=fail pngpp:x64-windows-static-md=fail portmidi:x64-windows-static-md=fail pthreads:x64-windows-static-md=fail -qt5-tools:x64-windows-static-md=fail quantlib:x64-windows-static-md=fail readosm:x64-windows-static-md=fail sentencepiece:x64-windows-static-md=fail diff --git a/versions/baseline.json b/versions/baseline.json index 58d1198f7082bd..a76263660b5bec 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -4217,12 +4217,12 @@ "port-version": 5 }, "opencv3": { - "baseline": "3.4.10", - "port-version": 5 + "baseline": "3.4.12", + "port-version": 0 }, "opencv4": { - "baseline": "4.3.0", - "port-version": 5 + "baseline": "4.5.0", + "port-version": 0 }, "opendnp3": { "baseline": "3.1.0", diff --git a/versions/o-/opencv3.json b/versions/o-/opencv3.json index 31859a5aa8ee6f..33d47557a84388 100644 --- a/versions/o-/opencv3.json +++ b/versions/o-/opencv3.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "a0dfe03c4db4fb9532b888399deee675750eef61", + "version-string": "3.4.12", + "port-version": 0 + }, { "git-tree": "a761625dd5d17548aaa9611295ace23ca8bc27fc", "version-string": "3.4.10", diff --git a/versions/o-/opencv4.json b/versions/o-/opencv4.json index b326830fb5f9d0..5a2934e9d49f23 100644 --- a/versions/o-/opencv4.json +++ b/versions/o-/opencv4.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "cdf704950d37ce677508db67c081f9aeda18b9cd", + "version-string": "4.5.0", + "port-version": 0 + }, { "git-tree": "f6fbdfab1e9ac01652b51f2251715c2be05a6567", "version-string": "4.3.0", From 0e4d6f084f95584b7fc7460509821115f1868d30 Mon Sep 17 00:00:00 2001 From: ras0219 <533828+ras0219@users.noreply.github.com> Date: Fri, 22 Jan 2021 12:25:40 -0800 Subject: [PATCH 0011/1735] [ceres] Mark all dependencies REQUIRED (#15802) * [ceres] Mark all dependencies REQUIRED * [suitesparse] Fix FindCXSparse.cmake * [ceres] Add version to db Co-authored-by: Robert Schumacher --- ports/ceres/find-package-required.patch | 58 +++++++++++++++++++++++++ ports/ceres/portfile.cmake | 1 + ports/ceres/vcpkg.json | 4 +- ports/suitesparse/CONTROL | 5 --- ports/suitesparse/FindCXSparse.cmake | 8 ++-- ports/suitesparse/vcpkg.json | 11 +++++ versions/baseline.json | 4 +- versions/c-/ceres.json | 5 +++ versions/s-/suitesparse.json | 5 +++ 9 files changed, 87 insertions(+), 14 deletions(-) create mode 100644 ports/ceres/find-package-required.patch delete mode 100644 ports/suitesparse/CONTROL create mode 100644 ports/suitesparse/vcpkg.json diff --git a/ports/ceres/find-package-required.patch b/ports/ceres/find-package-required.patch new file mode 100644 index 00000000000000..aae9cccdd47aa3 --- /dev/null +++ b/ports/ceres/find-package-required.patch @@ -0,0 +1,58 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b6a3d05..a78c027 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -245,7 +245,7 @@ if (EIGEN3_FOUND) + endif (EIGEN3_FOUND) + + if (LAPACK) +- find_package(LAPACK QUIET) ++ find_package(LAPACK REQUIRED) + if (LAPACK_FOUND) + message("-- Found LAPACK library: ${LAPACK_LIBRARIES}") + else (LAPACK_FOUND) +@@ -263,7 +263,7 @@ if (SUITESPARSE) + # built with SuiteSparse support. + + # Check for SuiteSparse and dependencies. +- find_package(SuiteSparse) ++ find_package(SuiteSparse REQUIRED) + if (SUITESPARSE_FOUND) + # On Ubuntu the system install of SuiteSparse (v3.4.0) up to at least + # Ubuntu 13.10 cannot be used to link shared libraries. +@@ -300,7 +300,7 @@ endif (SUITESPARSE) + # CXSparse. + if (CXSPARSE) + # Don't search with REQUIRED as we can continue without CXSparse. +- find_package(CXSparse) ++ find_package(CXSparse REQUIRED) + if (CXSPARSE_FOUND) + # By default, if CXSparse and all dependencies are found, Ceres is + # built with CXSparse support. +@@ -336,7 +336,7 @@ endif(NOT SUITESPARSE AND NOT CXSPARSE AND NOT EIGENSPARSE) + # GFlags. + if (GFLAGS) + # Don't search with REQUIRED as we can continue without gflags. +- find_package(gflags 2.2.0) ++ find_package(gflags REQUIRED) + if (gflags_FOUND) + if (TARGET gflags) + message("-- Found Google Flags (gflags) version ${gflags_VERSION}: ${gflags_DIR}") +@@ -537,7 +537,7 @@ else (NOT OPENMP AND NOT TBB AND NOT CXX11_THREADS) + set_ceres_threading_model("${CERES_THREADING_MODEL}") + + if (BUILD_BENCHMARKS) +- find_package(benchmark QUIET) ++ find_package(benchmark REQUIRED) + if (benchmark_FOUND) + message("-- Found Google benchmark library. Building Ceres benchmarks.") + else() +@@ -782,7 +782,7 @@ if (BUILD_DOCUMENTATION) + set(CERES_DOCS_INSTALL_DIR "share/doc/ceres" CACHE STRING + "Ceres docs install path relative to CMAKE_INSTALL_PREFIX") + +- find_package(Sphinx QUIET) ++ find_package(Sphinx REQUIRED) + if (NOT SPHINX_FOUND) + message("-- Failed to find Sphinx, disabling build of documentation.") + update_cache_variable(BUILD_DOCUMENTATION OFF) diff --git a/ports/ceres/portfile.cmake b/ports/ceres/portfile.cmake index e581306236a28b..6b67a7797b7ee8 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 + find-package-required.patch ) file(REMOVE ${SOURCE_PATH}/cmake/FindCXSparse.cmake) diff --git a/ports/ceres/vcpkg.json b/ports/ceres/vcpkg.json index d89a0179f90fa3..55e5b30e1752d1 100644 --- a/ports/ceres/vcpkg.json +++ b/ports/ceres/vcpkg.json @@ -1,7 +1,7 @@ { "name": "ceres", - "version-string": "2.0.0", - "port-version": 2, + "version-semver": "2.0.0", + "port-version": 3, "description": "non-linear optimization package", "homepage": "https://github.com/ceres-solver/ceres-solver", "dependencies": [ diff --git a/ports/suitesparse/CONTROL b/ports/suitesparse/CONTROL deleted file mode 100644 index 832306d5a8c37f..00000000000000 --- a/ports/suitesparse/CONTROL +++ /dev/null @@ -1,5 +0,0 @@ -Source: suitesparse -Version: 5.8.0 -Build-Depends: lapack, metis -Homepage: http://suitesparse.com -Description: algebra library diff --git a/ports/suitesparse/FindCXSparse.cmake b/ports/suitesparse/FindCXSparse.cmake index 94ba41e045f786..65d596acaea2c1 100644 --- a/ports/suitesparse/FindCXSparse.cmake +++ b/ports/suitesparse/FindCXSparse.cmake @@ -33,9 +33,8 @@ include(${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake) include(${CMAKE_ROOT}/Modules/SelectLibraryConfigurations.cmake) -include(${CMAKE_ROOT}/Modules/CMakeFindDependencyMacro.cmake) -find_path(CXSPARSE_INCLUDE_DIR NAMES cs.h) +find_path(CXSPARSE_INCLUDE_DIR NAMES cs.h PATH_SUFFIXES suitesparse) find_library(CXSPARSE_LIBRARY_RELEASE NAMES cxsparse libcxsparse) find_library(CXSPARSE_LIBRARY_DEBUG NAMES cxsparsed libcxsparsed) @@ -65,11 +64,10 @@ endif() include(FindPackageHandleStandardArgs) find_package_handle_standard_args(CXSparse - REQUIRED_VARS CXSPARSE_INCLUDE_DIRS CXSPARSE_LIBRARIES + REQUIRED_VARS CXSPARSE_INCLUDE_DIR CXSPARSE_LIBRARIES VERSION_VAR CXSPARSE_VERSION) set(CXSPARSE_FOUND ${CXSparse_FOUND}) set(CXSPARSE_INCLUDE_DIRS ${CXSPARSE_INCLUDE_DIR}) -set(CXSPARSE_LIBRARIES ${CXSPARSE_LIBRARY}) set(CXSparse_INCLUDE_DIRS ${CXSPARSE_INCLUDE_DIR}) -set(CXSparse_LIBRARIES ${CXSPARSE_LIBRARY}) +set(CXSparse_LIBRARIES ${CXSPARSE_LIBRARIES}) diff --git a/ports/suitesparse/vcpkg.json b/ports/suitesparse/vcpkg.json new file mode 100644 index 00000000000000..71f44d7242847e --- /dev/null +++ b/ports/suitesparse/vcpkg.json @@ -0,0 +1,11 @@ +{ + "name": "suitesparse", + "version-semver": "5.8.0", + "port-version": 1, + "description": "A suite of sparse matrix algorithms. Also provides libcxsparse.", + "homepage": "http://suitesparse.com", + "dependencies": [ + "lapack", + "metis" + ] +} diff --git a/versions/baseline.json b/versions/baseline.json index a76263660b5bec..f24351b870008e 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -1110,7 +1110,7 @@ }, "ceres": { "baseline": "2.0.0", - "port-version": 2 + "port-version": 3 }, "cfitsio": { "baseline": "3.49", @@ -5570,7 +5570,7 @@ }, "suitesparse": { "baseline": "5.8.0", - "port-version": 0 + "port-version": 1 }, "sundials": { "baseline": "5.5.0", diff --git a/versions/c-/ceres.json b/versions/c-/ceres.json index 5071e44c890c37..0ea9c26c4e584e 100644 --- a/versions/c-/ceres.json +++ b/versions/c-/ceres.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "bfe64de75017dfef5a1dbd6b034078a0316201c8", + "version-semver": "2.0.0", + "port-version": 3 + }, { "git-tree": "216c1a351f8af9be7952bd5dfcf262a66e24c11e", "version-string": "2.0.0", diff --git a/versions/s-/suitesparse.json b/versions/s-/suitesparse.json index c449b468544b75..8e99fa85061b4a 100644 --- a/versions/s-/suitesparse.json +++ b/versions/s-/suitesparse.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "4c709290c9cc6e7635c120dbd5cd9d227408a0ab", + "version-semver": "5.8.0", + "port-version": 1 + }, { "git-tree": "cafd2cb5688d179f1ca502ae8e1ce421db1c7ef5", "version-string": "5.8.0", From 3b433e5081f35a32331492d98a8b0c1c2477048e Mon Sep 17 00:00:00 2001 From: ras0219 <533828+ras0219@users.noreply.github.com> Date: Fri, 22 Jan 2021 12:26:01 -0800 Subject: [PATCH 0012/1735] [vcpkg] Fix regression in error messages with registries/versioning (#15709) * [vcpkg] Fix regression in error messages with registries/versioning * [vcpkg] Clean up redundant re-parsing with try_load_overlay_port * [vcpkg] Deduplicate PathsPortfileProvider * [vcpkg] Restore uses of Checks::exit_maybe_upgrade after merge --- toolsrc/include/vcpkg/paragraphs.h | 2 +- toolsrc/include/vcpkg/portfileprovider.h | 26 +- toolsrc/include/vcpkg/registries.h | 2 - toolsrc/src/vcpkg-test/dependencies.cpp | 10 + toolsrc/src/vcpkg/commands.portsdiff.cpp | 3 +- toolsrc/src/vcpkg/paragraphs.cpp | 6 +- toolsrc/src/vcpkg/portfileprovider.cpp | 508 ++++++++++------------- toolsrc/src/vcpkg/registries.cpp | 200 ++++----- 8 files changed, 324 insertions(+), 433 deletions(-) diff --git a/toolsrc/include/vcpkg/paragraphs.h b/toolsrc/include/vcpkg/paragraphs.h index 0293f0733f9927..b376eef816e29c 100644 --- a/toolsrc/include/vcpkg/paragraphs.h +++ b/toolsrc/include/vcpkg/paragraphs.h @@ -56,5 +56,5 @@ namespace vcpkg::Paragraphs LoadResults try_load_all_registry_ports(const VcpkgPaths& paths); std::vector load_all_registry_ports(const VcpkgPaths& paths); - std::vector load_overlay_ports(const VcpkgPaths& paths, const fs::path& dir); + std::vector load_overlay_ports(const Files::Filesystem& fs, const fs::path& dir); } diff --git a/toolsrc/include/vcpkg/portfileprovider.h b/toolsrc/include/vcpkg/portfileprovider.h index d297af73994a7d..979004f94e0d8d 100644 --- a/toolsrc/include/vcpkg/portfileprovider.h +++ b/toolsrc/include/vcpkg/portfileprovider.h @@ -28,18 +28,6 @@ namespace vcpkg::PortFileProvider const std::unordered_map& ports; }; - struct PathsPortFileProvider : Util::ResourceBase, PortFileProvider - { - explicit PathsPortFileProvider(const vcpkg::VcpkgPaths& paths, const std::vector& overlay_ports); - ExpectedS get_control_file(const std::string& src_name) const override; - std::vector load_all_control_files() const override; - - private: - const VcpkgPaths& paths; - std::vector overlay_ports; - mutable std::unordered_map cache; - }; - struct IVersionedPortfileProvider { virtual View get_port_versions(StringView port_name) const = 0; @@ -47,6 +35,7 @@ namespace vcpkg::PortFileProvider virtual ExpectedS get_control_file( const Versions::VersionSpec& version_spec) const = 0; + virtual void load_all_control_files(std::map& out) const = 0; }; struct IBaselineProvider @@ -59,6 +48,19 @@ namespace vcpkg::PortFileProvider { virtual ~IOverlayProvider() = default; virtual Optional get_control_file(StringView port_name) const = 0; + virtual void load_all_control_files(std::map& out) const = 0; + }; + + struct PathsPortFileProvider : Util::ResourceBase, PortFileProvider + { + explicit PathsPortFileProvider(const vcpkg::VcpkgPaths& paths, const std::vector& overlay_ports); + ExpectedS get_control_file(const std::string& src_name) const override; + std::vector load_all_control_files() const override; + + private: + std::unique_ptr m_baseline; + std::unique_ptr m_versioned; + std::unique_ptr m_overlay; }; std::unique_ptr make_baseline_provider(const vcpkg::VcpkgPaths& paths); diff --git a/toolsrc/include/vcpkg/registries.h b/toolsrc/include/vcpkg/registries.h index 74782859dad30f..9c07f1a6092227 100644 --- a/toolsrc/include/vcpkg/registries.h +++ b/toolsrc/include/vcpkg/registries.h @@ -54,8 +54,6 @@ namespace vcpkg View packages() const { return packages_; } const RegistryImplementation& implementation() const { return *implementation_; } - static std::unique_ptr builtin_registry(std::string&& baseline = {}); - friend RegistrySet; // for experimental_set_builtin_registry_baseline private: diff --git a/toolsrc/src/vcpkg-test/dependencies.cpp b/toolsrc/src/vcpkg-test/dependencies.cpp index 8f936abc38e17f..c6241ebe010220 100644 --- a/toolsrc/src/vcpkg-test/dependencies.cpp +++ b/toolsrc/src/vcpkg-test/dependencies.cpp @@ -78,6 +78,11 @@ struct MockVersionedPortfileProvider : PortFileProvider::IVersionedPortfileProvi } return it2->second; } + + virtual void load_all_control_files(std::map&) const override + { + Checks::unreachable(VCPKG_LINE_INFO); + } }; using Versions::Constraint; @@ -190,6 +195,11 @@ struct MockOverlayProvider : PortFileProvider::IOverlayProvider, Util::ResourceB return it->second; } + virtual void load_all_control_files(std::map&) const override + { + Checks::unreachable(VCPKG_LINE_INFO); + } + private: std::map> mappings; }; diff --git a/toolsrc/src/vcpkg/commands.portsdiff.cpp b/toolsrc/src/vcpkg/commands.portsdiff.cpp index 38a1c91cba52f4..18e3a9d910ad4c 100644 --- a/toolsrc/src/vcpkg/commands.portsdiff.cpp +++ b/toolsrc/src/vcpkg/commands.portsdiff.cpp @@ -104,8 +104,7 @@ namespace vcpkg::Commands::PortsDiff System::cmd_execute_and_capture_output(cmd, System::get_clean_environment()); System::cmd_execute_and_capture_output(System::Command(git_exe).string_arg("reset"), System::get_clean_environment()); - const auto ports_at_commit = - Paragraphs::load_overlay_ports(paths, temp_checkout_path / ports_dir_name_as_string); + const auto ports_at_commit = Paragraphs::load_overlay_ports(fs, temp_checkout_path / ports_dir_name_as_string); std::map names_and_versions; for (auto&& port : ports_at_commit) { diff --git a/toolsrc/src/vcpkg/paragraphs.cpp b/toolsrc/src/vcpkg/paragraphs.cpp index 2d28c49d705d6c..dc93ee2db597ff 100644 --- a/toolsrc/src/vcpkg/paragraphs.cpp +++ b/toolsrc/src/vcpkg/paragraphs.cpp @@ -353,6 +353,7 @@ namespace vcpkg::Paragraphs error_info->name = fs::u8string(path.filename()); error_info->error = Strings::format( "Failed to load manifest file for port: %s\n", fs::u8string(path_to_manifest), ec.message()); + return error_info; } return res; @@ -491,13 +492,10 @@ namespace vcpkg::Paragraphs return std::move(results.paragraphs); } - std::vector load_overlay_ports(const VcpkgPaths& paths, const fs::path& directory) + std::vector load_overlay_ports(const Files::Filesystem& fs, const fs::path& directory) { LoadResults ret; - std::vector port_names; - - const auto& fs = paths.get_filesystem(); auto port_dirs = fs.get_files_non_recursive(directory); Util::sort(port_dirs); diff --git a/toolsrc/src/vcpkg/portfileprovider.cpp b/toolsrc/src/vcpkg/portfileprovider.cpp index d2a37c4b3ca619..47aa2976c78845 100644 --- a/toolsrc/src/vcpkg/portfileprovider.cpp +++ b/toolsrc/src/vcpkg/portfileprovider.cpp @@ -57,251 +57,37 @@ namespace vcpkg::PortFileProvider return Util::fmap(ports, [](auto&& kvpair) -> const SourceControlFileLocation* { return &kvpair.second; }); } - PathsPortFileProvider::PathsPortFileProvider(const VcpkgPaths& paths_, - const std::vector& overlay_ports_) - : paths(paths_) + PathsPortFileProvider::PathsPortFileProvider(const VcpkgPaths& paths, const std::vector& overlay_ports) + : m_baseline(make_baseline_provider(paths)) + , m_versioned(make_versioned_portfile_provider(paths)) + , m_overlay(make_overlay_provider(paths, overlay_ports)) { - auto& fs = paths.get_filesystem(); - for (auto&& overlay_path : overlay_ports_) - { - if (!overlay_path.empty()) - { - auto overlay = fs::u8path(overlay_path); - if (overlay.is_absolute()) - { - overlay = fs.canonical(VCPKG_LINE_INFO, overlay); - } - else - { - overlay = fs.canonical(VCPKG_LINE_INFO, paths.original_cwd / overlay); - } - - Debug::print("Using overlay: ", fs::u8string(overlay), "\n"); - - Checks::check_exit( - VCPKG_LINE_INFO, fs.exists(overlay), "Error: Path \"%s\" does not exist", fs::u8string(overlay)); - - Checks::check_exit(VCPKG_LINE_INFO, - fs::is_directory(fs.status(VCPKG_LINE_INFO, overlay)), - "Error: Path \"%s\" must be a directory", - overlay.string()); - - overlay_ports.emplace_back(overlay); - } - } - } - - static std::unique_ptr try_load_overlay_port(const Files::Filesystem& fs, - View overlay_ports, - const std::string& spec) - { - for (auto&& ports_dir : overlay_ports) - { - // Try loading individual port - if (Paragraphs::is_port_directory(fs, ports_dir)) - { - auto maybe_scf = Paragraphs::try_load_port(fs, ports_dir); - if (auto scfp = maybe_scf.get()) - { - auto& scf = *scfp; - if (scf->core_paragraph->name == spec) - { - return std::make_unique(fs::path(ports_dir), scf->to_versiont()); - } - } - else - { - print_error_message(maybe_scf.error()); - Checks::exit_maybe_upgrade( - VCPKG_LINE_INFO, "Error: Failed to load port %s from %s", spec, fs::u8string(ports_dir)); - } - - continue; - } - - auto ports_spec = ports_dir / fs::u8path(spec); - if (Paragraphs::is_port_directory(fs, ports_spec)) - { - auto found_scf = Paragraphs::try_load_port(fs, ports_spec); - if (auto scfp = found_scf.get()) - { - auto& scf = *scfp; - if (scf->core_paragraph->name == spec) - { - return std::make_unique(std::move(ports_spec), scf->to_versiont()); - } - Checks::exit_maybe_upgrade(VCPKG_LINE_INFO, - "Error: Failed to load port from %s: names did not match: '%s' != '%s'", - fs::u8string(ports_spec), - spec, - scf->core_paragraph->name); - } - else - { - print_error_message(found_scf.error()); - Checks::exit_maybe_upgrade( - VCPKG_LINE_INFO, "Error: Failed to load port %s from %s", spec, fs::u8string(ports_dir)); - } - } - } - return nullptr; - } - - static std::pair, Optional> try_load_registry_port_and_baseline( - const VcpkgPaths& paths, const std::string& spec) - { - if (auto registry = paths.get_configuration().registry_set.registry_for_port(spec)) - { - auto entry = registry->get_port_entry(paths, spec); - auto maybe_baseline = registry->get_baseline_version(paths, spec); - if (entry) - { - if (!maybe_baseline) - { - if (entry->get_port_versions().size() == 1) - { - maybe_baseline = entry->get_port_versions()[0]; - } - } - return {std::move(entry), std::move(maybe_baseline)}; - } - else - { - Debug::print("Failed to find port `", spec, "` in registry: no entry found.\n"); - } - } - else - { - Debug::print("Failed to find registry for port: `", spec, "`.\n"); - } - - return {nullptr, nullopt}; } ExpectedS PathsPortFileProvider::get_control_file(const std::string& spec) const { - auto cache_it = cache.find(spec); - if (cache_it == cache.end()) + auto maybe_scfl = m_overlay->get_control_file(spec); + if (auto scfl = maybe_scfl.get()) { - const auto& fs = paths.get_filesystem(); - - std::unique_ptr port; - VersionT port_version; - - auto maybe_overlay_port = try_load_overlay_port(fs, overlay_ports, spec); - if (maybe_overlay_port) - { - port_version = maybe_overlay_port->version; - port = std::move(maybe_overlay_port); - } - else - { - auto maybe_registry_port = try_load_registry_port_and_baseline(paths, spec); - port = std::move(maybe_registry_port.first); - if (auto version = maybe_registry_port.second.get()) - { - port_version = std::move(*version); - } - else if (port) - { - return std::string("No baseline version available."); - } - } - - if (port) - { - auto maybe_port_path = port->get_path_to_version(paths, port_version); - if (!maybe_port_path.has_value()) - { - return std::move(maybe_port_path.error()); - } - auto port_path = std::move(maybe_port_path).value_or_exit(VCPKG_LINE_INFO); - - auto maybe_scfl = Paragraphs::try_load_port(fs, port_path); - if (auto p = maybe_scfl.get()) - { - auto maybe_error = (*p)->check_against_feature_flags(port_path, paths.get_feature_flags()); - if (maybe_error) return std::move(*maybe_error.get()); - - cache_it = - cache.emplace(spec, SourceControlFileLocation{std::move(*p), std::move(port_path)}).first; - } - else - { - return Strings::format("Error: when loading port `%s` from directory `%s`:\n%s\n", - spec, - fs::u8string(port_path), - maybe_scfl.error()->error); - } - } + return *scfl; } - - if (cache_it == cache.end()) + auto maybe_baseline = m_baseline->get_baseline_version(spec); + if (auto baseline = maybe_baseline.get()) { - return std::string("Port definition not found"); + return m_versioned->get_control_file({spec, *baseline}); } else { - return cache_it->second; + return Strings::concat("Error: unable to get baseline for port ", spec); } } std::vector PathsPortFileProvider::load_all_control_files() const { - // Reload cache with ports contained in all ports_dirs - cache.clear(); - std::vector ret; - - for (const fs::path& ports_dir : overlay_ports) - { - // Try loading individual port - if (Paragraphs::is_port_directory(paths.get_filesystem(), ports_dir)) - { - auto maybe_scf = Paragraphs::try_load_port(paths.get_filesystem(), ports_dir); - if (auto scf = maybe_scf.get()) - { - auto port_name = scf->get()->core_paragraph->name; - if (cache.find(port_name) == cache.end()) - { - auto scfl = SourceControlFileLocation{std::move(*scf), ports_dir}; - auto it = cache.emplace(std::move(port_name), std::move(scfl)); - ret.emplace_back(&it.first->second); - } - } - else - { - print_error_message(maybe_scf.error()); - Checks::exit_maybe_upgrade( - VCPKG_LINE_INFO, "Error: Failed to load port from %s", fs::u8string(ports_dir)); - } - continue; - } - - // Try loading all ports inside ports_dir - auto found_scfls = Paragraphs::load_overlay_ports(paths, ports_dir); - for (auto&& scfl : found_scfls) - { - auto port_name = scfl.source_control_file->core_paragraph->name; - if (cache.find(port_name) == cache.end()) - { - auto it = cache.emplace(std::move(port_name), std::move(scfl)); - ret.emplace_back(&it.first->second); - } - } - } - - auto all_ports = Paragraphs::load_all_registry_ports(paths); - for (auto&& scfl : all_ports) - { - auto port_name = scfl.source_control_file->core_paragraph->name; - if (cache.find(port_name) == cache.end()) - { - auto it = cache.emplace(port_name, std::move(scfl)); - ret.emplace_back(&it.first->second); - } - } - - return ret; + std::map m; + m_overlay->load_all_control_files(m); + m_versioned->load_all_control_files(m); + return Util::fmap(m, [](const auto& p) { return p.second; }); } namespace @@ -334,104 +120,158 @@ namespace vcpkg::PortFileProvider { VersionedPortfileProviderImpl(const VcpkgPaths& paths_) : paths(paths_) { } - virtual View get_port_versions(StringView port_name) const override + const ExpectedS>& entry(StringView name) const { - auto entry_it = m_entry_cache.find(port_name.to_string()); - if (entry_it != m_entry_cache.end()) - { - return entry_it->second->get_port_versions(); - } - - auto entry = try_load_registry_port_and_baseline(paths, port_name.to_string()); - if (!entry.first) + auto entry_it = m_entry_cache.find(name); + if (entry_it == m_entry_cache.end()) { - Checks::exit_maybe_upgrade( - VCPKG_LINE_INFO, "Error: Could not find a definition for port %s", port_name); + if (auto reg = paths.get_configuration().registry_set.registry_for_port(name)) + { + if (auto entry = reg->get_port_entry(paths, name)) + { + entry_it = m_entry_cache.emplace(name.to_string(), std::move(entry)).first; + } + else + { + entry_it = + m_entry_cache + .emplace(name.to_string(), + Strings::concat("Error: Could not find a definition for port ", name)) + .first; + } + } + else + { + entry_it = m_entry_cache + .emplace(name.to_string(), + Strings::concat("Error: no registry configured for port ", name)) + .first; + } } - auto it = m_entry_cache.emplace(port_name.to_string(), std::move(entry.first)); - return it.first->second->get_port_versions(); + return entry_it->second; } - ExpectedS get_control_file(const VersionSpec& version_spec) const override + virtual View get_port_versions(StringView port_name) const override { - auto cache_it = m_control_cache.find(version_spec); - if (cache_it != m_control_cache.end()) - { - return cache_it->second; - } + return entry(port_name).value_or_exit(VCPKG_LINE_INFO)->get_port_versions(); + } - auto entry_it = m_entry_cache.find(version_spec.port_name); - if (entry_it == m_entry_cache.end()) + ExpectedS> load_control_file( + const VersionSpec& version_spec) const + { + const auto& maybe_ent = entry(version_spec.port_name); + if (auto ent = maybe_ent.get()) { - auto reg_for_port = - paths.get_configuration().registry_set.registry_for_port(version_spec.port_name); - - if (!reg_for_port) + auto maybe_path = ent->get()->get_path_to_version(paths, version_spec.version); + if (auto path = maybe_path.get()) { - return Strings::format("Error: no registry set up for port %s", version_spec.port_name); + auto maybe_control_file = Paragraphs::try_load_port(paths.get_filesystem(), *path); + if (auto scf = maybe_control_file.get()) + { + if (scf->get()->core_paragraph->name == version_spec.port_name) + { + return std::make_unique(std::move(*scf), std::move(*path)); + } + else + { + return Strings::format("Error: Failed to load port from %s: names did " + "not match: '%s' != '%s'", + fs::u8string(*path), + version_spec.port_name, + scf->get()->core_paragraph->name); + } + } + else + { + // This should change to a soft error when ParseExpected is eliminated. + print_error_message(maybe_control_file.error()); + Checks::exit_maybe_upgrade(VCPKG_LINE_INFO, + "Error: Failed to load port %s from %s", + version_spec.port_name, + fs::u8string(*path)); + } + } + else + { + return maybe_path.error(); } - - auto entry = reg_for_port->get_port_entry(paths, version_spec.port_name); - entry_it = m_entry_cache.emplace(version_spec.port_name, std::move(entry)).first; } + return maybe_ent.error(); + } - auto maybe_path = entry_it->second->get_path_to_version(paths, version_spec.version); - if (!maybe_path.has_value()) + virtual ExpectedS get_control_file( + const VersionSpec& version_spec) const override + { + auto it = m_control_cache.find(version_spec); + if (it == m_control_cache.end()) { - return std::move(maybe_path).error(); + it = m_control_cache.emplace(version_spec, load_control_file(version_spec)).first; } - auto& port_directory = *maybe_path.get(); + return it->second.map([](const auto& x) -> const SourceControlFileLocation& { return *x.get(); }); + } - auto maybe_control_file = Paragraphs::try_load_port(paths.get_filesystem(), port_directory); - if (auto scf = maybe_control_file.get()) + virtual void load_all_control_files( + std::map& out) const override + { + auto all_ports = Paragraphs::load_all_registry_ports(paths); + for (auto&& scfl : all_ports) { - if (scf->get()->core_paragraph->name == version_spec.port_name) - { - return m_control_cache - .emplace(version_spec, - SourceControlFileLocation{std::move(*scf), std::move(port_directory)}) - .first->second; - } - return Strings::format("Error: Failed to load port from %s: names did not match: '%s' != '%s'", - fs::u8string(port_directory), - version_spec.port_name, - scf->get()->core_paragraph->name); + auto port_name = scfl.source_control_file->core_paragraph->name; + auto version = scfl.source_control_file->core_paragraph->to_versiont(); + auto it = m_control_cache + .emplace(VersionSpec{std::move(port_name), std::move(version)}, + std::make_unique(std::move(scfl))) + .first; + Checks::check_exit(VCPKG_LINE_INFO, it->second.has_value()); + out.emplace(it->first.port_name, it->second.get()->get()); } - - print_error_message(maybe_control_file.error()); - return Strings::format( - "Error: Failed to load port %s from %s", version_spec.port_name, fs::u8string(port_directory)); } private: const VcpkgPaths& paths; // TODO: remove this data member - mutable std::unordered_map m_control_cache; - mutable std::map, std::less<>> m_entry_cache; + mutable std:: + unordered_map>, VersionSpecHasher> + m_control_cache; + mutable std::map>, std::less<>> m_entry_cache; }; struct OverlayProviderImpl : IOverlayProvider, Util::ResourceBase { OverlayProviderImpl(const VcpkgPaths& paths, View overlay_ports) - : paths(paths), m_overlay_ports(Util::fmap(overlay_ports, [&paths](const std::string& s) -> fs::path { + : m_fs(paths.get_filesystem()) + , m_overlay_ports(Util::fmap(overlay_ports, [&paths](const std::string& s) -> fs::path { return Files::combine(paths.original_cwd, fs::u8path(s)); })) { + for (auto&& overlay : m_overlay_ports) + { + auto s_overlay = fs::u8string(overlay); + Debug::print("Using overlay: ", s_overlay, "\n"); + + Checks::check_exit(VCPKG_LINE_INFO, + fs::is_directory(m_fs.status(VCPKG_LINE_INFO, overlay)), + "Error: Overlay path \"%s\" must exist and must be a directory", + s_overlay); + } } - virtual Optional get_control_file(StringView port_name) const override + Optional load_port(StringView port_name) const { - auto it = m_overlay_cache.find(port_name); - if (it == m_overlay_cache.end()) + auto s_port_name = port_name.to_string(); + + for (auto&& ports_dir : m_overlay_ports) { - auto s_port_name = port_name.to_string(); - auto maybe_overlay = try_load_overlay_port(paths.get_filesystem(), m_overlay_ports, s_port_name); - Optional v; - if (maybe_overlay) + // Try loading individual port + if (Paragraphs::is_port_directory(m_fs, ports_dir)) { - auto maybe_scf = Paragraphs::try_load_port(paths.get_filesystem(), maybe_overlay->path); - if (auto scf = maybe_scf.get()) + auto maybe_scf = Paragraphs::try_load_port(m_fs, ports_dir); + if (auto scfp = maybe_scf.get()) { - v = SourceControlFileLocation{std::move(*scf), maybe_overlay->path}; + auto& scf = *scfp; + if (scf->core_paragraph->name == port_name) + { + return SourceControlFileLocation{std::move(scf), fs::path(ports_dir)}; + } } else { @@ -439,16 +279,94 @@ namespace vcpkg::PortFileProvider Checks::exit_maybe_upgrade(VCPKG_LINE_INFO, "Error: Failed to load port %s from %s", port_name, - fs::u8string(maybe_overlay->path)); + fs::u8string(ports_dir)); + } + + continue; + } + + auto ports_spec = ports_dir / fs::u8path(port_name); + if (Paragraphs::is_port_directory(m_fs, ports_spec)) + { + auto found_scf = Paragraphs::try_load_port(m_fs, ports_spec); + if (auto scfp = found_scf.get()) + { + auto& scf = *scfp; + if (scf->core_paragraph->name == port_name) + { + return SourceControlFileLocation{std::move(scf), std::move(ports_spec)}; + } + Checks::exit_maybe_upgrade( + VCPKG_LINE_INFO, + "Error: Failed to load port from %s: names did not match: '%s' != '%s'", + fs::u8string(ports_spec), + port_name, + scf->core_paragraph->name); + } + else + { + print_error_message(found_scf.error()); + Checks::exit_maybe_upgrade(VCPKG_LINE_INFO, + "Error: Failed to load port %s from %s", + port_name, + fs::u8string(ports_dir)); } } - it = m_overlay_cache.emplace(std::move(s_port_name), std::move(v)).first; + } + return nullopt; + } + + virtual Optional get_control_file(StringView port_name) const override + { + auto it = m_overlay_cache.find(port_name); + if (it == m_overlay_cache.end()) + { + it = m_overlay_cache.emplace(port_name.to_string(), load_port(port_name)).first; } return it->second; } + virtual void load_all_control_files( + std::map& out) const override + { + for (auto&& ports_dir : m_overlay_ports) + { + // Try loading individual port + if (Paragraphs::is_port_directory(m_fs, ports_dir)) + { + auto maybe_scf = Paragraphs::try_load_port(m_fs, ports_dir); + if (auto scfp = maybe_scf.get()) + { + SourceControlFileLocation scfl{std::move(*scfp), fs::path(ports_dir)}; + auto name = scfl.source_control_file->core_paragraph->name; + auto it = m_overlay_cache.emplace(std::move(name), std::move(scfl)).first; + Checks::check_exit(VCPKG_LINE_INFO, it->second.get()); + out.emplace(it->first, it->second.get()); + } + else + { + print_error_message(maybe_scf.error()); + Checks::exit_maybe_upgrade( + VCPKG_LINE_INFO, "Error: Failed to load port from %s", fs::u8string(ports_dir)); + } + + continue; + } + + // Try loading all ports inside ports_dir + auto found_scfls = Paragraphs::load_overlay_ports(m_fs, ports_dir); + for (auto&& scfl : found_scfls) + { + auto name = scfl.source_control_file->core_paragraph->name; + auto it = m_overlay_cache.emplace(std::move(name), std::move(scfl)).first; + Checks::check_exit(VCPKG_LINE_INFO, it->second.get()); + out.emplace(it->first, it->second.get()); + } + } + } + private: - const VcpkgPaths& paths; + const Files::Filesystem& m_fs; const std::vector m_overlay_ports; mutable std::map, std::less<>> m_overlay_cache; }; diff --git a/toolsrc/src/vcpkg/registries.cpp b/toolsrc/src/vcpkg/registries.cpp index 4f6c8c0c2f6fc8..44a6314abcd54c 100644 --- a/toolsrc/src/vcpkg/registries.cpp +++ b/toolsrc/src/vcpkg/registries.cpp @@ -27,8 +27,6 @@ namespace // when `BuiltinRegistryEntry` is using a port tree, it uses the scfl struct GitRegistryEntry final : RegistryEntry { - explicit GitRegistryEntry(std::string&& port_name) : port_name(port_name) { } - View get_port_versions() const override { return port_versions; } ExpectedS get_path_to_version(const VcpkgPaths&, const VersionT& version) const override; @@ -103,36 +101,24 @@ namespace struct BuiltinRegistryEntry final : RegistryEntry { - explicit BuiltinRegistryEntry(std::unique_ptr&& entry) - : git_entry(std::move(entry)), scfl(nullptr) - { - } - explicit BuiltinRegistryEntry(std::unique_ptr&& scfl_) - : git_entry(nullptr), scfl(std::move(scfl_)), scfl_version(scfl->to_versiont()) - { - } - - View get_port_versions() const override + View get_port_versions() const override { return {&version, 1}; } + ExpectedS get_path_to_version(const VcpkgPaths&, const VersionT& v) const override { - if (git_entry) + if (v == version) { - return git_entry->port_versions; - } - else - { - return {&scfl_version, 1}; + return path; } + return {Strings::format("Error: no version entry for %s at version %s.\n" + "We are currently using the version in the ports tree (%s).", + name, + v.to_string(), + version.to_string()), + expected_right_tag}; } - ExpectedS get_path_to_version(const VcpkgPaths&, const VersionT& version) const override; - - // exactly one of these two shall be null - // if we find a versions.json, this shall be non-null and BuiltinRegistryEntry uses git_entry's implementation - std::unique_ptr git_entry; - // otherwise, if we don't find a versions.json, - // we fall back to just using the version in the ports directory, and this is the non-null one - std::unique_ptr scfl; - VersionT scfl_version; // this exists so that we can return a pointer to it + std::string name; + fs::path path; + VersionT version; }; struct FilesystemRegistryEntry final : RegistryEntry @@ -153,7 +139,10 @@ namespace struct BuiltinRegistry final : RegistryImplementation { - BuiltinRegistry(std::string&& baseline) : m_baseline_identifier(std::move(baseline)) { } + BuiltinRegistry(std::string&& baseline) : m_baseline_identifier(std::move(baseline)) + { + Debug::print("BuiltinRegistry initialized with: \"", m_baseline_identifier, "\"\n"); + } std::unique_ptr get_port_entry(const VcpkgPaths& paths, StringView port_name) const override; @@ -205,7 +194,7 @@ namespace }; fs::path relative_path_to_versions(StringView port_name); - ExpectedS> load_versions_file(Files::Filesystem& fs, + ExpectedS> load_versions_file(const Files::Filesystem& fs, VersionDbType vdb, const fs::path& port_versions, StringView port_name, @@ -247,31 +236,34 @@ namespace // { BuiltinRegistry::RegistryImplementation std::unique_ptr BuiltinRegistry::get_port_entry(const VcpkgPaths& paths, StringView port_name) const { - auto versions_path = paths.builtin_registry_versions / relative_path_to_versions(port_name); - if (!m_baseline_identifier.empty() && paths.get_filesystem().exists(versions_path)) + const auto& fs = paths.get_filesystem(); + if (!m_baseline_identifier.empty()) { - auto maybe_version_entries = load_versions_file( - paths.get_filesystem(), VersionDbType::Git, paths.builtin_registry_versions, port_name); - Checks::check_maybe_upgrade( - VCPKG_LINE_INFO, maybe_version_entries.has_value(), "Error: " + maybe_version_entries.error()); - auto version_entries = std::move(maybe_version_entries).value_or_exit(VCPKG_LINE_INFO); - - auto res = - std::make_unique(std::make_unique(port_name.to_string())); - auto gre = res->git_entry.get(); - for (auto&& version_entry : version_entries) + auto versions_path = paths.builtin_registry_versions / relative_path_to_versions(port_name); + if (fs.exists(versions_path)) { - gre->port_versions.push_back(version_entry.version); - gre->git_trees.push_back(version_entry.git_tree); + auto maybe_version_entries = + load_versions_file(fs, VersionDbType::Git, paths.builtin_registry_versions, port_name); + Checks::check_maybe_upgrade( + VCPKG_LINE_INFO, maybe_version_entries.has_value(), "Error: " + maybe_version_entries.error()); + auto version_entries = std::move(maybe_version_entries).value_or_exit(VCPKG_LINE_INFO); + + auto gre = std::make_unique(); + gre->port_name = port_name.to_string(); + for (auto&& version_entry : version_entries) + { + gre->port_versions.push_back(version_entry.version); + gre->git_trees.push_back(version_entry.git_tree); + } + return gre; } - return res; } // Fall back to current available version auto port_directory = paths.builtin_ports_directory() / fs::u8path(port_name); - if (paths.get_filesystem().exists(port_directory)) + if (fs.exists(port_directory)) { - auto found_scf = Paragraphs::try_load_port(paths.get_filesystem(), port_directory); + auto found_scf = Paragraphs::try_load_port(fs, port_directory); if (auto scfp = found_scf.get()) { auto& scf = *scfp; @@ -283,8 +275,11 @@ namespace if (scf->core_paragraph->name == port_name) { - return std::make_unique( - std::make_unique(std::move(scf), std::move(port_directory))); + auto res = std::make_unique(); + res->version = scf->core_paragraph->to_versiont(); + res->path = std::move(port_directory); + res->name = std::move(scf->core_paragraph->name); + return res; } Checks::exit_maybe_upgrade(VCPKG_LINE_INFO, "Error: Failed to load port from %s: names did not match: '%s' != '%s'", @@ -355,7 +350,6 @@ namespace } Optional BuiltinRegistry::get_baseline_version(const VcpkgPaths& paths, StringView port_name) const { - Debug::print("Baseline version: \"", m_baseline_identifier, "\"\n"); if (!m_baseline_identifier.empty()) { const auto& baseline = m_baseline.get( @@ -366,32 +360,39 @@ namespace { return it->second; } + return nullopt; } - else + + // if a baseline is not specified, use the ports directory version + auto port_path = paths.builtin_ports_directory() / fs::u8path(port_name); + auto maybe_scf = Paragraphs::try_load_port(paths.get_filesystem(), port_path); + if (auto pscf = maybe_scf.get()) { - // if a baseline is not specified, use the ports directory version - auto maybe_scf = Paragraphs::try_load_port(paths.get_filesystem(), - paths.builtin_ports_directory() / fs::u8path(port_name)); - if (auto pscf = maybe_scf.get()) - { - auto& scf = *pscf; - return scf->to_versiont(); - } - Debug::print("Failed to load port `", port_name, "` from the ports tree: ", maybe_scf.error()->error, "\n"); + auto& scf = *pscf; + return scf->to_versiont(); } - return nullopt; + print_error_message(maybe_scf.error()); + Checks::exit_maybe_upgrade(VCPKG_LINE_INFO, "Error: failed to load port from %s", fs::u8string(port_path)); } void BuiltinRegistry::get_all_port_names(std::vector& out, const VcpkgPaths& paths) const { - if (!m_baseline_identifier.empty() && paths.get_filesystem().exists(paths.builtin_registry_versions)) + const auto& fs = paths.get_filesystem(); + + if (!m_baseline_identifier.empty() && fs.exists(paths.builtin_registry_versions)) { load_all_port_names_from_registry_versions(out, paths, paths.builtin_registry_versions); } - - for (auto port_directory : fs::directory_iterator(paths.builtin_ports_directory())) + std::error_code ec; + fs::directory_iterator dir_it(paths.builtin_ports_directory(), ec); + Checks::check_exit(VCPKG_LINE_INFO, + !ec, + "Error: failed while enumerating the builtin ports directory %s: %s", + fs::u8string(paths.builtin_ports_directory()), + ec.message()); + for (auto port_directory : dir_it) { - if (!fs::is_directory(paths.get_filesystem().status(VCPKG_LINE_INFO, port_directory))) continue; + if (!fs::is_directory(fs.status(VCPKG_LINE_INFO, port_directory))) continue; auto filename = fs::u8string(port_directory.path().filename()); if (filename == ".DS_Store") continue; out.push_back(filename); @@ -475,7 +476,8 @@ namespace VCPKG_LINE_INFO, maybe_version_entries.has_value(), "Error: " + maybe_version_entries.error()); auto version_entries = std::move(maybe_version_entries).value_or_exit(VCPKG_LINE_INFO); - auto res = std::make_unique(port_name.to_string()); + auto res = std::make_unique(); + res->port_name = port_name.to_string(); for (auto&& version_entry : version_entries) { res->port_versions.push_back(version_entry.version); @@ -581,49 +583,6 @@ namespace // { RegistryEntry - // { BuiltinRegistryEntry::RegistryEntry - ExpectedS BuiltinRegistryEntry::get_path_to_version(const VcpkgPaths& paths, - const VersionT& version) const - { - if (git_entry) - { - auto it = std::find(git_entry->port_versions.begin(), git_entry->port_versions.end(), version); - if (it == git_entry->port_versions.end()) - { - return { - Strings::concat("Error: No version entry for ", - git_entry->port_name, - " at version ", - version, - ". This may be fixed by updating vcpkg to the latest master via `git " - "pull`.\nAvailable versions:\n", - Strings::join("", - git_entry->port_versions, - [](const VersionT& v) { return Strings::concat(" ", v, "\n"); }), - "\nSee `vcpkg help versioning` for more information."), - expected_right_tag}; - } - - const auto& git_tree = git_entry->git_trees[it - git_entry->port_versions.begin()]; - return paths.git_checkout_port(git_entry->port_name, git_tree, paths.root / fs::u8path(".git")); - } - - if (scfl_version == version) - { - return scfl->source_location; - } - - auto& name = scfl->source_control_file->core_paragraph->name; - return Strings::format( - "Error: no version entry for %s at version %s.\n" - "We are currently using the version in the ports tree (%s), since no %s.json was found in /versions.", - name, - version.to_string(), - scfl->to_versiont().to_string(), - name); - } - // } BuiltinRegistryEntry::RegistryEntry - // { FilesystemRegistryEntry::RegistryEntry ExpectedS FilesystemRegistryEntry::get_path_to_version(const VcpkgPaths&, const VersionT& version) const { @@ -642,11 +601,23 @@ namespace auto it = std::find(port_versions.begin(), port_versions.end(), version); if (it == port_versions.end()) { - return Strings::concat("Error: No version entry for ", port_name, " at version ", version, "."); + // This message suggests that the user updates vcpkg -- this is appropriate for the builtin registry for now + // but needs tweaking for external git registries + return {Strings::concat("Error: No version entry for ", + port_name, + " at version ", + version, + ". This may be fixed by updating vcpkg to the latest master via `git " + "pull`.\nAvailable versions:\n", + Strings::join("", + port_versions, + [](const VersionT& v) { return Strings::concat(" ", v, "\n"); }), + "\nSee `vcpkg help versioning` for more information."), + expected_right_tag}; } const auto& git_tree = git_trees[it - port_versions.begin()]; - return paths.git_checkout_object_from_remote_registry(git_tree); + return paths.git_checkout_port(port_name, git_tree, paths.root / fs::u8path(".git")); } // } GitRegistryEntry::RegistryEntry @@ -956,7 +927,7 @@ namespace return fs::u8path({port_name.byte_at_index(0), '-'}) / port_filename; } - ExpectedS> load_versions_file(Files::Filesystem& fs, + ExpectedS> load_versions_file(const Files::Filesystem& fs, VersionDbType type, const fs::path& registry_versions, StringView port_name, @@ -1090,18 +1061,13 @@ namespace vcpkg "an array of registries", RegistryDeserializer(configuration_directory)); } - std::unique_ptr Registry::builtin_registry(std::string&& baseline) - { - return std::make_unique(std::move(baseline)); - } - Registry::Registry(std::vector&& packages, std::unique_ptr&& impl) : packages_(std::move(packages)), implementation_(std::move(impl)) { Checks::check_exit(VCPKG_LINE_INFO, implementation_ != nullptr); } - RegistrySet::RegistrySet() : default_registry_(Registry::builtin_registry()), registries_() { } + RegistrySet::RegistrySet() : default_registry_(std::make_unique("")) { } const RegistryImplementation* RegistrySet::registry_for_port(StringView name) const { From a66c5ec3859cf2f619fd41fb42389859f7edc848 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Fri, 22 Jan 2021 23:02:31 +0100 Subject: [PATCH 0013/1735] [tiff] add vcpkg_fixup_pkgconfig for tiff (#15734) * [tiff] add vcpkg_fixup_pkgconfig for tiff * add version * fix tiff deps in *.pc file * update version --- ports/tiff/CONTROL | 1 + ports/tiff/portfile.cmake | 15 +++++++++++++++ versions/baseline.json | 2 +- versions/t-/tiff.json | 5 +++++ 4 files changed, 22 insertions(+), 1 deletion(-) diff --git a/ports/tiff/CONTROL b/ports/tiff/CONTROL index f37049768efb92..1eb69723c6a77b 100644 --- a/ports/tiff/CONTROL +++ b/ports/tiff/CONTROL @@ -1,5 +1,6 @@ Source: tiff Version: 4.1.0 +Port-Version: 1 Build-Depends: zlib, libjpeg-turbo, liblzma Homepage: https://download.osgeo.org/libtiff Description: A library that supports the manipulation of TIFF image files diff --git a/ports/tiff/portfile.cmake b/ports/tiff/portfile.cmake index ab610d3287484b..7e94ac05a13a05 100644 --- a/ports/tiff/portfile.cmake +++ b/ports/tiff/portfile.cmake @@ -41,7 +41,22 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() +set(_file "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libtiff-4.pc") +if(EXISTS "${_file}") + vcpkg_replace_string("${_file}" "-ltiff" "-ltiffd") +endif() + +# Fix dependencies: +set(_file "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libtiff-4.pc") +if(EXISTS "${_file}") + vcpkg_replace_string("${_file}" "Version: 4.1.0" "Version: 4.1.0\nRequires.private: liblzma libjpeg") +endif() +set(_file "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libtiff-4.pc") +if(EXISTS "${_file}") + vcpkg_replace_string("${_file}" "Version: 4.1.0" "Version: 4.1.0\nRequires.private: liblzma libjpeg") +endif() +vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share diff --git a/versions/baseline.json b/versions/baseline.json index f24351b870008e..c6a99c7cb3d010 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -5698,7 +5698,7 @@ }, "tiff": { "baseline": "4.1.0", - "port-version": 0 + "port-version": 1 }, "tinkerforge": { "baseline": "2.1.25", diff --git a/versions/t-/tiff.json b/versions/t-/tiff.json index 0a4bb5b3c50226..d3ad7ef0aef876 100644 --- a/versions/t-/tiff.json +++ b/versions/t-/tiff.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "8bb1dc9606c9b3573f08bcf6befad16ac730f287", + "version-string": "4.1.0", + "port-version": 1 + }, { "git-tree": "c2beac2991ae6df4dfeaf0a3b158092a78128214", "version-string": "4.1.0", From 57465e9bfc916132ca4cd03adb978d62b445238b Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Fri, 22 Jan 2021 23:11:20 +0100 Subject: [PATCH 0014/1735] [lzo] Install pc file on windows (#15782) * [lzo] Install pc file on windows * add version info * [lzo] Install pc file on windows * add version info --- ports/lzo/CONTROL | 3 ++- ports/lzo/always_install_pc.patch | 13 +++++++++++++ ports/lzo/portfile.cmake | 2 ++ versions/baseline.json | 4 ++-- versions/l-/lzo.json | 5 +++++ 5 files changed, 24 insertions(+), 3 deletions(-) create mode 100644 ports/lzo/always_install_pc.patch diff --git a/ports/lzo/CONTROL b/ports/lzo/CONTROL index 4548ae9bb2a089..fa904083ab12a7 100644 --- a/ports/lzo/CONTROL +++ b/ports/lzo/CONTROL @@ -1,4 +1,5 @@ Source: lzo -Version: 2.10-5 +Version: 2.10 +Port-Version: 6 Homepage: https://www.oberhumer.com/opensource/lzo/ Description: Lossless data compression library diff --git a/ports/lzo/always_install_pc.patch b/ports/lzo/always_install_pc.patch new file mode 100644 index 00000000000000..6750eb681b7826 --- /dev/null +++ b/ports/lzo/always_install_pc.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 98c0a1ad0..85690209c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -290,7 +290,7 @@ if(1) + install(TARGETS ${f} DESTINATION "${CMAKE_INSTALL_FULL_LIBEXECDIR}/lzo/examples") + endif() + +-if(PKG_CONFIG_FOUND) ++if(1) + configure_file(lzo2.pc.cmakein lzo2.pc @ONLY) + #if(EXISTS "${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig") + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/lzo2.pc" DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig") diff --git a/ports/lzo/portfile.cmake b/ports/lzo/portfile.cmake index 7c09aaf0c504f3..514c8555a490fa 100644 --- a/ports/lzo/portfile.cmake +++ b/ports/lzo/portfile.cmake @@ -7,6 +7,7 @@ vcpkg_download_distfile(ARCHIVE vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH ARCHIVE ${ARCHIVE} + PATCHES always_install_pc.patch ) set(LZO_STATIC OFF) @@ -26,6 +27,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() +vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/doc) diff --git a/versions/baseline.json b/versions/baseline.json index c6a99c7cb3d010..db198be6f94268 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3589,8 +3589,8 @@ "port-version": 0 }, "lzo": { - "baseline": "2.10-5", - "port-version": 0 + "baseline": "2.10", + "port-version": 6 }, "lzokay": { "baseline": "2020-07-30", diff --git a/versions/l-/lzo.json b/versions/l-/lzo.json index a85e5642402100..186064c9b27990 100644 --- a/versions/l-/lzo.json +++ b/versions/l-/lzo.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "0386bfc83656abde700f2f99732a92e7fd6ac756", + "version-string": "2.10", + "port-version": 6 + }, { "git-tree": "7d19bc8d305faffeba8990d9e6c095ee95b3108d", "version-string": "2.10-5", From e4ce66eecfd3e5cca5eac06c971921bf8e37cf88 Mon Sep 17 00:00:00 2001 From: ras0219 <533828+ras0219@users.noreply.github.com> Date: Fri, 22 Jan 2021 17:50:18 -0800 Subject: [PATCH 0015/1735] [vcpkg] Improve diagnostics around compiler tracking and toolset errors. 'Fixes' #15823. (#15825) --- toolsrc/include/vcpkg/build.h | 4 +- toolsrc/include/vcpkg/vcpkgpaths.h | 2 + toolsrc/src/vcpkg/build.cpp | 68 ++++++++++++++++++++++-------- toolsrc/src/vcpkg/commands.env.cpp | 2 +- toolsrc/src/vcpkg/vcpkgpaths.cpp | 13 +++++- 5 files changed, 67 insertions(+), 22 deletions(-) diff --git a/toolsrc/include/vcpkg/build.h b/toolsrc/include/vcpkg/build.h index e873f0ea272ca6..ed272443596f74 100644 --- a/toolsrc/include/vcpkg/build.h +++ b/toolsrc/include/vcpkg/build.h @@ -232,7 +232,9 @@ namespace vcpkg::Build const VcpkgPaths& m_paths; }; - System::Command make_build_env_cmd(const PreBuildInfo& pre_build_info, const Toolset& toolset); + System::Command make_build_env_cmd(const PreBuildInfo& pre_build_info, + const Toolset& toolset, + View all_toolsets); struct ExtendedBuildResult { diff --git a/toolsrc/include/vcpkg/vcpkgpaths.h b/toolsrc/include/vcpkg/vcpkgpaths.h index 8a97b258e934cf..643baf57e4ad7f 100644 --- a/toolsrc/include/vcpkg/vcpkgpaths.h +++ b/toolsrc/include/vcpkg/vcpkgpaths.h @@ -148,6 +148,8 @@ namespace vcpkg /// const Toolset& get_toolset(const Build::PreBuildInfo& prebuildinfo) const; + View get_all_toolsets() const; + Files::Filesystem& get_filesystem() const; const System::Environment& get_action_env(const Build::AbiInfo& abi_info) const; diff --git a/toolsrc/src/vcpkg/build.cpp b/toolsrc/src/vcpkg/build.cpp index 8bbb5f2dee68ae..c22c20fea94b76 100644 --- a/toolsrc/src/vcpkg/build.cpp +++ b/toolsrc/src/vcpkg/build.cpp @@ -299,11 +299,17 @@ namespace vcpkg::Build if (cmake_system_name == "Windows") return ""; if (cmake_system_name == "WindowsStore") return "store"; - Checks::exit_maybe_upgrade(VCPKG_LINE_INFO, "Unsupported vcvarsall target %s", cmake_system_name); + Checks::exit_maybe_upgrade(VCPKG_LINE_INFO, + "Error: Could not map VCPKG_CMAKE_SYSTEM_NAME '%s' to a vcvarsall platform. " + "Supported systems are '', 'Windows' and 'WindowsStore'.", + cmake_system_name); } - static CStringView to_vcvarsall_toolchain(const std::string& target_architecture, const Toolset& toolset) + static CStringView to_vcvarsall_toolchain(const std::string& target_architecture, + const Toolset& toolset, + View all_toolsets) { +#if defined(_WIN32) auto maybe_target_arch = System::to_cpu_architecture(target_architecture); Checks::check_maybe_upgrade( VCPKG_LINE_INFO, maybe_target_arch.has_value(), "Invalid architecture string: %s", target_architecture); @@ -318,19 +324,36 @@ namespace vcpkg::Build if (it != toolset.supported_architectures.end()) return it->name; } - Checks::exit_maybe_upgrade(VCPKG_LINE_INFO, - "Unsupported toolchain combination. Target was: %s but supported ones were:\n%s", - target_architecture, - Strings::join(",", toolset.supported_architectures, [](const ToolsetArchOption& t) { - return t.name.c_str(); - })); + System::print2("Error: Unsupported toolchain combination.\n"); + System::print2("Target was ", + target_architecture, + " but the chosen Visual Studio instance supports:\n ", + Strings::join(", ", + toolset.supported_architectures, + [](const ToolsetArchOption& t) { return t.name.c_str(); }), + "\nVcpkg selected ", + fs::u8string(toolset.visual_studio_root_path), + " as the Visual Studio instance.\nDetected instances:\n", + Strings::join("", + all_toolsets, + [](const Toolset& t) { + return Strings::concat(" ", fs::u8string(t.visual_studio_root_path), '\n'); + }), + "\nSee " + "https://github.com/microsoft/vcpkg/blob/master/docs/users/triplets.md#VCPKG_VISUAL_STUDIO_PATH " + "for more information.\n"); + Checks::exit_maybe_upgrade(VCPKG_LINE_INFO); +#else + Checks::exit_with_message(VCPKG_LINE_INFO, + "Error: vcvars-based toolchains are only usable on Windows platforms."); +#endif } #if defined(_WIN32) const System::Environment& EnvCache::get_action_env(const VcpkgPaths& paths, const AbiInfo& abi_info) { - auto build_env_cmd = - make_build_env_cmd(*abi_info.pre_build_info, abi_info.toolset.value_or_exit(VCPKG_LINE_INFO)); + auto build_env_cmd = make_build_env_cmd( + *abi_info.pre_build_info, abi_info.toolset.value_or_exit(VCPKG_LINE_INFO), paths.get_all_toolsets()); const auto& base_env = envs.get_lazy(abi_info.pre_build_info->passthrough_env_vars, [&]() -> EnvMapEntry { std::unordered_map env; @@ -440,7 +463,9 @@ namespace vcpkg::Build }); } - System::Command make_build_env_cmd(const PreBuildInfo& pre_build_info, const Toolset& toolset) + System::Command make_build_env_cmd(const PreBuildInfo& pre_build_info, + const Toolset& toolset, + View all_toolsets) { if (!pre_build_info.using_vcvars()) return {}; @@ -450,7 +475,7 @@ namespace vcpkg::Build tonull = ""; } - const auto arch = to_vcvarsall_toolchain(pre_build_info.target_architecture, toolset); + const auto arch = to_vcvarsall_toolchain(pre_build_info.target_architecture, toolset, all_toolsets); const auto target = to_vcvarsall_target(pre_build_info.cmake_system_name); return System::Command{"cmd"}.string_arg("/c").raw_arg( @@ -566,7 +591,8 @@ namespace vcpkg::Build std::ofstream out_file(stdoutlog.native().c_str(), std::ios::out | std::ios::binary | std::ios::trunc); Checks::check_exit(VCPKG_LINE_INFO, out_file, "Failed to open '%s' for writing", fs::u8string(stdoutlog)); CompilerInfo compiler_info; - System::cmd_execute_and_stream_lines( + std::string buf; + int rc = System::cmd_execute_and_stream_lines( command, [&](StringView s) { static const StringLiteral s_hash_marker = "#COMPILER_HASH#"; @@ -585,6 +611,7 @@ namespace vcpkg::Build compiler_info.id = s.data() + s_id_marker.size(); } Debug::print(s, '\n'); + Strings::append(buf, s, '\n'); out_file.write(s.data(), s.size()).put('\n'); Checks::check_exit( VCPKG_LINE_INFO, out_file, "Error occurred while writing '%s'", fs::u8string(stdoutlog)); @@ -592,19 +619,24 @@ namespace vcpkg::Build env); out_file.close(); - if (compiler_info.hash.empty()) + if (compiler_info.hash.empty() || rc != 0) { Debug::print("Compiler information tracking can be disabled by passing --", VcpkgCmdArguments::FEATURE_FLAGS_ARG, "=-", VcpkgCmdArguments::COMPILER_TRACKING_FEATURE, "\n"); + + System::print2("Error: while detecting compiler information:\nThe log content at ", + fs::u8string(stdoutlog), + " is:\n", + buf); + Checks::exit_with_message(VCPKG_LINE_INFO, + "Error: vcpkg was unable to detect the active compiler's information. See above " + "for the CMake failure output."); } - Checks::check_exit(VCPKG_LINE_INFO, - !compiler_info.hash.empty(), - "Error occurred while detecting compiler information. Pass `--debug` for more information."); - Debug::print("Detecting compiler hash for triplet ", triplet, ": ", compiler_info.hash, "\n"); + Debug::print("Detected compiler hash for triplet ", triplet, ": ", compiler_info.hash, "\n"); return compiler_info; } diff --git a/toolsrc/src/vcpkg/commands.env.cpp b/toolsrc/src/vcpkg/commands.env.cpp index c0bec17dc5d445..f129f02626f813 100644 --- a/toolsrc/src/vcpkg/commands.env.cpp +++ b/toolsrc/src/vcpkg/commands.env.cpp @@ -48,7 +48,7 @@ namespace vcpkg::Commands::Env const Build::PreBuildInfo pre_build_info( paths, triplet, var_provider.get_generic_triplet_vars(triplet).value_or_exit(VCPKG_LINE_INFO)); const Toolset& toolset = paths.get_toolset(pre_build_info); - auto build_env_cmd = Build::make_build_env_cmd(pre_build_info, toolset); + auto build_env_cmd = Build::make_build_env_cmd(pre_build_info, toolset, paths.get_all_toolsets()); std::unordered_map extra_env = {}; const bool add_bin = Util::Sets::contains(options.switches, OPTION_BIN); diff --git a/toolsrc/src/vcpkg/vcpkgpaths.cpp b/toolsrc/src/vcpkg/vcpkgpaths.cpp index e6fa3a0a54f54d..b9f1f3f9cd24c6 100644 --- a/toolsrc/src/vcpkg/vcpkgpaths.cpp +++ b/toolsrc/src/vcpkg/vcpkgpaths.cpp @@ -980,8 +980,7 @@ If you wish to silence this error and use classic mode, you can: #if !defined(_WIN32) Checks::exit_maybe_upgrade(VCPKG_LINE_INFO, "Cannot build windows triplets from non-windows."); #else - const std::vector& vs_toolsets = m_pimpl->toolsets.get_lazy( - [this]() { return VisualStudio::find_toolset_instances_preferred_first(*this); }); + View vs_toolsets = get_all_toolsets(); std::vector candidates = Util::fmap(vs_toolsets, [](auto&& x) { return &x; }); const auto tsv = prebuildinfo.platform_toolset.get(); @@ -1029,6 +1028,16 @@ If you wish to silence this error and use classic mode, you can: #endif } + View VcpkgPaths::get_all_toolsets() const + { +#if defined(_WIN32) + return m_pimpl->toolsets.get_lazy( + [this]() { return VisualStudio::find_toolset_instances_preferred_first(*this); }); +#else + return {}; +#endif + } + const System::Environment& VcpkgPaths::get_action_env(const Build::AbiInfo& abi_info) const { return m_pimpl->m_env_cache.get_action_env(*this, abi_info); From a0016c0690e16c6f9f1ee333abfdf28ddacbef24 Mon Sep 17 00:00:00 2001 From: Clare Macrae Date: Mon, 25 Jan 2021 05:37:36 +0000 Subject: [PATCH 0016/1735] [docs] Correct the "new port requests" link in FAQ (#15845) Fixes #15844 --- docs/about/faq.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/about/faq.md b/docs/about/faq.md index 6517774cfce107..2fb169fd3a583b 100644 --- a/docs/about/faq.md +++ b/docs/about/faq.md @@ -1,7 +1,9 @@ # Frequently Asked Questions ## Can I contribute a new library? -Yes! Start out by reading our [contribution guidelines](https://github.com/Microsoft/vcpkg/blob/master/CONTRIBUTING.md). If you want to contribute but don't have a particular library in mind then take a look at the list of [new port requests](https://github.com/Microsoft/vcpkg/issues?q=is%3Aissue+is%3Aopen+label%3A%22new+port+request+-+consider+making+a+PR%21%22). +Yes! Start out by reading our [contribution guidelines](https://github.com/Microsoft/vcpkg/blob/master/CONTRIBUTING.md). +If you want to contribute but don't have a particular library in mind then take a look at the list +of [new port requests](https://github.com/Microsoft/vcpkg/issues?q=is%3Aissue+is%3Aopen+label%3Acategory%3Anew-port). ## Can Vcpkg create pre-built binary packages? What is the binary format used by Vcpkg? Yes! See [the `export` command](../users/integration.md#export). From 051b33d36cfdde9e027ff456491d1704159864af Mon Sep 17 00:00:00 2001 From: Francis Lemaire Date: Mon, 25 Jan 2021 01:53:19 -0500 Subject: [PATCH 0017/1735] [gamenetworkingsockets] Add new port (#14937) * Added GameNetworkingSockets port * Fixing requested changes in PR * added `vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)` * added missing trailing newline * removed all entries in ci.baseline.txt Adding license field in manifest Updated library version * Formating manifest * Fixing platform supports in manifest * Refactor to OpenSSL only crypto backend * Fixing format * Adding version Co-authored-by: Andrew Simpson --- ports/gamenetworkingsockets/portfile.cmake | 31 ++++++++++++++++++++++ ports/gamenetworkingsockets/vcpkg.json | 12 +++++++++ versions/baseline.json | 4 +++ versions/g-/gamenetworkingsockets.json | 9 +++++++ 4 files changed, 56 insertions(+) create mode 100644 ports/gamenetworkingsockets/portfile.cmake create mode 100644 ports/gamenetworkingsockets/vcpkg.json create mode 100644 versions/g-/gamenetworkingsockets.json diff --git a/ports/gamenetworkingsockets/portfile.cmake b/ports/gamenetworkingsockets/portfile.cmake new file mode 100644 index 00000000000000..a419c6e46e5519 --- /dev/null +++ b/ports/gamenetworkingsockets/portfile.cmake @@ -0,0 +1,31 @@ +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ValveSoftware/GameNetworkingSockets + REF v1.2.0 + SHA512 d179fd8f221236beb161723ca133c1f7c574f5d8d9364aaa0de27c64c8661b26b17e3395f42f5245276a05a1399146e56e462d3ec1bb23847955225a99f8d2e3 + HEAD_REF master +) + +set(CRYPTO_BACKEND OpenSSL) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DGAMENETWORKINGSOCKETS_BUILD_TESTS=OFF + -DGAMENETWORKINGSOCKETS_BUILD_EXAMPLES=OFF + -DUSE_CRYPTO=${CRYPTO_BACKEND} + -DUSE_CRYPTO25519=${CRYPTO_BACKEND} +) + +vcpkg_install_cmake() +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) + +vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/GameNetworkingSockets" TARGET_PATH "share/GameNetworkingSockets") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_copy_pdbs() diff --git a/ports/gamenetworkingsockets/vcpkg.json b/ports/gamenetworkingsockets/vcpkg.json new file mode 100644 index 00000000000000..8daf49b829445b --- /dev/null +++ b/ports/gamenetworkingsockets/vcpkg.json @@ -0,0 +1,12 @@ +{ + "name": "gamenetworkingsockets", + "version-string": "2020-09-02", + "description": "GameNetworkingSockets is a basic transport layer for games.", + "homepage": "https://github.com/ValveSoftware/GameNetworkingSockets", + "license": "BSD-3-Clause", + "supports": "!(static & windows) & !uwp & !(arm64 & windows)", + "dependencies": [ + "openssl", + "protobuf" + ] +} diff --git a/versions/baseline.json b/versions/baseline.json index db198be6f94268..2faf2ad2b139a7 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -2048,6 +2048,10 @@ "baseline": "0.18.1", "port-version": 0 }, + "gamenetworkingsockets": { + "baseline": "2020-09-02", + "port-version": 0 + }, "gamma": { "baseline": "gamma-2018-01-27", "port-version": 2 diff --git a/versions/g-/gamenetworkingsockets.json b/versions/g-/gamenetworkingsockets.json new file mode 100644 index 00000000000000..52d5c8685b2b5b --- /dev/null +++ b/versions/g-/gamenetworkingsockets.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "42d95ab20685b00bc64cad1500f559d5b185a3a5", + "version-string": "2020-09-02", + "port-version": 0 + } + ] +} From f2ec6c5a7cf8441ae30a857c938694c4bfff424f Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Mon, 25 Jan 2021 08:01:16 +0100 Subject: [PATCH 0018/1735] [mpc/mpfr] Add new port / update mpfr (#13081) * [mpc] add mpc port * [mpfr] update mpfr to use make. * [gmp] fix preprocessor define for dlls. * more fixes * fix mpfr regression on !windows * install autoconf-archive in provisioning script * change indent of patches Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> * fix merge error * update PR * update baseline Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> Co-authored-by: JackBoosY Co-authored-by: Billy Robert O'Neal III Co-authored-by: Nicole Mazzuca --- ports/gmp/adddef.patch | 12 ++ ports/gmp/portfile.cmake | 12 +- ports/gmp/vcpkg.json | 3 +- ports/mpc/CONTROL | 5 + ports/mpc/gmpd.patch | 15 ++ ports/mpc/portfile.cmake | 27 +++ ports/mpfr/CMakeLists.txt | 281 ------------------------- ports/mpfr/CONTROL | 4 +- ports/mpfr/dll.patch | 13 ++ ports/mpfr/gmpd.patch | 15 ++ ports/mpfr/portfile.cmake | 28 ++- scripts/cmake/vcpkg_acquire_msys.cmake | 10 + versions/baseline.json | 10 +- versions/g-/gmp.json | 5 + versions/m-/mpc.json | 9 + versions/m-/mpfr.json | 5 + 16 files changed, 156 insertions(+), 298 deletions(-) create mode 100644 ports/gmp/adddef.patch create mode 100644 ports/mpc/CONTROL create mode 100644 ports/mpc/gmpd.patch create mode 100644 ports/mpc/portfile.cmake delete mode 100644 ports/mpfr/CMakeLists.txt create mode 100644 ports/mpfr/dll.patch create mode 100644 ports/mpfr/gmpd.patch create mode 100644 versions/m-/mpc.json diff --git a/ports/gmp/adddef.patch b/ports/gmp/adddef.patch new file mode 100644 index 00000000000000..c2276ffc10b2d6 --- /dev/null +++ b/ports/gmp/adddef.patch @@ -0,0 +1,12 @@ +diff --git a/SMP/libgmp.def b/SMP/libgmp.def +index 289f0e2d1..632274ab2 100644 +--- a/SMP/libgmp.def ++++ b/SMP/libgmp.def +@@ -16,6 +16,7 @@ __gmp_randclear + __gmp_urandomb_ui + __gmp_urandomm_ui + __gmp_asprintf ++__gmp_vasprintf + __gmp_fprintf + __gmp_printf + __gmp_snprintf diff --git a/ports/gmp/portfile.cmake b/ports/gmp/portfile.cmake index d78d4cc302809c..e57ec460708ede 100644 --- a/ports/gmp/portfile.cmake +++ b/ports/gmp/portfile.cmake @@ -9,9 +9,10 @@ if(VCPKG_TARGET_IS_WINDOWS) REF 0018c44e8dfcc3b64b43e0aea4b3f419f0b65fd0 #v6.2.1-2 SHA512 2405e2536ca9fe0b890f44f54c936ac0e4b5a9ebe6a19e1c48a9c21b7211d2a1b45865852e3c65a98a6735216a4e27bea75c0fd6e52efeed4baecd95da9895a5 HEAD_REF master - PATCHES + PATCHES vs.build.patch runtime.patch + adddef.patch ) include(${CURRENT_INSTALLED_DIR}/share/yasm-tool-helper/yasm-tool-helper.cmake) @@ -80,6 +81,11 @@ if(VCPKG_TARGET_IS_WINDOWS) configure_file("${SOURCE_PATH}/gmp.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/gmp.pc" @ONLY) configure_file("${SOURCE_PATH}/gmpxx.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/gmpxx.pc" @ONLY) vcpkg_fixup_pkgconfig() + if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/gmp.h" + "#if defined(DLL_EXPORT) && defined(NO_ASM)" + "#if 1") + endif() else() vcpkg_download_distfile( ARCHIVE @@ -97,6 +103,7 @@ else() vcpkg_configure_make( SOURCE_PATH ${SOURCE_PATH} AUTOCONFIG + OPTIONS ${OPTIONS} ) vcpkg_install_make() @@ -104,5 +111,6 @@ else() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share/") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + # # Handle copyright file(INSTALL "${SOURCE_PATH}/COPYINGv3" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) -endif() +endif() \ No newline at end of file diff --git a/ports/gmp/vcpkg.json b/ports/gmp/vcpkg.json index 19f916179d0419..f19d55d43d3982 100644 --- a/ports/gmp/vcpkg.json +++ b/ports/gmp/vcpkg.json @@ -1,6 +1,7 @@ { "name": "gmp", - "version-string": "6.2.1-2", + "version-string": "6.2.1", + "port-version": 3, "description": "The GNU Multiple Precision Arithmetic Library", "homepage": "https://gmplib.org", "supports": "windows & !(arm | arm64)", diff --git a/ports/mpc/CONTROL b/ports/mpc/CONTROL new file mode 100644 index 00000000000000..4514e62897dbc6 --- /dev/null +++ b/ports/mpc/CONTROL @@ -0,0 +1,5 @@ +Source: mpc +Version: 1.2.0 +Homepage: http://www.multiprecision.org/mpc/ +Description: GNU MPC is a C library for the arithmetic of complex numbers with arbitrarily high precision and correct rounding of the result. +Build-Depends: gmp, mpfr diff --git a/ports/mpc/gmpd.patch b/ports/mpc/gmpd.patch new file mode 100644 index 00000000000000..b08625777c365f --- /dev/null +++ b/ports/mpc/gmpd.patch @@ -0,0 +1,15 @@ +diff --git a/configure.ac b/configure.ac +index ab3da6092..2533df1d8 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -151,7 +151,9 @@ AC_CHECK_FUNCS([dup dup2],, + + AC_CHECK_LIB([gmp], [__gmpz_init], + [LIBS="-lgmp $LIBS"], +- [AC_MSG_ERROR([libgmp not found or uses a different ABI (including static vs shared).])]) ++ [AC_CHECK_LIB([gmpd], [__gmpz_init], ++ [LIBS="-lgmpd $LIBS"], ++ [AC_MSG_ERROR([libgmp not found or uses a different ABI (including static vs shared).])])]) + + AC_MSG_CHECKING(for MPFR) + LIBS="-lmpfr $LIBS" diff --git a/ports/mpc/portfile.cmake b/ports/mpc/portfile.cmake new file mode 100644 index 00000000000000..66aeb9f18fd987 --- /dev/null +++ b/ports/mpc/portfile.cmake @@ -0,0 +1,27 @@ +vcpkg_download_distfile(ARCHIVE + URLS "https://ftp.gnu.org/gnu/mpc/mpc-1.2.0.tar.gz" + FILENAME "mpc-1.2.0.tar.gz" + SHA512 84fa3338f51d369111456a63ad040256a1beb70699e21e2a932c779aa1c3bd08b201412c1659ecbb58403ea0548faacc35996d94f88f0639549269b7563c61b7 +) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + PATCHES gmpd.patch +) + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG +) + +vcpkg_install_make() + +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) + +# # Handle copyright +file(INSTALL "${SOURCE_PATH}/COPYING.LESSER" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) + diff --git a/ports/mpfr/CMakeLists.txt b/ports/mpfr/CMakeLists.txt deleted file mode 100644 index 6664e991ac97a8..00000000000000 --- a/ports/mpfr/CMakeLists.txt +++ /dev/null @@ -1,281 +0,0 @@ -cmake_minimum_required(VERSION 3.3.0) - -project(MPFR VERSION 4.0.2 LANGUAGES C) - -# Find GMP (or MPIR) -find_library(GMP_LIBRARY NAMES gmp mpir) -find_path(GMP_INCLUDE_DIR "gmp.h") - -set(GMP_LIBRARIES ${GMP_LIBRARY}) -set(GMP_INCLUDE_DIRS ${GMP_INCLUDE_DIR}) - -# Sources -set(SRCS - src/abort_prec_max.c - src/acos.c - src/acosh.c - src/add.c - src/add1.c - src/add1sp.c - src/add_d.c - src/add_ui.c - src/agm.c - src/ai.c - src/asin.c - src/asinh.c - src/atan.c - src/atan2.c - src/atanh.c - src/bernoulli.c - src/beta.c - src/buildopt.c - src/cache.c - src/cbrt.c - src/check.c - src/clear.c - src/clears.c - src/cmp.c - src/cmp2.c - src/cmp_abs.c - src/cmp_d.c - src/cmp_ld.c - src/cmp_si.c - src/cmp_ui.c - src/comparisons.c - src/constant.c - src/const_catalan.c - src/const_euler.c - src/const_log2.c - src/const_pi.c - src/copysign.c - src/cos.c - src/cosh.c - src/cot.c - src/coth.c - src/csc.c - src/csch.c - src/digamma.c - src/dim.c - src/div.c - src/div_2exp.c - src/div_2si.c - src/div_2ui.c - src/div_d.c - src/div_ui.c - src/dump.c - src/d_div.c - src/d_sub.c - src/eint.c - src/eq.c - src/erandom.c - src/erf.c - src/erfc.c - src/exceptions.c - src/exp.c - src/exp10.c - src/exp2.c - src/exp3.c - src/expm1.c - src/exp_2.c - src/extract.c - src/factorial.c - src/fits_intmax.c - src/fits_sint.c - src/fits_slong.c - src/fits_sshort.c - src/fits_uint.c - src/fits_uintmax.c - src/fits_ulong.c - src/fits_ushort.c - src/fma.c - src/fmma.c - src/fms.c - src/frac.c - src/free_cache.c - src/frexp.c - src/gamma.c - src/gammaonethird.c - src/gamma_inc.c - src/get_d.c - src/get_d64.c - src/get_exp.c - src/get_f.c - src/get_float128.c - src/get_flt.c - src/get_ld.c - src/get_patches.c - src/get_q.c - src/get_si.c - src/get_sj.c - src/get_str.c - src/get_ui.c - src/get_uj.c - src/get_z.c - src/get_z_exp.c - src/gmp_op.c - src/grandom.c - src/hypot.c - src/init.c - src/init2.c - src/inits.c - src/inits2.c - src/inp_str.c - src/int_ceil_log2.c - src/isinf.c - src/isinteger.c - src/isnan.c - src/isnum.c - src/isqrt.c - src/isregular.c - src/iszero.c - src/jn.c - src/li2.c - src/lngamma.c - src/log.c - src/log10.c - src/log1p.c - src/log2.c - src/logging.c - src/log_ui.c - src/minmax.c - src/min_prec.c - src/modf.c - src/mpfr-gmp.c - src/mpfr-mini-gmp.c - src/mpn_exp.c - src/mp_clz_tab.c - src/mul.c - src/mulders.c - src/mul_2exp.c - src/mul_2si.c - src/mul_2ui.c - src/mul_d.c - src/mul_ui.c - src/neg.c - src/next.c - src/nrandom.c - src/odd_p.c - src/out_str.c - src/pool.c - src/pow.c - src/powerof2.c - src/pow_si.c - src/pow_ui.c - src/pow_z.c - src/printf.c - src/print_raw.c - src/print_rnd_mode.c - src/random_deviate.c - src/rec_sqrt.c - src/reldiff.c - src/rem1.c - src/rint.c - src/rndna.c - src/root.c - src/round_near_x.c - src/round_p.c - src/round_prec.c - src/scale2.c - src/sec.c - src/sech.c - src/set.c - src/setmax.c - src/setmin.c - src/setsign.c - src/set_d.c - src/set_d64.c - src/set_dfl_prec.c - src/set_exp.c - src/set_f.c - src/set_float128.c - src/set_flt.c - src/set_inf.c - src/set_ld.c - src/set_nan.c - src/set_prc_raw.c - src/set_prec.c - src/set_q.c - src/set_rnd.c - src/set_si.c - src/set_si_2exp.c - src/set_sj.c - src/set_str.c - src/set_str_raw.c - src/set_ui.c - src/set_ui_2exp.c - src/set_uj.c - src/set_z.c - src/set_zero.c - src/set_z_exp.c - src/sgn.c - src/signbit.c - src/sin.c - src/sinh.c - src/sinh_cosh.c - src/sin_cos.c - src/si_op.c - src/sqr.c - src/sqrt.c - src/sqrt_ui.c - src/stack_interface.c - src/strtofr.c - src/sub.c - src/sub1.c - src/sub1sp.c - src/subnormal.c - src/sub_d.c - src/sub_ui.c - src/sum.c - src/swap.c - src/tan.c - src/tanh.c - src/ubf.c - src/uceil_exp2.c - src/uceil_log2.c - src/ufloor_log2.c - src/ui_div.c - src/ui_pow.c - src/ui_pow_ui.c - src/ui_sub.c - src/urandom.c - src/urandomb.c - src/vasprintf.c - src/version.c - src/volatile.c - src/yn.c - src/zeta.c - src/zeta_ui.c) - -configure_file("src/mparam_h.in" "mparam.h") - -# Create and configure the target -add_library(mpfr ${SRCS}) - -# target_compile_definitions(mpfr PRIVATE HAVE_CONFIG_H) -target_compile_definitions(mpfr PRIVATE __MPFR_WITHIN_MPFR) -target_compile_definitions(mpfr PRIVATE HAVE_STDINT_H) -target_compile_definitions(mpfr PRIVATE HAVE_STDARG) -if(BUILD_SHARED_LIBS) - target_compile_definitions(mpfr PRIVATE __GMP_LIBGMP_DLL) -endif() - -target_link_libraries(mpfr ${GMP_LIBRARIES}) - -target_include_directories(mpfr PUBLIC ${GMP_INCLUDE_DIRS}) -target_include_directories(mpfr PRIVATE ${CMAKE_BINARY_DIR}) -target_include_directories(mpfr PRIVATE ${PROJECT_SOURCE_DIR}) -target_include_directories(mpfr PRIVATE ${PROJECT_SOURCE_DIR}/src) - -# Install -install( - TARGETS mpfr - EXPORT MPFRExports - RUNTIME DESTINATION "bin" - LIBRARY DESTINATION "lib" - ARCHIVE DESTINATION "lib" - ) - -install( - FILES src/mpfr.h - DESTINATION "include" -) diff --git a/ports/mpfr/CONTROL b/ports/mpfr/CONTROL index 050de1d058887d..487e6cef0b091b 100644 --- a/ports/mpfr/CONTROL +++ b/ports/mpfr/CONTROL @@ -1,5 +1,5 @@ Source: mpfr -Version: 4.0.2-2 +Version: 4.1.0 Homepage: https://www.mpfr.org Description: The MPFR library is a C library for multiple-precision floating-point computations with correct rounding -Build-Depends: mpir +Build-Depends: gmp diff --git a/ports/mpfr/dll.patch b/ports/mpfr/dll.patch new file mode 100644 index 00000000000000..3b6eff519aa978 --- /dev/null +++ b/ports/mpfr/dll.patch @@ -0,0 +1,13 @@ +diff --git a/configure.ac b/configure.ac +index fdee5978d..0791b2528 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -593,7 +593,7 @@ case $host in + AC_MSG_CHECKING(for DLL/static GMP) + if test "$enable_shared" = yes; then + MPFR_LDFLAGS="$MPFR_LDFLAGS -no-undefined" +- LIBMPFR_LDFLAGS="$LIBMPFR_LDFLAGS -Wl,--output-def,.libs/libmpfr-6.dll.def" ++ LIBMPFR_LDFLAGS="$LIBMPFR_LDFLAGS -W1,--no-undefined" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + #include "gmp.h" + #if !__GMP_LIBGMP_DLL diff --git a/ports/mpfr/gmpd.patch b/ports/mpfr/gmpd.patch new file mode 100644 index 00000000000000..d34027d36496b1 --- /dev/null +++ b/ports/mpfr/gmpd.patch @@ -0,0 +1,15 @@ +diff --git a/configure.ac b/configure.ac +index ea92c1f97..9621a70e5 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -693,8 +693,9 @@ See 'config.log' for details (search for GMP_NUMB_BITS).])], + + dnl Check if we can link with GMP + AC_CHECK_LIB(gmp, __gmpz_init, [LIBS="-lgmp $LIBS"], ++ [AC_CHECK_LIB(gmpd, __gmpz_init, [LIBS="-lgmpd $LIBS"], + [AC_MSG_ERROR([libgmp not found or uses a different ABI (including static vs shared). +-Please read the INSTALL file -- see "In case of problem".])]) ++Please read the INSTALL file -- see "In case of problem".])])]) + + dnl Check for corresponding 'gmp.h' and libgmp + AC_MSG_CHECKING(if gmp.h version and libgmp version are the same) diff --git a/ports/mpfr/portfile.cmake b/ports/mpfr/portfile.cmake index 2e202a578780fe..82512c96021570 100644 --- a/ports/mpfr/portfile.cmake +++ b/ports/mpfr/portfile.cmake @@ -1,25 +1,35 @@ +set(VERSION 4.1.0) vcpkg_download_distfile(ARCHIVE - URLS "http://www.mpfr.org/mpfr-4.0.2/mpfr-4.0.2.tar.xz" "https://ftp.gnu.org/gnu/mpfr/mpfr-4.0.2.tar.xz" - FILENAME "mpfr-4.0.2.tar.xz" - SHA512 d583555d08863bf36c89b289ae26bae353d9a31f08ee3894520992d2c26e5683c4c9c193d7ad139632f71c0a476d85ea76182702a98bf08dde7b6f65a54f8b88 + URLS "http://www.mpfr.org/mpfr-${VERSION}/mpfr-${VERSION}.tar.xz" "https://ftp.gnu.org/gnu/mpfr/mpfr-${VERSION}.tar.xz" + FILENAME "mpfr-${VERSION}.tar.xz" + SHA512 1bd1c349741a6529dfa53af4f0da8d49254b164ece8a46928cdb13a99460285622d57fe6f68cef19c6727b3f9daa25ddb3d7d65c201c8f387e421c7f7bee6273 ) vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH ARCHIVE ${ARCHIVE} + PATCHES + gmpd.patch + dll.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) - -vcpkg_configure_cmake( +file(REMOVE_RECURSE "${SOURCE_PATH}/m4") +vcpkg_configure_make( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA + AUTOCONFIG + ADDITIONAL_MSYS_PACKAGES texinfo gettext autoconf-archive ) -vcpkg_install_cmake() +vcpkg_install_make() vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/mpfr.pc" AND VCPKG_TARGET_IS_WINDOWS) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/mpfr.pc" " -lgmp" " -lgmpd") +endif() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Handle copyright file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/scripts/cmake/vcpkg_acquire_msys.cmake b/scripts/cmake/vcpkg_acquire_msys.cmake index 552269278dcaaf..70259991bccbc3 100644 --- a/scripts/cmake/vcpkg_acquire_msys.cmake +++ b/scripts/cmake/vcpkg_acquire_msys.cmake @@ -162,6 +162,11 @@ function(vcpkg_acquire_msys PATH_TO_ROOT_OUT) SHA512 2d0a60f2c384e3b9e2bed2212867c85333545e51ee0f583a33914e488e43c265ed0017cd4430a6e3dafdca99c0414b3756a4b9cc92a6f04d5566eff8b68def75 DEPS msys2-runtime ) + msys_package( + URL "https://repo.msys2.org/msys/x86_64/texinfo-6.7-1-x86_64.pkg.tar.xz" + SHA512 d352e06c916ab5d8e34722a8d8bb93ff975525349c9bdf8206e472d93b25158134f97ba5101ffd0d32cd8d88522c0935d3c83847e759aa5376a2276aa2a392b3 + DEPS bash perl + ) msys_package( URL "https://repo.msys2.org/msys/x86_64/bash-4.4.023-2-x86_64.pkg.tar.xz" SHA512 1cf2a07022113010e00e150e7004732013a793d49e7a6ac7c2be27a0b2c0ce3366150584b9974e30df042f8876a84d6a77c1a46f0607e38ebe18f8a25f51c32d @@ -172,6 +177,11 @@ function(vcpkg_acquire_msys PATH_TO_ROOT_OUT) SHA512 66b9c97bd3d1dfe2a2ab576235b6b8c204a9e4c099ba14cf5d0139e564bba1e735e3b1083354b4cac8c6c42233cbdd5e1e277e32cadfe24017b94d2fbdeb5617 DEPS m4 ) + msys_package( + URL "https://repo.msys2.org/msys/x86_64/autoconf-archive-2019.01.06-1-any.pkg.tar.xz" + SHA512 77540d3d3644d94a52ade1f5db27b7b4b5910bbcd6995195d511378ca6d394a1dd8d606d57161c744699e6c63c5e55dfe6e8664d032cc8c650af9fdbb2db08b0 + DEPS m4 + ) msys_package( URL "https://repo.msys2.org/msys/x86_64/diffutils-3.7-1-x86_64.pkg.tar.xz" SHA512 0c39837a26b2111bb6310cdfe0bc14656e3d57456ad8023f59c9386634a8f1f236915c79a57348b64c508897c73ed88d8abce2b9ac512a427e9a3956939f2040 diff --git a/versions/baseline.json b/versions/baseline.json index 2faf2ad2b139a7..7ac985820145e0 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -2205,8 +2205,8 @@ "port-version": 0 }, "gmp": { - "baseline": "6.2.1-2", - "port-version": 0 + "baseline": "6.2.1", + "port-version": 3 }, "google-cloud-cpp": { "baseline": "1.23.0", @@ -3836,8 +3836,12 @@ "baseline": "1.4.0", "port-version": 0 }, + "mpc": { + "baseline": "1.2.0", + "port-version": 0 + }, "mpfr": { - "baseline": "4.0.2-2", + "baseline": "4.1.0", "port-version": 0 }, "mpg123": { diff --git a/versions/g-/gmp.json b/versions/g-/gmp.json index db8776cc2fa8bf..1ba3f1ed5ea03a 100644 --- a/versions/g-/gmp.json +++ b/versions/g-/gmp.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "3b7459d7ea886b86c9c80890c0b697df9df3cce1", + "version-string": "6.2.1", + "port-version": 3 + }, { "git-tree": "7f067caae5b946b5906abdfee1fb72b53922fef5", "version-string": "6.2.1-2", diff --git a/versions/m-/mpc.json b/versions/m-/mpc.json new file mode 100644 index 00000000000000..240192016834bf --- /dev/null +++ b/versions/m-/mpc.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "82cc965290366b6d4cbc8996a8b9e335769920c8", + "version-string": "1.2.0", + "port-version": 0 + } + ] +} diff --git a/versions/m-/mpfr.json b/versions/m-/mpfr.json index 67ba0c0a479395..84a29abfe3772b 100644 --- a/versions/m-/mpfr.json +++ b/versions/m-/mpfr.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "6cb77c01fbda04c72b1767e3fbd79078bd29895e", + "version-string": "4.1.0", + "port-version": 0 + }, { "git-tree": "7eefb0bc78d4e4422f50379f1ccd05f13c3ed8c2", "version-string": "4.0.2-2", From b5e8e48b49d02374de8bf07a16546d3a116fabc7 Mon Sep 17 00:00:00 2001 From: dweckmann Date: Mon, 25 Jan 2021 08:06:50 +0100 Subject: [PATCH 0019/1735] [openigtlink] Fix cmake config location (#15500) --- ports/openigtlink/CONTROL | 2 ++ ports/openigtlink/portfile.cmake | 4 +--- versions/baseline.json | 2 +- versions/o-/openigtlink.json | 5 +++++ 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/ports/openigtlink/CONTROL b/ports/openigtlink/CONTROL index 488c4061b02371..46af2d45efc5cc 100644 --- a/ports/openigtlink/CONTROL +++ b/ports/openigtlink/CONTROL @@ -1,3 +1,5 @@ Source: openigtlink Version: 3.0 +Port-Version: 1 +Homepage: https://github.com/openigtlink/OpenIGTLink Description: OpenIGTLink is an open-source network communication interface specifically designed for image-guided interventions. diff --git a/ports/openigtlink/portfile.cmake b/ports/openigtlink/portfile.cmake index 532d8661e233f7..e5e6dd466c35dc 100644 --- a/ports/openigtlink/portfile.cmake +++ b/ports/openigtlink/portfile.cmake @@ -11,14 +11,12 @@ vcpkg_configure_cmake( PREFER_NINJA OPTIONS -DBUILD_TESTING=OFF + -DOpenIGTLink_INSTALL_PACKAGE_DIR=share/${PORT} ) vcpkg_install_cmake() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/igtl/cmake) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) vcpkg_copy_pdbs() diff --git a/versions/baseline.json b/versions/baseline.json index 7ac985820145e0..95bc7f6c6b4ff5 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -4250,7 +4250,7 @@ }, "openigtlink": { "baseline": "3.0", - "port-version": 0 + "port-version": 1 }, "openimageio": { "baseline": "2.2.10.0", diff --git a/versions/o-/openigtlink.json b/versions/o-/openigtlink.json index cb4c0f95aa37d3..50418027fb8bd4 100644 --- a/versions/o-/openigtlink.json +++ b/versions/o-/openigtlink.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "6f814a06b22cc250df4eb31553c6df7a803567b7", + "version-string": "3.0", + "port-version": 1 + }, { "git-tree": "df766287f1c9c4d379143fab2456a64ae7ae8452", "version-string": "3.0", From f60b947e1311f72c4dae984a1da0ae7eda4e4048 Mon Sep 17 00:00:00 2001 From: Kevin Lalumiere Date: Mon, 25 Jan 2021 02:11:02 -0500 Subject: [PATCH 0020/1735] [vcpkg] Allow to use Nuget's cache for Nuget binary caching sources (fix #15169) (#15512) * Fix warning on clang version 10.0.0-4ubuntu1 The warning was ```shell ../src/vcpkg/commands.porthistory.cpp:55:14: error: unused function 'is_date' [-Werror,-Wunused-function] ``` * Add environment variable VCPKG_USE_NUGET_CACHE As the name suggests, this environment variable allow tu use Nuget cache for Nuget binary caching sources. * Document NuGet's Cache environment variable --- docs/users/binarycaching.md | 4 ++++ docs/users/config-environment.md | 4 ++++ toolsrc/src/vcpkg/binarycaching.cpp | 21 +++++++++++++++++---- 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/docs/users/binarycaching.md b/docs/users/binarycaching.md index ed051b71636b30..07e238f925635f 100644 --- a/docs/users/binarycaching.md +++ b/docs/users/binarycaching.md @@ -197,6 +197,10 @@ or ``` if the appropriate environment variables are defined and non-empty. This is specifically used to associate packages in GitHub Packages with the _building_ project and not intended to associate with the original package sources. +#### NuGet's cache + +NuGet's cache is not used by default. To use it for every nuget-based source, set the [environment variable](config-environment.md) `VCPKG_USE_NUGET_CACHE` to `true` (case-insensitive) or `1`. + ## Implementation Notes (internal details subject to change without notice) Binary caching relies on hashing everything that contributes to a particular package build. This includes: diff --git a/docs/users/config-environment.md b/docs/users/config-environment.md index 813d2f4de886bc..309a7865426bc6 100644 --- a/docs/users/config-environment.md +++ b/docs/users/config-environment.md @@ -78,3 +78,7 @@ This environment variable adds or removes binary sources. See [Binary Caching](b #### VCPKG_NUGET_REPOSITORY This environment variable changes the metadata of produced NuGet packages. See [Binary Caching](binarycaching.md#Configuration) for more details. + +#### VCPKG_USE_NUGET_CACHE + +This environment variable allows using NuGet's cache for every nuget-based binary source. See [Binary Caching](binarycaching.md#NuGets-cache) for more details. diff --git a/toolsrc/src/vcpkg/binarycaching.cpp b/toolsrc/src/vcpkg/binarycaching.cpp index 58d0584c42f787..280a5be28ba7ad 100644 --- a/toolsrc/src/vcpkg/binarycaching.cpp +++ b/toolsrc/src/vcpkg/binarycaching.cpp @@ -2,6 +2,7 @@ #include #include #include +#include #include #include #include @@ -415,7 +416,11 @@ namespace , m_read_configs(std::move(read_configs)) , m_write_configs(std::move(write_configs)) , m_interactive(interactive) + , m_use_nuget_cache(false) { + const std::string use_nuget_cache = System::get_environment_variable("VCPKG_USE_NUGET_CACHE").value_or(""); + m_use_nuget_cache = Strings::case_insensitive_ascii_equals(use_nuget_cache, "true") || + Strings::case_insensitive_ascii_equals(use_nuget_cache, "1"); } int run_nuget_commandline(const System::Command& cmdline) @@ -531,9 +536,7 @@ namespace .string_arg("-Source") .string_arg(Strings::join(";", m_read_sources)) .string_arg("-ExcludeVersion") - .string_arg("-NoCache") .string_arg("-PreRelease") - .string_arg("-DirectDownload") .string_arg("-PackageSaveMode") .string_arg("nupkg") .string_arg("-Verbosity") @@ -543,6 +546,10 @@ namespace { cmdline.string_arg("-NonInteractive"); } + if (!m_use_nuget_cache) + { + cmdline.string_arg("-DirectDownload").string_arg("-NoCache"); + } cmdlines.push_back(std::move(cmdline)); } @@ -561,9 +568,7 @@ namespace .string_arg("-ConfigFile") .path_arg(cfg) .string_arg("-ExcludeVersion") - .string_arg("-NoCache") .string_arg("-PreRelease") - .string_arg("-DirectDownload") .string_arg("-PackageSaveMode") .string_arg("nupkg") .string_arg("-Verbosity") @@ -573,6 +578,10 @@ namespace { cmdline.string_arg("-NonInteractive"); } + if (!m_use_nuget_cache) + { + cmdline.string_arg("-DirectDownload").string_arg("-NoCache"); + } cmdlines.push_back(std::move(cmdline)); } @@ -735,6 +744,7 @@ namespace std::set m_restored; bool m_interactive; + bool m_use_nuget_cache; }; } @@ -1429,6 +1439,9 @@ void vcpkg::help_topic_binary_caching(const VcpkgPaths&) "\n" "if the appropriate environment variables are defined and non-empty.\n"); tbl.blank(); + tbl.text("NuGet's cache is not used by default. To use it for every nuget-based source, set the environment " + "variable `VCPKG_USE_NUGET_CACHE` to `true` (case-insensitive) or `1`.\n"); + tbl.blank(); System::print2(tbl.m_str); const auto& maybe_cachepath = default_cache_path(); if (auto p = maybe_cachepath.get()) From 124f5d912bd2c5429bc947e6f86de89df4f289a5 Mon Sep 17 00:00:00 2001 From: Long Nguyen Date: Mon, 25 Jan 2021 14:21:41 +0700 Subject: [PATCH 0021/1735] [sdl2] Fix improper replacement of -lSDL2main + remove IGNORE_FLAGS and SYSTEM_LIBRARIES (#15540) * [sdl2] Proper replacement of -lSDL2main -> -lSDL2maind * [sdl2] Add extra SYSTEM_LIBRARIES and IGNORE_FLAGS * [sdl2] Remove SYSTEM_LIBRARIES and IGNORE_FLAGS * update baseline Co-authored-by: JackBoosY --- ports/sdl2/portfile.cmake | 12 ++++-------- ports/sdl2/vcpkg.json | 1 + versions/baseline.json | 2 +- versions/s-/sdl2.json | 5 +++++ 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/ports/sdl2/portfile.cmake b/ports/sdl2/portfile.cmake index 755160e8b462cb..2bd389c3f5b411 100644 --- a/ports/sdl2/portfile.cmake +++ b/ports/sdl2/portfile.cmake @@ -71,9 +71,7 @@ if(NOT VCPKG_CMAKE_SYSTEM_NAME) file(GLOB SHARE_FILES ${CURRENT_PACKAGES_DIR}/share/sdl2/*.cmake) foreach(SHARE_FILE ${SHARE_FILES}) - file(READ "${SHARE_FILE}" _contents) - string(REPLACE "lib/SDL2main" "lib/manual-link/SDL2main" _contents "${_contents}") - file(WRITE "${SHARE_FILE}" "${_contents}") + vcpkg_replace_string("${SHARE_FILE}" "lib/SDL2main" "lib/manual-link/SDL2main") endforeach() endif() @@ -89,10 +87,8 @@ string(REGEX REPLACE ${DYLIB_COMPATIBILITY_VERSION_REGEX} "\\1" DYLIB_COMPATIBIL string(REGEX REPLACE ${DYLIB_CURRENT_VERSION_REGEX} "\\1" DYLIB_CURRENT_VERSION "${DYLIB_CURRENT_VERSION}") if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/sdl2.pc" "-lSDL2" "-lSDL2d") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/sdl2.pc" "-lSDL2main" "-lSDL2maind") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/sdl2.pc" "-lSDL2 " "-lSDL2d ") endif() -vcpkg_fixup_pkgconfig( - IGNORE_FLAGS "-Wl,-rpath,${CURRENT_PACKAGES_DIR}/lib/pkgconfig/../../lib" "-Wl,-rpath,${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/../../lib" "-Wl,--enable-new-dtags" "-Wl,--no-undefined" "-Wl,-undefined,error" "-Wl,-compatibility_version,${DYLIB_COMPATIBILITY_VERSION}" "-Wl,-current_version,${DYLIB_CURRENT_VERSION}" "-Wl,-weak_framework,Metal" "-Wl,-weak_framework,QuartzCore" - SYSTEM_LIBRARIES dbus-1 -) +vcpkg_fixup_pkgconfig() diff --git a/ports/sdl2/vcpkg.json b/ports/sdl2/vcpkg.json index 55562888b1ea4f..e9b899dd3d0e93 100644 --- a/ports/sdl2/vcpkg.json +++ b/ports/sdl2/vcpkg.json @@ -1,6 +1,7 @@ { "name": "sdl2", "version-string": "2.0.14", + "port-version": 1, "description": "Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D.", "homepage": "https://www.libsdl.org/download-2.0.php", "features": { diff --git a/versions/baseline.json b/versions/baseline.json index 95bc7f6c6b4ff5..8bd6cd9eda0d8d 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -5202,7 +5202,7 @@ }, "sdl2": { "baseline": "2.0.14", - "port-version": 0 + "port-version": 1 }, "sdl2-gfx": { "baseline": "1.0.4", diff --git a/versions/s-/sdl2.json b/versions/s-/sdl2.json index 7559dc6ac67c64..61ec9118b8a081 100644 --- a/versions/s-/sdl2.json +++ b/versions/s-/sdl2.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "8d5fa523a69780e41605b585788d212d688f3c71", + "version-string": "2.0.14", + "port-version": 1 + }, { "git-tree": "10ed256500fea4cd6cc5d3e6c6b5f2e9e364d78b", "version-string": "2.0.14", From e263d00933414bb1cd84be4bd6e4f43c4bc03ce9 Mon Sep 17 00:00:00 2001 From: dweckmann Date: Mon, 25 Jan 2021 08:35:49 +0100 Subject: [PATCH 0022/1735] [vtk] use patch for QT_NO_KEYWORDS support from upstream (#15667) --- ...-QT_NO_KEYWORDS-builds-by-VTK-itself.patch | 33 +++++++++++++++++++ ports/vtk/CONTROL | 2 +- ports/vtk/portfile.cmake | 11 +++++++ versions/baseline.json | 2 +- versions/v-/vtk.json | 5 +++ 5 files changed, 51 insertions(+), 2 deletions(-) create mode 100644 ports/vtk/0002-Qt-enforce-QT_NO_KEYWORDS-builds-by-VTK-itself.patch diff --git a/ports/vtk/0002-Qt-enforce-QT_NO_KEYWORDS-builds-by-VTK-itself.patch b/ports/vtk/0002-Qt-enforce-QT_NO_KEYWORDS-builds-by-VTK-itself.patch new file mode 100644 index 00000000000000..56472dbff3bfb2 --- /dev/null +++ b/ports/vtk/0002-Qt-enforce-QT_NO_KEYWORDS-builds-by-VTK-itself.patch @@ -0,0 +1,33 @@ +From 20dd0370d7ad685b7fbdb1625ffec60c940980f3 Mon Sep 17 00:00:00 2001 +From: Ben Boeckel +Date: Fri, 17 Apr 2020 15:02:15 -0400 +Subject: [PATCH 2/2] Qt: enforce QT_NO_KEYWORDS builds by VTK itself + +--- + GUISupport/Qt/CMakeLists.txt | 1 + + Views/Qt/CMakeLists.txt | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/GUISupport/Qt/CMakeLists.txt b/GUISupport/Qt/CMakeLists.txt +index bfa63a94f1..3fc6fe4bd9 100644 +--- a/GUISupport/Qt/CMakeLists.txt ++++ b/GUISupport/Qt/CMakeLists.txt +@@ -47,4 +47,5 @@ vtk_module_add_module(VTK::GUISupportQt + HEADERS ${headers} + PRIVATE_HEADERS ${private_headers}) + ++vtk_module_definitions(VTK::GUISupportQt PRIVATE QT_NO_KEYWORDS) + vtk_module_link(VTK::GUISupportQt PUBLIC Qt5::Widgets) +diff --git a/Views/Qt/CMakeLists.txt b/Views/Qt/CMakeLists.txt +index 7684118e40..b697571dd2 100644 +--- a/Views/Qt/CMakeLists.txt ++++ b/Views/Qt/CMakeLists.txt +@@ -17,4 +17,5 @@ set(CMAKE_AUTOMOC 1) + vtk_module_add_module(VTK::ViewsQt + CLASSES ${classes}) + ++vtk_module_definitions(VTK::ViewsQt PRIVATE QT_NO_KEYWORDS) + vtk_module_link(VTK::ViewsQt PRIVATE Qt5::Widgets) +-- +2.30.0.windows.1 + diff --git a/ports/vtk/CONTROL b/ports/vtk/CONTROL index feceb9d014b41b..1c1bca6707e215 100644 --- a/ports/vtk/CONTROL +++ b/ports/vtk/CONTROL @@ -1,6 +1,6 @@ Source: vtk Version: 9.0.1 -Port-Version: 3 +Port-Version: 4 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 cd403bcb649b1b..9f75240c5d5dd5 100644 --- a/ports/vtk/portfile.cmake +++ b/ports/vtk/portfile.cmake @@ -109,6 +109,14 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS # ============================================================================= # Clone & patch + +# This patch is huge, we prefer to download it on demand +vcpkg_download_distfile(QT_NO_KEYWORDS_PATCH + URLS "https://github.com/Kitware/VTK/commit/64265c5fd1a8e26a6a81241284dea6b3272f6db6.diff" + FILENAME 64265c5fd1a8e26a6a81241284dea6b3272f6db6.diff + SHA512 08991f07b30b893b14e906017b77fb700a8298a3a8906086a0c4b67688c1c0431b3d6bf890df70bd3ebf963cbb9c035b5dbcb9d7593e8c716c3a594ccb9a0fc7 +) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Kitware/VTK @@ -130,6 +138,9 @@ vcpkg_from_github( # Last patch TODO: Patch out internal loguru FindExpat.patch # The find_library calls are taken care of by vcpkg-cmake-wrapper.cmake of expat fix-freetype.patch # Should be fixed next version, !7367 + !7434 + # Remove these 2 official patches in the next update + ${QT_NO_KEYWORDS_PATCH} + 0002-Qt-enforce-QT_NO_KEYWORDS-builds-by-VTK-itself.patch ) # ============================================================================= diff --git a/versions/baseline.json b/versions/baseline.json index 8bd6cd9eda0d8d..7565cc7ba78609 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -6046,7 +6046,7 @@ }, "vtk": { "baseline": "9.0.1", - "port-version": 3 + "port-version": 4 }, "vtk-dicom": { "baseline": "0.8.12-1", diff --git a/versions/v-/vtk.json b/versions/v-/vtk.json index 5457ab3f3482ce..84c38d33f33c24 100644 --- a/versions/v-/vtk.json +++ b/versions/v-/vtk.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "94667926df104c70c0229cc96b36ec41f3911853", + "version-string": "9.0.1", + "port-version": 4 + }, { "git-tree": "6f325c609afb0c171d6d70c965e041f8c7288bd3", "version-string": "9.0.1", From be2092af4e6f7649dee37969104f93f68c3945fc Mon Sep 17 00:00:00 2001 From: Ahmed Yarub Hani Al Nuaimi Date: Mon, 25 Jan 2021 04:37:22 -0300 Subject: [PATCH 0023/1735] Fix Mbed TLS build for Android (#15680) * Fix Mbed TLS build for Android * Fix Mbed TLS build for Android Add better Windows checks * Fix libssh build for Android * update baseline * Remove redundant parameter * Fix version * Fix version * Fix paramters * Fix version * Better Android support * Fix version * Disable warnings as errors for Mbed TLS * Restore formatting * Fix version files Co-authored-by: Ahmed Yarub Hani Al Nuaimi Co-authored-by: JackBoosY Co-authored-by: Nicole Mazzuca --- ports/mbedtls/CONTROL | 2 +- ports/mbedtls/portfile.cmake | 5 +++-- versions/baseline.json | 2 +- versions/m-/mbedtls.json | 5 +++++ 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/ports/mbedtls/CONTROL b/ports/mbedtls/CONTROL index 74164ea10f3f18..dc8bded7bbfe11 100644 --- a/ports/mbedtls/CONTROL +++ b/ports/mbedtls/CONTROL @@ -1,6 +1,6 @@ Source: mbedtls Version: 2.24.0 -Port-Version: 1 +Port-Version: 2 Homepage: https://github.com/ARMmbed/mbedtls Description: An open source, portable, easy to use, readable and flexible SSL library Supports: !uwp diff --git a/ports/mbedtls/portfile.cmake b/ports/mbedtls/portfile.cmake index 196f7c08bfc395..3bd961fbce827f 100644 --- a/ports/mbedtls/portfile.cmake +++ b/ports/mbedtls/portfile.cmake @@ -25,6 +25,7 @@ vcpkg_configure_cmake( ${FEATURE_OPTIONS} -DENABLE_TESTING=OFF -DENABLE_PROGRAMS=OFF + -DMBEDTLS_FATAL_WARNINGS=FALSE ) vcpkg_install_cmake() @@ -33,8 +34,8 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -if(WIN32 AND pthreads IN_LIST FEATURES) +if (VCPKG_TARGET_IS_WINDOWS AND pthreads IN_LIST FEATURES) file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -endif() +endif () vcpkg_copy_pdbs() \ No newline at end of file diff --git a/versions/baseline.json b/versions/baseline.json index 7565cc7ba78609..a06db4fb0de4ed 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3658,7 +3658,7 @@ }, "mbedtls": { "baseline": "2.24.0", - "port-version": 1 + "port-version": 2 }, "mcpp": { "baseline": "2.7.2.14", diff --git a/versions/m-/mbedtls.json b/versions/m-/mbedtls.json index 4eb92bc5958cdc..6498c4d2c107a9 100644 --- a/versions/m-/mbedtls.json +++ b/versions/m-/mbedtls.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "f1591b930b769b43c14a193282eb85e9a7c51a47", + "version-string": "2.24.0", + "port-version": 2 + }, { "git-tree": "8b510a700284731a6f552ff2cd874794af4032ff", "version-string": "2.24.0", From b7c8a3097d8aaafd0065852ad028857a02eab4b6 Mon Sep 17 00:00:00 2001 From: Ahmed Yarub Hani Al Nuaimi Date: Mon, 25 Jan 2021 04:42:44 -0300 Subject: [PATCH 0024/1735] [libssh] Add support for Android (#15687) * Fix Mbed TLS build for Android * Fix Mbed TLS build for Android Add better Windows checks * Fix libssh build for Android * Fix libssh build for Android * Fix versioning * update baseline * Update ports/libssh/portfile.cmake Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> * Update port_versions/l-/libssh.json Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> * Update port_versions/baseline.json Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> * Update ports/libssh/CONTROL * Update port_versions * Revert version changes to master * Update CONTROL version * Update libssh versions * Remove redundant parameter * Remove redundant parameter * Fix version * Fix version * Fix paramters * Fix version * Fix dependencies * Fix versions * Better Android support * Fix version * Simpler Android support * Fix versions * Disable warnings as errors for Mbed TLS * Restore formatting * Update ports/libssh/CONTROL Co-authored-by: ras0219 <533828+ras0219@users.noreply.github.com> * Remove redundant paramter * Fix version files * Fix version files * Fix libssh build for Android * Fix versioning * Update ports/libssh/portfile.cmake Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> * Update port_versions/l-/libssh.json Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> * Update port_versions/baseline.json Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> * Update ports/libssh/CONTROL * Update port_versions * Revert version changes to master * Update CONTROL version * Update libssh versions * Remove redundant parameter * Fix dependencies * Fix versions * Simpler Android support * Fix versions * Update ports/libssh/CONTROL Co-authored-by: ras0219 <533828+ras0219@users.noreply.github.com> * Remove redundant paramter * Fix version files Co-authored-by: Ahmed Yarub Hani Al Nuaimi Co-authored-by: JackBoosY Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> Co-authored-by: NancyLi1013 Co-authored-by: ras0219 <533828+ras0219@users.noreply.github.com> Co-authored-by: Nicole Mazzuca --- ports/libssh/CONTROL | 4 +++- ports/libssh/portfile.cmake | 7 +++++++ versions/baseline.json | 2 +- versions/l-/libssh.json | 5 +++++ 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/ports/libssh/CONTROL b/ports/libssh/CONTROL index fbee566de36b88..d1e607e8cbdfd6 100644 --- a/ports/libssh/CONTROL +++ b/ports/libssh/CONTROL @@ -1,6 +1,8 @@ Source: libssh Version: 0.9.5 +Port-Version: 1 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 @@ -10,7 +12,7 @@ Build-Depends: libssh[mbedtls] Description: Default crypto backend Feature: mbedtls -Build-Depends: mbedtls[pthreads] +Build-Depends: mbedtls[pthreads] (!android), mbedtls[core] Description: Crypto support (mbedTLS) Feature: openssl diff --git a/ports/libssh/portfile.cmake b/ports/libssh/portfile.cmake index 3874d193951640..ee7f0ac8f761a3 100644 --- a/ports/libssh/portfile.cmake +++ b/ports/libssh/portfile.cmake @@ -19,10 +19,17 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS zlib WITH_ZLIB ) +if (VCPKG_TARGET_IS_ANDROID) + set(EXTRA_ARGS "-DWITH_SERVER=FALSE" + "-DWITH_PCAP=FALSE" + ) +endif () + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS + ${EXTRA_ARGS} ${FEATURE_OPTIONS} -DWITH_EXAMPLES=OFF -DUNIT_TESTING=OFF diff --git a/versions/baseline.json b/versions/baseline.json index a06db4fb0de4ed..8afed10c32e2fc 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3350,7 +3350,7 @@ }, "libssh": { "baseline": "0.9.5", - "port-version": 0 + "port-version": 1 }, "libssh2": { "baseline": "1.9.0", diff --git a/versions/l-/libssh.json b/versions/l-/libssh.json index 2aa48093dda1a2..117d34e07531ab 100644 --- a/versions/l-/libssh.json +++ b/versions/l-/libssh.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "bf1fb5ae9324823a60784a5ed0ecbca8a3325214", + "version-string": "0.9.5", + "port-version": 1 + }, { "git-tree": "a9db7620dc774257483a98c9c5309dbb7eff8263", "version-string": "0.9.5", From c9977384354ac363d9ef09768aa0ed0affe63293 Mon Sep 17 00:00:00 2001 From: Ludek Vodicka Date: Mon, 25 Jan 2021 09:15:40 +0100 Subject: [PATCH 0025/1735] [libiconv] Updated typo in iconv share files location (#15771) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Updated typo in iconv share files location CMake Error at ports/libiconv/portfile.cmake:4 (file): file COPY cannot copy file "/root/dev/ExternalLibraries/vcpkg/ports/libiconv/vcpkg-cmake-wrapper.cmake" to "/root/dev/ExternalLibraries/vcpkg/packages/libiconv_x64-linux/share/iconv/vcpkg-cmake-wrapper.cmake": Success. Call Stack (most recent call first): scripts/ports.cmake:136 (include) * [libiconv] Bump version * update baseline * Update ports/libiconv/portfile.cmake Co-authored-by: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> * update baseline Co-authored-by: JackBoosY Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com> Co-authored-by: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> --- ports/libiconv/CONTROL | 2 +- ports/libiconv/portfile.cmake | 4 ++-- versions/baseline.json | 2 +- versions/l-/libiconv.json | 5 +++++ 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/ports/libiconv/CONTROL b/ports/libiconv/CONTROL index 329b3ebc17819d..ec885fe69eccf3 100644 --- a/ports/libiconv/CONTROL +++ b/ports/libiconv/CONTROL @@ -1,5 +1,5 @@ Source: libiconv Version: 1.16 -Port-Version: 6 +Port-Version: 7 Homepage: https://www.gnu.org/software/libiconv/ Description: GNU Unicode text conversion diff --git a/ports/libiconv/portfile.cmake b/ports/libiconv/portfile.cmake index 62fb8e42d89b45..85ccce0c8005cd 100644 --- a/ports/libiconv/portfile.cmake +++ b/ports/libiconv/portfile.cmake @@ -1,6 +1,6 @@ if(NOT VCPKG_TARGET_IS_WINDOWS) set(VCPKG_POLICY_EMPTY_PACKAGE enabled) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/Iconv) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/iconv) file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/iconv) return() endif() @@ -42,4 +42,4 @@ file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURR file(INSTALL ${SOURCE_PATH}/COPYING.LIB DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -set(VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS enabled) \ No newline at end of file +set(VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS enabled) diff --git a/versions/baseline.json b/versions/baseline.json index 8afed10c32e2fc..67fe34aebf58bd 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3010,7 +3010,7 @@ }, "libiconv": { "baseline": "1.16", - "port-version": 6 + "port-version": 7 }, "libics": { "baseline": "1.6.4", diff --git a/versions/l-/libiconv.json b/versions/l-/libiconv.json index e24310b5ddf797..c8d493eac0ad06 100644 --- a/versions/l-/libiconv.json +++ b/versions/l-/libiconv.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "2ca525bd3d388ec908ab2ec26bdccb12a990a26d", + "version-string": "1.16", + "port-version": 7 + }, { "git-tree": "b052109a8f7de3bcaf5d81b92952cbe9218dea6a", "version-string": "1.16", From 496f9e4fa46ad65e79a6ffb0185996d92c076eec Mon Sep 17 00:00:00 2001 From: An Tao Date: Mon, 25 Jan 2021 16:16:36 +0800 Subject: [PATCH 0026/1735] [trantor] Update to 1.2.0 (#15841) * [trantor] Update to 1.2.0 * Add versions file --- ports/trantor/CONTROL | 2 +- ports/trantor/portfile.cmake | 6 ++++-- ports/trantor/vcpkg.patch | 14 ++++++++++++++ versions/baseline.json | 2 +- versions/t-/trantor.json | 5 +++++ 5 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 ports/trantor/vcpkg.patch diff --git a/ports/trantor/CONTROL b/ports/trantor/CONTROL index 88be5a34a84167..5349726cc36939 100644 --- a/ports/trantor/CONTROL +++ b/ports/trantor/CONTROL @@ -1,5 +1,5 @@ Source: trantor -Version: 1.1.1 +Version: 1.2.0 Homepage: https://github.com/an-tao/trantor Description: A non-blocking I/O cross-platform TCP network library, using C++14. Build-Depends: openssl, c-ares diff --git a/ports/trantor/portfile.cmake b/ports/trantor/portfile.cmake index b5620907ac4966..eb835a13eaa3fb 100644 --- a/ports/trantor/portfile.cmake +++ b/ports/trantor/portfile.cmake @@ -1,9 +1,11 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO an-tao/trantor - REF v1.1.1 - SHA512 525316b88a96acc90cf21aa0d6dc74ccbeb1bf55dda39cd6fb0344f3672e61db37621614d742666fd54c28448e0fbc4cedebda10cadb97a225be9481a6fbd9e2 + REF v1.2.0 + SHA512 2d94ef174642c81e1db62621ae8bc98a5b439f90437af4fa0ab67d09646bb04847b07a8be305331807dad4ef9244b06636ef471ce9da15ce23fc8bed4ff1d9e2 HEAD_REF master + PATCHES + vcpkg.patch ) vcpkg_configure_cmake( diff --git a/ports/trantor/vcpkg.patch b/ports/trantor/vcpkg.patch new file mode 100644 index 00000000000000..f5b23d64749320 --- /dev/null +++ b/ports/trantor/vcpkg.patch @@ -0,0 +1,14 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d164667..e75b869 100755 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -90,6 +90,9 @@ if(c-ares_FOUND) + message(STATUS "c-ares found!") + target_link_libraries(${PROJECT_NAME} PRIVATE c-ares_lib) + set(TRANTOR_SOURCES ${TRANTOR_SOURCES} trantor/net/inner/AresResolver.cc) ++ if(APPLE) ++ target_link_libraries(${PROJECT_NAME} PRIVATE resolv) ++ endif() + else() + set(TRANTOR_SOURCES ${TRANTOR_SOURCES} trantor/net/inner/NormalResolver.cc) + endif() diff --git a/versions/baseline.json b/versions/baseline.json index 67fe34aebf58bd..5fb557730c4abe 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -5841,7 +5841,7 @@ "port-version": 0 }, "trantor": { - "baseline": "1.1.1", + "baseline": "1.2.0", "port-version": 0 }, "tre": { diff --git a/versions/t-/trantor.json b/versions/t-/trantor.json index fc225ffc3bdbcb..f4a822e2ed4734 100644 --- a/versions/t-/trantor.json +++ b/versions/t-/trantor.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "af52c9e7b3dd398e61ef6ea0a34a48cdcfce7f42", + "version-string": "1.2.0", + "port-version": 0 + }, { "git-tree": "0df63258899007bb9f8fa2027ab3f0b3a3807251", "version-string": "1.1.1", From 652f267816d005fbd54161c4c8ca397ee100eff1 Mon Sep 17 00:00:00 2001 From: Ludek Vodicka Date: Mon, 25 Jan 2021 10:28:50 +0100 Subject: [PATCH 0027/1735] [libxslt] Fixed macos build (#15806) * Fixed macos build Fixed missing libiconv library on osx build * [libxslt] Bump version * update version record * update baseline * [libxslt] Add Support field. * update version record Co-authored-by: JackBoosY --- ports/libxslt/CONTROL | 3 ++- ports/libxslt/portfile.cmake | 12 +++++++++--- scripts/ci.baseline.txt | 3 --- versions/baseline.json | 2 +- versions/l-/libxslt.json | 5 +++++ 5 files changed, 17 insertions(+), 8 deletions(-) diff --git a/ports/libxslt/CONTROL b/ports/libxslt/CONTROL index 27f8c16f448566..65a62940cb38ff 100644 --- a/ports/libxslt/CONTROL +++ b/ports/libxslt/CONTROL @@ -1,6 +1,7 @@ Source: libxslt Version: 1.1.33 -Port-Version: 8 +Port-Version: 9 Homepage: https://github.com/GNOME/libxslt Description: Libxslt is a XSLT library implemented in C for XSLT 1.0 and most of EXSLT Build-Depends: libxml2, liblzma +Supports: !uwp \ No newline at end of file diff --git a/ports/libxslt/portfile.cmake b/ports/libxslt/portfile.cmake index 63cb6d32222825..06dd48f4811035 100644 --- a/ports/libxslt/portfile.cmake +++ b/ports/libxslt/portfile.cmake @@ -83,6 +83,12 @@ else() find_library(LibXml2_DEBUG_LIBRARIES libxml2 PATHS ${CURRENT_INSTALLED_DIR}/debug/lib REQUIRED) find_library(LibXml2_RELEASE_LIBRARIES libxml2 PATHS ${CURRENT_INSTALLED_DIR}/lib REQUIRED) + if (VCPKG_TARGET_IS_OSX ) + set(LIBICONV "-liconv") + else() + set(LIBICONV "") + endif() + vcpkg_configure_make( SOURCE_PATH ${SOURCE_PATH} AUTOCONFIG @@ -95,14 +101,14 @@ else() --with-mem-debug --with-debug --with-debugger - --with-libxml-libs-prefix="${CURRENT_INSTALLED_DIR}/debug/lib -lxml2 -lz -llzmad" + --with-libxml-libs-prefix="${CURRENT_INSTALLED_DIR}/debug/lib -lxml2 -lz -llzmad ${LIBICONV}" --with-html-dir=${CURRENT_INSTALLED_DIR}/debug/tools --with-html-subdir=${CURRENT_INSTALLED_DIR}/debug/tools OPTIONS_RELEASE - --with-libxml-libs-prefix="${CURRENT_INSTALLED_DIR}/lib -lxml2 -lz -llzma" + --with-libxml-libs-prefix="${CURRENT_INSTALLED_DIR}/lib -lxml2 -lz -llzma ${LIBICONV}" --with-html-dir=${CURRENT_INSTALLED_DIR}/tools --with-html-subdir=${CURRENT_INSTALLED_DIR}/tools - ) + ) vcpkg_install_make() vcpkg_fixup_pkgconfig() diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index a44f6881eaff38..cbb40b1a7fccca 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -819,9 +819,6 @@ libwandio:arm64-windows=fail libwandio:arm-uwp=fail libxmp-lite:x64-linux=fail libxmp-lite:x64-osx=fail -libxslt:arm-uwp=fail -libxslt:x64-osx=fail -libxslt:x64-uwp=fail libyuv:arm-uwp=fail libyuv:x64-uwp=fail licensepp:arm-uwp=fail diff --git a/versions/baseline.json b/versions/baseline.json index 5fb557730c4abe..28eece539e9138 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3482,7 +3482,7 @@ }, "libxslt": { "baseline": "1.1.33", - "port-version": 8 + "port-version": 9 }, "libyaml": { "baseline": "0.2.5", diff --git a/versions/l-/libxslt.json b/versions/l-/libxslt.json index 66c70404c70675..722fbe014d69c4 100644 --- a/versions/l-/libxslt.json +++ b/versions/l-/libxslt.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "210c2ecb911a6c2445806f30a98a3f2c9a9177dc", + "version-string": "1.1.33", + "port-version": 9 + }, { "git-tree": "a737eb337f73e61e189204c657dc32332ba0adf8", "version-string": "1.1.33", From f7070ab06a466e2327cea92c4a5be53ea9776f7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jack=C2=B7Boos=C2=B7Yu?= <47264268+JackBoosY@users.noreply.github.com> Date: Mon, 25 Jan 2021 01:33:30 -0800 Subject: [PATCH 0028/1735] [freeimage] Fix plugin disable patch (#15812) * [freeimage] Fix plugin disable patch * update version record --- ports/freeimage/CONTROL | 2 +- ...ng-on-internal-third-party-libraries.patch | 34 ++++++++++++++----- ports/freeimage/portfile.cmake | 1 - .../freeimage/update_format_enum_values.patch | 33 ------------------ versions/baseline.json | 2 +- versions/f-/freeimage.json | 5 +++ 6 files changed, 33 insertions(+), 44 deletions(-) delete mode 100644 ports/freeimage/update_format_enum_values.patch diff --git a/ports/freeimage/CONTROL b/ports/freeimage/CONTROL index da87824649b3a6..811028ca6b97f4 100644 --- a/ports/freeimage/CONTROL +++ b/ports/freeimage/CONTROL @@ -1,6 +1,6 @@ Source: freeimage Version: 3.18.0 -Port-Version: 18 +Port-Version: 19 Build-Depends: zlib, libpng, libjpeg-turbo, tiff, openjpeg, libwebp (!uwp), libraw, jxrlib, openexr Homepage: https://sourceforge.net/projects/freeimage/ Description: Support library for graphics image formats diff --git a/ports/freeimage/disable-plugins-depending-on-internal-third-party-libraries.patch b/ports/freeimage/disable-plugins-depending-on-internal-third-party-libraries.patch index 28d0e3a42be9dc..c22828deee7504 100644 --- a/ports/freeimage/disable-plugins-depending-on-internal-third-party-libraries.patch +++ b/ports/freeimage/disable-plugins-depending-on-internal-third-party-libraries.patch @@ -1,20 +1,38 @@ diff --git a/Source/FreeImage.h b/Source/FreeImage.h -index e2d1c5a..cc66b7d 100644 +index 12182cd..ebd0453 100644 --- a/Source/FreeImage.h +++ b/Source/FreeImage.h -@@ -410,7 +410,11 @@ FI_ENUM(FREE_IMAGE_FORMAT) { +@@ -410,16 +410,20 @@ FI_ENUM(FREE_IMAGE_FORMAT) { FIF_DDS = 24, FIF_GIF = 25, FIF_HDR = 26, - FIF_FAXG3 = 27, +- FIF_SGI = 28, +- FIF_EXR = 29, +- FIF_J2K = 30, +- FIF_JP2 = 31, +- FIF_PFM = 32, +- FIF_PICT = 33, +- FIF_RAW = 34, +- FIF_WEBP = 35, +- FIF_JXR = 36 +/* vcpkg: The G3 fax format plugin is deliberately disabled in our build of + FreeImage, since it requires usage of the vendored copy of libtiff. */ +#if 0 + FIF_FAXG3 = 27, +#endif - FIF_SGI = 28, - FIF_EXR = 29, - FIF_J2K = 30, ++ FIF_SGI = 27, ++ FIF_EXR = 28, ++ FIF_J2K = 29, ++ FIF_JP2 = 30, ++ FIF_PFM = 31, ++ FIF_PICT = 32, ++ FIF_RAW = 33, ++ FIF_WEBP = 34, ++ FIF_JXR = 35 + }; + + /** Image type used in FreeImage. @@ -476,6 +480,9 @@ FI_ENUM(FREE_IMAGE_DITHER) { /** Lossless JPEG transformations Constants used in FreeImage_JPEGTransform @@ -33,7 +51,7 @@ index e2d1c5a..cc66b7d 100644 /** Tone mapping operators. Constants used in FreeImage_ToneMapping. -@@ -1077,6 +1085,9 @@ DLL_API const char* DLL_CALLCONV FreeImage_TagToString(FREE_IMAGE_MDMODEL model, +@@ -1089,6 +1097,9 @@ DLL_API const char* DLL_CALLCONV FreeImage_TagToString(FREE_IMAGE_MDMODEL model, // JPEG lossless transformation routines // -------------------------------------------------------------------------- @@ -43,7 +61,7 @@ index e2d1c5a..cc66b7d 100644 DLL_API BOOL DLL_CALLCONV FreeImage_JPEGTransform(const char *src_file, const char *dst_file, FREE_IMAGE_JPEG_OPERATION operation, BOOL perfect FI_DEFAULT(TRUE)); DLL_API BOOL DLL_CALLCONV FreeImage_JPEGTransformU(const wchar_t *src_file, const wchar_t *dst_file, FREE_IMAGE_JPEG_OPERATION operation, BOOL perfect FI_DEFAULT(TRUE)); DLL_API BOOL DLL_CALLCONV FreeImage_JPEGCrop(const char *src_file, const char *dst_file, int left, int top, int right, int bottom); -@@ -1085,7 +1096,7 @@ DLL_API BOOL DLL_CALLCONV FreeImage_JPEGTransformFromHandle(FreeImageIO* src_io, +@@ -1097,7 +1108,7 @@ DLL_API BOOL DLL_CALLCONV FreeImage_JPEGTransformFromHandle(FreeImageIO* src_io, DLL_API BOOL DLL_CALLCONV FreeImage_JPEGTransformCombined(const char *src_file, const char *dst_file, FREE_IMAGE_JPEG_OPERATION operation, int* left, int* top, int* right, int* bottom, BOOL perfect FI_DEFAULT(TRUE)); DLL_API BOOL DLL_CALLCONV FreeImage_JPEGTransformCombinedU(const wchar_t *src_file, const wchar_t *dst_file, FREE_IMAGE_JPEG_OPERATION operation, int* left, int* top, int* right, int* bottom, BOOL perfect FI_DEFAULT(TRUE)); DLL_API BOOL DLL_CALLCONV FreeImage_JPEGTransformCombinedFromMemory(FIMEMORY* src_stream, FIMEMORY* dst_stream, FREE_IMAGE_JPEG_OPERATION operation, int* left, int* top, int* right, int* bottom, BOOL perfect FI_DEFAULT(TRUE)); @@ -53,7 +71,7 @@ index e2d1c5a..cc66b7d 100644 // -------------------------------------------------------------------------- // Image manipulation toolkit diff --git a/Source/FreeImage/Plugin.cpp b/Source/FreeImage/Plugin.cpp -index 57ebffd..a93440f 100644 +index 11e7294..0119ba7 100644 --- a/Source/FreeImage/Plugin.cpp +++ b/Source/FreeImage/Plugin.cpp @@ -263,7 +263,11 @@ FreeImage_Initialise(BOOL load_local_plugins_only) { diff --git a/ports/freeimage/portfile.cmake b/ports/freeimage/portfile.cmake index 26253c71560e58..ce1b86821cc544 100644 --- a/ports/freeimage/portfile.cmake +++ b/ports/freeimage/portfile.cmake @@ -18,7 +18,6 @@ vcpkg_from_sourceforge( fix-function-overload.patch use-typedef-as-already-declared.patch use-functions-to-override-libtiff-warning-error-handlers.patch - update_format_enum_values.patch ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) diff --git a/ports/freeimage/update_format_enum_values.patch b/ports/freeimage/update_format_enum_values.patch deleted file mode 100644 index 01a0a6b9f57ca6..00000000000000 --- a/ports/freeimage/update_format_enum_values.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git a/Source/FreeImage.h b/Source/FreeImage.h -index 59de277..224877f 100644 ---- a/Source/FreeImage.h -+++ b/Source/FreeImage.h -@@ -420,15 +420,19 @@ FI_ENUM(FREE_IMAGE_FORMAT) { - #if 0 - FIF_FAXG3 = 27, - #endif -- FIF_SGI = 28, -- FIF_EXR = 29, -- FIF_J2K = 30, -- FIF_JP2 = 31, -- FIF_PFM = 32, -- FIF_PICT = 33, -- FIF_RAW = 34, -- FIF_WEBP = 35, -- FIF_JXR = 36 -+/* vcpkg: removal of G3 fax format messes up the format enum numbering due to FreeImage -+ relying on the list of plugins as created in AddNode(). Enum values have been -+ corrected to compensate. This is similar to the reported bug: -+ https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=841089 */ -+ FIF_SGI = 27, -+ FIF_EXR = 28, -+ FIF_J2K = 29, -+ FIF_JP2 = 30, -+ FIF_PFM = 31, -+ FIF_PICT = 32, -+ FIF_RAW = 33, -+ FIF_WEBP = 34, -+ FIF_JXR = 35 - }; - - /** Image type used in FreeImage. diff --git a/versions/baseline.json b/versions/baseline.json index 28eece539e9138..c394a60422886b 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -1982,7 +1982,7 @@ }, "freeimage": { "baseline": "3.18.0", - "port-version": 18 + "port-version": 19 }, "freeopcua": { "baseline": "20190125-3", diff --git a/versions/f-/freeimage.json b/versions/f-/freeimage.json index c68c6c87a672a5..def7ee31402e31 100644 --- a/versions/f-/freeimage.json +++ b/versions/f-/freeimage.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "100a12b0221593a3c5dae70231b7cd4145b73ca9", + "version-string": "3.18.0", + "port-version": 19 + }, { "git-tree": "76911a1130a9c099e49e9fc07a2f5f7cf4c86125", "version-string": "3.18.0", From a6fbf2032211255168f2437d94ce1bc50c5a03f5 Mon Sep 17 00:00:00 2001 From: Marek Roszko Date: Mon, 25 Jan 2021 04:34:35 -0500 Subject: [PATCH 0029/1735] [ngspice] Update to rev 33 (#15837) * [ngspice] Update to rev 33 * Update ports/ngspice/CONTROL Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> * x-add-version ngspice Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> --- ports/ngspice/CONTROL | 3 +-- ports/ngspice/portfile.cmake | 6 ++--- ports/ngspice/use-winbison-global.patch | 32 +++++++++++++++---------- versions/baseline.json | 4 ++-- versions/n-/ngspice.json | 5 ++++ 5 files changed, 30 insertions(+), 20 deletions(-) diff --git a/ports/ngspice/CONTROL b/ports/ngspice/CONTROL index df7fd9b5b557ee..52d04f3aaa87d7 100644 --- a/ports/ngspice/CONTROL +++ b/ports/ngspice/CONTROL @@ -1,6 +1,5 @@ Source: ngspice -Version: 32 -Port-Version: 1 +Version: 33 Homepage: http://ngspice.sourceforge.net/ Description: Ngspice is a mixed-level/mixed-signal electronic circuit simulator. It is a successor of the latest stable release of Berkeley SPICE Supports: !(linux|osx|arm|uwp) diff --git a/ports/ngspice/portfile.cmake b/ports/ngspice/portfile.cmake index 66675c8c46a874..538a02f5e6c62c 100644 --- a/ports/ngspice/portfile.cmake +++ b/ports/ngspice/portfile.cmake @@ -8,9 +8,9 @@ set(VCPKG_CRT_LINKAGE static) vcpkg_from_sourceforge( OUT_SOURCE_PATH SOURCE_PATH REPO ngspice/ng-spice-rework - REF 32 - FILENAME "ngspice-32.tar.gz" - SHA512 222eaa0cd6577a6eb8454bb49a7050a162d430c4b07a4fdc6baf350c5b3f5b018bac640fd44f465ec09c8cba6a9729b1cbe8d3d8c097f672acc2c22fabe8f4bc + REF 33 + FILENAME "ngspice-33.tar.gz" + SHA512 895e39f7de185df18bf443a9fa5691cdb3bf0a5091d9860d20ccb02254ef396a4cca5a1c8bf4ba19a03783fc89bb86649218cee977b0fe4565d3c84548943c09 PATCHES use-winbison-global.patch ) diff --git a/ports/ngspice/use-winbison-global.patch b/ports/ngspice/use-winbison-global.patch index f28a34acec3da9..c345e98397f88a 100644 --- a/ports/ngspice/use-winbison-global.patch +++ b/ports/ngspice/use-winbison-global.patch @@ -1,13 +1,19 @@ -diff --git a/visualc/sharedspice.vcxproj b/visualc/sharedspice.vcxproj -index 96786b1..f5d9322 100644 ---- a/visualc/sharedspice.vcxproj -+++ b/visualc/sharedspice.vcxproj -@@ -879,7 +879,7 @@ - - - invoke win_bison.exe for %(Identity) -- ..\..\flex-bison\win_bison.exe --output=.\tmp-bison\%(Filename).c --defines=.\tmp-bison\%(Filename).h %(Identity) || exit 1 -+ win_bison.exe --output=.\tmp-bison\%(Filename).c --defines=.\tmp-bison\%(Filename).h %(Identity) || exit 1 - .\tmp-bison\%(Filename).c;.\tmp-bison\%(Filename).h - - +diff --git a/visualc/sharedspice.vcxproj b/visualc/sharedspice.vcxproj +index 4ff0dfc..57b0c35 100644 +--- a/visualc/sharedspice.vcxproj ++++ b/visualc/sharedspice.vcxproj +@@ -2223,12 +2223,12 @@ + + + invoke win_bison.exe for %(Identity) +- ..\..\flex-bison\win_bison.exe --output=.\tmp-bison\%(Filename).c --defines=.\tmp-bison\%(Filename).h %(Identity) || exit 1 ++ win_bison.exe --output=.\tmp-bison\%(Filename).c --defines=.\tmp-bison\%(Filename).h %(Identity) || exit 1 + .\tmp-bison\%(Filename).c;.\tmp-bison\%(Filename).h + + + invoke win_bison.exe for %(Identity) +- ..\..\flex-bison\win_bison.exe --output=.\tmp-bison\%(Filename).c --defines=.\tmp-bison\%(Filename).h %(Identity) || exit 1 ++ win_bison.exe --output=.\tmp-bison\%(Filename).c --defines=.\tmp-bison\%(Filename).h %(Identity) || exit 1 + .\tmp-bison\%(Filename).c;.\tmp-bison\%(Filename).h + + diff --git a/versions/baseline.json b/versions/baseline.json index c394a60422886b..e574da5a3535f4 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -4009,8 +4009,8 @@ "port-version": 0 }, "ngspice": { - "baseline": "32", - "port-version": 1 + "baseline": "33", + "port-version": 0 }, "nifticlib": { "baseline": "2020-04-30", diff --git a/versions/n-/ngspice.json b/versions/n-/ngspice.json index 5dcf4cb76d38a8..b34cb7d92312b3 100644 --- a/versions/n-/ngspice.json +++ b/versions/n-/ngspice.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "90c388f47ca769fd11449fde9d70402e9865a986", + "version-string": "33", + "port-version": 0 + }, { "git-tree": "b15238b045e17d6543080e78e20071380df008f2", "version-string": "32", From cc093a822431437b4a78945032f2996efe668a7d Mon Sep 17 00:00:00 2001 From: Martin Vejdarski Date: Mon, 25 Jan 2021 10:47:30 +0100 Subject: [PATCH 0030/1735] [harfbuzz] Use meson and update to 2.7.0 (#12860) * [harfbuzz] Use meson * [harfbuzz] Add config file for CMake * [harfbuzz,pango] Remove glib option for harfbuzz * [libass,libmupdf,qt5-base,skia] Fix for harfbuzz * Back out meson edit already applied in https://github.com/microsoft/vcpkg/pull/15258 * [harfbuzz] Fixup pkgconfig * [libass] Bump port version * Revert "[libass,libmupdf,qt5-base,skia] Fix for harfbuzz" This reverts commit 3ba27c6c1c10a2889a8c5e028d010916f91418e3. * [harfbuzz] Update to 2.7.4 * update baseline record * Restore glib feature for harfbuzz and remove vagrant change * Update port version * Change over to manifests * Update port version Co-authored-by: Ebrahim Byagowi Co-authored-by: Billy Robert O'Neal III Co-authored-by: JackBoosY --- ports/harfbuzz/0001-fix-cmake-export.patch | 13 ---- ports/harfbuzz/0003-remove-broken-test.patch | 26 ------- ports/harfbuzz/CONTROL | 18 ----- ports/harfbuzz/find-package-freetype-2.patch | 13 ---- ports/harfbuzz/fix_include.patch | 12 ---- ports/harfbuzz/glib-cmake.patch | 30 -------- ports/harfbuzz/harfbuzzConfig.cmake.in | 58 +++++++++++++++ ports/harfbuzz/icu.patch | 27 ------- ports/harfbuzz/portfile.cmake | 65 ++++++----------- ports/harfbuzz/vcpkg.json | 36 ++++++++++ ports/pango/0002-remove-hb-glib.diff | 75 ++++++++++++++++++++ ports/pango/CONTROL | 4 +- ports/pango/portfile.cmake | 4 +- versions/baseline.json | 6 +- versions/h-/harfbuzz.json | 5 ++ versions/p-/pango.json | 5 ++ 16 files changed, 210 insertions(+), 187 deletions(-) delete mode 100644 ports/harfbuzz/0001-fix-cmake-export.patch delete mode 100644 ports/harfbuzz/0003-remove-broken-test.patch delete mode 100644 ports/harfbuzz/CONTROL delete mode 100644 ports/harfbuzz/find-package-freetype-2.patch delete mode 100644 ports/harfbuzz/fix_include.patch delete mode 100644 ports/harfbuzz/glib-cmake.patch create mode 100644 ports/harfbuzz/harfbuzzConfig.cmake.in delete mode 100644 ports/harfbuzz/icu.patch create mode 100644 ports/harfbuzz/vcpkg.json create mode 100644 ports/pango/0002-remove-hb-glib.diff diff --git a/ports/harfbuzz/0001-fix-cmake-export.patch b/ports/harfbuzz/0001-fix-cmake-export.patch deleted file mode 100644 index 31f4896f445567..00000000000000 --- a/ports/harfbuzz/0001-fix-cmake-export.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 71830b6f5..a25cb09dd 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -712,7 +712,7 @@ if (NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL) - ) - install(EXPORT harfbuzzConfig - NAMESPACE harfbuzz:: -- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/harfbuzz -+ DESTINATION share/harfbuzz - ) - if (HB_HAVE_ICU) - install(TARGETS harfbuzz-icu diff --git a/ports/harfbuzz/0003-remove-broken-test.patch b/ports/harfbuzz/0003-remove-broken-test.patch deleted file mode 100644 index 2a3b234eed27dd..00000000000000 --- a/ports/harfbuzz/0003-remove-broken-test.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/src/hb-coretext.cc b/src/hb-coretext.cc -index 85993d1..3e8e642 100644 ---- a/src/hb-coretext.cc -+++ b/src/hb-coretext.cc -@@ -1059,21 +1059,6 @@ resize_and_retry: - buffer->len += num_glyphs; - } - -- /* Mac OS 10.6 doesn't have kCTTypesetterOptionForcedEmbeddingLevel, -- * or if it does, it doesn't respect it. So we get runs with wrong -- * directions. As such, disable the assert... It wouldn't crash, but -- * cursoring will be off... -- * -- * https://crbug.com/419769 -- */ -- if (false) -- { -- /* Make sure all runs had the expected direction. */ -- HB_UNUSED bool backward = HB_DIRECTION_IS_BACKWARD (buffer->props.direction); -- assert (bool (status_and & kCTRunStatusRightToLeft) == backward); -- assert (bool (status_or & kCTRunStatusRightToLeft) == backward); -- } -- - buffer->clear_positions (); - - unsigned int count = buffer->len; diff --git a/ports/harfbuzz/CONTROL b/ports/harfbuzz/CONTROL deleted file mode 100644 index 753eb70b9e1569..00000000000000 --- a/ports/harfbuzz/CONTROL +++ /dev/null @@ -1,18 +0,0 @@ -Source: harfbuzz -Version: 2.7.2 -Port-Version: 1 -Description: HarfBuzz OpenType text shaping engine -Homepage: https://github.com/behdad/harfbuzz -Build-Depends: freetype[core], ragel, gettext (osx) - -Feature: graphite2 -Build-Depends: graphite2 -Description: Graphite2 shaper support - -Feature: icu -Build-Depends: icu -Description: icu support for harfbuzz - -Feature: glib -Build-Depends: glib -Description: Glib Unicode callbacks support diff --git a/ports/harfbuzz/find-package-freetype-2.patch b/ports/harfbuzz/find-package-freetype-2.patch deleted file mode 100644 index 608e9c890eeb66..00000000000000 --- a/ports/harfbuzz/find-package-freetype-2.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index defd5d6..03f9d4e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -267,7 +267,7 @@ set (subset_project_headers - - ## Find and include needed header folders and libraries - if (HB_HAVE_FREETYPE) -- include (FindFreetype) -+ find_package(Freetype REQUIRED) - if (NOT FREETYPE_FOUND) - message(FATAL_ERROR "HB_HAVE_FREETYPE was set, but we failed to find it. Maybe add a CMAKE_PREFIX_PATH= to your Freetype2 install prefix") - endif () diff --git a/ports/harfbuzz/fix_include.patch b/ports/harfbuzz/fix_include.patch deleted file mode 100644 index 894f7b37c4acf5..00000000000000 --- a/ports/harfbuzz/fix_include.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index c4dc524..bfd15ec 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -431,6 +431,7 @@ endif () - - ## Define harfbuzz library - add_library(harfbuzz ${project_sources} ${project_extra_sources} ${project_headers}) -+target_include_directories(harfbuzz PUBLIC $) - target_link_libraries(harfbuzz ${THIRD_PARTY_LIBS}) - - diff --git a/ports/harfbuzz/glib-cmake.patch b/ports/harfbuzz/glib-cmake.patch deleted file mode 100644 index f982171206dad1..00000000000000 --- a/ports/harfbuzz/glib-cmake.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 9b21bef2c..ae741ef63 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -213,21 +213,13 @@ endif () - if (HB_HAVE_GLIB) - add_definitions(-DHAVE_GLIB) - -- # https://github.com/WebKit/webkit/blob/master/Source/cmake/FindGLIB.cmake -- find_package(PkgConfig) -- pkg_check_modules(PC_GLIB QUIET glib-2.0) -- -- find_library(GLIB_LIBRARIES NAMES glib-2.0 HINTS ${PC_GLIB_LIBDIR} ${PC_GLIB_LIBRARY_DIRS}) -- find_path(GLIBCONFIG_INCLUDE_DIR NAMES glibconfig.h HINTS ${PC_LIBDIR} ${PC_LIBRARY_DIRS} ${PC_GLIB_INCLUDEDIR} ${PC_GLIB_INCLUDE_DIRS} PATH_SUFFIXES glib-2.0/include) -- find_path(GLIB_INCLUDE_DIR NAMES glib.h HINTS ${PC_GLIB_INCLUDEDIR} ${PC_GLIB_INCLUDE_DIRS} PATH_SUFFIXES glib-2.0) -- -- include_directories(${GLIBCONFIG_INCLUDE_DIR} ${GLIB_INCLUDE_DIR}) -+ find_package(Threads REQUIRED) -+ find_package(Iconv REQUIRED) -+ find_package(unofficial-glib CONFIG REQUIRED) - - list(APPEND project_headers ${PROJECT_SOURCE_DIR}/src/hb-glib.h) - -- list(APPEND THIRD_PARTY_LIBS ${GLIB_LIBRARIES}) -- -- mark_as_advanced(GLIB_LIBRARIES GLIBCONFIG_INCLUDE_DIR GLIB_INCLUDE_DIR) -+ list(APPEND THIRD_PARTY_LIBS unofficial::glib::glib Iconv::Iconv) - endif () - - if (HB_HAVE_ICU) diff --git a/ports/harfbuzz/harfbuzzConfig.cmake.in b/ports/harfbuzz/harfbuzzConfig.cmake.in new file mode 100644 index 00000000000000..b1cd6b6f5b0f29 --- /dev/null +++ b/ports/harfbuzz/harfbuzzConfig.cmake.in @@ -0,0 +1,58 @@ +if(TARGET harfbuzz) + return() +endif() + +add_library(harfbuzz INTERFACE IMPORTED GLOBAL) +add_library(harfbuzz::harfbuzz ALIAS harfbuzz) + +find_library(HARFBUZZ_LIBRARY_DEBUG NAMES harfbuzz PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug" PATH_SUFFIXES lib NO_DEFAULT_PATH) +if(HARFBUZZ_LIBRARY_DEBUG) + target_link_libraries(harfbuzz INTERFACE $<$:${HARFBUZZ_LIBRARY_DEBUG}>) +endif() + +find_library(HARFBUZZ_LIBRARY_RELEASE NAMES harfbuzz PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" PATH_SUFFIXES lib NO_DEFAULT_PATH) +if(HARFBUZZ_LIBRARY_RELEASE) + target_link_libraries(harfbuzz INTERFACE $<$>:${HARFBUZZ_LIBRARY_RELEASE}>) +endif() + +set(HARFBUZZ_FEATURES @FEATURES@) + +if(APPLE) + find_library(APPLICATIONSERVICES_LIBRARY ApplicationServices) + target_link_libraries(harfbuzz INTERFACE ${APPLICATIONSERVICES_LIBRARY}) +endif() + +find_package(freetype CONFIG REQUIRED) +target_link_libraries(harfbuzz INTERFACE freetype) + +if ("graphite2" IN_LIST HARFBUZZ_FEATURES) + find_library(GRAPHITE2_LIBRARY_DEBUG NAMES graphite2 PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug" PATH_SUFFIXES lib NO_DEFAULT_PATH) + if(GRAPHITE2_LIBRARY_DEBUG) + target_link_libraries(harfbuzz INTERFACE $<$:${GRAPHITE2_LIBRARY_DEBUG}>) + endif() + + find_library(GRAPHITE2_LIBRARY_RELEASE NAMES graphite2 PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" PATH_SUFFIXES lib NO_DEFAULT_PATH) + if(GRAPHITE2_LIBRARY_RELEASE) + target_link_libraries(harfbuzz INTERFACE $<$>:${GRAPHITE2_LIBRARY_RELEASE}>) + endif() +endif() + +if ("glib" IN_LIST HARFBUZZ_FEATURES) + find_library(GLIB_LIBRARY_DEBUG NAMES glib glib-2.0 PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug" PATH_SUFFIXES lib NO_DEFAULT_PATH) + if(GLIB_LIBRARY_DEBUG) + target_link_libraries(harfbuzz INTERFACE $<$:${GLIB_LIBRARY_DEBUG}>) + endif() + + find_library(GLIB_LIBRARY_RELEASE NAMES glib glib-2.0 PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" PATH_SUFFIXES lib NO_DEFAULT_PATH) + if(GLIB_LIBRARY_RELEASE) + target_link_libraries(harfbuzz INTERFACE $<$>:${GLIB_LIBRARY_RELEASE}>) + endif() +endif() + +if ("icu" IN_LIST HARFBUZZ_FEATURES) + find_package(ICU 61 COMPONENTS uc REQUIRED) + target_link_libraries(harfbuzz INTERFACE ICU::uc) +endif() + +get_filename_component(_INSTALL_DIR "${CMAKE_CURRENT_LIST_DIR}/../../" ABSOLUTE) +target_include_directories(harfbuzz INTERFACE ${_INSTALL_DIR}/include/harfbuzz) diff --git a/ports/harfbuzz/icu.patch b/ports/harfbuzz/icu.patch deleted file mode 100644 index 1747c4a7df23e8..00000000000000 --- a/ports/harfbuzz/icu.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index eb6cc9007..209128695 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -226,19 +226,13 @@ if (HB_HAVE_ICU) - add_definitions(-DHAVE_ICU) - - # https://github.com/WebKit/webkit/blob/master/Source/cmake/FindICU.cmake -- find_package(PkgConfig) -- pkg_check_modules(PC_ICU QUIET icu-uc) -- -- find_path(ICU_INCLUDE_DIR NAMES unicode/utypes.h HINTS ${PC_ICU_INCLUDE_DIRS} ${PC_ICU_INCLUDEDIR}) -- find_library(ICU_LIBRARY NAMES libicuuc cygicuuc cygicuuc32 icuuc HINTS ${PC_ICU_LIBRARY_DIRS} ${PC_ICU_LIBDIR}) -+ find_package(ICU COMPONENTS uc REQUIRED) - -- include_directories(${ICU_INCLUDE_DIR}) -+ include_directories(${ICU_INCLUDE_DIRS}) - - list(APPEND project_headers ${PROJECT_SOURCE_DIR}/src/hb-icu.h) - -- list(APPEND THIRD_PARTY_LIBS ${ICU_LIBRARY}) -- -- mark_as_advanced(ICU_INCLUDE_DIR ICU_LIBRARY) -+ list(APPEND THIRD_PARTY_LIBS ${ICU_LIBRARIES}) - endif () - - if (APPLE AND HB_HAVE_CORETEXT) diff --git a/ports/harfbuzz/portfile.cmake b/ports/harfbuzz/portfile.cmake index 055adaa1551028..5752550b60c29a 100644 --- a/ports/harfbuzz/portfile.cmake +++ b/ports/harfbuzz/portfile.cmake @@ -1,62 +1,43 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO harfbuzz/harfbuzz - REF 9c98b2b9a9e43669c5e2b37eaa41b1e07de1ede3 # 2.7.2 - SHA512 00b61034abce61370a7ff40bf5aa80bc1b3557d1f978ef91725fc30b34c4c00c682a3b9c99233e7e52d579b60694a1ba08714d5c9b01ad13e9fd76828facc720 + REF 7236c7e29cef1c2d76c7a284c5081ff4d3aa1127 # 2.7.4 + SHA512 d231a788ea4e52231d4c363c1eca76424cb82ed0952b5c24d0b082e88b3dddbda967e7fffe67fffdcb22c7ebfbf0ec923365eb4532be772f2e61fa7d29b51998 HEAD_REF master PATCHES - 0001-fix-cmake-export.patch 0002-fix-uwp-build.patch - 0003-remove-broken-test.patch - # This patch is required for propagating the full list of static dependencies from freetype - find-package-freetype-2.patch - # This patch is required for propagating the full list of dependencies from glib - glib-cmake.patch - fix_include.patch - icu.patch ) -file(READ ${SOURCE_PATH}/CMakeLists.txt _contents) - -if("${_contents}" MATCHES "include \\(FindFreetype\\)") - message(FATAL_ERROR "Harfbuzz's cmake must not directly include() FindFreetype.") -endif() - -if("${_contents}" MATCHES "find_library\\(GLIB_LIBRARIES") - message(FATAL_ERROR "Harfbuzz's cmake must not directly find_library() glib.") -endif() - vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - icu HB_HAVE_ICU - graphite2 HB_HAVE_GRAPHITE2 - glib HB_HAVE_GLIB + icu icu + graphite2 graphite + glib glib ) -vcpkg_configure_cmake( +string(REPLACE "=ON" "=enabled" FEATURE_OPTIONS "${FEATURE_OPTIONS}") +string(REPLACE "=OFF" "=disabled" FEATURE_OPTIONS "${FEATURE_OPTIONS}") + +vcpkg_configure_meson( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA OPTIONS ${FEATURE_OPTIONS} - -DHB_HAVE_FREETYPE=ON - -DHB_BUILD_TESTS=OFF - OPTIONS_DEBUG - -DSKIP_INSTALL_HEADERS=ON + -Dfreetype=enabled + -Dgobject=disabled + -Dcairo=disabled + -Dfontconfig=disabled + -Dintrospection=disabled + -Ddocs=disabled + -Dtests=disabled + -Dbenchmark=disabled ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets() - +vcpkg_install_meson() vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() -if ("glib" IN_LIST FEATURES) - # Propagate dependency on glib downstream - file(READ "${CURRENT_PACKAGES_DIR}/share/harfbuzz/harfbuzzConfig.cmake" _contents) - file(WRITE "${CURRENT_PACKAGES_DIR}/share/harfbuzz/harfbuzzConfig.cmake" " -include(CMakeFindDependencyMacro) -find_dependency(unofficial-glib CONFIG) - -${_contents} -") -endif() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/cmake") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/cmake") +configure_file("${CMAKE_CURRENT_LIST_DIR}/harfbuzzConfig.cmake.in" + "${CURRENT_PACKAGES_DIR}/share/${PORT}/harfbuzzConfig.cmake" @ONLY) # Handle copyright file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/harfbuzz/vcpkg.json b/ports/harfbuzz/vcpkg.json new file mode 100644 index 00000000000000..bdb4c342069c5f --- /dev/null +++ b/ports/harfbuzz/vcpkg.json @@ -0,0 +1,36 @@ +{ + "name": "harfbuzz", + "version-string": "2.7.4", + "description": "HarfBuzz OpenType text shaping engine", + "homepage": "https://github.com/harfbuzz/harfbuzz", + "dependencies": [ + { + "name": "freetype", + "default-features": false + }, + { + "name": "gettext", + "platform": "osx" + } + ], + "features": { + "glib": { + "description": "Glib Unicode callbacks support", + "dependencies": [ + "glib" + ] + }, + "graphite2": { + "description": "Graphite2 shaper support", + "dependencies": [ + "graphite2" + ] + }, + "icu": { + "description": "icu support for harfbuzz", + "dependencies": [ + "icu" + ] + } + } +} diff --git a/ports/pango/0002-remove-hb-glib.diff b/ports/pango/0002-remove-hb-glib.diff new file mode 100644 index 00000000000000..10234ae861bd0e --- /dev/null +++ b/ports/pango/0002-remove-hb-glib.diff @@ -0,0 +1,75 @@ +diff --git a/pango/pango-ot-buffer.c b/pango/pango-ot-buffer.c +index 142b2f17..334df746 100644 +--- a/pango/pango-ot-buffer.c ++++ b/pango/pango-ot-buffer.c +@@ -40,7 +40,6 @@ pango_ot_buffer_new (PangoFcFont *font) + PangoOTBuffer *buffer = g_slice_new (PangoOTBuffer); + + buffer->buffer = hb_buffer_create (); +- hb_buffer_set_unicode_funcs (buffer->buffer, hb_glib_get_unicode_funcs ()); + + return buffer; + } +diff --git a/pango/pango-ot-private.h b/pango/pango-ot-private.h +index 0d803ec1..d9d86644 100644 +--- a/pango/pango-ot-private.h ++++ b/pango/pango-ot-private.h +@@ -22,12 +22,12 @@ + #ifndef __PANGO_OT_PRIVATE_H__ + #define __PANGO_OT_PRIVATE_H__ + ++#include + #include + + #include + #include + #include +-#include + + #include "pangofc-private.h" + +diff --git a/pango/pango-ot-tag.c b/pango/pango-ot-tag.c +index 610b59d7..3bf4eccd 100644 +--- a/pango/pango-ot-tag.c ++++ b/pango/pango-ot-tag.c +@@ -47,7 +47,8 @@ PangoOTTag + pango_ot_tag_from_script (PangoScript script) + { + hb_tag_t tag1, tag2; +- hb_ot_tags_from_script (hb_glib_script_to_script (script), &tag1, &tag2); ++ hb_ot_tags_from_script ((hb_script_t) g_unicode_script_to_iso15924 ((GUnicodeScript) script), ++ &tag1, &tag2); + return (PangoOTTag) tag1; + } + +@@ -75,7 +76,7 @@ pango_ot_tag_from_script (PangoScript script) + PangoScript + pango_ot_tag_to_script (PangoOTTag script_tag) + { +- return (PangoScript) hb_glib_script_from_script (hb_ot_tag_to_script ((hb_tag_t) script_tag)); ++ return (PangoScript) g_unicode_script_from_iso15924 (hb_ot_tag_to_script ((hb_tag_t) script_tag)); + } + + +diff --git a/pango/pangofc-shape.c b/pango/pangofc-shape.c +index 60f829f3..4cb0ae04 100644 +--- a/pango/pangofc-shape.c ++++ b/pango/pangofc-shape.c +@@ -28,7 +28,7 @@ + + #include "pangofc-private.h" + #include +-#include ++#include + + /* cache a single hb_buffer_t */ + static hb_buffer_t *cached_buffer = NULL; /* MT-safe */ +@@ -362,7 +362,7 @@ _pango_fc_shape (PangoFont *font, + /* setup buffer */ + + hb_buffer_set_direction (hb_buffer, hb_direction); +- hb_buffer_set_script (hb_buffer, hb_glib_script_to_script (analysis->script)); ++ hb_buffer_set_script (hb_buffer, (hb_script_t) g_unicode_script_to_iso15924 (analysis->script)); + hb_buffer_set_language (hb_buffer, hb_language_from_string (pango_language_to_string (analysis->language), -1)); + #if HB_VERSION_ATLEAST(1,0,3) + hb_buffer_set_cluster_level (hb_buffer, HB_BUFFER_CLUSTER_LEVEL_MONOTONE_CHARACTERS); diff --git a/ports/pango/CONTROL b/ports/pango/CONTROL index cea8f146423d8e..8ab0abd62870b5 100644 --- a/ports/pango/CONTROL +++ b/ports/pango/CONTROL @@ -1,6 +1,6 @@ Source: pango Version: 1.40.11 -Port-Version: 8 +Port-Version: 9 Homepage: https://ftp.gnome.org/pub/GNOME/sources/pango/ Description: Text and font handling library. -Build-Depends: glib, gettext, cairo[gobject], fontconfig, freetype, harfbuzz[glib] (!(windows&static)&!osx) +Build-Depends: glib, gettext, cairo[gobject], fontconfig, freetype, harfbuzz (!(windows&static)&!osx) diff --git a/ports/pango/portfile.cmake b/ports/pango/portfile.cmake index 475d49f01038ec..2127e3c56f4eb2 100644 --- a/ports/pango/portfile.cmake +++ b/ports/pango/portfile.cmake @@ -8,7 +8,9 @@ vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH ARCHIVE ${ARCHIVE} REF ${PANGO_VERSION} - PATCHES 0001-fix-static-symbols-export.diff + PATCHES + 0001-fix-static-symbols-export.diff + 0002-remove-hb-glib.diff ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) file(COPY ${CMAKE_CURRENT_LIST_DIR}/config.h.unix DESTINATION ${SOURCE_PATH}) diff --git a/versions/baseline.json b/versions/baseline.json index e574da5a3535f4..353ff3db43cc3d 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -2321,8 +2321,8 @@ "port-version": 0 }, "harfbuzz": { - "baseline": "2.7.2", - "port-version": 1 + "baseline": "2.7.4", + "port-version": 0 }, "hayai": { "baseline": "2019-08-10", @@ -4402,7 +4402,7 @@ }, "pango": { "baseline": "1.40.11", - "port-version": 8 + "port-version": 9 }, "pangolin": { "baseline": "0.5", diff --git a/versions/h-/harfbuzz.json b/versions/h-/harfbuzz.json index c5a87612582f00..b21931e21943bf 100644 --- a/versions/h-/harfbuzz.json +++ b/versions/h-/harfbuzz.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "bb9ea75cd35a35e57fb0bf79ff78818c95148fcf", + "version-string": "2.7.4", + "port-version": 0 + }, { "git-tree": "2a196719fa9c0b074b71119ee781233eecf2a455", "version-string": "2.7.2", diff --git a/versions/p-/pango.json b/versions/p-/pango.json index 06b8e2bc695ddb..45c690134486d1 100644 --- a/versions/p-/pango.json +++ b/versions/p-/pango.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "6b8dd172fe2f62afd4508431bd89c50d2510e997", + "version-string": "1.40.11", + "port-version": 9 + }, { "git-tree": "c0585c64466afdd652539982316d65c086b3d4f6", "version-string": "1.40.11", From bb4de6fe3f215a722df05193b774c32ddceb3097 Mon Sep 17 00:00:00 2001 From: Park DongHa Date: Mon, 25 Jan 2021 18:54:04 +0900 Subject: [PATCH 0031/1735] [ms-gltf] Add new port (#14971) * [ms-gltf] create a new port * [ms-gltf] install with CMAKE_INSTALL_PREFIX * add a patch to change install path style * [ms-gltf] enable iOS/UWP & support features * feature: support tests/samples to help debugging in buildtrees * triplet: ios/uwp are now available * [ms-gltf] disable Ninja for Windows * [ms-gltf] format the manifest json * [ms-gltf] update expected failures * x64-linux * [ms-gltf] format the manifest json * [ms-gltf] update comments * [ms-gltf] make "test" default feature * [ms-gltf] add version JSON * Address the review suggestions * vcpkg x-add-version ms-gltf * [ms-gltf] fix 'x64-osx' triplet 'samples' feature * [ms-gltf] update git-tree of port Co-authored-by: PhoebeHui <20694052+PhoebeHui@users.noreply.github.com> --- ports/ms-gltf/fix-apple-filesystem.patch | 66 ++++++++++++++++++++++++ ports/ms-gltf/fix-install.patch | 44 ++++++++++++++++ ports/ms-gltf/portfile.cmake | 41 +++++++++++++++ ports/ms-gltf/vcpkg.json | 24 +++++++++ versions/baseline.json | 4 ++ versions/m-/ms-gltf.json | 9 ++++ 6 files changed, 188 insertions(+) create mode 100644 ports/ms-gltf/fix-apple-filesystem.patch create mode 100644 ports/ms-gltf/fix-install.patch create mode 100644 ports/ms-gltf/portfile.cmake create mode 100644 ports/ms-gltf/vcpkg.json create mode 100644 versions/m-/ms-gltf.json diff --git a/ports/ms-gltf/fix-apple-filesystem.patch b/ports/ms-gltf/fix-apple-filesystem.patch new file mode 100644 index 00000000000000..d2d1a504b05bf5 --- /dev/null +++ b/ports/ms-gltf/fix-apple-filesystem.patch @@ -0,0 +1,66 @@ +diff --git a/GLTFSDK.Samples/CMakeLists.txt b/GLTFSDK.Samples/CMakeLists.txt +index a66ed93..d948ee2 100644 +--- a/GLTFSDK.Samples/CMakeLists.txt ++++ b/GLTFSDK.Samples/CMakeLists.txt +@@ -1,4 +1,6 @@ + cmake_minimum_required(VERSION 3.5) +- ++if(APPLE) ++ set(CMAKE_OSX_DEPLOYMENT_TARGET "10.15") ++endif() + add_subdirectory(Deserialize) + add_subdirectory(Serialize) +diff --git a/GLTFSDK.Samples/Deserialize/CMakeLists.txt b/GLTFSDK.Samples/Deserialize/CMakeLists.txt +index 791898c..6474aee 100644 +--- a/GLTFSDK.Samples/Deserialize/CMakeLists.txt ++++ b/GLTFSDK.Samples/Deserialize/CMakeLists.txt +@@ -17,6 +17,8 @@ if (MSVC) + + # Make sure that all PDB files on Windows are installed to the output folder. By default, only the debug build does this. + set_target_properties(Deserialize PROPERTIES COMPILE_PDB_NAME "Deserialize" COMPILE_PDB_OUTPUT_DIRECTORY "${RUNTIME_OUTPUT_DIRECTORY}") ++elseif(APPLE) ++ set_target_properties(Deserialize PROPERTIES CXX_STANDARD 17) + endif() + + if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") +diff --git a/GLTFSDK.Samples/Deserialize/Source/main.cpp b/GLTFSDK.Samples/Deserialize/Source/main.cpp +index 80198fa..fb560e0 100644 +--- a/GLTFSDK.Samples/Deserialize/Source/main.cpp ++++ b/GLTFSDK.Samples/Deserialize/Source/main.cpp +@@ -8,6 +8,9 @@ + + // Replace this with (and use std::filesystem rather than + // std::experimental::filesystem) if your toolchain fully supports C++17 ++#if defined(__APPLE__) ++#define _LIBCPP_NO_EXPERIMENTAL_DEPRECATION_WARNING_FILESYSTEM ++#endif + #include + + #include +diff --git a/GLTFSDK.Samples/Serialize/CMakeLists.txt b/GLTFSDK.Samples/Serialize/CMakeLists.txt +index 5269da8..1129ea0 100644 +--- a/GLTFSDK.Samples/Serialize/CMakeLists.txt ++++ b/GLTFSDK.Samples/Serialize/CMakeLists.txt +@@ -17,6 +17,8 @@ if (MSVC) + + # Make sure that all PDB files on Windows are installed to the output folder. By default, only the debug build does this. + set_target_properties(Serialize PROPERTIES COMPILE_PDB_NAME "Serialize" COMPILE_PDB_OUTPUT_DIRECTORY "${RUNTIME_OUTPUT_DIRECTORY}") ++elseif(APPLE) ++ set_target_properties(Serialize PROPERTIES CXX_STANDARD 17) + endif() + + if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") +diff --git a/GLTFSDK.Samples/Serialize/Source/main.cpp b/GLTFSDK.Samples/Serialize/Source/main.cpp +index ac87c10..f5c6e0b 100644 +--- a/GLTFSDK.Samples/Serialize/Source/main.cpp ++++ b/GLTFSDK.Samples/Serialize/Source/main.cpp +@@ -10,6 +10,9 @@ + + // Replace this with (and use std::filesystem rather than + // std::experimental::filesystem) if your toolchain fully supports C++17 ++#if defined(__APPLE__) ++#define _LIBCPP_NO_EXPERIMENTAL_DEPRECATION_WARNING_FILESYSTEM ++#endif + #include + + #include diff --git a/ports/ms-gltf/fix-install.patch b/ports/ms-gltf/fix-install.patch new file mode 100644 index 00000000000000..59b5eebbc19b0a --- /dev/null +++ b/ports/ms-gltf/fix-install.patch @@ -0,0 +1,44 @@ +diff --git a/Build/CMake/Modules/GLTFPlatform.cmake b/Build/CMake/Modules/GLTFPlatform.cmake +index 3d940f5..322f029 100644 +--- a/Build/CMake/Modules/GLTFPlatform.cmake ++++ b/Build/CMake/Modules/GLTFPlatform.cmake +@@ -55,14 +55,14 @@ endfunction(GetGLTFPlatform) + function(CreateGLTFInstallTargets target platform) + + install(TARGETS ${target} +- ARCHIVE DESTINATION ${CMAKE_SOURCE_DIR}/Built/Out/${platform}/$/${PROJECT_NAME} +- LIBRARY DESTINATION ${CMAKE_SOURCE_DIR}/Built/Out/${platform}/$/${PROJECT_NAME} +- RUNTIME DESTINATION ${CMAKE_SOURCE_DIR}/Built/Out/${platform}/$/${PROJECT_NAME} +- BUNDLE DESTINATION ${CMAKE_SOURCE_DIR}/Built/Out/${platform}/$/${PROJECT_NAME} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib ++ LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib ++ RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin ++ BUNDLE DESTINATION ${CMAKE_INSTALL_PREFIX}/bin + ) + + if (MSVC) +- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/$/${PROJECT_NAME}.pdb DESTINATION ${CMAKE_SOURCE_DIR}/Built/Out/${platform}/$/${PROJECT_NAME}) ++ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/$/${PROJECT_NAME}.pdb DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) + endif() + + endfunction(CreateGLTFInstallTargets) +diff --git a/GLTFSDK.Test/CMakeLists.txt b/GLTFSDK.Test/CMakeLists.txt +index 5c8eca7..a0752a3 100644 +--- a/GLTFSDK.Test/CMakeLists.txt ++++ b/GLTFSDK.Test/CMakeLists.txt +@@ -46,4 +46,4 @@ add_custom_command(TARGET GLTFSDK.Test + AddGLTFIOSAppProperties(GLTFSDK.Test) + CreateGLTFInstallTargets(GLTFSDK.Test ${Platform}) + +-install(FILES ${PROJECT_BINARY_DIR}/$/Resources/ DESTINATION ${CMAKE_SOURCE_DIR}/Built/Out/${Platform}/$/${PROJECT_NAME}/Resources) ++install(FILES ${PROJECT_BINARY_DIR}/$/Resources/ DESTINATION ${CMAKE_INSTALL_PREFIX}/bin) +diff --git a/GLTFSDK/CMakeLists.txt b/GLTFSDK/CMakeLists.txt +index 3c53c74..1e8d223 100644 +--- a/GLTFSDK/CMakeLists.txt ++++ b/GLTFSDK/CMakeLists.txt +@@ -46,4 +46,5 @@ target_include_directories(GLTFSDK + PRIVATE "${CMAKE_BINARY_DIR}/GeneratedFiles" + ) + ++install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/Inc/GLTFSDK DESTINATION ${CMAKE_INSTALL_PREFIX}/include) + CreateGLTFInstallTargets(GLTFSDK ${Platform}) diff --git a/ports/ms-gltf/portfile.cmake b/ports/ms-gltf/portfile.cmake new file mode 100644 index 00000000000000..503fdae04d0055 --- /dev/null +++ b/ports/ms-gltf/portfile.cmake @@ -0,0 +1,41 @@ +vcpkg_fail_port_install(MESSAGE "ms-gltf currently only supports Windows and Mac platforms" ON_TARGET "linux" "ios") +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO microsoft/glTF-SDK + REF 9428f114b540fb93e6533d5ec460fc123efe0c86 # todo: r1.9.6.0 + SHA512 900caf6d72d360bae4c7af769a8879507f7f727b40f61723ffed679ad22877fb37daed2a0dfcbf27e15ab3adc8afe3249530b95691ce489b3446e5d9a35f205a + HEAD_REF master + PATCHES + fix-install.patch + fix-apple-filesystem.patch +) + +# note: Test/Sample executables won't be installed +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + test ENABLE_UNIT_TESTS + samples ENABLE_SAMPLES +) + +# note: Platform-native buildsystem will be more helpful to launch/debug the tests/samples. +# note: The PDB file path is making Ninja fails to install. +# For Windows, we rely on /MP. The other platforms should be able to build with PREFER_NINJA. +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + ${FEATURE_OPTIONS} +) +vcpkg_install_cmake() +vcpkg_copy_pdbs() + +file(INSTALL ${SOURCE_PATH}/LICENSE + DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright +) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +endif() +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) diff --git a/ports/ms-gltf/vcpkg.json b/ports/ms-gltf/vcpkg.json new file mode 100644 index 00000000000000..f734d95865d626 --- /dev/null +++ b/ports/ms-gltf/vcpkg.json @@ -0,0 +1,24 @@ +{ + "name": "ms-gltf", + "version-string": "r1.9.5.0", + "description": "glTF-SDK is a C++ Software Development Kit for glTF", + "homepage": "https://github.com/microsoft/ms-gltf", + "supports": "!linux", + "dependencies": [ + "rapidjson" + ], + "default-features": [ + "test" + ], + "features": { + "samples": { + "description": "Build with GLTF samples" + }, + "test": { + "description": "Build test programs", + "dependencies": [ + "gtest" + ] + } + } +} diff --git a/versions/baseline.json b/versions/baseline.json index 353ff3db43cc3d..bc4973d540401a 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3868,6 +3868,10 @@ "baseline": "alias", "port-version": 0 }, + "ms-gltf": { + "baseline": "r1.9.5.0", + "port-version": 0 + }, "ms-gsl": { "baseline": "3.1.0", "port-version": 0 diff --git a/versions/m-/ms-gltf.json b/versions/m-/ms-gltf.json new file mode 100644 index 00000000000000..f583a8a81ecc4c --- /dev/null +++ b/versions/m-/ms-gltf.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "1c3bf009ece6942607e095c0088810b6dbf86d38", + "version-string": "r1.9.5.0", + "port-version": 0 + } + ] +} From fc0d6b28006e0607a6b9871641ec48925274e079 Mon Sep 17 00:00:00 2001 From: Rich Logan Date: Mon, 25 Jan 2021 09:57:23 +0000 Subject: [PATCH 0032/1735] [dav1d] Add dav1d AV1 decoder port (#15009) * [dav1d] Add dav1d AV1 decoder port * Remove unnecessary port-version Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> * Bump dav1d to 0.8.1 * Skip dav1d x86 due to infinite link * Add dav1d port version * Apply dav1d code review * Reset dav1d version Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> --- ports/dav1d/patch_underscore_prefix.patch | 13 +++++++++ ports/dav1d/portfile.cmake | 33 +++++++++++++++++++++++ ports/dav1d/vcpkg.json | 10 +++++++ versions/baseline.json | 4 +++ versions/d-/dav1d.json | 9 +++++++ 5 files changed, 69 insertions(+) create mode 100644 ports/dav1d/patch_underscore_prefix.patch create mode 100644 ports/dav1d/portfile.cmake create mode 100644 ports/dav1d/vcpkg.json create mode 100644 versions/d-/dav1d.json diff --git a/ports/dav1d/patch_underscore_prefix.patch b/ports/dav1d/patch_underscore_prefix.patch new file mode 100644 index 00000000000000..30506faf59ed00 --- /dev/null +++ b/ports/dav1d/patch_underscore_prefix.patch @@ -0,0 +1,13 @@ +diff --git a/meson.build b/meson.build +index 07b2586..02acd91 100644 +--- a/meson.build ++++ b/meson.build +@@ -370,7 +370,7 @@ endif + + cdata.set10('ARCH_PPC64LE', host_machine.cpu() == 'ppc64le') + +-if cc.symbols_have_underscore_prefix() ++if cc.symbols_have_underscore_prefix() or (host_machine.cpu_family() == 'x86' and host_machine.system() == 'windows') + cdata.set10('PREFIX', true) + cdata_asm.set10('PREFIX', true) + endif diff --git a/ports/dav1d/portfile.cmake b/ports/dav1d/portfile.cmake new file mode 100644 index 00000000000000..649d7e6c74f0bf --- /dev/null +++ b/ports/dav1d/portfile.cmake @@ -0,0 +1,33 @@ +vcpkg_fail_port_install(ON_ARCH "arm" "x86" ON_TARGET "uwp") + +vcpkg_from_gitlab( + GITLAB_URL https://code.videolan.org + OUT_SOURCE_PATH SOURCE_PATH + REPO videolan/dav1d + REF 0.8.1 + SHA512 dd40b82b65e4be37a27ab11e7116f7a244b0da4469915ead3922ac31724fb6da3910a78629a32a669031fe08d4323ab135174afb7462f6ea4adf96c111841c1c + PATCHES + "patch_underscore_prefix.patch" +) + +vcpkg_find_acquire_program(NASM) +get_filename_component(NASM_EXE_PATH ${NASM} DIRECTORY) +vcpkg_add_to_path(${NASM_EXE_PATH}) + +set(LIBRARY_TYPE ${VCPKG_LIBRARY_LINKAGE}) +if (LIBRARY_TYPE STREQUAL "dynamic") + set(LIBRARY_TYPE "shared") +endif(LIBRARY_TYPE STREQUAL "dynamic") + +vcpkg_configure_meson( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + --default-library=${LIBRARY_TYPE} + -Denable_tests=false + -Denable_tools=false +) + +vcpkg_install_meson() +vcpkg_copy_pdbs() + +configure_file("${SOURCE_PATH}/COPYING" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) diff --git a/ports/dav1d/vcpkg.json b/ports/dav1d/vcpkg.json new file mode 100644 index 00000000000000..02d8d473a4f75b --- /dev/null +++ b/ports/dav1d/vcpkg.json @@ -0,0 +1,10 @@ +{ + "name": "dav1d", + "version-string": "0.8.1", + "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)", + "dependencies": [ + "tool-meson" + ] +} diff --git a/versions/baseline.json b/versions/baseline.json index bc4973d540401a..f898dce807d9eb 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -1532,6 +1532,10 @@ "baseline": "3.0.0", "port-version": 1 }, + "dav1d": { + "baseline": "0.8.1", + "port-version": 0 + }, "dbg-macro": { "baseline": "2019-07-11", "port-version": 0 diff --git a/versions/d-/dav1d.json b/versions/d-/dav1d.json new file mode 100644 index 00000000000000..de707ec64409d0 --- /dev/null +++ b/versions/d-/dav1d.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "1c30fb68cde7004f37eb289c95fb9823331fe571", + "version-string": "0.8.1", + "port-version": 0 + } + ] +} From 1d866090fb3431d24ee37e58158872a65c7aa446 Mon Sep 17 00:00:00 2001 From: Billy O'Neal Date: Mon, 25 Jan 2021 10:09:27 -0800 Subject: [PATCH 0033/1735] Add dummy version.txt for vcpkg older than vcpkg_minimum_required. (#15828) --- toolsrc/VERSION.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 toolsrc/VERSION.txt diff --git a/toolsrc/VERSION.txt b/toolsrc/VERSION.txt new file mode 100644 index 00000000000000..275e5a6e071c4b --- /dev/null +++ b/toolsrc/VERSION.txt @@ -0,0 +1 @@ +"9999.99.99" From dbf5193ebbc3e34b8035bf5012d7e836ef39371a Mon Sep 17 00:00:00 2001 From: Billy O'Neal Date: Mon, 25 Jan 2021 12:21:12 -0800 Subject: [PATCH 0034/1735] [vcpkg] Improve error reporting for vcpkg_abi_info.txt copy failure. (#15871) In build https://dev.azure.com/vcpkg/public/_build/results?buildId=48398 we are getting output like: ``` Error: Building package v-hacd:x64-windows-static failed with: BUILD_FAILED Elapsed time for package v-hacd:x64-windows-static: 4.156 s Starting package 1396/1464: v8:x64-windows-static Building package v8[core]:x64-windows-static... -- Using msys root at D:/downloads/tools/msys2/969c0913b9df89e1 -- Fetching https://chromium.googlesource.com/v8/v8.git... CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:108 (message): Command failed: C:/agent/externals/git/cmd/git.exe fetch https://chromium.googlesource.com/v8/v8.git 7565e93eb72cea4268028fc20186d415c22b1cff --depth 1 -n Working Directory: D:/downloads/git-tmp Error code: 128 See logs for more information: D:\buildtrees\v8\git-fetch-x64-windows-static-err.log Call Stack (most recent call first): scripts/cmake/vcpkg_from_git.cmake:91 (vcpkg_execute_required_process) ports/v8/portfile.cmake:71 (vcpkg_from_git) scripts/ports.cmake:128 (include) Could not copy into file: D:\packages\v8_x64-windows-static\share\v8\vcpkg_abi_info.txt ``` but aren't printing the reason for the copy failure. Added printing of that reason. --- toolsrc/src/vcpkg/build.cpp | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/toolsrc/src/vcpkg/build.cpp b/toolsrc/src/vcpkg/build.cpp index c22c20fea94b76..daaed3e9860bbf 100644 --- a/toolsrc/src/vcpkg/build.cpp +++ b/toolsrc/src/vcpkg/build.cpp @@ -1134,7 +1134,7 @@ namespace vcpkg::Build const IBuildLogsRecorder& build_logs_recorder, const StatusParagraphs& status_db) { - auto& fs = paths.get_filesystem(); + auto& filesystem = paths.get_filesystem(); auto& spec = action.spec; const std::string& name = action.source_control_file_location.value_or_exit(VCPKG_LINE_INFO) .source_control_file->core_paragraph->name; @@ -1177,7 +1177,6 @@ namespace vcpkg::Build auto& abi_file = *abi_info.abi_tag_file.get(); - std::error_code ec; const fs::path abi_package_dir = paths.package_dir(spec) / "share" / spec.name(); const fs::path abi_file_in_package = paths.package_dir(spec) / "share" / spec.name() / "vcpkg_abi_info.txt"; if (action.has_package_abi()) @@ -1204,18 +1203,35 @@ namespace vcpkg::Build } ExtendedBuildResult result = do_build_package_and_clean_buildtrees(args, paths, action); + build_logs_recorder.record_build_result(paths, spec, result.code); - fs.create_directories(abi_package_dir, ec); - fs.copy_file(abi_file, abi_file_in_package, fs::copy_options::none, ec); - Checks::check_exit(VCPKG_LINE_INFO, !ec, "Could not copy into file: %s", fs::u8string(abi_file_in_package)); + std::error_code ec; + filesystem.create_directories(abi_package_dir, ec); + if (ec) + { + Checks::exit_with_message(VCPKG_LINE_INFO, + Strings::format("Could not create %s: %s (%d)", + fs::u8string(abi_package_dir).c_str(), + ec.message().c_str(), + ec.value())); + } + + filesystem.copy_file(abi_file, abi_file_in_package, fs::copy_options::none, ec); + if (ec) + { + Checks::exit_with_message(VCPKG_LINE_INFO, + Strings::format("Could not copy %s -> %s: %s (%d)", + fs::u8string(abi_file).c_str(), + fs::u8string(abi_file_in_package).c_str(), + ec.message().c_str(), + ec.value())); + } if (action.has_package_abi() && result.code == BuildResult::SUCCEEDED) { binaries_provider.push_success(paths, action); } - build_logs_recorder.record_build_result(paths, spec, result.code); - return result; } From 1d415e8dc3afef0ae85b4d00ea56013b2f26bb46 Mon Sep 17 00:00:00 2001 From: Ilya Arzhannikov Date: Tue, 26 Jan 2021 00:52:09 +0100 Subject: [PATCH 0035/1735] [boost-locale] android build (#15606) * pass additional link flags to b2 * configure boost-locale for android * build libiconv for android * Bump port version * bump port version * Update CONTROL * new_ci_checks and versions * add versions again * fix pr review * fix pr review. version * bump versions Co-authored-by: Nicole Mazzuca Co-authored-by: PhoebeHui <20694052+PhoebeHui@users.noreply.github.com> --- ports/boost-locale/b2-options.cmake.in | 12 ++++++++++++ ports/boost-modular-build-helper/CMakeLists.txt | 5 +++++ ports/boost-modular-build-helper/vcpkg.json | 2 +- ports/libiconv/CONTROL | 2 +- ports/libiconv/portfile.cmake | 7 +++++-- versions/b-/boost-locale.json | 2 +- versions/b-/boost-modular-build-helper.json | 5 +++++ versions/baseline.json | 4 ++-- versions/l-/libiconv.json | 5 +++++ 9 files changed, 37 insertions(+), 7 deletions(-) diff --git a/ports/boost-locale/b2-options.cmake.in b/ports/boost-locale/b2-options.cmake.in index d1df5d6c5152bd..865a0b1437861a 100644 --- a/ports/boost-locale/b2-options.cmake.in +++ b/ports/boost-locale/b2-options.cmake.in @@ -12,6 +12,18 @@ if(@VCPKG_TARGET_IS_WINDOWS@) /boost/locale//boost_locale boost.locale.icu=${BOOST_LOCALE_ICU_FEATURE} ) +elseif(@VCPKG_TARGET_IS_ANDROID@) + find_library(LIBICONV_LIBRARY iconv) + get_filename_component(LIBICONV_DIR "${LIBICONV_LIBRARY}" DIRECTORY) + get_filename_component(LIBICONV_DIR "${LIBICONV_DIR}" DIRECTORY) + + list(APPEND B2_OPTIONS + boost.locale.iconv=on + boost.locale.posix=off + /boost/locale//boost_locale + boost.locale.icu=${BOOST_LOCALE_ICU_FEATURE} + -sICONV_PATH=${LIBICONV_DIR} + ) else() find_library(LIBICONV_LIBRARY iconv) get_filename_component(LIBICONV_DIR "${LIBICONV_LIBRARY}" DIRECTORY) diff --git a/ports/boost-modular-build-helper/CMakeLists.txt b/ports/boost-modular-build-helper/CMakeLists.txt index d868b5ac82717f..c97158e484e67c 100644 --- a/ports/boost-modular-build-helper/CMakeLists.txt +++ b/ports/boost-modular-build-helper/CMakeLists.txt @@ -96,19 +96,24 @@ endif() if(CMAKE_CXX_COMPILER_TARGET AND CMAKE_CXX_COMPILE_OPTIONS_TARGET) if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang") set(CXXFLAGS "${CXXFLAGS} ${CMAKE_CXX_COMPILE_OPTIONS_TARGET}${CMAKE_CXX_COMPILER_TARGET}") + set(LDFLAGS "${LDFLAGS} ${CMAKE_CXX_COMPILE_OPTIONS_TARGET}${CMAKE_CXX_COMPILER_TARGET}") else() set(CXXFLAGS "${CXXFLAGS} ${CMAKE_CXX_COMPILE_OPTIONS_TARGET} ${CMAKE_CXX_COMPILER_TARGET}") + set(LDFLAGS "${LDFLAGS} ${CMAKE_CXX_COMPILE_OPTIONS_TARGET} ${CMAKE_CXX_COMPILER_TARGET}") endif() endif() if(CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN) if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang") set(CXXFLAGS "${CXXFLAGS} ${CMAKE_CXX_COMPILE_OPTIONS_EXTERNAL_TOOLCHAIN}${CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN}") + set(LDFLAGS "${LDFLAGS} ${CMAKE_CXX_COMPILE_OPTIONS_EXTERNAL_TOOLCHAIN}${CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN}") else() set(CXXFLAGS "${CXXFLAGS} ${CMAKE_CXX_COMPILE_OPTIONS_EXTERNAL_TOOLCHAIN} ${CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN}") + set(LDFLAGS "${LDFLAGS} ${CMAKE_CXX_COMPILE_OPTIONS_EXTERNAL_TOOLCHAIN} ${CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN}") endif() endif() if(CMAKE_SYSROOT AND CMAKE_CXX_COMPILE_OPTIONS_SYSROOT) set(CXXFLAGS "${CXXFLAGS} ${CMAKE_CXX_COMPILE_OPTIONS_SYSROOT}${CMAKE_SYSROOT}") + set(LDFLAGS "${LDFLAGS} ${CMAKE_CXX_COMPILE_OPTIONS_SYSROOT}${CMAKE_SYSROOT}") endif() foreach(INCDIR ${CMAKE_CXX_STANDARD_INCLUDE_DIRECTORIES}) set(CXXFLAGS "${CXXFLAGS} ${CMAKE_INCLUDE_FLAG_C}${CMAKE_INCLUDE_FLAG_C_SEP}${INCDIR}") diff --git a/ports/boost-modular-build-helper/vcpkg.json b/ports/boost-modular-build-helper/vcpkg.json index bc96cdaef58032..d58b458d85e1e2 100644 --- a/ports/boost-modular-build-helper/vcpkg.json +++ b/ports/boost-modular-build-helper/vcpkg.json @@ -1,7 +1,7 @@ { "name": "boost-modular-build-helper", "version-string": "1.75.0", - "port-version": 3, + "port-version": 4, "dependencies": [ "boost-uninstall" ] diff --git a/ports/libiconv/CONTROL b/ports/libiconv/CONTROL index ec885fe69eccf3..f7414b81996681 100644 --- a/ports/libiconv/CONTROL +++ b/ports/libiconv/CONTROL @@ -1,5 +1,5 @@ Source: libiconv Version: 1.16 -Port-Version: 7 +Port-Version: 8 Homepage: https://www.gnu.org/software/libiconv/ Description: GNU Unicode text conversion diff --git a/ports/libiconv/portfile.cmake b/ports/libiconv/portfile.cmake index 85ccce0c8005cd..a5d2d70e8875bc 100644 --- a/ports/libiconv/portfile.cmake +++ b/ports/libiconv/portfile.cmake @@ -1,4 +1,4 @@ -if(NOT VCPKG_TARGET_IS_WINDOWS) +if(NOT VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_ANDROID) set(VCPKG_POLICY_EMPTY_PACKAGE enabled) file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/iconv) file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/iconv) @@ -21,11 +21,14 @@ vcpkg_extract_source_archive_ex( 0003-Add-export.patch ) +if (NOT VCPKG_TARGET_IS_ANDROID) + list(APPEND OPTIONS --enable-relocatable) +endif() + vcpkg_configure_make(SOURCE_PATH ${SOURCE_PATH} DETERMINE_BUILD_TRIPLET USE_WRAPPERS OPTIONS - --enable-relocatable --enable-extra-encodings --without-libiconv-prefix --without-libintl-prefix diff --git a/versions/b-/boost-locale.json b/versions/b-/boost-locale.json index c5b917b534a186..d5e2d017f46720 100644 --- a/versions/b-/boost-locale.json +++ b/versions/b-/boost-locale.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "88631ecdc11e6ba3b30ee058381a62cf02a0a816", + "git-tree": "8a188d3cd40ba95cf241deda044c44d5426185bd", "version-string": "1.75.0", "port-version": 0 }, diff --git a/versions/b-/boost-modular-build-helper.json b/versions/b-/boost-modular-build-helper.json index 52819f68118c6a..a44a263e412142 100644 --- a/versions/b-/boost-modular-build-helper.json +++ b/versions/b-/boost-modular-build-helper.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "b261a1bd3ff03916f10c4a157b670c3c4e7e7326", + "version-string": "1.75.0", + "port-version": 4 + }, { "git-tree": "39acb181b681e8ac20ff594d3ac1782bfbb37ba2", "version-string": "1.75.0", diff --git a/versions/baseline.json b/versions/baseline.json index f898dce807d9eb..3b18e13c2aaa24 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -674,7 +674,7 @@ }, "boost-modular-build-helper": { "baseline": "1.75.0", - "port-version": 3 + "port-version": 4 }, "boost-move": { "baseline": "1.75.0", @@ -3014,7 +3014,7 @@ }, "libiconv": { "baseline": "1.16", - "port-version": 7 + "port-version": 8 }, "libics": { "baseline": "1.6.4", diff --git a/versions/l-/libiconv.json b/versions/l-/libiconv.json index c8d493eac0ad06..f198b53463160e 100644 --- a/versions/l-/libiconv.json +++ b/versions/l-/libiconv.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "1190548d712c0ed8699e3b82e16f6b070a5154c9", + "version-string": "1.16", + "port-version": 8 + }, { "git-tree": "2ca525bd3d388ec908ab2ec26bdccb12a990a26d", "version-string": "1.16", From b759049a36728d18260963799a56e6b19cb4a2ef Mon Sep 17 00:00:00 2001 From: Stanislav Ershov Date: Tue, 26 Jan 2021 04:53:02 +0500 Subject: [PATCH 0036/1735] [angelscript] Update to 2.35.0 (#15852) * [angelscript] Update to 2.35.0 * Update version * Fix formatting * Update version * [angelscript] backport patch from trunk * Update version --- ports/angelscript/CONTROL | 7 --- ports/angelscript/portfile.cmake | 10 ++-- ports/angelscript/precxx11.patch | 78 ++++++++++++++++++++++++++++++++ ports/angelscript/vcpkg.json | 12 +++++ versions/a-/angelscript.json | 5 ++ versions/baseline.json | 2 +- 6 files changed, 103 insertions(+), 11 deletions(-) delete mode 100644 ports/angelscript/CONTROL create mode 100644 ports/angelscript/precxx11.patch create mode 100644 ports/angelscript/vcpkg.json diff --git a/ports/angelscript/CONTROL b/ports/angelscript/CONTROL deleted file mode 100644 index fee238c1edb5af..00000000000000 --- a/ports/angelscript/CONTROL +++ /dev/null @@ -1,7 +0,0 @@ -Source: angelscript -Version: 2.34.0 -Description: The AngelCode Scripting Library, or AngelScript as it is also known, is an extremely flexible cross-platform scripting library designed to allow applications to extend their functionality through external scripts. It has been designed from the beginning to be an easy to use component, both for the application programmer and the script writer. -Supports: !arm - -Feature: addons -Description: Installs all addons for use in compiling scripts addons diff --git a/ports/angelscript/portfile.cmake b/ports/angelscript/portfile.cmake index a90f361bbbf405..ab35b4c1b83e3d 100644 --- a/ports/angelscript/portfile.cmake +++ b/ports/angelscript/portfile.cmake @@ -1,7 +1,9 @@ +vcpkg_fail_port_install(ON_ARCH "arm") + vcpkg_download_distfile(ARCHIVE - URLS "https://angelcode.com/angelscript/sdk/files/angelscript_2.34.0.zip" - FILENAME "angelscript_2.34.0.zip" - SHA512 c26dba452ab52c300da9c95fde8398acf4840cbc0e653ededf978d4a3e942cfe5b77292c74c49dc0279250a27cfd324c696c49d139a97c844b2a1eead9aae2f4 + URLS "https://angelcode.com/angelscript/sdk/files/angelscript_2.35.0.zip" + FILENAME "angelscript_2.35.0.zip" + SHA512 e54b58e78b21c2ff6aa34d5f55b18fcf8737d057c86aef8901ac0c11f14739fe7f1494f9bcfdbca6a8e54b6d0b36a04dd098780bcd02dea5764fd6d22984b6b0 ) vcpkg_extract_source_archive_ex( @@ -9,6 +11,7 @@ vcpkg_extract_source_archive_ex( ARCHIVE ${ARCHIVE} PATCHES mark-threads-private.patch + precxx11.patch ) vcpkg_configure_cmake( @@ -17,6 +20,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() +vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Angelscript) diff --git a/ports/angelscript/precxx11.patch b/ports/angelscript/precxx11.patch new file mode 100644 index 00000000000000..bd4a93325e963b --- /dev/null +++ b/ports/angelscript/precxx11.patch @@ -0,0 +1,78 @@ +commit 4684264c7ed39ff397f9c38c64370284ddac44b0 +Author: angelcode +Date: Thu Dec 10 19:13:44 2020 +0000 + + Changed code to be compatible with pre-C++11 + + git-svn-id: https://svn.code.sf.net/p/angelscript/code/trunk@2686 404ce1b2-830e-0410-a2e2-b09542c77caf + +diff --git a/angelscript/source/as_module.cpp b/angelscript/source/as_module.cpp +index 5ec55423..ddd3ed73 100644 +--- a/angelscript/source/as_module.cpp ++++ b/angelscript/source/as_module.cpp +@@ -1536,28 +1536,28 @@ int asCModule::UnbindAllImportedFunctions() + void asCModule::AddClassType(asCObjectType* type) + { + m_classTypes.PushLast(type); +- m_typeLookup.Insert({type->nameSpace, type->name}, type); ++ m_typeLookup.Insert(asSNameSpaceNamePair(type->nameSpace, type->name), type); + } + + // internal + void asCModule::AddEnumType(asCEnumType* type) + { + m_enumTypes.PushLast(type); +- m_typeLookup.Insert({type->nameSpace, type->name}, type); ++ m_typeLookup.Insert(asSNameSpaceNamePair(type->nameSpace, type->name), type); + } + + // internal + void asCModule::AddTypeDef(asCTypedefType* type) + { + m_typeDefs.PushLast(type); +- m_typeLookup.Insert({type->nameSpace, type->name}, type); ++ m_typeLookup.Insert(asSNameSpaceNamePair(type->nameSpace, type->name), type); + } + + // internal + void asCModule::AddFuncDef(asCFuncdefType* type) + { + m_funcDefs.PushLast(type); +- m_typeLookup.Insert({type->nameSpace, type->name}, type); ++ m_typeLookup.Insert(asSNameSpaceNamePair(type->nameSpace, type->name), type); + } + + // internal +@@ -1569,8 +1569,8 @@ void asCModule::ReplaceFuncDef(asCFuncdefType* type, asCFuncdefType* newType) + m_funcDefs[i] = newType; + + // Replace it in the lookup map too +- asSMapNode* result = nullptr; +- if(m_typeLookup.MoveTo(&result, {type->nameSpace, type->name})) ++ asSMapNode* result = 0; ++ if(m_typeLookup.MoveTo(&result, asSNameSpaceNamePair(type->nameSpace, type->name))) + { + asASSERT( result->value == type ); + result->value = newType; +@@ -1581,8 +1581,8 @@ void asCModule::ReplaceFuncDef(asCFuncdefType* type, asCFuncdefType* newType) + // internal + asCTypeInfo *asCModule::GetType(const asCString &type, asSNameSpace *ns) const + { +- asSMapNode* result = nullptr; +- if(m_typeLookup.MoveTo(&result, {ns, type})) ++ asSMapNode* result = 0; ++ if(m_typeLookup.MoveTo(&result, asSNameSpaceNamePair(ns, type))) + { + return result->value; + } +@@ -1592,8 +1592,8 @@ asCTypeInfo *asCModule::GetType(const asCString &type, asSNameSpace *ns) const + // internal + asCObjectType *asCModule::GetObjectType(const char *type, asSNameSpace *ns) const + { +- asSMapNode* result = nullptr; +- if(m_typeLookup.MoveTo(&result, {ns, type})) ++ asSMapNode* result = 0; ++ if(m_typeLookup.MoveTo(&result, asSNameSpaceNamePair(ns, type))) + { + return CastToObjectType(result->value); + } diff --git a/ports/angelscript/vcpkg.json b/ports/angelscript/vcpkg.json new file mode 100644 index 00000000000000..57d2d13a2c538a --- /dev/null +++ b/ports/angelscript/vcpkg.json @@ -0,0 +1,12 @@ +{ + "name": "angelscript", + "version-string": "2.35.0", + "description": "The AngelCode Scripting Library, or AngelScript as it is also known, is an extremely flexible cross-platform scripting library designed to allow applications to extend their functionality through external scripts. It has been designed from the beginning to be an easy to use component, both for the application programmer and the script writer.", + "homepage": "https://angelcode.com/angelscript", + "supports": "!arm", + "features": { + "addons": { + "description": "Installs all addons for use in compiling scripts addons" + } + } +} diff --git a/versions/a-/angelscript.json b/versions/a-/angelscript.json index a18118eb2aaf74..df90ac02f5b3c6 100644 --- a/versions/a-/angelscript.json +++ b/versions/a-/angelscript.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "c88c2eec1943cd3f46d8fe2b77f4d75f3d35cba2", + "version-string": "2.35.0", + "port-version": 0 + }, { "git-tree": "bca26a9780ffe5a26b45abb86e05603a4eec0719", "version-string": "2.34.0", diff --git a/versions/baseline.json b/versions/baseline.json index 3b18e13c2aaa24..ad344df5b8ca28 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -73,7 +73,7 @@ "port-version": 0 }, "angelscript": { - "baseline": "2.34.0", + "baseline": "2.35.0", "port-version": 0 }, "angle": { From 80d52af7c8fbdf817a162bacf110d1526d85daf6 Mon Sep 17 00:00:00 2001 From: Billy O'Neal Date: Tue, 26 Jan 2021 14:33:06 -0800 Subject: [PATCH 0037/1735] [quirc, opencv4] Build fixes from 2021-01-18 build (#15788) * [quirc, opencv4] Use a cmake package for quirc and devendor quirc from opencv4. * Build fixes from 2020-01-18 build https://dev.azure.com/vcpkg/public/_build/results?buildId=48065 > PASSING, REMOVE FROM FAIL LIST: chartdir:x64-windows-static-md (.\scripts\ci.baseline.txt) > PASSING, REMOVE FROM FAIL LIST: cmark:x64-windows-static-md (.\scripts\ci.baseline.txt) > PASSING, REMOVE FROM FAIL LIST: cppcms:x64-windows-static-md (.\scripts\ci.baseline.txt) > PASSING, REMOVE FROM FAIL LIST: cudnn:x64-windows-static-md (.\scripts\ci.baseline.txt) > PASSING, REMOVE FROM FAIL LIST: devicenameresolver:x64-windows-static-md (.\scripts\ci.baseline.txt) > PASSING, REMOVE FROM FAIL LIST: dxut:x64-windows-static-md (.\scripts\ci.baseline.txt) > PASSING, REMOVE FROM FAIL LIST: epsilon:x64-windows-static-md (.\scripts\ci.baseline.txt) > PASSING, REMOVE FROM FAIL LIST: fann:x64-windows-static-md (.\scripts\ci.baseline.txt) > PASSING, REMOVE FROM FAIL LIST: getopt-win32:x64-windows-static-md (.\scripts\ci.baseline.txt) > PASSING, REMOVE FROM FAIL LIST: glib:x64-windows-static-md (.\scripts\ci.baseline.txt) > PASSING, REMOVE FROM FAIL LIST: graphqlparser:x64-windows-static-md (.\scripts\ci.baseline.txt) > PASSING, REMOVE FROM FAIL LIST: halide:x64-windows-static-md (.\scripts\ci.baseline.txt) > PASSING, REMOVE FROM FAIL LIST: hpx:x64-windows-static-md (.\scripts\ci.baseline.txt) > PASSING, REMOVE FROM FAIL LIST: jemalloc:x64-windows-static-md (.\scripts\ci.baseline.txt) > PASSING, REMOVE FROM FAIL LIST: libepoxy:x64-windows-static-md (.\scripts\ci.baseline.txt) > PASSING, REMOVE FROM FAIL LIST: libhsplasma:x64-windows-static-md (.\scripts\ci.baseline.txt) > PASSING, REMOVE FROM FAIL LIST: libmodman:x64-windows-static-md (.\scripts\ci.baseline.txt) > PASSING, REMOVE FROM FAIL LIST: libpcap:x64-windows-static-md (.\scripts\ci.baseline.txt) > PASSING, REMOVE FROM FAIL LIST: libplist:x64-windows-static-md (.\scripts\ci.baseline.txt) > PASSING, REMOVE FROM FAIL LIST: milerius-sfml-imgui:x64-windows-static-md (.\scripts\ci.baseline.txt) > PASSING, REMOVE FROM FAIL LIST: monkeys-audio:x64-windows-static-md (.\scripts\ci.baseline.txt) > PASSING, REMOVE FROM FAIL LIST: moos-core:x64-windows-static-md (.\scripts\ci.baseline.txt) > PASSING, REMOVE FROM FAIL LIST: msix:x64-windows-static-md (.\scripts\ci.baseline.txt) > PASSING, REMOVE FROM FAIL LIST: ngspice:x64-windows-static-md (.\scripts\ci.baseline.txt) > PASSING, REMOVE FROM FAIL LIST: openni2:x64-windows-static-md (.\scripts\ci.baseline.txt) > PASSING, REMOVE FROM FAIL LIST: openvr:x64-windows-static-md (.\scripts\ci.baseline.txt) > PASSING, REMOVE FROM FAIL LIST: pmdk:x64-windows-static-md (.\scripts\ci.baseline.txt) > PASSING, REMOVE FROM FAIL LIST: pngpp:x64-windows-static-md (.\scripts\ci.baseline.txt) > PASSING, REMOVE FROM FAIL LIST: qpid-proton:x64-windows-static-md (.\scripts\ci.baseline.txt) > PASSING, REMOVE FROM FAIL LIST: qt5-tools:x64-windows-static-md (.\scripts\ci.baseline.txt) > PASSING, REMOVE FROM FAIL LIST: sciter:x64-windows-static-md (.\scripts\ci.baseline.txt) > PASSING, REMOVE FROM FAIL LIST: scylla-wrapper:x64-windows-static-md (.\scripts\ci.baseline.txt) > PASSING, REMOVE FROM FAIL LIST: soundtouch:x64-windows-static-md (.\scripts\ci.baseline.txt) > PASSING, REMOVE FROM FAIL LIST: spirv-tools:x64-windows-static-md (.\scripts\ci.baseline.txt) > PASSING, REMOVE FROM FAIL LIST: torch-th:x64-windows-static-md (.\scripts\ci.baseline.txt) > PASSING, REMOVE FROM FAIL LIST: treehopper:x64-windows-static-md (.\scripts\ci.baseline.txt) > PASSING, REMOVE FROM FAIL LIST: unrar:x64-windows-static-md (.\scripts\ci.baseline.txt) > PASSING, REMOVE FROM FAIL LIST: urdfdom:x64-windows-static-md (.\scripts\ci.baseline.txt) > PASSING, REMOVE FROM FAIL LIST: xalan-c:x64-windows-static-md (.\scripts\ci.baseline.txt) These look like they have always passed since we turned on x64-windows-static-md in nightly CI. >PASSING, REMOVE FROM FAIL LIST: osgearth:x64-windows (.\scripts\ci.baseline.txt) >PASSING, REMOVE FROM FAIL LIST: osgearth:x86-windows (.\scripts\ci.baseline.txt) Maybe addressed by https://github.com/microsoft/vcpkg/pull/15777 >REGRESSION: gettext:arm-uwp. If expected, add gettext:arm-uwp=fail to .\scripts\ci.baseline.txt. >REGRESSION: gettext:arm64-windows. If expected, add gettext:arm64-windows=fail to .\scripts\ci.baseline.txt. Probably fixed by https://github.com/microsoft/vcpkg/pull/15740 > PASSING, REMOVE FROM FAIL LIST: directxmesh:x64-linux (.\scripts\ci.baseline.txt) > PASSING, REMOVE FROM FAIL LIST: uvatlas:x64-linux (.\scripts\ci.baseline.txt) Probably an error in the authoring of https://github.com/microsoft/vcpkg/pull/15554/ > REGRESSION: dcmtk:x86-windows. If expected, add dcmtk:x86-windows=fail to .\scripts\ci.baseline.txt. > > "C:\PROGRA~2\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\bin\Hostx64\x86\cl.exe" /TP -DDCMTK_BUILD_IN_PROGRESS -DNOMINMAX -DUSE_NULL_SAFE_OFSTRING -D_CRT_FAR_MAPPINGS_NO_DEPRECATE -D_CRT_IS_WCTYPE_NO_DEPRECATE -D_CRT_MANAGED_FP_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_DEPRECATE_GLOBALS -D_CRT_SETERRORMODE_BEEP_SLEEP_NO_DEPRECATE -D_CRT_TIME_FUNCTIONS_NO_DEPRECATE -D_CRT_VCCLRIT_NO_DEPRECATE -D_REENTRANT -D_SCL_SECURE_NO_DEPRECATE -Dofstd_EXPORTS -ID:\installed\x86-windows\include -Iconfig\include -ID:\buildtrees\dcmtk\src\95da808b49-b82aa35f79.clean\ofstd\include -ID:\buildtrees\dcmtk\src\95da808b49-b82aa35f79.clean\oflog\include -ID:\buildtrees\dcmtk\src\95da808b49-b82aa35f79.clean\dcmdata\include -ID:\buildtrees\dcmtk\src\95da808b49-b82aa35f79.clean\dcmimgle\include -ID:\buildtrees\dcmtk\src\95da808b49-b82aa35f79.clean\dcmimage\include -ID:\buildtrees\dcmtk\src\95da808b49-b82aa35f79.clean\dcmjpeg\include -ID:\buildtrees\dcmtk\src\95da808b49-b82aa35f79.clean\dcmjpls\include -ID:\buildtrees\dcmtk\src\95da808b49-b82aa35f79.clean\dcmtls\include -ID:\buildtrees\dcmtk\src\95da808b49-b82aa35f79.clean\dcmnet\include -ID:\buildtrees\dcmtk\src\95da808b49-b82aa35f79.clean\dcmsr\include -ID:\buildtrees\dcmtk\src\95da808b49-b82aa35f79.clean\dcmsign\include -ID:\buildtrees\dcmtk\src\95da808b49-b82aa35f79.clean\dcmwlm\include -ID:\buildtrees\dcmtk\src\95da808b49-b82aa35f79.clean\dcmqrdb\include -ID:\buildtrees\dcmtk\src\95da808b49-b82aa35f79.clean\dcmpstat\include -ID:\buildtrees\dcmtk\src\95da808b49-b82aa35f79.clean\dcmrt\include -ID:\buildtrees\dcmtk\src\95da808b49-b82aa35f79.clean\dcmiod\include -ID:\buildtrees\dcmtk\src\95da808b49-b82aa35f79.clean\dcmfg\include -ID:\buildtrees\dcmtk\src\95da808b49-b82aa35f79.clean\dcmseg\include -ID:\buildtrees\dcmtk\src\95da808b49-b82aa35f79.clean\dcmtract\include -ID:\buildtrees\dcmtk\src\95da808b49-b82aa35f79.clean\dcmpmap\include -ID:\buildtrees\dcmtk\src\95da808b49-b82aa35f79.clean\dcmect\include /nologo /DWIN32 /D_WINDOWS /W3 /utf-8 /GR /EHsc /MP /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1 -DDEBUG /showIncludes /Foofstd\libsrc\CMakeFiles\ofstd.dir\offilsys.cc.obj /Fdofstd\libsrc\CMakeFiles\ofstd.dir\ofstd.pdb /FS -c D:\buildtrees\dcmtk\src\95da808b49-b82aa35f79.clean\ofstd\libsrc\offilsys.cc > D:\buildtrees\dcmtk\src\95da808b49-b82aa35f79.clean\ofstd\libsrc\offilsys.cc(376): error C2039: 'DIR': is not a member of '`global namespace'' > > REGRESSION: tesseract:x64-windows-static-md. If expected, add tesseract:x64-windows-static-md=fail to .\scripts\ci.baseline.txt. > REGRESSION: tesseract:x64-windows-static. If expected, add tesseract:x64-windows-static=fail to .\scripts\ci.baseline.txt. > REGRESSION: tesseract:x64-windows. If expected, add tesseract:x64-windows=fail to .\scripts\ci.baseline.txt. > REGRESSION: tesseract:x86-windows. If expected, add tesseract:x86-windows=fail to .\scripts\ci.baseline.txt. > [2/241] "C:\PROGRA~2\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\bin\Hostx64\x86\cl.exe" /TP -DHAVE_CONFIG_H -DTESS_EXPORTS -D_CRT_SECURE_NO_WARNINGS -D_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS=1 -D__AVX2__ -D__AVX__ -D__BMI2__ -D__FMA__ -D__SSE2__ -D__SSE3__ -D__SSE4A__ -D__SSE4_1__ -D__SSE4_2__ -D__SSSE3__ -Dlibtesseract_EXPORTS -ID:\installed\x86-windows\share\leptonica\..\..\include -ID:\installed\x86-windows\share\leptonica\..\..\include\leptonica -I. -ID:\buildtrees\tesseract\src\4.1.1-3a7d5a1d2b.clean\src\api -Iapi -ID:\buildtrees\tesseract\src\4.1.1-3a7d5a1d2b.clean\src\arch -ID:\buildtrees\tesseract\src\4.1.1-3a7d5a1d2b.clean\src\ccmain -ID:\buildtrees\tesseract\src\4.1.1-3a7d5a1d2b.clean\src\ccstruct -ID:\buildtrees\tesseract\src\4.1.1-3a7d5a1d2b.clean\src\ccutil -ID:\buildtrees\tesseract\src\4.1.1-3a7d5a1d2b.clean\src\classify -ID:\buildtrees\tesseract\src\4.1.1-3a7d5a1d2b.clean\src\cutil -ID:\buildtrees\tesseract\src\4.1.1-3a7d5a1d2b.clean\src\dict -ID:\buildtrees\tesseract\src\4.1.1-3a7d5a1d2b.clean\src\lstm -ID:\buildtrees\tesseract\src\4.1.1-3a7d5a1d2b.clean\src\opencl -ID:\buildtrees\tesseract\src\4.1.1-3a7d5a1d2b.clean\src\textord -ID:\buildtrees\tesseract\src\4.1.1-3a7d5a1d2b.clean\src\viewer -ID:\buildtrees\tesseract\src\4.1.1-3a7d5a1d2b.clean\src\wordrec -ID:\buildtrees\tesseract\src\4.1.1-3a7d5a1d2b.clean\src\training -ID:\buildtrees\tesseract\src\4.1.1-3a7d5a1d2b.clean\src\vs2010\tesseract -ID:\installed\x86-windows\include /nologo /DWIN32 /D_WINDOWS /W3 /utf-8 /GR /EHsc /MP /utf-8 /MP /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1 /W4 /bigobj -std:c++17 /showIncludes /FoCMakeFiles\libtesseract.dir\src\classify\shapetable.cpp.obj /FdCMakeFiles\libtesseract.dir\ /FS -c D:\buildtrees\tesseract\src\4.1.1-3a7d5a1d2b.clean\src\classify\shapetable.cpp > FAILED: CMakeFiles/libtesseract.dir/src/classify/shapetable.cpp.obj > "C:\PROGRA~2\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\bin\Hostx64\x86\cl.exe" /TP -DHAVE_CONFIG_H -DTESS_EXPORTS -D_CRT_SECURE_NO_WARNINGS -D_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS=1 -D__AVX2__ -D__AVX__ -D__BMI2__ -D__FMA__ -D__SSE2__ -D__SSE3__ -D__SSE4A__ -D__SSE4_1__ -D__SSE4_2__ -D__SSSE3__ -Dlibtesseract_EXPORTS -ID:\installed\x86-windows\share\leptonica\..\..\include -ID:\installed\x86-windows\share\leptonica\..\..\include\leptonica -I. -ID:\buildtrees\tesseract\src\4.1.1-3a7d5a1d2b.clean\src\api -Iapi -ID:\buildtrees\tesseract\src\4.1.1-3a7d5a1d2b.clean\src\arch -ID:\buildtrees\tesseract\src\4.1.1-3a7d5a1d2b.clean\src\ccmain -ID:\buildtrees\tesseract\src\4.1.1-3a7d5a1d2b.clean\src\ccstruct -ID:\buildtrees\tesseract\src\4.1.1-3a7d5a1d2b.clean\src\ccutil -ID:\buildtrees\tesseract\src\4.1.1-3a7d5a1d2b.clean\src\classify -ID:\buildtrees\tesseract\src\4.1.1-3a7d5a1d2b.clean\src\cutil -ID:\buildtrees\tesseract\src\4.1.1-3a7d5a1d2b.clean\src\dict -ID:\buildtrees\tesseract\src\4.1.1-3a7d5a1d2b.clean\src\lstm -ID:\buildtrees\tesseract\src\4.1.1-3a7d5a1d2b.clean\src\opencl -ID:\buildtrees\tesseract\src\4.1.1-3a7d5a1d2b.clean\src\textord -ID:\buildtrees\tesseract\src\4.1.1-3a7d5a1d2b.clean\src\viewer -ID:\buildtrees\tesseract\src\4.1.1-3a7d5a1d2b.clean\src\wordrec -ID:\buildtrees\tesseract\src\4.1.1-3a7d5a1d2b.clean\src\training -ID:\buildtrees\tesseract\src\4.1.1-3a7d5a1d2b.clean\src\vs2010\tesseract -ID:\installed\x86-windows\include /nologo /DWIN32 /D_WINDOWS /W3 /utf-8 /GR /EHsc /MP /utf-8 /MP /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1 /W4 /bigobj -std:c++17 /showIncludes /FoCMakeFiles\libtesseract.dir\src\classify\shapetable.cpp.obj /FdCMakeFiles\libtesseract.dir\ /FS -c D:\buildtrees\tesseract\src\4.1.1-3a7d5a1d2b.clean\src\classify\shapetable.cpp > cl : Command line warning D9025 : overriding '/W3' with '/W4' > D:\installed\x86-windows\include\params.h(36): error C2143: syntax error: missing ';' before '*' https://github.com/microsoft/vcpkg/pull/15785 > REGRESSION: fluidsynth:x64-windows-static-md. If expected, add fluidsynth:x64-windows-static-md=fail to .\scripts\ci.baseline.txt. Was previously a cascaded failure from glib. REGRESSION: libevent:x86-windows. If expected, add libevent:x86-windows=fail to .\scripts\ci.baseline.txt. > REGRESSION: ideviceinstaller:x64-windows-static-md. If expected, add ideviceinstaller:x64-windows-static-md=fail to .\scripts\ci.baseline.txt. > REGRESSION: libcrafter:x64-windows-static-md. If expected, add libcrafter:x64-windows-static-md=fail to .\scripts\ci.baseline.txt. > REGRESSION: libirecovery:x64-windows-static-md. If expected, add libirecovery:x64-windows-static-md=fail to .\scripts\ci.baseline.txt. > REGRESSION: moos-essential:x64-windows-static-md. If expected, add moos-essential:x64-windows-static-md=fail to .\scripts\ci.baseline.txt. > REGRESSION: openmama:x64-windows-static-md. If expected, add openmama:x64-windows-static-md=fail to .\scripts\ci.baseline.txt. > REGRESSION: sdformat10:x64-windows-static-md. If expected, add sdformat10:x64-windows-static-md=fail to .\scripts\ci.baseline.txt. > REGRESSION: sdformat6:x64-windows-static-md. If expected, add sdformat6:x64-windows-static-md=fail to .\scripts\ci.baseline.txt. > REGRESSION: sdformat9:x64-windows-static-md. If expected, add sdformat9:x64-windows-static-md=fail to .\scripts\ci.baseline.txt. I'm going to assume these were cascaded failures for now. > REGRESSION: mesa:x64-windows-static-md. If expected, add mesa:x64-windows-static-md=fail to .\scripts\ci.baseline.txt. > REGRESSION: mesa:x64-windows. If expected, add mesa:x64-windows=fail to .\scripts\ci.baseline.txt. > REGRESSION: mesa:x86-windows. If expected, add mesa:x86-windows=fail to .\scripts\ci.baseline.txt. Nancy is working on this https://github.com/microsoft/vcpkg/pull/15729 > REGRESSION: quirc:x64-linux. If expected, add quirc:x64-linux=fail to .\scripts\ci.baseline.txt. > REGRESSION: quirc:x64-osx. If expected, add quirc:x64-osx=fail to .\scripts\ci.baseline.txt. > Starting package 1166/1442: quirc:x64-linux > Building package quirc[core]:x64-linux... > -- Downloading https://github.com/dlbeer/quirc/archive/7e7ab596e4d0988faf1c12ae89c354b114181c40.tar.gz -> dlbeer-quirc-7e7ab596e4d0988faf1c12ae89c354b114181c40.tar.gz... > -- Extracting source /mnt/vcpkg-ci/downloads/dlbeer-quirc-7e7ab596e4d0988faf1c12ae89c354b114181c40.tar.gz > -- Using source at /mnt/vcpkg-ci/buildtrees/quirc/src/b114181c40-f1e71e0d5b.clean > -- Configuring x64-linux-dbg > -- Configuring x64-linux-rel > -- Building x64-linux-dbg > -- Building x64-linux-rel > -- Installing: /mnt/vcpkg-ci/packages/quirc_x64-linux/share/quirc/copyright/LICENSE > -- Performing post-build validation > -- Performing post-build validation done > Uploaded binaries to 1 HTTP remotes. > Building package quirc[core]:x64-linux... done > Installing package quirc[core]:x64-linux... > The following files are already installed in /mnt/vcpkg-ci/installed/x64-linux and are in conflict with quirc:x64-linux > > Installed by opencv4:x64-linux > lib/libquirc.a > > Elapsed time for package quirc:x64-linux: 2.531 s Probably broken by https://github.com/microsoft/vcpkg/pull/15089, fix here > REGRESSION: spatialite-tools:x64-linux. If expected, add spatialite-tools:x64-linux=fail to .\scripts\ci.baseline.txt. > REGRESSION: spatialite-tools:x64-osx. If expected, add spatialite-tools:x64-osx=fail to .\scripts\ci.baseline.txt. These are spewing linker errors, probably triggered by https://github.com/microsoft/vcpkg/pull/15768/ although that PR removed them from ci.baseline.txt? * Fixup spurious / and format-manifest. * x-add-version * Add missing =fails. * Update opencv4 devendor patch for 4.5 * Transform quirc into a feature. * Repeat changes for opencv3. * Repeat for opencv. Also fix version for "opencv". * [dxut] Use vcpkg_from_github, correct "supports", if(NOT VCPKG_CRT_LINKAGE STREQUAL "dynamic") message(FATAL_ERROR "DXUT only supports dynamic CRT linkage") endif() * [epsilon] Skip in ci.baseline.txt for now because it has "vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)" but also checks against the CRT linkage making the right fix unclear. * Fix flipped supports: * Update ports/opencv3/portfile.cmake * x-add-version Co-authored-by: nicole mazzuca --- ports/dxut/CONTROL | 4 - ports/dxut/portfile.cmake | 51 ++-- ports/dxut/vcpkg.json | 8 + ports/opencv/CONTROL | 107 -------- ports/opencv/vcpkg.json | 333 ++++++++++++++++++++++++ ports/opencv3/0010-devendor-quirc.patch | 26 ++ ports/opencv3/CONTROL | 99 ------- ports/opencv3/portfile.cmake | 7 +- ports/opencv3/vcpkg.json | 214 +++++++++++++++ ports/opencv4/0011-devendor-quirc.patch | 26 ++ ports/opencv4/CONTROL | 102 -------- ports/opencv4/portfile.cmake | 7 +- ports/opencv4/vcpkg.json | 222 ++++++++++++++++ ports/quirc/CMakeLists.txt | 28 +- ports/quirc/CONTROL | 4 - ports/quirc/portfile.cmake | 2 + ports/quirc/vcpkg.json | 6 + scripts/ci.baseline.txt | 63 +---- versions/baseline.json | 14 +- versions/d-/dxut.json | 5 + versions/o-/opencv.json | 5 + versions/o-/opencv3.json | 5 + versions/o-/opencv4.json | 5 + versions/q-/quirc.json | 5 + 24 files changed, 934 insertions(+), 414 deletions(-) delete mode 100644 ports/dxut/CONTROL create mode 100644 ports/dxut/vcpkg.json delete mode 100644 ports/opencv/CONTROL create mode 100644 ports/opencv/vcpkg.json create mode 100644 ports/opencv3/0010-devendor-quirc.patch delete mode 100644 ports/opencv3/CONTROL create mode 100644 ports/opencv3/vcpkg.json create mode 100644 ports/opencv4/0011-devendor-quirc.patch delete mode 100644 ports/opencv4/CONTROL create mode 100644 ports/opencv4/vcpkg.json delete mode 100644 ports/quirc/CONTROL create mode 100644 ports/quirc/vcpkg.json diff --git a/ports/dxut/CONTROL b/ports/dxut/CONTROL deleted file mode 100644 index 60046288274ff8..00000000000000 --- a/ports/dxut/CONTROL +++ /dev/null @@ -1,4 +0,0 @@ -Source: dxut -Version: 11.14-3 -Homepage: https://github.com/Microsoft/DXUT -Description: A "GLUT"-like framework for Direct3D 11.x Win32 desktop applications \ No newline at end of file diff --git a/ports/dxut/portfile.cmake b/ports/dxut/portfile.cmake index 4d0a878e3fa579..78626d1c985aea 100644 --- a/ports/dxut/portfile.cmake +++ b/ports/dxut/portfile.cmake @@ -1,18 +1,11 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - -if(NOT VCPKG_CRT_LINKAGE STREQUAL "dynamic") - message(FATAL_ERROR "DXUT only supports dynamic CRT linkage") -endif() - -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/Microsoft/DXUT/archive/sept2016.tar.gz" - FILENAME "DXUT-sept2016.tar.gz" - SHA512 190006c194284a1f5d614477896b0469a59ece05dff37477dadbe98808a5c33e274c0c1bb1390f22d1b5e06c9f534f4b50d6002157b2a391e01c2192b8e08869 -) - -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +vcpkg_check_linkage(ONLY_STATIC_LIBRARY ONLY_DYNAMIC_CRT) +vcpkg_fail_port_install(ON_ARCH arm) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO microsoft/DXUT + REF d6e8ef60b35b8d3b97684bd6b3cee88f8ba81a3f + SHA512 2ac1ac4416dbf7ae0e8a9e1e95fbd8bede126ac6dc4e919f4bd1131d10f3a01e007aff2f770ace9cbf48093ff76d8b89c4b78b734658028be62e1412f44078ae ) IF (TRIPLET_SYSTEM_ARCH MATCHES "x86") @@ -22,31 +15,29 @@ ELSE() ENDIF() vcpkg_build_msbuild( - PROJECT_PATH ${SOURCE_PATH}/DXUT_2015.sln - PLATFORM ${BUILD_ARCH} + PROJECT_PATH "${SOURCE_PATH}/DXUT_2015.sln" + PLATFORM "${BUILD_ARCH}" ) file(INSTALL - ${SOURCE_PATH}/Core/ - ${SOURCE_PATH}/Optional/ - DESTINATION ${CURRENT_PACKAGES_DIR}/include + "${SOURCE_PATH}/Core/" + "${SOURCE_PATH}/Optional/" + DESTINATION "${CURRENT_PACKAGES_DIR}/include" FILES_MATCHING PATTERN "*.h" ) file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/include/Bin) + "${CURRENT_PACKAGES_DIR}/include/Bin") file(INSTALL - ${SOURCE_PATH}/Core/Bin/Desktop_2015/${BUILD_ARCH}/Release/DXUT.lib - ${SOURCE_PATH}/Optional/Bin/Desktop_2015/${BUILD_ARCH}/Release/DXUTOpt.lib - DESTINATION ${CURRENT_PACKAGES_DIR}/lib) + "${SOURCE_PATH}/Core/Bin/Desktop_2015/${BUILD_ARCH}/Release/DXUT.lib" + "${SOURCE_PATH}/Optional/Bin/Desktop_2015/${BUILD_ARCH}/Release/DXUTOpt.lib" + DESTINATION "${CURRENT_PACKAGES_DIR}/lib") file(INSTALL - ${SOURCE_PATH}/Core/Bin/Desktop_2015/${BUILD_ARCH}/Debug/DXUT.lib - ${SOURCE_PATH}/Optional/Bin/Desktop_2015/${BUILD_ARCH}/Debug/DXUTOpt.lib - DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + "${SOURCE_PATH}/Core/Bin/Desktop_2015/${BUILD_ARCH}/Debug/DXUT.lib" + "${SOURCE_PATH}/Optional/Bin/Desktop_2015/${BUILD_ARCH}/Debug/DXUTOpt.lib" + DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") vcpkg_copy_pdbs() -file(INSTALL ${SOURCE_PATH}/MIT.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/dxut RENAME copyright) - -message(STATUS "Installing done") +file(INSTALL "${SOURCE_PATH}/MIT.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/dxut/vcpkg.json b/ports/dxut/vcpkg.json new file mode 100644 index 00000000000000..49517b1de906ca --- /dev/null +++ b/ports/dxut/vcpkg.json @@ -0,0 +1,8 @@ +{ + "name": "dxut", + "version-string": "11.14", + "port-version": 4, + "description": "A \"GLUT\"-like framework for Direct3D 11.x Win32 desktop applications", + "homepage": "https://github.com/Microsoft/DXUT", + "supports": "!staticcrt & windows & !arm" +} diff --git a/ports/opencv/CONTROL b/ports/opencv/CONTROL deleted file mode 100644 index 7b0e0cfe9da564..00000000000000 --- a/ports/opencv/CONTROL +++ /dev/null @@ -1,107 +0,0 @@ -Source: opencv -Version: 4.3.0 -Port-Version: 1 -Homepage: https://github.com/opencv/opencv -Description: Computer vision library -Build-Depends: opencv4[core] -Default-Features: dnn, jpeg, png, tiff, webp - -Feature: nonfree -Build-Depends: opencv4[core,nonfree] -Description: opencv nonfree module - -Feature: ade -Build-Depends: opencv4[core,ade] -Description: graph api - -Feature: contrib -Build-Depends: opencv4[core,contrib] -Description: opencv_contrib module - -Feature: cuda -Build-Depends: opencv4[core,cuda] -Description: CUDA support for opencv - -Feature: dnn -Build-Depends: opencv4[core,dnn] -Description: Enable dnn module - -Feature: eigen -Build-Depends: opencv4[core,eigen] -Description: Eigen support for opencv - -Feature: ffmpeg -Build-Depends: opencv4[core,ffmpeg] -Description: ffmpeg support for opencv - -Feature: gdcm -Build-Depends: opencv4[core,gdcm] -Description: GDCM support for opencv - -Feature: halide -Build-Depends: opencv4[core,halide] -Description: Halide support for opencv - -Feature: ipp -Build-Depends: opencv4[core,ipp] -Description: Enable Intel Integrated Performance Primitives - -Feature: jasper -Build-Depends: opencv4[core,jasper] -Description: JPEG 2000 support for opencv - -Feature: jpeg -Build-Depends: opencv4[core,jpeg] -Description: JPEG support for opencv - -Feature: lapack -Build-Depends: opencv4[core,lapack] -Description: LAPACK support for opencv - -Feature: openexr -Build-Depends: opencv4[core,openexr] -Description: OpenEXR support for opencv - -Feature: opengl -Build-Depends: opencv4[core,opengl] -Description: opengl support for opencv - -Feature: openmp -Build-Depends: opencv4[core,openmp] -Description: Enable openmp support for opencv - -Feature: ovis -Build-Depends: opencv4[core,ovis] -Description: opencv_ovis module - -Feature: png -Build-Depends: opencv4[core,png] -Description: PNG support for opencv - -Feature: qt -Build-Depends: opencv4[core,qt] -Description: Qt GUI support for opencv - -Feature: sfm -Build-Depends: opencv4[core,sfm] -Description: opencv_sfm module - -Feature: tbb -Build-Depends: opencv4[core,tbb] -Description: Enable Intel Threading Building Blocks - -Feature: tiff -Build-Depends: opencv4[core,tiff] -Description: TIFF support for opencv - -Feature: vtk -Build-Depends: opencv4[core,vtk] -Description: vtk support for opencv - -Feature: webp -Build-Depends: opencv4[core,webp] -Description: WebP support for opencv - -Feature: world -Build-Depends: opencv4[core,world] -Description: Compile to a single package support for opencv diff --git a/ports/opencv/vcpkg.json b/ports/opencv/vcpkg.json new file mode 100644 index 00000000000000..372977b53c5114 --- /dev/null +++ b/ports/opencv/vcpkg.json @@ -0,0 +1,333 @@ +{ + "name": "opencv", + "version": "4.5.0", + "description": "Computer vision library", + "homepage": "https://github.com/opencv/opencv", + "dependencies": [ + { + "name": "opencv4", + "default-features": false + } + ], + "default-features": [ + "dnn", + "jpeg", + "png", + "tiff", + "webp" + ], + "features": { + "ade": { + "description": "graph api", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "ade" + ] + } + ] + }, + "contrib": { + "description": "opencv_contrib module", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "contrib" + ] + } + ] + }, + "cuda": { + "description": "CUDA support for opencv", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "cuda" + ] + } + ] + }, + "dnn": { + "description": "Enable dnn module", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "dnn" + ] + } + ] + }, + "eigen": { + "description": "Eigen support for opencv", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "eigen" + ] + } + ] + }, + "ffmpeg": { + "description": "ffmpeg support for opencv", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "ffmpeg" + ] + } + ] + }, + "gdcm": { + "description": "GDCM support for opencv", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "gdcm" + ] + } + ] + }, + "halide": { + "description": "Halide support for opencv", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "halide" + ] + } + ] + }, + "ipp": { + "description": "Enable Intel Integrated Performance Primitives", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "ipp" + ] + } + ] + }, + "jasper": { + "description": "JPEG 2000 support for opencv", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "jasper" + ] + } + ] + }, + "jpeg": { + "description": "JPEG support for opencv", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "jpeg" + ] + } + ] + }, + "lapack": { + "description": "LAPACK support for opencv", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "lapack" + ] + } + ] + }, + "nonfree": { + "description": "opencv nonfree module", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "nonfree" + ] + } + ] + }, + "openexr": { + "description": "OpenEXR support for opencv", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "openexr" + ] + } + ] + }, + "opengl": { + "description": "opengl support for opencv", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "opengl" + ] + } + ] + }, + "openmp": { + "description": "Enable openmp support for opencv", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "openmp" + ] + } + ] + }, + "ovis": { + "description": "opencv_ovis module", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "ovis" + ] + } + ] + }, + "png": { + "description": "PNG support for opencv", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "png" + ] + } + ] + }, + "qt": { + "description": "Qt GUI support for opencv", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "qt" + ] + } + ] + }, + "quirc": { + "description": "Enable QR code module", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "quirc" + ] + } + ] + }, + "sfm": { + "description": "opencv_sfm module", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "sfm" + ] + } + ] + }, + "tbb": { + "description": "Enable Intel Threading Building Blocks", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "tbb" + ] + } + ] + }, + "tiff": { + "description": "TIFF support for opencv", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "tiff" + ] + } + ] + }, + "vtk": { + "description": "vtk support for opencv", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "vtk" + ] + } + ] + }, + "webp": { + "description": "WebP support for opencv", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "webp" + ] + } + ] + }, + "world": { + "description": "Compile to a single package support for opencv", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "world" + ] + } + ] + } + } +} diff --git a/ports/opencv3/0010-devendor-quirc.patch b/ports/opencv3/0010-devendor-quirc.patch new file mode 100644 index 00000000000000..1d2d7ccb7de45c --- /dev/null +++ b/ports/opencv3/0010-devendor-quirc.patch @@ -0,0 +1,26 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 15eb053..58a9585 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -766,7 +766,7 @@ if(WITH_OPENVX) + endif() + + if(WITH_QUIRC) +- add_subdirectory(3rdparty/quirc) ++ find_package(quirc CONFIG REQUIRED) + set(HAVE_QUIRC TRUE) + endif() + # ---------------------------------------------------------------------------- +diff --git a/modules/objdetect/CMakeLists.txt b/modules/objdetect/CMakeLists.txt +index 414e578..4f26d75 100644 +--- a/modules/objdetect/CMakeLists.txt ++++ b/modules/objdetect/CMakeLists.txt +@@ -2,7 +2,5 @@ set(the_description "Object Detection") + ocv_define_module(objdetect opencv_core opencv_imgproc opencv_calib3d WRAP java python js) + + if(HAVE_QUIRC) +- get_property(QUIRC_INCLUDE GLOBAL PROPERTY QUIRC_INCLUDE_DIR) +- ocv_include_directories(${QUIRC_INCLUDE}) +- ocv_target_link_libraries(${the_module} quirc) ++ ocv_target_link_libraries(${the_module} quirc::quirc) + endif() diff --git a/ports/opencv3/CONTROL b/ports/opencv3/CONTROL deleted file mode 100644 index 586c4337e41739..00000000000000 --- a/ports/opencv3/CONTROL +++ /dev/null @@ -1,99 +0,0 @@ -Source: opencv3 -Version: 3.4.12 -Build-Depends: zlib -Homepage: https://github.com/opencv/opencv -Description: computer vision library -Default-Features: dnn, jpeg, png, tiff, webp - -Feature: nonfree -Description: allow nonfree and unredistributable libraries - -Feature: flann -Build-Depends: protobuf -Description: opencv_flann module - -Feature: contrib -Build-Depends: opencv3[dnn], hdf5 (!uwp&!(windows&(arm|arm64))), tesseract (!uwp&!(windows&(arm|arm64))) -Description: opencv_contrib module - -Feature: cuda -Build-Depends: opencv3[contrib], cuda, cudnn -Description: CUDA support for opencv - -Feature: dnn -Build-Depends: opencv3[flann] -Description: Enable dnn module - -Feature: eigen -Build-Depends: eigen3 -Description: Eigen support for opencv - -Feature: ffmpeg -Build-Depends: ffmpeg -Description: ffmpeg support for opencv - -Feature: gdcm -Build-Depends: gdcm -Description: GDCM support for opencv - -Feature: halide -Build-Depends: halide, opencv3[core], opencv3[dnn] -Description: Halide support for opencv - -Feature: ipp -Description: Enable Intel Integrated Performance Primitives - -Feature: jasper -Build-Depends: jasper -Description: JPEG 2000 support for opencv - -Feature: jpeg -Build-Depends: libjpeg-turbo -Description: JPEG support for opencv - -Feature: lapack -Build-Depends: blas, lapack -Description: LAPACK support for opencv - -Feature: openexr -Build-Depends: openexr -Description: OpenEXR support for opencv - -Feature: opengl -Build-Depends: opengl -Description: opengl support for opencv - -Feature: ovis -Build-Depends: opencv3[contrib], ogre -Description: opencv_ovis module - -Feature: png -Build-Depends: libpng -Description: PNG support for opencv - -Feature: qt -Build-Depends: qt5-base[core] -Description: Qt GUI support for opencv - -Feature: sfm -Build-Depends: opencv3[contrib], eigen3, glog, gflags, ceres -Description: opencv_sfm module - -Feature: tbb -Build-Depends: tbb -Description: Enable Intel Threading Building Blocks - -Feature: tiff -Build-Depends: tiff -Description: TIFF support for opencv - -Feature: vtk -Build-Depends: vtk -Description: vtk support for opencv - -Feature: webp -Build-Depends: libwebp -Description: WebP support for opencv - -Feature: world -Description: Compile to a single package support for opencv diff --git a/ports/opencv3/portfile.cmake b/ports/opencv3/portfile.cmake index c65792bf00029d..4345a1c2fd603d 100644 --- a/ports/opencv3/portfile.cmake +++ b/ports/opencv3/portfile.cmake @@ -20,6 +20,7 @@ vcpkg_from_github( 0003-force-package-requirements.patch 0005-fix-vtk9.patch 0009-fix-uwp.patch + 0010-devendor-quirc.patch ) if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") @@ -38,8 +39,8 @@ string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" BUILD_WITH_STATIC_CRT) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS "contrib" WITH_CONTRIB - "cuda" WITH_CUDA "cuda" WITH_CUBLAS + "cuda" WITH_CUDA "dnn" BUILD_opencv_dnn "eigen" WITH_EIGEN "ffmpeg" WITH_FFMPEG @@ -54,6 +55,7 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS "opengl" WITH_OPENGL "png" WITH_PNG "qt" WITH_QT + "quirc" WITH_QUIRC "sfm" BUILD_opencv_sfm "tiff" WITH_TIFF "vtk" WITH_VTK @@ -401,6 +403,9 @@ find_dependency(Tesseract)") if(BUILD_opencv_ovis) string(APPEND DEPS_STRING "\nfind_dependency(Ogre)\nfind_dependency(Freetype)") endif() + if("quirc" IN_LIST FEATURES) + string(APPEND DEPS_STRING "\nfind_dependency(quirc)") + endif() if("qt" IN_LIST FEATURES) string(APPEND DEPS_STRING " set(CMAKE_AUTOMOC ON) diff --git a/ports/opencv3/vcpkg.json b/ports/opencv3/vcpkg.json new file mode 100644 index 00000000000000..c977a01329a7f1 --- /dev/null +++ b/ports/opencv3/vcpkg.json @@ -0,0 +1,214 @@ +{ + "name": "opencv3", + "version": "3.4.12", + "port-version": 1, + "description": "computer vision library", + "homepage": "https://github.com/opencv/opencv", + "dependencies": [ + "zlib" + ], + "default-features": [ + "dnn", + "jpeg", + "png", + "tiff", + "webp" + ], + "features": { + "contrib": { + "description": "opencv_contrib module", + "dependencies": [ + { + "name": "hdf5", + "platform": "!uwp & !(windows & (arm | arm64))" + }, + { + "name": "opencv3", + "features": [ + "dnn" + ] + }, + { + "name": "tesseract", + "platform": "!uwp & !(windows & (arm | arm64))" + } + ] + }, + "cuda": { + "description": "CUDA support for opencv", + "dependencies": [ + "cuda", + "cudnn", + { + "name": "opencv3", + "features": [ + "contrib" + ] + } + ] + }, + "dnn": { + "description": "Enable dnn module", + "dependencies": [ + { + "name": "opencv3", + "features": [ + "flann" + ] + } + ] + }, + "eigen": { + "description": "Eigen support for opencv", + "dependencies": [ + "eigen3" + ] + }, + "ffmpeg": { + "description": "ffmpeg support for opencv", + "dependencies": [ + "ffmpeg" + ] + }, + "flann": { + "description": "opencv_flann module", + "dependencies": [ + "protobuf" + ] + }, + "gdcm": { + "description": "GDCM support for opencv", + "dependencies": [ + "gdcm" + ] + }, + "halide": { + "description": "Halide support for opencv", + "dependencies": [ + "halide", + { + "name": "opencv3", + "default-features": false + }, + { + "name": "opencv3", + "features": [ + "dnn" + ] + } + ] + }, + "ipp": { + "description": "Enable Intel Integrated Performance Primitives" + }, + "jasper": { + "description": "JPEG 2000 support for opencv", + "dependencies": [ + "jasper" + ] + }, + "jpeg": { + "description": "JPEG support for opencv", + "dependencies": [ + "libjpeg-turbo" + ] + }, + "lapack": { + "description": "LAPACK support for opencv", + "dependencies": [ + "blas", + "lapack" + ] + }, + "nonfree": { + "description": "allow nonfree and unredistributable libraries" + }, + "openexr": { + "description": "OpenEXR support for opencv", + "dependencies": [ + "openexr" + ] + }, + "opengl": { + "description": "opengl support for opencv", + "dependencies": [ + "opengl" + ] + }, + "ovis": { + "description": "opencv_ovis module", + "dependencies": [ + "ogre", + { + "name": "opencv3", + "features": [ + "contrib" + ] + } + ] + }, + "png": { + "description": "PNG support for opencv", + "dependencies": [ + "libpng" + ] + }, + "qt": { + "description": "Qt GUI support for opencv", + "dependencies": [ + { + "name": "qt5-base", + "default-features": false + } + ] + }, + "quirc": { + "description": "Enable QR code module", + "dependencies": [ + "quirc" + ] + }, + "sfm": { + "description": "opencv_sfm module", + "dependencies": [ + "ceres", + "eigen3", + "gflags", + "glog", + { + "name": "opencv3", + "features": [ + "contrib" + ] + } + ] + }, + "tbb": { + "description": "Enable Intel Threading Building Blocks", + "dependencies": [ + "tbb" + ] + }, + "tiff": { + "description": "TIFF support for opencv", + "dependencies": [ + "tiff" + ] + }, + "vtk": { + "description": "vtk support for opencv", + "dependencies": [ + "vtk" + ] + }, + "webp": { + "description": "WebP support for opencv", + "dependencies": [ + "libwebp" + ] + }, + "world": { + "description": "Compile to a single package support for opencv" + } + } +} diff --git a/ports/opencv4/0011-devendor-quirc.patch b/ports/opencv4/0011-devendor-quirc.patch new file mode 100644 index 00000000000000..a1f13849e9a58e --- /dev/null +++ b/ports/opencv4/0011-devendor-quirc.patch @@ -0,0 +1,26 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 89521b1..5ff0f01 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -772,7 +772,7 @@ if(WITH_OPENVX) + endif() + + if(WITH_QUIRC) +- add_subdirectory(3rdparty/quirc) ++ find_package(quirc CONFIG REQUIRED) + set(HAVE_QUIRC TRUE) + endif() + # ---------------------------------------------------------------------------- +diff --git a/modules/objdetect/CMakeLists.txt b/modules/objdetect/CMakeLists.txt +index 3fa0c5d..f4c0ad6 100644 +--- a/modules/objdetect/CMakeLists.txt ++++ b/modules/objdetect/CMakeLists.txt +@@ -2,7 +2,5 @@ set(the_description "Object Detection") + ocv_define_module(objdetect opencv_core opencv_imgproc opencv_calib3d WRAP java objc python js) + + if(HAVE_QUIRC) +- get_property(QUIRC_INCLUDE GLOBAL PROPERTY QUIRC_INCLUDE_DIR) +- ocv_include_directories(${QUIRC_INCLUDE}) +- ocv_target_link_libraries(${the_module} quirc) ++ ocv_target_link_libraries(${the_module} quirc::quirc) + endif() diff --git a/ports/opencv4/CONTROL b/ports/opencv4/CONTROL deleted file mode 100644 index 5de96cd0be31c3..00000000000000 --- a/ports/opencv4/CONTROL +++ /dev/null @@ -1,102 +0,0 @@ -Source: opencv4 -Version: 4.5.0 -Build-Depends: zlib -Homepage: https://github.com/opencv/opencv -Description: computer vision library -Default-Features: dnn, jpeg, png, tiff, webp - -Feature: nonfree -Description: allow nonfree and unredistributable libraries - -Feature: ade -Build-Depends: ade -Description: graph api - -Feature: contrib -Build-Depends: hdf5 (!uwp&!(windows&(arm|arm64))), tesseract (!uwp&!(windows&(arm|arm64))) -Description: opencv_contrib module - -Feature: cuda -Build-Depends: opencv4[core,contrib], cuda, cudnn -Description: CUDA support for opencv - -Feature: dnn -Build-Depends: protobuf -Description: Enable dnn module - -Feature: eigen -Build-Depends: eigen3 -Description: Eigen support for opencv - -Feature: ffmpeg -Build-Depends: ffmpeg -Description: ffmpeg support for opencv - -Feature: gdcm -Build-Depends: gdcm -Description: GDCM support for opencv - -Feature: halide -Build-Depends: halide, opencv4[core], opencv4[dnn] -Description: Halide support for opencv - -Feature: ipp -Description: Enable Intel Integrated Performance Primitives - -Feature: jasper -Build-Depends: jasper -Description: JPEG 2000 support for opencv - -Feature: jpeg -Build-Depends: libjpeg-turbo -Description: JPEG support for opencv - -Feature: lapack -Build-Depends: blas, lapack -Description: LAPACK support for opencv - -Feature: openexr -Build-Depends: openexr -Description: OpenEXR support for opencv - -Feature: opengl -Build-Depends: opengl -Description: opengl support for opencv - -Feature: openmp -Description: Enable openmp support for opencv - -Feature: ovis -Build-Depends: opencv4[core,contrib], ogre -Description: opencv_ovis module - -Feature: png -Build-Depends: libpng -Description: PNG support for opencv - -Feature: qt -Build-Depends: qt5-base[core] -Description: Qt GUI support for opencv - -Feature: sfm -Build-Depends: opencv4[core,contrib], opencv4[core,eigen], glog, gflags, ceres -Description: opencv_sfm module - -Feature: tbb -Build-Depends: tbb -Description: Enable Intel Threading Building Blocks - -Feature: tiff -Build-Depends: tiff -Description: TIFF support for opencv - -Feature: vtk -Build-Depends: opencv4[contrib], vtk -Description: vtk support for opencv - -Feature: webp -Build-Depends: libwebp -Description: WebP support for opencv - -Feature: world -Description: Compile to a single package support for opencv diff --git a/ports/opencv4/portfile.cmake b/ports/opencv4/portfile.cmake index 21f6e227868e17..cc7d4d579ea8c7 100644 --- a/ports/opencv4/portfile.cmake +++ b/ports/opencv4/portfile.cmake @@ -21,6 +21,7 @@ vcpkg_from_github( 0004-fix-policy-CMP0057.patch 0009-fix-uwp.patch 0010-fix-interface_link_libraries.patch # Remove this patch when the next update + 0011-devendor-quirc.patch ) if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") @@ -42,8 +43,8 @@ set(ADE_DIR ${CURRENT_INSTALLED_DIR}/share/ade CACHE PATH "Path to existing ADE vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS "ade" WITH_ADE "contrib" WITH_CONTRIB - "cuda" WITH_CUDA "cuda" WITH_CUBLAS + "cuda" WITH_CUDA "eigen" WITH_EIGEN "ffmpeg" WITH_FFMPEG "gdcm" WITH_GDCM @@ -56,6 +57,7 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS "opengl" WITH_OPENGL "png" WITH_PNG "qt" WITH_QT + "quirc" WITH_QUIRC "sfm" BUILD_opencv_sfm "tiff" WITH_TIFF "vtk" WITH_VTK @@ -442,6 +444,9 @@ find_dependency(Tesseract)") if(BUILD_opencv_ovis) string(APPEND DEPS_STRING "\nfind_dependency(Ogre)\nfind_dependency(Freetype)") endif() + if("quirc" IN_LIST FEATURES) + string(APPEND DEPS_STRING "\nfind_dependency(quirc CONFIG)") + endif() if("qt" IN_LIST FEATURES) string(APPEND DEPS_STRING " set(CMAKE_AUTOMOC ON) diff --git a/ports/opencv4/vcpkg.json b/ports/opencv4/vcpkg.json new file mode 100644 index 00000000000000..dc64f6c4dba966 --- /dev/null +++ b/ports/opencv4/vcpkg.json @@ -0,0 +1,222 @@ +{ + "name": "opencv4", + "version": "4.5.0", + "port-version": 1, + "description": "computer vision library", + "homepage": "https://github.com/opencv/opencv", + "dependencies": [ + "zlib" + ], + "default-features": [ + "dnn", + "jpeg", + "png", + "quirc", + "tiff", + "webp" + ], + "features": { + "ade": { + "description": "graph api", + "dependencies": [ + "ade" + ] + }, + "contrib": { + "description": "opencv_contrib module", + "dependencies": [ + { + "name": "hdf5", + "platform": "!uwp & !(windows & (arm | arm64))" + }, + { + "name": "tesseract", + "platform": "!uwp & !(windows & (arm | arm64))" + } + ] + }, + "cuda": { + "description": "CUDA support for opencv", + "dependencies": [ + "cuda", + "cudnn", + { + "name": "opencv4", + "default-features": false, + "features": [ + "contrib" + ] + } + ] + }, + "dnn": { + "description": "Enable dnn module", + "dependencies": [ + "protobuf" + ] + }, + "eigen": { + "description": "Eigen support for opencv", + "dependencies": [ + "eigen3" + ] + }, + "ffmpeg": { + "description": "ffmpeg support for opencv", + "dependencies": [ + "ffmpeg" + ] + }, + "gdcm": { + "description": "GDCM support for opencv", + "dependencies": [ + "gdcm" + ] + }, + "halide": { + "description": "Halide support for opencv", + "dependencies": [ + "halide", + { + "name": "opencv4", + "default-features": false + }, + { + "name": "opencv4", + "features": [ + "dnn" + ] + } + ] + }, + "ipp": { + "description": "Enable Intel Integrated Performance Primitives" + }, + "jasper": { + "description": "JPEG 2000 support for opencv", + "dependencies": [ + "jasper" + ] + }, + "jpeg": { + "description": "JPEG support for opencv", + "dependencies": [ + "libjpeg-turbo" + ] + }, + "lapack": { + "description": "LAPACK support for opencv", + "dependencies": [ + "blas", + "lapack" + ] + }, + "nonfree": { + "description": "allow nonfree and unredistributable libraries" + }, + "openexr": { + "description": "OpenEXR support for opencv", + "dependencies": [ + "openexr" + ] + }, + "opengl": { + "description": "opengl support for opencv", + "dependencies": [ + "opengl" + ] + }, + "openmp": { + "description": "Enable openmp support for opencv" + }, + "ovis": { + "description": "opencv_ovis module", + "dependencies": [ + "ogre", + { + "name": "opencv4", + "default-features": false, + "features": [ + "contrib" + ] + } + ] + }, + "png": { + "description": "PNG support for opencv", + "dependencies": [ + "libpng" + ] + }, + "qt": { + "description": "Qt GUI support for opencv", + "dependencies": [ + { + "name": "qt5-base", + "default-features": false + } + ] + }, + "quirc": { + "description": "Enable QR code module", + "dependencies": [ + "quirc" + ] + }, + "sfm": { + "description": "opencv_sfm module", + "dependencies": [ + "ceres", + "gflags", + "glog", + { + "name": "opencv4", + "default-features": false, + "features": [ + "contrib" + ] + }, + { + "name": "opencv4", + "default-features": false, + "features": [ + "eigen" + ] + } + ] + }, + "tbb": { + "description": "Enable Intel Threading Building Blocks", + "dependencies": [ + "tbb" + ] + }, + "tiff": { + "description": "TIFF support for opencv", + "dependencies": [ + "tiff" + ] + }, + "vtk": { + "description": "vtk support for opencv", + "dependencies": [ + { + "name": "opencv4", + "features": [ + "contrib" + ] + }, + "vtk" + ] + }, + "webp": { + "description": "WebP support for opencv", + "dependencies": [ + "libwebp" + ] + }, + "world": { + "description": "Compile to a single package support for opencv" + } + } +} diff --git a/ports/quirc/CMakeLists.txt b/ports/quirc/CMakeLists.txt index a3400c70b86b35..236b281b7b42cf 100644 --- a/ports/quirc/CMakeLists.txt +++ b/ports/quirc/CMakeLists.txt @@ -1,17 +1,27 @@ -cmake_minimum_required(VERSION 2.8) +cmake_minimum_required(VERSION 3.19) project(quirc C) add_library(quirc - lib/decode.c - lib/identify.c - lib/quirc.c - lib/version_db.c + lib/decode.c + lib/identify.c + lib/quirc.c + lib/version_db.c + lib/quirc.h ) +target_include_directories(quirc INTERFACE $) + install(TARGETS quirc - RUNTIME DESTINATION bin - ARCHIVE DESTINATION lib - LIBRARY DESTINATION lib) + EXPORT quirc-targets + RUNTIME DESTINATION bin + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib) + +install(FILES lib/quirc.h DESTINATION include) -install(FILES ${PROJECT_SOURCE_DIR}/lib/quirc.h DESTINATION include) +install(EXPORT quirc-targets + FILE quirc-config.cmake + NAMESPACE quirc:: + DESTINATION share/quirc +) diff --git a/ports/quirc/CONTROL b/ports/quirc/CONTROL deleted file mode 100644 index c5c23343f2f00f..00000000000000 --- a/ports/quirc/CONTROL +++ /dev/null @@ -1,4 +0,0 @@ -Source: quirc -Version: 1.1 -Port-Version: 1 -Description: quirc is one of the C library available for scanning QR Codes diff --git a/ports/quirc/portfile.cmake b/ports/quirc/portfile.cmake index bfb0dc77fb1275..225479cd4e20ef 100644 --- a/ports/quirc/portfile.cmake +++ b/ports/quirc/portfile.cmake @@ -19,6 +19,8 @@ vcpkg_install_cmake() vcpkg_copy_pdbs() +vcpkg_fixup_cmake_targets() + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/quirc/copyright) diff --git a/ports/quirc/vcpkg.json b/ports/quirc/vcpkg.json new file mode 100644 index 00000000000000..9297f736626f9e --- /dev/null +++ b/ports/quirc/vcpkg.json @@ -0,0 +1,6 @@ +{ + "name": "quirc", + "version": "1.1", + "port-version": 2, + "description": "quirc is one of the C library available for scanning QR Codes" +} diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index cbb40b1a7fccca..7a2d1b00b21969 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -95,7 +95,6 @@ chartdir:arm64-windows=fail chartdir:arm-uwp=fail chartdir:x64-uwp=fail chartdir:x64-windows-static=fail -chartdir:x64-windows-static-md=fail chmlib:arm-uwp=fail chmlib:x64-uwp=fail # Chromium Base requires a recent version of Clang to be installed. @@ -110,7 +109,6 @@ clblast:x64-windows-static-md=fail clockutils:x64-linux=fail clockutils:x64-osx=fail cmark:x64-windows-static=fail -cmark:x64-windows-static-md=fail cmcstl2:arm64-windows = skip cmcstl2:arm-uwp = skip cmcstl2:x64-linux = skip @@ -138,7 +136,6 @@ corrade:x64-uwp=fail cppcms:x64-linux=fail cppcms:x64-osx=fail cppcms:x64-windows-static=fail -cppcms:x64-windows-static-md=fail cppfs:arm-uwp=fail cppfs:x64-uwp=fail cppmicroservices:arm64-windows=fail @@ -165,7 +162,6 @@ cudnn:arm64-windows=fail cudnn:arm-uwp=fail cudnn:x64-uwp=fail cudnn:x64-windows-static=fail -cudnn:x64-windows-static-md=fail cudnn:x86-windows=fail # Since pipeline cannot automatically install dbghelp dependency, skip this detection dbghelp:arm-uwp=skip @@ -187,13 +183,11 @@ devicenameresolver:x64-linux=fail devicenameresolver:x64-osx=fail devicenameresolver:x64-uwp=fail devicenameresolver:x64-windows-static=fail -devicenameresolver:x64-windows-static-md=fail dimcli:arm-uwp=fail dimcli:x64-osx=fail dimcli:x64-uwp=fail -# directxtex, directxmesh requires GCC 9 or later for linux support +# directxtex requires GCC 9 or later for linux support directxtex:x64-linux=fail -directxmesh:x64-linux=fail discord-game-sdk:x64-windows-static=fail discord-game-sdk:x64-windows-static-md=fail discord-rpc:arm-uwp=fail @@ -231,12 +225,6 @@ duilib:x64-uwp=fail # python2 EOL yay! duktape:x64-osx=skip -dxut:arm64-windows=fail -dxut:arm-uwp=fail -dxut:x64-linux=fail -dxut:x64-osx=fail -dxut:x64-windows-static=fail -dxut:x64-windows-static-md=fail eastl:arm-uwp=fail easyhook:arm64-windows=fail easyhook:arm-uwp=fail @@ -275,12 +263,11 @@ embree2:x64-windows-static=fail embree2:x64-windows-static-md=fail enet:arm-uwp=fail enet:x64-uwp=fail -epsilon:x64-windows-static=fail -epsilon:x64-windows-static-md=fail epsilon:arm-uwp=fail epsilon:x64-linux=fail epsilon:x64-osx=fail epsilon:x64-uwp=fail +epsilon:x64-windows-static=fail faad2:x64-linux=fail faad2:x64-osx=fail fann:arm-uwp=fail @@ -288,7 +275,6 @@ fann:x64-linux=fail fann:x64-osx=fail fann:x64-uwp=fail fann:x64-windows-static=fail -fann:x64-windows-static-md=fail farmhash:arm64-windows=fail farmhash:arm-uwp=fail farmhash:x64-uwp=fail @@ -313,6 +299,7 @@ flint:x64-osx=fail fltk:arm-uwp=fail fltk:x64-uwp=fail fluidsynth:x64-osx=fail +fluidsynth:x64-windows-static-md=fail # fluidlite conflicts with fluidsynth; we test fluidsynth rather than fluidlite because # fluidlite has no dependencies and thus is less likely to be broken by another package. fluidlite:arm-uwp=skip @@ -379,7 +366,6 @@ getopt-win32:x64-linux=fail getopt-win32:x64-osx=fail getopt-win32:x64-uwp=fail getopt-win32:x64-windows-static=fail -getopt-win32:x64-windows-static-md=fail gflags:arm-uwp=fail gflags:x64-uwp=fail @@ -401,7 +387,6 @@ glfw3:arm-uwp=fail glfw3:x64-uwp=fail glib:x64-uwp=fail glib:x64-windows-static=fail -glib:x64-windows-static-md=fail glib:x64-osx=fail gmmlib:arm64-windows=fail gmmlib:arm-uwp=fail @@ -435,7 +420,6 @@ h3:arm64-windows=fail h3:arm-uwp=fail h3:x64-uwp=fail halide:x64-windows-static=fail -halide:x64-windows-static-md=fail hdf5:arm64-windows=fail hdf5:arm-uwp=fail hdf5:x64-uwp=fail @@ -455,12 +439,11 @@ hidapi:x64-uwp=fail hiredis:arm-uwp=fail hiredis:x64-uwp=fail hpx:x64-windows-static=fail -hpx:x64-windows-static-md=fail hpx:x64-linux=fail libhsplasma:x64-windows-static=fail -libhsplasma:x64-windows-static-md=fail icu:arm-uwp=fail icu:x64-uwp=fail +ideviceinstaller:x64-windows-static-md=fail idevicerestore:x64-linux=fail idevicerestore:x64-osx=fail ignition-common1:x64-linux=fail @@ -521,7 +504,6 @@ jemalloc:x64-linux=fail jemalloc:x64-osx=fail jemalloc:x64-uwp=fail jemalloc:x64-windows-static=fail -jemalloc:x64-windows-static-md=fail jinja2cpplight:arm-uwp=fail jinja2cpplight:x64-uwp=fail keystone:arm-uwp=fail @@ -564,6 +546,7 @@ libcopp:arm64-windows=fail libcopp:arm-uwp=fail libcrafter:x86-windows=fail libcrafter:x64-windows=fail +libcrafter:x64-windows-static-md=fail cpuid:arm-uwp=fail cpuid:x64-uwp=fail cpuid:arm64-windows=fail @@ -578,7 +561,6 @@ libdshowcapture:x64-uwp=fail libepoxy:arm-uwp=fail libepoxy:x64-uwp=fail libepoxy:x64-windows-static=fail -libepoxy:x64-windows-static-md=fail libevent:arm-uwp=fail libevent:x64-uwp=fail libevhtp:x86-windows=fail @@ -627,6 +609,7 @@ libics:x64-uwp=fail libigl:arm64-windows=fail libigl:arm-uwp=fail libigl:x64-uwp=fail +libirecovery:x64-windows-static-md=fail liblemon:arm-uwp=fail liblemon:x64-uwp=fail liblo:arm-uwp=fail @@ -669,7 +652,6 @@ libmesh:x64-linux=skip libmodman:arm-uwp=fail libmodman:x64-uwp=fail libmodman:x64-windows-static=fail -libmodman:x64-windows-static-md=fail libmodplug:arm-uwp=fail libmodplug:x64-uwp=fail libmpeg2:arm-uwp=fail @@ -696,7 +678,6 @@ libpcap:arm-uwp=fail libpcap:x64-osx=fail libpcap:x64-uwp=fail libpcap:x64-windows-static=fail -libpcap:x64-windows-static-md=fail libpff:arm-uwp=fail libpff:x64-linux=fail libpff:x64-osx=fail @@ -704,7 +685,6 @@ libpff:x64-uwp=fail libpff:x64-windows-static=fail libpff:x64-windows-static-md=fail libplist:x64-windows-static=fail -libplist:x64-windows-static-md=fail libpng-apng:arm64-windows = skip libpng-apng:arm-uwp = skip libpng-apng:x64-linux = skip @@ -912,7 +892,6 @@ mhook:x64-osx=fail mhook:x64-uwp=fail milerius-sfml-imgui:x64-osx=fail milerius-sfml-imgui:x64-windows-static=fail -milerius-sfml-imgui:x64-windows-static-md=fail minhook:arm64-windows=fail minhook:arm-uwp=fail minhook:x64-linux=fail @@ -965,12 +944,11 @@ monkeys-audio:x64-linux=fail monkeys-audio:x64-osx=fail monkeys-audio:x64-uwp=fail monkeys-audio:x64-windows-static=fail -monkeys-audio:x64-windows-static-md=fail moos-core:arm-uwp=fail moos-core:x64-uwp=fail moos-core:x64-windows-static=fail -moos-core:x64-windows-static-md=fail moos-essential:arm64-windows=fail +moos-essential:x64-windows-static-md=fail moos-essential:x64-windows=fail moos-essential:x86-windows=fail # Conflicts with libjpeg-turbo @@ -995,7 +973,6 @@ mpir:x64-linux=skip msix:x64-linux=fail msix:x64-osx=fail msix:x64-windows-static=fail -msix:x64-windows-static-md=fail msmpi:arm64-windows=fail msmpi:arm-uwp=fail msmpi:x64-linux=fail @@ -1033,7 +1010,6 @@ nettle:x64-windows-static=skip nettle:x64-windows-static-md=skip nettle:x64-windows=skip ngspice:x64-windows-static=fail -ngspice:x64-windows-static-md=fail nng:arm-uwp=fail nng:x64-uwp=fail nrf-ble-driver:arm-uwp=fail @@ -1140,6 +1116,7 @@ openexr:arm-uwp=fail openexr:x64-uwp=fail opengl:arm64-windows=fail opengl:arm-uwp=fail +openmama:x64-windows-static-md=fail openmesh:arm64-windows=fail openmesh:arm-uwp=fail openmesh:x64-uwp=fail @@ -1152,7 +1129,6 @@ openmpi:x64-windows-static-md=fail openmpi:x86-windows=fail openni2:x64-uwp=fail openni2:x64-windows-static=fail -openni2:x64-windows-static-md=fail openscap:x64-linux=fail openssl-unix:arm64-windows=fail openssl-unix:arm-uwp=fail @@ -1176,7 +1152,6 @@ openvr:arm-uwp=fail openvr:x64-osx=fail openvr:x64-uwp=fail openvr:x64-windows-static=fail -openvr:x64-windows-static-md=fail openxr-loader:arm64-windows=fail openxr-loader:arm-uwp=fail openxr-loader:x64-osx=fail @@ -1252,7 +1227,6 @@ pmdk:x64-linux=fail pmdk:x64-osx=fail pmdk:x64-uwp=fail pmdk:x64-windows-static=fail -pmdk:x64-windows-static-md=fail pmdk:x86-windows=fail pngwriter:arm-uwp=fail pngwriter:x64-uwp=fail @@ -1282,7 +1256,6 @@ qhull:arm-uwp=fail qpid-proton:arm-uwp=fail qpid-proton:x64-uwp=fail qpid-proton:x64-windows-static=fail -qpid-proton:x64-windows-static-md=fail qt5-activeqt:x64-linux=fail qt5-activeqt:x64-osx=fail # Skip deprecated Qt module @@ -1413,7 +1386,6 @@ sciter:arm64-windows=fail sciter:arm-uwp=fail sciter:x64-uwp=fail sciter:x64-windows-static=fail -sciter:x64-windows-static-md=fail scnlib:arm-uwp=fail scnlib:x64-uwp=fail scylla-wrapper:arm-uwp=fail @@ -1421,13 +1393,15 @@ scylla-wrapper:x64-linux=fail scylla-wrapper:x64-osx=fail scylla-wrapper:x64-uwp=fail scylla-wrapper:x64-windows-static=fail -scylla-wrapper:x64-windows-static-md=fail -sdformat6:arm64-windows=fail +sdformat10:x64-windows-static-md=fail sdformat6:arm-uwp=fail +sdformat6:arm64-windows=fail sdformat6:x64-uwp=fail -sdformat9:x64-linux=fail +sdformat6:x64-windows-static-md=fail sdformat9:arm-uwp=fail +sdformat9:x64-linux=fail sdformat9:x64-uwp=fail +sdformat9:x64-windows-static-md=fail sdl1:arm-uwp=fail sdl1:x64-uwp=fail sdl1:x64-osx=fail @@ -1501,7 +1475,6 @@ soqt:x64-uwp=fail soundtouch:arm-uwp=fail soundtouch:x64-uwp=fail soundtouch:x64-windows-static=fail -soundtouch:x64-windows-static-md=fail spaceland:arm64-windows=fail spaceland:arm-uwp=fail spaceland:x64-uwp=fail @@ -1592,10 +1565,8 @@ torch-th:arm64-windows=fail torch-th:arm-uwp=fail torch-th:x64-uwp=fail torch-th:x64-windows-static=fail -torch-th:x64-windows-static-md=fail tre:x64-osx=fail treehopper:x64-windows-static=fail -treehopper:x64-windows-static-md=fail treehopper:x64-linux=fail turbobase64:arm64-windows=fail turbobase64:arm-uwp=fail @@ -1627,14 +1598,10 @@ unrar:x64-linux=fail unrar:x64-osx=fail unrar:x64-uwp=fail unrar:x64-windows-static=fail -unrar:x64-windows-static-md=fail urdfdom:x64-windows-static=fail -urdfdom:x64-windows-static-md=fail usd:x86-windows=fail uthenticode:arm-uwp=fail uthenticode:x64-uwp=fail -# uvatlas requires GCC 9 or later for linux support -uvatlas:x64-linux=fail v8:arm64-windows=fail v8:arm-uwp=fail v8:x64-osx=fail @@ -1699,7 +1666,6 @@ x265:arm64-windows=fail x265:arm-uwp=fail x265:x64-uwp=fail xalan-c:x64-windows-static=fail -xalan-c:x64-windows-static-md=fail xalan-c:arm64-windows=fail xbyak:arm64-windows=fail xbyak:arm-uwp=fail @@ -1782,7 +1748,6 @@ chromium-base:x64-windows-static-md=fail clockutils:x64-windows-static-md=fail fastcgi:x64-windows-static-md=fail gmp:x64-windows-static-md=fail -graphqlparser:x64-windows-static-md=fail ijg-libjpeg:x64-windows-static-md=fail keystone:x64-windows-static-md=fail libcerf:x64-windows-static-md=fail @@ -1794,13 +1759,11 @@ 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 -pngpp: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 -spirv-tools:x64-windows-static-md=fail symengine:x64-windows-static-md=fail teemo:x64-windows-static-md=fail unicorn:x64-windows-static-md=fail diff --git a/versions/baseline.json b/versions/baseline.json index ad344df5b8ca28..75aa6ea4ae39e3 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -1689,8 +1689,8 @@ "port-version": 0 }, "dxut": { - "baseline": "11.14-3", - "port-version": 0 + "baseline": "11.14", + "port-version": 4 }, "eabase": { "baseline": "2.09.12-1", @@ -4225,8 +4225,8 @@ "port-version": 0 }, "opencv": { - "baseline": "4.3.0", - "port-version": 1 + "baseline": "4.5.0", + "port-version": 0 }, "opencv2": { "baseline": "2.4.13.7", @@ -4234,11 +4234,11 @@ }, "opencv3": { "baseline": "3.4.12", - "port-version": 0 + "port-version": 1 }, "opencv4": { "baseline": "4.5.0", - "port-version": 0 + "port-version": 1 }, "opendnp3": { "baseline": "3.1.0", @@ -4946,7 +4946,7 @@ }, "quirc": { "baseline": "1.1", - "port-version": 1 + "port-version": 2 }, "qwt": { "baseline": "6.1.5", diff --git a/versions/d-/dxut.json b/versions/d-/dxut.json index 97184b77e1dd03..87ba2f78367519 100644 --- a/versions/d-/dxut.json +++ b/versions/d-/dxut.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "6171a1c44bd4c11d7db922b56ef55c9366fe60af", + "version-string": "11.14", + "port-version": 4 + }, { "git-tree": "27f3d4fe979fbc45d132894a80c6712d27be4c49", "version-string": "11.14-3", diff --git a/versions/o-/opencv.json b/versions/o-/opencv.json index 856e8045c01449..a428c254d47ff6 100644 --- a/versions/o-/opencv.json +++ b/versions/o-/opencv.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "457db123c6f787763d2bbe056e51caecd8c37464", + "version": "4.5.0", + "port-version": 0 + }, { "git-tree": "6732874b9a119e4de4e9afdc72469c967348b21b", "version-string": "4.3.0", diff --git a/versions/o-/opencv3.json b/versions/o-/opencv3.json index 33d47557a84388..b04a8ae268eebd 100644 --- a/versions/o-/opencv3.json +++ b/versions/o-/opencv3.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "ffd8270ed4798f25f3bd882a6089c72e86803466", + "version": "3.4.12", + "port-version": 1 + }, { "git-tree": "a0dfe03c4db4fb9532b888399deee675750eef61", "version-string": "3.4.12", diff --git a/versions/o-/opencv4.json b/versions/o-/opencv4.json index 5a2934e9d49f23..f6e5d8fe898e85 100644 --- a/versions/o-/opencv4.json +++ b/versions/o-/opencv4.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "a0522dbbb44877b9d4618bfe31a376e07e49bc72", + "version": "4.5.0", + "port-version": 1 + }, { "git-tree": "cdf704950d37ce677508db67c081f9aeda18b9cd", "version-string": "4.5.0", diff --git a/versions/q-/quirc.json b/versions/q-/quirc.json index 7d263e18ee3f2b..dc70374be3516f 100644 --- a/versions/q-/quirc.json +++ b/versions/q-/quirc.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "15bad29ef4d2466b236311ce7af075dbb9507ed9", + "version": "1.1", + "port-version": 2 + }, { "git-tree": "c4c19ac884d1a66e0ac073ff5bd99c2db1460015", "version-string": "1.1", From 60d7d91c7105a2ba821a450ea4ba336dfbf14719 Mon Sep 17 00:00:00 2001 From: ankurverma85 <31362771+ankurverma85@users.noreply.github.com> Date: Tue, 26 Jan 2021 14:54:05 -0800 Subject: [PATCH 0038/1735] gdal:x64-windows-static-md fixes (#15541) * Fix windows-static builds * Rename debug lib to comform to other naming scheme * Update ci.baseline.txt * Update CONTROL * Update dependency_win.cmake * Update portfile.cmake * Update vcpkg-cmake-wrapper.cmake * Update portfile.cmake * Added versions * Update ci.baseline.txt * PR comments * update gdal portversion Co-authored-by: Ankur Verma Co-authored-by: ankurv Co-authored-by: Nicole Mazzuca --- ports/gdal/CONTROL | 2 +- ports/gdal/dependency_win.cmake | 11 +++-------- scripts/ci.baseline.txt | 1 - versions/baseline.json | 2 +- versions/g-/gdal.json | 5 +++++ 5 files changed, 10 insertions(+), 11 deletions(-) diff --git a/ports/gdal/CONTROL b/ports/gdal/CONTROL index 36944edce4a366..548232fb600214 100644 --- a/ports/gdal/CONTROL +++ b/ports/gdal/CONTROL @@ -1,6 +1,6 @@ Source: gdal Version: 3.1.3 -Port-Version: 1 +Port-Version: 2 Homepage: https://gdal.org/ Description: The Geographic Data Abstraction Library for reading and writing geospatial raster and vector data. Build-Depends: proj4, libpng, geos, sqlite3, curl, expat, libpq, openjpeg, libwebp, libxml2, liblzma, netcdf-c, hdf5, zlib, libgeotiff, cfitsio, json-c (!windows) diff --git a/ports/gdal/dependency_win.cmake b/ports/gdal/dependency_win.cmake index 0d9dfa53368978..c18bc9b2d12ff2 100644 --- a/ports/gdal/dependency_win.cmake +++ b/ports/gdal/dependency_win.cmake @@ -22,13 +22,8 @@ macro(find_dependency_win) # Setup expat libraries + include path set(EXPAT_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include" ) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - if (VCPKG_CRT_LINKAGE STREQUAL dynamic) - set(EXPAT_SUFFIX "MT") - else() - set(EXPAT_SUFFIX "MD") - endif() - set(EXPAT_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/libexpat${EXPAT_SUFFIX}.lib" ) - set(EXPAT_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libexpatd${EXPAT_SUFFIX}.lib" ) + set(EXPAT_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/libexpatMD.lib" ) + set(EXPAT_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libexpatdMD.lib" ) else() set(EXPAT_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/libexpat.lib" ) set(EXPAT_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libexpatd.lib" ) @@ -117,4 +112,4 @@ macro(find_dependency_win) set(SPATIALITE_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/spatialite.lib" ) set(HAVE_SPATIALITE "-DHAVE_SPATIALITE") endif() -endmacro() \ No newline at end of file +endmacro() diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 7a2d1b00b21969..ea21ced9a018d3 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -349,7 +349,6 @@ gainput:x64-uwp=fail gasol:arm64-windows=fail gasol:arm-uwp=fail gasol:x64-uwp=fail -gdal:x64-windows-static-md=fail geos:arm-uwp=fail geos:x64-uwp=fail diff --git a/versions/baseline.json b/versions/baseline.json index 75aa6ea4ae39e3..5144e658f9e977 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -2074,7 +2074,7 @@ }, "gdal": { "baseline": "3.1.3", - "port-version": 1 + "port-version": 2 }, "gdcm": { "baseline": "3.0.7", diff --git a/versions/g-/gdal.json b/versions/g-/gdal.json index c0a48048b2f121..8ed4f63496b4ad 100644 --- a/versions/g-/gdal.json +++ b/versions/g-/gdal.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "162ae61cb64d9bb9a485e611cca106ade9062c1a", + "version-string": "3.1.3", + "port-version": 2 + }, { "git-tree": "fc7d76bf3899b89791a7699037bed3532cdc0c60", "version-string": "3.1.3", From 9caf3d87d57601d2e0857f309ec9e88754a68080 Mon Sep 17 00:00:00 2001 From: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> Date: Wed, 27 Jan 2021 06:55:06 +0800 Subject: [PATCH 0039/1735] [x264] Fix build failed on uwp (#15769) * [x264] Fix build failed on uwp * Update port_versions * [x264] Fix build failed on uwp * Update port_versions * Update baseline * Add supports * Update versions/x-/x264.json --- ports/x264/CONTROL | 6 ------ ports/x264/portfile.cmake | 11 +++++++---- ports/x264/vcpkg.json | 14 ++++++++++++++ scripts/ci.baseline.txt | 4 ---- versions/baseline.json | 2 +- versions/x-/x264.json | 5 +++++ 6 files changed, 27 insertions(+), 15 deletions(-) delete mode 100644 ports/x264/CONTROL create mode 100644 ports/x264/vcpkg.json diff --git a/ports/x264/CONTROL b/ports/x264/CONTROL deleted file mode 100644 index 73d74549a1c908..00000000000000 --- a/ports/x264/CONTROL +++ /dev/null @@ -1,6 +0,0 @@ -Source: x264 -Version: 157-303c484ec828ed0 -Port-Version: 14 -Homepage: https://github.com/mirror/x264 -Description: x264 is a free software library and application for encoding video streams into the H.264/MPEG-4 AVC compression format -Build-Depends: pthread (linux&osx) diff --git a/ports/x264/portfile.cmake b/ports/x264/portfile.cmake index 32bc1c02098b7b..abd2f1d558a41f 100644 --- a/ports/x264/portfile.cmake +++ b/ports/x264/portfile.cmake @@ -1,6 +1,6 @@ set(X264_VERSION 157) -vcpkg_fail_port_install(ON_TARGET "OSX") +vcpkg_fail_port_install(ON_ARCH "arm") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH @@ -14,7 +14,7 @@ vcpkg_from_github( vcpkg_find_acquire_program(NASM) get_filename_component(NASM_EXE_PATH ${NASM} DIRECTORY) -set(ENV{PATH} "$ENV{PATH};${NASM_EXE_PATH}") +vcpkg_add_to_path(${NASM_EXE_PATH}) if(VCPKG_TARGET_IS_WINDOWS) _vcpkg_determine_autotools_host_cpu(BUILD_ARCH) @@ -51,7 +51,10 @@ vcpkg_configure_make( ) vcpkg_install_make() -vcpkg_copy_tools(TOOL_NAMES x264 AUTO_CLEAN) + +if(NOT VCPKG_TARGET_IS_UWP) + vcpkg_copy_tools(TOOL_NAMES x264 AUTO_CLEAN) +endif() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) @@ -81,7 +84,7 @@ elseif(VCPKG_LIBRARY_LINKAGE STREQUAL "static") ) endif() -vcpkg_fixup_pkgconfig(SYSTEM_LIBRARIES -lpthread -lm -ldl) +vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() diff --git a/ports/x264/vcpkg.json b/ports/x264/vcpkg.json new file mode 100644 index 00000000000000..128d8ccf410125 --- /dev/null +++ b/ports/x264/vcpkg.json @@ -0,0 +1,14 @@ +{ + "name": "x264", + "version-string": "157-303c484ec828ed0", + "port-version": 15, + "description": "x264 is a free software library and application for encoding video streams into the H.264/MPEG-4 AVC compression format", + "homepage": "https://github.com/mirror/x264", + "supports": "!arm", + "dependencies": [ + { + "name": "pthread", + "platform": "linux & osx" + } + ] +} diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index ea21ced9a018d3..11db8efbd24b03 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -1657,10 +1657,6 @@ wpilib:arm64-windows=fail wpilib:x64-osx=fail wxchartdir:x64-osx=fail wxwidgets:x64-linux=fail -x264:arm64-windows=fail -x264:arm-uwp=fail -x264:x64-uwp=fail -x264:x64-osx=fail x265:arm64-windows=fail x265:arm-uwp=fail x265:x64-uwp=fail diff --git a/versions/baseline.json b/versions/baseline.json index 5144e658f9e977..9bcb809277d3e9 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -6178,7 +6178,7 @@ }, "x264": { "baseline": "157-303c484ec828ed0", - "port-version": 14 + "port-version": 15 }, "x265": { "baseline": "3.4", diff --git a/versions/x-/x264.json b/versions/x-/x264.json index e71a19f169377b..d129da3b53d5ad 100644 --- a/versions/x-/x264.json +++ b/versions/x-/x264.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "e766671c5f64574235784ce45b1668daf4cb9b44", + "version-string": "157-303c484ec828ed0", + "port-version": 15 + }, { "git-tree": "5e7b1b08a47363a45799c196a1a8442e9b02f882", "version-string": "157-303c484ec828ed0", From e72302d44237c751bcf3db8a4d5922d34d45f68f Mon Sep 17 00:00:00 2001 From: Adam Date: Tue, 26 Jan 2021 15:58:42 -0700 Subject: [PATCH 0040/1735] [icu] Add support for macos rpath prefix macro (#15706) * [icu] Add support for macos rpath prefix macro * update port_versions for icu * address review comments * update baseline Co-authored-by: JackBoosY --- ports/icu/CONTROL | 2 +- ports/icu/portfile.cmake | 132 +++++++++++++++++++++++++++++++++++++++ versions/baseline.json | 2 +- versions/i-/icu.json | 5 ++ 4 files changed, 139 insertions(+), 2 deletions(-) diff --git a/ports/icu/CONTROL b/ports/icu/CONTROL index 344d34c517dce1..96c578b09982dc 100644 --- a/ports/icu/CONTROL +++ b/ports/icu/CONTROL @@ -1,6 +1,6 @@ Source: icu Version: 67.1 -Port-Version: 7 +Port-Version: 8 Homepage: http://icu-project.org/apiref/icu4c/ Description: Mature and widely used Unicode and localization library. Supports: !(arm|uwp) diff --git a/ports/icu/portfile.cmake b/ports/icu/portfile.cmake index 988620486e6308..60fb602288837c 100644 --- a/ports/icu/portfile.cmake +++ b/ports/icu/portfile.cmake @@ -169,6 +169,138 @@ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${RELEASE_TRIPLET}" LOGNAME "make-build-${RELEASE_TRIPLET}") + # remove this block if https://unicode-org.atlassian.net/browse/ICU-21458 + # is resolved and use the configure script instead + if(VCPKG_TARGET_IS_OSX AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + if(DEFINED CMAKE_INSTALL_NAME_DIR) + set(ID_PREFIX "${CMAKE_INSTALL_NAME_DIR}") + else() + set(ID_PREFIX "@rpath") + endif() + + # install_name_tool may be missing if cross-compiling + find_program( + INSTALL_NAME_TOOL + install_name_tool + HINTS /usr/bin /Library/Developer/CommandLineTools/usr/bin/ + DOC "Absolute path of install_name_tool" + REQUIRED + ) + + message(STATUS "setting rpath prefix for macOS dynamic libraries") + + # add ID_PREFIX to libicudata + vcpkg_execute_build_process( + COMMAND ${INSTALL_NAME_TOOL} -id "${ID_PREFIX}/libicudata.${ICU_VERSION_MAJOR}.dylib" + "libicudata.${VERSION}.dylib" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${RELEASE_TRIPLET}/lib" + LOGNAME "make-build-fix-rpath-${RELEASE_TRIPLET}" + ) + + # add ID_PREFIX to libicui18n + vcpkg_execute_build_process( + COMMAND ${INSTALL_NAME_TOOL} -id "${ID_PREFIX}/libicui18n.${ICU_VERSION_MAJOR}.dylib" + "libicui18n.${VERSION}.dylib" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${RELEASE_TRIPLET}/lib" + LOGNAME "make-build-fix-rpath-${RELEASE_TRIPLET}" + ) + + # add ID_PREFIX to libicui18n dependencies + vcpkg_execute_build_process( + COMMAND ${INSTALL_NAME_TOOL} -change "libicuuc.${ICU_VERSION_MAJOR}.dylib" + "${ID_PREFIX}/libicuuc.${ICU_VERSION_MAJOR}.dylib" + "libicui18n.${VERSION}.dylib" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${RELEASE_TRIPLET}/lib" + LOGNAME "make-build-fix-rpath-${RELEASE_TRIPLET}" + ) + vcpkg_execute_build_process( + COMMAND ${INSTALL_NAME_TOOL} -change "libicudata.${ICU_VERSION_MAJOR}.dylib" + "${ID_PREFIX}/libicudata.${ICU_VERSION_MAJOR}.dylib" + "libicui18n.${VERSION}.dylib" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${RELEASE_TRIPLET}/lib" + LOGNAME "make-build-fix-rpath-${RELEASE_TRIPLET}" + ) + + # add ID_PREFIX to libicuio + vcpkg_execute_build_process( + COMMAND ${INSTALL_NAME_TOOL} -id "${ID_PREFIX}/libicuio.${ICU_VERSION_MAJOR}.dylib" + "libicuio.${VERSION}.dylib" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${RELEASE_TRIPLET}/lib" + LOGNAME "make-build-fix-rpath-${RELEASE_TRIPLET}" + ) + + # add ID_PREFIX to libicuio dependencies + vcpkg_execute_build_process( + COMMAND ${INSTALL_NAME_TOOL} -change "libicuuc.${ICU_VERSION_MAJOR}.dylib" + "${ID_PREFIX}/libicuuc.${ICU_VERSION_MAJOR}.dylib" + "libicuio.${VERSION}.dylib" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${RELEASE_TRIPLET}/lib" + LOGNAME "make-build-fix-rpath-${RELEASE_TRIPLET}" + ) + vcpkg_execute_build_process( + COMMAND ${INSTALL_NAME_TOOL} -change "libicudata.${ICU_VERSION_MAJOR}.dylib" + "${ID_PREFIX}/libicudata.${ICU_VERSION_MAJOR}.dylib" + "libicuio.${VERSION}.dylib" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${RELEASE_TRIPLET}/lib" + LOGNAME "make-build-fix-rpath-${RELEASE_TRIPLET}" + ) + vcpkg_execute_build_process( + COMMAND ${INSTALL_NAME_TOOL} -change "libicui18n.${ICU_VERSION_MAJOR}.dylib" + "${ID_PREFIX}/libicui18n.${ICU_VERSION_MAJOR}.dylib" + "libicuio.${VERSION}.dylib" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${RELEASE_TRIPLET}/lib" + LOGNAME "make-build-fix-rpath-${RELEASE_TRIPLET}" + ) + + # add ID_PREFIX to libicutu + vcpkg_execute_build_process( + COMMAND ${INSTALL_NAME_TOOL} -id "${ID_PREFIX}/libicutu.${ICU_VERSION_MAJOR}.dylib" + "libicutu.${VERSION}.dylib" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${RELEASE_TRIPLET}/lib" + LOGNAME "make-build-fix-rpath-${RELEASE_TRIPLET}" + ) + + # add ID_PREFIX to libicutu dependencies + vcpkg_execute_build_process( + COMMAND ${INSTALL_NAME_TOOL} -change "libicui18n.${ICU_VERSION_MAJOR}.dylib" + "${ID_PREFIX}/libicui18n.${ICU_VERSION_MAJOR}.dylib" + "libicutu.${VERSION}.dylib" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${RELEASE_TRIPLET}/lib" + LOGNAME "make-build-fix-rpath-${RELEASE_TRIPLET}" + ) + vcpkg_execute_build_process( + COMMAND ${INSTALL_NAME_TOOL} -change "libicuuc.${ICU_VERSION_MAJOR}.dylib" + "${ID_PREFIX}/libicuuc.${ICU_VERSION_MAJOR}.dylib" + "libicutu.${VERSION}.dylib" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${RELEASE_TRIPLET}/lib" + LOGNAME "make-build-fix-rpath-${RELEASE_TRIPLET}" + ) + vcpkg_execute_build_process( + COMMAND ${INSTALL_NAME_TOOL} -change "libicudata.${ICU_VERSION_MAJOR}.dylib" + "${ID_PREFIX}/libicudata.${ICU_VERSION_MAJOR}.dylib" + "libicutu.${VERSION}.dylib" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${RELEASE_TRIPLET}/lib" + LOGNAME "make-build-fix-rpath-${RELEASE_TRIPLET}" + ) + + # add ID_PREFIX to libicuuc + vcpkg_execute_build_process( + COMMAND ${INSTALL_NAME_TOOL} -id "${ID_PREFIX}/libicuuc.${ICU_VERSION_MAJOR}.dylib" + "libicuuc.${VERSION}.dylib" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${RELEASE_TRIPLET}/lib" + LOGNAME "make-build-fix-rpath-${RELEASE_TRIPLET}" + ) + + # add ID_PREFIX to libicuuc dependencies + vcpkg_execute_build_process( + COMMAND ${INSTALL_NAME_TOOL} -change "libicudata.${ICU_VERSION_MAJOR}.dylib" + "${ID_PREFIX}/libicudata.${ICU_VERSION_MAJOR}.dylib" + "libicuuc.${VERSION}.dylib" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${RELEASE_TRIPLET}/lib" + LOGNAME "make-build-fix-rpath-${RELEASE_TRIPLET}" + ) + endif() + vcpkg_execute_build_process( COMMAND ${BASH} --noprofile --norc -c "make install" WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${RELEASE_TRIPLET}" diff --git a/versions/baseline.json b/versions/baseline.json index 9bcb809277d3e9..31bebe2f7ef80f 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -2394,7 +2394,7 @@ }, "icu": { "baseline": "67.1", - "port-version": 7 + "port-version": 8 }, "ideviceinstaller": { "baseline": "1.1.2.23-1", diff --git a/versions/i-/icu.json b/versions/i-/icu.json index 38be600599c1ee..d91bfed139c7d8 100644 --- a/versions/i-/icu.json +++ b/versions/i-/icu.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "db2977707d68a8c04e0960b0965722f8e5bfda20", + "version-string": "67.1", + "port-version": 8 + }, { "git-tree": "e224ca4ff2e2bcb1c4b72a1813ab886c1dfa2bfc", "version-string": "67.1", From 795588570aa5fb2d4f33a13648b8b602e9d4a52c Mon Sep 17 00:00:00 2001 From: Jonathan Hale Date: Wed, 27 Jan 2021 00:03:54 +0100 Subject: [PATCH 0041/1735] [magnum,magnum-plugins] Add vulkan and shaderconverter features (#15163) * [magnum,magnum-plugins] Add vulkan and shaderconverter features Signed-off-by: Squareys * [magnum,-plugins] Add warning for features unavailable in non-head version Signed-off-by: Squareys * update version record Co-authored-by: JackBoosY --- ports/magnum-plugins/CONTROL | 10 +++++++++- ports/magnum-plugins/portfile.cmake | 9 ++++++++- ports/magnum/CONTROL | 24 ++++++++++++++++++++++-- ports/magnum/portfile.cmake | 12 ++++++++++++ versions/baseline.json | 4 ++-- versions/m-/magnum-plugins.json | 5 +++++ versions/m-/magnum.json | 5 +++++ 7 files changed, 63 insertions(+), 6 deletions(-) diff --git a/ports/magnum-plugins/CONTROL b/ports/magnum-plugins/CONTROL index dee9a32de315dd..f80c0f96f6e6ed 100644 --- a/ports/magnum-plugins/CONTROL +++ b/ports/magnum-plugins/CONTROL @@ -1,6 +1,6 @@ Source: magnum-plugins Version: 2020.06 -Port-Version: 1 +Port-Version: 2 Build-Depends: magnum[core] Description: Plugins for magnum, C++11/C++14 graphics middleware for games and data visualization Homepage: https://magnum.graphics/ @@ -48,6 +48,10 @@ Feature: freetypefont Description: FreeTypeFont plugin Build-Depends: freetype, magnum[text] +Feature: glslangshaderconverter +Description: GlslangShaderConverter plugin +Build-Depends: glslang, magnum[shadertools] + Feature: harfbuzzfont Description: HarfBuzzFont plugin Build-Depends: harfbuzz, magnum-plugins[freetypefont] @@ -84,6 +88,10 @@ Feature: pngimporter Description: PngImporter plugin Build-Depends: libpng, magnum[trade] +Feature: spirvtoolsshaderconverter +Description: SpirvToolsShaderConverter plugin +Build-Depends: spirv-tools, magnum[shadertools] + Feature: stanfordimporter Description: StanfordImporter plugin Build-Depends: magnum[trade] diff --git a/ports/magnum-plugins/portfile.cmake b/ports/magnum-plugins/portfile.cmake index 766d91cfc3db42..07dca290258263 100644 --- a/ports/magnum-plugins/portfile.cmake +++ b/ports/magnum-plugins/portfile.cmake @@ -44,9 +44,16 @@ else() set(BUILD_PLUGINS_STATIC 0) endif() +# Head only features +set(ALL_SUPPORTED_FEATURES ${ALL_FEATURES}) +if(NOT VCPKG_USE_HEAD_VERSION) + list(REMOVE_ITEM ALL_SUPPORTED_FEATURES glslangshaderconverter spirvtoolsshaderconverter) + message(WARNING "Features glslangshaderconverter and spirvtoolsshaderconverter are not avaliable when building non-head version.") +endif() + set(_COMPONENTS "") # Generate cmake parameters from feature names -foreach(_feature IN LISTS ALL_FEATURES) +foreach(_feature IN LISTS ALL_SUPPORTED_FEATURES) # Uppercase the feature name and replace "-" with "_" string(TOUPPER "${_feature}" _FEATURE) string(REPLACE "-" "_" _FEATURE "${_FEATURE}") diff --git a/ports/magnum/CONTROL b/ports/magnum/CONTROL index e7fa5bd9a89c18..5c9c8fa1c27c7f 100644 --- a/ports/magnum/CONTROL +++ b/ports/magnum/CONTROL @@ -1,10 +1,10 @@ Source: magnum Version: 2020.06 -Port-Version: 2 +Port-Version: 3 Build-Depends: corrade[utility] Description: C++11/C++14 graphics middleware for games and data visualization Homepage: https://magnum.graphics/ -Default-Features: anyaudioimporter, anyimageimporter, anyimageconverter, anysceneconverter, anysceneimporter, debugtools, gl, meshtools, primitives, scenegraph, shaders, text, texturetools, trade, sdl2application +Default-Features: anyaudioimporter, anyimageimporter, anyimageconverter, anysceneconverter, anysceneimporter, anyshaderconverter, debugtools, gl, meshtools, primitives, scenegraph, shaders, shadertools, text, texturetools, trade, sdl2application Feature: al-info Description: magnum-al-info utility @@ -30,6 +30,10 @@ Feature: anysceneimporter Description: AnySceneImporter plugin Build-Depends: magnum[core,trade] +Feature: anyshaderconverter +Description: AnyShaderConverter plugin +Build-Depends: magnum[core,shadertools] + Feature: audio Description: Audio library Build-Depends: openal-soft @@ -99,6 +103,10 @@ Feature: sceneconverter Description: magnum-sceneconverter utility Build-Depends: magnum[core,anysceneconverter] +Feature: shaderconverter +Description: magnum-shaderconverter utility +Build-Depends: magnum[core,shadertools,anyshaderconverter] + Feature: shaders Description: Shaders library Build-Depends: magnum[core,gl] @@ -153,3 +161,15 @@ Build-Depends: magnum[core,gl] Feature: glxcontext Description: GlxContext library Build-Depends: magnum[core,gl] + +Feature: shadertools +Description: ShaderTools library + +Feature: vk +Description: Vk library +Build-Depends: vulkan + +Feature: vk-info +Description: vk-info utility +Build-Depends: magnum[core,vk] + diff --git a/ports/magnum/portfile.cmake b/ports/magnum/portfile.cmake index cb8b2473c3dc44..3aa777c9b38e98 100644 --- a/ports/magnum/portfile.cmake +++ b/ports/magnum/portfile.cmake @@ -49,6 +49,13 @@ if(NOT "${VCPKG_CMAKE_SYSTEM_NAME}" MATCHES "(Emscripten|Linux)") list(REMOVE_ITEM ALL_SUPPORTED_FEATURES eglcontext windowlesseglapplication) endif() +# Head only features +if(NOT VCPKG_USE_HEAD_VERSION) + list(REMOVE_ITEM ALL_SUPPORTED_FEATURES anyshaderconverter shadertools shaderconverter + vk-info) + message(WARNING "Features anyshaderconverter, shadertools, shaderconverter and vk-info are not avaliable when building non-head version.") +endif() + set(_COMPONENTS "") # Generate cmake parameters from feature names foreach(_feature IN LISTS ALL_SUPPORTED_FEATURES) @@ -88,6 +95,11 @@ set(_TOOLS gl-info imageconverter sceneconverter) +if(VCPKG_USE_HEAD_VERSION) +list(APPEND _TOOLS + shaderconverter + vk-info) +endif() foreach(_tool IN LISTS _TOOLS) if("${_tool}" IN_LIST FEATURES) list(APPEND _TOOL_EXEC_NAMES magnum-${_tool}) diff --git a/versions/baseline.json b/versions/baseline.json index 31bebe2f7ef80f..988fd085c229a9 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3614,7 +3614,7 @@ }, "magnum": { "baseline": "2020.06", - "port-version": 2 + "port-version": 3 }, "magnum-extras": { "baseline": "2020.06", @@ -3626,7 +3626,7 @@ }, "magnum-plugins": { "baseline": "2020.06", - "port-version": 1 + "port-version": 2 }, "mapbox-variant": { "baseline": "1.2.0", diff --git a/versions/m-/magnum-plugins.json b/versions/m-/magnum-plugins.json index 743464560ad668..0913d37882d4e1 100644 --- a/versions/m-/magnum-plugins.json +++ b/versions/m-/magnum-plugins.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "b9b701869c5d4f5f4203702622d2bbfa58b6517f", + "version-string": "2020.06", + "port-version": 2 + }, { "git-tree": "bc7aca74b45fcc3c73d3b0d051e63602c270f0b4", "version-string": "2020.06", diff --git a/versions/m-/magnum.json b/versions/m-/magnum.json index 59800ad4f15b26..171c916613de7d 100644 --- a/versions/m-/magnum.json +++ b/versions/m-/magnum.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "84fd6db3cf53cfcb736bfb14b08b86940f5588e1", + "version-string": "2020.06", + "port-version": 3 + }, { "git-tree": "e7a2404e1104325d881715e65459dd3c8a450489", "version-string": "2020.06", From 786d8f1261b0cb91037d338c1f546396c41af772 Mon Sep 17 00:00:00 2001 From: wangqr Date: Wed, 27 Jan 2021 07:07:05 +0800 Subject: [PATCH 0042/1735] [libass] Update to 0.15.0 (#15213) * [libass] Update to 0.15.0 * [libass] Add vcpkg_fixup_pkgconfig() * [libass] Add to versions file --- ports/libass/CMakeLists.txt | 4 ++-- ports/libass/ConstantValues.patch | 22 ---------------------- ports/libass/libass.def | 25 +++++++++++++------------ ports/libass/portfile.cmake | 6 +++--- ports/libass/vcpkg.json | 1 + versions/baseline.json | 2 +- versions/l-/libass.json | 5 +++++ 7 files changed, 25 insertions(+), 40 deletions(-) delete mode 100644 ports/libass/ConstantValues.patch diff --git a/ports/libass/CMakeLists.txt b/ports/libass/CMakeLists.txt index b91a6aab22b86e..f26c2de70dda9c 100644 --- a/ports/libass/CMakeLists.txt +++ b/ports/libass/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.9) project(libass C CXX) -set(LIBASS_VERSION 0.14.0) +set(LIBASS_VERSION 0.15.0) configure_file (${CMAKE_CURRENT_SOURCE_DIR}/config.h.in config.h) @@ -77,7 +77,7 @@ set(exec_prefix ${CMAKE_INSTALL_PREFIX}) set(libdir ${CMAKE_INSTALL_PREFIX}/lib) set(includedir ${CMAKE_INSTALL_PREFIX}/include) set(PACKAGE_VERSION ${LIBASS_VERSION}) -set(PKG_REQUIRES_PRIVATE "harfbuzz >= 0.9.5, fribidi >= 0.19.0, freetype2 >= 9.10.3") +set(PKG_REQUIRES_PRIVATE "harfbuzz >= 1.2.3, fribidi >= 0.19.0, freetype2 >= 9.10.3") set(PKG_LIBS_PRIVATE -lm) configure_file(libass.pc.in libass.pc @ONLY) install(FILES diff --git a/ports/libass/ConstantValues.patch b/ports/libass/ConstantValues.patch deleted file mode 100644 index e666b846610c9d..00000000000000 --- a/ports/libass/ConstantValues.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/libass/ass_outline.c b/libass/ass_outline.c -index ae5c06a..2173508 100644 ---- a/libass/ass_outline.c -+++ b/libass/ass_outline.c -@@ -613,7 +613,7 @@ static bool draw_arc(StrokerState *str, ASS_Vector pt, - ASS_DVector normal0, ASS_DVector normal1, double c, int dir) - { - enum { max_subdiv = 15 }; -- double mul[max_subdiv + 1]; -+ double mul[16]; - - ASS_DVector center; - bool small_angle = true; -@@ -649,7 +649,7 @@ static bool draw_arc(StrokerState *str, ASS_Vector pt, - static bool draw_circle(StrokerState *str, ASS_Vector pt, int dir) - { - enum { max_subdiv = 15 }; -- double mul[max_subdiv + 1], c = 0; -+ double mul[16], c = 0; - - int pos = max_subdiv; - while (c < str->split_cos && pos) { diff --git a/ports/libass/libass.def b/ports/libass/libass.def index 58bfad3d67f822..7edbbdf6308639 100644 --- a/ports/libass/libass.def +++ b/ports/libass/libass.def @@ -1,24 +1,34 @@ EXPORTS +ass_library_version ass_library_init ass_library_done -ass_library_version ass_set_fonts_dir ass_set_extract_fonts ass_set_style_overrides +ass_process_force_style +ass_set_message_cb ass_renderer_init ass_renderer_done ass_set_frame_size ass_set_storage_size +ass_set_shaper ass_set_margins ass_set_use_margins +ass_set_pixel_aspect ass_set_aspect_ratio ass_set_font_scale ass_set_hinting ass_set_line_spacing +ass_set_line_position ass_get_available_font_providers ass_set_fonts +ass_set_selective_style_override_enabled +ass_set_selective_style_override +ass_fonts_update +ass_set_cache_limits ass_render_frame ass_new_track +ass_track_set_feature ass_free_track ass_alloc_style ass_alloc_event @@ -27,20 +37,11 @@ ass_free_event ass_process_data ass_process_codec_private ass_process_chunk +ass_set_check_readorder +ass_flush_events ass_read_file ass_read_memory ass_read_styles ass_add_font ass_clear_fonts ass_step_sub -ass_process_force_style -ass_set_message_cb -ass_fonts_update -ass_set_cache_limits -ass_flush_events -ass_set_shaper -ass_set_line_position -ass_set_pixel_aspect -ass_set_selective_style_override_enabled -ass_set_selective_style_override -ass_set_check_readorder diff --git a/ports/libass/portfile.cmake b/ports/libass/portfile.cmake index 63562f06fce867..eac81b339cc268 100644 --- a/ports/libass/portfile.cmake +++ b/ports/libass/portfile.cmake @@ -1,10 +1,9 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libass/libass - REF d149636f502f5774ae1a8fb4c554b122674393b2 #v 0.15.0 - SHA512 d8b3b23e3cfa42b6f65a59a389a54a18a8470f015ca828e2a08afd9633510ebf58c74e630b086cd611629f79e68f23be47dd2f798e223330216e6b1f487afd7a + REF 0.15.0 + SHA512 a832da5246577cf815481bb9e4bebabc74bc1d0f5c50faa098f4150a379d801d7e6d1bd7f9f578143a9412e258c5296d08c4fc2d04cc33f1751e613c2583214c HEAD_REF master - PATCHES ConstantValues.patch ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/config.h.in DESTINATION ${SOURCE_PATH}) @@ -22,6 +21,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() # Handle copyright file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/libass/vcpkg.json b/ports/libass/vcpkg.json index 2eab327b8a6fc7..b16ff67696d18b 100644 --- a/ports/libass/vcpkg.json +++ b/ports/libass/vcpkg.json @@ -1,6 +1,7 @@ { "name": "libass", "version-string": "0.15.0", + "port-version": 1, "description": "libass is a portable subtitle renderer for the ASS/SSA (Advanced Substation Alpha/Substation Alpha) subtitle format", "homepage": "https://github.com/libass/libass", "dependencies": [ diff --git a/versions/baseline.json b/versions/baseline.json index 988fd085c229a9..b195a3a79778b0 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -2838,7 +2838,7 @@ }, "libass": { "baseline": "0.15.0", - "port-version": 0 + "port-version": 1 }, "libassuan": { "baseline": "2.5.3", diff --git a/versions/l-/libass.json b/versions/l-/libass.json index 0956685f48170a..78937e0dad4eb1 100644 --- a/versions/l-/libass.json +++ b/versions/l-/libass.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "ba6a3b98d6557361a7c46c0d8543e8d928a3825f", + "version-string": "0.15.0", + "port-version": 1 + }, { "git-tree": "09bc1e4af0701ac49dfb52104d0e940a5810e03d", "version-string": "0.15.0", From 62f5be4fab1c37ff245e506d501d4cde5215845d Mon Sep 17 00:00:00 2001 From: Cheney Wang <38240633+Cheney-W@users.noreply.github.com> Date: Wed, 27 Jan 2021 07:09:03 +0800 Subject: [PATCH 0043/1735] [kinectsdk1] Update hash (#15856) * [kinectsdk1] Update Hash * Fix error in vcpkg.json file * Add kinectsdk1.json Co-authored-by: Cheney-Wang --- ports/kinectsdk1/CONTROL | 4 ---- ports/kinectsdk1/portfile.cmake | 9 +++------ ports/kinectsdk1/vcpkg.json | 7 +++++++ versions/baseline.json | 4 ++-- versions/k-/kinectsdk1.json | 5 +++++ 5 files changed, 17 insertions(+), 12 deletions(-) delete mode 100644 ports/kinectsdk1/CONTROL create mode 100644 ports/kinectsdk1/vcpkg.json diff --git a/ports/kinectsdk1/CONTROL b/ports/kinectsdk1/CONTROL deleted file mode 100644 index d4cd1d2733b957..00000000000000 --- a/ports/kinectsdk1/CONTROL +++ /dev/null @@ -1,4 +0,0 @@ -Source: kinectsdk1 -Version: 1.8-2 -Description: Kinect for Windows SDK for Kinect v1 sensor. -Supports: !arm \ No newline at end of file diff --git a/ports/kinectsdk1/portfile.cmake b/ports/kinectsdk1/portfile.cmake index cde6b6148c48fb..adcb82a524126a 100644 --- a/ports/kinectsdk1/portfile.cmake +++ b/ports/kinectsdk1/portfile.cmake @@ -1,12 +1,10 @@ -if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") - message(FATAL_ERROR "This port does not currently support architecture: ${VCPKG_TARGET_ARCHITECTURE}") -endif() +vcpkg_fail_port_install(ON_ARCH "arm") set(KINECTSDK10_VERSION "v1.8") vcpkg_download_distfile(KINECTSDK10_INSTALLER URLS "https://download.microsoft.com/download/E/1/D/E1DEC243-0389-4A23-87BF-F47DE869FC1A/KinectSDK-${KINECTSDK10_VERSION}-Setup.exe" FILENAME "KinectSDK-${KINECTSDK10_VERSION}-Setup.exe" - SHA512 ee8a0f70c86aad80fe214108e315e4550a90ed39f278ce00a7137532174ee5bf3bdeb1d0b499fc5ffdb5e176adecfd68963ee3731e1d2f00d69d32d1b8a3c555 + SHA512 d7e886d639b4310addc7c1350311f81289ffbcd653237882da7bf3d4074281ed35d217cb8be101579cac880c574dd89c62cd6a87772d60905c446d0be5fd1932 ) vcpkg_find_acquire_program(DARK) @@ -65,5 +63,4 @@ file( ) # Handle copyright -file(COPY "${KINECTSDK10_DIR}/SDKEula.rtf" DESTINATION ${CURRENT_PACKAGES_DIR}/share/kinectsdk1) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/kinectsdk1/SDKEula.rtf ${CURRENT_PACKAGES_DIR}/share/kinectsdk1/copyright) \ No newline at end of file +file(INSTALL ${KINECTSDK10_DIR}/SDKEula.rtf DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file diff --git a/ports/kinectsdk1/vcpkg.json b/ports/kinectsdk1/vcpkg.json new file mode 100644 index 00000000000000..230677a2552107 --- /dev/null +++ b/ports/kinectsdk1/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "kinectsdk1", + "version-string": "1.8", + "port-version": 3, + "description": "Kinect for Windows SDK for Kinect v1 sensor.", + "supports": "!arm" +} diff --git a/versions/baseline.json b/versions/baseline.json index b195a3a79778b0..c39c26da42d8f7 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -2733,8 +2733,8 @@ "port-version": 0 }, "kinectsdk1": { - "baseline": "1.8-2", - "port-version": 0 + "baseline": "1.8", + "port-version": 3 }, "kinectsdk2": { "baseline": "2.0-2", diff --git a/versions/k-/kinectsdk1.json b/versions/k-/kinectsdk1.json index 1d9148b1dd9779..6ddfc2b1251193 100644 --- a/versions/k-/kinectsdk1.json +++ b/versions/k-/kinectsdk1.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "b48f4bf28923981e5a8ad549daa4dc8ee64dac83", + "version-string": "1.8", + "port-version": 3 + }, { "git-tree": "6f1b6079d522449e9e015c19c96b021bef51d3f8", "version-string": "1.8-2", From 5f215c65fe6e5ae19df981ad02c2d7c29f778a84 Mon Sep 17 00:00:00 2001 From: Vitalii Koshura Date: Wed, 27 Jan 2021 00:09:52 +0100 Subject: [PATCH 0044/1735] [sentry-native] Update to 0.4.6 (#15875) Signed-off-by: Vitalii Koshura --- ports/sentry-native/CONTROL | 2 +- ports/sentry-native/portfile.cmake | 6 +++--- versions/baseline.json | 2 +- versions/s-/sentry-native.json | 5 +++++ 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/ports/sentry-native/CONTROL b/ports/sentry-native/CONTROL index 6618862603005a..ac8368f0fda58b 100644 --- a/ports/sentry-native/CONTROL +++ b/ports/sentry-native/CONTROL @@ -1,5 +1,5 @@ Source: sentry-native -Version: 0.4.5 +Version: 0.4.6 Homepage: https://sentry.io/ Description: Sentry SDK for C, C++ and native applications. Build-Depends: curl (!windows) diff --git a/ports/sentry-native/portfile.cmake b/ports/sentry-native/portfile.cmake index 6fba51e62b66e5..b3e496964ef9d6 100644 --- a/ports/sentry-native/portfile.cmake +++ b/ports/sentry-native/portfile.cmake @@ -1,9 +1,9 @@ vcpkg_fail_port_install(ON_ARCH "arm" "arm64" ON_TARGET "UWP") vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/getsentry/sentry-native/releases/download/0.4.5/sentry-native.zip" - FILENAME "sentry-native-0.4.5.zip" - SHA512 5bbc58ab2c038d32049b12302f69270d54097092d97fb73d3cf717ad83e639082de75895f7c5244040775d874965d71480f1736b2b7b19579d9226a51aaf0017 + URLS "https://github.com/getsentry/sentry-native/releases/download/0.4.6/sentry-native.zip" + FILENAME "sentry-native-0.4.6.zip" + SHA512 affc0cbb7930e8d6cf4b4979bf060303d5f939950a4cf265925aff6893d00e748884428be64457b618bc3cddd9a799e4b91cff520c9cd969425c6c564623576f ) vcpkg_extract_source_archive_ex( diff --git a/versions/baseline.json b/versions/baseline.json index c39c26da42d8f7..9ddbe7a291cdcd 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -5253,7 +5253,7 @@ "port-version": 0 }, "sentry-native": { - "baseline": "0.4.5", + "baseline": "0.4.6", "port-version": 0 }, "septag-sx": { diff --git a/versions/s-/sentry-native.json b/versions/s-/sentry-native.json index d913cbf6a7063d..a112b084da0586 100644 --- a/versions/s-/sentry-native.json +++ b/versions/s-/sentry-native.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "d3d779405f43319446ea028cb8ba8c7b55c32d49", + "version-string": "0.4.6", + "port-version": 0 + }, { "git-tree": "12609c0d641d756b3c3f3170c1a019c662f903fb", "version-string": "0.4.5", From f53d9799c3c5212486e57ea82c95dda33b6a0e38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jack=C2=B7Boos=C2=B7Yu?= <47264268+JackBoosY@users.noreply.github.com> Date: Wed, 27 Jan 2021 14:24:07 -0800 Subject: [PATCH 0045/1735] [vcpkg baseline][osgearth] Fix and add dependency tinyxml (#15900) * [osgearth] Fix and add dependency tinyxml * update version record --- ports/osgearth/fix-tinyxml.patch | 15 +++++++++++++++ ports/osgearth/portfile.cmake | 4 ++++ ports/osgearth/vcpkg.json | 5 +++-- versions/baseline.json | 2 +- versions/o-/osgearth.json | 5 +++++ 5 files changed, 28 insertions(+), 3 deletions(-) create mode 100644 ports/osgearth/fix-tinyxml.patch diff --git a/ports/osgearth/fix-tinyxml.patch b/ports/osgearth/fix-tinyxml.patch new file mode 100644 index 00000000000000..9f9a6d96ff4c67 --- /dev/null +++ b/ports/osgearth/fix-tinyxml.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c78bd16..bf31091 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -193,7 +193,9 @@ OPTION(OSGEARTH_INSTALL_SHADERS "Whether to deploy GLSL shaders when doing a Mak + # TinyXML is an XML parsing library + SET (WITH_EXTERNAL_TINYXML FALSE CACHE BOOL "Use bundled or system wide version of TinyXML") + IF (WITH_EXTERNAL_TINYXML) +- find_package(TinyXML REQUIRED) ++ find_package(tinyxml CONFIG REQUIRED) ++ set(TINYXML_FOUND 1) ++ set(TINYXML_LIBRARY unofficial-tinyxml::unofficial-tinyxml) + ENDIF (WITH_EXTERNAL_TINYXML) + + # postfix settings for various configs diff --git a/ports/osgearth/portfile.cmake b/ports/osgearth/portfile.cmake index 57d42b523151f8..816aa50e38cd16 100644 --- a/ports/osgearth/portfile.cmake +++ b/ports/osgearth/portfile.cmake @@ -15,8 +15,12 @@ vcpkg_from_github( HEAD_REF master PATCHES make-all-find-packages-required.patch + fix-tinyxml.patch ) +# Upstream bug, see https://github.com/gwaldron/osgearth/issues/1002 +file(REMOVE ${SOURCE_PATH}/src/osgEarth/tinyxml.h) + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA diff --git a/ports/osgearth/vcpkg.json b/ports/osgearth/vcpkg.json index 7d7a220150a688..aef74120b98451 100644 --- a/ports/osgearth/vcpkg.json +++ b/ports/osgearth/vcpkg.json @@ -1,7 +1,7 @@ { "name": "osgearth", "version": "3.1", - "port-version": 1, + "port-version": 2, "description": "osgEarth - Dynamic map generation toolkit for OpenSceneGraph Copyright 2015 Pelican Mapping.", "homepage": "https://github.com/gwaldron/osgearth", "supports": "!(x86 | wasm32) & !staticcrt", @@ -20,6 +20,7 @@ ] }, "protobuf", - "sqlite3" + "sqlite3", + "tinyxml" ] } diff --git a/versions/baseline.json b/versions/baseline.json index 9ddbe7a291cdcd..f7f252c0a1e8a1 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -4370,7 +4370,7 @@ }, "osgearth": { "baseline": "3.1", - "port-version": 1 + "port-version": 2 }, "osi": { "baseline": "0.108.6", diff --git a/versions/o-/osgearth.json b/versions/o-/osgearth.json index 13b6b3fece1b9c..674e0b0abbf093 100644 --- a/versions/o-/osgearth.json +++ b/versions/o-/osgearth.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "9355b8ad52fcf4998fe4c262f29a4e01fa83b9fa", + "version": "3.1", + "port-version": 2 + }, { "git-tree": "d194c647fcf69fe345c13ae7b6da3451e4bbddb6", "version": "3.1", From 3b469cb563cc77bdb078a1af2471735541661eaf Mon Sep 17 00:00:00 2001 From: JonLiu1993 <63675417+JonLiu1993@users.noreply.github.com> Date: Thu, 28 Jan 2021 06:25:19 +0800 Subject: [PATCH 0046/1735] [charls] update to 2.2.0 (#15857) * [charls] update to 2.2.0 * update version * delete TARGET_PATH * update version --- ports/charls/CONTROL | 2 +- ports/charls/portfile.cmake | 7 ++++--- versions/baseline.json | 2 +- versions/c-/charls.json | 5 +++++ 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/ports/charls/CONTROL b/ports/charls/CONTROL index f266fe9983751e..57fdd3ec666cbc 100644 --- a/ports/charls/CONTROL +++ b/ports/charls/CONTROL @@ -1,4 +1,4 @@ Source: charls -Version: 2.1.0-1 +Version: 2.2.0 Homepage: https://github.com/team-charls/charls Description: CharLS, a C++ JPEG-LS library implementation. \ No newline at end of file diff --git a/ports/charls/portfile.cmake b/ports/charls/portfile.cmake index 159d38f1445ae4..436d11a8e06f88 100644 --- a/ports/charls/portfile.cmake +++ b/ports/charls/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO team-charls/charls - REF 2.1.0 - SHA512 456539243d984ebe6afe1bbb7c9422e642cf0346d25d220126ad8a6d04e945c6c340ab3c2b73a7db4ec390ed6a52236e5c6e9ad6d14e8b78b701937810fb327d + REF 0bafe4ecdc591f633303ad0d32f3f6c38d099802 #v2.2.0 + SHA512 56acb0085a4f653660166c11982934d7f8c8836db63339aaca700aabade2bf7cff8cba77f9f04a68bbc119b5b15800bf01ffb10628703fb2188f6e654d0e5f22 HEAD_REF master ) @@ -12,10 +12,11 @@ vcpkg_configure_cmake( OPTIONS -DCHARLS_BUILD_TESTS=OFF -DCHARLS_BUILD_SAMPLES=OFF + -DCHARLS_BUILD_FUZZ_TEST=OFF ) vcpkg_install_cmake() - +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/charls) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/versions/baseline.json b/versions/baseline.json index f7f252c0a1e8a1..3008b161771551 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -1145,7 +1145,7 @@ "port-version": 1 }, "charls": { - "baseline": "2.1.0-1", + "baseline": "2.2.0", "port-version": 0 }, "chartdir": { diff --git a/versions/c-/charls.json b/versions/c-/charls.json index a735a08635a477..3f6d36b4993b64 100644 --- a/versions/c-/charls.json +++ b/versions/c-/charls.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "12553ab1c13943bb8295052c2965bdbcbfc7f57f", + "version-string": "2.2.0", + "port-version": 0 + }, { "git-tree": "2fa61c15c3a5e28cb65a32bce7769942d8a8f061", "version-string": "2.1.0-1", From 511e887ee71a8088401518ec79450f6f1f412c94 Mon Sep 17 00:00:00 2001 From: Park DongHa Date: Thu, 28 Jan 2021 07:28:14 +0900 Subject: [PATCH 0047/1735] [nsync] create a new port (#15714) * [nsync] create a new port * [nsync] support system name WindowsStore * [nsync] use "version" instead of "version-string" * [nsync] add version JSON * Update ports/nsync/portfile.cmake * [nsync] apply PR feedback * [nsync] update SHA of port * [nsync] extract vcpkg_replace_string to patch * update version SHA Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> --- ports/nsync/fix-install.patch | 32 ++++++++++++++++++++++++++++++++ ports/nsync/portfile.cmake | 25 +++++++++++++++++++++++++ ports/nsync/vcpkg.json | 6 ++++++ versions/baseline.json | 4 ++++ versions/n-/nsync.json | 9 +++++++++ 5 files changed, 76 insertions(+) create mode 100644 ports/nsync/fix-install.patch create mode 100644 ports/nsync/portfile.cmake create mode 100644 ports/nsync/vcpkg.json create mode 100644 versions/n-/nsync.json diff --git a/ports/nsync/fix-install.patch b/ports/nsync/fix-install.patch new file mode 100644 index 00000000000000..efe560d15bca4b --- /dev/null +++ b/ports/nsync/fix-install.patch @@ -0,0 +1,32 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6b1f1dc..328f9b6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -80,7 +80,7 @@ set (NSYNC_OS_CPP_SRC + # https://cmake.org/cmake/help/v3.1/policy/CMP0054.html + + # Pick the include directory for the operating system. +-if ("${CMAKE_SYSTEM_NAME}X" STREQUAL "WindowsX") ++if ("${CMAKE_SYSTEM_NAME}X" STREQUAL "WindowsX" OR "${CMAKE_SYSTEM_NAME}X" STREQUAL "WindowsStoreX") + include_directories ("${PROJECT_SOURCE_DIR}/platform/win32") + set (NSYNC_CPP_FLAGS "/TP") + +@@ -230,7 +230,7 @@ elseif (("${CMAKE_SYSTEM_PROCESSOR}X" STREQUAL "ppc64X")) + endif () + + # Windows uses some include files from the posix directory also. +-if ("${CMAKE_SYSTEM_NAME}X" STREQUAL "WindowsX") ++if ("${CMAKE_SYSTEM_NAME}X" STREQUAL "WindowsX" OR "${CMAKE_SYSTEM_NAME}X" STREQUAL "WindowsStoreX") + include_directories ("${PROJECT_SOURCE_DIR}/platform/posix") + endif () + +@@ -396,7 +396,8 @@ if (NSYNC_ENABLE_TESTS) + endforeach (t) + endif () + +-set (CMAKE_SKIP_INSTALL_ALL_DEPENDENCY ON) ++# By default, install nsync always ++# set (CMAKE_SKIP_INSTALL_ALL_DEPENDENCY ON) + + install (TARGETS nsync + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT RuntimeLibraries diff --git a/ports/nsync/portfile.cmake b/ports/nsync/portfile.cmake new file mode 100644 index 00000000000000..65abd9c87f5239 --- /dev/null +++ b/ports/nsync/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 google/nsync + REF 1.24.0 + SHA512 14dd582488072123a353c967664ed9a3f636865bb35e64d7256dcc809539129fa47c7979a4009fd45c9341cac537a4ca6b4b617ba2cae1d3995a7c251376339f + HEAD_REF master + PATCHES + fix-install.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DNSYNC_ENABLE_TESTS=OFF +) +vcpkg_install_cmake() +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/nsync/vcpkg.json b/ports/nsync/vcpkg.json new file mode 100644 index 00000000000000..292da006c9059a --- /dev/null +++ b/ports/nsync/vcpkg.json @@ -0,0 +1,6 @@ +{ + "name": "nsync", + "version": "1.24.0", + "description": "nsync is a C library that exports various synchronization primitives, such as mutexes", + "homepage": "https://github.com/google/nsync" +} diff --git a/versions/baseline.json b/versions/baseline.json index 3008b161771551..06256079455df7 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -4064,6 +4064,10 @@ "baseline": "4.1.2", "port-version": 0 }, + "nsync": { + "baseline": "1.24.0", + "port-version": 0 + }, "nt-wrapper": { "baseline": "2019-08-10", "port-version": 0 diff --git a/versions/n-/nsync.json b/versions/n-/nsync.json new file mode 100644 index 00000000000000..44af83133ddb9f --- /dev/null +++ b/versions/n-/nsync.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "65f07dbc95a609c95de7befffbf37da598652cee", + "version": "1.24.0", + "port-version": 0 + } + ] +} From 29286672eed3a6827f7720f04cbd5bc86e931b0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jack=C2=B7Boos=C2=B7Yu?= <47264268+JackBoosY@users.noreply.github.com> Date: Wed, 27 Jan 2021 18:16:47 -0800 Subject: [PATCH 0048/1735] [openvdb] Fix vcpkg-cmake-wrapper (#15902) * [openvdb] Fix vcpkg-cmake-wrapper * update version record --- ports/openvdb/CONTROL | 2 +- ports/openvdb/portfile.cmake | 2 +- ...cpkg-cmake-wrapper.cmake => vcpkg-cmake-wrapper.cmake.in} | 2 ++ versions/baseline.json | 2 +- versions/o-/openvdb.json | 5 +++++ 5 files changed, 10 insertions(+), 3 deletions(-) rename ports/openvdb/{vcpkg-cmake-wrapper.cmake => vcpkg-cmake-wrapper.cmake.in} (82%) diff --git a/ports/openvdb/CONTROL b/ports/openvdb/CONTROL index f100be3e8a18c5..a05640a98500cf 100644 --- a/ports/openvdb/CONTROL +++ b/ports/openvdb/CONTROL @@ -1,6 +1,6 @@ Source: openvdb Version: 7.1.0 -Port-Version: 1 +Port-Version: 2 Build-Depends: boost-ptr-container, openexr, tbb, blosc, boost-iostreams, boost-system, boost-thread, boost-date-time, boost-any, boost-uuid, boost-interprocess, ilmbase Homepage: https://github.com/dreamworksanimation/openvdb Description: Sparse volume data structure and tools diff --git a/ports/openvdb/portfile.cmake b/ports/openvdb/portfile.cmake index fa91fc7f884d22..2fb9c3e6ffea8a 100644 --- a/ports/openvdb/portfile.cmake +++ b/ports/openvdb/portfile.cmake @@ -54,6 +54,6 @@ if (OPENVDB_BUILD_TOOLS) vcpkg_copy_tools(TOOL_NAMES vdb_print vdb_render vdb_view vdb_lod AUTO_CLEAN) endif() -file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +configure_file(${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake.in ${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake @ONLY) file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) file(INSTALL ${SOURCE_PATH}/openvdb/COPYRIGHT DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/openvdb/vcpkg-cmake-wrapper.cmake b/ports/openvdb/vcpkg-cmake-wrapper.cmake.in similarity index 82% rename from ports/openvdb/vcpkg-cmake-wrapper.cmake rename to ports/openvdb/vcpkg-cmake-wrapper.cmake.in index fd1c5d23de7a6f..7b9e5ac67ac170 100644 --- a/ports/openvdb/vcpkg-cmake-wrapper.cmake +++ b/ports/openvdb/vcpkg-cmake-wrapper.cmake.in @@ -5,6 +5,8 @@ list(REMOVE_ITEM ARGS "NO_MODULE") list(REMOVE_ITEM ARGS "CONFIG") list(REMOVE_ITEM ARGS "MODULE") +set(OPENVDB_USE_STATIC_LIBS @OPENVDB_STATIC@) + _find_package(${ARGS}) set(CMAKE_MODULE_PATH ${OPENVDB_PREV_MODULE_PATH}) diff --git a/versions/baseline.json b/versions/baseline.json index 06256079455df7..cf68e470aa6764 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -4326,7 +4326,7 @@ }, "openvdb": { "baseline": "7.1.0", - "port-version": 1 + "port-version": 2 }, "openvpn3": { "baseline": "3.4.1-1", diff --git a/versions/o-/openvdb.json b/versions/o-/openvdb.json index 8b0d616fb06f6d..5b5e207a1f0308 100644 --- a/versions/o-/openvdb.json +++ b/versions/o-/openvdb.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "7851d7cc48fbd6ae64e2a625afc0a21024f0eb31", + "version-string": "7.1.0", + "port-version": 2 + }, { "git-tree": "7bd35d581cf4764e95b80e0e1a91554238a45f25", "version-string": "7.1.0", From 421777e4b211f647cc716f1ed9544d149ecc5778 Mon Sep 17 00:00:00 2001 From: mfornace Date: Wed, 27 Jan 2021 18:17:09 -0800 Subject: [PATCH 0049/1735] [taskflow] update to 3.0.0 (#15894) * update taskflow portfile to 3.0.0 * update version Co-authored-by: Jonliu1993 <13720414433@163.com> --- ports/taskflow/CONTROL | 2 +- ports/taskflow/portfile.cmake | 4 ++-- versions/baseline.json | 2 +- versions/t-/taskflow.json | 5 +++++ 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/ports/taskflow/CONTROL b/ports/taskflow/CONTROL index 6576a0ad55b9c3..b3e9843c947a73 100644 --- a/ports/taskflow/CONTROL +++ b/ports/taskflow/CONTROL @@ -1,4 +1,4 @@ Source: taskflow -Version: 2.7.0 +Version: 3.0.0 Description: Fast Parallel Tasking Programming Library using Modern C++. Homepage: https://github.com/taskflow/taskflow diff --git a/ports/taskflow/portfile.cmake b/ports/taskflow/portfile.cmake index b1bfdf04fd8453..2a71d1f1a204a8 100644 --- a/ports/taskflow/portfile.cmake +++ b/ports/taskflow/portfile.cmake @@ -2,8 +2,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO taskflow/taskflow - REF v2.7.0 - SHA512 1498739cfe5af9ce66815a82c18edde38a4806d9288c8c7859b8f1621f8353258adfaf80275d4a2294cc3dc09365d8a18219210453aa1b7bb7658abd026b13f2 + REF v3.0.0 + SHA512 5c838ff4436ade1f3755eb6859f724188be2bfcd11baf172413a0bdc18bc516b7b911e6d83a140c95548f844a8c8b908992bdec10b3b6569876a3e3b2d5b821e HEAD_REF master ) diff --git a/versions/baseline.json b/versions/baseline.json index cf68e470aa6764..32ffa27707db5b 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -5633,7 +5633,7 @@ "port-version": 0 }, "taskflow": { - "baseline": "2.7.0", + "baseline": "3.0.0", "port-version": 0 }, "tbb": { diff --git a/versions/t-/taskflow.json b/versions/t-/taskflow.json index 31c01f999800c7..f728c54f7d8ada 100644 --- a/versions/t-/taskflow.json +++ b/versions/t-/taskflow.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "cfa2c53934444b309b97a672883d35da17246d86", + "version-string": "3.0.0", + "port-version": 0 + }, { "git-tree": "efe56bba7e13bcf283b57fed39637a7e4789c1da", "version-string": "2.7.0", From 09fbac728383879fa6fec703c5898f2b6c923591 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jack=C2=B7Boos=C2=B7Yu?= <47264268+JackBoosY@users.noreply.github.com> Date: Wed, 27 Jan 2021 18:18:22 -0800 Subject: [PATCH 0050/1735] [baseline][colmap] Fix find dependency freeimage (#15886) * [colmap] Fix find dependency freeimage * update version record --- ports/colmap/fix-dependency-freeimage.patch | 14 ++++++++++++++ ports/colmap/portfile.cmake | 1 + ports/colmap/vcpkg.json | 1 + versions/baseline.json | 2 +- versions/c-/colmap.json | 5 +++++ 5 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 ports/colmap/fix-dependency-freeimage.patch diff --git a/ports/colmap/fix-dependency-freeimage.patch b/ports/colmap/fix-dependency-freeimage.patch new file mode 100644 index 00000000000000..29b591e34127fa --- /dev/null +++ b/ports/colmap/fix-dependency-freeimage.patch @@ -0,0 +1,14 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b05097c..cdd8ca4 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -96,7 +96,8 @@ find_package(Boost REQUIRED COMPONENTS + + find_package(Eigen3 REQUIRED) + +-find_package(FreeImage REQUIRED) ++find_package(freeimage CONFIG REQUIRED) ++set(FREEIMAGE_LIBRARIES freeimage::FreeImage) + + find_package(Glog REQUIRED) + diff --git a/ports/colmap/portfile.cmake b/ports/colmap/portfile.cmake index 6b9bf3284c4af2..4ab35bbc32a882 100644 --- a/ports/colmap/portfile.cmake +++ b/ports/colmap/portfile.cmake @@ -6,6 +6,7 @@ vcpkg_from_github( REF ${COLMAP_REF} SHA512 9a4b4f2a49891ce8ac32ab1f2e9b859336326bada889e6de49c017a069884bb6c8ab8a2ae430d955e58fc22377c63e8fba9ce80ff959713e2878e29814d44632 HEAD_REF dev + PATCHES fix-dependency-freeimage.patch ) if (NOT TRIPLET_SYSTEM_ARCH STREQUAL "x64" AND ("cuda" IN_LIST FEATURES OR "cuda-redist" IN_LIST FEATURES)) diff --git a/ports/colmap/vcpkg.json b/ports/colmap/vcpkg.json index 6feee3ee05bf51..5a43d64f86129f 100644 --- a/ports/colmap/vcpkg.json +++ b/ports/colmap/vcpkg.json @@ -1,6 +1,7 @@ { "name": "colmap", "version-string": "3.6", + "port-version": 1, "description": "COLMAP is a general-purpose Structure-from-Motion (SfM) and Multi-View Stereo (MVS) pipeline with a graphical and command-line interface. It offers a wide range of features for reconstruction of ordered and unordered image collections. The software is licensed under the new BSD license.", "homepage": "https://colmap.github.io/", "license": "BSD-3-Clause", diff --git a/versions/baseline.json b/versions/baseline.json index 32ffa27707db5b..ebd7234cecfc4e 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -1266,7 +1266,7 @@ }, "colmap": { "baseline": "3.6", - "port-version": 0 + "port-version": 1 }, "comms": { "baseline": "3.1.3", diff --git a/versions/c-/colmap.json b/versions/c-/colmap.json index 712aae6b4f11ad..026bb17632f2fd 100644 --- a/versions/c-/colmap.json +++ b/versions/c-/colmap.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "1f88c10f0bc3819bae7c197375bba335106726f1", + "version-string": "3.6", + "port-version": 1 + }, { "git-tree": "e2d108b4334d41c2cc500c5dfe4c389127a46220", "version-string": "3.6", From 7f050e0be87e7850c3977ef37919624c4004dbb9 Mon Sep 17 00:00:00 2001 From: Adam Johnson Date: Wed, 27 Jan 2021 21:22:43 -0500 Subject: [PATCH 0051/1735] [speex] Add linux and macOS support. (#15855) * [speex] Add linux and macOS support. * [speex] Improve portfile.cmake * update version record Co-authored-by: JackBoosY --- ports/speex/CONTROL | 3 +-- ports/speex/portfile.cmake | 43 ++++++++++++++++++++++++-------------- versions/baseline.json | 2 +- versions/s-/speex.json | 5 +++++ 4 files changed, 34 insertions(+), 19 deletions(-) diff --git a/ports/speex/CONTROL b/ports/speex/CONTROL index 0185b9b07b31e1..41157ff237d203 100644 --- a/ports/speex/CONTROL +++ b/ports/speex/CONTROL @@ -1,6 +1,5 @@ Source: speex Version: 1.2.0 -Port-Version: 7 +Port-Version: 8 Homepage: https://github.com/xiph/speex Description: Speex is an Open Source/Free Software patent-free audio compression format designed for speech. -Supports: !(linux | osx) \ No newline at end of file diff --git a/ports/speex/portfile.cmake b/ports/speex/portfile.cmake index a8431db7627e15..14a11d813f9708 100644 --- a/ports/speex/portfile.cmake +++ b/ports/speex/portfile.cmake @@ -1,4 +1,6 @@ -vcpkg_fail_port_install(ON_TARGET "OSX" "Linux") +if(VCPKG_TARGET_IS_WINDOWS) + list(APPEND PATCHES "0001-make-pkg-config-lib-name-configurable.patch") +endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH @@ -6,26 +8,35 @@ vcpkg_from_github( REF Speex-1.2.0 SHA512 612dfd67a9089f929b7f2a613ed3a1d2fda3d3ec0a4adafe27e2c1f4542de1870b42b8042f0dcb16d52e08313d686cc35b76940776419c775417f5bad18b448f HEAD_REF master - PATCHES - 0001-make-pkg-config-lib-name-configurable.patch + PATCHES ${PATCHES} ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON -) +if(VCPKG_TARGET_IS_WINDOWS) + file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") + + vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON + ) + vcpkg_install_cmake() -vcpkg_install_cmake() + if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/speex/speex.h" + "extern const SpeexMode" + "__declspec(dllimport) extern const SpeexMode" + ) + endif() +else() + vcpkg_configure_make( + SOURCE_PATH ${SOURCE_PATH} + AUTOCONFIG + ) + vcpkg_install_make() -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - file(READ "${CURRENT_PACKAGES_DIR}/include/speex/speex.h" _contents) - string(REPLACE "extern const SpeexMode" "__declspec(dllimport) extern const SpeexMode" _contents "${_contents}") - file(WRITE "${CURRENT_PACKAGES_DIR}/include/speex/speex.h" "${_contents}") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") endif() vcpkg_fixup_pkgconfig() -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/versions/baseline.json b/versions/baseline.json index ebd7234cecfc4e..6edad38c57b9fb 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -5482,7 +5482,7 @@ }, "speex": { "baseline": "1.2.0", - "port-version": 7 + "port-version": 8 }, "speexdsp": { "baseline": "1.2.0", diff --git a/versions/s-/speex.json b/versions/s-/speex.json index a177e0f96ab5ed..2579e431086079 100644 --- a/versions/s-/speex.json +++ b/versions/s-/speex.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "eaa4e7b1a075051d8ba02bc67a89ae035be1b28c", + "version-string": "1.2.0", + "port-version": 8 + }, { "git-tree": "ee8363b22602ef2b0f74d4d43de88ed32457c4ba", "version-string": "1.2.0", From d2cc90fe9c27e02ca1008ebc34a806ea64399727 Mon Sep 17 00:00:00 2001 From: Tom Lankhorst Date: Thu, 28 Jan 2021 03:29:04 +0100 Subject: [PATCH 0052/1735] [libpqxx] Upgrade to v7.3.1 (#15851) * [libpqxx] Upgrade to v7.3.1 * Update version Co-authored-by: Jonliu1993 <13720414433@163.com> --- ports/libpqxx/CONTROL | 2 +- ports/libpqxx/portfile.cmake | 4 ++-- versions/baseline.json | 2 +- versions/l-/libpqxx.json | 5 +++++ 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/ports/libpqxx/CONTROL b/ports/libpqxx/CONTROL index cc022b2ccb6602..8d182f527f9e1f 100644 --- a/ports/libpqxx/CONTROL +++ b/ports/libpqxx/CONTROL @@ -1,5 +1,5 @@ Source: libpqxx -Version: 7.3.0 +Version: 7.3.1 Homepage: https://github.com/jtv/libpqxx Description: The official C++ client API for PostgreSQL Build-Depends: libpq[core] diff --git a/ports/libpqxx/portfile.cmake b/ports/libpqxx/portfile.cmake index c7353611940c8a..f5139a17f4ba80 100644 --- a/ports/libpqxx/portfile.cmake +++ b/ports/libpqxx/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO jtv/libpqxx - REF 58d2a028d1600225ac3a478d6b3a06ba2f0c01f6 # 7.3.0 - SHA512 c0c121e89e8b6669cd049a25c8b647d7cb861868da4daa11fc68e6a3a9384c22b9bc16e09c998389bc769aae36e618097cc93ca9f90822d90f8c0d15871ec1b0 + REF 9e55cea0116febb5c536ed18ede9a7b2c647e631 # 7.3.1 + SHA512 22da46c1c4ef798e7aa2db4f5094f8d4c3a965d755ae72a1cfae6282264c0d974317849f8db0bf34ff6aebd1ede5e5086cf74bff8bc3c6a21b3149a94d30c04f HEAD_REF master ) diff --git a/versions/baseline.json b/versions/baseline.json index 6edad38c57b9fb..bad41c178cdcf1 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3237,7 +3237,7 @@ "port-version": 10 }, "libpqxx": { - "baseline": "7.3.0", + "baseline": "7.3.1", "port-version": 0 }, "libprotobuf-mutator": { diff --git a/versions/l-/libpqxx.json b/versions/l-/libpqxx.json index 78949dc25a36e9..f93cd52e6903b8 100644 --- a/versions/l-/libpqxx.json +++ b/versions/l-/libpqxx.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "66295fd2998b54f3f4fd43702c0f402fef16fccd", + "version-string": "7.3.1", + "port-version": 0 + }, { "git-tree": "8108ba3b6f2f2d5a6f27c1afb5981b778ef184d7", "version-string": "7.3.0", From 3c466eb80c705ec42dbb278351e2ef2f5253b622 Mon Sep 17 00:00:00 2001 From: "Matthias C. M. Troffaes" Date: Thu, 28 Jan 2021 02:29:58 +0000 Subject: [PATCH 0053/1735] [ffmpeg] use nasm instead of yasm (#14547) * [ffmpeg] use nasm instead of yasm * [ffmpeg] bump port version * [ffmpeg] remove old yasm path reference * update baseline * [ffmpeg] fall back to yasm on x86 * [ffmpeg] add comment in portfile about issue with ffmpeg nasm build for future reference * [ffmpeg] update git-tree Co-authored-by: JackBoosY --- ports/ffmpeg/CONTROL | 2 +- ports/ffmpeg/portfile.cmake | 16 ++++++++++++---- versions/baseline.json | 2 +- versions/f-/ffmpeg.json | 5 +++++ 4 files changed, 19 insertions(+), 6 deletions(-) diff --git a/ports/ffmpeg/CONTROL b/ports/ffmpeg/CONTROL index 49db6d023db2bb..c58ac743981866 100644 --- a/ports/ffmpeg/CONTROL +++ b/ports/ffmpeg/CONTROL @@ -1,6 +1,6 @@ Source: ffmpeg Version: 4.3.1 -Port-Version: 9 +Port-Version: 10 Homepage: https://ffmpeg.org Description: a library to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. It supports the most obscure ancient formats up to the cutting edge. No matter if they were designed by some standards committee, the community or a corporation. It is also highly portable: FFmpeg compiles, runs, and passes our testing infrastructure FATE across Linux, Mac OS X, Microsoft Windows, the BSDs, Solaris, etc. under a wide variety of build environments, machine architectures, and configurations. diff --git a/ports/ffmpeg/portfile.cmake b/ports/ffmpeg/portfile.cmake index c41f37c7c12276..3f0b7f457d0f49 100644 --- a/ports/ffmpeg/portfile.cmake +++ b/ports/ffmpeg/portfile.cmake @@ -23,8 +23,17 @@ if (SOURCE_PATH MATCHES " ") message(FATAL_ERROR "Error: ffmpeg will not build with spaces in the path. Please use a directory with no spaces") endif() -vcpkg_find_acquire_program(YASM) -get_filename_component(YASM_EXE_PATH ${YASM} DIRECTORY) + +if(${VCPKG_TARGET_ARCHITECTURE} STREQUAL x86) + # ffmpeg nasm build gives link error on x86, so fall back to yasm + vcpkg_find_acquire_program(YASM) + get_filename_component(YASM_EXE_PATH ${YASM} DIRECTORY) + vcpkg_add_to_path(${YASM_EXE_PATH}) +else() + vcpkg_find_acquire_program(NASM) + get_filename_component(NASM_EXE_PATH ${NASM} DIRECTORY) + vcpkg_add_to_path(${NASM_EXE_PATH}) +endif() if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) #We're assuming that if we're building for Windows we're using MSVC @@ -35,8 +44,7 @@ else() set(LIB_PATH_VAR "LIBRARY_PATH") endif() -set(ENV{PATH} "$ENV{PATH}${VCPKG_HOST_PATH_SEPARATOR}${YASM_EXE_PATH}") -set(OPTIONS "--enable-asm --enable-yasm --disable-doc --enable-debug --enable-runtime-cpudetect") +set(OPTIONS "--enable-asm --enable-x86asm --disable-doc --enable-debug --enable-runtime-cpudetect") if(VCPKG_TARGET_IS_WINDOWS) if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") diff --git a/versions/baseline.json b/versions/baseline.json index bad41c178cdcf1..ef7e997e47a977 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -1878,7 +1878,7 @@ }, "ffmpeg": { "baseline": "4.3.1", - "port-version": 9 + "port-version": 10 }, "ffnvcodec": { "baseline": "10.0.26.0", diff --git a/versions/f-/ffmpeg.json b/versions/f-/ffmpeg.json index a9bdb56b99701e..a2ddd9b009ddeb 100644 --- a/versions/f-/ffmpeg.json +++ b/versions/f-/ffmpeg.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "93395ca1a700faa1c8c6ce04ef4a6dfa26e9fade", + "version-string": "4.3.1", + "port-version": 10 + }, { "git-tree": "f591a51746536b99b4621d39ea7e0dcd8a693016", "version-string": "4.3.1", From 31608174fa4ab844583a01c12f1fd4033a079846 Mon Sep 17 00:00:00 2001 From: Be Date: Thu, 28 Jan 2021 13:43:14 -0800 Subject: [PATCH 0054/1735] set CMake policy CMP0087 for X_VCPKG_APPLOCAL_DEPS_INSTALL (#15874) Without this, X_VCPKG_APPLOCAL_DEPS_INSTALL does not work and CMake prints this warning at the configure step: CMake Warning (dev) in CMakeLists.txt: Policy CMP0087 is not set: Install CODE|SCRIPT allow the use of generator expressions. Run "cmake --help-policy CMP0087" for policy details. Use the cmake_policy command to set the policy and suppress this warning. This warning is for project developers. Use -Wno-dev to suppress it. https://cmake.org/cmake/help/latest/policy/CMP0087.html --- scripts/buildsystems/vcpkg.cmake | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/buildsystems/vcpkg.cmake b/scripts/buildsystems/vcpkg.cmake index 2969209399cba4..f4fa8a64f8ef4e 100644 --- a/scripts/buildsystems/vcpkg.cmake +++ b/scripts/buildsystems/vcpkg.cmake @@ -529,6 +529,10 @@ function(x_vcpkg_install_local_dependencies) foreach(TARGET IN LISTS __VCPKG_APPINSTALL_TARGETS) get_target_property(TARGETTYPE ${TARGET} TYPE) if(NOT TARGETTYPE STREQUAL "INTERFACE_LIBRARY") + # Install CODE|SCRIPT allow the use of generator expressions + if(POLICY CMP0087) + cmake_policy(SET CMP0087 NEW) + endif() install(CODE "message(\"-- Installing app dependencies for ${TARGET}...\") execute_process(COMMAND \"${_VCPKG_POWERSHELL_PATH}\" -noprofile -executionpolicy Bypass -file \"${_VCPKG_TOOLCHAIN_DIR}/msbuild/applocal.ps1\" -targetBinary \"\${CMAKE_INSTALL_PREFIX}/${__VCPKG_APPINSTALL_DESTINATION}/$\" From 55466813897a75aa443c5dfe6e32fb66c56847d1 Mon Sep 17 00:00:00 2001 From: Radames Cruz Date: Thu, 28 Jan 2021 13:49:30 -0800 Subject: [PATCH 0055/1735] Update to SEAL 3.6.1 (#15015) --- ports/seal/CONTROL | 7 ++++++- ports/seal/portfile.cmake | 8 ++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/ports/seal/CONTROL b/ports/seal/CONTROL index 36f701e8a3d2e5..060d457b6e9791 100644 --- a/ports/seal/CONTROL +++ b/ports/seal/CONTROL @@ -1,7 +1,8 @@ Source: seal -Version: 3.6.0 +Version: 3.6.1 Homepage: https://github.com/microsoft/SEAL Description: Microsoft SEAL is an easy-to-use and powerful homomorphic encryption library. +Supports: !windows | (windows & static) Default-Features: ms-gsl, zlib, zstd Feature: ms-gsl @@ -15,3 +16,7 @@ Description: Use zlib for compressed serialization Feature: zstd Build-Depends: zstd Description: Use zstd for compressed serialization + +Feature: no-throw-tran +Build-Depends: +Description: Do not throw when operating on transparent ciphertexts diff --git a/ports/seal/portfile.cmake b/ports/seal/portfile.cmake index 4b0fc342cd2b44..d3bae38565e96a 100644 --- a/ports/seal/portfile.cmake +++ b/ports/seal/portfile.cmake @@ -3,15 +3,19 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO microsoft/SEAL - REF 3eea4353d4768c79899a67ca4d36bfc3005d5412 - SHA512 ee3d8926f4a26c8f67a9e79fe5da9883195d2e9f9fffa47bb9c3526150d1e0c179968af7222ca280574921feb3c45200da1ca4dc0b012b82aa57dbdef26dcc0a + REF d6040632780981f3ab61969025d333d394eb2aeb + SHA512 f93c636eb9f3dd4c3b626b126aeed669da506e1e17eba172f6d3193ff2561b4cb4fc19a30b46792afa04848f1f4d73e276cdc915b41ec64bc9ea6d02550af110 HEAD_REF master ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES ms-gsl SEAL_USE_MSGSL zlib SEAL_USE_ZLIB zstd SEAL_USE_ZSTD + + INVERTED_FEATURES + no-throw-tran SEAL_THROW_ON_TRANSPARENT_CIPHERTEXT ) vcpkg_configure_cmake( From 8360db32083b8283fff96d177cbd80edadbdf35b Mon Sep 17 00:00:00 2001 From: Alex Pozhylenkov Date: Fri, 29 Jan 2021 01:00:25 +0200 Subject: [PATCH 0056/1735] update tests (#15449) --- toolsrc/src/vcpkg-test/paragraph.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/toolsrc/src/vcpkg-test/paragraph.cpp b/toolsrc/src/vcpkg-test/paragraph.cpp index 356ee88f8bba06..cb3f8e6207b502 100644 --- a/toolsrc/src/vcpkg-test/paragraph.cpp +++ b/toolsrc/src/vcpkg-test/paragraph.cpp @@ -60,6 +60,7 @@ TEST_CASE ("SourceParagraph construct invalid", "[paragraph]") }}); REQUIRE(!m_pgh.has_value()); + REQUIRE(m_pgh.error()->has_error()); m_pgh = test_parse_control_file({{ {"Source", "zlib"}, @@ -68,6 +69,7 @@ TEST_CASE ("SourceParagraph construct invalid", "[paragraph]") }}); REQUIRE(!m_pgh.has_value()); + REQUIRE(m_pgh.error()->has_error()); m_pgh = test_parse_control_file({ { @@ -81,6 +83,16 @@ TEST_CASE ("SourceParagraph construct invalid", "[paragraph]") }); REQUIRE(!m_pgh.has_value()); + REQUIRE(m_pgh.error()->has_error()); + + // invalid field`s name + m_pgh = test_parse_control_file({{ + {"Surce", "zlib"}, + {"Vursion", "1.2.8"}, + }}); + + REQUIRE(!m_pgh.has_value()); + REQUIRE(m_pgh.error()->has_error()); } TEST_CASE ("SourceParagraph construct maximum", "[paragraph]") From c5bffbd985a40efa10213143bbb6c3617ba19a7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jack=C2=B7Boos=C2=B7Yu?= <47264268+JackBoosY@users.noreply.github.com> Date: Thu, 28 Jan 2021 18:47:13 -0800 Subject: [PATCH 0057/1735] [seal] Update verson record (#15933) --- versions/baseline.json | 2 +- versions/s-/seal.json | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/versions/baseline.json b/versions/baseline.json index ef7e997e47a977..d7d16773dd94f0 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -5241,7 +5241,7 @@ "port-version": 0 }, "seal": { - "baseline": "3.6.0", + "baseline": "3.6.1", "port-version": 0 }, "secp256k1": { diff --git a/versions/s-/seal.json b/versions/s-/seal.json index d15dc33bc34698..1fbf01d50b5146 100644 --- a/versions/s-/seal.json +++ b/versions/s-/seal.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "7f0e988ad7a2c1b8c2c0d39f9954d1782886dd93", + "version-string": "3.6.1", + "port-version": 0 + }, { "git-tree": "df71d4b4ab6cc7c95c3c5eaec90cc413d508b1ea", "version-string": "3.6.0", From 2eece71f53de6f9a83d2b686b8adceb40100a134 Mon Sep 17 00:00:00 2001 From: Be Date: Thu, 28 Jan 2021 19:21:46 -0800 Subject: [PATCH 0058/1735] [libkeyfinder] add new port with libkeyfinder 2.2.4 (#15878) --- ports/libkeyfinder/portfile.cmake | 24 ++++++++++++++++++++++++ ports/libkeyfinder/vcpkg.json | 18 ++++++++++++++++++ versions/baseline.json | 4 ++++ versions/l-/libkeyfinder.json | 9 +++++++++ 4 files changed, 55 insertions(+) create mode 100644 ports/libkeyfinder/portfile.cmake create mode 100644 ports/libkeyfinder/vcpkg.json create mode 100644 versions/l-/libkeyfinder.json diff --git a/ports/libkeyfinder/portfile.cmake b/ports/libkeyfinder/portfile.cmake new file mode 100644 index 00000000000000..0eba972be2ebce --- /dev/null +++ b/ports/libkeyfinder/portfile.cmake @@ -0,0 +1,24 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO mixxxdj/libkeyfinder + REF v2.2.4 + SHA512 6673b9a81dbfa3693fc4e7af4e5fc0f351f0c60b00fdafeb9e3437e2f77b5fec7d1e78e3989ff1daca72770a1d3cdbe3837508718b8e8aba3ac3f3d56af81a56 + HEAD_REF main +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + test BUILD_TESTING +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS ${FEATURE_OPTIONS} +) + +vcpkg_install_cmake() +vcpkg_copy_pdbs() +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/KeyFinder TARGET_PATH share/KeyFinder) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/libkeyfinder/vcpkg.json b/ports/libkeyfinder/vcpkg.json new file mode 100644 index 00000000000000..c1fa0a6a83ef0a --- /dev/null +++ b/ports/libkeyfinder/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "libkeyfinder", + "version-string": "2.2.4", + "description": "Musical key detection for digital audio", + "homepage": "https://github.com/mixxxdj/libkeyfinder", + "license": "GPL-3.0-or-later", + "dependencies": [ + "fftw3" + ], + "features": { + "test": { + "description": "Build tests", + "dependencies": [ + "catch2" + ] + } + } +} diff --git a/versions/baseline.json b/versions/baseline.json index d7d16773dd94f0..31bcaa0136e78d 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3052,6 +3052,10 @@ "baseline": "0.6.0", "port-version": 0 }, + "libkeyfinder": { + "baseline": "2.2.4", + "port-version": 0 + }, "libkml": { "baseline": "1.3.0", "port-version": 6 diff --git a/versions/l-/libkeyfinder.json b/versions/l-/libkeyfinder.json new file mode 100644 index 00000000000000..b3738e716ab195 --- /dev/null +++ b/versions/l-/libkeyfinder.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "0ea7e74c79c626ed0185ee546a684293663cf651", + "version-string": "2.2.4", + "port-version": 0 + } + ] +} From eb044d1eb5250a79c94c86f6157e034627f7628b Mon Sep 17 00:00:00 2001 From: Stefano Sinigardi Date: Fri, 29 Jan 2021 04:23:57 +0100 Subject: [PATCH 0059/1735] [OpenCV] bump to 4.5.1 and to 3.4.13 (#15859) * [OpenCV] bump to 4.5.1 and to 3.4.13 * [OpenCV] fix patches * [OpenCV] fix hdf5 integration * [OpenCV] devendor quirc * fix quirc for downstream ports * [quirc] fix target export * update version refs * [OpenMVG] fix regressions with new opencv * update version refs * fix quirc mismatch * update version refs --- ports/opencv/vcpkg.json | 3 +- ports/opencv3/0002-install-options.patch | 8 +- .../0003-force-package-requirements.patch | 72 +++++------------ .../0004-add-missing-stdexcept-include.patch | 12 --- ports/opencv3/0004-fix-eigen.patch | 13 +++ ...{0009-fix-uwp.patch => 0006-fix-uwp.patch} | 4 +- ports/opencv3/0007-fix-hdf5.patch | 30 +++++++ ...-quirc.patch => 0008-devendor-quirc.patch} | 52 ++++++------ ports/opencv3/portfile.cmake | 13 +-- ports/opencv3/vcpkg.json | 4 +- ports/opencv4/0002-install-options.patch | 8 +- .../0003-force-package-requirements.patch | 81 +++++++------------ ports/opencv4/0004-fix-policy-CMP0057.patch | 2 +- .../0005-add-missing-stdexcept-include.patch | 12 --- ports/opencv4/0005-fix-eigen.patch | 13 +++ .../0006-fix-glog-abbreviated-severity.patch | 12 --- ...{0009-fix-uwp.patch => 0006-fix-uwp.patch} | 4 +- ports/opencv4/0007-fix-hdf5.patch | 30 +++++++ ...-quirc.patch => 0008-devendor-quirc.patch} | 52 ++++++------ .../0010-fix-interface_link_libraries.patch | 22 ----- ports/opencv4/portfile.cmake | 17 ++-- ports/opencv4/vcpkg.json | 3 +- ports/openmvg/CONTROL | 1 + ports/openmvg/build_fixes.patch | 19 ++++- versions/baseline.json | 12 +-- versions/o-/opencv.json | 5 ++ versions/o-/opencv3.json | 7 +- versions/o-/opencv4.json | 7 +- versions/o-/openmvg.json | 5 ++ 29 files changed, 261 insertions(+), 262 deletions(-) delete mode 100644 ports/opencv3/0004-add-missing-stdexcept-include.patch create mode 100644 ports/opencv3/0004-fix-eigen.patch rename ports/opencv3/{0009-fix-uwp.patch => 0006-fix-uwp.patch} (85%) create mode 100644 ports/opencv3/0007-fix-hdf5.patch rename ports/opencv3/{0010-devendor-quirc.patch => 0008-devendor-quirc.patch} (90%) delete mode 100644 ports/opencv4/0005-add-missing-stdexcept-include.patch create mode 100644 ports/opencv4/0005-fix-eigen.patch delete mode 100644 ports/opencv4/0006-fix-glog-abbreviated-severity.patch rename ports/opencv4/{0009-fix-uwp.patch => 0006-fix-uwp.patch} (85%) create mode 100644 ports/opencv4/0007-fix-hdf5.patch rename ports/opencv4/{0011-devendor-quirc.patch => 0008-devendor-quirc.patch} (82%) delete mode 100644 ports/opencv4/0010-fix-interface_link_libraries.patch diff --git a/ports/opencv/vcpkg.json b/ports/opencv/vcpkg.json index 372977b53c5114..9268e4e2c0ef0d 100644 --- a/ports/opencv/vcpkg.json +++ b/ports/opencv/vcpkg.json @@ -1,6 +1,6 @@ { "name": "opencv", - "version": "4.5.0", + "version": "4.5.1", "description": "Computer vision library", "homepage": "https://github.com/opencv/opencv", "dependencies": [ @@ -13,6 +13,7 @@ "dnn", "jpeg", "png", + "quirc", "tiff", "webp" ], diff --git a/ports/opencv3/0002-install-options.patch b/ports/opencv3/0002-install-options.patch index 1657579fa76960..431e02bf6124d2 100644 --- a/ports/opencv3/0002-install-options.patch +++ b/ports/opencv3/0002-install-options.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index d143a7a..15eb053 100644 +index fcb4a1d..5810b0c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -602,7 +602,7 @@ endif() +@@ -607,7 +607,7 @@ endif() ocv_cmake_hook(POST_CMAKE_BUILD_OPTIONS) # --- Python Support --- @@ -12,10 +12,10 @@ index d143a7a..15eb053 100644 endif() diff --git a/cmake/OpenCVCompilerOptions.cmake b/cmake/OpenCVCompilerOptions.cmake -index 9ac671d..b14ce09 100644 +index 8a3dcdb..b8b3bae 100644 --- a/cmake/OpenCVCompilerOptions.cmake +++ b/cmake/OpenCVCompilerOptions.cmake -@@ -263,7 +263,6 @@ if(MSVC) +@@ -262,7 +262,6 @@ if(MSVC) #endif() if(BUILD_WITH_DEBUG_INFO) diff --git a/ports/opencv3/0003-force-package-requirements.patch b/ports/opencv3/0003-force-package-requirements.patch index 7f1b0c906f23f3..e45ced441beaff 100644 --- a/ports/opencv3/0003-force-package-requirements.patch +++ b/ports/opencv3/0003-force-package-requirements.patch @@ -1,44 +1,44 @@ diff --git a/cmake/OpenCVFindLibsGrfmt.cmake b/cmake/OpenCVFindLibsGrfmt.cmake -index fcf716b..f3951e3 100644 +index f99bb33..5407f70 100644 --- a/cmake/OpenCVFindLibsGrfmt.cmake +++ b/cmake/OpenCVFindLibsGrfmt.cmake -@@ -6,7 +6,7 @@ - if(BUILD_ZLIB) +@@ -7,7 +7,7 @@ if(BUILD_ZLIB) ocv_clear_vars(ZLIB_FOUND) else() + ocv_clear_internal_cache_vars(ZLIB_LIBRARY ZLIB_INCLUDE_DIR) - find_package(ZLIB "${MIN_VER_ZLIB}") + find_package(ZLIB "${MIN_VER_ZLIB}" REQUIRED) if(ZLIB_FOUND AND ANDROID) if(ZLIB_LIBRARIES MATCHES "/usr/(lib|lib32|lib64)/libz.so$") set(ZLIB_LIBRARIES z) -@@ -30,7 +30,7 @@ if(WITH_JPEG) - if(BUILD_JPEG) +@@ -33,7 +33,7 @@ if(WITH_JPEG) ocv_clear_vars(JPEG_FOUND) else() + ocv_clear_internal_cache_vars(JPEG_LIBRARY JPEG_INCLUDE_DIR) - include(FindJPEG) + find_package(JPEG REQUIRED) endif() if(NOT JPEG_FOUND) -@@ -74,7 +74,7 @@ if(WITH_TIFF) - if(BUILD_TIFF) +@@ -79,7 +79,7 @@ if(WITH_TIFF) ocv_clear_vars(TIFF_FOUND) else() + ocv_clear_internal_cache_vars(TIFF_LIBRARY TIFF_INCLUDE_DIR) - include(FindTIFF) + find_package(TIFF REQUIRED) if(TIFF_FOUND) ocv_parse_header("${TIFF_INCLUDE_DIR}/tiff.h" TIFF_VERSION_LINES TIFF_VERSION_CLASSIC TIFF_VERSION_BIG TIFF_VERSION TIFF_BIGTIFF_VERSION) endif() -@@ -117,7 +117,7 @@ if(WITH_WEBP) - if(BUILD_WEBP) +@@ -123,7 +123,7 @@ if(WITH_WEBP) ocv_clear_vars(WEBP_FOUND WEBP_LIBRARY WEBP_LIBRARIES WEBP_INCLUDE_DIR) else() + ocv_clear_internal_cache_vars(WEBP_LIBRARY WEBP_INCLUDE_DIR) - include(cmake/OpenCVFindWebP.cmake) + find_package(WebP REQUIRED) if(WEBP_FOUND) set(HAVE_WEBP 1) endif() -@@ -158,7 +158,7 @@ if(WITH_JASPER) +@@ -164,7 +164,7 @@ if(WITH_JASPER) if(BUILD_JASPER) ocv_clear_vars(JASPER_FOUND) else() @@ -47,75 +47,39 @@ index fcf716b..f3951e3 100644 endif() if(NOT JASPER_FOUND) -@@ -182,7 +182,7 @@ if(WITH_PNG) - if(BUILD_PNG) +@@ -189,7 +189,7 @@ if(WITH_PNG) ocv_clear_vars(PNG_FOUND) else() + ocv_clear_internal_cache_vars(PNG_LIBRARY PNG_INCLUDE_DIR) - include(FindPNG) + find_package(PNG REQUIRED) if(PNG_FOUND) include(CheckIncludeFile) check_include_file("${PNG_PNG_INCLUDE_DIR}/libpng/png.h" HAVE_LIBPNG_PNG_H) -@@ -213,7 +213,7 @@ endif() - if(WITH_OPENEXR) +@@ -221,7 +221,7 @@ if(WITH_OPENEXR) ocv_clear_vars(HAVE_OPENEXR) if(NOT BUILD_OPENEXR) + ocv_clear_internal_cache_vars(OPENEXR_INCLUDE_PATHS OPENEXR_LIBRARIES OPENEXR_ILMIMF_LIBRARY OPENEXR_VERSION) - include("${OpenCV_SOURCE_DIR}/cmake/OpenCVFindOpenEXR.cmake") + find_package(OpenEXR REQUIRED) endif() if(OPENEXR_FOUND) -@@ -231,7 +231,7 @@ endif() +@@ -239,7 +239,7 @@ endif() # --- GDAL (optional) --- if(WITH_GDAL) - find_package(GDAL QUIET) -+ find_package(GDAL REQUIRED) ++ find_package(GDAL REQUIRED) if(NOT GDAL_FOUND) set(HAVE_GDAL NO) -@@ -243,7 +243,7 @@ if(WITH_GDAL) +@@ -251,7 +251,7 @@ if(WITH_GDAL) endif() - if (WITH_GDCM) + if(WITH_GDCM) - find_package(GDCM QUIET) + find_package(GDCM REQUIRED) if(NOT GDCM_FOUND) set(HAVE_GDCM NO) ocv_clear_vars(GDCM_VERSION GDCM_LIBRARIES) -diff --git a/cmake/OpenCVFindLibsPerf.cmake b/cmake/OpenCVFindLibsPerf.cmake -index b9b1a95..596c152 100644 ---- a/cmake/OpenCVFindLibsPerf.cmake -+++ b/cmake/OpenCVFindLibsPerf.cmake -@@ -51,14 +51,9 @@ endif(WITH_CUDA) - - # --- Eigen --- - if(WITH_EIGEN AND NOT HAVE_EIGEN) -- find_package(Eigen3 QUIET) -+ find_package(Eigen3 REQUIRED) - - if(Eigen3_FOUND) -- if(TARGET Eigen3::Eigen) -- # Use Eigen3 imported target if possible -- list(APPEND OPENCV_LINKER_LIBS Eigen3::Eigen) -- set(HAVE_EIGEN 1) -- else() - if(DEFINED EIGEN3_INCLUDE_DIRS) - set(EIGEN_INCLUDE_PATH ${EIGEN3_INCLUDE_DIRS}) - set(HAVE_EIGEN 1) -@@ -66,7 +61,6 @@ if(WITH_EIGEN AND NOT HAVE_EIGEN) - set(EIGEN_INCLUDE_PATH ${EIGEN3_INCLUDE_DIR}) - set(HAVE_EIGEN 1) - endif() -- endif() - if(HAVE_EIGEN) - if(DEFINED EIGEN3_WORLD_VERSION) # CMake module - set(EIGEN_WORLD_VERSION ${EIGEN3_WORLD_VERSION}) -@@ -77,6 +71,7 @@ if(WITH_EIGEN AND NOT HAVE_EIGEN) - set(EIGEN_MAJOR_VERSION ${EIGEN3_VERSION_MINOR}) - set(EIGEN_MINOR_VERSION ${EIGEN3_VERSION_PATCH}) - endif() -+ ocv_include_directories(${EIGEN_INCLUDE_PATH}) - endif() - endif() - diff --git a/ports/opencv3/0004-add-missing-stdexcept-include.patch b/ports/opencv3/0004-add-missing-stdexcept-include.patch deleted file mode 100644 index 2a7d90ce071cf8..00000000000000 --- a/ports/opencv3/0004-add-missing-stdexcept-include.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/modules/cvv/src/util/observer_ptr.hpp b/modules/cvv/src/util/observer_ptr.hpp -index fef3fea..68d1a80 100644 ---- a/modules/cvv/src/util/observer_ptr.hpp -+++ b/modules/cvv/src/util/observer_ptr.hpp -@@ -11,6 +11,7 @@ - #include //size_t - #include // [u]intXX_t - #include // since some people like to forget that one -+#include - - namespace cvv - { diff --git a/ports/opencv3/0004-fix-eigen.patch b/ports/opencv3/0004-fix-eigen.patch new file mode 100644 index 00000000000000..ec8f6a489ca046 --- /dev/null +++ b/ports/opencv3/0004-fix-eigen.patch @@ -0,0 +1,13 @@ +diff --git a/cmake/OpenCVFindLibsPerf.cmake b/cmake/OpenCVFindLibsPerf.cmake +index 3753084..0aeb31a 100644 +--- a/cmake/OpenCVFindLibsPerf.cmake ++++ b/cmake/OpenCVFindLibsPerf.cmake +@@ -55,7 +55,7 @@ if(WITH_EIGEN AND NOT HAVE_EIGEN) + OR NOT (CMAKE_VERSION VERSION_LESS "3.0.0") # Eigen3Targets.cmake required CMake 3.0.0+ + ) AND NOT OPENCV_SKIP_EIGEN_FIND_PACKAGE_CONFIG + ) +- find_package(Eigen3 CONFIG QUIET) # Ceres 2.0.0 CMake scripts doesn't work with CMake's FindEigen3.cmake module (due to missing EIGEN3_VERSION_STRING) ++ find_package(Eigen3 CONFIG REQUIRED) # Ceres 2.0.0 CMake scripts doesn't work with CMake's FindEigen3.cmake module (due to missing EIGEN3_VERSION_STRING) + endif() + if(NOT Eigen3_FOUND) + find_package(Eigen3 QUIET) diff --git a/ports/opencv3/0009-fix-uwp.patch b/ports/opencv3/0006-fix-uwp.patch similarity index 85% rename from ports/opencv3/0009-fix-uwp.patch rename to ports/opencv3/0006-fix-uwp.patch index 9968d869170e53..551372950bd6ab 100644 --- a/ports/opencv3/0009-fix-uwp.patch +++ b/ports/opencv3/0006-fix-uwp.patch @@ -1,8 +1,8 @@ diff --git a/cmake/OpenCVModule.cmake b/cmake/OpenCVModule.cmake -index 10ee406..73f4af2 100644 +index efb6ca8..8ca8609 100644 --- a/cmake/OpenCVModule.cmake +++ b/cmake/OpenCVModule.cmake -@@ -1183,7 +1183,7 @@ function(ocv_add_perf_tests) +@@ -1184,7 +1184,7 @@ function(ocv_add_perf_tests) set_target_properties(${the_target} PROPERTIES FOLDER "tests performance") endif() diff --git a/ports/opencv3/0007-fix-hdf5.patch b/ports/opencv3/0007-fix-hdf5.patch new file mode 100644 index 00000000000000..de81c79b2cee4e --- /dev/null +++ b/ports/opencv3/0007-fix-hdf5.patch @@ -0,0 +1,30 @@ +diff --git a/modules/hdf/CMakeLists.txt b/modules/hdf/CMakeLists.txt +index 2a1ae68..e40a192 100644 +--- a/modules/hdf/CMakeLists.txt ++++ b/modules/hdf/CMakeLists.txt +@@ -1,25 +1,8 @@ + set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}) + +-if(WIN32) +- # windows cmake internal lookups are broken for now +- # will lookup for headers and shared libs given HDF_DIR env +- find_path(HDF5_INCLUDE_DIRS hdf5.h HINTS "$ENV{HDF5_DIR}\\..\\include") +- find_library(HDF5_C_LIBRARY NAMES hdf5 HINTS "$ENV{HDF5_DIR}\\..\\lib") +- if(HDF5_INCLUDE_DIRS AND HDF5_C_LIBRARY) +- set(HDF5_FOUND "YES") +- set(HDF5_LIBRARIES ${HDF5_C_LIBRARY}) +- mark_as_advanced(HDF5_LIBRARIES) +- mark_as_advanced(HDF5_C_LIBRARY) +- mark_as_advanced(HDF5_INCLUDE_DIRS) +- add_definitions(-DH5_BUILT_AS_DYNAMIC_LIB -D_HDF5USEDLL_) +- else() +- set(HDF5_FOUND "NO") +- endif() +-else() + if(NOT CMAKE_CROSSCOMPILING) # iOS build should not reuse OSX package + find_package(HDF5) + endif() +-endif() + + if(NOT HDF5_FOUND) + ocv_module_disable(hdf) # no return diff --git a/ports/opencv3/0010-devendor-quirc.patch b/ports/opencv3/0008-devendor-quirc.patch similarity index 90% rename from ports/opencv3/0010-devendor-quirc.patch rename to ports/opencv3/0008-devendor-quirc.patch index 1d2d7ccb7de45c..b77b1780e8d979 100644 --- a/ports/opencv3/0010-devendor-quirc.patch +++ b/ports/opencv3/0008-devendor-quirc.patch @@ -1,26 +1,26 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 15eb053..58a9585 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -766,7 +766,7 @@ if(WITH_OPENVX) - endif() - - if(WITH_QUIRC) -- add_subdirectory(3rdparty/quirc) -+ find_package(quirc CONFIG REQUIRED) - set(HAVE_QUIRC TRUE) - endif() - # ---------------------------------------------------------------------------- -diff --git a/modules/objdetect/CMakeLists.txt b/modules/objdetect/CMakeLists.txt -index 414e578..4f26d75 100644 ---- a/modules/objdetect/CMakeLists.txt -+++ b/modules/objdetect/CMakeLists.txt -@@ -2,7 +2,5 @@ set(the_description "Object Detection") - ocv_define_module(objdetect opencv_core opencv_imgproc opencv_calib3d WRAP java python js) - - if(HAVE_QUIRC) -- get_property(QUIRC_INCLUDE GLOBAL PROPERTY QUIRC_INCLUDE_DIR) -- ocv_include_directories(${QUIRC_INCLUDE}) -- ocv_target_link_libraries(${the_module} quirc) -+ ocv_target_link_libraries(${the_module} quirc::quirc) - endif() +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5810b0c..04315e3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -771,7 +771,7 @@ if(WITH_OPENVX) + endif() + + if(WITH_QUIRC) +- add_subdirectory(3rdparty/quirc) ++ find_package(quirc CONFIG REQUIRED) + set(HAVE_QUIRC TRUE) + endif() + # ---------------------------------------------------------------------------- +diff --git a/modules/objdetect/CMakeLists.txt b/modules/objdetect/CMakeLists.txt +index 414e578..4f26d75 100644 +--- a/modules/objdetect/CMakeLists.txt ++++ b/modules/objdetect/CMakeLists.txt +@@ -2,7 +2,5 @@ set(the_description "Object Detection") + ocv_define_module(objdetect opencv_core opencv_imgproc opencv_calib3d WRAP java python js) + + if(HAVE_QUIRC) +- get_property(QUIRC_INCLUDE GLOBAL PROPERTY QUIRC_INCLUDE_DIR) +- ocv_include_directories(${QUIRC_INCLUDE}) +- ocv_target_link_libraries(${the_module} quirc) ++ ocv_target_link_libraries(${the_module} quirc::quirc) + endif() diff --git a/ports/opencv3/portfile.cmake b/ports/opencv3/portfile.cmake index 4345a1c2fd603d..8b62f7ddc47f1c 100644 --- a/ports/opencv3/portfile.cmake +++ b/ports/opencv3/portfile.cmake @@ -6,21 +6,22 @@ if (EXISTS "${CURRENT_INSTALLED_DIR}/share/opencv4") message(FATAL_ERROR "OpenCV 4 is installed, please uninstall and try again:\n vcpkg remove opencv4") endif() -set(OPENCV_VERSION "3.4.12") +set(OPENCV_VERSION "3.4.13") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO opencv/opencv REF ${OPENCV_VERSION} - SHA512 e69ff4869a8128b7d2a0537d198ec7f287fb821a8965df26339bec662da1888860941f50a269db7693309b9861f986c219288bb5856de76a6c7bc4c0a7026bee + SHA512 ec87b10534b9187c5ac2eea498c05c73bceab08afaed93b5a117ed34d1eeeb0ffc45901642bebf8f55126fd49ec78d731fc61debe6b40d8642f1323b5dbbeacf HEAD_REF master PATCHES 0001-disable-downloading.patch 0002-install-options.patch 0003-force-package-requirements.patch + 0004-fix-eigen.patch 0005-fix-vtk9.patch - 0009-fix-uwp.patch - 0010-devendor-quirc.patch + 0006-fix-uwp.patch + 0008-devendor-quirc.patch ) if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") @@ -113,10 +114,10 @@ if("contrib" IN_LIST FEATURES) OUT_SOURCE_PATH CONTRIB_SOURCE_PATH REPO opencv/opencv_contrib REF ${OPENCV_VERSION} - SHA512 0191b1d49d5a50195ed94951c570da03dc33677b682e61a65b34d40f355c36a58441034730ea7eca78dcb4af4c821983754250f93fdf3adb2b4a20e71806eb03 + SHA512 49f0aed8e07a443f354859a16c8de5ceae26560f141721ae4beb0d5fcc5b24b755ee313519e159b1a5b6ba125dcca8584f2a515e0ac96a8c9c36bb11ac6b3375 HEAD_REF master PATCHES - 0004-add-missing-stdexcept-include.patch + 0007-fix-hdf5.patch ) set(BUILD_WITH_CONTRIB_FLAG "-DOPENCV_EXTRA_MODULES_PATH=${CONTRIB_SOURCE_PATH}/modules") diff --git a/ports/opencv3/vcpkg.json b/ports/opencv3/vcpkg.json index c977a01329a7f1..42041c4c12ca73 100644 --- a/ports/opencv3/vcpkg.json +++ b/ports/opencv3/vcpkg.json @@ -1,7 +1,6 @@ { "name": "opencv3", - "version": "3.4.12", - "port-version": 1, + "version": "3.4.13", "description": "computer vision library", "homepage": "https://github.com/opencv/opencv", "dependencies": [ @@ -11,6 +10,7 @@ "dnn", "jpeg", "png", + "quirc", "tiff", "webp" ], diff --git a/ports/opencv4/0002-install-options.patch b/ports/opencv4/0002-install-options.patch index 533dd8354e4db5..055719ca452230 100644 --- a/ports/opencv4/0002-install-options.patch +++ b/ports/opencv4/0002-install-options.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 4350b2f..89521b1 100644 +index 45fc6de..9cd2b4e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -603,7 +603,7 @@ endif() +@@ -607,7 +607,7 @@ endif() ocv_cmake_hook(POST_CMAKE_BUILD_OPTIONS) # --- Python Support --- @@ -12,10 +12,10 @@ index 4350b2f..89521b1 100644 endif() diff --git a/cmake/OpenCVCompilerOptions.cmake b/cmake/OpenCVCompilerOptions.cmake -index 080c78c..616ce64 100644 +index 5e3c056..19f5795 100644 --- a/cmake/OpenCVCompilerOptions.cmake +++ b/cmake/OpenCVCompilerOptions.cmake -@@ -265,7 +265,6 @@ if(MSVC) +@@ -264,7 +264,6 @@ if(MSVC) #endif() if(BUILD_WITH_DEBUG_INFO) diff --git a/ports/opencv4/0003-force-package-requirements.patch b/ports/opencv4/0003-force-package-requirements.patch index c28dd5d9fe89b4..cfbd8feb61400f 100644 --- a/ports/opencv4/0003-force-package-requirements.patch +++ b/ports/opencv4/0003-force-package-requirements.patch @@ -1,44 +1,53 @@ diff --git a/cmake/OpenCVFindLibsGrfmt.cmake b/cmake/OpenCVFindLibsGrfmt.cmake -index 22e20b6..5d1431c 100644 +index 2e4e4af..8cd9c75 100644 --- a/cmake/OpenCVFindLibsGrfmt.cmake +++ b/cmake/OpenCVFindLibsGrfmt.cmake -@@ -6,7 +6,7 @@ - if(BUILD_ZLIB) +@@ -7,7 +7,7 @@ if(BUILD_ZLIB) ocv_clear_vars(ZLIB_FOUND) else() + ocv_clear_internal_cache_vars(ZLIB_LIBRARY ZLIB_INCLUDE_DIR) - find_package(ZLIB "${MIN_VER_ZLIB}") + find_package(ZLIB "${MIN_VER_ZLIB}" REQUIRED) if(ZLIB_FOUND AND ANDROID) if(ZLIB_LIBRARIES MATCHES "/usr/(lib|lib32|lib64)/libz.so$") set(ZLIB_LIBRARIES z) -@@ -30,7 +30,7 @@ if(WITH_JPEG) - if(BUILD_JPEG) +@@ -33,7 +33,7 @@ if(WITH_JPEG) ocv_clear_vars(JPEG_FOUND) else() + ocv_clear_internal_cache_vars(JPEG_LIBRARY JPEG_INCLUDE_DIR) - include(FindJPEG) + find_package(JPEG REQUIRED) endif() if(NOT JPEG_FOUND) -@@ -74,7 +74,7 @@ if(WITH_TIFF) - if(BUILD_TIFF) +@@ -79,7 +79,7 @@ if(WITH_TIFF) ocv_clear_vars(TIFF_FOUND) else() + ocv_clear_internal_cache_vars(TIFF_LIBRARY TIFF_INCLUDE_DIR) - include(FindTIFF) + find_package(TIFF REQUIRED) if(TIFF_FOUND) ocv_parse_header("${TIFF_INCLUDE_DIR}/tiff.h" TIFF_VERSION_LINES TIFF_VERSION_CLASSIC TIFF_VERSION_BIG TIFF_VERSION TIFF_BIGTIFF_VERSION) endif() -@@ -117,7 +117,7 @@ if(WITH_WEBP) - if(BUILD_WEBP) +@@ -123,7 +123,7 @@ if(WITH_WEBP) ocv_clear_vars(WEBP_FOUND WEBP_LIBRARY WEBP_LIBRARIES WEBP_INCLUDE_DIR) else() + ocv_clear_internal_cache_vars(WEBP_LIBRARY WEBP_INCLUDE_DIR) - include(cmake/OpenCVFindWebP.cmake) + find_package(WebP REQUIRED) if(WEBP_FOUND) set(HAVE_WEBP 1) endif() -@@ -186,7 +186,7 @@ if(WITH_JASPER AND NOT HAVE_OPENJPEG) +@@ -164,7 +164,7 @@ if(WITH_OPENJPEG) + if(BUILD_OPENJPEG) + ocv_clear_vars(OpenJPEG_FOUND) + else() +- find_package(OpenJPEG QUIET) ++ find_package(OpenJPEG REQUIRED) + endif() + + if(NOT OpenJPEG_FOUND OR OPENJPEG_MAJOR_VERSION LESS 2) +@@ -192,7 +192,7 @@ if(WITH_JASPER AND NOT HAVE_OPENJPEG) if(BUILD_JASPER) ocv_clear_vars(JASPER_FOUND) else() @@ -47,75 +56,39 @@ index 22e20b6..5d1431c 100644 endif() if(NOT JASPER_FOUND) -@@ -210,7 +210,7 @@ if(WITH_PNG) - if(BUILD_PNG) +@@ -217,7 +217,7 @@ if(WITH_PNG) ocv_clear_vars(PNG_FOUND) else() + ocv_clear_internal_cache_vars(PNG_LIBRARY PNG_INCLUDE_DIR) - include(FindPNG) + find_package(PNG REQUIRED) if(PNG_FOUND) include(CheckIncludeFile) check_include_file("${PNG_PNG_INCLUDE_DIR}/libpng/png.h" HAVE_LIBPNG_PNG_H) -@@ -241,7 +241,7 @@ endif() - if(WITH_OPENEXR) +@@ -249,7 +249,7 @@ if(WITH_OPENEXR) ocv_clear_vars(HAVE_OPENEXR) if(NOT BUILD_OPENEXR) + ocv_clear_internal_cache_vars(OPENEXR_INCLUDE_PATHS OPENEXR_LIBRARIES OPENEXR_ILMIMF_LIBRARY OPENEXR_VERSION) - include("${OpenCV_SOURCE_DIR}/cmake/OpenCVFindOpenEXR.cmake") + find_package(OpenEXR REQUIRED) endif() if(OPENEXR_FOUND) -@@ -259,7 +259,7 @@ endif() +@@ -267,7 +267,7 @@ endif() # --- GDAL (optional) --- if(WITH_GDAL) - find_package(GDAL QUIET) -+ find_package(GDAL REQUIRED) ++ find_package(GDAL REQUIRED) if(NOT GDAL_FOUND) set(HAVE_GDAL NO) -@@ -271,7 +271,7 @@ if(WITH_GDAL) +@@ -279,7 +279,7 @@ if(WITH_GDAL) endif() - if (WITH_GDCM) + if(WITH_GDCM) - find_package(GDCM QUIET) + find_package(GDCM REQUIRED) if(NOT GDCM_FOUND) set(HAVE_GDCM NO) ocv_clear_vars(GDCM_VERSION GDCM_LIBRARIES) -diff --git a/cmake/OpenCVFindLibsPerf.cmake b/cmake/OpenCVFindLibsPerf.cmake -index b9b1a95..596c152 100644 ---- a/cmake/OpenCVFindLibsPerf.cmake -+++ b/cmake/OpenCVFindLibsPerf.cmake -@@ -51,14 +51,9 @@ endif(WITH_CUDA) - - # --- Eigen --- - if(WITH_EIGEN AND NOT HAVE_EIGEN) -- find_package(Eigen3 QUIET) -+ find_package(Eigen3 REQUIRED) - - if(Eigen3_FOUND) -- if(TARGET Eigen3::Eigen) -- # Use Eigen3 imported target if possible -- list(APPEND OPENCV_LINKER_LIBS Eigen3::Eigen) -- set(HAVE_EIGEN 1) -- else() - if(DEFINED EIGEN3_INCLUDE_DIRS) - set(EIGEN_INCLUDE_PATH ${EIGEN3_INCLUDE_DIRS}) - set(HAVE_EIGEN 1) -@@ -66,7 +61,6 @@ if(WITH_EIGEN AND NOT HAVE_EIGEN) - set(EIGEN_INCLUDE_PATH ${EIGEN3_INCLUDE_DIR}) - set(HAVE_EIGEN 1) - endif() -- endif() - if(HAVE_EIGEN) - if(DEFINED EIGEN3_WORLD_VERSION) # CMake module - set(EIGEN_WORLD_VERSION ${EIGEN3_WORLD_VERSION}) -@@ -77,6 +71,7 @@ if(WITH_EIGEN AND NOT HAVE_EIGEN) - set(EIGEN_MAJOR_VERSION ${EIGEN3_VERSION_MINOR}) - set(EIGEN_MINOR_VERSION ${EIGEN3_VERSION_PATCH}) - endif() -+ ocv_include_directories(${EIGEN_INCLUDE_PATH}) - endif() - endif() - diff --git a/ports/opencv4/0004-fix-policy-CMP0057.patch b/ports/opencv4/0004-fix-policy-CMP0057.patch index 8bff4f88b7be1b..b0d8307fc29627 100644 --- a/ports/opencv4/0004-fix-policy-CMP0057.patch +++ b/ports/opencv4/0004-fix-policy-CMP0057.patch @@ -1,5 +1,5 @@ diff --git a/modules/videoio/CMakeLists.txt b/modules/videoio/CMakeLists.txt -index 12ff992..afd56eb 100644 +index a31d969..fa779e4 100644 --- a/modules/videoio/CMakeLists.txt +++ b/modules/videoio/CMakeLists.txt @@ -1,3 +1,4 @@ diff --git a/ports/opencv4/0005-add-missing-stdexcept-include.patch b/ports/opencv4/0005-add-missing-stdexcept-include.patch deleted file mode 100644 index 2a7d90ce071cf8..00000000000000 --- a/ports/opencv4/0005-add-missing-stdexcept-include.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/modules/cvv/src/util/observer_ptr.hpp b/modules/cvv/src/util/observer_ptr.hpp -index fef3fea..68d1a80 100644 ---- a/modules/cvv/src/util/observer_ptr.hpp -+++ b/modules/cvv/src/util/observer_ptr.hpp -@@ -11,6 +11,7 @@ - #include //size_t - #include // [u]intXX_t - #include // since some people like to forget that one -+#include - - namespace cvv - { diff --git a/ports/opencv4/0005-fix-eigen.patch b/ports/opencv4/0005-fix-eigen.patch new file mode 100644 index 00000000000000..ec8f6a489ca046 --- /dev/null +++ b/ports/opencv4/0005-fix-eigen.patch @@ -0,0 +1,13 @@ +diff --git a/cmake/OpenCVFindLibsPerf.cmake b/cmake/OpenCVFindLibsPerf.cmake +index 3753084..0aeb31a 100644 +--- a/cmake/OpenCVFindLibsPerf.cmake ++++ b/cmake/OpenCVFindLibsPerf.cmake +@@ -55,7 +55,7 @@ if(WITH_EIGEN AND NOT HAVE_EIGEN) + OR NOT (CMAKE_VERSION VERSION_LESS "3.0.0") # Eigen3Targets.cmake required CMake 3.0.0+ + ) AND NOT OPENCV_SKIP_EIGEN_FIND_PACKAGE_CONFIG + ) +- find_package(Eigen3 CONFIG QUIET) # Ceres 2.0.0 CMake scripts doesn't work with CMake's FindEigen3.cmake module (due to missing EIGEN3_VERSION_STRING) ++ find_package(Eigen3 CONFIG REQUIRED) # Ceres 2.0.0 CMake scripts doesn't work with CMake's FindEigen3.cmake module (due to missing EIGEN3_VERSION_STRING) + endif() + if(NOT Eigen3_FOUND) + find_package(Eigen3 QUIET) diff --git a/ports/opencv4/0006-fix-glog-abbreviated-severity.patch b/ports/opencv4/0006-fix-glog-abbreviated-severity.patch deleted file mode 100644 index aafe61b1a5eb98..00000000000000 --- a/ports/opencv4/0006-fix-glog-abbreviated-severity.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/modules/sfm/CMakeLists.txt b/modules/sfm/CMakeLists.txt -index 53a8d43..8809c88 100644 ---- a/modules/sfm/CMakeLists.txt -+++ b/modules/sfm/CMakeLists.txt -@@ -20,6 +20,7 @@ if((gflags_FOUND OR GFLAGS_FOUND OR GFLAGS_INCLUDE_DIRS) AND (glog_FOUND OR GLOG - ) - file(REMOVE "${_fname}") - message(STATUS "Checking SFM deps... ${SFM_DEPS_OK}") -+ add_definitions(-DGLOG_NO_ABBREVIATED_SEVERITIES) - else() - set(SFM_DEPS_OK FALSE) - endif() diff --git a/ports/opencv4/0009-fix-uwp.patch b/ports/opencv4/0006-fix-uwp.patch similarity index 85% rename from ports/opencv4/0009-fix-uwp.patch rename to ports/opencv4/0006-fix-uwp.patch index 9ace8e2147333e..19c6f8d92b28cd 100644 --- a/ports/opencv4/0009-fix-uwp.patch +++ b/ports/opencv4/0006-fix-uwp.patch @@ -1,8 +1,8 @@ diff --git a/cmake/OpenCVModule.cmake b/cmake/OpenCVModule.cmake -index bd14aa2..58cd11e 100644 +index a548df3..1799e44 100644 --- a/cmake/OpenCVModule.cmake +++ b/cmake/OpenCVModule.cmake -@@ -1197,7 +1197,7 @@ function(ocv_add_perf_tests) +@@ -1198,7 +1198,7 @@ function(ocv_add_perf_tests) set_target_properties(${the_target} PROPERTIES FOLDER "tests performance") endif() diff --git a/ports/opencv4/0007-fix-hdf5.patch b/ports/opencv4/0007-fix-hdf5.patch new file mode 100644 index 00000000000000..de81c79b2cee4e --- /dev/null +++ b/ports/opencv4/0007-fix-hdf5.patch @@ -0,0 +1,30 @@ +diff --git a/modules/hdf/CMakeLists.txt b/modules/hdf/CMakeLists.txt +index 2a1ae68..e40a192 100644 +--- a/modules/hdf/CMakeLists.txt ++++ b/modules/hdf/CMakeLists.txt +@@ -1,25 +1,8 @@ + set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}) + +-if(WIN32) +- # windows cmake internal lookups are broken for now +- # will lookup for headers and shared libs given HDF_DIR env +- find_path(HDF5_INCLUDE_DIRS hdf5.h HINTS "$ENV{HDF5_DIR}\\..\\include") +- find_library(HDF5_C_LIBRARY NAMES hdf5 HINTS "$ENV{HDF5_DIR}\\..\\lib") +- if(HDF5_INCLUDE_DIRS AND HDF5_C_LIBRARY) +- set(HDF5_FOUND "YES") +- set(HDF5_LIBRARIES ${HDF5_C_LIBRARY}) +- mark_as_advanced(HDF5_LIBRARIES) +- mark_as_advanced(HDF5_C_LIBRARY) +- mark_as_advanced(HDF5_INCLUDE_DIRS) +- add_definitions(-DH5_BUILT_AS_DYNAMIC_LIB -D_HDF5USEDLL_) +- else() +- set(HDF5_FOUND "NO") +- endif() +-else() + if(NOT CMAKE_CROSSCOMPILING) # iOS build should not reuse OSX package + find_package(HDF5) + endif() +-endif() + + if(NOT HDF5_FOUND) + ocv_module_disable(hdf) # no return diff --git a/ports/opencv4/0011-devendor-quirc.patch b/ports/opencv4/0008-devendor-quirc.patch similarity index 82% rename from ports/opencv4/0011-devendor-quirc.patch rename to ports/opencv4/0008-devendor-quirc.patch index a1f13849e9a58e..fc03838b28c7c6 100644 --- a/ports/opencv4/0011-devendor-quirc.patch +++ b/ports/opencv4/0008-devendor-quirc.patch @@ -1,26 +1,26 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 89521b1..5ff0f01 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -772,7 +772,7 @@ if(WITH_OPENVX) - endif() - - if(WITH_QUIRC) -- add_subdirectory(3rdparty/quirc) -+ find_package(quirc CONFIG REQUIRED) - set(HAVE_QUIRC TRUE) - endif() - # ---------------------------------------------------------------------------- -diff --git a/modules/objdetect/CMakeLists.txt b/modules/objdetect/CMakeLists.txt -index 3fa0c5d..f4c0ad6 100644 ---- a/modules/objdetect/CMakeLists.txt -+++ b/modules/objdetect/CMakeLists.txt -@@ -2,7 +2,5 @@ set(the_description "Object Detection") - ocv_define_module(objdetect opencv_core opencv_imgproc opencv_calib3d WRAP java objc python js) - - if(HAVE_QUIRC) -- get_property(QUIRC_INCLUDE GLOBAL PROPERTY QUIRC_INCLUDE_DIR) -- ocv_include_directories(${QUIRC_INCLUDE}) -- ocv_target_link_libraries(${the_module} quirc) -+ ocv_target_link_libraries(${the_module} quirc::quirc) - endif() +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9cd2b4e..b34f20e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -776,7 +776,7 @@ if(WITH_OPENVX) + endif() + + if(WITH_QUIRC) +- add_subdirectory(3rdparty/quirc) ++ find_package(quirc CONFIG REQUIRED) + set(HAVE_QUIRC TRUE) + endif() + +diff --git a/modules/objdetect/CMakeLists.txt b/modules/objdetect/CMakeLists.txt +index 3fa0c5d..f4c0ad6 100644 +--- a/modules/objdetect/CMakeLists.txt ++++ b/modules/objdetect/CMakeLists.txt +@@ -2,7 +2,5 @@ set(the_description "Object Detection") + ocv_define_module(objdetect opencv_core opencv_imgproc opencv_calib3d WRAP java objc python js) + + if(HAVE_QUIRC) +- get_property(QUIRC_INCLUDE GLOBAL PROPERTY QUIRC_INCLUDE_DIR) +- ocv_include_directories(${QUIRC_INCLUDE}) +- ocv_target_link_libraries(${the_module} quirc) ++ ocv_target_link_libraries(${the_module} quirc::quirc) + endif() diff --git a/ports/opencv4/0010-fix-interface_link_libraries.patch b/ports/opencv4/0010-fix-interface_link_libraries.patch deleted file mode 100644 index 64751831309a51..00000000000000 --- a/ports/opencv4/0010-fix-interface_link_libraries.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/modules/videoio/cmake/init.cmake b/modules/videoio/cmake/init.cmake -index 1efef12..81d5d9f 100644 ---- a/modules/videoio/cmake/init.cmake -+++ b/modules/videoio/cmake/init.cmake -@@ -12,8 +12,16 @@ function(ocv_add_external_target name inc link def) - set_target_properties(ocv.3rdparty.${name} PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${inc}" - INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${inc}" -- INTERFACE_LINK_LIBRARIES "${link}" - INTERFACE_COMPILE_DEFINITIONS "${def}") -+ # When cmake version is greater than or equal to 3.11, INTERFACE_LINK_LIBRARIES no longer applies to interface library -+ # See https://github.com/opencv/opencv/pull/18658 -+ if (CMAKE_VERSION VERSION_LESS 3.11) -+ set_target_properties(ocv.3rdparty.${name} PROPERTIES -+ INTERFACE_LINK_LIBRARIES "${link}") -+ else() -+ target_link_libraries(ocv.3rdparty.${name} INTERFACE ${link}) -+ endif() -+ # - if(NOT BUILD_SHARED_LIBS) - install(TARGETS ocv.3rdparty.${name} EXPORT OpenCVModules) - endif() diff --git a/ports/opencv4/portfile.cmake b/ports/opencv4/portfile.cmake index cc7d4d579ea8c7..33982df0e0b4c4 100644 --- a/ports/opencv4/portfile.cmake +++ b/ports/opencv4/portfile.cmake @@ -6,22 +6,22 @@ if (EXISTS "${CURRENT_INSTALLED_DIR}/share/opencv3") message(FATAL_ERROR "OpenCV 3 is installed, please uninstall and try again:\n vcpkg remove opencv3") endif() -set(OPENCV_VERSION "4.5.0") +set(OPENCV_VERSION "4.5.1") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO opencv/opencv REF ${OPENCV_VERSION} - SHA512 c34100f3f3fe45f2115975350d23288a3badb32864ba0cbd32512387416d1cf10d16d3ef5f3d089d6a1c2be587d788d33997513fc015dbf7d774a622f2d3811f + SHA512 d74ae3bc340639cbc8b5db41a1fec710acabf8ec828dd28ce3bacf7029d1afd23aeaf47a2273a42995de285daa8aef33a7f90d5c57ef096e2cb872e0845e92b0 HEAD_REF master PATCHES 0001-disable-downloading.patch 0002-install-options.patch 0003-force-package-requirements.patch 0004-fix-policy-CMP0057.patch - 0009-fix-uwp.patch - 0010-fix-interface_link_libraries.patch # Remove this patch when the next update - 0011-devendor-quirc.patch + 0005-fix-eigen.patch + 0006-fix-uwp.patch + 0008-devendor-quirc.patch ) if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") @@ -138,11 +138,10 @@ if("contrib" IN_LIST FEATURES) OUT_SOURCE_PATH CONTRIB_SOURCE_PATH REPO opencv/opencv_contrib REF ${OPENCV_VERSION} - SHA512 b2ae72e920c78472fd677281b8dd6f25872399d8ade97b0d3b0fc50bbabea8c00ea849d87bfb311ac148cef663481d0c89c0f6875578c052c1cc7ddcd70e6e17 + SHA512 1ebb9fec53b74039ffa2dc9f00899ab83af615f01156c0454ea7c53161256b6c9fd4548387fbfd197182c2d03db4de8c7170e2877b4648ce92531f821e81fdd7 HEAD_REF master PATCHES - 0005-add-missing-stdexcept-include.patch - 0006-fix-glog-abbreviated-severity.patch + 0007-fix-hdf5.patch ) set(BUILD_WITH_CONTRIB_FLAG "-DOPENCV_EXTRA_MODULES_PATH=${CONTRIB_SOURCE_PATH}/modules") @@ -445,7 +444,7 @@ find_dependency(Tesseract)") string(APPEND DEPS_STRING "\nfind_dependency(Ogre)\nfind_dependency(Freetype)") endif() if("quirc" IN_LIST FEATURES) - string(APPEND DEPS_STRING "\nfind_dependency(quirc CONFIG)") + string(APPEND DEPS_STRING "\nfind_dependency(quirc)") endif() if("qt" IN_LIST FEATURES) string(APPEND DEPS_STRING " diff --git a/ports/opencv4/vcpkg.json b/ports/opencv4/vcpkg.json index dc64f6c4dba966..71513f260dc027 100644 --- a/ports/opencv4/vcpkg.json +++ b/ports/opencv4/vcpkg.json @@ -1,7 +1,6 @@ { "name": "opencv4", - "version": "4.5.0", - "port-version": 1, + "version": "4.5.1", "description": "computer vision library", "homepage": "https://github.com/opencv/opencv", "dependencies": [ diff --git a/ports/openmvg/CONTROL b/ports/openmvg/CONTROL index 69d67357934fa3..b28081c6056b57 100644 --- a/ports/openmvg/CONTROL +++ b/ports/openmvg/CONTROL @@ -1,5 +1,6 @@ Source: openmvg Version: 1.6 +Port-Version: 1 Description: open Multiple View Geometry library. Basis for 3D computer vision and Structure from Motion. Build-Depends: coinutils, clp, osi, liblemon, flann, eigen3, ceres[suitesparse,cxsparse], cereal, libjpeg-turbo, tiff, libpng, zlib, vlfeat diff --git a/ports/openmvg/build_fixes.patch b/ports/openmvg/build_fixes.patch index fff8846d28e9e2..d87161e674a4a9 100644 --- a/ports/openmvg/build_fixes.patch +++ b/ports/openmvg/build_fixes.patch @@ -525,10 +525,10 @@ index 5fcd972..b21ea7b 100644 endif() set_target_properties(openMVG_matching PROPERTIES SOVERSION ${OPENMVG_VERSION_MAJOR} VERSION "${OPENMVG_VERSION_MAJOR}.${OPENMVG_VERSION_MINOR}") diff --git a/src/openMVG/numeric/CMakeLists.txt b/src/openMVG/numeric/CMakeLists.txt -index 06baee7..47255be 100644 +index 1f3fc30..4097320 100644 --- a/src/openMVG/numeric/CMakeLists.txt +++ b/src/openMVG/numeric/CMakeLists.txt -@@ -24,7 +24,7 @@ target_include_directories(openMVG_numeric +@@ -26,7 +26,7 @@ target_include_directories(openMVG_numeric $ $ ) @@ -649,6 +649,19 @@ index 9a5a482..e804a19 100644 pRecons.wait() - - +diff --git a/src/software/SfM/main_ComputeFeatures_OpenCV.cpp b/src/software/SfM/main_ComputeFeatures_OpenCV.cpp +index 9cc46af..f8bd892 100644 +--- a/src/software/SfM/main_ComputeFeatures_OpenCV.cpp ++++ b/src/software/SfM/main_ComputeFeatures_OpenCV.cpp +@@ -208,7 +208,7 @@ public: + // Create a SIFT detector + std::vector< cv::KeyPoint > v_keypoints; + cv::Mat m_desc; +- cv::Ptr siftdetector = cv::xfeatures2d::SIFT::create(); ++ cv::Ptr siftdetector = cv::SIFT::create(); + + // Process SIFT computation + siftdetector->detectAndCompute(img, m_mask, v_keypoints, m_desc); diff --git a/src/software/SfM/tutorial_demo.py.in b/src/software/SfM/tutorial_demo.py.in index 259e24e..1097062 100644 --- a/src/software/SfM/tutorial_demo.py.in @@ -682,7 +695,7 @@ index aa7dffe..2c4d237 100644 m_detector->detect(current_img, m_nextKeypoints); diff --git a/src/third_party/CMakeLists.txt b/src/third_party/CMakeLists.txt -index 816a941..f0b7145 100644 +index b71dfab..ad98e51 100644 --- a/src/third_party/CMakeLists.txt +++ b/src/third_party/CMakeLists.txt @@ -18,7 +18,7 @@ add_subdirectory(stlplus3) diff --git a/versions/baseline.json b/versions/baseline.json index 31bcaa0136e78d..f3a0bff9f58f19 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -4233,7 +4233,7 @@ "port-version": 0 }, "opencv": { - "baseline": "4.5.0", + "baseline": "4.5.1", "port-version": 0 }, "opencv2": { @@ -4241,12 +4241,12 @@ "port-version": 5 }, "opencv3": { - "baseline": "3.4.12", - "port-version": 1 + "baseline": "3.4.13", + "port-version": 0 }, "opencv4": { - "baseline": "4.5.0", - "port-version": 1 + "baseline": "4.5.1", + "port-version": 0 }, "opendnp3": { "baseline": "3.1.0", @@ -4290,7 +4290,7 @@ }, "openmvg": { "baseline": "1.6", - "port-version": 0 + "port-version": 1 }, "openmvs": { "baseline": "1.1", diff --git a/versions/o-/opencv.json b/versions/o-/opencv.json index a428c254d47ff6..94d54725048ec0 100644 --- a/versions/o-/opencv.json +++ b/versions/o-/opencv.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "5095d4c281b1fa2afc8398bfc61a88dc1e96e7e6", + "version": "4.5.1", + "port-version": 0 + }, { "git-tree": "457db123c6f787763d2bbe056e51caecd8c37464", "version": "4.5.0", diff --git a/versions/o-/opencv3.json b/versions/o-/opencv3.json index b04a8ae268eebd..9667226d7e312c 100644 --- a/versions/o-/opencv3.json +++ b/versions/o-/opencv3.json @@ -1,7 +1,12 @@ { "versions": [ { - "git-tree": "ffd8270ed4798f25f3bd882a6089c72e86803466", + "git-tree": "4b65e217d97307583039d4324cd32488347cc344", + "version": "3.4.13", + "port-version": 0 + }, + { + "git-tree": "859d6618f0ff394cc940ede79ada4bff1b7655dc", "version": "3.4.12", "port-version": 1 }, diff --git a/versions/o-/opencv4.json b/versions/o-/opencv4.json index f6e5d8fe898e85..631be40cf43400 100644 --- a/versions/o-/opencv4.json +++ b/versions/o-/opencv4.json @@ -1,7 +1,12 @@ { "versions": [ { - "git-tree": "a0522dbbb44877b9d4618bfe31a376e07e49bc72", + "git-tree": "ba505df8f61764e9b4667b04958c748237d12d23", + "version": "4.5.1", + "port-version": 0 + }, + { + "git-tree": "ba164060f8a9e69ccc4c484a24b5e8085d20b3bd", "version": "4.5.0", "port-version": 1 }, diff --git a/versions/o-/openmvg.json b/versions/o-/openmvg.json index 57b9407507d8ea..8628d35ee34f0f 100644 --- a/versions/o-/openmvg.json +++ b/versions/o-/openmvg.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "77b221e020b37ab1119a01536d5b4fe6836af4fd", + "version-string": "1.6", + "port-version": 1 + }, { "git-tree": "0bc383c92d6341f46ad2250f956d0731e617d9ee", "version-string": "1.6", From db66cbe7fdcaf8197b59caacc04723db9d015d60 Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Fri, 29 Jan 2021 04:24:25 +0100 Subject: [PATCH 0060/1735] [ace] Update to 7.0.0 (#15862) * [ace] 7.0.0 * [ace] 7.0.0 versions * Update portfile.cmake * Update ace.json --- ports/ace/CONTROL | 4 ++-- ports/ace/portfile.cmake | 16 ++++++++-------- versions/a-/ace.json | 5 +++++ versions/baseline.json | 4 ++-- 4 files changed, 17 insertions(+), 12 deletions(-) diff --git a/ports/ace/CONTROL b/ports/ace/CONTROL index f0d1c132175b56..4d59260e056db0 100644 --- a/ports/ace/CONTROL +++ b/ports/ace/CONTROL @@ -1,8 +1,8 @@ Source: ace -Version: 6.5.12 +Version: 7.0.0 Homepage: https://www.dre.vanderbilt.edu/~schmidt/ACE.html Description: The ADAPTIVE Communication Environment -Port-Version: 1 +Port-Version: 0 Feature: wchar Description: Enable extra wide char functions in ACE diff --git a/ports/ace/portfile.cmake b/ports/ace/portfile.cmake index 399f5c7882cf9d..bed80493ea66f3 100644 --- a/ports/ace/portfile.cmake +++ b/ports/ace/portfile.cmake @@ -1,7 +1,7 @@ # Using zip archive under Linux would cause sh/perl to report "No such file or directory" or "bad interpreter" # when invoking `prj_install.pl`. # So far this issue haven't yet be triggered under WSL 1 distributions. Not sure the root cause of it. -set(ACE_VERSION 6.5.12) +set(ACE_VERSION 7.0.0) string(REPLACE "." "_" ACE_VERSION_DIRECTORY ${ACE_VERSION}) if("tao" IN_LIST FEATURES) @@ -10,14 +10,14 @@ if("tao" IN_LIST FEATURES) vcpkg_download_distfile(ARCHIVE URLS "https://github.com/DOCGroup/ACE_TAO/releases/download/ACE%2BTAO-${ACE_VERSION_DIRECTORY}/ACE%2BTAO-src-${ACE_VERSION}.zip" FILENAME ACE-TAO-${ACE_VERSION}.zip - SHA512 6b6ad7c98fed19b03449cc93148dc66abbaab5c6cdc893f9fdc9b74e899dba1e2e969e791326a7869ad06f8ffbf9cbbee66a75170bee6ac386e6795eb4f713e3 + SHA512 9b99a07bfc80d616843b2a6f8f9a0fc0868fefcb98a1f57f04cc624f39ad9162043bb29d886eda2162143a321b434b8496717b005fa314acbc5403a37a965df6 ) else() # VCPKG_TARGET_IS_LINUX vcpkg_download_distfile(ARCHIVE URLS "https://github.com/DOCGroup/ACE_TAO/releases/download/ACE%2BTAO-${ACE_VERSION_DIRECTORY}/ACE%2BTAO-src-${ACE_VERSION}.tar.gz" FILENAME ACE-TAO-${ACE_VERSION}.tar.gz - SHA512 6cb3b87ee5e421b77dc8479c9572c8bd1d110bee504a346094d122f7acdfba29708b6fdb44e4d611620214ecb74d375444988f34a0e807c5853755d32b3c2e7d + SHA512 731896ae9939702b70d293ced64aae1030ddf7545fba926c99b495a43e37aaacc9c9d91f6aadef0153c128704ba7c8545d9b81f9fa0f58de4939e3be4eab1103 ) endif() else() @@ -26,14 +26,14 @@ else() vcpkg_download_distfile(ARCHIVE URLS "https://github.com/DOCGroup/ACE_TAO/releases/download/ACE%2BTAO-${ACE_VERSION_DIRECTORY}/ACE-src-${ACE_VERSION}.zip" FILENAME ACE-src-${ACE_VERSION}.zip - SHA512 f2b8bc68531af673fb15f72d15fc9cdb1f9c44d21aa6aef473b06461b4a7d8c882368e8a93e5da6a8f7d856b88f3f1199a2bc4185ccb67b269e68f1346bc6b3a + SHA512 6b2ddaabaa737bd13d8541d1458ea2f73cbee558f7a294a16078d68e0f294dc09310661ec23ba3077528dfe7340f7040cccc4bd7082025d7b4f3be52d6718769 ) else(VCPKG_TARGET_IS_WINDOWS) # VCPKG_TARGET_IS_LINUX vcpkg_download_distfile(ARCHIVE URLS "https://github.com/DOCGroup/ACE_TAO/releases/download/ACE%2BTAO-${ACE_VERSION_DIRECTORY}/ACE-src-${ACE_VERSION}.tar.gz" FILENAME ACE-src-${ACE_VERSION}.tar.gz - SHA512 8dcdf5ff69908840ab527533c500dde2902f59c62aaddcec21f8767afe59d0277e57f03ab359755977e99e9b1f2e158636024b806e25a6874be2ac31e31f72e8 + SHA512 91541eac3c7246e5620ee805c297b80406f2e27e06338f142e40633ec74ef5e18e65164c66225bb8606314b63d6b197c6122927f4300bef4bb88010e8b5571b1 ) endif() endif() @@ -104,7 +104,7 @@ elseif(VCPKG_TARGET_IS_LINUX) elseif(VCPKG_TARGET_IS_OSX) set(SOLUTION_TYPE gnuace) file(WRITE ${ACE_SOURCE_PATH}/config.h "#include \"ace/config-macosx.h\"") - file(WRITE ${ACE_ROOT}/include/makeinclude/platform_macros.GNU "include $(ACE_ROOT)/include/makeinclude/platform_macosx.GNU") + file(WRITE ${ACE_ROOT}/include/makeinclude/platform_macros.GNU "c++11=1\ninclude $(ACE_ROOT)/include/makeinclude/platform_macosx.GNU") endif() if(VCPKG_TARGET_IS_UWP) @@ -147,7 +147,7 @@ if(VCPKG_TARGET_IS_WINDOWS) DESTINATION ${CURRENT_PACKAGES_DIR}/include/${RELATIVE_PATH}) endforeach() endfunction() - + get_filename_component(SOURCE_PATH_SUFFIX "${SOURCE_PATH}" NAME) set(SOURCE_COPY_PATH ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/${SOURCE_PATH_SUFFIX}) @@ -272,7 +272,7 @@ if(VCPKG_TARGET_IS_WINDOWS) ${CURRENT_PACKAGES_DIR}/debug/bin/ACEXML_XML_Svc_Conf_Parserd_dll.pdb) endif() endif() - + vcpkg_clean_msbuild() elseif(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX) FIND_PROGRAM(MAKE make) diff --git a/versions/a-/ace.json b/versions/a-/ace.json index 6089ae49226fe8..cc4691de49f0ea 100644 --- a/versions/a-/ace.json +++ b/versions/a-/ace.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "fefdf115c09a6996c55262dd9a635647dc7d8440", + "version-string": "7.0.0", + "port-version": 0 + }, { "git-tree": "8b23f37d4b1c965115ae6fbe79686605997fe659", "version-string": "6.5.12", diff --git a/versions/baseline.json b/versions/baseline.json index f3a0bff9f58f19..4e1fa0ebb5dfd2 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -17,8 +17,8 @@ "port-version": 0 }, "ace": { - "baseline": "6.5.12", - "port-version": 1 + "baseline": "7.0.0", + "port-version": 0 }, "activemq-cpp": { "baseline": "3.9.5-3", From 82a9a8436e6a482042ad3204276843c53c5c4b6e Mon Sep 17 00:00:00 2001 From: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> Date: Fri, 29 Jan 2021 11:26:11 +0800 Subject: [PATCH 0061/1735] [libgeotiff] Fix packagename via find_package (#15750) * [libgeotiff] Fix packagename via find_package * Update port_versions * Update portfile.cmake * Update patch * [libgeotiff] Fix packagename via find_package * Update port_versions * Update patch * [pdal] Fix geotiff package name * Update versions * [pdal] Update dependency * Update versions/p-/pdal.json --- ports/libgeotiff/CONTROL | 1 + ports/libgeotiff/cmakelists.patch | 2 +- ports/libgeotiff/fix-config-version.patch | 21 +++++++++++++++++++++ ports/libgeotiff/portfile.cmake | 5 +++-- ports/liblas/CONTROL | 2 +- ports/liblas/fix-geotiff.patch | 2 +- ports/pdal/CONTROL | 2 +- ports/pdal/fix-dependency.patch | 2 +- ports/pdal/geotiff.patch | 15 +++++++++++++++ ports/pdal/portfile.cmake | 9 ++------- versions/baseline.json | 6 +++--- versions/l-/libgeotiff.json | 5 +++++ versions/l-/liblas.json | 5 +++++ versions/p-/pdal.json | 5 +++++ 14 files changed, 65 insertions(+), 17 deletions(-) create mode 100644 ports/libgeotiff/fix-config-version.patch create mode 100644 ports/pdal/geotiff.patch diff --git a/ports/libgeotiff/CONTROL b/ports/libgeotiff/CONTROL index c91671eddd4401..c51eb962e8d54a 100644 --- a/ports/libgeotiff/CONTROL +++ b/ports/libgeotiff/CONTROL @@ -1,5 +1,6 @@ Source: libgeotiff Version: 1.6.0 +Port-Version: 1 Homepage: https://github.com/OSGeo/libgeotiff Description: Libgeotiff is an open source library normally hosted on top of libtiff for reading, and writing GeoTIFF information tags. Build-Depends: tiff, proj4, zlib, libjpeg-turbo diff --git a/ports/libgeotiff/cmakelists.patch b/ports/libgeotiff/cmakelists.patch index 64c09bf66f6bee..169ca0bc8dc930 100644 --- a/ports/libgeotiff/cmakelists.patch +++ b/ports/libgeotiff/cmakelists.patch @@ -75,7 +75,7 @@ index 47a2b00..3809ba3 100644 set (PROJECT_ROOT_DIR "..") endif () +else() -+ set (INSTALL_CMAKE_DIR "share/${PROJECT_NAME}") ++ set (INSTALL_CMAKE_DIR "share/${PROJECT_NAME_LOWER}") + set (PROJECT_ROOT_DIR "../..") +endif() diff --git a/ports/libgeotiff/fix-config-version.patch b/ports/libgeotiff/fix-config-version.patch new file mode 100644 index 00000000000000..173f483d176e64 --- /dev/null +++ b/ports/libgeotiff/fix-config-version.patch @@ -0,0 +1,21 @@ +diff --git a/libgeotiff/cmake/project-config-version.cmake.in b/libgeotiff/cmake/project-config-version.cmake.in +index d695aa2..efe32ba 100644 +--- a/libgeotiff/cmake/project-config-version.cmake.in ++++ b/libgeotiff/cmake/project-config-version.cmake.in +@@ -5,14 +5,14 @@ set (PACKAGE_VERSION_MAJOR "@PROJECT_VERSION_MAJOR@") + set (PACKAGE_VERSION_MINOR "@PROJECT_VERSION_MINOR@") + set (PACKAGE_VERSION_PATCH "@PROJECT_VERSION_PATCH@") + +-if (NOT PACKAGE_FIND_NAME STREQUAL "@PROJECT_NAME@") ++if (NOT PACKAGE_FIND_NAME STREQUAL "@PROJECT_NAME_LOWER@") + # Check package name (in particular, because of the way cmake finds + # package config files, the capitalization could easily be "wrong"). + # This is necessary to ensure that the automatically generated + # variables, e.g., _FOUND, are consistently spelled. Make + # this a WARNING, because this is a user error that needs to be fixed. + message (WARNING +- "Mismatched package names: use find_package(@PROJECT_NAME@ ...) instead" ++ "Mismatched package names: use find_package(@PROJECT_NAME_LOWER@ ...) instead" + " of find_package(${PACKAGE_FIND_NAME} ...)") + set (PACKAGE_VERSION_UNSUITABLE TRUE) + elseif (NOT (APPLE OR CMAKE_SIZEOF_VOID_P EQUAL @CMAKE_SIZEOF_VOID_P@)) diff --git a/ports/libgeotiff/portfile.cmake b/ports/libgeotiff/portfile.cmake index b9eb519e3bcad4..952ce8fe928cce 100644 --- a/ports/libgeotiff/portfile.cmake +++ b/ports/libgeotiff/portfile.cmake @@ -9,6 +9,7 @@ vcpkg_from_github( geotiff-config.patch fix-proj4.patch fix-staticbuild.patch + fix-config-version.patch ) set(SOURCE_PATH ${SOURCE_PATH}/libgeotiff) @@ -32,10 +33,10 @@ vcpkg_install_cmake() vcpkg_copy_tools(TOOL_NAMES applygeo geotifcp listgeo makegeo AUTO_CLEAN) vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/GeoTIFF TARGET_PATH share/GeoTIFF) +vcpkg_fixup_cmake_targets(CONFIG_PATH share/geotiff TARGET_PATH share/geotiff) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/share/GeoTIFF/geotiff-config.cmake "if (GeoTIFF_USE_STATIC_LIBS)" "if (1)") + vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/share/geotiff/geotiff-config.cmake "if (GeoTIFF_USE_STATIC_LIBS)" "if (1)") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin ${CURRENT_PACKAGES_DIR}/bin) endif() diff --git a/ports/liblas/CONTROL b/ports/liblas/CONTROL index f6ca886cf00372..91735159fc6e17 100644 --- a/ports/liblas/CONTROL +++ b/ports/liblas/CONTROL @@ -1,6 +1,6 @@ Source: liblas Version: 1.8.1 -Port-Version: 5 +Port-Version: 6 Build-Depends: boost, boost-thread, boost-system, boost-iostreams, boost-filesystem, boost-detail, libgeotiff Description: A C/C++ library for reading and writing the very common LAS LiDAR format. diff --git a/ports/liblas/fix-geotiff.patch b/ports/liblas/fix-geotiff.patch index e812c3d91f44f1..360aec7ef44a99 100644 --- a/ports/liblas/fix-geotiff.patch +++ b/ports/liblas/fix-geotiff.patch @@ -7,7 +7,7 @@ index d246a88..d0bba6f 100644 set(WITH_GEOTIFF TRUE CACHE BOOL "Choose if GeoTIFF support should be built") -find_package (GeoTIFF 1.3.0 ) -+find_package (GeoTIFF CONFIG 1.3.0 ) ++find_package (geotiff CONFIG REQUIRED) if(GEOTIFF_FOUND) set(WITH_GEOTIFF TRUE) # Confirm required API is available diff --git a/ports/pdal/CONTROL b/ports/pdal/CONTROL index 9098db285dd4e0..99643803d3173b 100644 --- a/ports/pdal/CONTROL +++ b/ports/pdal/CONTROL @@ -1,5 +1,5 @@ Source: pdal Version: 1.7.1 -Port-Version: 10 +Port-Version: 11 Description: PDAL - Point Data Abstraction Library is a library for manipulating point cloud data. Build-Depends: gdal, geos, jsoncpp, libgeotiff, laszip, boost-system, boost-filesystem diff --git a/ports/pdal/fix-dependency.patch b/ports/pdal/fix-dependency.patch index 352eb1d43f1b17..ea2bcf8f844bd9 100644 --- a/ports/pdal/fix-dependency.patch +++ b/ports/pdal/fix-dependency.patch @@ -53,7 +53,7 @@ index a03ef14..9d073e6 100644 endforeach(_dir) +include(CMakeFindDependencyMacro) -+find_dependency(GeoTIFF) ++find_dependency(geotiff) +find_dependency(CURL) +find_dependency(Boost COMPONENTS system filesystem) +find_dependency(geos CONFIG) diff --git a/ports/pdal/geotiff.patch b/ports/pdal/geotiff.patch new file mode 100644 index 00000000000000..00e376583d34b0 --- /dev/null +++ b/ports/pdal/geotiff.patch @@ -0,0 +1,15 @@ +diff --git a/cmake/geotiff.cmake b/cmake/geotiff.cmake +index 1d1e8af..ec077bc 100644 +--- a/cmake/geotiff.cmake ++++ b/cmake/geotiff.cmake +@@ -2,8 +2,8 @@ + # GeoTIFF support + # + +-find_package(GeoTIFF REQUIRED 1.3.0) +-set_package_properties(GeoTIFF PROPERTIES TYPE REQUIRED) ++find_package(geotiff REQUIRED 1.3.0) ++set_package_properties(geotiff PROPERTIES TYPE REQUIRED) + if (GEOTIFF_FOUND) + include_directories("${GEOTIFF_INCLUDE_DIR}") + set(PDAL_HAVE_LIBGEOTIFF 1) diff --git a/ports/pdal/portfile.cmake b/ports/pdal/portfile.cmake index 8099bed6f92ec3..18d27a4c4b1cd2 100644 --- a/ports/pdal/portfile.cmake +++ b/ports/pdal/portfile.cmake @@ -17,6 +17,7 @@ vcpkg_extract_source_archive_ex( libpq.patch fix-CPL_DLL.patch 0004-fix-const-overloaded.patch + geotiff.patch ) file(REMOVE "${SOURCE_PATH}/pdal/gitsha.cpp") @@ -32,13 +33,7 @@ foreach(_module IN ITEMS FindGEOS) # Overwritten Modules. ) endforeach() -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(VCPKG_BUILD_SHARED_LIBS ON) - set(VCPKG_BUILD_STATIC_LIBS OFF) -else() - set(VCPKG_BUILD_SHARED_LIBS OFF) - set(VCPKG_BUILD_STATIC_LIBS ON) -endif() +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" VCPKG_BUILD_STATIC_LIBS) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} diff --git a/versions/baseline.json b/versions/baseline.json index 4e1fa0ebb5dfd2..584a3a0c1de000 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -2966,7 +2966,7 @@ }, "libgeotiff": { "baseline": "1.6.0", - "port-version": 0 + "port-version": 1 }, "libgit2": { "baseline": "1.1.0", @@ -3062,7 +3062,7 @@ }, "liblas": { "baseline": "1.8.1", - "port-version": 5 + "port-version": 6 }, "liblbfgs": { "baseline": "1.10", @@ -4474,7 +4474,7 @@ }, "pdal": { "baseline": "1.7.1", - "port-version": 10 + "port-version": 11 }, "pdal-c": { "baseline": "1.8-2", diff --git a/versions/l-/libgeotiff.json b/versions/l-/libgeotiff.json index 0876dcc9a40c9b..f132e503316a4e 100644 --- a/versions/l-/libgeotiff.json +++ b/versions/l-/libgeotiff.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "413293d224293f65999b988ba07734ad78793405", + "version-string": "1.6.0", + "port-version": 1 + }, { "git-tree": "66eb337495fb9ac5d8cfdb96195b5d1c063088b6", "version-string": "1.6.0", diff --git a/versions/l-/liblas.json b/versions/l-/liblas.json index 6f2e219f0444ad..6059275c2d4f31 100644 --- a/versions/l-/liblas.json +++ b/versions/l-/liblas.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "98b46cc84b9efb95b95bfa0111c22e59a4d9e477", + "version-string": "1.8.1", + "port-version": 6 + }, { "git-tree": "3574373c93114a9a7bac598140a5a7c875830b4c", "version-string": "1.8.1", diff --git a/versions/p-/pdal.json b/versions/p-/pdal.json index 0b4ac1dc2510ef..a05e1ec8acb9c7 100644 --- a/versions/p-/pdal.json +++ b/versions/p-/pdal.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "b6a58e13d646cb435d82143c23a3e9e8f54f495e", + "version-string": "1.7.1", + "port-version": 11 + }, { "git-tree": "e8b9d999c233cc564ff9eac48cf8e1d9b3094f1b", "version-string": "1.7.1", From 7f400c423c5ee251834765f0a90ac6727a335ba5 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Fri, 29 Jan 2021 04:29:12 +0100 Subject: [PATCH 0062/1735] [CGAL] switch dep to gmp instead of mpir (#15860) * [cgal] switch dependency to gmp * run x-add-version --- ports/cgal/CONTROL | 3 ++- versions/baseline.json | 2 +- versions/c-/cgal.json | 5 +++++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/ports/cgal/CONTROL b/ports/cgal/CONTROL index ee652aea0a4e36..d600b45a6ad300 100644 --- a/ports/cgal/CONTROL +++ b/ports/cgal/CONTROL @@ -1,6 +1,7 @@ Source: cgal Version: 5.2 -Build-Depends: mpfr, mpir, zlib, boost-format, boost-container, boost-ptr-container, boost-iterator, boost-variant, boost-any, boost-unordered, boost-random, boost-foreach, boost-graph, boost-heap, boost-logic, boost-multiprecision, boost-interval +Port-Version: 1 +Build-Depends: mpfr, gmp, zlib, boost-format, boost-container, boost-ptr-container, boost-iterator, boost-variant, boost-any, boost-unordered, boost-random, boost-foreach, boost-graph, boost-heap, boost-logic, boost-multiprecision, boost-interval Homepage: https://github.com/CGAL/cgal Description: The Computational Geometry Algorithms Library (CGAL) is a C++ library that aims to provide easy access to efficient and reliable algorithms in computational geometry. diff --git a/versions/baseline.json b/versions/baseline.json index 584a3a0c1de000..fb521d2f97ec0c 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -1118,7 +1118,7 @@ }, "cgal": { "baseline": "5.2", - "port-version": 0 + "port-version": 1 }, "cgicc": { "baseline": "3.2.19-4", diff --git a/versions/c-/cgal.json b/versions/c-/cgal.json index ed0be54bc31f4f..e5763bfe7111e8 100644 --- a/versions/c-/cgal.json +++ b/versions/c-/cgal.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "5cbb2f2a60d864bd36098d71a050aeef43e52eff", + "version-string": "5.2", + "port-version": 1 + }, { "git-tree": "1673f680f59b2c8c848a28c8e664b68b2ec182d7", "version-string": "5.2", From b063d0cee7389514a0841cf1e2e055d6466fe4b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wolfgang=20St=C3=B6ggl?= Date: Fri, 29 Jan 2021 04:34:34 +0100 Subject: [PATCH 0063/1735] [pugixml] Update to 1.11.4 (#15207) * [pugixml] Update to 1.11.4 * update version * Update ci.baseline.txt Add paraview:x64-linux=fail Co-authored-by: Billy Robert O'Neal III Co-authored-by: Jonliu1993 <13720414433@163.com> --- ports/pugixml/CONTROL | 2 +- ports/pugixml/portfile.cmake | 4 ++-- scripts/ci.baseline.txt | 1 + versions/baseline.json | 2 +- versions/p-/pugixml.json | 5 +++++ 5 files changed, 10 insertions(+), 4 deletions(-) diff --git a/ports/pugixml/CONTROL b/ports/pugixml/CONTROL index 65e6732495b46c..910ad83294056b 100644 --- a/ports/pugixml/CONTROL +++ b/ports/pugixml/CONTROL @@ -1,4 +1,4 @@ Source: pugixml -Version: 1.11.1 +Version: 1.11.4 Homepage: https://github.com/zeux/pugixml Description: Light-weight, simple and fast XML parser for C++ with XPath support diff --git a/ports/pugixml/portfile.cmake b/ports/pugixml/portfile.cmake index 72381eb5d8d0da..c27b1a89daeddb 100644 --- a/ports/pugixml/portfile.cmake +++ b/ports/pugixml/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO zeux/pugixml - REF v1.11.1 - SHA512 94a79a28d96e763cdd8951c4d0b20aefb43cd1b32cbf5a5354b09f2636710e960e2dbfa56534b61c8d6ddecb2126a006e5f485c1465a97376e1cc077df25f16e + REF v1.11.4 + SHA512 a1fdf4cbd744318fd339362465472279767777b18a3c8c7e8618d5e637213c632bf9dd8144d16ae22a75cfbde007f383e2feb49084e681c930fc89a2e3f2bc4f HEAD_REF master ) diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 11db8efbd24b03..aaa4411bf76714 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -1172,6 +1172,7 @@ paho-mqtt:arm-uwp=fail paho-mqtt:x64-uwp=fail pangomm:x64-osx=fail pangomm:arm64-windows=fail +paraview:x64-linux=fail parmetis:x64-linux=fail parmetis:x64-osx=fail pdal:x64-linux=fail diff --git a/versions/baseline.json b/versions/baseline.json index fb521d2f97ec0c..407aba67cd7f36 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -4705,7 +4705,7 @@ "port-version": 0 }, "pugixml": { - "baseline": "1.11.1", + "baseline": "1.11.4", "port-version": 0 }, "pybind11": { diff --git a/versions/p-/pugixml.json b/versions/p-/pugixml.json index dfa40fa5d4fc75..36215e5f84a9a1 100644 --- a/versions/p-/pugixml.json +++ b/versions/p-/pugixml.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "64fda47a7f4dd9fc10c60169c4f5e0b069481199", + "version-string": "1.11.4", + "port-version": 0 + }, { "git-tree": "3c0bf3af0be3a7df2f1ee8f65223b6fc49947b35", "version-string": "1.11.1", From 7115ef469d20bf4a3aba3dcfbb38629bcc57ac5b Mon Sep 17 00:00:00 2001 From: pastdue <30942300+past-due@users.noreply.github.com> Date: Thu, 28 Jan 2021 22:38:32 -0500 Subject: [PATCH 0064/1735] vcpkg_configure_make: Support macOS cross-compile (#15659) * vcpkg_configure_make: Support macOS cross-compile * Move compiler flags logic to get_cmake_vars * Better match the arch behavior of config.guess * Apply suggestions from code review Co-authored-by: Billy O'Neal Co-authored-by: Billy O'Neal --- scripts/cmake/vcpkg_configure_make.cmake | 43 ++++++++++++++++++++++-- scripts/get_cmake_vars/CMakeLists.txt | 32 ++++++++++++++---- 2 files changed, 67 insertions(+), 8 deletions(-) diff --git a/scripts/cmake/vcpkg_configure_make.cmake b/scripts/cmake/vcpkg_configure_make.cmake index 122281f42dace2..c30de38bd3b251 100644 --- a/scripts/cmake/vcpkg_configure_make.cmake +++ b/scripts/cmake/vcpkg_configure_make.cmake @@ -139,6 +139,26 @@ macro(_vcpkg_determine_autotools_target_cpu out_var) endif() endmacro() +macro(_vcpkg_determine_autotools_host_arch_mac out_var) + set(${out_var} "${VCPKG_DETECTED_CMAKE_HOST_SYSTEM_PROCESSOR}") +endmacro() + +macro(_vcpkg_determine_autotools_target_arch_mac out_var) + list(LENGTH VCPKG_OSX_ARCHITECTURES _num_osx_archs) + if(_num_osx_archs GREATER_EQUAL 2) + set(${out_var} "universal") + else() + # Better match the arch behavior of config.guess + # See: https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD + if(VCPKG_OSX_ARCHITECTURES MATCHES "^(ARM|arm)64$") + set(${out_var} "aarch64") + else() + set(${out_var} "${VCPKG_OSX_ARCHITECTURES}") + endif() + endif() + unset(_num_osx_archs) +endmacro() + macro(_vcpkg_backup_env_variable envvar) if(DEFINED ENV{${envvar}}) set(${envvar}_BACKUP "$ENV{${envvar}}") @@ -407,6 +427,25 @@ function(vcpkg_configure_make) set(prefix_var "\${prefix}") endif() + # macOS - cross-compiling support + if(VCPKG_TARGET_IS_OSX) + if (_csc_AUTOCONFIG AND NOT _csc_BUILD_TRIPLET OR _csc_DETERMINE_BUILD_TRIPLET) + _vcpkg_determine_autotools_host_arch_mac(BUILD_ARCH) # machine you are building on => --build= + _vcpkg_determine_autotools_target_arch_mac(TARGET_ARCH) + # --build: the machine you are building on + # --host: the machine you are building for + # --target: the machine that CC will produce binaries for + # https://stackoverflow.com/questions/21990021/how-to-determine-host-value-for-configure-when-using-cross-compiler + # Only for ports using autotools so we can assume that they follow the common conventions for build/target/host + set(_csc_BUILD_TRIPLET "--build=${BUILD_ARCH}-apple-darwin") + if(NOT "${TARGET_ARCH}" STREQUAL "${BUILD_ARCH}") # we don't need to specify the additional flags if we build natively. + + list(APPEND _csc_BUILD_TRIPLET "--host=${TARGET_ARCH}-apple-darwin") # (Host activates crosscompilation; The name given here is just the prefix of the host tools for the target) + endif() + debug_message("Using make triplet: ${_csc_BUILD_TRIPLET}") + endif() + endif() + # Cleanup previous build dirs file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg" @@ -671,8 +710,8 @@ function(vcpkg_configure_make) if (CMAKE_HOST_WIN32) set(command ${base_cmd} -c "${CONFIGURE_ENV} ./${RELATIVE_BUILD_PATH}/configure ${_csc_BUILD_TRIPLET} ${_csc_OPTIONS} ${_csc_OPTIONS_${_buildtype}}") else() - find_program(BASH bash REQUIRED) - set(command "${BASH}" "./${RELATIVE_BUILD_PATH}/configure" ${_csc_BUILD_TRIPLET} ${_csc_OPTIONS} ${_csc_OPTIONS_${_buildtype}}) + find_program(BASH bash REQUIRED) + set(command "${BASH}" "./${RELATIVE_BUILD_PATH}/configure" ${_csc_BUILD_TRIPLET} ${_csc_OPTIONS} ${_csc_OPTIONS_${_buildtype}}) endif() if(_csc_ADD_BIN_TO_PATH) set(PATH_BACKUP $ENV{PATH}) diff --git a/scripts/get_cmake_vars/CMakeLists.txt b/scripts/get_cmake_vars/CMakeLists.txt index 45a53989b56a6b..6be594787392e4 100644 --- a/scripts/get_cmake_vars/CMakeLists.txt +++ b/scripts/get_cmake_vars/CMakeLists.txt @@ -48,6 +48,12 @@ foreach(flag IN LISTS FLAGS) endforeach() list(REMOVE_DUPLICATES VCPKG_DEFAULT_FLAGS_TO_CHECK) +#Language-specific flags. +foreach(_lang IN LISTS VCPKG_LANGUAGES) + list(APPEND VCPKG_LANG_FLAGS CMAKE_${_lang}_FLAGS) +endforeach() +list(REMOVE_DUPLICATES VCPKG_LANG_FLAGS) + # TODO if ever necessary: Properties to check set(VCPKG_VAR_PREFIX "VCPKG_DETECTED" CACHE STRING "Variable prefix to use for detected flags") @@ -81,17 +87,31 @@ foreach(_env IN LISTS VCPKG_ENV_VARS_TO_CHECK) endif() endforeach() +macro(_vcpkg_adjust_flags flag_var) + if(MSVC) # Transform MSVC /flags to -flags due to bash scripts intepreting /flag as a path. + string(REGEX REPLACE "(^| )/" "\\1-" ${flag_var} "${${flag_var}}") + endif() + if(CMAKE_SYSTEM_NAME MATCHES "Darwin") + if("${flag_var}" IN_LIST VCPKG_LANG_FLAGS) + # macOS - append arch and isysroot if cross-compiling + if(NOT "${CMAKE_OSX_ARCHITECTURES}" STREQUAL "${CMAKE_HOST_SYSTEM_PROCESSOR}") + + foreach(arch IN LISTS CMAKE_OSX_ARCHITECTURES) + string(APPEND ${flag_var} " -arch ${arch}") + endforeach() + string(APPEND ${flag_var} " -isysroot ${CMAKE_OSX_SYSROOT}") + endif() + endif() + endif() +endmacro() + foreach(flag IN LISTS VCPKG_FLAGS_TO_CHECK) string(STRIP "${${flag}}" ${flag}) # Strip leading and trailing whitespaces - if(MSVC) # Transform MSVC /flags to -flags due to bash scripts intepreting /flag as a path. - string(REGEX REPLACE "(^| )/" "\\1-" ${flag} "${${flag}}") - endif() + _vcpkg_adjust_flags(${flag}) string(APPEND OUTPUT_STRING "set(${VCPKG_VAR_PREFIX}_RAW_${flag} \" ${${flag}}\")\n") foreach(config IN LISTS VCPKG_CONFIGS) string(STRIP "${${flag}_${config}}" ${flag}_${config}) - if(MSVC) - string(REGEX REPLACE "(^| )/" "\\1-" ${flag}_${config} "${${flag}_${config}}") - endif() + _vcpkg_adjust_flags(${flag}_${config}) string(APPEND OUTPUT_STRING "set(${VCPKG_VAR_PREFIX}_RAW_${flag}_${config} \"${CMAKE_${flag}_FLAGS_${config}}\")\n") set(COMBINED_${flag}_${config} "${${flag}} ${${flag}_${config}}") string(STRIP "${COMBINED_${flag}_${config}}" COMBINED_${flag}_${config}) From 0e3198878b8666812b437eb075f1296b2dff67e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jack=C2=B7Boos=C2=B7Yu?= <47264268+JackBoosY@users.noreply.github.com> Date: Thu, 28 Jan 2021 19:41:44 -0800 Subject: [PATCH 0065/1735] [libpq] Fix install tool pg_config on Linux (#15748) * [libpq] Fix install tool pg_config * update baseline * [libpq] Use vcpkg_copy_tool_dependencies instead * update baseline * [libpq] Fix install tool pg_config * update baseline * [libpq] Use vcpkg_copy_tool_dependencies instead * update baseline --- ports/libpq/CONTROL | 2 +- ports/libpq/portfile.cmake | 4 ++-- versions/baseline.json | 2 +- versions/l-/libpq.json | 5 +++++ 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/ports/libpq/CONTROL b/ports/libpq/CONTROL index fa6ea6d91c1140..5d535ff7238fd7 100644 --- a/ports/libpq/CONTROL +++ b/ports/libpq/CONTROL @@ -1,6 +1,6 @@ Source: libpq Version: 12.2 -Port-Version: 10 +Port-Version: 11 Build-Depends: libpq[core,bonjour] (osx) Supports: !uwp Homepage: https://www.postgresql.org/ diff --git a/ports/libpq/portfile.cmake b/ports/libpq/portfile.cmake index 91f6e36435c69b..427aed5b118277 100644 --- a/ports/libpq/portfile.cmake +++ b/ports/libpq/portfile.cmake @@ -297,8 +297,8 @@ else() if(NOT HAS_TOOLS) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) else() - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/${PORT}) - file(RENAME ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/tools/${PORT}) + vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug) endif() set(USE_DL ON) endif() diff --git a/versions/baseline.json b/versions/baseline.json index 407aba67cd7f36..8e1b31d6c043e3 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3238,7 +3238,7 @@ }, "libpq": { "baseline": "12.2", - "port-version": 10 + "port-version": 11 }, "libpqxx": { "baseline": "7.3.1", diff --git a/versions/l-/libpq.json b/versions/l-/libpq.json index fca613ba448455..a076337a1a6791 100644 --- a/versions/l-/libpq.json +++ b/versions/l-/libpq.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "e09ebfc1a310be48ed9f5f3e6d2a648cfddff424", + "version-string": "12.2", + "port-version": 11 + }, { "git-tree": "7c4dbe4fcb780bed98e6b55ccf039b77c7a5be68", "version-string": "12.2", From 865de0c130f3d34174ac7a410789df3c44a27fd2 Mon Sep 17 00:00:00 2001 From: Charlie Barto Date: Thu, 28 Jan 2021 19:45:59 -0800 Subject: [PATCH 0066/1735] clarify the actions of vcpkg_check_linkage (#15832) Co-authored-by: Charles Barto --- docs/maintainers/vcpkg_check_linkage.md | 2 ++ scripts/cmake/vcpkg_check_linkage.cmake | 2 ++ 2 files changed, 4 insertions(+) diff --git a/docs/maintainers/vcpkg_check_linkage.md b/docs/maintainers/vcpkg_check_linkage.md index f9c149b683fc30..66760675e8e22c 100644 --- a/docs/maintainers/vcpkg_check_linkage.md +++ b/docs/maintainers/vcpkg_check_linkage.md @@ -14,6 +14,8 @@ vcpkg_check_linkage( ### ONLY_STATIC_LIBRARY Indicates that this port can only be built with static library linkage. +Note: If the user requested a dynamic build ONLY_STATIC_LIBRARY will result in a note being printed, not a fatal error. + ### ONLY_DYNAMIC_LIBRARY Indicates that this port can only be built with dynamic/shared library linkage. diff --git a/scripts/cmake/vcpkg_check_linkage.cmake b/scripts/cmake/vcpkg_check_linkage.cmake index 9a8a7acb0210b9..97e29bad7fff37 100644 --- a/scripts/cmake/vcpkg_check_linkage.cmake +++ b/scripts/cmake/vcpkg_check_linkage.cmake @@ -15,6 +15,8 @@ vcpkg_check_linkage( ### ONLY_STATIC_LIBRARY Indicates that this port can only be built with static library linkage. +Note: If the user requested a dynamic build ONLY_STATIC_LIBRARY will result in a note being printed, not a fatal error. + ### ONLY_DYNAMIC_LIBRARY Indicates that this port can only be built with dynamic/shared library linkage. From 401b26c9866a071f645ae57831caa419b2c48be1 Mon Sep 17 00:00:00 2001 From: ras0219 <533828+ras0219@users.noreply.github.com> Date: Fri, 29 Jan 2021 11:04:53 -0800 Subject: [PATCH 0067/1735] [vcpkg] Teach vcpkg.targets to emit a .tlog, enabling up-to-date checks (#15898) Co-authored-by: Robert Schumacher --- scripts/buildsystems/msbuild/vcpkg.targets | 29 +++++++++++++++++++--- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/scripts/buildsystems/msbuild/vcpkg.targets b/scripts/buildsystems/msbuild/vcpkg.targets index 0ba7d8918c15f2..5f22d0fe5461c6 100644 --- a/scripts/buildsystems/msbuild/vcpkg.targets +++ b/scripts/buildsystems/msbuild/vcpkg.targets @@ -30,6 +30,7 @@ debug\ true + VcpkgTriplet=$(VcpkgTriplet):$(ProjectStateLine) @@ -68,15 +69,35 @@ Importance="High" Condition="'$(VcpkgEnabled)' == 'true' and '$(VcpkgNormalizedConfiguration)' == ''"/> + + <_VcpkgInstallManifestDependenciesInputs Include="$(VcpkgManifestRoot)vcpkg.json"/> + <_VcpkgInstallManifestDependenciesInputs Include="$(VcpkgManifestRoot)vcpkg-configuration.json" Condition="Exists('$(VcpkgManifestRoot)vcpkg-configuration.json')"/> + + - - + + + + <_VcpkgItemToDelete Include="$(TLogLocation)VcpkgInstallManifest*.read.1u.tlog" /> + + + + + + + + + Condition="'$(VcpkgEnabled)' == 'true' and '$(VcpkgApplocalDeps)' == 'true' and '$(LinkSkippedExecution)' != 'true'"> <_VcpkgAppLocalPowerShellCommonArguments>-ExecutionPolicy Bypass -noprofile -File "$(MSBuildThisFileDirectory)applocal.ps1" "$(TargetPath)" "$(VcpkgCurrentInstalledDir)$(VcpkgConfigSubdir)bin" "$(TLogLocation)$(ProjectName).write.1u.tlog" "$(IntDir)vcpkg.applocal.log" From fe5678ba8ac65013ee66fd69cbd3de60b01b67f7 Mon Sep 17 00:00:00 2001 From: evpobr Date: Tue, 2 Feb 2021 08:24:11 +0500 Subject: [PATCH 0068/1735] [libsamplerate] Update to 0.2.1 (#15954) --- ports/libsamplerate/portfile.cmake | 4 ++-- ports/libsamplerate/vcpkg.json | 2 +- versions/baseline.json | 2 +- versions/l-/libsamplerate.json | 5 +++++ 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/ports/libsamplerate/portfile.cmake b/ports/libsamplerate/portfile.cmake index 1085ef269ae1e8..3066cb21369004 100644 --- a/ports/libsamplerate/portfile.cmake +++ b/ports/libsamplerate/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libsndfile/libsamplerate - REF 0.2.0 - SHA512 6a12506ad391a557fcc354c7bb5767ae71349da26bf31753b806a36449cfc879ef97e4d25adab5722a9540ec1539203c6155b4581e42bdb8b6708dca1f089d11 + REF 0.2.1 + SHA512 ee661f0f1010f19af623edfa0b52960f9397a99583919a1cc758915e68478271f287ee24bf1ba62ad44413846dff9456d8f7500e9c01290df3a57e58873eaa8f HEAD_REF master ) diff --git a/ports/libsamplerate/vcpkg.json b/ports/libsamplerate/vcpkg.json index 6b4bd48fe8a869..83d9709f0f9ad5 100644 --- a/ports/libsamplerate/vcpkg.json +++ b/ports/libsamplerate/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libsamplerate", - "version-string": "0.2.0", + "version-string": "0.2.1", "description": "Sample Rate Converter for audio", "homepage": "http://libsndfile.github.io/libsamplerate/" } diff --git a/versions/baseline.json b/versions/baseline.json index 8e1b31d6c043e3..7943df81510706 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3301,7 +3301,7 @@ "port-version": 0 }, "libsamplerate": { - "baseline": "0.2.0", + "baseline": "0.2.1", "port-version": 0 }, "libsass": { diff --git a/versions/l-/libsamplerate.json b/versions/l-/libsamplerate.json index 09d9618d7df6c9..e7f2a9813eebc9 100644 --- a/versions/l-/libsamplerate.json +++ b/versions/l-/libsamplerate.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "658d28f9892b0676577bb6b61b3eff7d2730e72e", + "version-string": "0.2.1", + "port-version": 0 + }, { "git-tree": "5247f6ff1ca88bae029dc84a18a5a6333e561a85", "version-string": "0.2.0", From 1188a3fe9b98f226d9f527f81366be98c14829ca Mon Sep 17 00:00:00 2001 From: evpobr Date: Tue, 2 Feb 2021 08:24:40 +0500 Subject: [PATCH 0069/1735] [libsndfile] Update to 1.0.31 (#15953) * [libsndfile] Update to 1.0.31 * update version Co-authored-by: Jonliu1993 <13720414433@163.com> --- ports/libsndfile/portfile.cmake | 4 ++-- ports/libsndfile/vcpkg.json | 3 +-- versions/baseline.json | 4 ++-- versions/l-/libsndfile.json | 5 +++++ 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/ports/libsndfile/portfile.cmake b/ports/libsndfile/portfile.cmake index 77141fb69caeda..ad84e3315b43ad 100644 --- a/ports/libsndfile/portfile.cmake +++ b/ports/libsndfile/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libsndfile/libsndfile - REF 68958f9c9199dad97dcd10700df3746b2cd9b8a3 # v1.0.30 - SHA512 4f2af061af5d5b26106ed11e33f04930a57c79ca0e18ef5fe32255c3f555bfa7b9192db7ff0f34f782d85b2ee40662182073e1abf4a73f448c47b67c26bb5b53 + REF 1.0.31 + SHA512 5767ced306f2d300aa2014d383c22f3ee9a4fe1ffb2c463405bc26209ede09a9cfb95e1c08256db36e986d2b30151c38dbe635a3cae0b7138d7de485e2084891 HEAD_REF master ) diff --git a/ports/libsndfile/vcpkg.json b/ports/libsndfile/vcpkg.json index 33556df7a66b72..e0d0acc68c3ae2 100644 --- a/ports/libsndfile/vcpkg.json +++ b/ports/libsndfile/vcpkg.json @@ -1,7 +1,6 @@ { "name": "libsndfile", - "version-string": "1.0.30", - "port-version": 1, + "version-string": "1.0.31", "description": "Library to read, write and manipulate many soundfile types. Authored by Eric de Castro Lopo", "homepage": "https://github.com/erikd/libsndfile", "license": "LGPL-2.1", diff --git a/versions/baseline.json b/versions/baseline.json index 7943df81510706..9ade36f6461b3c 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3321,8 +3321,8 @@ "port-version": 0 }, "libsndfile": { - "baseline": "1.0.30", - "port-version": 1 + "baseline": "1.0.31", + "port-version": 0 }, "libsodium": { "baseline": "1.0.18", diff --git a/versions/l-/libsndfile.json b/versions/l-/libsndfile.json index 070a90791f456d..d0206cf84a9e2e 100644 --- a/versions/l-/libsndfile.json +++ b/versions/l-/libsndfile.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "587283d6fa07092beece87351d1361506293ff59", + "version-string": "1.0.31", + "port-version": 0 + }, { "git-tree": "03a5a8afe22b95df759e1f581e3a35d27ee99540", "version-string": "1.0.30", From 2e2c9c7ccb5f49edb17ed9f6224a4be4fe1475f3 Mon Sep 17 00:00:00 2001 From: JonLiu1993 <63675417+JonLiu1993@users.noreply.github.com> Date: Tue, 2 Feb 2021 11:24:55 +0800 Subject: [PATCH 0070/1735] [libjpeg-turbo] update to 2.0.6 (#15936) * [libjpeg-turbo] update to 2.0.6 * update version --- ports/libjpeg-turbo/CONTROL | 3 +-- ports/libjpeg-turbo/portfile.cmake | 4 ++-- versions/baseline.json | 4 ++-- versions/l-/libjpeg-turbo.json | 5 +++++ 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/ports/libjpeg-turbo/CONTROL b/ports/libjpeg-turbo/CONTROL index 1e5ad60c6f5f33..dd1c189875712c 100644 --- a/ports/libjpeg-turbo/CONTROL +++ b/ports/libjpeg-turbo/CONTROL @@ -1,6 +1,5 @@ Source: libjpeg-turbo -Version: 2.0.5 -Port-Version: 4 +Version: 2.0.6 Homepage: https://github.com/libjpeg-turbo/libjpeg-turbo Description: libjpeg-turbo is a JPEG image codec that uses SIMD instructions (MMX, SSE2, NEON, AltiVec) to accelerate baseline JPEG compression and decompression on x86, x86-64, ARM, and PowerPC systems. diff --git a/ports/libjpeg-turbo/portfile.cmake b/ports/libjpeg-turbo/portfile.cmake index 208d3ff6d40a73..302530c38568f7 100644 --- a/ports/libjpeg-turbo/portfile.cmake +++ b/ports/libjpeg-turbo/portfile.cmake @@ -5,8 +5,8 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libjpeg-turbo/libjpeg-turbo - REF ae87a958613b69628b92088b313ded0d4f59a716 # 2.0.5 - SHA512 25e8857a3542cc74c48775959f11811529fe6a853990cb285f91a6218c1cde5dd1e58043208e81709fb7a71c376396b2de1f20b53b2c5b8595ca097fa02992fd + REF 10ba6ed3365615ed5c2995fe2d240cb2d5000173 # 2.0.6 + SHA512 219d01907e66dd0fc20ea13cfa51a8efee305810f1245d0648b6ad8ee3cf11bf0bbd43b1ceeeb142a6ebbbfa281ec6a3b4e283b2fc343c360cd3ad29e9d42528 HEAD_REF master PATCHES add-options-for-exes-docs-headers.patch diff --git a/versions/baseline.json b/versions/baseline.json index 9ade36f6461b3c..b20b2907ad601c 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3045,8 +3045,8 @@ "port-version": 0 }, "libjpeg-turbo": { - "baseline": "2.0.5", - "port-version": 4 + "baseline": "2.0.6", + "port-version": 0 }, "libjuice": { "baseline": "0.6.0", diff --git a/versions/l-/libjpeg-turbo.json b/versions/l-/libjpeg-turbo.json index 46272052c51405..6bcdc411f77f4e 100644 --- a/versions/l-/libjpeg-turbo.json +++ b/versions/l-/libjpeg-turbo.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "42aed1a37d04ecdc437a4f52c6dd71740339f478", + "version-string": "2.0.6", + "port-version": 0 + }, { "git-tree": "0c5889f679a9404504230cb568df8f1f1263cbba", "version-string": "2.0.5", From 8ad8ba7a21428b3a7b41dffb4c6ca78499e3e9ce Mon Sep 17 00:00:00 2001 From: Ryan Mast Date: Mon, 1 Feb 2021 19:25:30 -0800 Subject: [PATCH 0071/1735] [libgcrypt] Update libgcrypt (#15950) * [libgrypt] Update version to 1.8.7 * [libgcrypt] update versions --- ports/libgcrypt/CONTROL | 4 ++-- ports/libgcrypt/portfile.cmake | 4 ++-- versions/baseline.json | 2 +- versions/l-/libgcrypt.json | 5 +++++ 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/ports/libgcrypt/CONTROL b/ports/libgcrypt/CONTROL index 6a9fe7d5b99e7a..1a1ae7916734e5 100644 --- a/ports/libgcrypt/CONTROL +++ b/ports/libgcrypt/CONTROL @@ -1,6 +1,6 @@ Source: libgcrypt -Version: 1.8.6 +Version: 1.8.7 Homepage: https://gnupg.org/software/libgcrypt/index.html Description: A library implementing the so-called Assuan protocol Build-Depends: libgpg-error -Supports: linux|osx \ No newline at end of file +Supports: linux|osx diff --git a/ports/libgcrypt/portfile.cmake b/ports/libgcrypt/portfile.cmake index 6b782f0e60518d..7c5784a0191d60 100644 --- a/ports/libgcrypt/portfile.cmake +++ b/ports/libgcrypt/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_fail_port_install(MESSAGE "${PORT} currently only supports unix platform" vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO gpg/libgcrypt - REF libgcrypt-1.8.6 - SHA512 85005b159048b7b47b3fc77e8be5b5b317b1ae73ef536d4e2d78496763b7b8c4f80c70016ed27fc60e998cbc7642d3cf487bd4c5e5a5d8abc8f8d51e02f330d1 + REF libgcrypt-1.8.7 + SHA512 43e50a1b8a3cdbf420171c785fe558f443b414b708defa585277ac5ea59f9d8ae7f4555ed291c16fa004e7d4dd93a5ab2011c3c591e784ce3c6662a3193fd3e1 HEAD_REF master PATCHES fix-pkgconfig.patch diff --git a/versions/baseline.json b/versions/baseline.json index b20b2907ad601c..c106dbfbabe4b9 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -2957,7 +2957,7 @@ "port-version": 0 }, "libgcrypt": { - "baseline": "1.8.6", + "baseline": "1.8.7", "port-version": 0 }, "libgd": { diff --git a/versions/l-/libgcrypt.json b/versions/l-/libgcrypt.json index 6624a4d98ef524..fc0e2c24743240 100644 --- a/versions/l-/libgcrypt.json +++ b/versions/l-/libgcrypt.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "3a7be352162b1187194ba75ff3514361213f77a6", + "version-string": "1.8.7", + "port-version": 0 + }, { "git-tree": "4fd1f0fdf10d205488c813a331b0547e9ab9bbc0", "version-string": "1.8.6", From d4ba955db2b9c5060affe4480944caeaef9a8e4c Mon Sep 17 00:00:00 2001 From: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> Date: Tue, 2 Feb 2021 11:26:35 +0800 Subject: [PATCH 0072/1735] [raylib] Fix usage (#15935) * [raylib] Fix usage * Update ports/raylib/CONTROL * Update versions * Update versions/r-/raylib.json --- ports/raylib/CONTROL | 1 + ports/raylib/portfile.cmake | 6 ++++++ ports/raylib/vcpkg-cmake-wrapper.cmake | 4 ++-- versions/baseline.json | 2 +- versions/r-/raylib.json | 5 +++++ 5 files changed, 15 insertions(+), 3 deletions(-) diff --git a/ports/raylib/CONTROL b/ports/raylib/CONTROL index d617a9189e44ef..925d94d1cb7c84 100644 --- a/ports/raylib/CONTROL +++ b/ports/raylib/CONTROL @@ -1,5 +1,6 @@ Source: raylib Version: 3.5.0 +Port-Version: 1 Description: A simple and easy-to-use library to enjoy videogames programming Homepage: https://github.com/raysan5/raylib Supports: !(arm|uwp) diff --git a/ports/raylib/portfile.cmake b/ports/raylib/portfile.cmake index a3af4172eb52d5..965d3f225e6f6f 100644 --- a/ports/raylib/portfile.cmake +++ b/ports/raylib/portfile.cmake @@ -56,6 +56,12 @@ vcpkg_copy_pdbs() vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) +configure_file( + ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake + ${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake + @ONLY +) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share diff --git a/ports/raylib/vcpkg-cmake-wrapper.cmake b/ports/raylib/vcpkg-cmake-wrapper.cmake index 34484ea6fe3e41..2d7560eb0f3e46 100644 --- a/ports/raylib/vcpkg-cmake-wrapper.cmake +++ b/ports/raylib/vcpkg-cmake-wrapper.cmake @@ -2,8 +2,8 @@ include(SelectLibraryConfigurations) find_path(RAYLIB_INCLUDE_DIR raylib.h) -find_library(RAYLIB_LIBRARY_DEBUG NAMES raylib libraylib NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug" NO_DEFAULT_PATH REQUIRED) -find_library(RAYLIB_LIBRARY_RELEASE NAMES raylib libraylib NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" NO_DEFAULT_PATH REQUIRED) +find_library(RAYLIB_LIBRARY_DEBUG NAMES raylib libraylib raylib_static NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug" NO_DEFAULT_PATH REQUIRED) +find_library(RAYLIB_LIBRARY_RELEASE NAMES raylib libraylib raylib_static NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" NO_DEFAULT_PATH REQUIRED) select_library_configurations(RAYLIB) diff --git a/versions/baseline.json b/versions/baseline.json index c106dbfbabe4b9..b7e89b59c2177f 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -5006,7 +5006,7 @@ }, "raylib": { "baseline": "3.5.0", - "port-version": 0 + "port-version": 1 }, "rbdl": { "baseline": "2.6.0", diff --git a/versions/r-/raylib.json b/versions/r-/raylib.json index 49226f0b73b112..b70356c45d7001 100644 --- a/versions/r-/raylib.json +++ b/versions/r-/raylib.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "b517bb75982839f879e33ed72c13ba824f7f7547", + "version-string": "3.5.0", + "port-version": 1 + }, { "git-tree": "5f584abef9d068dcada1382034eac435d75fd21d", "version-string": "3.5.0", From bc28e2f57791b5aa6227b154fe4016a1f5b7cd67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20B=C3=A9dard-Couture?= Date: Mon, 1 Feb 2021 22:27:07 -0500 Subject: [PATCH 0073/1735] [fast-cpp-csv-parser ] Update to the latest commit: Fixes compiler warnings (#15943) * Update port to latest commit: Fixes compiler warnings * update version Co-authored-by: Jonliu1993 <13720414433@163.com> --- ports/fast-cpp-csv-parser/CONTROL | 2 +- ports/fast-cpp-csv-parser/portfile.cmake | 4 ++-- versions/baseline.json | 2 +- versions/f-/fast-cpp-csv-parser.json | 5 +++++ 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/ports/fast-cpp-csv-parser/CONTROL b/ports/fast-cpp-csv-parser/CONTROL index a9766a66a20958..aab47496f0a217 100644 --- a/ports/fast-cpp-csv-parser/CONTROL +++ b/ports/fast-cpp-csv-parser/CONTROL @@ -1,4 +1,4 @@ Source: fast-cpp-csv-parser -Version: 2019-08-14 +Version: 2021-01-03 Description: A small, easy-to-use and fast header-only library for reading comma separated value (CSV) files Homepage: https://github.com/ben-strasser/fast-cpp-csv-parser diff --git a/ports/fast-cpp-csv-parser/portfile.cmake b/ports/fast-cpp-csv-parser/portfile.cmake index 200e767cd7992d..212c97ed947a9d 100644 --- a/ports/fast-cpp-csv-parser/portfile.cmake +++ b/ports/fast-cpp-csv-parser/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ben-strasser/fast-cpp-csv-parser - REF 78f413248fdeea27368481c4a1d48c059ac36680 - SHA512 f8eb477e0b5e82f5b5d7bdf045094dcc59433e7b6305a1e16e45c2c24f4bbb7f6e9540e17a8ffafce29ea2ebe3a2647174824abe80da5f2054f7df3d7da8c28d + REF 75600d0b77448e6c410893830df0aec1dbacf8e3 + SHA512 aab418e98eb895dabd6369b186b7a55beddb84b89e358395a9f125829074916eff9086d80f9cd342d1bfd91acacc7103875c970a84164b75fff259cc93729285 HEAD_REF master ) diff --git a/versions/baseline.json b/versions/baseline.json index b7e89b59c2177f..91fb31ba24120b 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -1837,7 +1837,7 @@ "port-version": 2 }, "fast-cpp-csv-parser": { - "baseline": "2019-08-14", + "baseline": "2021-01-03", "port-version": 0 }, "fastcdr": { diff --git a/versions/f-/fast-cpp-csv-parser.json b/versions/f-/fast-cpp-csv-parser.json index 65870fed97652c..3fa617b74c4910 100644 --- a/versions/f-/fast-cpp-csv-parser.json +++ b/versions/f-/fast-cpp-csv-parser.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "f1f6fcd862c655b0884eb40931852c6db8a938e4", + "version-string": "2021-01-03", + "port-version": 0 + }, { "git-tree": "e2987a08764b26275d4ed8fc728b9460acc9db5e", "version-string": "2019-08-14", From d97ce7dfc24939519c93978524766967fb5d95aa Mon Sep 17 00:00:00 2001 From: Stefano Sinigardi Date: Tue, 2 Feb 2021 04:27:34 +0100 Subject: [PATCH 0074/1735] [meson] fix single-config builds (#15937) --- scripts/cmake/vcpkg_install_meson.cmake | 30 ++++++++++++++----------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/scripts/cmake/vcpkg_install_meson.cmake b/scripts/cmake/vcpkg_install_meson.cmake index 2162029180222c..18cd03e6c7a822 100644 --- a/scripts/cmake/vcpkg_install_meson.cmake +++ b/scripts/cmake/vcpkg_install_meson.cmake @@ -30,19 +30,23 @@ function(vcpkg_install_meson) set(ENV{MACOSX_DEPLOYMENT_TARGET} "${VCPKG_DETECTED_CMAKE_OSX_DEPLOYMENT_TARGET}") endif() - 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 - ) + 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() - message(STATUS "Package ${TARGET_TRIPLET}-dbg") - vcpkg_execute_required_process( - COMMAND ${NINJA} install -v - WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg - LOGNAME package-${TARGET_TRIPLET}-dbg - ) + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + message(STATUS "Package ${TARGET_TRIPLET}-dbg") + vcpkg_execute_required_process( + COMMAND ${NINJA} install -v + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg + LOGNAME package-${TARGET_TRIPLET}-dbg + ) + endif() set(RENAMED_LIBS) if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL static) @@ -54,7 +58,7 @@ function(vcpkg_install_meson) string(REGEX REPLACE ".a$" ".lib" LIBNAMENEW "${LIBNAME}") string(REGEX REPLACE "^lib" "" LIBNAMENEW "${LIBNAMENEW}") file(RENAME "${_library}" "${LIBDIR}/${LIBNAMENEW}") - # For cmake fixes. + # For cmake fixes. string(REGEX REPLACE ".a$" "" LIBRAWNAMEOLD "${LIBNAME}") string(REGEX REPLACE ".lib$" "" LIBRAWNAMENEW "${LIBNAMENEW}") list(APPEND RENAMED_LIBS ${LIBRAWNAMENEW}) From bbb50a7d8b009a6911c598058f0248cd8d752fbb Mon Sep 17 00:00:00 2001 From: miheer vaidya Date: Tue, 2 Feb 2021 14:45:32 -0700 Subject: [PATCH 0075/1735] [libconfig] Fix libconfig when installing master branch (#15885) * Fix libconfig when installing master branch Also add a warning that stable version won't create cmakeConfig files * run x-add-version * Update ports/libconfig/portfile.cmake Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> * Update ports/libconfig/portfile.cmake Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> * Update ports/libconfig/portfile.cmake Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> * Update ports/libconfig/portfile.cmake Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> * Revert "run x-add-version" This reverts commit 79b9ef86933a79012be9866ef638c8cee5abf02d. * run x-add-version libconfig Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> --- ports/libconfig/CONTROL | 2 +- ports/libconfig/portfile.cmake | 33 +++++++++++++++++++++++++-------- versions/baseline.json | 2 +- versions/l-/libconfig.json | 5 +++++ 4 files changed, 32 insertions(+), 10 deletions(-) diff --git a/ports/libconfig/CONTROL b/ports/libconfig/CONTROL index f3a6342401edf4..5a8555e106069d 100644 --- a/ports/libconfig/CONTROL +++ b/ports/libconfig/CONTROL @@ -1,5 +1,5 @@ Source: libconfig Version: 1.7.2 -Port-Version: 3 +Port-Version: 4 Homepage: https://github.com/hyperrealm/libconfig Description: C/C++ library for processing configuration files diff --git a/ports/libconfig/portfile.cmake b/ports/libconfig/portfile.cmake index dd5a4482b1e71e..eb6d305bfedc9a 100644 --- a/ports/libconfig/portfile.cmake +++ b/ports/libconfig/portfile.cmake @@ -6,19 +6,36 @@ vcpkg_from_github( HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) - - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON -) +if (NOT VCPKG_USE_HEAD_VERSION) + message("If you would like to use cmake with the port, use `--head` option with vcpkg install.") + file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +endif() + +if (NOT VCPKG_USE_HEAD_VERSION) + vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON + ) +else() + vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DBUILD_EXAMPLES=OFF + -DBUILD_TESTS=OFF + ) +endif() vcpkg_install_cmake() vcpkg_copy_pdbs() +if (VCPKG_USE_HEAD_VERSION) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libconfig) +endif() + foreach(FILE ${CURRENT_PACKAGES_DIR}/include/libconfig.h++ ${CURRENT_PACKAGES_DIR}/include/libconfig.h) file(READ ${FILE} _contents) string(REPLACE "defined(LIBCONFIGXX_EXPORTS)" "0" _contents "${_contents}") diff --git a/versions/baseline.json b/versions/baseline.json index 91fb31ba24120b..3832e0b3ab28de 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -2866,7 +2866,7 @@ }, "libconfig": { "baseline": "1.7.2", - "port-version": 3 + "port-version": 4 }, "libconfuse": { "baseline": "2019-07-14", diff --git a/versions/l-/libconfig.json b/versions/l-/libconfig.json index 45a6c7df81463f..6d7eeafa11e440 100644 --- a/versions/l-/libconfig.json +++ b/versions/l-/libconfig.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "079c1b8cc62fe544a3277a949422bd68c57e0c45", + "version-string": "1.7.2", + "port-version": 4 + }, { "git-tree": "c82b5fbc0a37ebd11ecb4f87b9d63df2552805e7", "version-string": "1.7.2", From 1ce08c0fc7d5b59e50b51c01ef8731ce1880ffc8 Mon Sep 17 00:00:00 2001 From: Marek Roszko Date: Tue, 2 Feb 2021 17:28:38 -0500 Subject: [PATCH 0076/1735] [ngspice] build codemodel extension libraries (#15882) * [ngspice] build codemodel extension libraries * tabs -> spaces * [ngspice] make codemodels a feature * [ngspice] Improve portfile.cmake * update version record Co-authored-by: JackBoosY --- ports/ngspice/CONTROL | 5 ++ ports/ngspice/portfile.cmake | 68 +++++++++++++------ ...l.patch => use-winbison-sharedspice.patch} | 0 ports/ngspice/use-winbison-vngspice.patch | 50 ++++++++++++++ versions/baseline.json | 2 +- versions/n-/ngspice.json | 5 ++ 6 files changed, 109 insertions(+), 21 deletions(-) rename ports/ngspice/{use-winbison-global.patch => use-winbison-sharedspice.patch} (100%) create mode 100644 ports/ngspice/use-winbison-vngspice.patch diff --git a/ports/ngspice/CONTROL b/ports/ngspice/CONTROL index 52d04f3aaa87d7..c11036c4becc22 100644 --- a/ports/ngspice/CONTROL +++ b/ports/ngspice/CONTROL @@ -1,5 +1,10 @@ Source: ngspice Version: 33 +Port-Version: 1 Homepage: http://ngspice.sourceforge.net/ Description: Ngspice is a mixed-level/mixed-signal electronic circuit simulator. It is a successor of the latest stable release of Berkeley SPICE Supports: !(linux|osx|arm|uwp) +Default-Features: codemodels + +Feature: codemodels +Description: Adds optional code models for XSPICE, ADMS (verilog integration) and B-/E-/G- sources. diff --git a/ports/ngspice/portfile.cmake b/ports/ngspice/portfile.cmake index 538a02f5e6c62c..1c85e113389bed 100644 --- a/ports/ngspice/portfile.cmake +++ b/ports/ngspice/portfile.cmake @@ -12,7 +12,8 @@ vcpkg_from_sourceforge( FILENAME "ngspice-33.tar.gz" SHA512 895e39f7de185df18bf443a9fa5691cdb3bf0a5091d9860d20ccb02254ef396a4cca5a1c8bf4ba19a03783fc89bb86649218cee977b0fe4565d3c84548943c09 PATCHES - use-winbison-global.patch + use-winbison-sharedspice.patch + use-winbison-vngspice.patch ) vcpkg_find_acquire_program(BISON) @@ -20,33 +21,60 @@ vcpkg_find_acquire_program(BISON) get_filename_component(BISON_DIR "${BISON}" DIRECTORY) vcpkg_add_to_path(PREPEND "${BISON_DIR}") -# Ensure its windows -if (VCPKG_TARGET_IS_WINDOWS) - # Sadly, vcpkg globs .libs inside install_msbuild and whines that the 47 year old SPICE format isn't a MSVC lib ;) - # We need to kill them off first before the source tree is copied to a tmp location by install_msbuild +# Sadly, vcpkg globs .libs inside install_msbuild and whines that the 47 year old SPICE format isn't a MSVC lib ;) +# We need to kill them off first before the source tree is copied to a tmp location by install_msbuild - file(REMOVE_RECURSE ${SOURCE_PATH}/contrib) - file(REMOVE_RECURSE ${SOURCE_PATH}/examples) - file(REMOVE_RECURSE ${SOURCE_PATH}/man) - file(REMOVE_RECURSE ${SOURCE_PATH}/tests) +file(REMOVE_RECURSE ${SOURCE_PATH}/contrib) +file(REMOVE_RECURSE ${SOURCE_PATH}/examples) +file(REMOVE_RECURSE ${SOURCE_PATH}/man) +file(REMOVE_RECURSE ${SOURCE_PATH}/tests) - vcpkg_install_msbuild( - SOURCE_PATH ${SOURCE_PATH} +# this builds the main dll +vcpkg_install_msbuild( + SOURCE_PATH ${SOURCE_PATH} + INCLUDES_SUBPATH /src/include + LICENSE_SUBPATH COPYING + # install_msbuild swaps x86 for win32(bad) if we dont force our own setting + PLATFORM ${TRIPLET_SYSTEM_ARCH} + PROJECT_SUBPATH visualc/sharedspice.sln + TARGET Build +) + +if("codemodels" IN_LIST FEATURES) + # vngspice generates "codemodels" to enhance simulation capabilities + # we cannot use install_msbuild as they output with ".cm" extensions on purpose + set(BUILDTREE_PATH ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}) + file(REMOVE_RECURSE ${BUILDTREE_PATH}) + file(COPY ${SOURCE_PATH}/ DESTINATION ${BUILDTREE_PATH}) + + vcpkg_build_msbuild( + PROJECT_PATH ${BUILDTREE_PATH}/visualc/vngspice.sln INCLUDES_SUBPATH /src/include LICENSE_SUBPATH COPYING - # install_msbuild swaps x86 for win32(bad) if we dont force our own setting + # build_msbuild swaps x86 for win32(bad) if we dont force our own setting PLATFORM ${TRIPLET_SYSTEM_ARCH} - PROJECT_SUBPATH visualc/sharedspice.sln TARGET Build ) -else() - message(FATAL_ERROR "Sorry but ngspice only can be built in Windows") + + #put the code models in the intended location + file(GLOB NGSPICE_CODEMODELS_DEBUG + ${BUILDTREE_PATH}/visualc/codemodels/${TRIPLET_SYSTEM_ARCH}/Debug/*.cm + ) + file(COPY ${NGSPICE_CODEMODELS_DEBUG} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/ngspice) + + file(GLOB NGSPICE_CODEMODELS_RELEASE + ${BUILDTREE_PATH}/visualc/codemodels/${TRIPLET_SYSTEM_ARCH}/Release/*.cm + ) + file(COPY ${NGSPICE_CODEMODELS_RELEASE} DESTINATION ${CURRENT_PACKAGES_DIR}/lib/ngspice) + + + # copy over spinit (spice init) + file(RENAME ${BUILDTREE_PATH}/visualc/spinit_all ${BUILDTREE_PATH}/visualc/spinit) + file(COPY ${BUILDTREE_PATH}/visualc/spinit DESTINATION ${CURRENT_PACKAGES_DIR}/share/ngspice) endif() +vcpkg_copy_pdbs() + # Unforunately install_msbuild isn't able to dual include directories that effectively layer -file(GLOB NGSPICE_INCLUDES - ${SOURCE_PATH}/visualc/src/include/ngspice/* -) +file(GLOB NGSPICE_INCLUDES ${SOURCE_PATH}/visualc/src/include/ngspice/*) file(COPY ${NGSPICE_INCLUDES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/ngspice) - -vcpkg_copy_pdbs() diff --git a/ports/ngspice/use-winbison-global.patch b/ports/ngspice/use-winbison-sharedspice.patch similarity index 100% rename from ports/ngspice/use-winbison-global.patch rename to ports/ngspice/use-winbison-sharedspice.patch diff --git a/ports/ngspice/use-winbison-vngspice.patch b/ports/ngspice/use-winbison-vngspice.patch new file mode 100644 index 00000000000000..008bc686de8ca6 --- /dev/null +++ b/ports/ngspice/use-winbison-vngspice.patch @@ -0,0 +1,50 @@ +diff --git a/visualc/vngspice.vcxproj b/visualc/vngspice.vcxproj +index 2d1aa81..cf0f0c7 100644 +--- a/visualc/vngspice.vcxproj ++++ b/visualc/vngspice.vcxproj +@@ -2681,12 +2681,12 @@ + + + invoke win_bison.exe for %(Identity) +- ..\..\flex-bison\win_bison.exe --output=.\tmp-bison\%(Filename).c --defines=.\tmp-bison\%(Filename).h %(Identity) || exit 1 ++ win_bison.exe --output=.\tmp-bison\%(Filename).c --defines=.\tmp-bison\%(Filename).h %(Identity) || exit 1 + .\tmp-bison\%(Filename).c;.\tmp-bison\%(Filename).h + + + invoke win_bison.exe for %(Identity) +- ..\..\flex-bison\win_bison.exe --output=.\tmp-bison\%(Filename).c --defines=.\tmp-bison\%(Filename).h %(Identity) || exit 1 ++ win_bison.exe --output=.\tmp-bison\%(Filename).c --defines=.\tmp-bison\%(Filename).h %(Identity) || exit 1 + .\tmp-bison\%(Filename).c;.\tmp-bison\%(Filename).h + + +diff --git a/visualc/xspice/cmpp/cmpp.vcxproj b/visualc/xspice/cmpp/cmpp.vcxproj +index 78607a3..7bcc1a4 100644 +--- a/visualc/xspice/cmpp/cmpp.vcxproj ++++ b/visualc/xspice/cmpp/cmpp.vcxproj +@@ -157,22 +157,22 @@ + + + invoke win_flex.exe for %(Identity) +- ..\..\..\..\flex-bison\win_flex.exe --outfile=.\tmp-bison\%(Filename).c --header-file=.\tmp-bison\%(Filename).h %(Identity) || exit 1 ++ win_flex.exe --outfile=.\tmp-bison\%(Filename).c --header-file=.\tmp-bison\%(Filename).h %(Identity) || exit 1 + .\tmp-bison\%(Filename).c;.\tmp-bison\%(Filename).h + + + invoke win_bison.exe for %(Identity) +- ..\..\..\..\flex-bison\win_bison.exe --output=.\tmp-bison\%(Filename).c --defines=.\tmp-bison\%(Filename).h %(Identity) || exit 1 ++ win_bison.exe --output=.\tmp-bison\%(Filename).c --defines=.\tmp-bison\%(Filename).h %(Identity) || exit 1 + .\tmp-bison\%(Filename).c;.\tmp-bison\%(Filename).h + + + invoke win_flex.exe for %(Identity) +- ..\..\..\..\flex-bison\win_flex.exe --outfile=.\tmp-bison\%(Filename).c --header-file=.\tmp-bison\%(Filename).h %(Identity) || exit 1 ++ win_flex.exe --outfile=.\tmp-bison\%(Filename).c --header-file=.\tmp-bison\%(Filename).h %(Identity) || exit 1 + .\tmp-bison\%(Filename).c;.\tmp-bison\%(Filename).h + + + invoke win_bison.exe for %(Identity) +- ..\..\..\..\flex-bison\win_bison.exe --output=.\tmp-bison\%(Filename).c --defines=.\tmp-bison\%(Filename).h %(Identity) || exit 1 ++ win_bison.exe --output=.\tmp-bison\%(Filename).c --defines=.\tmp-bison\%(Filename).h %(Identity) || exit 1 + .\tmp-bison\%(Filename).c;.\tmp-bison\%(Filename).h + + diff --git a/versions/baseline.json b/versions/baseline.json index 3832e0b3ab28de..5445b0e9a507cd 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -4022,7 +4022,7 @@ }, "ngspice": { "baseline": "33", - "port-version": 0 + "port-version": 1 }, "nifticlib": { "baseline": "2020-04-30", diff --git a/versions/n-/ngspice.json b/versions/n-/ngspice.json index b34cb7d92312b3..6e2f4a81968bd4 100644 --- a/versions/n-/ngspice.json +++ b/versions/n-/ngspice.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "ff27e9605199ca4134c1ab3fa6bcb311096a0e10", + "version-string": "33", + "port-version": 1 + }, { "git-tree": "90c388f47ca769fd11449fde9d70402e9865a986", "version-string": "33", From 95f2e57839827cc59581792391f65317be2c361b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8F=8C=E8=8D=89=E9=85=B8=E9=85=AF?= <17663689+kotori2@users.noreply.github.com> Date: Wed, 3 Feb 2021 06:35:45 +0800 Subject: [PATCH 0077/1735] [drogon] Upgrade to v1.3.0 (#15850) * [drogon] Upgrade to v1.3.0 * Update_versions * [drogon] remove debug stuffs * update version Co-authored-by: Jonliu1993 <13720414433@163.com> --- ports/drogon/CONTROL | 5 ++++- ports/drogon/portfile.cmake | 18 ++++++++++++++---- ports/drogon/resolv.patch | 13 +++++++++++++ ports/drogon/vcpkg.patch | 34 ++++++++++++++++++++++++++++++---- versions/baseline.json | 2 +- versions/d-/drogon.json | 5 +++++ 6 files changed, 67 insertions(+), 10 deletions(-) create mode 100644 ports/drogon/resolv.patch diff --git a/ports/drogon/CONTROL b/ports/drogon/CONTROL index bed3e64d471f7a..63c9527aa06582 100644 --- a/ports/drogon/CONTROL +++ b/ports/drogon/CONTROL @@ -1,5 +1,8 @@ Source: drogon -Version: 1.1.0 +Version: 1.3.0 Homepage: https://github.com/an-tao/drogon Description:Drogon: A C++14/17 based HTTP web application framework running on Linux/macOS/Unix/Windows Build-Depends: trantor, zlib, jsoncpp, libmariadb (!osx), libmariadb[iconv] (osx), libpq, sqlite3, brotli, libuuid (!windows) + +Feature: ctl +Description: Build drogon_ctl tool. \ No newline at end of file diff --git a/ports/drogon/portfile.cmake b/ports/drogon/portfile.cmake index 6dfdc942ccf283..ae53109f9b9469 100644 --- a/ports/drogon/portfile.cmake +++ b/ports/drogon/portfile.cmake @@ -1,11 +1,17 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO an-tao/drogon - REF v1.1.0 - SHA512 00d7d64fc666b0b2c02afab899f622123883b62b274d33f3504da6250a6458fc56ab12b131c24f9a7e20284bc5c3604a4f2dd796f56ad00d454d9f8504d8f96e + REF v1.3.0 + SHA512 cddda4b90d28c15319b9cd1dea561c429b804508fc40678b9906fb70153cb36d7a4fc1c13fee01ec1f49d747a722856ceee364aba4118d922afabc3629ba2115 HEAD_REF master PATCHES vcpkg.patch + resolv.patch +) + +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + ctl BUILD_CTL ) vcpkg_configure_cmake( @@ -13,6 +19,7 @@ vcpkg_configure_cmake( PREFER_NINJA OPTIONS -DBUILD_EXAMPLES=OFF + ${FEATURE_OPTIONS} ) vcpkg_install_cmake() @@ -20,8 +27,11 @@ vcpkg_install_cmake() # Fix CMake files vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Drogon) # Copy drogon_ctl -vcpkg_copy_tools(TOOL_NAMES drogon_ctl - AUTO_CLEAN) +if("ctl" IN_LIST FEATURES) + message("copying tools") + vcpkg_copy_tools(TOOL_NAMES drogon_ctl + AUTO_CLEAN) +endif() # # Remove includes in debug file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") diff --git a/ports/drogon/resolv.patch b/ports/drogon/resolv.patch new file mode 100644 index 00000000000000..55bf6e50c25575 --- /dev/null +++ b/ports/drogon/resolv.patch @@ -0,0 +1,13 @@ +diff --git a/drogon_ctl/CMakeLists.txt b/drogon_ctl/CMakeLists.txt +--- a/drogon_ctl/CMakeLists.txt ++++ b/drogon_ctl/CMakeLists.txt +@@ -39,6 +39,9 @@ + if(WIN32) + target_link_libraries(drogon_ctl PRIVATE ws2_32 Rpcrt4) + endif(WIN32) ++if(APPLE) ++ target_link_libraries(drogon_ctl PRIVATE resolv) ++endif() + message(STATUS "bin:" ${INSTALL_BIN_DIR}) + install(TARGETS drogon_ctl RUNTIME DESTINATION ${INSTALL_BIN_DIR}) + if(WIN32) diff --git a/ports/drogon/vcpkg.patch b/ports/drogon/vcpkg.patch index 30a39ace0bac45..a4128264fea167 100644 --- a/ports/drogon/vcpkg.patch +++ b/ports/drogon/vcpkg.patch @@ -1,8 +1,25 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 96d6c6a..9d3dd24 100755 +index 6df5dac..b79036d 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -72,9 +72,9 @@ if(WIN32) +@@ -5,13 +5,11 @@ project(drogon) + message(STATUS "compiler: " ${CMAKE_CXX_COMPILER_ID}) + include(CheckCXXSourceRuns) + check_cxx_source_runs( +- ${PROJECT_SOURCE_DIR}/cmake/tests/binary_compatibility_test.cc +- cross_compiling) ++ "int main(){return 0;}" ++ not_cross_compiling) + +-if(cross_compiling) ++if(!not_cross_compiling) + set(BUILD_PROGRAMS OFF) +-else(cross_compiling) +- set(BUILD_PROGRAMS ON) + endif() + + option(BUILD_CTL "Build drogon_ctl" ${BUILD_PROGRAMS}) +@@ -84,9 +82,9 @@ if(WIN32) PRIVATE $) endif(WIN32) @@ -13,8 +30,8 @@ index 96d6c6a..9d3dd24 100755 +target_link_libraries(${PROJECT_NAME} PUBLIC Trantor::Trantor) if(NOT WIN32) - target_link_libraries(${PROJECT_NAME} PRIVATE dl) -@@ -169,11 +169,11 @@ endif(NOT WIN32) + if(NOT ${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD") +@@ -183,11 +181,11 @@ endif(NOT WIN32) if(BUILD_ORM) # find postgres @@ -31,3 +48,12 @@ index 96d6c6a..9d3dd24 100755 set(DROGON_SOURCES ${DROGON_SOURCES} orm_lib/src/postgresql_impl/PostgreSQLResultImpl.cc) if(LIBPQ_BATCH_MODE) +@@ -206,7 +204,7 @@ if(BUILD_ORM) + set(DROGON_SOURCES ${DROGON_SOURCES} + orm_lib/src/postgresql_impl/PgConnection.cc) + endif(libpq_supports_batch) +- endif(pg_FOUND) ++ endif(PostgreSQL_FOUND) + + # Find mysql, only mariadb client liberary is supported + find_package(MySQL) diff --git a/versions/baseline.json b/versions/baseline.json index 5445b0e9a507cd..a1e687ac269862 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -1665,7 +1665,7 @@ "port-version": 0 }, "drogon": { - "baseline": "1.1.0", + "baseline": "1.3.0", "port-version": 0 }, "dtl": { diff --git a/versions/d-/drogon.json b/versions/d-/drogon.json index 799e30866b68bb..01d38fe0616aab 100644 --- a/versions/d-/drogon.json +++ b/versions/d-/drogon.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "bbe57dbdbffedb8cd5218f8dc76c1bbe35b59b5d", + "version-string": "1.3.0", + "port-version": 0 + }, { "git-tree": "f6370e6a96e12ad2fdd2cbefbe442e6b794091dc", "version-string": "1.1.0", From bbcf31b05c6a77d296b0ef28f9613072b57805af Mon Sep 17 00:00:00 2001 From: Don Venable Date: Tue, 2 Feb 2021 17:36:30 -0500 Subject: [PATCH 0078/1735] [libffi] Added armv7-a to allowed architectures for Android 32 bit arm builds (#15821) * Added armv7-a to allowed architectures for Android 32 bit arm builds Closes #15820 * Fixed typo * Bumped port version to 7 * Updated libffi version files --- ports/libffi/CMakeLists.txt | 4 +++- ports/libffi/CONTROL | 2 +- versions/baseline.json | 2 +- versions/l-/libffi.json | 5 +++++ 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/ports/libffi/CMakeLists.txt b/ports/libffi/CMakeLists.txt index a021c9ffd7d130..c9eba2f13cc5cb 100644 --- a/ports/libffi/CMakeLists.txt +++ b/ports/libffi/CMakeLists.txt @@ -11,7 +11,7 @@ endif() # config variables for ffi.h.in set(VERSION 3.3) -set(KNOWN_PROCESSORS x86 x86_64 AMD64 ARM ARM64 i386 armv7l aarch64) +set(KNOWN_PROCESSORS x86 x86_64 AMD64 ARM ARM64 i386 armv7l armv7-a aarch64) if(NOT CMAKE_SYSTEM_PROCESSOR IN_LIST KNOWN_PROCESSORS) message(FATAL_ERROR "Unknown processor: ${CMAKE_SYSTEM_PROCESSOR}") @@ -21,6 +21,8 @@ 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) diff --git a/ports/libffi/CONTROL b/ports/libffi/CONTROL index 477587af230f9d..7ba4813a3ef072 100644 --- a/ports/libffi/CONTROL +++ b/ports/libffi/CONTROL @@ -1,5 +1,5 @@ Source: libffi Version: 3.3 -Port-Version: 6 +Port-Version: 7 Homepage: https://github.com/libffi/libffi Description: Portable, high level programming interface to various calling conventions diff --git a/versions/baseline.json b/versions/baseline.json index a1e687ac269862..e6f949d9141865 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -2934,7 +2934,7 @@ }, "libffi": { "baseline": "3.3", - "port-version": 6 + "port-version": 7 }, "libflac": { "baseline": "1.3.3", diff --git a/versions/l-/libffi.json b/versions/l-/libffi.json index b9525a9a390140..03255992e02428 100644 --- a/versions/l-/libffi.json +++ b/versions/l-/libffi.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "7582c1b20c576263d22b8429155ead9117cc7c95", + "version-string": "3.3", + "port-version": 7 + }, { "git-tree": "d656f226f68b97173701d07c53633a3d05702abb", "version-string": "3.3", From 4ef16cd07edc4cc9570d543a4eb09c51006588ab Mon Sep 17 00:00:00 2001 From: pastdue <30942300+past-due@users.noreply.github.com> Date: Tue, 2 Feb 2021 17:37:29 -0500 Subject: [PATCH 0079/1735] [libidn2] Fix cross-compile (non-Windows) (#15868) * [libidn2] Fix cross-compile (non-Windows) * Convert CONTROL, bump port-version * x-add-version libidn2 --- ports/libidn2/CONTROL | 6 ------ ports/libidn2/portfile.cmake | 1 + ports/libidn2/vcpkg.json | 10 ++++++++++ versions/baseline.json | 2 +- versions/l-/libidn2.json | 5 +++++ 5 files changed, 17 insertions(+), 7 deletions(-) delete mode 100644 ports/libidn2/CONTROL create mode 100644 ports/libidn2/vcpkg.json diff --git a/ports/libidn2/CONTROL b/ports/libidn2/CONTROL deleted file mode 100644 index fb29df0323f37c..00000000000000 --- a/ports/libidn2/CONTROL +++ /dev/null @@ -1,6 +0,0 @@ -Source: libidn2 -Version: 2.3.0 -Port-Version: 1 -Build-Depends: libiconv -Homepage: https://www.gnu.org/software/libidn/ -Description: GNU Libidn is an implementation of the Stringprep, Punycode and IDNA 2003 specifications. Libidn's purpose is to encode and decode internationalized domain names. diff --git a/ports/libidn2/portfile.cmake b/ports/libidn2/portfile.cmake index 7c3054b1ca00f5..9509d66757f9fe 100644 --- a/ports/libidn2/portfile.cmake +++ b/ports/libidn2/portfile.cmake @@ -50,6 +50,7 @@ if (VCPKG_TARGET_IS_WINDOWS) else() vcpkg_configure_make( SOURCE_PATH ${SOURCE_PATH} + AUTOCONFIG COPY_SOURCE OPTIONS --with-libiconv-prefix=${CURRENT_INSTALLED_DIR} diff --git a/ports/libidn2/vcpkg.json b/ports/libidn2/vcpkg.json new file mode 100644 index 00000000000000..5b5a6b63983b8c --- /dev/null +++ b/ports/libidn2/vcpkg.json @@ -0,0 +1,10 @@ +{ + "name": "libidn2", + "version-string": "2.3.0", + "port-version": 2, + "description": "GNU Libidn is an implementation of the Stringprep, Punycode and IDNA 2003 specifications. Libidn's purpose is to encode and decode internationalized domain names.", + "homepage": "https://www.gnu.org/software/libidn/", + "dependencies": [ + "libiconv" + ] +} diff --git a/versions/baseline.json b/versions/baseline.json index e6f949d9141865..6e5aefd04fb766 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3026,7 +3026,7 @@ }, "libidn2": { "baseline": "2.3.0", - "port-version": 1 + "port-version": 2 }, "libigl": { "baseline": "2.2.0", diff --git a/versions/l-/libidn2.json b/versions/l-/libidn2.json index cbf0a4fb2d0652..688c8a1ace126a 100644 --- a/versions/l-/libidn2.json +++ b/versions/l-/libidn2.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "6f5a62105488c9eb440e97c4d49a1ac6c8fa996c", + "version-string": "2.3.0", + "port-version": 2 + }, { "git-tree": "6d198421acf88e8196da7f2d1389100307f92133", "version-string": "2.3.0", From 3b4a4e4b5cff58ae9af6b46ad63fda71146f6ce4 Mon Sep 17 00:00:00 2001 From: Park DongHa Date: Wed, 3 Feb 2021 08:00:00 +0900 Subject: [PATCH 0080/1735] [metrohash] support Android triplet build (#15715) * [metrohash] support Android build * check ANDROID variable * exclude 'crc' sources that requires non-ARM intrinsic * rewrite CONTROL to vcpkg.json * [metrohash] update checksum and version JSON * [metrohash] apply PR feedback * [metrohash] enable sse4.2 for Clang compiler * [metrohash] fix wrong version string * [metrohash] fix wrong version string --- ports/metrohash/CMakeLists.txt | 16 +++++++++++++--- ports/metrohash/CONTROL | 5 ----- ports/metrohash/portfile.cmake | 10 +++++++--- ports/metrohash/vcpkg.json | 8 ++++++++ versions/baseline.json | 4 ++-- versions/m-/metrohash.json | 5 +++++ 6 files changed, 35 insertions(+), 13 deletions(-) delete mode 100644 ports/metrohash/CONTROL create mode 100644 ports/metrohash/vcpkg.json diff --git a/ports/metrohash/CMakeLists.txt b/ports/metrohash/CMakeLists.txt index 41e1a74b353da5..1c5081203e5e7f 100644 --- a/ports/metrohash/CMakeLists.txt +++ b/ports/metrohash/CMakeLists.txt @@ -5,10 +5,20 @@ set(CMAKE_CXX_STANDARD 17) add_library(metrohash src/metrohash64.cpp src/metrohash128.cpp - src/metrohash128crc.cpp ) -target_compile_options(metrohash PRIVATE -march=native) -set(metro_headers src/metrohash.h src/metrohash64.h src/metrohash128.h src/metrohash128crc.h) +list(APPEND metro_headers src/metrohash.h src/metrohash64.h src/metrohash128.h) + +if(NOT ANDROID) + list(APPEND metro_headers src/metrohash128crc.h) + target_sources(metrohash PRIVATE src/metrohash128crc.cpp) + if(CMAKE_CXX_COMPILER_ID MATCHES Clang) + target_compile_options(metrohash PRIVATE -msse4.2) + endif() +endif() +if(CMAKE_CXX_COMPILER_ID MATCHES GNU) + target_compile_options(metrohash PRIVATE -march=native) +endif() + set_target_properties(metrohash PROPERTIES PUBLIC_HEADER "${metro_headers}" ) diff --git a/ports/metrohash/CONTROL b/ports/metrohash/CONTROL deleted file mode 100644 index 85a795a3c21eb1..00000000000000 --- a/ports/metrohash/CONTROL +++ /dev/null @@ -1,5 +0,0 @@ -Source: metrohash -Version: 1.1.3-1 -Homepage: https://github.com/jandrewrogers/MetroHash -Description: MetroHash is a set of state-of-the-art hash functions for non-cryptographic use cases. -Supports: !(uwp|arm|x86) diff --git a/ports/metrohash/portfile.cmake b/ports/metrohash/portfile.cmake index 1c272c818cbced..66f7c957f6a270 100644 --- a/ports/metrohash/portfile.cmake +++ b/ports/metrohash/portfile.cmake @@ -4,11 +4,15 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO jandrewrogers/MetroHash - REF 690a521d9beb2e1050cc8f273fdabc13b31bf8f6 - SHA512 51ba58a43f7a60be823746082c1bdebf52a1fd452a0f778434850ccc71dd6f62750fc966ec6aed6b4b523279ad400733df3f56544e2d2e057c212044a2dc16a4 + REF v1.1.3 + SHA512 02b6316e5ebf3d81465eea8a068565452be642394ddf5a53350affbbc9b9bfe1c3d182f7e8f7d49895351c48e11929e465777535e4354e01b6d0ba459e583ac5 HEAD_REF master ) - +if(VCPKG_TARGET_IS_ANDROID) + vcpkg_replace_string(${SOURCE_PATH}/src/metrohash.h + "#include \"metrohash128crc.h\"" + "//#include \"metrohash128crc.h\" // It can't be supported for Android") +endif() configure_file(${CURRENT_PORT_DIR}/CMakeLists.txt ${SOURCE_PATH}/CMakeLists.txt COPYONLY) configure_file(${CURRENT_PORT_DIR}/Config.cmake.in ${SOURCE_PATH}/cmake/Config.cmake.in COPYONLY) diff --git a/ports/metrohash/vcpkg.json b/ports/metrohash/vcpkg.json new file mode 100644 index 00000000000000..bfb1e672283c83 --- /dev/null +++ b/ports/metrohash/vcpkg.json @@ -0,0 +1,8 @@ +{ + "name": "metrohash", + "version-string": "1.1.3", + "port-version": 2, + "description": "MetroHash is a set of state-of-the-art hash functions for non-cryptographic use cases", + "homepage": "https://github.com/jandrewrogers/MetroHash", + "supports": "!(uwp | arm | x86)" +} diff --git a/versions/baseline.json b/versions/baseline.json index 6e5aefd04fb766..11b3d0274f1add 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3705,8 +3705,8 @@ "port-version": 7 }, "metrohash": { - "baseline": "1.1.3-1", - "port-version": 0 + "baseline": "1.1.3", + "port-version": 2 }, "mgnlibs": { "baseline": "2019-09-29", diff --git a/versions/m-/metrohash.json b/versions/m-/metrohash.json index c8884e1744fced..8bdb8f146041a3 100644 --- a/versions/m-/metrohash.json +++ b/versions/m-/metrohash.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "0c764c9b22fa64b5194e65f69bfb28bc47dc20fc", + "version-string": "1.1.3", + "port-version": 2 + }, { "git-tree": "e322e34deeeb1ae533217d85ceea0b6ad36ec64e", "version-string": "1.1.3-1", From 5793c4bd9f5d3a8e9087d444beba202e753ec4c9 Mon Sep 17 00:00:00 2001 From: ras0219 <533828+ras0219@users.noreply.github.com> Date: Tue, 2 Feb 2021 15:00:33 -0800 Subject: [PATCH 0081/1735] [vcpkg] Miscellaneous internal improvements extracted from #15424 (#15677) * [vcpkg] Miscellaneous internal improvements extracted from #15424 * [vcpkg] CR comments * [armadillo] Use vcpkg_from_git() to workaround gitlab missing archive Co-authored-by: Robert Schumacher Co-authored-by: Billy Robert O'Neal III --- ports/armadillo/CONTROL | 1 + ports/armadillo/portfile.cmake | 9 ++-- .../azure-pipelines/linux/azure-pipelines.yml | 2 + .../azure-pipelines/osx/azure-pipelines.yml | 2 + .../windows/azure-pipelines.yml | 1 + toolsrc/include/vcpkg-test/util.h | 6 +++ toolsrc/include/vcpkg/base/optional.h | 26 +++++++--- toolsrc/include/vcpkg/dependencies.h | 2 +- toolsrc/include/vcpkg/remove.h | 1 - toolsrc/src/vcpkg-test/catch.cpp | 3 +- toolsrc/src/vcpkg-test/commands.build.cpp | 38 -------------- toolsrc/src/vcpkg-test/manifests.cpp | 14 ++++-- toolsrc/src/vcpkg-test/optional.cpp | 27 ++++++++++ toolsrc/src/vcpkg/build.cpp | 3 +- toolsrc/src/vcpkg/commands.ci.cpp | 50 ++++++++++++------- toolsrc/src/vcpkg/dependencies.cpp | 4 +- toolsrc/src/vcpkg/export.prefab.cpp | 2 +- toolsrc/src/vcpkg/paragraphs.cpp | 10 ++++ toolsrc/src/vcpkg/remove.cpp | 11 ++-- toolsrc/src/vcpkg/sourceparagraph.cpp | 9 +++- toolsrc/src/vcpkg/triplet.cpp | 28 ++++------- versions/a-/armadillo.json | 5 ++ versions/baseline.json | 2 +- 23 files changed, 149 insertions(+), 107 deletions(-) delete mode 100644 toolsrc/src/vcpkg-test/commands.build.cpp diff --git a/ports/armadillo/CONTROL b/ports/armadillo/CONTROL index 0939fe8f269fe8..dee179680d79d7 100644 --- a/ports/armadillo/CONTROL +++ b/ports/armadillo/CONTROL @@ -1,5 +1,6 @@ Source: armadillo Version: 10.1.0 +Port-Version: 1 Homepage: https://gitlab.com/conradsnicta/armadillo-code Description: Armadillo is a high quality linear algebra library (matrix maths) for the C++ language, aiming towards a good balance between speed and ease of use Build-Depends: blas, lapack diff --git a/ports/armadillo/portfile.cmake b/ports/armadillo/portfile.cmake index 7ec7bdad0c8250..40d8ab3d86ea0e 100644 --- a/ports/armadillo/portfile.cmake +++ b/ports/armadillo/portfile.cmake @@ -1,12 +1,9 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -vcpkg_from_gitlab( - GITLAB_URL https://gitlab.com +vcpkg_from_git( OUT_SOURCE_PATH SOURCE_PATH - REPO conradsnicta/armadillo-code - REF 24b4762cbfbd3ad14c99a4854acd3560559a3195 #v 10.1.0 - SHA512 224a875d21168f80e00604185ef72cb559a86a350a037c9cd1660a6f4dcc68f2ebf6dbc073f234a3cb03d35d959adb44ec49af88b11e3aaca9e0017c9c3fcee6 - HEAD_REF 10.1.x + URL https://gitlab.com/conradsnicta/armadillo-code + REF 24b4762cbfbd3ad14c99a4854acd3560559a3195 # v10.1.0 PATCHES remove_custom_modules.patch fix-CMakePath.patch diff --git a/scripts/azure-pipelines/linux/azure-pipelines.yml b/scripts/azure-pipelines/linux/azure-pipelines.yml index 40089bc24f0574..b20908f97dcf03 100644 --- a/scripts/azure-pipelines/linux/azure-pipelines.yml +++ b/scripts/azure-pipelines/linux/azure-pipelines.yml @@ -36,6 +36,8 @@ jobs: arguments: '-buildTests' - bash: toolsrc/build.rel/vcpkg-test displayName: 'Run vcpkg tests' + env: + VCPKG_DEBUG: 1 - task: PowerShell@2 displayName: 'Run vcpkg end-to-end tests' inputs: diff --git a/scripts/azure-pipelines/osx/azure-pipelines.yml b/scripts/azure-pipelines/osx/azure-pipelines.yml index fa0d0e05666d7d..50bba080fbc646 100644 --- a/scripts/azure-pipelines/osx/azure-pipelines.yml +++ b/scripts/azure-pipelines/osx/azure-pipelines.yml @@ -33,6 +33,8 @@ jobs: arguments: '-buildTests' - bash: toolsrc/build.rel/vcpkg-test displayName: 'Run vcpkg tests' + env: + VCPKG_DEBUG: 1 - task: PowerShell@2 displayName: 'Run vcpkg end-to-end tests' inputs: diff --git a/scripts/azure-pipelines/windows/azure-pipelines.yml b/scripts/azure-pipelines/windows/azure-pipelines.yml index 3c180f7ebe50f8..4c46e86a778f88 100644 --- a/scripts/azure-pipelines/windows/azure-pipelines.yml +++ b/scripts/azure-pipelines/windows/azure-pipelines.yml @@ -45,6 +45,7 @@ jobs: rmdir /s /q build.x86.debug > nul 2> nul cmake.exe -G Ninja -DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTING=ON -DVCPKG_DEVELOPMENT_WARNINGS=ON -DVCPKG_WARNINGS_AS_ERRORS=ON -DVCPKG_BUILD_FUZZING=ON -B build.x86.debug -S toolsrc ninja.exe -C build.x86.debug + set VCPKG_DEBUG=1 build.x86.debug\vcpkg-test.exe cmake -G "Visual Studio 16 2019" -A Win32 -T v140 -DBUILD_TESTING=OFF -DVCPKG_DEVELOPMENT_WARNINGS=OFF -DVCPKG_WARNINGS_AS_ERRORS=ON -DVCPKG_BUILD_FUZZING=OFF -B build.x86.vs2015 -S toolsrc cmake --build build.x86.vs2015 diff --git a/toolsrc/include/vcpkg-test/util.h b/toolsrc/include/vcpkg-test/util.h index d2c512f9bf0eae..1e20531fc3e7ff 100644 --- a/toolsrc/include/vcpkg-test/util.h +++ b/toolsrc/include/vcpkg-test/util.h @@ -32,6 +32,12 @@ namespace Catch value.package_spec.triplet()); } }; + + template<> + struct StringMaker + { + static const std::string& convert(const vcpkg::Triplet& triplet) { return triplet.canonical_name(); } + }; } namespace vcpkg::Test diff --git a/toolsrc/include/vcpkg/base/optional.h b/toolsrc/include/vcpkg/base/optional.h index c66f891c73a25b..d8c72ca6dea1a7 100644 --- a/toolsrc/include/vcpkg/base/optional.h +++ b/toolsrc/include/vcpkg/base/optional.h @@ -288,32 +288,46 @@ namespace vcpkg using map_t = decltype(std::declval()(std::declval())); template> - U then(F f) const& + Optional map(F f) const& { if (has_value()) { return f(this->m_base.value()); } - else + return nullopt; + } + + template> + U then(F f) const& + { + if (has_value()) { - return nullopt; + return f(this->m_base.value()); } + return nullopt; } template using move_map_t = decltype(std::declval()(std::declval())); template> - U then(F f) && + Optional map(F f) && { if (has_value()) { return f(std::move(this->m_base.value())); } - else + return nullopt; + } + + template> + U then(F f) && + { + if (has_value()) { - return nullopt; + return f(std::move(this->m_base.value())); } + return nullopt; } friend bool operator==(const Optional& lhs, const Optional& rhs) diff --git a/toolsrc/include/vcpkg/dependencies.h b/toolsrc/include/vcpkg/dependencies.h index 4736bc02c96e9d..1b1a7748b674c3 100644 --- a/toolsrc/include/vcpkg/dependencies.h +++ b/toolsrc/include/vcpkg/dependencies.h @@ -132,7 +132,7 @@ namespace vcpkg::Dependencies RequestType request_type; Optional core_paragraph() const; - std::vector dependencies(Triplet triplet) const; + std::vector dependencies() const; private: Optional m_installed_package; diff --git a/toolsrc/include/vcpkg/remove.h b/toolsrc/include/vcpkg/remove.h index 06bdc23f529687..faba3e3686c530 100644 --- a/toolsrc/include/vcpkg/remove.h +++ b/toolsrc/include/vcpkg/remove.h @@ -23,7 +23,6 @@ namespace vcpkg::Remove extern const CommandStructure COMMAND_STRUCTURE; - void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths, Triplet default_triplet); void remove_package(const VcpkgPaths& paths, const PackageSpec& spec, StatusParagraphs* status_db); struct RemoveCommand : Commands::TripletCommand diff --git a/toolsrc/src/vcpkg-test/catch.cpp b/toolsrc/src/vcpkg-test/catch.cpp index 50331c644296f9..fb62c5d06e2226 100644 --- a/toolsrc/src/vcpkg-test/catch.cpp +++ b/toolsrc/src/vcpkg-test/catch.cpp @@ -2,10 +2,11 @@ #include #include +#include int main(int argc, char** argv) { - vcpkg::Debug::g_debugging = true; + if (vcpkg::System::get_environment_variable("VCPKG_DEBUG").value_or("") == "1") vcpkg::Debug::g_debugging = true; return Catch::Session().run(argc, argv); } diff --git a/toolsrc/src/vcpkg-test/commands.build.cpp b/toolsrc/src/vcpkg-test/commands.build.cpp deleted file mode 100644 index 467fadd72010a3..00000000000000 --- a/toolsrc/src/vcpkg-test/commands.build.cpp +++ /dev/null @@ -1,38 +0,0 @@ -#include - -#include - -#include -#include -#include -#include - -#include -#include - -#include - -using namespace vcpkg; - -TEST_CASE ("build smoke test", "[commands-build]") -{ - static const std::string args_raw[] = {"build", "zlib"}; - - auto& fs_wrapper = Files::get_real_filesystem(); - VcpkgCmdArguments args = VcpkgCmdArguments::create_from_arg_sequence(std::begin(args_raw), std::end(args_raw)); - args.binary_caching = false; - args.buildtrees_root_dir = - std::make_unique(fs::u8string(Test::base_temporary_directory() / fs::u8path("buildtrees"))); - args.install_root_dir = - std::make_unique(fs::u8string(Test::base_temporary_directory() / fs::u8path("installed"))); - args.packages_root_dir = - std::make_unique(fs::u8string(Test::base_temporary_directory() / fs::u8path("packages"))); - VcpkgPaths paths(fs_wrapper, args); - if (fs_wrapper.exists(paths.buildtrees)) fs_wrapper.remove_all_inside(paths.buildtrees, VCPKG_LINE_INFO); - if (fs_wrapper.exists(paths.packages)) fs_wrapper.remove_all_inside(paths.packages, VCPKG_LINE_INFO); - if (fs_wrapper.exists(paths.installed)) fs_wrapper.remove_all_inside(paths.installed, VCPKG_LINE_INFO); - auto triplet = default_triplet(args); - const auto exit_code = Build::Command::perform(args, paths, triplet); - REQUIRE(exit_code == 0); - REQUIRE(paths.get_filesystem().is_directory(paths.buildtrees / fs::u8path("zlib"))); -} diff --git a/toolsrc/src/vcpkg-test/manifests.cpp b/toolsrc/src/vcpkg-test/manifests.cpp index 0af9f4f968a409..7cf92818eb33db 100644 --- a/toolsrc/src/vcpkg-test/manifests.cpp +++ b/toolsrc/src/vcpkg-test/manifests.cpp @@ -691,13 +691,21 @@ TEST_CASE ("Serialize all the ports", "[manifests]") const auto manifest = dir / fs::u8path("vcpkg.json"); if (fs.exists(control)) { + INFO(fs::u8string(control)); auto contents = fs.read_contents(control, VCPKG_LINE_INFO); auto pghs = Paragraphs::parse_paragraphs(contents, fs::u8string(control)); REQUIRE(pghs); - scfs.push_back(std::move(*SourceControlFile::parse_control_file( - fs::u8string(control), std::move(pghs).value_or_exit(VCPKG_LINE_INFO)) - .value_or_exit(VCPKG_LINE_INFO))); + auto scf = SourceControlFile::parse_control_file(fs::u8string(control), + std::move(pghs).value_or_exit(VCPKG_LINE_INFO)); + if (!scf) + { + INFO(scf.error()->name); + INFO(scf.error()->error); + REQUIRE(scf); + } + + scfs.push_back(std::move(*scf.value_or_exit(VCPKG_LINE_INFO))); } else if (fs.exists(manifest)) { diff --git a/toolsrc/src/vcpkg-test/optional.cpp b/toolsrc/src/vcpkg-test/optional.cpp index c2656d97e7b39e..f18efb359995e3 100644 --- a/toolsrc/src/vcpkg-test/optional.cpp +++ b/toolsrc/src/vcpkg-test/optional.cpp @@ -80,6 +80,33 @@ TEST_CASE ("value conversion", "[optional]") REQUIRE(o_v.get()->size() == 3); } +TEST_CASE ("optional.map", "[optional]") +{ + using vcpkg::NullOpt; + using vcpkg::nullopt; + using vcpkg::Optional; + + const Optional> move_only; + + Optional m = move_only.map([](auto&& p) { return p.get(); }); + Optional> n = + move_only.map([](auto&& p) -> Optional { return p ? Optional{p.get()} : nullopt; }); + Optional o = move_only.map([](auto&&) { return nullopt; }); + + Optional five = 5; + + struct MoveTest + { + int operator()(int&&) { return 1; } + int operator()(const int&) { return -1; } + } move_test; + + Optional dst = std::move(five).map(move_test); + REQUIRE(dst == 1); + Optional dst2 = five.map(move_test); + REQUIRE(dst2 == -1); +} + TEST_CASE ("common_projection", "[optional]") { using vcpkg::Util::common_projection; diff --git a/toolsrc/src/vcpkg/build.cpp b/toolsrc/src/vcpkg/build.cpp index daaed3e9860bbf..53bdd83419d470 100644 --- a/toolsrc/src/vcpkg/build.cpp +++ b/toolsrc/src/vcpkg/build.cpp @@ -983,7 +983,8 @@ namespace vcpkg::Build const auto& abi_info = action.abi_info.value_or_exit(VCPKG_LINE_INFO); const auto& triplet_abi = paths.get_triplet_info(abi_info); - abi_tag_entries.emplace_back("triplet", triplet_abi); + abi_tag_entries.emplace_back("triplet", triplet.canonical_name()); + abi_tag_entries.emplace_back("triplet_abi", triplet_abi); abi_entries_from_abi_info(abi_info, abi_tag_entries); // If there is an unusually large number of files in the port then diff --git a/toolsrc/src/vcpkg/commands.ci.cpp b/toolsrc/src/vcpkg/commands.ci.cpp index efe705e3d75cf2..26ae058add1b04 100644 --- a/toolsrc/src/vcpkg/commands.ci.cpp +++ b/toolsrc/src/vcpkg/commands.ci.cpp @@ -271,7 +271,7 @@ namespace vcpkg::Commands::CI std::vector unknown; std::map known; std::map> features; - std::unordered_map default_feature_provider; + Dependencies::ActionPlan plan; std::map abi_map; }; @@ -324,28 +324,20 @@ namespace vcpkg::Commands::CI auto timer = Chrono::ElapsedTimer::create_started(); - Checks::check_exit(VCPKG_LINE_INFO, - action_plan.already_installed.empty(), - "Cannot use CI command with packages already installed."); + Checks::check_exit(VCPKG_LINE_INFO, action_plan.already_installed.empty()); + Checks::check_exit(VCPKG_LINE_INFO, action_plan.remove_actions.empty()); Build::compute_all_abis(paths, action_plan, var_provider, {}); + auto precheck_results = binary_provider_precheck(paths, action_plan, binaryprovider); { vcpkg::System::BufferedPrint stdout_print; - auto precheck_results = binary_provider_precheck(paths, action_plan, binaryprovider); for (auto&& action : action_plan.install_actions) { auto p = &action; ret->abi_map.emplace(action.spec, action.abi_info.value_or_exit(VCPKG_LINE_INFO).package_abi); ret->features.emplace(action.spec, action.feature_list); - if (auto scfl = p->source_control_file_location.get()) - { - auto emp = ret->default_feature_provider.emplace(p->spec.name(), scfl->clone()); - emp.first->second.source_control_file->core_paragraph->default_features = p->feature_list; - - p->build_options = vcpkg::Build::backcompat_prohibiting_package_options; - } auto precheck_result = precheck_results.at(&action); bool b_will_build = false; @@ -399,6 +391,30 @@ namespace vcpkg::Commands::CI } } // flush stdout_print + // This algorithm consumes the previous action plan to build and return a reduced one. + std::vector&& input_install_actions = std::move(action_plan.install_actions); + std::vector rev_install_actions; + rev_install_actions.reserve(input_install_actions.size()); + std::set to_keep; + for (auto it = input_install_actions.rbegin(); it != input_install_actions.rend(); ++it) + { + if (!Util::Sets::contains(ret->known, it->spec)) + { + to_keep.insert(it->spec); + } + + if (Util::Sets::contains(to_keep, it->spec)) + { + rev_install_actions.push_back(&*it); + to_keep.insert(it->package_dependencies.begin(), it->package_dependencies.end()); + } + } + + for (auto it = rev_install_actions.rbegin(); it != rev_install_actions.rend(); ++it) + { + ret->plan.install_actions.push_back(std::move(**it)); + } + System::printf("Time to determine pass/fail: %s\n", timer.elapsed()); return ret; } @@ -480,10 +496,6 @@ namespace vcpkg::Commands::CI return FullPackageSpec{spec, std::move(default_features)}; }); - auto split_specs = find_unknown_ports_for_ci( - paths, exclusions_set, provider, var_provider, all_default_full_specs, binaryprovider); - PortFileProvider::MapPortFileProvider new_default_provider(split_specs->default_feature_provider); - Dependencies::CreateInstallPlanOptions serialize_options; struct RandomizerInstance : Graphs::Randomizer @@ -503,8 +515,10 @@ namespace vcpkg::Commands::CI serialize_options.randomizer = &randomizer_instance; } - auto action_plan = Dependencies::create_feature_install_plan( - new_default_provider, var_provider, split_specs->unknown, status_db, serialize_options); + auto split_specs = find_unknown_ports_for_ci( + paths, exclusions_set, provider, var_provider, all_default_full_specs, binaryprovider); + + auto& action_plan = split_specs->plan; for (auto&& action : action_plan.install_actions) { diff --git a/toolsrc/src/vcpkg/dependencies.cpp b/toolsrc/src/vcpkg/dependencies.cpp index 68415b9aad6c89..83066312e0ae12 100644 --- a/toolsrc/src/vcpkg/dependencies.cpp +++ b/toolsrc/src/vcpkg/dependencies.cpp @@ -503,7 +503,7 @@ namespace vcpkg::Dependencies return nullopt; } - std::vector ExportPlanAction::dependencies(Triplet) const + std::vector ExportPlanAction::dependencies() const { if (auto p_ip = m_installed_package.get()) return p_ip->dependencies(); @@ -590,7 +590,7 @@ namespace vcpkg::Dependencies std::vector adjacency_list(const ExportPlanAction& plan) const override { - return plan.dependencies(plan.spec.triplet()); + return plan.dependencies(); } ExportPlanAction load_vertex_data(const PackageSpec& spec) const override diff --git a/toolsrc/src/vcpkg/export.prefab.cpp b/toolsrc/src/vcpkg/export.prefab.cpp index 852a499814a51f..2ca8e87f76ea17 100644 --- a/toolsrc/src/vcpkg/export.prefab.cpp +++ b/toolsrc/src/vcpkg/export.prefab.cpp @@ -378,7 +378,7 @@ namespace vcpkg::Export::Prefab for (const auto& action : export_plan) { const std::string name = action.spec.name(); - auto dependencies = action.dependencies(default_triplet); + auto dependencies = action.dependencies(); const auto action_build_info = Build::read_build_info(utils, paths.build_info_file_path(action.spec)); const bool is_empty_package = action_build_info.policies.is_enabled(Build::BuildPolicy::EMPTY_PACKAGE); diff --git a/toolsrc/src/vcpkg/paragraphs.cpp b/toolsrc/src/vcpkg/paragraphs.cpp index dc93ee2db597ff..4b46219682735b 100644 --- a/toolsrc/src/vcpkg/paragraphs.cpp +++ b/toolsrc/src/vcpkg/paragraphs.cpp @@ -399,6 +399,16 @@ namespace vcpkg::Paragraphs bcf.features = Util::fmap(*p, [&](auto&& raw_feature) -> BinaryParagraph { return BinaryParagraph(raw_feature); }); + if (bcf.core_paragraph.spec != spec) + { + return Strings::concat("Mismatched spec in package at ", + fs::u8string(paths.package_dir(spec)), + ": expected ", + spec, + ", actual ", + bcf.core_paragraph.spec); + } + return bcf; } diff --git a/toolsrc/src/vcpkg/remove.cpp b/toolsrc/src/vcpkg/remove.cpp index e066917478fd1e..e29ae16c8f750c 100644 --- a/toolsrc/src/vcpkg/remove.cpp +++ b/toolsrc/src/vcpkg/remove.cpp @@ -214,7 +214,9 @@ namespace vcpkg::Remove &valid_arguments, }; - void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths, Triplet default_triplet) + void RemoveCommand::perform_and_exit(const VcpkgCmdArguments& args, + const VcpkgPaths& paths, + Triplet default_triplet) const { if (paths.manifest_mode_enabled()) { @@ -332,11 +334,4 @@ namespace vcpkg::Remove Checks::exit_success(VCPKG_LINE_INFO); } - - void RemoveCommand::perform_and_exit(const VcpkgCmdArguments& args, - const VcpkgPaths& paths, - Triplet default_triplet) const - { - Remove::perform_and_exit(args, paths, default_triplet); - } } diff --git a/toolsrc/src/vcpkg/sourceparagraph.cpp b/toolsrc/src/vcpkg/sourceparagraph.cpp index 61cc7f8264d542..52f72da9435bea 100644 --- a/toolsrc/src/vcpkg/sourceparagraph.cpp +++ b/toolsrc/src/vcpkg/sourceparagraph.cpp @@ -1202,6 +1202,12 @@ namespace vcpkg return ret; } + static bool is_dependency_trivial(const Dependency& dep) + { + return dep.features.empty() && dep.platform.is_empty() && dep.extra_info.is_empty() && + dep.constraint.type == Versions::Constraint::Type::None; + } + static Json::Object serialize_manifest_impl(const SourceControlFile& scf, bool debug) { auto serialize_paragraph = @@ -1246,8 +1252,7 @@ namespace vcpkg } }; auto serialize_dependency = [&](Json::Array& arr, const Dependency& dep) { - if (dep.features.empty() && dep.platform.is_empty() && dep.extra_info.is_empty() && - dep.constraint.type == Versions::Constraint::Type::None) + if (is_dependency_trivial(dep)) { arr.push_back(Json::Value::string(dep.name)); } diff --git a/toolsrc/src/vcpkg/triplet.cpp b/toolsrc/src/vcpkg/triplet.cpp index e69f75b112095e..9943ec9a8ed012 100644 --- a/toolsrc/src/vcpkg/triplet.cpp +++ b/toolsrc/src/vcpkg/triplet.cpp @@ -81,38 +81,30 @@ namespace vcpkg } else { - auto vcpkg_default_triplet_env = System::get_environment_variable("VCPKG_DEFAULT_TRIPLET"); - if (auto v = vcpkg_default_triplet_env.get()) - { - return Triplet::from_canonical_name(std::move(*v)); - } - else - { #if defined(_WIN32) - return Triplet::from_canonical_name("x86-windows"); + return Triplet::from_canonical_name("x86-windows"); #elif defined(__APPLE__) - return Triplet::from_canonical_name("x64-osx"); + return Triplet::from_canonical_name("x64-osx"); #elif defined(__FreeBSD__) - return Triplet::from_canonical_name("x64-freebsd"); + return Triplet::from_canonical_name("x64-freebsd"); #elif defined(__OpenBSD__) - return Triplet::from_canonical_name("x64-openbsd"); + return Triplet::from_canonical_name("x64-openbsd"); #elif defined(__GLIBC__) #if defined(__aarch64__) - return Triplet::from_canonical_name("arm64-linux"); + return Triplet::from_canonical_name("arm64-linux"); #elif defined(__arm__) - return Triplet::from_canonical_name("arm-linux"); + return Triplet::from_canonical_name("arm-linux"); #elif defined(__s390x__) - return Triplet::from_canonical_name("s390x-linux"); + return Triplet::from_canonical_name("s390x-linux"); #elif (defined(__ppc64__) || defined(__PPC64__) || defined(__ppc64le__) || defined(__PPC64LE__)) && \ defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__) - return Triplet::from_canonical_name("ppc64le-linux"); + return Triplet::from_canonical_name("ppc64le-linux"); #else - return Triplet::from_canonical_name("x64-linux"); + return Triplet::from_canonical_name("x64-linux"); #endif #else - return Triplet::from_canonical_name("x64-linux-musl"); + return Triplet::from_canonical_name("x64-linux-musl"); #endif - } } } } diff --git a/versions/a-/armadillo.json b/versions/a-/armadillo.json index fa267c3876288d..e696b6548f9a36 100644 --- a/versions/a-/armadillo.json +++ b/versions/a-/armadillo.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "3ec327570d6731dbd87ebdee5a0cebdd8bd62ed7", + "version-string": "10.1.0", + "port-version": 1 + }, { "git-tree": "fa82d7d3b12f794825dad7fddcda2b08f268c2b2", "version-string": "10.1.0", diff --git a/versions/baseline.json b/versions/baseline.json index 11b3d0274f1add..be8a57f801a4bf 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -138,7 +138,7 @@ }, "armadillo": { "baseline": "10.1.0", - "port-version": 0 + "port-version": 1 }, "arrayfire": { "baseline": "3.7.3", From 4260eaf6fa1badb5b03be8bfcccaf8db237fa18a Mon Sep 17 00:00:00 2001 From: Tanguy Fautre Date: Tue, 2 Feb 2021 23:12:41 +0000 Subject: [PATCH 0082/1735] [Arrow] Update to 3.0.0 (#15757) * Cherry picked WiP (Update to arrow-2.0.0) * Point to arrow-3.0.0 files * Add missing re2 dependency. Sort dependency list alphabetically. * Configure ARROW_SNAPPY_USE_SHARED * Configure ARROW_THRIFT_USE_SHARED * Spaces vs tabs. * Fix Thrift and Lz4 library finding logic. * Fix debug arrow (shared) linking against release snappy. Tell CI x86 is not supported. * Fix debug arrow (shared) linking against release snappy (for real this time). * Fix linux build not finding Lz4. * Fix thrift finding on Linux (was pointing to an intermediate dir) * Try to fix macOS 10.x build. * Update port_versions. * update version * update version Co-authored-by: Jonliu1993 <13720414433@163.com> --- ports/arrow/CONTROL | 8 +- ports/arrow/all.patch | 291 +++++++++++++++++-------------------- ports/arrow/portfile.cmake | 7 +- versions/a-/arrow.json | 5 + versions/baseline.json | 4 +- 5 files changed, 146 insertions(+), 169 deletions(-) diff --git a/ports/arrow/CONTROL b/ports/arrow/CONTROL index 40ce8f95bf5e78..8aace675f92463 100644 --- a/ports/arrow/CONTROL +++ b/ports/arrow/CONTROL @@ -1,10 +1,10 @@ Source: arrow -Version: 1.0.1 -Port-Version: 2 -Build-Depends: boost-system, boost-filesystem, boost-multiprecision, boost-algorithm, flatbuffers, rapidjson, zlib, lz4, brotli, bzip2, zstd, snappy, gflags, thrift, double-conversion, glog, uriparser, openssl, utf8proc +Version: 3.0.0 +Port-Version: 0 +Build-Depends: boost-algorithm, boost-filesystem, boost-multiprecision, boost-system, brotli, bzip2, double-conversion, flatbuffers, gflags, glog, lz4, openssl, rapidjson, re2, snappy, thrift, uriparser, utf8proc, zlib, zstd Homepage: https://github.com/apache/arrow Description: Apache Arrow is a columnar in-memory analytics layer designed to accelerate big data. It houses a set of canonical in-memory representations of flat and hierarchical data along with multiple language-bindings for structure manipulation. It also provides IPC and common algorithm implementations. -Supports: x64&!arm +Supports: x64&!x86&!arm Default-Features: csv, json, parquet, filesystem Feature: csv diff --git a/ports/arrow/all.patch b/ports/arrow/all.patch index 65260b148a1aeb..838a9dcb45b1dd 100644 --- a/ports/arrow/all.patch +++ b/ports/arrow/all.patch @@ -1,120 +1,169 @@ diff --git a/cpp/cmake_modules/BuildUtils.cmake b/cpp/cmake_modules/BuildUtils.cmake -index e4e13cb70..58ca626da 100644 +index e59b4a38a..9bd895608 100644 --- a/cpp/cmake_modules/BuildUtils.cmake +++ b/cpp/cmake_modules/BuildUtils.cmake -@@ -335,7 +335,7 @@ function(ADD_ARROW_LIB LIB_NAME) +@@ -440,7 +440,7 @@ function(ADD_ARROW_LIB LIB_NAME) target_include_directories(${LIB_NAME}_static PRIVATE ${ARG_PRIVATE_INCLUDES}) endif() - -- if(MSVC) -+ if(MSVC AND 0) + +- if(MSVC_TOOLCHAIN) ++ if(MSVC_TOOLCHAIN AND 0) set(LIB_NAME_STATIC ${LIB_NAME}_static) else() set(LIB_NAME_STATIC ${LIB_NAME}) diff --git a/cpp/cmake_modules/FindBrotli.cmake b/cpp/cmake_modules/FindBrotli.cmake -index bf47915c4..053e605a0 100644 +index b46a0f1a0..3d87f5204 100644 --- a/cpp/cmake_modules/FindBrotli.cmake +++ b/cpp/cmake_modules/FindBrotli.cmake -@@ -64,8 +64,7 @@ if(BROTLI_ROOT) - PATH_SUFFIXES ${INCLUDE_PATH_SUFFIXES} +@@ -69,9 +69,9 @@ if(BROTLI_ROOT) + PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES} NO_DEFAULT_PATH) else() +- find_package(PkgConfig QUIET) - pkg_check_modules(BROTLI_PC libbrotlicommon libbrotlienc libbrotlidec) - if(BROTLI_PC_FOUND) -+ if(0) # Find via pkg_check_modules disabled as incompatible with vcpkg ++ #find_package(PkgConfig QUIET) ++ #pkg_check_modules(BROTLI_PC libbrotlicommon libbrotlienc libbrotlidec) ++ if(BROTLI_PC_FOUND AND 0) # Find via pkg_check_modules disabled as incompatible with vcpkg set(BROTLI_INCLUDE_DIR "${BROTLI_PC_libbrotlicommon_INCLUDEDIR}") - + # Some systems (e.g. Fedora) don't fill Brotli_LIBRARY_DIRS, so add the other dirs here. diff --git a/cpp/cmake_modules/FindLz4.cmake b/cpp/cmake_modules/FindLz4.cmake -index 841091643..bb5a00a50 100644 +index 14b6d93b9..d8d80c408 100644 --- a/cpp/cmake_modules/FindLz4.cmake +++ b/cpp/cmake_modules/FindLz4.cmake -@@ -19,14 +19,16 @@ if(MSVC AND NOT DEFINED LZ4_MSVC_STATIC_LIB_SUFFIX) - set(LZ4_MSVC_STATIC_LIB_SUFFIX "_static") - endif() - --set(LZ4_STATIC_LIB_SUFFIX "${LZ4_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}") +@@ -15,10 +15,12 @@ + # specific language governing permissions and limitations + # under the License. + +-if(MSVC_TOOLCHAIN AND NOT DEFINED LZ4_MSVC_LIB_PREFIX) +- set(LZ4_MSVC_LIB_PREFIX "lib") ++# Avoid the debug build linking to the release library by mistake. ++# In theory harmless if static linking at this point, but disastrous if done for a shared library. +if(CMAKE_BUILD_TYPE STREQUAL "DEBUG") + set(LZ4_LIB_NAME_DEBUG_SUFFIX d) -+endif() - --set(LZ4_STATIC_LIB_NAME ${CMAKE_STATIC_LIBRARY_PREFIX}lz4${LZ4_STATIC_LIB_SUFFIX}) -+set(LZ4_STATIC_LIB_NAME ${CMAKE_STATIC_LIBRARY_PREFIX}lz4${LZ4_MSVC_STATIC_LIB_SUFFIX}${LZ4_LIB_NAME_DEBUG_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}) - + endif() +-set(LZ4_LIB_NAME_BASE "${LZ4_MSVC_LIB_PREFIX}lz4") ++set(LZ4_LIB_NAME_BASE "lz4${LZ4_LIB_NAME_DEBUG_SUFFIX}") + + if(ARROW_LZ4_USE_SHARED) + set(LZ4_LIB_NAMES) +@@ -34,12 +36,8 @@ if(ARROW_LZ4_USE_SHARED) + LZ4_LIB_NAMES + "${CMAKE_SHARED_LIBRARY_PREFIX}${LZ4_LIB_NAME_BASE}${CMAKE_SHARED_LIBRARY_SUFFIX}") + else() +- if(MSVC AND NOT DEFINED LZ4_MSVC_STATIC_LIB_SUFFIX) +- set(LZ4_MSVC_STATIC_LIB_SUFFIX "_static") +- endif() +- set(LZ4_STATIC_LIB_SUFFIX "${LZ4_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}") + set(LZ4_LIB_NAMES +- "${CMAKE_STATIC_LIBRARY_PREFIX}${LZ4_LIB_NAME_BASE}${LZ4_STATIC_LIB_SUFFIX}") ++ "${CMAKE_STATIC_LIBRARY_PREFIX}${LZ4_LIB_NAME_BASE}${CMAKE_STATIC_LIBRARY_SUFFIX}") + endif() + if(LZ4_ROOT) - find_library( - LZ4_LIB -- NAMES lz4 ${LZ4_STATIC_LIB_NAME} lib${LZ4_STATIC_LIB_NAME} -+ NAMES lz4${LZ4_LIB_NAME_DEBUG_SUFFIX} ${LZ4_STATIC_LIB_NAME} lib${LZ4_STATIC_LIB_NAME} - "${CMAKE_SHARED_LIBRARY_PREFIX}lz4_static${CMAKE_SHARED_LIBRARY_SUFFIX}" - PATHS ${LZ4_ROOT} - PATH_SUFFIXES ${LIB_PATH_SUFFIXES} -@@ -38,19 +40,19 @@ if(LZ4_ROOT) - PATH_SUFFIXES ${INCLUDE_PATH_SUFFIXES}) - +@@ -56,8 +54,8 @@ if(LZ4_ROOT) + else() + find_package(PkgConfig QUIET) - pkg_check_modules(LZ4_PC liblz4) - if(LZ4_PC_FOUND) + #pkg_check_modules(LZ4_PC liblz4) -+ if(0) #if(LZ4_PC_FOUND) # Disabled as sometimes incompatible with vcpkg on Linux and OSX ++ if(0) # Do not use pkg_check_modules, doesn't seem to work correctly on some macOS versions (10.x in GitHub Actions) set(LZ4_INCLUDE_DIR "${LZ4_PC_INCLUDEDIR}") - + list(APPEND LZ4_PC_LIBRARY_DIRS "${LZ4_PC_LIBDIR}") -- find_library(LZ4_LIB lz4 -+ find_library(LZ4_LIB lz4${LZ4_LIB_NAME_DEBUG_SUFFIX} ${LZ4_STATIC_LIB_NAME} lib${LZ4_STATIC_LIB_NAME} - PATHS ${LZ4_PC_LIBRARY_DIRS} - NO_DEFAULT_PATH - PATH_SUFFIXES ${LIB_PATH_SUFFIXES}) - else() - find_library( - LZ4_LIB -- NAMES lz4 ${LZ4_STATIC_LIB_NAME} lib${LZ4_STATIC_LIB_NAME} -+ NAMES lz4${LZ4_LIB_NAME_DEBUG_SUFFIX} ${LZ4_STATIC_LIB_NAME} lib${LZ4_STATIC_LIB_NAME} - "${CMAKE_SHARED_LIBRARY_PREFIX}lz4_static${CMAKE_SHARED_LIBRARY_SUFFIX}" - PATH_SUFFIXES ${LIB_PATH_SUFFIXES}) - find_path(LZ4_INCLUDE_DIR NAMES lz4.h PATH_SUFFIXES ${INCLUDE_PATH_SUFFIXES}) +diff --git a/cpp/cmake_modules/FindSnappy.cmake b/cpp/cmake_modules/FindSnappy.cmake +index 5784cf592..817cf0c47 100644 +--- a/cpp/cmake_modules/FindSnappy.cmake ++++ b/cpp/cmake_modules/FindSnappy.cmake +@@ -15,20 +15,27 @@ + # specific language governing permissions and limitations + # under the License. + ++# Avoid the debug build linking to the release library by mistake. ++# In theory harmless if static linking at this point, but disastrous if done for a shared library. ++if(CMAKE_BUILD_TYPE STREQUAL "DEBUG") ++ set(SNAPPY_LIB_NAME_DEBUG_SUFFIX d) ++endif() ++ ++set(SNAPPY_LIB_NAME_BASE "snappy${SNAPPY_LIB_NAME_DEBUG_SUFFIX}") ++ + if(ARROW_SNAPPY_USE_SHARED) + set(SNAPPY_LIB_NAMES) + if(CMAKE_IMPORT_LIBRARY_SUFFIX) + list(APPEND SNAPPY_LIB_NAMES +- "${CMAKE_IMPORT_LIBRARY_PREFIX}snappy${CMAKE_IMPORT_LIBRARY_SUFFIX}") ++ "${CMAKE_IMPORT_LIBRARY_PREFIX}${SNAPPY_LIB_NAME_BASE}${CMAKE_IMPORT_LIBRARY_SUFFIX}") + endif() + list(APPEND SNAPPY_LIB_NAMES +- "${CMAKE_SHARED_LIBRARY_PREFIX}snappy${CMAKE_SHARED_LIBRARY_SUFFIX}") ++ "${CMAKE_SHARED_LIBRARY_PREFIX}${SNAPPY_LIB_NAME_BASE}${CMAKE_SHARED_LIBRARY_SUFFIX}") + else() +- set(SNAPPY_STATIC_LIB_NAME_BASE "snappy") + if(MSVC) +- set(SNAPPY_STATIC_LIB_NAME_BASE "${SNAPPY_STATIC_LIB_NAME_BASE}${SNAPPY_MSVC_STATIC_LIB_SUFFIX}") ++ set(SNAPPY_STATIC_LIB_NAME_BASE "${SNAPPY_LIB_NAME_BASE}${SNAPPY_MSVC_STATIC_LIB_SUFFIX}") + endif() +- set(SNAPPY_LIB_NAMES "${CMAKE_STATIC_LIBRARY_PREFIX}${SNAPPY_STATIC_LIB_NAME_BASE}${CMAKE_STATIC_LIBRARY_SUFFIX}") ++ set(SNAPPY_LIB_NAMES "${CMAKE_STATIC_LIBRARY_PREFIX}${SNAPPY_LIB_NAME_BASE}${CMAKE_STATIC_LIBRARY_SUFFIX}") + endif() + + if(Snappy_ROOT) diff --git a/cpp/cmake_modules/FindThrift.cmake b/cpp/cmake_modules/FindThrift.cmake -index bb3eb5608..0b03d37d3 100644 +index 273d907ed..65f477f54 100644 --- a/cpp/cmake_modules/FindThrift.cmake +++ b/cpp/cmake_modules/FindThrift.cmake -@@ -43,6 +43,10 @@ if(MSVC AND NOT THRIFT_MSVC_STATIC_LIB_SUFFIX) - set(THRIFT_MSVC_STATIC_LIB_SUFFIX md) - endif() - +@@ -39,6 +39,12 @@ function(EXTRACT_THRIFT_VERSION) + endif() + endfunction(EXTRACT_THRIFT_VERSION) + ++# Avoid the debug build linking to the release library by mistake. ++# In theory harmless if static linking at this point, but disastrous if done for a shared library. +if(CMAKE_BUILD_TYPE STREQUAL "DEBUG") + set(THRIFT_LIB_NAME_DEBUG_SUFFIX d) +endif() + - if(Thrift_ROOT) - find_library(THRIFT_STATIC_LIB thrift${THRIFT_MSVC_STATIC_LIB_SUFFIX} - PATHS ${Thrift_ROOT} -@@ -61,16 +65,14 @@ else() - + if(MSVC_TOOLCHAIN AND NOT DEFINED THRIFT_MSVC_LIB_SUFFIX) + if(NOT ARROW_THRIFT_USE_SHARED) + if(ARROW_USE_STATIC_CRT) +@@ -48,7 +54,7 @@ if(MSVC_TOOLCHAIN AND NOT DEFINED THRIFT_MSVC_LIB_SUFFIX) + endif() + endif() + endif() +-set(THRIFT_LIB_NAME_BASE "thrift${THRIFT_MSVC_LIB_SUFFIX}") ++set(THRIFT_LIB_NAME_BASE "thrift${THRIFT_MSVC_LIB_SUFFIX}${THRIFT_LIB_NAME_DEBUG_SUFFIX}") + + if(ARROW_THRIFT_USE_SHARED) + set(THRIFT_LIB_NAMES thrift) +@@ -84,8 +90,8 @@ else() + # THRIFT-4760: The pkgconfig files are currently only installed when using autotools. + # Starting with 0.13, they are also installed for the CMake-based installations of Thrift. + find_package(PkgConfig QUIET) +- pkg_check_modules(THRIFT_PC thrift) +- if(THRIFT_PC_FOUND) ++ #pkg_check_modules(THRIFT_PC thrift) ++ if(0) # Do not use pkg_check_modules, as it finds the wrong location (an intermediate build dir). + set(THRIFT_INCLUDE_DIR "${THRIFT_PC_INCLUDEDIR}") + list(APPEND THRIFT_PC_LIBRARY_DIRS "${THRIFT_PC_LIBDIR}") - -- find_library(THRIFT_STATIC_LIB thrift${THRIFT_MSVC_STATIC_LIB_SUFFIX} -- PATHS ${THRIFT_PC_LIBRARY_DIRS} -- NO_DEFAULT_PATH) -+ find_library(THRIFT_STATIC_LIB thrift${THRIFT_MSVC_STATIC_LIB_SUFFIX}${THRIFT_LIB_NAME_DEBUG_SUFFIX} -+ PATHS ${THRIFT_PC_LIBRARY_DIRS}) - find_program(THRIFT_COMPILER thrift - HINTS ${THRIFT_PC_PREFIX} -- NO_DEFAULT_PATH - PATH_SUFFIXES "bin") +@@ -101,8 +107,7 @@ else() set(THRIFT_VERSION ${THRIFT_PC_VERSION}) else() -- find_library(THRIFT_STATIC_LIB thrift${THRIFT_MSVC_STATIC_LIB_SUFFIX} -+ find_library(THRIFT_STATIC_LIB thrift${THRIFT_MSVC_STATIC_LIB_SUFFIX}${THRIFT_LIB_NAME_DEBUG_SUFFIX} - PATH_SUFFIXES "lib/${CMAKE_LIBRARY_ARCHITECTURE}" "lib") + find_library(THRIFT_LIB +- NAMES ${THRIFT_LIB_NAMES} +- PATH_SUFFIXES "lib/${CMAKE_LIBRARY_ARCHITECTURE}" "lib") ++ NAMES ${THRIFT_LIB_NAMES}) find_path(THRIFT_INCLUDE_DIR thrift/Thrift.h PATH_SUFFIXES "include") find_program(THRIFT_COMPILER thrift PATH_SUFFIXES "bin") -diff --git a/cpp/cmake_modules/FindZSTD.cmake b/cpp/cmake_modules/FindZSTD.cmake -index 84d21d2b5..971a9dec3 100644 ---- a/cpp/cmake_modules/FindZSTD.cmake -+++ b/cpp/cmake_modules/FindZSTD.cmake -@@ -24,11 +24,11 @@ if(ARROW_ZSTD_USE_SHARED) - list(APPEND ZSTD_LIB_NAMES - "${CMAKE_SHARED_LIBRARY_PREFIX}zstd${CMAKE_SHARED_LIBRARY_SUFFIX}") + extract_thrift_version() +diff --git a/cpp/cmake_modules/Findzstd.cmake b/cpp/cmake_modules/Findzstd.cmake +index 6659a682d..d8cc4f72d 100644 +--- a/cpp/cmake_modules/Findzstd.cmake ++++ b/cpp/cmake_modules/Findzstd.cmake +@@ -34,13 +34,14 @@ if(ARROW_ZSTD_USE_SHARED) + ZSTD_LIB_NAMES + "${CMAKE_SHARED_LIBRARY_PREFIX}${ZSTD_LIB_NAME_BASE}${CMAKE_SHARED_LIBRARY_SUFFIX}") else() - if(MSVC AND NOT DEFINED ZSTD_MSVC_STATIC_LIB_SUFFIX) - set(ZSTD_MSVC_STATIC_LIB_SUFFIX "_static") @@ -124,90 +173,10 @@ index 84d21d2b5..971a9dec3 100644 set(ZSTD_STATIC_LIB_SUFFIX - "${ZSTD_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}") + "${ZSTD_MSVC_DEBUG_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}") - set(ZSTD_STATIC_LIB_NAME ${CMAKE_STATIC_LIBRARY_PREFIX}zstd${ZSTD_STATIC_LIB_SUFFIX}) - set(ZSTD_LIB_NAMES "${ZSTD_STATIC_LIB_NAME}" "lib${ZSTD_STATIC_LIB_NAME}") + set(ZSTD_LIB_NAMES +- "${CMAKE_STATIC_LIBRARY_PREFIX}${ZSTD_LIB_NAME_BASE}${ZSTD_STATIC_LIB_SUFFIX}") ++ "zstd${ZSTD_STATIC_LIB_SUFFIX}" ++ "libzstd${ZSTD_STATIC_LIB_SUFFIX}") endif() -@@ -49,8 +49,8 @@ if(ZSTD_ROOT) - - else() - # Second, find via pkg_check_modules -- pkg_check_modules(ZSTD_PC libzstd) -- if(ZSTD_PC_FOUND) -+ #pkg_check_modules(ZSTD_PC libzstd) -+ if(0) #(ZSTD_PC_FOUND) # Disabled as sometimes incompatible with vcpkg on Linux and OSX - set(ZSTD_INCLUDE_DIR "${ZSTD_PC_INCLUDEDIR}") - list(APPEND ZSTD_PC_LIBRARY_DIRS "${ZSTD_PC_LIBDIR}") -diff --git a/cpp/cmake_modules/DefineOptions.cmake b/cpp/cmake_modules/DefineOptions.cmake -index 3b229846c..da2c6d551 100644 ---- a/cpp/cmake_modules/DefineOptions.cmake -+++ b/cpp/cmake_modules/DefineOptions.cmake -@@ -297,6 +297,9 @@ if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}") - define_option(ARROW_PROTOBUF_USE_SHARED - "Rely on Protocol Buffers shared libraries where relevant" ON) - -+ define_option(ARROW_UTF8PROC_USE_SHARED -+ "Rely on utf8proc shared libraries where relevant" ON) -+ - define_option(ARROW_ZSTD_USE_SHARED "Rely on zstd shared libraries where relevant" ON) - - define_option(ARROW_WITH_BACKTRACE "Build with backtrace support" ON) -diff --git a/cpp/cmake_modules/Findutf8proc.cmake b/cpp/cmake_modules/Findutf8proc.cmake -index ab9ae9f98..d3063827a 100644 ---- a/cpp/cmake_modules/Findutf8proc.cmake -+++ b/cpp/cmake_modules/Findutf8proc.cmake -@@ -15,11 +15,28 @@ - # specific language governing permissions and limitations - # under the License. - -+if(ARROW_UTF8PROC_USE_SHARED) -+ set(UTF8PROC_LIB_NAMES) -+ if(CMAKE_IMPORT_LIBRARY_SUFFIX) -+ list(APPEND UTF8PROC_LIB_NAMES -+ "${CMAKE_IMPORT_LIBRARY_PREFIX}utf8proc${CMAKE_IMPORT_LIBRARY_SUFFIX}") -+ endif() -+ list(APPEND UTF8PROC_LIB_NAMES -+ "${CMAKE_SHARED_LIBRARY_PREFIX}utf8proc${CMAKE_SHARED_LIBRARY_SUFFIX}") -+else() -+ if(MSVC AND NOT DEFINED UTF8PROC_MSVC_STATIC_LIB_SUFFIX) -+ set(UTF8PROC_MSVC_STATIC_LIB_SUFFIX "_static") -+ endif() -+ set(UTF8PROC_STATIC_LIB_SUFFIX -+ "${UTF8PROC_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}") -+ set(UTF8PROC_STATIC_LIB_NAME ${CMAKE_STATIC_LIBRARY_PREFIX}utf8proc${UTF8PROC_STATIC_LIB_SUFFIX}) -+ set(UTF8PROC_LIB_NAMES "${UTF8PROC_STATIC_LIB_NAME}" "lib${UTF8PROC_STATIC_LIB_NAME}") -+endif() -+ - if(utf8proc_ROOT) - find_library( - UTF8PROC_LIB -- NAMES utf8proc -- "${CMAKE_SHARED_LIBRARY_PREFIX}utf8proc${CMAKE_SHARED_LIBRARY_SUFFIX}" -+ NAMES ${UTF8PROC_LIB_NAMES} - PATHS ${utf8proc_ROOT} - PATH_SUFFIXES ${LIB_PATH_SUFFIXES} - NO_DEFAULT_PATH) -@@ -28,12 +45,10 @@ if(utf8proc_ROOT) - PATHS ${utf8proc_ROOT} - NO_DEFAULT_PATH - PATH_SUFFIXES ${INCLUDE_PATH_SUFFIXES}) -- - else() - find_library( - UTF8PROC_LIB -- NAMES utf8proc -- "${CMAKE_SHARED_LIBRARY_PREFIX}utf8proc${CMAKE_SHARED_LIBRARY_SUFFIX}" -+ NAMES ${UTF8PROC_LIB_NAMES} - PATH_SUFFIXES ${LIB_PATH_SUFFIXES}) - find_path(UTF8PROC_INCLUDE_DIR NAMES utf8proc.h PATH_SUFFIXES ${INCLUDE_PATH_SUFFIXES}) - endif() -@@ -47,5 +62,8 @@ if(UTF8PROC_FOUND OR utf8proc_FOUND) - set_target_properties(utf8proc::utf8proc - PROPERTIES IMPORTED_LOCATION "${UTF8PROC_LIB}" - INTERFACE_INCLUDE_DIRECTORIES "${UTF8PROC_INCLUDE_DIR}") -+ if(NOT ARROW_UTF8PROC_USE_SHARED) -+ set_target_properties(utf8proc::utf8proc -+ PROPERTIES INTERFACE_COMPILER_DEFINITIONS "UTF8PROC_STATIC") -+ endif() - endif() -- + # First, find via if specified ZTD_ROOT diff --git a/ports/arrow/portfile.cmake b/ports/arrow/portfile.cmake index 2ff21fc57a7cfe..a36dad1c1d6fe8 100644 --- a/ports/arrow/portfile.cmake +++ b/ports/arrow/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_fail_port_install(ON_ARCH "x86" "arm" "arm64") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO apache/arrow - REF apache-arrow-1.0.1 - SHA512 46fedecaf7fa0ff0d8b4ac5f3d7bcbcb75ce4f65d272f775dedd61f091f975cf03fc55e91e46021df9872a82712ca9c9e4eb35414cf46c0f49a26f7a5a3dd50c + REF apache-arrow-3.0.0 + SHA512 02645be0eaaaa69880ab911fc0b74665ebf52a35f9ad05210b23e7b42bcfbe3c3a4d44fa6c4c35af74764efbe528c2e0ebf0549ce5890c796be695ceb94e5606 HEAD_REF master PATCHES all.patch @@ -34,6 +34,9 @@ vcpkg_configure_cmake( -DARROW_BUILD_SHARED=${ARROW_BUILD_SHARED} -DARROW_BROTLI_USE_SHARED=${ARROW_BUILD_SHARED} # This can be wrong in custom triplets -DARROW_GFLAGS_USE_SHARED=${ARROW_BUILD_SHARED} # This can be wrong in custom triplets + -DARROW_LZ4_USE_SHARED=${ARROW_BUILD_SHARED} # This can be wrong in custom triplets + -DARROW_SNAPPY_USE_SHARED=${ARROW_BUILD_SHARED} # This can be wrong in custom triplets + -DARROW_THRIFT_USE_SHARED=OFF # vcpkg doesn't build Thrift as a shared library for the moment (2020/01/22). -DARROW_UTF8PROC_USE_SHARED=${ARROW_BUILD_SHARED} # This can be wrong in custom triplets -DARROW_ZSTD_USE_SHARED=${ARROW_BUILD_SHARED} # This can be wrong in custom triplets -DARROW_JEMALLOC=OFF diff --git a/versions/a-/arrow.json b/versions/a-/arrow.json index cd706d26e9ba4f..d795d327ada3a2 100644 --- a/versions/a-/arrow.json +++ b/versions/a-/arrow.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "bc9cb096ffa223f2af620db18ed244d17e47ffe7", + "version-string": "3.0.0", + "port-version": 0 + }, { "git-tree": "604537d50ab45ff96911b5330c51137ac5fc4040", "version-string": "1.0.1", diff --git a/versions/baseline.json b/versions/baseline.json index be8a57f801a4bf..97ef4ae3616c30 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -145,8 +145,8 @@ "port-version": 3 }, "arrow": { - "baseline": "1.0.1", - "port-version": 2 + "baseline": "3.0.0", + "port-version": 0 }, "ashes": { "baseline": "2020-10-21", From a84190e1deca1b6a466a82b439e5e4b9f8c41b0e Mon Sep 17 00:00:00 2001 From: Be Date: Tue, 2 Feb 2021 18:40:56 -0800 Subject: [PATCH 0083/1735] [chromaprint] add new port with version 1.5.0 (#15986) --- ports/chromaprint/portfile.cmake | 16 ++++++++++++++++ ports/chromaprint/vcpkg.json | 10 ++++++++++ versions/baseline.json | 4 ++++ versions/c-/chromaprint.json | 9 +++++++++ 4 files changed, 39 insertions(+) create mode 100644 ports/chromaprint/portfile.cmake create mode 100644 ports/chromaprint/vcpkg.json create mode 100644 versions/c-/chromaprint.json diff --git a/ports/chromaprint/portfile.cmake b/ports/chromaprint/portfile.cmake new file mode 100644 index 00000000000000..da430faa5b67f3 --- /dev/null +++ b/ports/chromaprint/portfile.cmake @@ -0,0 +1,16 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO acoustid/chromaprint + REF v1.5.0 + SHA512 333114949928abdf5d4b11aba1db6ec487eebe526324c68d903b3fa80a3af87a28d942af765a2f873e63a1bf222b658b6438cd10cde4446f61b26ea91f537469 +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) +vcpkg_install_cmake() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/chromaprint/vcpkg.json b/ports/chromaprint/vcpkg.json new file mode 100644 index 00000000000000..4808008c97af67 --- /dev/null +++ b/ports/chromaprint/vcpkg.json @@ -0,0 +1,10 @@ +{ + "name": "chromaprint", + "version-string": "1.5.0", + "description": "C library for generating audio fingerprints used by AcoustID", + "homepage": "https://github.com/acoustid/chromaprint", + "license": "LGPL-2.1-or-later", + "dependencies": [ + "ffmpeg" + ] +} diff --git a/versions/baseline.json b/versions/baseline.json index 97ef4ae3616c30..b45ddb950c9ebf 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -1164,6 +1164,10 @@ "baseline": "0.40-4", "port-version": 0 }, + "chromaprint": { + "baseline": "1.5.0", + "port-version": 0 + }, "chromium-base": { "baseline": "86.0.4199.1", "port-version": 1 diff --git a/versions/c-/chromaprint.json b/versions/c-/chromaprint.json new file mode 100644 index 00000000000000..5fc772975e891d --- /dev/null +++ b/versions/c-/chromaprint.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "1f3fe321540c3d87ad63fe85efa5b48bd9c55ac8", + "version-string": "1.5.0", + "port-version": 0 + } + ] +} From dc4d1b735aca2aa3ef0582ab2e420031fd24a402 Mon Sep 17 00:00:00 2001 From: nicole mazzuca Date: Wed, 3 Feb 2021 10:03:44 -0800 Subject: [PATCH 0084/1735] [vcpkg] fix checking out git registry ports (#16009) * [vcpkg] fix checking out git registry ports * fix the new issues in builtinregistryentry * fix tests * fix tests boogaloo * [vcpkg] Fix issue where baseline is requested for overlay during version resolution * split BuiltinRegistryEntry into two types Co-authored-by: Robert Schumacher --- .../end-to-end-tests-dir/registries.ps1 | 32 +++++++++- toolsrc/src/vcpkg/build.cpp | 3 + toolsrc/src/vcpkg/dependencies.cpp | 53 +++++++++++++---- toolsrc/src/vcpkg/registries.cpp | 59 +++++++++++++++---- 4 files changed, 123 insertions(+), 24 deletions(-) diff --git a/scripts/azure-pipelines/end-to-end-tests-dir/registries.ps1 b/scripts/azure-pipelines/end-to-end-tests-dir/registries.ps1 index 1ea2cb36d6772a..bdeeb0a15b5da6 100644 --- a/scripts/azure-pipelines/end-to-end-tests-dir/registries.ps1 +++ b/scripts/azure-pipelines/end-to-end-tests-dir/registries.ps1 @@ -68,8 +68,8 @@ try $CurrentTest = 'git init .' git @gitConfigOptions init . Throw-IfFailed - Copy-Item -Recurse -LiteralPath "$PSScriptRoot/../../e2e_ports/versions" -Destination . Copy-Item -Recurse -LiteralPath "$PSScriptRoot/../../e2e_ports/vcpkg-internal-e2e-test-port" -Destination . + New-Item -Path './vcpkg-internal-e2e-test-port/foobar' -Value 'this is just to get a distinct git tree' $CurrentTest = 'git add -A' git @gitConfigOptions add -A @@ -77,6 +77,36 @@ try $CurrentTest = 'git commit' git @gitConfigOptions commit -m 'initial commit' Throw-IfFailed + + $vcpkgInternalE2eTestPortGitTree = git rev-parse 'HEAD:vcpkg-internal-e2e-test-port' + $vcpkgInternalE2eTestPortVersionsJson = @{ + "versions" = @( + @{ + "version-string" = "1.0.0"; + "git-tree" = $vcpkgInternalE2eTestPortGitTree + } + ) + } + $vcpkgBaseline = @{ + "default" = @{ + "vcpkg-internal-e2e-test-port" = @{ + "baseline" = "1.0.0" + } + } + } + + New-Item -Path './versions' -ItemType Directory + New-Item -Path './versions/v-' -ItemType Directory + + New-Item -Path './versions/baseline.json' -Value (ConvertTo-Json -Depth 5 -InputObject $vcpkgBaseline) + New-Item -Path './versions/v-/vcpkg-internal-e2e-test-port.json' -Value (ConvertTo-Json -Depth 5 -InputObject $vcpkgInternalE2eTestPortVersionsJson) + + $CurrentTest = 'git add -A' + git @gitConfigOptions add -A + Throw-IfFailed + $CurrentTest = 'git commit' + git @gitConfigOptions commit --amend --no-edit + Throw-IfFailed } finally { diff --git a/toolsrc/src/vcpkg/build.cpp b/toolsrc/src/vcpkg/build.cpp index 53bdd83419d470..b38062f0c93da2 100644 --- a/toolsrc/src/vcpkg/build.cpp +++ b/toolsrc/src/vcpkg/build.cpp @@ -344,6 +344,9 @@ namespace vcpkg::Build "for more information.\n"); Checks::exit_maybe_upgrade(VCPKG_LINE_INFO); #else + (void)target_architecture; + (void)toolset; + (void)all_toolsets; Checks::exit_with_message(VCPKG_LINE_INFO, "Error: vcvars-based toolchains are only usable on Windows platforms."); #endif diff --git a/toolsrc/src/vcpkg/dependencies.cpp b/toolsrc/src/vcpkg/dependencies.cpp index 83066312e0ae12..aafdec065ee581 100644 --- a/toolsrc/src/vcpkg/dependencies.cpp +++ b/toolsrc/src/vcpkg/dependencies.cpp @@ -1256,6 +1256,8 @@ namespace vcpkg::Dependencies VersionSchemeInfo& vsi, const std::string& feature); + Optional dep_to_version(const std::string& name, const DependencyConstraint& dc); + std::vector m_errors; }; @@ -1452,17 +1454,31 @@ namespace vcpkg::Dependencies const Dependency& dep, const std::string& origin) { - auto base_ver = m_base_provider.get_baseline_version(dep.name); - auto dep_ver = to_version(dep.constraint); - - if (auto dv = dep_ver.get()) + auto maybe_overlay = m_o_provider.get_control_file(ref.first.name()); + auto over_it = m_overrides.find(ref.first.name()); + if (auto p_overlay = maybe_overlay.get()) { - add_constraint(ref, *dv, origin); + auto overlay_version = to_version(*p_overlay->source_control_file); + add_constraint(ref, overlay_version, origin); } - - if (auto bv = base_ver.get()) + else if (over_it != m_overrides.end()) { - add_constraint(ref, *bv, origin); + add_constraint(ref, over_it->second, origin); + } + else + { + auto base_ver = m_base_provider.get_baseline_version(dep.name); + auto dep_ver = to_version(dep.constraint); + + if (auto dv = dep_ver.get()) + { + add_constraint(ref, *dv, origin); + } + + if (auto bv = base_ver.get()) + { + add_constraint(ref, *bv, origin); + } } for (auto&& f : dep.features) @@ -1569,10 +1585,21 @@ namespace vcpkg::Dependencies return *m_graph.emplace(spec, PackageNode{}).first; } - static Optional dep_to_version(const std::string& name, - const DependencyConstraint& dc, - const PortFileProvider::IBaselineProvider& base_provider) + Optional VersionedPackageGraph::dep_to_version(const std::string& name, + const DependencyConstraint& dc) { + auto maybe_overlay = m_o_provider.get_control_file(name); + if (auto p_overlay = maybe_overlay.get()) + { + return to_version(*p_overlay->source_control_file); + } + + auto over_it = m_overrides.find(name); + if (over_it != m_overrides.end()) + { + return over_it->second; + } + auto maybe_cons = to_version(dc); if (maybe_cons) { @@ -1580,7 +1607,7 @@ namespace vcpkg::Dependencies } else { - return base_provider.get_baseline_version(name); + return m_base_provider.get_baseline_version(name); } } @@ -1779,7 +1806,7 @@ namespace vcpkg::Dependencies { continue; } - auto maybe_cons = dep_to_version(dep.name, dep.constraint, m_base_provider); + auto maybe_cons = dep_to_version(dep.name, dep.constraint); if (auto cons = maybe_cons.get()) { diff --git a/toolsrc/src/vcpkg/registries.cpp b/toolsrc/src/vcpkg/registries.cpp index 44a6314abcd54c..971e8d0c298d55 100644 --- a/toolsrc/src/vcpkg/registries.cpp +++ b/toolsrc/src/vcpkg/registries.cpp @@ -99,7 +99,7 @@ namespace DelayedInit m_baseline; }; - struct BuiltinRegistryEntry final : RegistryEntry + struct BuiltinPortTreeRegistryEntry final : RegistryEntry { View get_port_versions() const override { return {&version, 1}; } ExpectedS get_path_to_version(const VcpkgPaths&, const VersionT& v) const override @@ -108,6 +108,7 @@ namespace { return path; } + return {Strings::format("Error: no version entry for %s at version %s.\n" "We are currently using the version in the ports tree (%s).", name, @@ -121,6 +122,19 @@ namespace VersionT version; }; + struct BuiltinGitRegistryEntry final : RegistryEntry + { + View get_port_versions() const override { return port_versions; } + ExpectedS get_path_to_version(const VcpkgPaths&, const VersionT& version) const override; + + std::string port_name; + + // these two map port versions to git trees + // these shall have the same size, and git_trees[i] shall be the git tree for port_versions[i] + std::vector port_versions; + std::vector git_trees; + }; + struct FilesystemRegistryEntry final : RegistryEntry { explicit FilesystemRegistryEntry(std::string&& port_name) : port_name(port_name) { } @@ -248,14 +262,14 @@ namespace VCPKG_LINE_INFO, maybe_version_entries.has_value(), "Error: " + maybe_version_entries.error()); auto version_entries = std::move(maybe_version_entries).value_or_exit(VCPKG_LINE_INFO); - auto gre = std::make_unique(); - gre->port_name = port_name.to_string(); + auto res = std::make_unique(); + res->port_name = port_name.to_string(); for (auto&& version_entry : version_entries) { - gre->port_versions.push_back(version_entry.version); - gre->git_trees.push_back(version_entry.git_tree); + res->port_versions.push_back(version_entry.version); + res->git_trees.push_back(version_entry.git_tree); } - return gre; + return res; } } @@ -275,10 +289,10 @@ namespace if (scf->core_paragraph->name == port_name) { - auto res = std::make_unique(); - res->version = scf->core_paragraph->to_versiont(); - res->path = std::move(port_directory); + auto res = std::make_unique(); res->name = std::move(scf->core_paragraph->name); + res->path = std::move(port_directory); + res->version = scf->to_versiont(); return res; } Checks::exit_maybe_upgrade(VCPKG_LINE_INFO, @@ -583,6 +597,31 @@ namespace // { RegistryEntry + // { BuiltinRegistryEntry::RegistryEntry + ExpectedS BuiltinGitRegistryEntry::get_path_to_version(const VcpkgPaths& paths, + const VersionT& version) const + { + auto it = std::find(port_versions.begin(), port_versions.end(), version); + if (it == port_versions.end()) + { + return {Strings::concat("Error: No version entry for ", + port_name, + " at version ", + version, + ". This may be fixed by updating vcpkg to the latest master via `git " + "pull`.\nAvailable versions:\n", + Strings::join("", + port_versions, + [](const VersionT& v) { return Strings::concat(" ", v, "\n"); }), + "\nSee `vcpkg help versioning` for more information."), + expected_right_tag}; + } + + const auto& git_tree = git_trees[it - port_versions.begin()]; + return paths.git_checkout_port(port_name, git_tree, paths.root / fs::u8path(".git")); + } + // } BuiltinRegistryEntry::RegistryEntry + // { FilesystemRegistryEntry::RegistryEntry ExpectedS FilesystemRegistryEntry::get_path_to_version(const VcpkgPaths&, const VersionT& version) const { @@ -617,7 +656,7 @@ namespace } const auto& git_tree = git_trees[it - port_versions.begin()]; - return paths.git_checkout_port(port_name, git_tree, paths.root / fs::u8path(".git")); + return paths.git_checkout_object_from_remote_registry(git_tree); } // } GitRegistryEntry::RegistryEntry From ba03ad7c9d2f3b0467229055bebf5b7251f15045 Mon Sep 17 00:00:00 2001 From: Billy O'Neal Date: Wed, 3 Feb 2021 11:11:27 -0800 Subject: [PATCH 0085/1735] [vcpkg] Apply fixes needed to extract vcpkg-tool (#16012) utilities.cmake: Disable warnings that are firing on Azure Pipelines CI machines due to different Clang version. expected.h: Fix a bug I introduced in https://github.com/microsoft/vcpkg/pull/15638/ because I was under the impression expected worked like optional (in that value_or_exit for it should be treated as a program bug) build.cpp: Add (void)s to silence warnings. binarycaching.cpp: Repair assumption that the current directory is C: which isn't true on the Hosted Azure Pipelines agents. others: Make unit tests respect %VCPKG_ROOT%, as necessary in the vcpkg_tool repo. Note that this required splitting vcpkgcmdarguments::ImbueFromEnvironment into the once-only process modifying part and the just imbue from environment part. --- toolsrc/cmake/utilities.cmake | 22 +++++-- toolsrc/include/vcpkg/base/expected.h | 2 +- toolsrc/include/vcpkg/vcpkgcmdarguments.h | 6 +- toolsrc/src/vcpkg-test/binarycaching.cpp | 28 +++------ toolsrc/src/vcpkg-test/manifests.cpp | 1 + toolsrc/src/vcpkg.cpp | 1 + toolsrc/src/vcpkg/vcpkgcmdarguments.cpp | 77 +++++++++++------------ 7 files changed, 73 insertions(+), 64 deletions(-) diff --git a/toolsrc/cmake/utilities.cmake b/toolsrc/cmake/utilities.cmake index 9523b9d9782662..4b434a9c76aba4 100644 --- a/toolsrc/cmake/utilities.cmake +++ b/toolsrc/cmake/utilities.cmake @@ -204,7 +204,13 @@ function(vcpkg_target_add_warning_options TARGET) if(VCPKG_DEVELOPMENT_WARNINGS) target_compile_options(${TARGET} PRIVATE -W4) if(VCPKG_COMPILER STREQUAL "clang") - target_compile_options(${TARGET} PRIVATE -Wmissing-prototypes -Wno-missing-field-initializers) + # -Wno-range-loop-analysis is due to an LLVM bug which will be fixed in a + # future version of clang https://reviews.llvm.org/D73007 + target_compile_options(${TARGET} PRIVATE + -Wmissing-prototypes + -Wno-missing-field-initializers + -Wno-range-loop-analysis + ) else() target_compile_options(${TARGET} PRIVATE -analyze) endif() @@ -219,13 +225,21 @@ function(vcpkg_target_add_warning_options TARGET) if(VCPKG_DEVELOPMENT_WARNINGS) target_compile_options(${TARGET} PRIVATE -Wall -Wextra -Wpedantic - -Wno-unknown-pragmas -Wno-missing-field-initializers -Wno-redundant-move) + -Wno-unknown-pragmas + -Wno-missing-field-initializers + -Wno-redundant-move + ) # GCC and clang have different names for the same warning if(VCPKG_COMPILER STREQUAL "gcc") - target_compile_options(${TARGET} PRIVATE -Wmissing-declarations) + target_compile_options(${TARGET} PRIVATE + -Wmissing-declarations + ) elseif(VCPKG_COMPILER STREQUAL "clang") - target_compile_options(${TARGET} PRIVATE -Wmissing-prototypes) + target_compile_options(${TARGET} PRIVATE + -Wmissing-prototypes + -Wno-range-loop-analysis + ) endif() endif() diff --git a/toolsrc/include/vcpkg/base/expected.h b/toolsrc/include/vcpkg/base/expected.h index 13e70057d3d690..f24366c4a69b09 100644 --- a/toolsrc/include/vcpkg/base/expected.h +++ b/toolsrc/include/vcpkg/base/expected.h @@ -229,7 +229,7 @@ namespace vcpkg if (m_s.has_error()) { System::print2(System::Color::error, m_s.to_string(), "\n"); - Checks::unreachable(line_info); + Checks::exit_fail(line_info); } } diff --git a/toolsrc/include/vcpkg/vcpkgcmdarguments.h b/toolsrc/include/vcpkg/vcpkgcmdarguments.h index 365f892a0bc70f..14208e926be8dc 100644 --- a/toolsrc/include/vcpkg/vcpkgcmdarguments.h +++ b/toolsrc/include/vcpkg/vcpkgcmdarguments.h @@ -212,7 +212,6 @@ namespace vcpkg } bool output_json() const { return json.value_or(false); } - bool is_recursive_invocation() const { return m_is_recursive_invocation; } std::string command; std::vector command_arguments; @@ -221,13 +220,16 @@ namespace vcpkg void imbue_from_environment(); + // Applies recursive settings from the environment or sets a global environment variable + // to be consumed by subprocesses; may only be called once per process. + static void imbue_or_apply_process_recursion(VcpkgCmdArguments& args); + void check_feature_flag_consistency() const; void debug_print_feature_flags() const; void track_feature_flag_metrics() const; private: - bool m_is_recursive_invocation = false; std::unordered_set command_switches; std::unordered_map> command_options; }; diff --git a/toolsrc/src/vcpkg-test/binarycaching.cpp b/toolsrc/src/vcpkg-test/binarycaching.cpp index 3cede064c585bb..8a1a28d237b739 100644 --- a/toolsrc/src/vcpkg-test/binarycaching.cpp +++ b/toolsrc/src/vcpkg-test/binarycaching.cpp @@ -58,7 +58,11 @@ TEST_CASE ("generate_nuspec", "[generate_nuspec]") { auto& fsWrapper = Files::get_real_filesystem(); VcpkgCmdArguments args = VcpkgCmdArguments::create_from_arg_sequence(nullptr, nullptr); + args.imbue_from_environment(); args.packages_root_dir = std::make_unique("/"); + auto pkgPath = fsWrapper.absolute(VCPKG_LINE_INFO, fs::u8path("/zlib2_x64-windows")) / fs::u8path("**"); + pkgPath.make_preferred(); + const auto pkgPathStr = fs::u8string(pkgPath); VcpkgPaths paths(fsWrapper, args); auto pghs = Paragraphs::parse_paragraphs(R"( @@ -101,11 +105,6 @@ Build-Depends: bzip { auto nuspec = generate_nuspec(paths, ipa, ref, {}); -#ifdef _WIN32 -#define PKGPATH "C:\\zlib2_x64-windows\\**" -#else -#define PKGPATH "/zlib2_x64-windows/**" -#endif std::string expected = R"( zlib2_x64-windows @@ -125,7 +124,8 @@ Features: a, b - + )"; REQUIRE_EQUAL_TEXT(nuspec, expected); @@ -133,11 +133,6 @@ Features: a, b { auto nuspec = generate_nuspec(paths, ipa, ref, {"urlvalue"}); -#ifdef _WIN32 -#define PKGPATH "C:\\zlib2_x64-windows\\**" -#else -#define PKGPATH "/zlib2_x64-windows/**" -#endif std::string expected = R"( zlib2_x64-windows @@ -158,18 +153,14 @@ Features: a, b - + )"; REQUIRE_EQUAL_TEXT(nuspec, expected); } { auto nuspec = generate_nuspec(paths, ipa, ref, {"urlvalue", "branchvalue", "commitvalue"}); -#ifdef _WIN32 -#define PKGPATH "C:\\zlib2_x64-windows\\**" -#else -#define PKGPATH "/zlib2_x64-windows/**" -#endif std::string expected = R"( zlib2_x64-windows @@ -190,7 +181,8 @@ Features: a, b - + )"; REQUIRE_EQUAL_TEXT(nuspec, expected); diff --git a/toolsrc/src/vcpkg-test/manifests.cpp b/toolsrc/src/vcpkg-test/manifests.cpp index 7cf92818eb33db..bbbe0c96c51481 100644 --- a/toolsrc/src/vcpkg-test/manifests.cpp +++ b/toolsrc/src/vcpkg-test/manifests.cpp @@ -681,6 +681,7 @@ TEST_CASE ("Serialize all the ports", "[manifests]") std::vector args_list = {"format-manifest"}; auto& fs = Files::get_real_filesystem(); auto args = VcpkgCmdArguments::create_from_arg_sequence(args_list.data(), args_list.data() + args_list.size()); + args.imbue_from_environment(); VcpkgPaths paths{fs, args}; std::vector scfs; diff --git a/toolsrc/src/vcpkg.cpp b/toolsrc/src/vcpkg.cpp index ccc951f101e82a..f25a0c3b602cbe 100644 --- a/toolsrc/src/vcpkg.cpp +++ b/toolsrc/src/vcpkg.cpp @@ -226,6 +226,7 @@ int main(const int argc, const char* const* const argv) VcpkgCmdArguments args = VcpkgCmdArguments::create_from_command_line(fs, argc, argv); if (const auto p = args.debug.get()) Debug::g_debugging = *p; args.imbue_from_environment(); + VcpkgCmdArguments::imbue_or_apply_process_recursion(args); args.check_feature_flag_consistency(); { diff --git a/toolsrc/src/vcpkg/vcpkgcmdarguments.cpp b/toolsrc/src/vcpkg/vcpkgcmdarguments.cpp index e5e8e5aad485df..6ac05e538072e1 100644 --- a/toolsrc/src/vcpkg/vcpkgcmdarguments.cpp +++ b/toolsrc/src/vcpkg/vcpkgcmdarguments.cpp @@ -648,13 +648,6 @@ namespace vcpkg void VcpkgCmdArguments::imbue_from_environment() { - static bool s_reentrancy_guard = false; - Checks::check_exit(VCPKG_LINE_INFO, - !s_reentrancy_guard, - "VcpkgCmdArguments::imbue_from_environment() modifies global state and thus may only be " - "called once per process."); - s_reentrancy_guard = true; - if (!disable_metrics) { const auto vcpkg_disable_metrics_env = System::get_environment_variable(DISABLE_METRICS_ENV); @@ -701,46 +694,52 @@ namespace vcpkg parse_feature_flags(flags, *this); } } + } - { - auto maybe_vcpkg_recursive_data = System::get_environment_variable(RECURSIVE_DATA_ENV); - if (auto vcpkg_recursive_data = maybe_vcpkg_recursive_data.get()) - { - m_is_recursive_invocation = true; - - auto rec_doc = Json::parse(*vcpkg_recursive_data).value_or_exit(VCPKG_LINE_INFO).first; - const auto& obj = rec_doc.object(); - - if (auto entry = obj.get(DOWNLOADS_ROOT_DIR_ENV)) - { - downloads_root_dir = std::make_unique(entry->string().to_string()); - } + void VcpkgCmdArguments::imbue_or_apply_process_recursion(VcpkgCmdArguments& args) + { + static bool s_reentrancy_guard = false; + Checks::check_exit( + VCPKG_LINE_INFO, + !s_reentrancy_guard, + "VcpkgCmdArguments::imbue_or_apply_process_recursion() modifies global state and thus may only be " + "called once per process."); + s_reentrancy_guard = true; - if (obj.get(DISABLE_METRICS_ENV)) - { - disable_metrics = true; - } + auto maybe_vcpkg_recursive_data = System::get_environment_variable(RECURSIVE_DATA_ENV); + if (auto vcpkg_recursive_data = maybe_vcpkg_recursive_data.get()) + { + auto rec_doc = Json::parse(*vcpkg_recursive_data).value_or_exit(VCPKG_LINE_INFO).first; + const auto& obj = rec_doc.object(); - // Setting the recursive data to 'poison' prevents more than one level of recursion because - // Json::parse() will fail. - System::set_environment_variable(RECURSIVE_DATA_ENV, "poison"); + if (auto entry = obj.get(DOWNLOADS_ROOT_DIR_ENV)) + { + args.downloads_root_dir = std::make_unique(entry->string().to_string()); } - else + + if (obj.get(DISABLE_METRICS_ENV)) { - Json::Object obj; - if (downloads_root_dir) - { - obj.insert(DOWNLOADS_ROOT_DIR_ENV, Json::Value::string(*downloads_root_dir.get())); - } + args.disable_metrics = true; + } - if (disable_metrics) - { - obj.insert(DISABLE_METRICS_ENV, Json::Value::boolean(true)); - } + // Setting the recursive data to 'poison' prevents more than one level of recursion because + // Json::parse() will fail. + System::set_environment_variable(RECURSIVE_DATA_ENV, "poison"); + } + else + { + Json::Object obj; + if (args.downloads_root_dir) + { + obj.insert(DOWNLOADS_ROOT_DIR_ENV, Json::Value::string(*args.downloads_root_dir.get())); + } - System::set_environment_variable(RECURSIVE_DATA_ENV, - Json::stringify(obj, Json::JsonStyle::with_spaces(0))); + if (args.disable_metrics) + { + obj.insert(DISABLE_METRICS_ENV, Json::Value::boolean(true)); } + + System::set_environment_variable(RECURSIVE_DATA_ENV, Json::stringify(obj, Json::JsonStyle::with_spaces(0))); } } From 5214a247018b3bf2d793cea188ea2f2c150daddd Mon Sep 17 00:00:00 2001 From: Carlos O'Ryan Date: Wed, 3 Feb 2021 14:14:31 -0500 Subject: [PATCH 0086/1735] [google-cloud-cpp] update to the latest release (v1.24.0) (#16001) --- ports/google-cloud-cpp/portfile.cmake | 4 ++-- ports/google-cloud-cpp/vcpkg.json | 2 +- versions/baseline.json | 2 +- versions/g-/google-cloud-cpp.json | 5 +++++ 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/ports/google-cloud-cpp/portfile.cmake b/ports/google-cloud-cpp/portfile.cmake index 4f6ce69108f101..783ac0141e82f1 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.23.0 - SHA512 66c8bc6a878dbe23be0dd8fbe2580b725a2e5dab1b132a53f3454a32ec0cce706bdeae8b08b1922acc892f7983df5bc076e3d16993d5d0c1bda75e8a1195c882 + REF v1.24.0 + SHA512 06d53c1599ad60d5ec201f4fc9526f1bae6aee3c776423b9072c07030c840fb808c4e983b83ca58b7899f56e648b4a73846c8ecad0238e513979964f2d28d072 HEAD_REF master ) diff --git a/ports/google-cloud-cpp/vcpkg.json b/ports/google-cloud-cpp/vcpkg.json index a99b539c32e006..34ac2656352e23 100644 --- a/ports/google-cloud-cpp/vcpkg.json +++ b/ports/google-cloud-cpp/vcpkg.json @@ -1,6 +1,6 @@ { "name": "google-cloud-cpp", - "version-string": "1.23.0", + "version-string": "1.24.0", "description": "C++ Client Libraries for Google Cloud Platform APIs.", "homepage": "https://github.com/googleapis/google-cloud-cpp", "supports": "!uwp", diff --git a/versions/baseline.json b/versions/baseline.json index b45ddb950c9ebf..cccef3d023f9e2 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -2217,7 +2217,7 @@ "port-version": 3 }, "google-cloud-cpp": { - "baseline": "1.23.0", + "baseline": "1.24.0", "port-version": 0 }, "google-cloud-cpp-common": { diff --git a/versions/g-/google-cloud-cpp.json b/versions/g-/google-cloud-cpp.json index 3f4e71bcfa2f2b..aac379ab84e8bb 100644 --- a/versions/g-/google-cloud-cpp.json +++ b/versions/g-/google-cloud-cpp.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "39f9bad63d71830d31bd827577e3c37621653d5e", + "version-string": "1.24.0", + "port-version": 0 + }, { "git-tree": "ab2377218e8992e8aedf8fed757edb90cc390817", "version-string": "1.23.0", From d316fd1b70b13a88442addd9ccf942df3eb3697d Mon Sep 17 00:00:00 2001 From: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> Date: Thu, 4 Feb 2021 03:14:54 +0800 Subject: [PATCH 0087/1735] [log4cxx] Fix dependency and pkgconfig (#16018) * [Log4cxx] Fix dependency and pkgconfig * Update versions --- ports/log4cxx/CONTROL | 4 ++-- ports/log4cxx/expat.patch | 6 +++--- ports/log4cxx/pkgconfig.patch | 13 +++++++++++++ ports/log4cxx/portfile.cmake | 12 ++++++++++++ versions/baseline.json | 2 +- versions/l-/log4cxx.json | 5 +++++ 6 files changed, 36 insertions(+), 6 deletions(-) create mode 100644 ports/log4cxx/pkgconfig.patch diff --git a/ports/log4cxx/CONTROL b/ports/log4cxx/CONTROL index b7713bd2f03401..bf34f4ba071c3c 100644 --- a/ports/log4cxx/CONTROL +++ b/ports/log4cxx/CONTROL @@ -1,7 +1,7 @@ Source: log4cxx Version: 0.11.0 -Port-Version: 1 +Port-Version: 2 Homepage: https://logging.apache.org/log4cxx Description: Apache log4cxx is a logging framework for C++ patterned after Apache log4j, which uses Apache Portable Runtime for most platform-specific code and should be usable on any platform supported by APR Supports: !uwp -Build-Depends: apr, apr-util +Build-Depends: apr, apr-util, expat diff --git a/ports/log4cxx/expat.patch b/ports/log4cxx/expat.patch index da01721418b77b..250035021d63dd 100644 --- a/ports/log4cxx/expat.patch +++ b/ports/log4cxx/expat.patch @@ -7,7 +7,7 @@ index d30a71b..3ecf5f0 100644 find_package(APR-Util REQUIRED) +# Find expat for XML parsing -+find_package(EXPAT REQUIRED) ++find_package(expat CONFIG REQUIRED) + # Building add_subdirectory(src) @@ -21,7 +21,7 @@ index 3e0cb17..9a450b7 100644 target_compile_definitions(log4cxx PRIVATE ${LOG4CXX_COMPILE_DEFINITIONS} ${APR_COMPILE_DEFINITIONS} ${APR_UTIL_COMPILE_DEFINITIONS} ) target_include_directories(log4cxx INTERFACE $ PRIVATE ${APR_INCLUDE_DIR} ${APR_UTIL_INCLUDE_DIR}) -target_link_libraries(log4cxx PRIVATE ${APR_UTIL_LIBRARIES} ${XMLLIB_LIBRARIES} ${APR_LIBRARIES} ${APR_SYSTEM_LIBS}) -+target_link_libraries(log4cxx PRIVATE ${APR_UTIL_LIBRARIES} EXPAT::EXPAT ${APR_LIBRARIES} ${APR_SYSTEM_LIBS}) ++target_link_libraries(log4cxx PRIVATE ${APR_UTIL_LIBRARIES} expat::expat ${APR_LIBRARIES} ${APR_SYSTEM_LIBS}) if(WIN32) # The ODBC appender is always enabled in the Windows configuration target_link_libraries(log4cxx PRIVATE odbc32.lib) @@ -55,5 +55,5 @@ index bddfe48..138c489 100644 ) -target_link_libraries(xmltests PRIVATE ${APR_UTIL_LIBRARIES} ${XMLLIB_LIBRARIES}) -+target_link_libraries(xmltests PRIVATE ${APR_UTIL_LIBRARIES} EXPAT::EXPAT) ++target_link_libraries(xmltests PRIVATE ${APR_UTIL_LIBRARIES} expat::expat) set(ALL_LOG4CXX_TESTS ${ALL_LOG4CXX_TESTS} xmltests PARENT_SCOPE) diff --git a/ports/log4cxx/pkgconfig.patch b/ports/log4cxx/pkgconfig.patch new file mode 100644 index 00000000000000..06eb7c00e73da0 --- /dev/null +++ b/ports/log4cxx/pkgconfig.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 523fbd9..0467470 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -66,7 +66,7 @@ if(UNIX) + ) + + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/liblog4cxx.pc" +- DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pkgconfig) ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) + endif(UNIX) + + # Support for find_package(log4cxx) in consuming CMake projects using diff --git a/ports/log4cxx/portfile.cmake b/ports/log4cxx/portfile.cmake index 2e9a421af1b697..7292c0007295f4 100644 --- a/ports/log4cxx/portfile.cmake +++ b/ports/log4cxx/portfile.cmake @@ -12,6 +12,7 @@ vcpkg_extract_source_archive_ex( PATCHES expat.patch linux.patch + pkgconfig.patch ) vcpkg_configure_cmake( @@ -25,6 +26,17 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/log4cxx) + +if(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX) + vcpkg_fixup_pkgconfig() +endif() + +file(READ ${CURRENT_PACKAGES_DIR}/share/${PORT}/log4cxxConfig.cmake _contents) +file(WRITE ${CURRENT_PACKAGES_DIR}/share/${PORT}/log4cxxConfig.cmake +"include(CMakeFindDependencyMacro) +find_dependency(expat CONFIG) +${_contents}") + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) vcpkg_copy_pdbs() diff --git a/versions/baseline.json b/versions/baseline.json index cccef3d023f9e2..3e75ab8a945704 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3562,7 +3562,7 @@ }, "log4cxx": { "baseline": "0.11.0", - "port-version": 1 + "port-version": 2 }, "loguru": { "baseline": "2.1.0-1", diff --git a/versions/l-/log4cxx.json b/versions/l-/log4cxx.json index c83469cb682f4e..791767b1cc9019 100644 --- a/versions/l-/log4cxx.json +++ b/versions/l-/log4cxx.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "e84807f759e37781d7ce7bfc3b7485609a0feb7c", + "version-string": "0.11.0", + "port-version": 2 + }, { "git-tree": "a584f921462afb2f1b269dc9a7b361b17445028b", "version-string": "0.11.0", From 0c32fc522dbd9368270e53b9e2185c570445b568 Mon Sep 17 00:00:00 2001 From: JonLiu1993 <63675417+JonLiu1993@users.noreply.github.com> Date: Thu, 4 Feb 2021 03:16:04 +0800 Subject: [PATCH 0088/1735] [opencascade] Update to 7.5.0 (#15997) * [opencascade] Update to 7.5.0 * update version --- ports/opencascade/CONTROL | 3 +- ports/opencascade/fix-build-with-vs2017.patch | 13 ---- .../opencascade/fix-install-prefix-path.patch | 12 --- ports/opencascade/fix-msvc-32bit-builds.patch | 22 ------ ports/opencascade/fix-pdb-find.patch | 33 ++++++++ ports/opencascade/fix-static-build.patch | 76 ------------------- ports/opencascade/portfile.cmake | 9 +-- versions/baseline.json | 4 +- versions/o-/opencascade.json | 5 ++ 9 files changed, 44 insertions(+), 133 deletions(-) delete mode 100644 ports/opencascade/fix-build-with-vs2017.patch delete mode 100644 ports/opencascade/fix-install-prefix-path.patch delete mode 100644 ports/opencascade/fix-msvc-32bit-builds.patch create mode 100644 ports/opencascade/fix-pdb-find.patch delete mode 100644 ports/opencascade/fix-static-build.patch diff --git a/ports/opencascade/CONTROL b/ports/opencascade/CONTROL index d16b19ff84ee7c..998252a3fbce22 100644 --- a/ports/opencascade/CONTROL +++ b/ports/opencascade/CONTROL @@ -1,6 +1,5 @@ Source: opencascade -Version: 7.4.0 -Port-Version: 3 +Version: 7.5.0 Build-Depends: freetype Description: Open CASCADE Technology (OCCT) is an open-source software development platform for 3D CAD, CAM, CAE. Supports: !(uwp|osx|linux|arm) diff --git a/ports/opencascade/fix-build-with-vs2017.patch b/ports/opencascade/fix-build-with-vs2017.patch deleted file mode 100644 index 53b0ab0ea837c8..00000000000000 --- a/ports/opencascade/fix-build-with-vs2017.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/adm/cmake/occt_defs_flags.cmake b/adm/cmake/occt_defs_flags.cmake -index 203ca6b..4ff433a 100644 ---- a/adm/cmake/occt_defs_flags.cmake -+++ b/adm/cmake/occt_defs_flags.cmake -@@ -18,7 +18,7 @@ endif() - - # Turn off the "improved inline analyzer" that stalls on x86 release builds using MSVC 16.7 for 32-bit - if (NOT CMAKE_SIZEOF_VOID_P EQUAL 8) -- if (MSVC) -+ if (MSVC AND MSVC_VERSION GREATER 1919) - set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /d2DeepThoughtInliner-") - set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /d2DeepThoughtInliner-") - endif() diff --git a/ports/opencascade/fix-install-prefix-path.patch b/ports/opencascade/fix-install-prefix-path.patch deleted file mode 100644 index 38c07c21da3172..00000000000000 --- a/ports/opencascade/fix-install-prefix-path.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/adm/templates/OpenCASCADEConfig.cmake.in b/adm/templates/OpenCASCADEConfig.cmake.in -index 4937103b..cd35e07d 100644 ---- a/adm/templates/OpenCASCADEConfig.cmake.in -+++ b/adm/templates/OpenCASCADEConfig.cmake.in -@@ -23,6 +23,7 @@ set (OpenCASCADE_DEVELOPMENT_VERSION "@OCC_VERSION_DEVELOPMENT@") - # - in Windows style: $INSTALL_DIR/cmake - get_filename_component (OpenCASCADE_INSTALL_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) - get_filename_component (OpenCASCADE_INSTALL_PREFIX "${OpenCASCADE_INSTALL_PREFIX}" PATH) -+get_filename_component (OpenCASCADE_INSTALL_PREFIX "${OpenCASCADE_INSTALL_PREFIX}" PATH) - if (OpenCASCADE_INSTALL_PREFIX MATCHES "/cmake$") - get_filename_component (OpenCASCADE_INSTALL_PREFIX "${OpenCASCADE_INSTALL_PREFIX}" PATH) - endif() diff --git a/ports/opencascade/fix-msvc-32bit-builds.patch b/ports/opencascade/fix-msvc-32bit-builds.patch deleted file mode 100644 index 2fa76ffb00b89c..00000000000000 --- a/ports/opencascade/fix-msvc-32bit-builds.patch +++ /dev/null @@ -1,22 +0,0 @@ - adm/cmake/occt_defs_flags.cmake | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/adm/cmake/occt_defs_flags.cmake b/adm/cmake/occt_defs_flags.cmake -index 5484c67..203ca6b 100644 ---- a/adm/cmake/occt_defs_flags.cmake -+++ b/adm/cmake/occt_defs_flags.cmake -@@ -16,6 +16,14 @@ if (MSVC) - set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /fp:precise") - endif() - -+# Turn off the "improved inline analyzer" that stalls on x86 release builds using MSVC 16.7 for 32-bit -+if (NOT CMAKE_SIZEOF_VOID_P EQUAL 8) -+ if (MSVC) -+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /d2DeepThoughtInliner-") -+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /d2DeepThoughtInliner-") -+ endif() -+endif() -+ - # add SSE2 option for old MSVC compilers (VS 2005 - 2010, 32 bit only) - if (NOT CMAKE_SIZEOF_VOID_P EQUAL 8) - if (MSVC AND ((MSVC_VERSION EQUAL 1400) OR (MSVC_VERSION EQUAL 1500) OR (MSVC_VERSION EQUAL 1600))) diff --git a/ports/opencascade/fix-pdb-find.patch b/ports/opencascade/fix-pdb-find.patch new file mode 100644 index 00000000000000..dd9b108637d03e --- /dev/null +++ b/ports/opencascade/fix-pdb-find.patch @@ -0,0 +1,33 @@ +diff --git a/adm/cmake/cotire.cmake b/adm/cmake/cotire.cmake +index 6cf0cb66..2a9b1793 100644 +--- a/adm/cmake/cotire.cmake ++++ b/adm/cmake/cotire.cmake +@@ -3114,6 +3114,7 @@ function (cotire_setup_unity_build_target _languages _configurations _target) + OSX_ARCHITECTURES OSX_ARCHITECTURES_ PRIVATE_HEADER PUBLIC_HEADER RESOURCE XCTEST + IOS_INSTALL_COMBINED) + # copy Windows platform specific stuff ++ if (BUILD_SHARED_LIBS) + cotire_copy_set_properites("${_configurations}" TARGET ${_target} ${_unityTargetName} + GNUtoMS + COMPILE_PDB_NAME COMPILE_PDB_NAME_ +@@ -3129,6 +3130,7 @@ function (cotire_setup_unity_build_target _languages _configurations _target) + WIN32_EXECUTABLE WINDOWS_EXPORT_ALL_SYMBOLS + DEPLOYMENT_REMOTE_DIRECTORY VS_CONFIGURATION_TYPE + VS_SDK_REFERENCES) ++ endif() + # copy Android platform specific stuff + cotire_copy_set_properites("${_configurations}" TARGET ${_target} ${_unityTargetName} + ANDROID_API ANDROID_API_MIN ANDROID_GUI +diff --git a/adm/cmake/occt_toolkit.cmake b/adm/cmake/occt_toolkit.cmake +index 79605059..630a978e 100644 +--- a/adm/cmake/occt_toolkit.cmake ++++ b/adm/cmake/occt_toolkit.cmake +@@ -231,7 +231,7 @@ if (EXECUTABLE_PROJECT) + else() + add_library (${PROJECT_NAME} ${USED_SRCFILES} ${USED_INCFILES} ${USED_RCFILE} ${RESOURCE_FILES} ${${PROJECT_NAME}_MOC_FILES}) + +- if (MSVC) ++ if (MSVC AND BUILD_SHARED_LIBS) + install (FILES ${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bin\${OCCT_INSTALL_BIN_LETTER}/${PROJECT_NAME}.pdb + CONFIGURATIONS Debug RelWithDebInfo + DESTINATION "${INSTALL_DIR_BIN}\${OCCT_INSTALL_BIN_LETTER}") diff --git a/ports/opencascade/fix-static-build.patch b/ports/opencascade/fix-static-build.patch deleted file mode 100644 index 05c105f588e45d..00000000000000 --- a/ports/opencascade/fix-static-build.patch +++ /dev/null @@ -1,76 +0,0 @@ -diff --git a/adm/cmake/freetype.cmake b/adm/cmake/freetype.cmake -index 7f6f950..ca0c525 100644 ---- a/adm/cmake/freetype.cmake -+++ b/adm/cmake/freetype.cmake -@@ -111,6 +111,8 @@ if (IS_BUILTIN_SEARCH_REQUIRED) - endif() - - find_package(Freetype) -+ find_package(freetype CONFIG REQUIRED) -+ set(FREETYPE_LIBRARY freetype) - - # restore ENV{FREETYPE_DIR} - if (3RDPARTY_FREETYPE_DIR AND EXISTS "${3RDPARTY_FREETYPE_DIR}") -@@ -230,6 +232,22 @@ endif() - # set 3RDPARTY_FREETYPE_LIBRARY as notfound, otherwise find_library can't assign a new value to 3RDPARTY_FREETYPE_LIBRARY - set (3RDPARTY_FREETYPE_LIBRARY "3RDPARTY_FREETYPE_LIBRARY-NOTFOUND" CACHE FILEPATH "The path to freetype library" FORCE) - -+ if (BUILD_SHARED_LIBS) -+ if (CMAKE_BUILD_TYPE STREQUAL "Debug") -+ get_target_property(3RDPARTY_FREETYPE_LIBRARY freetype IMPORTED_IMPLIB_DEBUG) -+ else() -+ get_target_property(3RDPARTY_FREETYPE_LIBRARY freetype IMPORTED_IMPLIB_RELEASE) -+ endif() -+ else() -+ if (CMAKE_BUILD_TYPE STREQUAL "Debug") -+ get_target_property(3RDPARTY_FREETYPE_LIBRARY freetype IMPORTED_LOCATION_DEBUG) -+ else() -+ get_target_property(3RDPARTY_FREETYPE_LIBRARY freetype IMPORTED_LOCATION_RELEASE) -+ endif() -+ endif() -+ get_filename_component(3RDPARTY_FREETYPE_LIBRARY_DIR ${3RDPARTY_FREETYPE_LIBRARY} DIRECTORY) -+ -+ if(0) - if (3RDPARTY_FREETYPE_DIR AND EXISTS "${3RDPARTY_FREETYPE_DIR}") - find_library (3RDPARTY_FREETYPE_LIBRARY ${CSF_FREETYPE} - PATHS "${3RDPARTY_FREETYPE_LIBRARY_DIR}" "${3RDPARTY_FREETYPE_DIR}" -@@ -257,9 +275,10 @@ endif() - - set (3RDPARTY_FREETYPE_LIBRARY "" CACHE FILEPATH "The path to freetype library" FORCE) - endif() -+ endif() - - # freetype shared library -- if (WIN32) -+ if (0) - if (NOT 3RDPARTY_FREETYPE_DLL OR NOT EXISTS "${3RDPARTY_FREETYPE_DLL}") - - set (CMAKE_FIND_LIBRARY_SUFFIXES .dll) -diff --git a/adm/cmake/occt_toolkit.cmake b/adm/cmake/occt_toolkit.cmake -index f59b163..92175e4 100644 ---- a/adm/cmake/occt_toolkit.cmake -+++ b/adm/cmake/occt_toolkit.cmake -@@ -208,7 +208,7 @@ if (EXECUTABLE_PROJECT) - else() - add_library (${PROJECT_NAME} ${USED_SRCFILES} ${USED_INCFILES} ${USED_RCFILE} ${RESOURCE_FILES} ${${PROJECT_NAME}_MOC_FILES}) - -- if (MSVC) -+ if (MSVC AND BUILD_SHARED_LIBS) - install (FILES ${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bin\${OCCT_INSTALL_BIN_LETTER}/${PROJECT_NAME}.pdb - CONFIGURATIONS Debug RelWithDebInfo - DESTINATION "${INSTALL_DIR_BIN}\${OCCT_INSTALL_BIN_LETTER}") -diff --git a/src/Font/Font_FontMgr.cxx b/src/Font/Font_FontMgr.cxx -index 4fad2f6..ba64b51 100644 ---- a/src/Font/Font_FontMgr.cxx -+++ b/src/Font/Font_FontMgr.cxx -@@ -36,10 +36,6 @@ IMPLEMENT_STANDARD_RTTIEXT(Font_FontMgr,Standard_Transient) - #include - #include - -- #ifdef _MSC_VER -- #pragma comment (lib, "freetype.lib") -- #endif -- - namespace - { - diff --git a/ports/opencascade/portfile.cmake b/ports/opencascade/portfile.cmake index 90676ada2b4dd1..68bb56397835ac 100644 --- a/ports/opencascade/portfile.cmake +++ b/ports/opencascade/portfile.cmake @@ -3,14 +3,11 @@ vcpkg_fail_port_install(ON_ARCH "arm" "arm64" ON_TARGET "UWP" "OSX" "Linux") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Open-Cascade-SAS/OCCT - REF V7_4_0 - SHA512 595ad7226b9365c1a7670b77001f71787a5d8aaa4a93a4a4d8eb938564670d79ae5a247ae7cc770b5da53c9a9f2e4166ba6e5ae104c1f2debad19ec2187f4a56 + REF 628c0211d53c7fe1036a85e7a7b2b067c9c50f7a #V7.5.0 + SHA512 8d946e971417642264b318353fb34ebabf214bff5c705c60818da9e56e9cd658ed15b76b73d7207edffa398c23ad9982f4e9656b218b5edada325ca05c1283bb HEAD_REF master PATCHES - fix-msvc-32bit-builds.patch - fix-build-with-vs2017.patch - fix-static-build.patch - fix-install-prefix-path.patch + fix-pdb-find.patch ) if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) diff --git a/versions/baseline.json b/versions/baseline.json index 3e75ab8a945704..3bd5b395e79f26 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -4209,8 +4209,8 @@ "port-version": 0 }, "opencascade": { - "baseline": "7.4.0", - "port-version": 3 + "baseline": "7.5.0", + "port-version": 0 }, "opencc": { "baseline": "2020-04-26", diff --git a/versions/o-/opencascade.json b/versions/o-/opencascade.json index 8abba0291a75ed..cf3e61041fab14 100644 --- a/versions/o-/opencascade.json +++ b/versions/o-/opencascade.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "0d003408ab69f77a4ca2c02de115087c87a46b27", + "version-string": "7.5.0", + "port-version": 0 + }, { "git-tree": "dc198546c1a39fc3a26f7fae34f1ca97afa94f32", "version-string": "7.4.0", From 5f05aa2b6e96e2f93af6b41c22d033121d794968 Mon Sep 17 00:00:00 2001 From: ras0219 <533828+ras0219@users.noreply.github.com> Date: Wed, 3 Feb 2021 11:17:07 -0800 Subject: [PATCH 0089/1735] [vcpkg] Emit parse errors to match '::: error: ' for better IDE compatibility (#15926) Co-authored-by: Robert Schumacher --- toolsrc/src/vcpkg-test/json.cpp | 2 +- toolsrc/src/vcpkg/base/json.cpp | 2 +- toolsrc/src/vcpkg/base/parse.cpp | 5 ++--- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/toolsrc/src/vcpkg-test/json.cpp b/toolsrc/src/vcpkg-test/json.cpp index 6858a5ac82eeed..b03fe2aec7d844 100644 --- a/toolsrc/src/vcpkg-test/json.cpp +++ b/toolsrc/src/vcpkg-test/json.cpp @@ -234,7 +234,7 @@ TEST_CASE ("JSON track newlines", "[json]") auto res = Json::parse("{\n,", fs::u8path("filename")); REQUIRE(!res); REQUIRE(res.error()->format() == - R"(Error: filename:2:1: Unexpected character; expected property name + R"(filename:2:1: error: Unexpected character; expected property name on expression: , ^ )"); diff --git a/toolsrc/src/vcpkg/base/json.cpp b/toolsrc/src/vcpkg/base/json.cpp index d99fa73925d9b5..c287eae7812d00 100644 --- a/toolsrc/src/vcpkg/base/json.cpp +++ b/toolsrc/src/vcpkg/base/json.cpp @@ -1062,7 +1062,7 @@ namespace vcpkg::Json ExpectedT, std::unique_ptr> parse(StringView json, const fs::path& filepath) noexcept { - return Parser::parse(json, fs::generic_u8string(filepath)); + return Parser::parse(json, fs::u8string(filepath)); } ExpectedT, std::unique_ptr> parse(StringView json, StringView origin) noexcept diff --git a/toolsrc/src/vcpkg/base/parse.cpp b/toolsrc/src/vcpkg/base/parse.cpp index a082c4d9c710b5..fb1b4c3bfa6322 100644 --- a/toolsrc/src/vcpkg/base/parse.cpp +++ b/toolsrc/src/vcpkg/base/parse.cpp @@ -34,13 +34,12 @@ namespace vcpkg::Parse caret_spacing.push_back(cp == '\t' ? '\t' : ' '); } - return Strings::concat("Error: ", - origin, + return Strings::concat(origin, ":", row, ":", column, - ": ", + ": error: ", message, "\n" " on expression: ", // 18 columns From e5806b92c2d787e458f455c4a6ddad7ab1d70956 Mon Sep 17 00:00:00 2001 From: Daniel Poelzleithner Date: Wed, 3 Feb 2021 20:20:35 +0100 Subject: [PATCH 0090/1735] [vcpkg] Add shell.nix for building on NixOS (#15906) NixOS does not follow the FHS/LSB convention and building vcpkg therefore fails. In general, vcpkg is of very limited use for a Nix system. This shell.nix however, allows a developer to enter a environment suitable for building vcpkg and developing packages for use on other platforms. Running with argument withX11 will allow building most packages that require X11 libraries. $ nix-shell --arg withX11 true --- shell.nix | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 shell.nix diff --git a/shell.nix b/shell.nix new file mode 100644 index 00000000000000..accea1a0d14dea --- /dev/null +++ b/shell.nix @@ -0,0 +1,46 @@ +{ pkgs ? import {}, withX11 ? false }: + +(pkgs.buildFHSUserEnv { + name = "vcpkg"; + targetPkgs = pkgs: (with pkgs; [ + autoconf + automake + cmake + gcc + gettext + glibc.dev + gperf + libtool + libxkbcommon.dev + m4 + ninja + pkgconfig + zip + zstd.dev + ] ++ pkgs.lib.optionals withX11 [ + freetds + libdrm.dev + libglvnd.dev + mesa_drivers + mesa_glu.dev + mesa.dev + xlibs.libxcb.dev + xlibs.xcbutilimage.dev + xlibs.xcbutilwm.dev + xlibs.xorgserver.dev + xorg.libpthreadstubs + xorg.libX11.dev + xorg.libxcb.dev + xorg.libXext.dev + xorg.libXi.dev + xorg.xcbproto + xorg.xcbutil.dev + xorg.xcbutilcursor.dev + xorg.xcbutilerrors + xorg.xcbutilkeysyms.dev + xorg.xcbutilrenderutil.dev + xorg.xcbutilwm.dev + xorg.xorgproto + ]); + runScript = "bash"; +}).env \ No newline at end of file From 23971254df39acd4231437b6086a696c39bf8765 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jack=C2=B7Boos=C2=B7Yu?= <47264268+JackBoosY@users.noreply.github.com> Date: Wed, 3 Feb 2021 11:21:48 -0800 Subject: [PATCH 0091/1735] [libpqxx] Fix build with Visual Studio 2017 (#15995) * [libpqxx] Fix build with Visual Studio 2017 * update version record --- ports/libpqxx/CONTROL | 1 + ports/libpqxx/fix-build-with-vs2017.patch | 275 ++++++++++++++++++++++ ports/libpqxx/portfile.cmake | 2 + versions/baseline.json | 2 +- versions/l-/libpqxx.json | 5 + 5 files changed, 284 insertions(+), 1 deletion(-) create mode 100644 ports/libpqxx/fix-build-with-vs2017.patch diff --git a/ports/libpqxx/CONTROL b/ports/libpqxx/CONTROL index 8d182f527f9e1f..5b62fe37ca7747 100644 --- a/ports/libpqxx/CONTROL +++ b/ports/libpqxx/CONTROL @@ -1,5 +1,6 @@ Source: libpqxx Version: 7.3.1 +Port-Version: 1 Homepage: https://github.com/jtv/libpqxx Description: The official C++ client API for PostgreSQL Build-Depends: libpq[core] diff --git a/ports/libpqxx/fix-build-with-vs2017.patch b/ports/libpqxx/fix-build-with-vs2017.patch new file mode 100644 index 00000000000000..2a35197520dd65 --- /dev/null +++ b/ports/libpqxx/fix-build-with-vs2017.patch @@ -0,0 +1,275 @@ +diff --git a/include/pqxx/binarystring.hxx b/include/pqxx/binarystring.hxx +index 780cd6e..50865d3 100644 +--- a/include/pqxx/binarystring.hxx ++++ b/include/pqxx/binarystring.hxx +@@ -65,31 +65,31 @@ public: + using const_iterator = const_pointer; + using const_reverse_iterator = std::reverse_iterator; + +- [[deprecated("Use std::byte for binary data.")]] binarystring( +- binarystring const &) = default; ++ PQXX_DEPRECATED("Use std::byte for binary data.") ++ binarystring(binarystring const &) = default; + + /// Read and unescape bytea field. + /** The field will be zero-terminated, even if the original bytea field + * isn't. + * @param F the field to read; must be a bytea field + */ +- [[deprecated("Use std::byte for binary data.")]] explicit binarystring( +- field const &); ++ PQXX_DEPRECATED("Use std::byte for binary data.") ++ explicit binarystring(field const &); + + /// Copy binary data from std::string_view on binary data. + /** This is inefficient in that it copies the data to a buffer allocated on + * the heap. + */ +- [[deprecated("Use std::byte for binary data.")]] explicit binarystring( +- std::string_view); ++ PQXX_DEPRECATED("Use std::byte for binary data.") ++ explicit binarystring(std::string_view); + + /// Copy binary data of given length straight out of memory. +- [[deprecated("Use std::byte for binary data.")]] binarystring( +- void const *, std::size_t); ++ PQXX_DEPRECATED("Use std::byte for binary data.") ++ binarystring(void const *, std::size_t); + + /// Efficiently wrap a buffer of binary data in a @c binarystring. +- [[deprecated("Use std::byte for binary data.")]] binarystring( +- std::shared_ptr ptr, size_type size) : ++ PQXX_DEPRECATED("Use std::byte for binary data.") ++ binarystring(std::shared_ptr ptr, size_type size) : + m_buf{std::move(ptr)}, m_size{size} + {} + +diff --git a/include/pqxx/compiler-public.hxx b/include/pqxx/compiler-public.hxx +index 08d7ac9..8f01755 100644 +--- a/include/pqxx/compiler-public.hxx ++++ b/include/pqxx/compiler-public.hxx +@@ -43,6 +43,11 @@ + // Workarounds for Microsoft Visual C++ + # ifdef _MSC_VER + ++// Workarounds for deprecated attribute syntax error in Visual Studio 2017. ++# if _MSC_VER < 1920 ++# define PQXX_DEPRECATED(MESSAGE) __declspec(deprecated(# MESSAGE)) ++# endif ++ + // Suppress vtables on abstract classes. + # define PQXX_NOVTABLE __declspec(novtable) + +@@ -112,4 +117,8 @@ + # define PQXX_NOVTABLE + #endif + ++#ifndef PQXX_DEPRECATED ++# define PQXX_DEPRECATED(MESSAGE) [[deprecated(# MESSAGE)]] ++#endif ++ + #endif +diff --git a/include/pqxx/largeobject.hxx b/include/pqxx/largeobject.hxx +index 072a490..40ab51b 100644 +--- a/include/pqxx/largeobject.hxx ++++ b/include/pqxx/largeobject.hxx +@@ -36,20 +36,20 @@ public: + + /// Refer to a nonexistent large object (similar to what a null pointer + /// does). +- [[deprecated("Use blob instead.")]] largeobject() noexcept = default; ++ PQXX_DEPRECATED("Use blob instead.") largeobject() noexcept = default; + + /// Create new large object. + /** @param t Backend transaction in which the object is to be created. + */ +- [[deprecated("Use blob instead.")]] explicit largeobject(dbtransaction &t); ++ PQXX_DEPRECATED("Use blob instead.") explicit largeobject(dbtransaction &t); + + /// Wrap object with given oid. + /** Convert combination of a transaction and object identifier into a + * large object identity. Does not affect the database. + * @param o Object identifier for the given object. + */ +- [[deprecated("Use blob instead.")]] explicit largeobject(oid o) noexcept : +- m_id{o} ++ PQXX_DEPRECATED("Use blob instead.") ++ explicit largeobject(oid o) noexcept : m_id{o} + {} + + /// Import large object from a local file. +@@ -57,16 +57,16 @@ public: + * @param t Backend transaction in which the large object is to be created. + * @param file A filename on the client program's filesystem. + */ +- [[deprecated("Use blob instead.")]] largeobject( +- dbtransaction &t, std::string_view file); ++ PQXX_DEPRECATED("Use blob instead.") ++ largeobject(dbtransaction &t, std::string_view file); + + /// Take identity of an opened large object. + /** Copy identity of already opened large object. Note that this may be done + * as an implicit conversion. + * @param o Already opened large object to copy identity from. + */ +- [[deprecated("Use blob instead.")]] largeobject( +- largeobjectaccess const &o) noexcept; ++ PQXX_DEPRECATED("Use blob instead.") ++ largeobject(largeobjectaccess const &o) noexcept; + + /// Object identifier. + /** The number returned by this function identifies the large object in the +@@ -179,8 +179,8 @@ public: + * @param mode Access mode, defaults to ios_base::in | ios_base::out | + * ios_base::binary. + */ +- [[deprecated("Use blob instead.")]] explicit largeobjectaccess( +- dbtransaction &t, openmode mode = default_mode); ++ PQXX_DEPRECATED("Use blob instead.") ++ explicit largeobjectaccess(dbtransaction &t, openmode mode = default_mode); + + /// Open large object with given oid. + /** Convert combination of a transaction and object identifier into a +@@ -190,8 +190,8 @@ public: + * @param mode Access mode, defaults to ios_base::in | ios_base::out | + * ios_base::binary. + */ +- [[deprecated("Use blob instead.")]] largeobjectaccess( +- dbtransaction &t, oid o, openmode mode = default_mode); ++ PQXX_DEPRECATED("Use blob instead.") ++ largeobjectaccess(dbtransaction &t, oid o, openmode mode = default_mode); + + /// Open given large object. + /** Open a large object with the given identity for reading and/or writing. +@@ -200,7 +200,8 @@ public: + * @param mode Access mode, defaults to ios_base::in | ios_base::out | + * ios_base::binary. + */ +- [[deprecated("Use blob instead.")]] largeobjectaccess( ++ PQXX_DEPRECATED("Use blob instead.") ++ largeobjectaccess( + dbtransaction &t, largeobject o, openmode mode = default_mode); + + /// Import large object from a local file and open it. +@@ -209,7 +210,8 @@ public: + * @param file A filename on the client program's filesystem. + * @param mode Access mode, defaults to ios_base::in | ios_base::out. + */ +- [[deprecated("Use blob instead.")]] largeobjectaccess( ++ PQXX_DEPRECATED("Use blob instead.") ++ largeobjectaccess( + dbtransaction &t, std::string_view file, openmode mode = default_mode); + + ~largeobjectaccess() noexcept { close(); } +@@ -386,7 +388,8 @@ public: + static constexpr auto default_mode{ + std::ios::in | std::ios::out | std::ios::binary}; + +- [[deprecated("Use blob instead.")]] largeobject_streambuf( ++ PQXX_DEPRECATED("Use blob instead.") ++ largeobject_streambuf( + dbtransaction &t, largeobject o, openmode mode = default_mode, + size_type buf_size = 512) : + m_bufsize{buf_size}, m_obj{t, o, mode}, m_g{nullptr}, m_p{nullptr} +@@ -394,7 +397,8 @@ public: + initialize(mode); + } + +- [[deprecated("Use blob instead.")]] largeobject_streambuf( ++ PQXX_DEPRECATED("Use blob instead.") ++ largeobject_streambuf( + dbtransaction &t, oid o, openmode mode = default_mode, + size_type buf_size = 512) : + m_bufsize{buf_size}, m_obj{t, o, mode}, m_g{nullptr}, m_p{nullptr} +@@ -556,7 +560,8 @@ public: + * @param o Large object to access. + * @param buf_size Size of buffer to use internally (optional). + */ +- [[deprecated("Use blob instead.")]] basic_ilostream( ++ PQXX_DEPRECATED("Use blob instead.") ++ basic_ilostream( + dbtransaction &t, largeobject o, largeobject::size_type buf_size = 512) : + super{nullptr}, + m_buf{t, o, std::ios::in | std::ios::binary, buf_size} +@@ -570,7 +575,8 @@ public: + * @param o Identifier of a large object to access. + * @param buf_size Size of buffer to use internally (optional). + */ +- [[deprecated("Use blob instead.")]] basic_ilostream( ++ PQXX_DEPRECATED("Use blob instead.") ++ basic_ilostream( + dbtransaction &t, oid o, largeobject::size_type buf_size = 512) : + super{nullptr}, + m_buf{t, o, std::ios::in | std::ios::binary, buf_size} +@@ -612,7 +618,8 @@ public: + * @param o a large object to access. + * @param buf_size size of buffer to use internally (optional). + */ +- [[deprecated("Use blob instead.")]] basic_olostream( ++ PQXX_DEPRECATED("Use blob instead.") ++ basic_olostream( + dbtransaction &t, largeobject o, largeobject::size_type buf_size = 512) : + super{nullptr}, + m_buf{t, o, std::ios::out | std::ios::binary, buf_size} +@@ -626,7 +633,8 @@ public: + * @param o a large object to access. + * @param buf_size size of buffer to use internally (optional). + */ +- [[deprecated("Use blob instead.")]] basic_olostream( ++ PQXX_DEPRECATED("Use blob instead.") ++ basic_olostream( + dbtransaction &t, oid o, largeobject::size_type buf_size = 512) : + super{nullptr}, + m_buf{t, o, std::ios::out | std::ios::binary, buf_size} +@@ -682,7 +690,8 @@ public: + * @param o Large object to access. + * @param buf_size Size of buffer to use internally (optional). + */ +- [[deprecated("Use blob instead.")]] basic_lostream( ++ PQXX_DEPRECATED("Use blob instead.") ++ basic_lostream( + dbtransaction &t, largeobject o, largeobject::size_type buf_size = 512) : + super{nullptr}, + m_buf{ +@@ -697,7 +706,8 @@ public: + * @param o Large object to access. + * @param buf_size Size of buffer to use internally (optional). + */ +- [[deprecated("Use blob instead.")]] basic_lostream( ++ PQXX_DEPRECATED("Use blob instead.") ++ basic_lostream( + dbtransaction &t, oid o, largeobject::size_type buf_size = 512) : + super{nullptr}, + m_buf{ +diff --git a/include/pqxx/stream_from.hxx b/include/pqxx/stream_from.hxx +index 7d05966..2e484bb 100644 +--- a/include/pqxx/stream_from.hxx ++++ b/include/pqxx/stream_from.hxx +@@ -128,21 +128,23 @@ public: + Columns const &columns); + + /// @deprecated Use the @c from_table_t overload instead. +- [[deprecated("Use the from_table_t overload instead.")]] stream_from( +- transaction_base &tx, std::string_view table) : ++ PQXX_DEPRECATED("Use the from_table_t overload instead.") ++ stream_from(transaction_base &tx, std::string_view table) : + stream_from{tx, from_table, table} + {} + + /// @deprecated Use the @c from_table_t overload instead. + template +- [[deprecated("Use the from_table_t overload instead.")]] stream_from( ++ PQXX_DEPRECATED("Use the from_table_t overload instead.") ++ stream_from( + transaction_base &tx, std::string_view table, Columns const &columns) : + stream_from{tx, from_table, table, columns} + {} + + /// @deprecated Use the @c from_table_t overload instead. + template +- [[deprecated("Use the from_table_t overload instead.")]] stream_from( ++ PQXX_DEPRECATED("Use the from_table_t overload instead.") ++ stream_from( + transaction_base &, std::string_view table, Iter columns_begin, + Iter columns_end); + //@} diff --git a/ports/libpqxx/portfile.cmake b/ports/libpqxx/portfile.cmake index f5139a17f4ba80..9d078c191bbfbc 100644 --- a/ports/libpqxx/portfile.cmake +++ b/ports/libpqxx/portfile.cmake @@ -4,6 +4,8 @@ vcpkg_from_github( REF 9e55cea0116febb5c536ed18ede9a7b2c647e631 # 7.3.1 SHA512 22da46c1c4ef798e7aa2db4f5094f8d4c3a965d755ae72a1cfae6282264c0d974317849f8db0bf34ff6aebd1ede5e5086cf74bff8bc3c6a21b3149a94d30c04f HEAD_REF master + PATCHES + fix-build-with-vs2017.patch #https://github.com/jtv/libpqxx/pull/406 ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/config-public-compiler.h.in DESTINATION ${SOURCE_PATH}) diff --git a/versions/baseline.json b/versions/baseline.json index 3bd5b395e79f26..d62967e20941e9 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3246,7 +3246,7 @@ }, "libpqxx": { "baseline": "7.3.1", - "port-version": 0 + "port-version": 1 }, "libprotobuf-mutator": { "baseline": "1.0", diff --git a/versions/l-/libpqxx.json b/versions/l-/libpqxx.json index f93cd52e6903b8..38376e0dc3aeb5 100644 --- a/versions/l-/libpqxx.json +++ b/versions/l-/libpqxx.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "ac2255ecfdb7a6d5b6307413f181117d005a4989", + "version-string": "7.3.1", + "port-version": 1 + }, { "git-tree": "66295fd2998b54f3f4fd43702c0f402fef16fccd", "version-string": "7.3.1", From 36f69420544d72c4a8ee0c72870315ba9ce01ef1 Mon Sep 17 00:00:00 2001 From: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Wed, 3 Feb 2021 11:27:37 -0800 Subject: [PATCH 0092/1735] [azure-core-cpp] Add new port (#16013) * Update port for azure-core-cpp * Update port version SHA * Apply suggestions from code review Remove comment headers from port files Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> * Update port version SHA once again Co-authored-by: Anton Kolesnyk Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com> Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> --- ports/azure-core-cpp/CONTROL | 18 ++++++++++++++++++ ports/azure-core-cpp/portfile.cmake | 27 +++++++++++++++++++++++++++ versions/a-/azure-core-cpp.json | 9 +++++++++ versions/baseline.json | 4 ++++ 4 files changed, 58 insertions(+) create mode 100644 ports/azure-core-cpp/CONTROL create mode 100644 ports/azure-core-cpp/portfile.cmake create mode 100644 versions/a-/azure-core-cpp.json diff --git a/ports/azure-core-cpp/CONTROL b/ports/azure-core-cpp/CONTROL new file mode 100644 index 00000000000000..67563e095294c0 --- /dev/null +++ b/ports/azure-core-cpp/CONTROL @@ -0,0 +1,18 @@ +Source: azure-core-cpp +Version: 1.0.0-beta.5 +Description: Microsoft Azure Core SDK for C++ + This library provides shared primitives, abstractions, and helpers for modern Azure SDK client libraries written in the C++. +Homepage: https://github.com/Azure/azure-sdk-for-cpp/tree/master/sdk/core/azure-core +Default-Features: http + +Feature: http +Build-Depends: azure-core-cpp[core, curl], azure-core-cpp[core, curl, winhttp] (windows&!uwp) +Description: Build all HTTP transport implementations, depending on the platform + +Feature: curl +Build-Depends: azure-core-cpp[core], curl +Description: Build an HTTP transport implementation with LibCURL + +Feature: winhttp +Build-Depends: azure-core-cpp[core] +Description: Build an HTTP transport implementation with WinHTTP diff --git a/ports/azure-core-cpp/portfile.cmake b/ports/azure-core-cpp/portfile.cmake new file mode 100644 index 00000000000000..64501b42f76c0c --- /dev/null +++ b/ports/azure-core-cpp/portfile.cmake @@ -0,0 +1,27 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Azure/azure-sdk-for-cpp + REF azure-core_1.0.0-beta.5 + SHA512 e109ea215f3a2440d2b66cccfa6be9b4c143373105df962e47ddaf6668207171a1e8c9317a7799aa647b4669078871fde0c48e407c7966e377e7e6a9d8a67575 +) + +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + curl BUILD_TRANSPORT_CURL + winhttp BUILD_TRANSPORT_WINHTTP +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH}/sdk/core/azure-core/ + PREFER_NINJA + OPTIONS + ${FEATURE_OPTIONS} + -DWARNINGS_AS_ERRORS=OFF +) + +vcpkg_install_cmake() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_fixup_cmake_targets() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +vcpkg_copy_pdbs() diff --git a/versions/a-/azure-core-cpp.json b/versions/a-/azure-core-cpp.json new file mode 100644 index 00000000000000..b6e0ab52129dad --- /dev/null +++ b/versions/a-/azure-core-cpp.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "d2c26dc5d0cba4af8359e6ed7d4820daf494ee2a", + "version-string": "1.0.0-beta.5", + "port-version": 0 + } + ] +} diff --git a/versions/baseline.json b/versions/baseline.json index d62967e20941e9..6e093f2649d736 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -244,6 +244,10 @@ "baseline": "2020-12-09", "port-version": 0 }, + "azure-core-cpp": { + "baseline": "1.0.0-beta.5", + "port-version": 0 + }, "azure-iot-sdk-c": { "baseline": "2020-12-09", "port-version": 0 From e2fc73ec5c6d6e30dd6ea56312c49d7aa3fdb744 Mon Sep 17 00:00:00 2001 From: Long Nguyen Date: Thu, 4 Feb 2021 02:40:02 +0700 Subject: [PATCH 0093/1735] [date] Fix vcpkg_fixup_cmake_targets for mingw (#15994) * [date] Fix vcpkg_fixup_cmake_targets for mingw * [vcpkg baseline] Update date port-version * [date] Tweak Windows detection Co-authored-by: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> * [vcpkg baseline] Update date port-version again Co-authored-by: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> --- ports/date/CONTROL | 2 +- ports/date/portfile.cmake | 2 +- versions/baseline.json | 2 +- versions/d-/date.json | 5 +++++ 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/ports/date/CONTROL b/ports/date/CONTROL index b44b024cdb7d8c..0489b34d37231c 100644 --- a/ports/date/CONTROL +++ b/ports/date/CONTROL @@ -1,6 +1,6 @@ Source: date Version: 3.0.0 -Port-Version: 1 +Port-Version: 2 Homepage: https://github.com/HowardHinnant/date Description: A date and time library based on the C++17 header diff --git a/ports/date/portfile.cmake b/ports/date/portfile.cmake index 4dd5a40eb470db..215f1ef2a24d9b 100644 --- a/ports/date/portfile.cmake +++ b/ports/date/portfile.cmake @@ -31,7 +31,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") +if(VCPKG_TARGET_IS_WINDOWS) vcpkg_fixup_cmake_targets(CONFIG_PATH CMake TARGET_PATH share/date) else() vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/date TARGET_PATH share/date) diff --git a/versions/baseline.json b/versions/baseline.json index 6e093f2649d736..e25334954bbbbd 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -1538,7 +1538,7 @@ }, "date": { "baseline": "3.0.0", - "port-version": 1 + "port-version": 2 }, "dav1d": { "baseline": "0.8.1", diff --git a/versions/d-/date.json b/versions/d-/date.json index 4f4350366dcb29..f739f8dbca3f87 100644 --- a/versions/d-/date.json +++ b/versions/d-/date.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "6223ca4908ce9896c0d17ac21dac600e7f4d54e1", + "version-string": "3.0.0", + "port-version": 2 + }, { "git-tree": "42976b85736114e38204b7d8cd5ea5e74a73c7cd", "version-string": "3.0.0", From bad6e874546d1acc5797c9e363e72813c39d47ef Mon Sep 17 00:00:00 2001 From: Be Date: Wed, 3 Feb 2021 11:40:55 -0800 Subject: [PATCH 0094/1735] [libdjinterop] add new port with version 0.14.6 (#15990) --- ports/libdjinterop/portfile.cmake | 18 ++++++++++++++++++ ports/libdjinterop/vcpkg.json | 11 +++++++++++ versions/baseline.json | 4 ++++ versions/l-/libdjinterop.json | 9 +++++++++ 4 files changed, 42 insertions(+) create mode 100644 ports/libdjinterop/portfile.cmake create mode 100644 ports/libdjinterop/vcpkg.json create mode 100644 versions/l-/libdjinterop.json diff --git a/ports/libdjinterop/portfile.cmake b/ports/libdjinterop/portfile.cmake new file mode 100644 index 00000000000000..484238b84bf254 --- /dev/null +++ b/ports/libdjinterop/portfile.cmake @@ -0,0 +1,18 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO xsco/libdjinterop + REF 0.14.6 + SHA512 3d05bc882ddc309a1b0d5e97572ede1aa826b662a19ffd8ee874c13ead668d1c3f14d59bf861ae3880588e1a9b94e4a92ccdbb5df71bfb7ffe28f57a1b123f18 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) +vcpkg_install_cmake() + +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/libdjinterop/vcpkg.json b/ports/libdjinterop/vcpkg.json new file mode 100644 index 00000000000000..533f90d86191b8 --- /dev/null +++ b/ports/libdjinterop/vcpkg.json @@ -0,0 +1,11 @@ +{ + "name": "libdjinterop", + "version-string": "0.14.6", + "description": "C++ library for access to DJ record libraries. Currently only supports Denon Engine Prime databases", + "homepage": "https://github.com/xsco/libdjinterop", + "license": "LGPL-3.0-or-later", + "dependencies": [ + "sqlite3", + "zlib" + ] +} diff --git a/versions/baseline.json b/versions/baseline.json index e25334954bbbbd..4e2afdd1aa0064 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -2916,6 +2916,10 @@ "baseline": "3.0", "port-version": 0 }, + "libdjinterop": { + "baseline": "0.14.6", + "port-version": 0 + }, "libdshowcapture": { "baseline": "0.6.0-1", "port-version": 0 diff --git a/versions/l-/libdjinterop.json b/versions/l-/libdjinterop.json new file mode 100644 index 00000000000000..02fe1f1f78d753 --- /dev/null +++ b/versions/l-/libdjinterop.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "f880d97fbd6043537231fcd201e5df71dc8b51f6", + "version-string": "0.14.6", + "port-version": 0 + } + ] +} From 63ca0234f42c7de1f3b2f606bb446cfb62e254a0 Mon Sep 17 00:00:00 2001 From: Be Date: Wed, 3 Feb 2021 11:42:52 -0800 Subject: [PATCH 0095/1735] [libebur128] add new port with version 1.2.5 (#15988) --- ports/libebur128/portfile.cmake | 20 ++++++++++++++++++++ ports/libebur128/vcpkg.json | 8 ++++++++ versions/baseline.json | 4 ++++ versions/l-/libebur128.json | 9 +++++++++ 4 files changed, 41 insertions(+) create mode 100644 ports/libebur128/portfile.cmake create mode 100644 ports/libebur128/vcpkg.json create mode 100644 versions/l-/libebur128.json diff --git a/ports/libebur128/portfile.cmake b/ports/libebur128/portfile.cmake new file mode 100644 index 00000000000000..5e4db581eb5a69 --- /dev/null +++ b/ports/libebur128/portfile.cmake @@ -0,0 +1,20 @@ +if((VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") AND VCPKG_TARGET_IS_WINDOWS) + message(FATAL_ERROR "${PORT} does not support Windows ARM") +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO jiixyj/libebur128 + REF v1.2.5 + SHA512 5f53c64f47bbad224840eef978bbc357f3fab091ef45f849749e5fabba0035d074451bc6e60240d3ff2c56b96faaf66fb91f32f96dcaacd9d81d3c148688c2f7 +) +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS -DENABLE_INTERNAL_QUEUE_H=ON +) +vcpkg_install_cmake() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/libebur128/vcpkg.json b/ports/libebur128/vcpkg.json new file mode 100644 index 00000000000000..72624b6f8e83af --- /dev/null +++ b/ports/libebur128/vcpkg.json @@ -0,0 +1,8 @@ +{ + "name": "libebur128", + "version-string": "1.2.5", + "description": "A library implementing the EBU R128 audio loudness standard", + "homepage": "https://github.com/jiixyj/libebur128", + "license": "MIT", + "supports": "!(arm & windows)" +} diff --git a/versions/baseline.json b/versions/baseline.json index 4e2afdd1aa0064..1904594e21c301 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -2924,6 +2924,10 @@ "baseline": "0.6.0-1", "port-version": 0 }, + "libebur128": { + "baseline": "1.2.5", + "port-version": 0 + }, "libepoxy": { "baseline": "1.5.5", "port-version": 0 diff --git a/versions/l-/libebur128.json b/versions/l-/libebur128.json new file mode 100644 index 00000000000000..82a6b35439ad6d --- /dev/null +++ b/versions/l-/libebur128.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "9bfff5d49e34c3ff392662fca4b0ab398a4148b3", + "version-string": "1.2.5", + "port-version": 0 + } + ] +} From 259cf27e441d8183177152f7e03d324062de6e74 Mon Sep 17 00:00:00 2001 From: Daniil Goncharov Date: Thu, 4 Feb 2021 00:43:20 +0500 Subject: [PATCH 0096/1735] [nameof] Update to 0.10.0 (#15975) * [nameof] Update to 0.10.0 * x-add-version --- ports/nameof/CONTROL | 2 +- ports/nameof/portfile.cmake | 5 +++-- versions/baseline.json | 2 +- versions/n-/nameof.json | 5 +++++ 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/ports/nameof/CONTROL b/ports/nameof/CONTROL index f004d4f8f14de4..aaf8ed7a8025d8 100644 --- a/ports/nameof/CONTROL +++ b/ports/nameof/CONTROL @@ -1,4 +1,4 @@ Source: nameof -Version: 0.9.4 +Version: 0.10.0 Description: Nameof operator for modern C++, simply obtain the name of a variable, type, function, macro, and enum. Homepage: https://github.com/Neargye/nameof diff --git a/ports/nameof/portfile.cmake b/ports/nameof/portfile.cmake index ed893a39bb47ac..3d0473a873cf64 100644 --- a/ports/nameof/portfile.cmake +++ b/ports/nameof/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Neargye/nameof - REF v0.9.4 - SHA512 658abf7da2bbc831648aca017815e6368163335840d59f4538ecc0d8438dc3843ad6efc9c2ca8ec1f6ad2208349eee880106fc60cda44bd7b19c73a1f23d067f + REF v0.10.0 + SHA512 39ad64e7b3bd45120b8d47559b5068fbc000cc4c0b9e86bad15f2a440991fcbfb6162e3acce56e98857c4b6b4734f87253415d6001dea0335d0bc5e60045db61 HEAD_REF master ) @@ -14,6 +14,7 @@ vcpkg_configure_cmake( OPTIONS -DNAMEOF_OPT_BUILD_EXAMPLES=OFF -DNAMEOF_OPT_BUILD_TESTS=OFF + -DNAMEOF_OPT_INSTALL=ON ) vcpkg_install_cmake() diff --git a/versions/baseline.json b/versions/baseline.json index 1904594e21c301..08e4cf88fe9872 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3949,7 +3949,7 @@ "port-version": 0 }, "nameof": { - "baseline": "0.9.4", + "baseline": "0.10.0", "port-version": 0 }, "nana": { diff --git a/versions/n-/nameof.json b/versions/n-/nameof.json index a05d5ff3b97228..9449981790eafe 100644 --- a/versions/n-/nameof.json +++ b/versions/n-/nameof.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "0862786acc338358d7e97a79e4a3c9e68cced4c7", + "version-string": "0.10.0", + "port-version": 0 + }, { "git-tree": "234e76946663fe1435fee7e8ad834e79e674954e", "version-string": "0.9.4", From 37289e26fc5a565508dc2f1726184cf3827d4424 Mon Sep 17 00:00:00 2001 From: Daniil Goncharov Date: Thu, 4 Feb 2021 00:43:45 +0500 Subject: [PATCH 0097/1735] [magic-enum] Update to v0.7.2 (#15974) * [magic-enum] Update to v0.7.2 * x-add-version --- ports/magic-enum/CONTROL | 2 +- ports/magic-enum/portfile.cmake | 4 ++-- versions/baseline.json | 2 +- versions/m-/magic-enum.json | 5 +++++ 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/ports/magic-enum/CONTROL b/ports/magic-enum/CONTROL index 25dc3520f99d2d..36179c825f4f12 100644 --- a/ports/magic-enum/CONTROL +++ b/ports/magic-enum/CONTROL @@ -1,4 +1,4 @@ Source: magic-enum -Version: 0.7.1 +Version: 0.7.2 Description: Header-only C++17 library provides static reflection for enums, work with any enum type without any macro or boilerplate code. Homepage: https://github.com/Neargye/magic_enum diff --git a/ports/magic-enum/portfile.cmake b/ports/magic-enum/portfile.cmake index 11b48af3b5f1ae..4787ed5a71e464 100644 --- a/ports/magic-enum/portfile.cmake +++ b/ports/magic-enum/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Neargye/magic_enum - REF v0.7.1 - SHA512 0eff2901d9829289fa36811fd428a9a6b66d6b88971948a385c9e74e5bbe3f52f4b80321c96a4d002bfe2c9b3d45e9bae8fbe17d718643fa318ab845b887be09 + REF v0.7.2 + SHA512 53991ccc890548a81a410e274ec2deaf0f153ec15d154ac802452235dc5b913b56da64fddc6aeed9882206fd2abe7250423d36f5e72bdba54b622b8dfdfa9dad HEAD_REF master ) diff --git a/versions/baseline.json b/versions/baseline.json index 08e4cf88fe9872..979a4a8675fcc7 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3625,7 +3625,7 @@ "port-version": 0 }, "magic-enum": { - "baseline": "0.7.1", + "baseline": "0.7.2", "port-version": 0 }, "magic-get": { diff --git a/versions/m-/magic-enum.json b/versions/m-/magic-enum.json index f4ddca33ff1d14..eef040c16d9810 100644 --- a/versions/m-/magic-enum.json +++ b/versions/m-/magic-enum.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "237d596c8e4341629912912346075a1d9f65096b", + "version-string": "0.7.2", + "port-version": 0 + }, { "git-tree": "b216fb15c94a2693a2fe1f7fa350a8f13d11f53f", "version-string": "0.7.1", From 5f0139b7e2f48a5e0cde8f6c199c2fc7689fb2b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jack=C2=B7Boos=C2=B7Yu?= <47264268+JackBoosY@users.noreply.github.com> Date: Wed, 3 Feb 2021 11:48:06 -0800 Subject: [PATCH 0098/1735] [physx] Use /Z7 instead of /Zi to integrate the debug info when building static (#15934) * [physx] Use /Z7 instead of /Zi to integrate the debug message when building static * update version record * [physx] Add homepage * update version record * [physx] Re-fix flags, using toolchain set * update version record --- ports/physx/CONTROL | 3 ++- ports/physx/fix-compiler-flag.patch | 37 +++++++++++++++++++++++++++++ ports/physx/portfile.cmake | 4 +--- versions/baseline.json | 2 +- versions/p-/physx.json | 5 ++++ 5 files changed, 46 insertions(+), 5 deletions(-) create mode 100644 ports/physx/fix-compiler-flag.patch diff --git a/ports/physx/CONTROL b/ports/physx/CONTROL index b7055be9a1aed9..c35db5c1bf132c 100644 --- a/ports/physx/CONTROL +++ b/ports/physx/CONTROL @@ -1,4 +1,5 @@ Source: physx Version: 4.1.1 -Port-Version: 6 +Port-Version: 7 +Homepage: https://github.com/NVIDIAGameWorks/PhysX Description: The NVIDIA PhysX SDK is a scalable multi-platform physics solution supporting a wide range of devices, from smartphones to high-end multicore CPUs and GPUs diff --git a/ports/physx/fix-compiler-flag.patch b/ports/physx/fix-compiler-flag.patch new file mode 100644 index 00000000000000..9178e4f29b875f --- /dev/null +++ b/ports/physx/fix-compiler-flag.patch @@ -0,0 +1,37 @@ +diff --git a/physx/compiler/public/CMakeLists.txt b/physx/compiler/public/CMakeLists.txt +index bd85eee..f32fe82 100644 +--- a/physx/compiler/public/CMakeLists.txt ++++ b/physx/compiler/public/CMakeLists.txt +@@ -33,6 +33,8 @@ ENDIF() + + project(PhysXSDK C CXX) + ++SET(PHYSX_CXX_FLAGS "${CMAKE_CXX_FLAGS}" CACHE INTERNAL "PhysX Debug CXX Flags") ++ + OPTION(PX_BUILDSNIPPETS "Generate the snippets" OFF) + OPTION(PX_BUILDPUBLICSAMPLES "Generate the samples" OFF) + OPTION(PX_CMAKE_SUPPRESS_REGENERATION "Disable zero_check projects" OFF) +diff --git a/physx/source/compiler/cmake/windows/CMakeLists.txt b/physx/source/compiler/cmake/windows/CMakeLists.txt +index c772333..e8a243c 100644 +--- a/physx/source/compiler/cmake/windows/CMakeLists.txt ++++ b/physx/source/compiler/cmake/windows/CMakeLists.txt +@@ -41,15 +41,17 @@ ELSE() + SET(PHYSX_FP_MODE "/fp:fast") + ENDIF() + IF(CMAKE_CL_64) +- SET(PHYSX_CXX_FLAGS "/d2Zi+ /MP /WX /W4 /GF /GS- /GR- /Gd ${PHYSX_FP_MODE} /Oy ${PHYSX_WARNING_DISABLES}" CACHE INTERNAL "PhysX CXX") ++ SET(PHYSX_CXX_FLAGS "${PHYSX_CXX_FLAGS} ${PHYSX_FP_MODE} ${PHYSX_WARNING_DISABLES}" CACHE INTERNAL "PhysX CXX") + ELSE() +- SET(PHYSX_CXX_FLAGS "/arch:SSE2 /d2Zi+ /MP /WX /W4 /GF /GS- /GR- /Gd ${PHYSX_FP_MODE} /Oy ${PHYSX_WARNING_DISABLES}" CACHE INTERNAL "PhysX CXX") ++ SET(PHYSX_CXX_FLAGS "${PHYSX_CXX_FLAGS} /arch:SSE2 ${PHYSX_FP_MODE} ${PHYSX_WARNING_DISABLES}" CACHE INTERNAL "PhysX CXX") + ENDIF() + ++if (0) + SET(PHYSX_CXX_FLAGS_DEBUG "/Od ${WINCRT_DEBUG} /RTCu /Zi" CACHE INTERNAL "PhysX Debug CXX Flags") + SET(PHYSX_CXX_FLAGS_CHECKED "/Ox ${WINCRT_NDEBUG} /Zi" CACHE INTERNAL "PhysX Checked CXX Flags") + SET(PHYSX_CXX_FLAGS_PROFILE "/Ox ${WINCRT_NDEBUG} /Zi" CACHE INTERNAL "PhysX Profile CXX Flags") + SET(PHYSX_CXX_FLAGS_RELEASE "/Ox ${WINCRT_NDEBUG} /Zi" CACHE INTERNAL "PhysX Release CXX Flags") ++endif() + + # cache lib type defs + IF(PX_GENERATE_STATIC_LIBRARIES) diff --git a/ports/physx/portfile.cmake b/ports/physx/portfile.cmake index 5c2e1208619764..2d4d627fb76030 100644 --- a/ports/physx/portfile.cmake +++ b/ports/physx/portfile.cmake @@ -11,6 +11,7 @@ vcpkg_from_github( msvc_142_bug_workaround.patch vs16_3_typeinfo_header_fix.patch fix_discarded_qualifiers.patch + fix-compiler-flag.patch ) if(NOT DEFINED RELEASE_CONFIGURATION) @@ -78,9 +79,6 @@ else() list(APPEND OPTIONS "-DPX_OUTPUT_ARCH=x86") endif() -# Replicate PhysX's CXX Flags here so we don't have to patch out /WX and -Wall -list(APPEND OPTIONS "-DPHYSX_CXX_FLAGS:INTERNAL=${VCPKG_CXX_FLAGS}") - vcpkg_configure_cmake( SOURCE_PATH "${SOURCE_PATH}/physx/compiler/public" PREFER_NINJA diff --git a/versions/baseline.json b/versions/baseline.json index 979a4a8675fcc7..5d83d0a8945f75 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -4534,7 +4534,7 @@ }, "physx": { "baseline": "4.1.1", - "port-version": 6 + "port-version": 7 }, "picojson": { "baseline": "1.3.0-1", diff --git a/versions/p-/physx.json b/versions/p-/physx.json index 87c48b1cdfd20b..c69b0eada8a60f 100644 --- a/versions/p-/physx.json +++ b/versions/p-/physx.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "61c80fbae2a59a689ceb9774b288dc6ffbdceac4", + "version-string": "4.1.1", + "port-version": 7 + }, { "git-tree": "ff229b023b059806554bb8d9e6fbc2b4eb0fe139", "version-string": "4.1.1", From e76c524f630f597af04fcbb8fc177c5fd8e281a4 Mon Sep 17 00:00:00 2001 From: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com> Date: Thu, 4 Feb 2021 04:17:39 +0800 Subject: [PATCH 0099/1735] [vcpkg baseline][armadillo] Update to 10.2.0 and also update the repository (#15973) * [armadillo] Update to 10.2.0 and also update the repository * Update versions * Remove NO_REMOVE_ONE_LEVEL and update patches * Update versions/a-/armadillo.json --- ports/armadillo/CONTROL | 5 +- .../armadillo/add-disable-find-package.patch | 120 +++++++++--------- ports/armadillo/fix-CMakePath.patch | 26 ++-- ports/armadillo/portfile.cmake | 7 +- ports/armadillo/remove_custom_modules.patch | 44 ++++--- versions/a-/armadillo.json | 5 + versions/baseline.json | 4 +- 7 files changed, 109 insertions(+), 102 deletions(-) diff --git a/ports/armadillo/CONTROL b/ports/armadillo/CONTROL index dee179680d79d7..d903f6472ed481 100644 --- a/ports/armadillo/CONTROL +++ b/ports/armadillo/CONTROL @@ -1,6 +1,5 @@ Source: armadillo -Version: 10.1.0 -Port-Version: 1 -Homepage: https://gitlab.com/conradsnicta/armadillo-code +Version: 10.2.0 +Homepage: http://arma.sourceforge.net Description: Armadillo is a high quality linear algebra library (matrix maths) for the C++ language, aiming towards a good balance between speed and ease of use Build-Depends: blas, lapack diff --git a/ports/armadillo/add-disable-find-package.patch b/ports/armadillo/add-disable-find-package.patch index a3262823323891..b5d67d5c21a741 100644 --- a/ports/armadillo/add-disable-find-package.patch +++ b/ports/armadillo/add-disable-find-package.patch @@ -1,60 +1,60 @@ -diff --git a/cmake_aux/Modules/ARMA_FindARPACK.cmake b/cmake_aux/Modules/ARMA_FindARPACK.cmake -index 1a709ad..3029c25 100644 ---- a/cmake_aux/Modules/ARMA_FindARPACK.cmake -+++ b/cmake_aux/Modules/ARMA_FindARPACK.cmake -@@ -4,6 +4,10 @@ - # ARPACK_FOUND - system has ARPACK - # ARPACK_LIBRARY - Link this to use ARPACK - -+if(CMAKE_DISABLE_FIND_PACKAGE_ARPACK) -+ set(ARPACK_FOUND NO) -+ return() -+endif() - - find_library(ARPACK_LIBRARY - NAMES arpack -diff --git a/cmake_aux/Modules/ARMA_FindATLAS.cmake b/cmake_aux/Modules/ARMA_FindATLAS.cmake -index 491a361..e40a0ff 100644 ---- a/cmake_aux/Modules/ARMA_FindATLAS.cmake -+++ b/cmake_aux/Modules/ARMA_FindATLAS.cmake -@@ -1,3 +1,8 @@ -+if(CMAKE_DISABLE_FIND_PACKAGE_ATLAS) -+ set(ATLAS_FOUND NO) -+ return() -+endif() -+ - find_path(ATLAS_CBLAS_INCLUDE_DIR - NAMES cblas.h - PATHS /usr/include/atlas/ /usr/include/ /usr/local/include/atlas/ /usr/local/include/ -diff --git a/cmake_aux/Modules/ARMA_FindMKL.cmake b/cmake_aux/Modules/ARMA_FindMKL.cmake -index 0fd5b06..d6bcd49 100644 ---- a/cmake_aux/Modules/ARMA_FindMKL.cmake -+++ b/cmake_aux/Modules/ARMA_FindMKL.cmake -@@ -6,6 +6,11 @@ - ## the link below explains why we're linking only with mkl_rt - ## https://software.intel.com/en-us/articles/a-new-linking-model-single-dynamic-library-mkl_rt-since-intel-mkl-103 - -+if(CMAKE_DISABLE_FIND_PACKAGE_MKL) -+ set(MKL_FOUND NO) -+ return() -+endif() -+ - set(MKL_NAMES ${MKL_NAMES} mkl_rt) - #set(MKL_NAMES ${MKL_NAMES} mkl_lapack) - #set(MKL_NAMES ${MKL_NAMES} mkl_intel_thread) -diff --git a/cmake_aux/Modules/ARMA_FindSuperLU5.cmake b/cmake_aux/Modules/ARMA_FindSuperLU5.cmake -index abf046d..e496cb0 100644 ---- a/cmake_aux/Modules/ARMA_FindSuperLU5.cmake -+++ b/cmake_aux/Modules/ARMA_FindSuperLU5.cmake -@@ -5,6 +5,11 @@ - # SuperLU_LIBRARY - Link this to use SuperLU - # SuperLU_INCLUDE_DIR - directory of SuperLU headers - -+if(CMAKE_DISABLE_FIND_PACKAGE_SuperLU) -+ set(SuperLU_FOUND OFF) -+ return() -+endif() -+ - find_path(SuperLU_INCLUDE_DIR slu_ddefs.h - /usr/include/superlu/ - /usr/include/SuperLU/ +diff --git a/cmake_aux/Modules/ARMA_FindARPACK.cmake b/cmake_aux/Modules/ARMA_FindARPACK.cmake +index 1a709ad..3029c25 100644 +--- a/cmake_aux/Modules/ARMA_FindARPACK.cmake ++++ b/cmake_aux/Modules/ARMA_FindARPACK.cmake +@@ -4,6 +4,10 @@ + # ARPACK_FOUND - system has ARPACK + # ARPACK_LIBRARY - Link this to use ARPACK + ++if(CMAKE_DISABLE_FIND_PACKAGE_ARPACK) ++ set(ARPACK_FOUND NO) ++ return() ++endif() + + find_library(ARPACK_LIBRARY + NAMES arpack +diff --git a/cmake_aux/Modules/ARMA_FindATLAS.cmake b/cmake_aux/Modules/ARMA_FindATLAS.cmake +index 491a361..e40a0ff 100644 +--- a/cmake_aux/Modules/ARMA_FindATLAS.cmake ++++ b/cmake_aux/Modules/ARMA_FindATLAS.cmake +@@ -1,3 +1,8 @@ ++if(CMAKE_DISABLE_FIND_PACKAGE_ATLAS) ++ set(ATLAS_FOUND NO) ++ return() ++endif() ++ + find_path(ATLAS_CBLAS_INCLUDE_DIR + NAMES cblas.h + PATHS /usr/include/atlas/ /usr/include/ /usr/local/include/atlas/ /usr/local/include/ +diff --git a/cmake_aux/Modules/ARMA_FindMKL.cmake b/cmake_aux/Modules/ARMA_FindMKL.cmake +index 0fd5b06..d6bcd49 100644 +--- a/cmake_aux/Modules/ARMA_FindMKL.cmake ++++ b/cmake_aux/Modules/ARMA_FindMKL.cmake +@@ -6,6 +6,11 @@ + ## the link below explains why we're linking only with mkl_rt + ## https://software.intel.com/en-us/articles/a-new-linking-model-single-dynamic-library-mkl_rt-since-intel-mkl-103 + ++if(CMAKE_DISABLE_FIND_PACKAGE_MKL) ++ set(MKL_FOUND NO) ++ return() ++endif() ++ + set(MKL_NAMES ${MKL_NAMES} mkl_rt) + #set(MKL_NAMES ${MKL_NAMES} mkl_lapack) + #set(MKL_NAMES ${MKL_NAMES} mkl_intel_thread) +diff --git a/cmake_aux/Modules/ARMA_FindSuperLU5.cmake b/cmake_aux/Modules/ARMA_FindSuperLU5.cmake +index abf046d..e496cb0 100644 +--- a/cmake_aux/Modules/ARMA_FindSuperLU5.cmake ++++ b/cmake_aux/Modules/ARMA_FindSuperLU5.cmake +@@ -5,6 +5,11 @@ + # SuperLU_LIBRARY - Link this to use SuperLU + # SuperLU_INCLUDE_DIR - directory of SuperLU headers + ++if(CMAKE_DISABLE_FIND_PACKAGE_SuperLU) ++ set(SuperLU_FOUND OFF) ++ return() ++endif() ++ + find_path(SuperLU_INCLUDE_DIR slu_ddefs.h + /usr/include/superlu/ + /usr/include/SuperLU/ diff --git a/ports/armadillo/fix-CMakePath.patch b/ports/armadillo/fix-CMakePath.patch index 6d16a26f8e01e9..cfafc4f289ead3 100644 --- a/ports/armadillo/fix-CMakePath.patch +++ b/ports/armadillo/fix-CMakePath.patch @@ -1,13 +1,13 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 0fb228f..19cfdf8 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -611,7 +611,7 @@ install(EXPORT ArmadilloLibraryDepends DESTINATION - # and install it - set(ARMADILLO_INCLUDE_DIRS "${CMAKE_INSTALL_FULL_INCLUDEDIR}") - set(ARMADILLO_LIB_DIR "${CMAKE_INSTALL_FULL_LIBDIR}") --set(ARMADILLO_CMAKE_DIR "${CMAKE_INSTALL_FULL_DATADIR}/Armadillo/CMake") -+set(ARMADILLO_CMAKE_DIR "${CMAKE_INSTALL_FULL_DATADIR}/Armadillo") - - - message(STATUS "Generating '${PROJECT_BINARY_DIR}/InstallFiles/ArmadilloConfig.cmake'") +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ea5516e..ecd14bc 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -615,7 +615,7 @@ install(EXPORT ArmadilloLibraryDepends DESTINATION + # and install it + set(ARMADILLO_INCLUDE_DIRS "${CMAKE_INSTALL_FULL_INCLUDEDIR}") + set(ARMADILLO_LIB_DIR "${CMAKE_INSTALL_FULL_LIBDIR}") +-set(ARMADILLO_CMAKE_DIR "${CMAKE_INSTALL_FULL_DATADIR}/Armadillo/CMake") ++set(ARMADILLO_CMAKE_DIR "${CMAKE_INSTALL_FULL_DATADIR}/Armadillo") + + + message(STATUS "Generating '${PROJECT_BINARY_DIR}/InstallFiles/ArmadilloConfig.cmake'") diff --git a/ports/armadillo/portfile.cmake b/ports/armadillo/portfile.cmake index 40d8ab3d86ea0e..bc275cb66a478c 100644 --- a/ports/armadillo/portfile.cmake +++ b/ports/armadillo/portfile.cmake @@ -1,9 +1,10 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -vcpkg_from_git( +vcpkg_from_sourceforge( OUT_SOURCE_PATH SOURCE_PATH - URL https://gitlab.com/conradsnicta/armadillo-code - REF 24b4762cbfbd3ad14c99a4854acd3560559a3195 # v10.1.0 + REPO arma + FILENAME "armadillo-10.2.0.tar.xz" + SHA512 c5d6f4bac0acba63fbd7681653d521249fd303ffbbc5b18df71500eb111514c1d09db600a580091d6a23c83748c109c30938bbcd80a3a0b2c25e2fdea932f2cd PATCHES remove_custom_modules.patch fix-CMakePath.patch diff --git a/ports/armadillo/remove_custom_modules.patch b/ports/armadillo/remove_custom_modules.patch index 1ce5984bfea835..88631b573aab49 100644 --- a/ports/armadillo/remove_custom_modules.patch +++ b/ports/armadillo/remove_custom_modules.patch @@ -1,21 +1,23 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 0fb228f..2275734 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -321,14 +321,13 @@ else() - set(ARMA_OS unix) - - include(ARMA_FindMKL) -- include(ARMA_FindOpenBLAS) - include(ARMA_FindATLAS) -- include(ARMA_FindBLAS) -- include(ARMA_FindLAPACK) - - if(ALLOW_FLEXIBLAS_LINUX AND (${CMAKE_SYSTEM_NAME} MATCHES "Linux")) - include(ARMA_FindFlexiBLAS) - endif() -+ find_package(BLAS) -+ find_package(LAPACK) - - message(STATUS " MKL_FOUND = ${MKL_FOUND}" ) - message(STATUS " OpenBLAS_FOUND = ${OpenBLAS_FOUND}" ) +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ab7dbed..ea5516e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -324,15 +324,15 @@ if(APPLE) + else() + + include(ARMA_FindMKL) +- include(ARMA_FindOpenBLAS) + include(ARMA_FindATLAS) +- include(ARMA_FindBLAS) +- include(ARMA_FindLAPACK) + + if(ALLOW_FLEXIBLAS_LINUX AND (${CMAKE_SYSTEM_NAME} MATCHES "Linux")) + include(ARMA_FindFlexiBLAS) + endif() + ++ find_package(BLAS) ++ find_package(LAPACK) ++ + message(STATUS " MKL_FOUND = ${MKL_FOUND}" ) + message(STATUS " OpenBLAS_FOUND = ${OpenBLAS_FOUND}" ) + message(STATUS " ATLAS_FOUND = ${ATLAS_FOUND}" ) diff --git a/versions/a-/armadillo.json b/versions/a-/armadillo.json index e696b6548f9a36..2dfbf6adfed539 100644 --- a/versions/a-/armadillo.json +++ b/versions/a-/armadillo.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "8f9484de18ab042899bdf1fd033f6522ff091225", + "version-string": "10.2.0", + "port-version": 0 + }, { "git-tree": "3ec327570d6731dbd87ebdee5a0cebdd8bd62ed7", "version-string": "10.1.0", diff --git a/versions/baseline.json b/versions/baseline.json index 5d83d0a8945f75..3851f388cf57d4 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -137,8 +137,8 @@ "port-version": 0 }, "armadillo": { - "baseline": "10.1.0", - "port-version": 1 + "baseline": "10.2.0", + "port-version": 0 }, "arrayfire": { "baseline": "3.7.3", From 9adaafc4f46250ee4b88a91de6db74a476e6fdc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Hrdli=C4=8Dka?= Date: Wed, 3 Feb 2021 21:51:28 +0100 Subject: [PATCH 0100/1735] [vcpkg] fix X_VCPKG_APPLOCAL_DEPS_INSTALL (#15960) * [vcpkg] fix X_VCPKG_APPLOCAL_DEPS_INSTALL * [vcpkg] fix x_vcpkg_install_local_dependencies Fixed `x_vcpkg_install_local_dependencies` always assuming a relative `DESTINATION`. --- scripts/buildsystems/vcpkg.cmake | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/scripts/buildsystems/vcpkg.cmake b/scripts/buildsystems/vcpkg.cmake index f4fa8a64f8ef4e..7c9da5e25b3409 100644 --- a/scripts/buildsystems/vcpkg.cmake +++ b/scripts/buildsystems/vcpkg.cmake @@ -526,6 +526,9 @@ function(x_vcpkg_install_local_dependencies) if(_VCPKG_TARGET_TRIPLET_PLAT MATCHES "windows|uwp") cmake_parse_arguments(PARSE_ARGV 0 __VCPKG_APPINSTALL "" "DESTINATION" "TARGETS") _vcpkg_set_powershell_path() + if(NOT IS_ABSOLUTE ${__VCPKG_APPINSTALL_DESTINATION}) + set(__VCPKG_APPINSTALL_DESTINATION "\${CMAKE_INSTALL_PREFIX}/${__VCPKG_APPINSTALL_DESTINATION}") + endif() foreach(TARGET IN LISTS __VCPKG_APPINSTALL_TARGETS) get_target_property(TARGETTYPE ${TARGET} TYPE) if(NOT TARGETTYPE STREQUAL "INTERFACE_LIBRARY") @@ -535,7 +538,7 @@ function(x_vcpkg_install_local_dependencies) endif() install(CODE "message(\"-- Installing app dependencies for ${TARGET}...\") execute_process(COMMAND \"${_VCPKG_POWERSHELL_PATH}\" -noprofile -executionpolicy Bypass -file \"${_VCPKG_TOOLCHAIN_DIR}/msbuild/applocal.ps1\" - -targetBinary \"\${CMAKE_INSTALL_PREFIX}/${__VCPKG_APPINSTALL_DESTINATION}/$\" + -targetBinary \"${__VCPKG_APPINSTALL_DESTINATION}/$\" -installedDir \"${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}$<$:/debug>/bin\" -OutVariable out)") endif() @@ -553,7 +556,7 @@ if(X_VCPKG_APPLOCAL_DEPS_INSTALL) set(PARSED_TARGETS "") # Destination - [RUNTIME] DESTINATION argument overrides this - set(DESTINATION "${CMAKE_INSTALL_PREFIX}/bin") + set(DESTINATION "bin") # Parse arguments given to the install function to find targets and (runtime) destination set(MODIFIER "") # Modifier for the command in the argument From 323a0a387a8a13d05590ce72916acffa7d4c8cb8 Mon Sep 17 00:00:00 2001 From: Adam Johnson Date: Wed, 3 Feb 2021 15:56:00 -0500 Subject: [PATCH 0101/1735] [cairo] Make freetype and fontconfig optional. (#15965) * [cairo] Make fontconfig optional. * [cairo] Update port versions --- ports/cairo/CMakeLists.txt | 46 ++++++++++++------- ports/cairo/CONTROL | 13 ------ .../{cairo-features.h => cairo-features.h.in} | 4 +- ports/cairo/portfile.cmake | 8 +++- ports/cairo/vcpkg.json | 33 +++++++++++++ versions/baseline.json | 2 +- versions/c-/cairo.json | 5 ++ 7 files changed, 77 insertions(+), 34 deletions(-) delete mode 100644 ports/cairo/CONTROL rename ports/cairo/{cairo-features.h => cairo-features.h.in} (92%) create mode 100644 ports/cairo/vcpkg.json diff --git a/ports/cairo/CMakeLists.txt b/ports/cairo/CMakeLists.txt index a68491fbd8b9c0..b66d0b905007ab 100644 --- a/ports/cairo/CMakeLists.txt +++ b/ports/cairo/CMakeLists.txt @@ -156,10 +156,13 @@ file(GLOB SOURCES "cairo-svg-surface.c" # script surface "cairo-script-surface.c" -# fontconfig + freetype -"cairo-ft-font.c" ) +if(WITH_FREETYPE) + file(GLOB _FREETYPE_SOURCES "cairo-ft-font.c") + list(APPEND SOURCES ${_FREETYPE_SOURCES}) +endif() + # win32 file(GLOB PLATFORM_SOURCES_WIN32 "win32/cairo-win32-debug.c" @@ -181,17 +184,21 @@ set(CMAKE_DEBUG_POSTFIX "d") find_package(Threads REQUIRED) find_package(ZLIB REQUIRED) find_package(PNG REQUIRED) -find_package(Freetype REQUIRED) -find_package(Fontconfig REQUIRED) +if(WITH_FREETYPE) + find_package(Freetype REQUIRED) + find_package(Fontconfig REQUIRED) +endif() find_package(unofficial-pixman CONFIG REQUIRED) # Cairo needs to be told which features of FreeType are availible -add_definitions( - -DHAVE_FT_GLYPHSLOT_EMBOLDEN=1 - -DHAVE_FT_LIBRARY_SETLCDFILTER=1 - -DHAVE_FT_GLYPHSLOT_OBLIQUE=1 - -DHAVE_FT_LOAD_SFNT_TABLE=1 - -DHAVE_FT_GET_X11_FONT_FORMAT=1) +if(WITH_FREETYPE) + add_definitions( + -DHAVE_FT_GLYPHSLOT_EMBOLDEN=1 + -DHAVE_FT_LIBRARY_SETLCDFILTER=1 + -DHAVE_FT_GLYPHSLOT_OBLIQUE=1 + -DHAVE_FT_LOAD_SFNT_TABLE=1 + -DHAVE_FT_GET_X11_FONT_FORMAT=1) +endif() # additional features for macOS if(UNIX OR APPLE) @@ -210,8 +217,11 @@ add_library(cairo ${SOURCES}) if (WITH_X11) target_compile_definitions(cairo PUBLIC -DCAIRO_HAS_XLIB_SURFACE=1) endif() -target_include_directories(cairo PUBLIC ${FREETYPE_INCLUDE_DIRS}) -target_link_libraries(cairo PRIVATE ZLIB::ZLIB PNG::PNG Freetype::Freetype unofficial::pixman::pixman-1 Fontconfig::Fontconfig) +if(WITH_FREETYPE) + target_include_directories(cairo PUBLIC ${FREETYPE_INCLUDE_DIRS}) + target_link_libraries(cairo PRIVATE Freetype::Freetype Fontconfig::Fontconfig) +endif() +target_link_libraries(cairo PRIVATE ZLIB::ZLIB PNG::PNG unofficial::pixman::pixman-1) if(WIN32) target_link_libraries(cairo PRIVATE gdi32 msimg32 user32) @@ -292,14 +302,16 @@ install( DESTINATION share/unofficial-cairo ) -file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/unofficial-cairo-config.cmake " -include(CMakeFindDependencyMacro) +file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/unofficial-cairo-config.cmake +"include(CMakeFindDependencyMacro) find_dependency(ZLIB) find_dependency(PNG) -find_dependency(Freetype) -find_dependency(Fontconfig) +if(${WITH_FREETYPE}) + find_dependency(Freetype) + find_dependency(Fontconfig) +endif() find_dependency(unofficial-pixman CONFIG) -if(WITH_GOBJECT) +if(${WITH_GOBJECT}) find_dependency(unofficial-glib CONFIG) endif() diff --git a/ports/cairo/CONTROL b/ports/cairo/CONTROL deleted file mode 100644 index 06877af9b7f25b..00000000000000 --- a/ports/cairo/CONTROL +++ /dev/null @@ -1,13 +0,0 @@ -Source: cairo -Version: 1.16.0 -Port-Version: 8 -Homepage: https://cairographics.org -Description: Cairo is a 2D graphics library with support for multiple output devices. Currently supported output targets include the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB. -Build-Depends: zlib, libpng, pixman, freetype, fontconfig - -Feature: x11 -Description: build with x11 support - -Feature: gobject -Description: build gobject module -Build-Depends: glib \ No newline at end of file diff --git a/ports/cairo/cairo-features.h b/ports/cairo/cairo-features.h.in similarity index 92% rename from ports/cairo/cairo-features.h rename to ports/cairo/cairo-features.h.in index e3eb31c139ce85..1254b59e53c134 100644 --- a/ports/cairo/cairo-features.h +++ b/ports/cairo/cairo-features.h.in @@ -30,9 +30,9 @@ #define CAIRO_HAS_GOBJECT_FUNCTIONS 1 /* Require FreeType */ -#define CAIRO_HAS_FT_FONT 1 +#cmakedefine01 CAIRO_HAS_FT_FONT /* Require FontConfig */ -#define CAIRO_HAS_FC_FONT 1 +#cmakedefine01 CAIRO_HAS_FC_FONT #endif diff --git a/ports/cairo/portfile.cmake b/ports/cairo/portfile.cmake index 414c0df19bdb36..c567dc2ccbbda8 100644 --- a/ports/cairo/portfile.cmake +++ b/ports/cairo/portfile.cmake @@ -15,7 +15,12 @@ vcpkg_extract_source_archive_ex( ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}/src) -file(COPY ${CURRENT_PORT_DIR}/cairo-features.h DESTINATION ${SOURCE_PATH}/src) + +if("freetype" IN_LIST FEATURES) + set(CAIRO_HAS_FT_FONT TRUE) + set(CAIRO_HAS_FC_FONT TRUE) +endif() +configure_file("${CMAKE_CURRENT_LIST_DIR}/cairo-features.h.in" "${SOURCE_PATH}/src/cairo-features.h") if ("x11" IN_LIST FEATURES) if (VCPKG_TARGET_IS_WINDOWS) @@ -33,6 +38,7 @@ endif() vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS x11 WITH_X11 gobject WITH_GOBJECT + freetype WITH_FREETYPE ) vcpkg_configure_cmake( diff --git a/ports/cairo/vcpkg.json b/ports/cairo/vcpkg.json new file mode 100644 index 00000000000000..a8c093e81b5d92 --- /dev/null +++ b/ports/cairo/vcpkg.json @@ -0,0 +1,33 @@ +{ + "name": "cairo", + "version-string": "1.16.0", + "port-version": 9, + "description": "Cairo is a 2D graphics library with support for multiple output devices. Currently supported output targets include the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.", + "homepage": "https://cairographics.org", + "dependencies": [ + "libpng", + "pixman", + "zlib" + ], + "default-features": [ + "freetype" + ], + "features": { + "freetype": { + "description": "use the freetype font backend", + "dependencies": [ + "fontconfig", + "freetype" + ] + }, + "gobject": { + "description": "build gobject module", + "dependencies": [ + "glib" + ] + }, + "x11": { + "description": "build with x11 support" + } + } +} diff --git a/versions/baseline.json b/versions/baseline.json index 3851f388cf57d4..43962df2140034 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -1046,7 +1046,7 @@ }, "cairo": { "baseline": "1.16.0", - "port-version": 8 + "port-version": 9 }, "cairomm": { "baseline": "1.15.3", diff --git a/versions/c-/cairo.json b/versions/c-/cairo.json index aefdf577b92b33..b2fab7af92b4a4 100644 --- a/versions/c-/cairo.json +++ b/versions/c-/cairo.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "eb09773c303a9608687dca6a0480ff551c0c2bf9", + "version-string": "1.16.0", + "port-version": 9 + }, { "git-tree": "b3a1d73d5c8c18a8c6512385b59d40719f963c8c", "version-string": "1.16.0", From e3c26698d5e73a3b3ab46e47f21f9c0377e80e02 Mon Sep 17 00:00:00 2001 From: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Wed, 3 Feb 2021 12:57:35 -0800 Subject: [PATCH 0102/1735] [azure-storage-common-cpp] Publish version 12.0.0-beta.7 (#16020) * Update port for azure-storage-common-cpp * Update port for azure-storage-blobs-cpp * Update port for azure-storage-files-datalake-cpp * Update port version SHAs * Remove comment header from CONTROL files * Remove comment header from portfile.cmake files * Update port version SHAs once again Co-authored-by: Anton Kolesnyk --- ports/azure-storage-blobs-cpp/CONTROL | 6 ++++++ ports/azure-storage-blobs-cpp/portfile.cmake | 20 +++++++++++++++++++ ports/azure-storage-common-cpp/CONTROL | 6 ++++++ ports/azure-storage-common-cpp/portfile.cmake | 20 +++++++++++++++++++ .../azure-storage-files-datalake-cpp/CONTROL | 6 ++++++ .../portfile.cmake | 20 +++++++++++++++++++ versions/a-/azure-storage-blobs-cpp.json | 9 +++++++++ versions/a-/azure-storage-common-cpp.json | 9 +++++++++ .../a-/azure-storage-files-datalake-cpp.json | 9 +++++++++ versions/baseline.json | 12 +++++++++++ 10 files changed, 117 insertions(+) create mode 100644 ports/azure-storage-blobs-cpp/CONTROL create mode 100644 ports/azure-storage-blobs-cpp/portfile.cmake create mode 100644 ports/azure-storage-common-cpp/CONTROL create mode 100644 ports/azure-storage-common-cpp/portfile.cmake create mode 100644 ports/azure-storage-files-datalake-cpp/CONTROL create mode 100644 ports/azure-storage-files-datalake-cpp/portfile.cmake create mode 100644 versions/a-/azure-storage-blobs-cpp.json create mode 100644 versions/a-/azure-storage-common-cpp.json create mode 100644 versions/a-/azure-storage-files-datalake-cpp.json diff --git a/ports/azure-storage-blobs-cpp/CONTROL b/ports/azure-storage-blobs-cpp/CONTROL new file mode 100644 index 00000000000000..a3e08f567953ee --- /dev/null +++ b/ports/azure-storage-blobs-cpp/CONTROL @@ -0,0 +1,6 @@ +Source: azure-storage-blobs-cpp +Version: 12.0.0-beta.7 +Build-Depends: azure-storage-common-cpp +Description: Microsoft Azure Storage Blobs SDK for C++ + This library provides Azure Storage Blobs SDK. +Homepage: https://github.com/Azure/azure-sdk-for-cpp/tree/master/sdk/storage/azure-storage-blobs diff --git a/ports/azure-storage-blobs-cpp/portfile.cmake b/ports/azure-storage-blobs-cpp/portfile.cmake new file mode 100644 index 00000000000000..2c385b399402c0 --- /dev/null +++ b/ports/azure-storage-blobs-cpp/portfile.cmake @@ -0,0 +1,20 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Azure/azure-sdk-for-cpp + REF azure-storage-blobs_12.0.0-beta.7 + SHA512 51bf1c961bdc2fd95354afe21f171f2e1c05aafb4f6301a15d51650fecf0f0bc66272ac0fbc2e02c112b0164da4df66a411b17418c338298f6da21c3bfaab2c1 +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH}/sdk/storage/azure-storage-blobs/ + PREFER_NINJA + OPTIONS + -DWARNINGS_AS_ERRORS=OFF +) + +vcpkg_install_cmake() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_fixup_cmake_targets() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +vcpkg_copy_pdbs() + diff --git a/ports/azure-storage-common-cpp/CONTROL b/ports/azure-storage-common-cpp/CONTROL new file mode 100644 index 00000000000000..916e0dd0dc6cf8 --- /dev/null +++ b/ports/azure-storage-common-cpp/CONTROL @@ -0,0 +1,6 @@ +Source: azure-storage-common-cpp +Version: 12.0.0-beta.7 +Build-Depends: azure-core-cpp, libxml2, openssl (!windows) +Description: Microsoft Azure Common Storage SDK for C++ + This library provides common Azure Storage-related abstractions for Azure SDK. +Homepage: https://github.com/Azure/azure-sdk-for-cpp/tree/master/sdk/storage/azure-storage-common diff --git a/ports/azure-storage-common-cpp/portfile.cmake b/ports/azure-storage-common-cpp/portfile.cmake new file mode 100644 index 00000000000000..af5850bcbe7fad --- /dev/null +++ b/ports/azure-storage-common-cpp/portfile.cmake @@ -0,0 +1,20 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Azure/azure-sdk-for-cpp + REF azure-storage-common_12.0.0-beta.7 + SHA512 b37ca9a6562856858d19e1babbc7a99a25da75698935706fa6ebcebe118c33c35e388bebefcb56e6dcb45db4ffae0a60e0ffa3a56015f2069fd3a04433e21247 +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH}/sdk/storage/azure-storage-common/ + PREFER_NINJA + OPTIONS + -DWARNINGS_AS_ERRORS=OFF +) + +vcpkg_install_cmake() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_fixup_cmake_targets() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +vcpkg_copy_pdbs() + diff --git a/ports/azure-storage-files-datalake-cpp/CONTROL b/ports/azure-storage-files-datalake-cpp/CONTROL new file mode 100644 index 00000000000000..eda31a86650c1c --- /dev/null +++ b/ports/azure-storage-files-datalake-cpp/CONTROL @@ -0,0 +1,6 @@ +Source: azure-storage-files-datalake-cpp +Version: 12.0.0-beta.7 +Build-Depends: azure-storage-blobs-cpp +Description: Microsoft Azure Storage Files Data Lake SDK for C++ + This library provides Azure Storage Files Data Lake SDK. +Homepage: https://github.com/Azure/azure-sdk-for-cpp/tree/master/sdk/storage/azure-storage-files-datalake diff --git a/ports/azure-storage-files-datalake-cpp/portfile.cmake b/ports/azure-storage-files-datalake-cpp/portfile.cmake new file mode 100644 index 00000000000000..8856fa7e5d8c82 --- /dev/null +++ b/ports/azure-storage-files-datalake-cpp/portfile.cmake @@ -0,0 +1,20 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Azure/azure-sdk-for-cpp + REF azure-storage-files-datalake_12.0.0-beta.7 + SHA512 0fe864854b46ef7130e9e473ade9beb8d64cad29a5a63c78c1053aeb0de8ee6149d5fc93d4d941a3507d8a4eaa3c9d5baa2681da410a7c8d595767f24449b46e +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH}/sdk/storage/azure-storage-files-datalake/ + PREFER_NINJA + OPTIONS + -DWARNINGS_AS_ERRORS=OFF +) + +vcpkg_install_cmake() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_fixup_cmake_targets() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +vcpkg_copy_pdbs() + diff --git a/versions/a-/azure-storage-blobs-cpp.json b/versions/a-/azure-storage-blobs-cpp.json new file mode 100644 index 00000000000000..61df5b4dad1566 --- /dev/null +++ b/versions/a-/azure-storage-blobs-cpp.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "32a4dca2b5670fbce88652145fe3297bd221a672", + "version-string": "12.0.0-beta.7", + "port-version": 0 + } + ] +} diff --git a/versions/a-/azure-storage-common-cpp.json b/versions/a-/azure-storage-common-cpp.json new file mode 100644 index 00000000000000..171a61583351de --- /dev/null +++ b/versions/a-/azure-storage-common-cpp.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "1dee55e65cb1fb3f93d4cc8f820a09c4d17ee202", + "version-string": "12.0.0-beta.7", + "port-version": 0 + } + ] +} diff --git a/versions/a-/azure-storage-files-datalake-cpp.json b/versions/a-/azure-storage-files-datalake-cpp.json new file mode 100644 index 00000000000000..4751212bf9aecc --- /dev/null +++ b/versions/a-/azure-storage-files-datalake-cpp.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "96e221ac9eb6246fa0ec743cb3cbcc47b932f8f3", + "version-string": "12.0.0-beta.7", + "port-version": 0 + } + ] +} diff --git a/versions/baseline.json b/versions/baseline.json index 43962df2140034..bba1793c5c92ad 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -260,10 +260,22 @@ "baseline": "2020-06-17", "port-version": 2 }, + "azure-storage-blobs-cpp": { + "baseline": "12.0.0-beta.7", + "port-version": 0 + }, + "azure-storage-common-cpp": { + "baseline": "12.0.0-beta.7", + "port-version": 0 + }, "azure-storage-cpp": { "baseline": "7.5.0", "port-version": 0 }, + "azure-storage-files-datalake-cpp": { + "baseline": "12.0.0-beta.7", + "port-version": 0 + }, "azure-uamqp-c": { "baseline": "2020-12-09", "port-version": 0 From b636d9db9bfa709ae0e83815be9ab67db784743b Mon Sep 17 00:00:00 2001 From: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com> Date: Wed, 3 Feb 2021 12:58:29 -0800 Subject: [PATCH 0103/1735] [azure-identity-cpp] Publish version 1.0.0-beta.3 (#16014) * Update port for azure-identity-cpp * Update port version SHA * Remove comment header from CONTROL file * Remove comment header from portfile.cmake file * Update port version SHA once again Co-authored-by: Anton Kolesnyk Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com> --- ports/azure-identity-cpp/CONTROL | 6 ++++++ ports/azure-identity-cpp/portfile.cmake | 20 ++++++++++++++++++++ versions/a-/azure-identity-cpp.json | 9 +++++++++ versions/baseline.json | 4 ++++ 4 files changed, 39 insertions(+) create mode 100644 ports/azure-identity-cpp/CONTROL create mode 100644 ports/azure-identity-cpp/portfile.cmake create mode 100644 versions/a-/azure-identity-cpp.json diff --git a/ports/azure-identity-cpp/CONTROL b/ports/azure-identity-cpp/CONTROL new file mode 100644 index 00000000000000..74e47c1fa0dab8 --- /dev/null +++ b/ports/azure-identity-cpp/CONTROL @@ -0,0 +1,6 @@ +Source: azure-identity-cpp +Version: 1.0.0-beta.3 +Build-Depends: azure-core-cpp +Description: Microsoft Azure Identity SDK for C++ + This library provides common authentication-related abstractions for Azure SDK. +Homepage: https://github.com/Azure/azure-sdk-for-cpp/tree/master/sdk/identity/azure-identity diff --git a/ports/azure-identity-cpp/portfile.cmake b/ports/azure-identity-cpp/portfile.cmake new file mode 100644 index 00000000000000..05838226cab4bb --- /dev/null +++ b/ports/azure-identity-cpp/portfile.cmake @@ -0,0 +1,20 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Azure/azure-sdk-for-cpp + REF azure-identity_1.0.0-beta.3 + SHA512 ef1926e81e14b040871d654e5d4a3e07607ee82b0c9a0205dd6fa2253ae84eb86cfadc45de6dab6a060a5e8909615e559444c65174368fc1bd386894ea89efa6 +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH}/sdk/identity/azure-identity/ + PREFER_NINJA + OPTIONS + -DWARNINGS_AS_ERRORS=OFF +) + +vcpkg_install_cmake() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_fixup_cmake_targets() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +vcpkg_copy_pdbs() + diff --git a/versions/a-/azure-identity-cpp.json b/versions/a-/azure-identity-cpp.json new file mode 100644 index 00000000000000..e4cfddf060efc0 --- /dev/null +++ b/versions/a-/azure-identity-cpp.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "c45f6c8ac731079eb1e5f40a0e5af2725b3ec97a", + "version-string": "1.0.0-beta.3", + "port-version": 0 + } + ] +} diff --git a/versions/baseline.json b/versions/baseline.json index bba1793c5c92ad..72e1648768155c 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -248,6 +248,10 @@ "baseline": "1.0.0-beta.5", "port-version": 0 }, + "azure-identity-cpp": { + "baseline": "1.0.0-beta.3", + "port-version": 0 + }, "azure-iot-sdk-c": { "baseline": "2020-12-09", "port-version": 0 From dc4c17eaf34bdcc2f9ec95d43c545c564072523a Mon Sep 17 00:00:00 2001 From: Sylvain Doremus Date: Wed, 3 Feb 2021 22:01:16 +0100 Subject: [PATCH 0104/1735] [ shaderwriter ]Update to version 1.0.0 (#15948) * Updated shaderwriter port to version 1.0.0 * Updated version files. * Fixed license file install script. * Fixed version file again --- ports/shaderwriter/portfile.cmake | 12 ++++++------ ports/shaderwriter/vcpkg.json | 2 +- versions/baseline.json | 2 +- versions/s-/shaderwriter.json | 5 +++++ 4 files changed, 13 insertions(+), 8 deletions(-) diff --git a/ports/shaderwriter/portfile.cmake b/ports/shaderwriter/portfile.cmake index ea1eb72d6842cd..0bd79bcccd3225 100644 --- a/ports/shaderwriter/portfile.cmake +++ b/ports/shaderwriter/portfile.cmake @@ -1,16 +1,15 @@ vcpkg_from_github(OUT_SOURCE_PATH SOURCE_PATH REPO DragonJoker/ShaderWriter - REF e978c96c959e8aa41eedaef322dcc6a0ec00ad49 - HEAD_REF master - SHA512 4f1ea1fd97392edc2b3dd9b6453fa395772e75a52f28d7bbd5a63d2fe8eca40c8a0d4016e2017e126f22fc03acf28ab29db6de037d64c7687f95884b8435b7c7 + REF v1.0.0 + SHA512 60e63dd1f519869a5e3b8d4ee699339b2d26dea2a7502d16de578b6164131ea4954b7731a89763cd6a3a4750a1eb15afc2592261cc7c8209e8a3667edecdb94b ) vcpkg_from_github(OUT_SOURCE_PATH CMAKE_SOURCE_PATH REPO DragonJoker/CMakeUtils - REF 6b76e6873afe33baeb59c233d3a70bd391f01769 + REF 811d4acb15de70cb81e2a5788333ba4b50d89e81 HEAD_REF master - SHA512 d7834cf8eeff12575acc526d9dc39471ededad1ff25bec0b85e27a36381157f797c1eb168983410a40b60c001b52b787baea498aef80ffa08c9b7d9a9f5eb7ae + SHA512 b546cabc0f1a7c0e73abe22a742629c7e6d9bef7ed2d1de8a528369931e1871a9902d38efc8f77a3aec9923d62ca328b0c3c8c6c51f2ff527682a3197550dae7 ) get_filename_component(SRC_PATH ${CMAKE_SOURCE_PATH} DIRECTORY) @@ -29,6 +28,7 @@ vcpkg_configure_cmake( OPTIONS -DPROJECTS_USE_PRECOMPILED_HEADERS=OFF -DSDW_GENERATE_SOURCE=OFF + -DSDW_BUILD_VULKAN_LAYER=OFF -DSDW_BUILD_TESTS=OFF -DSDW_BUILD_STATIC_SDW=${BUILD_STATIC} -DSDW_BUILD_EXPORTER_GLSL_STATIC=${BUILD_STATIC} @@ -39,4 +39,4 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/shaderwriter) -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/shaderwriter RENAME copyright) \ No newline at end of file +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file diff --git a/ports/shaderwriter/vcpkg.json b/ports/shaderwriter/vcpkg.json index b18788b28cf668..e039d1c204ebec 100644 --- a/ports/shaderwriter/vcpkg.json +++ b/ports/shaderwriter/vcpkg.json @@ -1,6 +1,6 @@ { "name": "shaderwriter", - "version-string": "2020-10-15", + "version-string": "1.0.0", "description": "Library to write shaders directly from C++ code, supports GLSL, HLSL and SPIRV outputs.", "homepage": "https://github.com/DragonJoker/ShaderWriter" } diff --git a/versions/baseline.json b/versions/baseline.json index 72e1648768155c..8ef915f1766989 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -5329,7 +5329,7 @@ "port-version": 0 }, "shaderwriter": { - "baseline": "2020-10-15", + "baseline": "1.0.0", "port-version": 0 }, "shapelib": { diff --git a/versions/s-/shaderwriter.json b/versions/s-/shaderwriter.json index 332cf86581ceca..917246b812377a 100644 --- a/versions/s-/shaderwriter.json +++ b/versions/s-/shaderwriter.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "ec535c5e829a1afeab64cd517f9f8c6cf453d7bb", + "version-string": "1.0.0", + "port-version": 0 + }, { "git-tree": "f65600030bc48b3b5c3317f4af7affbfa3e2d818", "version-string": "2020-10-15", From f226416d2eafc495dd03572cb61542fb1670ffdc Mon Sep 17 00:00:00 2001 From: nicole mazzuca Date: Wed, 3 Feb 2021 14:44:43 -0800 Subject: [PATCH 0105/1735] [vcpkg registries] Registries: Take 2 (#13590) * [vcpkg registries] Registries: Take 2 unfortunately without all the history because I really screwed up the git commands This RFC is the new state of the world with regard to our plan for registries; it is very different from the old RFC. It includes registry databases, which are how one describes the set of versions of ports that one has access to. It also includes the specification for git registries, and updates the specification for filesystem registries with these new registry databases. Since this RFC completely changes how registries work, the existing implementation will be broken. * update the registries RFC for modern design * remove bikeshedding --- docs/specifications/registries-2.md | 557 ++++++++++++++++++++++++++++ 1 file changed, 557 insertions(+) create mode 100644 docs/specifications/registries-2.md diff --git a/docs/specifications/registries-2.md b/docs/specifications/registries-2.md new file mode 100644 index 00000000000000..41a32886b9c62e --- /dev/null +++ b/docs/specifications/registries-2.md @@ -0,0 +1,557 @@ +# Registries: Take 2 (including Git Registries) + +Originally, the design of registries was decided upon and written up in the [Registries RFC](registries.md). +However, as we've gotten further into the design process of git registries and versioning, +and discussed the interaction of versioning with registries, +it's become clear that the existing design was lacking. +We need to have an on-disk port database that is not tied to the ports tree. + +This RFC is a new design for registries, that includes this registry database. +It also includes the design for git registries, +which are likely to be the predominant form of registries in the wild. +They are also what we will start to treat the default registry as, +to allow for updating ports without updating the vcpkg executable +(likely necessary for binary releases). + +## Design Considerations + +After internal discussions of the relationship between versioning and registries, +it was clear that the existing design of registries does not play well with versioning. +It was also clear that it was necessary to have metadata about ports in a separate place from the ports tree; +in fact, after discussion, it was clear that the ports tree should be considered an implementation detail; +a backing store for build process information (e.g., `portfile.cmake` and the patches) and the manifest. + +From this, it's clear that vcpkg needs to add a new set of metadata. +The versioning implementation has decided on `port_versions`, and thus that's what this RFC uses. + +Since we're replacing the existing ports directory with a new method of describing ports, +this means that the ports directory is no longer anything but a data store. +This also means that the existing rules around locations of ports is no longer required; +however, it will still keep getting followed for the main repository, +and it's recommended that other registries follow the same pattern to make contributing easier. + +## What does the registry database look like? + +We don't wish to have the same problem as we do right now, +where there are nearly 1500 entries in a single directory. +We solve this by placing each database entry into `port_versions/-/.json`. +For example, the database entry for 7zip is in `port_versions/7-/7zip.json`. + +Each of these database entries contains all of the versions of the port throughout history, +along with versioning and feature metadata, so that we do not have to check out old manifests or CONTROL files +to get at that information. + +Each database entry file must be a top-level array of port version objects, which contain the following entries: +* A version field: `"version-string"`, `"version"`, etc. Same as in the manifest. +* Optionally, `"port-version"`: Same as in the manifest. + +And also contain a description of where to find the build files for this port; the possibilities include: + +* `"git-tree"`: The [git object ID] of a tree object; this is only allowed for git registries. + Note that this ID must be an ID from the repository where the registry is located. +* `"path"`: A path describing where to find the build files. + The first entry in this path should be `$`, which means "this path starts at the root of the registry". + No other kinds of paths are allowed. + * For example: `$/foo/bar` gives you `foo/bar` underneath the folder containing the `port_versions` directory. + * `/foo/bar` and `foo/bar` are both disallowed. + +Using a `"git-tree"` as a backend in a non-git registry, and using a `"path"` in a git registry, +is not permitted. Future extensions may include things like remote archives or git repositories, +or may allow `"path"` in git registries. + +Note that a registry entry should _always_ be additive; +deleting existing entries is unsupported and may result in bad behavior. +The only modification to existing entries that is allowable is moving the backing store +for the build files, assuming that the new build files are equivalent to the old build files. +(For example, a filesystem registry might have a new way of laying out where ports are). + +Additionally, we'd like a new way of describing the set of ports that make up a "baseline". +This is currently done with the reference of the vcpkg git repository - +each reference has a set of versions that are tested against each other, +and this is a major feature of vcpkg. +We wish to have the same feature in the new versioning world, +and so we'll have a set of baseline versions in the registry database. + +Baselines act differently between git registries or the builtin registry, +and in filesystem registries. +In git registries and the builtin registry, +since there's a history that one can access, +a baseline is the `"default"` entry in the baseline at the reference specified. +In filesystem registries, since there is no accessible history, +the baseline identifiers are mapped directly to entries in the baseline file, +without translation; by default, the `"default"` entry is used. + +These baselines are placed in `port_versions/baseline.json`. +This is an object mapping baseline names to baseline objects, +where baseline objects map port names to version objects. +A version object contains `"baseline"`, which is un-schemed version, +and optionally `"port-version"`. + +[git object ID]: https://git-scm.com/book/en/v2/Git-Internals-Git-Objects + +### Example of a baseline file + +The following is a reasonable baseline.json for a filesystem registry that only has two ports: + +```json +{ + "default": { + "abseil": { "baseline": "2020-03-03" }, + "zlib": { "baseline": "1.2.11", "port-version": 9 } + }, + "old": { + "abseil": { "baseline": "2019-02-11" }, + "zlib": { "baseline": "1.2.11", "port-version": 3 } + }, + "really-old": { + "zlib": { "baseline": "1.2.9" } + } +} +``` + +### Example of a registry database entry file + +Note: This file assumes that the versions RFC has been implemented, +and thus that minimum versions are required; +the syntax may change in the time between now and finishing the implementation. + +This example is of `ogre`, since this port has both features and dependencies; +remember that this file would be `port_versions/o-/ogre.json`. + +```json +[ + { + "version-string": "1.12.7", + "git-tree": "466e96fd2e17dd2453aa31dc0bc61bdcf53e7f61", + }, + { + "version-string": "1.12.1", + "port-version": 1, + "git-tree": "0de81b4f7e0ec24966e929c2ea64e16c15e71d5e", + }, + ... +] +``` + +#### Filesystem Registry Databases + +Filesystem registries are the simplest possible registry; +they have a `port_versions` directory at the top-level, which contains the registry database. +It's expected that the filesystem registry would have a filesystem backing store: +something like the existing `ports` directory, except with separate versions. +There won't be a specific way to lay the ports tree out as mandated by the tool, +as we are treating the ports tree as an implementation detail of the registry; +it's simply a way to get the files for a port. +As an example, let's assume that the registry is laid out something like this: + +``` +/ + port_versions/ + baseline.json + a-/ + abseil.json + asmjit.json + o-/ + ogre.json + ports/ + a-/ + abseil/ + 2020-03-03_7/ + vcpkg.json + portfile.cmake + ... + 2020-03-03_8/ + vcpkg.json + portfile.cmake + ... + ... + asmjit/ + 2020-05-08/ + CONTROL + portfile.cmake + ... + 2020-07-22/ + vcpkg.json + portfile.cmake + ... + o-/ + ogre/ + 1.12.7/ + ... + 1.12.1/ + ... + ... + ... +``` + +Then, let's look at updating `asmjit` to latest. + +The current manifest file, in `asmjit/2020-07-22/vcpkg.json` looks like: + +```json +{ + "name": "asmjit", + "version-string": "2020-07-22", + "description": "Complete x86/x64 JIT and Remote Assembler for C++", + "homepage": "https://github.com/asmjit/asmjit", + "supports": "!arm" +} +``` + +while the current `port_versions/a-/asmjit.json` looks like: + +```json +[ + { + "version-string": "2020-07-22", + "path": "$/ports/a-/asmjit/2020-07-22" + }, + { + "version-string": "2020-05-08", + "path": "$/ports/a-/asmjit/2020-05-08" + } +] +``` + +with `port_versions/baseline.json` looking like: + +```json +{ + "default": { + ..., + "asmjit": { "baseline": "2020-07-22" }, + ... + } +} +``` + +and we'd like to update to `2020-10-08`. +We should first copy the existing implementation to a new folder: + +```sh +$ cp -r ports/a-/asmjit/2020-07-22 ports/a-/asmjit/2020-10-08 +``` + +then, we'll make the edits required to `ports/a-/asmjit/2020-10-08` to update to latest. +We should then update `port_versions/a-/asmjit.json`: + +```json +[ + { + "version-string": "2020-10-08", + "path": "$/ports/a-/asmjit/2020-10-08" + }, + { + "version-string": "2020-07-22", + "path": "$/ports/a-/asmjit/2020-07-22" + }, + { + "version-string": "2020-05-08", + "path": "$/ports/a-/asmjit/2020-05-08" + } +] +``` + +and update `port_versions/baseline.json`: + +```json +{ + "default": { + ..., + "asmjit": { "baseline": "2020-10-08" }, + ... + } +} +``` + +and we're done 😊. + +#### Git Registry Databases + +Git registries are not quite as simple as filesystem registries, +but they're still pretty simple, and are likely to be the most common: +the default registry is a git registry, for example. +There is not a specific way the tool requires one to lay out the backing store, +as long as it's possible to get an object hash that corresponds to a checked-in git tree +of the build information. +This allows, for example, the current vcpkg default registry way of laying out ports, +where the latest version of a port `

` is at `ports/

`, +and it also allows for any number of other designs. +One interesting design, for example, +is having an `old-ports` branch which is updated whenever someone want to backfill versions; +then, one could push the old version to the `old-ports` branch, +and then update the HEAD branch with the git tree of the old version in `port_versions/p-/

`. + +As above, we want to update `asmjit` to latest; let's assume we're working in the default vcpkg registry +(the repository): + +The current manifest file for `asmjit` looks like: + +```json +{ + "name": "asmjit", + "version-string": "2020-07-22", + "description": "Complete x86/x64 JIT and Remote Assembler for C++", + "homepage": "https://github.com/asmjit/asmjit", + "supports": "!arm" +} +``` + +and the current `port_versions/a-/asmjit.json` looks like: + +```json +[ + { + "version-string": "2020-07-22", + "git-tree": "fa0c36ba15b48959ab5a2df3463299e1d2473b6f" + } +] +``` + +Now, let's update it to the latest version: + +```json +{ + "name": "asmjit", + "version-string": "2020-10-08", + "description": "Complete x86/x64 JIT and Remote Assembler for C++", + "homepage": "https://github.com/asmjit/asmjit", + "supports": "!arm" +} +``` + +and make the proper edits to the portfile.cmake. Then, let's commit the changes: + +```cmd +> git add ./ports/asmjit +> git commit -m "[asmjit] update asmjit to 2020-10-08" +``` + +In `git-tree` mode, one needs to commit the new version of the port to get the git tree hash; +we use `git rev-parse` to do so: + +```cmd +> git rev-parse HEAD:ports/asmjit +2bb51d8ec8b43bb9b21032185ca8123da10ecc6c +``` + +and then modify `port_versions/a-/asmjit.json` as follows: + +```json +[ + { + "version-string": "2020-10-08", + "git-tree": "2bb51d8ec8b43bb9b21032185ca8123da10ecc6c" + }, + { + "version-string": "2020-07-22", + "git-tree": "fa0c36ba15b48959ab5a2df3463299e1d2473b6f" + } +] +``` + +Then we can commit and push this new database with: + +```sh +$ git add port_versions +$ git commit --amend --no-edit +$ git push +``` + +## Consuming Registries + +The `vcpkg-configuration.json` file from the [first registries RFC](registries.md) +is still the same, except that the registries have a slightly different layout. +A `` is still an object with the following fields: +* Optionally, `"default-registry"`: A `` or `null` +* Optionally, `"registries"`: An array of ``s + +Additionally, `` is still the same; +a `` object, plus the following properties: +* Optionally, `"baseline"`: A named baseline. Defaults to `"default"`. +* Optionally, `"packages"`: An array of ``s + +however, ``s are now slightly different: +* ``: + * `"kind"`: The string `"builtin"` +* ``: + * `"kind"`: The string `"filesystem"` + * `"path"`: A path +* ``: + * `"kind"`: The string `"git"` + * `"repository"`: A URI + +The `"packages"` field of distinct registries must be disjoint, +and each `` must have at the `"packages"` property, +since otherwise there's no point. + +As an example, a package which uses a different default registry, and a different registry for boost, +might look like the following: + +```json +{ + "default-registry": { + "kind": "filesystem", + "path": "vcpkg-ports" + }, + "registries": [ + { + "kind": "builtin", + "packages": [ "cppitertools" ] + } + ] +} +``` + +This will install `fmt` from `/vcpkg-ports`, +and `cppitertools` and the `boost` ports from the registry that ships with vcpkg. +Notably, this does not replace behavior up the tree -- only the `vcpkg-configuration.json`s +for the current invocation do anything. + +### Filesystem Registries + +A filesystem registry takes on the form: + +* `"kind"`: The string `"filesystem"` +* `"path"`: The path to the filesystem registry's root, i.e. the directory containing the `port_versions` directory. + +```json +{ + "kind": "filesystem", + "path": "vcpkg-registry" +} +``` + +Unlike git registries, where there's quite a bit of interesting stuff going on, +there isn't much stuff to do with filesystem registries. +We simply use the registry database at `/port_versions` to get information about ports. + +### Git Registries + +A git registry takes on the form: + +* `"kind"`: The string `"git"` +* `"repository"`: The URL at which the git repository lives. May be any kind of URL that git understands + +```json +{ + "kind": "git", + "repository": "https://github.com/microsoft/vcpkg" +} +``` + +Whenever the first vcpkg command is run with a git registry, +vcpkg notes down the exact commit that HEAD points to at the time of the run in the `vcpkg-lock.json` file. +This will be used as the commit which vcpkg takes the `"default"` baseline from, +and vcpkg will only update that commit when `vcpkg update` is run. + +Since the `"versions"` field is strictly additive, we don't consider older refs than `HEAD`. +We update the repository on some reasonable clip. +Likely, whenever a command is run that will change the set of installed ports. + +#### `vcpkg-lock.json` + +This file will contain metadata that we need to save across runs, +to allow us to keep a "state-of-the-world" that doesn't change unless one explicitly asks for it to change. +This means that, even across different machines, the same registries will be used. +We will also be able to write down version resolution in this file as soon as that feature is added. + +It is recommended that one adds this `vcpkg-lock.json` to one's version control. +This file is machine generated, and it is not specified how it's layed out; +however, for purposes of this RFC, we will define how it relates to git registries. + +In `vcpkg-lock.json`, in the top level object, +there will be a `"registries"` property that is an object. +This object will contain a `"git"` field, which is an array of git-registry objects, +that contain: + +* `"repository"`: The `"repository"` field from the git registry object +* `"baseline"`: The name of the baseline that we've used +* `"baseline-ref"`: The ref which we've gotten the specific baseline from. + +For example, a `vcpkg-lock.json` might look like: + +```json +{ + "registries": { + "git": [ + { + "repository": "https://github.com/microsoft/vcpkg", + "baseline": "default", + "baseline-ref": "6185aa76504a5025f36754324abf307cc776f3da" + } + ] + } +} +``` + +#### `vcpkg update` + +You'll notice that once the repository is added the first time, +there is only one way to update the repository to the tag at a later date - deleting the lock file. +We additionally want to add support for the user updating the registry by themselves - +they will be able to do this via the `vcpkg update` command. +The `vcpkg update` command will, for each git registry, +update the registry and repoint the `"commit"` field in `vcpkg-lock.json` to the latest `HEAD`. + +There is no way to update only one git registry to a later date, since versions are strictly additive. + +## Git Registries: Implementation on Disk + +There are two implementations on disk to consider here: the implementation of the registry database, +and once we have the database entries for the ports, accessing the port data from the git tree object. + +Both of these implementations are placed in the vcpkg cache home (shared by binary caching archives). +On unix, this is located at `$XDG_CACHE_HOME/vcpkg` if the environment variable exists, +otherwise `$HOME/.cache/vcpkg`; on Windows, it's located at `%LOCALAPPDATA%\vcpkg`. +In this document, we use the variable `$CACHE_ROOT` to refer to this folder. +We will add a new folder, `$CACHE_ROOT/registries`, which will contain all the data we need. + +First, we'll discuss the registry database. + +### Registry Database + +At `$CACHE_ROOT/registries/git`, +we'll create a new git repository root which contains all information from all git registries, +since the hashes should be unique, and this allows for deduplication +across repositories which have the same commits (e.g., for mirrors). +In order to get the data from git registries, we simply `fetch` the URL of the git registry. + +In order to grab a specific database entry from a git registry, `git show` is used to grab the +file from the right commit: `git show -- port_versions/-/.json`. + +One unfortunate thing about having one directory being used for all vcpkg instances on a machine is +that it's possible to have an issue with concurrency - for example, after `fetch`ing the latest HEAD +of `https://github.com/microsoft/vcpkg`, another vcpkg process might fetch the latest HEAD of +`https://github.com/meow/vcpkg` before the first vcpkg process has the chance to `git rev-parse FETCH_HEAD`. +Since the first vcpkg process will run `git rev-parse` after the second fetch is done, +instead of getting the `HEAD` of `microsoft/vcpkg`, they instead get the `HEAD` of `meow/vcpkg`. +We will solve this by having a mutex file in `$CACHE_ROOT/registries/git` +that vcpkg locks before any fetches (and unlocks after `rev-parse`ing). + +### Accessing Port Data from `git-tree`s + +Once we've done version resolution and everything with the database, +we then need to access the port data from the git history. +We will add a new folder, `$CACHE_ROOT/registries/git-trees`, into which we'll check out the port data. + +In this `git-trees` directory, we will have all of the trees we check out, at their hashes. +For example, the asmjit port data from above will be located at +`git-trees/2bb51d8ec8b43bb9b21032185ca8123da10ecc6c`. +We will add a mutex file in this `git-trees` directory as well which is taken whenever +we are checking out a new git tree. +We wish to allow multiple vcpkg instances to read port data at a time, +and thus we do the check outs semi-atomically - if `git-trees/` exists, +then the `` must be completely checked out. +vcpkg does this by first checking out to a temporary directory, +and then renaming to the actual hash. + +## Future Extensions + +The way forward for this is to allow the `"builtin"` registry to be a git registry, +in order to support packaging and shipping vcpkg as a binary. +This is currently our plan, although it definitely is still a ways out. +Git registries _are_ an important step on that road, +but are also a good way to support both enterprise, +and experimentation by our users. +They allow us a lot more flexibility than we've had in the past. \ No newline at end of file From aa60b7efa56a83ead743718941d8b320ef4a05af Mon Sep 17 00:00:00 2001 From: Billy O'Neal Date: Thu, 4 Feb 2021 10:15:44 -0800 Subject: [PATCH 0106/1735] [vcpkg] Download vcpkg.exe rather than building it in bootstrap on Windows. (#15474) This reduces bootstrap cost for Windows customers, resolving the issue initially submitted as #12502 . The `toolsrc` tree was extracted to https://github.com/microsoft/vcpkg-tool. `bootstrap.sh` was changed to download the right source tarball, extract, and build it. This was chosen over the previous attempt, a submodule, over concerns of accidentally destroying people's local modifications. --- .gitignore | 9 - docs/about/privacy.md | 2 +- docs/tool-maintainers/benchmarking.md | 195 - docs/tool-maintainers/layout.md | 74 - docs/tool-maintainers/testing.md | 152 - scripts/Generate-SpdxLicenseList.ps1 | 63 - ...reate-FormatDiff.ps1 => Create-PRDiff.ps1} | 0 scripts/azure-pipelines/Format-CxxCode.ps1 | 50 - scripts/azure-pipelines/azure-pipelines.yml | 14 +- .../backcompat-helpers.ps1 | 24 - .../end-to-end-tests-dir/binarycaching.ps1 | 86 - .../end-to-end-tests-dir/build-missing.ps1 | 18 - .../end-to-end-tests-dir/cli.ps1 | 11 - .../end-to-end-tests-dir/create.ps1 | 10 - .../end-to-end-tests-dir/disable-metrics.ps1 | 67 - .../end-to-end-tests-dir/env-passthrough.ps1 | 21 - .../integrate-install.ps1 | 28 - .../end-to-end-tests-dir/registries.ps1 | 192 - .../end-to-end-tests-dir/spaces.ps1 | 11 - .../vcpkg-minimum-required.ps1 | 22 - .../end-to-end-tests-dir/versions.ps1 | 98 - .../end-to-end-tests-prelude.ps1 | 80 - scripts/azure-pipelines/end-to-end-tests.ps1 | 55 - .../azure-pipelines/linux/azure-pipelines.yml | 13 +- .../azure-pipelines/osx/azure-pipelines.yml | 11 - scripts/azure-pipelines/signing.yml | 125 - .../windows/azure-pipelines.yml | 29 +- .../azure-pipelines/windows/packages.config | 4 - .../azure-pipelines/windows/signing.signproj | 39 - scripts/bootstrap.ps1 | 401 +- scripts/bootstrap.sh | 24 +- scripts/cleanEnvironmentHelper.ps1 | 52 - .../portfile.cmake | 2 - .../vcpkg-requires-current-date/vcpkg.json | 6 - .../vcpkg-requires-future-date/portfile.cmake | 2 - .../vcpkg-requires-future-date/vcpkg.json | 6 - .../vcpkg-requires-old-date/portfile.cmake | 2 - .../vcpkg-requires-old-date/vcpkg.json | 6 - .../vcpkg-uses-test-cmake/portfile.cmake | 3 - .../overlays/vcpkg-uses-test-cmake/vcpkg.json | 6 - .../portfile.cmake | 3 - .../vcpkg.json | 6 - .../portfile.cmake | 1 - .../vcpkg-internal-e2e-test-port/vcpkg.json | 4 - scripts/e2e_ports/versions/baseline.json | 5 - .../v-/vcpkg-internal-e2e-test-port.json | 8 - .../testing/env-passthrough/passthrough.cmake | 6 - .../testing/integrate-install/NoProps.vcxproj | 145 - .../integrate-install/Project1.vcxproj | 146 - scripts/testing/integrate-install/Source.cpp | 6 - .../integrate-install/VcpkgTriplet.vcxproj | 151 - .../integrate-install/VcpkgTriplet2.vcxproj | 149 - .../integrate-install/VcpkgUseStatic.vcxproj | 151 - .../integrate-install/VcpkgUseStatic2.vcxproj | 149 - scripts/tls12-download.exe | Bin 0 -> 18312 bytes toolsrc/.clang-format | 54 - toolsrc/CMakeLists.txt | 222 - toolsrc/cmake/utilities.cmake | 250 - toolsrc/include/catch2/catch.hpp | 16865 ---------------- toolsrc/include/pch.h | 55 - .../include/vcpkg-test/mockcmakevarprovider.h | 42 - toolsrc/include/vcpkg-test/util.h | 132 - toolsrc/include/vcpkg/archives.h | 10 - toolsrc/include/vcpkg/base/basic_checks.h | 41 - toolsrc/include/vcpkg/base/cache.h | 21 - toolsrc/include/vcpkg/base/checks.h | 60 - toolsrc/include/vcpkg/base/chrono.h | 75 - toolsrc/include/vcpkg/base/cofffilereader.h | 25 - toolsrc/include/vcpkg/base/cstringview.h | 60 - toolsrc/include/vcpkg/base/delayed_init.h | 29 - toolsrc/include/vcpkg/base/downloads.h | 41 - toolsrc/include/vcpkg/base/enums.h | 11 - toolsrc/include/vcpkg/base/expected.h | 245 - toolsrc/include/vcpkg/base/files.h | 315 - toolsrc/include/vcpkg/base/fwd/json.h | 10 - toolsrc/include/vcpkg/base/fwd/lockguarded.h | 10 - toolsrc/include/vcpkg/base/fwd/optional.h | 7 - toolsrc/include/vcpkg/base/fwd/span.h | 10 - toolsrc/include/vcpkg/base/fwd/stringview.h | 6 - toolsrc/include/vcpkg/base/graphs.h | 113 - toolsrc/include/vcpkg/base/hash.h | 52 - toolsrc/include/vcpkg/base/ignore_errors.h | 10 - toolsrc/include/vcpkg/base/json.h | 302 - toolsrc/include/vcpkg/base/jsonreader.h | 367 - toolsrc/include/vcpkg/base/lazy.h | 26 - toolsrc/include/vcpkg/base/lineinfo.h | 13 - toolsrc/include/vcpkg/base/lockguarded.h | 35 - toolsrc/include/vcpkg/base/machinetype.h | 37 - toolsrc/include/vcpkg/base/optional.h | 382 - toolsrc/include/vcpkg/base/parse.h | 129 - toolsrc/include/vcpkg/base/pragmas.h | 35 - toolsrc/include/vcpkg/base/sortedvector.h | 52 - toolsrc/include/vcpkg/base/span.h | 55 - toolsrc/include/vcpkg/base/stringliteral.h | 18 - toolsrc/include/vcpkg/base/strings.h | 306 - toolsrc/include/vcpkg/base/stringview.h | 55 - toolsrc/include/vcpkg/base/system.debug.h | 45 - toolsrc/include/vcpkg/base/system.h | 50 - toolsrc/include/vcpkg/base/system.print.h | 67 - toolsrc/include/vcpkg/base/system.process.h | 144 - toolsrc/include/vcpkg/base/system_headers.h | 40 - toolsrc/include/vcpkg/base/uint128.h | 24 - toolsrc/include/vcpkg/base/unicode.h | 148 - toolsrc/include/vcpkg/base/util.h | 248 - toolsrc/include/vcpkg/base/view.h | 3 - toolsrc/include/vcpkg/base/xmlserializer.h | 31 - toolsrc/include/vcpkg/base/zstringview.h | 52 - toolsrc/include/vcpkg/binarycaching.h | 62 - toolsrc/include/vcpkg/binarycaching.private.h | 51 - toolsrc/include/vcpkg/binaryparagraph.h | 55 - toolsrc/include/vcpkg/build.h | 389 - toolsrc/include/vcpkg/buildenvironment.h | 15 - toolsrc/include/vcpkg/cmakevars.h | 38 - toolsrc/include/vcpkg/commands.add-version.h | 13 - toolsrc/include/vcpkg/commands.autocomplete.h | 13 - .../include/vcpkg/commands.buildexternal.h | 15 - toolsrc/include/vcpkg/commands.cache.h | 13 - toolsrc/include/vcpkg/commands.ci.h | 16 - toolsrc/include/vcpkg/commands.ciclean.h | 13 - .../include/vcpkg/commands.civerifyversions.h | 13 - toolsrc/include/vcpkg/commands.contact.h | 15 - toolsrc/include/vcpkg/commands.create.h | 15 - toolsrc/include/vcpkg/commands.dependinfo.h | 16 - toolsrc/include/vcpkg/commands.edit.h | 14 - toolsrc/include/vcpkg/commands.env.h | 16 - toolsrc/include/vcpkg/commands.fetch.h | 13 - .../include/vcpkg/commands.format-manifest.h | 14 - toolsrc/include/vcpkg/commands.h | 32 - toolsrc/include/vcpkg/commands.hash.h | 13 - toolsrc/include/vcpkg/commands.info.h | 13 - toolsrc/include/vcpkg/commands.integrate.h | 17 - toolsrc/include/vcpkg/commands.interface.h | 37 - toolsrc/include/vcpkg/commands.list.h | 14 - toolsrc/include/vcpkg/commands.owns.h | 15 - toolsrc/include/vcpkg/commands.porthistory.h | 13 - toolsrc/include/vcpkg/commands.portsdiff.h | 13 - toolsrc/include/vcpkg/commands.search.h | 15 - toolsrc/include/vcpkg/commands.setinstalled.h | 26 - toolsrc/include/vcpkg/commands.upgrade.h | 16 - .../include/vcpkg/commands.upload-metrics.h | 12 - toolsrc/include/vcpkg/commands.version.h | 15 - toolsrc/include/vcpkg/commands.xvsinstances.h | 14 - toolsrc/include/vcpkg/configuration.h | 25 - toolsrc/include/vcpkg/dependencies.h | 188 - toolsrc/include/vcpkg/export.chocolatey.h | 20 - toolsrc/include/vcpkg/export.h | 19 - toolsrc/include/vcpkg/export.ifw.h | 25 - toolsrc/include/vcpkg/export.prefab.h | 79 - toolsrc/include/vcpkg/fwd/build.h | 7 - toolsrc/include/vcpkg/fwd/cmakevars.h | 6 - toolsrc/include/vcpkg/fwd/configuration.h | 6 - toolsrc/include/vcpkg/fwd/dependencies.h | 7 - toolsrc/include/vcpkg/fwd/packagespec.h | 6 - toolsrc/include/vcpkg/fwd/portfileprovider.h | 10 - toolsrc/include/vcpkg/fwd/registries.h | 9 - toolsrc/include/vcpkg/fwd/vcpkgcmdarguments.h | 14 - toolsrc/include/vcpkg/fwd/vcpkgpaths.h | 8 - toolsrc/include/vcpkg/globalstate.h | 21 - toolsrc/include/vcpkg/help.h | 19 - toolsrc/include/vcpkg/input.h | 15 - toolsrc/include/vcpkg/install.h | 116 - toolsrc/include/vcpkg/metrics.h | 33 - toolsrc/include/vcpkg/packagespec.h | 226 - toolsrc/include/vcpkg/paragraphparser.h | 68 - toolsrc/include/vcpkg/paragraphs.h | 60 - toolsrc/include/vcpkg/platform-expression.h | 82 - toolsrc/include/vcpkg/portfileprovider.h | 70 - .../include/vcpkg/postbuildlint.buildtype.h | 65 - toolsrc/include/vcpkg/postbuildlint.h | 20 - toolsrc/include/vcpkg/registries.h | 111 - toolsrc/include/vcpkg/remove.h | 34 - toolsrc/include/vcpkg/sourceparagraph.h | 156 - toolsrc/include/vcpkg/statusparagraph.h | 68 - toolsrc/include/vcpkg/statusparagraphs.h | 82 - toolsrc/include/vcpkg/textrowcol.h | 17 - toolsrc/include/vcpkg/tools.h | 37 - toolsrc/include/vcpkg/triplet.h | 50 - toolsrc/include/vcpkg/update.h | 35 - toolsrc/include/vcpkg/userconfig.h | 23 - toolsrc/include/vcpkg/vcpkgcmdarguments.h | 236 - toolsrc/include/vcpkg/vcpkglib.h | 26 - toolsrc/include/vcpkg/vcpkgpaths.h | 178 - toolsrc/include/vcpkg/versiondeserializers.h | 41 - toolsrc/include/vcpkg/versions.h | 87 - toolsrc/include/vcpkg/versiont.h | 44 - toolsrc/include/vcpkg/visualstudio.h | 14 - toolsrc/src/pch.cpp | 2 - toolsrc/src/tls12-download.c | 311 - toolsrc/src/vcpkg-fuzz/main.cpp | 194 - toolsrc/src/vcpkg-test/arguments.cpp | 135 - toolsrc/src/vcpkg-test/binarycaching.cpp | 290 - toolsrc/src/vcpkg-test/binaryconfigparser.cpp | 336 - toolsrc/src/vcpkg-test/catch.cpp | 12 - toolsrc/src/vcpkg-test/chrono.cpp | 34 - toolsrc/src/vcpkg-test/commands.cpp | 83 - toolsrc/src/vcpkg-test/dependencies.cpp | 1713 -- toolsrc/src/vcpkg-test/downloads.cpp | 59 - toolsrc/src/vcpkg-test/files.cpp | 406 - toolsrc/src/vcpkg-test/hash.cpp | 276 - toolsrc/src/vcpkg-test/json.cpp | 241 - .../vcpkg-test/large-json-document.json.inc | 516 - toolsrc/src/vcpkg-test/manifests.cpp | 733 - .../src/vcpkg-test/mockcmakevarsprovider.cpp | 28 - toolsrc/src/vcpkg-test/optional.cpp | 121 - toolsrc/src/vcpkg-test/paragraph.cpp | 516 - toolsrc/src/vcpkg-test/plan.cpp | 1297 -- .../src/vcpkg-test/platform-expression.cpp | 80 - toolsrc/src/vcpkg-test/registries.cpp | 132 - toolsrc/src/vcpkg-test/specifier.cpp | 130 - toolsrc/src/vcpkg-test/statusparagraphs.cpp | 116 - toolsrc/src/vcpkg-test/strings.cpp | 114 - toolsrc/src/vcpkg-test/stringview.cpp | 19 - toolsrc/src/vcpkg-test/system.cpp | 149 - toolsrc/src/vcpkg-test/uint128.cpp | 68 - toolsrc/src/vcpkg-test/update.cpp | 105 - toolsrc/src/vcpkg-test/util.cpp | 230 - toolsrc/src/vcpkg-test/versionplan.cpp | 152 - toolsrc/src/vcpkg.cpp | 313 - toolsrc/src/vcpkg/archives.cpp | 130 - toolsrc/src/vcpkg/base/checks.cpp | 120 - toolsrc/src/vcpkg/base/chrono.cpp | 180 - toolsrc/src/vcpkg/base/cofffilereader.cpp | 311 - toolsrc/src/vcpkg/base/downloads.cpp | 467 - toolsrc/src/vcpkg/base/enums.cpp | 12 - toolsrc/src/vcpkg/base/files.cpp | 1595 -- toolsrc/src/vcpkg/base/hash.cpp | 703 - toolsrc/src/vcpkg/base/json.cpp | 1411 -- toolsrc/src/vcpkg/base/machinetype.cpp | 39 - toolsrc/src/vcpkg/base/parse.cpp | 110 - toolsrc/src/vcpkg/base/strings.cpp | 381 - toolsrc/src/vcpkg/base/stringview.cpp | 45 - toolsrc/src/vcpkg/base/system.cpp | 343 - toolsrc/src/vcpkg/base/system.print.cpp | 30 - toolsrc/src/vcpkg/base/system.process.cpp | 793 - toolsrc/src/vcpkg/base/uint128.cpp | 66 - toolsrc/src/vcpkg/base/unicode.cpp | 282 - toolsrc/src/vcpkg/base/xmlserializer.cpp | 113 - toolsrc/src/vcpkg/binarycaching.cpp | 1477 -- toolsrc/src/vcpkg/binaryparagraph.cpp | 312 - toolsrc/src/vcpkg/build.cpp | 1491 -- toolsrc/src/vcpkg/buildenvironment.cpp | 20 - toolsrc/src/vcpkg/cmakevars.cpp | 323 - toolsrc/src/vcpkg/commands.add-version.cpp | 416 - toolsrc/src/vcpkg/commands.autocomplete.cpp | 185 - toolsrc/src/vcpkg/commands.buildexternal.cpp | 54 - toolsrc/src/vcpkg/commands.cache.cpp | 79 - toolsrc/src/vcpkg/commands.ci.cpp | 606 - toolsrc/src/vcpkg/commands.ciclean.cpp | 46 - .../src/vcpkg/commands.civerifyversions.cpp | 418 - toolsrc/src/vcpkg/commands.contact.cpp | 66 - toolsrc/src/vcpkg/commands.cpp | 134 - toolsrc/src/vcpkg/commands.create.cpp | 70 - toolsrc/src/vcpkg/commands.dependinfo.cpp | 339 - toolsrc/src/vcpkg/commands.edit.cpp | 278 - toolsrc/src/vcpkg/commands.env.cpp | 122 - toolsrc/src/vcpkg/commands.fetch.cpp | 30 - .../src/vcpkg/commands.format-manifest.cpp | 291 - toolsrc/src/vcpkg/commands.hash.cpp | 41 - toolsrc/src/vcpkg/commands.info.cpp | 147 - toolsrc/src/vcpkg/commands.integrate.cpp | 607 - toolsrc/src/vcpkg/commands.list.cpp | 147 - toolsrc/src/vcpkg/commands.owns.cpp | 47 - toolsrc/src/vcpkg/commands.porthistory.cpp | 240 - toolsrc/src/vcpkg/commands.portsdiff.cpp | 200 - toolsrc/src/vcpkg/commands.search.cpp | 184 - toolsrc/src/vcpkg/commands.setinstalled.cpp | 176 - toolsrc/src/vcpkg/commands.upgrade.cpp | 210 - toolsrc/src/vcpkg/commands.upload-metrics.cpp | 29 - toolsrc/src/vcpkg/commands.version.cpp | 60 - toolsrc/src/vcpkg/commands.xvsinstances.cpp | 41 - toolsrc/src/vcpkg/configuration.cpp | 84 - toolsrc/src/vcpkg/dependencies.cpp | 1896 -- toolsrc/src/vcpkg/export.chocolatey.cpp | 233 - toolsrc/src/vcpkg/export.cpp | 707 - toolsrc/src/vcpkg/export.ifw.cpp | 517 - toolsrc/src/vcpkg/export.prefab.cpp | 719 - toolsrc/src/vcpkg/globalstate.cpp | 13 - toolsrc/src/vcpkg/help.cpp | 205 - toolsrc/src/vcpkg/input.cpp | 56 - toolsrc/src/vcpkg/install.cpp | 1105 - toolsrc/src/vcpkg/metrics.cpp | 501 - toolsrc/src/vcpkg/packagespec.cpp | 291 - toolsrc/src/vcpkg/paragraphs.cpp | 531 - toolsrc/src/vcpkg/platform-expression.cpp | 577 - toolsrc/src/vcpkg/portfileprovider.cpp | 390 - toolsrc/src/vcpkg/postbuildlint.buildtype.cpp | 71 - toolsrc/src/vcpkg/postbuildlint.cpp | 981 - toolsrc/src/vcpkg/registries.cpp | 1204 -- toolsrc/src/vcpkg/remove.cpp | 337 - toolsrc/src/vcpkg/sourceparagraph.cpp | 1389 -- toolsrc/src/vcpkg/spdx-exceptions.inc | 45 - toolsrc/src/vcpkg/spdx-licenses.inc | 426 - toolsrc/src/vcpkg/statusparagraph.cpp | 121 - toolsrc/src/vcpkg/statusparagraphs.cpp | 186 - toolsrc/src/vcpkg/tools.cpp | 615 - toolsrc/src/vcpkg/triplet.cpp | 110 - toolsrc/src/vcpkg/update.cpp | 103 - toolsrc/src/vcpkg/userconfig.cpp | 77 - toolsrc/src/vcpkg/vcpkgcmdarguments.cpp | 960 - toolsrc/src/vcpkg/vcpkglib.cpp | 239 - toolsrc/src/vcpkg/vcpkgpaths.cpp | 1086 - toolsrc/src/vcpkg/versiondeserializers.cpp | 202 - toolsrc/src/vcpkg/versions.cpp | 247 - toolsrc/src/vcpkg/versiont.cpp | 48 - toolsrc/src/vcpkg/visualstudio.cpp | 381 - toolsrc/vcpkg.natvis | 35 - toolsrc/windows-bootstrap/vcpkg.vcxproj | 374 - 307 files changed, 46 insertions(+), 69859 deletions(-) delete mode 100644 docs/tool-maintainers/benchmarking.md delete mode 100644 docs/tool-maintainers/layout.md delete mode 100644 docs/tool-maintainers/testing.md delete mode 100644 scripts/Generate-SpdxLicenseList.ps1 rename scripts/azure-pipelines/{Create-FormatDiff.ps1 => Create-PRDiff.ps1} (100%) delete mode 100644 scripts/azure-pipelines/Format-CxxCode.ps1 delete mode 100644 scripts/azure-pipelines/end-to-end-tests-dir/backcompat-helpers.ps1 delete mode 100644 scripts/azure-pipelines/end-to-end-tests-dir/binarycaching.ps1 delete mode 100644 scripts/azure-pipelines/end-to-end-tests-dir/build-missing.ps1 delete mode 100644 scripts/azure-pipelines/end-to-end-tests-dir/cli.ps1 delete mode 100644 scripts/azure-pipelines/end-to-end-tests-dir/create.ps1 delete mode 100644 scripts/azure-pipelines/end-to-end-tests-dir/disable-metrics.ps1 delete mode 100644 scripts/azure-pipelines/end-to-end-tests-dir/env-passthrough.ps1 delete mode 100644 scripts/azure-pipelines/end-to-end-tests-dir/integrate-install.ps1 delete mode 100644 scripts/azure-pipelines/end-to-end-tests-dir/registries.ps1 delete mode 100644 scripts/azure-pipelines/end-to-end-tests-dir/spaces.ps1 delete mode 100644 scripts/azure-pipelines/end-to-end-tests-dir/vcpkg-minimum-required.ps1 delete mode 100644 scripts/azure-pipelines/end-to-end-tests-dir/versions.ps1 delete mode 100644 scripts/azure-pipelines/end-to-end-tests-prelude.ps1 delete mode 100644 scripts/azure-pipelines/end-to-end-tests.ps1 delete mode 100644 scripts/azure-pipelines/signing.yml delete mode 100644 scripts/azure-pipelines/windows/packages.config delete mode 100644 scripts/azure-pipelines/windows/signing.signproj delete mode 100644 scripts/cleanEnvironmentHelper.ps1 delete mode 100644 scripts/e2e_ports/overlays/vcpkg-requires-current-date/portfile.cmake delete mode 100644 scripts/e2e_ports/overlays/vcpkg-requires-current-date/vcpkg.json delete mode 100644 scripts/e2e_ports/overlays/vcpkg-requires-future-date/portfile.cmake delete mode 100644 scripts/e2e_ports/overlays/vcpkg-requires-future-date/vcpkg.json delete mode 100644 scripts/e2e_ports/overlays/vcpkg-requires-old-date/portfile.cmake delete mode 100644 scripts/e2e_ports/overlays/vcpkg-requires-old-date/vcpkg.json delete mode 100644 scripts/e2e_ports/overlays/vcpkg-uses-test-cmake/portfile.cmake delete mode 100644 scripts/e2e_ports/overlays/vcpkg-uses-test-cmake/vcpkg.json delete mode 100644 scripts/e2e_ports/overlays/vcpkg-uses-vcpkg-common-functions/portfile.cmake delete mode 100644 scripts/e2e_ports/overlays/vcpkg-uses-vcpkg-common-functions/vcpkg.json delete mode 100644 scripts/e2e_ports/vcpkg-internal-e2e-test-port/portfile.cmake delete mode 100644 scripts/e2e_ports/vcpkg-internal-e2e-test-port/vcpkg.json delete mode 100644 scripts/e2e_ports/versions/baseline.json delete mode 100644 scripts/e2e_ports/versions/v-/vcpkg-internal-e2e-test-port.json delete mode 100644 scripts/testing/env-passthrough/passthrough.cmake delete mode 100644 scripts/testing/integrate-install/NoProps.vcxproj delete mode 100644 scripts/testing/integrate-install/Project1.vcxproj delete mode 100644 scripts/testing/integrate-install/Source.cpp delete mode 100644 scripts/testing/integrate-install/VcpkgTriplet.vcxproj delete mode 100644 scripts/testing/integrate-install/VcpkgTriplet2.vcxproj delete mode 100644 scripts/testing/integrate-install/VcpkgUseStatic.vcxproj delete mode 100644 scripts/testing/integrate-install/VcpkgUseStatic2.vcxproj create mode 100644 scripts/tls12-download.exe delete mode 100644 toolsrc/.clang-format delete mode 100644 toolsrc/CMakeLists.txt delete mode 100644 toolsrc/cmake/utilities.cmake delete mode 100644 toolsrc/include/catch2/catch.hpp delete mode 100644 toolsrc/include/pch.h delete mode 100644 toolsrc/include/vcpkg-test/mockcmakevarprovider.h delete mode 100644 toolsrc/include/vcpkg-test/util.h delete mode 100644 toolsrc/include/vcpkg/archives.h delete mode 100644 toolsrc/include/vcpkg/base/basic_checks.h delete mode 100644 toolsrc/include/vcpkg/base/cache.h delete mode 100644 toolsrc/include/vcpkg/base/checks.h delete mode 100644 toolsrc/include/vcpkg/base/chrono.h delete mode 100644 toolsrc/include/vcpkg/base/cofffilereader.h delete mode 100644 toolsrc/include/vcpkg/base/cstringview.h delete mode 100644 toolsrc/include/vcpkg/base/delayed_init.h delete mode 100644 toolsrc/include/vcpkg/base/downloads.h delete mode 100644 toolsrc/include/vcpkg/base/enums.h delete mode 100644 toolsrc/include/vcpkg/base/expected.h delete mode 100644 toolsrc/include/vcpkg/base/files.h delete mode 100644 toolsrc/include/vcpkg/base/fwd/json.h delete mode 100644 toolsrc/include/vcpkg/base/fwd/lockguarded.h delete mode 100644 toolsrc/include/vcpkg/base/fwd/optional.h delete mode 100644 toolsrc/include/vcpkg/base/fwd/span.h delete mode 100644 toolsrc/include/vcpkg/base/fwd/stringview.h delete mode 100644 toolsrc/include/vcpkg/base/graphs.h delete mode 100644 toolsrc/include/vcpkg/base/hash.h delete mode 100644 toolsrc/include/vcpkg/base/ignore_errors.h delete mode 100644 toolsrc/include/vcpkg/base/json.h delete mode 100644 toolsrc/include/vcpkg/base/jsonreader.h delete mode 100644 toolsrc/include/vcpkg/base/lazy.h delete mode 100644 toolsrc/include/vcpkg/base/lineinfo.h delete mode 100644 toolsrc/include/vcpkg/base/lockguarded.h delete mode 100644 toolsrc/include/vcpkg/base/machinetype.h delete mode 100644 toolsrc/include/vcpkg/base/optional.h delete mode 100644 toolsrc/include/vcpkg/base/parse.h delete mode 100644 toolsrc/include/vcpkg/base/pragmas.h delete mode 100644 toolsrc/include/vcpkg/base/sortedvector.h delete mode 100644 toolsrc/include/vcpkg/base/span.h delete mode 100644 toolsrc/include/vcpkg/base/stringliteral.h delete mode 100644 toolsrc/include/vcpkg/base/strings.h delete mode 100644 toolsrc/include/vcpkg/base/stringview.h delete mode 100644 toolsrc/include/vcpkg/base/system.debug.h delete mode 100644 toolsrc/include/vcpkg/base/system.h delete mode 100644 toolsrc/include/vcpkg/base/system.print.h delete mode 100644 toolsrc/include/vcpkg/base/system.process.h delete mode 100644 toolsrc/include/vcpkg/base/system_headers.h delete mode 100644 toolsrc/include/vcpkg/base/uint128.h delete mode 100644 toolsrc/include/vcpkg/base/unicode.h delete mode 100644 toolsrc/include/vcpkg/base/util.h delete mode 100644 toolsrc/include/vcpkg/base/view.h delete mode 100644 toolsrc/include/vcpkg/base/xmlserializer.h delete mode 100644 toolsrc/include/vcpkg/base/zstringview.h delete mode 100644 toolsrc/include/vcpkg/binarycaching.h delete mode 100644 toolsrc/include/vcpkg/binarycaching.private.h delete mode 100644 toolsrc/include/vcpkg/binaryparagraph.h delete mode 100644 toolsrc/include/vcpkg/build.h delete mode 100644 toolsrc/include/vcpkg/buildenvironment.h delete mode 100644 toolsrc/include/vcpkg/cmakevars.h delete mode 100644 toolsrc/include/vcpkg/commands.add-version.h delete mode 100644 toolsrc/include/vcpkg/commands.autocomplete.h delete mode 100644 toolsrc/include/vcpkg/commands.buildexternal.h delete mode 100644 toolsrc/include/vcpkg/commands.cache.h delete mode 100644 toolsrc/include/vcpkg/commands.ci.h delete mode 100644 toolsrc/include/vcpkg/commands.ciclean.h delete mode 100644 toolsrc/include/vcpkg/commands.civerifyversions.h delete mode 100644 toolsrc/include/vcpkg/commands.contact.h delete mode 100644 toolsrc/include/vcpkg/commands.create.h delete mode 100644 toolsrc/include/vcpkg/commands.dependinfo.h delete mode 100644 toolsrc/include/vcpkg/commands.edit.h delete mode 100644 toolsrc/include/vcpkg/commands.env.h delete mode 100644 toolsrc/include/vcpkg/commands.fetch.h delete mode 100644 toolsrc/include/vcpkg/commands.format-manifest.h delete mode 100644 toolsrc/include/vcpkg/commands.h delete mode 100644 toolsrc/include/vcpkg/commands.hash.h delete mode 100644 toolsrc/include/vcpkg/commands.info.h delete mode 100644 toolsrc/include/vcpkg/commands.integrate.h delete mode 100644 toolsrc/include/vcpkg/commands.interface.h delete mode 100644 toolsrc/include/vcpkg/commands.list.h delete mode 100644 toolsrc/include/vcpkg/commands.owns.h delete mode 100644 toolsrc/include/vcpkg/commands.porthistory.h delete mode 100644 toolsrc/include/vcpkg/commands.portsdiff.h delete mode 100644 toolsrc/include/vcpkg/commands.search.h delete mode 100644 toolsrc/include/vcpkg/commands.setinstalled.h delete mode 100644 toolsrc/include/vcpkg/commands.upgrade.h delete mode 100644 toolsrc/include/vcpkg/commands.upload-metrics.h delete mode 100644 toolsrc/include/vcpkg/commands.version.h delete mode 100644 toolsrc/include/vcpkg/commands.xvsinstances.h delete mode 100644 toolsrc/include/vcpkg/configuration.h delete mode 100644 toolsrc/include/vcpkg/dependencies.h delete mode 100644 toolsrc/include/vcpkg/export.chocolatey.h delete mode 100644 toolsrc/include/vcpkg/export.h delete mode 100644 toolsrc/include/vcpkg/export.ifw.h delete mode 100644 toolsrc/include/vcpkg/export.prefab.h delete mode 100644 toolsrc/include/vcpkg/fwd/build.h delete mode 100644 toolsrc/include/vcpkg/fwd/cmakevars.h delete mode 100644 toolsrc/include/vcpkg/fwd/configuration.h delete mode 100644 toolsrc/include/vcpkg/fwd/dependencies.h delete mode 100644 toolsrc/include/vcpkg/fwd/packagespec.h delete mode 100644 toolsrc/include/vcpkg/fwd/portfileprovider.h delete mode 100644 toolsrc/include/vcpkg/fwd/registries.h delete mode 100644 toolsrc/include/vcpkg/fwd/vcpkgcmdarguments.h delete mode 100644 toolsrc/include/vcpkg/fwd/vcpkgpaths.h delete mode 100644 toolsrc/include/vcpkg/globalstate.h delete mode 100644 toolsrc/include/vcpkg/help.h delete mode 100644 toolsrc/include/vcpkg/input.h delete mode 100644 toolsrc/include/vcpkg/install.h delete mode 100644 toolsrc/include/vcpkg/metrics.h delete mode 100644 toolsrc/include/vcpkg/packagespec.h delete mode 100644 toolsrc/include/vcpkg/paragraphparser.h delete mode 100644 toolsrc/include/vcpkg/paragraphs.h delete mode 100644 toolsrc/include/vcpkg/platform-expression.h delete mode 100644 toolsrc/include/vcpkg/portfileprovider.h delete mode 100644 toolsrc/include/vcpkg/postbuildlint.buildtype.h delete mode 100644 toolsrc/include/vcpkg/postbuildlint.h delete mode 100644 toolsrc/include/vcpkg/registries.h delete mode 100644 toolsrc/include/vcpkg/remove.h delete mode 100644 toolsrc/include/vcpkg/sourceparagraph.h delete mode 100644 toolsrc/include/vcpkg/statusparagraph.h delete mode 100644 toolsrc/include/vcpkg/statusparagraphs.h delete mode 100644 toolsrc/include/vcpkg/textrowcol.h delete mode 100644 toolsrc/include/vcpkg/tools.h delete mode 100644 toolsrc/include/vcpkg/triplet.h delete mode 100644 toolsrc/include/vcpkg/update.h delete mode 100644 toolsrc/include/vcpkg/userconfig.h delete mode 100644 toolsrc/include/vcpkg/vcpkgcmdarguments.h delete mode 100644 toolsrc/include/vcpkg/vcpkglib.h delete mode 100644 toolsrc/include/vcpkg/vcpkgpaths.h delete mode 100644 toolsrc/include/vcpkg/versiondeserializers.h delete mode 100644 toolsrc/include/vcpkg/versions.h delete mode 100644 toolsrc/include/vcpkg/versiont.h delete mode 100644 toolsrc/include/vcpkg/visualstudio.h delete mode 100644 toolsrc/src/pch.cpp delete mode 100644 toolsrc/src/tls12-download.c delete mode 100644 toolsrc/src/vcpkg-fuzz/main.cpp delete mode 100644 toolsrc/src/vcpkg-test/arguments.cpp delete mode 100644 toolsrc/src/vcpkg-test/binarycaching.cpp delete mode 100644 toolsrc/src/vcpkg-test/binaryconfigparser.cpp delete mode 100644 toolsrc/src/vcpkg-test/catch.cpp delete mode 100644 toolsrc/src/vcpkg-test/chrono.cpp delete mode 100644 toolsrc/src/vcpkg-test/commands.cpp delete mode 100644 toolsrc/src/vcpkg-test/dependencies.cpp delete mode 100644 toolsrc/src/vcpkg-test/downloads.cpp delete mode 100644 toolsrc/src/vcpkg-test/files.cpp delete mode 100644 toolsrc/src/vcpkg-test/hash.cpp delete mode 100644 toolsrc/src/vcpkg-test/json.cpp delete mode 100644 toolsrc/src/vcpkg-test/large-json-document.json.inc delete mode 100644 toolsrc/src/vcpkg-test/manifests.cpp delete mode 100644 toolsrc/src/vcpkg-test/mockcmakevarsprovider.cpp delete mode 100644 toolsrc/src/vcpkg-test/optional.cpp delete mode 100644 toolsrc/src/vcpkg-test/paragraph.cpp delete mode 100644 toolsrc/src/vcpkg-test/plan.cpp delete mode 100644 toolsrc/src/vcpkg-test/platform-expression.cpp delete mode 100644 toolsrc/src/vcpkg-test/registries.cpp delete mode 100644 toolsrc/src/vcpkg-test/specifier.cpp delete mode 100644 toolsrc/src/vcpkg-test/statusparagraphs.cpp delete mode 100644 toolsrc/src/vcpkg-test/strings.cpp delete mode 100644 toolsrc/src/vcpkg-test/stringview.cpp delete mode 100644 toolsrc/src/vcpkg-test/system.cpp delete mode 100644 toolsrc/src/vcpkg-test/uint128.cpp delete mode 100644 toolsrc/src/vcpkg-test/update.cpp delete mode 100644 toolsrc/src/vcpkg-test/util.cpp delete mode 100644 toolsrc/src/vcpkg-test/versionplan.cpp delete mode 100644 toolsrc/src/vcpkg.cpp delete mode 100644 toolsrc/src/vcpkg/archives.cpp delete mode 100644 toolsrc/src/vcpkg/base/checks.cpp delete mode 100644 toolsrc/src/vcpkg/base/chrono.cpp delete mode 100644 toolsrc/src/vcpkg/base/cofffilereader.cpp delete mode 100644 toolsrc/src/vcpkg/base/downloads.cpp delete mode 100644 toolsrc/src/vcpkg/base/enums.cpp delete mode 100644 toolsrc/src/vcpkg/base/files.cpp delete mode 100644 toolsrc/src/vcpkg/base/hash.cpp delete mode 100644 toolsrc/src/vcpkg/base/json.cpp delete mode 100644 toolsrc/src/vcpkg/base/machinetype.cpp delete mode 100644 toolsrc/src/vcpkg/base/parse.cpp delete mode 100644 toolsrc/src/vcpkg/base/strings.cpp delete mode 100644 toolsrc/src/vcpkg/base/stringview.cpp delete mode 100644 toolsrc/src/vcpkg/base/system.cpp delete mode 100644 toolsrc/src/vcpkg/base/system.print.cpp delete mode 100644 toolsrc/src/vcpkg/base/system.process.cpp delete mode 100644 toolsrc/src/vcpkg/base/uint128.cpp delete mode 100644 toolsrc/src/vcpkg/base/unicode.cpp delete mode 100644 toolsrc/src/vcpkg/base/xmlserializer.cpp delete mode 100644 toolsrc/src/vcpkg/binarycaching.cpp delete mode 100644 toolsrc/src/vcpkg/binaryparagraph.cpp delete mode 100644 toolsrc/src/vcpkg/build.cpp delete mode 100644 toolsrc/src/vcpkg/buildenvironment.cpp delete mode 100644 toolsrc/src/vcpkg/cmakevars.cpp delete mode 100644 toolsrc/src/vcpkg/commands.add-version.cpp delete mode 100644 toolsrc/src/vcpkg/commands.autocomplete.cpp delete mode 100644 toolsrc/src/vcpkg/commands.buildexternal.cpp delete mode 100644 toolsrc/src/vcpkg/commands.cache.cpp delete mode 100644 toolsrc/src/vcpkg/commands.ci.cpp delete mode 100644 toolsrc/src/vcpkg/commands.ciclean.cpp delete mode 100644 toolsrc/src/vcpkg/commands.civerifyversions.cpp delete mode 100644 toolsrc/src/vcpkg/commands.contact.cpp delete mode 100644 toolsrc/src/vcpkg/commands.cpp delete mode 100644 toolsrc/src/vcpkg/commands.create.cpp delete mode 100644 toolsrc/src/vcpkg/commands.dependinfo.cpp delete mode 100644 toolsrc/src/vcpkg/commands.edit.cpp delete mode 100644 toolsrc/src/vcpkg/commands.env.cpp delete mode 100644 toolsrc/src/vcpkg/commands.fetch.cpp delete mode 100644 toolsrc/src/vcpkg/commands.format-manifest.cpp delete mode 100644 toolsrc/src/vcpkg/commands.hash.cpp delete mode 100644 toolsrc/src/vcpkg/commands.info.cpp delete mode 100644 toolsrc/src/vcpkg/commands.integrate.cpp delete mode 100644 toolsrc/src/vcpkg/commands.list.cpp delete mode 100644 toolsrc/src/vcpkg/commands.owns.cpp delete mode 100644 toolsrc/src/vcpkg/commands.porthistory.cpp delete mode 100644 toolsrc/src/vcpkg/commands.portsdiff.cpp delete mode 100644 toolsrc/src/vcpkg/commands.search.cpp delete mode 100644 toolsrc/src/vcpkg/commands.setinstalled.cpp delete mode 100644 toolsrc/src/vcpkg/commands.upgrade.cpp delete mode 100644 toolsrc/src/vcpkg/commands.upload-metrics.cpp delete mode 100644 toolsrc/src/vcpkg/commands.version.cpp delete mode 100644 toolsrc/src/vcpkg/commands.xvsinstances.cpp delete mode 100644 toolsrc/src/vcpkg/configuration.cpp delete mode 100644 toolsrc/src/vcpkg/dependencies.cpp delete mode 100644 toolsrc/src/vcpkg/export.chocolatey.cpp delete mode 100644 toolsrc/src/vcpkg/export.cpp delete mode 100644 toolsrc/src/vcpkg/export.ifw.cpp delete mode 100644 toolsrc/src/vcpkg/export.prefab.cpp delete mode 100644 toolsrc/src/vcpkg/globalstate.cpp delete mode 100644 toolsrc/src/vcpkg/help.cpp delete mode 100644 toolsrc/src/vcpkg/input.cpp delete mode 100644 toolsrc/src/vcpkg/install.cpp delete mode 100644 toolsrc/src/vcpkg/metrics.cpp delete mode 100644 toolsrc/src/vcpkg/packagespec.cpp delete mode 100644 toolsrc/src/vcpkg/paragraphs.cpp delete mode 100644 toolsrc/src/vcpkg/platform-expression.cpp delete mode 100644 toolsrc/src/vcpkg/portfileprovider.cpp delete mode 100644 toolsrc/src/vcpkg/postbuildlint.buildtype.cpp delete mode 100644 toolsrc/src/vcpkg/postbuildlint.cpp delete mode 100644 toolsrc/src/vcpkg/registries.cpp delete mode 100644 toolsrc/src/vcpkg/remove.cpp delete mode 100644 toolsrc/src/vcpkg/sourceparagraph.cpp delete mode 100644 toolsrc/src/vcpkg/spdx-exceptions.inc delete mode 100644 toolsrc/src/vcpkg/spdx-licenses.inc delete mode 100644 toolsrc/src/vcpkg/statusparagraph.cpp delete mode 100644 toolsrc/src/vcpkg/statusparagraphs.cpp delete mode 100644 toolsrc/src/vcpkg/tools.cpp delete mode 100644 toolsrc/src/vcpkg/triplet.cpp delete mode 100644 toolsrc/src/vcpkg/update.cpp delete mode 100644 toolsrc/src/vcpkg/userconfig.cpp delete mode 100644 toolsrc/src/vcpkg/vcpkgcmdarguments.cpp delete mode 100644 toolsrc/src/vcpkg/vcpkglib.cpp delete mode 100644 toolsrc/src/vcpkg/vcpkgpaths.cpp delete mode 100644 toolsrc/src/vcpkg/versiondeserializers.cpp delete mode 100644 toolsrc/src/vcpkg/versions.cpp delete mode 100644 toolsrc/src/vcpkg/versiont.cpp delete mode 100644 toolsrc/src/vcpkg/visualstudio.cpp delete mode 100644 toolsrc/vcpkg.natvis delete mode 100644 toolsrc/windows-bootstrap/vcpkg.vcxproj diff --git a/.gitignore b/.gitignore index 6b77e62bab5c98..15b8c8b6ddff1e 100644 --- a/.gitignore +++ b/.gitignore @@ -11,8 +11,6 @@ *.userosscache *.sln.docstates -toolsrc/out* -toolsrc/CMakeSettings.json # fuzzing sync_dir* @@ -30,8 +28,6 @@ bld/ [Bb]in/ [Oo]bj/ [Ll]og/ -# VS Code build -toolsrc/build # Ignore the executable /vcpkg /vcpkg.exe @@ -290,11 +286,6 @@ __pycache__/ /installed*/ /packages/ /scripts/buildsystems/tmp/ -/toolsrc/build.rel/ -/toolsrc/windows-bootstrap/msbuild.x86.debug/ -/toolsrc/windows-bootstrap/msbuild.x86.release/ -/toolsrc/windows-bootstrap/msbuild.x64.debug/ -/toolsrc/windows-bootstrap/msbuild.x64.release/ #ignore custom triplets /triplets/* #add vcpkg-designed triplets back in diff --git a/docs/about/privacy.md b/docs/about/privacy.md index 15ef69d763458a..5efecb6790ff3b 100644 --- a/docs/about/privacy.md +++ b/docs/about/privacy.md @@ -41,7 +41,7 @@ We collect various telemetry events such as the command line used, the time of i You can see the telemetry events any command by appending `--printmetrics` after the vcpkg command line. -In the source code (included in `toolsrc\`), you can search for calls to the functions `track_property()`, `track_feature()`, `track_metric()`, and `track_buildtime()` +In the source code (included at https://github.com/microsoft/vcpkg-tool/ ), you can search for calls to the functions `track_property()`, `track_feature()`, `track_metric()`, and `track_buildtime()` to see every specific data point we collect. ## Avoid inadvertent disclosure information diff --git a/docs/tool-maintainers/benchmarking.md b/docs/tool-maintainers/benchmarking.md deleted file mode 100644 index e0295be50bcf7b..00000000000000 --- a/docs/tool-maintainers/benchmarking.md +++ /dev/null @@ -1,195 +0,0 @@ -# Benchmarking - -Benchmarking new code against old code is extremely important whenever making -large changes to how something works. If you are attempting to make something -faster, and you end up slowing it down, you'll never know if you don't -benchmark! We have benchmarks in the `toolsrc/src/vcpkg-test` directory, just -like the tests -- they're treated as a special kind of test. - -## Running Benchmarks - -Unlike normal tests, benchmarks are hidden behind a special define -- `CATCH_CONFIG_ENABLE_BENCHMARKING` -- so that you never try to run benchmarks -unless you specifically want to. This is because benchmarks actually take quite -a long time! However, if you want to run benchmarks (and I recommend running -only specific benchmarks at a time), you can do so by passing the -`VCPKG_ENABLE_BENCHMARKING` option at cmake configure time. - -```sh -$ cmake -B toolsrc/out -S toolsrc -G Ninja \ - -DCMAKE_BUILD_TYPE=Release \ - -DVCPKG_BUILD_BENCHMARKING=On - --- The C compiler identification is MSVC 19.22.27905.0 --- The CXX compiler identification is MSVC 19.22.27905.0 --- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.22.27905/bin/Hostx64/x64/cl.exe --- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.22.27905/bin/Hostx64/x64/cl.exe -- works --- Detecting C compiler ABI info --- Detecting C compiler ABI info - done --- Detecting C compile features --- Detecting C compile features - done --- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.22.27905/bin/Hostx64/x64/cl.exe --- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.22.27905/bin/Hostx64/x64/cl.exe -- works --- Detecting CXX compiler ABI info --- Detecting CXX compiler ABI info - done --- Detecting CXX compile features --- Detecting CXX compile features - done --- Looking for pthread.h --- Looking for pthread.h - not found --- Found Threads: TRUE --- Configuring done --- Generating done --- Build files have been written to: C:/Users/t-nimaz/src/vcpkg/toolsrc/out - -$ cmake --build toolsrc/out - -[0/2] Re-checking globbed directories... -[80/80] Linking CXX executable vcpkg-test.exe -``` - -You can then run benchmarks easily with the following command (which run the -files benchmarks): - -```sh -$ ./toolsrc/out/vcpkg-test [!benchmark][file] -``` - -You can switch out `[file]` for a different set -- `[hash]`, for example. - -## Writing Benchmarks - -First, before anything else, I recommend reading the -[benchmarking documentation] at Catch2's repository. - -Now, after that, let's say that you wanted to benchmark, say, our ASCII -case-insensitive string compare against your new implementation. We place -benchmarks for code in the same file as their tests, so open -`vcpkg-test/strings.cpp`, and add the following at the bottom: - -```cpp -#if defined(CATCH_CONFIG_ENABLE_BENCHMARKING) -TEST_CASE ("case insensitive ascii equals: benchmark", "[strings][!benchmark]") -{ - BENCHMARK("qwertyuiop") { - return vcpkg::Strings::case_insensitive_ascii_equals("qwertyuiop", "QWERTYUIOP"); - }; -} -#endif -``` - -Remember the `;` at the end of the benchmark -- it's not required for -`TEST_CASE`s, but is for `BENCHMARK`s. - -Now, let's rebuild and run: - -```sh -$ cmake --build toolsrc/out -[0/2] Re-checking globbed directories... -[2/2] Linking CXX executable vcpkg-test.exe -$ ./toolsrc/out/vcpkg-test [strings][!benchmark] -Filters: [strings][!benchmark] - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -vcpkg-test.exe is a Catch v2.9.1 host application. -Run with -? for options - -------------------------------------------------------------------------------- -case insensitive ascii equals: benchmark -------------------------------------------------------------------------------- -C:\Users\t-nimaz\src\vcpkg\toolsrc\src\vcpkg-test\strings.cpp(36) -............................................................................... - -benchmark name samples iterations estimated - mean low mean high mean - std dev low std dev high std dev -------------------------------------------------------------------------------- -qwertyuiop 100 2088 3.9672 ms - 25 ns 24 ns 26 ns - 6 ns 5 ns 8 ns - - -=============================================================================== -test cases: 1 | 1 passed -assertions: - none - -``` - -You've now written your first benchmark! - -But wait. This seems kind of silly. Benchmarking the comparison of literal -strings is great and all, but could we make it a little more realistic? - -This is where `BENCHMARK_ADVANCED` comes in. `BENCHMARK_ADVANCED` allows one to -write a benchmark that has a little setup to it without screwing up the numbers. -Let's try it now: - -```cpp -TEST_CASE ("case insensitive ascii equals: benchmark", "[strings][!benchmark]") -{ - BENCHMARK_ADVANCED("equal strings")(Catch::Benchmark::Chronometer meter) - { - std::vector strings; - strings.resize(meter.runs()); - std::mt19937_64 urbg; - std::uniform_int_distribution data_generator; - - std::generate(strings.begin(), strings.end(), [&] { - std::string result; - for (std::size_t i = 0; i < 1000; ++i) - { - result += vcpkg::Strings::b32_encode(data_generator(urbg)); - } - - return result; - }); - - meter.measure( - [&](int run) { return vcpkg::Strings::case_insensitive_ascii_equals(strings[run], strings[run]); }); - }; -} -``` - -Then, run it again! - -```sh -$ cmake --build toolsrc/out -[0/2] Re-checking globbed directories... -[2/2] Linking CXX executable vcpkg-test.exe -$ toolsrc/out/vcpkg-test [strings][!benchmark] -Filters: [strings][!benchmark] - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -vcpkg-test.exe is a Catch v2.9.1 host application. -Run with -? for options - -------------------------------------------------------------------------------- -case insensitive ascii equals: benchmark -------------------------------------------------------------------------------- -C:\Users\t-nimaz\src\vcpkg\toolsrc\src\vcpkg-test\strings.cpp(36) -............................................................................... - -benchmark name samples iterations estimated - mean low mean high mean - std dev low std dev high std dev -------------------------------------------------------------------------------- -equal strings 100 2 5.4806 ms - 22.098 us 21.569 us 23.295 us - 3.842 us 2.115 us 7.41 us - - -=============================================================================== -test cases: 1 | 1 passed -assertions: - none - -``` - -And now you have a working benchmark to test the speed of the existing code, and -of new code! - -If you're writing a lot of benchmarks that follow the same sort of pattern, with -some differences in constants, look into `vcpkg-test/files.cpp`'s benchmarks -- -there are a lot of things one can do to make writing new benchmarks really easy. - -If you wish to add a benchmark for a piece of code that has not yet been tested, -please read the [testing documentation], and please write some unit tests. -The speed of your code isn't very important if it doesn't work at all! - -[benchmarking documentation]: https://github.com/catchorg/Catch2/blob/master/docs/benchmarks.md#top -[testing documentation]: ./testing.md#adding-new-test-files diff --git a/docs/tool-maintainers/layout.md b/docs/tool-maintainers/layout.md deleted file mode 100644 index ca9fa5c6ae73df..00000000000000 --- a/docs/tool-maintainers/layout.md +++ /dev/null @@ -1,74 +0,0 @@ -# Layout of the vcpkg source tree - -All vcpkg sources and build systems are in `toolsrc`. If you'd like to -contribute to the vcpkg tool itself, most of your time will be spent in here. - -## Build Files - -These are the files used to build and configure the project. In order to build -with CMake, the only files you should be interested in are `CMakeLists.txt`, and -`.clang-format`; in order to build with msbuild or the Visual Studio IDE, you -will be interested in `dirs.proj` or `vcpkg.sln`. However, if you add or remove -files, you will need to edit the MSBuild project files in the `vcpkg*` -directories no matter what system you use. - -### Top Level - -We have six files in this directory -- one `.clang-format` file, one -`CMakeLists.txt` file, three Visual Studio files, and `VERSION.txt`. - - - `.clang-format`: This is where we store the formatting settings of the - project. If you want to format the project, you can use the `format` target - with the CMake build system. - - `CMakeLists.txt`: This is where the CMake build system definition lives. If - you want to modify how one builds the project, or add a target, you can do - it here. - - `VERSION.txt`: This is a file which tells `vcpkg` to tell the user to - rebuild. If this version is different from the version when the user built - the binary (for example, after a `git pull` or a `vcpkg update`), then - `vcpkg` will print a message to re-bootstrap. This is updated whenever major - changes are made to the `vcpkg` tool. - - The Visual Studio files: - - `vcpkg.natvis`: NATVIS files allow one to visualize objects of user - defined type in the debugger -- this one contains the definitions for - `vcpkg`'s types. - - `dirs.proj`: This is how one builds with `msbuild` without calling into - the IDE. - - `vcpkg.sln`: The solution file is how one opens the project in the VS IDE. - -## Source Files - -If you're modifying the project, it's likely that these are the directories that -you're going to deal with. - -### `include` - -There's one file in here -- `pch.h`. This contains most of the C++ standard -library, and acts as a [precompiled header]. You can read more at the link. - -There are three directories: - - - `catch2` -- This contains the single-header library [catch2]. We use this - library for both [testing] and [benchmarking]. - - `vcpkg` -- This contains the header files for the `vcpkg` project. All of - the interfaces for building, installing, and generally "port stuff" live - here. - - `vcpkg/base` -- This contains the interfaces for the - "vcpkg standard library" -- file handling, hashing, strings, - `Span`, printing, etc. - - `vcpkg-test` -- This contains the interfaces for any common utilities - required by the tests. - -### `src` - -The source files live here. `pch.cpp` is the source file for the -[precompiled header]; `vcpkg.cpp` is where the `vcpkg` binary lives. - -The interesting files live in the `vcpkg` and `vcpkg-test` directories. In -`vcpkg`, you have the implementation for the interfaces that live in -`include/vcpkg`; and in `vcpkg-test`, you have the tests and benchmarks. - -[precompiled header]: https://en.wikipedia.org/wiki/Precompiled_header -[catch2]: https://github.com/catchorg/Catch2 -[testing]: ./testing.md -[benchmarking]: ./benchmarking.md diff --git a/docs/tool-maintainers/testing.md b/docs/tool-maintainers/testing.md deleted file mode 100644 index a9e866d9e8e235..00000000000000 --- a/docs/tool-maintainers/testing.md +++ /dev/null @@ -1,152 +0,0 @@ -# Testing - -Testing vcpkg is important whenever one makes changes to the tool itself, and -writing new tests and keeping them up to date is also very important. If one's -code is subtly broken, we'd rather find it out right away than a few weeks down -the line when someone complains! - -## Running Tests - -Before anything else, we should know whether you can actually run the tests! -All you should need is a way to build vcpkg -- anything will do! All you have to -do is follow the guide 😄 - -With `$VCPKG_DIRECTORY` being the directory where you have cloned vcpkg, create -a build directory in `$VCPKG_DIRECTORY/toolsrc` (commonly named `out`), and -`cd` into it. Make sure to clean it out if it already exists! - -```sh -$ cmake .. -DCMAKE_BUILD_TYPE=Debug -G Ninja -$ cmake --build . -$ ./vcpkg-test # ./vcpkg-test [$SPECIFIC_TEST] for a specific set of tests -$ # i.e., ./vcpkg-test [arguments] -``` - -If you make any modifications to `vcpkg`, you'll have to do the -`cmake --build .` step again. - -## Writing Tests - -In your journey to write new tests, and to modify existing tests, reading the -[Catch2 documentation] will be very helpful! Come back after reading those 😀 - -You'll want to place your tests in one of the existing files, or, if it doesn't -belong in any of those, in a [new file](#adding-new-test-files). - -The layout of these tests is as follows: - -```cpp -// ... includes - -TEST_CASE("Name of test", "[filename without the .cpp]") { - // setup and the like - REQUIRE(some boolean expression); -} - -// etc. -``` - -You want to give these test cases good, descriptive, unique names, like -`SourceParagraph construct minimum` -- it doesn't need to be extremely clear -english, and shorthand is good, but make sure it's clear what the test is from -the name. For the latter parameter, known as "tags", you should at least put the -name of the file which the test case is in -- e.g., in `arguments.cpp`, you'd -tag all of the test cases with `[arguments]`. - -If you wish to add helper functions, make sure to place them in an anonymous -namespace -- this will ensure that they don't trample over anybody else's -space. Additionally, there are a few helper functions that live in -`` and `src/vcpkg-test/util.cpp` -- make sure to look into -them so that you're not rewriting functionality. - -That should be all you need to know to start writing your own tests! -Remember to check out the [Catch2 documentation] -if you'd like to get more advanced with your tests, -and good luck on your testing journey! - -## Adding New Test Files - -Adding new test files should be easy and straightforward. All it requires is -creating a new source file in `toolsrc/src/vcpkg-test`. - -### Example - -Let's try writing a new test file called `example` (very creative, I know). - -First, we should create a file, `example.cpp`, in `toolsrc/src/vcpkg-test`: - -```cpp -// vcpkg-test/example.cpp -#include -``` - -This is the minimum file needed for tests; let's rebuild! - -```sh -$ cmake --build . -[80/80] Linking CXX executable vcpkg.exe -``` - -Okay, now let's make sure this worked; add a test case to `example.cpp`: - -```cpp -TEST_CASE("Example 1 - fail", "[example]") { - REQUIRE(false); -} -``` - -Now build the tests again, and run them: - -```sh -$ cmake --build . -[2/2] Linking CXX executable vcpkg-test.exe -$ ./vcpkg-test - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -vcpkg-test.exe is a Catch v2.9.1 host application. -Run with -? for options - -------------------------------------------------------------------------------- -Example 1 - fail -------------------------------------------------------------------------------- -$VCPKG_DIRECTORY/toolsrc/src/vcpkg-test/example.cpp(3) -............................................................................... - -$VCPKG_DIRECTORY/toolsrc/src/vcpkg-test/example.cpp(14): FAILED: - REQUIRE( false ) - -=============================================================================== -test cases: 102 | 101 passed | 1 failed -assertions: 3611 | 3610 passed | 1 failed -``` - -Hopefully, that worked! It should compile correctly, and have one failing test. -Now let's try a more complex test, after deleting the old one; - -```cpp -// add #include to the top of the file -namespace Strings = vcpkg::Strings; - -TEST_CASE("Example 2 - success", "[example]") { - std::string hello = "Hello"; - REQUIRE(Strings::case_insensitive_ascii_equals(hello, "hELLo")); - REQUIRE_FALSE(Strings::case_insensitive_ascii_starts_with(hello, "E")); -} -``` - -Now compile and build the tests, and this time let's only run our example tests: - -```sh -$ cmake --build . -[2/2] Linking CXX executable vcpkg-test.exe -$ ./vcpkg-test [example] -Filters: [example] -=============================================================================== -All tests passed (2 assertions in 1 test case) -``` - -Hopefully you have one test running and succeeding! If you have that, you have -succeeded at adding a new file to vcpkg's tests. Congratulations! Have fun on -the rest of your journey 🐱‍👤😁 - -[Catch2 documentation]: https://github.com/catchorg/Catch2/blob/master/docs/tutorial.md#top diff --git a/scripts/Generate-SpdxLicenseList.ps1 b/scripts/Generate-SpdxLicenseList.ps1 deleted file mode 100644 index 8af5fd4de011dc..00000000000000 --- a/scripts/Generate-SpdxLicenseList.ps1 +++ /dev/null @@ -1,63 +0,0 @@ -<# -#> -[CmdletBinding(PositionalBinding=$False)] -Param( - [Parameter(Mandatory=$True)] - [string]$Commit, - - [Parameter()] - [string]$GithubRepository = "spdx/license-list-data", - - [Parameter()] - [string]$LicensesOutFile = "$PSScriptRoot/../toolsrc/src/vcpkg/spdx-licenses.inc", - - [Parameter()] - [string]$ExceptionsOutFile = "$PSScriptRoot/../toolsrc/src/vcpkg/spdx-exceptions.inc" -) - -function Transform-JsonFile { - [CmdletBinding()] - Param( - [string]$Uri, - [string]$OutFile, - [string]$OuterName, - [string]$Id - ) - - $req = Invoke-WebRequest -Uri $Uri - - if ($req.StatusCode -ne 200) - { - Write-Error "Failed to GET $Uri" - throw - } - - $json = $req.Content | ConvertFrom-Json -Depth 10 - Write-Verbose "Writing output to $OutFile" - - $fileContent = @( - "// Data downloaded from $Uri", - "// Generated by scripts/Generate-SpdxLicenseList.ps1", - "{") - $json.$OuterName | ForEach-Object { - $fileContent += " `"$($_.$Id)`"," - } - $fileContent += "}" - - $fileContent -join "`n" | Out-File -FilePath $OutFile -Encoding 'utf8' -} - -$baseUrl = "https://raw.githubusercontent.com/$GithubRepository/$Commit/json" -Write-Verbose "Getting json files from $baseUrl" - -Transform-JsonFile ` - -Uri "$baseUrl/licenses.json" ` - -OutFile $LicensesOutFile ` - -OuterName 'licenses' ` - -Id 'licenseId' - -Transform-JsonFile ` - -Uri "$baseUrl/exceptions.json" ` - -OutFile $ExceptionsOutFile ` - -OuterName 'exceptions' ` - -Id 'licenseExceptionId' diff --git a/scripts/azure-pipelines/Create-FormatDiff.ps1 b/scripts/azure-pipelines/Create-PRDiff.ps1 similarity index 100% rename from scripts/azure-pipelines/Create-FormatDiff.ps1 rename to scripts/azure-pipelines/Create-PRDiff.ps1 diff --git a/scripts/azure-pipelines/Format-CxxCode.ps1 b/scripts/azure-pipelines/Format-CxxCode.ps1 deleted file mode 100644 index 2653562a7e8630..00000000000000 --- a/scripts/azure-pipelines/Format-CxxCode.ps1 +++ /dev/null @@ -1,50 +0,0 @@ -[CmdletBinding()] -Param( - [Parameter(Mandatory=$True)] - [string]$Root -) - -$Root = Resolve-Path -LiteralPath $Root - -$clangFormat = Get-Command 'clang-format' -ErrorAction 'SilentlyContinue' -if ($null -ne $clangFormat) -{ - $clangFormat = $clangFormat.Source -} - -if ($IsWindows) -{ - if ([String]::IsNullOrEmpty($clangFormat) -or -not (Test-Path $clangFormat)) - { - $clangFormat = 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\Llvm\x64\bin\clang-format.exe' - } - if (-not (Test-Path $clangFormat)) - { - $clangFormat = 'C:\Program Files\LLVM\bin\clang-format.exe' - } -} - -if ([String]::IsNullOrEmpty($clangFormat) -or -not (Test-Path $clangFormat)) -{ - Write-Error 'clang-format not found; is it installed?' - throw -} - -$toolsrc = Get-Item "$Root/toolsrc" -Push-Location $toolsrc - -try -{ - $files = Get-ChildItem -Recurse -LiteralPath "$toolsrc/src" -Filter '*.cpp' - $files += Get-ChildItem -Recurse -LiteralPath "$toolsrc/src" -Filter '*.c' - $files += Get-ChildItem -Recurse -LiteralPath "$toolsrc/include/vcpkg" -Filter '*.h' - $files += Get-ChildItem -Recurse -LiteralPath "$toolsrc/include/vcpkg-test" -Filter '*.h' - $files += Get-Item "$toolsrc/include/pch.h" - $fileNames = $files.FullName - - & $clangFormat -style=file -i @fileNames -} -finally -{ - Pop-Location -} diff --git a/scripts/azure-pipelines/azure-pipelines.yml b/scripts/azure-pipelines/azure-pipelines.yml index 7fce6a5c19e115..27db6a93d9a5c4 100644 --- a/scripts/azure-pipelines/azure-pipelines.yml +++ b/scripts/azure-pipelines/azure-pipelines.yml @@ -20,12 +20,6 @@ stages: - name: DiffFile value: $(Build.ArtifactStagingDirectory)\format.diff steps: - - task: Powershell@2 - displayName: 'Format C++' - inputs: - filePath: 'scripts/azure-pipelines/Format-CxxCode.ps1' - arguments: '-Root .' - pwsh: true - task: Powershell@2 displayName: 'Generate Documentation' inputs: @@ -33,18 +27,18 @@ stages: arguments: '-VcpkgRoot . -WarningAction Stop' pwsh: true - script: .\bootstrap-vcpkg.bat - displayName: 'Build vcpkg' - - script: '.\vcpkg format-manifest --all' + displayName: 'Bootstrap vcpkg' + - script: '.\vcpkg.exe format-manifest --all' displayName: 'Format Manifests' - task: Powershell@2 displayName: 'Create Diff' inputs: - filePath: scripts/azure-pipelines/Create-FormatDiff.ps1 + filePath: scripts/azure-pipelines/Create-PRDiff.ps1 arguments: '-DiffFile $(DiffFile)' pwsh: true - task: PublishBuildArtifacts@1 condition: failed() - displayName: 'Publish C++ Diff' + displayName: 'Publish Format and Documentation Diff' inputs: PathtoPublish: '$(DiffFile)' ArtifactName: 'format.diff' diff --git a/scripts/azure-pipelines/end-to-end-tests-dir/backcompat-helpers.ps1 b/scripts/azure-pipelines/end-to-end-tests-dir/backcompat-helpers.ps1 deleted file mode 100644 index 704b5275239e66..00000000000000 --- a/scripts/azure-pipelines/end-to-end-tests-dir/backcompat-helpers.ps1 +++ /dev/null @@ -1,24 +0,0 @@ -. $PSScriptRoot/../end-to-end-tests-prelude.ps1 - -# Test that prohibiting backcompat features actually prohibits -$backcompatFeaturePorts = @('vcpkg-uses-test-cmake', 'vcpkg-uses-vcpkg-common-functions') -foreach ($backcompatFeaturePort in $backcompatFeaturePorts) { - $succeedArgs = $commonArgs + @('install',$backcompatFeaturePort,'--no-binarycaching') - $failArgs = $succeedArgs + @('--x-prohibit-backcompat-features') - $CurrentTest = "Should fail: ./vcpkg $($failArgs -join ' ')" - Run-Vcpkg @failArgs - if ($LastExitCode -ne 0) { - Write-Host "... failed (this is good!)." - } else { - throw $CurrentTest - } - - # Install failed when prohibiting backcompat features, so it should succeed if we allow them - $CurrentTest = "Should succeeed: ./vcpkg $($succeedArgs -join ' ')" - Run-Vcpkg @succeedArgs - if ($LastExitCode -ne 0) { - throw $CurrentTest - } else { - Write-Host "... succeeded." - } -} diff --git a/scripts/azure-pipelines/end-to-end-tests-dir/binarycaching.ps1 b/scripts/azure-pipelines/end-to-end-tests-dir/binarycaching.ps1 deleted file mode 100644 index e4ee6e69848c51..00000000000000 --- a/scripts/azure-pipelines/end-to-end-tests-dir/binarycaching.ps1 +++ /dev/null @@ -1,86 +0,0 @@ -if ($IsLinux) { - # The tests below need a mono installation not currently available on the Linux agents. - return -} - -. $PSScriptRoot/../end-to-end-tests-prelude.ps1 - -# Test simple installation -Run-Vcpkg -TestArgs ($commonArgs + @("install", "rapidjson", "--binarycaching", "--x-binarysource=clear;files,$ArchiveRoot,write;nuget,$NuGetRoot,readwrite")) -Throw-IfFailed -Require-FileExists "$installRoot/$Triplet/include/rapidjson/rapidjson.h" - -# Test simple removal -Run-Vcpkg -TestArgs ($commonArgs + @("remove", "rapidjson")) -Throw-IfFailed -Require-FileNotExists "$installRoot/$Triplet/include/rapidjson/rapidjson.h" - -# Test restoring from files archive -Remove-Item -Recurse -Force $installRoot -Remove-Item -Recurse -Force $buildtreesRoot -Run-Vcpkg -TestArgs ($commonArgs + @("install","rapidjson","--binarycaching","--x-binarysource=clear;files,$ArchiveRoot,read")) -Throw-IfFailed -Require-FileExists "$installRoot/$Triplet/include/rapidjson/rapidjson.h" -Require-FileNotExists "$buildtreesRoot/rapidjson/src" -Require-FileExists "$buildtreesRoot/detect_compiler" - -# Test --no-binarycaching -Remove-Item -Recurse -Force $installRoot -Remove-Item -Recurse -Force $buildtreesRoot -Run-Vcpkg -TestArgs ($commonArgs + @("install","rapidjson","--no-binarycaching","--x-binarysource=clear;files,$ArchiveRoot,read")) -Throw-IfFailed -Require-FileExists "$installRoot/$Triplet/include/rapidjson/rapidjson.h" -Require-FileExists "$buildtreesRoot/rapidjson/src" -Require-FileExists "$buildtreesRoot/detect_compiler" - -# Test --editable -Remove-Item -Recurse -Force $installRoot -Remove-Item -Recurse -Force $buildtreesRoot -Run-Vcpkg -TestArgs ($commonArgs + @("install","rapidjson","--editable","--x-binarysource=clear;files,$ArchiveRoot,read")) -Throw-IfFailed -Require-FileExists "$installRoot/$Triplet/include/rapidjson/rapidjson.h" -Require-FileExists "$buildtreesRoot/rapidjson/src" -Require-FileNotExists "$buildtreesRoot/detect_compiler" - -# Test restoring from nuget -Remove-Item -Recurse -Force $installRoot -Remove-Item -Recurse -Force $buildtreesRoot -Run-Vcpkg -TestArgs ($commonArgs + @("install", "rapidjson", "--binarycaching", "--x-binarysource=clear;nuget,$NuGetRoot")) -Throw-IfFailed -Require-FileExists "$installRoot/$Triplet/include/rapidjson/rapidjson.h" -Require-FileNotExists "$buildtreesRoot/rapidjson/src" - -# Test four-phase flow -Remove-Item -Recurse -Force $installRoot -ErrorAction SilentlyContinue -Run-Vcpkg -TestArgs ($commonArgs + @("install", "rapidjson", "--dry-run", "--x-write-nuget-packages-config=$TestingRoot/packages.config")) -Throw-IfFailed -Require-FileNotExists "$installRoot/$Triplet/include/rapidjson/rapidjson.h" -Require-FileNotExists "$buildtreesRoot/rapidjson/src" -Require-FileExists "$TestingRoot/packages.config" -if ($IsLinux -or $IsMacOS) { - mono $(./vcpkg fetch nuget) restore $TestingRoot/packages.config -OutputDirectory "$NuGetRoot2" -Source "$NuGetRoot" -} else { - & $(./vcpkg fetch nuget) restore $TestingRoot/packages.config -OutputDirectory "$NuGetRoot2" -Source "$NuGetRoot" -} -Throw-IfFailed -Remove-Item -Recurse -Force $NuGetRoot -ErrorAction SilentlyContinue -mkdir $NuGetRoot -Run-Vcpkg -TestArgs ($commonArgs + @("install", "rapidjson", "tinyxml", "--binarycaching", "--x-binarysource=clear;nuget,$NuGetRoot2;nuget,$NuGetRoot,write")) -Throw-IfFailed -Require-FileExists "$installRoot/$Triplet/include/rapidjson/rapidjson.h" -Require-FileExists "$installRoot/$Triplet/include/tinyxml.h" -Require-FileNotExists "$buildtreesRoot/rapidjson/src" -Require-FileExists "$buildtreesRoot/tinyxml/src" -if ((Get-ChildItem $NuGetRoot -Filter '*.nupkg' | Measure-Object).Count -ne 1) { - throw "In '$CurrentTest': did not create exactly 1 NuGet package" -} - -# Test export -$CurrentTest = 'Exporting' -Require-FileNotExists "$TestingRoot/vcpkg-export-output" -Require-FileNotExists "$TestingRoot/vcpkg-export.1.0.0.nupkg" -Require-FileNotExists "$TestingRoot/vcpkg-export-output.zip" -Run-Vcpkg -TestArgs ($commonArgs + @("export", "rapidjson", "tinyxml", "--nuget", "--nuget-id=vcpkg-export", "--nuget-version=1.0.0", "--output=vcpkg-export-output", "--raw", "--zip", "--output-dir=$TestingRoot")) -Require-FileExists "$TestingRoot/vcpkg-export-output" -Require-FileExists "$TestingRoot/vcpkg-export.1.0.0.nupkg" -Require-FileExists "$TestingRoot/vcpkg-export-output.zip" diff --git a/scripts/azure-pipelines/end-to-end-tests-dir/build-missing.ps1 b/scripts/azure-pipelines/end-to-end-tests-dir/build-missing.ps1 deleted file mode 100644 index 5f318e6af9cb96..00000000000000 --- a/scripts/azure-pipelines/end-to-end-tests-dir/build-missing.ps1 +++ /dev/null @@ -1,18 +0,0 @@ -. $PSScriptRoot/../end-to-end-tests-prelude.ps1 - -$CurrentTest = "Build Missing tests" - -Run-Vcpkg -TestArgs ($commonArgs + @("install", "rapidjson", "--only-binarycaching","--x-binarysource=clear;files,$ArchiveRoot,read")) -Throw-IfNotFailed -Require-FileNotExists "$installRoot/$Triplet/include/rapidjson/rapidjson.h" - -# Create the rapidjson archive -Remove-Item -Recurse -Force $installRoot -Run-Vcpkg -TestArgs ($commonArgs + @("install", "rapidjson","--x-binarysource=clear;files,$ArchiveRoot,write")) -Throw-IfFailed -Require-FileExists "$installRoot/$Triplet/include/rapidjson/rapidjson.h" - -Remove-Item -Recurse -Force $installRoot -Run-Vcpkg -TestArgs ($commonArgs + @("install", "rapidjson", "--only-binarycaching","--x-binarysource=clear;files,$ArchiveRoot,read")) -Throw-IfFailed -Require-FileExists "$installRoot/$Triplet/include/rapidjson/rapidjson.h" diff --git a/scripts/azure-pipelines/end-to-end-tests-dir/cli.ps1 b/scripts/azure-pipelines/end-to-end-tests-dir/cli.ps1 deleted file mode 100644 index 47f624fa8f6fc5..00000000000000 --- a/scripts/azure-pipelines/end-to-end-tests-dir/cli.ps1 +++ /dev/null @@ -1,11 +0,0 @@ -. $PSScriptRoot/../end-to-end-tests-prelude.ps1 - -# Test bad command lines -Run-Vcpkg -TestArgs ($commonArgs + @("install", "zlib", "--vcpkg-rootttttt", "C:\")) -Throw-IfNotFailed - -Run-Vcpkg -TestArgs ($commonArgs + @("install", "zlib", "--vcpkg-rootttttt=C:\")) -Throw-IfNotFailed - -Run-Vcpkg -TestArgs ($commonArgs + @("install", "zlib", "--fast")) # NB: --fast is not a switch -Throw-IfNotFailed diff --git a/scripts/azure-pipelines/end-to-end-tests-dir/create.ps1 b/scripts/azure-pipelines/end-to-end-tests-dir/create.ps1 deleted file mode 100644 index 9d59da5396e671..00000000000000 --- a/scripts/azure-pipelines/end-to-end-tests-dir/create.ps1 +++ /dev/null @@ -1,10 +0,0 @@ -. $PSScriptRoot/../end-to-end-tests-prelude.ps1 - -# Test vcpkg create -$Script:CurrentTest = "create zlib" -Write-Host $Script:CurrentTest -./vcpkg --x-builtin-ports-root=$TestingRoot/ports create zlib https://github.com/madler/zlib/archive/v1.2.11.tar.gz zlib-1.2.11.tar.gz -Throw-IfFailed - -Require-FileExists "$TestingRoot/ports/zlib/portfile.cmake" -Require-FileExists "$TestingRoot/ports/zlib/vcpkg.json" diff --git a/scripts/azure-pipelines/end-to-end-tests-dir/disable-metrics.ps1 b/scripts/azure-pipelines/end-to-end-tests-dir/disable-metrics.ps1 deleted file mode 100644 index 5ad7616b487970..00000000000000 --- a/scripts/azure-pipelines/end-to-end-tests-dir/disable-metrics.ps1 +++ /dev/null @@ -1,67 +0,0 @@ -. $PSScriptRoot/../end-to-end-tests-prelude.ps1 - -# Test that metrics are on by default -$metricsTagName = 'vcpkg.disable-metrics' -$metricsAreDisabledMessage = 'Warning: passed --sendmetrics, but metrics are disabled.' - -function Test-Metrics-Enabled() { - Param( - [Parameter(ValueFromRemainingArguments)] - [string[]]$TestArgs - ) - - $actualArgs = @('version', '--sendmetrics') - if ($TestArgs.Length -ne 0) { - $actualArgs += $TestArgs - } - - $vcpkgOutput = Run-Vcpkg $actualArgs - if ($vcpkgOutput -contains $metricsAreDisabledMessage) { - Write-Host 'Metrics are disabled' - return $false - } - - Write-Host 'Metrics are enabled' - return $true -} - -# By default, metrics are enabled. -Require-FileNotExists $metricsTagName -if (-Not (Test-Metrics-Enabled)) { - throw "Metrics were not on by default." -} - -if (Test-Metrics-Enabled '--disable-metrics') { - throw "Metrics were not disabled by switch." -} - -$env:VCPKG_DISABLE_METRICS = 'ON' -try { - if (Test-Metrics-Enabled) { - throw "Environment variable did not disable metrics." - } - - # Also test that you get no message without --sendmetrics - $vcpkgOutput = Run-Vcpkg list - if ($vcpkgOutput -contains $metricsAreDisabledMessage) { - throw "Disabled metrics emit message even without --sendmetrics" - } - - if (-Not (Test-Metrics-Enabled '--no-disable-metrics')) { - throw "Environment variable to disable metrics could not be overridden by switch." - } -} finally { - Remove-Item env:VCPKG_DISABLE_METRICS -} - -# If the disable-metrics tag file exists, metrics are disabled even if attempted to be enabled on -# the command line. -Set-Content -Path $metricsTagName -Value "" -try { - if (Test-Metrics-Enabled '--disable-metrics') { - throw "Metrics were not force-disabled by the disable-metrics tag file." - } -} -finally { - Remove-Item $metricsTagName -} diff --git a/scripts/azure-pipelines/end-to-end-tests-dir/env-passthrough.ps1 b/scripts/azure-pipelines/end-to-end-tests-dir/env-passthrough.ps1 deleted file mode 100644 index 6de1335d7cb09b..00000000000000 --- a/scripts/azure-pipelines/end-to-end-tests-dir/env-passthrough.ps1 +++ /dev/null @@ -1,21 +0,0 @@ -if (-not $IsLinux -and -not $IsMacOS) { - . $PSScriptRoot/../end-to-end-tests-prelude.ps1 - - $env:_VCPKG_TEST_TRACKED = "a" - $env:_VCPKG_TEST_UNTRACKED = "b" - - $x = ./vcpkg "--overlay-triplets=$PSScriptRoot/../../testing/env-passthrough" env "echo %_VCPKG_TEST_TRACKED% %_VCPKG_TEST_TRACKED2% %_VCPKG_TEST_UNTRACKED% %_VCPKG_TEST_UNTRACKED2%" - if ($x -ne "%_VCPKG_TEST_TRACKED% %_VCPKG_TEST_TRACKED2% %_VCPKG_TEST_UNTRACKED% %_VCPKG_TEST_UNTRACKED2%") - { - throw "env should have cleaned the environment ($x)" - } - - $y = ./vcpkg "--overlay-triplets=$PSScriptRoot/../../testing/env-passthrough" env --triplet passthrough "echo %_VCPKG_TEST_TRACKED% %_VCPKG_TEST_TRACKED2% %_VCPKG_TEST_UNTRACKED% %_VCPKG_TEST_UNTRACKED2%" - if ($y -ne "a %_VCPKG_TEST_TRACKED2% b %_VCPKG_TEST_UNTRACKED2%") - { - throw "env should have kept the environment ($y)" - } - - rm env:_VCPKG_TEST_TRACKED - rm env:_VCPKG_TEST_UNTRACKED -} \ No newline at end of file diff --git a/scripts/azure-pipelines/end-to-end-tests-dir/integrate-install.ps1 b/scripts/azure-pipelines/end-to-end-tests-dir/integrate-install.ps1 deleted file mode 100644 index 38362ba8cb777d..00000000000000 --- a/scripts/azure-pipelines/end-to-end-tests-dir/integrate-install.ps1 +++ /dev/null @@ -1,28 +0,0 @@ -if (-not $IsLinux -and -not $IsMacOS) { - . $PSScriptRoot/../end-to-end-tests-prelude.ps1 - - # Test msbuild props and targets - $Script:CurrentTest = "zlib:x86-windows-static msbuild scripts\testing\integrate-install\..." - Write-Host $Script:CurrentTest - ./vcpkg $commonArgs install zlib:x86-windows-static --x-binarysource=clear - Throw-IfFailed - foreach ($project in @("VcpkgTriplet", "VcpkgTriplet2", "VcpkgUseStatic", "VcpkgUseStatic2")) { - $Script:CurrentTest = "msbuild scripts\testing\integrate-install\$project.vcxproj" - ./vcpkg $commonArgs env "msbuild scripts\testing\integrate-install\$project.vcxproj /p:VcpkgRoot=$TestingRoot /p:IntDir=$TestingRoot\int\ /p:OutDir=$TestingRoot\out\ " - Throw-IfFailed - Remove-Item -Recurse -Force $TestingRoot\int - Remove-Item -Recurse -Force $TestingRoot\out - } - $Script:CurrentTest = "zlib:x86-windows msbuild scripts\testing\integrate-install\..." - Write-Host $Script:CurrentTest - ./vcpkg $commonArgs install zlib:x86-windows --x-binarysource=clear - Throw-IfFailed - foreach ($project in @("Project1", "NoProps")) { - $Script:CurrentTest = "msbuild scripts\testing\integrate-install\$project.vcxproj" - Write-Host $Script:CurrentTest - ./vcpkg $commonArgs env "msbuild scripts\testing\integrate-install\$project.vcxproj /p:VcpkgRoot=$TestingRoot /p:IntDir=$TestingRoot\int\ /p:OutDir=$TestingRoot\out\ " - Throw-IfFailed - Remove-Item -Recurse -Force $TestingRoot\int - Remove-Item -Recurse -Force $TestingRoot\out - } -} diff --git a/scripts/azure-pipelines/end-to-end-tests-dir/registries.ps1 b/scripts/azure-pipelines/end-to-end-tests-dir/registries.ps1 deleted file mode 100644 index bdeeb0a15b5da6..00000000000000 --- a/scripts/azure-pipelines/end-to-end-tests-dir/registries.ps1 +++ /dev/null @@ -1,192 +0,0 @@ -. "$PSScriptRoot/../end-to-end-tests-prelude.ps1" - - -$builtinRegistryArgs = $commonArgs + @("--x-builtin-registry-versions-dir=$PSScriptRoot/../../e2e_ports/versions") - -Run-Vcpkg install @builtinRegistryArgs 'vcpkg-internal-e2e-test-port' -Throw-IfNotFailed - -# We should not look into the versions directory unless we have a baseline, -# even if we pass the registries feature flag -Run-Vcpkg install @builtinRegistryArgs --feature-flags=registries 'vcpkg-internal-e2e-test-port' -Throw-IfNotFailed - -Run-Vcpkg install @builtinRegistryArgs --feature-flags=registries 'zlib' -Throw-IfFailed - -Write-Trace "Test git and filesystem registries" -Refresh-TestRoot -$filesystemRegistry = "$TestingRoot/filesystem-registry" -$gitRegistryUpstream = "$TestingRoot/git-registry-upstream" - -# build a filesystem registry -Write-Trace "build a filesystem registry" -New-Item -Path $filesystemRegistry -ItemType Directory -$filesystemRegistry = (Get-Item $filesystemRegistry).FullName - -Copy-Item -Recurse ` - -LiteralPath "$PSScriptRoot/../../e2e_ports/vcpkg-internal-e2e-test-port" ` - -Destination "$filesystemRegistry" -New-Item ` - -Path "$filesystemRegistry/versions" ` - -ItemType Directory -Copy-Item ` - -LiteralPath "$PSScriptRoot/../../e2e_ports/versions/baseline.json" ` - -Destination "$filesystemRegistry/versions/baseline.json" -New-Item ` - -Path "$filesystemRegistry/versions/v-" ` - -ItemType Directory - -$vcpkgInternalE2eTestPortJson = @{ - "versions" = @( - @{ - "version-string" = "1.0.0"; - "path" = "$/vcpkg-internal-e2e-test-port" - } - ) -} -New-Item ` - -Path "$filesystemRegistry/versions/v-/vcpkg-internal-e2e-test-port.json" ` - -ItemType File ` - -Value (ConvertTo-Json -Depth 5 -InputObject $vcpkgInternalE2eTestPortJson) - - -# build a git registry -Write-Trace "build a git registry" -New-Item -Path $gitRegistryUpstream -ItemType Directory -$gitRegistryUpstream = (Get-Item $gitRegistryUpstream).FullName - -Push-Location $gitRegistryUpstream -try -{ - $gitConfigOptions = @( - '-c', 'user.name=Nobody', - '-c', 'user.email=nobody@example.com', - '-c', 'core.autocrlf=false' - ) - - $CurrentTest = 'git init .' - git @gitConfigOptions init . - Throw-IfFailed - Copy-Item -Recurse -LiteralPath "$PSScriptRoot/../../e2e_ports/vcpkg-internal-e2e-test-port" -Destination . - New-Item -Path './vcpkg-internal-e2e-test-port/foobar' -Value 'this is just to get a distinct git tree' - - $CurrentTest = 'git add -A' - git @gitConfigOptions add -A - Throw-IfFailed - $CurrentTest = 'git commit' - git @gitConfigOptions commit -m 'initial commit' - Throw-IfFailed - - $vcpkgInternalE2eTestPortGitTree = git rev-parse 'HEAD:vcpkg-internal-e2e-test-port' - $vcpkgInternalE2eTestPortVersionsJson = @{ - "versions" = @( - @{ - "version-string" = "1.0.0"; - "git-tree" = $vcpkgInternalE2eTestPortGitTree - } - ) - } - $vcpkgBaseline = @{ - "default" = @{ - "vcpkg-internal-e2e-test-port" = @{ - "baseline" = "1.0.0" - } - } - } - - New-Item -Path './versions' -ItemType Directory - New-Item -Path './versions/v-' -ItemType Directory - - New-Item -Path './versions/baseline.json' -Value (ConvertTo-Json -Depth 5 -InputObject $vcpkgBaseline) - New-Item -Path './versions/v-/vcpkg-internal-e2e-test-port.json' -Value (ConvertTo-Json -Depth 5 -InputObject $vcpkgInternalE2eTestPortVersionsJson) - - $CurrentTest = 'git add -A' - git @gitConfigOptions add -A - Throw-IfFailed - $CurrentTest = 'git commit' - git @gitConfigOptions commit --amend --no-edit - Throw-IfFailed -} -finally -{ - Pop-Location -} - -# actually test the registries -Write-Trace "actually test the registries" -$vcpkgJson = @{ - "name" = "manifest-test"; - "version-string" = "1.0.0"; - "dependencies" = @( - "vcpkg-internal-e2e-test-port" - ) -} - -# test the filesystem registry -Write-Trace "test the filesystem registry" -$manifestDir = "$TestingRoot/filesystem-registry-test-manifest-dir" - -New-Item -Path $manifestDir -ItemType Directory -$manifestDir = (Get-Item $manifestDir).FullName - -Push-Location $manifestDir -try -{ - New-Item -Path 'vcpkg.json' -ItemType File ` - -Value (ConvertTo-Json -Depth 5 -InputObject $vcpkgJson) - - $vcpkgConfigurationJson = @{ - "default-registry" = $null; - "registries" = @( - @{ - "kind" = "filesystem"; - "path" = $filesystemRegistry; - "packages" = @( "vcpkg-internal-e2e-test-port" ) - } - ) - } - New-Item -Path 'vcpkg-configuration.json' -ItemType File ` - -Value (ConvertTo-Json -Depth 5 -InputObject $vcpkgConfigurationJson) - - Run-Vcpkg install @builtinRegistryArgs '--feature-flags=registries,manifests' - Throw-IfFailed -} -finally -{ - Pop-Location -} - -# test the git registry -Write-Trace "test the git registry" -$manifestDir = "$TestingRoot/git-registry-test-manifest-dir" - -New-Item -Path $manifestDir -ItemType Directory -$manifestDir = (Get-Item $manifestDir).FullName - -Push-Location $manifestDir -try -{ - New-Item -Path 'vcpkg.json' -ItemType File ` - -Value (ConvertTo-Json -Depth 5 -InputObject $vcpkgJson) - - $vcpkgConfigurationJson = @{ - "default-registry" = $null; - "registries" = @( - @{ - "kind" = "git"; - "repository" = $gitRegistryUpstream; - "packages" = @( "vcpkg-internal-e2e-test-port" ) - } - ) - } - New-Item -Path 'vcpkg-configuration.json' -ItemType File ` - -Value (ConvertTo-Json -Depth 5 -InputObject $vcpkgConfigurationJson) - - Run-Vcpkg install @builtinRegistryArgs '--feature-flags=registries,manifests' - Throw-IfFailed -} -finally -{ - Pop-Location -} diff --git a/scripts/azure-pipelines/end-to-end-tests-dir/spaces.ps1 b/scripts/azure-pipelines/end-to-end-tests-dir/spaces.ps1 deleted file mode 100644 index b7aaf6462c6e42..00000000000000 --- a/scripts/azure-pipelines/end-to-end-tests-dir/spaces.ps1 +++ /dev/null @@ -1,11 +0,0 @@ -. $PSScriptRoot/../end-to-end-tests-prelude.ps1 - -##### Test spaces in the path -$Script:CurrentTest = "zlib with spaces in path" -Write-Host $Script:CurrentTest -./vcpkg install zlib "--triplet" $Triplet ` - "--no-binarycaching" ` - "--x-buildtrees-root=$TestingRoot/build Trees" ` - "--x-install-root=$TestingRoot/instalL ed" ` - "--x-packages-root=$TestingRoot/packaG es" -Throw-IfFailed diff --git a/scripts/azure-pipelines/end-to-end-tests-dir/vcpkg-minimum-required.ps1 b/scripts/azure-pipelines/end-to-end-tests-dir/vcpkg-minimum-required.ps1 deleted file mode 100644 index 8f512ae7a8fd06..00000000000000 --- a/scripts/azure-pipelines/end-to-end-tests-dir/vcpkg-minimum-required.ps1 +++ /dev/null @@ -1,22 +0,0 @@ -. $PSScriptRoot/../end-to-end-tests-prelude.ps1 - -$successCases = @('vcpkg-requires-current-date', 'vcpkg-requires-old-date') -foreach ($successCase in $successCases) { - $CurrentTest = "Should succeeed: ./vcpkg install $successCase" - Write-Host $CurrentTest - Run-Vcpkg install $successCase @commonArgs - if ($LastExitCode -ne 0) { - throw $CurrentTest - } else { - Write-Host "... succeeded." - } -} - -$CurrentTest = "Should fail: ./vcpkg install vcpkg-requires-future-date" -Write-Host $CurrentTest -Run-Vcpkg install vcpkg-requires-future-date @commonArgs -if ($LastExitCode -ne 0) { - Write-Host "... failed (this is good!)." -} else { - throw $CurrentTest -} diff --git a/scripts/azure-pipelines/end-to-end-tests-dir/versions.ps1 b/scripts/azure-pipelines/end-to-end-tests-dir/versions.ps1 deleted file mode 100644 index 7f927759f69251..00000000000000 --- a/scripts/azure-pipelines/end-to-end-tests-dir/versions.ps1 +++ /dev/null @@ -1,98 +0,0 @@ -. $PSScriptRoot/../end-to-end-tests-prelude.ps1 - -# Test verify versions -mkdir $VersionFilesRoot -Copy-Item -Recurse "scripts/testing/version-files/versions_incomplete" $VersionFilesRoot -$portsRedirectArgsOK = @( - "--feature-flags=versions", - "--x-builtin-ports-root=scripts/testing/version-files/ports", - "--x-builtin-registry-versions-dir=scripts/testing/version-files/versions" -) -$portsRedirectArgsIncomplete = @( - "--feature-flags=versions", - "--x-builtin-ports-root=scripts/testing/version-files/ports_incomplete", - "--x-builtin-registry-versions-dir=$VersionFilesRoot/versions_incomplete" -) -$CurrentTest = "x-verify-ci-versions (All files OK)" -Write-Host $CurrentTest -./vcpkg $portsRedirectArgsOK x-ci-verify-versions --verbose -Throw-IfFailed - -$CurrentTest = "x-verify-ci-versions (Incomplete)" -./vcpkg $portsRedirectArgsIncomplete x-ci-verify-versions --verbose -Throw-IfNotFailed - -$CurrentTest = "x-add-version cat" -# Do not fail if there's nothing to update -./vcpkg $portsRedirectArgsIncomplete x-add-version cat -Throw-IfFailed - -$CurrentTest = "x-add-version dog" -# Local version is not in baseline and versions file -./vcpkg $portsRedirectArgsIncomplete x-add-version dog -Throw-IfFailed - -$CurrentTest = "x-add-version duck" -# Missing versions file -./vcpkg $portsRedirectArgsIncomplete x-add-version duck -Throw-IfFailed - -$CurrentTest = "x-add-version ferret" -# Missing versions file and missing baseline entry -./vcpkg $portsRedirectArgsIncomplete x-add-version ferret -Throw-IfFailed - -$CurrentTest = "x-add-version fish (must fail)" -# Discrepancy between local SHA and SHA in fish.json. Requires --overwrite-version. -$out = ./vcpkg $portsRedirectArgsIncomplete x-add-version fish -Throw-IfNotFailed -$CurrentTest = "x-add-version fish --overwrite-version" -./vcpkg $portsRedirectArgsIncomplete x-add-version fish --overwrite-version -Throw-IfFailed - -$CurrentTest = "x-add-version mouse" -# Missing baseline entry -./vcpkg $portsRedirectArgsIncomplete x-add-version mouse -Throw-IfFailed -# Validate changes -./vcpkg $portsRedirectArgsIncomplete x-ci-verify-versions --verbose -Throw-IfFailed - -$CurrentTest = "default baseline" -$out = ./vcpkg $commonArgs "--feature-flags=versions" install --x-manifest-root=scripts/testing/version-files/default-baseline-1 2>&1 | Out-String -Throw-IfNotFailed -if ($out -notmatch ".*Error: while checking out baseline.*") -{ - $out - throw "Expected to fail due to missing baseline" -} - -git fetch https://github.com/vicroms/test-registries -foreach ($opt_registries in @("",",registries")) -{ - Write-Trace "testing baselines: $opt_registries" - Refresh-TestRoot - $CurrentTest = "without default baseline 2 -- enabling versions should not change behavior" - Remove-Item -Recurse $buildtreesRoot/versioning -ErrorAction SilentlyContinue - ./vcpkg $commonArgs "--feature-flags=versions$opt_registries" install ` - "--dry-run" ` - "--x-manifest-root=scripts/testing/version-files/without-default-baseline-2" ` - "--x-builtin-registry-versions-dir=scripts/testing/version-files/default-baseline-2/versions" - Throw-IfFailed - Require-FileNotExists $buildtreesRoot/versioning - - $CurrentTest = "default baseline 2" - ./vcpkg $commonArgs "--feature-flags=versions$opt_registries" install ` - "--dry-run" ` - "--x-manifest-root=scripts/testing/version-files/default-baseline-2" ` - "--x-builtin-registry-versions-dir=scripts/testing/version-files/default-baseline-2/versions" - Throw-IfFailed - Require-FileExists $buildtreesRoot/versioning - - $CurrentTest = "using version features fails without flag" - ./vcpkg $commonArgs "--feature-flags=-versions$opt_registries" install ` - "--dry-run" ` - "--x-manifest-root=scripts/testing/version-files/default-baseline-2" ` - "--x-builtin-registry-versions-dir=scripts/testing/version-files/default-baseline-2/versions" - Throw-IfNotFailed -} diff --git a/scripts/azure-pipelines/end-to-end-tests-prelude.ps1 b/scripts/azure-pipelines/end-to-end-tests-prelude.ps1 deleted file mode 100644 index 29718bf76498f1..00000000000000 --- a/scripts/azure-pipelines/end-to-end-tests-prelude.ps1 +++ /dev/null @@ -1,80 +0,0 @@ -$TestingRoot = Join-Path $WorkingRoot 'testing' -$buildtreesRoot = Join-Path $TestingRoot 'buildtrees' -$installRoot = Join-Path $TestingRoot 'installed' -$packagesRoot = Join-Path $TestingRoot 'packages' -$NuGetRoot = Join-Path $TestingRoot 'nuget' -$NuGetRoot2 = Join-Path $TestingRoot 'nuget2' -$ArchiveRoot = Join-Path $TestingRoot 'archives' -$VersionFilesRoot = Join-Path $TestingRoot 'version-test' -$commonArgs = @( - "--triplet", - $Triplet, - "--x-buildtrees-root=$buildtreesRoot", - "--x-install-root=$installRoot", - "--x-packages-root=$packagesRoot", - "--overlay-ports=$PSScriptRoot/../e2e_ports/overlays" -) -$Script:CurrentTest = 'unassigned' - -if ($IsWindows) -{ - $VcpkgExe = Get-Item './vcpkg.exe' -} -else -{ - $VcpkgExe = Get-Item './vcpkg' -} - -function Refresh-TestRoot { - Remove-Item -Recurse -Force $TestingRoot -ErrorAction SilentlyContinue - mkdir $TestingRoot | Out-Null - mkdir $NuGetRoot | Out-Null -} - -function Require-FileExists { - [CmdletBinding()] - Param( - [string]$File - ) - if (-Not (Test-Path $File)) { - throw "'$Script:CurrentTest' failed to create file '$File'" - } -} - -function Require-FileNotExists { - [CmdletBinding()] - Param( - [string]$File - ) - if (Test-Path $File) { - throw "'$Script:CurrentTest' should not have created file '$File'" - } -} - -function Throw-IfFailed { - if ($LASTEXITCODE -ne 0) { - throw "'$Script:CurrentTest' had a step with a nonzero exit code" - } -} - -function Throw-IfNotFailed { - if ($LASTEXITCODE -eq 0) { - throw "'$Script:CurrentTest' had a step with an unexpectedly zero exit code" - } -} - -function Write-Trace ([string]$text) { - Write-Host (@($MyInvocation.ScriptName, ":", $MyInvocation.ScriptLineNumber, ": ", $text) -join "") -} - -function Run-Vcpkg { - Param( - [Parameter(ValueFromRemainingArguments)] - [string[]]$TestArgs - ) - $Script:CurrentTest = "vcpkg $($testArgs -join ' ')" - Write-Host $Script:CurrentTest - & $VcpkgExe @testArgs -} - -Refresh-TestRoot diff --git a/scripts/azure-pipelines/end-to-end-tests.ps1 b/scripts/azure-pipelines/end-to-end-tests.ps1 deleted file mode 100644 index 8858b362e7d573..00000000000000 --- a/scripts/azure-pipelines/end-to-end-tests.ps1 +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright (c) Microsoft Corporation. -# SPDX-License-Identifier: MIT -# -<# -.SYNOPSIS -End-to-End tests for the vcpkg executable. - -.DESCRIPTION -These tests cover the command line interface and broad functions of vcpkg, including `install`, `remove` and certain -binary caching scenarios. They use the vcpkg executable in the current directory. - -.PARAMETER Triplet -The triplet to use for testing purposes. - -.PARAMETER WorkingRoot -The location used as scratch space for testing. - -#> - -[CmdletBinding()] -Param( - [Parameter(Mandatory = $true)] - [ValidateNotNullOrEmpty()] - [string]$Triplet, - [Parameter(Mandatory = $true)] - [ValidateNotNullOrEmpty()] - [string]$WorkingRoot, - [Parameter(Mandatory = $false)] - [ValidateNotNullOrEmpty()] - [string]$Filter -) - -$ErrorActionPreference = "Stop" - -if (-Not (Test-Path $WorkingRoot)) { - New-Item -Path $WorkingRoot -ItemType Directory -} - -$WorkingRoot = (Get-Item $WorkingRoot).FullName - -$AllTests = Get-ChildItem $PSScriptRoot/end-to-end-tests-dir/*.ps1 -if ($Filter -ne $Null) { - $AllTests = $AllTests | ? { $_.Name -match $Filter } -} -$n = 1 -$m = $AllTests.Count - -$AllTests | % { - Write-Host "[end-to-end-tests.ps1] [$n/$m] Running suite $_" - & $_ - $n += 1 -} - -Write-Host "[end-to-end-tests.ps1] All tests passed." -$LASTEXITCODE = 0 diff --git a/scripts/azure-pipelines/linux/azure-pipelines.yml b/scripts/azure-pipelines/linux/azure-pipelines.yml index b20908f97dcf03..df5cceda6a404e 100644 --- a/scripts/azure-pipelines/linux/azure-pipelines.yml +++ b/scripts/azure-pipelines/linux/azure-pipelines.yml @@ -30,20 +30,9 @@ jobs: exit 0 displayName: 'Create ${{ variables.VCPKG_DOWNLOADS }}' - task: Bash@3 - displayName: 'Build vcpkg' + displayName: 'Bootstrap vcpkg' inputs: filePath: bootstrap-vcpkg.sh - arguments: '-buildTests' - - bash: toolsrc/build.rel/vcpkg-test - displayName: 'Run vcpkg tests' - env: - VCPKG_DEBUG: 1 - - task: PowerShell@2 - displayName: 'Run vcpkg end-to-end tests' - inputs: - filePath: 'scripts/azure-pipelines/end-to-end-tests.ps1' - arguments: '-Triplet x64-linux -WorkingRoot ${{ variables.WORKING_ROOT }}' - pwsh: true - task: PowerShell@2 displayName: '*** Test Modified Ports and Prepare Test Logs ***' inputs: diff --git a/scripts/azure-pipelines/osx/azure-pipelines.yml b/scripts/azure-pipelines/osx/azure-pipelines.yml index 50bba080fbc646..52e974c93388e0 100644 --- a/scripts/azure-pipelines/osx/azure-pipelines.yml +++ b/scripts/azure-pipelines/osx/azure-pipelines.yml @@ -30,17 +30,6 @@ jobs: displayName: 'Build vcpkg' inputs: filePath: bootstrap-vcpkg.sh - arguments: '-buildTests' - - bash: toolsrc/build.rel/vcpkg-test - displayName: 'Run vcpkg tests' - env: - VCPKG_DEBUG: 1 - - task: PowerShell@2 - displayName: 'Run vcpkg end-to-end tests' - inputs: - filePath: 'scripts/azure-pipelines/end-to-end-tests.ps1' - arguments: '-Triplet x64-osx -WorkingRoot ${{ variables.WORKING_ROOT }}' - pwsh: true - task: PowerShell@2 displayName: '*** Test Modified Ports and Prepare Test Logs ***' inputs: diff --git a/scripts/azure-pipelines/signing.yml b/scripts/azure-pipelines/signing.yml deleted file mode 100644 index b7a3137d99d7fc..00000000000000 --- a/scripts/azure-pipelines/signing.yml +++ /dev/null @@ -1,125 +0,0 @@ -# This script is used internally to produce signed vcpkg builds. -# It uses machines / tasks that are not exposed here on GitHub, as -# the hardware on which we allow signing is restricted. - -trigger: none - -variables: - TeamName: vcpkg -jobs: - - job: windows - displayName: "Windows" - dependsOn: - pool: - name: 'VSEng-MicroBuildVS2019' - demands: - - CMAKE - steps: - - task: PoliCheck@1 - inputs: - inputType: 'Basic' - targetType: 'F' - targetArgument: '$(Build.SourcesDirectory)' - result: 'PoliCheck.xml' - - task: CmdLine@2 - displayName: "Build vcpkg with CMake" - inputs: - failOnStderr: true - script: | - call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat" -arch=x86 -host_arch=x86 - cmake.exe -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -DVCPKG_DEVELOPMENT_WARNINGS=ON -DVCPKG_WARNINGS_AS_ERRORS=ON -DVCPKG_BUILD_FUZZING=OFF -B "$(Build.StagingDirectory)" -S toolsrc - ninja.exe -C "$(Build.StagingDirectory)" - - task: MicroBuildSigningPlugin@2 - inputs: - signType: 'real' - feedSource: 'https://devdiv.pkgs.visualstudio.com/DefaultCollection/_packaging/MicroBuildToolset/nuget/v3/index.json' - - task: NuGetToolInstaller@1 - inputs: - versionSpec: 5.7 - - task: NuGetCommand@2 - displayName: 'NuGet Restore MicroBuild Signing Extension' - inputs: - command: 'restore' - restoreSolution: 'scripts/azure-pipelines/windows/signing.signproj' - feedsToUse: 'config' - restoreDirectory: '$(Build.SourcesDirectory)\scripts\azure-pipelines\packages' - - task: MSBuild@1 - displayName: 'Sign vcpkg.exe' - inputs: - solution: 'scripts\azure-pipelines\windows\signing.signproj' - msbuildArguments: '/p:OutDir=$(Build.ArtifactStagingDirectory)\ /p:IntermediateOutputPath=$(Build.StagingDirectory)\' - - task: BinSkim@3 - inputs: - InputType: 'CommandLine' - arguments: 'analyze "$(Build.StagingDirectory)\vcpkg.exe"' - - task: BinSkim@3 - inputs: - InputType: 'CommandLine' - arguments: 'analyze "$(Build.StagingDirectory)\tls12-download.exe"' - - task: PublishBuildArtifacts@1 - displayName: 'Publish vcpkg.exe' - inputs: - PathtoPublish: '$(Build.ArtifactStagingDirectory)\vcpkg.exe' - ArtifactName: 'Windows' - publishLocation: 'Container' - - task: PublishBuildArtifacts@1 - displayName: 'Publish vcpkg.pdb' - inputs: - PathtoPublish: '$(Build.ArtifactStagingDirectory)\vcpkg.pdb' - ArtifactName: 'Windows' - publishLocation: 'Container' - - task: PublishBuildArtifacts@1 - displayName: 'Publish tls12-download.exe' - inputs: - PathtoPublish: '$(Build.ArtifactStagingDirectory)\tls12-download.exe' - ArtifactName: 'Windows' - publishLocation: 'Container' - - task: PublishBuildArtifacts@1 - displayName: 'Publish tls12-download.pdb' - inputs: - PathtoPublish: '$(Build.ArtifactStagingDirectory)\tls12-download.pdb' - ArtifactName: 'Windows' - publishLocation: 'Container' - - task: MicroBuildCleanup@1 - condition: succeededOrFailed() - displayName: MicroBuild Cleanup - - job: macos_build - displayName: 'MacOS Build' - pool: - vmImage: macOS-10.15 - steps: - - task: CmdLine@2 - displayName: "Build vcpkg with CMake" - inputs: - failOnStderr: true - script: | - cmake -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -DVCPKG_DEVELOPMENT_WARNINGS=ON -DVCPKG_WARNINGS_AS_ERRORS=ON -DVCPKG_BUILD_FUZZING=OFF -B "$(Build.StagingDirectory)" -S toolsrc - make -j 8 -C "$(Build.StagingDirectory)" - zip "$(Build.StagingDirectory)/vcpkg.zip" "$(Build.StagingDirectory)/vcpkg" - - task: PublishBuildArtifacts@1 - displayName: "Publish Unsigned MacOS Binary" - inputs: - PathtoPublish: '$(Build.StagingDirectory)/vcpkg.zip' - ArtifactName: 'staging' - publishLocation: 'Container' - - job: macos_sign - displayName: 'MacOS Sign' - dependsOn: macos_build - pool: - name: VSEng-MicroBuildVS2019 - steps: - - checkout: none - - task: DownloadBuildArtifacts@0 - displayName: 'Download Unsigned Binary' - inputs: - artifactName: staging - - task: ms-vseng.MicroBuildTasks.7973a23b-33e3-4b00-a7d9-c06d90f8297f.MicroBuildSignMacFiles@1 - displayName: 'Sign Mac Files' - inputs: - SigningTarget: '$(Build.ArtifactStagingDirectory)\staging\vcpkg.zip' - SigningCert: 8003 - - task: PublishBuildArtifacts@1 - displayName: 'Publish Signed Binary' - inputs: - PathtoPublish: '$(Build.ArtifactStagingDirectory)\staging\vcpkg.zip' - ArtifactName: 'MacOS' diff --git a/scripts/azure-pipelines/windows/azure-pipelines.yml b/scripts/azure-pipelines/windows/azure-pipelines.yml index 4c46e86a778f88..c2d74b8bcc4cfa 100644 --- a/scripts/azure-pipelines/windows/azure-pipelines.yml +++ b/scripts/azure-pipelines/windows/azure-pipelines.yml @@ -24,34 +24,7 @@ jobs: pwsh: true # Note: D: is the Azure machines' temporary disk. - script: .\bootstrap-vcpkg.bat - displayName: 'Build vcpkg' - - task: PowerShell@2 - displayName: 'Run vcpkg end-to-end tests' - condition: eq('${{ parameters.triplet }}', 'x86-windows') - inputs: - filePath: 'scripts/azure-pipelines/end-to-end-tests.ps1' - arguments: '-Triplet ${{ parameters.triplet }} -WorkingRoot ${{ variables.WORKING_ROOT }}' - pwsh: true - - task: CmdLine@2 - displayName: "Build vcpkg with CMake, with older VS, and Run Tests" - condition: eq('${{ parameters.triplet }}', 'x86-windows') - inputs: - script: | - :: TRANSITION, get these tools on the VMs next time we roll them - .\vcpkg.exe fetch cmake - .\vcpkg.exe fetch ninja - set PATH=${{ variables.VCPKG_DOWNLOADS }}\tools\cmake-3.19.2-windows\cmake-3.19.2-win32-x86\bin;${{ variables.VCPKG_DOWNLOADS }}\tools\ninja-1.10.1-windows;%PATH% - call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat" -arch=x86 -host_arch=x86 - rmdir /s /q build.x86.debug > nul 2> nul - cmake.exe -G Ninja -DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTING=ON -DVCPKG_DEVELOPMENT_WARNINGS=ON -DVCPKG_WARNINGS_AS_ERRORS=ON -DVCPKG_BUILD_FUZZING=ON -B build.x86.debug -S toolsrc - ninja.exe -C build.x86.debug - set VCPKG_DEBUG=1 - build.x86.debug\vcpkg-test.exe - cmake -G "Visual Studio 16 2019" -A Win32 -T v140 -DBUILD_TESTING=OFF -DVCPKG_DEVELOPMENT_WARNINGS=OFF -DVCPKG_WARNINGS_AS_ERRORS=ON -DVCPKG_BUILD_FUZZING=OFF -B build.x86.vs2015 -S toolsrc - cmake --build build.x86.vs2015 - cmake -G "Visual Studio 16 2019" -A Win32 -T v141 -DBUILD_TESTING=OFF -DVCPKG_DEVELOPMENT_WARNINGS=OFF -DVCPKG_WARNINGS_AS_ERRORS=ON -DVCPKG_BUILD_FUZZING=OFF -B build.x86.vs2017 -S toolsrc - cmake --build build.x86.vs2017 - failOnStderr: true + displayName: 'Bootstrap vcpkg' - task: PowerShell@2 displayName: '*** Test Modified Ports and Prepare Test Logs ***' inputs: diff --git a/scripts/azure-pipelines/windows/packages.config b/scripts/azure-pipelines/windows/packages.config deleted file mode 100644 index d48977f79641b1..00000000000000 --- a/scripts/azure-pipelines/windows/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/scripts/azure-pipelines/windows/signing.signproj b/scripts/azure-pipelines/windows/signing.signproj deleted file mode 100644 index 9382e0a0e2d77c..00000000000000 --- a/scripts/azure-pipelines/windows/signing.signproj +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - Microsoft400 - - - Microsoft400 - - - - - - - - - This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - - - - - - - - - - diff --git a/scripts/bootstrap.ps1 b/scripts/bootstrap.ps1 index b4c6295c089161..e4153aad407c32 100644 --- a/scripts/bootstrap.ps1 +++ b/scripts/bootstrap.ps1 @@ -1,10 +1,10 @@ [CmdletBinding()] param( $badParam, - [Parameter(Mandatory=$False)][switch]$disableMetrics = $false, [Parameter(Mandatory=$False)][switch]$win64 = $false, [Parameter(Mandatory=$False)][string]$withVSPath = "", - [Parameter(Mandatory=$False)][string]$withWinSDK = "" + [Parameter(Mandatory=$False)][string]$withWinSDK = "", + [Parameter(Mandatory=$False)][switch]$disableMetrics = $false ) Set-StrictMode -Version Latest # Powershell2-compatible way of forcing named-parameters @@ -12,407 +12,48 @@ if ($badParam) { if ($disableMetrics -and $badParam -eq "1") { - Write-Warning "'disableMetrics 1' is deprecated, please change to 'disableMetrics' (without '1')" + Write-Warning "'disableMetrics 1' is deprecated, please change to 'disableMetrics' (without '1')." } else { - throw "Only named parameters are allowed" + throw "Only named parameters are allowed." } } -$scriptsDir = split-path -parent $script:MyInvocation.MyCommand.Definition -$withVSPath = $withVSPath -replace "\\$" # Remove potential trailing backslash - -function vcpkgHasProperty([Parameter(Mandatory=$true)][AllowNull()]$object, [Parameter(Mandatory=$true)]$propertyName) +if ($win64) { - if ($null -eq $object) - { - return $false - } - - return [bool]($object.psobject.Properties | Where-Object { $_.Name -eq "$propertyName"}) + Write-Warning "-win64 no longer has any effect; ignored." } -function getProgramFiles32bit() +if (-Not [string]::IsNullOrWhiteSpace($withVSPath)) { - $out = ${env:PROGRAMFILES(X86)} - if ($null -eq $out) - { - $out = ${env:PROGRAMFILES} - } - - if ($null -eq $out) - { - throw "Could not find [Program Files 32-bit]" - } + Write-Warning "-withVSPath no longer has any effect; ignored." +} - return $out +if (-Not [string]::IsNullOrWhiteSpace($withWinSDK)) +{ + Write-Warning "-withWinSDK no longer has any effect; ignored." } +$scriptsDir = split-path -parent $script:MyInvocation.MyCommand.Definition $vcpkgRootDir = $scriptsDir while (!($vcpkgRootDir -eq "") -and !(Test-Path "$vcpkgRootDir\.vcpkg-root")) { Write-Verbose "Examining $vcpkgRootDir for .vcpkg-root" $vcpkgRootDir = Split-path $vcpkgRootDir -Parent } -Write-Verbose "Examining $vcpkgRootDir for .vcpkg-root - Found" - -$vcpkgBootstrapPath = "$vcpkgRootDir\toolsrc\windows-bootstrap" - -if (-not (Test-Path $vcpkgBootstrapPath)) -{ - Write-Error "Unable to determine vcpkg build directory. '$vcpkgBootstrapPath' does not exist." - throw -} - -function getVisualStudioInstances() -{ - $programFiles = getProgramFiles32bit - $results = New-Object System.Collections.ArrayList - $vswhereExe = "$programFiles\Microsoft Visual Studio\Installer\vswhere.exe" - if (Test-Path $vswhereExe) - { - $output = & $vswhereExe -prerelease -legacy -products * -format xml - [xml]$asXml = $output - - foreach ($instance in $asXml.instances.instance) - { - $installationPath = $instance.InstallationPath -replace "\\$" # Remove potential trailing backslash - $installationVersion = $instance.InstallationVersion - - $isPrerelease = -7 - if (vcpkgHasProperty -object $instance -propertyName "isPrerelease") - { - $isPrerelease = $instance.isPrerelease - } - - if ($isPrerelease -eq 0) - { - $releaseType = "PreferenceWeight3::StableRelease" - } - elseif ($isPrerelease -eq 1) - { - $releaseType = "PreferenceWeight2::PreRelease" - } - else - { - $releaseType = "PreferenceWeight1::Legacy" - } - - # Placed like that for easy sorting according to preference - $results.Add("${releaseType}::${installationVersion}::${installationPath}") > $null - } - } - else - { - Write-Verbose "Could not locate vswhere at $vswhereExe" - } - - if ("$env:vs140comntools" -ne "") - { - $installationPath = Split-Path -Parent $(Split-Path -Parent "$env:vs140comntools") - $clExe = "$installationPath\VC\bin\cl.exe" - $vcvarsallbat = "$installationPath\VC\vcvarsall.bat" - - if ((Test-Path $clExe) -And (Test-Path $vcvarsallbat)) - { - $results.Add("PreferenceWeight1::Legacy::14.0::$installationPath") > $null - } - } - - $installationPath = "$programFiles\Microsoft Visual Studio 14.0" - $clExe = "$installationPath\VC\bin\cl.exe" - $vcvarsallbat = "$installationPath\VC\vcvarsall.bat" - - if ((Test-Path $clExe) -And (Test-Path $vcvarsallbat)) - { - $results.Add("PreferenceWeight1::Legacy::14.0::$installationPath") > $null - } - - $results.Sort() - $results.Reverse() - - return $results -} - -function findAnyMSBuildWithCppPlatformToolset([string]$withVSPath) -{ - $VisualStudioInstances = getVisualStudioInstances - if ($null -eq $VisualStudioInstances) - { - throw "Could not find Visual Studio. VS2015, VS2017, or VS2019 (with C++) needs to be installed." - } - - Write-Verbose "VS Candidates:`n`r$([system.String]::Join([Environment]::NewLine, $VisualStudioInstances))" - foreach ($instanceCandidate in $VisualStudioInstances) - { - Write-Verbose "Inspecting: $instanceCandidate" - $split = $instanceCandidate -split "::" - # $preferenceWeight = $split[0] - # $releaseType = $split[1] - $version = $split[2] - $path = $split[3] - - if ($withVSPath -ne "" -and $withVSPath -ne $path) - { - Write-Verbose "Skipping: $instanceCandidate" - continue - } - - $majorVersion = $version.Substring(0,2); - if ($majorVersion -eq "16") - { - $VCFolder= "$path\VC\Tools\MSVC\" - if (Test-Path $VCFolder) - { - Write-Verbose "Picking: $instanceCandidate" - return "$path\MSBuild\Current\Bin\MSBuild.exe", "v142" - } - } - - if ($majorVersion -eq "15") - { - $VCFolder= "$path\VC\Tools\MSVC\" - if (Test-Path $VCFolder) - { - Write-Verbose "Picking: $instanceCandidate" - return "$path\MSBuild\15.0\Bin\MSBuild.exe", "v141" - } - } - - if ($majorVersion -eq "14") - { - $clExe= "$path\VC\bin\cl.exe" - if (Test-Path $clExe) - { - Write-Verbose "Picking: $instanceCandidate" - $programFilesPath = getProgramFiles32bit - return "$programFilesPath\MSBuild\14.0\Bin\MSBuild.exe", "v140" - } - } - } - - throw "Could not find MSBuild version with C++ support. VS2015, VS2017, or VS2019 (with C++) needs to be installed." -} -function getWindowsSDK( [Parameter(Mandatory=$False)][switch]$DisableWin10SDK = $False, - [Parameter(Mandatory=$False)][switch]$DisableWin81SDK = $False, - [Parameter(Mandatory=$False)][string]$withWinSDK) -{ - if ($DisableWin10SDK -and $DisableWin81SDK) - { - throw "Both Win10SDK and Win81SDK were disabled." - } - - Write-Verbose "Finding WinSDK" - - $validInstances = New-Object System.Collections.ArrayList - # Windows 10 SDK - function CheckWindows10SDK($path) - { - if ($null -eq $path) - { - return - } - - $folder = (Join-Path $path "Include") - if (!(Test-Path $folder)) - { - Write-Verbose "$folder - Not Found" - return - } - - Write-Verbose "$folder - Found" - $win10sdkVersions = @(Get-ChildItem $folder | Where-Object {$_.Name -match "^10"} | Sort-Object) - [array]::Reverse($win10sdkVersions) # Newest SDK first - - foreach ($win10sdk in $win10sdkVersions) - { - $win10sdkV = $win10sdk.Name - $windowsheader = "$folder\$win10sdkV\um\windows.h" - if (!(Test-Path $windowsheader)) - { - Write-Verbose "$windowsheader - Not Found" - continue - } - Write-Verbose "$windowsheader - Found" - - $ddkheader = "$folder\$win10sdkV\shared\sdkddkver.h" - if (!(Test-Path $ddkheader)) - { - Write-Verbose "$ddkheader - Not Found" - continue - } - - Write-Verbose "$ddkheader - Found" - $win10sdkVersionString = $win10sdkV.ToString() - Write-Verbose "Found $win10sdkVersionString" - $validInstances.Add($win10sdkVersionString) > $null - } - } - - Write-Verbose "`n" - Write-Verbose "Looking for Windows 10 SDK" - $regkey10 = Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows Kits\Installed Roots\' -Name 'KitsRoot10' -ErrorAction SilentlyContinue - $regkey10Wow6432 = Get-ItemProperty -Path 'HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows Kits\Installed Roots\' -Name 'KitsRoot10' -ErrorAction SilentlyContinue - if (vcpkgHasProperty -object $regkey10 "KitsRoot10") { CheckWindows10SDK($regkey10.KitsRoot10) } - if (vcpkgHasProperty -object $regkey10Wow6432 "KitsRoot10") { CheckWindows10SDK($regkey10Wow6432.KitsRoot10) } - CheckWindows10SDK("$env:ProgramFiles\Windows Kits\10") - CheckWindows10SDK("${env:ProgramFiles(x86)}\Windows Kits\10") - - # Windows 8.1 SDK - function CheckWindows81SDK($path) - { - if ($null -eq $path) - { - return - } - - $folder = "$path\Include" - if (!(Test-Path $folder)) - { - Write-Verbose "$folder - Not Found" - return - } - - Write-Verbose "$folder - Found" - $win81sdkVersionString = "8.1" - Write-Verbose "Found $win81sdkVersionString" - $validInstances.Add($win81sdkVersionString) > $null - } - - Write-Verbose "`n" - Write-Verbose "Looking for Windows 8.1 SDK" - $regkey81 = Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows Kits\Installed Roots\' -Name 'KitsRoot81' -ErrorAction SilentlyContinue - $regkey81Wow6432 = Get-ItemProperty -Path 'HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows Kits\Installed Roots\' -Name 'KitsRoot81' -ErrorAction SilentlyContinue - if (vcpkgHasProperty -object $regkey81 "KitsRoot81") { CheckWindows81SDK($regkey81.KitsRoot81) } - if (vcpkgHasProperty -object $regkey81Wow6432 "KitsRoot81") { CheckWindows81SDK($regkey81Wow6432.KitsRoot81) } - CheckWindows81SDK("$env:ProgramFiles\Windows Kits\8.1") - CheckWindows81SDK("${env:ProgramFiles(x86)}\Windows Kits\8.1") - - Write-Verbose "`n`n`n" - Write-Verbose "The following Windows SDKs were found:" - foreach ($instance in $validInstances) - { - Write-Verbose $instance - } - - # Selecting - if ($withWinSDK -ne "") - { - foreach ($instance in $validInstances) - { - if ($instance -eq $withWinSDK) - { - return $instance - } - } - - throw "Could not find the requested Windows SDK version: $withWinSDK" - } - - foreach ($instance in $validInstances) - { - if (!$DisableWin10SDK -and $instance -match "10.") - { - return $instance - } - - if (!$DisableWin81SDK -and $instance -match "8.1") - { - return $instance - } - } - - throw "Could not detect a Windows SDK / TargetPlatformVersion" -} - -$msbuildExeWithPlatformToolset = findAnyMSBuildWithCppPlatformToolset $withVSPath -$msbuildExe = $msbuildExeWithPlatformToolset[0] -$platformToolset = $msbuildExeWithPlatformToolset[1] -$windowsSDK = getWindowsSDK -withWinSDK $withWinSDK - -$disableMetricsValue = "0" -if ($disableMetrics) -{ - $disableMetricsValue = "1" -} - -$platform = "x86" -$vcpkgReleaseDir = "$vcpkgBootstrapPath\msbuild.x86.release" -if($PSVersionTable.PSVersion.Major -le 2) -{ - $architecture=(Get-WmiObject win32_operatingsystem | Select-Object osarchitecture).osarchitecture -} -else -{ - $architecture=(Get-CimInstance win32_operatingsystem | Select-Object osarchitecture).osarchitecture -} -if ($win64) -{ - if (-not $architecture -like "*64*") - { - throw "Cannot build 64-bit on non-64-bit system" - } - - $platform = "x64" - $vcpkgReleaseDir = "$vcpkgBootstrapPath\msbuild.x64.release" -} - -if ($architecture -like "*64*") -{ - $PreferredToolArchitecture = "x64" -} -else -{ - $PreferredToolArchitecture = "x86" -} - -$arguments = ( -"`"/p:VCPKG_VERSION=unknownhash`"", -"`"/p:VCPKG_BASE_VERSION=2021-01-13`"", # Note: This duplicate date version will be short lived. See https://github.com/microsoft/vcpkg/pull/15474 -"/p:Configuration=Release", -"/p:Platform=$platform", -"/p:PlatformToolset=$platformToolset", -"/p:TargetPlatformVersion=$windowsSDK", -"/p:PreferredToolArchitecture=$PreferredToolArchitecture", -"/verbosity:minimal", -"/m", -"/nologo", -"`"$vcpkgBootstrapPath\vcpkg.vcxproj`"") -join " " - -function vcpkgInvokeCommandClean() -{ - param ( [Parameter(Mandatory=$true)][string]$executable, - [string]$arguments = "") - - Write-Verbose "Clean-Executing: ${executable} ${arguments}" - $scriptsDir = split-path -parent $script:MyInvocation.MyCommand.Definition - $cleanEnvScript = "$scriptsDir\cleanEnvironmentHelper.ps1" - $tripleQuotes = "`"`"`"" - $argumentsWithEscapedQuotes = $arguments -replace "`"", $tripleQuotes - $command = ". $tripleQuotes$cleanEnvScript$tripleQuotes; & $tripleQuotes$executable$tripleQuotes $argumentsWithEscapedQuotes" - $arg = "-NoProfile", "-ExecutionPolicy Bypass", "-command $command" - - $process = Start-Process -FilePath powershell.exe -ArgumentList $arg -PassThru -NoNewWindow - Wait-Process -InputObject $process - $ec = $process.ExitCode - Write-Verbose "Execution terminated with exit code $ec." - return $ec -} +Write-Verbose "Examining $vcpkgRootDir for .vcpkg-root - Found" -# vcpkgInvokeCommandClean cmd "/c echo %PATH%" -Write-Host "`nBuilding vcpkg.exe ...`n" -$ec = vcpkgInvokeCommandClean $msbuildExe $arguments +& "$scriptsDir/tls12-download.exe" github.com "/microsoft/vcpkg-tool/releases/download/2021-01-13-768d8f95c9e752603d2c5901c7a7c7fbdb08af35/vcpkg.exe" "$vcpkgRootDir/vcpkg.exe" +Write-Host "" -if ($ec -ne 0) +if ($LASTEXITCODE -ne 0) { - Write-Error "Building vcpkg.exe failed. Please ensure you have installed Visual Studio with the Desktop C++ workload and the Windows SDK for Desktop C++." + Write-Error "Downloading vcpkg.exe failed. Please check your internet connection, or consider downloading a recent vcpkg.exe from https://github.com/microsoft/vcpkg-tool with a browser." throw } -Write-Host "`nBuilding vcpkg.exe... done.`n" - if ($disableMetrics) { Set-Content -Value "" -Path "$vcpkgRootDir\vcpkg.disable-metrics" -Force @@ -433,9 +74,3 @@ or by setting the VCPKG_DISABLE_METRICS environment variable. Read more about vcpkg telemetry at docs/about/privacy.md "@ } - -Write-Verbose "Placing vcpkg.exe in the correct location" - -Copy-Item "$vcpkgReleaseDir\vcpkg.exe" "$vcpkgRootDir\vcpkg.exe" - -Remove-Item "$vcpkgReleaseDir" -Force -Recurse -ErrorAction SilentlyContinue diff --git a/scripts/bootstrap.sh b/scripts/bootstrap.sh index b7d889f9ec9658..2188b8af71ad89 100644 --- a/scripts/bootstrap.sh +++ b/scripts/bootstrap.sh @@ -276,11 +276,29 @@ else fi # Do the build -buildDir="$vcpkgRootDir/toolsrc/build.rel" -rm -rf "$buildDir" +vcpkgToolReleaseTag="2021-01-13-768d8f95c9e752603d2c5901c7a7c7fbdb08af35" +vcpkgToolReleaseSha="99c9949637f83bf361ee23557edc889e2865c2105c45306c39c40855a3e1440e2f6fb5ec59e95176fca61eff33929462d23c7b49feb1975f24adb8ca443a98a6" +vcpkgToolReleaseTarball="$vcpkgToolReleaseTag.tar.gz" +vcpkgToolUrl="https://github.com/microsoft/vcpkg-tool/archive/$vcpkgToolReleaseTarball" +baseBuildDir="$vcpkgRootDir/buildtrees/_vcpkg" +buildDir="$baseBuildDir/build" +tarballPath="$downloadsDir/$vcpkgToolReleaseTarball" +srcBaseDir="$baseBuildDir/src" +srcDir="$srcBaseDir/vcpkg-tool-$vcpkgToolReleaseTag" + +if [ -e "$tarballPath" ]; then + vcpkgCheckEqualFileHash "$vcpkgToolUrl" "$tarballPath" "$vcpkgToolReleaseSha" +else + echo "Downloading vcpkg tool sources" + vcpkgDownloadFile "$vcpkgToolUrl" "$tarballPath" "$vcpkgToolReleaseSha" +fi + +echo "Building vcpkg-tool..." +rm -rf "$baseBuildDir" mkdir -p "$buildDir" +vcpkgExtractArchive "$tarballPath" "$srcBaseDir" -(cd "$buildDir" && CXX="$CXX" "$cmakeExe" .. -DCMAKE_BUILD_TYPE=Release -G "Ninja" "-DCMAKE_MAKE_PROGRAM=$ninjaExe" "-DBUILD_TESTING=$vcpkgBuildTests" "-DVCPKG_DEVELOPMENT_WARNINGS=OFF" "-DVCPKG_ALLOW_APPLE_CLANG=$vcpkgAllowAppleClang") || exit 1 +(cd "$buildDir" && CXX="$CXX" "$cmakeExe" "$srcDir" -DCMAKE_BUILD_TYPE=Release -G "Ninja" "-DCMAKE_MAKE_PROGRAM=$ninjaExe" "-DBUILD_TESTING=$vcpkgBuildTests" "-DVCPKG_DEVELOPMENT_WARNINGS=OFF" "-DVCPKG_ALLOW_APPLE_CLANG=$vcpkgAllowAppleClang") || exit 1 (cd "$buildDir" && "$cmakeExe" --build .) || exit 1 rm -rf "$vcpkgRootDir/vcpkg" diff --git a/scripts/cleanEnvironmentHelper.ps1 b/scripts/cleanEnvironmentHelper.ps1 deleted file mode 100644 index fa5fe869dd371e..00000000000000 --- a/scripts/cleanEnvironmentHelper.ps1 +++ /dev/null @@ -1,52 +0,0 @@ -# Capture environment variables for the System and User. Also add some special/built-in variables. -# These will be used to synthesize a clean environment -$specialEnvironmentMap = @{ "SystemDrive"=$env:SystemDrive; "SystemRoot"=$env:SystemRoot; "UserProfile"=$env:UserProfile; "TMP"=$env:TMP } # These are built-in and not set in the registry -$machineEnvironmentMap = [Environment]::GetEnvironmentVariables('Machine') # HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment -$userEnvironmentMap = [Environment]::GetEnvironmentVariables('User') # HKEY_CURRENT_USER\Environment - -# Identify the keySet of environment variable names -$nameSet = ($specialEnvironmentMap.Keys + $machineEnvironmentMap.Keys + $userEnvironmentMap.Keys) | Sort-Object | Select-Object -Unique - -# Any environment variable in the $nameSet should be restored to its original value -foreach ($name in $nameSet) -{ - if ($specialEnvironmentMap.ContainsKey($name)) - { - [Environment]::SetEnvironmentVariable($name, $specialEnvironmentMap[$name], 'Process') - continue; - } - - # PATH needs to be concatenated as it has values in both machine and user environment. Any other values should be set. - if ($name -eq 'path') - { - $pathValuePartial = @() - # Machine values before user values - $pathValuePartial += $machineEnvironmentMap[$name] -split ';' - $pathValuePartial += $userEnvironmentMap[$name] -split ';' - $pathValue = $pathValuePartial -join ';' - [Environment]::SetEnvironmentVariable($name, $pathValue, 'Process') - continue; - } - - if ($userEnvironmentMap.ContainsKey($name)) - { - [Environment]::SetEnvironmentVariable($name, $userEnvironmentMap[$name], 'Process') - continue; - } - - if ($machineEnvironmentMap.ContainsKey($name)) - { - [Environment]::SetEnvironmentVariable($name, $machineEnvironmentMap[$name], 'Process') - continue; - } - - throw "Unreachable: Unknown variable $name" -} - -# Any environment variable NOT in the $nameSet should be removed -$processEnvironmentMap = [Environment]::GetEnvironmentVariables('Process') -$variablesForRemoval = $processEnvironmentMap.Keys | Where-Object {$nameSet -notcontains $_} -foreach ($name in $variablesForRemoval) -{ - [Environment]::SetEnvironmentVariable($name, $null, 'Process') -} diff --git a/scripts/e2e_ports/overlays/vcpkg-requires-current-date/portfile.cmake b/scripts/e2e_ports/overlays/vcpkg-requires-current-date/portfile.cmake deleted file mode 100644 index 68dc779a84b889..00000000000000 --- a/scripts/e2e_ports/overlays/vcpkg-requires-current-date/portfile.cmake +++ /dev/null @@ -1,2 +0,0 @@ -vcpkg_minimum_required(VERSION ${VCPKG_BASE_VERSION}) -set(VCPKG_POLICY_EMPTY_PACKAGE enabled) diff --git a/scripts/e2e_ports/overlays/vcpkg-requires-current-date/vcpkg.json b/scripts/e2e_ports/overlays/vcpkg-requires-current-date/vcpkg.json deleted file mode 100644 index 48debf1e764c48..00000000000000 --- a/scripts/e2e_ports/overlays/vcpkg-requires-current-date/vcpkg.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "vcpkg-requires-current-date", - "version-string": "1.0.0", - "description": "A test port that verifies that vcpkg_minimum_required is inclusive by using the current base version value.", - "homepage": "" -} diff --git a/scripts/e2e_ports/overlays/vcpkg-requires-future-date/portfile.cmake b/scripts/e2e_ports/overlays/vcpkg-requires-future-date/portfile.cmake deleted file mode 100644 index b68e53e95c2006..00000000000000 --- a/scripts/e2e_ports/overlays/vcpkg-requires-future-date/portfile.cmake +++ /dev/null @@ -1,2 +0,0 @@ -vcpkg_minimum_required(VERSION 2999-12-31) -set(VCPKG_POLICY_EMPTY_PACKAGE enabled) diff --git a/scripts/e2e_ports/overlays/vcpkg-requires-future-date/vcpkg.json b/scripts/e2e_ports/overlays/vcpkg-requires-future-date/vcpkg.json deleted file mode 100644 index f60901998ffb25..00000000000000 --- a/scripts/e2e_ports/overlays/vcpkg-requires-future-date/vcpkg.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "vcpkg-requires-future-date", - "version-string": "1.0.0", - "description": "A test port that requires a vcpkg version from an impossibly far future.", - "homepage": "" -} diff --git a/scripts/e2e_ports/overlays/vcpkg-requires-old-date/portfile.cmake b/scripts/e2e_ports/overlays/vcpkg-requires-old-date/portfile.cmake deleted file mode 100644 index 5a4fbf42138db1..00000000000000 --- a/scripts/e2e_ports/overlays/vcpkg-requires-old-date/portfile.cmake +++ /dev/null @@ -1,2 +0,0 @@ -vcpkg_minimum_required(VERSION 2020-01-12) -set(VCPKG_POLICY_EMPTY_PACKAGE enabled) diff --git a/scripts/e2e_ports/overlays/vcpkg-requires-old-date/vcpkg.json b/scripts/e2e_ports/overlays/vcpkg-requires-old-date/vcpkg.json deleted file mode 100644 index 31e6fb62ff9531..00000000000000 --- a/scripts/e2e_ports/overlays/vcpkg-requires-old-date/vcpkg.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "vcpkg-requires-old-date", - "version-string": "1.0.0", - "description": "A test port that requires a vcpkg version from before vcpkg_minimum_required's introduction.", - "homepage": "" -} diff --git a/scripts/e2e_ports/overlays/vcpkg-uses-test-cmake/portfile.cmake b/scripts/e2e_ports/overlays/vcpkg-uses-test-cmake/portfile.cmake deleted file mode 100644 index 571ae3b7ab3ee2..00000000000000 --- a/scripts/e2e_ports/overlays/vcpkg-uses-test-cmake/portfile.cmake +++ /dev/null @@ -1,3 +0,0 @@ -set(VCPKG_POLICY_EMPTY_PACKAGE enabled) - -vcpkg_test_cmake(args args args) diff --git a/scripts/e2e_ports/overlays/vcpkg-uses-test-cmake/vcpkg.json b/scripts/e2e_ports/overlays/vcpkg-uses-test-cmake/vcpkg.json deleted file mode 100644 index 9f34e058d6d1ea..00000000000000 --- a/scripts/e2e_ports/overlays/vcpkg-uses-test-cmake/vcpkg.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "vcpkg-uses-test-cmake", - "version-string": "1.0.0", - "description": "A test port that uses the deprecated function vcpkg_test_cmake.", - "homepage": "" -} diff --git a/scripts/e2e_ports/overlays/vcpkg-uses-vcpkg-common-functions/portfile.cmake b/scripts/e2e_ports/overlays/vcpkg-uses-vcpkg-common-functions/portfile.cmake deleted file mode 100644 index 9207d30b199706..00000000000000 --- a/scripts/e2e_ports/overlays/vcpkg-uses-vcpkg-common-functions/portfile.cmake +++ /dev/null @@ -1,3 +0,0 @@ -set(VCPKG_POLICY_EMPTY_PACKAGE enabled) - -include(vcpkg_common_functions) diff --git a/scripts/e2e_ports/overlays/vcpkg-uses-vcpkg-common-functions/vcpkg.json b/scripts/e2e_ports/overlays/vcpkg-uses-vcpkg-common-functions/vcpkg.json deleted file mode 100644 index 7c16ffe821f890..00000000000000 --- a/scripts/e2e_ports/overlays/vcpkg-uses-vcpkg-common-functions/vcpkg.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "vcpkg-uses-vcpkg-common-functions", - "version-string": "1.0.0", - "description": "A test port that uses the deprecated file vcpkg_common_functions.", - "homepage": "" -} diff --git a/scripts/e2e_ports/vcpkg-internal-e2e-test-port/portfile.cmake b/scripts/e2e_ports/vcpkg-internal-e2e-test-port/portfile.cmake deleted file mode 100644 index 065116c276adcf..00000000000000 --- a/scripts/e2e_ports/vcpkg-internal-e2e-test-port/portfile.cmake +++ /dev/null @@ -1 +0,0 @@ -set(VCPKG_POLICY_EMPTY_PACKAGE enabled) diff --git a/scripts/e2e_ports/vcpkg-internal-e2e-test-port/vcpkg.json b/scripts/e2e_ports/vcpkg-internal-e2e-test-port/vcpkg.json deleted file mode 100644 index a25da6d2369849..00000000000000 --- a/scripts/e2e_ports/vcpkg-internal-e2e-test-port/vcpkg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "vcpkg-internal-e2e-test-port", - "version-string": "1.0.0" -} diff --git a/scripts/e2e_ports/versions/baseline.json b/scripts/e2e_ports/versions/baseline.json deleted file mode 100644 index 2413f8afc60ad5..00000000000000 --- a/scripts/e2e_ports/versions/baseline.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "default": { - "vcpkg-internal-e2e-test-port": { "baseline": "1.0.0" } - } -} diff --git a/scripts/e2e_ports/versions/v-/vcpkg-internal-e2e-test-port.json b/scripts/e2e_ports/versions/v-/vcpkg-internal-e2e-test-port.json deleted file mode 100644 index ce7698ebb8d1d0..00000000000000 --- a/scripts/e2e_ports/versions/v-/vcpkg-internal-e2e-test-port.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "versions": [ - { - "version-string": "1.0.0", - "git-tree": "1dc3e42a3c0cafe2884d379af4399273238b986e" - } - ] -} diff --git a/scripts/testing/env-passthrough/passthrough.cmake b/scripts/testing/env-passthrough/passthrough.cmake deleted file mode 100644 index 071b8381ea60b7..00000000000000 --- a/scripts/testing/env-passthrough/passthrough.cmake +++ /dev/null @@ -1,6 +0,0 @@ -set(VCPKG_TARGET_ARCHITECTURE x64) -set(VCPKG_CRT_LINKAGE dynamic) -set(VCPKG_LIBRARY_LINKAGE dynamic) - -set(VCPKG_ENV_PASSTHROUGH _VCPKG_TEST_TRACKED _VCPKG_TEST_TRACKED2) -set(VCPKG_ENV_PASSTHROUGH_UNTRACKED _VCPKG_TEST_UNTRACKED _VCPKG_TEST_UNTRACKED2) diff --git a/scripts/testing/integrate-install/NoProps.vcxproj b/scripts/testing/integrate-install/NoProps.vcxproj deleted file mode 100644 index 5b75d0961550cb..00000000000000 --- a/scripts/testing/integrate-install/NoProps.vcxproj +++ /dev/null @@ -1,145 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - Debug - x64 - - - Release - x64 - - - - 16.0 - {5AFB7AF5-D8FC-4A86-B0D2-3BBD039ED03A} - Project1 - 10.0 - - - - Application - true - v142 - Unicode - - - Application - false - v142 - true - Unicode - - - Application - true - v142 - Unicode - - - Application - false - v142 - true - Unicode - - - - - - - - - - - - - - - - - - - - - true - - - true - - - false - - - false - - - - Level3 - true - _DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - - - Console - true - - - - - Level3 - true - _DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - - - Console - true - - - - - Level3 - true - true - true - NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - - - Console - true - true - true - - - - - Level3 - true - true - true - NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - - - Console - true - true - true - - - - - - - - \ No newline at end of file diff --git a/scripts/testing/integrate-install/Project1.vcxproj b/scripts/testing/integrate-install/Project1.vcxproj deleted file mode 100644 index a8896fe29d1039..00000000000000 --- a/scripts/testing/integrate-install/Project1.vcxproj +++ /dev/null @@ -1,146 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - Debug - x64 - - - Release - x64 - - - - 16.0 - {5AFB7AF5-D8FC-4A86-B0D2-3BBD039ED03A} - Project1 - 10.0 - - - - Application - true - v142 - Unicode - - - Application - false - v142 - true - Unicode - - - Application - true - v142 - Unicode - - - Application - false - v142 - true - Unicode - - - - - - - - - - - - - - - - - - - - - - true - - - true - - - false - - - false - - - - Level3 - true - _DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - - - Console - true - - - - - Level3 - true - _DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - - - Console - true - - - - - Level3 - true - true - true - NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - - - Console - true - true - true - - - - - Level3 - true - true - true - NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - - - Console - true - true - true - - - - - - - - \ No newline at end of file diff --git a/scripts/testing/integrate-install/Source.cpp b/scripts/testing/integrate-install/Source.cpp deleted file mode 100644 index 24a84e4d7fdab3..00000000000000 --- a/scripts/testing/integrate-install/Source.cpp +++ /dev/null @@ -1,6 +0,0 @@ -#include - -int main() { - zlibVersion(); - return 0; -} \ No newline at end of file diff --git a/scripts/testing/integrate-install/VcpkgTriplet.vcxproj b/scripts/testing/integrate-install/VcpkgTriplet.vcxproj deleted file mode 100644 index 883fc8ec1a7311..00000000000000 --- a/scripts/testing/integrate-install/VcpkgTriplet.vcxproj +++ /dev/null @@ -1,151 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - Debug - x64 - - - Release - x64 - - - - 16.0 - {5AFB7AF5-D8FC-4A86-B0D2-3BBD039ED03A} - VcpkgUseStatic - 10.0 - - - - Application - true - v142 - Unicode - - - Application - false - v142 - true - Unicode - - - Application - true - v142 - Unicode - - - Application - false - v142 - true - Unicode - - - - - - - - - - - - - - - - - - - - - - true - - - true - - - false - - - false - - - x86-windows-static - - - - Level3 - true - _DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - MultiThreadedDebug - - - Console - true - - - - - Level3 - true - _DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - - - Console - true - - - - - Level3 - true - true - true - NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - MultiThreaded - - - Console - true - true - true - - - - - Level3 - true - true - true - NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - - - Console - true - true - true - - - - - - - - \ No newline at end of file diff --git a/scripts/testing/integrate-install/VcpkgTriplet2.vcxproj b/scripts/testing/integrate-install/VcpkgTriplet2.vcxproj deleted file mode 100644 index d3352e195b4a11..00000000000000 --- a/scripts/testing/integrate-install/VcpkgTriplet2.vcxproj +++ /dev/null @@ -1,149 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - Debug - x64 - - - Release - x64 - - - - 16.0 - {5AFB7AF5-D8FC-4A86-B0D2-3BBD039ED03A} - VcpkgUseStatic - 10.0 - x86-windows-static - - - - Application - true - v142 - Unicode - - - Application - false - v142 - true - Unicode - - - Application - true - v142 - Unicode - - - Application - false - v142 - true - Unicode - - - - - - - - - - - - - - - - - - - - - - true - - - true - - - false - - - false - - - - Level3 - true - _DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - MultiThreadedDebug - - - Console - true - - - - - Level3 - true - _DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - - - Console - true - - - - - Level3 - true - true - true - NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - MultiThreaded - - - Console - true - true - true - - - - - Level3 - true - true - true - NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - - - Console - true - true - true - - - - - - - - \ No newline at end of file diff --git a/scripts/testing/integrate-install/VcpkgUseStatic.vcxproj b/scripts/testing/integrate-install/VcpkgUseStatic.vcxproj deleted file mode 100644 index 28c4fc7158ca12..00000000000000 --- a/scripts/testing/integrate-install/VcpkgUseStatic.vcxproj +++ /dev/null @@ -1,151 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - Debug - x64 - - - Release - x64 - - - - 16.0 - {5AFB7AF5-D8FC-4A86-B0D2-3BBD039ED03A} - VcpkgUseStatic - 10.0 - - - - Application - true - v142 - Unicode - - - Application - false - v142 - true - Unicode - - - Application - true - v142 - Unicode - - - Application - false - v142 - true - Unicode - - - - - - - - - - - - - - - - - - - - - - true - - - true - - - false - - - false - - - true - - - - Level3 - true - _DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - MultiThreadedDebug - - - Console - true - - - - - Level3 - true - _DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - - - Console - true - - - - - Level3 - true - true - true - NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - MultiThreaded - - - Console - true - true - true - - - - - Level3 - true - true - true - NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - - - Console - true - true - true - - - - - - - - \ No newline at end of file diff --git a/scripts/testing/integrate-install/VcpkgUseStatic2.vcxproj b/scripts/testing/integrate-install/VcpkgUseStatic2.vcxproj deleted file mode 100644 index 98beaee4b12fb1..00000000000000 --- a/scripts/testing/integrate-install/VcpkgUseStatic2.vcxproj +++ /dev/null @@ -1,149 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - Debug - x64 - - - Release - x64 - - - - 16.0 - {5AFB7AF5-D8FC-4A86-B0D2-3BBD039ED03A} - VcpkgUseStatic - 10.0 - true - - - - Application - true - v142 - Unicode - - - Application - false - v142 - true - Unicode - - - Application - true - v142 - Unicode - - - Application - false - v142 - true - Unicode - - - - - - - - - - - - - - - - - - - - - - true - - - true - - - false - - - false - - - - Level3 - true - _DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - MultiThreadedDebug - - - Console - true - - - - - Level3 - true - _DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - - - Console - true - - - - - Level3 - true - true - true - NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - MultiThreaded - - - Console - true - true - true - - - - - Level3 - true - true - true - NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - - - Console - true - true - true - - - - - - - - \ No newline at end of file diff --git a/scripts/tls12-download.exe b/scripts/tls12-download.exe new file mode 100644 index 0000000000000000000000000000000000000000..3eff1dd4e031b5f8074f027cac4d08e91f59dcc1 GIT binary patch literal 18312 zcmeHu2UwFyxA2=nuL>wCN+?kjfj0$G0Hqfdh_r};7)c-?B$z_8(L^y~#ol1mwXTY+ zWvw9g-h080z2VBP?B+l723XYHZ@>HB`~Ba&_xXos+L<$F&YU?jXXd;iV&oi*f?*gH zqE?GxyCFxxk4XP zEu*E&XhBgiv@E$;;%;VU?A%70u}4Tz-{J|{!w$!mm_DjPXwR`RPyr!z*@c0;{EiTas2}P~ zNHXPsh~`cR2+?!wgak!D3=8-Y^8ai9DhUja7iw*SXnvSxqO+yut+WY>!loQOI1NkSaR4_dYGs^Bx;7hEf?rD z1wl1=^y$;PeF{lfQ>p=mRa0?4jCHuY)R_w)Vbe?4x)~p}HZFj!X(`caElM9!FbtTr z7HDk-A_lcKVuCk|(i6~9GSS(Zs_HL2PmHJ3jkg==X|iS}L6mj6={`^`I*bNwh|!EN zjnhb}@tSNyX^Ks-G zZQ3cY7o-ybLu-Q*9I3d{HK@Y@;0rqzyx(-0i5rMGj92DAwbr^~u ztQU4VvHG5Zeil=ok}-_+>HwMp@MhU2%EbgOESVIjVHsq!b{XUttqmK-)?6?745Atg zJu{FFSjWXnO`Q;Dd8oAs=nS0t%A&MCLZE^)U4T6o%n)Xf5gVtqDFm#kbrz-81Oe$@ z7#pb2pk+F=l*3d|D+yYqa7v<)b>j?_&Vf;2NhSiCrU?!46#DAgbt%wLK_lvajc5Wu zW*guF0RVOeB5A?2FacETpn`*}k!nh<;GlyZ*=;>GLXRR?^5f8KQ3@-7N&TGB8s(Eg zyu+OBDpbzHSal_b4O4;Zps6R+R=d#w2;cw&33%aTVUO)TbNck@lGo%<_v@ciDyZ`) zb*{%t>haWabInQU(g@3sB-JMQK2R(rY7sh_}FPzCW#y?{4h${A!j8ss&XjKpiFV+J^i(Ih&XY8v8M zKd16o7NzR}yTXqgl3KzAmZ$z~QMwQyal)eC(PhnIng&tJbhbttBt8aI#tsIA(Z&lP z#K#CgwP*m*v`p2i#tLCW+X$cvPz*BENeEadhv{&2xG)W_rZ-YHn3*l;8EBJ07$2v- z1TB4BCpz1zpChBuMraryLW5p%(&$kQO+Nr%gk0N`FXf3Q4y%D=7Z3Z$RtQ$d1-40# z_MO!ewe@__Kh?s%6s89E(ZAncCtyq<>;e)^Mj{hES~@yLv~+YdXz4CQI*>?lB4raPmq?Ldv~)ir4I)w`N-Z79K}$zM(bCZl z(bCbL*3uJ+)R{*+Pf7v zEca|dsc$o+sWWY8(2zRQ%$mr0za@ZrFNuuaL}YG{AX`3L&lXTL!Psh3BB!plguEiy zaJ3z(Prco$)gIFu0jMPSt458ht)X^I&k$0?_c1+Fq7`hio^4wxgF0ed9d@kH4(h-= z7)4aqtw#AUy%wm~H$okW7S*MX;LK{e4@!FiO+3S}3H53df}KtXKZ6P*A!s5D|6dE? z5eVTwHg#aKd^(!FZe|AUGb?&Y)6K@^-#44aznx9VBvUNMxMY$grlyuiOfjgN=NM>$ zO~cBAO(FAJjTX9XQQK!)B5B2508*4IpU}gg{KtMf1gE{`r6$-=qf?PDN_+hJ z`e8p&A#pwAdeXZ-mvoxYBS8A5NiV}6HdInW2f=SJ>`Q!|S$-I%>K3o@L?z8xV%Jt8 z=B_4;{tMD@7WnC!A`CV4uEC~m7%)`Qr0XH?;~gyi33B&ukiTL2 zEAnj6y>B}Gv-9Xgix+GOC))KSI7HEGS#?FfRQ2-1EEd!?z~21d9JckxuwMsY*juR<<{SO;-4#HA3YLsURS0f`>PIxr(u=)MF2$MPV4`KN<3Feb*r*qA5gg>f)0 z#>4!)6Ka6V>+8AF~+(2@d%3d_daF)=X`$d8~k4yd3} z5UoG@4}@9>K`9G3Q(+O%ri4Ecj3oi?5GNv_i?|m<4UM6K`Jiz@oNXgR0YY3yKR&dp zppOzm5^{r{x{)&>7eUP(sO3SVfuy2fOn;bjB-EloZo{A!3-x#?yMZ)NEezVCfPO4M zLZEFJwCUy?^cCfHxwcC|3DWU^KNM)tdk~~3gaNHspdN!ILmCa#M_>s6_W`cuZL2g0 z>NG-nN;jFbfrMBg1k42d#+=%L14Tpz$zQ1wcjESVDe6zz+n7 z1RyF%L!b@G6~X_Jv^+qH?t}vj=@Ob@7~rEdj)I8B`WhYsP!-YIu0MeCRo_5@R~cX; zEkhv`<`Mf1Ui%o)fH@vC3F(Ip|4Uxbm@-(~zr#cADG<{^ViE#d39~?QQ$ihuFX;{^ z##DgB!=N2$57J&G;C;RJU+OB-Y(!B(jDvOxlDrD2DPSy}Hn(d5!c-BfqK1-gWxwVF z@r_0gBJe~6pJ;VEucVGAMBTkjKhf=T>2GdO}&y{7$MPm1C@mL)JaK2$EqM)zK2;Z{< z2#fGXJ7=Nofi^PXyLL}UPGx6L1gZp>A>{5jo|2k|=C5-_yQih5i$THGLw$rEw72=I zF_1eI;S+V|K#@`vsun54@u@1&*i4DiAKIvYgA)iiXx;N*f^BpP3JSzyVR*uC?}O;; zcw|Bm+t*L04{b0Of}ICgCFE@|Hi99Wb{-b54d#Vl=*S@E*XBnzggUwwyN^|(?SuKW z**sLXgTp+NrlXDOC`2OLNdrH9Cp-nf!~pxV@ZZs%_r-+ivM`k@J1Scu18KC?0yE`G zNtj3`&V(b!r~@jO$s{RoxVg7Oq9r165c*ibX@|r}R8iTgbUA2Mzjhd+9W5EJmMEbw zyB!)Mk%>E?jCN?WBt?>*BZ-zMv*j`+j6SfvWw=_R$Pa@7B?=`b437+pjTN|yGc&Qv z@;D1=UOd`a*5k{~qCtV?zWl3bJc#$F3+o~5QlM)&x4$e!F5IO^mXaG#E2Ws?}&C@C2$~FM(>|1kh<1R70U14yF>B zvO)wyp&brhF}M?gjrPN^k%06_*MRwmluAj~*vx!dURI_|>FcOg$oR?>sU%CJbjwOl zQOK3@RFzwbJc}<#WlRsK&> zW9j-qPo*S94M%G}L5BvxN1-zk60ty$o&yI(nnc;r*tt1454s{FGfa{r$)shX)Ynm@ z4437|$4L~9GYW75#w$D>`I zg9QEp|Dd4o$j}iZ+6w=fI&#$>hIP}!Epa-|!H45QJO!VK7vT%=)p#v_3V(pN;9A^@ z5ynVoXc%)DOBw4KhZvU_uNh`cI@6UooH>rEVa{W2W!5p@GtF31RvxR6HI21`wTbl> z9_HQHz1Xg77MssbWT&we>`CnD?D_1K><#Q6*$3Gt*;G#xPis$m&jFrn&t%W@o)0|V zdA4|(d)a#Nz5KnzUU$46dOh=ciwcvK=in&?bJnj_kD(+hDCTQ@bmbS`KA0B{5kwZ{FVH*{LTDY{vLik z{{;U6{|5gN{~7-c{};ZKH`9Bhx5!)Ot@1ALF7z(*p6NZ$`+#?Y_YLp6-k-fOA9EjD zA15ES56>soN92?0Q{*$tXTDFZPlL~KpQ}ENJ}-QkDGMV>C{!~1 zqy|saH+I!0QAx!dGKpFhi4ViOcY;{pMidfOMg5Lkh~bQ{`ci3S9}hWie>$JTPG6Ab zk>*$!Yg?*R(KawF|;xkij>lHS(-{NV_4$m2xwqs5G@gB z$z@_jAKVT>jIC@U+D{}}pj?qHSBTKYXSm>fQ9H%TzH_@+LW@aHlL1wlAkd%2#2E~{ zPj@pWjVv=KLLBZNlib)o*)+A$cF^Pno z-F3o5S^Fuf*4VM9``^qDQoX3|&L?_dSSp6h+KcYV{^+WJz* zo%O*7j*l{&mAOBsLfkU8&qq%~kA4@@UOaZNxSg{n;*R@Z?m-i^*L}f^i{*!>swR!< z;@SIVmR_X$#=t%LFD?u`_bkkKEi`_YN!T4p!D9dtACaTj`Oa$n*ey0_9@R zVNhSBy~!wX!#Qp^*B#n%QTv=pBx)QUgAZ@7fBMX(~s^`oSudeoh{*JgR*B2uEdNN`i;%4o8|MHjpFkS9CHc{g^Y{) ze|^C?li+);V21itB>C}*gU_GlY``4l_R+CvTQxnyT)eZ(F4xgkT^qeku=4QkIgJnEo*E|2a?pK}K{SRj@}PRlY{x1zfNfBn4qAM#h$Dw7+J z7oRyvA7k|>Y98-$!11IjzeO>PKJA>~WiseiUwUjtwfWsC89^hMkCtiDUsu-OUqyPj z{?2uiG}|?7jV7Zr z7{#Lk)Hm_W z6;5-sB`H?@|Jc3Ja`-uGAn12`YI+Jhp=thVl~j&ymmNj`OaTYyGI3A1Kp-RFMN}C$ zs{Y%JR5AHmb3jJsfDGmU_S~kozbY*4+<&+(+gNNF!QS(J=Lm;Y0lfx{dp1(AakoCV zCpCP}lm^p2cR1sYcD-)$mV0Q4{7teDSo&m1CSUx2_Cd{!BXh;=N@t z+l>b{Y`w9;bxVQK)@utBPLAoR_bfH1i5cCutH;w#hJtgoLA#Q!A9kmxH%UL7%KE@h ztnStvvZs+N-YgS)=6zq4V&QhlZ+^?ey9Q=g67$!F_kU`3pvo%uK&9`S&ktQkTG~g% zyL?xmXza@06+Zg@!hs(no%mm6xnCocL`sSJpBPZ>5{|HLD7eI2nRb; z-d-pe<#EO7VRn+m@Q~cv7VQ4M&E(?bTXiKhaV zjf$tv_YQ_EIr8R^o$yvk#mk6reBGv5_g;=#wYBxmw$umpi;5<^y83G9)A0W5tX#fd zHz}>~$&9gi$=f|juL+kY9?W%ddG{)-!DaTq*?yd;`ukIZ$`2b2J92q#poeO~Cs|7# zZNxyUq%jMY4vJ!x-rP35``wk1%?r2f3#rOne6jKB^qD5@=I|Am!)LgqzERsP&xS;W zix}3){{5*j>e11`noKqAV+`MQ)bQ0M5c9`P&~a};MP$lwi;lBj52t_$_`=L7-1ub1 zoWP%~^&;;-Uw4dg!Ks{$k3>D}sbGolsH%vnp=IH1RtT)sw`Pv8aoGy+Xr<^Z5$s#o zwXj(`j9oI$N@g+%V>i0pxPh^Y#szp}dmW5jz&|o}9x3gX?jO)s;YF(u^E7JFBD|;) zFPhsSBzFp4RDus~AC64w#`;IYA>%EUrzkzL73o`!u>i3ka2b&CapJo zn3KSVL-dI=nfR!KK6IwQr<>%C4=j?7&tvYi-d`Q4g!N5(U$%B}V{Cp;_e}&UtxH@MEsikvHF}^e?Rb0pXfNu4d;Z7FU0&anc)VQnb9Lgv>)6%mko^fC z7OgcJ8fLkq(EdEu|47ZUwS$9m`*2s)4;m4IN2gmIiy6C|R zbzaYx&pAu-ZHH>F);dYmPqzNrs(E2j_&nWvYb*YWI&9Xxd+Mx|xxN=x#79OQEEGCc z=XGH^6uj{_t{MD!{pmGH_0`jt3CG7rh6UFJoLH7K%D6CW+;91->i1`5Wt@msTA39H z&M=B?((q!N6nOsOMGOAjhU+h1fSn$tRYhBHIDp#TghmvGX~!iV9;xuo`{T)K!Z3&X z=O1+&+~bdqRE8s!W_m2tbfL<4&kj?U!}#TEj#~p18}T#SyqB}}EFRb$tiS_0bvI?O zab}fuVORKujy4+l{;Y(Uim9r57TW&Rp6K~EQ~l^mi%E&2 zyZrdD&isSow99NJeSXB|T{h${{G9n7%kQVU2k84{zbm_{ktU!1tbe3mb?oBq5wouA zZ_l25Nq%Uv&*hJ!GDZc_Cj1^}t_7Cho+u^-fo%Q2r1^k0w~;PQ zFs6|H#5qxTb&Kol?fte(L!b0q;=4e&YeCAsE_Y|Fs6FMNIM6zKCRu+>kK50tOt!UR z;_$#{;w-o)da@brUTn{iIJJ;WYOX4}yr$>^UUc?faxMK2JSzL*&R}`q{n=w-8`Ma@MA;Anf?u76tR(5~fbkWBXw-}WuE1MQ0QRJkjNUDm> zgYaVNM{vvB>ExDibC2*pnId6Tq02eRt+P@ix6H(Ui4fXmMzQMsryRFAWpLz_VelAC z1`nRMo;bVBDZ}8jRsYwm5$O207yQoto(-akW_37!aWH#VZP@Oa)4DQ}%Np;vj5VeE zZQZb_@Cu%=>8kS$yXc2^ye9~&C$ruPkA+Rr4Bc{#mbQLC1%GIH7wcQ`O732TJk;)` z|J&7izm~K*Wmh$fo;PzX&FeRZ^WUDB#DZ)H&lO%miptj|S zmH&N<4WhB{q_hLaoPT`F&@@maE^3cI|V&VN=ewmAP1l(OkBk zzyG7Yd{Z5pvj3X(q!m*#DV2NumRBvW8Fg()YVPB016DlD+Z|+cszIRcUgk6^?Ab7> z$&RNp$DM3EMp3OFx$oixQ=^N6SCzH0AF0RuUU{$mg4+uu)xFbo_C}_7VgSjZCDMF` z)+6u$`~8ZtGhf_FucYu3XE5e`2%Io6q}LIabmY{mI6Pi=D~-az{Za+)mk!^^KX)sI zJq9}rloh#OaKin#(v6uBwCPFD5$@YyZ(@BFtk578U#*qVN(m+WYu-fX3|U}DCV zgrI?;oQj)wM9U11O8d`@rcSOj4y7pdj!(Q;nia!Zo|HPPlG=3K>!Cj7wcql9Iyjhv{>fv{Xe56ntp7gF2;Jd_gZBZ>KbDuL zCp!E*byYU1{+o~HzdfmXo9)Z(GJ{Wh*=n`ux{i8l6Vs2%u=nrPb3yO3Mpm;XitvOQJjmkRnCYdlfu`3Yc5@AD1MbY< zd{v1H`xdVbHaq|PV`$NtgU(}^BgTZh9}!x{EbXHbrOiz)imf>}f7rbG!`~-e5LwAw zj`sYetZ?r=QENzjzuwMiT@^hYW^5fQE*FfgN%}3<-uJCgy?OtPfC#_g7c7?R4@#Tz zF}04eFlh3d^Fx1=JzjdUX8rqu0mh8CHzW1u?woGu*_3Cu?b(tuK2JS@_N;5ZE#AL| zR8KRSpLeEpU)_nIq|x1$lk}n-Bic`@CvZ|d_=ivNKRufMOP=CaevUsiyXm{cvC<2^ zm2*a2JG<2O@PGEu>v$@+9eQ4FOxAzZq4yWG;R#-a&N&+LHp644XdYfP`-@k25$@Z5 z{=qAp@s~%eU}(7R2_7hj@eoT=MesYAf8q@;fXBceZ}6D5A36T*8{FW@^x{zko@ zy^1-c-*0hSJ$~Q$cou8#*yN?RgnrN7on4YTXQnn|?36o4hM3Il`+)bd$B^+UD<(K( zH7sBKozJgRCN0dEllOhr#rw;D>D|h`UfFzft?|OLHTzfg+(Hc~*}bE1nIo6BgZ^0j z@>BD{$tekRivo9^Fz37R8}(;cly}=BTG!>&((C4-OAC*jKeO)qn@J^a?|Y9ox|gI{ z>}V*uxlPbVzW?2Q?A}v`!J7H}Pm<8Qrk3?#n?BuDOcsrk=WZxEwa#cWZ|}>ar>+qwvW1b+$?TM!8E0};giK~&np^P?p^zTtn-NN=kV$H=E$2a zyK6SwTDW~(z;`Fk_3)2qEc<1^($!s3@k@JE%%S&ECVX5n!=u+Rhph=aw%iW#StJ;L zt@`4TxQFR?h4mNi;&s2BeiHH7>|j#VvlV@Ma6R^&8=>d^#;i)r(RUyQ=BoU8{@97r`~_O}xQdtN(XCE536w1{Z^YzMiW&h1`>3gRMH7d~EWx z2{oz%M%$wke{MLl_Iynh_{oY2*G&F5+pJDssr2+PvL5#E2(=sTXlv2_7G!ub*erZx z2Y}rMz;oe%(fJ$T;YlSiJm9)#+(rO7R*fMclY6+6!5L~ml)G5y5RS$zLBV@nC*wuz1Nx1(WmY#;r6U+UaMiJs%P>(<{G|k8oO-4WVvhK`MrnF9Gq6S z>VX7GkIBD8w`zjsA-ex*No!gls66_bYGJv+P);8-&I!oTp1@5uGF z#4&%tf*pOhw;pi1Kh)pRDx98L5cRe){h94*(}_#)qF*}^AbT*1p5sMN@uEj~(S9mz z*1M4k#Uz@+><0@hEquH#w)9`Naqw%C2=&rwyz2Y#kL5*+{~K(DKNlQ0&ddsG7TX4I z+UEDLvGS}#klWUNhjZW61rN!v3Dq#ydvH4|B=`rA(`)E6`K&z$)ZdFz*0;KjSG>Bt zQZU|P@#CiMeO^?M1f`QsJ~|$uwhCa^C-D}&jvuGrYii&;&lL|$5BuewJ2G)=aQ+bw zo2WRiCF?fyS#@CPh#m9y+QeO`xp{Z=8Kdn3YxptS>qNM>%ck(rORsA(7mYC6J0iEb zPlbu)9jlUo(W$T+c6q*8Y*YUiU17B4GHhSykE&-s4mw&Xz-Vg26D y4K>JFh}T9uFAUtHUj82+``7~j literal 0 HcmV?d00001 diff --git a/toolsrc/.clang-format b/toolsrc/.clang-format deleted file mode 100644 index 374a4233e6380a..00000000000000 --- a/toolsrc/.clang-format +++ /dev/null @@ -1,54 +0,0 @@ -BasedOnStyle: WebKit -Language: Cpp -Standard: Cpp11 - -UseTab: Never -IndentWidth: 4 -ColumnLimit: 120 -PointerAlignment: Left - -BreakBeforeBraces: Allman - -AllowShortBlocksOnASingleLine: false -AllowShortCaseLabelsOnASingleLine: true -AllowShortFunctionsOnASingleLine: All -AllowShortIfStatementsOnASingleLine: true -AllowShortLoopsOnASingleLine: false -AlwaysBreakTemplateDeclarations: true -AlignAfterOpenBracket: true -AlignOperands: true -AlignTrailingComments: true -BinPackArguments: false -BinPackParameters: false -BreakBeforeBinaryOperators: None -BreakConstructorInitializersBeforeComma: true -ConstructorInitializerAllOnOneLineOrOnePerLine: true -Cpp11BracedListStyle: true -IndentCaseLabels: true -KeepEmptyLinesAtTheStartOfBlocks: false -NamespaceIndentation: All -ForEachMacros: [TEST_CASE, SECTION] -PenaltyReturnTypeOnItsOwnLine: 1000 -SpaceAfterTemplateKeyword: false -SpaceBeforeCpp11BracedList: false -DeriveLineEnding: false -UseCRLF: false - -IncludeBlocks: Regroup -IncludeCategories: - - Regex: '^(|"pch\.h")$' - Priority: -1 - - Regex: '^$' - Priority: 1 - - Regex: '^$' - Priority: 2 - - Regex: '^$' - Priority: 3 - - Regex: '^$' - Priority: 4 - - Regex: '^$' - Priority: 5 - - Regex: '^<[a-z0-9_]*\.h>$' - Priority: 6 - - Regex: '^<[a-z0-9_]*>$' # C++ standard library - Priority: 7 diff --git a/toolsrc/CMakeLists.txt b/toolsrc/CMakeLists.txt deleted file mode 100644 index 24ab12818d5602..00000000000000 --- a/toolsrc/CMakeLists.txt +++ /dev/null @@ -1,222 +0,0 @@ -if(WIN32) -# 3.16 for MSVC_RUNTIME_LIBRARY -cmake_minimum_required(VERSION 3.16) -else() -cmake_minimum_required(VERSION 3.14) -endif() - -project(vcpkg C CXX) -include(cmake/utilities.cmake) - -# =============== -# === Options === -# =============== - -include(CMakeDependentOption) - -option(BUILD_TESTING "Option for enabling testing" ON) -option(VCPKG_ALLOW_APPLE_CLANG "Option for allowing apple clang, even versions that we don't know will work" OFF) -option(VCPKG_DEVELOPMENT_WARNINGS "Option for turning on all warnings" ON) -option(VCPKG_WARNINGS_AS_ERRORS "Set warnings to be errors" ${VCPKG_DEVELOPMENT_WARNINGS}) -option(VCPKG_BUILD_FUZZING "Option for enabling vcpkg-fuzz support" OFF) -option(VCPKG_EMBED_GIT_SHA "Option for to fill in the Git SHA version; off by default to avoid privacy concerns out of official builds" OFF) - -CMAKE_DEPENDENT_OPTION(VCPKG_BUILD_BENCHMARKING "Option for enabling benchmarking" OFF - "BUILD_TESTING" OFF) - -if(WERROR) - message(DEPRECATION "-DWERROR is no longer a supported flag. It doesn't do anything.") -endif() -if(DEFINE_DISABLE_METRICS OR VCPKG_DISABLE_METRICS) - message(DEPRECATION "DEFINE_DISABLE_METRICS / VCPKG_DISABLE_METRICS are now handled by creating a " - "file vcpkg.disable_metrics next to the binary.") -endif() - -# ============= -# === Files === -# ============= - -file(GLOB VCPKGLIB_SOURCES CONFIGURE_DEPENDS src/vcpkg/*.cpp) -file(GLOB VCPKGLIB_BASE_SOURCES CONFIGURE_DEPENDS src/vcpkg/base/*.cpp) -file(GLOB VCPKGLIB_INCLUDES CONFIGURE_DEPENDS include/vcpkg/*.h include/vcpkg/fwd/*.h) -file(GLOB VCPKGLIB_BASE_INCLUDES CONFIGURE_DEPENDS include/vcpkg/base/*.h include/vcpkg/base/fwd/*.h) - -set(VCPKG_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/src/vcpkg.cpp) - -file(GLOB VCPKG_TEST_SOURCES CONFIGURE_DEPENDS src/vcpkg-test/*.cpp) -file(GLOB VCPKG_TEST_INCLUDES CONFIGURE_DEPENDS include/vcpkg-test/*.h) - -file(GLOB VCPKG_FUZZ_SOURCES CONFIGURE_DEPENDS src/vcpkg-fuzz/*.cpp) - -# ======================== -# === System detection === -# ======================== - -vcpkg_detect_compiler() -vcpkg_detect_standard_library() -vcpkg_detect_std_filesystem() - -if (VCPKG_EMBED_GIT_SHA) - find_package(Git REQUIRED) - execute_process( - COMMAND "${GIT_EXECUTABLE}" status --porcelain=v1 - WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} - OUTPUT_VARIABLE VCPKG_GIT_STATUS - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - - if (VCPKG_GIT_STATUS STREQUAL "") - execute_process( - COMMAND "${GIT_EXECUTABLE}" rev-parse HEAD - WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} - OUTPUT_VARIABLE VCPKG_VERSION - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - else() - message(WARNING "Skipping embedding SHA due to local changes.") - endif() -endif() - -if (NOT DEFINED VCPKG_VERSION OR VCPKG_VERSION STREQUAL "") - set(VCPKG_VERSION "unknownhash") -endif() - -set(VCPKG_BASE_VERSION "2021-01-13") - -set(CMAKE_CXX_EXTENSIONS OFF) -set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(CMAKE_CXX_STANDARD 17) -if(MSVC) - string(REGEX REPLACE "[-/]W[0-4]" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") - if (CMAKE_BUILD_TYPE STREQUAL "Release") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Zi /guard:cf") - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /DEBUG /debugtype:cv,fixup /guard:cf") - endif() -endif() - -if(APPLE) - SET(CMAKE_C_ARCHIVE_CREATE " Scr ") - SET(CMAKE_CXX_ARCHIVE_CREATE " Scr ") - SET(CMAKE_C_ARCHIVE_FINISH " -no_warning_for_no_symbols -c ") - SET(CMAKE_CXX_ARCHIVE_FINISH " -no_warning_for_no_symbols -c ") -endif() - -# =============== -# === Targets === -# =============== - -# === Target: vcpkglib === - -add_library(vcpkglib - ${VCPKGLIB_BASE_SOURCES} - ${VCPKGLIB_SOURCES} - ${VCPKGLIB_BASE_INCLUDES} - ${VCPKGLIB_INCLUDES}) -target_include_directories(vcpkglib PUBLIC include) - -vcpkg_target_add_warning_options(vcpkglib) -target_compile_definitions(vcpkglib PUBLIC - VCPKG_USE_STD_FILESYSTEM=$ - VCPKG_VERSION=${VCPKG_VERSION} - VCPKG_BASE_VERSION=${VCPKG_BASE_VERSION} - ) - -set(THREADS_PREFER_PTHREAD_FLAG ON) -find_package(Threads REQUIRED) -target_link_libraries(vcpkglib PRIVATE Threads::Threads) - -if(VCPKG_CXXFS_LIBRARY) - target_link_libraries(vcpkglib PRIVATE ${VCPKG_CXXFS_LIBRARY}) -endif() - -if(MSVC) - get_target_property(_srcs vcpkglib SOURCES) - - if(NOT CMAKE_GENERATOR MATCHES "Visual Studio .*") - set_property(SOURCE src/pch.cpp APPEND PROPERTY OBJECT_OUTPUTS "${CMAKE_CURRENT_BINARY_DIR}/pch.pch") - set_property(SOURCE ${_srcs} APPEND PROPERTY OBJECT_DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/pch.pch") - endif() - - set_source_files_properties(src/pch.cpp PROPERTIES COMPILE_FLAGS "/Ycpch.h") - target_sources(vcpkglib PRIVATE src/pch.cpp) - target_compile_options(vcpkglib PRIVATE /Yupch.h /FIpch.h /Zm200) -else() - target_compile_options(vcpkglib PRIVATE -include "${CMAKE_CURRENT_SOURCE_DIR}/include/pch.h") -endif() - -if (MINGW) - target_compile_definitions(vcpkglib - PUBLIC - UNICODE - _WIN32_WINNT=0x0601 - WINHTTP_ACCESS_TYPE_AUTOMATIC_PROXY=4 - __fastfail=exit) - target_link_libraries(vcpkglib PUBLIC winhttp bcrypt version ole32 uuid) -endif() - -# === Target: vcpkg === - -add_executable(vcpkg ${VCPKG_SOURCES}) -target_link_libraries(vcpkg PRIVATE vcpkglib) -vcpkg_target_add_warning_options(vcpkg) - -# === Target: vcpkg-test === - -if (BUILD_TESTING) - enable_testing() - - add_executable(vcpkg-test - ${VCPKG_TEST_SOURCES} - ${VCPKG_TEST_INCLUDES}) - target_link_libraries(vcpkg-test PRIVATE vcpkglib) - vcpkg_target_add_warning_options(vcpkg-test) - - add_test(NAME default COMMAND vcpkg-test --order rand --rng-seed time) - - if (VCPKG_BUILD_BENCHMARKING) - target_compile_options(vcpkg-test PRIVATE -DCATCH_CONFIG_ENABLE_BENCHMARKING) - endif() -endif() - -# === Target: vcpkg-fuzz === - -if(VCPKG_BUILD_FUZZING) - add_executable(vcpkg-fuzz ${VCPKG_FUZZ_SOURCES}) - target_link_libraries(vcpkg-fuzz PRIVATE vcpkglib) - vcpkg_target_add_warning_options(vcpkg-fuzz) -endif() - - -# === Target: tls12-download === - -set(TLS12_DOWNLOAD_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/src/tls12-download.c) -if(WIN32) - add_executable(tls12-download ${TLS12_DOWNLOAD_SOURCES}) - set_property(TARGET tls12-download PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded") - set_property(TARGET tls12-download APPEND PROPERTY LINK_OPTIONS "$,,/ENTRY:entry>") - target_link_libraries(tls12-download winhttp) -endif() - - -# === Target: format === - -find_program(CLANG_FORMAT clang-format) -if(CLANG_FORMAT) - # doing all of these formats in one line has a tendency to overflow the command line length - add_custom_target(format - COMMAND ${CLANG_FORMAT} -i -verbose ${CMAKE_CURRENT_SOURCE_DIR}/src/pch.cpp - COMMAND ${CLANG_FORMAT} -i -verbose ${VCPKGLIB_BASE_SOURCES} - COMMAND ${CLANG_FORMAT} -i -verbose ${VCPKGLIB_SOURCES} - COMMAND ${CLANG_FORMAT} -i -verbose ${CMAKE_CURRENT_SOURCE_DIR}/include/pch.h - COMMAND ${CLANG_FORMAT} -i -verbose ${VCPKGLIB_BASE_INCLUDES} - COMMAND ${CLANG_FORMAT} -i -verbose ${VCPKGLIB_INCLUDES} - - COMMAND ${CLANG_FORMAT} -i -verbose ${VCPKG_SOURCES} - - COMMAND ${CLANG_FORMAT} -i -verbose ${VCPKG_TEST_SOURCES} - COMMAND ${CLANG_FORMAT} -i -verbose ${VCPKG_TEST_INCLUDES} - - COMMAND ${CLANG_FORMAT} -i -verbose ${VCPKG_FUZZ_SOURCES} - COMMAND ${CLANG_FORMAT} -i -verbose ${TLS12_DOWNLOAD_SOURCES} - ) -endif() diff --git a/toolsrc/cmake/utilities.cmake b/toolsrc/cmake/utilities.cmake deleted file mode 100644 index 4b434a9c76aba4..00000000000000 --- a/toolsrc/cmake/utilities.cmake +++ /dev/null @@ -1,250 +0,0 @@ -# Outputs to Cache: VCPKG_COMPILER -function(vcpkg_detect_compiler) - if(NOT DEFINED CACHE{VCPKG_COMPILER}) - message(STATUS "Detecting the C++ compiler in use") - if(CMAKE_COMPILER_IS_GNUXX OR CMAKE_CXX_COMPILER_ID MATCHES "GNU") - if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 6.0) - message(FATAL_ERROR [[ -The g++ version picked up is too old; please install a newer compiler such as g++-7. -On Ubuntu try the following: - sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y - sudo apt-get update -y - sudo apt-get install g++-7 -y -On CentOS try the following: - sudo yum install centos-release-scl - sudo yum install devtoolset-7 - scl enable devtoolset-7 bash -]]) - endif() - - set(COMPILER "gcc") - elseif(CMAKE_CXX_COMPILER_ID MATCHES "AppleClang") - #[[ - Note: CMAKE_SYSTEM_VERSION uses darwin versions - - Darwin 19.0.0 = macOS 10.15, iOS 13 - - Darwin 18.0.0 = macOS 10.14, iOS 12 - - Darwin 17.0.0 = macOS 10.13, iOS 11 - - Darwin 16.0.0 = macOS 10.12, iOS 10 - ]] - if(CMAKE_SYSTEM_VERSION VERSION_LESS "19.0.0" AND NOT VCPKG_ALLOW_APPLE_CLANG) - message(FATAL_ERROR [[ -Building the vcpkg tool requires support for the C++ Filesystem TS. -macOS versions below 10.15 do not have support for it with Apple Clang. -Please install gcc6 or newer from homebrew (brew install gcc). -If you would like to try anyway, pass --allowAppleClang to bootstrap.sh. -]]) - endif() - set(COMPILER "clang") - elseif(CMAKE_CXX_COMPILER_ID MATCHES "[Cc]lang") - set(COMPILER "clang") - elseif(MSVC) - set(COMPILER "msvc") - else() - message(FATAL_ERROR "Unknown compiler: ${CMAKE_CXX_COMPILER_ID}") - endif() - - set(VCPKG_COMPILER ${COMPILER} - CACHE STRING - "The compiler in use; one of gcc, clang, msvc") - message(STATUS "Detecting the C++ compiler in use - ${VCPKG_COMPILER}") - endif() -endfunction() - -# Outputs to Cache: VCPKG_STANDARD_LIBRARY -function(vcpkg_detect_standard_library) - if(NOT DEFINED CACHE{VCPKG_STANDARD_LIBRARY}) - include(CheckCXXSourceCompiles) - - message(STATUS "Detecting the C++ standard library") - - # note: since is the smallest header, generally it's used to get the standard library version - set(CMAKE_REQUIRED_QUIET ON) - check_cxx_source_compiles([[ -#include -#if !defined(__GLIBCXX__) -#error "not libstdc++" -#endif -int main() {} -]] - _VCPKG_STANDARD_LIBRARY_LIBSTDCXX) - check_cxx_source_compiles([[ -#include -#if !defined(_LIBCPP_VERSION) -#error "not libc++" -#endif -int main() {} -]] - _VCPKG_STANDARD_LIBRARY_LIBCXX) - check_cxx_source_compiles([[ -#include -#if !defined(_MSVC_STL_VERSION) && !(defined(_MSC_VER) && _MSC_VER <= 1900) -#error "not MSVC stl" -#endif -int main() {} -]] - _VCPKG_STANDARD_LIBRARY_MSVC_STL) - if(_VCPKG_STANDARD_LIBRARY_LIBSTDCXX) - set(STANDARD_LIBRARY "libstdc++") - elseif(_VCPKG_STANDARD_LIBRARY_LIBCXX) - set(STANDARD_LIBRARY "libc++") - elseif(_VCPKG_STANDARD_LIBRARY_MSVC_STL) - set(STANDARD_LIBRARY "msvc-stl") - else() - message(FATAL_ERROR "Can't find which C++ runtime is in use") - endif() - - set(VCPKG_STANDARD_LIBRARY ${STANDARD_LIBRARY} - CACHE STRING - "The C++ standard library in use; one of libstdc++, libc++, msvc-stl") - - message(STATUS "Detecting the C++ standard library - ${VCPKG_STANDARD_LIBRARY}") - endif() -endfunction() - -# Outputs to Cache: VCPKG_USE_STD_FILESYSTEM, VCPKG_CXXFS_LIBRARY -function(vcpkg_detect_std_filesystem) - vcpkg_detect_standard_library() - - if(NOT DEFINED CACHE{VCPKG_USE_STD_FILESYSTEM}) - include(CheckCXXSourceCompiles) - - message(STATUS "Detecting how to use the C++ filesystem library") - - set(CMAKE_REQUIRED_QUIET ON) - if(VCPKG_STANDARD_LIBRARY STREQUAL "libstdc++") - check_cxx_source_compiles([[ -#include -#if defined(_GLIBCXX_RELEASE) && _GLIBCXX_RELEASE >= 9 -#error "libstdc++ after version 9 does not require -lstdc++fs" -#endif -int main() {} -]] - _VCPKG_REQUIRE_LINK_CXXFS) - - check_cxx_source_compiles([[ -#include -#if !defined(_GLIBCXX_RELEASE) || _GLIBCXX_RELEASE < 8 -#error "libstdc++ before version 8 does not support " -#endif -int main() {} -]] - _VCPKG_USE_STD_FILESYSTEM) - - if(_VCPKG_REQUIRE_LINK_CXXFS) - set(_VCPKG_CXXFS_LIBRARY "stdc++fs") - endif() - elseif(VCPKG_STANDARD_LIBRARY STREQUAL "libc++") - if(CMAKE_CXX_COMPILER_ID MATCHES "AppleClang") - # AppleClang never requires (or allows) -lc++fs, even with libc++ version 8.0.0 - set(_VCPKG_CXXFS_LIBRARY OFF) - elseif(CMAKE_SYSTEM_NAME STREQUAL "OpenBSD") - # As above, not required on this platform (tested at least on 6.8) - set(_VCPKG_CXXFS_LIBRARY OFF) - else() - check_cxx_source_compiles([[ -#include -#if _LIBCPP_VERSION >= 9000 -#error "libc++ after version 9 does not require -lc++fs" -#endif -int main() {} -]] - _VCPKG_REQUIRE_LINK_CXXFS) - - if(_VCPKG_REQUIRE_LINK_CXXFS) - set(_VCPKG_CXXFS_LIBRARY "c++fs") - endif() - endif() - - # We don't support versions of libc++ < 7.0.0, and libc++ 7.0.0 has - set(_VCPKG_USE_STD_FILESYSTEM ON) - elseif(VCPKG_STANDARD_LIBRARY STREQUAL "msvc-stl") - check_cxx_source_compiles( - "#include - #if !defined(_MSVC_STL_UPDATE) || _MSVC_STL_UPDATE < 201803 - #error \"MSVC STL before 15.7 does not support \" - #endif - int main() {}" - _VCPKG_USE_STD_FILESYSTEM) - - set(_VCPKG_CXXFS_LIBRARY OFF) - endif() - - set(VCPKG_USE_STD_FILESYSTEM ${_VCPKG_USE_STD_FILESYSTEM} - CACHE BOOL - "Whether to use , as opposed to " - FORCE) - set(VCPKG_CXXFS_LIBRARY ${_VCPKG_CXXFS_LIBRARY} - CACHE STRING - "Library to link (if any) in order to use " - FORCE) - - if(VCPKG_USE_STD_FILESYSTEM) - set(msg "") - else() - set(msg "") - endif() - if(VCPKG_CXXFS_LIBRARY) - set(msg "${msg} with -l${VCPKG_CXXFS_LIBRARY}") - endif() - - message(STATUS "Detecting how to use the C++ filesystem library - ${msg}") - endif() -endfunction() - -function(vcpkg_target_add_warning_options TARGET) - if(MSVC) - # either MSVC, or clang-cl - target_compile_options(${TARGET} PRIVATE -FC) - - if (MSVC_VERSION GREATER 1900) - # Visual Studio 2017 or later - target_compile_options(${TARGET} PRIVATE -permissive- -utf-8) - endif() - - if(VCPKG_DEVELOPMENT_WARNINGS) - target_compile_options(${TARGET} PRIVATE -W4) - if(VCPKG_COMPILER STREQUAL "clang") - # -Wno-range-loop-analysis is due to an LLVM bug which will be fixed in a - # future version of clang https://reviews.llvm.org/D73007 - target_compile_options(${TARGET} PRIVATE - -Wmissing-prototypes - -Wno-missing-field-initializers - -Wno-range-loop-analysis - ) - else() - target_compile_options(${TARGET} PRIVATE -analyze) - endif() - else() - target_compile_options(${TARGET} PRIVATE -W3) - endif() - - if(VCPKG_WARNINGS_AS_ERRORS) - target_compile_options(${TARGET} PRIVATE -WX) - endif() - else() - if(VCPKG_DEVELOPMENT_WARNINGS) - target_compile_options(${TARGET} PRIVATE - -Wall -Wextra -Wpedantic - -Wno-unknown-pragmas - -Wno-missing-field-initializers - -Wno-redundant-move - ) - - # GCC and clang have different names for the same warning - if(VCPKG_COMPILER STREQUAL "gcc") - target_compile_options(${TARGET} PRIVATE - -Wmissing-declarations - ) - elseif(VCPKG_COMPILER STREQUAL "clang") - target_compile_options(${TARGET} PRIVATE - -Wmissing-prototypes - -Wno-range-loop-analysis - ) - endif() - endif() - - if(VCPKG_WARNINGS_AS_ERRORS) - target_compile_options(${TARGET} PRIVATE -Werror) - endif() - endif() -endfunction() diff --git a/toolsrc/include/catch2/catch.hpp b/toolsrc/include/catch2/catch.hpp deleted file mode 100644 index f471a2ec68a3dd..00000000000000 --- a/toolsrc/include/catch2/catch.hpp +++ /dev/null @@ -1,16865 +0,0 @@ -/* - * Catch v2.9.1 - * Generated: 2019-06-17 11:59:24.363643 - * ---------------------------------------------------------- - * This file has been merged from multiple headers. Please don't edit it directly - * Copyright (c) 2019 Two Blue Cubes Ltd. All rights reserved. - * - * Distributed under the Boost Software License, Version 1.0. (See accompanying - * file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - */ -#ifndef TWOBLUECUBES_SINGLE_INCLUDE_CATCH_HPP_INCLUDED -#define TWOBLUECUBES_SINGLE_INCLUDE_CATCH_HPP_INCLUDED -// start catch.hpp - - -#define CATCH_VERSION_MAJOR 2 -#define CATCH_VERSION_MINOR 9 -#define CATCH_VERSION_PATCH 1 - -#ifdef __clang__ -# pragma clang system_header -#elif defined __GNUC__ -# pragma GCC system_header -#endif - -// start catch_suppress_warnings.h - -#ifdef __clang__ -# ifdef __ICC // icpc defines the __clang__ macro -# pragma warning(push) -# pragma warning(disable: 161 1682) -# else // __ICC -# pragma clang diagnostic push -# pragma clang diagnostic ignored "-Wpadded" -# pragma clang diagnostic ignored "-Wswitch-enum" -# pragma clang diagnostic ignored "-Wcovered-switch-default" -# endif -#elif defined __GNUC__ - // Because REQUIREs trigger GCC's -Wparentheses, and because still - // supported version of g++ have only buggy support for _Pragmas, - // Wparentheses have to be suppressed globally. -# pragma GCC diagnostic ignored "-Wparentheses" // See #674 for details - -# pragma GCC diagnostic push -# pragma GCC diagnostic ignored "-Wunused-variable" -# pragma GCC diagnostic ignored "-Wpadded" -#endif -// end catch_suppress_warnings.h -#if defined(CATCH_CONFIG_MAIN) || defined(CATCH_CONFIG_RUNNER) -# define CATCH_IMPL -# define CATCH_CONFIG_ALL_PARTS -#endif - -// In the impl file, we want to have access to all parts of the headers -// Can also be used to sanely support PCHs -#if defined(CATCH_CONFIG_ALL_PARTS) -# define CATCH_CONFIG_EXTERNAL_INTERFACES -# if defined(CATCH_CONFIG_DISABLE_MATCHERS) -# undef CATCH_CONFIG_DISABLE_MATCHERS -# endif -# if !defined(CATCH_CONFIG_ENABLE_CHRONO_STRINGMAKER) -# define CATCH_CONFIG_ENABLE_CHRONO_STRINGMAKER -# endif -#endif - -#if !defined(CATCH_CONFIG_IMPL_ONLY) -// start catch_platform.h - -#ifdef __APPLE__ -# include -# if TARGET_OS_OSX == 1 -# define CATCH_PLATFORM_MAC -# elif TARGET_OS_IPHONE == 1 -# define CATCH_PLATFORM_IPHONE -# endif - -#elif defined(linux) || defined(__linux) || defined(__linux__) -# define CATCH_PLATFORM_LINUX - -#elif defined(WIN32) || defined(__WIN32__) || defined(_WIN32) || defined(_MSC_VER) || defined(__MINGW32__) -# define CATCH_PLATFORM_WINDOWS -#endif - -// end catch_platform.h - -#ifdef CATCH_IMPL -# ifndef CLARA_CONFIG_MAIN -# define CLARA_CONFIG_MAIN_NOT_DEFINED -# define CLARA_CONFIG_MAIN -# endif -#endif - -// start catch_user_interfaces.h - -namespace Catch { - unsigned int rngSeed(); -} - -// end catch_user_interfaces.h -// start catch_tag_alias_autoregistrar.h - -// start catch_common.h - -// start catch_compiler_capabilities.h - -// Detect a number of compiler features - by compiler -// The following features are defined: -// -// CATCH_CONFIG_COUNTER : is the __COUNTER__ macro supported? -// CATCH_CONFIG_WINDOWS_SEH : is Windows SEH supported? -// CATCH_CONFIG_POSIX_SIGNALS : are POSIX signals supported? -// CATCH_CONFIG_DISABLE_EXCEPTIONS : Are exceptions enabled? -// **************** -// Note to maintainers: if new toggles are added please document them -// in configuration.md, too -// **************** - -// In general each macro has a _NO_ form -// (e.g. CATCH_CONFIG_NO_POSIX_SIGNALS) which disables the feature. -// Many features, at point of detection, define an _INTERNAL_ macro, so they -// can be combined, en-mass, with the _NO_ forms later. - -#ifdef __cplusplus - -# if (__cplusplus >= 201402L) || (defined(_MSVC_LANG) && _MSVC_LANG >= 201402L) -# define CATCH_CPP14_OR_GREATER -# endif - -# if (__cplusplus >= 201703L) || (defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) -# define CATCH_CPP17_OR_GREATER -# endif - -#endif - -#if defined(CATCH_CPP17_OR_GREATER) -# define CATCH_INTERNAL_CONFIG_CPP17_UNCAUGHT_EXCEPTIONS -#endif - -#ifdef __clang__ - -# define CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ - _Pragma( "clang diagnostic push" ) \ - _Pragma( "clang diagnostic ignored \"-Wexit-time-destructors\"" ) \ - _Pragma( "clang diagnostic ignored \"-Wglobal-constructors\"") -# define CATCH_INTERNAL_UNSUPPRESS_GLOBALS_WARNINGS \ - _Pragma( "clang diagnostic pop" ) - -# define CATCH_INTERNAL_SUPPRESS_PARENTHESES_WARNINGS \ - _Pragma( "clang diagnostic push" ) \ - _Pragma( "clang diagnostic ignored \"-Wparentheses\"" ) -# define CATCH_INTERNAL_UNSUPPRESS_PARENTHESES_WARNINGS \ - _Pragma( "clang diagnostic pop" ) - -# define CATCH_INTERNAL_SUPPRESS_UNUSED_WARNINGS \ - _Pragma( "clang diagnostic push" ) \ - _Pragma( "clang diagnostic ignored \"-Wunused-variable\"" ) -# define CATCH_INTERNAL_UNSUPPRESS_UNUSED_WARNINGS \ - _Pragma( "clang diagnostic pop" ) - -# define CATCH_INTERNAL_SUPPRESS_ZERO_VARIADIC_WARNINGS \ - _Pragma( "clang diagnostic push" ) \ - _Pragma( "clang diagnostic ignored \"-Wgnu-zero-variadic-macro-arguments\"" ) -# define CATCH_INTERNAL_UNSUPPRESS_ZERO_VARIADIC_WARNINGS \ - _Pragma( "clang diagnostic pop" ) - -#endif // __clang__ - -//////////////////////////////////////////////////////////////////////////////// -// Assume that non-Windows platforms support posix signals by default -#if !defined(CATCH_PLATFORM_WINDOWS) - #define CATCH_INTERNAL_CONFIG_POSIX_SIGNALS -#endif - -//////////////////////////////////////////////////////////////////////////////// -// We know some environments not to support full POSIX signals -#if defined(__CYGWIN__) || defined(__QNX__) || defined(__EMSCRIPTEN__) || defined(__DJGPP__) - #define CATCH_INTERNAL_CONFIG_NO_POSIX_SIGNALS -#endif - -#ifdef __OS400__ -# define CATCH_INTERNAL_CONFIG_NO_POSIX_SIGNALS -# define CATCH_CONFIG_COLOUR_NONE -#endif - -//////////////////////////////////////////////////////////////////////////////// -// Android somehow still does not support std::to_string -#if defined(__ANDROID__) -# define CATCH_INTERNAL_CONFIG_NO_CPP11_TO_STRING -#endif - -//////////////////////////////////////////////////////////////////////////////// -// Not all Windows environments support SEH properly -#if defined(__MINGW32__) -# define CATCH_INTERNAL_CONFIG_NO_WINDOWS_SEH -#endif - -//////////////////////////////////////////////////////////////////////////////// -// PS4 -#if defined(__ORBIS__) -# define CATCH_INTERNAL_CONFIG_NO_NEW_CAPTURE -#endif - -//////////////////////////////////////////////////////////////////////////////// -// Cygwin -#ifdef __CYGWIN__ - -// Required for some versions of Cygwin to declare gettimeofday -// see: http://stackoverflow.com/questions/36901803/gettimeofday-not-declared-in-this-scope-cygwin -# define _BSD_SOURCE -// some versions of cygwin (most) do not support std::to_string. Use the libstd check. -// https://gcc.gnu.org/onlinedocs/gcc-4.8.2/libstdc++/api/a01053_source.html line 2812-2813 -# if !((__cplusplus >= 201103L) && defined(_GLIBCXX_USE_C99) \ - && !defined(_GLIBCXX_HAVE_BROKEN_VSWPRINTF)) - -# define CATCH_INTERNAL_CONFIG_NO_CPP11_TO_STRING - -# endif -#endif // __CYGWIN__ - -//////////////////////////////////////////////////////////////////////////////// -// Visual C++ -#ifdef _MSC_VER - -# if _MSC_VER >= 1900 // Visual Studio 2015 or newer -# define CATCH_INTERNAL_CONFIG_CPP17_UNCAUGHT_EXCEPTIONS -# endif - -// Universal Windows platform does not support SEH -// Or console colours (or console at all...) -# if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_APP) -# define CATCH_CONFIG_COLOUR_NONE -# else -# define CATCH_INTERNAL_CONFIG_WINDOWS_SEH -# endif - -// MSVC traditional preprocessor needs some workaround for __VA_ARGS__ -// _MSVC_TRADITIONAL == 0 means new conformant preprocessor -// _MSVC_TRADITIONAL == 1 means old traditional non-conformant preprocessor -# if !defined(_MSVC_TRADITIONAL) || (defined(_MSVC_TRADITIONAL) && _MSVC_TRADITIONAL) -# define CATCH_INTERNAL_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR -# endif -#endif // _MSC_VER - -#if defined(_REENTRANT) || defined(_MSC_VER) -// Enable async processing, as -pthread is specified or no additional linking is required -# define CATCH_INTERNAL_CONFIG_USE_ASYNC -#endif // _MSC_VER - -//////////////////////////////////////////////////////////////////////////////// -// Check if we are compiled with -fno-exceptions or equivalent -#if defined(__EXCEPTIONS) || defined(__cpp_exceptions) || defined(_CPPUNWIND) -# define CATCH_INTERNAL_CONFIG_EXCEPTIONS_ENABLED -#endif - -//////////////////////////////////////////////////////////////////////////////// -// DJGPP -#ifdef __DJGPP__ -# define CATCH_INTERNAL_CONFIG_NO_WCHAR -#endif // __DJGPP__ - -//////////////////////////////////////////////////////////////////////////////// -// Embarcadero C++Build -#if defined(__BORLANDC__) - #define CATCH_INTERNAL_CONFIG_POLYFILL_ISNAN -#endif - -//////////////////////////////////////////////////////////////////////////////// - -// Use of __COUNTER__ is suppressed during code analysis in -// CLion/AppCode 2017.2.x and former, because __COUNTER__ is not properly -// handled by it. -// Otherwise all supported compilers support COUNTER macro, -// but user still might want to turn it off -#if ( !defined(__JETBRAINS_IDE__) || __JETBRAINS_IDE__ >= 20170300L ) - #define CATCH_INTERNAL_CONFIG_COUNTER -#endif - -//////////////////////////////////////////////////////////////////////////////// -// Check if string_view is available and usable -// The check is split apart to work around v140 (VS2015) preprocessor issue... -#if defined(__has_include) -#if __has_include() && defined(CATCH_CPP17_OR_GREATER) -# define CATCH_INTERNAL_CONFIG_CPP17_STRING_VIEW -#endif -#endif - -//////////////////////////////////////////////////////////////////////////////// -// Check if optional is available and usable -#if defined(__has_include) -# if __has_include() && defined(CATCH_CPP17_OR_GREATER) -# define CATCH_INTERNAL_CONFIG_CPP17_OPTIONAL -# endif // __has_include() && defined(CATCH_CPP17_OR_GREATER) -#endif // __has_include - -//////////////////////////////////////////////////////////////////////////////// -// Check if variant is available and usable -#if defined(__has_include) -# if __has_include() && defined(CATCH_CPP17_OR_GREATER) -# if defined(__clang__) && (__clang_major__ < 8) - // work around clang bug with libstdc++ https://bugs.llvm.org/show_bug.cgi?id=31852 - // fix should be in clang 8, workaround in libstdc++ 8.2 -# include -# if defined(__GLIBCXX__) && defined(_GLIBCXX_RELEASE) && (_GLIBCXX_RELEASE < 9) -# define CATCH_CONFIG_NO_CPP17_VARIANT -# else -# define CATCH_INTERNAL_CONFIG_CPP17_VARIANT -# endif // defined(__GLIBCXX__) && defined(_GLIBCXX_RELEASE) && (_GLIBCXX_RELEASE < 9) -# else -# define CATCH_INTERNAL_CONFIG_CPP17_VARIANT -# endif // defined(__clang__) && (__clang_major__ < 8) -# endif // __has_include() && defined(CATCH_CPP17_OR_GREATER) -#endif // __has_include - -#if defined(CATCH_INTERNAL_CONFIG_COUNTER) && !defined(CATCH_CONFIG_NO_COUNTER) && !defined(CATCH_CONFIG_COUNTER) -# define CATCH_CONFIG_COUNTER -#endif -#if defined(CATCH_INTERNAL_CONFIG_WINDOWS_SEH) && !defined(CATCH_CONFIG_NO_WINDOWS_SEH) && !defined(CATCH_CONFIG_WINDOWS_SEH) && !defined(CATCH_INTERNAL_CONFIG_NO_WINDOWS_SEH) -# define CATCH_CONFIG_WINDOWS_SEH -#endif -// This is set by default, because we assume that unix compilers are posix-signal-compatible by default. -#if defined(CATCH_INTERNAL_CONFIG_POSIX_SIGNALS) && !defined(CATCH_INTERNAL_CONFIG_NO_POSIX_SIGNALS) && !defined(CATCH_CONFIG_NO_POSIX_SIGNALS) && !defined(CATCH_CONFIG_POSIX_SIGNALS) -# define CATCH_CONFIG_POSIX_SIGNALS -#endif -// This is set by default, because we assume that compilers with no wchar_t support are just rare exceptions. -#if !defined(CATCH_INTERNAL_CONFIG_NO_WCHAR) && !defined(CATCH_CONFIG_NO_WCHAR) && !defined(CATCH_CONFIG_WCHAR) -# define CATCH_CONFIG_WCHAR -#endif - -#if !defined(CATCH_INTERNAL_CONFIG_NO_CPP11_TO_STRING) && !defined(CATCH_CONFIG_NO_CPP11_TO_STRING) && !defined(CATCH_CONFIG_CPP11_TO_STRING) -# define CATCH_CONFIG_CPP11_TO_STRING -#endif - -#if defined(CATCH_INTERNAL_CONFIG_CPP17_OPTIONAL) && !defined(CATCH_CONFIG_NO_CPP17_OPTIONAL) && !defined(CATCH_CONFIG_CPP17_OPTIONAL) -# define CATCH_CONFIG_CPP17_OPTIONAL -#endif - -#if defined(CATCH_INTERNAL_CONFIG_CPP17_UNCAUGHT_EXCEPTIONS) && !defined(CATCH_CONFIG_NO_CPP17_UNCAUGHT_EXCEPTIONS) && !defined(CATCH_CONFIG_CPP17_UNCAUGHT_EXCEPTIONS) -# define CATCH_CONFIG_CPP17_UNCAUGHT_EXCEPTIONS -#endif - -#if defined(CATCH_INTERNAL_CONFIG_CPP17_STRING_VIEW) && !defined(CATCH_CONFIG_NO_CPP17_STRING_VIEW) && !defined(CATCH_CONFIG_CPP17_STRING_VIEW) -# define CATCH_CONFIG_CPP17_STRING_VIEW -#endif - -#if defined(CATCH_INTERNAL_CONFIG_CPP17_VARIANT) && !defined(CATCH_CONFIG_NO_CPP17_VARIANT) && !defined(CATCH_CONFIG_CPP17_VARIANT) -# define CATCH_CONFIG_CPP17_VARIANT -#endif - -#if defined(CATCH_CONFIG_EXPERIMENTAL_REDIRECT) -# define CATCH_INTERNAL_CONFIG_NEW_CAPTURE -#endif - -#if defined(CATCH_INTERNAL_CONFIG_NEW_CAPTURE) && !defined(CATCH_INTERNAL_CONFIG_NO_NEW_CAPTURE) && !defined(CATCH_CONFIG_NO_NEW_CAPTURE) && !defined(CATCH_CONFIG_NEW_CAPTURE) -# define CATCH_CONFIG_NEW_CAPTURE -#endif - -#if !defined(CATCH_INTERNAL_CONFIG_EXCEPTIONS_ENABLED) && !defined(CATCH_CONFIG_DISABLE_EXCEPTIONS) -# define CATCH_CONFIG_DISABLE_EXCEPTIONS -#endif - -#if defined(CATCH_INTERNAL_CONFIG_POLYFILL_ISNAN) && !defined(CATCH_CONFIG_NO_POLYFILL_ISNAN) && !defined(CATCH_CONFIG_POLYFILL_ISNAN) -# define CATCH_CONFIG_POLYFILL_ISNAN -#endif - -#if defined(CATCH_INTERNAL_CONFIG_USE_ASYNC) && !defined(CATCH_CONFIG_NO_USE_ASYNC) && !defined(CATCH_CONFIG_USE_ASYNC) -# define CATCH_CONFIG_USE_ASYNC -#endif - -#if !defined(CATCH_INTERNAL_SUPPRESS_PARENTHESES_WARNINGS) -# define CATCH_INTERNAL_SUPPRESS_PARENTHESES_WARNINGS -# define CATCH_INTERNAL_UNSUPPRESS_PARENTHESES_WARNINGS -#endif -#if !defined(CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS) -# define CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS -# define CATCH_INTERNAL_UNSUPPRESS_GLOBALS_WARNINGS -#endif -#if !defined(CATCH_INTERNAL_SUPPRESS_UNUSED_WARNINGS) -# define CATCH_INTERNAL_SUPPRESS_UNUSED_WARNINGS -# define CATCH_INTERNAL_UNSUPPRESS_UNUSED_WARNINGS -#endif -#if !defined(CATCH_INTERNAL_SUPPRESS_ZERO_VARIADIC_WARNINGS) -# define CATCH_INTERNAL_SUPPRESS_ZERO_VARIADIC_WARNINGS -# define CATCH_INTERNAL_UNSUPPRESS_ZERO_VARIADIC_WARNINGS -#endif - -#if defined(CATCH_CONFIG_DISABLE_EXCEPTIONS) -#define CATCH_TRY if ((true)) -#define CATCH_CATCH_ALL if ((false)) -#define CATCH_CATCH_ANON(type) if ((false)) -#else -#define CATCH_TRY try -#define CATCH_CATCH_ALL catch (...) -#define CATCH_CATCH_ANON(type) catch (type) -#endif - -#if defined(CATCH_INTERNAL_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR) && !defined(CATCH_CONFIG_NO_TRADITIONAL_MSVC_PREPROCESSOR) && !defined(CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR) -#define CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR -#endif - -// end catch_compiler_capabilities.h -#define INTERNAL_CATCH_UNIQUE_NAME_LINE2( name, line ) name##line -#define INTERNAL_CATCH_UNIQUE_NAME_LINE( name, line ) INTERNAL_CATCH_UNIQUE_NAME_LINE2( name, line ) -#ifdef CATCH_CONFIG_COUNTER -# define INTERNAL_CATCH_UNIQUE_NAME( name ) INTERNAL_CATCH_UNIQUE_NAME_LINE( name, __COUNTER__ ) -#else -# define INTERNAL_CATCH_UNIQUE_NAME( name ) INTERNAL_CATCH_UNIQUE_NAME_LINE( name, __LINE__ ) -#endif - -#include -#include -#include - -// We need a dummy global operator<< so we can bring it into Catch namespace later -struct Catch_global_namespace_dummy {}; -std::ostream& operator<<(std::ostream&, Catch_global_namespace_dummy); - -namespace Catch { - - struct CaseSensitive { enum Choice { - Yes, - No - }; }; - - class NonCopyable { - NonCopyable( NonCopyable const& ) = delete; - NonCopyable( NonCopyable && ) = delete; - NonCopyable& operator = ( NonCopyable const& ) = delete; - NonCopyable& operator = ( NonCopyable && ) = delete; - - protected: - NonCopyable(); - virtual ~NonCopyable(); - }; - - struct SourceLineInfo { - - SourceLineInfo() = delete; - SourceLineInfo( char const* _file, std::size_t _line ) noexcept - : file( _file ), - line( _line ) - {} - - SourceLineInfo( SourceLineInfo const& other ) = default; - SourceLineInfo& operator = ( SourceLineInfo const& ) = default; - SourceLineInfo( SourceLineInfo&& ) noexcept = default; - SourceLineInfo& operator = ( SourceLineInfo&& ) noexcept = default; - - bool empty() const noexcept; - bool operator == ( SourceLineInfo const& other ) const noexcept; - bool operator < ( SourceLineInfo const& other ) const noexcept; - - char const* file; - std::size_t line; - }; - - std::ostream& operator << ( std::ostream& os, SourceLineInfo const& info ); - - // Bring in operator<< from global namespace into Catch namespace - // This is necessary because the overload of operator<< above makes - // lookup stop at namespace Catch - using ::operator<<; - - // Use this in variadic streaming macros to allow - // >> +StreamEndStop - // as well as - // >> stuff +StreamEndStop - struct StreamEndStop { - std::string operator+() const; - }; - template - T const& operator + ( T const& value, StreamEndStop ) { - return value; - } -} - -#define CATCH_INTERNAL_LINEINFO \ - ::Catch::SourceLineInfo( __FILE__, static_cast( __LINE__ ) ) - -// end catch_common.h -namespace Catch { - - struct RegistrarForTagAliases { - RegistrarForTagAliases( char const* alias, char const* tag, SourceLineInfo const& lineInfo ); - }; - -} // end namespace Catch - -#define CATCH_REGISTER_TAG_ALIAS( alias, spec ) \ - CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ - namespace{ Catch::RegistrarForTagAliases INTERNAL_CATCH_UNIQUE_NAME( AutoRegisterTagAlias )( alias, spec, CATCH_INTERNAL_LINEINFO ); } \ - CATCH_INTERNAL_UNSUPPRESS_GLOBALS_WARNINGS - -// end catch_tag_alias_autoregistrar.h -// start catch_test_registry.h - -// start catch_interfaces_testcase.h - -#include - -namespace Catch { - - class TestSpec; - - struct ITestInvoker { - virtual void invoke () const = 0; - virtual ~ITestInvoker(); - }; - - class TestCase; - struct IConfig; - - struct ITestCaseRegistry { - virtual ~ITestCaseRegistry(); - virtual std::vector const& getAllTests() const = 0; - virtual std::vector const& getAllTestsSorted( IConfig const& config ) const = 0; - }; - - bool matchTest( TestCase const& testCase, TestSpec const& testSpec, IConfig const& config ); - std::vector filterTests( std::vector const& testCases, TestSpec const& testSpec, IConfig const& config ); - std::vector const& getAllTestCasesSorted( IConfig const& config ); - -} - -// end catch_interfaces_testcase.h -// start catch_stringref.h - -#include -#include -#include - -namespace Catch { - - /// A non-owning string class (similar to the forthcoming std::string_view) - /// Note that, because a StringRef may be a substring of another string, - /// it may not be null terminated. c_str() must return a null terminated - /// string, however, and so the StringRef will internally take ownership - /// (taking a copy), if necessary. In theory this ownership is not externally - /// visible - but it does mean (substring) StringRefs should not be shared between - /// threads. - class StringRef { - public: - using size_type = std::size_t; - - private: - friend struct StringRefTestAccess; - - char const* m_start; - size_type m_size; - - char* m_data = nullptr; - - void takeOwnership(); - - static constexpr char const* const s_empty = ""; - - public: // construction/ assignment - StringRef() noexcept - : StringRef( s_empty, 0 ) - {} - - StringRef( StringRef const& other ) noexcept - : m_start( other.m_start ), - m_size( other.m_size ) - {} - - StringRef( StringRef&& other ) noexcept - : m_start( other.m_start ), - m_size( other.m_size ), - m_data( other.m_data ) - { - other.m_data = nullptr; - } - - StringRef( char const* rawChars ) noexcept; - - StringRef( char const* rawChars, size_type size ) noexcept - : m_start( rawChars ), - m_size( size ) - {} - - StringRef( std::string const& stdString ) noexcept - : m_start( stdString.c_str() ), - m_size( stdString.size() ) - {} - - ~StringRef() noexcept { - delete[] m_data; - } - - auto operator = ( StringRef const &other ) noexcept -> StringRef& { - delete[] m_data; - m_data = nullptr; - m_start = other.m_start; - m_size = other.m_size; - return *this; - } - - operator std::string() const; - - void swap( StringRef& other ) noexcept; - - public: // operators - auto operator == ( StringRef const& other ) const noexcept -> bool; - auto operator != ( StringRef const& other ) const noexcept -> bool; - - auto operator[] ( size_type index ) const noexcept -> char; - - public: // named queries - auto empty() const noexcept -> bool { - return m_size == 0; - } - auto size() const noexcept -> size_type { - return m_size; - } - - auto numberOfCharacters() const noexcept -> size_type; - auto c_str() const -> char const*; - - public: // substrings and searches - auto substr( size_type start, size_type size ) const noexcept -> StringRef; - - // Returns the current start pointer. - // Note that the pointer can change when if the StringRef is a substring - auto currentData() const noexcept -> char const*; - - private: // ownership queries - may not be consistent between calls - auto isOwned() const noexcept -> bool; - auto isSubstring() const noexcept -> bool; - }; - - auto operator + ( StringRef const& lhs, StringRef const& rhs ) -> std::string; - auto operator + ( StringRef const& lhs, char const* rhs ) -> std::string; - auto operator + ( char const* lhs, StringRef const& rhs ) -> std::string; - - auto operator += ( std::string& lhs, StringRef const& sr ) -> std::string&; - auto operator << ( std::ostream& os, StringRef const& sr ) -> std::ostream&; - - inline auto operator "" _sr( char const* rawChars, std::size_t size ) noexcept -> StringRef { - return StringRef( rawChars, size ); - } - -} // namespace Catch - -inline auto operator "" _catch_sr( char const* rawChars, std::size_t size ) noexcept -> Catch::StringRef { - return Catch::StringRef( rawChars, size ); -} - -// end catch_stringref.h -// start catch_type_traits.hpp - - -#include - -namespace Catch{ - -#ifdef CATCH_CPP17_OR_GREATER - template - inline constexpr auto is_unique = std::true_type{}; - - template - inline constexpr auto is_unique = std::bool_constant< - (!std::is_same_v && ...) && is_unique - >{}; -#else - -template -struct is_unique : std::true_type{}; - -template -struct is_unique : std::integral_constant -::value - && is_unique::value - && is_unique::value ->{}; - -#endif -} - -// end catch_type_traits.hpp -// start catch_preprocessor.hpp - - -#define CATCH_RECURSION_LEVEL0(...) __VA_ARGS__ -#define CATCH_RECURSION_LEVEL1(...) CATCH_RECURSION_LEVEL0(CATCH_RECURSION_LEVEL0(CATCH_RECURSION_LEVEL0(__VA_ARGS__))) -#define CATCH_RECURSION_LEVEL2(...) CATCH_RECURSION_LEVEL1(CATCH_RECURSION_LEVEL1(CATCH_RECURSION_LEVEL1(__VA_ARGS__))) -#define CATCH_RECURSION_LEVEL3(...) CATCH_RECURSION_LEVEL2(CATCH_RECURSION_LEVEL2(CATCH_RECURSION_LEVEL2(__VA_ARGS__))) -#define CATCH_RECURSION_LEVEL4(...) CATCH_RECURSION_LEVEL3(CATCH_RECURSION_LEVEL3(CATCH_RECURSION_LEVEL3(__VA_ARGS__))) -#define CATCH_RECURSION_LEVEL5(...) CATCH_RECURSION_LEVEL4(CATCH_RECURSION_LEVEL4(CATCH_RECURSION_LEVEL4(__VA_ARGS__))) - -#ifdef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR -#define INTERNAL_CATCH_EXPAND_VARGS(...) __VA_ARGS__ -// MSVC needs more evaluations -#define CATCH_RECURSION_LEVEL6(...) CATCH_RECURSION_LEVEL5(CATCH_RECURSION_LEVEL5(CATCH_RECURSION_LEVEL5(__VA_ARGS__))) -#define CATCH_RECURSE(...) CATCH_RECURSION_LEVEL6(CATCH_RECURSION_LEVEL6(__VA_ARGS__)) -#else -#define CATCH_RECURSE(...) CATCH_RECURSION_LEVEL5(__VA_ARGS__) -#endif - -#define CATCH_REC_END(...) -#define CATCH_REC_OUT - -#define CATCH_EMPTY() -#define CATCH_DEFER(id) id CATCH_EMPTY() - -#define CATCH_REC_GET_END2() 0, CATCH_REC_END -#define CATCH_REC_GET_END1(...) CATCH_REC_GET_END2 -#define CATCH_REC_GET_END(...) CATCH_REC_GET_END1 -#define CATCH_REC_NEXT0(test, next, ...) next CATCH_REC_OUT -#define CATCH_REC_NEXT1(test, next) CATCH_DEFER ( CATCH_REC_NEXT0 ) ( test, next, 0) -#define CATCH_REC_NEXT(test, next) CATCH_REC_NEXT1(CATCH_REC_GET_END test, next) - -#define CATCH_REC_LIST0(f, x, peek, ...) , f(x) CATCH_DEFER ( CATCH_REC_NEXT(peek, CATCH_REC_LIST1) ) ( f, peek, __VA_ARGS__ ) -#define CATCH_REC_LIST1(f, x, peek, ...) , f(x) CATCH_DEFER ( CATCH_REC_NEXT(peek, CATCH_REC_LIST0) ) ( f, peek, __VA_ARGS__ ) -#define CATCH_REC_LIST2(f, x, peek, ...) f(x) CATCH_DEFER ( CATCH_REC_NEXT(peek, CATCH_REC_LIST1) ) ( f, peek, __VA_ARGS__ ) - -#define CATCH_REC_LIST0_UD(f, userdata, x, peek, ...) , f(userdata, x) CATCH_DEFER ( CATCH_REC_NEXT(peek, CATCH_REC_LIST1_UD) ) ( f, userdata, peek, __VA_ARGS__ ) -#define CATCH_REC_LIST1_UD(f, userdata, x, peek, ...) , f(userdata, x) CATCH_DEFER ( CATCH_REC_NEXT(peek, CATCH_REC_LIST0_UD) ) ( f, userdata, peek, __VA_ARGS__ ) -#define CATCH_REC_LIST2_UD(f, userdata, x, peek, ...) f(userdata, x) CATCH_DEFER ( CATCH_REC_NEXT(peek, CATCH_REC_LIST1_UD) ) ( f, userdata, peek, __VA_ARGS__ ) - -// Applies the function macro `f` to each of the remaining parameters, inserts commas between the results, -// and passes userdata as the first parameter to each invocation, -// e.g. CATCH_REC_LIST_UD(f, x, a, b, c) evaluates to f(x, a), f(x, b), f(x, c) -#define CATCH_REC_LIST_UD(f, userdata, ...) CATCH_RECURSE(CATCH_REC_LIST2_UD(f, userdata, __VA_ARGS__, ()()(), ()()(), ()()(), 0)) - -#define CATCH_REC_LIST(f, ...) CATCH_RECURSE(CATCH_REC_LIST2(f, __VA_ARGS__, ()()(), ()()(), ()()(), 0)) - -#define INTERNAL_CATCH_EXPAND1(param) INTERNAL_CATCH_EXPAND2(param) -#define INTERNAL_CATCH_EXPAND2(...) INTERNAL_CATCH_NO## __VA_ARGS__ -#define INTERNAL_CATCH_DEF(...) INTERNAL_CATCH_DEF __VA_ARGS__ -#define INTERNAL_CATCH_NOINTERNAL_CATCH_DEF -#define INTERNAL_CATCH_STRINGIZE(...) INTERNAL_CATCH_STRINGIZE2(__VA_ARGS__) -#ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR -#define INTERNAL_CATCH_STRINGIZE2(...) #__VA_ARGS__ -#define INTERNAL_CATCH_STRINGIZE_WITHOUT_PARENS(param) INTERNAL_CATCH_STRINGIZE(INTERNAL_CATCH_REMOVE_PARENS(param)) -#else -// MSVC is adding extra space and needs another indirection to expand INTERNAL_CATCH_NOINTERNAL_CATCH_DEF -#define INTERNAL_CATCH_STRINGIZE2(...) INTERNAL_CATCH_STRINGIZE3(__VA_ARGS__) -#define INTERNAL_CATCH_STRINGIZE3(...) #__VA_ARGS__ -#define INTERNAL_CATCH_STRINGIZE_WITHOUT_PARENS(param) (INTERNAL_CATCH_STRINGIZE(INTERNAL_CATCH_REMOVE_PARENS(param)) + 1) -#endif - -#define INTERNAL_CATCH_MAKE_NAMESPACE2(...) ns_##__VA_ARGS__ -#define INTERNAL_CATCH_MAKE_NAMESPACE(name) INTERNAL_CATCH_MAKE_NAMESPACE2(name) - -#define INTERNAL_CATCH_REMOVE_PARENS(...) INTERNAL_CATCH_EXPAND1(INTERNAL_CATCH_DEF __VA_ARGS__) - -#ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR -#define INTERNAL_CATCH_MAKE_TYPE_LIST2(...) decltype(get_wrapper()) -#define INTERNAL_CATCH_MAKE_TYPE_LIST(...) INTERNAL_CATCH_MAKE_TYPE_LIST2(INTERNAL_CATCH_REMOVE_PARENS(__VA_ARGS__)) -#else -#define INTERNAL_CATCH_MAKE_TYPE_LIST2(...) INTERNAL_CATCH_EXPAND_VARGS(decltype(get_wrapper())) -#define INTERNAL_CATCH_MAKE_TYPE_LIST(...) INTERNAL_CATCH_EXPAND_VARGS(INTERNAL_CATCH_MAKE_TYPE_LIST2(INTERNAL_CATCH_REMOVE_PARENS(__VA_ARGS__))) -#endif - -#define INTERNAL_CATCH_MAKE_TYPE_LISTS_FROM_TYPES(...)\ - CATCH_REC_LIST(INTERNAL_CATCH_MAKE_TYPE_LIST,__VA_ARGS__) - -#define INTERNAL_CATCH_REMOVE_PARENS_1_ARG(_0) INTERNAL_CATCH_REMOVE_PARENS(_0) -#define INTERNAL_CATCH_REMOVE_PARENS_2_ARG(_0, _1) INTERNAL_CATCH_REMOVE_PARENS(_0), INTERNAL_CATCH_REMOVE_PARENS_1_ARG(_1) -#define INTERNAL_CATCH_REMOVE_PARENS_3_ARG(_0, _1, _2) INTERNAL_CATCH_REMOVE_PARENS(_0), INTERNAL_CATCH_REMOVE_PARENS_2_ARG(_1, _2) -#define INTERNAL_CATCH_REMOVE_PARENS_4_ARG(_0, _1, _2, _3) INTERNAL_CATCH_REMOVE_PARENS(_0), INTERNAL_CATCH_REMOVE_PARENS_3_ARG(_1, _2, _3) -#define INTERNAL_CATCH_REMOVE_PARENS_5_ARG(_0, _1, _2, _3, _4) INTERNAL_CATCH_REMOVE_PARENS(_0), INTERNAL_CATCH_REMOVE_PARENS_4_ARG(_1, _2, _3, _4) -#define INTERNAL_CATCH_REMOVE_PARENS_6_ARG(_0, _1, _2, _3, _4, _5) INTERNAL_CATCH_REMOVE_PARENS(_0), INTERNAL_CATCH_REMOVE_PARENS_5_ARG(_1, _2, _3, _4, _5) -#define INTERNAL_CATCH_REMOVE_PARENS_7_ARG(_0, _1, _2, _3, _4, _5, _6) INTERNAL_CATCH_REMOVE_PARENS(_0), INTERNAL_CATCH_REMOVE_PARENS_6_ARG(_1, _2, _4, _5, _6) -#define INTERNAL_CATCH_REMOVE_PARENS_8_ARG(_0, _1, _2, _3, _4, _5, _6, _7) INTERNAL_CATCH_REMOVE_PARENS(_0), INTERNAL_CATCH_REMOVE_PARENS_7_ARG(_1, _2, _3, _4, _5, _6, _7) -#define INTERNAL_CATCH_REMOVE_PARENS_9_ARG(_0, _1, _2, _3, _4, _5, _6, _7, _8) INTERNAL_CATCH_REMOVE_PARENS(_0), INTERNAL_CATCH_REMOVE_PARENS_8_ARG(_1, _2, _3, _4, _5, _6, _7, _8) -#define INTERNAL_CATCH_REMOVE_PARENS_10_ARG(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9) INTERNAL_CATCH_REMOVE_PARENS(_0), INTERNAL_CATCH_REMOVE_PARENS_9_ARG(_1, _2, _3, _4, _5, _6, _7, _8, _9) -#define INTERNAL_CATCH_REMOVE_PARENS_11_ARG(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10) INTERNAL_CATCH_REMOVE_PARENS(_0), INTERNAL_CATCH_REMOVE_PARENS_10_ARG(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10) - -#define INTERNAL_CATCH_VA_NARGS_IMPL(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, N, ...) N - -#define INTERNAL_CATCH_TYPE_GEN\ - template struct TypeList {};\ - template\ - constexpr auto get_wrapper() noexcept -> TypeList { return {}; }\ - \ - template class L1, typename...E1, template class L2, typename...E2> \ - constexpr auto append(L1, L2) noexcept -> L1 { return {}; }\ - template< template class L1, typename...E1, template class L2, typename...E2, typename...Rest>\ - constexpr auto append(L1, L2, Rest...) noexcept -> decltype(append(L1{}, Rest{}...)) { return {}; }\ - template< template class L1, typename...E1, typename...Rest>\ - constexpr auto append(L1, TypeList, Rest...) noexcept -> L1 { return {}; }\ - \ - template< template class Container, template class List, typename...elems>\ - constexpr auto rewrap(List) noexcept -> TypeList> { return {}; }\ - template< template class Container, template class List, class...Elems, typename...Elements>\ - constexpr auto rewrap(List,Elements...) noexcept -> decltype(append(TypeList>{}, rewrap(Elements{}...))) { return {}; }\ - \ - template