git: 0114d4527361 - main - devel/rubygem-zeitwerk-gitlab: Add rubygem-zeitwerk-gitlab 2.6.18 (copied from rubygem-zeitwerk)

From: Po-Chuan Hsieh <sunpoet_at_FreeBSD.org>
Date: Tue, 29 Sep 2026 19:27:36 UTC
The branch main has been updated by sunpoet:

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

commit 0114d4527361e91ed783b592d80ee68433996d0d
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2026-09-29 18:55:09 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2026-09-29 19:24:07 +0000

    devel/rubygem-zeitwerk-gitlab: Add rubygem-zeitwerk-gitlab 2.6.18 (copied from rubygem-zeitwerk)
---
 devel/Makefile                          |  1 +
 devel/rubygem-zeitwerk-gitlab/Makefile  | 17 +++++++++++++++++
 devel/rubygem-zeitwerk-gitlab/distinfo  |  3 +++
 devel/rubygem-zeitwerk-gitlab/pkg-descr | 23 +++++++++++++++++++++++
 4 files changed, 44 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index 346fb5a4d311..084e96607932 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -8639,6 +8639,7 @@
     SUBDIR += rubygem-yard-sorbet
     SUBDIR += rubygem-yui-compressor
     SUBDIR += rubygem-zeitwerk
+    SUBDIR += rubygem-zeitwerk-gitlab
     SUBDIR += rubygem-zentest
     SUBDIR += rubygem-zhexdump
     SUBDIR += rubygem-zlib
diff --git a/devel/rubygem-zeitwerk-gitlab/Makefile b/devel/rubygem-zeitwerk-gitlab/Makefile
new file mode 100644
index 000000000000..670f6a1f6804
--- /dev/null
+++ b/devel/rubygem-zeitwerk-gitlab/Makefile
@@ -0,0 +1,17 @@
+PORTNAME=	zeitwerk
+PORTVERSION=	2.6.18
+CATEGORIES=	devel rubygems
+MASTER_SITES=	RG
+PKGNAMESUFFIX=	-gitlab
+
+MAINTAINER=	mfechner@FreeBSD.org
+COMMENT=	Efficient and thread-safe code loader
+WWW=		https://github.com/fxn/zeitwerk
+
+LICENSE=	MIT
+
+USES=		gem
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/devel/rubygem-zeitwerk-gitlab/distinfo b/devel/rubygem-zeitwerk-gitlab/distinfo
new file mode 100644
index 000000000000..f320d9daf02b
--- /dev/null
+++ b/devel/rubygem-zeitwerk-gitlab/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1725560785
+SHA256 (rubygem/zeitwerk-2.6.18.gem) = bd2d213996ff7b3b364cd342a585fbee9797dbc1c0c6d868dc4150cc75739781
+SIZE (rubygem/zeitwerk-2.6.18.gem) = 40448
diff --git a/devel/rubygem-zeitwerk-gitlab/pkg-descr b/devel/rubygem-zeitwerk-gitlab/pkg-descr
new file mode 100644
index 000000000000..daaa08c0a159
--- /dev/null
+++ b/devel/rubygem-zeitwerk-gitlab/pkg-descr
@@ -0,0 +1,23 @@
+Zeitwerk is an efficient and thread-safe code loader for Ruby.
+
+Given a conventional file structure, Zeitwerk is able to load your project's
+classes and modules on demand (autoloading), or upfront (eager loading). You
+don't need to write require calls for your own files, rather, you can streamline
+your programming knowing that your classes and modules are available everywhere.
+This feature is efficient, thread-safe, and matches Ruby's semantics for
+constants.
+
+Zeitwerk is also able to reload code, which may be handy while developing web
+applications. Coordination is needed to reload in a thread-safe manner. The
+documentation below explains how to do this.
+
+The gem is designed so that any project, gem dependency, application, etc. can
+have their own independent loader, coexisting in the same process, managing
+their own project trees, and independent of each other. Each loader has its own
+configuration, inflector, and optional logger.
+
+Internally, Zeitwerk issues require calls exclusively using absolute file names,
+so there are no costly file system lookups in $LOAD_PATH. Technically, the
+directories managed by Zeitwerk do not even need to be in $LOAD_PATH.
+Furthermore, Zeitwerk does only one single scan of the project tree, and it
+descends into subdirectories lazily, only if their namespaces are used.