diff --git a/pkgs/applications/science/logic/klee/default.nix b/pkgs/applications/science/logic/klee/default.nix index 612d9fd57c7c..ae4b7ee36636 100644 --- a/pkgs/applications/science/logic/klee/default.nix +++ b/pkgs/applications/science/logic/klee/default.nix @@ -1,10 +1,9 @@ { lib , callPackage , fetchFromGitHub -, fetchpatch , cmake -, llvmPackages_9 -, clang_9 +, llvmPackages_11 +, clang , python3 , zlib , z3 @@ -36,31 +35,43 @@ }: let + # Python used for KLEE tests. kleePython = python3.withPackages (ps: with ps; [ tabulate ]); # The klee-uclibc derivation. kleeuClibc = callPackage ./klee-uclibc.nix { - inherit clang_9 llvmPackages_9 extraKleeuClibcConfig debugRuntime runtimeAsserts; + inherit clang llvmPackages_11 extraKleeuClibcConfig debugRuntime runtimeAsserts; }; + in -clang_9.stdenv.mkDerivation rec { +clang.stdenv.mkDerivation rec { + pname = "klee"; - version = "2.2"; + version = "2.3"; + src = fetchFromGitHub { owner = "klee"; repo = "klee"; rev = "v${version}"; - sha256 = "Ar3BKfADjJvvP0dI9+x/l3RDs8ncx4jmO7ol4MgOr4M="; + sha256 = "sha256-E1c6K6Q+LAWm342W8I00JI6+LMvqmULHZLkv9Kj5RmY="; }; + buildInputs = [ - llvmPackages_9.llvm - z3 stp cryptominisat - gperftools sqlite + cryptominisat + gperftools + lit # Configure phase checking for lit + llvmPackages_11.llvm + sqlite + stp + z3 ]; + nativeBuildInputs = [ - cmake clang_9 + clang + cmake ]; + checkInputs = [ gtest @@ -94,34 +105,7 @@ clang_9.stdenv.mkDerivation rec { patchShebangs . ''; - patches = map fetchpatch [ - /* This patch is currently necessary for the unit test suite to run correctly. - * See https://www.mail-archive.com/klee-dev@imperial.ac.uk/msg03136.html - * and https://github.com/klee/klee/pull/1458 for more information. - */ - { - name = "fix-gtest"; - sha256 = "F+/6videwJZz4sDF9lnV4B8lMx6W11KFJ0Q8t1qUDf4="; - url = "https://github.com/klee/klee/pull/1458.patch"; - } - - # This patch fixes test compile issues with glibc 2.33+. - { - name = "fix-glibc-2.33"; - sha256 = "PzxqtFyLy9KF1eA9AAKg1tu+ggRdvu7leuvXifayIcc="; - url = "https://github.com/klee/klee/pull/1385.patch"; - } - - # /etc/mtab doesn't exist in the Nix build sandbox. - { - name = "fix-etc-mtab-in-tests"; - sha256 = "2Yb/rJA791esNNqq8uAXV+MML4YXIjPKkHBOufvyRoQ="; - url = "https://github.com/klee/klee/pull/1471.patch"; - } - ]; - doCheck = true; - checkTarget = "check"; passthru = { # Let the user depend on `klee.uclibc` for klee-uclibc diff --git a/pkgs/applications/science/logic/klee/klee-uclibc.nix b/pkgs/applications/science/logic/klee/klee-uclibc.nix index 2e3826c50c42..a794fe2eee8a 100644 --- a/pkgs/applications/science/logic/klee/klee-uclibc.nix +++ b/pkgs/applications/science/logic/klee/klee-uclibc.nix @@ -3,9 +3,10 @@ , fetchFromGitHub , which , linuxHeaders -, clang_9 -, llvmPackages_9 +, clang +, llvmPackages_11 , python3 +, curl , debugRuntime ? true , runtimeAsserts ? false , extraKleeuClibcConfig ? {} @@ -23,18 +24,20 @@ let "DEVEL_PREFIX" = "/"; }); in -clang_9.stdenv.mkDerivation rec { +clang.stdenv.mkDerivation rec { pname = "klee-uclibc"; - version = "1.2"; + version = "1.3"; src = fetchFromGitHub { owner = "klee"; repo = "klee-uclibc"; rev = "klee_uclibc_v${version}"; - sha256 = "qdrGMw+2XwpDsfxdv6swnoaoACcF5a/RWgUxUYbtPrI="; + sha256 = "sha256-xQ8GWa0Gmd3lbwKodJhrsZeuR4j7NT4zIUh+kNhVY/w="; }; + nativeBuildInputs = [ - clang_9 - llvmPackages_9.llvm + clang + curl + llvmPackages_11.llvm python3 which ]; @@ -44,7 +47,7 @@ clang_9.stdenv.mkDerivation rec { # HACK: needed for cross-compile. # See https://www.mail-archive.com/klee-dev@imperial.ac.uk/msg03141.html - KLEE_CFLAGS = "-idirafter ${clang_9}/resource-root/include"; + KLEE_CFLAGS = "-idirafter ${clang}/resource-root/include"; prePatch = '' patchShebangs ./configure