git: eef6825f6ca7 - main - devel/llama.el: Add new port
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 01 Feb 2025 07:18:46 UTC
The branch main has been updated by yasu: URL: https://cgit.FreeBSD.org/ports/commit/?id=eef6825f6ca76149f754252b1755b13226c7e379 commit eef6825f6ca76149f754252b1755b13226c7e379 Author: Yasuhiro Kimura <yasu@FreeBSD.org> AuthorDate: 2025-02-01 06:10:15 +0000 Commit: Yasuhiro Kimura <yasu@FreeBSD.org> CommitDate: 2025-02-01 07:15:57 +0000 devel/llama.el: Add new port Add devel/llama.el, compact syntax for short lambda in Emacs Lisp. --- devel/Makefile | 1 + devel/llama.el/Makefile | 44 ++++++++++++++++++++++++++++++++++++++++++++ devel/llama.el/distinfo | 3 +++ devel/llama.el/pkg-descr | 20 ++++++++++++++++++++ 4 files changed, 68 insertions(+) diff --git a/devel/Makefile b/devel/Makefile index ed3558c45a06..496582e360e0 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -1566,6 +1566,7 @@ SUBDIR += linux_libusb SUBDIR += listserialc SUBDIR += liteide + SUBDIR += llama.el SUBDIR += llbuild SUBDIR += lldb-mi SUBDIR += llnextgen diff --git a/devel/llama.el/Makefile b/devel/llama.el/Makefile new file mode 100644 index 000000000000..653878b745a0 --- /dev/null +++ b/devel/llama.el/Makefile @@ -0,0 +1,44 @@ +PORTNAME= llama.el +DISTVERSIONPREFIX= v +DISTVERSION= 0.5.0 +CATEGORIES= devel elisp +PKGNAMESUFFIX= ${EMACS_PKGNAMESUFFIX} + +MAINTAINER= yasu@FreeBSD.org +COMMENT= Compact syntax for short lambda in Emacs Lisp +WWW= https://github.com/tarsius/llama + +LICENSE= GPLv3+ +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= compat.el${EMACS_PKGNAMESUFFIX}>=30.0.2.0:misc/compat.el@${EMACS_FLAVOR} +RUN_DEPENDS= compat.el${EMACS_PKGNAMESUFFIX}>=30.0.2.0:misc/compat.el@${EMACS_FLAVOR} + +USES= emacs gmake +USE_GITHUB= yes +GH_ACCOUNT= tarsius +GH_PROJECT= llama + +MAKE_ARGS= LOAD_PATH=" -L ${PREFIX}/${EMACS_VERSION_SITE_LISPDIR} -L ${PREFIX}/${EMACS_VERSION_SITE_LISPDIR}/compat -L ." + +NO_ARCH= yes +PLIST_FILES= ${EMACS_VERSION_SITE_LISPDIR}/llama-autoloads.el \ + ${EMACS_VERSION_SITE_LISPDIR}/llama.el \ + ${EMACS_VERSION_SITE_LISPDIR}/llama.elc + +PORTDOCS= README.org + +OPTIONS_DEFINE= DOCS + +ELISP_FILES= llama-autoloads.el llama.el llama.elc + +do-install: + @${MKDIR} ${STAGEDIR}${PREFIX}/${EMACS_VERSION_SITE_LISPDIR} + ${INSTALL_DATA} ${ELISP_FILES:C/^/${WRKSRC}\//} \ + ${STAGEDIR}${PREFIX}/${EMACS_VERSION_SITE_LISPDIR} + +do-install-DOCS-on: + @${MKDIR} ${STAGEDIR}${DOCSDIR} + ${INSTALL_DATA} ${PORTDOCS:C/^/${WRKSRC}\//} ${STAGEDIR}${DOCSDIR} + +.include <bsd.port.mk> diff --git a/devel/llama.el/distinfo b/devel/llama.el/distinfo new file mode 100644 index 000000000000..44a03dc7ded0 --- /dev/null +++ b/devel/llama.el/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1738390995 +SHA256 (tarsius-llama-v0.5.0_GH0.tar.gz) = 8df90f058053314d73213afdbb20c83949b5f162166c7ef7b4000a6ab6e724c0 +SIZE (tarsius-llama-v0.5.0_GH0.tar.gz) = 21663 diff --git a/devel/llama.el/pkg-descr b/devel/llama.el/pkg-descr new file mode 100644 index 000000000000..967fde12e9f6 --- /dev/null +++ b/devel/llama.el/pkg-descr @@ -0,0 +1,20 @@ +This package implements a macro named ##, which provides a compact way +to write short lambda expressions. + +The signature of the macro is (## FN &rest BODY) and it expands to a +lambda expression, which calls the function FN with the arguments BODY +and returns the value of that. The arguments of the lambda expression +are derived from symbols found in BODY. + +Each symbol from %1 through %9, which appears in an unquoted part of +BODY, specifies a mandatory argument. Each symbol from &1 through &9, +which appears in an unquoted part of BODY, specifies an optional +argument. The symbol &* specifies extra (&rest) arguments. + +The shorter symbol % can be used instead of %1, but using both in the +same expression is not allowed. Likewise & can be used instead of +&1. These shorthands are not recognized in function position. + +To support binding forms that use a vector as VARLIST (such as -let +from the dash package), argument symbols are also detected inside of +vectors.