summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
authorChema Alonso Josa <nimiux@gentoo.org>2017-10-07 13:59:00 +0200
committerChema Alonso Josa <nimiux@gentoo.org>2017-10-07 13:59:36 +0200
commit3c885f2cc9b2e6fb01fdce4ac9e15cd4848ea6ef (patch)
treeada1d2b406e4c9953521b6b7f1f8083845174f83 /eclass
parentapp-misc/glimpse: stable 4.18.6-r1 for ppc, bug #617680 (diff)
downloadgentoo-3c885f2cc9b2e6fb01fdce4ac9e15cd4848ea6ef.tar.gz
gentoo-3c885f2cc9b2e6fb01fdce4ac9e15cd4848ea6ef.tar.bz2
gentoo-3c885f2cc9b2e6fb01fdce4ac9e15cd4848ea6ef.zip
common-lisp-3.eclass: Adds CLIMPLEMENTATIONS variable and common-lisp-find-lisp-impl function. Removes RESTRICT setting
Diffstat (limited to 'eclass')
-rw-r--r--eclass/common-lisp-3.eclass23
1 files changed, 18 insertions, 5 deletions
diff --git a/eclass/common-lisp-3.eclass b/eclass/common-lisp-3.eclass
index f0f0b0dac83e..2f84d7f2f053 100644
--- a/eclass/common-lisp-3.eclass
+++ b/eclass/common-lisp-3.eclass
@@ -11,9 +11,10 @@
inherit eutils
-# CL packages in the overlay don't have their tarballs on the mirrors
-# so it's useless to mirror them
-RESTRICT="mirror"
+# @ECLASS-VARIABLE: CLIMPLEMENTATIONS
+# @DESCRIPTION:
+# Common Lisp implementations
+CLIMPLEMENTATIONS="sbcl clisp clozurecl cmucl ecls gcl"
# @ECLASS-VARIABLE: CLSOURCEROOT
# @DESCRIPTION:
@@ -165,11 +166,23 @@ common-lisp-3_src_install() {
done
}
+# @FUNCTION: common-lisp-find-lisp-impl
+# @USAGE: common-lisp-find-lisp-impl
+# @DESCRIPTION:
+# Outputs an installed Common Lisp implementation. Transverses
+# CLIMPLEMENTATIONS to find it.
+common-lisp-find-lisp-impl() {
+ for lisp in ${CLIMPLEMENTATIONS} ; do
+ [[ "$(best_version dev-lisp/${lisp})" ]] && echo "${lisp}" && return
+ done
+ die "No CommonLisp implementation found"
+}
+
# @FUNCTION: common-lisp-export-impl-args
# @USAGE: common-lisp-export-impl-args <lisp-implementation>
# @DESCRIPTION:
-# Export a few variables containing the switches necessary
-# to make the CL implementation perform basic functions:
+# Export a few variables containing the switches necessary
+# to make the CL implementation perform basic functions:
# * CL_BINARY: Common Lisp implementation
# * CL_NORC: don't load syste-wide or user-specific initfiles
# * CL_LOAD: load a certain file