git: f213e5c0fb42 - main - devel/paq-nvim: New port: Minimal Neovim plugin manager

From: Daniel Engberg <diizzy_at_FreeBSD.org>
Date: Sun, 05 Nov 2023 20:59:29 UTC
The branch main has been updated by diizzy:

URL: https://cgit.FreeBSD.org/ports/commit/?id=f213e5c0fb4276afe0388298f478c50fd8ec1603

commit f213e5c0fb4276afe0388298f478c50fd8ec1603
Author:     Alastair Hogge <agh@riseup.net>
AuthorDate: 2023-11-05 20:52:14 +0000
Commit:     Daniel Engberg <diizzy@FreeBSD.org>
CommitDate: 2023-11-05 20:57:39 +0000

    devel/paq-nvim: New port: Minimal Neovim plugin manager
    
    Paq is a minimal, simple to use packer manager for Neovim written in
    Lua and is aimed for users who make use of Lua for their configuration
    language. It is written to make use of existing Neovim features,
    and to have a simple and familiar interface for declaring packages.
    
    Website: https://github.com/savq/paq-nvim
    
    Differential Revision:  https://reviews.freebsd.org/D42185
---
 devel/Makefile                      |  1 +
 devel/paq-nvim/Makefile             | 50 +++++++++++++++++++++++++++++++++++++
 devel/paq-nvim/distinfo             |  3 +++
 devel/paq-nvim/files/pkg-message.in | 27 ++++++++++++++++++++
 devel/paq-nvim/pkg-descr            | 10 ++++++++
 devel/paq-nvim/pkg-plist            |  3 +++
 6 files changed, 94 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index 06dabbe02154..c72b6c82a2b0 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -3868,6 +3868,7 @@
     SUBDIR += pam_wrapper
     SUBDIR += papi
     SUBDIR += papilio-loader
+    SUBDIR += paq-nvim
     SUBDIR += parallel-hashmap
     SUBDIR += parol
     SUBDIR += parol-ls
diff --git a/devel/paq-nvim/Makefile b/devel/paq-nvim/Makefile
new file mode 100644
index 000000000000..057e5ccefe6f
--- /dev/null
+++ b/devel/paq-nvim/Makefile
@@ -0,0 +1,50 @@
+PORTNAME=	paq-nvim
+DISTVERSIONPREFIX=	v
+DISTVERSION=	2.0.0
+CATEGORIES=	devel editors
+
+MAINTAINER=	agh@riseup.net
+COMMENT=	Minimal Neovim plugin manager
+WWW=		https://github.com/savq/paq-nvim
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	neovim>0:editors/neovim
+RUN_DEPENDS=	git>0:devel/git \
+		neovim>0:editors/neovim
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	savq
+GH_PROJECT=	${PORTNAME}
+
+DATADIR=	${PREFIX}/share/nvim/site/pack/${PORTNAME:S|-nvim||g}/start/${PORTNAME}
+
+NO_ARCH=	yes
+SUB_FILES=	pkg-message
+
+PORTDOCS=	CONTRIBUTING.md README.md
+
+OPTIONS_DEFINE=	DOCS
+
+DOCS_DESC=	Plugin and project documentation
+
+do-build:
+	(cd ${WRKSRC} && \
+		nvim -i NONE -u NONE -e --headless -c "helptags doc" -c "quit")
+
+do-install:
+	${MKDIR} ${STAGEDIR}${DATADIR}
+.for DATA in doc lua
+	(cd ${WRKSRC} && \
+		${COPYTREE_SHARE} ${DATA} ${STAGEDIR}${DATADIR})
+.endfor
+
+do-install-DOCS-on:
+	${MKDIR} ${STAGEDIR}${DOCSDIR}
+.for DOC in CONTRIBUTING README
+	${INSTALL_DATA} ${WRKSRC}/${DOC}.md \
+		${STAGEDIR}${DOCSDIR}
+.endfor
+
+.include <bsd.port.mk>
diff --git a/devel/paq-nvim/distinfo b/devel/paq-nvim/distinfo
new file mode 100644
index 000000000000..dda1b6da5f17
--- /dev/null
+++ b/devel/paq-nvim/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1698568791
+SHA256 (savq-paq-nvim-v2.0.0_GH0.tar.gz) = de54c937a33d819fb7c12a11f8d01f966de86a2a6e98e4451e30b19b9516ea0d
+SIZE (savq-paq-nvim-v2.0.0_GH0.tar.gz) = 15645
diff --git a/devel/paq-nvim/files/pkg-message.in b/devel/paq-nvim/files/pkg-message.in
new file mode 100644
index 000000000000..642425f29fed
--- /dev/null
+++ b/devel/paq-nvim/files/pkg-message.in
@@ -0,0 +1,27 @@
+[
+{ type: install
+  message: <<EOM
+To get started with a minimal configuration,
+add the following Lua to your configuration:
+
+require "paq" {}
+
+Or, start with declaring packages:
+
+require "paq" {
+  "user_alice/ucl_all_things.nvim",
+  "user_bob/nvtree_all_things.nvim",
+}
+
+Plugin commands:
+:PaqClean   - Remove all packages that are not listed in your configuration.
+:PaqInstall - Install all packages listed in your configuration.
+:PaqList    - List managed packages.
+:PaqSync    - Execute commands PaqInstall, PaqUpdate, and PaqClean.
+:PaqUpdate  - Update all packages already on your system.
+
+Upon first usage, you will have to run PaqUpdate to populate your runtime, and
+again when the Port is updated. See :help paq for more information.
+EOM
+}
+]
diff --git a/devel/paq-nvim/pkg-descr b/devel/paq-nvim/pkg-descr
new file mode 100644
index 000000000000..27e8142d2218
--- /dev/null
+++ b/devel/paq-nvim/pkg-descr
@@ -0,0 +1,10 @@
+Paq is a minimal, simple to use packer manager for Neovim written in Lua and
+is aimed for users who make use of Lua for their configuration language.
+It is written to make use of existing Neovim features, and to have a simple
+and familiar interface for declaring packages.
+
+Features:
+* Can install, update, and remove any package from a valid repository
+* Utilises git(1) to fetch packages from valid Git repositories
+* Supports asynchronous updates
+* Written in Lua, configured in Lua
diff --git a/devel/paq-nvim/pkg-plist b/devel/paq-nvim/pkg-plist
new file mode 100644
index 000000000000..7d3eff265848
--- /dev/null
+++ b/devel/paq-nvim/pkg-plist
@@ -0,0 +1,3 @@
+%%DATADIR%%/doc/paq-nvim.txt
+%%DATADIR%%/doc/tags
+%%DATADIR%%/lua/paq.lua