diff --git a/cmake b/cmake index 76c6b6b57e..63de35dc95 160000 --- a/cmake +++ b/cmake @@ -1 +1 @@ -Subproject commit 76c6b6b57e5c83961bd31aa5ee381e11f4f3c081 +Subproject commit 63de35dc95ad446f2a27141141920e75d0f3dd66 diff --git a/containers/tfc-toolchain/build-doxygen.sh b/containers/tfc-toolchain/build-doxygen.sh new file mode 100755 index 0000000000..290e81ece9 --- /dev/null +++ b/containers/tfc-toolchain/build-doxygen.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash + +set -ex + +source shared.sh + +VERSION=1.10.0 + +curl https://www.doxygen.nl/files/doxygen-1.10.0.src.tar.gz | tar xfz - + +echo "Building Doxygen" + +cd doxygen-1.10.0 +hide_output mkdir build +hide_output cd build +hide_output cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/cpproot .. +hide_output cmake --build . +hide_output cmake --install . + +cd .. +rm -rf doxygen-$VERSION + diff --git a/containers/tfc-toolchain/install-common.sh b/containers/tfc-toolchain/install-common.sh index 29561b38db..d48a1b8b7c 100755 --- a/containers/tfc-toolchain/install-common.sh +++ b/containers/tfc-toolchain/install-common.sh @@ -20,17 +20,15 @@ hide_output apt install -y --no-install-recommends \ libtool \ autopoint \ gperf \ - python3-distutils \ python3-jinja2 \ python3-venv \ - gcc-13 \ - g++-13 \ - g++-13-aarch64-linux-gnu \ + gcc-14 \ + g++-14 \ + g++-14-aarch64-linux-gnu \ libltdl-dev # Required for autoconf # Install documentation specific packages hide_output apt install -y --no-install-recommends \ - doxygen \ python3-venv \ python3-jinja2 \ graphviz diff --git a/containers/tfc-toolchain/tfc-toolchain.dockerfile b/containers/tfc-toolchain/tfc-toolchain.dockerfile index 711320f5f5..df0043f60d 100644 --- a/containers/tfc-toolchain/tfc-toolchain.dockerfile +++ b/containers/tfc-toolchain/tfc-toolchain.dockerfile @@ -1,5 +1,5 @@ # boost-build requires newer compiler than gcc 8 -FROM ubuntu:23.04 AS base +FROM ubuntu:24.04 AS base ENV DEBIAN_FRONTEND noninteractive @@ -21,14 +21,14 @@ RUN ldconfig COPY install-common.sh /tmp/ RUN ./install-common.sh -# Give gcc-13 some better names -RUN ln -sf /usr/bin/gcc-13 /cpproot/bin/gcc -RUN ln -sf /usr/bin/g++-13 /cpproot/bin/g++ -RUN ln -sf /usr/bin/gcc-13 /cpproot/bin/cc -RUN ln -sf /usr/bin/aarch64-linux-gnu-gcc-ar-13 /cpproot/bin/aarch64-linux-gnu-ar +# Give gcc-14 some better names +RUN ln -sf /usr/bin/gcc-14 /cpproot/bin/gcc +RUN ln -sf /usr/bin/g++-14 /cpproot/bin/g++ +RUN ln -sf /usr/bin/gcc-14 /cpproot/bin/cc +RUN ln -sf /usr/bin/aarch64-linux-gnu-gcc-ar-14 /cpproot/bin/aarch64-linux-gnu-ar RUN ln -sf /usr/bin/aarch64-linux-gnu-strip /cpproot/bin/aarch64-linux-gnu-strip -RUN ln -sf /usr/bin/aarch64-linux-gnu-gcc-13 /cpproot/bin/aarch64-linux-gnu-gcc -RUN ln -sf /usr/bin/aarch64-linux-gnu-g++-13 /cpproot/bin/aarch64-linux-gnu-g++ +RUN ln -sf /usr/bin/aarch64-linux-gnu-gcc-14 /cpproot/bin/aarch64-linux-gnu-gcc +RUN ln -sf /usr/bin/aarch64-linux-gnu-g++-14 /cpproot/bin/aarch64-linux-gnu-g++ RUN ln -sf /usr/aarch64-linux-gnu /cpproot/aarch64-linux-gnu RUN ln -sf /usr/include/aarch64-linux-gnu /cpproot/include/aarch64-linux-gnu RUN ln -sf /usr/lib/aarch64-linux-gnu /cpproot/lib/aarch64-linux-gnu @@ -39,7 +39,7 @@ RUN ./install-cmake.sh 3.29.0 COPY build-ninja.sh /tmp/ RUN ./build-ninja.sh 1.11.1 -# This has to happen after gcc-13 and cmake +# This has to happen after gcc-14 and cmake COPY build-mold.sh /tmp/ RUN ./build-mold.sh 2.30.0 @@ -53,7 +53,7 @@ RUN mkdir -p /var/run/dbus/ RUN sed -i 's|deny own=|allow own=|g' /usr/share/dbus-1/system.conf RUN sed -i 's|deny send_type="method_call"|allow send_type="method_call"|g' /usr/share/dbus-1/system.conf -FROM base AS gcc-13 +FROM base AS gcc-14 COPY build-binutils.sh /tmp/ RUN ./build-binutils.sh 2.40 @@ -61,9 +61,9 @@ RUN ./build-binutils.sh 2.40 # COPY build-gcc-from-commit.sh /tmp/ # RUN ./build-gcc-from-commit.sh eb83605be3db9e8246c73755eafcac5df32ddc69 RUN apt update -# RUN apt install g++-13-aarch64-linux-gnu -y # Already done in common -RUN ln -sf /usr/bin/aarch64-linux-gnu-gcc-13 /cpproot/bin/aarch64-linux-gnu-gcc -RUN ln -sf /usr/bin/aarch64-linux-gnu-g++-13 /cpproot/bin/aarch64-linux-gnu-g++ +# RUN apt install g++-14-aarch64-linux-gnu -y # Already done in common +RUN ln -sf /usr/bin/aarch64-linux-gnu-gcc-14 /cpproot/bin/aarch64-linux-gnu-gcc +RUN ln -sf /usr/bin/aarch64-linux-gnu-g++-14 /cpproot/bin/aarch64-linux-gnu-g++ # RUN apt remove -y gcc g++ #RUN apt update && apt install -y --no-install-recommends libisl-dev libmpc-dev libc-dev @@ -73,11 +73,11 @@ RUN apt clean all RUN rm -rf /var/lib/apt/lists/* RUN rm -rf /tmp/* -FROM gcc-13 as clang-18 +FROM gcc-14 as clang-18 COPY shared.sh /tmp/ COPY build-clang.sh /tmp/ -RUN ./build-clang.sh 18.1.2 +RUN ./build-clang.sh 18.1.5 #ENV CC=clang #ENV CXX=clang++ @@ -103,6 +103,11 @@ COPY build-node.sh /tmp/ COPY ./shared.sh /tmp/ RUN ./build-node.sh 21.7.1 +# Todo: separate this into a docs container +COPY build-doxygen.sh /tmp/ +RUN apt-get install -y --no-install-recommends flex bison +RUN ./build-doxygen.sh + # THIS is so much crap, boost-build vcpkg port strictly requires gcc, need to fix port to bypass #RUN apt remove -y gcc RUN apt autoremove -y diff --git a/libs/confman/src/file_storage.cpp b/libs/confman/src/file_storage.cpp index 77bf4bec3e..c17bfee277 100644 --- a/libs/confman/src/file_storage.cpp +++ b/libs/confman/src/file_storage.cpp @@ -111,7 +111,7 @@ auto write_and_apply_retention_policy(std::string_view file_content, std::filesy /// \param file_contents contents of the file /// \returns A std::error_code indicating success or failure. If write fails, IO error is returned. auto write_to_file(std::filesystem::path const& file_path, std::string_view file_contents) -> std::error_code { - auto glz_err{ glz::buffer_to_file(file_contents, file_path) }; + auto glz_err{ glz::buffer_to_file(file_contents, file_path.string()) }; if (glz_err != glz::error_code::none) { return std::make_error_code(std::errc::io_error); } diff --git a/libs/confman/testing/tests/file_storage_test.cpp b/libs/confman/testing/tests/file_storage_test.cpp index bbd03d090c..50abd0d61c 100644 --- a/libs/confman/testing/tests/file_storage_test.cpp +++ b/libs/confman/testing/tests/file_storage_test.cpp @@ -123,7 +123,7 @@ auto main(int argc, char** argv) -> int { file_testable conf{ ctx, file_name, test_me{ .a = observable{ 1 }, .b = "bar" } }; glz::json_t json{}; std::string buffer{}; - glz::read_file_json(json, file_name.string(), buffer); + std::ignore = glz::read_file_json(json, file_name.string(), buffer); ut::expect(static_cast(json["a"].get()) == 1); ut::expect(json["b"].get() == "bar"); @@ -131,7 +131,7 @@ auto main(int argc, char** argv) -> int { conf.make_change()->b = "test"; buffer = {}; - glz::read_file_json(json, file_name.string(), buffer); + std::ignore = glz::read_file_json(json, file_name.string(), buffer); ut::expect(static_cast(json["a"].get()) == 2); ut::expect(json["b"].get() == "test"); }; @@ -161,7 +161,7 @@ auto main(int argc, char** argv) -> int { if (backup_found) { glz::json_t backup_json{}; std::string buffer{}; - glz::read_file_json(backup_json, found_file.string(), buffer); + std::ignore = glz::read_file_json(backup_json, found_file.string(), buffer); ut::expect(backup_json["a"].as() == 3) << backup_json["a"].as(); ut::expect(backup_json["b"].get() == "bar") << backup_json["b"].get(); diff --git a/libs/motor/src/error.cpp b/libs/motor/src/error.cpp index 5a856cc3a2..13fd682896 100644 --- a/libs/motor/src/error.cpp +++ b/libs/motor/src/error.cpp @@ -63,7 +63,7 @@ class motor_error_category_t : public std::error_category { // clang-format off PRAGMA_CLANG_WARNING_PUSH_OFF(-Wglobal-constructors) PRAGMA_CLANG_WARNING_PUSH_OFF(-Wexit-time-destructors) -constinit motor_error_category_t category_instance{}; +thread_local motor_error_category_t category_instance{}; PRAGMA_CLANG_WARNING_POP PRAGMA_CLANG_WARNING_POP // clang-format on diff --git a/libs/stx/inc/public/tfc/stx/glaze_meta.hpp b/libs/stx/inc/public/tfc/stx/glaze_meta.hpp index 4d58ff8317..358509e723 100644 --- a/libs/stx/inc/public/tfc/stx/glaze_meta.hpp +++ b/libs/stx/inc/public/tfc/stx/glaze_meta.hpp @@ -194,12 +194,12 @@ template constexpr auto parse8601(const std::string& save) -> date::sys_time { std::istringstream in{ save }; date::sys_time tp; - in >> date::parse("%FT%TZ", tp); + date::from_stream(in, "%FT%TZ", tp); if (in.fail()) { in.clear(); in.exceptions(std::ios::failbit); in.str(save); - in >> date::parse("%FT%T%Ez", tp); + date::from_stream(in, "%FT%T%Ez", tp); } return tp; } diff --git a/vcpkg-configuration.json b/vcpkg-configuration.json index 0898399a0b..f06c0352b9 100644 --- a/vcpkg-configuration.json +++ b/vcpkg-configuration.json @@ -1,8 +1,8 @@ { "default-registry": { "kind": "git", - "repository": "https://github.com/microsoft/vcpkg", - "baseline": "66a252f70eebdd744c02d7ab8c1cc6fe123c70ee" + "repository": "https://github.com/jbbjarnason/vcpkg", + "baseline": "7bc57b8493d90d7e618e0b8319459f5b894dc01d" }, "registries": [ { diff --git a/vcpkg.json b/vcpkg.json index 82a3a78529..0eba76f416 100644 --- a/vcpkg.json +++ b/vcpkg.json @@ -18,7 +18,7 @@ "fmt", { "name": "glaze", - "version>=": "1.9.6" + "version>=": "2.6.4" }, "gtest", { @@ -33,7 +33,7 @@ "features": [ "use-libfmt" ], - "version>=": "2.1.0" + "version>=": "2.1.1" }, "openssl", "pcg",