zxing-cpp: c++20 for char8_t

build fails on clang-19 due to using c++ 17 and having char8_t typedefed
to an uint8_t, which is not supported by std::char_traits. Using c++20
fixes this as the code will use a char8_t.

Used a substituteInPlace so the override can be removed once c++20 is
the default in the cmake file.
This commit is contained in:
Reno Dakota
2024-11-20 02:14:52 +00:00
committed by Emily
parent 4e9d1421f3
commit 3c76f37753
+6
View File
@@ -18,6 +18,12 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-teFspdATn9M7Z1vSr/7PdJx/xAv+TVai8rIekxqpBZk=";
};
# c++ 20 needed for char8_t or clang-19 build fails
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace-fail "CMAKE_CXX_STANDARD 17" "CMAKE_CXX_STANDARD 20"
'';
nativeBuildInputs = [
cmake
pkg-config