creduce: 2.10.0 -> 2.10.0-unstable-2024-06-01

We were already applying a ton of commits on top of the latest stable
release, including fixes for newer LLVM versions. Let’s bump to
the latest commit and pick up support for LLVM 18.

There are in‐flight PRs for LLVM 19 and 20:

* <https://github.com/csmith-project/creduce/pull/285>
* <https://github.com/csmith-project/creduce/pull/287>
This commit is contained in:
Emily
2025-08-19 19:37:52 +01:00
parent e6a984ea76
commit 5e000f2c8f
2 changed files with 16 additions and 35 deletions
+15 -34
View File
@@ -1,8 +1,7 @@
{
lib,
stdenv,
fetchurl,
fetchpatch,
fetchFromGitHub,
cmake,
makeWrapper,
llvm,
@@ -15,41 +14,23 @@
stdenv.mkDerivation rec {
pname = "creduce";
version = "2.10.0";
version = "2.10.0-unstable-2024-06-01";
src = fetchurl {
url = "https://embed.cs.utah.edu/${pname}/${pname}-${version}.tar.gz";
sha256 = "2xwPEjln8k1iCwQM69UwAb89zwPkAPeFVqL/LhH+oGM=";
src = fetchFromGitHub {
owner = "csmith-project";
repo = "creduce";
rev = "31e855e290970cba0286e5032971509c0e7c0a80";
hash = "sha256-RbxFqZegsCxnUaIIA5OfTzx1wflCPeF+enQt90VwMgA=";
};
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.hostPlatform.isLinux ''
substituteInPlace creduce/creduce_utils.pm --replace \
lscpu ${util-linux}/bin/lscpu
'';
postPatch =
# 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.hostPlatform.isLinux ''
substituteInPlace creduce/creduce_utils.pm --replace \
lscpu ${util-linux}/bin/lscpu
'';
nativeBuildInputs = [
cmake
+1 -1
View File
@@ -7011,7 +7011,7 @@ with pkgs;
credstash = with python3Packages; toPythonApplication credstash;
creduce = callPackage ../development/tools/misc/creduce {
inherit (llvmPackages_16) llvm libclang;
inherit (llvmPackages_18) llvm libclang;
};
inherit (nodePackages) csslint;