public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/proj/emacs:master commit in: eclass/
@ 2019-12-21 18:30 Ulrich Müller
  0 siblings, 0 replies; 32+ messages in thread
From: Ulrich Müller @ 2019-12-21 18:30 UTC (permalink / raw
  To: gentoo-commits

commit:     6da4969af2e59af57c07dc42745eeb9460e0d34f
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 21 18:26:07 2019 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Dec 21 18:26:07 2019 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=6da4969a

elisp*.eclass: Sync from gentoo repo.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eclass/elisp-common.eclass | 100 ++++++++++++++++++++++++++++++++++++---------
 eclass/elisp.eclass        |  20 ++++-----
 2 files changed, 88 insertions(+), 32 deletions(-)

diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index 05b03f4..d76c9e5 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: elisp-common.eclass
@@ -23,26 +23,25 @@
 # When relying on the emacs USE flag, you need to add
 #
 # @CODE
-# 	emacs? ( virtual/emacs )
+# 	emacs? ( >=app-editors/emacs-23.1:* )
 # @CODE
 #
 # to your DEPEND/RDEPEND line and use the functions provided here to
 # bring the files to the correct locations.
 #
-# If your package requires a minimum Emacs version, e.g. Emacs 24, then
-# the dependency should be on >=virtual/emacs-24 instead.  Because the
-# user can select the Emacs executable with eselect, you should also
-# make sure that the active Emacs version is sufficient.  This can be
-# tested with function elisp-need-emacs(), which would typically be
-# called from pkg_setup(), as in the following example:
+# If your package requires a minimum Emacs version, e.g. Emacs 26.1,
+# then the dependency should be on >=app-editors/emacs-26.1:* instead.
+# Because the user can select the Emacs executable with eselect, you
+# should also make sure that the active Emacs version is sufficient.
+# The eclass will automatically ensure this if you assign variable
+# NEED_EMACS with the Emacs version, as in the following example:
 #
 # @CODE
-# 	elisp-need-emacs 24 || die "Emacs version too low"
+# 	NEED_EMACS=26.1
 # @CODE
 #
-# Please note that such tests should be limited to packages that are
-# known to fail with lower Emacs versions; the standard case is to
-# depend on virtual/emacs without version.
+# Please note that this should be done only for packages that are known
+# to fail with lower Emacs versions.
 #
 # @ROFF .SS
 # src_compile() usage:
@@ -134,6 +133,23 @@
 # the differing name as second argument.
 #
 # @ROFF .SS
+# pkg_setup() usage:
+#
+# If your ebuild uses the elisp-compile eclass function to compile
+# its elisp files (see above), then you don't need a pkg_setup phase,
+# because elisp-compile and elisp-make-autoload-file do their own sanity
+# checks.  On the other hand, if the elisp files are compiled by the
+# package's build system, then there is often no check for the Emacs
+# version.  In this case, you can add an explicit check in pkg_setup:
+#
+# @CODE
+# 	elisp-check-emacs-version
+# @CODE
+#
+# When having optional Emacs support, you should prepend "use emacs &&"
+# to above call of elisp-check-emacs-version().
+#
+# @ROFF .SS
 # pkg_postinst() / pkg_postrm() usage:
 #
 # After that you need to recreate the start-up file of Emacs after
@@ -149,12 +165,14 @@
 # 	}
 # @CODE
 #
-# When having optional Emacs support, you should prepend "use emacs &&"
+# Again, with optional Emacs support, you should prepend "use emacs &&"
 # to above calls of elisp-site-regen().
-# Don't use "has_version virtual/emacs"!  When unmerging the state of
-# the emacs USE flag is taken from the package database and not from the
-# environment, so it is no problem when you unset USE=emacs between
-# merge and unmerge of a package.
+
+case ${EAPI:-0} in
+	4|5|6) inherit eapi7-ver ;;
+	7) ;;
+	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
 
 # @ECLASS-VARIABLE: SITELISP
 # @DESCRIPTION:
@@ -182,6 +200,17 @@ EMACSFLAGS="-batch -q --no-site-file"
 # Emacs flags used for byte-compilation in elisp-compile().
 BYTECOMPFLAGS="-L ."
 
+# @ECLASS-VARIABLE: NEED_EMACS
+# @DESCRIPTION:
+# The minimum Emacs version required for the package.
+: ${NEED_EMACS:=23.1}
+
+# @ECLASS-VARIABLE: _ELISP_EMACS_VERSION
+# @INTERNAL
+# @DESCRIPTION:
+# Cached value of Emacs version detected in elisp-check-emacs-version().
+_ELISP_EMACS_VERSION=""
+
 # @FUNCTION: elisp-emacs-version
 # @RETURN: exit status of Emacs
 # @DESCRIPTION:
@@ -212,12 +241,39 @@ elisp-emacs-version() {
 	echo "${version}"
 }
 
-# @FUNCTION: elisp-need-emacs
-# @USAGE: <version>
-# @RETURN: 0 if true, 1 if false, 2 if trouble
+# @FUNCTION: elisp-check-emacs-version
+# @USAGE: [version]
 # @DESCRIPTION:
+# Test if the eselected Emacs version is at least the version of
+# GNU Emacs specified in the NEED_EMACS variable, or die otherwise.
+
+elisp-check-emacs-version() {
+	if [[ -z ${_ELISP_EMACS_VERSION} ]]; then
+		local have_emacs
+		have_emacs=$(elisp-emacs-version) \
+			|| die "Could not determine Emacs version"
+		elog "Emacs version: ${have_emacs}"
+		if [[ ${have_emacs} =~ XEmacs|Lucid ]]; then
+			die "XEmacs detected. This package needs GNU Emacs."
+		fi
+		# GNU Emacs versions have only numeric components.
+		if ! [[ ${have_emacs} =~ ^[0-9]+(\.[0-9]+)*$ ]]; then
+			die "Malformed version string: ${have_emacs}"
+		fi
+		_ELISP_EMACS_VERSION=${have_emacs}
+	fi
+
+	if ! ver_test "${_ELISP_EMACS_VERSION}" -ge "${NEED_EMACS}"; then
+		eerror "This package needs at least Emacs ${NEED_EMACS}."
+		eerror "Use \"eselect emacs\" to select the active version."
+		die "Emacs version too low"
+	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
@@ -249,6 +305,8 @@ elisp-need-emacs() {
 # in case they require or load one another.
 
 elisp-compile() {
+	elisp-check-emacs-version
+
 	ebegin "Compiling GNU Emacs Elisp files"
 	${EMACS} ${EMACSFLAGS} ${BYTECOMPFLAGS} -f batch-byte-compile "$@"
 	eend $? "elisp-compile: batch-byte-compile failed" || die
@@ -262,6 +320,8 @@ elisp-compile() {
 elisp-make-autoload-file() {
 	local f="${1:-${PN}-autoloads.el}" null="" page=$'\f'
 	shift
+	elisp-check-emacs-version
+
 	ebegin "Generating autoload file for GNU Emacs"
 
 	cat >"${f}" <<-EOF

diff --git a/eclass/elisp.eclass b/eclass/elisp.eclass
index bcd80a9..a411f60 100644
--- a/eclass/elisp.eclass
+++ b/eclass/elisp.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 2002-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: elisp.eclass
@@ -30,8 +30,8 @@
 # @DEFAULT_UNSET
 # @DESCRIPTION:
 # If you need anything different from Emacs 23, use the NEED_EMACS
-# variable before inheriting elisp.eclass.  Set it to the major version
-# your package uses and the dependency will be adjusted.
+# variable before inheriting elisp.eclass.  Set it to the version your
+# package uses and the dependency will be adjusted.
 
 # @ECLASS-VARIABLE: ELISP_PATCHES
 # @DEFAULT_UNSET
@@ -70,24 +70,20 @@ esac
 EXPORT_FUNCTIONS src_{unpack,prepare,configure,compile,install} \
 	pkg_{setup,postinst,postrm}
 
-RDEPEND=">=virtual/emacs-${NEED_EMACS:-23}"
+RDEPEND=">=app-editors/emacs-${NEED_EMACS}:*"
 case ${EAPI} in
-	4|5|6) DEPEND="${RDEPEND}" ;;
+	4) RDEPEND="${RDEPEND%:*}"; DEPEND="${RDEPEND}" ;;
+	5|6) DEPEND="${RDEPEND}" ;;
 	*) BDEPEND="${RDEPEND}" ;;
 esac
 
 # @FUNCTION: elisp_pkg_setup
 # @DESCRIPTION:
-# Test if the eselected Emacs version is sufficient to fulfil the major
+# Test if the eselected Emacs version is sufficient to fulfil the
 # version requirement of the NEED_EMACS variable.
 
 elisp_pkg_setup() {
-	elisp-need-emacs "${NEED_EMACS:-23}"
-	case $? in
-		0) ;;
-		1) die "Emacs version too low" ;;
-		*) die "Could not determine Emacs version" ;;
-	esac
+	elisp-check-emacs-version
 }
 
 # @FUNCTION: elisp_src_unpack


^ permalink raw reply related	[flat|nested] 32+ messages in thread
* [gentoo-commits] repo/proj/emacs:master commit in: eclass/
@ 2024-09-02 15:31 Ulrich Müller
  0 siblings, 0 replies; 32+ messages in thread
