summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaciej Barć <xgqt@gentoo.org>2023-09-09 15:49:01 +0200
committerMaciej Barć <xgqt@gentoo.org>2023-09-09 20:13:59 +0200
commit044d09165da3cf0e143d954b54ffbcba0096716f (patch)
tree2809ea71c2c2c9dfa25b49ce5b0db89a56caee94 /sci-mathematics/coq
parentsci-mathematics/coq: drop old 8.17.0 (diff)
downloadgentoo-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/Manifest1
-rw-r--r--sci-mathematics/coq/coq-8.18.0.ebuild112
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
+}