The package changed with the addition of its libepoll-shim dependency.
Otherwise, we can get:
ERROR: libepoll-shim>=0.0.20210418 is not installed; can't buildlink files.
(Update during freeze ok gdt@; even if this version might be broken,
that beats definitely broken.)
pkgsrc changes: use -native-compiler ondemand as recommended upstream.
Now uses dune to build, and uses ocaml-zarith instead of ocaml-num.
Upstream change summary:
(see https://coq.github.io/doc/v8.15/refman/changes.html for the full
change notes)
Coq 8.15.2 fixes:
- Added: intuition and dintuition use Tauto.intuition_solver (defined
as auto with *) instead of hardcoding auto with *. This makes it
possible to change the default solver with Ltac Tauto.intuition_solver
::= ... (#15866, fixes#7725, by Gaëtan Gilbert).
- Fixed: uncaught exception UnableToUnify with bidirectionality hints
(#16066, fixes#16063, by Gaëtan Gilbert).
- Fixed: multiple CoqIDE bugs (#15938, fixes#15861, #15939, fixes
#15882, #15964, fixes#15799, #15984, partially fixes#15873, #15996,
#15912, fixes#15903, all by Jim Fehrle).
-Fixed: an incorrect implementation of SFClassify, allowing for a
proof of False since 8.11.0, due to Axioms present in
Float.Axioms. (#16101, fixes#16096, by Ali Caglayan).
Coq 8.15.1 fixes:
- Fixed: cases of incompletenesses in the guard condition for
fixpoints in the presence of cofixpoints or primitive projections
(#15498, fixes#15451, by Hugo Herbelin).
- Fixed: inconsistency when using module subtyping with squashed
inductives (#15839, fixes#15838 (reported by Pierre-Marie Pédrot), by
Gaëtan Gilbert).
- Fixed: Check for prior declaration of a custom entry was missing
for notations in only printing mode (#15628, fixes#15619, by Hugo
Herbelin).
- Fixed: rewrite_strat regression in 8.15.0 related to Transitive
instances (#15577, fixes#15568, by Gaëtan Gilbert).
- Fixed: When setoid_rewrite succeeds in rewriting at some occurrence
but the resulting equality is the identity, it now tries rewriting in
subterms of that occurrence instead of giving up (#15612, fixes#8080,
by Gaëtan Gilbert).
- Fixed: Ill-typed goals created by clearbody in the presence of
transitive dependencies in the body of a hypothesis (#15634, fixes
#15606, by Hugo Herbelin).
- Fixed: cbn knows to refold fixpoints when Arguments with / and !
was used (#15653, fixes#15567, by Gaëtan Gilbert).
- Fixed a bug where coqc -vok was not creating an empty '.vok'
file. (#15745, by Ramkumar Ramachandra).
- Fixed: Line numbers shown in the Errors panel of CoqIDE were
incorrect; they didn't match the error locations in the script panel
(#15532, fixes#15531, by Jim Fehrle).
- Fixed: anomaly when using proof diffs with no focused goal (#15633,
fixes#15578, by Jim Fehrle).
- Fixed: Attempted edits to the processed part of a buffer while Coq
is busy processing a request are now ignored to ensure "processed"
highlighting is accurate (#15714, fixes#15733 and #15675 and #15725,
by Jim Fehrle).
- Fixed: Ensure that the names of arguments of inductive schemes are
distinct so that the new Coq 8.15 preservation of argument names in
the with clause of tactics in #13837 works as in Coq 8.14 for these
schemes (#15537, fixes#15420, by Hugo Herbelin).
Coq 8.15.0 summary:
- The apply with tactic no longer renames arguments unless
compatibility flag Apply With Renaming is set.
- Improvements to the auto tactic family, fixing the Hint Unfold
behavior, and generalizing the use of discrimination nets.
- The typeclasses eauto tactic has a new best_effort option allowing
it to return partial solutions to a proof search problem, depending on
the mode declarations associated to each constraint. This mode is used
by typeclass resolution during type inference to provide more precise
error messages.
- Many commands and options were deprecated or removed after
deprecation and more consistently support locality attributes.
- The Import command is extended with import_categories to select the
components of a module to import or not, including features such as
hints, coercions, and notations.
- A visual Ltac debugger is now available in CoqIDE.
Coq 8.14.2 fixes:
- Instance warns about the default locality immediately rather than
waiting until the instance is ready to be defined. This changes which
command warns when the instance has a separate proof: the Instance
command itself warns instead of the proof closing command (such as
Defined). (#15243, fixes#14704, by Gaëtan Gilbert).
Coq 8.14.1 fixes:
- Fix the implementation of persistent arrays used by the VM and
native compute so that it uses a uniform representation. Previously,
storing primitive floats inside primitive arrays could cause memory
corruption (#15081, closes#15070, by Pierre-Marie Pédrot).
- Fixed missing registration of universe constraints in Module Type
elaboration (#14666, fixes#14505, by Hugo Herbelin).
- Fixed: abstract more robust with respect to Ltac constr bindings
containing existential variables (#14671, fixes#10796, by Hugo
Herbelin).
- Fixed: correct support of trailing let by tactic specialize
(#15046, fixes#15043, by Hugo Herbelin).
- Fixed: anomaly with Extraction Conservative Types when extracting
pattern-matching on singleton types (#14669, fixes#3527, by Hugo
Herbelin).
- Fixed: a regular error instead of an anomaly when calling Separate
Extraction in a module (#14670, fixes#10796, by Hugo Herbelin).
Coq 8.14.0 summary:
- The internal representation of match has changed to a more space-
efficient and cleaner structure, allowing the fix of a completeness
issue with cumulative inductive types in the type-checker. The
internal representation is now closer to the user-level view of match,
where the argument context of branches and the inductive binders in
and as do not carry type annotations.
- A new coqnative binary performs separate native compilation of
libraries, starting from a .vo file. It is supported by coq_makefile.
- Improvements to typeclasses and canonical structure resolution,
allowing more terms to be considered as classes or keys.
- More control over notations declarations and support for primitive
types in string and number notations.
- Removal of deprecated tactics, notably omega, which has been
replaced by a greatly improved lia, along with many bug fixes.
- New Ltac2 APIs for interaction with Ltac1, manipulation of
inductive types and printing.
- Many changes and additions to the standard library in the numbers,
vectors and lists libraries. A new signed primitive integers library
Sint63 is available in addition to the unsigned Uint63 library.
Coq 8.13.2:
- Fixed crash when using vm_compute on an irreducible PArray.set
(#14005, fixes#13998, by Guillaume Melquiond).
- Fix: Never store persistent arrays as VM / native structured
values. This could be used to make vo marshalling crash, and probably
breaking some other invariants of the kernel (#14007, fixes#14006, by
Pierre-Marie Pédrot).
- Fix: Ltac2 Array.init no longer incurs exponential overhead when
used recursively (#14012, fixes#14011, by Jason Gross).
Coq 8.13.1:
- Fix arities of VM opcodes for some floating-point operations that
could cause memory corruption (#13867, by Guillaume Melquiond).
- Added options -v and --version to CoqIDE (#13870, by Guillaume
Melquiond).
Coq 8.13.0 summary:
- Introduction of primitive persistent arrays in the core language,
implemented using imperative persistent arrays.
- Introduction of definitional proof irrelevance for the equality
type defined in the SProp sort.
- Cumulative record and inductive type declarations can now specify
the variance of their universes.
- Various bugfixes and uniformization of behavior with respect to the
use of implicit arguments and the handling of existential variables in
declarations, unification and tactics.
- New warning for unused variables in catch-all match branches that
match multiple distinct patterns.
- New warning for Hint commands outside sections without a locality
attribute, whose goal is to eventually remove the fragile default
behavior of importing hints only when using Require. The recommended
fix is to declare hints as export, instead of the current default
global, meaning that they are imported through Require Import only,
not Require. See the following rationale and guidelines for details.
- General support for boolean attributes.
- Many improvements to the handling of notations, including number
notations, recursive notations and notations with bindings. A new
algorithm chooses the most precise notation available to print an
expression, which might introduce changes in printing behavior.
- Tactic improvements in lia and its zify preprocessing step, now
supporting reasoning on boolean operators such as Z.leb and supporting
primitive integers Int63.
- Typing flags can now be specified per-constant / inductive.
- Improvements to the reference manual including updated syntax
descriptions that match Coq's grammar in several chapters, and
splitting parts of the tactics chapter to independent sections.
Fixes build with current ocaml.
Note: this update includes the import semantics fixes from 8.11 that
break a lot of developments.
pkgsrc change: docs build now works.
Summary of changes in 8.12:
Coq version 8.12 integrates many usability improvements, in particular
with respect to notations, scopes and implicit arguments, along with
many bug fixes and major improvements to the reference manual. The
main changes include:
New binder notation for non-maximal implicit arguments using [ ]
allowing to set and see the implicit status of arguments
immediately.
New notation Inductive I A | x : s := ... to distinguish the
uniform from the non-uniform parameters in inductive definitions.
More robust and expressive treatment of implicit inductive
parameters in inductive declarations.
Improvements in the treatment of implicit arguments and partially
applied constants in notations, parsing of hexadecimal number
notation and better handling of scopes and coercions for printing.
A correct and efficient coercion coherence checking algorithm,
avoiding spurious or duplicate warnings.
An improved Search command which accepts complex queries. Note
that this takes precedence over the now deprecated ssreflect
search.
Many additions and improvements of the standard library.
Improvements to the reference manual include a more logical
organization of chapters along with updated syntax descriptions
that match Coq's grammar in most but not all chapters.
Additionally, the omega tactic is deprecated in this version of Coq,
and we recommend users to switch to lia in new proof scripts (see also
the warning message in the corresponding chapter).
Summary of changes in 8.11:
The main changes brought by Coq version 8.11 are:
Ltac2, a new tactic language for writing more robust larger scale
tactics, with built-in support for datatypes and the multi-goal
tactic monad.
Primitive floats are integrated in terms and follow the binary64
format of the IEEE 754 standard, as specified in the
Coq.Float.Floats library.
Cleanups of the section mechanism, delayed proofs and further
restrictions of template polymorphism to fix soundness issues
related to universes.
New unsafe flags to disable locally guard, positivity and universe
checking. Reliance on these flags is always printed by Print
Assumptions.
Fixed bugs of Export and Import that can have a significant impact
on user developments (common source of incompatibility!).
New interactive development method based on vos interface files,
allowing to work on a file without recompiling the proof parts of
their dependencies.
New Arguments annotation for bidirectional type inference
configuration for reference (e.g. constants, inductive)
applications.
New refine attribute for Instance can be used instead of the
removed Refine Instance Mode.
Generalization of the under and over tactics of SSReflect to
arbitrary relations.
Revision of the Coq.Reals library, its axiomatisation and
instances of the constructive and classical real numbers.
Additionally, while the omega tactic is not yet deprecated in this
version of Coq, it should soon be the case and we already recommend
users to switch to lia in new proof scripts (see also the warning
message in the corresponding chapter).
The full (huge) changelog is here:
https://coq.inria.fr/distrib/V8.12.2/refman/changes.html
(without it the new coqide is missing things, and it seems to
specifically refer to adwaita-icon-theme by name)
Bump PKGREVISION to 1, since coqide is a default-on option.
Changes include:
- native 63-bit machine integers;
- a new sort of definitionally proof-irrelevant propositons: SProp;
- private universes for opaque polymorphic constants;
- string notations and numeral notations;
- a new simplex-based proof engine for the tactics lia, nia, lra and nra;
- new introduction patterns for SSReflect;
- a tactic to rewrite under binders: under;
- easy input of non-ASCII symbols in CoqIDE, which now uses GTK3.
and many small improvements and bugfixes.
Main changes:
* some quality-of-life bug fixes,
* many improvements to the documentation,
* a critical bug fix related to primitive projections and native_compute,
* several additional Coq libraries shipped with the Windows installer.
The list of improvements, additions, bugfixes and so on is quite large;
those interested can refer to the CHANGES file in the distribution.
The reference manual has been fully ported to Sphinx.