Hello Guix, Currently guix-daemon is built using GCC 11 with -std=c++11. We are waiting for guile-daemon [1], but we can have improvements on guix-daemon right now.
In nix/libutil/util.cc there are lots of functions related to copy/delete files and manipulate file paths. In C++ 17 the standard library’s <filesystem> provides the same functionality which is more reliable. guix-daemon uses Boost.Format to generate formatted string. These code are copied into nix/libformat directly and I think it is not a good practice. With C++ 20 we can use <format> from C++’s standard library. I have done some experiments on it [2]. In my code repo I replace all boost::format with std::format in nix/libutil. We can use <filesystem> if we upgrade from —std=c++11 to -std=c++17. For <format> we need GCC 13 with -std=c++20. WDYT? Regards, Kuo [1]: https://guix.gnu.org/en/blog/2023/a-build-daemon-in-guile/ [2]: https://codeberg.org/congcongkuo/guix-daemon-zig/commit/38b8722f53d17ae4c5826dab051f4fdb00da31db