pkgsrc/lang/coq/options.mk
dholland 89078910b9 Update lang/coq to 8.12.2.
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
2021-02-09 22:37:43 +00:00

80 lines
3.2 KiB
Makefile

# $NetBSD: options.mk,v 1.11 2021/02/09 22:37:43 dholland Exp $
PKG_OPTIONS_VAR= PKG_OPTIONS.coq
PKG_SUPPORTED_OPTIONS= doc coqide
PKG_SUGGESTED_OPTIONS= coqide
.include "../../mk/bsd.options.mk"
.if !empty(PKG_OPTIONS:Mdoc)
CONFIGURE_ARGS+= -with-doc yes
PLIST.doc= yes
BUILD_DEPENDS+= hevea>=1.10:../../textproc/hevea
#
# python
#
PYTHON_VERSIONS_INCOMPATIBLE= 27
PYTHON_VERSIONED_DEPENDENCIES= sphinx:tool
.include "../../lang/python/tool.mk"
SUBST_CLASSES+= sphinx-build
SUBST_STAGE.sphinx-build= pre-configure
SUBST_MESSAGE.sphinx-build= Fix hardcoded sphinx-build
SUBST_FILES.sphinx-build+= Makefile.doc configure.ml doc/dune
SUBST_SED.sphinx-build+= -e 's/sphinx-build/sphinx-build-${PYVERSSUFFIX}/g'
BUILD_DEPENDS+= py[0-9]*-sphinx-rtd-theme-[0-9]*:../../textproc/py-sphinx-rtd-theme
BUILD_DEPENDS+= py[0-9]*-sphinxcontrib-bibtex-[0-9]*:../../textproc/py-sphinxcontrib-bibtex
BUILD_DEPENDS+= py[0-9]*-pybtex-[0-9]*:../../textproc/py-pybtex
BUILD_DEPENDS+= py[0-9]*-pybtex-docutils-[0-9]*:../../textproc/py-pybtex-docutils
BUILD_DEPENDS+= py[0-9]*-pexpect-[0-9]*:../../devel/py-pexpect
BUILD_DEPENDS+= py[0-9]*-antlr4-[0-9]*:../../textproc/py-antlr4
BUILD_DEPENDS+= py[0-9]*-beautifulsoup4-[0-9]*:../../www/py-beautifulsoup4
#
# tex
#
BUILD_DEPENDS+= latexmk-[0-9]*:../../print/latexmk
BUILD_DEPENDS+= tex-latex-bin-[0-9]*:../../print/tex-latex-bin
BUILD_DEPENDS+= tex-moreverb-[0-9]*:../../print/tex-moreverb
BUILD_DEPENDS+= tex-preprint-[0-9]*:../../print/tex-preprint
BUILD_DEPENDS+= tex-ucs-[0-9]*:../../print/tex-ucs
BUILD_DEPENDS+= tex-xetex-[0-9]*:../../print/tex-xetex
BUILD_DEPENDS+= tex-polyglossia-[0-9]*:../../print/tex-polyglossia
BUILD_DEPENDS+= tex-fncychap-[0-9]*:../../print/tex-fncychap
BUILD_DEPENDS+= tex-tabulary-[0-9]*:../../print/tex-tabulary
BUILD_DEPENDS+= tex-varwidth-[0-9]*:../../print/tex-varwidth
BUILD_DEPENDS+= tex-parskip-[0-9]*:../../print/tex-parskip
BUILD_DEPENDS+= tex-upquote-[0-9]*:../../print/tex-upquote
BUILD_DEPENDS+= tex-capt-of-[0-9]*:../../print/tex-capt-of
BUILD_DEPENDS+= tex-needspace-[0-9]*:../../print/tex-needspace
BUILD_DEPENDS+= tex-unicode-math-[0-9]*:../../math/tex-unicode-math
BUILD_DEPENDS+= tex-microtype-[0-9]*:../../print/tex-microtype
BUILD_DEPENDS+= tex-adjustbox-[0-9]*:../../print/tex-adjustbox
BUILD_DEPENDS+= tex-xindy-[0-9]*:../../textproc/tex-xindy
BUILD_DEPENDS+= tex-ec-[0-9]*:../../fonts/tex-ec
BUILD_DEPENDS+= tex-xcolor-[0-9]*:../../print/tex-xcolor
BUILD_DEPENDS+= tex-xkeyval-[0-9]*:../../print/tex-xkeyval
BUILD_DEPENDS+= tex-titlesec-[0-9]*:../../print/tex-titlesec
BUILD_DEPENDS+= tex-framed-[0-9]*:../../print/tex-framed
BUILD_DEPENDS+= tex-float-[0-9]*:../../print/tex-float
BUILD_DEPENDS+= tex-wrapfig-[0-9]*:../../print/tex-wrapfig
BUILD_DEPENDS+= tex-lm-math-[0-9]*:../../fonts/tex-lm-math
BUILD_DEPENDS+= tex-gnu-freefont-[0-9]*:../../fonts/tex-gnu-freefont
BUILD_DEPENDS+= dvipsk-[0-9]*:../../print/dvipsk
.else
CONFIGURE_ARGS+= -with-doc no
.endif
.if !empty(PKG_OPTIONS:Mcoqide)
.include "../../x11/ocaml-lablgtk3/buildlink3.mk"
.include "../../x11/gtk3/buildlink3.mk"
DEPENDS+= adwaita-icon-theme-[0-9]*:../../graphics/adwaita-icon-theme
CONFIGURE_ARGS+= -coqide ${COQIDE_TYPE}
PLIST.coqide= yes
.else
CONFIGURE_ARGS+= -coqide no
.endif