From 0f65bd406d5bd7c170bd330350b4b354f86e1c88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Steffen=20Ga=C3=9Fmann?= Date: Sat, 13 Dec 2025 12:58:08 +0000 Subject: [PATCH 1/7] build: update to copier-cpp template v0.4.2a2 --- .copier-answers.yml | 2 +- .devcontainer/devcontainer.json | 2 +- .github/workflows/cpp-ci.yml | 12 +- .github/workflows/gh-pages.yml | 8 +- CMakePresets.json | 10 +- docs/Pipfile | 4 +- docs/Pipfile.lock | 1003 ++++++++--------- tools/toolchains/_base.cmake | 16 + tools/toolchains/_clang.cmake | 1 + tools/toolchains/_vcpkg.cmake | 5 + .../arm64-macos-clang-19-brew.cmake | 12 +- tools/toolchains/x64-linux-clang-19.cmake | 14 +- tools/toolchains/x64-linux-clang-20.cmake | 14 +- tools/toolchains/x64-linux-clang.cmake | 14 +- tools/toolchains/x64-linux-gcc-12.cmake | 9 - tools/toolchains/x64-linux-gcc-14.cmake | 11 + tools/toolchains/x64-linux-gcc.cmake | 12 +- tools/toolchains/x64-macos-gcc-12.cmake | 13 - tools/toolchains/x64-macos-gcc-15.cmake | 13 + tools/triplets/x64-linux-gcc-14.cmake | 6 + ...sx-gcc-12.cmake => x64-macos-gcc-15.cmake} | 2 +- 21 files changed, 550 insertions(+), 633 deletions(-) create mode 100644 tools/toolchains/_base.cmake create mode 100644 tools/toolchains/_clang.cmake create mode 100644 tools/toolchains/_vcpkg.cmake delete mode 100644 tools/toolchains/x64-linux-gcc-12.cmake create mode 100644 tools/toolchains/x64-linux-gcc-14.cmake delete mode 100644 tools/toolchains/x64-macos-gcc-12.cmake create mode 100644 tools/toolchains/x64-macos-gcc-15.cmake create mode 100644 tools/triplets/x64-linux-gcc-14.cmake rename tools/triplets/{x64-osx-gcc-12.cmake => x64-macos-gcc-15.cmake} (86%) diff --git a/.copier-answers.yml b/.copier-answers.yml index de093cf..cdb84b3 100644 --- a/.copier-answers.yml +++ b/.copier-answers.yml @@ -1,5 +1,5 @@ # Changes here will be overwritten by Copier -_commit: v0.4.0 +_commit: v0.4.2a2 _src_path: gh:deeplex/copier-cpp email: henrik@gassmann.onl full_name: Henrik Steffen Gaßmann diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index e328bd5..5b79494 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -33,5 +33,5 @@ "toolsToInstall": "copier,pipenv" } }, - "postCreateCommand": "cd ${containerWorkspaceFolder}/docs && pipenv sync --dev", + "postCreateCommand": "cd '${containerWorkspaceFolder}' && mkdir -p build && ln -s -f x64-linux-clang/compile_commands.json ./build/compile_commands.json && cd ./docs && pipenv sync --dev", } \ No newline at end of file diff --git a/.github/workflows/cpp-ci.yml b/.github/workflows/cpp-ci.yml index bc48de3..12382c9 100644 --- a/.github/workflows/cpp-ci.yml +++ b/.github/workflows/cpp-ci.yml @@ -14,15 +14,15 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-24.04, windows-2022] + os: [ubuntu-24.04, windows-2025] compiler: [gcc, clang, msvc] exclude: - os: ubuntu-24.04 compiler: msvc - - os: windows-2022 + - os: windows-2025 compiler: gcc include: - - os: macos-13 + - os: macos-15-intel compiler: gcc triplet: x64-macos - os: macos-15 @@ -40,7 +40,7 @@ jobs: sudo add-apt-repository "deb http://apt.llvm.org/noble/ llvm-toolchain-noble-19 main" sudo apt-get -qq update sudo apt-get -qq -y install clang-19 - - os: windows-2022 + - os: windows-2025 triplet: x64-windows permissions: @@ -50,7 +50,7 @@ jobs: CTEST_OUTPUT_ON_FAILURE: "1" steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 - name: Install required packages / compilers if: ${{ matrix.install }} @@ -102,7 +102,7 @@ jobs: actions: read steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 - name: "Install clang-tools-20" run: | diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml index 32f2ed9..88a142d 100644 --- a/.github/workflows/gh-pages.yml +++ b/.github/workflows/gh-pages.yml @@ -14,17 +14,17 @@ on: jobs: build: - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 name: Build docs concurrency: group: ${{ github.workflow }}-${{ github.ref }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 - name: Setup Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v6 with: - python-version: "3.11" + python-version: "3.12" cache: 'pipenv' cache-dependency-path: docs/Pipfile.lock diff --git a/CMakePresets.json b/CMakePresets.json index 4868136..08d6a11 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -186,18 +186,18 @@ } }, { - "name": "x64-linux-gcc-12", + "name": "x64-linux-gcc-14", "inherits": [ "x64-linux-gcc" ], "cacheVariables": { - "VCPKG_CHAINLOAD_TOOLCHAIN_FILE": "${sourceDir}/tools/toolchains/x64-linux-gcc-12.cmake" + "VCPKG_CHAINLOAD_TOOLCHAIN_FILE": "${sourceDir}/tools/toolchains/x64-linux-gcc-14.cmake" } }, { "name": "x64-linux-gcc-ci", "inherits": [ - "x64-linux-gcc-12" + "x64-linux-gcc-14" ] }, { @@ -229,8 +229,8 @@ "base" ], "cacheVariables": { - "VCPKG_TARGET_TRIPLET": "x64-osx-gcc-12", - "VCPKG_CHAINLOAD_TOOLCHAIN_FILE": "${sourceDir}/tools/toolchains/x64-macos-gcc-12.cmake" + "VCPKG_TARGET_TRIPLET": "x64-macos-gcc-15", + "VCPKG_CHAINLOAD_TOOLCHAIN_FILE": "${sourceDir}/tools/toolchains/x64-macos-gcc-15.cmake" }, "vendor": { "microsoft.com/VisualStudioSettings/CMake/1.0": { diff --git a/docs/Pipfile b/docs/Pipfile index 5eb5749..d35a309 100644 --- a/docs/Pipfile +++ b/docs/Pipfile @@ -4,10 +4,10 @@ verify_ssl = true name = "pypi" [packages] -sphinx = "~=7.0" +sphinx = "~=8.2.3" sphinx-copybutton = "~=0.5.2" sphinx-multiversion = "~=0.2.4" -furo = "==2023.5.20" +furo = "==2025.9.25" [dev-packages] esbonio = "*" diff --git a/docs/Pipfile.lock b/docs/Pipfile.lock index b7ca08e..23f3d1e 100644 --- a/docs/Pipfile.lock +++ b/docs/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "6b4b462987d15cbb032885bb7226fce8beb474f1ba04db4b52387e58bf6e64ec" + "sha256": "2243982f4e19913e4f6dd1242bf4754fe230247b61f1932777a9dacccb46cf95" }, "pipfile-spec": 6, "requires": {}, @@ -14,142 +14,189 @@ ] }, "default": { + "accessible-pygments": { + "hashes": [ + "sha256:40918d3e6a2b619ad424cb91e556bd3bd8865443d9f22f1dcdf79e33c8046872", + "sha256:88ae3211e68a1d0b011504b2ffc1691feafce124b845bd072ab6f9f66f34d4b7" + ], + "markers": "python_version >= '3.9'", + "version": "==0.0.5" + }, "alabaster": { "hashes": [ - "sha256:1ee19aca801bbabb5ba3f5f258e4422dfa86f82f3e9cefb0859b283cdd7f62a3", - "sha256:a27a4a084d5e690e16e01e03ad2b2e552c61a65469419b907243193de1a84ae2" + "sha256:c00dca57bca26fa62a6d7d0a9fcce65f3e026e9bfe33e9c538fd3fbb2144fd9e", + "sha256:fc6786402dc3fcb2de3cabd5fe455a2db534b371124f1f21de8731783dec828b" ], - "markers": "python_version >= '3.6'", - "version": "==0.7.13" + "markers": "python_version >= '3.10'", + "version": "==1.0.0" }, "babel": { "hashes": [ - "sha256:b4246fb7677d3b98f501a39d43396d3cafdc8eadb045f4a31be01863f655c610", - "sha256:cc2d99999cd01d44420ae725a21c9e3711b3aadc7976d6147f622d8581963455" + "sha256:0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d", + "sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2" ], - "markers": "python_version >= '3.7'", - "version": "==2.12.1" + "markers": "python_version >= '3.8'", + "version": "==2.17.0" }, "beautifulsoup4": { "hashes": [ - "sha256:492bbc69dca35d12daac71c4db1bfff0c876c00ef4a2ffacce226d4638eb72da", - "sha256:bd2520ca0d9d7d12694a53d44ac482d181b4ec1888909b035a3dbf40d0f57d4a" + "sha256:0918bfe44902e6ad8d57732ba310582e98da931428d231a5ecb9e7c703a735bb", + "sha256:6292b1c5186d356bba669ef9f7f051757099565ad9ada5dd630bd9de5fa7fb86" ], - "markers": "python_full_version >= '3.6.0'", - "version": "==4.12.2" + "markers": "python_full_version >= '3.7.0'", + "version": "==4.14.3" }, "certifi": { "hashes": [ - "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082", - "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9" + "sha256:97de8790030bbd5c2d96b7ec782fc2f7820ef8dba6db909ccf95449f2d062d4b", + "sha256:d8ab5478f2ecd78af242878415affce761ca6bc54a22a27e026d7c25357c3316" ], - "markers": "python_version >= '3.6'", - "version": "==2023.7.22" + "markers": "python_version >= '3.7'", + "version": "==2025.11.12" }, "charset-normalizer": { "hashes": [ - "sha256:04e57ab9fbf9607b77f7d057974694b4f6b142da9ed4a199859d9d4d5c63fe96", - "sha256:09393e1b2a9461950b1c9a45d5fd251dc7c6f228acab64da1c9c0165d9c7765c", - "sha256:0b87549028f680ca955556e3bd57013ab47474c3124dc069faa0b6545b6c9710", - "sha256:1000fba1057b92a65daec275aec30586c3de2401ccdcd41f8a5c1e2c87078706", - "sha256:1249cbbf3d3b04902ff081ffbb33ce3377fa6e4c7356f759f3cd076cc138d020", - "sha256:1920d4ff15ce893210c1f0c0e9d19bfbecb7983c76b33f046c13a8ffbd570252", - "sha256:193cbc708ea3aca45e7221ae58f0fd63f933753a9bfb498a3b474878f12caaad", - "sha256:1a100c6d595a7f316f1b6f01d20815d916e75ff98c27a01ae817439ea7726329", - "sha256:1f30b48dd7fa1474554b0b0f3fdfdd4c13b5c737a3c6284d3cdc424ec0ffff3a", - "sha256:203f0c8871d5a7987be20c72442488a0b8cfd0f43b7973771640fc593f56321f", - "sha256:246de67b99b6851627d945db38147d1b209a899311b1305dd84916f2b88526c6", - "sha256:2dee8e57f052ef5353cf608e0b4c871aee320dd1b87d351c28764fc0ca55f9f4", - "sha256:2efb1bd13885392adfda4614c33d3b68dee4921fd0ac1d3988f8cbb7d589e72a", - "sha256:2f4ac36d8e2b4cc1aa71df3dd84ff8efbe3bfb97ac41242fbcfc053c67434f46", - "sha256:3170c9399da12c9dc66366e9d14da8bf7147e1e9d9ea566067bbce7bb74bd9c2", - "sha256:3b1613dd5aee995ec6d4c69f00378bbd07614702a315a2cf6c1d21461fe17c23", - "sha256:3bb3d25a8e6c0aedd251753a79ae98a093c7e7b471faa3aa9a93a81431987ace", - "sha256:3bb7fda7260735efe66d5107fb7e6af6a7c04c7fce9b2514e04b7a74b06bf5dd", - "sha256:41b25eaa7d15909cf3ac4c96088c1f266a9a93ec44f87f1d13d4a0e86c81b982", - "sha256:45de3f87179c1823e6d9e32156fb14c1927fcc9aba21433f088fdfb555b77c10", - "sha256:46fb8c61d794b78ec7134a715a3e564aafc8f6b5e338417cb19fe9f57a5a9bf2", - "sha256:48021783bdf96e3d6de03a6e39a1171ed5bd7e8bb93fc84cc649d11490f87cea", - "sha256:4957669ef390f0e6719db3613ab3a7631e68424604a7b448f079bee145da6e09", - "sha256:5e86d77b090dbddbe78867a0275cb4df08ea195e660f1f7f13435a4649e954e5", - "sha256:6339d047dab2780cc6220f46306628e04d9750f02f983ddb37439ca47ced7149", - "sha256:681eb3d7e02e3c3655d1b16059fbfb605ac464c834a0c629048a30fad2b27489", - "sha256:6c409c0deba34f147f77efaa67b8e4bb83d2f11c8806405f76397ae5b8c0d1c9", - "sha256:7095f6fbfaa55defb6b733cfeb14efaae7a29f0b59d8cf213be4e7ca0b857b80", - "sha256:70c610f6cbe4b9fce272c407dd9d07e33e6bf7b4aa1b7ffb6f6ded8e634e3592", - "sha256:72814c01533f51d68702802d74f77ea026b5ec52793c791e2da806a3844a46c3", - "sha256:7a4826ad2bd6b07ca615c74ab91f32f6c96d08f6fcc3902ceeedaec8cdc3bcd6", - "sha256:7c70087bfee18a42b4040bb9ec1ca15a08242cf5867c58726530bdf3945672ed", - "sha256:855eafa5d5a2034b4621c74925d89c5efef61418570e5ef9b37717d9c796419c", - "sha256:8700f06d0ce6f128de3ccdbc1acaea1ee264d2caa9ca05daaf492fde7c2a7200", - "sha256:89f1b185a01fe560bc8ae5f619e924407efca2191b56ce749ec84982fc59a32a", - "sha256:8b2c760cfc7042b27ebdb4a43a4453bd829a5742503599144d54a032c5dc7e9e", - "sha256:8c2f5e83493748286002f9369f3e6607c565a6a90425a3a1fef5ae32a36d749d", - "sha256:8e098148dd37b4ce3baca71fb394c81dc5d9c7728c95df695d2dca218edf40e6", - "sha256:94aea8eff76ee6d1cdacb07dd2123a68283cb5569e0250feab1240058f53b623", - "sha256:95eb302ff792e12aba9a8b8f8474ab229a83c103d74a750ec0bd1c1eea32e669", - "sha256:9bd9b3b31adcb054116447ea22caa61a285d92e94d710aa5ec97992ff5eb7cf3", - "sha256:9e608aafdb55eb9f255034709e20d5a83b6d60c054df0802fa9c9883d0a937aa", - "sha256:a103b3a7069b62f5d4890ae1b8f0597618f628b286b03d4bc9195230b154bfa9", - "sha256:a386ebe437176aab38c041de1260cd3ea459c6ce5263594399880bbc398225b2", - "sha256:a38856a971c602f98472050165cea2cdc97709240373041b69030be15047691f", - "sha256:a401b4598e5d3f4a9a811f3daf42ee2291790c7f9d74b18d75d6e21dda98a1a1", - "sha256:a7647ebdfb9682b7bb97e2a5e7cb6ae735b1c25008a70b906aecca294ee96cf4", - "sha256:aaf63899c94de41fe3cf934601b0f7ccb6b428c6e4eeb80da72c58eab077b19a", - "sha256:b0dac0ff919ba34d4df1b6131f59ce95b08b9065233446be7e459f95554c0dc8", - "sha256:baacc6aee0b2ef6f3d308e197b5d7a81c0e70b06beae1f1fcacffdbd124fe0e3", - "sha256:bf420121d4c8dce6b889f0e8e4ec0ca34b7f40186203f06a946fa0276ba54029", - "sha256:c04a46716adde8d927adb9457bbe39cf473e1e2c2f5d0a16ceb837e5d841ad4f", - "sha256:c0b21078a4b56965e2b12f247467b234734491897e99c1d51cee628da9786959", - "sha256:c1c76a1743432b4b60ab3358c937a3fe1341c828ae6194108a94c69028247f22", - "sha256:c4983bf937209c57240cff65906b18bb35e64ae872da6a0db937d7b4af845dd7", - "sha256:c4fb39a81950ec280984b3a44f5bd12819953dc5fa3a7e6fa7a80db5ee853952", - "sha256:c57921cda3a80d0f2b8aec7e25c8aa14479ea92b5b51b6876d975d925a2ea346", - "sha256:c8063cf17b19661471ecbdb3df1c84f24ad2e389e326ccaf89e3fb2484d8dd7e", - "sha256:ccd16eb18a849fd8dcb23e23380e2f0a354e8daa0c984b8a732d9cfaba3a776d", - "sha256:cd6dbe0238f7743d0efe563ab46294f54f9bc8f4b9bcf57c3c666cc5bc9d1299", - "sha256:d62e51710986674142526ab9f78663ca2b0726066ae26b78b22e0f5e571238dd", - "sha256:db901e2ac34c931d73054d9797383d0f8009991e723dab15109740a63e7f902a", - "sha256:e03b8895a6990c9ab2cdcd0f2fe44088ca1c65ae592b8f795c3294af00a461c3", - "sha256:e1c8a2f4c69e08e89632defbfabec2feb8a8d99edc9f89ce33c4b9e36ab63037", - "sha256:e4b749b9cc6ee664a3300bb3a273c1ca8068c46be705b6c31cf5d276f8628a94", - "sha256:e6a5bf2cba5ae1bb80b154ed68a3cfa2fa00fde979a7f50d6598d3e17d9ac20c", - "sha256:e857a2232ba53ae940d3456f7533ce6ca98b81917d47adc3c7fd55dad8fab858", - "sha256:ee4006268ed33370957f55bf2e6f4d263eaf4dc3cfc473d1d90baff6ed36ce4a", - "sha256:eef9df1eefada2c09a5e7a40991b9fc6ac6ef20b1372abd48d2794a316dc0449", - "sha256:f058f6963fd82eb143c692cecdc89e075fa0828db2e5b291070485390b2f1c9c", - "sha256:f25c229a6ba38a35ae6e25ca1264621cc25d4d38dca2942a7fce0b67a4efe918", - "sha256:f2a1d0fd4242bd8643ce6f98927cf9c04540af6efa92323e9d3124f57727bfc1", - "sha256:f7560358a6811e52e9c4d142d497f1a6e10103d3a6881f18d04dbce3729c0e2c", - "sha256:f779d3ad205f108d14e99bb3859aa7dd8e9c68874617c72354d7ecaec2a054ac", - "sha256:f87f746ee241d30d6ed93969de31e5ffd09a2961a051e60ae6bddde9ec3583aa" + "sha256:027f6de494925c0ab2a55eab46ae5129951638a49a34d87f4c3eda90f696b4ad", + "sha256:077fbb858e903c73f6c9db43374fd213b0b6a778106bc7032446a8e8b5b38b93", + "sha256:0a98e6759f854bd25a58a73fa88833fba3b7c491169f86ce1180c948ab3fd394", + "sha256:0d3d8f15c07f86e9ff82319b3d9ef6f4bf907608f53fe9d92b28ea9ae3d1fd89", + "sha256:0f04b14ffe5fdc8c4933862d8306109a2c51e0704acfa35d51598eb45a1e89fc", + "sha256:11d694519d7f29d6cd09f6ac70028dba10f92f6cdd059096db198c283794ac86", + "sha256:194f08cbb32dc406d6e1aea671a68be0823673db2832b38405deba2fb0d88f63", + "sha256:1bee1e43c28aa63cb16e5c14e582580546b08e535299b8b6158a7c9c768a1f3d", + "sha256:21d142cc6c0ec30d2efee5068ca36c128a30b0f2c53c1c07bd78cb6bc1d3be5f", + "sha256:2437418e20515acec67d86e12bf70056a33abdacb5cb1655042f6538d6b085a8", + "sha256:244bfb999c71b35de57821b8ea746b24e863398194a4014e4c76adc2bbdfeff0", + "sha256:2677acec1a2f8ef614c6888b5b4ae4060cc184174a938ed4e8ef690e15d3e505", + "sha256:277e970e750505ed74c832b4bf75dac7476262ee2a013f5574dd49075879e161", + "sha256:2aaba3b0819274cc41757a1da876f810a3e4d7b6eb25699253a4effef9e8e4af", + "sha256:2b7d8f6c26245217bd2ad053761201e9f9680f8ce52f0fcd8d0755aeae5b2152", + "sha256:2c9d3c380143a1fedbff95a312aa798578371eb29da42106a29019368a475318", + "sha256:3162d5d8ce1bb98dd51af660f2121c55d0fa541b46dff7bb9b9f86ea1d87de72", + "sha256:31fd66405eaf47bb62e8cd575dc621c56c668f27d46a61d975a249930dd5e2a4", + "sha256:362d61fd13843997c1c446760ef36f240cf81d3ebf74ac62652aebaf7838561e", + "sha256:376bec83a63b8021bb5c8ea75e21c4ccb86e7e45ca4eb81146091b56599b80c3", + "sha256:44c2a8734b333e0578090c4cd6b16f275e07aa6614ca8715e6c038e865e70576", + "sha256:47cc91b2f4dd2833fddaedd2893006b0106129d4b94fdb6af1f4ce5a9965577c", + "sha256:4902828217069c3c5c71094537a8e623f5d097858ac6ca8252f7b4d10b7560f1", + "sha256:4bd5d4137d500351a30687c2d3971758aac9a19208fc110ccb9d7188fbe709e8", + "sha256:4fe7859a4e3e8457458e2ff592f15ccb02f3da787fcd31e0183879c3ad4692a1", + "sha256:542d2cee80be6f80247095cc36c418f7bddd14f4a6de45af91dfad36d817bba2", + "sha256:554af85e960429cf30784dd47447d5125aaa3b99a6f0683589dbd27e2f45da44", + "sha256:5833d2c39d8896e4e19b689ffc198f08ea58116bee26dea51e362ecc7cd3ed26", + "sha256:5947809c8a2417be3267efc979c47d76a079758166f7d43ef5ae8e9f92751f88", + "sha256:5ae497466c7901d54b639cf42d5b8c1b6a4fead55215500d2f486d34db48d016", + "sha256:5bd2293095d766545ec1a8f612559f6b40abc0eb18bb2f5d1171872d34036ede", + "sha256:5bfbb1b9acf3334612667b61bd3002196fe2a1eb4dd74d247e0f2a4d50ec9bbf", + "sha256:5cb4d72eea50c8868f5288b7f7f33ed276118325c1dfd3957089f6b519e1382a", + "sha256:5dbe56a36425d26d6cfb40ce79c314a2e4dd6211d51d6d2191c00bed34f354cc", + "sha256:5f819d5fe9234f9f82d75bdfa9aef3a3d72c4d24a6e57aeaebba32a704553aa0", + "sha256:64b55f9dce520635f018f907ff1b0df1fdc31f2795a922fb49dd14fbcdf48c84", + "sha256:6515f3182dbe4ea06ced2d9e8666d97b46ef4c75e326b79bb624110f122551db", + "sha256:65e2befcd84bc6f37095f5961e68a6f077bf44946771354a28ad434c2cce0ae1", + "sha256:6aee717dcfead04c6eb1ce3bd29ac1e22663cdea57f943c87d1eab9a025438d7", + "sha256:6b39f987ae8ccdf0d2642338faf2abb1862340facc796048b604ef14919e55ed", + "sha256:6e1fcf0720908f200cd21aa4e6750a48ff6ce4afe7ff5a79a90d5ed8a08296f8", + "sha256:74018750915ee7ad843a774364e13a3db91682f26142baddf775342c3f5b1133", + "sha256:74664978bb272435107de04e36db5a9735e78232b85b77d45cfb38f758efd33e", + "sha256:74bb723680f9f7a6234dcf67aea57e708ec1fbdf5699fb91dfd6f511b0a320ef", + "sha256:752944c7ffbfdd10c074dc58ec2d5a8a4cd9493b314d367c14d24c17684ddd14", + "sha256:778d2e08eda00f4256d7f672ca9fef386071c9202f5e4607920b86d7803387f2", + "sha256:780236ac706e66881f3b7f2f32dfe90507a09e67d1d454c762cf642e6e1586e0", + "sha256:798d75d81754988d2565bff1b97ba5a44411867c0cf32b77a7e8f8d84796b10d", + "sha256:799a7a5e4fb2d5898c60b640fd4981d6a25f1c11790935a44ce38c54e985f828", + "sha256:7a32c560861a02ff789ad905a2fe94e3f840803362c84fecf1851cb4cf3dc37f", + "sha256:7c308f7e26e4363d79df40ca5b2be1c6ba9f02bdbccfed5abddb7859a6ce72cf", + "sha256:7fa17817dc5625de8a027cb8b26d9fefa3ea28c8253929b8d6649e705d2835b6", + "sha256:81d5eb2a312700f4ecaa977a8235b634ce853200e828fbadf3a9c50bab278328", + "sha256:82004af6c302b5d3ab2cfc4cc5f29db16123b1a8417f2e25f9066f91d4411090", + "sha256:837c2ce8c5a65a2035be9b3569c684358dfbf109fd3b6969630a87535495ceaa", + "sha256:840c25fb618a231545cbab0564a799f101b63b9901f2569faecd6b222ac72381", + "sha256:8a6562c3700cce886c5be75ade4a5db4214fda19fede41d9792d100288d8f94c", + "sha256:8af65f14dc14a79b924524b1e7fffe304517b2bff5a58bf64f30b98bbc5079eb", + "sha256:8ef3c867360f88ac904fd3f5e1f902f13307af9052646963ee08ff4f131adafc", + "sha256:94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a", + "sha256:99ae2cffebb06e6c22bdc25801d7b30f503cc87dbd283479e7b606f70aff57ec", + "sha256:9a26f18905b8dd5d685d6d07b0cdf98a79f3c7a918906af7cc143ea2e164c8bc", + "sha256:9b35f4c90079ff2e2edc5b26c0c77925e5d2d255c42c74fdb70fb49b172726ac", + "sha256:9cd98cdc06614a2f768d2b7286d66805f94c48cde050acdbbb7db2600ab3197e", + "sha256:9d1bb833febdff5c8927f922386db610b49db6e0d4f4ee29601d71e7c2694313", + "sha256:9f7fcd74d410a36883701fafa2482a6af2ff5ba96b9a620e9e0721e28ead5569", + "sha256:a59cb51917aa591b1c4e6a43c132f0cdc3c76dbad6155df4e28ee626cc77a0a3", + "sha256:a61900df84c667873b292c3de315a786dd8dac506704dea57bc957bd31e22c7d", + "sha256:a79cfe37875f822425b89a82333404539ae63dbdddf97f84dcbc3d339aae9525", + "sha256:a8a8b89589086a25749f471e6a900d3f662d1d3b6e2e59dcecf787b1cc3a1894", + "sha256:a8bf8d0f749c5757af2142fe7903a9df1d2e8aa3841559b2bad34b08d0e2bcf3", + "sha256:a9768c477b9d7bd54bc0c86dbaebdec6f03306675526c9927c0e8a04e8f94af9", + "sha256:ac1c4a689edcc530fc9d9aa11f5774b9e2f33f9a0c6a57864e90908f5208d30a", + "sha256:af2d8c67d8e573d6de5bc30cdb27e9b95e49115cd9baad5ddbd1a6207aaa82a9", + "sha256:b435cba5f4f750aa6c0a0d92c541fb79f69a387c91e61f1795227e4ed9cece14", + "sha256:b5b290ccc2a263e8d185130284f8501e3e36c5e02750fc6b6bdeb2e9e96f1e25", + "sha256:b5d84d37db046c5ca74ee7bb47dd6cbc13f80665fdde3e8040bdd3fb015ecb50", + "sha256:b7cf1017d601aa35e6bb650b6ad28652c9cd78ee6caff19f3c28d03e1c80acbf", + "sha256:bc7637e2f80d8530ee4a78e878bce464f70087ce73cf7c1caf142416923b98f1", + "sha256:c0463276121fdee9c49b98908b3a89c39be45d86d1dbaa22957e38f6321d4ce3", + "sha256:c4ef880e27901b6cc782f1b95f82da9313c0eb95c3af699103088fa0ac3ce9ac", + "sha256:c8ae8a0f02f57a6e61203a31428fa1d677cbe50c93622b4149d5c0f319c1d19e", + "sha256:ca5862d5b3928c4940729dacc329aa9102900382fea192fc5e52eb69d6093815", + "sha256:cb01158d8b88ee68f15949894ccc6712278243d95f344770fa7593fa2d94410c", + "sha256:cb6254dc36b47a990e59e1068afacdcd02958bdcce30bb50cc1700a8b9d624a6", + "sha256:cc00f04ed596e9dc0da42ed17ac5e596c6ccba999ba6bd92b0e0aef2f170f2d6", + "sha256:cd09d08005f958f370f539f186d10aec3377d55b9eeb0d796025d4886119d76e", + "sha256:cd4b7ca9984e5e7985c12bc60a6f173f3c958eae74f3ef6624bb6b26e2abbae4", + "sha256:ce8a0633f41a967713a59c4139d29110c07e826d131a316b50ce11b1d79b4f84", + "sha256:cead0978fc57397645f12578bfd2d5ea9138ea0fac82b2f63f7f7c6877986a69", + "sha256:d055ec1e26e441f6187acf818b73564e6e6282709e9bcb5b63f5b23068356a15", + "sha256:d1f13550535ad8cff21b8d757a3257963e951d96e20ec82ab44bc64aeb62a191", + "sha256:d9c7f57c3d666a53421049053eaacdd14bbd0a528e2186fcb2e672effd053bb0", + "sha256:d9e45d7faa48ee908174d8fe84854479ef838fc6a705c9315372eacbc2f02897", + "sha256:da3326d9e65ef63a817ecbcc0df6e94463713b754fe293eaa03da99befb9a5bd", + "sha256:de00632ca48df9daf77a2c65a484531649261ec9f25489917f09e455cb09ddb2", + "sha256:e1f185f86a6f3403aa2420e815904c67b2f9ebc443f045edd0de921108345794", + "sha256:e824f1492727fa856dd6eda4f7cee25f8518a12f3c4a56a74e8095695089cf6d", + "sha256:e912091979546adf63357d7e2ccff9b44f026c075aeaf25a52d0e95ad2281074", + "sha256:eaabd426fe94daf8fd157c32e571c85cb12e66692f15516a83a03264b08d06c3", + "sha256:ebf3e58c7ec8a8bed6d66a75d7fb37b55e5015b03ceae72a8e7c74495551e224", + "sha256:ecaae4149d99b1c9e7b88bb03e3221956f68fd6d50be2ef061b2381b61d20838", + "sha256:eecbc200c7fd5ddb9a7f16c7decb07b566c29fa2161a16cf67b8d068bd21690a", + "sha256:f155a433c2ec037d4e8df17d18922c3a0d9b3232a396690f17175d2946f0218d", + "sha256:f1e34719c6ed0b92f418c7c780480b26b5d9c50349e9a9af7d76bf757530350d", + "sha256:f34be2938726fc13801220747472850852fe6b1ea75869a048d6f896838c896f", + "sha256:f820802628d2694cb7e56db99213f930856014862f3fd943d290ea8438d07ca8", + "sha256:f8bf04158c6b607d747e93949aa60618b61312fe647a6369f88ce2ff16043490", + "sha256:f8e160feb2aed042cd657a72acc0b481212ed28b1b9a95c0cee1621b524e1966", + "sha256:f9d332f8c2a2fcbffe1378594431458ddbef721c1769d78e2cbc06280d8155f9", + "sha256:fa09f53c465e532f4d3db095e0c55b615f010ad81803d383195b6b5ca6cbf5f3", + "sha256:faa3a41b2b66b6e50f84ae4a68c64fcd0c44355741c6374813a800cd6695db9e", + "sha256:fd44c878ea55ba351104cb93cc85e74916eb8fa440ca7903e57575e97394f608" ], - "markers": "python_full_version >= '3.7.0'", - "version": "==3.2.0" + "markers": "python_version >= '3.7'", + "version": "==3.4.4" }, "docutils": { "hashes": [ - "sha256:96f387a2c5562db4476f09f13bbab2192e764cac08ebbf3a34a95d9b1e4a59d6", - "sha256:f08a4e276c3a1583a86dce3e34aba3fe04d02bba2dd51ed16106244e8a923e3b" + "sha256:3a6b18732edf182daa3cd12775bbb338cf5691468f91eeeb109deff6ebfa986f", + "sha256:dafca5b9e384f0e419294eb4d2ff9fa826435bf15f15b7bd45723e8ad76811b2" ], - "markers": "python_version >= '3.7'", - "version": "==0.20.1" + "markers": "python_version >= '3.9'", + "version": "==0.21.2" }, "furo": { "hashes": [ - "sha256:40e09fa17c6f4b22419d122e933089226dcdb59747b5b6c79363089827dea16f", - "sha256:594a8436ddfe0c071f3a9e9a209c314a219d8341f3f1af33fdf7c69544fab9e6" + "sha256:2937f68e823b8e37b410c972c371bc2b1d88026709534927158e0cb3fac95afe", + "sha256:3eac05582768fdbbc2bdfa1cdbcdd5d33cfc8b4bd2051729ff4e026a1d7e0a98" ], "index": "pypi", - "version": "==2023.5.20" + "markers": "python_version >= '3.8'", + "version": "==2025.9.25" }, "idna": { "hashes": [ - "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4", - "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2" + "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea", + "sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902" ], - "markers": "python_version >= '3.5'", - "version": "==3.4" + "markers": "python_version >= '3.8'", + "version": "==3.11" }, "imagesize": { "hashes": [ @@ -161,114 +208,163 @@ }, "jinja2": { "hashes": [ - "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852", - "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61" + "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", + "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67" ], "markers": "python_version >= '3.7'", - "version": "==3.1.2" + "version": "==3.1.6" }, "markupsafe": { "hashes": [ - "sha256:05fb21170423db021895e1ea1e1f3ab3adb85d1c2333cbc2310f2a26bc77272e", - "sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e", - "sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431", - "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686", - "sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559", - "sha256:1b40069d487e7edb2676d3fbdb2b0829ffa2cd63a2ec26c4938b2d34391b4ecc", - "sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c", - "sha256:2c1b19b3aaacc6e57b7e25710ff571c24d6c3613a45e905b1fde04d691b98ee0", - "sha256:2ef12179d3a291be237280175b542c07a36e7f60718296278d8593d21ca937d4", - "sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9", - "sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575", - "sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba", - "sha256:42de32b22b6b804f42c5d98be4f7e5e977ecdd9ee9b660fda1a3edf03b11792d", - "sha256:504b320cd4b7eff6f968eddf81127112db685e81f7e36e75f9f84f0df46041c3", - "sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00", - "sha256:56d9f2ecac662ca1611d183feb03a3fa4406469dafe241673d521dd5ae92a155", - "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac", - "sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52", - "sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f", - "sha256:69c0f17e9f5a7afdf2cc9fb2d1ce6aabdb3bafb7f38017c0b77862bcec2bbad8", - "sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b", - "sha256:787003c0ddb00500e49a10f2844fac87aa6ce977b90b0feaaf9de23c22508b24", - "sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea", - "sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198", - "sha256:8758846a7e80910096950b67071243da3e5a20ed2546e6392603c096778d48e0", - "sha256:8afafd99945ead6e075b973fefa56379c5b5c53fd8937dad92c662da5d8fd5ee", - "sha256:8c41976a29d078bb235fea9b2ecd3da465df42a562910f9022f1a03107bd02be", - "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2", - "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707", - "sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6", - "sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58", - "sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779", - "sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636", - "sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c", - "sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad", - "sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee", - "sha256:b7ff0f54cb4ff66dd38bebd335a38e2c22c41a8ee45aa608efc890ac3e3931bc", - "sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2", - "sha256:c011a4149cfbcf9f03994ec2edffcb8b1dc2d2aede7ca243746df97a5d41ce48", - "sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7", - "sha256:ca379055a47383d02a5400cb0d110cef0a776fc644cda797db0c5696cfd7e18e", - "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b", - "sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa", - "sha256:ceb01949af7121f9fc39f7d27f91be8546f3fb112c608bc4029aef0bab86a2a5", - "sha256:d080e0a5eb2529460b30190fcfcc4199bd7f827663f858a226a81bc27beaa97e", - "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb", - "sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9", - "sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57", - "sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc", - "sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2" - ], - "markers": "python_version >= '3.7'", - "version": "==2.1.3" + "sha256:0303439a41979d9e74d18ff5e2dd8c43ed6c6001fd40e5bf2e43f7bd9bbc523f", + "sha256:068f375c472b3e7acbe2d5318dea141359e6900156b5b2ba06a30b169086b91a", + "sha256:0bf2a864d67e76e5c9a34dc26ec616a66b9888e25e7b9460e1c76d3293bd9dbf", + "sha256:0db14f5dafddbb6d9208827849fad01f1a2609380add406671a26386cdf15a19", + "sha256:0eb9ff8191e8498cca014656ae6b8d61f39da5f95b488805da4bb029cccbfbaf", + "sha256:0f4b68347f8c5eab4a13419215bdfd7f8c9b19f2b25520968adfad23eb0ce60c", + "sha256:1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175", + "sha256:116bb52f642a37c115f517494ea5feb03889e04df47eeff5b130b1808ce7c219", + "sha256:12c63dfb4a98206f045aa9563db46507995f7ef6d83b2f68eda65c307c6829eb", + "sha256:133a43e73a802c5562be9bbcd03d090aa5a1fe899db609c29e8c8d815c5f6de6", + "sha256:1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab", + "sha256:15d939a21d546304880945ca1ecb8a039db6b4dc49b2c5a400387cdae6a62e26", + "sha256:177b5253b2834fe3678cb4a5f0059808258584c559193998be2601324fdeafb1", + "sha256:1872df69a4de6aead3491198eaf13810b565bdbeec3ae2dc8780f14458ec73ce", + "sha256:1b4b79e8ebf6b55351f0d91fe80f893b4743f104bff22e90697db1590e47a218", + "sha256:1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634", + "sha256:1ba88449deb3de88bd40044603fafffb7bc2b055d626a330323a9ed736661695", + "sha256:1cc7ea17a6824959616c525620e387f6dd30fec8cb44f649e31712db02123dad", + "sha256:218551f6df4868a8d527e3062d0fb968682fe92054e89978594c28e642c43a73", + "sha256:26a5784ded40c9e318cfc2bdb30fe164bdb8665ded9cd64d500a34fb42067b1c", + "sha256:2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe", + "sha256:2a15a08b17dd94c53a1da0438822d70ebcd13f8c3a95abe3a9ef9f11a94830aa", + "sha256:2f981d352f04553a7171b8e44369f2af4055f888dfb147d55e42d29e29e74559", + "sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa", + "sha256:3524b778fe5cfb3452a09d31e7b5adefeea8c5be1d43c4f810ba09f2ceb29d37", + "sha256:3537e01efc9d4dccdf77221fb1cb3b8e1a38d5428920e0657ce299b20324d758", + "sha256:35add3b638a5d900e807944a078b51922212fb3dedb01633a8defc4b01a3c85f", + "sha256:38664109c14ffc9e7437e86b4dceb442b0096dfe3541d7864d9cbe1da4cf36c8", + "sha256:3a7e8ae81ae39e62a41ec302f972ba6ae23a5c5396c8e60113e9066ef893da0d", + "sha256:3b562dd9e9ea93f13d53989d23a7e775fdfd1066c33494ff43f5418bc8c58a5c", + "sha256:457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97", + "sha256:4bd4cd07944443f5a265608cc6aab442e4f74dff8088b0dfc8238647b8f6ae9a", + "sha256:4e885a3d1efa2eadc93c894a21770e4bc67899e3543680313b09f139e149ab19", + "sha256:4faffd047e07c38848ce017e8725090413cd80cbc23d86e55c587bf979e579c9", + "sha256:509fa21c6deb7a7a273d629cf5ec029bc209d1a51178615ddf718f5918992ab9", + "sha256:5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc", + "sha256:591ae9f2a647529ca990bc681daebdd52c8791ff06c2bfa05b65163e28102ef2", + "sha256:5a7d5dc5140555cf21a6fefbdbf8723f06fcd2f63ef108f2854de715e4422cb4", + "sha256:69c0b73548bc525c8cb9a251cddf1931d1db4d2258e9599c28c07ef3580ef354", + "sha256:6b5420a1d9450023228968e7e6a9ce57f65d148ab56d2313fcd589eee96a7a50", + "sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698", + "sha256:729586769a26dbceff69f7a7dbbf59ab6572b99d94576a5592625d5b411576b9", + "sha256:77f0643abe7495da77fb436f50f8dab76dbc6e5fd25d39589a0f1fe6548bfa2b", + "sha256:795e7751525cae078558e679d646ae45574b47ed6e7771863fcc079a6171a0fc", + "sha256:7be7b61bb172e1ed687f1754f8e7484f1c8019780f6f6b0786e76bb01c2ae115", + "sha256:7c3fb7d25180895632e5d3148dbdc29ea38ccb7fd210aa27acbd1201a1902c6e", + "sha256:7e68f88e5b8799aa49c85cd116c932a1ac15caaa3f5db09087854d218359e485", + "sha256:83891d0e9fb81a825d9a6d61e3f07550ca70a076484292a70fde82c4b807286f", + "sha256:8485f406a96febb5140bfeca44a73e3ce5116b2501ac54fe953e488fb1d03b12", + "sha256:8709b08f4a89aa7586de0aadc8da56180242ee0ada3999749b183aa23df95025", + "sha256:8f71bc33915be5186016f675cd83a1e08523649b0e33efdb898db577ef5bb009", + "sha256:915c04ba3851909ce68ccc2b8e2cd691618c4dc4c4232fb7982bca3f41fd8c3d", + "sha256:949b8d66bc381ee8b007cd945914c721d9aba8e27f71959d750a46f7c282b20b", + "sha256:94c6f0bb423f739146aec64595853541634bde58b2135f27f61c1ffd1cd4d16a", + "sha256:9a1abfdc021a164803f4d485104931fb8f8c1efd55bc6b748d2f5774e78b62c5", + "sha256:9b79b7a16f7fedff2495d684f2b59b0457c3b493778c9eed31111be64d58279f", + "sha256:a320721ab5a1aba0a233739394eb907f8c8da5c98c9181d1161e77a0c8e36f2d", + "sha256:a4afe79fb3de0b7097d81da19090f4df4f8d3a2b3adaa8764138aac2e44f3af1", + "sha256:ad2cf8aa28b8c020ab2fc8287b0f823d0a7d8630784c31e9ee5edea20f406287", + "sha256:b8512a91625c9b3da6f127803b166b629725e68af71f8184ae7e7d54686a56d6", + "sha256:bc51efed119bc9cfdf792cdeaa4d67e8f6fcccab66ed4bfdd6bde3e59bfcbb2f", + "sha256:bdc919ead48f234740ad807933cdf545180bfbe9342c2bb451556db2ed958581", + "sha256:bdd37121970bfd8be76c5fb069c7751683bdf373db1ed6c010162b2a130248ed", + "sha256:be8813b57049a7dc738189df53d69395eba14fb99345e0a5994914a3864c8a4b", + "sha256:c0c0b3ade1c0b13b936d7970b1d37a57acde9199dc2aecc4c336773e1d86049c", + "sha256:c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026", + "sha256:c4ffb7ebf07cfe8931028e3e4c85f0357459a3f9f9490886198848f4fa002ec8", + "sha256:ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676", + "sha256:d2ee202e79d8ed691ceebae8e0486bd9a2cd4794cec4824e1c99b6f5009502f6", + "sha256:d53197da72cc091b024dd97249dfc7794d6a56530370992a5e1a08983ad9230e", + "sha256:d6dd0be5b5b189d31db7cda48b91d7e0a9795f31430b7f271219ab30f1d3ac9d", + "sha256:d88b440e37a16e651bda4c7c2b930eb586fd15ca7406cb39e211fcff3bf3017d", + "sha256:de8a88e63464af587c950061a5e6a67d3632e36df62b986892331d4620a35c01", + "sha256:df2449253ef108a379b8b5d6b43f4b1a8e81a061d6537becd5582fba5f9196d7", + "sha256:e1c1493fb6e50ab01d20a22826e57520f1284df32f2d8601fdd90b6304601419", + "sha256:e1cf1972137e83c5d4c136c43ced9ac51d0e124706ee1c8aa8532c1287fa8795", + "sha256:e2103a929dfa2fcaf9bb4e7c091983a49c9ac3b19c9061b6d5427dd7d14d81a1", + "sha256:e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5", + "sha256:e8afc3f2ccfa24215f8cb28dcf43f0113ac3c37c2f0f0806d8c70e4228c5cf4d", + "sha256:e8fc20152abba6b83724d7ff268c249fa196d8259ff481f3b1476383f8f24e42", + "sha256:eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe", + "sha256:ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda", + "sha256:f190daf01f13c72eac4efd5c430a8de82489d9cff23c364c3ea822545032993e", + "sha256:f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737", + "sha256:f3e98bb3798ead92273dc0e5fd0f31ade220f59a266ffd8a4f6065e0a3ce0523", + "sha256:f42d0984e947b8adf7dd6dde396e720934d12c506ce84eea8476409563607591", + "sha256:f71a396b3bf33ecaa1626c255855702aca4d3d9fea5e051b41ac59a9c1c41edc", + "sha256:f9e130248f4462aaa8e2552d547f36ddadbeaa573879158d721bbd33dfe4743a", + "sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50" + ], + "markers": "python_version >= '3.9'", + "version": "==3.0.3" }, "packaging": { "hashes": [ - "sha256:994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61", - "sha256:a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f" + "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", + "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f" ], - "markers": "python_version >= '3.7'", - "version": "==23.1" + "markers": "python_version >= '3.8'", + "version": "==25.0" }, "pygments": { "hashes": [ - "sha256:8ace4d3c1dd481894b2005f560ead0f9f19ee64fe983366be1a21e171d12775c", - "sha256:db2db3deb4b4179f399a09054b023b6a586b76499d36965813c71aa8ed7b5fd1" + "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887", + "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b" ], - "markers": "python_version >= '3.7'", - "version": "==2.15.1" + "markers": "python_version >= '3.8'", + "version": "==2.19.2" }, "requests": { "hashes": [ - "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f", - "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1" + "sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6", + "sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf" ], - "markers": "python_version >= '3.7'", - "version": "==2.31.0" + "markers": "python_version >= '3.9'", + "version": "==2.32.5" + }, + "roman-numerals-py": { + "hashes": [ + "sha256:9da2ad2fb670bcf24e81070ceb3be72f6c11c440d73bd579fbeca1e9f330954c", + "sha256:be4bf804f083a4ce001b5eb7e3c0862479d10f94c936f6c4e5f250aa5ff5bd2d" + ], + "markers": "python_version >= '3.9'", + "version": "==3.1.0" }, "snowballstemmer": { "hashes": [ - "sha256:09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1", - "sha256:c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a" + "sha256:6cd7b3897da8d6c9ffb968a6781fa6532dce9c3618a4b127d920dab764a19064", + "sha256:6d5eeeec8e9f84d4d56b847692bacf79bc2c8e90c7f80ca4444ff8b6f2e52895" ], - "version": "==2.2.0" + "markers": "python_version not in '3.0, 3.1, 3.2'", + "version": "==3.0.1" }, "soupsieve": { "hashes": [ - "sha256:1c1bfee6819544a3447586c889157365a27e10d88cde3ad3da0cf0ddf646feb8", - "sha256:89d12b2d5dfcd2c9e8c22326da9d9aa9cb3dfab0a83a024f05704076ee8d35ea" + "sha256:0cc76456a30e20f5d7f2e14a98a4ae2ee4e5abdc7c5ea0aafe795f344bc7984c", + "sha256:e2dd4a40a628cb5f28f6d4b0db8800b8f581b65bb380b97de22ba5ca8d72572f" ], - "markers": "python_version >= '3.7'", - "version": "==2.4.1" + "markers": "python_version >= '3.9'", + "version": "==2.8" }, "sphinx": { "hashes": [ - "sha256:8f336d0221c3beb23006b3164ed1d46db9cebcce9cb41cdb9c5ecd4bcc509be0", - "sha256:9bdfb5a2b28351d4fdf40a63cd006dbad727f793b243e669fc950d7116c634af" + "sha256:398ad29dee7f63a75888314e9424d40f52ce5a6a87ae88e7071e80af296ec348", + "sha256:4405915165f13521d875a8c29c8970800a0141c14cc5416a38feca4ea5d9b9c3" ], "index": "pypi", - "version": "==7.1.0" + "markers": "python_version >= '3.11'", + "version": "==8.2.3" }, "sphinx-basic-ng": { "hashes": [ @@ -284,10 +380,12 @@ "sha256:fb543fd386d917746c9a2c50360c7905b605726b9355cd26e9974857afeae06e" ], "index": "pypi", + "markers": "python_version >= '3.7'", "version": "==0.5.2" }, "sphinx-multiversion": { "hashes": [ + "sha256:5c38d5ce785a335d8c8d768b46509bd66bfb9c6252b93b700ca8c05317f207d6", "sha256:5cd1ca9ecb5eed63cb8d6ce5e9c438ca13af4fa98e7eb6f376be541dd4990bcb", "sha256:dec29f2a5890ad68157a790112edc0eb63140e70f9df0a363743c6258fbeb478" ], @@ -296,27 +394,27 @@ }, "sphinxcontrib-applehelp": { "hashes": [ - "sha256:29d341f67fb0f6f586b23ad80e072c8e6ad0b48417db2bde114a4c9746feb228", - "sha256:828f867945bbe39817c210a1abfd1bc4895c8b73fcaade56d45357a348a07d7e" + "sha256:2f29ef331735ce958efa4734873f084941970894c6090408b079c61b2e1c06d1", + "sha256:4cd3f0ec4ac5dd9c17ec65e9ab272c9b867ea77425228e68ecf08d6b28ddbdb5" ], - "markers": "python_version >= '3.8'", - "version": "==1.0.4" + "markers": "python_version >= '3.9'", + "version": "==2.0.0" }, "sphinxcontrib-devhelp": { "hashes": [ - "sha256:8165223f9a335cc1af7ffe1ed31d2871f325254c0423bc0c4c7cd1c1e4734a2e", - "sha256:ff7f1afa7b9642e7060379360a67e9c41e8f3121f2ce9164266f61b9f4b338e4" + "sha256:411f5d96d445d1d73bb5d52133377b4248ec79db5c793ce7dbe59e074b4dd1ad", + "sha256:aefb8b83854e4b0998877524d1029fd3e6879210422ee3780459e28a1f03a8a2" ], - "markers": "python_version >= '3.5'", - "version": "==1.0.2" + "markers": "python_version >= '3.9'", + "version": "==2.0.0" }, "sphinxcontrib-htmlhelp": { "hashes": [ - "sha256:0cbdd302815330058422b98a113195c9249825d681e18f11e8b1f78a2f11efff", - "sha256:c38cb46dccf316c79de6e5515e1770414b797162b23cd3d06e67020e1d2a6903" + "sha256:166759820b47002d22914d64a075ce08f4c46818e17cfc9470a9786b759b19f8", + "sha256:c9e2916ace8aad64cc13a0d233ee22317f2b9025b9cf3295249fa985cc7082e9" ], - "markers": "python_version >= '3.8'", - "version": "==2.0.1" + "markers": "python_version >= '3.9'", + "version": "==2.1.0" }, "sphinxcontrib-jsmath": { "hashes": [ @@ -328,434 +426,217 @@ }, "sphinxcontrib-qthelp": { "hashes": [ - "sha256:4c33767ee058b70dba89a6fc5c1892c0d57a54be67ddd3e7875a18d14cba5a72", - "sha256:bd9fc24bcb748a8d51fd4ecaade681350aa63009a347a8c14e637895444dfab6" + "sha256:4fe7d0ac8fc171045be623aba3e2a8f613f8682731f9153bb2e40ece16b9bbab", + "sha256:b18a828cdba941ccd6ee8445dbe72ffa3ef8cbe7505d8cd1fa0d42d3f2d5f3eb" ], - "markers": "python_version >= '3.5'", - "version": "==1.0.3" + "markers": "python_version >= '3.9'", + "version": "==2.0.0" }, "sphinxcontrib-serializinghtml": { "hashes": [ - "sha256:352a9a00ae864471d3a7ead8d7d79f5fc0b57e8b3f95e9867eb9eb28999b92fd", - "sha256:aa5f6de5dfdf809ef505c4895e51ef5c9eac17d0f287933eb49ec495280b6952" + "sha256:6e2cb0eef194e10c27ec0023bfeb25badbbb5868244cf5bc5bdc04e4464bf331", + "sha256:e9d912827f872c029017a53f0ef2180b327c3f7fd23c87229f7a8e8b70031d4d" ], - "markers": "python_version >= '3.5'", - "version": "==1.1.5" + "markers": "python_version >= '3.9'", + "version": "==2.0.0" + }, + "typing-extensions": { + "hashes": [ + "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", + "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548" + ], + "markers": "python_version >= '3.9'", + "version": "==4.15.0" }, "urllib3": { "hashes": [ - "sha256:8d22f86aae8ef5e410d4f539fde9ce6b2113a001bb4d189e0aed70642d602b11", - "sha256:de7df1803967d2c2a98e4b11bb7d6bd9210474c46e8a0401514e3a42a75ebde4" + "sha256:c90f7a39f716c572c4e3e58509581ebd83f9b59cced005b7db7ad2d22b0db99f", + "sha256:cb9bcef5a4b345d5da5d145dc3e30834f58e8018828cbc724d30b4cb7d4d49f1" ], - "markers": "python_version >= '3.7'", - "version": "==2.0.4" + "markers": "python_version >= '3.9'", + "version": "==2.6.0" } }, "develop": { - "alabaster": { - "hashes": [ - "sha256:1ee19aca801bbabb5ba3f5f258e4422dfa86f82f3e9cefb0859b283cdd7f62a3", - "sha256:a27a4a084d5e690e16e01e03ad2b2e552c61a65469419b907243193de1a84ae2" - ], - "markers": "python_version >= '3.6'", - "version": "==0.7.13" - }, - "appdirs": { + "aiosqlite": { "hashes": [ - "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41", - "sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128" + "sha256:131bb8056daa3bc875608c631c678cda73922a2d4ba8aec373b19f18c17e7aa3", + "sha256:2549cf4057f95f53dcba16f2b64e8e2791d7e1adedb13197dd8ed77bb226d7d0" ], - "version": "==1.4.4" + "markers": "python_version >= '3.9'", + "version": "==0.21.0" }, "attrs": { "hashes": [ - "sha256:1f28b4522cdc2fb4256ac1a020c78acf9cba2c6b461ccd2c126f3aa8e8335d04", - "sha256:6279836d581513a26f1bf235f9acd333bc9115683f14f7e8fae46c98fc50e015" + "sha256:16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11", + "sha256:adcf7e2a1fb3b36ac48d97835bb6d8ade15b8dcce26aba8bf1d14847b57a3373" ], - "markers": "python_version >= '3.7'", - "version": "==23.1.0" - }, - "babel": { - "hashes": [ - "sha256:b4246fb7677d3b98f501a39d43396d3cafdc8eadb045f4a31be01863f655c610", - "sha256:cc2d99999cd01d44420ae725a21c9e3711b3aadc7976d6147f622d8581963455" - ], - "markers": "python_version >= '3.7'", - "version": "==2.12.1" + "markers": "python_version >= '3.9'", + "version": "==25.4.0" }, "cattrs": { "hashes": [ - "sha256:b2bb14311ac17bed0d58785e5a60f022e5431aca3932e3fc5cc8ed8639de50a4", - "sha256:db1c821b8c537382b2c7c66678c3790091ca0275ac486c76f3c8f3920e83c657" + "sha256:1ac88d9e5eda10436c4517e390a4142d88638fe682c436c93db7ce4a277b884a", + "sha256:9896e84e0a5bf723bc7b4b68f4481785367ce07a8a02e7e9ee6eb2819bc306ff" ], - "markers": "python_version >= '3.7'", - "version": "==23.1.2" - }, - "certifi": { - "hashes": [ - "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082", - "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9" - ], - "markers": "python_version >= '3.6'", - "version": "==2023.7.22" - }, - "charset-normalizer": { - "hashes": [ - "sha256:04e57ab9fbf9607b77f7d057974694b4f6b142da9ed4a199859d9d4d5c63fe96", - "sha256:09393e1b2a9461950b1c9a45d5fd251dc7c6f228acab64da1c9c0165d9c7765c", - "sha256:0b87549028f680ca955556e3bd57013ab47474c3124dc069faa0b6545b6c9710", - "sha256:1000fba1057b92a65daec275aec30586c3de2401ccdcd41f8a5c1e2c87078706", - "sha256:1249cbbf3d3b04902ff081ffbb33ce3377fa6e4c7356f759f3cd076cc138d020", - "sha256:1920d4ff15ce893210c1f0c0e9d19bfbecb7983c76b33f046c13a8ffbd570252", - "sha256:193cbc708ea3aca45e7221ae58f0fd63f933753a9bfb498a3b474878f12caaad", - "sha256:1a100c6d595a7f316f1b6f01d20815d916e75ff98c27a01ae817439ea7726329", - "sha256:1f30b48dd7fa1474554b0b0f3fdfdd4c13b5c737a3c6284d3cdc424ec0ffff3a", - "sha256:203f0c8871d5a7987be20c72442488a0b8cfd0f43b7973771640fc593f56321f", - "sha256:246de67b99b6851627d945db38147d1b209a899311b1305dd84916f2b88526c6", - "sha256:2dee8e57f052ef5353cf608e0b4c871aee320dd1b87d351c28764fc0ca55f9f4", - "sha256:2efb1bd13885392adfda4614c33d3b68dee4921fd0ac1d3988f8cbb7d589e72a", - "sha256:2f4ac36d8e2b4cc1aa71df3dd84ff8efbe3bfb97ac41242fbcfc053c67434f46", - "sha256:3170c9399da12c9dc66366e9d14da8bf7147e1e9d9ea566067bbce7bb74bd9c2", - "sha256:3b1613dd5aee995ec6d4c69f00378bbd07614702a315a2cf6c1d21461fe17c23", - "sha256:3bb3d25a8e6c0aedd251753a79ae98a093c7e7b471faa3aa9a93a81431987ace", - "sha256:3bb7fda7260735efe66d5107fb7e6af6a7c04c7fce9b2514e04b7a74b06bf5dd", - "sha256:41b25eaa7d15909cf3ac4c96088c1f266a9a93ec44f87f1d13d4a0e86c81b982", - "sha256:45de3f87179c1823e6d9e32156fb14c1927fcc9aba21433f088fdfb555b77c10", - "sha256:46fb8c61d794b78ec7134a715a3e564aafc8f6b5e338417cb19fe9f57a5a9bf2", - "sha256:48021783bdf96e3d6de03a6e39a1171ed5bd7e8bb93fc84cc649d11490f87cea", - "sha256:4957669ef390f0e6719db3613ab3a7631e68424604a7b448f079bee145da6e09", - "sha256:5e86d77b090dbddbe78867a0275cb4df08ea195e660f1f7f13435a4649e954e5", - "sha256:6339d047dab2780cc6220f46306628e04d9750f02f983ddb37439ca47ced7149", - "sha256:681eb3d7e02e3c3655d1b16059fbfb605ac464c834a0c629048a30fad2b27489", - "sha256:6c409c0deba34f147f77efaa67b8e4bb83d2f11c8806405f76397ae5b8c0d1c9", - "sha256:7095f6fbfaa55defb6b733cfeb14efaae7a29f0b59d8cf213be4e7ca0b857b80", - "sha256:70c610f6cbe4b9fce272c407dd9d07e33e6bf7b4aa1b7ffb6f6ded8e634e3592", - "sha256:72814c01533f51d68702802d74f77ea026b5ec52793c791e2da806a3844a46c3", - "sha256:7a4826ad2bd6b07ca615c74ab91f32f6c96d08f6fcc3902ceeedaec8cdc3bcd6", - "sha256:7c70087bfee18a42b4040bb9ec1ca15a08242cf5867c58726530bdf3945672ed", - "sha256:855eafa5d5a2034b4621c74925d89c5efef61418570e5ef9b37717d9c796419c", - "sha256:8700f06d0ce6f128de3ccdbc1acaea1ee264d2caa9ca05daaf492fde7c2a7200", - "sha256:89f1b185a01fe560bc8ae5f619e924407efca2191b56ce749ec84982fc59a32a", - "sha256:8b2c760cfc7042b27ebdb4a43a4453bd829a5742503599144d54a032c5dc7e9e", - "sha256:8c2f5e83493748286002f9369f3e6607c565a6a90425a3a1fef5ae32a36d749d", - "sha256:8e098148dd37b4ce3baca71fb394c81dc5d9c7728c95df695d2dca218edf40e6", - "sha256:94aea8eff76ee6d1cdacb07dd2123a68283cb5569e0250feab1240058f53b623", - "sha256:95eb302ff792e12aba9a8b8f8474ab229a83c103d74a750ec0bd1c1eea32e669", - "sha256:9bd9b3b31adcb054116447ea22caa61a285d92e94d710aa5ec97992ff5eb7cf3", - "sha256:9e608aafdb55eb9f255034709e20d5a83b6d60c054df0802fa9c9883d0a937aa", - "sha256:a103b3a7069b62f5d4890ae1b8f0597618f628b286b03d4bc9195230b154bfa9", - "sha256:a386ebe437176aab38c041de1260cd3ea459c6ce5263594399880bbc398225b2", - "sha256:a38856a971c602f98472050165cea2cdc97709240373041b69030be15047691f", - "sha256:a401b4598e5d3f4a9a811f3daf42ee2291790c7f9d74b18d75d6e21dda98a1a1", - "sha256:a7647ebdfb9682b7bb97e2a5e7cb6ae735b1c25008a70b906aecca294ee96cf4", - "sha256:aaf63899c94de41fe3cf934601b0f7ccb6b428c6e4eeb80da72c58eab077b19a", - "sha256:b0dac0ff919ba34d4df1b6131f59ce95b08b9065233446be7e459f95554c0dc8", - "sha256:baacc6aee0b2ef6f3d308e197b5d7a81c0e70b06beae1f1fcacffdbd124fe0e3", - "sha256:bf420121d4c8dce6b889f0e8e4ec0ca34b7f40186203f06a946fa0276ba54029", - "sha256:c04a46716adde8d927adb9457bbe39cf473e1e2c2f5d0a16ceb837e5d841ad4f", - "sha256:c0b21078a4b56965e2b12f247467b234734491897e99c1d51cee628da9786959", - "sha256:c1c76a1743432b4b60ab3358c937a3fe1341c828ae6194108a94c69028247f22", - "sha256:c4983bf937209c57240cff65906b18bb35e64ae872da6a0db937d7b4af845dd7", - "sha256:c4fb39a81950ec280984b3a44f5bd12819953dc5fa3a7e6fa7a80db5ee853952", - "sha256:c57921cda3a80d0f2b8aec7e25c8aa14479ea92b5b51b6876d975d925a2ea346", - "sha256:c8063cf17b19661471ecbdb3df1c84f24ad2e389e326ccaf89e3fb2484d8dd7e", - "sha256:ccd16eb18a849fd8dcb23e23380e2f0a354e8daa0c984b8a732d9cfaba3a776d", - "sha256:cd6dbe0238f7743d0efe563ab46294f54f9bc8f4b9bcf57c3c666cc5bc9d1299", - "sha256:d62e51710986674142526ab9f78663ca2b0726066ae26b78b22e0f5e571238dd", - "sha256:db901e2ac34c931d73054d9797383d0f8009991e723dab15109740a63e7f902a", - "sha256:e03b8895a6990c9ab2cdcd0f2fe44088ca1c65ae592b8f795c3294af00a461c3", - "sha256:e1c8a2f4c69e08e89632defbfabec2feb8a8d99edc9f89ce33c4b9e36ab63037", - "sha256:e4b749b9cc6ee664a3300bb3a273c1ca8068c46be705b6c31cf5d276f8628a94", - "sha256:e6a5bf2cba5ae1bb80b154ed68a3cfa2fa00fde979a7f50d6598d3e17d9ac20c", - "sha256:e857a2232ba53ae940d3456f7533ce6ca98b81917d47adc3c7fd55dad8fab858", - "sha256:ee4006268ed33370957f55bf2e6f4d263eaf4dc3cfc473d1d90baff6ed36ce4a", - "sha256:eef9df1eefada2c09a5e7a40991b9fc6ac6ef20b1372abd48d2794a316dc0449", - "sha256:f058f6963fd82eb143c692cecdc89e075fa0828db2e5b291070485390b2f1c9c", - "sha256:f25c229a6ba38a35ae6e25ca1264621cc25d4d38dca2942a7fce0b67a4efe918", - "sha256:f2a1d0fd4242bd8643ce6f98927cf9c04540af6efa92323e9d3124f57727bfc1", - "sha256:f7560358a6811e52e9c4d142d497f1a6e10103d3a6881f18d04dbce3729c0e2c", - "sha256:f779d3ad205f108d14e99bb3859aa7dd8e9c68874617c72354d7ecaec2a054ac", - "sha256:f87f746ee241d30d6ed93969de31e5ffd09a2961a051e60ae6bddde9ec3583aa" - ], - "markers": "python_full_version >= '3.7.0'", - "version": "==3.2.0" + "markers": "python_version >= '3.9'", + "version": "==25.3.0" }, "doc8": { "hashes": [ - "sha256:d97a93e8f5a2efc4713a0804657dedad83745cca4cd1d88de9186f77f9776004", - "sha256:e493aa3f36820197c49f407583521bb76a0fde4fffbcd0e092be946ff95931ac" + "sha256:1267ad32758971fbcf991442417a3935c7bc9e52550e73622e0e56ba55ea1d40", + "sha256:9862710027f793c25f9b1899150660e4bf1d4c9a6738742e71f32011e2e3f590" ], "index": "pypi", - "version": "==1.1.1" + "markers": "python_version >= '3.10'", + "version": "==2.0.0" }, "docutils": { "hashes": [ - "sha256:96f387a2c5562db4476f09f13bbab2192e764cac08ebbf3a34a95d9b1e4a59d6", - "sha256:f08a4e276c3a1583a86dce3e34aba3fe04d02bba2dd51ed16106244e8a923e3b" + "sha256:3a6b18732edf182daa3cd12775bbb338cf5691468f91eeeb109deff6ebfa986f", + "sha256:dafca5b9e384f0e419294eb4d2ff9fa826435bf15f15b7bd45723e8ad76811b2" ], - "markers": "python_version >= '3.7'", - "version": "==0.20.1" + "markers": "python_version >= '3.9'", + "version": "==0.21.2" }, "esbonio": { "hashes": [ - "sha256:cd5ed65666d7566a38b04cac01dd55b7d74147a016d1b2ac0a0f971a8cd510cc", - "sha256:d5d57c29a793de9b9b1894f9bffdd3bd25a79d430459e3e597424f52e8d02320" + "sha256:049aa76d5d637f0f79c86d690de4b74bc2be302c68425c4fe6c83b241ac0634c", + "sha256:9d1c3d3e074b3f7fe285147cd713fbda0290472864756772020aebf19f5935c0" ], "index": "pypi", - "version": "==0.16.1" - }, - "exceptiongroup": { - "hashes": [ - "sha256:12c3e887d6485d16943a309616de20ae5582633e0a2eda17f4e10fd61c1e8af5", - "sha256:e346e69d186172ca7cf029c8c1d16235aa0e04035e5750b4b95039e65204328f" - ], - "markers": "python_version < '3.11'", - "version": "==1.1.2" - }, - "idna": { - "hashes": [ - "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4", - "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2" - ], - "markers": "python_version >= '3.5'", - "version": "==3.4" - }, - "imagesize": { - "hashes": [ - "sha256:0d8d18d08f840c19d0ee7ca1fd82490fdc3729b7ac93f49870406ddde8ef8d8b", - "sha256:69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a" - ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==1.4.1" - }, - "jinja2": { - "hashes": [ - "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852", - "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61" - ], - "markers": "python_version >= '3.7'", - "version": "==3.1.2" + "markers": "python_version >= '3.10'", + "version": "==1.0.0" }, "lsprotocol": { "hashes": [ - "sha256:80aae7e39171b49025876a524937c10be2eb986f4be700ca22ee7d186b8488aa", - "sha256:c4f2f77712b50d065b17f9b50d2b88c480dc2ce4bbaa56eea8269dbf54bc9701" + "sha256:e879da2b9301e82cfc3e60d805630487ac2f7ab17492f4f5ba5aaba94fe56c29", + "sha256:f9d78f25221f2a60eaa4a96d3b4ffae011b107537facee61d3da3313880995c7" ], - "markers": "python_version >= '3.7'", - "version": "==2023.0.0a2" - }, - "markupsafe": { - "hashes": [ - "sha256:05fb21170423db021895e1ea1e1f3ab3adb85d1c2333cbc2310f2a26bc77272e", - "sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e", - "sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431", - "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686", - "sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559", - "sha256:1b40069d487e7edb2676d3fbdb2b0829ffa2cd63a2ec26c4938b2d34391b4ecc", - "sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c", - "sha256:2c1b19b3aaacc6e57b7e25710ff571c24d6c3613a45e905b1fde04d691b98ee0", - "sha256:2ef12179d3a291be237280175b542c07a36e7f60718296278d8593d21ca937d4", - "sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9", - "sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575", - "sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba", - "sha256:42de32b22b6b804f42c5d98be4f7e5e977ecdd9ee9b660fda1a3edf03b11792d", - "sha256:504b320cd4b7eff6f968eddf81127112db685e81f7e36e75f9f84f0df46041c3", - "sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00", - "sha256:56d9f2ecac662ca1611d183feb03a3fa4406469dafe241673d521dd5ae92a155", - "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac", - "sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52", - "sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f", - "sha256:69c0f17e9f5a7afdf2cc9fb2d1ce6aabdb3bafb7f38017c0b77862bcec2bbad8", - "sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b", - "sha256:787003c0ddb00500e49a10f2844fac87aa6ce977b90b0feaaf9de23c22508b24", - "sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea", - "sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198", - "sha256:8758846a7e80910096950b67071243da3e5a20ed2546e6392603c096778d48e0", - "sha256:8afafd99945ead6e075b973fefa56379c5b5c53fd8937dad92c662da5d8fd5ee", - "sha256:8c41976a29d078bb235fea9b2ecd3da465df42a562910f9022f1a03107bd02be", - "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2", - "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707", - "sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6", - "sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58", - "sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779", - "sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636", - "sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c", - "sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad", - "sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee", - "sha256:b7ff0f54cb4ff66dd38bebd335a38e2c22c41a8ee45aa608efc890ac3e3931bc", - "sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2", - "sha256:c011a4149cfbcf9f03994ec2edffcb8b1dc2d2aede7ca243746df97a5d41ce48", - "sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7", - "sha256:ca379055a47383d02a5400cb0d110cef0a776fc644cda797db0c5696cfd7e18e", - "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b", - "sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa", - "sha256:ceb01949af7121f9fc39f7d27f91be8546f3fb112c608bc4029aef0bab86a2a5", - "sha256:d080e0a5eb2529460b30190fcfcc4199bd7f827663f858a226a81bc27beaa97e", - "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb", - "sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9", - "sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57", - "sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc", - "sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2" - ], - "markers": "python_version >= '3.7'", - "version": "==2.1.3" - }, - "packaging": { - "hashes": [ - "sha256:994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61", - "sha256:a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f" - ], - "markers": "python_version >= '3.7'", - "version": "==23.1" + "markers": "python_version >= '3.8'", + "version": "==2025.0.0" }, - "pbr": { + "platformdirs": { "hashes": [ - "sha256:567f09558bae2b3ab53cb3c1e2e33e726ff3338e7bae3db5dc954b3a44eef12b", - "sha256:aefc51675b0b533d56bb5fd1c8c6c0522fe31896679882e1c4c63d5e4a0fccb3" + "sha256:61d5cdcc6065745cdd94f0f878977f8de9437be93de97c1c12f853c9c0cdcbda", + "sha256:d03afa3963c806a9bed9d5125c8f4cb2fdaf74a55ab60e5d59b3fde758104d31" ], - "markers": "python_version >= '2.6'", - "version": "==5.11.1" + "markers": "python_version >= '3.10'", + "version": "==4.5.1" }, "pygls": { "hashes": [ - "sha256:6d278d29fa6559b0f7a448263c85cb64ec6e9369548b02f1a7944060848b21f9", - "sha256:888ed63d1f650b4fc64d603d73d37545386ec533c0caac921aed80f80ea946a4" + "sha256:99accd03de1ca76fe1e7e317f0968ebccf7b9955afed6e2e3e188606a20b4f07", + "sha256:b4e54bba806f76781017ded8fd07463b98670f959042c44170cd362088b200cc" ], - "markers": "python_version >= '3.7' and python_version < '4'", - "version": "==1.0.2" + "markers": "python_version >= '3.9'", + "version": "==2.0.0" }, "pygments": { "hashes": [ - "sha256:8ace4d3c1dd481894b2005f560ead0f9f19ee64fe983366be1a21e171d12775c", - "sha256:db2db3deb4b4179f399a09054b023b6a586b76499d36965813c71aa8ed7b5fd1" - ], - "markers": "python_version >= '3.7'", - "version": "==2.15.1" - }, - "pyspellchecker": { - "hashes": [ - "sha256:b5ef23437702b8d03626f814b9646779b572d378b325ad252d8a8e616b3d76db", - "sha256:bc51ffb2c18ba26eaa1340756ebf96d0d886ed6a31d6f8e7a0094ad49d24550a" - ], - "markers": "python_version >= '3.6'", - "version": "==0.7.2" - }, - "requests": { - "hashes": [ - "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f", - "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1" - ], - "markers": "python_version >= '3.7'", - "version": "==2.31.0" - }, - "restructuredtext-lint": { - "hashes": [ - "sha256:1b235c0c922341ab6c530390892eb9e92f90b9b75046063e047cacfb0f050c45" - ], - "version": "==1.4.0" - }, - "snowballstemmer": { - "hashes": [ - "sha256:09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1", - "sha256:c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a" - ], - "version": "==2.2.0" - }, - "sphinx": { - "hashes": [ - "sha256:8f336d0221c3beb23006b3164ed1d46db9cebcce9cb41cdb9c5ecd4bcc509be0", - "sha256:9bdfb5a2b28351d4fdf40a63cd006dbad727f793b243e669fc950d7116c634af" - ], - "index": "pypi", - "version": "==7.1.0" - }, - "sphinxcontrib-applehelp": { - "hashes": [ - "sha256:29d341f67fb0f6f586b23ad80e072c8e6ad0b48417db2bde114a4c9746feb228", - "sha256:828f867945bbe39817c210a1abfd1bc4895c8b73fcaade56d45357a348a07d7e" + "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887", + "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b" ], "markers": "python_version >= '3.8'", - "version": "==1.0.4" + "version": "==2.19.2" }, - "sphinxcontrib-devhelp": { - "hashes": [ - "sha256:8165223f9a335cc1af7ffe1ed31d2871f325254c0423bc0c4c7cd1c1e4734a2e", - "sha256:ff7f1afa7b9642e7060379360a67e9c41e8f3121f2ce9164266f61b9f4b338e4" - ], - "markers": "python_version >= '3.5'", - "version": "==1.0.2" - }, - "sphinxcontrib-htmlhelp": { - "hashes": [ - "sha256:0cbdd302815330058422b98a113195c9249825d681e18f11e8b1f78a2f11efff", - "sha256:c38cb46dccf316c79de6e5515e1770414b797162b23cd3d06e67020e1d2a6903" - ], - "markers": "python_version >= '3.8'", - "version": "==2.0.1" - }, - "sphinxcontrib-jsmath": { - "hashes": [ - "sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178", - "sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8" - ], - "markers": "python_version >= '3.5'", - "version": "==1.0.1" - }, - "sphinxcontrib-qthelp": { - "hashes": [ - "sha256:4c33767ee058b70dba89a6fc5c1892c0d57a54be67ddd3e7875a18d14cba5a72", - "sha256:bd9fc24bcb748a8d51fd4ecaade681350aa63009a347a8c14e637895444dfab6" - ], - "markers": "python_version >= '3.5'", - "version": "==1.0.3" - }, - "sphinxcontrib-serializinghtml": { + "restructuredtext-lint": { "hashes": [ - "sha256:352a9a00ae864471d3a7ead8d7d79f5fc0b57e8b3f95e9867eb9eb28999b92fd", - "sha256:aa5f6de5dfdf809ef505c4895e51ef5c9eac17d0f287933eb49ec495280b6952" + "sha256:374c0d3e7e0867b2335146a145343ac619400623716b211b9a010c94426bbed7", + "sha256:dd25209b9e0b726929d8306339faf723734a3137db382bcf27294fa18a6bc52b" ], - "markers": "python_version >= '3.5'", - "version": "==1.1.5" + "version": "==2.0.2" }, "stevedore": { "hashes": [ - "sha256:8cc040628f3cea5d7128f2e76cf486b2251a4e543c7b938f58d9a377f6694a2d", - "sha256:a54534acf9b89bc7ed264807013b505bf07f74dbe4bcfa37d32bd063870b087c" - ], - "markers": "python_version >= '3.8'", - "version": "==5.1.0" - }, - "tomli": { - "hashes": [ - "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc", - "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f" + "sha256:4a36dccefd7aeea0c70135526cecb7766c4c84c473b1af68db23d541b6dc1820", + "sha256:f22d15c6ead40c5bbfa9ca54aa7e7b4a07d59b36ae03ed12ced1a54cf0b51945" ], - "markers": "python_version < '3.11'", - "version": "==2.0.1" - }, - "typeguard": { - "hashes": [ - "sha256:bbe993854385284ab42fd5bd3bee6f6556577ce8b50696d6cb956d704f286c8e", - "sha256:fee5297fdb28f8e9efcb8142b5ee219e02375509cd77ea9d270b5af826358d5a" - ], - "markers": "python_full_version >= '3.7.4'", - "version": "==3.0.2" + "markers": "python_version >= '3.10'", + "version": "==5.6.0" }, "typing-extensions": { "hashes": [ - "sha256:440d5dd3af93b060174bf433bccd69b0babc3b15b1a8dca43789fd7f61514b36", - "sha256:b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2" - ], - "markers": "python_version < '3.11'", - "version": "==4.7.1" - }, - "urllib3": { - "hashes": [ - "sha256:8d22f86aae8ef5e410d4f539fde9ce6b2113a001bb4d189e0aed70642d602b11", - "sha256:de7df1803967d2c2a98e4b11bb7d6bd9210474c46e8a0401514e3a42a75ebde4" - ], - "markers": "python_version >= '3.7'", - "version": "==2.0.4" + "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", + "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548" + ], + "markers": "python_version >= '3.9'", + "version": "==4.15.0" + }, + "websockets": { + "hashes": [ + "sha256:0701bc3cfcb9164d04a14b149fd74be7347a530ad3bbf15ab2c678a2cd3dd9a2", + "sha256:0a34631031a8f05657e8e90903e656959234f3a04552259458aac0b0f9ae6fd9", + "sha256:0af68c55afbd5f07986df82831c7bff04846928ea8d1fd7f30052638788bc9b5", + "sha256:0c9e74d766f2818bb95f84c25be4dea09841ac0f734d1966f415e4edfc4ef1c3", + "sha256:0f3c1e2ab208db911594ae5b4f79addeb3501604a165019dd221c0bdcabe4db8", + "sha256:0fdfe3e2a29e4db3659dbd5bbf04560cea53dd9610273917799f1cde46aa725e", + "sha256:1009ee0c7739c08a0cd59de430d6de452a55e42d6b522de7aa15e6f67db0b8e1", + "sha256:1234d4ef35db82f5446dca8e35a7da7964d02c127b095e172e54397fb6a6c256", + "sha256:16b6c1b3e57799b9d38427dda63edcbe4926352c47cf88588c0be4ace18dac85", + "sha256:2034693ad3097d5355bfdacfffcbd3ef5694f9718ab7f29c29689a9eae841880", + "sha256:21c1fa28a6a7e3cbdc171c694398b6df4744613ce9b36b1a498e816787e28123", + "sha256:229cf1d3ca6c1804400b0a9790dc66528e08a6a1feec0d5040e8b9eb14422375", + "sha256:27ccee0071a0e75d22cb35849b1db43f2ecd3e161041ac1ee9d2352ddf72f065", + "sha256:363c6f671b761efcb30608d24925a382497c12c506b51661883c3e22337265ed", + "sha256:39c1fec2c11dc8d89bba6b2bf1556af381611a173ac2b511cf7231622058af41", + "sha256:3b1ac0d3e594bf121308112697cf4b32be538fb1444468fb0a6ae4feebc83411", + "sha256:3be571a8b5afed347da347bfcf27ba12b069d9d7f42cb8c7028b5e98bbb12597", + "sha256:3c714d2fc58b5ca3e285461a4cc0c9a66bd0e24c5da9911e30158286c9b5be7f", + "sha256:3d00075aa65772e7ce9e990cab3ff1de702aa09be3940d1dc88d5abf1ab8a09c", + "sha256:3e90baa811a5d73f3ca0bcbf32064d663ed81318ab225ee4f427ad4e26e5aff3", + "sha256:47819cea040f31d670cc8d324bb6435c6f133b8c7a19ec3d61634e62f8d8f9eb", + "sha256:47b099e1f4fbc95b701b6e85768e1fcdaf1630f3cbe4765fa216596f12310e2e", + "sha256:4a9fac8e469d04ce6c25bb2610dc535235bd4aa14996b4e6dbebf5e007eba5ee", + "sha256:4b826973a4a2ae47ba357e4e82fa44a463b8f168e1ca775ac64521442b19e87f", + "sha256:4c2529b320eb9e35af0fa3016c187dffb84a3ecc572bcee7c3ce302bfeba52bf", + "sha256:54479983bd5fb469c38f2f5c7e3a24f9a4e70594cd68cd1fa6b9340dadaff7cf", + "sha256:558d023b3df0bffe50a04e710bc87742de35060580a293c2a984299ed83bc4e4", + "sha256:5756779642579d902eed757b21b0164cd6fe338506a8083eb58af5c372e39d9a", + "sha256:592f1a9fe869c778694f0aa806ba0374e97648ab57936f092fd9d87f8bc03665", + "sha256:595b6c3969023ecf9041b2936ac3827e4623bfa3ccf007575f04c5a6aa318c22", + "sha256:5a939de6b7b4e18ca683218320fc67ea886038265fd1ed30173f5ce3f8e85675", + "sha256:5d54b09eba2bada6011aea5375542a157637b91029687eb4fdb2dab11059c1b4", + "sha256:5df592cd503496351d6dc14f7cdad49f268d8e618f80dce0cd5a36b93c3fc08d", + "sha256:5f4c04ead5aed67c8a1a20491d54cdfba5884507a48dd798ecaf13c74c4489f5", + "sha256:64dee438fed052b52e4f98f76c5790513235efaa1ef7f3f2192c392cd7c91b65", + "sha256:66dd88c918e3287efc22409d426c8f729688d89a0c587c88971a0faa2c2f3792", + "sha256:678999709e68425ae2593acf2e3ebcbcf2e69885a5ee78f9eb80e6e371f1bf57", + "sha256:67f2b6de947f8c757db2db9c71527933ad0019737ec374a8a6be9a956786aaf9", + "sha256:693f0192126df6c2327cce3baa7c06f2a117575e32ab2308f7f8216c29d9e2e3", + "sha256:746ee8dba912cd6fc889a8147168991d50ed70447bf18bcda7039f7d2e3d9151", + "sha256:756c56e867a90fb00177d530dca4b097dd753cde348448a1012ed6c5131f8b7d", + "sha256:76d1f20b1c7a2fa82367e04982e708723ba0e7b8d43aa643d3dcd404d74f1475", + "sha256:7f493881579c90fc262d9cdbaa05a6b54b3811c2f300766748db79f098db9940", + "sha256:823c248b690b2fd9303ba00c4f66cd5e2d8c3ba4aa968b2779be9532a4dad431", + "sha256:82544de02076bafba038ce055ee6412d68da13ab47f0c60cab827346de828dee", + "sha256:8dd8327c795b3e3f219760fa603dcae1dcc148172290a8ab15158cf85a953413", + "sha256:8fdc51055e6ff4adeb88d58a11042ec9a5eae317a0a53d12c062c8a8865909e8", + "sha256:a625e06551975f4b7ea7102bc43895b90742746797e2e14b70ed61c43a90f09b", + "sha256:abdc0c6c8c648b4805c5eacd131910d2a7f6455dfd3becab248ef108e89ab16a", + "sha256:ac017dd64572e5c3bd01939121e4d16cf30e5d7e110a119399cf3133b63ad054", + "sha256:ac1e5c9054fe23226fb11e05a6e630837f074174c4c2f0fe442996112a6de4fb", + "sha256:ac60e3b188ec7574cb761b08d50fcedf9d77f1530352db4eef1707fe9dee7205", + "sha256:b359ed09954d7c18bbc1680f380c7301f92c60bf924171629c5db97febb12f04", + "sha256:b7643a03db5c95c799b89b31c036d5f27eeb4d259c798e878d6937d71832b1e4", + "sha256:ba9e56e8ceeeedb2e080147ba85ffcd5cd0711b89576b83784d8605a7df455fa", + "sha256:c338ffa0520bdb12fbc527265235639fb76e7bc7faafbb93f6ba80d9c06578a9", + "sha256:cad21560da69f4ce7658ca2cb83138fb4cf695a2ba3e475e0559e05991aa8122", + "sha256:d08eb4c2b7d6c41da6ca0600c077e93f5adcfd979cd777d747e9ee624556da4b", + "sha256:d50fd1ee42388dcfb2b3676132c78116490976f1300da28eb629272d5d93e905", + "sha256:d591f8de75824cbb7acad4e05d2d710484f15f29d4a915092675ad3456f11770", + "sha256:d5f6b181bb38171a8ad1d6aa58a67a6aa9d4b38d0f8c5f496b9e42561dfc62fe", + "sha256:d63efaa0cd96cf0c5fe4d581521d9fa87744540d4bc999ae6e08595a1014b45b", + "sha256:d99e5546bf73dbad5bf3547174cd6cb8ba7273062a23808ffea025ecb1cf8562", + "sha256:e09473f095a819042ecb2ab9465aee615bd9c2028e4ef7d933600a8401c79561", + "sha256:e8b56bdcdb4505c8078cb6c7157d9811a85790f2f2b3632c7d1462ab5783d215", + "sha256:ee443ef070bb3b6ed74514f5efaa37a252af57c90eb33b956d35c8e9c10a1931", + "sha256:f29d80eb9a9263b8d109135351caf568cc3f80b9928bccde535c235de55c22d9", + "sha256:f7a866fbc1e97b5c617ee4116daaa09b722101d4a3c170c787450ba409f9736f", + "sha256:fcd5cf9e305d7b8338754470cf69cf81f420459dbae8a3b40cee57417f4614a7" + ], + "markers": "python_version >= '3.9'", + "version": "==15.0.1" } } } diff --git a/tools/toolchains/_base.cmake b/tools/toolchains/_base.cmake new file mode 100644 index 0000000..d101532 --- /dev/null +++ b/tools/toolchains/_base.cmake @@ -0,0 +1,16 @@ +if(POLICY CMP0056) + cmake_policy(SET CMP0056 NEW) +endif() +if(POLICY CMP0066) + cmake_policy(SET CMP0066 NEW) +endif() +if(POLICY CMP0067) + cmake_policy(SET CMP0067 NEW) +endif() +if(POLICY CMP0137) + cmake_policy(SET CMP0137 NEW) +endif() + +set(CMAKE_C_STANDARD 17 CACHE STRING "C standard") +set(CMAKE_CXX_STANDARD 20 CACHE STRING "C++ standard") +set(CMAKE_CXX_SCAN_FOR_MODULES OFF CACHE BOOL "C++ module scanning") diff --git a/tools/toolchains/_clang.cmake b/tools/toolchains/_clang.cmake new file mode 100644 index 0000000..19c3d75 --- /dev/null +++ b/tools/toolchains/_clang.cmake @@ -0,0 +1 @@ +string(APPEND CMAKE_CXX_FLAGS_INIT " -fsized-deallocation") diff --git a/tools/toolchains/_vcpkg.cmake b/tools/toolchains/_vcpkg.cmake new file mode 100644 index 0000000..ef043a3 --- /dev/null +++ b/tools/toolchains/_vcpkg.cmake @@ -0,0 +1,5 @@ +if (DEFINED VCPKG_ROOT) + include("${VCPKG_ROOT}/scripts/toolchains/${_lxVCPKG_TARGET}.cmake") +elseif (DEFINED ENV{VCPKG_ROOT}) + include("$ENV{VCPKG_ROOT}/scripts/toolchains/${_lxVCPKG_TARGET}.cmake") +endif() diff --git a/tools/toolchains/arm64-macos-clang-19-brew.cmake b/tools/toolchains/arm64-macos-clang-19-brew.cmake index 68587e6..f97ba0b 100644 --- a/tools/toolchains/arm64-macos-clang-19-brew.cmake +++ b/tools/toolchains/arm64-macos-clang-19-brew.cmake @@ -1,14 +1,12 @@ -set(CMAKE_SYSTEM_PROCESSOR arm64) +set(_lxVCPKG_TARGET "osx") +include("${CMAKE_CURRENT_LIST_DIR}/_vcpkg.cmake") execute_process(COMMAND brew --prefix llvm@19 OUTPUT_VARIABLE BREW_LLVM_PATH OUTPUT_STRIP_TRAILING_WHITESPACE) +set(CMAKE_OSX_DEPLOYMENT_TARGET 16.4 CACHE STRING "OSX deployment target") set(CMAKE_C_COMPILER "${BREW_LLVM_PATH}/bin/clang") set(CMAKE_CXX_COMPILER "${BREW_LLVM_PATH}/bin/clang++") -set(CMAKE_OSX_DEPLOYMENT_TARGET 15.5 CACHE STRING "OSX deployment target") set(CMAKE_OSX_ARCHITECTURES arm64 CACHE STRING "OSX target architectures") -set(CMAKE_C_STANDARD 17 CACHE STRING "C standard") -set(CMAKE_CXX_STANDARD 20 CACHE STRING "C++ standard") - -set(CMAKE_CXX_FLAGS_INIT "-fsized-deallocation") -set(CMAKE_CXX_SCAN_FOR_MODULES OFF) +include("${CMAKE_CURRENT_LIST_DIR}/_base.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/_clang.cmake") diff --git a/tools/toolchains/x64-linux-clang-19.cmake b/tools/toolchains/x64-linux-clang-19.cmake index f296780..dc206f7 100644 --- a/tools/toolchains/x64-linux-clang-19.cmake +++ b/tools/toolchains/x64-linux-clang-19.cmake @@ -1,10 +1,12 @@ -set(CMAKE_SYSTEM_PROCESSOR AMD64) - set(CMAKE_C_COMPILER clang-19) set(CMAKE_CXX_COMPILER clang++-19) -set(CMAKE_C_STANDARD 17) -set(CMAKE_CXX_STANDARD 20) +set(_lxVCPKG_TARGET "linux") +include("${CMAKE_CURRENT_LIST_DIR}/_vcpkg.cmake") + +if (NOT DEFINED CMAKE_SYSTEM_PROCESSOR) + set(CMAKE_SYSTEM_PROCESSOR AMD64) +endif() -set(CMAKE_CXX_FLAGS_INIT "-fsized-deallocation") -set(CMAKE_CXX_SCAN_FOR_MODULES OFF) +include("${CMAKE_CURRENT_LIST_DIR}/_base.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/_clang.cmake") diff --git a/tools/toolchains/x64-linux-clang-20.cmake b/tools/toolchains/x64-linux-clang-20.cmake index 274a783..016fb3e 100644 --- a/tools/toolchains/x64-linux-clang-20.cmake +++ b/tools/toolchains/x64-linux-clang-20.cmake @@ -1,10 +1,12 @@ -set(CMAKE_SYSTEM_PROCESSOR AMD64) - set(CMAKE_C_COMPILER clang-20) set(CMAKE_CXX_COMPILER clang++-20) -set(CMAKE_C_STANDARD 17) -set(CMAKE_CXX_STANDARD 20) +set(_lxVCPKG_TARGET "linux") +include("${CMAKE_CURRENT_LIST_DIR}/_vcpkg.cmake") + +if (NOT DEFINED CMAKE_SYSTEM_PROCESSOR) + set(CMAKE_SYSTEM_PROCESSOR AMD64) +endif() -set(CMAKE_CXX_FLAGS_INIT "-fsized-deallocation") -set(CMAKE_CXX_SCAN_FOR_MODULES OFF) +include("${CMAKE_CURRENT_LIST_DIR}/_base.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/_clang.cmake") diff --git a/tools/toolchains/x64-linux-clang.cmake b/tools/toolchains/x64-linux-clang.cmake index 20e20f7..3120e70 100644 --- a/tools/toolchains/x64-linux-clang.cmake +++ b/tools/toolchains/x64-linux-clang.cmake @@ -1,10 +1,12 @@ -set(CMAKE_SYSTEM_PROCESSOR AMD64) - set(CMAKE_C_COMPILER clang) set(CMAKE_CXX_COMPILER clang++) -set(CMAKE_C_STANDARD 17) -set(CMAKE_CXX_STANDARD 20) +set(_lxVCPKG_TARGET "linux") +include("${CMAKE_CURRENT_LIST_DIR}/_vcpkg.cmake") + +if (NOT DEFINED CMAKE_SYSTEM_PROCESSOR) + set(CMAKE_SYSTEM_PROCESSOR AMD64) +endif() -set(CMAKE_CXX_FLAGS_INIT "-fsized-deallocation") -set(CMAKE_CXX_SCAN_FOR_MODULES OFF) +include("${CMAKE_CURRENT_LIST_DIR}/_base.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/_clang.cmake") diff --git a/tools/toolchains/x64-linux-gcc-12.cmake b/tools/toolchains/x64-linux-gcc-12.cmake deleted file mode 100644 index 92919b5..0000000 --- a/tools/toolchains/x64-linux-gcc-12.cmake +++ /dev/null @@ -1,9 +0,0 @@ -set(CMAKE_SYSTEM_PROCESSOR AMD64) - -set(CMAKE_C_COMPILER gcc-12) -set(CMAKE_CXX_COMPILER g++-12) - -set(CMAKE_C_STANDARD 17) -set(CMAKE_CXX_STANDARD 20) - -set(CMAKE_CXX_SCAN_FOR_MODULES OFF) diff --git a/tools/toolchains/x64-linux-gcc-14.cmake b/tools/toolchains/x64-linux-gcc-14.cmake new file mode 100644 index 0000000..614a893 --- /dev/null +++ b/tools/toolchains/x64-linux-gcc-14.cmake @@ -0,0 +1,11 @@ +set(CMAKE_C_COMPILER gcc-14) +set(CMAKE_CXX_COMPILER g++-14) + +set(_lxVCPKG_TARGET "linux") +include("${CMAKE_CURRENT_LIST_DIR}/_vcpkg.cmake") + +if (NOT DEFINED CMAKE_SYSTEM_PROCESSOR) + set(CMAKE_SYSTEM_PROCESSOR AMD64) +endif() + +include("${CMAKE_CURRENT_LIST_DIR}/_base.cmake") diff --git a/tools/toolchains/x64-linux-gcc.cmake b/tools/toolchains/x64-linux-gcc.cmake index d16cb89..4e605e8 100644 --- a/tools/toolchains/x64-linux-gcc.cmake +++ b/tools/toolchains/x64-linux-gcc.cmake @@ -1,9 +1,11 @@ -set(CMAKE_SYSTEM_PROCESSOR AMD64) - set(CMAKE_C_COMPILER gcc) set(CMAKE_CXX_COMPILER g++) -set(CMAKE_C_STANDARD 17) -set(CMAKE_CXX_STANDARD 20) +set(_lxVCPKG_TARGET "linux") +include("${CMAKE_CURRENT_LIST_DIR}/_vcpkg.cmake") + +if (NOT DEFINED CMAKE_SYSTEM_PROCESSOR) + set(CMAKE_SYSTEM_PROCESSOR AMD64) +endif() -set(CMAKE_CXX_SCAN_FOR_MODULES OFF) +include("${CMAKE_CURRENT_LIST_DIR}/_base.cmake") diff --git a/tools/toolchains/x64-macos-gcc-12.cmake b/tools/toolchains/x64-macos-gcc-12.cmake deleted file mode 100644 index 9a2f9dc..0000000 --- a/tools/toolchains/x64-macos-gcc-12.cmake +++ /dev/null @@ -1,13 +0,0 @@ -set(CMAKE_SYSTEM_PROCESSOR AMD64) - -set(CMAKE_C_COMPILER gcc-12) -set(CMAKE_CXX_COMPILER g++-12) -set(CMAKE_OSX_DEPLOYMENT_TARGET 14.2 CACHE STRING "OSX deployment target") -set(CMAKE_OSX_ARCHITECTURES x86_64 CACHE STRING "OSX target architectures") - -set(CMAKE_C_STANDARD 17) -set(CMAKE_CXX_STANDARD 20) - -# the new linker currently segfaults with gcc (I believe this is fixed with gcc 14) -set(CMAKE_CXX_FLAGS_INIT "-Wl,-ld_classic") -set(CMAKE_CXX_SCAN_FOR_MODULES OFF) diff --git a/tools/toolchains/x64-macos-gcc-15.cmake b/tools/toolchains/x64-macos-gcc-15.cmake new file mode 100644 index 0000000..5deee14 --- /dev/null +++ b/tools/toolchains/x64-macos-gcc-15.cmake @@ -0,0 +1,13 @@ +set(_lxVCPKG_TARGET "osx") +include("${CMAKE_CURRENT_LIST_DIR}/_vcpkg.cmake") + +if (NOT DEFINED CMAKE_SYSTEM_PROCESSOR) + set(CMAKE_SYSTEM_PROCESSOR x86_64) +endif() +set(CMAKE_OSX_ARCHITECTURES x86_64 CACHE STRING "OSX target architectures") + +set(CMAKE_C_COMPILER gcc-15) +set(CMAKE_CXX_COMPILER g++-15) +set(CMAKE_OSX_DEPLOYMENT_TARGET 16.4 CACHE STRING "OSX deployment target") + +include("${CMAKE_CURRENT_LIST_DIR}/_base.cmake") diff --git a/tools/triplets/x64-linux-gcc-14.cmake b/tools/triplets/x64-linux-gcc-14.cmake new file mode 100644 index 0000000..f96c7c9 --- /dev/null +++ b/tools/triplets/x64-linux-gcc-14.cmake @@ -0,0 +1,6 @@ +set(VCPKG_TARGET_ARCHITECTURE x64) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE static) + +set(VCPKG_CMAKE_SYSTEM_NAME Linux) +set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${CMAKE_CURRENT_LIST_DIR}/../toolchains/x64-linux-gcc-14.cmake") diff --git a/tools/triplets/x64-osx-gcc-12.cmake b/tools/triplets/x64-macos-gcc-15.cmake similarity index 86% rename from tools/triplets/x64-osx-gcc-12.cmake rename to tools/triplets/x64-macos-gcc-15.cmake index 6658f7c..e980485 100644 --- a/tools/triplets/x64-osx-gcc-12.cmake +++ b/tools/triplets/x64-macos-gcc-15.cmake @@ -4,4 +4,4 @@ set(VCPKG_LIBRARY_LINKAGE static) set(VCPKG_CMAKE_SYSTEM_NAME Darwin) set(VCPKG_OSX_ARCHITECTURES x86_64) -set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${CMAKE_CURRENT_LIST_DIR}/../toolchains/x64-macos-gcc-12.cmake") +set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${CMAKE_CURRENT_LIST_DIR}/../toolchains/x64-macos-gcc-15.cmake") From e41fcba68f4ac7112b2b651036a5302b6d6a244b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Steffen=20Ga=C3=9Fmann?= Date: Sat, 13 Dec 2025 14:58:50 +0000 Subject: [PATCH 2/7] build: update to copier-cpp template v0.4.2a3 --- .copier-answers.yml | 2 +- tools/ports/.gitkeep | 0 tools/ports/fmt/portfile.cmake | 28 ---------------------------- tools/ports/fmt/usage | 8 -------- tools/ports/fmt/vcpkg.json | 17 ----------------- vcpkg-configuration.json | 4 ++-- 6 files changed, 3 insertions(+), 56 deletions(-) create mode 100644 tools/ports/.gitkeep delete mode 100644 tools/ports/fmt/portfile.cmake delete mode 100644 tools/ports/fmt/usage delete mode 100644 tools/ports/fmt/vcpkg.json diff --git a/.copier-answers.yml b/.copier-answers.yml index cdb84b3..6055139 100644 --- a/.copier-answers.yml +++ b/.copier-answers.yml @@ -1,5 +1,5 @@ # Changes here will be overwritten by Copier -_commit: v0.4.2a2 +_commit: v0.4.2a3 _src_path: gh:deeplex/copier-cpp email: henrik@gassmann.onl full_name: Henrik Steffen Gaßmann diff --git a/tools/ports/.gitkeep b/tools/ports/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/tools/ports/fmt/portfile.cmake b/tools/ports/fmt/portfile.cmake deleted file mode 100644 index 81fd4ff..0000000 --- a/tools/ports/fmt/portfile.cmake +++ /dev/null @@ -1,28 +0,0 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO fmtlib/fmt - REF "${VERSION}" - SHA512 46974efd36e613477351aa357c451cee434da797c2a505f9f86d73e394dcb35dc2dc0cda66abb98c023e8f24deac9d8e3ee6f9f6c0971cc4c00e37c34aa7f15f - HEAD_REF master -) - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - -DFMT_CMAKE_DIR=share/fmt - -DFMT_TEST=OFF - -DFMT_DOC=OFF -) - -vcpkg_cmake_install() -vcpkg_cmake_config_fixup() -vcpkg_fixup_pkgconfig() -vcpkg_copy_pdbs() - -file(REMOVE_RECURSE - "${CURRENT_PACKAGES_DIR}/debug/include" - "${CURRENT_PACKAGES_DIR}/debug/share" -) - -file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/tools/ports/fmt/usage b/tools/ports/fmt/usage deleted file mode 100644 index e5a9d70..0000000 --- a/tools/ports/fmt/usage +++ /dev/null @@ -1,8 +0,0 @@ -The package fmt provides CMake targets: - - find_package(fmt CONFIG REQUIRED) - target_link_libraries(main PRIVATE fmt::fmt) - - # Or use the header-only version - find_package(fmt CONFIG REQUIRED) - target_link_libraries(main PRIVATE fmt::fmt-header-only) diff --git a/tools/ports/fmt/vcpkg.json b/tools/ports/fmt/vcpkg.json deleted file mode 100644 index 0ed7a4f..0000000 --- a/tools/ports/fmt/vcpkg.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "fmt", - "version": "11.2.0", - "description": "{fmt} is an open-source formatting library providing a fast and safe alternative to C stdio and C++ iostreams.", - "homepage": "https://github.com/fmtlib/fmt", - "license": "MIT", - "dependencies": [ - { - "name": "vcpkg-cmake", - "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true - } - ] -} \ No newline at end of file diff --git a/vcpkg-configuration.json b/vcpkg-configuration.json index 1cd5719..5d5c986 100644 --- a/vcpkg-configuration.json +++ b/vcpkg-configuration.json @@ -2,7 +2,7 @@ "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg-configuration.schema.json", "default-registry": { "kind": "builtin", - "baseline": "ce613c41372b23b1f51333815feb3edd87ef8a8b" + "baseline": "74e6536215718009aae747d86d84b78376bf9e09" }, "overlay-triplets": [ "tools/triplets" @@ -11,7 +11,7 @@ { "kind": "git", "repository": "https://github.com/deeplex/vcpkg-registry", - "baseline": "70800657bcd57ab9ac7d0963e01d475236b4da03", + "baseline": "d0e53d732effaba6fd1f802e9470a9ceb8193480", "packages": [ "concrete" ] From 8bcdb69120a2f0e164d55dcf3b0016d080e1349a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Steffen=20Ga=C3=9Fmann?= Date: Wed, 14 Jan 2026 11:24:26 +0000 Subject: [PATCH 3/7] build: update to copier-cpp template v0.4.2a4 --- .copier-answers.yml | 2 +- CMakeLists.txt | 2 +- tools/ports/llfio/portfile.cmake | 91 +++++++++++++++++++ tools/ports/llfio/usage-error-code-dynamic | 10 ++ tools/ports/llfio/usage-error-code-static | 10 ++ tools/ports/llfio/usage-status-code-dynamic | 10 ++ tools/ports/llfio/usage-status-code-static | 10 ++ tools/ports/llfio/vcpkg.json | 76 ++++++++++++++++ .../ned14-internal-quickcpplib/portfile.cmake | 80 ++++++++++++++++ .../quicklib-depheaders.patch | 25 +++++ .../sha_manifest.cmake | 5 + tools/ports/ned14-internal-quickcpplib/usage | 2 + .../ned14-internal-quickcpplib/vcpkg.json | 42 +++++++++ tools/ports/outcome/files-do-not-exist.patch | 52 +++++++++++ .../ports/outcome/fix-status-code-path.patch | 23 +++++ tools/ports/outcome/portfile.cmake | 61 +++++++++++++ tools/ports/outcome/usage | 4 + tools/ports/outcome/vcpkg.json | 60 ++++++++++++ tools/ports/status-code/portfile.cmake | 30 ++++++ tools/ports/status-code/usage | 4 + tools/ports/status-code/vcpkg.json | 21 +++++ 21 files changed, 618 insertions(+), 2 deletions(-) create mode 100644 tools/ports/llfio/portfile.cmake create mode 100644 tools/ports/llfio/usage-error-code-dynamic create mode 100644 tools/ports/llfio/usage-error-code-static create mode 100644 tools/ports/llfio/usage-status-code-dynamic create mode 100644 tools/ports/llfio/usage-status-code-static create mode 100644 tools/ports/llfio/vcpkg.json create mode 100644 tools/ports/ned14-internal-quickcpplib/portfile.cmake create mode 100644 tools/ports/ned14-internal-quickcpplib/quicklib-depheaders.patch create mode 100644 tools/ports/ned14-internal-quickcpplib/sha_manifest.cmake create mode 100644 tools/ports/ned14-internal-quickcpplib/usage create mode 100644 tools/ports/ned14-internal-quickcpplib/vcpkg.json create mode 100644 tools/ports/outcome/files-do-not-exist.patch create mode 100644 tools/ports/outcome/fix-status-code-path.patch create mode 100644 tools/ports/outcome/portfile.cmake create mode 100644 tools/ports/outcome/usage create mode 100644 tools/ports/outcome/vcpkg.json create mode 100644 tools/ports/status-code/portfile.cmake create mode 100644 tools/ports/status-code/usage create mode 100644 tools/ports/status-code/vcpkg.json diff --git a/.copier-answers.yml b/.copier-answers.yml index 6055139..2b858dd 100644 --- a/.copier-answers.yml +++ b/.copier-answers.yml @@ -1,5 +1,5 @@ # Changes here will be overwritten by Copier -_commit: v0.4.2a3 +_commit: v0.4.2a4 _src_path: gh:deeplex/copier-cpp email: henrik@gassmann.onl full_name: Henrik Steffen Gaßmann diff --git a/CMakeLists.txt b/CMakeLists.txt index 27d95d0..97b3561 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,7 +10,7 @@ # http://creativecommons.org/publicdomain/zero/1.0/ # ######################################################################## -cmake_minimum_required(VERSION 3.23...4.0) +cmake_minimum_required(VERSION 3.25) list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/tools/cmake/") if (POLICY CMP0127) diff --git a/tools/ports/llfio/portfile.cmake b/tools/ports/llfio/portfile.cmake new file mode 100644 index 0000000..5fd11c1 --- /dev/null +++ b/tools/ports/llfio/portfile.cmake @@ -0,0 +1,91 @@ +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. + ]=]) +endif() + + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ned14/llfio + REF b3c9308f143e27161c40f6d52a8fd18e8f05761b + SHA512 cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e + HEAD_REF develop +) + +vcpkg_from_github( + OUT_SOURCE_PATH NTKEC_SOURCE_PATH + REPO ned14/ntkernel-error-category + REF 5e50ff9af36a029c8ead9e0a833aa78304e95f28 + SHA512 a3b8bfba8b22c79913ced23358c4a5ec56d2f2f8ca8da3ebd2e7cfaa783363d92d9de1b49766756c7b008114eee31c1509195232adcc364446eae724489be930 + HEAD_REF master +) + +vcpkg_check_features( + OUT_FEATURE_OPTIONS LLFIO_FEATURE_OPTIONS + FEATURES + status-code LLFIO_USE_EXPERIMENTAL_SG14_STATUS_CODE +) + +# LLFIO expects ntkernel-error-category to live inside its include directory +file(REMOVE_RECURSE "${SOURCE_PATH}/include/llfio/ntkernel-error-category") +file(RENAME "${NTKEC_SOURCE_PATH}" "${SOURCE_PATH}/include/llfio/ntkernel-error-category") + +set(extra_config) +# cmake does not correctly set CMAKE_SYSTEM_PROCESSOR when targeting ARM on Windows +if(VCPKG_TARGET_IS_WINDOWS AND (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")) + list(APPEND extra_config -DLLFIO_ASSUME_CROSS_COMPILING=ON) +endif() +# setting CMAKE_CXX_STANDARD here to prevent llfio from messing with compiler flags +# the cmake package config requires said C++ standard target transitively via quickcpplib +if ("cxx20" IN_LIST FEATURES) + list(APPEND extra_config -DCMAKE_CXX_STANDARD=20) +elseif("cxx17" IN_LIST FEATURES) + list(APPEND extra_config -DCMAKE_CXX_STANDARD=17) +endif() + +# quickcpplib parses CMAKE_MSVC_RUNTIME_LIBRARY and cannot support the default crt linkage generator expression from vcpkg +if(VCPKG_TARGET_IS_WINDOWS) + if(VCPKG_CRT_LINKAGE STREQUAL "dynamic") + list(APPEND extra_config -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded$$<$$:Debug>DLL) + else() + list(APPEND extra_config -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded$$<$$:Debug>) + endif() +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -Dllfio_IS_DEPENDENCY=On + "-DCMAKE_PREFIX_PATH=${CURRENT_INSTALLED_DIR}" + ${LLFIO_FEATURE_OPTIONS} + -DLLFIO_FORCE_OPENSSL_OFF=ON + -DLLFIO_ENABLE_DEPENDENCY_SMOKE_TEST=ON # Leave this always on to test everything compiles + -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON + -DCXX_CONCEPTS_FLAGS= + -DCXX_COROUTINES_FLAGS= + -DCMAKE_POLICY_DEFAULT_CMP0091=NEW # MSVC detection fails without this + ${extra_config} +) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + vcpkg_cmake_build(TARGET install.dl) +elseif(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_cmake_build(TARGET install.sl) +endif() + +if("run-tests" IN_LIST FEATURES) + vcpkg_cmake_build(TARGET test) +endif() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/llfio) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") + +if("status-code" IN_LIST FEATURES) + set(_USAGE_FEATURE "status-code") +else() + set(_USAGE_FEATURE "error-code") +endif() +file(INSTALL "${CURRENT_PORT_DIR}/usage-${_USAGE_FEATURE}-${VCPKG_LIBRARY_LINKAGE}" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME usage) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/Licence.txt") diff --git a/tools/ports/llfio/usage-error-code-dynamic b/tools/ports/llfio/usage-error-code-dynamic new file mode 100644 index 0000000..84a911c --- /dev/null +++ b/tools/ports/llfio/usage-error-code-dynamic @@ -0,0 +1,10 @@ +The package llfio provides two CMake targets: + + find_package(llfio CONFIG REQUIRED) + +- If you want the header-only form of LLFIO: + find_package(Threads REQUIRED) + target_link_libraries(main PUBLIC llfio::hl) + +- If you want the shared library form of LLFIO with shared NT kernel error code category: + target_link_libraries(main PUBLIC llfio::dl llfio::ntkernel-error-category::dl) diff --git a/tools/ports/llfio/usage-error-code-static b/tools/ports/llfio/usage-error-code-static new file mode 100644 index 0000000..c215309 --- /dev/null +++ b/tools/ports/llfio/usage-error-code-static @@ -0,0 +1,10 @@ +The package llfio provides two CMake targets: + + find_package(llfio CONFIG REQUIRED) + +- If you want the header-only form of LLFIO: + find_package(Threads REQUIRED) + target_link_libraries(main PUBLIC llfio::hl) + +- If you want the static library form of LLFIO with static NT kernel error code category: + target_link_libraries(main PUBLIC llfio::sl llfio::ntkernel-error-category::sl) diff --git a/tools/ports/llfio/usage-status-code-dynamic b/tools/ports/llfio/usage-status-code-dynamic new file mode 100644 index 0000000..b9dc9f0 --- /dev/null +++ b/tools/ports/llfio/usage-status-code-dynamic @@ -0,0 +1,10 @@ +The package llfio provides two CMake targets: + + find_package(llfio CONFIG REQUIRED) + +- If you want the header-only form of LLFIO: + find_package(Threads REQUIRED) + target_link_libraries(main PUBLIC llfio::hl) + +- If you want the shared library form of LLFIO: + target_link_libraries(main PUBLIC llfio::dl) diff --git a/tools/ports/llfio/usage-status-code-static b/tools/ports/llfio/usage-status-code-static new file mode 100644 index 0000000..ac60666 --- /dev/null +++ b/tools/ports/llfio/usage-status-code-static @@ -0,0 +1,10 @@ +The package llfio provides two CMake targets: + + find_package(llfio CONFIG REQUIRED) + +- If you want the header-only form of LLFIO: + find_package(Threads REQUIRED) + target_link_libraries(main PUBLIC llfio::hl) + +- If you want the static library form of LLFIO: + target_link_libraries(main PUBLIC llfio::sl) diff --git a/tools/ports/llfio/vcpkg.json b/tools/ports/llfio/vcpkg.json new file mode 100644 index 0000000..d9320f7 --- /dev/null +++ b/tools/ports/llfio/vcpkg.json @@ -0,0 +1,76 @@ +{ + "name": "llfio", + "version-date": "2025-01-13", + "maintainers": [ + "Niall Douglas ", + "Henrik Gaßmann " + ], + "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", + "supports": "!uwp", + "dependencies": [ + "outcome", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "polyfill-cxx17": { + "description": "Polyfill C++17 entities", + "dependencies": [ + { + "name": "llfio", + "default-features": false, + "features": [ + "polyfill-cxx20" + ] + }, + { + "name": "ned14-internal-quickcpplib", + "default-features": false, + "features": [ + "polyfill-cxx17" + ] + }, + { + "name": "outcome", + "default-features": false, + "features": [ + "polyfill-cxx17" + ] + } + ] + }, + "polyfill-cxx20": { + "description": "Polyfill C++20 entities", + "dependencies": [ + { + "name": "ned14-internal-quickcpplib", + "default-features": false, + "features": [ + "polyfill-cxx20" + ] + }, + { + "name": "outcome", + "default-features": false, + "features": [ + "polyfill-cxx20" + ] + } + ] + }, + "run-tests": { + "description": "Build and run the dependency validation tests" + }, + "status-code": { + "description": "Have LLFIO use SG14 `status_code` (proposed `std::error`) instead of `std::error_code`." + } + } +} diff --git a/tools/ports/ned14-internal-quickcpplib/portfile.cmake b/tools/ports/ned14-internal-quickcpplib/portfile.cmake new file mode 100644 index 0000000..d71d3b8 --- /dev/null +++ b/tools/ports/ned14-internal-quickcpplib/portfile.cmake @@ -0,0 +1,80 @@ +# QuickCppLib is composed of other third party libraries: +# <= quickcpplib +# <= byte-lite +# <= gsl-lite +# <= Optional +# +# byte-lite and gsl-lite are in vcpkg, but may not be versions +# known to be compatible with QuickCppLib. It has occurred in the +# past that newer versions were severely broken with QuickCppLib. + +include("${CURRENT_PORT_DIR}/sha_manifest.cmake") + +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 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": "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. + ]=]) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ned14/quickcpplib + REF ${QUICKCPPLIB_REF} + SHA512 ${QUICKCPPLIB_SHA512} + HEAD_REF master + PATCHES + quicklib-depheaders.patch +) + +vcpkg_from_github( + OUT_SOURCE_PATH OPT_SOURCE_PATH + REPO akrzemi1/Optional + REF ${OPTIONAL_REF} + SHA512 ${OPTIONAL_SHA512} + HEAD_REF master +) + +file(COPY "${OPT_SOURCE_PATH}/." DESTINATION "${SOURCE_PATH}/include/quickcpplib/optional") + +# Because quickcpplib's deployed files are header-only, the debug build it not necessary +set(VCPKG_BUILD_TYPE release) + +# Use QuickCppLib's own build process, skipping examples and tests. +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -Dquickcpplib_IS_DEPENDENCY=ON + -DQUICKCPPLIB_USE_SYSTEM_BYTE_LITE=ON + -DQUICKCPPLIB_USE_SYSTEM_SPAN_LITE=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON + "-DCMAKE_INSTALL_DATADIR=${CURRENT_PACKAGES_DIR}/share/ned14-internal-quickcpplib" + ${FEATURE_OPTIONS} + MAYBE_UNUSED_VARIABLES + CMAKE_DISABLE_FIND_PACKAGE_Doxygen +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup( + PACKAGE_NAME quickcpplib + CONFIG_PATH lib/cmake/quickcpplib +) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +file(INSTALL "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/Licence.txt") diff --git a/tools/ports/ned14-internal-quickcpplib/quicklib-depheaders.patch b/tools/ports/ned14-internal-quickcpplib/quicklib-depheaders.patch new file mode 100644 index 0000000..430cd27 --- /dev/null +++ b/tools/ports/ned14-internal-quickcpplib/quicklib-depheaders.patch @@ -0,0 +1,25 @@ +diff --git a/cmake/headers.cmake b/cmake/headers.cmake +index 3924a2a..f1e32d9 100644 +--- a/cmake/headers.cmake ++++ b/cmake/headers.cmake +@@ -15,8 +15,6 @@ set(quickcpplib_HEADERS + "include/quickcpplib/boost/test/unit_test.hpp" + "include/quickcpplib/byte.hpp" + "include/quickcpplib/byte/include/nonstd/byte.hpp" +- "include/quickcpplib/byte/test/byte-main.t.hpp" +- "include/quickcpplib/byte/test/lest/lest_cpp03.hpp" + "include/quickcpplib/config.hpp" + "include/quickcpplib/console_colours.hpp" + "include/quickcpplib/cpp_feature.h" +@@ -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" diff --git a/tools/ports/ned14-internal-quickcpplib/sha_manifest.cmake b/tools/ports/ned14-internal-quickcpplib/sha_manifest.cmake new file mode 100644 index 0000000..00d99df --- /dev/null +++ b/tools/ports/ned14-internal-quickcpplib/sha_manifest.cmake @@ -0,0 +1,5 @@ +set(QUICKCPPLIB_REF 40b0964df509e90a4b527243a8fd4dbf6b704ff2) +set(QUICKCPPLIB_SHA512 ccec956a7d9a911678fe6ef3be05a41bbdc70ce88fd04724417af86fc7b5785eeeb5301a3276914e0f49a364c1747b5cbcb3bf58871f224660155c0debc20481) + +set(OPTIONAL_REF 2b43315458a99fc5de1da6e7bc0ddd364b26d643) +set(OPTIONAL_SHA512 1952386cd3c7b963861f9634055e1baa4181d398d6f1b068a8a3f411368432bdcd42e47aadfa856584ed9a7c724a1c83369243ccb653e650af5c9155b42a84f4) diff --git a/tools/ports/ned14-internal-quickcpplib/usage b/tools/ports/ned14-internal-quickcpplib/usage new file mode 100644 index 0000000..a278e48 --- /dev/null +++ b/tools/ports/ned14-internal-quickcpplib/usage @@ -0,0 +1,2 @@ +You should NOT DIRECTLY USE quickcpplib in your own libraries! +It is intended for internal use by ned14's vcpkg libraries only. diff --git a/tools/ports/ned14-internal-quickcpplib/vcpkg.json b/tools/ports/ned14-internal-quickcpplib/vcpkg.json new file mode 100644 index 0000000..07f22cd --- /dev/null +++ b/tools/ports/ned14-internal-quickcpplib/vcpkg.json @@ -0,0 +1,42 @@ +{ + "name": "ned14-internal-quickcpplib", + "version-date": "2025-12-16", + "maintainers": [ + "Niall Douglas ", + "Henrik Gaßmann " + ], + "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": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "polyfill-cxx17": { + "description": "Polyfill std::byte with byte-lite", + "dependencies": [ + "byte-lite", + { + "name": "ned14-internal-quickcpplib", + "default-features": false, + "features": [ + "polyfill-cxx20" + ] + } + ] + }, + "polyfill-cxx20": { + "description": "Polyfill std::span with span-lite", + "dependencies": [ + "span-lite" + ] + } + } +} diff --git a/tools/ports/outcome/files-do-not-exist.patch b/tools/ports/outcome/files-do-not-exist.patch new file mode 100644 index 0000000..fa2564f --- /dev/null +++ b/tools/ports/outcome/files-do-not-exist.patch @@ -0,0 +1,52 @@ +diff --git a/cmake/headers.cmake b/cmake/headers.cmake +index 734e7d0..5d0f646 100644 +--- a/cmake/headers.cmake ++++ b/cmake/headers.cmake +@@ -25,47 +25,8 @@ set(outcome_HEADERS + "include/outcome/detail/version.hpp" + "include/outcome/experimental/coroutine_support.hpp" + "include/outcome/experimental/result.h" +- "include/outcome/experimental/status-code/include/status-code/boost_error_code.hpp" +- "include/outcome/experimental/status-code/include/status-code/com_code.hpp" +- "include/outcome/experimental/status-code/include/status-code/config.hpp" +- "include/outcome/experimental/status-code/include/status-code/detail/nt_code_to_generic_code.ipp" +- "include/outcome/experimental/status-code/include/status-code/detail/nt_code_to_win32_code.ipp" +- "include/outcome/experimental/status-code/include/status-code/detail/win32_code_to_generic_code.ipp" +- "include/outcome/experimental/status-code/include/status-code/error.hpp" +- "include/outcome/experimental/status-code/include/status-code/errored_status_code.hpp" +- "include/outcome/experimental/status-code/include/status-code/generic_code.hpp" +- "include/outcome/experimental/status-code/include/status-code/getaddrinfo_code.hpp" +- "include/outcome/experimental/status-code/include/status-code/http_status_code.hpp" +- "include/outcome/experimental/status-code/include/status-code/iostream_support.hpp" +- "include/outcome/experimental/status-code/include/status-code/nested_status_code.hpp" +- "include/outcome/experimental/status-code/include/status-code/nt_code.hpp" +- "include/outcome/experimental/status-code/include/status-code/posix_code.hpp" +- "include/outcome/experimental/status-code/include/status-code/quick_status_code_from_enum.hpp" +- "include/outcome/experimental/status-code/include/status-code/result.hpp" +- "include/outcome/experimental/status-code/include/status-code/status_code.hpp" +- "include/outcome/experimental/status-code/include/status-code/status_code_domain.hpp" +- "include/outcome/experimental/status-code/include/status-code/status_error.hpp" +- "include/outcome/experimental/status-code/include/status-code/std_error_code.hpp" +- "include/outcome/experimental/status-code/include/status-code/system_code.hpp" +- "include/outcome/experimental/status-code/include/status-code/system_code_from_exception.hpp" +- "include/outcome/experimental/status-code/include/status-code/system_error2.hpp" +- "include/outcome/experimental/status-code/include/status-code/win32_code.hpp" +- "include/outcome/experimental/status-code/single-header/system_error2-nowindows.hpp" +- "include/outcome/experimental/status-code/single-header/system_error2.hpp" + "include/outcome/experimental/status_outcome.hpp" + "include/outcome/experimental/status_result.hpp" +- "include/outcome/experimental/wg14_result/include/wg14_result/all.h" +- "include/outcome/experimental/wg14_result/include/wg14_result/all.hpp" +- "include/outcome/experimental/wg14_result/include/wg14_result/config.h" +- "include/outcome/experimental/wg14_result/include/wg14_result/result.h" +- "include/outcome/experimental/wg14_result/include/wg14_result/status_code.h" +- "include/outcome/experimental/wg14_result/include/wg14_result/status_code_domain.h" +- "include/outcome/experimental/wg14_result/include/wg14_result/status_code_generic.h" +- "include/outcome/experimental/wg14_result/include/wg14_result/status_code_posix.h" +- "include/outcome/experimental/wg14_result/include/wg14_result/status_code_system.h" +- "include/outcome/experimental/wg14_result/include/wg14_result/try.h" +- "include/outcome/experimental/wg14_result/test/test_common.h" +- "include/outcome/experimental/wg14_result/test/ticks_clock.h" + "include/outcome/iostream_support.hpp" + "include/outcome/iostream_support_result.hpp" + "include/outcome/outcome.hpp" diff --git a/tools/ports/outcome/fix-status-code-path.patch b/tools/ports/outcome/fix-status-code-path.patch new file mode 100644 index 0000000..755966d --- /dev/null +++ b/tools/ports/outcome/fix-status-code-path.patch @@ -0,0 +1,23 @@ +diff --git a/include/outcome/experimental/result.h b/include/outcome/experimental/result.h +index b912a55..1370e9e 100644 +--- a/include/outcome/experimental/result.h ++++ b/include/outcome/experimental/result.h +@@ -278,14 +278,14 @@ extern "C" + } + + #include "../config.hpp" +-#include "status-code/include/status-code/config.hpp" +-#include "status-code/include/status-code/system_code.hpp" ++#include ++#include + #include "status_result.hpp" + + +-#include "status-code/include/status-code/posix_code.hpp" ++#include + #ifdef _WIN32 +-#include "status-code/include/status-code/win32_code.hpp" ++#include + #endif + + #include diff --git a/tools/ports/outcome/portfile.cmake b/tools/ports/outcome/portfile.cmake new file mode 100644 index 0000000..552fbfc --- /dev/null +++ b/tools/ports/outcome/portfile.cmake @@ -0,0 +1,61 @@ +# Outcome is composed of other third party libraries: +# Outcome +# <= status-code +# <= quickcpplib +# <= byte-lite +# <= gsl-lite +# <= Optional +# +# byte-lite and gsl-lite are in vcpkg, but may not be versions +# known to be compatible with Outcome. It has occurred in the +# past that newer versions were severely broken with Outcome. +# +# One can fetch an 'all sources' tarball from +# https://github.com/ned14/outcome/releases which contains +# the exact copy of those third party libraries known to +# have passed Outcome's CI process. + +if ("polyfill-cxx20" IN_LIST FEATURES) + message(WARNING [=[ + Outcome depends on QuickCppLib which uses the vcpkg versions of gsl-lite and byte-lite, rather than the versions tested by QuickCppLib's and Outcome's CI. It is not guaranteed to work with other versions, with failures experienced in the past up-to-and-including runtime crashes. See the warning message from QuickCppLib for how you can pin the versions of those dependencies in your manifest file to those with which QuickCppLib was tested. Do not report issues to upstream without first pinning the versions as QuickCppLib was tested against. + ]=]) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ned14/outcome + REF e4f14947525fac8085c6df1dfd30cdbee6ccfb1c + SHA512 ffece86cf299087ad2fd1152ea6ff30d1c063247d7ce682ccbb4abeb116683749f58c54214cd9aec1733e2e34413da06203a5240253776f49c404633dae68165 + HEAD_REF develop + PATCHES + fix-status-code-path.patch + files-do-not-exist.patch +) + +# Because outcome's deployed files are header-only, the debug build is not necessary +set(VCPKG_BUILD_TYPE release) + +# Use Outcome's own build process, skipping examples and tests. +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -Doutcome_IS_DEPENDENCY=ON + "-DCMAKE_PREFIX_PATH=${CURRENT_INSTALLED_DIR}" + -DOUTCOME_BUNDLE_EMBEDDED_STATUS_CODE=OFF + -DOUTCOME_ENABLE_DEPENDENCY_SMOKE_TEST=ON # Leave this always on to test everything compiles + -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON + -DCXX_CONCEPTS_FLAGS= +) + +if("run-tests" IN_LIST FEATURES) + vcpkg_cmake_build(TARGET test) +endif() + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/outcome) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +file(INSTALL "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/Licence.txt") diff --git a/tools/ports/outcome/usage b/tools/ports/outcome/usage new file mode 100644 index 0000000..61b7b17 --- /dev/null +++ b/tools/ports/outcome/usage @@ -0,0 +1,4 @@ +The package outcome provides CMake targets: + + find_package(outcome CONFIG REQUIRED) + target_link_libraries(main PUBLIC outcome::hl) diff --git a/tools/ports/outcome/vcpkg.json b/tools/ports/outcome/vcpkg.json new file mode 100644 index 0000000..e990774 --- /dev/null +++ b/tools/ports/outcome/vcpkg.json @@ -0,0 +1,60 @@ +{ + "name": "outcome", + "version": "2.2.14", + "maintainers": [ + "Niall Douglas ", + "Henrik Gaßmann " + ], + "description": "Provides very lightweight outcome and result (non-Boost edition)", + "homepage": "https://github.com/ned14/outcome", + "license": "Apache-2.0 OR BSL-1.0", + "supports": "!uwp", + "dependencies": [ + "ned14-internal-quickcpplib", + "status-code", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "polyfill-cxx17": { + "description": "Polyfill C++17 entities", + "dependencies": [ + { + "name": "ned14-internal-quickcpplib", + "default-features": false, + "features": [ + "polyfill-cxx17" + ] + }, + { + "name": "outcome", + "default-features": false, + "features": [ + "polyfill-cxx20" + ] + } + ] + }, + "polyfill-cxx20": { + "description": "Polyfill C++20 entities", + "dependencies": [ + { + "name": "ned14-internal-quickcpplib", + "default-features": false, + "features": [ + "polyfill-cxx20" + ] + } + ] + }, + "run-tests": { + "description": "Build and run the dependency validation tests" + } + } +} diff --git a/tools/ports/status-code/portfile.cmake b/tools/ports/status-code/portfile.cmake new file mode 100644 index 0000000..929ef79 --- /dev/null +++ b/tools/ports/status-code/portfile.cmake @@ -0,0 +1,30 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ned14/status-code + REF b337c2278941f9c999b72dd74f4da1f7b726b173 + SHA512 c6460110ebaf1e186755a062baa3eb65d9284b9979b4a2a271a0bf0c2f416707ba1e5e5db84e638c8bad357fbd019edb9e0719c68d410645b069f0d03ebf2dce + HEAD_REF master + PATCHES +) + +# Because status-code's deployed files are header-only, the debug build is not necessary +set(VCPKG_BUILD_TYPE release) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF + -Dstatus-code_IS_DEPENDENCY=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Boost=ON + MAYBE_UNUSED_VARIABLES + CMAKE_DISABLE_FIND_PACKAGE_Boost +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/status-code) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +file(INSTALL "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/Licence.txt") diff --git a/tools/ports/status-code/usage b/tools/ports/status-code/usage new file mode 100644 index 0000000..8ede455 --- /dev/null +++ b/tools/ports/status-code/usage @@ -0,0 +1,4 @@ +The package status-code provides CMake targets: + + find_package(status-code CONFIG REQUIRED) + target_link_libraries(main PUBLIC status-code::hl) diff --git a/tools/ports/status-code/vcpkg.json b/tools/ports/status-code/vcpkg.json new file mode 100644 index 0000000..3b03f26 --- /dev/null +++ b/tools/ports/status-code/vcpkg.json @@ -0,0 +1,21 @@ +{ + "name": "status-code", + "version-date": "2025-05-21", + "maintainers": [ + "Niall Douglas ", + "Henrik Gaßmann " + ], + "description": "Proposed SG14 status_code for the C++ standard (https://wg21.link/P1028).", + "homepage": "https://github.com/ned14/status-code", + "license": "Apache-2.0 OR BSL-1.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} From fb9b69090e031f648d1482e7e042101a32a4db9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Steffen=20Ga=C3=9Fmann?= Date: Wed, 14 Jan 2026 11:36:56 +0000 Subject: [PATCH 4/7] build: bump concrete to 0.0.0-beta.2 prerelease --- tools/ports/concrete/portfile.cmake | 27 +++++++++++++++++++++++++++ tools/ports/concrete/usage | 4 ++++ tools/ports/concrete/vcpkg.json | 18 ++++++++++++++++++ 3 files changed, 49 insertions(+) create mode 100644 tools/ports/concrete/portfile.cmake create mode 100644 tools/ports/concrete/usage create mode 100644 tools/ports/concrete/vcpkg.json diff --git a/tools/ports/concrete/portfile.cmake b/tools/ports/concrete/portfile.cmake new file mode 100644 index 0000000..63d2d86 --- /dev/null +++ b/tools/ports/concrete/portfile.cmake @@ -0,0 +1,27 @@ + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO "deeplex/concrete" + REF "757c01e19f07940d0ab3b7a27a3c041136cebfd9" + SHA512 3790537ff5fc6751a0af1d35ee76f04420e963dafaad706567e919eabd52e553be7a959414aa4f53409a770114f20d1307b3267d36b79512161150760dc04ea2 +) + +# Because concrete is a header-only library, the debug build is not necessary +set(VCPKG_BUILD_TYPE release) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF + -DWARNINGS_AS_ERRORS=OFF +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/lib" +) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/tools/ports/concrete/usage b/tools/ports/concrete/usage new file mode 100644 index 0000000..df1bd42 --- /dev/null +++ b/tools/ports/concrete/usage @@ -0,0 +1,4 @@ +concrete provides CMake targets: + + find_package(concrete CONFIG REQUIRED) + target_link_libraries(main PRIVATE Deeplex::concrete) diff --git a/tools/ports/concrete/vcpkg.json b/tools/ports/concrete/vcpkg.json new file mode 100644 index 0000000..2ab0a5c --- /dev/null +++ b/tools/ports/concrete/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "concrete", + "version-semver": "0.0.0-beta.2", + "homepage": "https://docs.deeplex.net/concrete", + "license": "BSL-1.0", + "dependencies": [ + "outcome", + "status-code", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} From 877e73f4ba49c06edef3787731a070a268ead9f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Steffen=20Ga=C3=9Fmann?= Date: Wed, 14 Jan 2026 13:46:25 +0000 Subject: [PATCH 5/7] test: shut up bogus `maybe-uninitialized` warning --- src/dplx/dp/codecs/auto_enum.test.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dplx/dp/codecs/auto_enum.test.cpp b/src/dplx/dp/codecs/auto_enum.test.cpp index 857803f..403c57a 100644 --- a/src/dplx/dp/codecs/auto_enum.test.cpp +++ b/src/dplx/dp/codecs/auto_enum.test.cpp @@ -118,7 +118,7 @@ TEMPLATE_TEST_CASE("enums have an auto codec", { simple_test_input_stream inputStream(sample.encoded_bytes()); - TestType value; + TestType value{}; REQUIRE(dp::decode(inputStream, value)); CHECK(value == sample.value); From 1a50ded7bfee2f2456c9fd72e757b697924b669d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Steffen=20Ga=C3=9Fmann?= Date: Tue, 3 Feb 2026 14:45:45 +0000 Subject: [PATCH 6/7] build: update to copier-cpp template v0.4.2a7 --- .copier-answers.yml | 2 +- tools/ports/llfio/portfile.cmake | 2 +- tools/ports/outcome/portfile.cmake | 4 ++-- tools/ports/status-code/portfile.cmake | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.copier-answers.yml b/.copier-answers.yml index 2b858dd..68658ce 100644 --- a/.copier-answers.yml +++ b/.copier-answers.yml @@ -1,5 +1,5 @@ # Changes here will be overwritten by Copier -_commit: v0.4.2a4 +_commit: v0.4.2a7 _src_path: gh:deeplex/copier-cpp email: henrik@gassmann.onl full_name: Henrik Steffen Gaßmann diff --git a/tools/ports/llfio/portfile.cmake b/tools/ports/llfio/portfile.cmake index 5fd11c1..4638b1e 100644 --- a/tools/ports/llfio/portfile.cmake +++ b/tools/ports/llfio/portfile.cmake @@ -9,7 +9,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ned14/llfio REF b3c9308f143e27161c40f6d52a8fd18e8f05761b - SHA512 cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e + SHA512 eb1b629b00fc28da939b0766ce567896da098401d71bd65b895f34ccd805d5ac99c0e45cc1733e63ce985c22b6d2118e576fb49a8e3a6f02170b9fe378e801bd HEAD_REF develop ) diff --git a/tools/ports/outcome/portfile.cmake b/tools/ports/outcome/portfile.cmake index 552fbfc..518dfd5 100644 --- a/tools/ports/outcome/portfile.cmake +++ b/tools/ports/outcome/portfile.cmake @@ -24,8 +24,8 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ned14/outcome - REF e4f14947525fac8085c6df1dfd30cdbee6ccfb1c - SHA512 ffece86cf299087ad2fd1152ea6ff30d1c063247d7ce682ccbb4abeb116683749f58c54214cd9aec1733e2e34413da06203a5240253776f49c404633dae68165 + REF 2db94be7aa1c65115d1942042238317d53ab601c + SHA512 7ccc56b4c10eb04a5eb22b984cb7d512a5bb69fac86958018e9e3be2ac470a020fdfdd4fbcb8cb94ea1c44c242a98dda5c1a9df47c8cd561006fad21fd3effa7 HEAD_REF develop PATCHES fix-status-code-path.patch diff --git a/tools/ports/status-code/portfile.cmake b/tools/ports/status-code/portfile.cmake index 929ef79..404129d 100644 --- a/tools/ports/status-code/portfile.cmake +++ b/tools/ports/status-code/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ned14/status-code - REF b337c2278941f9c999b72dd74f4da1f7b726b173 - SHA512 c6460110ebaf1e186755a062baa3eb65d9284b9979b4a2a271a0bf0c2f416707ba1e5e5db84e638c8bad357fbd019edb9e0719c68d410645b069f0d03ebf2dce + REF 937b0fc71c85dcae77059f4a3bec6424fdf1b5f9 + SHA512 f0d71b0a6982261fcb41f75cdb49c035fac00a5cd9e61b706c606dc255775c48af2ba15772c19330cf5497e787af6c455b097233554f3f2d2ffd72a9fb79a08c HEAD_REF master PATCHES ) From 303c6e6f0c83eeabbaca54df7bbdcc179347fbd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Steffen=20Ga=C3=9Fmann?= Date: Tue, 3 Feb 2026 16:02:02 +0000 Subject: [PATCH 7/7] build: update to copier-cpp template v0.4.2 --- .copier-answers.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.copier-answers.yml b/.copier-answers.yml index 68658ce..aafd5ce 100644 --- a/.copier-answers.yml +++ b/.copier-answers.yml @@ -1,5 +1,5 @@ # Changes here will be overwritten by Copier -_commit: v0.4.2a7 +_commit: v0.4.2 _src_path: gh:deeplex/copier-cpp email: henrik@gassmann.onl full_name: Henrik Steffen Gaßmann