From: Ulrich Müller @ 2024-09-02 15:31 UTC (permalink / raw
  To: gentoo-commits

commit:     cc418c019b48522b2516a3c3f003817cd19648ba
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Sep  2 15:18:17 2024 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Sep  2 15:30:46 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=cc418c01

elisp.eclass: Add pkg_info

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eclass/elisp.eclass | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/eclass/elisp.eclass b/eclass/elisp.eclass
index 2013949..1fa8aab 100644
--- a/eclass/elisp.eclass
+++ b/eclass/elisp.eclass
@@ -1,4 +1,4 @@
-# Copyright 2002-2023 Gentoo Authors
+# Copyright 2002-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: elisp.eclass
@@ -205,5 +205,11 @@ elisp_pkg_postrm() {
 	elisp-site-regen
 }
 
+elisp_pkg_info() {
+	if [[ -n ${_ELISP_EMACS_VERSION} ]]; then
+		echo "Built with Emacs version: ${_ELISP_EMACS_VERSION}"
+	fi
+}
+
 EXPORT_FUNCTIONS src_{unpack,prepare,configure,compile,test,install} \
-	pkg_{setup,postinst,postrm}
+	pkg_{setup,postinst,postrm,info}


^ permalink raw reply related	[flat|nested] 32+ messages in thread
* [gentoo-commits] repo/proj/emacs:master commit in: eclass/
@ 2024-09-02 15:18 Ulrich Müller
  0 siblings, 0 replies; 32+ messages in thread
From: Ulrich Müller @ 2024-09-02 15:18 UTC (permalink / raw
  To: gentoo-commits

commit:     409d8a4f6b05d760aafa3cf15cd863a0304938a5
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Sep  2 15:18:17 2024 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Sep  2 15:18:17 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=409d8a4f

elisp.eclass: Add pkg_info

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eclass/elisp.eclass | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/eclass/elisp.eclass b/eclass/elisp.eclass
index 2013949..32e4902 100644
--- a/eclass/elisp.eclass
+++ b/eclass/elisp.eclass
@@ -1,4 +1,4 @@
-# Copyright 2002-2023 Gentoo Authors
+# Copyright 2002-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: elisp.eclass
@@ -205,5 +205,11 @@ elisp_pkg_postrm() {
 	elisp-site-regen
 }
 
+elisp_pkg_info() {
+	if [[ -n ${_ELISP_EMACS_VERSION} ]]; then
+		echo "Built with Emacs version ${_ELISP_EMACS_VERSION}"
+	fi
+}
+
 EXPORT_FUNCTIONS src_{unpack,prepare,configure,compile,test,install} \
-	pkg_{setup,postinst,postrm}
+	pkg_{setup,postinst,postrm,info}


^ permalink raw reply related	[flat|nested] 32+ messages in thread
* [gentoo-commits] repo/proj/emacs:master commit in: eclass/
@ 2024-09-02 15:18 Ulrich Müller
  0 siblings, 0 replies; 32+ messages in thread
From: Ulrich Müller @ 2024-09-02 15:18 UTC (permalink / raw
  To: gentoo-commits

commit:     5acbe1fd2c8aa7de0b0d06fcfdad98240deab4a6
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Sep  2 15:17:03 2024 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Sep  2 15:17:03 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=5acbe1fd

elisp-common.eclass: Sync from Gentoo repository

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eclass/elisp-common.eclass | 13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)

diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index bab7250..ad9d3c7 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: elisp-common.eclass
@@ -322,7 +322,7 @@ elisp-make-autoload-file() {
 	ebegin "Generating autoload file for GNU Emacs"
 
 	cat >"${f}" <<-EOF
-	;;; ${f##*/} --- autoloads for ${PN}
+	;;; ${f##*/} --- autoloads for ${PN}  -*-lexical-binding:t-*-
 
 	;;; Commentary:
 	;; Automatically generated by elisp-common.eclass
@@ -333,7 +333,6 @@ elisp-make-autoload-file() {
 	;; Local ${null}Variables:
 	;; version-control: never
 	;; no-byte-compile: t
-	;; no-native-compile: t
 	;; no-update-autoloads: t
 	;; End:
 
@@ -687,7 +686,7 @@ elisp-make-site-file() {
 # directory.
 
 elisp-site-regen() {
-	local sitelisp=${ROOT%/}${EPREFIX}${SITELISP}
+	local sitelisp=${EROOT}${SITELISP}
 	local sf i ret=0 null="" page=$'\f'
 	local -a sflist
 
@@ -699,9 +698,6 @@ elisp-site-regen() {
 	[[ -d ${sitelisp} ]] \
 		|| die "elisp-site-regen: Directory ${sitelisp} does not exist"
 
-	[[ -d ${T} ]] \
-		|| die "elisp-site-regen: Temporary directory ${T} does not exist"
-
 	ebegin "Regenerating site-gentoo.el for GNU Emacs (${EBUILD_PHASE})"
 
 	for sf in "${sitelisp}"/site-gentoo.d/[0-9][0-9]*.el; do
@@ -709,7 +705,7 @@ elisp-site-regen() {
 	done
 
 	cat <<-EOF >"${T}"/site-gentoo.el || ret=$?
-	;;; site-gentoo.el --- site initialisation for Gentoo-installed packages
+	;;; site-gentoo.el --- Gentoo site initialisation  -*-lexical-binding:t-*-
 
 	;;; Commentary:
 	;; Automatically generated by elisp-common.eclass
@@ -726,7 +722,6 @@ elisp-site-regen() {
 
 	;; Local ${null}Variables:
 	;; no-byte-compile: t
-	;; no-native-compile: t
 	;; buffer-read-only: t
 	;; End:
 


^ permalink raw reply related	[flat|nested] 32+ messages in thread
* [gentoo-commits] repo/proj/emacs:master commit in: eclass/
@ 2023-10-22 10:01 Ulrich Müller
  0 siblings, 0 replies; 32+ messages in thread
From: Ulrich Müller @ 2023-10-22 10:01 UTC (permalink / raw
  To: gentoo-commits

commit:     b74162669b474e7c2aaab5b5f75301d4c462c715
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 22 09:47:46 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Oct 22 10:00:46 2023 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=b7416266

elisp-common.eclass: Set no-native-compile in generated files

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eclass/elisp-common.eclass | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index 72dbb97..bab7250 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -333,6 +333,7 @@ elisp-make-autoload-file() {
 	;; Local ${null}Variables:
 	;; version-control: never
 	;; no-byte-compile: t
+	;; no-native-compile: t
 	;; no-update-autoloads: t
 	;; End:
 
@@ -725,6 +726,7 @@ elisp-site-regen() {
 
 	;; Local ${null}Variables:
 	;; no-byte-compile: t
+	;; no-native-compile: t
 	;; buffer-read-only: t
 	;; End:
 


^ permalink raw reply related	[flat|nested] 32+ messages in thread
* [gentoo-commits] repo/proj/emacs:master commit in: eclass/
@ 2023-10-20 12:18 Ulrich Müller
  0 siblings, 0 replies; 32+ messages in thread
From: Ulrich Müller @ 2023-10-20 12:18 UTC (permalink / raw
  To: gentoo-commits

commit:     7b3b0bc2aca2aa4c2980ac34e13486cec8a3981f
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 20 12:18:10 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Oct 20 12:18:10 2023 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=7b3b0bc2

elisp*.eclass: Sync from Gentoo repository

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eclass/elisp-common.eclass | 291 +++++++++++++++++++++++++++++++++++++++++++--
 eclass/elisp.eclass        |  36 ++++--
 2 files changed, 311 insertions(+), 16 deletions(-)

diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index 2715c26..72dbb97 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: elisp-common.eclass
@@ -10,7 +10,8 @@
 # Mamoru Komachi <usata@gentoo.org>
 # Christian Faulhammer <fauli@gentoo.org>
 # Ulrich Müller <ulm@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7 8
+# Maciej Barć <xgqt@gentoo.org>
+# @SUPPORTED_EAPIS: 7 8
 # @BLURB: Emacs-related installation utilities
 # @DESCRIPTION:
 #
@@ -24,7 +25,7 @@
 # When relying on the emacs USE flag, you need to add
 #
 # @CODE
-# 	emacs? ( >=app-editors/emacs-23.1:* )
+# 	emacs? ( >=app-editors/emacs-25.3:* )
 # @CODE
 #
 # to your DEPEND/RDEPEND line and use the functions provided here to
@@ -131,6 +132,17 @@
 # "50${PN}-gentoo.el".  If your subdirectory is not named ${PN}, give
 # the differing name as second argument.
 #
+# For the simple case that only the package's subdirectory needs to be
+# added to the load-path, function elisp-make-site-file() will create
+# and install a site-init file that does just that:
+#
+# @CODE
+# 	elisp-make-site-file "${SITEFILE}"
+# @CODE
+#
+# Again, this must be called in src_install().  See the function's
+# documentation for more details on its usage.
+#
 # @SUBSECTION pkg_setup() usage:
 #
 # If your ebuild uses the elisp-compile eclass function to compile
@@ -166,7 +178,6 @@
 # to above calls of elisp-site-regen().
 
 case ${EAPI} in
-	6) inherit eapi7-ver ;;
 	7|8) ;;
 	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
@@ -206,7 +217,7 @@ BYTECOMPFLAGS="-L ."
 # @ECLASS_VARIABLE: NEED_EMACS
 # @DESCRIPTION:
 # The minimum Emacs version required for the package.
-: ${NEED_EMACS:=23.1}
+: "${NEED_EMACS:=25.3}"
 
 # @ECLASS_VARIABLE: _ELISP_EMACS_VERSION
 # @INTERNAL
@@ -337,6 +348,242 @@ elisp-make-autoload-file() {
 	eend $? "elisp-make-autoload-file: batch-update-autoloads failed" || die
 }
 
+# @FUNCTION: elisp-org-export-to
+# @USAGE: <export file type> <Org file path>
+# @DESCRIPTION:
+# Use Emacs Org "export-to" functions to convert a given Org file to a
+# picked format.
+#
+# Example:
+# @CODE
+# 	elisp-org-export-to texinfo README.org
+# 	mv README.texi ${PN}.texi || die
+# @CODE
+
+elisp-org-export-to() {
+	local export_format="${1}"
+	local org_file_path="${2}"
+
+	local export_group
+	case ${export_format} in
+		info) export_group=texinfo ;;  # Straight to ".info".
+		markdown) export_group=md ;;
+		pdf) export_group=latex ;;
+		*) export_group=${export_format} ;;
+	esac
+
+	# export_format = texinfo    =>  org-texinfo-export-to-texinfo
+	# export_format = pdf        =>  org-latex-export-to-pdf
+
+	local export_function=org-${export_group}-export-to-${export_format}
+
+	${EMACS} ${EMACSFLAGS} "${org_file_path}" -f "${export_function}" \
+		|| die "Org export to ${export_format} failed"
+}
+
+# @FUNCTION: elisp-test-buttercup
+# @USAGE: [test-subdirectory] [test-runner-opts] ...
+# @DESCRIPTION:
+# Run ELisp package tests using the "buttercup" test runner.
+#
+# The option "test-subdirectory" may be given any number of times,
+# it should be given as though it was passed to Emacs or the test tool,
+# not as a string.
+#
+# The options "test-subdirectory" and "test-runner-opts" are optional,
+# but if "test-runner-opts" needs to be provided also "test-subdirectory"
+# has to be specified.
+
+elisp-test-buttercup() {
+	debug-print-function ${FUNCNAME} "$@"
+
+	local test_dir="${1:-$(pwd)}"
+	shift
+
+	local -a myopts=(
+		${BYTECOMPFLAGS}
+		-L "${test_dir}"
+		--traceback full
+		"$@"
+	)
+	ebegin "Running buttercup tests"
+	buttercup "${myopts[@]}" "${test_dir}"
+	eend $? "${FUNCNAME}: tests failed" || die
+}
+
+# @FUNCTION: elisp-test-ert-runner
+# @USAGE: [test-subdirectory] [test-runner-opts] ...
+# @DESCRIPTION:
+# Run ELisp package tests using the "ert-runner" test runner.
+#
+# The option "test-subdirectory" may be given any number of times,
+# it should be given as though it was passed to Emacs or the test tool,
+# not as a string.
+#
+# The options "test-subdirectory" and "test-runner-opts" are optional,
+# but if "test-runner-opts" needs to be provided also "test-subdirectory"
+# has to be specified.
+
+elisp-test-ert-runner() {
+	debug-print-function ${FUNCNAME} "$@"
+
+	local test_dir="${1:-$(pwd)}"
+	shift
+
+	local -a myopts=(
+		${BYTECOMPFLAGS}
+		--reporter ert+duration
+		--script
+		-L "${test_dir}"
+		"$@"
+	)
+	ebegin "Running ert-runner tests"
+	ert-runner "${myopts[@]}" "${test_dir}"
+	eend $? "${FUNCNAME}: tests failed" || die
+}
+
+# @FUNCTION: elisp-test-ert
+# @USAGE: [test-subdirectory] [test-runner-opts] ...
+# @DESCRIPTION:
+# Run ELisp package tests using "ert", the Emacs's built-in test runner.
+#
+# The option "test-subdirectory" may be given any number of times,
+# it should be given as though it was passed to Emacs or the test tool,
+# not as a string.
+#
+# The options "test-subdirectory" and "test-runner-opts" are optional,
+# but if "test-runner-opts" needs to be provided also "test-subdirectory"
+# has to be specified.
+
+elisp-test-ert() {
+	debug-print-function ${FUNCNAME} "$@"
+
+	local test_dir="${1:-$(pwd)}"
+	shift
+
+	local -a extra_load=()
+	local extra_load_file
+	for extra_load_file in "${test_dir}"/?*-test.el; do
+		if [[ -f "${extra_load_file}" ]]; then
+			extra_load+=( -l "${extra_load_file}" )
+		fi
+	done
+
+	local -a myopts=(
+		${EMACSFLAGS}
+		${BYTECOMPFLAGS}
+		-L "${test_dir}"
+		"${extra_load[@]}"
+		"$@"
+		-f ert-run-tests-batch-and-exit
+	)
+	ebegin "Running ert tests"
+	${EMACS} "${myopts[@]}"
+	eend $? "${FUNCNAME}: tests failed" || die
+}
+
+# @FUNCTION: elisp-enable-tests
+# @USAGE: [--optional] <test-runner> [test-runner-options] ...
+# @DESCRIPTION:
+# Set up IUSE, RESTRICT, BDEPEND and test runner function for running
+# tests with the specified test runner.
+#
+# The test-runner argument must be one of:
+#
+# - buttercup: for "buttercup" provided via "app-emacs/buttercup"
+#
+# - ert-runner: for "ert-runner" provided via "app-emacs/ert-runner"
+#
+# - ert: for built-in GNU Emacs test utility
+#
+# If the "--optional" flag is passed (before specifying the test
+# runner), then it is assumed that the ELisp package is a part of some
+# some project that optionally enables GNU Emacs support.  This will
+# correctly set up the test and Emacs dependencies.
+#
+# Notice that the first option passed to the "test-runner" is the
+# directory and the rest are miscellaneous options applicable to that
+# given runner.
+#
+# This function has to be called post inherit, specifically after
+# "IUSE", "RESTRICT" and "BDEPEND" variables are assigned.
+# It is advised to place this call right before (re)defining a given
+# ebuild's phases.
+#
+# Example:
+# @CODE
+# 	inherit elisp-common
+#
+# 	...
+#
+# 	elisp-enable-tests --optional ert-runner "${S}"/elisp -t "!org"
+#
+# 	src_test() {
+# 		emake -C tests test
+# 		elisp-test
+# 	}
+# @CODE
+
+elisp-enable-tests() {
+	debug-print-function ${FUNCNAME} "$@"
+
+	local optional
+	if [[ ${1} = "--optional" ]] ; then
+		optional=YES
+		shift
+	fi
+
+	local test_pkg
+	local test_runner=${1}
+	shift
+
+	_ELISP_TEST_OPTS=( "$@" )
+
+	case ${test_runner} in
+		buttercup )
+			test_pkg="app-emacs/buttercup"
+			_ELISP_TEST_FUNCTION=elisp-test-buttercup
+			;;
+		ert-runner )
+			test_pkg="app-emacs/ert-runner"
+			_ELISP_TEST_FUNCTION=elisp-test-ert-runner
+			;;
+		ert )
+			_ELISP_TEST_FUNCTION=elisp-test-ert
+			;;
+		* )
+			die "${FUNCNAME}: unknown test runner, given ${test_runner}"
+			;;
+	esac
+
+	if [[ ${test_pkg} ]]; then
+		IUSE+=" test "
+		RESTRICT+=" !test? ( test ) "
+		if [[ ${optional} ]]; then
+			IUSE+=" emacs "
+			BDEPEND+=" test? ( emacs? ( ${test_pkg} ) ) "
+		else
+			BDEPEND+=" test? ( ${test_pkg} ) "
+		fi
+	fi
+
+	return 0
+}
+
+# @FUNCTION: elisp-test
+# @DESCRIPTION:
+# Test the package using a ELisp test runner.
+#
+# If called without executing "elisp-enable-tests" beforehand, then
+# does nothing, otherwise a test runner is called with given
+# "test-runner-options".
+
+elisp-test() {
+	if [[ ${_ELISP_TEST_FUNCTION} ]]; then
+		${_ELISP_TEST_FUNCTION} "${_ELISP_TEST_OPTS[@]}"
+	fi
+}
+
 # @FUNCTION: elisp-install
 # @USAGE: <subdirectory> <list of files>
 # @DESCRIPTION:
@@ -380,7 +627,13 @@ elisp-modules-install() {
 
 elisp-site-file-install() {
 	local sf="${1##*/}" my_pn="${2:-${PN}}" modules ret
-	local header=";;; ${PN} site-lisp configuration"
+	local add_header="1 {
+		# Find first non-empty line
+		:x; /^\$/ { n; bx; }
+		# Insert a header, unless we already look at one
+		/^;.*${PN}/I! s/^/;;; ${PN} site-lisp configuration\n\n/
+		1 s/^/\n/
+	}"
 
 	[[ ${sf} == [0-9][0-9]*-gentoo*.el ]] \
 		|| ewarn "elisp-site-file-install: bad name of site-init file"
@@ -389,7 +642,7 @@ elisp-site-file-install() {
 	ebegin "Installing site initialisation file for GNU Emacs"
 	[[ $1 == "${sf}" ]] || cp "$1" "${sf}"
 	modules=${EMACSMODULES//@libdir@/$(get_libdir)}
-	sed -i -e "1{:x;/^\$/{n;bx;};/^;.*${PN}/I!s:^:${header}\n\n:;1s:^:\n:;}" \
+	sed -i -e "${add_header}" \
 		-e "s:@SITELISP@:${EPREFIX}${SITELISP}/${my_pn}:g" \
 		-e "s:@SITEETC@:${EPREFIX}${SITEETC}/${my_pn}:g" \
 		-e "s:@EMACSMODULES@:${EPREFIX}${modules}/${my_pn}:g;\$q" "${sf}"
@@ -402,6 +655,30 @@ elisp-site-file-install() {
 	eend ${ret} "elisp-site-file-install: doins failed" || die
 }
 
+# @FUNCTION: elisp-make-site-file
+# @USAGE: <filename> [subdirectory] [line]...
+# @DESCRIPTION:
+# Create and install a site-init file for the package.  By default,
+# this will add the package's SITELISP subdirectory to Emacs' load-path:
+#
+# @CODE
+# 	(add-to-list 'load-path "@SITELISP@")
+# @CODE
+#
+# Additional arguments are appended as lines to the destination file.
+# Any @SITELISP@, @SITEETC@, and @EMACSMODULES@ tokens in these
+# arguments are replaced, as described for elisp-site-file-install.
+
+elisp-make-site-file() {
+	[[ $1 == [0-9][0-9]*-gentoo.el ]] \
+		|| die "elisp-make-site-file: bad name of site-init file"
+
+	local f="${T}/$1" my_pn="${2:-${PN}}"
+	shift; shift
+	printf "%s\n" "(add-to-list 'load-path \"@SITELISP@\")" "$@" >"${f}" || die
+	elisp-site-file-install "${f}" "${my_pn}"
+}
+
 # @FUNCTION: elisp-site-regen
 # @DESCRIPTION:
 # Regenerate the site-gentoo.el file, based on packages' site

diff --git a/eclass/elisp.eclass b/eclass/elisp.eclass
index 7c05948..2013949 100644
--- a/eclass/elisp.eclass
+++ b/eclass/elisp.eclass
@@ -1,4 +1,4 @@
-# Copyright 2002-2022 Gentoo Authors
+# Copyright 2002-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: elisp.eclass
@@ -9,6 +9,7 @@
 # Jeremy Maitin-Shepard <jbms@attbi.com>
 # Christian Faulhammer <fauli@gentoo.org>
 # Ulrich Müller <ulm@gentoo.org>
+# Maciej Barć <xgqt@gentoo.org>
 # @SUPPORTED_EAPIS: 7 8
 # @PROVIDES: elisp-common
 # @BLURB: Eclass for Emacs Lisp packages
@@ -31,9 +32,9 @@
 # @PRE_INHERIT
 # @DEFAULT_UNSET
 # @DESCRIPTION:
-# If you need anything different from Emacs 23, use the NEED_EMACS
-# variable before inheriting elisp.eclass.  Set it to the version your
-# package uses and the dependency will be adjusted.
+# If you need anything different from Emacs 25.3 (or newer), use the
+# NEED_EMACS variable before inheriting elisp.eclass.  Set it to the
+# version your package uses and the dependency will be adjusted.
 
 # @ECLASS_VARIABLE: ELISP_PATCHES
 # @DEFAULT_UNSET
@@ -69,9 +70,6 @@ case ${EAPI} in
 	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
 
-EXPORT_FUNCTIONS src_{unpack,prepare,configure,compile,install} \
-	pkg_{setup,postinst,postrm}
-
 RDEPEND=">=app-editors/emacs-${NEED_EMACS}:*"
 BDEPEND="${RDEPEND}"
 
@@ -128,7 +126,7 @@ elisp_src_prepare() {
 
 # @FUNCTION: elisp_src_configure
 # @DESCRIPTION:
-# Do nothing, because Emacs packages seldomly bring a full build system.
+# Do nothing, because Emacs packages seldom bring a full build system.
 
 elisp_src_configure() { :; }
 
@@ -145,6 +143,19 @@ elisp_src_compile() {
 	fi
 }
 
+# @FUNCTION: elisp_src_test
+# @DESCRIPTION:
+# Call "elisp-test" to test the package if "elisp-enable-tests" was called
+# beforehand, otherwise execute the default test function - "src_test".
+
+elisp_src_test() {
+	if [[ ${_ELISP_TEST_FUNCTION} ]]; then
+		elisp-test
+	else
+		default_src_test
+	fi
+}
+
 # @FUNCTION: elisp_src_install
 # @DESCRIPTION:
 # Call elisp-install to install all Emacs Lisp (*.el and *.elc) files.
@@ -155,7 +166,11 @@ elisp_src_compile() {
 elisp_src_install() {
 	elisp-install ${PN} *.el *.elc
 	if [[ -n ${SITEFILE} ]]; then
-		elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+		if [[ -f "${FILESDIR}/${SITEFILE}" ]]; then
+			elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+		else
+			elisp-make-site-file "${SITEFILE}"
+		fi
 	fi
 	if [[ -n ${ELISP_TEXINFO} ]]; then
 		set -- ${ELISP_TEXINFO}
@@ -189,3 +204,6 @@ elisp_pkg_postinst() {
 elisp_pkg_postrm() {
 	elisp-site-regen
 }
+
+EXPORT_FUNCTIONS src_{unpack,prepare,configure,compile,test,install} \
+	pkg_{setup,postinst,postrm}


^ permalink raw reply related	[flat|nested] 32+ messages in thread
* [gentoo-commits] repo/proj/emacs:master commit in: eclass/
@ 2022-10-20  8:05 Ulrich Müller
  0 siblings, 0 replies; 32+ messages in thread
From: Ulrich Müller @ 2022-10-20  8:05 UTC (permalink / raw
  To: gentoo-commits

commit:     e1dcb02f09ff0b52a783e67bc4aa868c246c4ba4
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 20 07:53:11 2022 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Oct 20 08:05:04 2022 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=e1dcb02f

elisp.eclass: Drop EAPI 6 support

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eclass/elisp.eclass | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/eclass/elisp.eclass b/eclass/elisp.eclass
index 6b6679d..7c05948 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: 6 7 8
+# @SUPPORTED_EAPIS: 7 8
 # @PROVIDES: elisp-common
 # @BLURB: Eclass for Emacs Lisp packages
 # @DESCRIPTION:
@@ -65,7 +65,7 @@
 inherit elisp-common
 
 case ${EAPI} in
-	6|7|8) ;;
+	7|8) ;;
 	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
 
@@ -73,10 +73,7 @@ EXPORT_FUNCTIONS src_{unpack,prepare,configure,compile,install} \
 	pkg_{setup,postinst,postrm}
 
 RDEPEND=">=app-editors/emacs-${NEED_EMACS}:*"
-case ${EAPI} in
-	6) DEPEND="${RDEPEND}" ;;
-	*) BDEPEND="${RDEPEND}" ;;
-esac
+BDEPEND="${RDEPEND}"
 
 # @FUNCTION: elisp_pkg_setup
 # @DESCRIPTION:


^ permalink raw reply related	[flat|nested] 32+ messages in thread
* [gentoo-commits] repo/proj/emacs:master commit in: eclass/
@ 2022-10-20  8:05 Ulrich Müller
  0 siblings, 0 replies; 32+ messages in thread
From: Ulrich Müller @ 2022-10-20  8:05 UTC (permalink / raw
  To: gentoo-commits

commit:     f567f94fe7f413b9d8d20aca3c48fb1d84a23985
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 18 19:18:20 2022 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Oct 20 08:05:03 2022 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=f567f94f

elisp-common.eclass: fix for Emacs 29 (explicitly require autoload)

Emacs 29's NEWS says: "The autoload.el library is now obsolete."

We should therefore explicitly 'require it in order to have the
eclass machinery work.

Fix build failures with e.g. exec-path-from-shell, flycheck:
```
 * Generating autoload file for GNU Emacs ...

Error: void-function (batch-update-autoloads)
  debug-early-backtrace()
  debug-early(error (void-function batch-update-autoloads))
  batch-update-autoloads()
  command-line-1(("--eval" "(setq make-backup-files nil)" "--eval" "(setq generated-autoload-file (expand-file-name \"exec-path-from-shell-autoloads.el\"))" "-f" "batch-update-autoloads" "."))
  command-line()
  normal-top-level()
Symbol’s function definition is void: batch-update-autoloads
 * elisp-make-autoload-file: batch-update-autoloads failed
 [ !! ]
 * ERROR: app-emacs/exec-path-from-shell-1.12::gentoo failed (compile phase):
 *   (no error message)
```

See https://www.mail-archive.com/freebsd-pkg-fallout <AT> freebsd.org/msg1982134.html
and https://lists.gnu.org/archive/html/bug-gnu-emacs/2022-08/msg01259.html.

Thanks-to: John Turner <jturner.usa+gentoo <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eclass/elisp-common.eclass | 1 +
 1 file changed, 1 insertion(+)

diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index 47c8132..2715c26 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -329,6 +329,7 @@ elisp-make-autoload-file() {
 	EOF
 
 	${EMACS} ${EMACSFLAGS} \
+		--eval "(require 'autoload)" \
 		--eval "(setq make-backup-files nil)" \
 		--eval "(setq generated-autoload-file (expand-file-name \"${f}\"))" \
 		-f batch-update-autoloads "${@-.}"


^ permalink raw reply related	[flat|nested] 32+ messages in thread
* [gentoo-commits] repo/proj/emacs:master commit in: eclass/
@ 2022-04-03 18:29 Ulrich Müller
  0 siblings, 0 replies; 32+ messages in thread
From: Ulrich Müller @ 2022-04-03 18:29 UTC (permalink / raw
  To: gentoo-commits

commit:     23882c38da799bf52eea49586d4147c40f55903a
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Apr  3 18:28:51 2022 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Apr  3 18:28:51 2022 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=23882c38

elisp-common.eclass: Update EAPI conditional

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eclass/elisp-common.eclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index a821e4a..47c8132 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: elisp-common.eclass
@@ -165,7 +165,7 @@
 # Again, with optional Emacs support, you should prepend "use emacs &&"
 # to above calls of elisp-site-regen().
 
-case ${EAPI:-0} in
+case ${EAPI} in
 	6) inherit eapi7-ver ;;
 	7|8) ;;
 	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;


^ permalink raw reply related	[flat|nested] 32+ messages in thread
* [gentoo-commits] repo/proj/emacs:master commit in: eclass/
@ 2022-04-03 18:02 Ulrich Müller
  0 siblings, 0 replies; 32+ messages in thread
From: Ulrich Müller @ 2022-04-03 18:02 UTC (permalink / raw
  To: gentoo-commits

commit:     2aeffb609341215e89690d22065f5ea2aeaa11e0
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Apr  3 18:02:03 2022 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Apr  3 18:02:03 2022 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=2aeffb60

elisp.eclass: Update EAPI conditional

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eclass/elisp.eclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/eclass/elisp.eclass b/eclass/elisp.eclass
index 2fea311..6b6679d 100644
--- a/eclass/elisp.eclass
+++ b/eclass/elisp.eclass
@@ -1,4 +1,4 @@
-# Copyright 2002-2021 Gentoo Authors
+# Copyright 2002-2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: elisp.eclass
@@ -64,7 +64,7 @@
 
 inherit elisp-common
 
-case ${EAPI:-0} in
+case ${EAPI} in
 	6|7|8) ;;
 	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac


^ permalink raw reply related	[flat|nested] 32+ messages in thread
* [gentoo-commits] repo/proj/emacs:master commit in: eclass/
@ 2022-03-24  6:44 Ulrich Müller
  0 siblings, 0 replies; 32+ messages in thread
From: Ulrich Müller @ 2022-03-24  6:44 UTC (permalink / raw
  To: gentoo-commits

commit:     2588a1fdb15b806daf793ad02121de05bbe2386d
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 24 06:44:40 2022 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Mar 24 06:44:40 2022 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=2588a1fd

elisp*.eclass: Sync from Gentoo repository

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eclass/elisp-common.eclass | 16 ++++++++--------
 eclass/elisp.eclass        | 11 ++++++-----
 2 files changed, 14 insertions(+), 13 deletions(-)

diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index b2c4f10..a821e4a 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -171,44 +171,44 @@ case ${EAPI:-0} in
 	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
 
-# @ECLASS-VARIABLE: SITELISP
+# @ECLASS_VARIABLE: SITELISP
 # @DESCRIPTION:
 # Directory where packages install Emacs Lisp files.
 SITELISP=/usr/share/emacs/site-lisp
 
-# @ECLASS-VARIABLE: SITEETC
+# @ECLASS_VARIABLE: SITEETC
 # @DESCRIPTION:
 # Directory where packages install miscellaneous (not Lisp) files.
 SITEETC=/usr/share/emacs/etc
 
-# @ECLASS-VARIABLE: EMACSMODULES
+# @ECLASS_VARIABLE: EMACSMODULES
 # @DESCRIPTION:
 # Directory where packages install dynamically loaded modules.
 # May contain a @libdir@ token which will be replaced by $(get_libdir).
 EMACSMODULES=/usr/@libdir@/emacs/modules
 
-# @ECLASS-VARIABLE: EMACS
+# @ECLASS_VARIABLE: EMACS
 # @DESCRIPTION:
 # Path of Emacs executable.
 EMACS=${EPREFIX}/usr/bin/emacs
 
-# @ECLASS-VARIABLE: EMACSFLAGS
+# @ECLASS_VARIABLE: EMACSFLAGS
 # @DESCRIPTION:
 # Flags for executing Emacs in batch mode.
 # These work for Emacs versions 18-24, so don't change them.
 EMACSFLAGS="-batch -q --no-site-file"
 
-# @ECLASS-VARIABLE: BYTECOMPFLAGS
+# @ECLASS_VARIABLE: BYTECOMPFLAGS
 # @DESCRIPTION:
 # Emacs flags used for byte-compilation in elisp-compile().
 BYTECOMPFLAGS="-L ."
 
-# @ECLASS-VARIABLE: NEED_EMACS
+# @ECLASS_VARIABLE: NEED_EMACS
 # @DESCRIPTION:
 # The minimum Emacs version required for the package.
 : ${NEED_EMACS:=23.1}
 
-# @ECLASS-VARIABLE: _ELISP_EMACS_VERSION
+# @ECLASS_VARIABLE: _ELISP_EMACS_VERSION
 # @INTERNAL
 # @DESCRIPTION:
 # Cached value of Emacs version detected in elisp-check-emacs-version().

diff --git a/eclass/elisp.eclass b/eclass/elisp.eclass
index c3c0045..2fea311 100644
--- a/eclass/elisp.eclass
+++ b/eclass/elisp.eclass
@@ -10,6 +10,7 @@
 # Christian Faulhammer <fauli@gentoo.org>
 # Ulrich Müller <ulm@gentoo.org>
 # @SUPPORTED_EAPIS: 6 7 8
+# @PROVIDES: elisp-common
 # @BLURB: Eclass for Emacs Lisp packages
 # @DESCRIPTION:
 #
@@ -26,7 +27,7 @@
 # file with the file name ${P}.el, then this eclass will move ${P}.el to
 # ${PN}.el in src_unpack().
 
-# @ECLASS-VARIABLE: NEED_EMACS
+# @ECLASS_VARIABLE: NEED_EMACS
 # @PRE_INHERIT
 # @DEFAULT_UNSET
 # @DESCRIPTION:
@@ -34,7 +35,7 @@
 # variable before inheriting elisp.eclass.  Set it to the version your
 # package uses and the dependency will be adjusted.
 
-# @ECLASS-VARIABLE: ELISP_PATCHES
+# @ECLASS_VARIABLE: ELISP_PATCHES
 # @DEFAULT_UNSET
 # @DESCRIPTION:
 # Space separated list of patches to apply after unpacking the sources.
@@ -42,12 +43,12 @@
 # FILESDIR.  This variable is semi-deprecated, preferably use the
 # PATCHES array instead.
 
-# @ECLASS-VARIABLE: ELISP_REMOVE
+# @ECLASS_VARIABLE: ELISP_REMOVE
 # @DEFAULT_UNSET
 # @DESCRIPTION:
 # Space separated list of files to remove after unpacking the sources.
 
-# @ECLASS-VARIABLE: SITEFILE
+# @ECLASS_VARIABLE: SITEFILE
 # @DEFAULT_UNSET
 # @DESCRIPTION:
 # Name of package's site-init file.  The filename must match the shell
@@ -55,7 +56,7 @@
 # reserved for internal use.  "50${PN}-gentoo.el" is a reasonable choice
 # in most cases.
 
-# @ECLASS-VARIABLE: ELISP_TEXINFO
+# @ECLASS_VARIABLE: ELISP_TEXINFO
 # @DEFAULT_UNSET
 # @DESCRIPTION:
 # Space separated list of Texinfo sources.  Respective GNU Info files


^ permalink raw reply related	[flat|nested] 32+ messages in thread
* [gentoo-commits] repo/proj/emacs:master commit in: eclass/
@ 2021-07-28  7:53 Ulrich Müller
  0 siblings, 0 replies; 32+ messages in thread
From: Ulrich Müller @ 2021-07-28  7:53 UTC (permalink / raw
  To: gentoo-commits

commit:     008b451753b8ec665e55e808d88885c51a99c6f6
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 28 07:53:01 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Jul 28 07:53:01 2021 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=008b4517

elisp*.eclass: EAPI 8

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eclass/elisp-common.eclass | 4 ++--
 eclass/elisp.eclass        | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index 30dad3b..b2c4f10 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -10,7 +10,7 @@
 # Mamoru Komachi <usata@gentoo.org>
 # Christian Faulhammer <fauli@gentoo.org>
 # Ulrich Müller <ulm@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7
+# @SUPPORTED_EAPIS: 6 7 8
 # @BLURB: Emacs-related installation utilities
 # @DESCRIPTION:
 #
@@ -167,7 +167,7 @@
 
 case ${EAPI:-0} in
 	6) inherit eapi7-ver ;;
-	7) ;;
+	7|8) ;;
 	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
 

diff --git a/eclass/elisp.eclass b/eclass/elisp.eclass
index d763a49..c3c0045 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: 6 7
+# @SUPPORTED_EAPIS: 6 7 8
 # @BLURB: Eclass for Emacs Lisp packages
 # @DESCRIPTION:
 #
@@ -64,7 +64,7 @@
 inherit elisp-common
 
 case ${EAPI:-0} in
-	6|7) ;;
+	6|7|8) ;;
 	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
 


^ permalink raw reply related	[flat|nested] 32+ messages in thread
* [gentoo-commits] repo/proj/emacs:master commit in: eclass/
@ 2021-04-20 18:13 Ulrich Müller
  0 siblings, 0 replies; 32+ messages in thread
From: Ulrich Müller @ 2021-04-20 18:13 UTC (permalink / raw
  To: gentoo-commits

commit:     2d849335502f87557049d486c1171a9e6e6bb045
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 20 18:13:40 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Apr 20 18:13:40 2021 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=2d849335

elisp*.eclass: Sync from Gentoo repository

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eclass/elisp-common.eclass | 6 +++---
 eclass/elisp.eclass        | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index 4aff50e..30dad3b 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -386,7 +386,7 @@ elisp-site-file-install() {
 	[[ ${sf%-gentoo*.el} != "${sf}" ]] && sf="${sf%-gentoo*.el}-gentoo.el"
 	sf="${T}/${sf}"
 	ebegin "Installing site initialisation file for GNU Emacs"
-	[[ $1 = "${sf}" ]] || cp "$1" "${sf}"
+	[[ $1 == "${sf}" ]] || cp "$1" "${sf}"
 	modules=${EMACSMODULES//@libdir@/$(get_libdir)}
 	sed -i -e "1{:x;/^\$/{n;bx;};/^;.*${PN}/I!s:^:${header}\n\n:;1s:^:\n:;}" \
 		-e "s:@SITELISP@:${EPREFIX}${SITELISP}/${my_pn}:g" \
@@ -412,7 +412,7 @@ elisp-site-regen() {
 	local sf i ret=0 null="" page=$'\f'
 	local -a sflist
 
-	if [[ ${EBUILD_PHASE} = *rm && ! -e ${sitelisp}/site-gentoo.el ]]; then
+	if [[ ${EBUILD_PHASE} == *rm && ! -e ${sitelisp}/site-gentoo.el ]]; then
 		ewarn "Refusing to create site-gentoo.el in ${EBUILD_PHASE} phase."
 		return 0
 	fi
@@ -467,7 +467,7 @@ elisp-site-regen() {
 		mv "${T}"/site-gentoo.el "${sitelisp}"/site-gentoo.el
 		eend $? "elisp-site-regen: Replacing site-gentoo.el failed" || die
 		case ${#sflist[@]} in
-			0) [[ ${PN} = emacs-common ]] \
+			0) [[ ${PN} == emacs-common ]] \
 				|| ewarn "... Huh? No site initialisation files found." ;;
 			1) einfo "... ${#sflist[@]} site initialisation file included." ;;
 			*) einfo "... ${#sflist[@]} site initialisation files included." ;;

diff --git a/eclass/elisp.eclass b/eclass/elisp.eclass
index c4a1b52..d763a49 100644
--- a/eclass/elisp.eclass
+++ b/eclass/elisp.eclass
@@ -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


^ permalink raw reply related	[flat|nested] 32+ messages in thread
* [gentoo-commits] repo/proj/emacs:master commit in: eclass/
@ 2021-04-13  7:43 Ulrich Müller
  0 siblings, 0 replies; 32+ messages in thread
From: Ulrich Müller @ 2021-04-13  7:43 UTC (permalink / raw
  To: gentoo-commits

commit:     77d3618f1e303764a883e936ec404abb95305e34
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 13 07:42:53 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Apr 13 07:42:53 2021 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=77d3618f

elisp.eclass: Sync from Gentoo repository

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eclass/elisp.eclass | 1 +
 1 file changed, 1 insertion(+)

diff --git a/eclass/elisp.eclass b/eclass/elisp.eclass
index 7bdcf38..c4a1b52 100644
--- a/eclass/elisp.eclass
+++ b/eclass/elisp.eclass
@@ -27,6 +27,7 @@
 # ${PN}.el in src_unpack().
 
 # @ECLASS-VARIABLE: NEED_EMACS
+# @PRE_INHERIT
 # @DEFAULT_UNSET
 # @DESCRIPTION:
 # If you need anything different from Emacs 23, use the NEED_EMACS


^ permalink raw reply related	[flat|nested] 32+ messages in thread
* [gentoo-commits] repo/proj/emacs:master commit in: eclass/
@ 2021-04-13  7:27 Ulrich Müller
  0 siblings, 0 replies; 32+ messages in thread
From: Ulrich Müller @ 2021-04-13  7:27 UTC (permalink / raw
  To: gentoo-commits

commit:     7ebb01991cdd8dcca5b76c1e3d18c9a683eddb64
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 13 07:10:40 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Apr 13 07:27:51 2021 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=7ebb0199

elisp*.eclass: Drop support for EAPI 5

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eclass/elisp-common.eclass | 15 +++------------
 eclass/elisp.eclass        | 23 +++++++----------------
 2 files changed, 10 insertions(+), 28 deletions(-)

diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index 90621cb..4aff50e 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -10,7 +10,7 @@
 # Mamoru Komachi <usata@gentoo.org>
 # Christian Faulhammer <fauli@gentoo.org>
 # Ulrich Müller <ulm@gentoo.org>
-# @SUPPORTED_EAPIS: 5 6 7
+# @SUPPORTED_EAPIS: 6 7
 # @BLURB: Emacs-related installation utilities
 # @DESCRIPTION:
 #
@@ -166,7 +166,7 @@
 # to above calls of elisp-site-regen().
 
 case ${EAPI:-0} in
-	5|6) inherit eapi7-ver ;;
+	6) inherit eapi7-ver ;;
 	7) ;;
 	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
@@ -360,10 +360,6 @@ elisp-install() {
 elisp-modules-install() {
 	local subdir="$1"
 	shift
-	# Don't bother inheriting multilib.eclass for get_libdir(), but
-	# error out in old EAPIs that don't support it natively.
-	[[ ${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
 		exeinto "${EMACSMODULES//@libdir@/$(get_libdir)}/${subdir}"
@@ -391,12 +387,7 @@ elisp-site-file-install() {
 	sf="${T}/${sf}"
 	ebegin "Installing site initialisation file for GNU Emacs"
 	[[ $1 = "${sf}" ]] || cp "$1" "${sf}"
-	if [[ ${EAPI} == 5 ]]; then
-		grep -q "@EMACSMODULES@" "${sf}" \
-			&& die "${ECLASS}: Dynamic modules not supported in EAPI ${EAPI}"
-	else
-		modules=${EMACSMODULES//@libdir@/$(get_libdir)}
-	fi
+	modules=${EMACSMODULES//@libdir@/$(get_libdir)}
 	sed -i -e "1{:x;/^\$/{n;bx;};/^;.*${PN}/I!s:^:${header}\n\n:;1s:^:\n:;}" \
 		-e "s:@SITELISP@:${EPREFIX}${SITELISP}/${my_pn}:g" \
 		-e "s:@SITEETC@:${EPREFIX}${SITEETC}/${my_pn}:g" \

diff --git a/eclass/elisp.eclass b/eclass/elisp.eclass
index a568a05..7bdcf38 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: 5 6 7
+# @SUPPORTED_EAPIS: 6 7
 # @BLURB: Eclass for Emacs Lisp packages
 # @DESCRIPTION:
 #
@@ -61,8 +61,8 @@
 # will be generated in src_compile() and installed in src_install().
 
 inherit elisp-common
+
 case ${EAPI:-0} in
-	5) inherit epatch ;;
 	6|7) ;;
 	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
@@ -72,7 +72,7 @@ EXPORT_FUNCTIONS src_{unpack,prepare,configure,compile,install} \
 
 RDEPEND=">=app-editors/emacs-${NEED_EMACS}:*"
 case ${EAPI} in
-	5|6) DEPEND="${RDEPEND}" ;;
+	6) DEPEND="${RDEPEND}" ;;
 	*) BDEPEND="${RDEPEND}" ;;
 esac
 
@@ -116,17 +116,11 @@ elisp_src_prepare() {
 		else
 			die "Cannot find ${patch}"
 		fi
-		case ${EAPI} in
-			5) epatch "${file}" ;;
-			*) eapply "${file}" ;;
-		esac
+		eapply "${file}"
 	done
 
-	# apply PATCHES (if supported in EAPI), and any user patches
-	case ${EAPI} in
-		5) epatch_user ;;
-		*) default ;;
-	esac
+	# apply PATCHES and any user patches
+	default
 
 	if [[ -n ${ELISP_REMOVE} ]]; then
 		rm ${ELISP_REMOVE} || die
@@ -170,10 +164,7 @@ elisp_src_install() {
 		doinfo ${@/%.*/.info*}
 	fi
 	# install documentation only when explicitly requested
-	case ${EAPI} in
-		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


^ permalink raw reply related	[flat|nested] 32+ messages in thread
* [gentoo-commits] repo/proj/emacs:master commit in: eclass/
@ 2021-04-13  7:15 Ulrich Müller
  0 siblings, 0 replies; 32+ messages in thread
From: Ulrich Müller @ 2021-04-13  7:15 UTC (permalink / raw
  To: gentoo-commits

commit:     7c57c1893e9f1a16ad09459f3941b86374539340
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 13 07:03:16 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Apr 13 07:14:54 2021 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=7c57c189

elisp-common.eclass: Drop deprectated elisp-need-emacs()

Signed-off-by: Ulrich Müller <ulm <AT> 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 9de2581..90621cb 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -277,27 +277,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:


^ permalink raw reply related	[flat|nested] 32+ messages in thread
* [gentoo-commits] repo/proj/emacs:master commit in: eclass/
@ 2021-04-13  7:15 Ulrich Müller
  0 siblings, 0 replies; 32+ messages in thread
From: Ulrich Müller @ 2021-04-13  7:15 UTC (permalink / raw
  To: gentoo-commits

commit:     26afb7f2b7f4b902ec2729cc77d2cc952589eca5
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 13 07:10:40 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Apr 13 07:14:57 2021 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=26afb7f2

elisp*.eclass: Drop support for EAPI 5

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eclass/elisp-common.eclass | 15 +++------------
 eclass/elisp.eclass        | 22 ++++++----------------
 2 files changed, 9 insertions(+), 28 deletions(-)

diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index 90621cb..4aff50e 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -10,7 +10,7 @@
 # Mamoru Komachi <usata@gentoo.org>
 # Christian Faulhammer <fauli@gentoo.org>
 # Ulrich Müller <ulm@gentoo.org>
-# @SUPPORTED_EAPIS: 5 6 7
+# @SUPPORTED_EAPIS: 6 7
 # @BLURB: Emacs-related installation utilities
 # @DESCRIPTION:
 #
@@ -166,7 +166,7 @@
 # to above calls of elisp-site-regen().
 
 case ${EAPI:-0} in
-	5|6) inherit eapi7-ver ;;
+	6) inherit eapi7-ver ;;
 	7) ;;
 	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
@@ -360,10 +360,6 @@ elisp-install() {
 elisp-modules-install() {
 	local subdir="$1"
 	shift
-	# Don't bother inheriting multilib.eclass for get_libdir(), but
-	# error out in old EAPIs that don't support it natively.
-	[[ ${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
 		exeinto "${EMACSMODULES//@libdir@/$(get_libdir)}/${subdir}"
@@ -391,12 +387,7 @@ elisp-site-file-install() {
 	sf="${T}/${sf}"
 	ebegin "Installing site initialisation file for GNU Emacs"
 	[[ $1 = "${sf}" ]] || cp "$1" "${sf}"
-	if [[ ${EAPI} == 5 ]]; then
-		grep -q "@EMACSMODULES@" "${sf}" \
-			&& die "${ECLASS}: Dynamic modules not supported in EAPI ${EAPI}"
-	else
-		modules=${EMACSMODULES//@libdir@/$(get_libdir)}
-	fi
+	modules=${EMACSMODULES//@libdir@/$(get_libdir)}
 	sed -i -e "1{:x;/^\$/{n;bx;};/^;.*${PN}/I!s:^:${header}\n\n:;1s:^:\n:;}" \
 		-e "s:@SITELISP@:${EPREFIX}${SITELISP}/${my_pn}:g" \
 		-e "s:@SITEETC@:${EPREFIX}${SITEETC}/${my_pn}:g" \

diff --git a/eclass/elisp.eclass b/eclass/elisp.eclass
index a568a05..054d5d8 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: 5 6 7
+# @SUPPORTED_EAPIS: 6 7
 # @BLURB: Eclass for Emacs Lisp packages
 # @DESCRIPTION:
 #
@@ -62,7 +62,6 @@
 
 inherit elisp-common
 case ${EAPI:-0} in
-	5) inherit epatch ;;
 	6|7) ;;
 	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
@@ -72,7 +71,7 @@ EXPORT_FUNCTIONS src_{unpack,prepare,configure,compile,install} \
 
 RDEPEND=">=app-editors/emacs-${NEED_EMACS}:*"
 case ${EAPI} in
-	5|6) DEPEND="${RDEPEND}" ;;
+	6) DEPEND="${RDEPEND}" ;;
 	*) BDEPEND="${RDEPEND}" ;;
 esac
 
@@ -116,17 +115,11 @@ elisp_src_prepare() {
 		else
 			die "Cannot find ${patch}"
 		fi
-		case ${EAPI} in
-			5) epatch "${file}" ;;
-			*) eapply "${file}" ;;
-		esac
+		eapply "${file}"
 	done
 
-	# apply PATCHES (if supported in EAPI), and any user patches
-	case ${EAPI} in
-		5) epatch_user ;;
-		*) default ;;
-	esac
+	# apply PATCHES and any user patches
+	default
 
 	if [[ -n ${ELISP_REMOVE} ]]; then
 		rm ${ELISP_REMOVE} || die
@@ -170,10 +163,7 @@ elisp_src_install() {
 		doinfo ${@/%.*/.info*}
 	fi
 	# install documentation only when explicitly requested
-	case ${EAPI} in
-		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


^ permalink raw reply related	[flat|nested] 32+ messages in thread
* [gentoo-commits] repo/proj/emacs:master commit in: eclass/
@ 2021-04-13  7:12 Ulrich Müller
  0 siblings, 0 replies; 32+ messages in thread
From: Ulrich Müller @ 2021-04-13  7:12 UTC (permalink / raw
  To: gentoo-commits

commit:     3cf9cb16fbaaeb45eaeb8bfb1a5fad638fbe4255
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 13 07:03:16 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Apr 13 07:03:16 2021 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=3cf9cb16

elisp-common.eclass: Drop deprectated elisp-need-emacs()a

Signed-off-by: Ulrich Müller <ulm <AT> 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 9de2581..90621cb 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -277,27 +277,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:


^ permalink raw reply related	[flat|nested] 32+ messages in thread
* [gentoo-commits] repo/proj/emacs:master commit in: eclass/
@ 2021-04-13  7:12 Ulrich Müller
  0 siblings, 0 replies; 32+ messages in thread
From: Ulrich Müller @ 2021-04-13  7:12 UTC (permalink / raw
  To: gentoo-commits

commit:     dca1e1e2c89751e3ce6031daa8f925fc1de6cbe9
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 13 07:10:40 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Apr 13 07:10:40 2021 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=dca1e1e2

elisp*.eclass: Drop support for EAPI 5

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eclass/elisp-common.eclass | 15 +++------------
 eclass/elisp.eclass        | 22 ++++++----------------
 2 files changed, 9 insertions(+), 28 deletions(-)

diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index 90621cb..4aff50e 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -10,7 +10,7 @@
 # Mamoru Komachi <usata@gentoo.org>
 # Christian Faulhammer <fauli@gentoo.org>
 # Ulrich Müller <ulm@gentoo.org>
-# @SUPPORTED_EAPIS: 5 6 7
+# @SUPPORTED_EAPIS: 6 7
 # @BLURB: Emacs-related installation utilities
 # @DESCRIPTION:
 #
@@ -166,7 +166,7 @@
 # to above calls of elisp-site-regen().
 
 case ${EAPI:-0} in
-	5|6) inherit eapi7-ver ;;
+	6) inherit eapi7-ver ;;
 	7) ;;
 	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
@@ -360,10 +360,6 @@ elisp-install() {
 elisp-modules-install() {
 	local subdir="$1"
 	shift
-	# Don't bother inheriting multilib.eclass for get_libdir(), but
-	# error out in old EAPIs that don't support it natively.
-	[[ ${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
 		exeinto "${EMACSMODULES//@libdir@/$(get_libdir)}/${subdir}"
@@ -391,12 +387,7 @@ elisp-site-file-install() {
 	sf="${T}/${sf}"
 	ebegin "Installing site initialisation file for GNU Emacs"
 	[[ $1 = "${sf}" ]] || cp "$1" "${sf}"
-	if [[ ${EAPI} == 5 ]]; then
-		grep -q "@EMACSMODULES@" "${sf}" \
-			&& die "${ECLASS}: Dynamic modules not supported in EAPI ${EAPI}"
-	else
-		modules=${EMACSMODULES//@libdir@/$(get_libdir)}
-	fi
+	modules=${EMACSMODULES//@libdir@/$(get_libdir)}
 	sed -i -e "1{:x;/^\$/{n;bx;};/^;.*${PN}/I!s:^:${header}\n\n:;1s:^:\n:;}" \
 		-e "s:@SITELISP@:${EPREFIX}${SITELISP}/${my_pn}:g" \
 		-e "s:@SITEETC@:${EPREFIX}${SITEETC}/${my_pn}:g" \

diff --git a/eclass/elisp.eclass b/eclass/elisp.eclass
index a568a05..054d5d8 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: 5 6 7
+# @SUPPORTED_EAPIS: 6 7
 # @BLURB: Eclass for Emacs Lisp packages
 # @DESCRIPTION:
 #
@@ -62,7 +62,6 @@
 
 inherit elisp-common
 case ${EAPI:-0} in
-	5) inherit epatch ;;
 	6|7) ;;
 	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
@@ -72,7 +71,7 @@ EXPORT_FUNCTIONS src_{unpack,prepare,configure,compile,install} \
 
 RDEPEND=">=app-editors/emacs-${NEED_EMACS}:*"
 case ${EAPI} in
-	5|6) DEPEND="${RDEPEND}" ;;
+	6) DEPEND="${RDEPEND}" ;;
 	*) BDEPEND="${RDEPEND}" ;;
 esac
 
@@ -116,17 +115,11 @@ elisp_src_prepare() {
 		else
 			die "Cannot find ${patch}"
 		fi
-		case ${EAPI} in
-			5) epatch "${file}" ;;
-			*) eapply "${file}" ;;
-		esac
+		eapply "${file}"
 	done
 
-	# apply PATCHES (if supported in EAPI), and any user patches
-	case ${EAPI} in
-		5) epatch_user ;;
-		*) default ;;
-	esac
+	# apply PATCHES and any user patches
+	default
 
 	if [[ -n ${ELISP_REMOVE} ]]; then
 		rm ${ELISP_REMOVE} || die
@@ -170,10 +163,7 @@ elisp_src_install() {
 		doinfo ${@/%.*/.info*}
 	fi
 	# install documentation only when explicitly requested
-	case ${EAPI} in
-		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


^ permalink raw reply related	[flat|nested] 32+ messages in thread
* [gentoo-commits] repo/proj/emacs:master commit in: eclass/
@ 2021-04-12 19:09 Ulrich Müller
  0 siblings, 0 replies; 32+ messages in thread
From: Ulrich Müller @ 2021-04-12 19:09 UTC (permalink / raw
  To: gentoo-commits

commit:     ed7745256875f460578f0ecd8adbf9724cede1ae
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 12 19:01:01 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Apr 12 19:01:01 2021 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=ed774525

elisp-common.eclass: Add timeout to version detection

Signed-off-by: Ulrich Müller <ulm <AT> 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 832fc19..bdf97f4 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


^ permalink raw reply related	[flat|nested] 32+ messages in thread
* [gentoo-commits] repo/proj/emacs:master commit in: eclass/
@ 2021-04-12 19:09 Ulrich Müller
  0 siblings, 0 replies; 32+ messages in thread
From: Ulrich Müller @ 2021-04-12 19:09 UTC (permalink / raw
  To: gentoo-commits

commit:     feff6487fa132ae9384647f34c90f1ce81a902cd
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 12 19:08:34 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Apr 12 19:08:34 2021 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=feff6487

elisp*.eclass: Drop support for EAPI 4

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eclass/elisp-common.eclass |  7 ++++---
 eclass/elisp.eclass        | 13 ++++++-------
 2 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index bdf97f4..9de2581 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
@@ -382,7 +383,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
@@ -411,7 +412,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

diff --git a/eclass/elisp.eclass b/eclass/elisp.eclass
index 7876928..a568a05 100644
--- a/eclass/elisp.eclass
+++ b/eclass/elisp.eclass
@@ -1,4 +1,4 @@
-# Copyright 2002-2020 Gentoo Authors
+# Copyright 2002-2021 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @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: 5 6 7
 # @BLURB: Eclass for Emacs Lisp packages
 # @DESCRIPTION:
 #
@@ -62,7 +62,7 @@
 
 inherit elisp-common
 case ${EAPI:-0} in
-	4|5) inherit epatch ;;
+	5) inherit epatch ;;
 	6|7) ;;
 	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
@@ -72,7 +72,6 @@ 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}" ;;
 	*) BDEPEND="${RDEPEND}" ;;
 esac
@@ -118,14 +117,14 @@ elisp_src_prepare() {
 			die "Cannot find ${patch}"
 		fi
 		case ${EAPI} in
-			4|5) epatch "${file}" ;;
+			5) epatch "${file}" ;;
 			*) eapply "${file}" ;;
 		esac
 	done
 
 	# apply PATCHES (if supported in EAPI), and any user patches
 	case ${EAPI} in
-		4|5) epatch_user ;;
+		5) epatch_user ;;
 		*) default ;;
 	esac
 
@@ -172,7 +171,7 @@ elisp_src_install() {
 	fi
 	# install documentation only when explicitly requested
 	case ${EAPI} in
-		4|5) [[ -n ${DOCS} ]] && dodoc ${DOCS} ;;
+		5) [[ -n ${DOCS} ]] && dodoc ${DOCS} ;;
 		*) [[ $(declare -p DOCS 2>/dev/null) == *=* ]] && einstalldocs ;;
 	esac
 	if declare -f readme.gentoo_create_doc >/dev/null; then


