diff --git a/pkgs/development/tools/misc/creduce/default.nix b/pkgs/development/tools/misc/creduce/default.nix index 77493bd16647..918bd2efab73 100644 --- a/pkgs/development/tools/misc/creduce/default.nix +++ b/pkgs/development/tools/misc/creduce/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, cmake, makeWrapper +{ lib, stdenv, fetchurl, fetchpatch, cmake, makeWrapper , llvm, libclang , flex , zlib @@ -15,6 +15,35 @@ stdenv.mkDerivation rec { sha256 = "2xwPEjln8k1iCwQM69UwAb89zwPkAPeFVqL/LhH+oGM="; }; + patches = [ + # Port to LLVM 15 + (fetchpatch { + url = "https://github.com/csmith-project/creduce/commit/e507cca4ccb32585c5692d49b8d907c1051c826c.patch"; + hash = "sha256-jO5E85AvHcjlErbUhzuQDXwQkhQsXklcTMQfWBd09OU="; + }) + (fetchpatch { + url = "https://github.com/csmith-project/creduce/commit/8d56bee3e1d2577fc8afd2ecc03b1323d6873404.patch"; + hash = "sha256-dRaBaJAYkvMyxKvfriOcg4D+4i6+6orZ85zws1AFx/s="; + }) + # Port to LLVM 16 + (fetchpatch { + url = "https://github.com/csmith-project/creduce/commit/8ab9a69caf13ce24172737e8bfd09de51a1ecb6a.patch"; + hash = "sha256-gPNXxYHnsyUvXmC0CGtsulH2Fu/EMnDE4GdOYc0UbiQ="; + }) + ]; + + postPatch = '' + substituteInPlace CMakeLists.txt \ + --replace "-std=c++11" "-std=c++17" + '' + # On Linux, c-reduce's preferred way to reason about + # the cpu architecture/topology is to use 'lscpu', + # so let's make sure it knows where to find it: + + lib.optionalString stdenv.isLinux '' + substituteInPlace creduce/creduce_utils.pm --replace \ + lscpu ${util-linux}/bin/lscpu + ''; + nativeBuildInputs = [ cmake makeWrapper llvm.dev ]; buildInputs = [ # Ensure stdenv's CC is on PATH before clang-unwrapped @@ -24,14 +53,6 @@ stdenv.mkDerivation rec { flex zlib ] ++ (with perlPackages; [ perl ExporterLite FileWhich GetoptTabular RegexpCommon TermReadKey ]); - # On Linux, c-reduce's preferred way to reason about - # the cpu architecture/topology is to use 'lscpu', - # so let's make sure it knows where to find it: - postPatch = lib.optionalString stdenv.isLinux '' - substituteInPlace creduce/creduce_utils.pm --replace \ - lscpu ${util-linux}/bin/lscpu - ''; - postInstall = '' wrapProgram $out/bin/creduce --prefix PERL5LIB : "$PERL5LIB" ''; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a838e1e9d2d8..2d86b7257d7d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18921,7 +18921,7 @@ with pkgs; credstash = with python3Packages; toPythonApplication credstash; creduce = callPackage ../development/tools/misc/creduce { - inherit (llvmPackages_8) llvm libclang; + inherit (llvmPackages_16) llvm libclang; }; cscope = callPackage ../development/tools/misc/cscope { };