# Pinned to the revision Mathlib v4.35.0 locks in its lake-manifest.json; a dependent's # `lake build` accepts an installed package only at that exact commit, so this # moves together with lean4-mathlib and lean4. %global commit dce0ad79c486cb1fb504af04f953c3466b0c6db8 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global snapdate 20261012 %global lean_version 4.35.0 %global lakename Qq Name: lean4-qq Version: 0^20261012gitdce0ad7 Release: 2%{?dist} Summary: Quote4: type-safe quotations for Lean 4 metaprogramming License: Apache-2.0 URL: https://github.com/leanprover-community/quote4 Source0: %{url}/archive/%{commit}/quote4-%{commit}.tar.gz # `git cat-file commit %%{commit}`: %%lean4_git_init rebuilds the checkout # Lake expects from the tarball (see macros.lean4). Source1: Qq-%{commit}.commit BuildArch: noarch BuildRequires: lean4 = %{lean_version} BuildRequires: lean4-rpm-macros BuildRequires: git-core Requires: lean4 = %{lean_version} # what a dependent's spec pins: the Lake package name at its exact revision Provides: lean4-package(%{lakename}) = %{commit} %description Qq (Quote4) provides `q(...)` and `Q(...)` quotations whose expressions are checked against the types of the terms they build, for writing Lean 4 tactics and metaprograms without raw `Expr` manipulation. %prep %autosetup -n quote4-%{commit} %lean4_git_init %{SOURCE1} %{url} %build %lean4_build Qq %check # the installed oleans load and elaborate against this toolchain cat > %{_builddir}/check-%{lakename}.lean <<'EOF' import Qq open Qq in #check (q(1 + 1) : Q(Nat)) EOF lake env lean %{_builddir}/check-%{lakename}.lean %install %lean4_install %{lakename} %files %license LICENSE %doc README.md %{_lean4_pkgdir}/%{lakename}/ %changelog * Fri Nov 06 2026 Morgan Hough - 0^20261012gitdce0ad7-2 - Rebuild in mhough/scientific: math and computational-physics packages move out of mhough/neurofedora * Mon Nov 02 2026 Morgan Hough - 0^20261012gitdce0ad7-1 - Initial package: the revision Mathlib v4.35.0 pins