public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [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