git: eef6825f6ca7 - main - devel/llama.el: Add new port

From: Yasuhiro Kimura <yasu_at_FreeBSD.org>
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.