11 Commits

Author SHA1 Message Date
Anthony Wang
edac0312cb lean4: 4.30.0 -> 4.34.1
Release notes:
- https://lean-lang.org/doc/reference/latest/releases/v4.34.1
- https://lean-lang.org/doc/reference/latest/releases/v4.34.0
- https://lean-lang.org/doc/reference/latest/releases/v4.33.1
- https://lean-lang.org/doc/reference/latest/releases/v4.33.0
- https://lean-lang.org/doc/reference/latest/releases/v4.32.2
- https://lean-lang.org/doc/reference/latest/releases/v4.32.1
- https://lean-lang.org/doc/reference/latest/releases/v4.32.0
- https://lean-lang.org/doc/reference/latest/releases/v4.31.0

Co-authored-by: Niklas Halonen <niklas.2.halonen@aalto.fi>
Co-authored-by: jthulhu <jthulhu@posteo.net>
Co-authored-by: Gaetan Lepage <gaetan@glepage.com>
2026-09-24 20:18:47 -04:00
Archit Gupta
8babb02766 lean4: fix install prefix for CMake 4.4
`lean4` failed to build with CMake 4.4 since CMake started putting help
strings for known variables set from the command line. Lean was using
the presence of the generic help string to determine if a variable was
passed from the command line. For CMAKE_* variables, it considers them
as platform variables if they were not passed on the command line. Those
variables are then passed only to its stage0 and not stage1. This caused
CMAKE_INSTALL_PREFIX to be dropped, since previously the nixpkgs command
line override resulted in the generic help string, and with CMake 4.4 it
no longer does.

This works around this insanity by passing STAGE1_CMAKE_INSTALL_PREFIX
which Lean understands for passing CMAKE_INSTALL_PREFIX to its stage1
build.
2026-09-14 02:38:45 -07:00
Nadja Yang
03752ca7ca lean4, leanPackages.lean4: fix darwin build by adding libtool
Lake 4.30.0 uses libtool -static on macOS for static library targets
instead of ar.
d024af099c/src/lake/Lake/Build/Library.lean (L87-L95)

See Hydra Build No. 330752454, lean4.aarch64-darwin (June 4, 2026),
https://hydra.nixos.org/build/330752454; Hydra Build No. 330752481,
leanPackages.lean4.aarch64-darwin (June 4, 2026),
https://hydra.nixos.org/build/330752481.

Breakage introduced in
a26b66330f
2026-06-04 23:56:27 -04:00
Nadja Yang
b606786817 leanPackages: 4.29.1 -> 4.30.0
Add leangz (leantar) as a new build and runtime dependency.

https://github.com/leanprover/lean4/releases/tag/v4.30.0
https://github.com/leanprover-community/mathlib4/blob/v4.30.0/lake-manifest.json
2026-06-04 16:48:52 -04:00
Nadja Yang
5d81234142 leanPackages.lean4: pin cadical to 2.1.3, add smoke test
cadical >= 2.2.0 produces LRAT proofs Lean's checker does not
yet handle, breaking bv_decide.

0eced05aae
2026-06-04 16:48:52 -04:00
Nadja Yang
cefae5621e leanPackages.lean4: use nixpkgs cadical, patch all binaries
Lean binaries derive sysroot from IO.appPath; patch all of them
rather than just lean and lake. Add cadical to symlinkJoin paths
instead of bundling a copy via INSTALL_CADICAL.

ed10debb3c
2026-06-04 16:48:52 -04:00
Nadja Yang
6987e3afbe leanPackages.lean4: 4.29.0 -> 4.29.1
Strip ephemeral setup.json build artifacts from library outputs.
These are produced per-module during compilation and not included
in upstream cache distributions
(https://github.com/NixOS/nixpkgs/issues/510957).

Disable Hydra builds for mathlib since the output exceeds the NAR
size limit.

Pre-build static library for batteries so downstream executables
can link against it.

Refactor update.sh to pin each dependency to the rev from mathlib's
lake-manifest.json.
2026-06-04 16:48:52 -04:00
Nadja Yang
590ccdb420 leanPackages: partially revert a26b66330f
In favor of https://github.com/NixOS/nixpkgs/pull/511524
(72b8bcfd8e).

Retains pkgs.lean4 at 4.30.0.
2026-06-04 16:48:52 -04:00
Niklas Halonen
a26b66330f lean4: update leanPackages and lean4 4.29.0/1 -> 4.30.0
As reported on FreeBSD forums, updating lean4 to 4.30.0 fails to a
leantar related issue.  We follow the patch mentioned on the FreeBSD
forums and depend on digama0/leangz (that comes with leantar).
However, there doesn't seem to be a reason to disable installing
leantar, so we don't set INSTALL_LEANTAR=OFF like the patch.

References:
- https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=295656
- https://cgit.freebsd.org/ports/commit/?id=516f8a5764de5c7bdd0e9f7810601a5057bbc650
- https://lean-lang.org/doc/reference/latest/releases/v4.30.0/#release-v4___30___0
- leanprover/lean4#12822
2026-06-01 22:28:05 +03:00
Archit Gupta
ed10debb3c lean4: remove cadical copy
By default, lean4's cmake copies the cadical binary from PATH to its
build output directory. Disabling this behavior does not keep Lean from
using cadical.
2026-04-24 01:39:20 -07:00
Nadja Yang
3c2a3b804d leanPackages: structural reimagining — own toolchain, lake --packages, Hydra visibility
Give leanPackages its own lean4, independent of pkgs.lean4. Binary-
patch the toolchain so the language server discovers the wrapped lake
despite lake serve deriving LAKE from IO.appPath unconditionally.
Supplant Lake's config trace validation for /nix/store/ dependencies,
deferring cache coherence to Nix.

Migrate Nix-managed dependency injection from package-overrides.json
to lake --packages. Patch Cli to pre-build static library for
downstream executables. Add recurseIntoAttrs for Hydra.

Upstream accepted FetchContent for mimalloc vendoring:
a145b9c11a
2026-04-01 11:13:44 -04:00