summaryrefslogtreecommitdiff
path: root/app-emacs/lsp-mode/lsp-mode-8.0.0.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'app-emacs/lsp-mode/lsp-mode-8.0.0.ebuild')
-rw-r--r--app-emacs/lsp-mode/lsp-mode-8.0.0.ebuild56
1 files changed, 56 insertions, 0 deletions
diff --git a/app-emacs/lsp-mode/lsp-mode-8.0.0.ebuild b/app-emacs/lsp-mode/lsp-mode-8.0.0.ebuild
new file mode 100644
index 0000000..1ad5bb1
--- /dev/null
+++ b/app-emacs/lsp-mode/lsp-mode-8.0.0.ebuild
@@ -0,0 +1,56 @@
+# Copyright 2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+NEED_EMACS="26.1"
+
+inherit elisp optfeature
+
+if [[ ${PV} = "9999" ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/emacs-lsp/lsp-mode"
+ EGIT_BRANCH="master"
+ EGIT_CHECKOUT_DIR="${WORKDIR}/${P}"
+ S="${EGIT_CHECKOUT_DIR}"
+else
+ SRC_URI="https://github.com/emacs-lsp/lsp-mode/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Emacs client/library for the Language Server Protocol"
+HOMEPAGE="https://emacs-lsp.github.io/lsp-mode/"
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+RDEPEND=">=app-emacs/dash-2.18.0
+ >=app-emacs/f-0.20.0
+ >=app-emacs/lv-0.15.0
+ >=app-emacs/markdown-mode-2.4
+ >=app-emacs/spinner-1.7.4"
+DEPEND="${RDEPEND}"
+
+SITEFILE="50${PN}-gentoo.el"
+DOCS=( README.md CHANGELOG.org )
+RESTRICT="test" # test requires ert-runner which is not packaged
+
+src_compile() {
+ ${EMACS} ${EMACSFLAGS} -L . -L "${S}"/clients -f batch-byte-compile *.el "${S}"/clients/*.el
+}
+
+src_install() {
+ elisp-make-autoload-file "${S}"/${PN}-autoload.el "${S}"/
+ elisp-install ${PN} *.el *.elc
+ elisp-install ${PN}/clients "${S}"/clients/{*.el,*.elc}
+ elisp-site-file-install ${FILESDIR}/${SITEFILE}
+}
+
+pkg_postinst() {
+ elisp_pkg_postinst
+ optfeature "lsp-mode UI integration" app-emacs/lsp-ui
+ optfeature "real-time diagnostics" app-emacs/flycheck
+ optfeature "code completion" app-emacs/company-mode
+ optfeature "helm integration" app-emacs/helm
+ optfeature "projectile integration" app-emacs/projectile
+}