^ permalink raw reply related	[flat|nested] 32+ messages in thread
* [gentoo-commits] repo/proj/emacs:master commit in: eclass/
@ 2021-03-22  9:00 Ulrich Müller
  0 siblings, 0 replies; 32+ messages in thread
From: Ulrich Müller @ 2021-03-22  9:00 UTC (permalink / raw
  To: gentoo-commits

commit:     876e56bc80f959238cb9e88ca9599eb80586c6de
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 22 08:59:59 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Mar 22 08:59:59 2021 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=876e56bc

elisp-common.eclass: Sync from gentoo repo

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eclass/elisp-common.eclass | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index ac5fc20..832fc19 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -234,6 +234,8 @@ elisp-emacs-version() {
 	rm -f "${T}"/emacs-version.el
 	if [[ ${ret} -ne 0 ]]; then
 		eerror "elisp-emacs-version: Failed to run ${EMACS}"
+		[[ $(realpath ${EMACS} 2>/dev/null) == */emacs* ]] \
+			|| eerror "This package needs GNU Emacs"
 		return ${ret}
 	fi
 	if [[ -z ${version} ]]; then


^ permalink raw reply related	[flat|nested] 32+ messages in thread
* [gentoo-commits] repo/proj/emacs:master commit in: eclass/
@ 2020-09-25 17:58 Ulrich Müller
  0 siblings, 0 replies; 32+ messages in thread
From: Ulrich Müller @ 2020-09-25 17:58 UTC (permalink / raw
  To: gentoo-commits

commit:     88c36c962efd502778b33cb511e3b52da3558c49
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 25 17:57:06 2020 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Sep 25 17:57:06 2020 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=88c36c96

elisp-common.eclass: Sync from gentoo repo.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eclass/elisp-common.eclass | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index 0bf6c01..66a3a32 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -393,9 +393,9 @@ elisp-modules-install() {
 # @DESCRIPTION:
 # Install Emacs site-init file in SITELISP directory.  Automatically
 # inserts a standard comment header with the name of the package
-# (unless it is already present).  Tokens @SITELISP@, @SITEETC@, and
-# @EMACSMODULES@ are replaced by the path to the package's subdirectory
-# in SITELISP, SITEETC, and EMACSMODULES, respectively.
+# (unless it is already present).  Tokens @SITELISP@, @SITEETC@,
+# and @EMACSMODULES@ are replaced by the path to the package's
+# subdirectory in SITELISP, SITEETC, and EMACSMODULES, respectively.
 
 elisp-site-file-install() {
 	local sf="${1##*/}" my_pn="${2:-${PN}}" modules ret
@@ -407,9 +407,12 @@ elisp-site-file-install() {
 	sf="${T}/${sf}"
 	ebegin "Installing site initialisation file for GNU Emacs"
 	[[ $1 = "${sf}" ]] || cp "$1" "${sf}"
-	[[ ${EAPI} == [45] ]] && grep -q "@EMACSMODULES@" "${sf}" \
-		&& die "${ECLASS}: Dynamic modules not supported in EAPI ${EAPI}"
-	modules=${EMACSMODULES//@libdir@/$(get_libdir)}
+	if [[ ${EAPI} == [45] ]]; then
+		grep -q "@EMACSMODULES@" "${sf}" \
+			&& die "${ECLASS}: Dynamic modules not supported in EAPI ${EAPI}"
+	else
+		modules=${EMACSMODULES//@libdir@/$(get_libdir)}
+	fi
 	sed -i -e "1{:x;/^\$/{n;bx;};/^;.*${PN}/I!s:^:${header}\n\n:;1s:^:\n:;}" \
 		-e "s:@SITELISP@:${EPREFIX}${SITELISP}/${my_pn}:g" \
 		-e "s:@SITEETC@:${EPREFIX}${SITEETC}/${my_pn}:g" \


^ permalink raw reply related	[flat|nested] 32+ messages in thread
* [gentoo-commits] repo/proj/emacs:master commit in: eclass/
@ 2020-08-04 14:37 Ulrich Müller
  0 siblings, 0 replies; 32+ messages in thread
From: Ulrich Müller @ 2020-08-04 14:37 UTC (permalink / raw
  To: gentoo-commits

commit:     ee0c4d0b14c9ece913d340fe5a074e1f63726fc6
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 25 19:08:45 2020 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Jul 25 19:08:45 2020 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=ee0c4d0b

elisp-common.eclass: Support installation of dynamic modules.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eclass/elisp-common.eclass | 42 ++++++++++++++++++++++++++++++++++++------
 1 file changed, 36 insertions(+), 6 deletions(-)

diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index 6fa2bbe..0bf6c01 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -180,6 +180,12 @@ SITELISP=/usr/share/emacs/site-lisp
 # Directory where packages install miscellaneous (not Lisp) files.
 SITEETC=/usr/share/emacs/etc
 
+# @ECLASS-VARIABLE: EMACSMODULES
+# @DESCRIPTION:
+# Directory where packages install dynamically loaded modules.
+# May contain a @libdir@ token which will be replaced by $(get_libdir).
+EMACSMODULES=/usr/@libdir@/emacs/modules
+
 # @ECLASS-VARIABLE: EMACS
 # @DESCRIPTION:
 # Path of Emacs executable.
@@ -362,17 +368,37 @@ elisp-install() {
 	eend $? "elisp-install: doins failed" || die
 }
 
+# @FUNCTION: elisp-modules-install
+# @USAGE: <subdirectory> <list of files>
+# @DESCRIPTION:
+# Install dynamic modules in EMACSMODULES directory.
+
+elisp-modules-install() {
+	local subdir="$1"
+	shift
+	# Don't bother inheriting multilib.eclass for get_libdir(), but
+	# error out in old EAPIs that don't support it natively.
+	[[ ${EAPI} == [45] ]] \
+		&& die "${ECLASS}: Dynamic modules not supported in EAPI ${EAPI}"
+	ebegin "Installing dynamic modules for GNU Emacs support"
+	( # subshell to avoid pollution of calling environment
+		exeinto "${EMACSMODULES//@libdir@/$(get_libdir)}/${subdir}"
+		doexe "$@"
+	)
+	eend $? "elisp-modules-install: doins failed" || die
+}
+
 # @FUNCTION: elisp-site-file-install
 # @USAGE: <site-init file> [subdirectory]
 # @DESCRIPTION:
 # Install Emacs site-init file in SITELISP directory.  Automatically
-# inserts a standard comment header with the name of the package (unless
-# it is already present).  Tokens @SITELISP@ and @SITEETC@ are replaced
-# by the path to the package's subdirectory in SITELISP and SITEETC,
-# respectively.
+# inserts a standard comment header with the name of the package
+# (unless it is already present).  Tokens @SITELISP@, @SITEETC@, and
+# @EMACSMODULES@ are replaced by the path to the package's subdirectory
+# in SITELISP, SITEETC, and EMACSMODULES, respectively.
 
 elisp-site-file-install() {
-	local sf="${1##*/}" my_pn="${2:-${PN}}" ret
+	local sf="${1##*/}" my_pn="${2:-${PN}}" modules ret
 	local header=";;; ${PN} site-lisp configuration"
 
 	[[ ${sf} == [0-9][0-9]*-gentoo*.el ]] \
@@ -381,9 +407,13 @@ elisp-site-file-install() {
 	sf="${T}/${sf}"
 	ebegin "Installing site initialisation file for GNU Emacs"
 	[[ $1 = "${sf}" ]] || cp "$1" "${sf}"
+	[[ ${EAPI} == [45] ]] && grep -q "@EMACSMODULES@" "${sf}" \
+		&& die "${ECLASS}: Dynamic modules not supported in EAPI ${EAPI}"
+	modules=${EMACSMODULES//@libdir@/$(get_libdir)}
 	sed -i -e "1{:x;/^\$/{n;bx;};/^;.*${PN}/I!s:^:${header}\n\n:;1s:^:\n:;}" \
 		-e "s:@SITELISP@:${EPREFIX}${SITELISP}/${my_pn}:g" \
-		-e "s:@SITEETC@:${EPREFIX}${SITEETC}/${my_pn}:g;\$q" "${sf}"
+		-e "s:@SITEETC@:${EPREFIX}${SITEETC}/${my_pn}:g" \
+		-e "s:@EMACSMODULES@:${EPREFIX}${modules}/${my_pn}:g;\$q" "${sf}"
 	( # subshell to avoid pollution of calling environment
 		insinto "${SITELISP}/site-gentoo.d"
 		doins "${sf}"


^ permalink raw reply related	[flat|nested] 32+ messages in thread
* [gentoo-commits] repo/proj/emacs:master commit in: eclass/
@ 2020-02-22 11:42 Ulrich Müller
  0 siblings, 0 replies; 32+ messages in thread
From: Ulrich Müller @ 2020-02-22 11:42 UTC (permalink / raw
  To: gentoo-commits

commit:     398c5eae70a6cede9316f8d4fcdb49b28392602f
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 22 11:42:11 2020 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Feb 22 11:42:11 2020 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=398c5eae

elisp*.eclass: Sync from gentoo repo.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eclass/elisp-common.eclass | 14 +++++---------
 eclass/elisp.eclass        |  4 ++--
 2 files changed, 7 insertions(+), 11 deletions(-)

diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index b5ea21c..6fa2bbe 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: elisp-common.eclass
@@ -43,8 +43,7 @@
 # Please note that this should be done only for packages that are known
 # to fail with lower Emacs versions.
 #
-# @ROFF .SS
-# src_compile() usage:
+# @SUBSECTION src_compile() usage:
 #
 # An elisp file is compiled by the elisp-compile() function defined
 # here and simply takes the source files as arguments.  The case of
@@ -64,8 +63,7 @@
 # comments.  See the Emacs Lisp Reference Manual (node "Autoload") for
 # a detailed explanation.
 #
-# @ROFF .SS
-# src_install() usage:
+# @SUBSECTION src_install() usage:
 #
 # The resulting compiled files (.elc) should be put in a subdirectory of
 # /usr/share/emacs/site-lisp/ which is named after the first argument
@@ -132,8 +130,7 @@
 # "50${PN}-gentoo.el".  If your subdirectory is not named ${PN}, give
 # the differing name as second argument.
 #
-# @ROFF .SS
-# pkg_setup() usage:
+# @SUBSECTION pkg_setup() usage:
 #
 # If your ebuild uses the elisp-compile eclass function to compile
 # its elisp files (see above), then you don't need a pkg_setup phase,
@@ -149,8 +146,7 @@
 # When having optional Emacs support, you should prepend "use emacs &&"
 # to above call of elisp-check-emacs-version().
 #
-# @ROFF .SS
-# pkg_postinst() / pkg_postrm() usage:
+# @SUBSECTION pkg_postinst() / pkg_postrm() usage:
 #
 # After that you need to recreate the start-up file of Emacs after
 # emerging and unmerging by using

diff --git a/eclass/elisp.eclass b/eclass/elisp.eclass
index a411f60..7876928 100644
--- a/eclass/elisp.eclass
+++ b/eclass/elisp.eclass
@@ -1,4 +1,4 @@
-# Copyright 2002-2019 Gentoo Authors
+# Copyright 2002-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: elisp.eclass
@@ -173,7 +173,7 @@ elisp_src_install() {
 	# install documentation only when explicitly requested
 	case ${EAPI} in
 		4|5) [[ -n ${DOCS} ]] && dodoc ${DOCS} ;;
-		*) declare -p DOCS &>/dev/null && einstalldocs ;;
+		*) [[ $(declare -p DOCS 2>/dev/null) == *=* ]] && einstalldocs ;;
 	esac
 	if declare -f readme.gentoo_create_doc >/dev/null; then
 		readme.gentoo_create_doc


^ permalink raw reply related	[flat|nested] 32+ messages in thread
* [gentoo-commits] repo/proj/emacs:master commit in: eclass/
@ 2019-12-22 12:34 Ulrich Müller
  0 siblings, 0 replies; 32+ messages in thread
From: Ulrich Müller @ 2019-12-22 12:34 UTC (permalink / raw
  To: gentoo-commits

commit:     255befc097d728395eea275c4f5dd19c78276a3f
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 22 12:34:04 2019 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Dec 22 12:34:04 2019 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=255befc0

elisp-common.eclass: Add missing argument to eend.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eclass/elisp-common.eclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index a4bff25..b5ea21c 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -457,7 +457,7 @@ elisp-site-regen() {
 		# was actually no change.
 		# A case is a remerge where we have doubled output.
 		rm -f "${T}"/site-gentoo.el
-		eend
+		eend 0
 		einfo "... no changes."
 	else
 		mv "${T}"/site-gentoo.el "${sitelisp}"/site-gentoo.el


^ permalink raw reply related	[flat|nested] 32+ messages in thread
* [gentoo-commits] repo/proj/emacs:master commit in: eclass/
@ 2019-12-21 18:54 Ulrich Müller
  0 siblings, 0 replies; 32+ messages in thread
From: Ulrich Müller @ 2019-12-21 18:54 UTC (permalink / raw
  To: gentoo-commits

commit:     1eff6a128f89b67a4a42253d1c75265255c4e79b
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 21 18:54:04 2019 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Dec 21 18:54:04 2019 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=1eff6a12

elisp-common.eclass: Report Emacs version with einfo, not elog.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eclass/elisp-common.eclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index d76c9e5..a4bff25 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -252,7 +252,7 @@ elisp-check-emacs-version() {
 		local have_emacs
 		have_emacs=$(elisp-emacs-version) \
 			|| die "Could not determine Emacs version"
-		elog "Emacs version: ${have_emacs}"
+		einfo "Emacs version: ${have_emacs}"
 		if [[ ${have_emacs} =~ XEmacs|Lucid ]]; then
 			die "XEmacs detected. This package needs GNU Emacs."
 		fi


^ permalink raw reply related	[flat|nested] 32+ messages in thread
* [gentoo-commits] repo/proj/emacs:master commit in: eclass/
@ 2019-09-09  8:25 Ulrich Müller
  0 siblings, 0 replies; 32+ messages in thread
From: Ulrich Müller @ 2019-09-09  8:25 UTC (permalink / raw
  To: gentoo-commits

commit:     be1546c53db3f239a96ae8bb25382eccae863507
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Sep  9 08:25:22 2019 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Sep  9 08:25:22 2019 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=be1546c5

elisp.eclass: Sync from gentoo repo.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eclass/elisp.eclass | 25 +++++++++++--------------
 1 file changed, 11 insertions(+), 14 deletions(-)

diff --git a/eclass/elisp.eclass b/eclass/elisp.eclass
index c885345..bcd80a9 100644
--- a/eclass/elisp.eclass
+++ b/eclass/elisp.eclass
@@ -38,7 +38,8 @@
 # @DESCRIPTION:
 # Space separated list of patches to apply after unpacking the sources.
 # Patch files are searched for in the current working dir, WORKDIR, and
-# FILESDIR.
+# FILESDIR.  This variable is semi-deprecated, preferably use the
+# PATCHES array instead if the EAPI supports it.
 
 # @ECLASS-VARIABLE: ELISP_REMOVE
 # @DEFAULT_UNSET
@@ -59,12 +60,6 @@
 # Space separated list of Texinfo sources.  Respective GNU Info files
 # will be generated in src_compile() and installed in src_install().
 
-# @ECLASS-VARIABLE: DOCS
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# DOCS="blah.txt ChangeLog" is automatically used to install the given
-# files by dodoc in src_install().
-
 inherit elisp-common
 case ${EAPI:-0} in
 	4|5) inherit epatch ;;
@@ -101,7 +96,7 @@ elisp_pkg_setup() {
 # WORKDIR for packages distributed that way.
 
 elisp_src_unpack() {
-	[[ -n ${A} ]] && unpack ${A}
+	default
 	if [[ -f ${P}.el ]]; then
 		# the "simple elisp" case with a single *.el file in WORKDIR
 		mv ${P}.el ${PN}.el || die
@@ -132,10 +127,10 @@ elisp_src_prepare() {
 		esac
 	done
 
-	# apply any user patches
+	# apply PATCHES (if supported in EAPI), and any user patches
 	case ${EAPI} in
 		4|5) epatch_user ;;
-		*) eapply_user ;;
+		*) default ;;
 	esac
 
 	if [[ -n ${ELISP_REMOVE} ]]; then
@@ -177,11 +172,13 @@ elisp_src_install() {
 	if [[ -n ${ELISP_TEXINFO} ]]; then
 		set -- ${ELISP_TEXINFO}
 		set -- ${@##*/}
-		doinfo ${@/%.*/.info*} || die
-	fi
-	if [[ -n ${DOCS} ]]; then
-		dodoc ${DOCS} || die
+		doinfo ${@/%.*/.info*}
 	fi
+	# install documentation only when explicitly requested
+	case ${EAPI} in
+		4|5) [[ -n ${DOCS} ]] && dodoc ${DOCS} ;;
+		*) declare -p DOCS &>/dev/null && einstalldocs ;;
+	esac
 	if declare -f readme.gentoo_create_doc >/dev/null; then
 		readme.gentoo_create_doc
 	fi


^ permalink raw reply related	[flat|nested] 32+ messages in thread
* [gentoo-commits] repo/proj/emacs:master commit in: eclass/
@ 2019-08-17 22:08 Ulrich Müller
  0 siblings, 0 replies; 32+ messages in thread
From: Ulrich Müller @ 2019-08-17 22:08 UTC (permalink / raw
  To: gentoo-commits

commit:     06c1c0f8718db24298c7868f65bf133577988584
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 17 21:27:07 2019 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Aug 17 21:27:07 2019 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=06c1c0f8

elisp.eclass: Sync from gentoo repo.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eclass/elisp.eclass | 35 +++++++++++++----------------------
 1 file changed, 13 insertions(+), 22 deletions(-)

diff --git a/eclass/elisp.eclass b/eclass/elisp.eclass
index 0f07a3e..c885345 100644
--- a/eclass/elisp.eclass
+++ b/eclass/elisp.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: elisp.eclass
@@ -9,6 +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
 # @BLURB: Eclass for Emacs Lisp packages
 # @DESCRIPTION:
 #
@@ -66,21 +67,17 @@
 
 inherit elisp-common
 case ${EAPI:-0} in
-	0|1|2|3|4|5) inherit epatch ;;
+	4|5) inherit epatch ;;
 	6|7) ;;
-	*) die "${ECLASS}: EAPI ${EAPI} not supported" ;;
+	*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
 esac
 
-case ${EAPI:-0} in
-	0|1) EXPORT_FUNCTIONS src_{unpack,compile,install} \
-			pkg_{setup,postinst,postrm} ;;
-	*) EXPORT_FUNCTIONS src_{unpack,prepare,configure,compile,install} \
-			pkg_{setup,postinst,postrm} ;;
-esac
+EXPORT_FUNCTIONS src_{unpack,prepare,configure,compile,install} \
+	pkg_{setup,postinst,postrm}
 
 RDEPEND=">=virtual/emacs-${NEED_EMACS:-23}"
-case ${EAPI:-0} in
-	0|1|2|3|4|5|6) DEPEND="${RDEPEND}" ;;
+case ${EAPI} in
+	4|5|6) DEPEND="${RDEPEND}" ;;
 	*) BDEPEND="${RDEPEND}" ;;
 esac
 
@@ -101,8 +98,7 @@ elisp_pkg_setup() {
 # @FUNCTION: elisp_src_unpack
 # @DESCRIPTION:
 # Unpack the sources; also handle the case of a single *.el file in
-# WORKDIR for packages distributed that way.  For EAPIs without
-# src_prepare, call elisp_src_prepare.
+# WORKDIR for packages distributed that way.
 
 elisp_src_unpack() {
 	[[ -n ${A} ]] && unpack ${A}
@@ -111,11 +107,6 @@ elisp_src_unpack() {
 		mv ${P}.el ${PN}.el || die
 		[[ -d ${S} ]] || S=${WORKDIR}
 	fi
-
-	case ${EAPI:-0} in
-		0|1) [[ -d ${S} ]] && cd "${S}"
-			elisp_src_prepare ;;
-	esac
 }
 
 # @FUNCTION: elisp_src_prepare
@@ -135,15 +126,15 @@ elisp_src_prepare() {
 		else
 			die "Cannot find ${patch}"
 		fi
-		case ${EAPI:-0} in
-			0|1|2|3|4|5) epatch "${file}" ;;
+		case ${EAPI} in
+			4|5) epatch "${file}" ;;
 			*) eapply "${file}" ;;
 		esac
 	done
 
 	# apply any user patches
-	case ${EAPI:-0} in
-		0|1|2|3|4|5) epatch_user ;;
+	case ${EAPI} in
+		4|5) epatch_user ;;
 		*) eapply_user ;;
 	esac
 


^ permalink raw reply related	[flat|nested] 32+ messages in thread
* [gentoo-commits] repo/proj/emacs:master commit in: eclass/
@ 2018-06-01 18:07 Ulrich Müller
  0 siblings, 0 replies; 32+ messages in thread
From: Ulrich Müller @ 2018-06-01 18:07 UTC (permalink / raw
  To: gentoo-commits

commit:     9e025d71f8304db07e4e086fd8289f0d5e1789b5
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Jun  1 16:51:24 2018 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Jun  1 18:07:12 2018 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=9e025d71

elisp.eclass: Depend on virtual/emacs on the build system.

For byte-compilation, Emacs is required to run on the native
build system. Therefore BDEPEND on virtual/emacs in EAPI 7.

Reorganise EAPI conditionals to be more compact.

 eclass/elisp.eclass | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/eclass/elisp.eclass b/eclass/elisp.eclass
index 9a66ec5..0f07a3e 100644
--- a/eclass/elisp.eclass
+++ b/eclass/elisp.eclass
@@ -65,24 +65,24 @@
 # files by dodoc in src_install().
 
 inherit elisp-common
+case ${EAPI:-0} in
+	0|1|2|3|4|5) inherit epatch ;;
+	6|7) ;;
+	*) die "${ECLASS}: EAPI ${EAPI} not supported" ;;
+esac
 
 case ${EAPI:-0} in
-	0|1)
-		inherit epatch
-		EXPORT_FUNCTIONS src_{unpack,compile,install} \
-			pkg_{setup,postinst,postrm} ;;
-	2|3|4|5)
-		inherit epatch
-		EXPORT_FUNCTIONS src_{unpack,prepare,configure,compile,install} \
+	0|1) EXPORT_FUNCTIONS src_{unpack,compile,install} \
 			pkg_{setup,postinst,postrm} ;;
