summaryrefslogtreecommitdiff
path: root/sci-mathematics/acl2/acl2-8.5.ebuild
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-01-08 06:15:27 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-01-08 06:15:27 +0000
commit268f9f01921ccb921b794d43092c5f29c1e96c56 (patch)
tree07329b3a8cb5d315182a2ec2b2f4a4b36374724d /sci-mathematics/acl2/acl2-8.5.ebuild
parente3a48e635527f3e2d2254e9631f7a5758df9c3fb (diff)
gentoo auto-resync : 08:01:2023 - 06:15:27
Diffstat (limited to 'sci-mathematics/acl2/acl2-8.5.ebuild')
-rw-r--r--sci-mathematics/acl2/acl2-8.5.ebuild92
1 files changed, 92 insertions, 0 deletions
diff --git a/sci-mathematics/acl2/acl2-8.5.ebuild b/sci-mathematics/acl2/acl2-8.5.ebuild
new file mode 100644
index 000000000000..bea58cd4e997
--- /dev/null
+++ b/sci-mathematics/acl2/acl2-8.5.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2023 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/"
+SRC_URI="https://github.com/acl2/acl2/archive/${PV}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc emacs"
+REQUIRED_USE="emacs? ( doc )"
+
+RDEPEND="
+ dev-lisp/sbcl
+ 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
+
+ default
+}
+
+src_compile() {
+ emake LISP="sbcl --no-sysinit --no-userinit --disable-debugger"
+
+ use doc && emake ACL2="${S}"/saved_acl2 basic DOC
+
+ 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
+}
+
+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
+ doins TAGS
+ dosym -r /usr/share/acl2/${saved_name} /usr/bin/acl2
+
+ if use doc ; then
+ doins -r books
+
+ HTML_DOCS=( doc/HTML/. )
+ einstalldocs
+ fi
+ if use emacs ; then
+ elisp-install ${PN} \
+ books/emacs/*.el{,c} \
+ books/interface/emacs/*.el{,c}
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+ fi
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}