Unverified Commit 0c6cf2ed authored by Morgan Jones's avatar Morgan Jones
Browse files

z3: 4.15.4 -> 4.15.7

Fixes the memory corruption, so remove patches.
parent 89767128
Loading
Loading
Loading
Loading
+5 −27
Original line number Diff line number Diff line
@@ -29,39 +29,17 @@ assert

stdenv.mkDerivation (finalAttrs: {
  pname = "z3";
  version = "4.15.4";
  version = "4.15.7";

  src = fetchFromGitHub {
    owner = "Z3Prover";
    repo = "z3";
    rev = "z3-${finalAttrs.version}";
    hash = "sha256-eyF3ELv81xEgh9Km0Ehwos87e4VJ82cfsp53RCAtuTo=";
    hash = "sha256-bK02PkJ+gmexfqY8hLMhbFlX1AIhs8Cd08NaTGP7D3A=";
  };

  patches =
    lib.optionals useCmakeBuild [
  patches = lib.optionals useCmakeBuild [
    ./fix-pkg-config-paths.patch
    ]
    ++ lib.optionals (lib.versionAtLeast finalAttrs.version "4.15.4") [
      # fix Segmentation fault. See https://github.com/Z3Prover/z3/pull/8264 and
      # https://github.com/NixOS/nixpkgs/issues/486491
      (fetchpatch2 {
        name = "preserve-the-initial-state-of-the-solver.patch";
        url = "https://github.com/Z3Prover/z3/commit/850a3236adab92f9f6f569ac66ffbb69be179f4c.patch?full_index=1";
        hash = "sha256-C6p+dj3i3DpOnd2wr+R8ZwClHoMFfk5i5/+JRhTDNcs=";
      })
      # needs to include a cosmetic change to apply patch for memory corruption
      (fetchpatch2 {
        name = "cosmetic-changes-to-i.patch";
        url = "https://github.com/Z3Prover/z3/commit/243694379475d983605f87578452a330f3e3b28f.patch?full_index=1";
        includes = [ "src/api/api_polynomial.cpp" ];
        hash = "sha256-huo5S73WrFrEEUcaP+1LDQwGwo+n2iYT4x/OjK5rmqQ=";
      })
      (fetchpatch2 {
        name = "fix-memory-corruption.patch";
        url = "https://github.com/Z3Prover/z3/commit/e7b6f3f33bcc6c88a0f2ace47ff2f09b59239433.patch?full_index=1";
        hash = "sha256-kEEeod4s8i9SI2e2TFD2U4yd1qEPoGnJOfE0y+1Cq6M=";
      })
  ];

  strictDeps = true;