-	6|7)
-		EXPORT_FUNCTIONS src_{unpack,prepare,configure,compile,install} \
+	*) EXPORT_FUNCTIONS src_{unpack,prepare,configure,compile,install} \
 			pkg_{setup,postinst,postrm} ;;
-	*) die "${ECLASS}: EAPI ${EAPI} not supported" ;;
 esac
 
-DEPEND=">=virtual/emacs-${NEED_EMACS:-23}"
-RDEPEND="${DEPEND}"
+RDEPEND=">=virtual/emacs-${NEED_EMACS:-23}"
+case ${EAPI:-0} in
+	0|1|2|3|4|5|6) DEPEND="${RDEPEND}" ;;
+	*) BDEPEND="${RDEPEND}" ;;
+esac
 
 # @FUNCTION: elisp_pkg_setup
 # @DESCRIPTION:


^ permalink raw reply related	[flat|nested] 32+ messages in thread
* [gentoo-commits] repo/proj/emacs:master commit in: eclass/
@ 2018-06-01 18:07 Ulrich Müller
  0 siblings, 0 replies; 32+ messages in thread
From: Ulrich Müller @ 2018-06-01 18:07 UTC (permalink / raw
  To: gentoo-commits

commit:     5e996d0ccda6670266632a5af345607c2d6a6aae
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Jun  1 18:06:50 2018 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Jun  1 18:06:50 2018 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=5e996d0c

elisp.eclass: Sync from gentoo repo.

 eclass/elisp.eclass | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/eclass/elisp.eclass b/eclass/elisp.eclass
index 6745973..9a66ec5 100644
--- a/eclass/elisp.eclass
+++ b/eclass/elisp.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: elisp.eclass
@@ -75,7 +75,7 @@ case ${EAPI:-0} in
 		inherit epatch
 		EXPORT_FUNCTIONS src_{unpack,prepare,configure,compile,install} \
 			pkg_{setup,postinst,postrm} ;;
-	6)
+	6|7)
 		EXPORT_FUNCTIONS src_{unpack,prepare,configure,compile,install} \
 			pkg_{setup,postinst,postrm} ;;
 	*) die "${ECLASS}: EAPI ${EAPI} not supported" ;;
