commit: 586dd40808cc7a4d75ef3d14e1de2eb51154b851 Author: Maciej Barć <xgqt <AT> gentoo <DOT> org> AuthorDate: Tue Jul 1 21:34:56 2025 +0000 Commit: Maciej Barć <xgqt <AT> gentoo <DOT> org> CommitDate: Wed Jul 2 00:12:02 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=586dd408
sci-mathematics/acl2: bump to 8.6 Signed-off-by: Maciej Barć <xgqt <AT> gentoo.org> sci-mathematics/acl2/Manifest | 1 + sci-mathematics/acl2/acl2-8.6.ebuild | 114 +++++++++++++++++++++++++++++++++++ 2 files changed, 115 insertions(+) diff --git a/sci-mathematics/acl2/Manifest b/sci-mathematics/acl2/Manifest index 12e0591acb3f..4c6d0768edd5 100644 --- a/sci-mathematics/acl2/Manifest +++ b/sci-mathematics/acl2/Manifest @@ -1 +1,2 @@ DIST acl2-8.5_p20240307.tar.gz 228577404 BLAKE2B af7b4f9995b568ba733a1071fa8069798091ea66b91acc9fb839a6f9ba7843762d7130f4d6b653054de4adea91569904ee4c3dcd035350616418c13fa762bc10 SHA512 b5484a49702fa6c657ebf9551dcec2b6a9c0632e137db1480f93ef9aec83fc9bdb9ca95c46ed324b4ff6ab1a428c8ca50bd1750e1bfd6c024d46a4d27728a24e +DIST acl2-8.6.gh.tar.gz 237606779 BLAKE2B ceddaa63aea7ef574e29a40b805c1bd1fd82cfa630679d3eb28854acda7afe138959840a19f6f4c00d24f48eb035008d2a52755aeb29ffb49878159ab61f1244 SHA512 e3ee5baa6b38a316bddb2053a56e3b9f8b040fc41b2d97c0eec268c7b9d5c79b7fa1719891cd8e043675ce8c8fc71a81f50e232aa1c7891e91f0c20957b42f87 diff --git a/sci-mathematics/acl2/acl2-8.6.ebuild b/sci-mathematics/acl2/acl2-8.6.ebuild new file mode 100644 index 000000000000..6e387b3f3200 --- /dev/null +++ b/sci-mathematics/acl2/acl2-8.6.ebuild @@ -0,0 +1,114 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# NOTICE: Only SBCL (dev-lisp/sbcl) is tested for now, but probably +# more CL implementations can be added as alternative dependencies. +# With ClozureCL (dev-lisp/clozurecl) ACL2 fails to build, +# this might need in-depth investigation... + +EAPI=8 + +inherit elisp-common + +DESCRIPTION="Industrial strength theorem prover, logic and programming language" +HOMEPAGE="https://www.cs.utexas.edu/users/moore/acl2/ + https://github.com/acl2/acl2/" + +if [[ "${PV}" == *9999* ]] ; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/${PN}/${PN}" +else + SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/${PV}.tar.gz + -> ${P}.gh.tar.gz" + + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="BSD" +SLOT="0" +IUSE="doc emacs" +REQUIRED_USE="emacs? ( doc )" + +DEPEND=" + dev-lisp/sbcl:= +" +RDEPEND=" + ${DEPEND} + emacs? ( >=app-editors/emacs-25:* ) +" +BDEPEND=" + ${RDEPEND} + doc? ( dev-lang/perl ) +" + +DOCS=( books/README.md ) +SITEFILE="50${PN}-gentoo.el" + +src_prepare() { + find . -type f -name "*.bak" -delete || die + find . -type f -name "*.orig" -delete || die + rm books/workshops/2003/schmaltz-al-sammane-et-al/support/acl2link || die + + sed -e "s|\"git\" '(\"rev-parse\" \"HEAD\")|\"echo\" '(\"${COMMIT}\")|" \ + -i acl2-init.lisp || die + + default +} + +src_compile() { + emake LISP="sbcl --no-sysinit --no-userinit --disable-debugger" + + if use emacs ; then + local elisp_dir="" + for elisp_dir in books/emacs books/interface/emacs ; do + BYTECOMPFLAGS="-L ${S}/${elisp_dir}" elisp-compile "${S}/${elisp_dir}"/*.el + done + fi + + if use doc ; then + emake ACL2="${S}/saved_acl2" basic DOC + fi +} + +src_install() { + local saved_name="saved_acl2" + + sed "s|${S}|/usr/share/acl2|g" -i "${saved_name}" || die + sed "5iexport ACL2_SYSTEM_BOOKS=/usr/share/acl2/books/" \ + -i "${saved_name}" || die + + exeinto /usr/share/acl2 + doexe "${saved_name}" + insinto /usr/share/acl2 + doins "${saved_name}.core" + dosym -r "/usr/share/acl2/${saved_name}" /usr/bin/acl2 + + if use emacs ; then + doins TAGS + elisp-install "${PN}" books/emacs/*.el{,c} books/interface/emacs/*.el{,c} + elisp-site-file-install "${FILESDIR}/${SITEFILE}" + fi + + if use doc ; then + doins -r books + + HTML_DOCS=( doc/HTML/. ) + einstalldocs + + # Some binaries in "books". Not needed since the sources are there. + find "${ED}/usr/share/acl2/books" -type f -iname "*.elf64" -delete || die + fi +} + +pkg_postinst() { + if use emacs ; then + elisp-site-regen + fi +} + +pkg_postrm() { + if use emacs ; then + elisp-site-regen + fi +}
