diff --git a/pkgs/by-name/hd/hdrhistogram_c/no-avx2-i386.patch b/pkgs/by-name/hd/hdrhistogram_c/no-avx2-i386.patch new file mode 100644 index 000000000000..84f2575526e9 --- /dev/null +++ b/pkgs/by-name/hd/hdrhistogram_c/no-avx2-i386.patch @@ -0,0 +1,13 @@ +diff --git a/src/hdr_histogram.c b/src/hdr_histogram.c +index b2041f8..a5dd8d7 100644 +--- a/src/hdr_histogram.c ++++ b/src/hdr_histogram.c +@@ -36,7 +36,7 @@ + + /* Runtime-dispatched AVX2 path: keep the rest of this TU at the project's + baseline ISA so the shipped binary does not silently require AVX2. */ +-#if (defined(__x86_64__) || defined(_M_X64) || defined(__i386__) || defined(_M_IX86)) \ ++#if (defined(__x86_64__) || defined(_M_X64)) \ + && (defined(__GNUC__) || defined(__clang__)) && !defined(__INTEL_COMPILER) + # define HDR_HAS_AVX2_DISPATCH 1 + # include diff --git a/pkgs/by-name/hd/hdrhistogram_c/package.nix b/pkgs/by-name/hd/hdrhistogram_c/package.nix index 83aa93951d8e..d8f02e4b540e 100644 --- a/pkgs/by-name/hd/hdrhistogram_c/package.nix +++ b/pkgs/by-name/hd/hdrhistogram_c/package.nix @@ -20,6 +20,12 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-LMZj7vuxOA1bgU/J10IKnyNe3R0dk2AA1ydLTHun4vg="; }; + # Fix build on i686 by not trying to build AVX2 code + # Submitted upstream: https://github.com/HdrHistogram/HdrHistogram_c/pull/143 + ${if stdenv.hostPlatform.isi686 then "patches" else null} = [ + ./no-avx2-i386.patch + ]; + buildInputs = [ zlib ]; nativeBuildInputs = [ cmake