From a799f841be804fa23c18dbffed972973acb26106 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Sun, 25 Feb 2024 12:43:42 +0000 Subject: [PATCH] rippled: fix `gcc-13` build failure Without the change the build fails on `master` as https://hydra.nixos.org/build/246448950: In file included from /build/rippled/src/test/basics/base64_test.cpp:29, from /build/rippled/build/CMakeFiles/rippled.dir/Unity/unity_23_cxx.cxx:4: /build/rippled/src/ripple/basics/base64.h:65:20: error: 'uint8_t' is not a member of 'std'; did you mean 'wint_t'? 65 | base64_encode(std::uint8_t const* data, std::size_t len); | ^~~~~~~ | wint_t --- pkgs/servers/rippled/default.nix | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/pkgs/servers/rippled/default.nix b/pkgs/servers/rippled/default.nix index e1ad55a41d38..83ceee00f45f 100644 --- a/pkgs/servers/rippled/default.nix +++ b/pkgs/servers/rippled/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchgit, fetchurl, git, cmake, pkg-config +{ lib, stdenv, fetchgit, fetchurl, fetchpatch, git, cmake, pkg-config , openssl, boost, grpc, protobuf, libnsl, rocksdb_6_23, snappy }: let @@ -100,6 +100,17 @@ in stdenv.mkDerivation rec { hash = "sha256-VW/VmnhtF2xyHfEud3D6b3n8uTE0a/nDW1GISs5QfwM="; }; + patches = [ + # Fix gcc-13 build due to missing includes: + # https://github.com/XRPLF/rippled/pull/4555 + (fetchpatch { + name = "gcc-13.patch"; + url = "https://github.com/XRPLF/rippled/commit/c9a586c2437bc8ffd22e946c82e1cbe906e1fc40.patch"; + hash = "sha256-+4BDTMFoQWUHljgwGB1gtczVPQH/U5MA0ojbnBykceg="; + excludes = [ "src/ripple/basics/StringUtilities.h" ]; + }) + ]; + hardeningDisable = ["format"]; cmakeFlags = ["-Dstatic=OFF" "-DBoost_NO_BOOST_CMAKE=ON" "-DSNAPPY_INCLUDE_DIR=${snappy}/include" ];