git: 8099c6d33d76 - main - devel/rust-mode: New port: Emacs major-mode for editing Rust source code

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Wed, 24 Jan 2024 01:37:30 UTC
The branch main has been updated by yuri:

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

commit 8099c6d33d7690d53b135eedab5043fb9589a1ea
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2024-01-24 01:35:30 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2024-01-24 01:37:28 +0000

    devel/rust-mode: New port: Emacs major-mode for editing Rust source code
    
    PR:             276340
    Submitted by:   Pat Maddox <pat@patmaddox.com>
---
 devel/Makefile            |  1 +
 devel/rust-mode/Makefile  | 27 +++++++++++++++++++++++++++
 devel/rust-mode/distinfo  |  3 +++
 devel/rust-mode/pkg-descr | 17 +++++++++++++++++
 devel/rust-mode/pkg-plist |  6 ++++++
 5 files changed, 54 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index f1b85fdd2810..bdc5c098fb12 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -7606,6 +7606,7 @@
     SUBDIR += rust-analyzer
     SUBDIR += rust-bindgen-cli
     SUBDIR += rust-cbindgen
+    SUBDIR += rust-mode
     SUBDIR += rustc-demangle
     SUBDIR += rvi
     SUBDIR += rvm
diff --git a/devel/rust-mode/Makefile b/devel/rust-mode/Makefile
new file mode 100644
index 000000000000..2a2272bbf6f2
--- /dev/null
+++ b/devel/rust-mode/Makefile
@@ -0,0 +1,27 @@
+PORTNAME=	rust-mode
+DISTVERSION=	1.0.5-58
+DISTVERSIONSUFFIX=	-g9c26dc1
+CATEGORIES=	devel
+
+MAINTAINER=	pat@patmaddox.com
+COMMENT=	Emacs major-mode for editing Rust source code
+WWW=		https://github.com/rust-lang/
+
+LICENSE=	APACHE20
+
+USES=			emacs
+EMACS_NO_DEPENDS=	yes
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	rust-lang
+GH_PROJECT=	rust-mode
+
+NO_ARCH=	yes
+NO_BUILD=	yes
+
+do-install:
+	@${MKDIR} ${STAGEDIR}${PREFIX}/${EMACS_SITE_LISPDIR}
+	${INSTALL_DATA} ${WRKSRC}/*.el ${STAGEDIR}${PREFIX}/${EMACS_SITE_LISPDIR}
+	@${RM} ${STAGEDIR}${PREFIX}/${EMACS_SITE_LISPDIR}/rust-mode-tests.el
+
+.include <bsd.port.mk>
diff --git a/devel/rust-mode/distinfo b/devel/rust-mode/distinfo
new file mode 100644
index 000000000000..cc8b6ecbfff6
--- /dev/null
+++ b/devel/rust-mode/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1706059992
+SHA256 (rust-lang-rust-mode-1.0.5-58-g9c26dc1_GH0.tar.gz) = e8a9e84045b0cafd6db65417f3499f4edcb5964d53672af8b487e9d283b0009c
+SIZE (rust-lang-rust-mode-1.0.5-58-g9c26dc1_GH0.tar.gz) = 53202
diff --git a/devel/rust-mode/pkg-descr b/devel/rust-mode/pkg-descr
new file mode 100644
index 000000000000..ae7830fc5ad6
--- /dev/null
+++ b/devel/rust-mode/pkg-descr
@@ -0,0 +1,17 @@
+rust-mode makes editing Rust code with Emacs enjoyable. It requires
+Emacs 25 or later, and is included in both Emacs Prelude and Spacemacs
+by default.
+
+This mode provides:
+- Syntax highlighting (for Font Lock Mode)
+- Indentation
+- Integration with Cargo, clippy and rustfmt
+
+This mode does not provide auto completion, or jumping to function /
+trait definitions. See Auto-completion below for tips on how to enable
+this.
+
+If you are missing features in rust-mode, please check out rustic
+before you open a feature request. It depends on rust-mode and
+provides additional features. This allows us to keep rust-mode
+light-weight for users that are happy with basic functionality.
diff --git a/devel/rust-mode/pkg-plist b/devel/rust-mode/pkg-plist
new file mode 100644
index 000000000000..f28fe3568ea2
--- /dev/null
+++ b/devel/rust-mode/pkg-plist
@@ -0,0 +1,6 @@
+%%EMACS_SITE_LISPDIR%%/rust-cargo.el
+%%EMACS_SITE_LISPDIR%%/rust-compile.el
+%%EMACS_SITE_LISPDIR%%/rust-mode.el
+%%EMACS_SITE_LISPDIR%%/rust-playpen.el
+%%EMACS_SITE_LISPDIR%%/rust-rustfmt.el
+%%EMACS_SITE_LISPDIR%%/rust-utils.el