From: "Ulrich Müller" <ulm@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/lisp:master commit in: eclass/
Date: Fri, 16 Jun 2023 10:42:25 +0000 (UTC) [thread overview]
Message-ID: <1686912052.a71b6049cec777cc4091d4587dcfce17b5fba18e.ulm@gentoo> (raw)
commit: a71b6049cec777cc4091d4587dcfce17b5fba18e
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 16 10:40:20 2023 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Jun 16 10:40:52 2023 +0000
URL: https://gitweb.gentoo.org/proj/lisp.git/commit/?id=a71b6049
common-lisp-3.eclass: Sync from gentoo repository
Keep inheriting eutils in EAPI 6 for now.
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/common-lisp-3.eclass | 37 ++++++++++++++++++++++++++++---------
1 file changed, 28 insertions(+), 9 deletions(-)
diff --git a/eclass/common-lisp-3.eclass b/eclass/common-lisp-3.eclass
index d68b4250..0c4d1d0c 100644
--- a/eclass/common-lisp-3.eclass
+++ b/eclass/common-lisp-3.eclass
@@ -1,15 +1,23 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: common-lisp-3.eclass
# @MAINTAINER:
# Common Lisp project <common-lisp@gentoo.org>
+# @SUPPORTED_EAPIS: 6 7
# @BLURB: functions to support the installation of Common Lisp libraries
# @DESCRIPTION:
# Since Common Lisp libraries share similar structure, this eclass aims
# to provide a simple way to write ebuilds with these characteristics.
-inherit eutils
+case ${EAPI} in
+ 6) inherit eutils ;;
+ 7) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
+if [[ -z ${_COMMON_LISP_3_ECLASS} ]]; then
+_COMMON_LISP_3_ECLASS=1
# @ECLASS_VARIABLE: CLIMPLEMENTATIONS
# @DESCRIPTION:
@@ -36,8 +44,6 @@ CLPACKAGE="${PN}"
PDEPEND="virtual/commonlisp"
-EXPORT_FUNCTIONS src_compile src_install
-
# @FUNCTION: common-lisp-3_src_compile
# @DESCRIPTION:
# Since there's nothing to build in most cases, default doesn't do
@@ -120,7 +126,17 @@ common-lisp-install-sources() {
if [[ -f ${path} ]] ; then
common-lisp-install-one-source ${fpredicate} "${path}" "$(dirname "${path}")"
elif [[ -d ${path} ]] ; then
- common-lisp-install-sources -t ${ftype} $(find "${path}" -type f)
+ local files
+ # test can be dropped in EAPI 8 which guarantees bash-5.0
+ if [[ ${BASH_VERSINFO[0]} -ge 5 ]]; then
+ readarray -d '' files < <(find "${path}" -type f -print0 \
+ || die "cannot traverse ${path}")
+ else
+ # readarray has no -d option in bash-4.2
+ readarray -t files < <(find "${path}" -type f -print \
+ || die "cannot traverse ${path}" )
+ fi
+ common-lisp-install-sources -t ${ftype} "${files[@]}"
else
die "${path} is neither a regular file nor a directory"
fi
@@ -136,7 +152,7 @@ common-lisp-install-one-asdf() {
[[ $# != 1 ]] && die "${FUNCNAME[0]} must receive exactly one argument"
# the suffix «.asd» is optional
- local source=${1/.asd}.asd
+ local source=${1%.asd}.asd
common-lisp-install-one-source true "${source}" "$(dirname "${source}")"
local target="${CLSOURCEROOT%/}/${CLPACKAGE}/${source}"
dosym "${target}" "${CLSYSTEMROOT%/}/$(basename ${target})"
@@ -164,9 +180,7 @@ common-lisp-install-asdf() {
common-lisp-3_src_install() {
common-lisp-install-sources .
common-lisp-install-asdf
- for i in AUTHORS README* HEADER TODO* CHANGELOG Change[lL]og CHANGES BUGS CONTRIBUTORS *NEWS* ; do
- [[ -f ${i} ]] && dodoc ${i}
- done
+ einstalldocs
}
# @FUNCTION: common-lisp-find-lisp-impl
@@ -197,6 +211,7 @@ common-lisp-export-impl-args() {
CL_BINARY="${1}"
case "${CL_BINARY}" in
sbcl)
+ CL_BINARY="${CL_BINARY} --non-interactive"
CL_NORC="--sysinit /dev/null --userinit /dev/null"
CL_LOAD="--load"
CL_EVAL="--eval"
@@ -234,3 +249,7 @@ common-lisp-export-impl-args() {
esac
export CL_BINARY CL_NORC CL_LOAD CL_EVAL
}
+
+fi
+
+EXPORT_FUNCTIONS src_compile src_install
next reply other threads:[~2023-06-16 10:42 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-16 10:42 Ulrich Müller [this message]
-- strict thread matches above, loose matches on Subject: below --
2023-06-16 18:19 [gentoo-commits] proj/lisp:master commit in: eclass/ Ulrich Müller
2022-04-03 17:56 Ulrich Müller
2022-04-01 11:12 Ulrich Müller
2022-03-26 17:29 Ulrich Müller
2022-03-24 6:54 Ulrich Müller
2022-03-13 20:27 Ulrich Müller
2022-03-13 20:21 Ulrich Müller
2020-02-11 21:25 Ulrich Müller
2019-08-08 21:24 Ulrich Müller
2019-08-08 21:24 Ulrich Müller
2018-06-21 14:40 José María Alonso
2018-05-31 16:10 José María Alonso
2018-05-31 16:08 José María Alonso
2018-05-19 14:01 José María Alonso
2018-05-18 19:56 José María Alonso
2018-03-17 21:30 José María Alonso
2017-12-10 19:56 José María Alonso
2017-10-28 14:29 José María Alonso
2017-10-28 14:27 José María Alonso
2017-10-28 14:25 José María Alonso
2017-10-06 21:21 José María Alonso
2017-08-29 15:23 José María Alonso
2017-08-22 21:36 José María Alonso
2017-08-22 21:33 José María Alonso
2017-08-22 21:32 José María Alonso
2017-08-22 21:28 José María Alonso
2016-11-30 14:25 José María Alonso
2016-11-29 22:43 José María Alonso
2016-06-17 16:01 José María Alonso
2015-08-18 21:24 José María Alonso
2013-04-04 19:10 Stelian Ionescu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1686912052.a71b6049cec777cc4091d4587dcfce17b5fba18e.ulm@gentoo \
--to=ulm@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox