summaryrefslogtreecommitdiff
path: root/app-emacs/compat/compat-31.0.0.0.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'app-emacs/compat/compat-31.0.0.0.ebuild')
-rw-r--r--app-emacs/compat/compat-31.0.0.0.ebuild67
1 files changed, 67 insertions, 0 deletions
diff --git a/app-emacs/compat/compat-31.0.0.0.ebuild b/app-emacs/compat/compat-31.0.0.0.ebuild
new file mode 100644
index 000000000000..30fd23d4b6be
--- /dev/null
+++ b/app-emacs/compat/compat-31.0.0.0.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=9
+
+inherit elisp
+
+DESCRIPTION="Compatibility libraries for Emacs"
+HOMEPAGE="https://github.com/emacs-compat/compat/
+ https://git.sr.ht/~pkal/compat/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/emacs-compat/${PN}"
+else
+ SRC_URI="https://github.com/emacs-compat/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz"
+
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+BDEPEND="
+ sys-apps/texinfo
+"
+
+ELISP_TEXINFO="${PN}.texi"
+
+src_prepare() {
+ elisp_src_prepare
+
+ # Skip failing tests.
+ local -a skip_tests=(
+ compat-read-answer
+ compat-read-multiple-choice
+ )
+ local skip_test=""
+ for skip_test in "${skip_tests[@]}"; do
+ sed -i "/${skip_test}/a (ert-skip nil)" ./compat-tests.el || die
+ done
+}
+
+src_test() {
+ local has_json="$("${EMACS}" ${EMACSFLAGS} --eval "(princ (fboundp 'json-parse-string))")"
+ if [[ "${has_json}" != t ]] ; then
+ local line
+ while read line ; do
+ ewarn "${line}"
+ done <<-EOF
+ Your current Emacs version does not support native JSON parsing,
+ which is required for running tests of ${CATEGORY}/${PN}.
+ Emerge >=app-editors/emacs-27 with USE="json" and use "eselect emacs"
+ to select that version.
+ EOF
+ else
+ emake test
+ fi
+}
+
+src_install() {
+ rm ./compat-tests.el || die
+
+ elisp_src_install
+}