[ned14-internal-quickcpplib] Update port @2022-07-04 (#25560)

* [quickcpplib] Update port @2022-07-04

* [quickcpplib] Invert polyfill features

* [quickcpplib] Update version database

* [quickcpplib] Exclude CI failures
This commit is contained in:
Henrik Gaßmann 2022-07-08 23:05:39 +02:00 committed by GitHub
parent 58a4010284
commit 98f8d00e89
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 90 additions and 65 deletions

View File

@ -1,4 +1,4 @@
if (NOT "cxx20" IN_LIST FEATURES)
if ("polyfill-cxx20" IN_LIST FEATURES)
message(WARNING [=[
LLFIO depends on Outcome which depends on QuickCppLib which uses the vcpkg versions of gsl-lite and byte-lite, rather than the versions tested by QuickCppLib's, Outcome's and LLFIO's CI. It is not guaranteed to work with other versions, with failures experienced in the past up-to-and-including runtime crashes. See the warning message from QuickCppLib for how you can pin the versions of those dependencies in your manifest file to those with which QuickCppLib was tested. Do not report issues to upstream without first pinning the versions as QuickCppLib was tested against.
]=])
@ -70,7 +70,7 @@ vcpkg_cmake_configure(
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
vcpkg_cmake_build(TARGET install.dl)
else(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
elseif(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
vcpkg_cmake_build(TARGET install.sl)
endif()

View File

@ -1,7 +1,7 @@
{
"name": "llfio",
"version": "2.0-20220112",
"port-version": 1,
"port-version": 2,
"description": "P1031 low level file i/o and filesystem library for the C++ standard",
"homepage": "https://github.com/ned14/llfio",
"license": "Apache-2.0 OR BSL-1.0",
@ -18,33 +18,33 @@
}
],
"features": {
"cxx17": {
"description": "Do not polyfill C++17 entities",
"dependencies": [
{
"name": "ned14-internal-quickcpplib",
"default-features": false,
"features": [
"cxx17"
]
}
]
},
"cxx20": {
"description": "Do not polyfill C++20 entities",
"polyfill-cxx17": {
"description": "Polyfill C++17 entities",
"dependencies": [
{
"name": "llfio",
"default-features": false,
"features": [
"cxx17"
"polyfill-cxx20"
]
},
{
"name": "ned14-internal-quickcpplib",
"default-features": false,
"features": [
"cxx20"
"polyfill-cxx17"
]
}
]
},
"polyfill-cxx20": {
"description": "Polyfill C++20 entities",
"dependencies": [
{
"name": "ned14-internal-quickcpplib",
"default-features": false,
"features": [
"polyfill-cxx20"
]
}
]

View File

@ -10,11 +10,19 @@
include("${CURRENT_PORT_DIR}/sha_manifest.cmake")
if (NOT "cxx20" IN_LIST FEATURES)
vcpkg_check_features(
OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
INVERTED_FEATURES
polyfill-cxx17 QUICKCPPLIB_REQUIRE_CXX17
polyfill-cxx20 QUICKCPPLIB_REQUIRE_CXX20
)
if (NOT QUICKCPPLIB_REQUIRE_CXX20)
message(WARNING [=[
QuickCppLib and its downstream dependencies Outcome and LLFIO were tested against gsl-lite version 0.38.1 and byte-lite version 0.3.0. They are not guaranteed to work with newer versions, with failures experienced in the past up-to-and-including runtime crashes. You can pin the versions as verified to work in QuickCppLib's CI in your manifest file by adding:
QuickCppLib and its downstream dependencies Outcome and LLFIO were tested against span-lite version 0.10.3 and byte-lite version 0.3.0. They are not guaranteed to work with newer versions, with failures experienced in the past up-to-and-including runtime crashes. You can pin the versions as verified to work in QuickCppLib's CI in your manifest file by adding:
"overrides": [
{ "name": "gsl-lite", "version": "0.38.1" },
{ "name": "span-lite", "version": "0.10.3" },
{ "name": "byte-lite", "version": "0.3.0" }
]
Do not report issues to upstream without first pinning these previous versions.
@ -32,15 +40,13 @@ vcpkg_from_github(
)
# Quickcpplib deploys subsets of the dependency headers into a private subdirectory
if (NOT "cxx17" IN_LIST FEATURES)
if (NOT QUICKCPPLIB_REQUIRE_CXX17)
file(COPY "${CURRENT_INSTALLED_DIR}/include/nonstd/byte.hpp"
DESTINATION "${SOURCE_PATH}/include/quickcpplib/byte/include/nonstd")
endif()
if (NOT "cxx20" IN_LIST FEATURES)
file(COPY "${CURRENT_INSTALLED_DIR}/include/gsl/gsl-lite.hpp"
DESTINATION "${SOURCE_PATH}/include/quickcpplib/gsl-lite/include/gsl")
file(COPY "${CURRENT_INSTALLED_DIR}/include/gsl-lite/gsl-lite.hpp"
DESTINATION "${SOURCE_PATH}/include/quickcpplib/gsl-lite/include/gsl-lite")
if (NOT QUICKCPPLIB_REQUIRE_CXX20)
file(COPY "${CURRENT_INSTALLED_DIR}/include/nonstd/span.hpp"
DESTINATION "${SOURCE_PATH}/include/quickcpplib/span-lite/include/nonstd")
endif()
vcpkg_from_github(
@ -56,13 +62,6 @@ file(COPY "${OPT_SOURCE_PATH}/." DESTINATION "${SOURCE_PATH}/include/quickcpplib
# Because quickcpplib's deployed files are header-only, the debug build it not necessary
set(VCPKG_BUILD_TYPE release)
vcpkg_check_features(
OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
cxx17 QUICKCPPLIB_REQUIRE_CXX17
cxx20 QUICKCPPLIB_REQUIRE_CXX20
)
# Use QuickCppLib's own build process, skipping examples and tests.
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
@ -78,6 +77,20 @@ vcpkg_cmake_configure(
vcpkg_cmake_install()
if (QUICKCPPLIB_REQUIRE_CXX17)
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/quickcpplib/byte.hpp" "#if QUICKCPPLIB_USE_STD_BYTE" "#if 1")
else ()
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/quickcpplib/byte.hpp" "#if QUICKCPPLIB_USE_STD_BYTE" "#if 0")
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/quickcpplib/byte.hpp" "#include \"byte/include/nonstd/byte.hpp\"" "#include <nonstd/byte.hpp>")
endif()
if (QUICKCPPLIB_REQUIRE_CXX20)
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/quickcpplib/span.hpp" "#ifdef QUICKCPPLIB_USE_STD_SPAN" "#if 1")
else ()
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/quickcpplib/span.hpp" "#ifdef QUICKCPPLIB_USE_STD_SPAN" "#if 0")
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/quickcpplib/span.hpp" "#elif(_HAS_CXX20 || __cplusplus >= 202002) && __has_include(<span>)" "#elif 0")
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/quickcpplib/span.hpp" "#include \"span-lite/include/nonstd/span.hpp\"" "#include <nonstd/span.hpp>")
endif()
vcpkg_cmake_config_fixup(
PACKAGE_NAME quickcpplib
CONFIG_PATH lib/cmake/quickcpplib

View File

@ -1,5 +1,5 @@
diff --git a/cmake/headers.cmake b/cmake/headers.cmake
index 1aad359..e5053ed 100644
index 3924a2a..f1e32d9 100644
--- a/cmake/headers.cmake
+++ b/cmake/headers.cmake
@@ -15,8 +15,6 @@ set(quickcpplib_HEADERS
@ -11,19 +11,15 @@ index 1aad359..e5053ed 100644
"include/quickcpplib/config.hpp"
"include/quickcpplib/console_colours.hpp"
"include/quickcpplib/cpp_feature.h"
@@ -27,15 +25,8 @@ set(quickcpplib_HEADERS
"include/quickcpplib/erasure_cast.hpp"
"include/quickcpplib/execinfo_win64.h"
"include/quickcpplib/function_ptr.hpp"
- "include/quickcpplib/gsl-lite/gsl-lite.natvis"
"include/quickcpplib/gsl-lite/include/gsl-lite/gsl-lite.hpp"
- "include/quickcpplib/gsl-lite/include/gsl.h"
- "include/quickcpplib/gsl-lite/include/gsl.hpp"
- "include/quickcpplib/gsl-lite/include/gsl/gsl-lite-vc6.hpp"
- "include/quickcpplib/gsl-lite/include/gsl/gsl-lite.h"
"include/quickcpplib/gsl-lite/include/gsl/gsl-lite.hpp"
- "include/quickcpplib/gsl-lite/test/gsl-lite.t.hpp"
- "include/quickcpplib/gsl-lite/test/lest_cpp03.hpp"
"include/quickcpplib/import.h"
"include/quickcpplib/in_place_detach_attach.hpp"
"include/quickcpplib/mem_flush_loads_stores.hpp"
@@ -40,11 +38,7 @@ set(quickcpplib_HEADERS
"include/quickcpplib/ringbuffer_log.hpp"
"include/quickcpplib/scope.hpp"
"include/quickcpplib/signal_guard.hpp"
- "include/quickcpplib/span-lite/example/nonstd/span.tweak.hpp"
"include/quickcpplib/span-lite/include/nonstd/span.hpp"
- "include/quickcpplib/span-lite/test/lest/lest_cpp03.hpp"
- "include/quickcpplib/span-lite/test/nonstd/span.tweak.hpp"
- "include/quickcpplib/span-lite/test/span-main.t.hpp"
"include/quickcpplib/span.hpp"
"include/quickcpplib/spinlock.hpp"
"include/quickcpplib/spinlock.natvis"

View File

@ -1,5 +1,5 @@
set(QUICKCPPLIB_REF 568e1811edf0f47caafbeb62a4f9fe4e885a0f96)
set(QUICKCPPLIB_SHA512 1f14d9603a308258d7632817942125d4330c82a2b3f44cd1238c8cb76f3c0c6cd7c0ad7b2cac75259148fd76f323626e7fed1c613404b173982a1be18c27458c)
set(QUICKCPPLIB_REF 9cdcd45d9036247dcade3d3ab1ff4adbe14b1927)
set(QUICKCPPLIB_SHA512 c23831c7a43b678bc33f11b3ccfc31ccb580f7225bfb7771010cdb5bc2d6a45a1d3c7b6b2dda7c5691fae817da3b303265156d434d7cb6efb9a86714b0095675)
set(OPTIONAL_REF 2b43315458a99fc5de1da6e7bc0ddd364b26d643)
set(OPTIONAL_SHA512 1952386cd3c7b963861f9634055e1baa4181d398d6f1b068a8a3f411368432bdcd42e47aadfa856584ed9a7c724a1c83369243ccb653e650af5c9155b42a84f4)

View File

@ -1,12 +1,10 @@
{
"name": "ned14-internal-quickcpplib",
"version-date": "2022-06-17",
"version-date": "2022-07-04",
"description": "NOT FOR EXTERNAL CONSUMPTION, a set of internal scripts used by ned14's libraries.",
"homepage": "https://github.com/ned14/quickcpplib",
"license": "Apache-2.0 OR BSL-1.0",
"dependencies": [
"byte-lite",
"gsl-lite",
{
"name": "vcpkg-cmake",
"host": true
@ -17,20 +15,24 @@
}
],
"features": {
"cxx17": {
"description": "Do not polyfill C++17 entities"
},
"cxx20": {
"description": "Do not polyfill C++20 entities",
"polyfill-cxx17": {
"description": "Polyfill std::byte with byte-lite",
"dependencies": [
"byte-lite",
{
"name": "ned14-internal-quickcpplib",
"default-features": false,
"features": [
"cxx17"
"polyfill-cxx20"
]
}
]
},
"polyfill-cxx20": {
"description": "Polyfill std::span with span-lite",
"dependencies": [
"span-lite"
]
}
}
}

View File

@ -560,6 +560,10 @@ linenoise-ng:x64-uwp=fail
live555:arm-uwp=fail
live555:x64-osx=fail
live555:x64-uwp=fail
# fails due to an upstream bug
llfio:arm64-windows=fail
# fails due to an outdated gcc version
llfio:x64-linux=fail
llgl:arm-uwp=fail
llgl:x64-uwp=fail
log4cplus:arm-uwp=fail

View File

@ -4298,7 +4298,7 @@
},
"llfio": {
"baseline": "2.0-20220112",
"port-version": 1
"port-version": 2
},
"llgl": {
"baseline": "2019-08-15",
@ -4857,7 +4857,7 @@
"port-version": 0
},
"ned14-internal-quickcpplib": {
"baseline": "2022-06-17",
"baseline": "2022-07-04",
"port-version": 0
},
"neon2sse": {

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "c3d2d8d9dfddbbf74af7e1f603ac18e4aee2fe7a",
"version": "2.0-20220112",
"port-version": 2
},
{
"git-tree": "bc96b88ab308808ce26135e75038c4b316d5533c",
"version": "2.0-20220112",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "081192c8586e086ef1fe8beb576255f86dc9458e",
"version-date": "2022-07-04",
"port-version": 0
},
{
"git-tree": "3ab059ed3893e5635482409f22bd73cdbcec2166",
"version-date": "2022-06-17",