Repository: NixOS/nixpkgs
Pull request #407728: z3: 4.14.1 → 4.15.0, z3_4_14: drop
Author: login: dtomvan
Labels: name: 8.has: documentation
description: This PR adds or changes documentation
name: 8.has: port to stable
description: This PR already has a backport to the stable release.
name: 10.rebuild-linux: 11-100
description: This PR causes between 11 and 100 packages to rebuild on Linux.
name: 10.rebuild-darwin: 11-100
description: This PR causes between 11 and 100 packages to rebuild on Darwin.
name: 12.approvals: 1
description: This PR was reviewed and approved by one person.
name: 12.approved-by: package-maintainer
description: This PR was reviewed and approved by a maintainer listed in any of the changed packages.
Created: 2025-05-16T21:01:51Z | Merged: 2025-05-22T11:46:07Z

Fixes #407625

Dropped the old version as nothing explicitly references `z3_4_14`.

<!--
^ Please summarise the changes you have done and explain why they are necessary here ^

For package updates please link to a changelog or describe changes, this helps your fellow maintainers discover breaking updates.
For new packages please briefly describe the package or provide a link to its homepage.
-->

## Things done

<!-- Please check what applies. Note that these are not hard requirements but merely serve as information for reviewers. -->

- Built on platform(s)
  - [x] x86_64-linux
  - [x] aarch64-linux
  - [ ] x86_64-darwin
  - [ ] aarch64-darwin
