creduce: port to LLVM 16

This commit is contained in:
Weijia Wang 2023-12-17 20:30:27 +01:00
parent 050c97ef96
commit efd788a5e9
2 changed files with 31 additions and 10 deletions

View file

@ -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"
'';

View file

@ -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 { };