* [gentoo-dev] [PATCH 1/4] elisp-common.eclass: Add timeout to version detection
@ 2021-04-15 6:35 Ulrich Müller
2021-04-15 6:35 ` [gentoo-dev] [PATCH 2/4] elisp-common.eclass: Drop deprecated elisp-need-emacs() Ulrich Müller
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Ulrich Müller @ 2021-04-15 6:35 UTC (permalink / raw
To: gentoo-dev; +Cc: Ulrich Müller
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
---
eclass/elisp-common.eclass | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index 832fc19e4675..bdf97f413033 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -219,7 +219,9 @@ _ELISP_EMACS_VERSION=""
# Output version of currently active Emacs.
elisp-emacs-version() {
- local version ret
+ local version ret tmout="timeout -k 5 55"
+ # Run without timeout if the command is not available
+ ${tmout} true &>/dev/null || tmout=""
# The following will work for at least versions 18-24.
echo "(princ emacs-version)" >"${T}"/emacs-version.el
version=$(
@@ -228,7 +230,7 @@ elisp-emacs-version() {
# Redirecting stdin and unsetting TERM and DISPLAY will cause
# most of them to exit with an error.
unset TERM DISPLAY
- ${EMACS} ${EMACSFLAGS} -l "${T}"/emacs-version.el </dev/null
+ ${tmout} ${EMACS} ${EMACSFLAGS} -l "${T}"/emacs-version.el </dev/null
)
ret=$?
rm -f "${T}"/emacs-version.el
--
2.31.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [gentoo-dev] [PATCH 2/4] elisp-common.eclass: Drop deprecated elisp-need-emacs()
2021-04-15 6:35 [gentoo-dev] [PATCH 1/4] elisp-common.eclass: Add timeout to version detection Ulrich Müller
@ 2021-04-15 6:35 ` Ulrich Müller
2021-04-15 6:35 ` [gentoo-dev] [PATCH 3/4] elisp.eclass: Drop support for EAPI 4 and 5 Ulrich Müller
2021-04-15 6:35 ` [gentoo-dev] [PATCH 4/4] elisp-common.eclass: Drop support for EAPI 4 Ulrich Müller
2 siblings, 0 replies; 4+ messages in thread
From: Ulrich Müller @ 2021-04-15 6:35 UTC (permalink / raw
To: gentoo-dev; +Cc: Ulrich Müller
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
---
eclass/elisp-common.eclass | 21 ---------------------
1 file changed, 21 deletions(-)
diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index bdf97f413033..f7e3631a965c 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -276,27 +276,6 @@ elisp-check-emacs-version() {
fi
}
-# Test if the eselected Emacs version is at least the major version
-# of GNU Emacs specified as argument.
-# Return 0 if true, 1 if false, 2 if trouble.
-# Deprecated, use elisp-check-emacs-version instead.
-
-elisp-need-emacs() {
- local need_emacs=$1 have_emacs
- have_emacs=$(elisp-emacs-version) || return 2
- einfo "Emacs version: ${have_emacs}"
- if [[ ${have_emacs} =~ XEmacs|Lucid ]]; then
- eerror "This package needs GNU Emacs."
- return 1
- fi
- if ! [[ ${have_emacs%%.*} -ge ${need_emacs%%.*} ]]; then
- eerror "This package needs at least Emacs ${need_emacs%%.*}."
- eerror "Use \"eselect emacs\" to select the active version."
- return 1
- fi
- return 0
-}
-
# @FUNCTION: elisp-compile
# @USAGE: <list of elisp files>
# @DESCRIPTION:
--
2.31.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [gentoo-dev] [PATCH 3/4] elisp.eclass: Drop support for EAPI 4 and 5
2021-04-15 6:35 [gentoo-dev] [PATCH 1/4] elisp-common.eclass: Add timeout to version detection Ulrich Müller
2021-04-15 6:35 ` [gentoo-dev] [PATCH 2/4] elisp-common.eclass: Drop deprecated elisp-need-emacs() Ulrich Müller
@ 2021-04-15 6:35 ` Ulrich Müller
2021-04-15 6:35 ` [gentoo-dev] [PATCH 4/4] elisp-common.eclass: Drop support for EAPI 4 Ulrich Müller
2 siblings, 0 replies; 4+ messages in thread
From: Ulrich Müller @ 2021-04-15 6:35 UTC (permalink / raw
To: gentoo-dev; +Cc: Ulrich Müller
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
---
eclass/elisp.eclass | 26 ++++++++------------------
1 file changed, 8 insertions(+), 18 deletions(-)
diff --git a/eclass/elisp.eclass b/eclass/elisp.eclass
index a092041009bf..d763a4944d2d 100644
--- a/eclass/elisp.eclass
+++ b/eclass/elisp.eclass
@@ -9,7 +9,7 @@
# Jeremy Maitin-Shepard <jbms@attbi.com>
# Christian Faulhammer <fauli@gentoo.org>
# Ulrich Müller <ulm@gentoo.org>
-# @SUPPORTED_EAPIS: 4 5 6 7
+# @SUPPORTED_EAPIS: 6 7
# @BLURB: Eclass for Emacs Lisp packages
# @DESCRIPTION:
#
@@ -40,7 +40,7 @@
# Space separated list of patches to apply after unpacking the sources.
# Patch files are searched for in the current working dir, WORKDIR, and
# FILESDIR. This variable is semi-deprecated, preferably use the
-# PATCHES array instead if the EAPI supports it.
+# PATCHES array instead.
# @ECLASS-VARIABLE: ELISP_REMOVE
# @DEFAULT_UNSET
@@ -62,8 +62,8 @@
# will be generated in src_compile() and installed in src_install().
inherit elisp-common
+
case ${EAPI:-0} in
- 4|5) inherit epatch ;;
6|7) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -73,8 +73,7 @@ EXPORT_FUNCTIONS src_{unpack,prepare,configure,compile,install} \
RDEPEND=">=app-editors/emacs-${NEED_EMACS}:*"
case ${EAPI} in
- 4) RDEPEND="${RDEPEND%:*}"; DEPEND="${RDEPEND}" ;;
- 5|6) DEPEND="${RDEPEND}" ;;
+ 6) DEPEND="${RDEPEND}" ;;
*) BDEPEND="${RDEPEND}" ;;
esac
@@ -118,17 +117,11 @@ elisp_src_prepare() {
else
die "Cannot find ${patch}"
fi
- case ${EAPI} in
- 4|5) epatch "${file}" ;;
- *) eapply "${file}" ;;
- esac
+ eapply "${file}"
done
- # apply PATCHES (if supported in EAPI), and any user patches
- case ${EAPI} in
- 4|5) epatch_user ;;
- *) default ;;
- esac
+ # apply PATCHES and any user patches
+ default
if [[ -n ${ELISP_REMOVE} ]]; then
rm ${ELISP_REMOVE} || die
@@ -172,10 +165,7 @@ elisp_src_install() {
doinfo ${@/%.*/.info*}
fi
# install documentation only when explicitly requested
- case ${EAPI} in
- 4|5) [[ -n ${DOCS} ]] && dodoc ${DOCS} ;;
- *) [[ $(declare -p DOCS 2>/dev/null) == *=* ]] && einstalldocs ;;
- esac
+ [[ $(declare -p DOCS 2>/dev/null) == *=* ]] && einstalldocs
if declare -f readme.gentoo_create_doc >/dev/null; then
readme.gentoo_create_doc
fi
--
2.31.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [gentoo-dev] [PATCH 4/4] elisp-common.eclass: Drop support for EAPI 4
2021-04-15 6:35 [gentoo-dev] [PATCH 1/4] elisp-common.eclass: Add timeout to version detection Ulrich Müller
2021-04-15 6:35 ` [gentoo-dev] [PATCH 2/4] elisp-common.eclass: Drop deprecated elisp-need-emacs() Ulrich Müller
2021-04-15 6:35 ` [gentoo-dev] [PATCH 3/4] elisp.eclass: Drop support for EAPI 4 and 5 Ulrich Müller
@ 2021-04-15 6:35 ` Ulrich Müller
2 siblings, 0 replies; 4+ messages in thread
From: Ulrich Müller @ 2021-04-15 6:35 UTC (permalink / raw
To: gentoo-dev; +Cc: Ulrich Müller
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
---
eclass/elisp-common.eclass | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index f7e3631a965c..90621cbe7b92 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -10,6 +10,7 @@
# Mamoru Komachi <usata@gentoo.org>
# Christian Faulhammer <fauli@gentoo.org>
# Ulrich Müller <ulm@gentoo.org>
+# @SUPPORTED_EAPIS: 5 6 7
# @BLURB: Emacs-related installation utilities
# @DESCRIPTION:
#
@@ -165,7 +166,7 @@
# to above calls of elisp-site-regen().
case ${EAPI:-0} in
- 4|5|6) inherit eapi7-ver ;;
+ 5|6) inherit eapi7-ver ;;
7) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -361,7 +362,7 @@ elisp-modules-install() {
shift
# Don't bother inheriting multilib.eclass for get_libdir(), but
# error out in old EAPIs that don't support it natively.
- [[ ${EAPI} == [45] ]] \
+ [[ ${EAPI} == 5 ]] \
&& die "${ECLASS}: Dynamic modules not supported in EAPI ${EAPI}"
ebegin "Installing dynamic modules for GNU Emacs support"
( # subshell to avoid pollution of calling environment
@@ -390,7 +391,7 @@ elisp-site-file-install() {
sf="${T}/${sf}"
ebegin "Installing site initialisation file for GNU Emacs"
[[ $1 = "${sf}" ]] || cp "$1" "${sf}"
- if [[ ${EAPI} == [45] ]]; then
+ if [[ ${EAPI} == 5 ]]; then
grep -q "@EMACSMODULES@" "${sf}" \
&& die "${ECLASS}: Dynamic modules not supported in EAPI ${EAPI}"
else
--
2.31.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-04-15 6:37 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-04-15 6:35 [gentoo-dev] [PATCH 1/4] elisp-common.eclass: Add timeout to version detection Ulrich Müller
2021-04-15 6:35 ` [gentoo-dev] [PATCH 2/4] elisp-common.eclass: Drop deprecated elisp-need-emacs() Ulrich Müller
2021-04-15 6:35 ` [gentoo-dev] [PATCH 3/4] elisp.eclass: Drop support for EAPI 4 and 5 Ulrich Müller
2021-04-15 6:35 ` [gentoo-dev] [PATCH 4/4] elisp-common.eclass: Drop support for EAPI 4 Ulrich Müller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox