Commit 52eea7de authored by Sergei Trofimovich's avatar Sergei Trofimovich
Browse files

osrm-backend: fix `gcc-13` build

Without the change build fails on `master` as
https://hydra.nixos.org/build/247690774:

   /build/source/include/util/coordinate.hpp:66:34: error: 'int32_t' is not a member of 'std'
      66 | using FixedLatitude = Alias<std::int32_t, tag::latitude>;
         |                                  ^~~~~~~
parent 1ab54f84
Loading
Loading
Loading
Loading
+14 −2
Original line number Diff line number Diff line
{lib, stdenv, fetchFromGitHub, cmake, pkg-config, bzip2, libxml2, libzip, boost179, lua, luabind, tbb, expat}:
{lib, stdenv, fetchFromGitHub, fetchpatch, cmake, pkg-config, bzip2, libxml2, libzip, boost179, lua, luabind, tbb, expat}:

stdenv.mkDerivation rec {
  pname = "osrm-backend";
@@ -15,12 +15,24 @@ stdenv.mkDerivation rec {

  buildInputs = [ bzip2 libxml2 libzip boost179 lua luabind tbb expat ];

  patches = [ ./darwin.patch ];
  patches = [
    # gcc-13 build fix:
    #   https://github.com/Project-OSRM/osrm-backend/pull/6632
    (fetchpatch {
      name = "gcc-13.patch";
      url = "https://github.com/Project-OSRM/osrm-backend/commit/af59a9cfaee4d601b5c88391624a05f2a38da17b.patch";
      hash = "sha256-dB9JP/DrJXpFGLD/paein2z64UtHIYZ17ycb91XWpEI=";
    })

    ./darwin.patch
  ];

  env.NIX_CFLAGS_COMPILE = toString [
    # Needed with GCC 12
    "-Wno-error=stringop-overflow"
    "-Wno-error=uninitialized"
    # Needed for GCC 13
    "-Wno-error=array-bounds"
  ];

  postInstall = "mkdir -p $out/share/osrm-backend && cp -r ../profiles $out/share/osrm-backend/profiles";
+1 −1
Original line number Diff line number Diff line
@@ -26685,7 +26685,7 @@ with pkgs;
  openxr-loader = callPackage ../development/libraries/openxr-loader { };
  osrm-backend = disable-warnings-if-gcc13 (callPackage ../servers/osrm-backend { });
  osrm-backend = callPackage ../servers/osrm-backend { };
  oven-media-engine = callPackage ../servers/misc/oven-media-engine { };