diff options
author | Maciej Barć <xgqt@gentoo.org> | 2023-09-09 15:49:01 +0200 |
---|---|---|
committer | Maciej Barć <xgqt@gentoo.org> | 2023-09-09 20:13:59 +0200 |
commit | 044d09165da3cf0e143d954b54ffbcba0096716f (patch) | |
tree | 2809ea71c2c2c9dfa25b49ce5b0db89a56caee94 /sci-mathematics/coq | |
parent | sci-mathematics/coq: drop old 8.17.0 (diff) | |
download | gentoo-044d09165da3cf0e143d954b54ffbcba0096716f.tar.gz gentoo-044d09165da3cf0e143d954b54ffbcba0096716f.tar.bz2 gentoo-044d09165da3cf0e143d954b54ffbcba0096716f.zip |
sci-mathematics/coq: bump to 8.18.0
Signed-off-by: Maciej Barć <xgqt@gentoo.org>
Diffstat (limited to 'sci-mathematics/coq')
-rw-r--r-- | sci-mathematics/coq/Manifest | 1 | ||||
-rw-r--r-- | sci-mathematics/coq/coq-8.18.0.ebuild | 112 |
2 files changed, 113 insertions, 0 deletions
diff --git a/sci-mathematics/coq/Manifest b/sci-mathematics/coq/Manifest index eec1fefc064d..376aed292011 100644 --- a/sci-mathematics/coq/Manifest +++ b/sci-mathematics/coq/Manifest @@ -1 +1,2 @@ DIST coq-8.17.1.tar.gz 7506035 BLAKE2B 29b5b11666185ec293f50264f5a8ad66433c3ce05d74128b524f6fc3c6810551fe76d11d6f9db7d3741b829ac8bacb66948aad522d0cd2c487692c3df8b563ff SHA512 9a35311acec2a806730b94ac7dceabc88837f235c52a14c026827d9b89433bd7fa9555a9fc6829aa49edfedb24c8bbaf1411ebf463b74a50aeb17cba47745b6b +DIST coq-8.18.0.tar.gz 7612742 BLAKE2B 2fb9f6205465ded60d2e1f7943f53ad884aea121c8129bb30c3f66c172f51f97eb553f8a745fd3ab1ec4da80d4ca08a7aea22f65d372fda3322c0f9ca7862923 SHA512 46922d5f2eb6802a148a52fd3e7f0be8370c93e7bc33cee05cf4a2044290845b10ccddbaa306f29c808e7c5019700763e37e45ff6deb507b874a4348010fed50 diff --git a/sci-mathematics/coq/coq-8.18.0.ebuild b/sci-mathematics/coq/coq-8.18.0.ebuild new file mode 100644 index 000000000000..f634026e1cda --- /dev/null +++ b/sci-mathematics/coq/coq-8.18.0.ebuild @@ -0,0 +1,112 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MY_PV=${PV/_p/pl} +MY_P=${PN}-${MY_PV} + +inherit desktop dune edo + +DESCRIPTION="Proof assistant written in O'Caml" +HOMEPAGE="http://coq.inria.fr/ + https://github.com/coq/coq/" +SRC_URI="https://github.com/coq/coq/archive/V${MY_PV}.tar.gz + -> ${P}.tar.gz" +S="${WORKDIR}"/${MY_P} + +LICENSE="LGPL-2.1" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~x86" +IUSE="debug doc gui +ocamlopt test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-ml/zarith:= + || ( + dev-ml/num + <dev-lang/ocaml-4.09.0[ocamlopt?] + ) + gui? ( + >=dev-ml/lablgtk-3.1.2:3=[sourceview,ocamlopt?] + >=dev-ml/lablgtk-sourceview-3.1.2:3=[ocamlopt?] + ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + dev-ml/findlib + doc? ( + >=dev-java/antlr-4.7:4 + dev-python/antlr4-python3-runtime + dev-python/beautifulsoup4 + dev-python/pexpect + dev-python/sphinx-rtd-theme + dev-python/sphinxcontrib-bibtex + dev-tex/latexmk + dev-texlive/texlive-fontsextra + dev-texlive/texlive-latexextra + dev-texlive/texlive-xetex + media-fonts/freefont + ) + test? ( dev-ml/ounit2 ) +" + +DOCS=( CODE_OF_CONDUCT.md CONTRIBUTING.md CREDITS INSTALL.md README.md ) + +src_prepare() { + # Remove failing tests. bug #904186 + rm -r test-suite/coq-makefile/timing || die + + default +} + +src_configure() { + export CAML_LD_LIBRARY_PATH="${S}/kernel/byterun/" + + dune_packages=( + coq-core + coq-stdlib + coqide-server + coq + ) + use gui && dune_packages+=( coqide ) + + emake clean + + local -a myconf=( + -prefix /usr + -libdir /usr/$(get_libdir)/coq + -mandir /usr/share/man + -docdir /usr/share/doc/${PF} + -datadir /usr/share/coq + -configdir /etc/xdg/${PN} + -native-compiler $(usex ocamlopt yes no) + ) + use debug && myconf+=( -debug ) + edob sh ./configure "${myconf[@]}" +} + +src_compile() { + emake DUNEOPT="--display=short --profile release" VERBOSE=1 dunestrap + + dune-compile ${dune_packages[@]} + + use doc && emake refman-html +} + +src_install() { + dune-install ${dune_packages[@]} + + if use gui ; then + make_desktop_entry coqide "Coq IDE" "${EPREFIX}/usr/share/coq/coq.png" + fi + + # Dune installs into /usr/<libdir>/ocaml/<coq> but + # Coq wants /usr/<libdir>/<coq> ; symlink those directories + local sym + for sym in ${dune_packages[@]} ; do + dosym $(ocamlc -where)/${sym} /usr/$(get_libdir)/${sym} + done + + einstalldocs +} |