Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions ports/llfio/portfile.cmake
Original file line number Diff line number Diff line change
@@ -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.
]=])
Expand Down Expand Up @@ -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()

Expand Down
28 changes: 14 additions & 14 deletions ports/llfio/vcpkg.json
Original file line number Diff line number Diff line change
@@ -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",
Expand All @@ -18,33 +18,33 @@
}
],
"features": {
"cxx17": {
"description": "Do not polyfill C++17 entities",
"polyfill-cxx17": {
"description": "Polyfill C++17 entities",
"dependencies": [
{
"name": "llfio",
"default-features": false,
"features": [
"polyfill-cxx20"
]
},
{
"name": "ned14-internal-quickcpplib",
"default-features": false,
"features": [
"cxx17"
"polyfill-cxx17"
]
}
]
},
"cxx20": {
"description": "Do not polyfill C++20 entities",
"polyfill-cxx20": {
"description": "Polyfill C++20 entities",
"dependencies": [
{
"name": "llfio",
"default-features": false,
"features": [
"cxx17"
]
},
{
"name": "ned14-internal-quickcpplib",
"default-features": false,
"features": [
"cxx20"
"polyfill-cxx20"
]
}
]
Expand Down
45 changes: 29 additions & 16 deletions ports/ned14-internal-quickcpplib/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -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(
Expand All @@ -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}"
Expand All @@ -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
Expand Down
30 changes: 13 additions & 17 deletions ports/ned14-internal-quickcpplib/quicklib-depheaders.patch
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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"
4 changes: 2 additions & 2 deletions ports/ned14-internal-quickcpplib/sha_manifest.cmake
Original file line number Diff line number Diff line change
@@ -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)
20 changes: 11 additions & 9 deletions ports/ned14-internal-quickcpplib/vcpkg.json
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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"
]
}
}
}
4 changes: 4 additions & 0 deletions scripts/ci.baseline.txt
Original file line number Diff line number Diff line change
Expand Up @@ -563,6 +563,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
Expand Down
4 changes: 2 additions & 2 deletions versions/baseline.json
Original file line number Diff line number Diff line change
Expand Up @@ -4294,7 +4294,7 @@
},
"llfio": {
"baseline": "2.0-20220112",
"port-version": 1
"port-version": 2
},
"llgl": {
"baseline": "2019-08-15",
Expand Down Expand Up @@ -4853,7 +4853,7 @@
"port-version": 0
},
"ned14-internal-quickcpplib": {
"baseline": "2022-06-17",
"baseline": "2022-07-04",
"port-version": 0
},
"neon2sse": {
Expand Down
5 changes: 5 additions & 0 deletions versions/l-/llfio.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "c3d2d8d9dfddbbf74af7e1f603ac18e4aee2fe7a",
"version": "2.0-20220112",
"port-version": 2
},
{
"git-tree": "bc96b88ab308808ce26135e75038c4b316d5533c",
"version": "2.0-20220112",
Expand Down
5 changes: 5 additions & 0 deletions versions/n-/ned14-internal-quickcpplib.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "081192c8586e086ef1fe8beb576255f86dc9458e",
"version-date": "2022-07-04",
"port-version": 0
},
{
"git-tree": "3ab059ed3893e5635482409f22bd73cdbcec2166",
"version-date": "2022-06-17",
Expand Down