summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaciej Barć <xgqt@gentoo.org>2022-08-01 21:50:50 +0200
committerSam James <sam@gentoo.org>2022-08-01 21:39:52 +0100
commit9b014e793af83734542ff47e16bfdc5bead3bbd9 (patch)
tree387374cbc757c2117681375d25c6c426fb812897
parentapp-emacs/epl: remove ert-runner dependency (diff)
downloadgentoo-9b014e79.tar.gz
gentoo-9b014e79.tar.bz2
gentoo-9b014e79.zip
dev-util/pkgcheck: emacs support for live version
Bug: https://github.com/pkgcore/pkgcheck/pull/420 Signed-off-by: Maciej Barć <xgqt@gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/26700 Signed-off-by: Sam James <sam@gentoo.org>
-rw-r--r--dev-util/pkgcheck/files/50pkgcheck-gentoo.el4
-rw-r--r--dev-util/pkgcheck/pkgcheck-9999.ebuild32
2 files changed, 35 insertions, 1 deletions
diff --git a/dev-util/pkgcheck/files/50pkgcheck-gentoo.el b/dev-util/pkgcheck/files/50pkgcheck-gentoo.el
new file mode 100644
index 000000000000..7808713be94a
--- /dev/null
+++ b/dev-util/pkgcheck/files/50pkgcheck-gentoo.el
@@ -0,0 +1,4 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'flycheck-pkgcheck-setup "flycheck-pkgcheck"
+ "Flycheck pkgcheck setup." t)
+(add-hook 'ebuild-mode-hook 'flycheck-pkgcheck-setup)
diff --git a/dev-util/pkgcheck/pkgcheck-9999.ebuild b/dev-util/pkgcheck/pkgcheck-9999.ebuild
index 44a8666a2eac..80366db8e2e5 100644
--- a/dev-util/pkgcheck/pkgcheck-9999.ebuild
+++ b/dev-util/pkgcheck/pkgcheck-9999.ebuild
@@ -5,7 +5,7 @@ EAPI=8
PYTHON_COMPAT=( python3_{8..10} )
DISTUTILS_IN_SOURCE_BUILD=1
-inherit distutils-r1 optfeature
+inherit elisp-common distutils-r1 optfeature
if [[ ${PV} == *9999 ]] ; then
EGIT_REPO_URI="https://github.com/pkgcore/pkgcheck.git"
@@ -20,6 +20,7 @@ HOMEPAGE="https://github.com/pkgcore/pkgcheck"
LICENSE="BSD MIT"
SLOT="0"
+IUSE="emacs"
if [[ ${PV} == *9999 ]]; then
RDEPEND="
@@ -38,8 +39,14 @@ RDEPEND+="
dev-python/lxml[${PYTHON_USEDEP}]
dev-python/pathspec[${PYTHON_USEDEP}]
>=dev-python/tree-sitter-0.19.0[${PYTHON_USEDEP}]
+ emacs? (
+ >=app-editors/emacs-24.1:*
+ app-emacs/ebuild-mode
+ app-emacs/flycheck
+ )
"
BDEPEND="
+ ${RDEPEND}
test? (
dev-python/pytest[${PYTHON_USEDEP}]
dev-python/requests[${PYTHON_USEDEP}]
@@ -47,10 +54,22 @@ BDEPEND="
)
"
+SITEFILE="50${PN}-gentoo.el"
+
distutils_enable_tests setup.py
export USE_SYSTEM_TREE_SITTER_BASH=1
+src_compile() {
+ distutils-r1_src_compile
+
+ if use emacs ; then
+ pushd "${S}"/contrib/emacs >/dev/null || die
+ elisp-compile *.el
+ popd >/dev/null || die
+ fi
+}
+
src_test() {
local -x PYTHONDONTWRITEBYTECODE=
distutils-r1_src_test
@@ -60,9 +79,20 @@ python_install_all() {
local DOCS=( NEWS.rst )
[[ ${PV} == *9999 ]] || doman man/*
distutils-r1_python_install_all
+
+ if use emacs ; then
+ elisp-install ${PN} "${S}"/contrib/emacs/*.el{,c}
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+ fi
}
pkg_postinst() {
+ use emacs && elisp-site-regen
+
optfeature "Network check support" dev-python/requests
optfeature "Perl module version check support" dev-perl/Gentoo-PerlMod-Version
}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}