From 3c885f2cc9b2e6fb01fdce4ac9e15cd4848ea6ef Mon Sep 17 00:00:00 2001 From: Chema Alonso Josa Date: Sat, 7 Oct 2017 13:59:00 +0200 Subject: common-lisp-3.eclass: Adds CLIMPLEMENTATIONS variable and common-lisp-find-lisp-impl function. Removes RESTRICT setting --- eclass/common-lisp-3.eclass | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) (limited to 'eclass') 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 # @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 -- cgit v1.2.3-65-gdbad