creduce: port to LLVM 16
This commit is contained in:
parent
050c97ef96
commit
efd788a5e9
2 changed files with 31 additions and 10 deletions
|
@ -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"
|
||||
'';
|
||||
|
|
|
@ -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 { };
|
||||
|
|
Loading…
Reference in a new issue