git: 11cc85b90ae3 - main - devel/rubygem-yard-sorbet: Add rubygem-yard-sorbet 0.9.0

From: Po-Chuan Hsieh <sunpoet_at_FreeBSD.org>
Date: Sun, 04 Aug 2024 17:21:58 UTC
The branch main has been updated by sunpoet:

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

commit 11cc85b90ae33beba96127ef26e5295e224ed6a4
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2024-08-04 16:44:26 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2024-08-04 17:13:55 +0000

    devel/rubygem-yard-sorbet: Add rubygem-yard-sorbet 0.9.0
    
    yard-sorbet is a YARD plugin that parses Sorbet type annotations.
    
    Features:
    - Attaches existing documentation to methods and attributes that follow sig
      declarations. (This information is otherwise discarded.)
    - Translates sig type signatures into corresponding YARD tags
    - Generates method definitions from T::Struct fields
    - Generates constant definitions from T::Enum enums
    - Modules marked abstract! or interface! are tagged @abstract
    - Modules using mixes_in_class_methods will attach class methods
    - Merges sigs in rbi files with source code documentation (rbi files must come
      after source code in yard configuration)
---
 devel/Makefile                      |  1 +
 devel/rubygem-yard-sorbet/Makefile  | 20 ++++++++++++++++++++
 devel/rubygem-yard-sorbet/distinfo  |  3 +++
 devel/rubygem-yard-sorbet/pkg-descr | 12 ++++++++++++
 4 files changed, 36 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index 52645f5f6c12..0d1f8791c461 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -7857,6 +7857,7 @@
     SUBDIR += rubygem-xpath
     SUBDIR += rubygem-xxhash
     SUBDIR += rubygem-yajl-ruby
+    SUBDIR += rubygem-yard-sorbet
     SUBDIR += rubygem-yui-compressor
     SUBDIR += rubygem-zeitwerk
     SUBDIR += rubygem-zentest
diff --git a/devel/rubygem-yard-sorbet/Makefile b/devel/rubygem-yard-sorbet/Makefile
new file mode 100644
index 000000000000..d6e47e1a35a8
--- /dev/null
+++ b/devel/rubygem-yard-sorbet/Makefile
@@ -0,0 +1,20 @@
+PORTNAME=	yard-sorbet
+PORTVERSION=	0.9.0
+CATEGORIES=	devel rubygems
+MASTER_SITES=	RG
+
+MAINTAINER=	sunpoet@FreeBSD.org
+COMMENT=	YARD plugin that incorporates Sorbet type information
+WWW=		https://github.com/dduugg/yard-sorbet
+
+LICENSE=	APACHE20
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+RUN_DEPENDS=	rubygem-sorbet-runtime>=0:devel/rubygem-sorbet-runtime \
+		rubygem-yard>=0:textproc/rubygem-yard
+
+USES=		gem
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/devel/rubygem-yard-sorbet/distinfo b/devel/rubygem-yard-sorbet/distinfo
new file mode 100644
index 000000000000..77a98419901c
--- /dev/null
+++ b/devel/rubygem-yard-sorbet/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1722711143
+SHA256 (rubygem/yard-sorbet-0.9.0.gem) = 03d1aa461b9e9c82b886919a13aa3e09fcf4d1852239d2967ed97e92723ffe21
+SIZE (rubygem/yard-sorbet-0.9.0.gem) = 15872
diff --git a/devel/rubygem-yard-sorbet/pkg-descr b/devel/rubygem-yard-sorbet/pkg-descr
new file mode 100644
index 000000000000..84075fc05346
--- /dev/null
+++ b/devel/rubygem-yard-sorbet/pkg-descr
@@ -0,0 +1,12 @@
+yard-sorbet is a YARD plugin that parses Sorbet type annotations.
+
+Features:
+- Attaches existing documentation to methods and attributes that follow sig
+  declarations. (This information is otherwise discarded.)
+- Translates sig type signatures into corresponding YARD tags
+- Generates method definitions from T::Struct fields
+- Generates constant definitions from T::Enum enums
+- Modules marked abstract! or interface! are tagged @abstract
+- Modules using mixes_in_class_methods will attach class methods
+- Merges sigs in rbi files with source code documentation (rbi files must come
+  after source code in yard configuration)