commit: bab7113a6852ac300bee085aee8eb24a231dd482 Author: Maciej Barć <xgqt <AT> gentoo <DOT> org> AuthorDate: Fri Apr 8 13:59:14 2022 +0000 Commit: Maciej Barć <xgqt <AT> gentoo <DOT> org> CommitDate: Fri Apr 8 14:00:13 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bab7113a
app-emacs/elpy: new package; add version 1.35.0_p20220321 2022.03.21 snapshot Signed-off-by: Maciej Barć <xgqt <AT> gentoo.org> app-emacs/elpy/Manifest | 1 + app-emacs/elpy/elpy-1.35.0_p20220321.ebuild | 86 ++++++++++++++++++++++ app-emacs/elpy/files/50elpy-gentoo.el | 5 ++ .../elpy-elpy-rpc.el-elpy-rpc-pythonpath.patch | 12 +++ .../elpy/files/elpy-elpy.el-yas-snippet-dirs.patch | 14 ++++ app-emacs/elpy/metadata.xml | 13 ++++ 6 files changed, 131 insertions(+) diff --git a/app-emacs/elpy/Manifest b/app-emacs/elpy/Manifest new file mode 100644 index 000000000000..281c4c88caff --- /dev/null +++ b/app-emacs/elpy/Manifest @@ -0,0 +1 @@ +DIST elpy-1.35.0_p20220321.tar.gz 177145 BLAKE2B 6362a68efc5997c3d0e26e22c6fe563e1fdba5e6f3a9e1e3c1b53bef8320cc4ac0f929edd177b492a5f2e622c265aeb23d34df8db8ae67bd9a2e48e00adc7c25 SHA512 e8cf579effa0a0bc8f3c05001341b96fd134f8f08c16d95d83200ad94a942e3f60ef4ee4186758a2810de2ca58ee41e7119bc84a7535f28665ec7dad29b07db0 diff --git a/app-emacs/elpy/elpy-1.35.0_p20220321.ebuild b/app-emacs/elpy/elpy-1.35.0_p20220321.ebuild new file mode 100644 index 000000000000..a74075d632d7 --- /dev/null +++ b/app-emacs/elpy/elpy-1.35.0_p20220321.ebuild @@ -0,0 +1,86 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +H=1746e7009000b7635c0ea6f1559018143aa61642 + +DISTUTILS_SINGLE_IMPL=ON +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{8..10} ) + +NEED_EMACS=24.4 + +inherit distutils-r1 elisp + +DESCRIPTION="Emacs Python Development Environment" +HOMEPAGE="https://github.com/jorgenschaefer/elpy/" +SRC_URI="https://github.com/jorgenschaefer/${PN}/archive/${H}.tar.gz + -> ${P}.tar.gz" +S="${WORKDIR}"/${PN}-${H} + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + app-emacs/company-mode + app-emacs/highlight-indentation + app-emacs/pyvenv + app-emacs/s + app-emacs/yasnippet + $(python_gen_cond_dep 'dev-python/flake8[${PYTHON_USEDEP}]') +" +BDEPEND=" + ${RDEPEND} + test? ( + $(python_gen_cond_dep ' + dev-python/autopep8[${PYTHON_USEDEP}] + dev-python/jedi[${PYTHON_USEDEP}] + dev-python/yapf[${PYTHON_USEDEP}] + ') + ) +" + +DOCS=( CONTRIBUTING.rst README.rst ) +PATCHES=( + "${FILESDIR}"/${PN}-elpy.el-yas-snippet-dirs.patch + "${FILESDIR}"/${PN}-elpy-rpc.el-elpy-rpc-pythonpath.patch +) +SITEFILE="50${PN}-gentoo.el" + +distutils_enable_sphinx docs --no-autodoc +distutils_enable_tests unittest + +pkg_setup() { + elisp_pkg_setup + python-single-r1_pkg_setup +} + +src_prepare() { + distutils-r1_src_prepare + rm elpy/tests/test_black.py || die + + sed -i "s|@SITEETC@|${EPREFIX}${SITEETC}/${PN}|" ${PN}.el || die + sed -i "s|@PYTHONLIB@|${EPREFIX}/usr/lib/${EPYTHON}|" ${PN}-rpc.el || die +} + +src_compile() { + distutils-r1_src_compile + elisp_src_compile +} + +src_test() { + distutils-r1_src_test +} + +src_install() { + mkdir -p "${S}_${EPYTHON}"/install/usr/lib/python-exec/${EPYTHON} || die + distutils-r1_src_install + + elisp_src_install + insinto ${SITEETC}/${PN} + doins -r snippets +} diff --git a/app-emacs/elpy/files/50elpy-gentoo.el b/app-emacs/elpy/files/50elpy-gentoo.el new file mode 100644 index 000000000000..2e45a60a76a8 --- /dev/null +++ b/app-emacs/elpy/files/50elpy-gentoo.el @@ -0,0 +1,5 @@ +(add-to-list 'load-path "@SITELISP@") +(autoload 'elpy-enable "elpy" + "Enable Elpy in all future Python buffers." t) +(autoload 'elpy-mode "elpy" + "Minor mode in Python buffers for the Emacs Lisp Python Environment." t) diff --git a/app-emacs/elpy/files/elpy-elpy-rpc.el-elpy-rpc-pythonpath.patch b/app-emacs/elpy/files/elpy-elpy-rpc.el-elpy-rpc-pythonpath.patch new file mode 100644 index 000000000000..f64dfd3f563e --- /dev/null +++ b/app-emacs/elpy/files/elpy-elpy-rpc.el-elpy-rpc-pythonpath.patch @@ -0,0 +1,12 @@ +index b228597..aa5fd12 100644 +--- a/elpy-rpc.el ++++ b/elpy-rpc.el +@@ -100,7 +100,7 @@ for example), set this to the full interpreter path." + (elpy-rpc-restart))) + :group 'elpy) + +-(defcustom elpy-rpc-pythonpath (file-name-directory load-file-name) ++(defcustom elpy-rpc-pythonpath "@PYTHONLIB@/site-packages/" + "A directory to add to the PYTHONPATH for the RPC process. + + This should be a directory where the elpy module can be found. If diff --git a/app-emacs/elpy/files/elpy-elpy.el-yas-snippet-dirs.patch b/app-emacs/elpy/files/elpy-elpy.el-yas-snippet-dirs.patch new file mode 100644 index 000000000000..d38b320488cd --- /dev/null +++ b/app-emacs/elpy/files/elpy-elpy.el-yas-snippet-dirs.patch @@ -0,0 +1,14 @@ +diff --git a/elpy.el b/elpy.el +index f2a24a1..7a9b464 100644 +--- a/elpy.el ++++ b/elpy.el +@@ -2022,8 +3777,7 @@ If a region is selected, fold that region." + (unless (listp yas-snippet-dirs) + (setq yas-snippet-dirs (list yas-snippet-dirs))) + (add-to-list 'yas-snippet-dirs +- (concat (file-name-directory (locate-library "elpy")) +- "snippets/") ++ "@SITEETC@/snippets" + t) + + ;; Now load yasnippets. diff --git a/app-emacs/elpy/metadata.xml b/app-emacs/elpy/metadata.xml new file mode 100644 index 000000000000..231ce3b419da --- /dev/null +++ b/app-emacs/elpy/metadata.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> + +<pkgmetadata> + <maintainer type="project"> + <email>gnu-em...@gentoo.org</email> + <name>Gentoo GNU Emacs project</name> + </maintainer> + <upstream> + <bugs-to>https://github.com/jorgenschaefer/elpy/issues/</bugs-to> + <remote-id type="github">jorgenschaefer/elpy</remote-id> + </upstream> +</pkgmetadata>