- For non-Linux: Is sandboxing enabled in `nix.conf`? (See [Nix manual](https://nixos.org/manual/nix/stable/command-ref/conf-file.html))
  - [ ] `sandbox = relaxed`
  - [ ] `sandbox = true`
- [ ] Tested, as applicable:
  - [NixOS test(s)](https://nixos.org/manual/nixos/unstable/index.html#sec-nixos-tests) (look inside [nixos/tests](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests))
  - and/or [package tests](https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md#package-tests)
  - or, for functions and "core" functionality, tests in [lib/tests](https://github.com/NixOS/nixpkgs/blob/master/lib/tests) or [pkgs/test](https://github.com/NixOS/nixpkgs/blob/master/pkgs/test)
  - made sure NixOS tests are [linked](https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md#linking-nixos-module-tests-to-a-package) to the relevant packages
- [ ] Tested compilation of all packages that depend on this change using `nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"`. Note: all changes have to be committed, also see [nixpkgs-review usage](https://github.com/Mic92/nixpkgs-review#usage)
- [ ] Tested basic functionality of all binary files (usually in `./result/bin/`)
- [Nixpkgs 25.11 Release Notes](https://github.com/NixOS/nixpkgs/blob/master/doc/release-notes/rl-2511.section.md) (or backporting [24.11](https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/release-notes/rl-2411.section.md) and [25.05](https://github.com/NixOS/nixpkgs/blob/master/doc/manual/release-notes/rl-2505.section.md) Nixpkgs Release notes)
  - [ ] (Package updates) Added a release notes entry if the change is major or breaking
- [NixOS 25.11 Release Notes](https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2511.section.md) (or backporting [24.11](https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2411.section.md) and [25.05](https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2505.section.md) NixOS Release notes)
  - [ ] (Module updates) Added a release notes entry if the change is significant
  - [ ] (Module addition) Added a release notes entry if adding a new NixOS module
- [x] Fits [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md).

<!--
To help with the large amounts of pull requests, we would appreciate your
reviews of other pull requests, especially simple package updates. Just leave a
comment describing what you have tested in the relevant package/service.
Reviewing helps to reduce the average time-to-merge for everyone.
Thanks a lot if you do!

List of open PRs: https://github.com/NixOS/nixpkgs/pulls
Reviewing guidelines: https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md#reviewing-contributions
-->

---

Add a :+1: [reaction] to [pull requests you find important].

[reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/
[pull requests you find important]: https://github.com/NixOS/nixpkgs/pulls?q=is%3Aopen+sort%3Areactions-%2B1-desc


Linked issue #407625: Update Request: z3 4.14.1 → 4.15.0
### Nixpkgs version

- Unstable (25.05)

### Package name

z3

### Upstream version

4.15.0

### Nixpkgs version

4.14.1

### Changelog

https://github.com/Z3Prover/z3/releases/tag/z3-4.15.0

### Additional context

_No response_

### Notify maintainers

@thoughtpolice @ttuegel @numinit

---

**Note for maintainers:** Please tag this issue in your pull request description. (i.e. `Resolves #ISSUE`.)


### I assert that this issue is relevant for Nixpkgs

- [x] I assert that this package update does not yet exist in an [open pull request](https://github.com/NixOS/nixpkgs/pulls?q=is%3Aopen+is%3Apr+label%3A%228.has%3A+package+%28update%29%22) or in [Nixpkgs Unstable](https://search.nixos.org/packages?channel=unstable).
- [x] I assert that this is not a [duplicate of any known issue](https://github.com/NixOS/nixpkgs/issues?q=is%3Aopen+is%3Aissue+label%3A%229.needs%3A+package+%28update%29%22).
- [x] I assert that I have read the [NixOS Code of Conduct](https://github.com/NixOS/.github/blob/master/CODE_OF_CONDUCT.md) and agree to abide by it.

### Is this issue important to you?

Add a :+1: [reaction] to [issues you find important].

[reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/
[issues you find important]: https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc

Linked issue comments: user: login: mkannwischer
created_at: 2025-05-22T11:47:20Z
body: Thanks @dtomvan for your help!
author_association: NONE
user: login: numinit
created_at: 2025-05-22T11:50:59Z
body: The saga of cleaning up z3 and dropping all the old versions is finally over for now...
author_association: CONTRIBUTOR

Diff:
diff --git a/doc/release-notes/rl-2505.section.md b/doc/release-notes/rl-2505.section.md
index afa4d0e3474e2..6c3ac618e5e47 100644
--- a/doc/release-notes/rl-2505.section.md
+++ b/doc/release-notes/rl-2505.section.md
@@ -270,7 +270,7 @@
 
 - `nodePackages.meshcommander` has been removed, as the package was deprecated by Intel.
 
-- The default version of `z3` has been updated from 4.8 to 4.14, and all old versions have been dropped. Note that `fstar` still depends on specific versions, and maintains them as overrides.
+- The default version of `z3` has been updated from 4.8 to 4.15, and all old versions have been dropped. Note that `fstar` still depends on specific versions, and maintains them as overrides.
 
 - `prometheus` has been updated from 2.55.0 to 3.1.0.
   Read the [release blog post](https://prometheus.io/blog/2024/11/14/prometheus-3-0/) and
diff --git a/pkgs/by-name/z3/z3/package.nix b/pkgs/by-name/z3/z3/package.nix
index cc80e01515813..3883b4d3840ec 100644
--- a/pkgs/by-name/z3/z3/package.nix
+++ b/pkgs/by-name/z3/z3/package.nix
@@ -1,6 +1,129 @@
 {
-  z3_4_14,
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  python3,
+  fixDarwinDylibNames,
+  nix-update-script,
+  versionCheckHook,
+
+  javaBindings ? false,
+  ocamlBindings ? false,
+  pythonBindings ? true,
+  jdk ? null,
+  ocaml ? null,
+  findlib ? null,
+  zarith ? null,
   ...
-}@args:
+}:
+
+assert javaBindings -> jdk != null;
+assert ocamlBindings -> ocaml != null && findlib != null && zarith != null;
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "z3";
+  version = "4.15.0";
+
+  src = fetchFromGitHub {
+    owner = "Z3Prover";
+    repo = "z3";
+    rev = "z3-${finalAttrs.version}";
+    hash = "sha256-fk3NyV6vIDXivhiNOW2Y0i5c+kzc7oBqaeBWj/JjpTM=";
+  };
+
+  strictDeps = true;
+
+  nativeBuildInputs =
+    [ python3 ]
+    ++ lib.optionals stdenv.hostPlatform.isDarwin [ fixDarwinDylibNames ]
+    ++ lib.optionals javaBindings [ jdk ]
+    ++ lib.optionals ocamlBindings [
+      ocaml
+      findlib
+    ];
+  propagatedBuildInputs = [ python3.pkgs.setuptools ] ++ lib.optionals ocamlBindings [ zarith ];
+  enableParallelBuilding = true;
+
+  postPatch = lib.optionalString ocamlBindings ''
+    export OCAMLFIND_DESTDIR=$ocaml/lib/ocaml/${ocaml.version}/site-lib
+    mkdir -p $OCAMLFIND_DESTDIR/stublibs
+  '';
+
+  configurePhase = ''
+    runHook preConfigure
+
+    ${python3.pythonOnBuildForHost.interpreter} \
+      scripts/mk_make.py \
+      --prefix=$out \
+      ${lib.optionalString javaBindings "--java"} \
+      ${lib.optionalString ocamlBindings "--ml"} \
+      ${lib.optionalString pythonBindings "--python --pypkgdir=$out/${python3.sitePackages}"}
+
+    cd build
+
+    runHook postConfigure
+  '';
+
+  doCheck = true;
+  checkPhase = ''
+    runHook preCheck
+
+    make -j $NIX_BUILD_CORES test
+    ./test-z3 -a
+
+    runHook postCheck
+  '';
+
+  postInstall =
+    ''
+      mkdir -p $dev $lib
+      mv $out/lib $lib/lib
+      mv $out/include $dev/include
+    ''
+    + lib.optionalString pythonBindings ''
+      mkdir -p $python/lib
+      mv $lib/lib/python* $python/lib/
+      ln -sf $lib/lib/libz3${stdenv.hostPlatform.extensions.sharedLibrary} $python/${python3.sitePackages}/z3/lib/libz3${stdenv.hostPlatform.extensions.sharedLibrary}
+    ''
+    + lib.optionalString javaBindings ''
+      mkdir -p $java/share/java
+      mv com.microsoft.z3.jar $java/share/java
+      moveToOutput "lib/libz3java.${stdenv.hostPlatform.extensions.sharedLibrary}" "$java"
+    '';
+
+  doInstallCheck = true;
+  nativeInstallCheckInputs = [ versionCheckHook ];
+
+  outputs =
+    [
+      "out"
+      "lib"
+      "dev"
+      "python"
+    ]
+    ++ lib.optionals javaBindings [ "java" ]
+    ++ lib.optionals ocamlBindings [ "ocaml" ];
+
+  passthru = {
+    updateScript = nix-update-script {
+      extraArgs = [
+        "--version-regex"
+        "^z3-([0-9]+\\.[0-9]+\\.[0-9]+)$"
+      ];
+    };
+  };
 
-z3_4_14.override args
+  meta = {
+    description = "High-performance theorem prover and SMT solver";
+    mainProgram = "z3";
+    homepage = "https://github.com/Z3Prover/z3";
+    changelog = "https://github.com/Z3Prover/z3/releases/tag/z3-${finalAttrs.version}";
+    license = lib.licenses.mit;
+    platforms = lib.platforms.unix;
+    maintainers = with lib.maintainers; [
+      thoughtpolice
+      ttuegel
+      numinit
+    ];
+  };
+})
diff --git a/pkgs/by-name/z3/z3_4_14/package.nix b/pkgs/by-name/z3/z3_4_14/package.nix
deleted file mode 100644
index 60339b94e30f3..0000000000000
--- a/pkgs/by-name/z3/z3_4_14/package.nix
+++ /dev/null
@@ -1,130 +0,0 @@
-{
-  lib,
-  stdenv,
-  fetchFromGitHub,
-  python3,
-  fixDarwinDylibNames,
-  nix-update-script,
-  javaBindings ? false,
-  ocamlBindings ? false,
-  pythonBindings ? true,
-  jdk ? null,
-  ocaml ? null,
-  findlib ? null,
-  zarith ? null,
-  versionInfo ? {
-    regex = "^v(4\\.14\\.[0-9]+)$";
-    version = "4.14.1";
-    hash = "sha256-pTsDzf6Frk4mYAgF81wlR5Kb1x56joFggO5Fa3G2s70=";
-  },
-  ...
-}:
-
-assert javaBindings -> jdk != null;
-assert ocamlBindings -> ocaml != null && findlib != null && zarith != null;
-
-stdenv.mkDerivation (finalAttrs: {
-  pname = "z3";
-  inherit (versionInfo) version;
-
-  src = fetchFromGitHub {
-    owner = "Z3Prover";
-    repo = "z3";
-    rev = "z3-${finalAttrs.version}";
-    inherit (versionInfo) hash;
-  };
-
-  strictDeps = true;
-
-  nativeBuildInputs =
-    [ python3 ]
-    ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames
-    ++ lib.optional javaBindings jdk
-    ++ lib.optionals ocamlBindings [
-      ocaml
-      findlib
-    ];
-  propagatedBuildInputs = [ python3.pkgs.setuptools ] ++ lib.optionals ocamlBindings [ zarith ];
-  enableParallelBuilding = true;
-
-  postPatch = lib.optionalString ocamlBindings ''
-    export OCAMLFIND_DESTDIR=$ocaml/lib/ocaml/${ocaml.version}/site-lib
-    mkdir -p $OCAMLFIND_DESTDIR/stublibs
-  '';
-
-  configurePhase =
-    lib.concatStringsSep " " (
-      [ "${python3.pythonOnBuildForHost.interpreter} scripts/mk_make.py --prefix=$out" ]
-      ++ lib.optional javaBindings "--java"
-      ++ lib.optional ocamlBindings "--ml"
-      ++ lib.optional pythonBindings "--python --pypkgdir=$out/${python3.sitePackages}"
-    )
-    + "\n"
-    + "cd build";
-
-  doCheck = true;
-  checkPhase = ''
-    make -j $NIX_BUILD_CORES test
-    ./test-z3 -a
-  '';
-
-  postInstall =
-    ''
-      mkdir -p $dev $lib
-      mv $out/lib $lib/lib
-      mv $out/include $dev/include
-    ''
-    + lib.optionalString pythonBindings ''
-      mkdir -p $python/lib
-      mv $lib/lib/python* $python/lib/
-      ln -sf $lib/lib/libz3${stdenv.hostPlatform.extensions.sharedLibrary} $python/${python3.sitePackages}/z3/lib/libz3${stdenv.hostPlatform.extensions.sharedLibrary}
-    ''
-    + lib.optionalString javaBindings ''
-      mkdir -p $java/share/java
-      mv com.microsoft.z3.jar $java/share/java
-      moveToOutput "lib/libz3java.${stdenv.hostPlatform.extensions.sharedLibrary}" "$java"
-    '';
-
-  doInstallCheck = true;
-  installCheckPhase = ''
-    $out/bin/z3 -version 2>&1 | grep -F "Z3 version $version"
-  '';
-
-  outputs =
-    [
-      "out"
-      "lib"
-      "dev"
-      "python"
-    ]
-    ++ lib.optional javaBindings "java"
-    ++ lib.optional ocamlBindings "ocaml";
-
-  passthru = {
-    updateScript = nix-update-script {
-      extraArgs =
-        [
-          "--version-regex"
-          versionInfo.regex
-        ]
-        ++ lib.optionals (versionInfo.autoUpdate or null != null) [
-          "--override-filename"
-          versionInfo.autoUpdate
-        ];
-    };
-  };
-
-  meta = {
-    description = "High-performance theorem prover and SMT solver";
-    mainProgram = "z3";
-    homepage = "https://github.com/Z3Prover/z3";
-    changelog = "https://github.com/Z3Prover/z3/releases/tag/z3-${finalAttrs.version}";
-    license = lib.licenses.mit;
-    platforms = lib.platforms.unix;
-    maintainers = with lib.maintainers; [
-      thoughtpolice
-      ttuegel
-      numinit
-    ];
-  };
-})
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 3a439c5a67c69..2cd7990ed6235 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -2032,6 +2032,12 @@ mapAliases {
 
   ### Z ###
 
+  z3_4_11 = throw "'z3_4_11' has been removed in favour of the latest version. Use 'z3'."; # Added 2025-05-18
+  z3_4_12 = throw "'z3_4_12' has been removed in favour of the latest version. Use 'z3'."; # Added 2025-05-18
+  z3_4_13 = throw "'z3_4_13' has been removed in favour of the latest version. Use 'z3'."; # Added 2025-05-18
+  z3_4_14 = throw "'z3_4_14' has been removed in favour of the latest version. Use 'z3'."; # Added 2025-05-18
+  z3_4_8_5 = throw "'z3_4_8_5' has been removed in favour of the latest version. Use 'z3'."; # Added 2025-05-18
+  z3_4_8 = throw "'z3_4_8' has been removed in favour of the latest version. Use 'z3'."; # Added 2025-05-18
   zabbix50 = throw "'zabbix50' has been removed, it would have reached its End of Life a few days after the release of NixOS 25.05. Consider upgrading to 'zabbix60' or 'zabbix70'.";
   zabbix64 = throw "'zabbix64' has been removed because it reached its End of Life. Consider upgrading to 'zabbix70'.";
   zeroadPackages = recurseIntoAttrs {


Reviews:
user: login: FliegendeWurst
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-05-18T15:17:24Z
user: login: numinit
state: CHANGES_REQUESTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-21T20:03:32Z
user: login: dtomvan
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-21T20:21:50Z
user: login: numinit
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-21T20:24:42Z
user: login: numinit
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-21T20:29:29Z
user: login: dtomvan
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-22T09:21:48Z
user: login: numinit
state: APPROVED
author_association: CONTRIBUTOR
submitted_at: 2025-05-22T10:27:18Z

Review comments:
diff_hunk: @@ -1,6 +1,114 @@
 {
-  z3_4_14,
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  python3,
+  fixDarwinDylibNames,
+  nix-update-script,
+  versionCheckHook,
+  javaBindings ? false,
+  ocamlBindings ? false,
+  pythonBindings ? true,
+  jdk ? null,
+  ocaml ? null,
+  findlib ? null,
+  zarith ? null,
   ...
-}@args:
+}:
 
-z3_4_14.override args
+assert javaBindings -> jdk != null;
+assert ocamlBindings -> ocaml != null && findlib != null && zarith != null;
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "z3";
+  version = "4.15.0";
+
+  src = fetchFromGitHub {
+    owner = "Z3Prover";
+    repo = "z3";
+    rev = "z3-${finalAttrs.version}";
+    hash = "sha256-fk3NyV6vIDXivhiNOW2Y0i5c+kzc7oBqaeBWj/JjpTM=";
+  };
+
+  strictDeps = true;
+
+  nativeBuildInputs =
+    [ python3 ]
+    ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames
+    ++ lib.optional javaBindings jdk
+    ++ lib.optionals ocamlBindings [
+      ocaml
+      findlib
+    ];
+  propagatedBuildInputs = [ python3.pkgs.setuptools ] ++ lib.optionals ocamlBindings [ zarith ];
+  enableParallelBuilding = true;
+
+  postPatch = lib.optionalString ocamlBindings ''
+    export OCAMLFIND_DESTDIR=$ocaml/lib/ocaml/${ocaml.version}/site-lib
+    mkdir -p $OCAMLFIND_DESTDIR/stublibs
+  '';
+
+  configurePhase =
+    lib.concatStringsSep " " (
+      [ "${python3.pythonOnBuildForHost.interpreter} scripts/mk_make.py --prefix=$out" ]
+      ++ lib.optional javaBindings "--java"
+      ++ lib.optional ocamlBindings "--ml"
+      ++ lib.optional pythonBindings "--python --pypkgdir=$out/${python3.sitePackages}"
+    )
+    + "\n"
+    + "cd build";
+
+  doCheck = true;
+  checkPhase = ''
+    make -j $NIX_BUILD_CORES test
+    ./test-z3 -a
+  '';
path: pkgs/by-name/z3/z3/package.nix
user: login: FliegendeWurst
body: ```suggestion
  checkPhase = ''
    runHook preCheck

    make -j $NIX_BUILD_CORES test
    ./test-z3 -a

    runHook postCheck
  '';
```
not strictly related to the update

Same applies for configurePhase.
created_at: 2025-05-18T15:17:24Z
author_association: MEMBER
diff_hunk: @@ -97,21 +101,11 @@ stdenv.mkDerivation (finalAttrs: {
       "dev"
       "python"
     ]
-    ++ lib.optional javaBindings "java"
-    ++ lib.optional ocamlBindings "ocaml";
+    ++ lib.optionals javaBindings [ "java" ]
+    ++ lib.optionals ocamlBindings [ "ocaml" ];
 
   passthru = {
-    updateScript = nix-update-script {
-      extraArgs =
path: pkgs/by-name/z3/z3/package.nix
user: login: numinit
body: We should keep the version regex in the extraArgs - it's how the update script knows what version to pull out of the release name, IIRC.
created_at: 2025-05-21T20:03:12Z
author_association: CONTRIBUTOR
diff_hunk: @@ -97,21 +101,11 @@ stdenv.mkDerivation (finalAttrs: {
       "dev"
       "python"
     ]
-    ++ lib.optional javaBindings "java"
-    ++ lib.optional ocamlBindings "ocaml";
+    ++ lib.optionals javaBindings [ "java" ]
+    ++ lib.optionals ocamlBindings [ "ocaml" ];
 
   passthru = {
-    updateScript = nix-update-script {
-      extraArgs =
path: pkgs/by-name/z3/z3/package.nix
user: login: dtomvan
body: Yes, it used to, but after this the only major version kept in nixpkgs is the latest one anyways so I just removed it so the bot can also update `z3` to `4.16` for example in the future.
created_at: 2025-05-21T20:21:50Z
author_association: CONTRIBUTOR
diff_hunk: @@ -97,21 +101,11 @@ stdenv.mkDerivation (finalAttrs: {
       "dev"
       "python"
     ]
-    ++ lib.optional javaBindings "java"
-    ++ lib.optional ocamlBindings "ocaml";
+    ++ lib.optionals javaBindings [ "java" ]
+    ++ lib.optionals ocamlBindings [ "ocaml" ];
 
   passthru = {
-    updateScript = nix-update-script {
-      extraArgs =
path: pkgs/by-name/z3/z3/package.nix
user: login: numinit
body: I think the match group there is the particularly important part (in addition to how lenient the regex is, obviously) - the tags all start z3-
created_at: 2025-05-21T20:24:42Z
author_association: CONTRIBUTOR
diff_hunk: @@ -97,21 +101,11 @@ stdenv.mkDerivation (finalAttrs: {
       "dev"
       "python"
     ]
-    ++ lib.optional javaBindings "java"
-    ++ lib.optional ocamlBindings "ocaml";
+    ++ lib.optionals javaBindings [ "java" ]
+    ++ lib.optionals ocamlBindings [ "ocaml" ];
 
   passthru = {
-    updateScript = nix-update-script {
-      extraArgs =
path: pkgs/by-name/z3/z3/package.nix
user: login: numinit
body: https://github.com/Mic92/nix-update/blob/main/nix_update%2Fversion%2F__init__.py#L69-L77

Basically, nix-update uses the regex capture group to pull out the version, so we still need it. We can just use [0-9]+ for the second group though to make it more lenient. 
created_at: 2025-05-21T20:29:29Z
author_association: CONTRIBUTOR
diff_hunk: @@ -97,21 +101,11 @@ stdenv.mkDerivation (finalAttrs: {
       "dev"
       "python"
     ]
-    ++ lib.optional javaBindings "java"
-    ++ lib.optional ocamlBindings "ocaml";
+    ++ lib.optionals javaBindings [ "java" ]
+    ++ lib.optionals ocamlBindings [ "ocaml" ];
 
   passthru = {
-    updateScript = nix-update-script {
-      extraArgs =
path: pkgs/by-name/z3/z3/package.nix
user: login: dtomvan
body: Ah, makes sense (well not the part where z3 has a weird version format) but yeah I guess it's needed still...
created_at: 2025-05-22T09:21:48Z
author_association: CONTRIBUTOR

PR comments:
user: login: dtomvan
created_at: 2025-05-16T22:22:05Z
body: Cannot get GH actions to do a review, apparently it's trying to do a lot of the same or something. A Z3 build should be done well under 10 minutes. https://github.com/dtomvan/nixpkgs-review-gha/actions/runs/15077372802


author_association: CONTRIBUTOR
user: login: FliegendeWurst
created_at: 2025-05-17T07:06:19Z
body: > Dropped the old version as nothing explicitly references `z3_4_14`.

I think we try to keep older Z3 versions around for a while, unless they become a maintenance burden.
author_association: MEMBER
user: login: numinit
created_at: 2025-05-17T07:29:44Z
body: The newer versions seem less necessary to do that than the older ones.. I usually just bump it and try to nixpkgs-review it. Then if everything builds it is good.

Dupe of #407831.

Edit: Do you want to take the version regex in that one too and I can close mine? Autoupdate wasn't picking it up.
author_association: CONTRIBUTOR
user: login: FliegendeWurst
created_at: 2025-05-17T08:03:41Z
body: In that case an entry in `top-level/aliases.nix` is required for the dropped package
author_association: MEMBER
user: login: dtomvan
created_at: 2025-05-17T12:29:03Z
body: @FliegendeWurst All other versions were outright dropped in #374929... is a single alias for `z3_4_14` _really_ needed if other aliases don't exist? Just to be clear, I wrote that title like that for correctness, any other ordinary package would've just mentioned the version change and nothing else...
author_association: CONTRIBUTOR
user: login: FliegendeWurst
created_at: 2025-05-17T12:31:40Z
body: > is a single alias for `z3_4_14` _really_ needed if other aliases don't exist?

It is always added for package removals. I don't see why z3 would get an exception here.

> any other ordinary package would've just mentioned the version change and nothing else...

Other packages usually ship only one version.
author_association: MEMBER
user: login: dtomvan
created_at: 2025-05-17T12:35:52Z
body: > Other packages usually ship only one version.

As does this one? What I mean is that when the other versions were dropped, nothing else was put in it's place, the packages are entirely gone, I just continued that pattern:

```ShellSession
(master)
$ nix-instantiate -A z3_4_13
error: attribute 'z3_4_13' in selection path 'z3_4_13' not found
       Did you mean z3_4_14?
```
author_association: CONTRIBUTOR
user: login: dtomvan
created_at: 2025-05-17T12:42:36Z
body: @numinit, thanks for the regex change, I did a manual `nix-update` because indeed the regex didn't work but I forgot to then also go back to update the regex... could you run `nixpkgs-review` again? I tried to do so but I indeed do not have 128 GB of RAM... I had two machines, one at 8 cores with 16GB and one at 12 cores with 16GB, but those got stuck on 31 builds remaining for over an hour... I simply don't have the power :cry: ...

Also, regarding those version numbers, `fstar` builds two (!) different pinned versions of Z3, so if different versions are needed, they could easily get `overrideAttrs`'d: https://github.com/NixOS/nixpkgs/blob/443816924f0af0bd8b22498bc35769ebe64e3485/pkgs/by-name/fs/fstar/z3/default.nix#L15-L41

That makes me think a `nixpkgs-review` suffices to make sure that we don't break anything...
author_association: CONTRIBUTOR
user: login: FliegendeWurst
created_at: 2025-05-17T12:44:25Z
body: > As does this one? What I mean is that when the other versions were dropped, nothing else was put in it's place, the packages are entirely gone, I just continued that pattern:

Oh right, at the moment we only ship one z3 version, yes. I checked the 24.11 package list earlier.
I think aliases should have been added for all removed versions. Reason is that it makes updates a lot easier, since instead of "attribute z3_4_13 missing" you would get the error message specified in aliases.nix
author_association: MEMBER
user: login: dtomvan
created_at: 2025-05-17T13:32:59Z
body: Yes. I'll add them. Seperate commit for now?

Edit: reason why I didn't before is because for some reason they were never added so I just followed the pattern, I guess this is better for UX.
author_association: CONTRIBUTOR
user: login: numinit
created_at: 2025-05-17T20:31:20Z
body: I'll give it a check soon. Yeah, not adding aliases was my fault, missed them given all the cleanup before. Probably fine to backport this with the aliases if my build passes and everything is fine.

From a long term perspective, it's probably wise to completely drop the z3_4_15 package and just make it `z3` if we need to add aliases for every version hereafter. I'd prefer only biting off aliases we need.
author_association: CONTRIBUTOR
user: login: dtomvan
created_at: 2025-05-17T20:58:43Z
body: Yes, I was thinking the same. So it's safe to just get rid of the `z3_4_15`? Imma push that tomorrow then (no hurry anyways, while waiting for the build 😁)
author_association: CONTRIBUTOR
user: login: numinit
created_at: 2025-05-17T23:36:22Z
body: Yeah, I would. Less maintenance in the future.
author_association: CONTRIBUTOR
user: login: dtomvan
created_at: 2025-05-18T11:16:21Z
body: Done. Squash into one?

Edit: buildtested this one as I did some minor changes, but this shouldn't be of influence to the outcome of your `nixpkgs-review`, so no retry needed 😅 
author_association: CONTRIBUTOR
user: login: numinit
created_at: 2025-05-21T00:21:10Z
body: It looks like the move from the 4_14 to the z3 folder isn't recorded as a move in git, so the diff is wonky. Mind taking a look at that?

Or is that because we haven't squashed (please do, that may help :) 
author_association: CONTRIBUTOR
user: login: FliegendeWurst
created_at: 2025-05-21T07:52:53Z
body: To ensure git recognizes it as move, the commit that moves the file should not modify the file. And of course the target file must not exist.
author_association: MEMBER
user: login: numinit
created_at: 2025-05-21T09:35:58Z
body: @dtomvan The build doesn't look bad, btw. I'm having to re-run acl2 a bunch of times as usual because I need to toss another RAM stick or two into my box, but I don't see any failures of note yet.
author_association: CONTRIBUTOR
user: login: numinit
created_at: 2025-05-21T10:29:01Z
body: ## `nixpkgs-review` result

Generated using [`nixpkgs-review`](https://github.com/Mic92/nixpkgs-review).

Command: `nixpkgs-review pr 407728`

---
### `x86_64-linux`
<details>
  <summary>:fast_forward: 10 packages marked as broken and skipped:</summary>
  <ul>
    <li>python312Packages.cynthion</li>
    <li>python312Packages.cynthion.dist</li>
    <li>python312Packages.luna-soc</li>
    <li>python312Packages.luna-soc.dist</li>
    <li>python312Packages.luna-usb</li>
    <li>python312Packages.luna-usb.dist</li>
    <li>python313Packages.luna-soc</li>
    <li>python313Packages.luna-soc.dist</li>
    <li>python313Packages.luna-usb</li>
    <li>python313Packages.luna-usb.dist</li>
  </ul>
</details>
<details>
  <summary>:x: 1 package failed to build:</summary>
  <ul>
    <li>ugarit</li>
  </ul>
</details>
<details>
  <summary>:white_check_mark: 86 packages built:</summary>
  <ul>
    <li>acl2</li>
    <li>alive2</li>
    <li>boogie</li>
    <li>circt</li>
    <li>circt.dev</li>
    <li>circt.lib</li>
    <li>cynthion</li>
    <li>cynthion.dist</li>
    <li>dafny</li>
    <li>foundry</li>
    <li>fstar</li>
    <li>ghidra-extensions.kaiju</li>
    <li>glasgow</li>
    <li>glasgow.dist</li>
    <li>hal-hardware-analyzer</li>
    <li>iprover</li>
    <li>isabelle</li>
    <li>isabelle-components.isabelle-linter</li>
    <li>key</li>
    <li>klee</li>
    <li>libbap</li>
    <li>nixpkgs-manual</li>
    <li>ocamlPackages.z3</li>
    <li>pony-corral</li>
    <li>ponyc</li>
    <li>python312Packages.amaranth</li>
    <li>python312Packages.amaranth-boards</li>
    <li>python312Packages.amaranth-boards.dist</li>
    <li>python312Packages.amaranth-soc</li>
    <li>python312Packages.amaranth-soc.dist</li>
    <li>python312Packages.amaranth.dist</li>
    <li>python312Packages.angr</li>
    <li>python312Packages.angr.dist</li>
    <li>python312Packages.angrcli</li>
    <li>python312Packages.angrcli.dist</li>
    <li>python312Packages.angrop</li>
    <li>python312Packages.angrop.dist</li>
    <li>python312Packages.bap</li>
    <li>python312Packages.bap.dist</li>
    <li>python312Packages.claripy</li>
    <li>python312Packages.claripy.dist</li>
    <li>python312Packages.deal</li>
    <li>python312Packages.deal-solver</li>
    <li>python312Packages.deal-solver.dist</li>
    <li>python312Packages.deal.dist</li>
    <li>python312Packages.icontract</li>
    <li>python312Packages.icontract.dist</li>
    <li>python312Packages.miasm</li>
    <li>python312Packages.miasm.dist</li>
    <li>python312Packages.model-checker</li>
    <li>python312Packages.model-checker.dist</li>
    <li>python312Packages.pylddwrap</li>
    <li>python312Packages.pylddwrap.dist</li>
    <li>z3.python (python312Packages.z3-solver)</li>
    <li>python313Packages.amaranth</li>
    <li>python313Packages.amaranth-boards</li>
    <li>python313Packages.amaranth-boards.dist</li>
    <li>python313Packages.amaranth-soc</li>
    <li>python313Packages.amaranth-soc.dist</li>
    <li>python313Packages.amaranth.dist</li>
    <li>python313Packages.bap</li>
    <li>python313Packages.bap.dist</li>
    <li>python313Packages.claripy</li>
    <li>python313Packages.claripy.dist</li>
    <li>python313Packages.deal</li>
    <li>python313Packages.deal-solver</li>
    <li>python313Packages.deal-solver.dist</li>
    <li>python313Packages.deal.dist</li>
    <li>python313Packages.icontract</li>
    <li>python313Packages.icontract.dist</li>
    <li>python313Packages.model-checker</li>
    <li>python313Packages.model-checker.dist</li>
    <li>python313Packages.pylddwrap</li>
    <li>python313Packages.pylddwrap.dist</li>
    <li>python313Packages.z3-solver (python313Packages.z3-solver.dev ,python313Packages.z3-solver.lib ,python313Packages.z3-solver.python)</li>
    <li>sail-riscv</li>
    <li>sby</li>
    <li>simbaplusplus</li>
    <li>solc</li>
    <li>symcc</li>
    <li>tlaps</li>
    <li>vampire</li>
    <li>z3</li>
    <li>z3-tptp</li>
    <li>z3.dev</li>
    <li>z3.lib</li>
  </ul>
</details>

author_association: CONTRIBUTOR
user: login: numinit
created_at: 2025-05-21T10:32:02Z
body: I think we are good. Let's just fix up the git move and update `doc/release-notes/rl-2505.section.md` in a separate commit (there is a release note about z3 there).

I think we should be able to backport this, as it is not really breaking since no one would have depended on z3_4_14 anyway and the aliases are good to have.
author_association: CONTRIBUTOR
user: login: dtomvan
created_at: 2025-05-21T18:30:16Z
body: Tested with `git log --follow pkgs/by-name/z3/z3/package.nix`, goes nicely from the new refactor commit, to the drop commit, to the update commit in the old file. So should be good now.
author_association: CONTRIBUTOR
user: login: numinit
created_at: 2025-05-21T19:08:53Z
body: Sweet. I'll give it one more check in a few. 
author_association: CONTRIBUTOR
user: login: dtomvan
created_at: 2025-05-21T20:23:09Z
body: Now that I think about it, the `z3_4_15: drop` message might be misleading: the `z3_4_15/package.nix` file wasn't deleted, but rather the `z3/package.nix` got overwritten by it.

Edit: renamed to `z3_4_15: rename to z3`. This doesn't entirely capture the nuance of "the z3 already existed and now it just contains the old contents of z3_4_15" but I'd like to keep it concise here.
author_association: CONTRIBUTOR
user: login: numinit
created_at: 2025-05-21T22:53:57Z
body: For the newest (note that deal-solver tests and possibly a couple other builds appear to be flaky, this was the second run):

## `nixpkgs-review` result

Generated using [`nixpkgs-review`](https://github.com/Mic92/nixpkgs-review).

Command: `nixpkgs-review pr 407728`

---
### `x86_64-linux`
<details>
  <summary>:fast_forward: 10 packages marked as broken and skipped:</summary>
  <ul>
    <li>python312Packages.cynthion</li>
    <li>python312Packages.cynthion.dist</li>
    <li>python312Packages.luna-soc</li>
    <li>python312Packages.luna-soc.dist</li>
    <li>python312Packages.luna-usb</li>
    <li>python312Packages.luna-usb.dist</li>
    <li>python313Packages.luna-soc</li>
    <li>python313Packages.luna-soc.dist</li>
    <li>python313Packages.luna-usb</li>
    <li>python313Packages.luna-usb.dist</li>
  </ul>
</details>
<details>
  <summary>:x: 1 package failed to build:</summary>
  <ul>
    <li>ugarit</li>
  </ul>
</details>
<details>
  <summary>:white_check_mark: 86 packages built:</summary>
  <ul>
    <li>acl2</li>
    <li>alive2</li>
    <li>boogie</li>
    <li>circt</li>
    <li>circt.dev</li>
    <li>circt.lib</li>
    <li>cynthion</li>
    <li>cynthion.dist</li>
    <li>dafny</li>
    <li>foundry</li>
    <li>fstar</li>
    <li>ghidra-extensions.kaiju</li>
    <li>glasgow</li>
    <li>glasgow.dist</li>
    <li>hal-hardware-analyzer</li>
    <li>iprover</li>
    <li>isabelle</li>
    <li>isabelle-components.isabelle-linter</li>
    <li>key</li>
    <li>klee</li>
    <li>libbap</li>
    <li>nixpkgs-manual</li>
    <li>ocamlPackages.z3</li>
    <li>pony-corral</li>
    <li>ponyc</li>
    <li>python312Packages.amaranth</li>
    <li>python312Packages.amaranth-boards</li>
    <li>python312Packages.amaranth-boards.dist</li>
    <li>python312Packages.amaranth-soc</li>
    <li>python312Packages.amaranth-soc.dist</li>
    <li>python312Packages.amaranth.dist</li>
    <li>python312Packages.angr</li>
    <li>python312Packages.angr.dist</li>
    <li>python312Packages.angrcli</li>
    <li>python312Packages.angrcli.dist</li>
    <li>python312Packages.angrop</li>
    <li>python312Packages.angrop.dist</li>
    <li>python312Packages.bap</li>
    <li>python312Packages.bap.dist</li>
    <li>python312Packages.claripy</li>
    <li>python312Packages.claripy.dist</li>
    <li>python312Packages.deal</li>
    <li>python312Packages.deal-solver</li>
    <li>python312Packages.deal-solver.dist</li>
    <li>python312Packages.deal.dist</li>
    <li>python312Packages.icontract</li>
    <li>python312Packages.icontract.dist</li>
    <li>python312Packages.miasm</li>
    <li>python312Packages.miasm.dist</li>
    <li>python312Packages.model-checker</li>
    <li>python312Packages.model-checker.dist</li>
    <li>python312Packages.pylddwrap</li>
    <li>python312Packages.pylddwrap.dist</li>
    <li>z3.python (python312Packages.z3-solver)</li>
    <li>python313Packages.amaranth</li>
    <li>python313Packages.amaranth-boards</li>
    <li>python313Packages.amaranth-boards.dist</li>
    <li>python313Packages.amaranth-soc</li>
    <li>python313Packages.amaranth-soc.dist</li>
    <li>python313Packages.amaranth.dist</li>
    <li>python313Packages.bap</li>
    <li>python313Packages.bap.dist</li>
    <li>python313Packages.claripy</li>
    <li>python313Packages.claripy.dist</li>
    <li>python313Packages.deal</li>
    <li>python313Packages.deal-solver</li>
    <li>python313Packages.deal-solver.dist</li>
    <li>python313Packages.deal.dist</li>
    <li>python313Packages.icontract</li>
    <li>python313Packages.icontract.dist</li>
    <li>python313Packages.model-checker</li>
    <li>python313Packages.model-checker.dist</li>
    <li>python313Packages.pylddwrap</li>
    <li>python313Packages.pylddwrap.dist</li>
    <li>python313Packages.z3-solver (python313Packages.z3-solver.dev ,python313Packages.z3-solver.lib ,python313Packages.z3-solver.python)</li>
    <li>sail-riscv</li>
    <li>sby</li>
    <li>simbaplusplus</li>
    <li>solc</li>
    <li>symcc</li>
    <li>tlaps</li>
    <li>vampire</li>
    <li>z3</li>
    <li>z3-tptp</li>
    <li>z3.dev</li>
    <li>z3.lib</li>
  </ul>
</details>

author_association: CONTRIBUTOR
user: login: dtomvan
created_at: 2025-05-22T09:45:13Z
body: You mean it's better to just `doCheck = false;` on `deal-solver`? `ugarit` seems to have been failing all year now: https://hydra.nixos.org/build/282774563 so I suppose that is unrelated to this PR. To fix it though, I think we'd need to add a patch to `posix-extras` in `ugarit/eggs.nix` that includes `#include <sys/sysmacros.h>`.
author_association: CONTRIBUTOR
user: login: numinit
created_at: 2025-05-22T10:11:28Z
body: No we can leave the deal-solver checks as is. And, yeah, ugarit has been failing for a while, this PR didn't affect it.
author_association: CONTRIBUTOR
user: login: nixpkgs-ci[bot]
created_at: 2025-05-22T11:46:44Z
body: Successfully created backport PR for `release-25.05`:
- #409741
author_association: CONTRIBUTOR
user: login: RossComputerGuy
created_at: 2025-05-22T20:39:58Z
body: ## `nixpkgs-review` result

Generated using [`nixpkgs-review`](https://github.com/Mic92/nixpkgs-review).

Command: `nixpkgs-review pr 407728`
Commit: `be9aec20db7cc42a9dde57dc1a77251c61bc267c`

---
### `aarch64-linux`
<details>
  <summary>:fast_forward: 10 packages marked as broken and skipped:</summary>
  <ul>
    <li>python312Packages.cynthion</li>
    <li>python312Packages.cynthion.dist</li>
    <li>python312Packages.luna-soc</li>
    <li>python312Packages.luna-soc.dist</li>
    <li>python312Packages.luna-usb</li>
    <li>python312Packages.luna-usb.dist</li>
    <li>python313Packages.luna-soc</li>
    <li>python313Packages.luna-soc.dist</li>
    <li>python313Packages.luna-usb</li>
    <li>python313Packages.luna-usb.dist</li>
  </ul>
</details>
<details>
  <summary>:fast_forward: 1 package blacklisted:</summary>
  <ul>
    <li>tests.nixos-functions.nixos-test</li>
  </ul>
</details>
<details>
  <summary>:x: 2 packages failed to build:</summary>
  <ul>
    <li>haskellPackages.copilot-verifier</li>
    <li>ugarit</li>
  </ul>
</details>
<details>
  <summary>:white_check_mark: 102 packages built:</summary>
  <ul>
    <li>acl2</li>
    <li>alive2</li>
    <li>boogie (dotnetPackages.Boogie)</li>
    <li>circt</li>
    <li>circt.dev</li>
    <li>circt.lib</li>
    <li>cynthion</li>
    <li>cynthion.dist</li>
    <li>dafny</li>
    <li>foundry</li>
    <li>fstar</li>
    <li>ghidra-extensions.kaiju</li>
    <li>glasgow</li>
    <li>glasgow.dist</li>
    <li>hal-hardware-analyzer</li>
    <li>haskellPackages.copilot</li>
    <li>haskellPackages.copilot-language</li>
    <li>haskellPackages.copilot-language.doc</li>
    <li>haskellPackages.copilot-libraries</li>
    <li>haskellPackages.copilot-libraries.doc</li>
    <li>haskellPackages.copilot-theorem</li>
    <li>haskellPackages.copilot-theorem.doc</li>
    <li>haskellPackages.copilot.doc</li>
    <li>haskellPackages.crucible-llvm</li>
    <li>haskellPackages.crucible-llvm.doc</li>
    <li>haskellPackages.crux-llvm</li>
    <li>haskellPackages.crux-llvm.data</li>
    <li>haskellPackages.crux-llvm.doc</li>
    <li>haskellPackages.hz3</li>
    <li>haskellPackages.hz3.doc</li>
    <li>haskellPackages.rest-rewrite</li>
    <li>haskellPackages.z3</li>
    <li>haskellPackages.z3.doc</li>
    <li>iprover</li>
    <li>isabelle</li>
    <li>isabelle-components.isabelle-linter</li>
    <li>key</li>
    <li>libbap</li>
    <li>nixpkgs-manual</li>
    <li>pony-corral</li>
    <li>ponyc</li>
    <li>python312Packages.amaranth</li>
    <li>python312Packages.amaranth-boards</li>
    <li>python312Packages.amaranth-boards.dist</li>
    <li>python312Packages.amaranth-soc</li>
    <li>python312Packages.amaranth-soc.dist</li>
    <li>python312Packages.amaranth.dist</li>
    <li>python312Packages.angr</li>
    <li>python312Packages.angr.dist</li>
    <li>python312Packages.angrcli</li>
    <li>python312Packages.angrcli.dist</li>
    <li>python312Packages.angrop</li>
    <li>python312Packages.angrop.dist</li>
    <li>python312Packages.bap</li>
    <li>python312Packages.bap.dist</li>
    <li>python312Packages.claripy</li>
    <li>python312Packages.claripy.dist</li>
    <li>python312Packages.deal</li>
    <li>python312Packages.deal-solver</li>
    <li>python312Packages.deal-solver.dist</li>
    <li>python312Packages.deal.dist</li>
    <li>python312Packages.icontract</li>
    <li>python312Packages.icontract.dist</li>
    <li>python312Packages.miasm</li>
    <li>python312Packages.miasm.dist</li>
    <li>python312Packages.model-checker</li>
    <li>python312Packages.model-checker.dist</li>
    <li>python312Packages.pylddwrap</li>
    <li>python312Packages.pylddwrap.dist</li>
    <li>z3.python (python312Packages.z3-solver)</li>
    <li>python313Packages.amaranth</li>
    <li>python313Packages.amaranth-boards</li>
    <li>python313Packages.amaranth-boards.dist</li>
    <li>python313Packages.amaranth-soc</li>
    <li>python313Packages.amaranth-soc.dist</li>
    <li>python313Packages.amaranth.dist</li>
    <li>python313Packages.bap</li>
    <li>python313Packages.bap.dist</li>
    <li>python313Packages.claripy</li>
    <li>python313Packages.claripy.dist</li>
    <li>python313Packages.deal</li>
    <li>python313Packages.deal-solver</li>
    <li>python313Packages.deal-solver.dist</li>
    <li>python313Packages.deal.dist</li>
    <li>python313Packages.icontract</li>
    <li>python313Packages.icontract.dist</li>
    <li>python313Packages.model-checker</li>
    <li>python313Packages.model-checker.dist</li>
    <li>python313Packages.pylddwrap</li>
    <li>python313Packages.pylddwrap.dist</li>
    <li>python313Packages.z3-solver (python313Packages.z3-solver.dev, python313Packages.z3-solver.lib, python313Packages.z3-solver.python)</li>
    <li>sail-riscv</li>
    <li>sby</li>
    <li>simbaplusplus</li>
    <li>solc</li>
    <li>symcc</li>
    <li>tlaps</li>
    <li>vampire</li>
    <li>z3</li>
    <li>z3-tptp</li>
    <li>z3.dev</li>
    <li>z3.lib</li>
  </ul>
</details>

---
<details>
<summary>Error logs: `aarch64-linux`</summary>
<details>
<summary>haskellPackages.copilot-verifier</summary>
<pre>Running phase: updateAutotoolsGnuConfigScriptsPhase
@nix { "action": "setPhase", "phase": "updateAutotoolsGnuConfigScriptsPhase" }
Running phase: configurePhase
@nix { "action": "setPhase", "phase": "configurePhase" }
configureFlags: --verbose --prefix=/nix/store/wyy44a1i7j3wq6pd37m2l48q99ssx1fc-copilot-verifier-4.3 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --with-gcc=gcc --package-db=/build/tmp.lVOUXN4XN7/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --extra-lib-dirs=/nix/store/dghn4dvkpxjjdcf24q79wyg0ls8mwqbb-ncurses-6.5/lib --extra-lib-dirs=/nix/store/ikic5fn58wk2crxywcs9qabbri77ilpw-libffi-3.4.8/lib --extra-lib-dirs=/nix/store/xmdlv9xmhyiqip377326ph94k1ipndz2-gmp-with-cxx-6.3.0/lib
Using Parsec parser
Configuring copilot-verifier-4.3...
CallStack (from HasCallStack):
  withMetadata, called at libraries/Cabal/Cabal/src/Distribution/Simple/Utils.hs:368:14 in Cabal-3.10.3.0-7c7a:Distribution.Simple.Utils
Error: Setup: Encountered missing or private dependencies:
copilot >=4.3 && <4.4,
copilot-c99 >=4.3 && <4.4,
copilot-core >=4.3 && <4.4,
copilot-language >=4.3 && <4.4,
copilot-libraries >=4.3 && <4.4,
copilot-prettyprinter >=4.3 && <4.4,
copilot-theorem >=4.3 && <4.4,
crux-llvm >=0.9 && <0.10,
llvm-pretty >=0.12.1.0 && <0.13
</pre>
</details>
</details>

author_association: MEMBER
user: login: numinit
created_at: 2025-05-22T20:58:19Z
body: Nice! 
author_association: CONTRIBUTOR