summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaciej Barć <xgqt@gentoo.org>2024-03-07 17:55:29 +0100
committerMaciej Barć <xgqt@gentoo.org>2024-03-07 18:38:03 +0100
commitbf3578213e54dfc4d10373c77edaf6569a47522e (patch)
treee42b5b8cd05fceb212cfed9b85f8020c630f421e /sci-mathematics
parentdev-lang/typescript: bump to 5.4.2 (diff)
downloadgentoo-bf3578213e54dfc4d10373c77edaf6569a47522e.tar.gz
gentoo-bf3578213e54dfc4d10373c77edaf6569a47522e.tar.bz2
gentoo-bf3578213e54dfc4d10373c77edaf6569a47522e.zip
sci-mathematics/acl2: bump to 8.5_p20240307
Signed-off-by: Maciej Barć <xgqt@gentoo.org>
Diffstat (limited to 'sci-mathematics')
-rw-r--r--sci-mathematics/acl2/Manifest1
-rw-r--r--sci-mathematics/acl2/acl2-8.5_p20240307.ebuild111
2 files changed, 112 insertions, 0 deletions
diff --git a/sci-mathematics/acl2/Manifest b/sci-mathematics/acl2/Manifest
index 7d370521a91f..358eafcc16bc 100644
--- a/sci-mathematics/acl2/Manifest
+++ b/sci-mathematics/acl2/Manifest
@@ -1 +1,2 @@
DIST acl2-8.5.tar.gz 222696244 BLAKE2B e5aa8360d9f94ed398d11c4e0873818f8f49ed0e072192c7d62dde99b4a7f98b4240b352818e7691ebc98f85ab3c10981c36bb1e35317e50a111c9c7f3f57b33 SHA512 5a2e004713350ae41ced830aa8620c27963eb108baa499f7e52a1c60961b220ef7a026efdfef6cea1063f731b50f3cccbe1583a9957c9cf269b0a958ec83fe48
+DIST acl2-8.5_p20240307.tar.gz 228577404 BLAKE2B af7b4f9995b568ba733a1071fa8069798091ea66b91acc9fb839a6f9ba7843762d7130f4d6b653054de4adea91569904ee4c3dcd035350616418c13fa762bc10 SHA512 b5484a49702fa6c657ebf9551dcec2b6a9c0632e137db1480f93ef9aec83fc9bdb9ca95c46ed324b4ff6ab1a428c8ca50bd1750e1bfd6c024d46a4d27728a24e
diff --git a/sci-mathematics/acl2/acl2-8.5_p20240307.ebuild b/sci-mathematics/acl2/acl2-8.5_p20240307.ebuild
new file mode 100644
index 000000000000..3d2c045b3a81
--- /dev/null
+++ b/sci-mathematics/acl2/acl2-8.5_p20240307.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2024 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}.git"
+else
+ COMMIT=6ba68b5c8d645ca45185abc4a24ce46e5ae029c5
+ SRC_URI="https://github.com/${PN}/${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${PN}-${COMMIT}"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="doc emacs"
+REQUIRED_USE="emacs? ( doc )"
+
+# SBCL <= 2.4.1 is required, see: https://github.com/acl2/acl2/issues/1580
+RDEPEND="
+ <=dev-lisp/sbcl-2.4.1:=
+ 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
+ fi
+
+ # Some binaries in "books". Not needed since the sources are there.
+ find "${ED}/usr/share/acl2/books" -type f -name "*.elf64" -delete || die
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}