summary refs log tree commit diff
path: root/gnu/packages/ruby.scm
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2021-02-23 15:26:11 +0200
committerEfraim Flashner <efraim@flashner.co.il>2021-02-23 16:04:27 +0200
commit8bad3c8ddf9f71000bd6339ac33d98d6f0e8f12c (patch)
tree663004fd2f76e0e846e1aa033a8f6ff1c90fe6cf /gnu/packages/ruby.scm
parentfa0a244138196604cb735691493bed5c71477248 (diff)
downloadguix-8bad3c8ddf9f71000bd6339ac33d98d6f0e8f12c.tar.gz
gnu: Add ruby-zeitwerk.
* gnu/packages/ruby.scm (ruby-zeitwerk): New variable.
Diffstat (limited to 'gnu/packages/ruby.scm')
-rw-r--r--gnu/packages/ruby.scm29
1 files changed, 29 insertions, 0 deletions
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index bd25bd5373..1a86862ebd 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -12112,6 +12112,35 @@ which snapshots to consider and what files to include.")
      "https://github.com/hartator/wayback-machine-downloader")
     (license license:expat)))
 
+(define-public ruby-zeitwerk
+  (package
+    (name "ruby-zeitwerk")
+    (version "2.4.2")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               ;; No tests in the released gem.
+               (url "https://github.com/fxn/zeitwerk")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32
+          "119fgdyb57gmss2yvfwfr47wcy8nny38sai72446krpihyavpizw"))))
+    (build-system ruby-build-system)
+    (native-inputs
+     `(("ruby-minitest" ,ruby-minitest)
+       ("ruby-minitest-focus" ,ruby-minitest-focus)
+       ("ruby-minitest-reporters" ,ruby-minitest-reporters)))
+    (synopsis "Efficient and thread-safe code loader for Ruby")
+    (description
+     "Zeitwerk implements constant autoloading with Ruby semantics.  Each gem
+and application may have their own independent autoloader, with its own
+configuration, inflector, and logger.  Supports autoloading, reloading, and
+eager loading.")
+    (home-page "https://github.com/fxn/zeitwerk")
+    (license license:expat)))
+
 (define-public ruby-wwtd
   (package
     (name "ruby-wwtd")