@@ -137,14 +137,14 @@ elisp_src_prepare() {
 		fi
 		case ${EAPI:-0} in
 			0|1|2|3|4|5) epatch "${file}" ;;
-			6) eapply "${file}" ;;
+			*) eapply "${file}" ;;
 		esac
 	done
 
 	# apply any user patches
 	case ${EAPI:-0} in
 		0|1|2|3|4|5) epatch_user ;;
-		6) eapply_user ;;
+		*) eapply_user ;;
 	esac
 
 	if [[ -n ${ELISP_REMOVE} ]]; then


^ permalink raw reply related	[flat|nested] 32+ messages in thread
* [gentoo-commits] repo/proj/emacs:master commit in: eclass/
@ 2018-02-22 13:25 Ulrich Müller
  0 siblings, 0 replies; 32+ messages in thread
From: Ulrich Müller @ 2018-02-22 13:25 UTC (permalink / raw
  To: gentoo-commits

commit:     6cb5c28ebe2d41da07fd7bcf217a68eb84ee2efd
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 22 13:24:43 2018 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Feb 22 13:24:43 2018 +0000
URL:        https://gitweb.gentoo.org/repo/proj/emacs.git/commit/?id=6cb5c28e

elisp*.eclass: Sync from gentoo repo.

 eclass/elisp-common.eclass | 4 ++--
 eclass/elisp.eclass        | 8 ++++----
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index 3b9a4a3..05b03f4 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -1,6 +1,6 @@
 # Copyright 1999-2015 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-#
+
 # @ECLASS: elisp-common.eclass
 # @MAINTAINER:
 # Gentoo GNU Emacs project <gnu-emacs@gentoo.org>
@@ -344,7 +344,7 @@ elisp-site-file-install() {
 # directory.
 
 elisp-site-regen() {
-	local sitelisp=${ROOT}${EPREFIX}${SITELISP}
+	local sitelisp=${ROOT%/}${EPREFIX}${SITELISP}
 	local sf i ret=0 null="" page=$'\f'
 	local -a sflist
 

diff --git a/eclass/elisp.eclass b/eclass/elisp.eclass
index 4e5846c..6745973 100644
--- a/eclass/elisp.eclass
+++ b/eclass/elisp.eclass
@@ -1,6 +1,6 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-#
+
 # @ECLASS: elisp.eclass
 # @MAINTAINER:
 # Gentoo GNU Emacs project <gnu-emacs@gentoo.org>
@@ -68,11 +68,11 @@ inherit elisp-common
 
 case ${EAPI:-0} in
 	0|1)
-		inherit eutils
+		inherit epatch
 		EXPORT_FUNCTIONS src_{unpack,compile,install} \
 			pkg_{setup,postinst,postrm} ;;
 	2|3|4|5)
-		inherit eutils
+		inherit epatch
 		EXPORT_FUNCTIONS src_{unpack,prepare,configure,compile,install} \
 			pkg_{setup,postinst,postrm} ;;
 	6)


