diff --git a/dev-lang/lfe/Manifest b/dev-lang/lfe/Manifest new file mode 100644 index 0000000..bb99c4a --- /dev/null +++ b/dev-lang/lfe/Manifest @@ -0,0 +1 @@ +DIST lfe-1.3.0_p20210112.zip 447903 BLAKE2B bc63fd7f988abba77e7f4baef906c2fd4370e1aeb2bc04b019d429586cbcb91792ac0f65a3d29a904997d2488a2540411c38e904c0208e2183a8f0f8362f7c36 SHA512 ee178436ca8aea1f1001e5f679a366414229f584cc0e0a38d9749b7cb49d7378a3f8681dcb8c1d5c61e4f498aa31c575a791fe21337b3079a11b623ada363de9 diff --git a/dev-lang/lfe/files/70lfe-gentoo.el b/dev-lang/lfe/files/70lfe-gentoo.el new file mode 100644 index 0000000..2be4c13 --- /dev/null +++ b/dev-lang/lfe/files/70lfe-gentoo.el @@ -0,0 +1,6 @@ +;;; lfe site-lisp configuration + +(add-to-list 'load-path "@SITELISP@") + +(autoload 'lfe-mode "lfe-mode" nil t) +(autoload 'inferior-lfe-mode "inferior-lfe-mode" nil t) diff --git a/dev-lang/lfe/lfe-1.3.0_p20210112.ebuild b/dev-lang/lfe/lfe-1.3.0_p20210112.ebuild new file mode 100644 index 0000000..f993589 --- /dev/null +++ b/dev-lang/lfe/lfe-1.3.0_p20210112.ebuild @@ -0,0 +1,75 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit elisp-common toolchain-funcs + +DESCRIPTION="Lisp-flavoured Erlang" +HOMEPAGE="http://lfe.github.io/" +SRC_URI="https://github.com/rvirding/lfe/archive/v${PV}.zip -> ${P}.zip" + +if [[ "${PV}" == *9999* ]]; then + inherit git-r3 + EGIT_BRANCH="develop" + EGIT_REPO_URI="https://github.com/rvirding/${PN}.git" +else + COMMIT_SHA="e5f20c459a13b35ed1e71b1d2667363af168e958" + SRC_URI="https://github.com/rvirding/${PN}/archive/${COMMIT_SHA}.zip -> ${P}.zip" + KEYWORDS="~amd64" + S="${WORKDIR}/${PN}-${COMMIT_SHA}" +fi + +RESTRICT="mirror test" +LICENSE="Apache-2.0" +SLOT="0" +IUSE="doc emacs" + +RDEPEND=" + dev-lang/erlang +" +DEPEND=" + ${RDEPEND} + doc? ( app-text/pandoc ) +" + +SITEFILE="70${PN}-gentoo.el" + +src_prepare() { + default + + sed -i "s|cc |$(tc-getCC) ${CFLAGS} |g" ./Makefile \ + || die "Failed to fix the makefile" +} + +src_compile() { + emake compile + + use doc && emake docs + use emacs && emake emacs +} + +src_install() { + dodir "/usr/$(get_libdir)/erlang/lib/lfe/ebin/" + cp -R ./ebin "${D}/usr/$(get_libdir)/erlang/lib/lfe/" + dobin ./bin/* + + if use doc; then + dodoc ./doc/*.txt + doman ./doc/man/* + fi + + if use emacs; then + elisp-install lfe emacs/* \ + || die "elisp-install failed" + elisp-site-file-install "${FILESDIR}/${SITEFILE}" + fi +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-lang/lfe/metadata.xml b/dev-lang/lfe/metadata.xml new file mode 100644 index 0000000..1dae835 --- /dev/null +++ b/dev-lang/lfe/metadata.xml @@ -0,0 +1,17 @@ + + + + + xgqt@protonmail.com + Maciej Barć + + + LFE, Lisp Flavoured Erlang, is a lisp syntax front-end + to the Erlang compiler. Code produced with it is compatible + with "normal" Erlang code. + An LFE evaluator and shell is also included. + + + rvirding/lfe + +