diff --git a/sci-mathematics/acl2/Manifest b/sci-mathematics/acl2/Manifest new file mode 100644 index 0000000..2720dbe --- /dev/null +++ b/sci-mathematics/acl2/Manifest @@ -0,0 +1 @@ +DIST acl2-8.4.tar.gz 202242463 BLAKE2B 887273910c7913d08455e5053a4c4d065743e0ba247f94f994a3400f27c97f8fce07debb145dbf26287c8b72e9335d995fcbc49f7085e17384b38035d260c8b8 SHA512 5a38271ffa9f9aad79d2aaf575144a58cf1b926b9ba3f9fb34af927862c95f6f683e870c9b453b2527abe8bdcd5603c6b5ad4c50b70c407606db78e0a79545bb diff --git a/sci-mathematics/acl2/acl2-8.4.ebuild b/sci-mathematics/acl2/acl2-8.4.ebuild new file mode 100644 index 0000000..f7a7bd7 --- /dev/null +++ b/sci-mathematics/acl2/acl2-8.4.ebuild @@ -0,0 +1,74 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit elisp-common + +DESCRIPTION="Industrial strength theorem prover" +HOMEPAGE="https://www.cs.utexas.edu/users/moore/acl2/" +SRC_URI="https://github.com/acl2/acl2/archive/${PV}/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~x86" +IUSE="+books +doc emacs" + +RDEPEND=">=dev-lisp/sbcl-1.5.2:=" +DEPEND="${RDEPEND}" +BDEPEND="emacs? ( >=app-editors/emacs-23.1:* )" + +PATCHES=( "${FILESDIR}"/${PN}-use_make_variable.patch ) + +LISP="sbcl --noinform --noprint --no-sysinit --no-userinit --disable-debugger" +SAVED_NAME=saved_acl2 + +DOCS=( books/README.md ) + +src_prepare() { + find . -type f -name "*.bak" -delete + find . -type f -name "*.orig" -delete + + # Remove sparc binary inadvertently included in upstream + rm books/workshops/2003/schmaltz-al-sammane-et-al/support/acl2link || die + + default +} + +src_compile() { + emake LISP="${LISP}" + + use books && emake ACL2="${S}"/${SAVED_NAME} basic + use doc && emake ACL2="${S}"/${SAVED_NAME} DOC + + use emacs && elisp-compile emacs/*.el +} + +src_install() { + sed -e "s|${S}|/usr/share/acl2|g" -i ${SAVED_NAME} || die + sed -e "5iexport ACL2_SYSTEM_BOOKS=/usr/share/acl2/books/" \ + -i ${SAVED_NAME} || die + + dobin ${SAVED_NAME} + dosym ${SAVED_NAME} /usr/bin/${PN} + + insinto /usr/share/acl2 + doins ${SAVED_NAME}.core + use books && doins -r books + + use doc && HTML_DOCS=( doc/HTML/. ) + einstalldocs + + if use emacs ; then + elisp-install ${PN} emacs/*{.el,elc} + doins TAGS + fi +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/sci-mathematics/acl2/files/acl2-use_make_variable.patch b/sci-mathematics/acl2/files/acl2-use_make_variable.patch new file mode 100644 index 0000000..32e0f05 --- /dev/null +++ b/sci-mathematics/acl2/files/acl2-use_make_variable.patch @@ -0,0 +1,13 @@ +use make variable to avoid QA issue: "make[1]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule" + +--- a/GNUmakefile ++++ b/GNUmakefile +@@ -576,7 +576,7 @@ doc/home-page.html: doc/home-page.lisp + # xdoc::save that populates doc/manual/ (not under books/). + acl2-manual: check-books + rm -rf doc/manual books/system/doc/acl2-manual.cert +- cd books ; make USE_QUICKLISP=1 system/doc/acl2-manual.cert ++ cd books ; $(MAKE) USE_QUICKLISP=1 system/doc/acl2-manual.cert + rm -rf doc/manual/download/* + + # WARNING: The dependency list just below isn't complete, since it diff --git a/sci-mathematics/acl2/metadata.xml b/sci-mathematics/acl2/metadata.xml new file mode 100644 index 0000000..86f685d --- /dev/null +++ b/sci-mathematics/acl2/metadata.xml @@ -0,0 +1,20 @@ + + + + + + ACL2 is both a programming language in which you can model computer systems + anda tool to help you prove properties of those models. ACL2 is part of + the Boyer-Moore family of provers, for which its authors have received the + 2005 ACM Software System Award. + + + + build community books, the canonical collection of open-source libraries + + + + https://github.com/acl2/acl2/issues/ + acl2/acl2 + +