^ permalink raw reply related	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2024-09-02 15:31 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-12-21 18:30 [gentoo-commits] repo/proj/emacs:master commit in: eclass/ Ulrich Müller
  -- strict thread matches above, loose matches on Subject: below --
2024-09-02 15:31 Ulrich Müller
2024-09-02 15:18 Ulrich Müller
2024-09-02 15:18 Ulrich Müller
2023-10-22 10:01 Ulrich Müller
2023-10-20 12:18 Ulrich Müller
2022-10-20  8:05 Ulrich Müller
2022-10-20  8:05 Ulrich Müller
2022-04-03 18:29 Ulrich Müller
2022-04-03 18:02 Ulrich Müller
2022-03-24  6:44 Ulrich Müller
2021-07-28  7:53 Ulrich Müller
2021-04-20 18:13 Ulrich Müller
2021-04-13  7:43 Ulrich Müller
2021-04-13  7:27 Ulrich Müller
2021-04-13  7:15 Ulrich Müller
2021-04-13  7:15 Ulrich Müller
2021-04-13  7:12 Ulrich Müller
2021-04-13  7:12 Ulrich Müller
2021-04-12 19:09 Ulrich Müller
2021-04-12 19:09 Ulrich Müller
2021-03-22  9:00 Ulrich Müller
2020-09-25 17:58 Ulrich Müller
2020-08-04 14:37 Ulrich Müller
2020-02-22 11:42 Ulrich Müller
2019-12-22 12:34 Ulrich Müller
2019-12-21 18:54 Ulrich Müller
2019-09-09  8:25 Ulrich Müller
2019-08-17 22:08 Ulrich Müller
2018-06-01 18:07 Ulrich Müller
2018-06-01 18:07 Ulrich Müller
2018-02-22 13:25 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